PluginProbe
Elementor Website Builder – more than just a page builder / trunk
Elementor Website Builder – more than just a page builder vtrunk
4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 All 456 releases
elementor / assets / js / e-react-promotions.js

e-react-promotions.js in Elementor Website Builder – more than just a page builder trunk, at assets/js/e-react-promotions.js

43,744 lines 1.5 MB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function(react, _elementor_ui, _elementor_icons, _wordpress_i18n) {
2
3 //#region \0rolldown/runtime.js
4 var __create = Object.create;
5 var __defProp = Object.defineProperty;
6 var __name = (target, value) => __defProp(target, "name", {
7 value,
8 configurable: true
9 });
10 var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
11 var __getOwnPropNames = Object.getOwnPropertyNames;
12 var __getProtoOf = Object.getPrototypeOf;
13 var __hasOwnProp = Object.prototype.hasOwnProperty;
14 var __esmMin = (fn, res, err) => () => {
15 if (err) throw err[0];
16 try {
17 return fn && (res = fn(fn = 0)), res;
18 } catch (e) {
19 throw err = [e], e;
20 }
21 };
22 var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
23 var __exportAll = (all, no_symbols) => {
24 let target = {};
25 for (var name in all) {
26 __defProp(target, name, {
27 get: all[name],
28 enumerable: true
29 });
30 }
31 if (!no_symbols) {
32 __defProp(target, Symbol.toStringTag, { value: "Module" });
33 }
34 return target;
35 };
36 var __copyProps = (to, from, except, desc) => {
37 if (from && typeof from === "object" || typeof from === "function") {
38 for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
39 key = keys[i];
40 if (!__hasOwnProp.call(to, key) && key !== except) {
41 __defProp(to, key, {
42 get: ((k) => from[k]).bind(null, key),
43 enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
44 });
45 }
46 }
47 }
48 return to;
49 };
50 var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
51 value: mod,
52 enumerable: true
53 }) : target, mod));
54
55 //#endregion
56 react = __toESM(react);
57
58 //#region node_modules/@babel/runtime/helpers/esm/classCallCheck.js
59 function _classCallCheck(a, n) {
60 if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
61 }
62 var init_classCallCheck = __esmMin((() => {}));
63
64 //#endregion
65 //#region node_modules/@babel/runtime/helpers/esm/typeof.js
66 function _typeof(o) {
67 "@babel/helpers - typeof";
68 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
69 return typeof o;
70 } : function(o) {
71 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
72 }, _typeof(o);
73 }
74 var init_typeof = __esmMin((() => {}));
75
76 //#endregion
77 //#region node_modules/@babel/runtime/helpers/esm/toPrimitive.js
78 function toPrimitive(t, r) {
79 if ("object" != _typeof(t) || !t) return t;
80 var e = t[Symbol.toPrimitive];
81 if (void 0 !== e) {
82 var i = e.call(t, r || "default");
83 if ("object" != _typeof(i)) return i;
84 throw new TypeError("@@toPrimitive must return a primitive value.");
85 }
86 return ("string" === r ? String : Number)(t);
87 }
88 var init_toPrimitive = __esmMin((() => {
89 init_typeof();
90 }));
91
92 //#endregion
93 //#region node_modules/@babel/runtime/helpers/esm/toPropertyKey.js
94 function toPropertyKey(t) {
95 var i = toPrimitive(t, "string");
96 return "symbol" == _typeof(i) ? i : i + "";
97 }
98 var init_toPropertyKey = __esmMin((() => {
99 init_typeof();
100 init_toPrimitive();
101 }));
102
103 //#endregion
104 //#region node_modules/@babel/runtime/helpers/esm/createClass.js
105 function _defineProperties(e, r) {
106 for (var t = 0; t < r.length; t++) {
107 var o = r[t];
108 o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);
109 }
110 }
111 function _createClass(e, r, t) {
112 return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e;
113 }
114 var init_createClass = __esmMin((() => {
115 init_toPropertyKey();
116 }));
117
118 //#endregion
119 //#region node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
120 function _assertThisInitialized(e) {
121 if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
122 return e;
123 }
124 var init_assertThisInitialized = __esmMin((() => {}));
125
126 //#endregion
127 //#region node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
128 function _possibleConstructorReturn(t, e) {
129 if (e && ("object" == _typeof(e) || "function" == typeof e)) return e;
130 if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
131 return _assertThisInitialized(t);
132 }
133 var init_possibleConstructorReturn = __esmMin((() => {
134 init_typeof();
135 init_assertThisInitialized();
136 }));
137
138 //#endregion
139 //#region node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
140 function _getPrototypeOf(t) {
141 return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
142 return t.__proto__ || Object.getPrototypeOf(t);
143 }, _getPrototypeOf(t);
144 }
145 var init_getPrototypeOf = __esmMin((() => {}));
146
147 //#endregion
148 //#region node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
149 function _setPrototypeOf(t, e) {
150 return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
151 return t.__proto__ = e, t;
152 }, _setPrototypeOf(t, e);
153 }
154 var init_setPrototypeOf = __esmMin((() => {}));
155
156 //#endregion
157 //#region node_modules/@babel/runtime/helpers/esm/inherits.js
158 function _inherits(t, e) {
159 if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
160 t.prototype = Object.create(e && e.prototype, { constructor: {
161 value: t,
162 writable: !0,
163 configurable: !0
164 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e);
165 }
166 var init_inherits = __esmMin((() => {
167 init_setPrototypeOf();
168 }));
169
170 //#endregion
171 //#region node_modules/@babel/runtime/helpers/esm/extends.js
172 init_classCallCheck();
173 init_createClass();
174 init_possibleConstructorReturn();
175 init_getPrototypeOf();
176 init_inherits();
177 function _extends() {
178 return _extends = Object.assign ? Object.assign.bind() : function(n) {
179 for (var e = 1; e < arguments.length; e++) {
180 var t = arguments[e];
181 for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
182 }
183 return n;
184 }, _extends.apply(null, arguments);
185 }
186
187 //#endregion
188 //#region node_modules/@babel/runtime/helpers/esm/defineProperty.js
189 function _defineProperty(e, r, t) {
190 return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
191 value: t,
192 enumerable: !0,
193 configurable: !0,
194 writable: !0
195 }) : e[r] = t, e;
196 }
197 var init_defineProperty = __esmMin((() => {
198 init_toPropertyKey();
199 }));
200
201 //#endregion
202 //#region node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js
203 /** @license React v16.13.1
204 * react-is.development.js
205 *
206 * Copyright (c) Facebook, Inc. and its affiliates.
207 *
208 * This source code is licensed under the MIT license found in the
209 * LICENSE file in the root directory of this source tree.
210 */
211 var require_react_is_development = /* @__PURE__ */ __commonJSMin(((exports) => {
212 (function() {
213 "use strict";
214 var hasSymbol = typeof Symbol === "function" && Symbol.for;
215 var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for("react.element") : 60103;
216 var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for("react.portal") : 60106;
217 var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for("react.fragment") : 60107;
218 var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for("react.strict_mode") : 60108;
219 var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for("react.profiler") : 60114;
220 var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for("react.provider") : 60109;
221 var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for("react.context") : 60110;
222 var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for("react.async_mode") : 60111;
223 var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for("react.concurrent_mode") : 60111;
224 var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for("react.forward_ref") : 60112;
225 var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for("react.suspense") : 60113;
226 var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for("react.suspense_list") : 60120;
227 var REACT_MEMO_TYPE = hasSymbol ? Symbol.for("react.memo") : 60115;
228 var REACT_LAZY_TYPE = hasSymbol ? Symbol.for("react.lazy") : 60116;
229 var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for("react.block") : 60121;
230 var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for("react.fundamental") : 60117;
231 var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for("react.responder") : 60118;
232 var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for("react.scope") : 60119;
233 function isValidElementType(type) {
234 return typeof type === "string" || typeof type === "function" || type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === "object" && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
235 }
236 function typeOf(object) {
237 if (typeof object === "object" && object !== null) {
238 var $$typeof = object.$$typeof;
239 switch ($$typeof) {
240 case REACT_ELEMENT_TYPE:
241 var type = object.type;
242 switch (type) {
243 case REACT_ASYNC_MODE_TYPE:
244 case REACT_CONCURRENT_MODE_TYPE:
245 case REACT_FRAGMENT_TYPE:
246 case REACT_PROFILER_TYPE:
247 case REACT_STRICT_MODE_TYPE:
248 case REACT_SUSPENSE_TYPE: return type;
249 default:
250 var $$typeofType = type && type.$$typeof;
251 switch ($$typeofType) {
252 case REACT_CONTEXT_TYPE:
253 case REACT_FORWARD_REF_TYPE:
254 case REACT_LAZY_TYPE:
255 case REACT_MEMO_TYPE:
256 case REACT_PROVIDER_TYPE: return $$typeofType;
257 default: return $$typeof;
258 }
259 }
260 case REACT_PORTAL_TYPE: return $$typeof;
261 }
262 }
263 }
264 var AsyncMode = REACT_ASYNC_MODE_TYPE;
265 var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
266 var ContextConsumer = REACT_CONTEXT_TYPE;
267 var ContextProvider = REACT_PROVIDER_TYPE;
268 var Element = REACT_ELEMENT_TYPE;
269 var ForwardRef = REACT_FORWARD_REF_TYPE;
270 var Fragment = REACT_FRAGMENT_TYPE;
271 var Lazy = REACT_LAZY_TYPE;
272 var Memo = REACT_MEMO_TYPE;
273 var Portal = REACT_PORTAL_TYPE;
274 var Profiler = REACT_PROFILER_TYPE;
275 var StrictMode = REACT_STRICT_MODE_TYPE;
276 var Suspense = REACT_SUSPENSE_TYPE;
277 var hasWarnedAboutDeprecatedIsAsyncMode = false;
278 function isAsyncMode(object) {
279 if (!hasWarnedAboutDeprecatedIsAsyncMode) {
280 hasWarnedAboutDeprecatedIsAsyncMode = true;
281 console["warn"]("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.");
282 }
283 return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
284 }
285 function isConcurrentMode(object) {
286 return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
287 }
288 function isContextConsumer(object) {
289 return typeOf(object) === REACT_CONTEXT_TYPE;
290 }
291 function isContextProvider(object) {
292 return typeOf(object) === REACT_PROVIDER_TYPE;
293 }
294 function isElement(object) {
295 return typeof object === "object" && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
296 }
297 function isForwardRef(object) {
298 return typeOf(object) === REACT_FORWARD_REF_TYPE;
299 }
300 function isFragment(object) {
301 return typeOf(object) === REACT_FRAGMENT_TYPE;
302 }
303 function isLazy(object) {
304 return typeOf(object) === REACT_LAZY_TYPE;
305 }
306 function isMemo(object) {
307 return typeOf(object) === REACT_MEMO_TYPE;
308 }
309 function isPortal(object) {
310 return typeOf(object) === REACT_PORTAL_TYPE;
311 }
312 function isProfiler(object) {
313 return typeOf(object) === REACT_PROFILER_TYPE;
314 }
315 function isStrictMode(object) {
316 return typeOf(object) === REACT_STRICT_MODE_TYPE;
317 }
318 function isSuspense(object) {
319 return typeOf(object) === REACT_SUSPENSE_TYPE;
320 }
321 exports.AsyncMode = AsyncMode;
322 exports.ConcurrentMode = ConcurrentMode;
323 exports.ContextConsumer = ContextConsumer;
324 exports.ContextProvider = ContextProvider;
325 exports.Element = Element;
326 exports.ForwardRef = ForwardRef;
327 exports.Fragment = Fragment;
328 exports.Lazy = Lazy;
329 exports.Memo = Memo;
330 exports.Portal = Portal;
331 exports.Profiler = Profiler;
332 exports.StrictMode = StrictMode;
333 exports.Suspense = Suspense;
334 exports.isAsyncMode = isAsyncMode;
335 exports.isConcurrentMode = isConcurrentMode;
336 exports.isContextConsumer = isContextConsumer;
337 exports.isContextProvider = isContextProvider;
338 exports.isElement = isElement;
339 exports.isForwardRef = isForwardRef;
340 exports.isFragment = isFragment;
341 exports.isLazy = isLazy;
342 exports.isMemo = isMemo;
343 exports.isPortal = isPortal;
344 exports.isProfiler = isProfiler;
345 exports.isStrictMode = isStrictMode;
346 exports.isSuspense = isSuspense;
347 exports.isValidElementType = isValidElementType;
348 exports.typeOf = typeOf;
349 })();
350 }));
351
352 //#endregion
353 //#region node_modules/prop-types/node_modules/react-is/index.js
354 var require_react_is = /* @__PURE__ */ __commonJSMin(((exports, module) => {
355 module.exports = require_react_is_development();
356 }));
357
358 //#endregion
359 //#region node_modules/object-assign/index.js
360 /*
361 object-assign
362 (c) Sindre Sorhus
363 @license MIT
364 */
365 var require_object_assign = /* @__PURE__ */ __commonJSMin(((exports, module) => {
366 var getOwnPropertySymbols = Object.getOwnPropertySymbols;
367 var hasOwnProperty = Object.prototype.hasOwnProperty;
368 var propIsEnumerable = Object.prototype.propertyIsEnumerable;
369 function toObject(val) {
370 if (val === null || val === void 0) throw new TypeError("Object.assign cannot be called with null or undefined");
371 return Object(val);
372 }
373 function shouldUseNative() {
374 try {
375 if (!Object.assign) return false;
376 var test1 = /* @__PURE__ */ new String("abc");
377 test1[5] = "de";
378 if (Object.getOwnPropertyNames(test1)[0] === "5") return false;
379 var test2 = {};
380 for (var i = 0; i < 10; i++) test2["_" + String.fromCharCode(i)] = i;
381 if (Object.getOwnPropertyNames(test2).map(function(n) {
382 return test2[n];
383 }).join("") !== "0123456789") return false;
384 var test3 = {};
385 "abcdefghijklmnopqrst".split("").forEach(function(letter) {
386 test3[letter] = letter;
387 });
388 if (Object.keys(Object.assign({}, test3)).join("") !== "abcdefghijklmnopqrst") return false;
389 return true;
390 } catch (err) {
391 return false;
392 }
393 }
394 module.exports = shouldUseNative() ? Object.assign : function(target, source) {
395 var from;
396 var to = toObject(target);
397 var symbols;
398 for (var s = 1; s < arguments.length; s++) {
399 from = Object(arguments[s]);
400 for (var key in from) if (hasOwnProperty.call(from, key)) to[key] = from[key];
401 if (getOwnPropertySymbols) {
402 symbols = getOwnPropertySymbols(from);
403 for (var i = 0; i < symbols.length; i++) if (propIsEnumerable.call(from, symbols[i])) to[symbols[i]] = from[symbols[i]];
404 }
405 }
406 return to;
407 };
408 }));
409
410 //#endregion
411 //#region node_modules/prop-types/lib/ReactPropTypesSecret.js
412 /**
413 * Copyright (c) 2013-present, Facebook, Inc.
414 *
415 * This source code is licensed under the MIT license found in the
416 * LICENSE file in the root directory of this source tree.
417 */
418 var require_ReactPropTypesSecret = /* @__PURE__ */ __commonJSMin(((exports, module) => {
419 var ReactPropTypesSecret = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
420 module.exports = ReactPropTypesSecret;
421 }));
422
423 //#endregion
424 //#region node_modules/prop-types/lib/has.js
425 var require_has = /* @__PURE__ */ __commonJSMin(((exports, module) => {
426 module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
427 }));
428
429 //#endregion
430 //#region node_modules/prop-types/checkPropTypes.js
431 /**
432 * Copyright (c) 2013-present, Facebook, Inc.
433 *
434 * This source code is licensed under the MIT license found in the
435 * LICENSE file in the root directory of this source tree.
436 */
437 var require_checkPropTypes = /* @__PURE__ */ __commonJSMin(((exports, module) => {
438 var printWarning = function() {};
439 var ReactPropTypesSecret = require_ReactPropTypesSecret();
440 var loggedTypeFailures = {};
441 var has = require_has();
442 printWarning = function(text) {
443 var message = "Warning: " + text;
444 if (typeof console !== "undefined") console.error(message);
445 try {
446 throw new Error(message);
447 } catch (x) {}
448 };
449 /**
450 * Assert that the values match with the type specs.
451 * Error messages are memorized and will only be shown once.
452 *
453 * @param {object} typeSpecs Map of name to a ReactPropType
454 * @param {object} values Runtime values that need to be type-checked
455 * @param {string} location e.g. "prop", "context", "child context"
456 * @param {string} componentName Name of the component for error messages.
457 * @param {?Function} getStack Returns the component stack.
458 * @private
459 */
460 function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
461 for (var typeSpecName in typeSpecs) if (has(typeSpecs, typeSpecName)) {
462 var error;
463 try {
464 if (typeof typeSpecs[typeSpecName] !== "function") {
465 var err = Error((componentName || "React class") + ": " + location + " type `" + typeSpecName + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof typeSpecs[typeSpecName] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");
466 err.name = "Invariant Violation";
467 throw err;
468 }
469 error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
470 } catch (ex) {
471 error = ex;
472 }
473 if (error && !(error instanceof Error)) printWarning((componentName || "React class") + ": type specification of " + location + " `" + typeSpecName + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof error + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).");
474 if (error instanceof Error && !(error.message in loggedTypeFailures)) {
475 loggedTypeFailures[error.message] = true;
476 var stack = getStack ? getStack() : "";
477 printWarning("Failed " + location + " type: " + error.message + (stack != null ? stack : ""));
478 }
479 }
480 }
481 /**
482 * Resets warning cache when testing.
483 *
484 * @private
485 */
486 checkPropTypes.resetWarningCache = function() {
487 loggedTypeFailures = {};
488 };
489 module.exports = checkPropTypes;
490 }));
491
492 //#endregion
493 //#region node_modules/prop-types/factoryWithTypeCheckers.js
494 /**
495 * Copyright (c) 2013-present, Facebook, Inc.
496 *
497 * This source code is licensed under the MIT license found in the
498 * LICENSE file in the root directory of this source tree.
499 */
500 var require_factoryWithTypeCheckers = /* @__PURE__ */ __commonJSMin(((exports, module) => {
501 var ReactIs = require_react_is();
502 var assign = require_object_assign();
503 var ReactPropTypesSecret = require_ReactPropTypesSecret();
504 var has = require_has();
505 var checkPropTypes = require_checkPropTypes();
506 var printWarning = function() {};
507 printWarning = function(text) {
508 var message = "Warning: " + text;
509 if (typeof console !== "undefined") console.error(message);
510 try {
511 throw new Error(message);
512 } catch (x) {}
513 };
514 function emptyFunctionThatReturnsNull() {
515 return null;
516 }
517 module.exports = function(isValidElement, throwOnDirectAccess) {
518 var ITERATOR_SYMBOL = typeof Symbol === "function" && Symbol.iterator;
519 var FAUX_ITERATOR_SYMBOL = "@@iterator";
520 /**
521 * Returns the iterator method function contained on the iterable object.
522 *
523 * Be sure to invoke the function with the iterable as context:
524 *
525 * var iteratorFn = getIteratorFn(myIterable);
526 * if (iteratorFn) {
527 * var iterator = iteratorFn.call(myIterable);
528 * ...
529 * }
530 *
531 * @param {?object} maybeIterable
532 * @return {?function}
533 */
534 function getIteratorFn(maybeIterable) {
535 var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
536 if (typeof iteratorFn === "function") return iteratorFn;
537 }
538 /**
539 * Collection of methods that allow declaration and validation of props that are
540 * supplied to React components. Example usage:
541 *
542 * var Props = require('ReactPropTypes');
543 * var MyArticle = React.createClass({
544 * propTypes: {
545 * // An optional string prop named "description".
546 * description: Props.string,
547 *
548 * // A required enum prop named "category".
549 * category: Props.oneOf(['News','Photos']).isRequired,
550 *
551 * // A prop named "dialog" that requires an instance of Dialog.
552 * dialog: Props.instanceOf(Dialog).isRequired
553 * },
554 * render: function() { ... }
555 * });
556 *
557 * A more formal specification of how these methods are used:
558 *
559 * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
560 * decl := ReactPropTypes.{type}(.isRequired)?
561 *
562 * Each and every declaration produces a function with the same signature. This
563 * allows the creation of custom validation functions. For example:
564 *
565 * var MyLink = React.createClass({
566 * propTypes: {
567 * // An optional string or URI prop named "href".
568 * href: function(props, propName, componentName) {
569 * var propValue = props[propName];
570 * if (propValue != null && typeof propValue !== 'string' &&
571 * !(propValue instanceof URI)) {
572 * return new Error(
573 * 'Expected a string or an URI for ' + propName + ' in ' +
574 * componentName
575 * );
576 * }
577 * }
578 * },
579 * render: function() {...}
580 * });
581 *
582 * @internal
583 */
584 var ANONYMOUS = "<<anonymous>>";
585 var ReactPropTypes = {
586 array: createPrimitiveTypeChecker("array"),
587 bigint: createPrimitiveTypeChecker("bigint"),
588 bool: createPrimitiveTypeChecker("boolean"),
589 func: createPrimitiveTypeChecker("function"),
590 number: createPrimitiveTypeChecker("number"),
591 object: createPrimitiveTypeChecker("object"),
592 string: createPrimitiveTypeChecker("string"),
593 symbol: createPrimitiveTypeChecker("symbol"),
594 any: createAnyTypeChecker(),
595 arrayOf: createArrayOfTypeChecker,
596 element: createElementTypeChecker(),
597 elementType: createElementTypeTypeChecker(),
598 instanceOf: createInstanceTypeChecker,
599 node: createNodeChecker(),
600 objectOf: createObjectOfTypeChecker,
601 oneOf: createEnumTypeChecker,
602 oneOfType: createUnionTypeChecker,
603 shape: createShapeTypeChecker,
604 exact: createStrictShapeTypeChecker
605 };
606 /**
607 * inlined Object.is polyfill to avoid requiring consumers ship their own
608 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
609 */
610 function is(x, y) {
611 if (x === y) return x !== 0 || 1 / x === 1 / y;
612 else return x !== x && y !== y;
613 }
614 /**
615 * We use an Error-like object for backward compatibility as people may call
616 * PropTypes directly and inspect their output. However, we don't use real
617 * Errors anymore. We don't inspect their stack anyway, and creating them
618 * is prohibitively expensive if they are created too often, such as what
619 * happens in oneOfType() for any type before the one that matched.
620 */
621 function PropTypeError(message, data) {
622 this.message = message;
623 this.data = data && typeof data === "object" ? data : {};
624 this.stack = "";
625 }
626 PropTypeError.prototype = Error.prototype;
627 function createChainableTypeChecker(validate) {
628 var manualPropTypeCallCache = {};
629 var manualPropTypeWarningCount = 0;
630 function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
631 componentName = componentName || ANONYMOUS;
632 propFullName = propFullName || propName;
633 if (secret !== ReactPropTypesSecret) {
634 if (throwOnDirectAccess) {
635 var err = /* @__PURE__ */ new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");
636 err.name = "Invariant Violation";
637 throw err;
638 } else if (typeof console !== "undefined") {
639 var cacheKey = componentName + ":" + propName;
640 if (!manualPropTypeCallCache[cacheKey] && manualPropTypeWarningCount < 3) {
641 printWarning("You are manually calling a React.PropTypes validation function for the `" + propFullName + "` prop on `" + componentName + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details.");
642 manualPropTypeCallCache[cacheKey] = true;
643 manualPropTypeWarningCount++;
644 }
645 }
646 }
647 if (props[propName] == null) {
648 if (isRequired) {
649 if (props[propName] === null) return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required " + ("in `" + componentName + "`, but its value is `null`."));
650 return new PropTypeError("The " + location + " `" + propFullName + "` is marked as required in " + ("`" + componentName + "`, but its value is `undefined`."));
651 }
652 return null;
653 } else return validate(props, propName, componentName, location, propFullName);
654 }
655 var chainedCheckType = checkType.bind(null, false);
656 chainedCheckType.isRequired = checkType.bind(null, true);
657 return chainedCheckType;
658 }
659 function createPrimitiveTypeChecker(expectedType) {
660 function validate(props, propName, componentName, location, propFullName, secret) {
661 var propValue = props[propName];
662 if (getPropType(propValue) !== expectedType) {
663 var preciseType = getPreciseType(propValue);
664 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + preciseType + "` supplied to `" + componentName + "`, expected ") + ("`" + expectedType + "`."), { expectedType });
665 }
666 return null;
667 }
668 return createChainableTypeChecker(validate);
669 }
670 function createAnyTypeChecker() {
671 return createChainableTypeChecker(emptyFunctionThatReturnsNull);
672 }
673 function createArrayOfTypeChecker(typeChecker) {
674 function validate(props, propName, componentName, location, propFullName) {
675 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside arrayOf.");
676 var propValue = props[propName];
677 if (!Array.isArray(propValue)) {
678 var propType = getPropType(propValue);
679 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an array."));
680 }
681 for (var i = 0; i < propValue.length; i++) {
682 var error = typeChecker(propValue, i, componentName, location, propFullName + "[" + i + "]", ReactPropTypesSecret);
683 if (error instanceof Error) return error;
684 }
685 return null;
686 }
687 return createChainableTypeChecker(validate);
688 }
689 function createElementTypeChecker() {
690 function validate(props, propName, componentName, location, propFullName) {
691 var propValue = props[propName];
692 if (!isValidElement(propValue)) {
693 var propType = getPropType(propValue);
694 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement."));
695 }
696 return null;
697 }
698 return createChainableTypeChecker(validate);
699 }
700 function createElementTypeTypeChecker() {
701 function validate(props, propName, componentName, location, propFullName) {
702 var propValue = props[propName];
703 if (!ReactIs.isValidElementType(propValue)) {
704 var propType = getPropType(propValue);
705 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected a single ReactElement type."));
706 }
707 return null;
708 }
709 return createChainableTypeChecker(validate);
710 }
711 function createInstanceTypeChecker(expectedClass) {
712 function validate(props, propName, componentName, location, propFullName) {
713 if (!(props[propName] instanceof expectedClass)) {
714 var expectedClassName = expectedClass.name || ANONYMOUS;
715 var actualClassName = getClassName(props[propName]);
716 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + actualClassName + "` supplied to `" + componentName + "`, expected ") + ("instance of `" + expectedClassName + "`."));
717 }
718 return null;
719 }
720 return createChainableTypeChecker(validate);
721 }
722 function createEnumTypeChecker(expectedValues) {
723 if (!Array.isArray(expectedValues)) {
724 if (arguments.length > 1) printWarning("Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).");
725 else printWarning("Invalid argument supplied to oneOf, expected an array.");
726 return emptyFunctionThatReturnsNull;
727 }
728 function validate(props, propName, componentName, location, propFullName) {
729 var propValue = props[propName];
730 for (var i = 0; i < expectedValues.length; i++) if (is(propValue, expectedValues[i])) return null;
731 var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
732 if (getPreciseType(value) === "symbol") return String(value);
733 return value;
734 });
735 return new PropTypeError("Invalid " + location + " `" + propFullName + "` of value `" + String(propValue) + "` " + ("supplied to `" + componentName + "`, expected one of " + valuesString + "."));
736 }
737 return createChainableTypeChecker(validate);
738 }
739 function createObjectOfTypeChecker(typeChecker) {
740 function validate(props, propName, componentName, location, propFullName) {
741 if (typeof typeChecker !== "function") return new PropTypeError("Property `" + propFullName + "` of component `" + componentName + "` has invalid PropType notation inside objectOf.");
742 var propValue = props[propName];
743 var propType = getPropType(propValue);
744 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type " + ("`" + propType + "` supplied to `" + componentName + "`, expected an object."));
745 for (var key in propValue) if (has(propValue, key)) {
746 var error = typeChecker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
747 if (error instanceof Error) return error;
748 }
749 return null;
750 }
751 return createChainableTypeChecker(validate);
752 }
753 function createUnionTypeChecker(arrayOfTypeCheckers) {
754 if (!Array.isArray(arrayOfTypeCheckers)) {
755 printWarning("Invalid argument supplied to oneOfType, expected an instance of array.");
756 return emptyFunctionThatReturnsNull;
757 }
758 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
759 var checker = arrayOfTypeCheckers[i];
760 if (typeof checker !== "function") {
761 printWarning("Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + getPostfixForTypeWarning(checker) + " at index " + i + ".");
762 return emptyFunctionThatReturnsNull;
763 }
764 }
765 function validate(props, propName, componentName, location, propFullName) {
766 var expectedTypes = [];
767 for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
768 var checker = arrayOfTypeCheckers[i];
769 var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
770 if (checkerResult == null) return null;
771 if (checkerResult.data && has(checkerResult.data, "expectedType")) expectedTypes.push(checkerResult.data.expectedType);
772 }
773 var expectedTypesMessage = expectedTypes.length > 0 ? ", expected one of type [" + expectedTypes.join(", ") + "]" : "";
774 return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`" + expectedTypesMessage + "."));
775 }
776 return createChainableTypeChecker(validate);
777 }
778 function createNodeChecker() {
779 function validate(props, propName, componentName, location, propFullName) {
780 if (!isNode(props[propName])) return new PropTypeError("Invalid " + location + " `" + propFullName + "` supplied to " + ("`" + componentName + "`, expected a ReactNode."));
781 return null;
782 }
783 return createChainableTypeChecker(validate);
784 }
785 function invalidValidatorError(componentName, location, propFullName, key, type) {
786 return new PropTypeError((componentName || "React class") + ": " + location + " type `" + propFullName + "." + key + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + type + "`.");
787 }
788 function createShapeTypeChecker(shapeTypes) {
789 function validate(props, propName, componentName, location, propFullName) {
790 var propValue = props[propName];
791 var propType = getPropType(propValue);
792 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
793 for (var key in shapeTypes) {
794 var checker = shapeTypes[key];
795 if (typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
796 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
797 if (error) return error;
798 }
799 return null;
800 }
801 return createChainableTypeChecker(validate);
802 }
803 function createStrictShapeTypeChecker(shapeTypes) {
804 function validate(props, propName, componentName, location, propFullName) {
805 var propValue = props[propName];
806 var propType = getPropType(propValue);
807 if (propType !== "object") return new PropTypeError("Invalid " + location + " `" + propFullName + "` of type `" + propType + "` " + ("supplied to `" + componentName + "`, expected `object`."));
808 for (var key in assign({}, props[propName], shapeTypes)) {
809 var checker = shapeTypes[key];
810 if (has(shapeTypes, key) && typeof checker !== "function") return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
811 if (!checker) return new PropTypeError("Invalid " + location + " `" + propFullName + "` key `" + key + "` supplied to `" + componentName + "`.\nBad object: " + JSON.stringify(props[propName], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(shapeTypes), null, " "));
812 var error = checker(propValue, key, componentName, location, propFullName + "." + key, ReactPropTypesSecret);
813 if (error) return error;
814 }
815 return null;
816 }
817 return createChainableTypeChecker(validate);
818 }
819 function isNode(propValue) {
820 switch (typeof propValue) {
821 case "number":
822 case "string":
823 case "undefined": return true;
824 case "boolean": return !propValue;
825 case "object":
826 if (Array.isArray(propValue)) return propValue.every(isNode);
827 if (propValue === null || isValidElement(propValue)) return true;
828 var iteratorFn = getIteratorFn(propValue);
829 if (iteratorFn) {
830 var iterator = iteratorFn.call(propValue);
831 var step;
832 if (iteratorFn !== propValue.entries) {
833 while (!(step = iterator.next()).done) if (!isNode(step.value)) return false;
834 } else while (!(step = iterator.next()).done) {
835 var entry = step.value;
836 if (entry) {
837 if (!isNode(entry[1])) return false;
838 }
839 }
840 } else return false;
841 return true;
842 default: return false;
843 }
844 }
845 function isSymbol(propType, propValue) {
846 if (propType === "symbol") return true;
847 if (!propValue) return false;
848 if (propValue["@@toStringTag"] === "Symbol") return true;
849 if (typeof Symbol === "function" && propValue instanceof Symbol) return true;
850 return false;
851 }
852 function getPropType(propValue) {
853 var propType = typeof propValue;
854 if (Array.isArray(propValue)) return "array";
855 if (propValue instanceof RegExp) return "object";
856 if (isSymbol(propType, propValue)) return "symbol";
857 return propType;
858 }
859 function getPreciseType(propValue) {
860 if (typeof propValue === "undefined" || propValue === null) return "" + propValue;
861 var propType = getPropType(propValue);
862 if (propType === "object") {
863 if (propValue instanceof Date) return "date";
864 else if (propValue instanceof RegExp) return "regexp";
865 }
866 return propType;
867 }
868 function getPostfixForTypeWarning(value) {
869 var type = getPreciseType(value);
870 switch (type) {
871 case "array":
872 case "object": return "an " + type;
873 case "boolean":
874 case "date":
875 case "regexp": return "a " + type;
876 default: return type;
877 }
878 }
879 function getClassName(propValue) {
880 if (!propValue.constructor || !propValue.constructor.name) return ANONYMOUS;
881 return propValue.constructor.name;
882 }
883 ReactPropTypes.checkPropTypes = checkPropTypes;
884 ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
885 ReactPropTypes.PropTypes = ReactPropTypes;
886 return ReactPropTypes;
887 };
888 }));
889
890 //#endregion
891 //#region node_modules/prop-types/index.js
892 var require_prop_types = /* @__PURE__ */ __commonJSMin(((exports, module) => {
893 var ReactIs = require_react_is();
894 var throwOnDirectAccess = true;
895 module.exports = require_factoryWithTypeCheckers()(ReactIs.isElement, throwOnDirectAccess);
896 }));
897
898 //#endregion
899 //#region node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
900 init_defineProperty();
901 var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types());
902 function _objectWithoutPropertiesLoose(r, e) {
903 if (null == r) return {};
904 var t = {};
905 for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
906 if (-1 !== e.indexOf(n)) continue;
907 t[n] = r[n];
908 }
909 return t;
910 }
911
912 //#endregion
913 //#region node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
914 function _objectWithoutProperties(e, t) {
915 if (null == e) return {};
916 var o;
917 var r;
918 var i = _objectWithoutPropertiesLoose(e, t);
919 if (Object.getOwnPropertySymbols) {
920 var n = Object.getOwnPropertySymbols(e);
921 for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
922 }
923 return i;
924 }
925
926 //#endregion
927 //#region node_modules/lottie-web/build/player/lottie.js
928 var require_lottie = /* @__PURE__ */ __commonJSMin(((exports, module) => {
929 typeof document !== "undefined" && typeof navigator !== "undefined" && (function(global, factory) {
930 typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, global.lottie = factory());
931 })(exports, (function() {
932 "use strict";
933 var svgNS = "http://www.w3.org/2000/svg";
934 var locationHref = "";
935 var _useWebWorker = false;
936 var initialDefaultFrame = -999999;
937 var setWebWorker = function setWebWorker(flag) {
938 _useWebWorker = !!flag;
939 };
940 var getWebWorker = function getWebWorker() {
941 return _useWebWorker;
942 };
943 var setLocationHref = function setLocationHref(value) {
944 locationHref = value;
945 };
946 var getLocationHref = function getLocationHref() {
947 return locationHref;
948 };
949 function createTag(type) {
950 return document.createElement(type);
951 }
952 function extendPrototype(sources, destination) {
953 var i;
954 var len = sources.length;
955 var sourcePrototype;
956 for (i = 0; i < len; i += 1) {
957 sourcePrototype = sources[i].prototype;
958 for (var attr in sourcePrototype) if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];
959 }
960 }
961 function getDescriptor(object, prop) {
962 return Object.getOwnPropertyDescriptor(object, prop);
963 }
964 function createProxyFunction(prototype) {
965 function ProxyFunction() {}
966 ProxyFunction.prototype = prototype;
967 return ProxyFunction;
968 }
969 var audioControllerFactory = function() {
970 function AudioController(audioFactory) {
971 this.audios = [];
972 this.audioFactory = audioFactory;
973 this._volume = 1;
974 this._isMuted = false;
975 }
976 AudioController.prototype = {
977 addAudio: function addAudio(audio) {
978 this.audios.push(audio);
979 },
980 pause: function pause() {
981 var i;
982 var len = this.audios.length;
983 for (i = 0; i < len; i += 1) this.audios[i].pause();
984 },
985 resume: function resume() {
986 var i;
987 var len = this.audios.length;
988 for (i = 0; i < len; i += 1) this.audios[i].resume();
989 },
990 setRate: function setRate(rateValue) {
991 var i;
992 var len = this.audios.length;
993 for (i = 0; i < len; i += 1) this.audios[i].setRate(rateValue);
994 },
995 createAudio: function createAudio(assetPath) {
996 if (this.audioFactory) return this.audioFactory(assetPath);
997 if (window.Howl) return new window.Howl({ src: [assetPath] });
998 return {
999 isPlaying: false,
1000 play: function play() {
1001 this.isPlaying = true;
1002 },
1003 seek: function seek() {
1004 this.isPlaying = false;
1005 },
1006 playing: function playing() {},
1007 rate: function rate() {},
1008 setVolume: function setVolume() {}
1009 };
1010 },
1011 setAudioFactory: function setAudioFactory(audioFactory) {
1012 this.audioFactory = audioFactory;
1013 },
1014 setVolume: function setVolume(value) {
1015 this._volume = value;
1016 this._updateVolume();
1017 },
1018 mute: function mute() {
1019 this._isMuted = true;
1020 this._updateVolume();
1021 },
1022 unmute: function unmute() {
1023 this._isMuted = false;
1024 this._updateVolume();
1025 },
1026 getVolume: function getVolume() {
1027 return this._volume;
1028 },
1029 _updateVolume: function _updateVolume() {
1030 var i;
1031 var len = this.audios.length;
1032 for (i = 0; i < len; i += 1) this.audios[i].volume(this._volume * (this._isMuted ? 0 : 1));
1033 }
1034 };
1035 return function() {
1036 return new AudioController();
1037 };
1038 }();
1039 var createTypedArray = function() {
1040 function createRegularArray(type, len) {
1041 var i = 0;
1042 var arr = [];
1043 var value;
1044 switch (type) {
1045 case "int16":
1046 case "uint8c":
1047 value = 1;
1048 break;
1049 default:
1050 value = 1.1;
1051 break;
1052 }
1053 for (i = 0; i < len; i += 1) arr.push(value);
1054 return arr;
1055 }
1056 function createTypedArrayFactory(type, len) {
1057 if (type === "float32") return new Float32Array(len);
1058 if (type === "int16") return new Int16Array(len);
1059 if (type === "uint8c") return new Uint8ClampedArray(len);
1060 return createRegularArray(type, len);
1061 }
1062 if (typeof Uint8ClampedArray === "function" && typeof Float32Array === "function") return createTypedArrayFactory;
1063 return createRegularArray;
1064 }();
1065 function createSizedArray(len) {
1066 return Array.apply(null, { length: len });
1067 }
1068 function _typeof$6(o) {
1069 "@babel/helpers - typeof";
1070 return _typeof$6 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
1071 return typeof o;
1072 } : function(o) {
1073 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
1074 }, _typeof$6(o);
1075 }
1076 var subframeEnabled = true;
1077 var expressionsPlugin = null;
1078 var expressionsInterfaces = null;
1079 var idPrefix$1 = "";
1080 var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
1081 var _shouldRoundValues = false;
1082 var bmPow = Math.pow;
1083 var bmSqrt = Math.sqrt;
1084 var bmFloor = Math.floor;
1085 var bmMax = Math.max;
1086 var bmMin = Math.min;
1087 var BMMath = {};
1088 (function() {
1089 var propertyNames = [
1090 "abs",
1091 "acos",
1092 "acosh",
1093 "asin",
1094 "asinh",
1095 "atan",
1096 "atanh",
1097 "atan2",
1098 "ceil",
1099 "cbrt",
1100 "expm1",
1101 "clz32",
1102 "cos",
1103 "cosh",
1104 "exp",
1105 "floor",
1106 "fround",
1107 "hypot",
1108 "imul",
1109 "log",
1110 "log1p",
1111 "log2",
1112 "log10",
1113 "max",
1114 "min",
1115 "pow",
1116 "random",
1117 "round",
1118 "sign",
1119 "sin",
1120 "sinh",
1121 "sqrt",
1122 "tan",
1123 "tanh",
1124 "trunc",
1125 "E",
1126 "LN10",
1127 "LN2",
1128 "LOG10E",
1129 "LOG2E",
1130 "PI",
1131 "SQRT1_2",
1132 "SQRT2"
1133 ];
1134 var i;
1135 var len = propertyNames.length;
1136 for (i = 0; i < len; i += 1) BMMath[propertyNames[i]] = Math[propertyNames[i]];
1137 })();
1138 function ProjectInterface$1() {
1139 return {};
1140 }
1141 BMMath.random = Math.random;
1142 BMMath.abs = function(val) {
1143 if (_typeof$6(val) === "object" && val.length) {
1144 var absArr = createSizedArray(val.length);
1145 var i;
1146 var len = val.length;
1147 for (i = 0; i < len; i += 1) absArr[i] = Math.abs(val[i]);
1148 return absArr;
1149 }
1150 return Math.abs(val);
1151 };
1152 var defaultCurveSegments = 150;
1153 var degToRads = Math.PI / 180;
1154 var roundCorner = .5519;
1155 function roundValues(flag) {
1156 _shouldRoundValues = !!flag;
1157 }
1158 function bmRnd(value) {
1159 if (_shouldRoundValues) return Math.round(value);
1160 return value;
1161 }
1162 function styleDiv(element) {
1163 element.style.position = "absolute";
1164 element.style.top = 0;
1165 element.style.left = 0;
1166 element.style.display = "block";
1167 element.style.transformOrigin = "0 0";
1168 element.style.webkitTransformOrigin = "0 0";
1169 element.style.backfaceVisibility = "visible";
1170 element.style.webkitBackfaceVisibility = "visible";
1171 element.style.transformStyle = "preserve-3d";
1172 element.style.webkitTransformStyle = "preserve-3d";
1173 element.style.mozTransformStyle = "preserve-3d";
1174 }
1175 function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {
1176 this.type = type;
1177 this.currentTime = currentTime;
1178 this.totalTime = totalTime;
1179 this.direction = frameMultiplier < 0 ? -1 : 1;
1180 }
1181 function BMCompleteEvent(type, frameMultiplier) {
1182 this.type = type;
1183 this.direction = frameMultiplier < 0 ? -1 : 1;
1184 }
1185 function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {
1186 this.type = type;
1187 this.currentLoop = currentLoop;
1188 this.totalLoops = totalLoops;
1189 this.direction = frameMultiplier < 0 ? -1 : 1;
1190 }
1191 function BMSegmentStartEvent(type, firstFrame, totalFrames) {
1192 this.type = type;
1193 this.firstFrame = firstFrame;
1194 this.totalFrames = totalFrames;
1195 }
1196 function BMDestroyEvent(type, target) {
1197 this.type = type;
1198 this.target = target;
1199 }
1200 function BMRenderFrameErrorEvent(nativeError, currentTime) {
1201 this.type = "renderFrameError";
1202 this.nativeError = nativeError;
1203 this.currentTime = currentTime;
1204 }
1205 function BMConfigErrorEvent(nativeError) {
1206 this.type = "configError";
1207 this.nativeError = nativeError;
1208 }
1209 function BMAnimationConfigErrorEvent(type, nativeError) {
1210 this.type = type;
1211 this.nativeError = nativeError;
1212 }
1213 var createElementID = function() {
1214 var _count = 0;
1215 return function createID() {
1216 _count += 1;
1217 return idPrefix$1 + "__lottie_element_" + _count;
1218 };
1219 }();
1220 function HSVtoRGB(h, s, v) {
1221 var r;
1222 var g;
1223 var b;
1224 var i;
1225 var f;
1226 var p;
1227 var q;
1228 var t;
1229 i = Math.floor(h * 6);
1230 f = h * 6 - i;
1231 p = v * (1 - s);
1232 q = v * (1 - f * s);
1233 t = v * (1 - (1 - f) * s);
1234 switch (i % 6) {
1235 case 0:
1236 r = v;
1237 g = t;
1238 b = p;
1239 break;
1240 case 1:
1241 r = q;
1242 g = v;
1243 b = p;
1244 break;
1245 case 2:
1246 r = p;
1247 g = v;
1248 b = t;
1249 break;
1250 case 3:
1251 r = p;
1252 g = q;
1253 b = v;
1254 break;
1255 case 4:
1256 r = t;
1257 g = p;
1258 b = v;
1259 break;
1260 case 5:
1261 r = v;
1262 g = p;
1263 b = q;
1264 break;
1265 default: break;
1266 }
1267 return [
1268 r,
1269 g,
1270 b
1271 ];
1272 }
1273 function RGBtoHSV(r, g, b) {
1274 var max = Math.max(r, g, b);
1275 var min = Math.min(r, g, b);
1276 var d = max - min;
1277 var h;
1278 var s = max === 0 ? 0 : d / max;
1279 var v = max / 255;
1280 switch (max) {
1281 case min:
1282 h = 0;
1283 break;
1284 case r:
1285 h = g - b + d * (g < b ? 6 : 0);
1286 h /= 6 * d;
1287 break;
1288 case g:
1289 h = b - r + d * 2;
1290 h /= 6 * d;
1291 break;
1292 case b:
1293 h = r - g + d * 4;
1294 h /= 6 * d;
1295 break;
1296 default: break;
1297 }
1298 return [
1299 h,
1300 s,
1301 v
1302 ];
1303 }
1304 function addSaturationToRGB(color, offset) {
1305 var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);
1306 hsv[1] += offset;
1307 if (hsv[1] > 1) hsv[1] = 1;
1308 else if (hsv[1] <= 0) hsv[1] = 0;
1309 return HSVtoRGB(hsv[0], hsv[1], hsv[2]);
1310 }
1311 function addBrightnessToRGB(color, offset) {
1312 var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);
1313 hsv[2] += offset;
1314 if (hsv[2] > 1) hsv[2] = 1;
1315 else if (hsv[2] < 0) hsv[2] = 0;
1316 return HSVtoRGB(hsv[0], hsv[1], hsv[2]);
1317 }
1318 function addHueToRGB(color, offset) {
1319 var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);
1320 hsv[0] += offset / 360;
1321 if (hsv[0] > 1) hsv[0] -= 1;
1322 else if (hsv[0] < 0) hsv[0] += 1;
1323 return HSVtoRGB(hsv[0], hsv[1], hsv[2]);
1324 }
1325 var rgbToHex = function() {
1326 var colorMap = [];
1327 var i;
1328 var hex;
1329 for (i = 0; i < 256; i += 1) {
1330 hex = i.toString(16);
1331 colorMap[i] = hex.length === 1 ? "0" + hex : hex;
1332 }
1333 return function(r, g, b) {
1334 if (r < 0) r = 0;
1335 if (g < 0) g = 0;
1336 if (b < 0) b = 0;
1337 return "#" + colorMap[r] + colorMap[g] + colorMap[b];
1338 };
1339 }();
1340 var setSubframeEnabled = function setSubframeEnabled(flag) {
1341 subframeEnabled = !!flag;
1342 };
1343 var getSubframeEnabled = function getSubframeEnabled() {
1344 return subframeEnabled;
1345 };
1346 var setExpressionsPlugin = function setExpressionsPlugin(value) {
1347 expressionsPlugin = value;
1348 };
1349 var getExpressionsPlugin = function getExpressionsPlugin() {
1350 return expressionsPlugin;
1351 };
1352 var setExpressionInterfaces = function setExpressionInterfaces(value) {
1353 expressionsInterfaces = value;
1354 };
1355 var getExpressionInterfaces = function getExpressionInterfaces() {
1356 return expressionsInterfaces;
1357 };
1358 var setDefaultCurveSegments = function setDefaultCurveSegments(value) {
1359 defaultCurveSegments = value;
1360 };
1361 var getDefaultCurveSegments = function getDefaultCurveSegments() {
1362 return defaultCurveSegments;
1363 };
1364 var setIdPrefix = function setIdPrefix(value) {
1365 idPrefix$1 = value;
1366 };
1367 var getIdPrefix = function getIdPrefix() {
1368 return idPrefix$1;
1369 };
1370 function createNS(type) {
1371 return document.createElementNS(svgNS, type);
1372 }
1373 function _typeof$5(o) {
1374 "@babel/helpers - typeof";
1375 return _typeof$5 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
1376 return typeof o;
1377 } : function(o) {
1378 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
1379 }, _typeof$5(o);
1380 }
1381 var dataManager = function() {
1382 var _counterId = 1;
1383 var processes = [];
1384 var workerFn;
1385 var workerInstance;
1386 var workerProxy = {
1387 onmessage: function onmessage() {},
1388 postMessage: function postMessage(path) {
1389 workerFn({ data: path });
1390 }
1391 };
1392 var _workerSelf = { postMessage: function postMessage(data) {
1393 workerProxy.onmessage({ data });
1394 } };
1395 function createWorker(fn) {
1396 if (window.Worker && window.Blob && getWebWorker()) {
1397 var blob = new Blob(["var _workerSelf = self; self.onmessage = ", fn.toString()], { type: "text/javascript" });
1398 var url = URL.createObjectURL(blob);
1399 return new Worker(url);
1400 }
1401 workerFn = fn;
1402 return workerProxy;
1403 }
1404 function setupWorker() {
1405 if (!workerInstance) {
1406 workerInstance = createWorker(function workerStart(e) {
1407 function dataFunctionManager() {
1408 function completeLayers(layers, comps) {
1409 var layerData;
1410 var i;
1411 var len = layers.length;
1412 var j;
1413 var jLen;
1414 var k;
1415 var kLen;
1416 for (i = 0; i < len; i += 1) {
1417 layerData = layers[i];
1418 if ("ks" in layerData && !layerData.completed) {
1419 layerData.completed = true;
1420 if (layerData.hasMask) {
1421 var maskProps = layerData.masksProperties;
1422 jLen = maskProps.length;
1423 for (j = 0; j < jLen; j += 1) if (maskProps[j].pt.k.i) convertPathsToAbsoluteValues(maskProps[j].pt.k);
1424 else {
1425 kLen = maskProps[j].pt.k.length;
1426 for (k = 0; k < kLen; k += 1) {
1427 if (maskProps[j].pt.k[k].s) convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);
1428 if (maskProps[j].pt.k[k].e) convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);
1429 }
1430 }
1431 }
1432 if (layerData.ty === 0) {
1433 layerData.layers = findCompLayers(layerData.refId, comps);
1434 completeLayers(layerData.layers, comps);
1435 } else if (layerData.ty === 4) completeShapes(layerData.shapes);
1436 else if (layerData.ty === 5) completeText(layerData);
1437 }
1438 }
1439 }
1440 function completeChars(chars, assets) {
1441 if (chars) {
1442 var i = 0;
1443 var len = chars.length;
1444 for (i = 0; i < len; i += 1) if (chars[i].t === 1) {
1445 chars[i].data.layers = findCompLayers(chars[i].data.refId, assets);
1446 completeLayers(chars[i].data.layers, assets);
1447 }
1448 }
1449 }
1450 function findComp(id, comps) {
1451 var i = 0;
1452 var len = comps.length;
1453 while (i < len) {
1454 if (comps[i].id === id) return comps[i];
1455 i += 1;
1456 }
1457 return null;
1458 }
1459 function findCompLayers(id, comps) {
1460 var comp = findComp(id, comps);
1461 if (comp) {
1462 if (!comp.layers.__used) {
1463 comp.layers.__used = true;
1464 return comp.layers;
1465 }
1466 return JSON.parse(JSON.stringify(comp.layers));
1467 }
1468 return null;
1469 }
1470 function completeShapes(arr) {
1471 var i;
1472 var len = arr.length;
1473 var j;
1474 var jLen;
1475 for (i = len - 1; i >= 0; i -= 1) if (arr[i].ty === "sh") if (arr[i].ks.k.i) convertPathsToAbsoluteValues(arr[i].ks.k);
1476 else {
1477 jLen = arr[i].ks.k.length;
1478 for (j = 0; j < jLen; j += 1) {
1479 if (arr[i].ks.k[j].s) convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);
1480 if (arr[i].ks.k[j].e) convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);
1481 }
1482 }
1483 else if (arr[i].ty === "gr") completeShapes(arr[i].it);
1484 }
1485 function convertPathsToAbsoluteValues(path) {
1486 var i;
1487 var len = path.i.length;
1488 for (i = 0; i < len; i += 1) {
1489 path.i[i][0] += path.v[i][0];
1490 path.i[i][1] += path.v[i][1];
1491 path.o[i][0] += path.v[i][0];
1492 path.o[i][1] += path.v[i][1];
1493 }
1494 }
1495 function checkVersion(minimum, animVersionString) {
1496 var animVersion = animVersionString ? animVersionString.split(".") : [
1497 100,
1498 100,
1499 100
1500 ];
1501 if (minimum[0] > animVersion[0]) return true;
1502 if (animVersion[0] > minimum[0]) return false;
1503 if (minimum[1] > animVersion[1]) return true;
1504 if (animVersion[1] > minimum[1]) return false;
1505 if (minimum[2] > animVersion[2]) return true;
1506 if (animVersion[2] > minimum[2]) return false;
1507 return null;
1508 }
1509 var checkText = function() {
1510 var minimumVersion = [
1511 4,
1512 4,
1513 14
1514 ];
1515 function updateTextLayer(textLayer) {
1516 var documentData = textLayer.t.d;
1517 textLayer.t.d = { k: [{
1518 s: documentData,
1519 t: 0
1520 }] };
1521 }
1522 function iterateLayers(layers) {
1523 var i;
1524 var len = layers.length;
1525 for (i = 0; i < len; i += 1) if (layers[i].ty === 5) updateTextLayer(layers[i]);
1526 }
1527 return function(animationData) {
1528 if (checkVersion(minimumVersion, animationData.v)) {
1529 iterateLayers(animationData.layers);
1530 if (animationData.assets) {
1531 var i;
1532 var len = animationData.assets.length;
1533 for (i = 0; i < len; i += 1) if (animationData.assets[i].layers) iterateLayers(animationData.assets[i].layers);
1534 }
1535 }
1536 };
1537 }();
1538 var checkChars = function() {
1539 var minimumVersion = [
1540 4,
1541 7,
1542 99
1543 ];
1544 return function(animationData) {
1545 if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {
1546 var i;
1547 var len = animationData.chars.length;
1548 for (i = 0; i < len; i += 1) {
1549 var charData = animationData.chars[i];
1550 if (charData.data && charData.data.shapes) {
1551 completeShapes(charData.data.shapes);
1552 charData.data.ip = 0;
1553 charData.data.op = 99999;
1554 charData.data.st = 0;
1555 charData.data.sr = 1;
1556 charData.data.ks = {
1557 p: {
1558 k: [0, 0],
1559 a: 0
1560 },
1561 s: {
1562 k: [100, 100],
1563 a: 0
1564 },
1565 a: {
1566 k: [0, 0],
1567 a: 0
1568 },
1569 r: {
1570 k: 0,
1571 a: 0
1572 },
1573 o: {
1574 k: 100,
1575 a: 0
1576 }
1577 };
1578 if (!animationData.chars[i].t) {
1579 charData.data.shapes.push({ ty: "no" });
1580 charData.data.shapes[0].it.push({
1581 p: {
1582 k: [0, 0],
1583 a: 0
1584 },
1585 s: {
1586 k: [100, 100],
1587 a: 0
1588 },
1589 a: {
1590 k: [0, 0],
1591 a: 0
1592 },
1593 r: {
1594 k: 0,
1595 a: 0
1596 },
1597 o: {
1598 k: 100,
1599 a: 0
1600 },
1601 sk: {
1602 k: 0,
1603 a: 0
1604 },
1605 sa: {
1606 k: 0,
1607 a: 0
1608 },
1609 ty: "tr"
1610 });
1611 }
1612 }
1613 }
1614 }
1615 };
1616 }();
1617 var checkPathProperties = function() {
1618 var minimumVersion = [
1619 5,
1620 7,
1621 15
1622 ];
1623 function updateTextLayer(textLayer) {
1624 var pathData = textLayer.t.p;
1625 if (typeof pathData.a === "number") pathData.a = {
1626 a: 0,
1627 k: pathData.a
1628 };
1629 if (typeof pathData.p === "number") pathData.p = {
1630 a: 0,
1631 k: pathData.p
1632 };
1633 if (typeof pathData.r === "number") pathData.r = {
1634 a: 0,
1635 k: pathData.r
1636 };
1637 }
1638 function iterateLayers(layers) {
1639 var i;
1640 var len = layers.length;
1641 for (i = 0; i < len; i += 1) if (layers[i].ty === 5) updateTextLayer(layers[i]);
1642 }
1643 return function(animationData) {
1644 if (checkVersion(minimumVersion, animationData.v)) {
1645 iterateLayers(animationData.layers);
1646 if (animationData.assets) {
1647 var i;
1648 var len = animationData.assets.length;
1649 for (i = 0; i < len; i += 1) if (animationData.assets[i].layers) iterateLayers(animationData.assets[i].layers);
1650 }
1651 }
1652 };
1653 }();
1654 var checkColors = function() {
1655 var minimumVersion = [
1656 4,
1657 1,
1658 9
1659 ];
1660 function iterateShapes(shapes) {
1661 var i;
1662 var len = shapes.length;
1663 var j;
1664 var jLen;
1665 for (i = 0; i < len; i += 1) if (shapes[i].ty === "gr") iterateShapes(shapes[i].it);
1666 else if (shapes[i].ty === "fl" || shapes[i].ty === "st") if (shapes[i].c.k && shapes[i].c.k[0].i) {
1667 jLen = shapes[i].c.k.length;
1668 for (j = 0; j < jLen; j += 1) {
1669 if (shapes[i].c.k[j].s) {
1670 shapes[i].c.k[j].s[0] /= 255;
1671 shapes[i].c.k[j].s[1] /= 255;
1672 shapes[i].c.k[j].s[2] /= 255;
1673 shapes[i].c.k[j].s[3] /= 255;
1674 }
1675 if (shapes[i].c.k[j].e) {
1676 shapes[i].c.k[j].e[0] /= 255;
1677 shapes[i].c.k[j].e[1] /= 255;
1678 shapes[i].c.k[j].e[2] /= 255;
1679 shapes[i].c.k[j].e[3] /= 255;
1680 }
1681 }
1682 } else {
1683 shapes[i].c.k[0] /= 255;
1684 shapes[i].c.k[1] /= 255;
1685 shapes[i].c.k[2] /= 255;
1686 shapes[i].c.k[3] /= 255;
1687 }
1688 }
1689 function iterateLayers(layers) {
1690 var i;
1691 var len = layers.length;
1692 for (i = 0; i < len; i += 1) if (layers[i].ty === 4) iterateShapes(layers[i].shapes);
1693 }
1694 return function(animationData) {
1695 if (checkVersion(minimumVersion, animationData.v)) {
1696 iterateLayers(animationData.layers);
1697 if (animationData.assets) {
1698 var i;
1699 var len = animationData.assets.length;
1700 for (i = 0; i < len; i += 1) if (animationData.assets[i].layers) iterateLayers(animationData.assets[i].layers);
1701 }
1702 }
1703 };
1704 }();
1705 var checkShapes = function() {
1706 var minimumVersion = [
1707 4,
1708 4,
1709 18
1710 ];
1711 function completeClosingShapes(arr) {
1712 var i;
1713 var len = arr.length;
1714 var j;
1715 var jLen;
1716 for (i = len - 1; i >= 0; i -= 1) if (arr[i].ty === "sh") if (arr[i].ks.k.i) arr[i].ks.k.c = arr[i].closed;
1717 else {
1718 jLen = arr[i].ks.k.length;
1719 for (j = 0; j < jLen; j += 1) {
1720 if (arr[i].ks.k[j].s) arr[i].ks.k[j].s[0].c = arr[i].closed;
1721 if (arr[i].ks.k[j].e) arr[i].ks.k[j].e[0].c = arr[i].closed;
1722 }
1723 }
1724 else if (arr[i].ty === "gr") completeClosingShapes(arr[i].it);
1725 }
1726 function iterateLayers(layers) {
1727 var layerData;
1728 var i;
1729 var len = layers.length;
1730 var j;
1731 var jLen;
1732 var k;
1733 var kLen;
1734 for (i = 0; i < len; i += 1) {
1735 layerData = layers[i];
1736 if (layerData.hasMask) {
1737 var maskProps = layerData.masksProperties;
1738 jLen = maskProps.length;
1739 for (j = 0; j < jLen; j += 1) if (maskProps[j].pt.k.i) maskProps[j].pt.k.c = maskProps[j].cl;
1740 else {
1741 kLen = maskProps[j].pt.k.length;
1742 for (k = 0; k < kLen; k += 1) {
1743 if (maskProps[j].pt.k[k].s) maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;
1744 if (maskProps[j].pt.k[k].e) maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;
1745 }
1746 }
1747 }
1748 if (layerData.ty === 4) completeClosingShapes(layerData.shapes);
1749 }
1750 }
1751 return function(animationData) {
1752 if (checkVersion(minimumVersion, animationData.v)) {
1753 iterateLayers(animationData.layers);
1754 if (animationData.assets) {
1755 var i;
1756 var len = animationData.assets.length;
1757 for (i = 0; i < len; i += 1) if (animationData.assets[i].layers) iterateLayers(animationData.assets[i].layers);
1758 }
1759 }
1760 };
1761 }();
1762 function completeData(animationData) {
1763 if (animationData.__complete) return;
1764 checkColors(animationData);
1765 checkText(animationData);
1766 checkChars(animationData);
1767 checkPathProperties(animationData);
1768 checkShapes(animationData);
1769 completeLayers(animationData.layers, animationData.assets);
1770 completeChars(animationData.chars, animationData.assets);
1771 animationData.__complete = true;
1772 }
1773 function completeText(data) {
1774 if (data.t.a.length === 0 && !("m" in data.t.p)) {}
1775 }
1776 var moduleOb = {};
1777 moduleOb.completeData = completeData;
1778 moduleOb.checkColors = checkColors;
1779 moduleOb.checkChars = checkChars;
1780 moduleOb.checkPathProperties = checkPathProperties;
1781 moduleOb.checkShapes = checkShapes;
1782 moduleOb.completeLayers = completeLayers;
1783 return moduleOb;
1784 }
1785 if (!_workerSelf.dataManager) _workerSelf.dataManager = dataFunctionManager();
1786 if (!_workerSelf.assetLoader) _workerSelf.assetLoader = function() {
1787 function formatResponse(xhr) {
1788 var contentTypeHeader = xhr.getResponseHeader("content-type");
1789 if (contentTypeHeader && xhr.responseType === "json" && contentTypeHeader.indexOf("json") !== -1) return xhr.response;
1790 if (xhr.response && _typeof$5(xhr.response) === "object") return xhr.response;
1791 if (xhr.response && typeof xhr.response === "string") return JSON.parse(xhr.response);
1792 if (xhr.responseText) return JSON.parse(xhr.responseText);
1793 return null;
1794 }
1795 function loadAsset(path, fullPath, callback, errorCallback) {
1796 var response;
1797 var xhr = new XMLHttpRequest();
1798 try {
1799 xhr.responseType = "json";
1800 } catch (err) {}
1801 xhr.onreadystatechange = function() {
1802 if (xhr.readyState === 4) if (xhr.status === 200) {
1803 response = formatResponse(xhr);
1804 callback(response);
1805 } else try {
1806 response = formatResponse(xhr);
1807 callback(response);
1808 } catch (err) {
1809 if (errorCallback) errorCallback(err);
1810 }
1811 };
1812 try {
1813 xhr.open([
1814 "G",
1815 "E",
1816 "T"
1817 ].join(""), path, true);
1818 } catch (error) {
1819 xhr.open([
1820 "G",
1821 "E",
1822 "T"
1823 ].join(""), fullPath + "/" + path, true);
1824 }
1825 xhr.send();
1826 }
1827 return { load: loadAsset };
1828 }();
1829 if (e.data.type === "loadAnimation") _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function(data) {
1830 _workerSelf.dataManager.completeData(data);
1831 _workerSelf.postMessage({
1832 id: e.data.id,
1833 payload: data,
1834 status: "success"
1835 });
1836 }, function() {
1837 _workerSelf.postMessage({
1838 id: e.data.id,
1839 status: "error"
1840 });
1841 });
1842 else if (e.data.type === "complete") {
1843 var animation = e.data.animation;
1844 _workerSelf.dataManager.completeData(animation);
1845 _workerSelf.postMessage({
1846 id: e.data.id,
1847 payload: animation,
1848 status: "success"
1849 });
1850 } else if (e.data.type === "loadData") _workerSelf.assetLoader.load(e.data.path, e.data.fullPath, function(data) {
1851 _workerSelf.postMessage({
1852 id: e.data.id,
1853 payload: data,
1854 status: "success"
1855 });
1856 }, function() {
1857 _workerSelf.postMessage({
1858 id: e.data.id,
1859 status: "error"
1860 });
1861 });
1862 });
1863 workerInstance.onmessage = function(event) {
1864 var data = event.data;
1865 var id = data.id;
1866 var process = processes[id];
1867 processes[id] = null;
1868 if (data.status === "success") process.onComplete(data.payload);
1869 else if (process.onError) process.onError();
1870 };
1871 }
1872 }
1873 function createProcess(onComplete, onError) {
1874 _counterId += 1;
1875 var id = "processId_" + _counterId;
1876 processes[id] = {
1877 onComplete,
1878 onError
1879 };
1880 return id;
1881 }
1882 function loadAnimation(path, onComplete, onError) {
1883 setupWorker();
1884 var processId = createProcess(onComplete, onError);
1885 workerInstance.postMessage({
1886 type: "loadAnimation",
1887 path,
1888 fullPath: window.location.origin + window.location.pathname,
1889 id: processId
1890 });
1891 }
1892 function loadData(path, onComplete, onError) {
1893 setupWorker();
1894 var processId = createProcess(onComplete, onError);
1895 workerInstance.postMessage({
1896 type: "loadData",
1897 path,
1898 fullPath: window.location.origin + window.location.pathname,
1899 id: processId
1900 });
1901 }
1902 function completeAnimation(anim, onComplete, onError) {
1903 setupWorker();
1904 var processId = createProcess(onComplete, onError);
1905 workerInstance.postMessage({
1906 type: "complete",
1907 animation: anim,
1908 id: processId
1909 });
1910 }
1911 return {
1912 loadAnimation,
1913 loadData,
1914 completeAnimation
1915 };
1916 }();
1917 var ImagePreloader = function() {
1918 var proxyImage = function() {
1919 var canvas = createTag("canvas");
1920 canvas.width = 1;
1921 canvas.height = 1;
1922 var ctx = canvas.getContext("2d");
1923 ctx.fillStyle = "rgba(0,0,0,0)";
1924 ctx.fillRect(0, 0, 1, 1);
1925 return canvas;
1926 }();
1927 function imageLoaded() {
1928 this.loadedAssets += 1;
1929 if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {
1930 if (this.imagesLoadedCb) this.imagesLoadedCb(null);
1931 }
1932 }
1933 function footageLoaded() {
1934 this.loadedFootagesCount += 1;
1935 if (this.loadedAssets === this.totalImages && this.loadedFootagesCount === this.totalFootages) {
1936 if (this.imagesLoadedCb) this.imagesLoadedCb(null);
1937 }
1938 }
1939 function getAssetsPath(assetData, assetsPath, originalPath) {
1940 var path = "";
1941 if (assetData.e) path = assetData.p;
1942 else if (assetsPath) {
1943 var imagePath = assetData.p;
1944 if (imagePath.indexOf("images/") !== -1) imagePath = imagePath.split("/")[1];
1945 path = assetsPath + imagePath;
1946 } else {
1947 path = originalPath;
1948 path += assetData.u ? assetData.u : "";
1949 path += assetData.p;
1950 }
1951 return path;
1952 }
1953 function testImageLoaded(img) {
1954 var _count = 0;
1955 var intervalId = setInterval(function() {
1956 if (img.getBBox().width || _count > 500) {
1957 this._imageLoaded();
1958 clearInterval(intervalId);
1959 }
1960 _count += 1;
1961 }.bind(this), 50);
1962 }
1963 function createImageData(assetData) {
1964 var path = getAssetsPath(assetData, this.assetsPath, this.path);
1965 var img = createNS("image");
1966 if (isSafari) this.testImageLoaded(img);
1967 else img.addEventListener("load", this._imageLoaded, false);
1968 img.addEventListener("error", function() {
1969 ob.img = proxyImage;
1970 this._imageLoaded();
1971 }.bind(this), false);
1972 img.setAttributeNS("http://www.w3.org/1999/xlink", "href", path);
1973 if (this._elementHelper.append) this._elementHelper.append(img);
1974 else this._elementHelper.appendChild(img);
1975 var ob = {
1976 img,
1977 assetData
1978 };
1979 return ob;
1980 }
1981 function createImgData(assetData) {
1982 var path = getAssetsPath(assetData, this.assetsPath, this.path);
1983 var img = createTag("img");
1984 img.crossOrigin = "anonymous";
1985 img.addEventListener("load", this._imageLoaded, false);
1986 img.addEventListener("error", function() {
1987 ob.img = proxyImage;
1988 this._imageLoaded();
1989 }.bind(this), false);
1990 img.src = path;
1991 var ob = {
1992 img,
1993 assetData
1994 };
1995 return ob;
1996 }
1997 function createFootageData(data) {
1998 var ob = { assetData: data };
1999 var path = getAssetsPath(data, this.assetsPath, this.path);
2000 dataManager.loadData(path, function(footageData) {
2001 ob.img = footageData;
2002 this._footageLoaded();
2003 }.bind(this), function() {
2004 ob.img = {};
2005 this._footageLoaded();
2006 }.bind(this));
2007 return ob;
2008 }
2009 function loadAssets(assets, cb) {
2010 this.imagesLoadedCb = cb;
2011 var i;
2012 var len = assets.length;
2013 for (i = 0; i < len; i += 1) if (!assets[i].layers) {
2014 if (!assets[i].t || assets[i].t === "seq") {
2015 this.totalImages += 1;
2016 this.images.push(this._createImageData(assets[i]));
2017 } else if (assets[i].t === 3) {
2018 this.totalFootages += 1;
2019 this.images.push(this.createFootageData(assets[i]));
2020 }
2021 }
2022 }
2023 function setPath(path) {
2024 this.path = path || "";
2025 }
2026 function setAssetsPath(path) {
2027 this.assetsPath = path || "";
2028 }
2029 function getAsset(assetData) {
2030 var i = 0;
2031 var len = this.images.length;
2032 while (i < len) {
2033 if (this.images[i].assetData === assetData) return this.images[i].img;
2034 i += 1;
2035 }
2036 return null;
2037 }
2038 function destroy() {
2039 this.imagesLoadedCb = null;
2040 this.images.length = 0;
2041 }
2042 function loadedImages() {
2043 return this.totalImages === this.loadedAssets;
2044 }
2045 function loadedFootages() {
2046 return this.totalFootages === this.loadedFootagesCount;
2047 }
2048 function setCacheType(type, elementHelper) {
2049 if (type === "svg") {
2050 this._elementHelper = elementHelper;
2051 this._createImageData = this.createImageData.bind(this);
2052 } else this._createImageData = this.createImgData.bind(this);
2053 }
2054 function ImagePreloaderFactory() {
2055 this._imageLoaded = imageLoaded.bind(this);
2056 this._footageLoaded = footageLoaded.bind(this);
2057 this.testImageLoaded = testImageLoaded.bind(this);
2058 this.createFootageData = createFootageData.bind(this);
2059 this.assetsPath = "";
2060 this.path = "";
2061 this.totalImages = 0;
2062 this.totalFootages = 0;
2063 this.loadedAssets = 0;
2064 this.loadedFootagesCount = 0;
2065 this.imagesLoadedCb = null;
2066 this.images = [];
2067 }
2068 ImagePreloaderFactory.prototype = {
2069 loadAssets,
2070 setAssetsPath,
2071 setPath,
2072 loadedImages,
2073 loadedFootages,
2074 destroy,
2075 getAsset,
2076 createImgData,
2077 createImageData,
2078 imageLoaded,
2079 footageLoaded,
2080 setCacheType
2081 };
2082 return ImagePreloaderFactory;
2083 }();
2084 function BaseEvent() {}
2085 BaseEvent.prototype = {
2086 triggerEvent: function triggerEvent(eventName, args) {
2087 if (this._cbs[eventName]) {
2088 var callbacks = this._cbs[eventName];
2089 for (var i = 0; i < callbacks.length; i += 1) callbacks[i](args);
2090 }
2091 },
2092 addEventListener: function addEventListener(eventName, callback) {
2093 if (!this._cbs[eventName]) this._cbs[eventName] = [];
2094 this._cbs[eventName].push(callback);
2095 return function() {
2096 this.removeEventListener(eventName, callback);
2097 }.bind(this);
2098 },
2099 removeEventListener: function removeEventListener(eventName, callback) {
2100 if (!callback) this._cbs[eventName] = null;
2101 else if (this._cbs[eventName]) {
2102 var i = 0;
2103 var len = this._cbs[eventName].length;
2104 while (i < len) {
2105 if (this._cbs[eventName][i] === callback) {
2106 this._cbs[eventName].splice(i, 1);
2107 i -= 1;
2108 len -= 1;
2109 }
2110 i += 1;
2111 }
2112 if (!this._cbs[eventName].length) this._cbs[eventName] = null;
2113 }
2114 }
2115 };
2116 var markerParser = function() {
2117 function parsePayloadLines(payload) {
2118 var lines = payload.split("\r\n");
2119 var keys = {};
2120 var line;
2121 var keysCount = 0;
2122 for (var i = 0; i < lines.length; i += 1) {
2123 line = lines[i].split(":");
2124 if (line.length === 2) {
2125 keys[line[0]] = line[1].trim();
2126 keysCount += 1;
2127 }
2128 }
2129 if (keysCount === 0) throw new Error();
2130 return keys;
2131 }
2132 return function(_markers) {
2133 var markers = [];
2134 for (var i = 0; i < _markers.length; i += 1) {
2135 var _marker = _markers[i];
2136 var markerData = {
2137 time: _marker.tm,
2138 duration: _marker.dr
2139 };
2140 try {
2141 markerData.payload = JSON.parse(_markers[i].cm);
2142 } catch (_) {
2143 try {
2144 markerData.payload = parsePayloadLines(_markers[i].cm);
2145 } catch (__) {
2146 markerData.payload = { name: _markers[i].cm };
2147 }
2148 }
2149 markers.push(markerData);
2150 }
2151 return markers;
2152 };
2153 }();
2154 var ProjectInterface = function() {
2155 function registerComposition(comp) {
2156 this.compositions.push(comp);
2157 }
2158 return function() {
2159 function _thisProjectFunction(name) {
2160 var i = 0;
2161 var len = this.compositions.length;
2162 while (i < len) {
2163 if (this.compositions[i].data && this.compositions[i].data.nm === name) {
2164 if (this.compositions[i].prepareFrame && this.compositions[i].data.xt) this.compositions[i].prepareFrame(this.currentFrame);
2165 return this.compositions[i].compInterface;
2166 }
2167 i += 1;
2168 }
2169 return null;
2170 }
2171 _thisProjectFunction.compositions = [];
2172 _thisProjectFunction.currentFrame = 0;
2173 _thisProjectFunction.registerComposition = registerComposition;
2174 return _thisProjectFunction;
2175 };
2176 }();
2177 var renderers = {};
2178 var registerRenderer = function registerRenderer(key, value) {
2179 renderers[key] = value;
2180 };
2181 function getRenderer(key) {
2182 return renderers[key];
2183 }
2184 function getRegisteredRenderer() {
2185 if (renderers.canvas) return "canvas";
2186 for (var key in renderers) if (renderers[key]) return key;
2187 return "";
2188 }
2189 function _typeof$4(o) {
2190 "@babel/helpers - typeof";
2191 return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
2192 return typeof o;
2193 } : function(o) {
2194 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
2195 }, _typeof$4(o);
2196 }
2197 var AnimationItem = function AnimationItem() {
2198 this._cbs = [];
2199 this.name = "";
2200 this.path = "";
2201 this.isLoaded = false;
2202 this.currentFrame = 0;
2203 this.currentRawFrame = 0;
2204 this.firstFrame = 0;
2205 this.totalFrames = 0;
2206 this.frameRate = 0;
2207 this.frameMult = 0;
2208 this.playSpeed = 1;
2209 this.playDirection = 1;
2210 this.playCount = 0;
2211 this.animationData = {};
2212 this.assets = [];
2213 this.isPaused = true;
2214 this.autoplay = false;
2215 this.loop = true;
2216 this.renderer = null;
2217 this.animationID = createElementID();
2218 this.assetsPath = "";
2219 this.timeCompleted = 0;
2220 this.segmentPos = 0;
2221 this.isSubframeEnabled = getSubframeEnabled();
2222 this.segments = [];
2223 this._idle = true;
2224 this._completedLoop = false;
2225 this.projectInterface = ProjectInterface();
2226 this.imagePreloader = new ImagePreloader();
2227 this.audioController = audioControllerFactory();
2228 this.markers = [];
2229 this.configAnimation = this.configAnimation.bind(this);
2230 this.onSetupError = this.onSetupError.bind(this);
2231 this.onSegmentComplete = this.onSegmentComplete.bind(this);
2232 this.drawnFrameEvent = new BMEnterFrameEvent("drawnFrame", 0, 0, 0);
2233 this.expressionsPlugin = getExpressionsPlugin();
2234 };
2235 extendPrototype([BaseEvent], AnimationItem);
2236 AnimationItem.prototype.setParams = function(params) {
2237 if (params.wrapper || params.container) this.wrapper = params.wrapper || params.container;
2238 var animType = "svg";
2239 if (params.animType) animType = params.animType;
2240 else if (params.renderer) animType = params.renderer;
2241 var RendererClass = getRenderer(animType);
2242 this.renderer = new RendererClass(this, params.rendererSettings);
2243 this.imagePreloader.setCacheType(animType, this.renderer.globalData.defs);
2244 this.renderer.setProjectInterface(this.projectInterface);
2245 this.animType = animType;
2246 if (params.loop === "" || params.loop === null || params.loop === void 0 || params.loop === true) this.loop = true;
2247 else if (params.loop === false) this.loop = false;
2248 else this.loop = parseInt(params.loop, 10);
2249 this.autoplay = "autoplay" in params ? params.autoplay : true;
2250 this.name = params.name ? params.name : "";
2251 this.autoloadSegments = Object.prototype.hasOwnProperty.call(params, "autoloadSegments") ? params.autoloadSegments : true;
2252 this.assetsPath = params.assetsPath;
2253 this.initialSegment = params.initialSegment;
2254 if (params.audioFactory) this.audioController.setAudioFactory(params.audioFactory);
2255 if (params.animationData) this.setupAnimation(params.animationData);
2256 else if (params.path) {
2257 if (params.path.lastIndexOf("\\") !== -1) this.path = params.path.substr(0, params.path.lastIndexOf("\\") + 1);
2258 else this.path = params.path.substr(0, params.path.lastIndexOf("/") + 1);
2259 this.fileName = params.path.substr(params.path.lastIndexOf("/") + 1);
2260 this.fileName = this.fileName.substr(0, this.fileName.lastIndexOf(".json"));
2261 dataManager.loadAnimation(params.path, this.configAnimation, this.onSetupError);
2262 }
2263 };
2264 AnimationItem.prototype.onSetupError = function() {
2265 this.trigger("data_failed");
2266 };
2267 AnimationItem.prototype.setupAnimation = function(data) {
2268 dataManager.completeAnimation(data, this.configAnimation);
2269 };
2270 AnimationItem.prototype.setData = function(wrapper, animationData) {
2271 if (animationData) {
2272 if (_typeof$4(animationData) !== "object") animationData = JSON.parse(animationData);
2273 }
2274 var params = {
2275 wrapper,
2276 animationData
2277 };
2278 var wrapperAttributes = wrapper.attributes;
2279 params.path = wrapperAttributes.getNamedItem("data-animation-path") ? wrapperAttributes.getNamedItem("data-animation-path").value : wrapperAttributes.getNamedItem("data-bm-path") ? wrapperAttributes.getNamedItem("data-bm-path").value : wrapperAttributes.getNamedItem("bm-path") ? wrapperAttributes.getNamedItem("bm-path").value : "";
2280 params.animType = wrapperAttributes.getNamedItem("data-anim-type") ? wrapperAttributes.getNamedItem("data-anim-type").value : wrapperAttributes.getNamedItem("data-bm-type") ? wrapperAttributes.getNamedItem("data-bm-type").value : wrapperAttributes.getNamedItem("bm-type") ? wrapperAttributes.getNamedItem("bm-type").value : wrapperAttributes.getNamedItem("data-bm-renderer") ? wrapperAttributes.getNamedItem("data-bm-renderer").value : wrapperAttributes.getNamedItem("bm-renderer") ? wrapperAttributes.getNamedItem("bm-renderer").value : getRegisteredRenderer() || "canvas";
2281 var loop = wrapperAttributes.getNamedItem("data-anim-loop") ? wrapperAttributes.getNamedItem("data-anim-loop").value : wrapperAttributes.getNamedItem("data-bm-loop") ? wrapperAttributes.getNamedItem("data-bm-loop").value : wrapperAttributes.getNamedItem("bm-loop") ? wrapperAttributes.getNamedItem("bm-loop").value : "";
2282 if (loop === "false") params.loop = false;
2283 else if (loop === "true") params.loop = true;
2284 else if (loop !== "") params.loop = parseInt(loop, 10);
2285 params.autoplay = (wrapperAttributes.getNamedItem("data-anim-autoplay") ? wrapperAttributes.getNamedItem("data-anim-autoplay").value : wrapperAttributes.getNamedItem("data-bm-autoplay") ? wrapperAttributes.getNamedItem("data-bm-autoplay").value : wrapperAttributes.getNamedItem("bm-autoplay") ? wrapperAttributes.getNamedItem("bm-autoplay").value : true) !== "false";
2286 params.name = wrapperAttributes.getNamedItem("data-name") ? wrapperAttributes.getNamedItem("data-name").value : wrapperAttributes.getNamedItem("data-bm-name") ? wrapperAttributes.getNamedItem("data-bm-name").value : wrapperAttributes.getNamedItem("bm-name") ? wrapperAttributes.getNamedItem("bm-name").value : "";
2287 if ((wrapperAttributes.getNamedItem("data-anim-prerender") ? wrapperAttributes.getNamedItem("data-anim-prerender").value : wrapperAttributes.getNamedItem("data-bm-prerender") ? wrapperAttributes.getNamedItem("data-bm-prerender").value : wrapperAttributes.getNamedItem("bm-prerender") ? wrapperAttributes.getNamedItem("bm-prerender").value : "") === "false") params.prerender = false;
2288 if (!params.path) this.trigger("destroy");
2289 else this.setParams(params);
2290 };
2291 AnimationItem.prototype.includeLayers = function(data) {
2292 if (data.op > this.animationData.op) {
2293 this.animationData.op = data.op;
2294 this.totalFrames = Math.floor(data.op - this.animationData.ip);
2295 }
2296 var layers = this.animationData.layers;
2297 var i;
2298 var len = layers.length;
2299 var newLayers = data.layers;
2300 var j;
2301 var jLen = newLayers.length;
2302 for (j = 0; j < jLen; j += 1) {
2303 i = 0;
2304 while (i < len) {
2305 if (layers[i].id === newLayers[j].id) {
2306 layers[i] = newLayers[j];
2307 break;
2308 }
2309 i += 1;
2310 }
2311 }
2312 if (data.chars || data.fonts) {
2313 this.renderer.globalData.fontManager.addChars(data.chars);
2314 this.renderer.globalData.fontManager.addFonts(data.fonts, this.renderer.globalData.defs);
2315 }
2316 if (data.assets) {
2317 len = data.assets.length;
2318 for (i = 0; i < len; i += 1) this.animationData.assets.push(data.assets[i]);
2319 }
2320 this.animationData.__complete = false;
2321 dataManager.completeAnimation(this.animationData, this.onSegmentComplete);
2322 };
2323 AnimationItem.prototype.onSegmentComplete = function(data) {
2324 this.animationData = data;
2325 var expressionsPlugin = getExpressionsPlugin();
2326 if (expressionsPlugin) expressionsPlugin.initExpressions(this);
2327 this.loadNextSegment();
2328 };
2329 AnimationItem.prototype.loadNextSegment = function() {
2330 var segments = this.animationData.segments;
2331 if (!segments || segments.length === 0 || !this.autoloadSegments) {
2332 this.trigger("data_ready");
2333 this.timeCompleted = this.totalFrames;
2334 return;
2335 }
2336 var segment = segments.shift();
2337 this.timeCompleted = segment.time * this.frameRate;
2338 var segmentPath = this.path + this.fileName + "_" + this.segmentPos + ".json";
2339 this.segmentPos += 1;
2340 dataManager.loadData(segmentPath, this.includeLayers.bind(this), function() {
2341 this.trigger("data_failed");
2342 }.bind(this));
2343 };
2344 AnimationItem.prototype.loadSegments = function() {
2345 if (!this.animationData.segments) this.timeCompleted = this.totalFrames;
2346 this.loadNextSegment();
2347 };
2348 AnimationItem.prototype.imagesLoaded = function() {
2349 this.trigger("loaded_images");
2350 this.checkLoaded();
2351 };
2352 AnimationItem.prototype.preloadImages = function() {
2353 this.imagePreloader.setAssetsPath(this.assetsPath);
2354 this.imagePreloader.setPath(this.path);
2355 this.imagePreloader.loadAssets(this.animationData.assets, this.imagesLoaded.bind(this));
2356 };
2357 AnimationItem.prototype.configAnimation = function(animData) {
2358 if (!this.renderer) return;
2359 try {
2360 this.animationData = animData;
2361 if (this.initialSegment) {
2362 this.totalFrames = Math.floor(this.initialSegment[1] - this.initialSegment[0]);
2363 this.firstFrame = Math.round(this.initialSegment[0]);
2364 } else {
2365 this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip);
2366 this.firstFrame = Math.round(this.animationData.ip);
2367 }
2368 this.renderer.configAnimation(animData);
2369 if (!animData.assets) animData.assets = [];
2370 this.assets = this.animationData.assets;
2371 this.frameRate = this.animationData.fr;
2372 this.frameMult = this.animationData.fr / 1e3;
2373 this.renderer.searchExtraCompositions(animData.assets);
2374 this.markers = markerParser(animData.markers || []);
2375 this.trigger("config_ready");
2376 this.preloadImages();
2377 this.loadSegments();
2378 this.updaFrameModifier();
2379 this.waitForFontsLoaded();
2380 if (this.isPaused) this.audioController.pause();
2381 } catch (error) {
2382 this.triggerConfigError(error);
2383 }
2384 };
2385 AnimationItem.prototype.waitForFontsLoaded = function() {
2386 if (!this.renderer) return;
2387 if (this.renderer.globalData.fontManager.isLoaded) this.checkLoaded();
2388 else setTimeout(this.waitForFontsLoaded.bind(this), 20);
2389 };
2390 AnimationItem.prototype.checkLoaded = function() {
2391 if (!this.isLoaded && this.renderer.globalData.fontManager.isLoaded && (this.imagePreloader.loadedImages() || this.renderer.rendererType !== "canvas") && this.imagePreloader.loadedFootages()) {
2392 this.isLoaded = true;
2393 var expressionsPlugin = getExpressionsPlugin();
2394 if (expressionsPlugin) expressionsPlugin.initExpressions(this);
2395 this.renderer.initItems();
2396 setTimeout(function() {
2397 this.trigger("DOMLoaded");
2398 }.bind(this), 0);
2399 this.gotoFrame();
2400 if (this.autoplay) this.play();
2401 }
2402 };
2403 AnimationItem.prototype.resize = function(width, height) {
2404 var _width = typeof width === "number" ? width : void 0;
2405 var _height = typeof height === "number" ? height : void 0;
2406 this.renderer.updateContainerSize(_width, _height);
2407 };
2408 AnimationItem.prototype.setSubframe = function(flag) {
2409 this.isSubframeEnabled = !!flag;
2410 };
2411 AnimationItem.prototype.gotoFrame = function() {
2412 this.currentFrame = this.isSubframeEnabled ? this.currentRawFrame : ~~this.currentRawFrame;
2413 if (this.timeCompleted !== this.totalFrames && this.currentFrame > this.timeCompleted) this.currentFrame = this.timeCompleted;
2414 this.trigger("enterFrame");
2415 this.renderFrame();
2416 this.trigger("drawnFrame");
2417 };
2418 AnimationItem.prototype.renderFrame = function() {
2419 if (this.isLoaded === false || !this.renderer) return;
2420 try {
2421 if (this.expressionsPlugin) this.expressionsPlugin.resetFrame();
2422 this.renderer.renderFrame(this.currentFrame + this.firstFrame);
2423 } catch (error) {
2424 this.triggerRenderFrameError(error);
2425 }
2426 };
2427 AnimationItem.prototype.play = function(name) {
2428 if (name && this.name !== name) return;
2429 if (this.isPaused === true) {
2430 this.isPaused = false;
2431 this.trigger("_play");
2432 this.audioController.resume();
2433 if (this._idle) {
2434 this._idle = false;
2435 this.trigger("_active");
2436 }
2437 }
2438 };
2439 AnimationItem.prototype.pause = function(name) {
2440 if (name && this.name !== name) return;
2441 if (this.isPaused === false) {
2442 this.isPaused = true;
2443 this.trigger("_pause");
2444 this._idle = true;
2445 this.trigger("_idle");
2446 this.audioController.pause();
2447 }
2448 };
2449 AnimationItem.prototype.togglePause = function(name) {
2450 if (name && this.name !== name) return;
2451 if (this.isPaused === true) this.play();
2452 else this.pause();
2453 };
2454 AnimationItem.prototype.stop = function(name) {
2455 if (name && this.name !== name) return;
2456 this.pause();
2457 this.playCount = 0;
2458 this._completedLoop = false;
2459 this.setCurrentRawFrameValue(0);
2460 };
2461 AnimationItem.prototype.getMarkerData = function(markerName) {
2462 var marker;
2463 for (var i = 0; i < this.markers.length; i += 1) {
2464 marker = this.markers[i];
2465 if (marker.payload && marker.payload.name === markerName) return marker;
2466 }
2467 return null;
2468 };
2469 AnimationItem.prototype.goToAndStop = function(value, isFrame, name) {
2470 if (name && this.name !== name) return;
2471 var numValue = Number(value);
2472 if (isNaN(numValue)) {
2473 var marker = this.getMarkerData(value);
2474 if (marker) this.goToAndStop(marker.time, true);
2475 } else if (isFrame) this.setCurrentRawFrameValue(value);
2476 else this.setCurrentRawFrameValue(value * this.frameModifier);
2477 this.pause();
2478 };
2479 AnimationItem.prototype.goToAndPlay = function(value, isFrame, name) {
2480 if (name && this.name !== name) return;
2481 var numValue = Number(value);
2482 if (isNaN(numValue)) {
2483 var marker = this.getMarkerData(value);
2484 if (marker) if (!marker.duration) this.goToAndStop(marker.time, true);
2485 else this.playSegments([marker.time, marker.time + marker.duration], true);
2486 } else this.goToAndStop(numValue, isFrame, name);
2487 this.play();
2488 };
2489 AnimationItem.prototype.advanceTime = function(value) {
2490 if (this.isPaused === true || this.isLoaded === false) return;
2491 var nextValue = this.currentRawFrame + value * this.frameModifier;
2492 var _isComplete = false;
2493 if (nextValue >= this.totalFrames - 1 && this.frameModifier > 0) if (!this.loop || this.playCount === this.loop) {
2494 if (!this.checkSegments(nextValue > this.totalFrames ? nextValue % this.totalFrames : 0)) {
2495 _isComplete = true;
2496 nextValue = this.totalFrames - 1;
2497 }
2498 } else if (nextValue >= this.totalFrames) {
2499 this.playCount += 1;
2500 if (!this.checkSegments(nextValue % this.totalFrames)) {
2501 this.setCurrentRawFrameValue(nextValue % this.totalFrames);
2502 this._completedLoop = true;
2503 this.trigger("loopComplete");
2504 }
2505 } else this.setCurrentRawFrameValue(nextValue);
2506 else if (nextValue < 0) {
2507 if (!this.checkSegments(nextValue % this.totalFrames)) if (this.loop && !(this.playCount-- <= 0 && this.loop !== true)) {
2508 this.setCurrentRawFrameValue(this.totalFrames + nextValue % this.totalFrames);
2509 if (!this._completedLoop) this._completedLoop = true;
2510 else this.trigger("loopComplete");
2511 } else {
2512 _isComplete = true;
2513 nextValue = 0;
2514 }
2515 } else this.setCurrentRawFrameValue(nextValue);
2516 if (_isComplete) {
2517 this.setCurrentRawFrameValue(nextValue);
2518 this.pause();
2519 this.trigger("complete");
2520 }
2521 };
2522 AnimationItem.prototype.adjustSegment = function(arr, offset) {
2523 this.playCount = 0;
2524 if (arr[1] < arr[0]) {
2525 if (this.frameModifier > 0) if (this.playSpeed < 0) this.setSpeed(-this.playSpeed);
2526 else this.setDirection(-1);
2527 this.totalFrames = arr[0] - arr[1];
2528 this.timeCompleted = this.totalFrames;
2529 this.firstFrame = arr[1];
2530 this.setCurrentRawFrameValue(this.totalFrames - .001 - offset);
2531 } else if (arr[1] > arr[0]) {
2532 if (this.frameModifier < 0) if (this.playSpeed < 0) this.setSpeed(-this.playSpeed);
2533 else this.setDirection(1);
2534 this.totalFrames = arr[1] - arr[0];
2535 this.timeCompleted = this.totalFrames;
2536 this.firstFrame = arr[0];
2537 this.setCurrentRawFrameValue(.001 + offset);
2538 }
2539 this.trigger("segmentStart");
2540 };
2541 AnimationItem.prototype.setSegment = function(init, end) {
2542 var pendingFrame = -1;
2543 if (this.isPaused) {
2544 if (this.currentRawFrame + this.firstFrame < init) pendingFrame = init;
2545 else if (this.currentRawFrame + this.firstFrame > end) pendingFrame = end - init;
2546 }
2547 this.firstFrame = init;
2548 this.totalFrames = end - init;
2549 this.timeCompleted = this.totalFrames;
2550 if (pendingFrame !== -1) this.goToAndStop(pendingFrame, true);
2551 };
2552 AnimationItem.prototype.playSegments = function(arr, forceFlag) {
2553 if (forceFlag) this.segments.length = 0;
2554 if (_typeof$4(arr[0]) === "object") {
2555 var i;
2556 var len = arr.length;
2557 for (i = 0; i < len; i += 1) this.segments.push(arr[i]);
2558 } else this.segments.push(arr);
2559 if (this.segments.length && forceFlag) this.adjustSegment(this.segments.shift(), 0);
2560 if (this.isPaused) this.play();
2561 };
2562 AnimationItem.prototype.resetSegments = function(forceFlag) {
2563 this.segments.length = 0;
2564 this.segments.push([this.animationData.ip, this.animationData.op]);
2565 if (forceFlag) this.checkSegments(0);
2566 };
2567 AnimationItem.prototype.checkSegments = function(offset) {
2568 if (this.segments.length) {
2569 this.adjustSegment(this.segments.shift(), offset);
2570 return true;
2571 }
2572 return false;
2573 };
2574 AnimationItem.prototype.destroy = function(name) {
2575 if (name && this.name !== name || !this.renderer) return;
2576 this.renderer.destroy();
2577 this.imagePreloader.destroy();
2578 this.trigger("destroy");
2579 this._cbs = null;
2580 this.onEnterFrame = null;
2581 this.onLoopComplete = null;
2582 this.onComplete = null;
2583 this.onSegmentStart = null;
2584 this.onDestroy = null;
2585 this.renderer = null;
2586 this.expressionsPlugin = null;
2587 this.imagePreloader = null;
2588 this.projectInterface = null;
2589 };
2590 AnimationItem.prototype.setCurrentRawFrameValue = function(value) {
2591 this.currentRawFrame = value;
2592 this.gotoFrame();
2593 };
2594 AnimationItem.prototype.setSpeed = function(val) {
2595 this.playSpeed = val;
2596 this.updaFrameModifier();
2597 };
2598 AnimationItem.prototype.setDirection = function(val) {
2599 this.playDirection = val < 0 ? -1 : 1;
2600 this.updaFrameModifier();
2601 };
2602 AnimationItem.prototype.setLoop = function(isLooping) {
2603 this.loop = isLooping;
2604 };
2605 AnimationItem.prototype.setVolume = function(val, name) {
2606 if (name && this.name !== name) return;
2607 this.audioController.setVolume(val);
2608 };
2609 AnimationItem.prototype.getVolume = function() {
2610 return this.audioController.getVolume();
2611 };
2612 AnimationItem.prototype.mute = function(name) {
2613 if (name && this.name !== name) return;
2614 this.audioController.mute();
2615 };
2616 AnimationItem.prototype.unmute = function(name) {
2617 if (name && this.name !== name) return;
2618 this.audioController.unmute();
2619 };
2620 AnimationItem.prototype.updaFrameModifier = function() {
2621 this.frameModifier = this.frameMult * this.playSpeed * this.playDirection;
2622 this.audioController.setRate(this.playSpeed * this.playDirection);
2623 };
2624 AnimationItem.prototype.getPath = function() {
2625 return this.path;
2626 };
2627 AnimationItem.prototype.getAssetsPath = function(assetData) {
2628 var path = "";
2629 if (assetData.e) path = assetData.p;
2630 else if (this.assetsPath) {
2631 var imagePath = assetData.p;
2632 if (imagePath.indexOf("images/") !== -1) imagePath = imagePath.split("/")[1];
2633 path = this.assetsPath + imagePath;
2634 } else {
2635 path = this.path;
2636 path += assetData.u ? assetData.u : "";
2637 path += assetData.p;
2638 }
2639 return path;
2640 };
2641 AnimationItem.prototype.getAssetData = function(id) {
2642 var i = 0;
2643 var len = this.assets.length;
2644 while (i < len) {
2645 if (id === this.assets[i].id) return this.assets[i];
2646 i += 1;
2647 }
2648 return null;
2649 };
2650 AnimationItem.prototype.hide = function() {
2651 this.renderer.hide();
2652 };
2653 AnimationItem.prototype.show = function() {
2654 this.renderer.show();
2655 };
2656 AnimationItem.prototype.getDuration = function(isFrame) {
2657 return isFrame ? this.totalFrames : this.totalFrames / this.frameRate;
2658 };
2659 AnimationItem.prototype.updateDocumentData = function(path, documentData, index) {
2660 try {
2661 this.renderer.getElementByPath(path).updateDocumentData(documentData, index);
2662 } catch (error) {}
2663 };
2664 AnimationItem.prototype.trigger = function(name) {
2665 if (this._cbs && this._cbs[name]) switch (name) {
2666 case "enterFrame":
2667 this.triggerEvent(name, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameModifier));
2668 break;
2669 case "drawnFrame":
2670 this.drawnFrameEvent.currentTime = this.currentFrame;
2671 this.drawnFrameEvent.totalTime = this.totalFrames;
2672 this.drawnFrameEvent.direction = this.frameModifier;
2673 this.triggerEvent(name, this.drawnFrameEvent);
2674 break;
2675 case "loopComplete":
2676 this.triggerEvent(name, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));
2677 break;
2678 case "complete":
2679 this.triggerEvent(name, new BMCompleteEvent(name, this.frameMult));
2680 break;
2681 case "segmentStart":
2682 this.triggerEvent(name, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));
2683 break;
2684 case "destroy":
2685 this.triggerEvent(name, new BMDestroyEvent(name, this));
2686 break;
2687 default: this.triggerEvent(name);
2688 }
2689 if (name === "enterFrame" && this.onEnterFrame) this.onEnterFrame.call(this, new BMEnterFrameEvent(name, this.currentFrame, this.totalFrames, this.frameMult));
2690 if (name === "loopComplete" && this.onLoopComplete) this.onLoopComplete.call(this, new BMCompleteLoopEvent(name, this.loop, this.playCount, this.frameMult));
2691 if (name === "complete" && this.onComplete) this.onComplete.call(this, new BMCompleteEvent(name, this.frameMult));
2692 if (name === "segmentStart" && this.onSegmentStart) this.onSegmentStart.call(this, new BMSegmentStartEvent(name, this.firstFrame, this.totalFrames));
2693 if (name === "destroy" && this.onDestroy) this.onDestroy.call(this, new BMDestroyEvent(name, this));
2694 };
2695 AnimationItem.prototype.triggerRenderFrameError = function(nativeError) {
2696 var error = new BMRenderFrameErrorEvent(nativeError, this.currentFrame);
2697 this.triggerEvent("error", error);
2698 if (this.onError) this.onError.call(this, error);
2699 };
2700 AnimationItem.prototype.triggerConfigError = function(nativeError) {
2701 var error = new BMConfigErrorEvent(nativeError, this.currentFrame);
2702 this.triggerEvent("error", error);
2703 if (this.onError) this.onError.call(this, error);
2704 };
2705 var animationManager = function() {
2706 var moduleOb = {};
2707 var registeredAnimations = [];
2708 var initTime = 0;
2709 var len = 0;
2710 var playingAnimationsNum = 0;
2711 var _stopped = true;
2712 var _isFrozen = false;
2713 function removeElement(ev) {
2714 var i = 0;
2715 var animItem = ev.target;
2716 while (i < len) {
2717 if (registeredAnimations[i].animation === animItem) {
2718 registeredAnimations.splice(i, 1);
2719 i -= 1;
2720 len -= 1;
2721 if (!animItem.isPaused) subtractPlayingCount();
2722 }
2723 i += 1;
2724 }
2725 }
2726 function registerAnimation(element, animationData) {
2727 if (!element) return null;
2728 var i = 0;
2729 while (i < len) {
2730 if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) return registeredAnimations[i].animation;
2731 i += 1;
2732 }
2733 var animItem = new AnimationItem();
2734 setupAnimation(animItem, element);
2735 animItem.setData(element, animationData);
2736 return animItem;
2737 }
2738 function getRegisteredAnimations() {
2739 var i;
2740 var lenAnims = registeredAnimations.length;
2741 var animations = [];
2742 for (i = 0; i < lenAnims; i += 1) animations.push(registeredAnimations[i].animation);
2743 return animations;
2744 }
2745 function addPlayingCount() {
2746 playingAnimationsNum += 1;
2747 activate();
2748 }
2749 function subtractPlayingCount() {
2750 playingAnimationsNum -= 1;
2751 }
2752 function setupAnimation(animItem, element) {
2753 animItem.addEventListener("destroy", removeElement);
2754 animItem.addEventListener("_active", addPlayingCount);
2755 animItem.addEventListener("_idle", subtractPlayingCount);
2756 registeredAnimations.push({
2757 elem: element,
2758 animation: animItem
2759 });
2760 len += 1;
2761 }
2762 function loadAnimation(params) {
2763 var animItem = new AnimationItem();
2764 setupAnimation(animItem, null);
2765 animItem.setParams(params);
2766 return animItem;
2767 }
2768 function setSpeed(val, animation) {
2769 var i;
2770 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.setSpeed(val, animation);
2771 }
2772 function setDirection(val, animation) {
2773 var i;
2774 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.setDirection(val, animation);
2775 }
2776 function play(animation) {
2777 var i;
2778 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.play(animation);
2779 }
2780 function resume(nowTime) {
2781 var elapsedTime = nowTime - initTime;
2782 var i;
2783 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.advanceTime(elapsedTime);
2784 initTime = nowTime;
2785 if (playingAnimationsNum && !_isFrozen) window.requestAnimationFrame(resume);
2786 else _stopped = true;
2787 }
2788 function first(nowTime) {
2789 initTime = nowTime;
2790 window.requestAnimationFrame(resume);
2791 }
2792 function pause(animation) {
2793 var i;
2794 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.pause(animation);
2795 }
2796 function goToAndStop(value, isFrame, animation) {
2797 var i;
2798 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);
2799 }
2800 function stop(animation) {
2801 var i;
2802 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.stop(animation);
2803 }
2804 function togglePause(animation) {
2805 var i;
2806 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.togglePause(animation);
2807 }
2808 function destroy(animation) {
2809 var i;
2810 for (i = len - 1; i >= 0; i -= 1) registeredAnimations[i].animation.destroy(animation);
2811 }
2812 function searchAnimations(animationData, standalone, renderer) {
2813 var animElements = [].concat([].slice.call(document.getElementsByClassName("lottie")), [].slice.call(document.getElementsByClassName("bodymovin")));
2814 var i;
2815 var lenAnims = animElements.length;
2816 for (i = 0; i < lenAnims; i += 1) {
2817 if (renderer) animElements[i].setAttribute("data-bm-type", renderer);
2818 registerAnimation(animElements[i], animationData);
2819 }
2820 if (standalone && lenAnims === 0) {
2821 if (!renderer) renderer = "svg";
2822 var body = document.getElementsByTagName("body")[0];
2823 body.innerText = "";
2824 var div = createTag("div");
2825 div.style.width = "100%";
2826 div.style.height = "100%";
2827 div.setAttribute("data-bm-type", renderer);
2828 body.appendChild(div);
2829 registerAnimation(div, animationData);
2830 }
2831 }
2832 function resize() {
2833 var i;
2834 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.resize();
2835 }
2836 function activate() {
2837 if (!_isFrozen && playingAnimationsNum) {
2838 if (_stopped) {
2839 window.requestAnimationFrame(first);
2840 _stopped = false;
2841 }
2842 }
2843 }
2844 function freeze() {
2845 _isFrozen = true;
2846 }
2847 function unfreeze() {
2848 _isFrozen = false;
2849 activate();
2850 }
2851 function setVolume(val, animation) {
2852 var i;
2853 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.setVolume(val, animation);
2854 }
2855 function mute(animation) {
2856 var i;
2857 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.mute(animation);
2858 }
2859 function unmute(animation) {
2860 var i;
2861 for (i = 0; i < len; i += 1) registeredAnimations[i].animation.unmute(animation);
2862 }
2863 moduleOb.registerAnimation = registerAnimation;
2864 moduleOb.loadAnimation = loadAnimation;
2865 moduleOb.setSpeed = setSpeed;
2866 moduleOb.setDirection = setDirection;
2867 moduleOb.play = play;
2868 moduleOb.pause = pause;
2869 moduleOb.stop = stop;
2870 moduleOb.togglePause = togglePause;
2871 moduleOb.searchAnimations = searchAnimations;
2872 moduleOb.resize = resize;
2873 moduleOb.goToAndStop = goToAndStop;
2874 moduleOb.destroy = destroy;
2875 moduleOb.freeze = freeze;
2876 moduleOb.unfreeze = unfreeze;
2877 moduleOb.setVolume = setVolume;
2878 moduleOb.mute = mute;
2879 moduleOb.unmute = unmute;
2880 moduleOb.getRegisteredAnimations = getRegisteredAnimations;
2881 return moduleOb;
2882 }();
2883 var BezierFactory = function() {
2884 /**
2885 * BezierEasing - use bezier curve for transition easing function
2886 * by Gaëtan Renaudeau 2014 - 2015 – MIT License
2887 *
2888 * Credits: is based on Firefox's nsSMILKeySpline.cpp
2889 * Usage:
2890 * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])
2891 * spline.get(x) => returns the easing value | x must be in [0, 1] range
2892 *
2893 */
2894 var ob = {};
2895 ob.getBezierEasing = getBezierEasing;
2896 var beziers = {};
2897 function getBezierEasing(a, b, c, d, nm) {
2898 var str = nm || ("bez_" + a + "_" + b + "_" + c + "_" + d).replace(/\./g, "p");
2899 if (beziers[str]) return beziers[str];
2900 var bezEasing = new BezierEasing([
2901 a,
2902 b,
2903 c,
2904 d
2905 ]);
2906 beziers[str] = bezEasing;
2907 return bezEasing;
2908 }
2909 var NEWTON_ITERATIONS = 4;
2910 var NEWTON_MIN_SLOPE = .001;
2911 var SUBDIVISION_PRECISION = 1e-7;
2912 var SUBDIVISION_MAX_ITERATIONS = 10;
2913 var kSplineTableSize = 11;
2914 var kSampleStepSize = 1 / (kSplineTableSize - 1);
2915 var float32ArraySupported = typeof Float32Array === "function";
2916 function A(aA1, aA2) {
2917 return 1 - 3 * aA2 + 3 * aA1;
2918 }
2919 function B(aA1, aA2) {
2920 return 3 * aA2 - 6 * aA1;
2921 }
2922 function C(aA1) {
2923 return 3 * aA1;
2924 }
2925 function calcBezier(aT, aA1, aA2) {
2926 return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;
2927 }
2928 function getSlope(aT, aA1, aA2) {
2929 return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);
2930 }
2931 function binarySubdivide(aX, aA, aB, mX1, mX2) {
2932 var currentX;
2933 var currentT;
2934 var i = 0;
2935 do {
2936 currentT = aA + (aB - aA) / 2;
2937 currentX = calcBezier(currentT, mX1, mX2) - aX;
2938 if (currentX > 0) aB = currentT;
2939 else aA = currentT;
2940 } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);
2941 return currentT;
2942 }
2943 function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {
2944 for (var i = 0; i < NEWTON_ITERATIONS; ++i) {
2945 var currentSlope = getSlope(aGuessT, mX1, mX2);
2946 if (currentSlope === 0) return aGuessT;
2947 var currentX = calcBezier(aGuessT, mX1, mX2) - aX;
2948 aGuessT -= currentX / currentSlope;
2949 }
2950 return aGuessT;
2951 }
2952 /**
2953 * points is an array of [ mX1, mY1, mX2, mY2 ]
2954 */
2955 function BezierEasing(points) {
2956 this._p = points;
2957 this._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);
2958 this._precomputed = false;
2959 this.get = this.get.bind(this);
2960 }
2961 BezierEasing.prototype = {
2962 get: function get(x) {
2963 var mX1 = this._p[0];
2964 var mY1 = this._p[1];
2965 var mX2 = this._p[2];
2966 var mY2 = this._p[3];
2967 if (!this._precomputed) this._precompute();
2968 if (mX1 === mY1 && mX2 === mY2) return x;
2969 if (x === 0) return 0;
2970 if (x === 1) return 1;
2971 return calcBezier(this._getTForX(x), mY1, mY2);
2972 },
2973 _precompute: function _precompute() {
2974 var mX1 = this._p[0];
2975 var mY1 = this._p[1];
2976 var mX2 = this._p[2];
2977 var mY2 = this._p[3];
2978 this._precomputed = true;
2979 if (mX1 !== mY1 || mX2 !== mY2) this._calcSampleValues();
2980 },
2981 _calcSampleValues: function _calcSampleValues() {
2982 var mX1 = this._p[0];
2983 var mX2 = this._p[2];
2984 for (var i = 0; i < kSplineTableSize; ++i) this._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);
2985 },
2986 /**
2987 * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.
2988 */
2989 _getTForX: function _getTForX(aX) {
2990 var mX1 = this._p[0];
2991 var mX2 = this._p[2];
2992 var mSampleValues = this._mSampleValues;
2993 var intervalStart = 0;
2994 var currentSample = 1;
2995 var lastSample = kSplineTableSize - 1;
2996 for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) intervalStart += kSampleStepSize;
2997 --currentSample;
2998 var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);
2999 var guessForT = intervalStart + dist * kSampleStepSize;
3000 var initialSlope = getSlope(guessForT, mX1, mX2);
3001 if (initialSlope >= NEWTON_MIN_SLOPE) return newtonRaphsonIterate(aX, guessForT, mX1, mX2);
3002 if (initialSlope === 0) return guessForT;
3003 return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);
3004 }
3005 };
3006 return ob;
3007 }();
3008 var pooling = function() {
3009 function _double(arr) {
3010 return arr.concat(createSizedArray(arr.length));
3011 }
3012 return { "double": _double };
3013 }();
3014 var poolFactory = function() {
3015 return function(initialLength, _create, _release) {
3016 var _length = 0;
3017 var _maxLength = initialLength;
3018 var pool = createSizedArray(_maxLength);
3019 var ob = {
3020 newElement,
3021 release
3022 };
3023 function newElement() {
3024 var element;
3025 if (_length) {
3026 _length -= 1;
3027 element = pool[_length];
3028 } else element = _create();
3029 return element;
3030 }
3031 function release(element) {
3032 if (_length === _maxLength) {
3033 pool = pooling["double"](pool);
3034 _maxLength *= 2;
3035 }
3036 if (_release) _release(element);
3037 pool[_length] = element;
3038 _length += 1;
3039 }
3040 return ob;
3041 };
3042 }();
3043 var bezierLengthPool = function() {
3044 function create() {
3045 return {
3046 addedLength: 0,
3047 percents: createTypedArray("float32", getDefaultCurveSegments()),
3048 lengths: createTypedArray("float32", getDefaultCurveSegments())
3049 };
3050 }
3051 return poolFactory(8, create);
3052 }();
3053 var segmentsLengthPool = function() {
3054 function create() {
3055 return {
3056 lengths: [],
3057 totalLength: 0
3058 };
3059 }
3060 function release(element) {
3061 var i;
3062 var len = element.lengths.length;
3063 for (i = 0; i < len; i += 1) bezierLengthPool.release(element.lengths[i]);
3064 element.lengths.length = 0;
3065 }
3066 return poolFactory(8, create, release);
3067 }();
3068 function bezFunction() {
3069 var math = Math;
3070 function pointOnLine2D(x1, y1, x2, y2, x3, y3) {
3071 var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;
3072 return det1 > -.001 && det1 < .001;
3073 }
3074 function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {
3075 if (z1 === 0 && z2 === 0 && z3 === 0) return pointOnLine2D(x1, y1, x2, y2, x3, y3);
3076 var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));
3077 var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));
3078 var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));
3079 var diffDist;
3080 if (dist1 > dist2) if (dist1 > dist3) diffDist = dist1 - dist2 - dist3;
3081 else diffDist = dist3 - dist2 - dist1;
3082 else if (dist3 > dist2) diffDist = dist3 - dist2 - dist1;
3083 else diffDist = dist2 - dist1 - dist3;
3084 return diffDist > -1e-4 && diffDist < 1e-4;
3085 }
3086 var getBezierLength = function() {
3087 return function(pt1, pt2, pt3, pt4) {
3088 var curveSegments = getDefaultCurveSegments();
3089 var k;
3090 var i;
3091 var len;
3092 var ptCoord;
3093 var perc;
3094 var addedLength = 0;
3095 var ptDistance;
3096 var point = [];
3097 var lastPoint = [];
3098 var lengthData = bezierLengthPool.newElement();
3099 len = pt3.length;
3100 for (k = 0; k < curveSegments; k += 1) {
3101 perc = k / (curveSegments - 1);
3102 ptDistance = 0;
3103 for (i = 0; i < len; i += 1) {
3104 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];
3105 point[i] = ptCoord;
3106 if (lastPoint[i] !== null) ptDistance += bmPow(point[i] - lastPoint[i], 2);
3107 lastPoint[i] = point[i];
3108 }
3109 if (ptDistance) {
3110 ptDistance = bmSqrt(ptDistance);
3111 addedLength += ptDistance;
3112 }
3113 lengthData.percents[k] = perc;
3114 lengthData.lengths[k] = addedLength;
3115 }
3116 lengthData.addedLength = addedLength;
3117 return lengthData;
3118 };
3119 }();
3120 function getSegmentsLength(shapeData) {
3121 var segmentsLength = segmentsLengthPool.newElement();
3122 var closed = shapeData.c;
3123 var pathV = shapeData.v;
3124 var pathO = shapeData.o;
3125 var pathI = shapeData.i;
3126 var i;
3127 var len = shapeData._length;
3128 var lengths = segmentsLength.lengths;
3129 var totalLength = 0;
3130 for (i = 0; i < len - 1; i += 1) {
3131 lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);
3132 totalLength += lengths[i].addedLength;
3133 }
3134 if (closed && len) {
3135 lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);
3136 totalLength += lengths[i].addedLength;
3137 }
3138 segmentsLength.totalLength = totalLength;
3139 return segmentsLength;
3140 }
3141 function BezierData(length) {
3142 this.segmentLength = 0;
3143 this.points = new Array(length);
3144 }
3145 function PointData(partial, point) {
3146 this.partialLength = partial;
3147 this.point = point;
3148 }
3149 var buildBezierData = function() {
3150 var storedData = {};
3151 return function(pt1, pt2, pt3, pt4) {
3152 var bezierName = (pt1[0] + "_" + pt1[1] + "_" + pt2[0] + "_" + pt2[1] + "_" + pt3[0] + "_" + pt3[1] + "_" + pt4[0] + "_" + pt4[1]).replace(/\./g, "p");
3153 if (!storedData[bezierName]) {
3154 var curveSegments = getDefaultCurveSegments();
3155 var k;
3156 var i;
3157 var len;
3158 var ptCoord;
3159 var perc;
3160 var addedLength = 0;
3161 var ptDistance;
3162 var point;
3163 var lastPoint = null;
3164 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])) curveSegments = 2;
3165 var bezierData = new BezierData(curveSegments);
3166 len = pt3.length;
3167 for (k = 0; k < curveSegments; k += 1) {
3168 point = createSizedArray(len);
3169 perc = k / (curveSegments - 1);
3170 ptDistance = 0;
3171 for (i = 0; i < len; i += 1) {
3172 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];
3173 point[i] = ptCoord;
3174 if (lastPoint !== null) ptDistance += bmPow(point[i] - lastPoint[i], 2);
3175 }
3176 ptDistance = bmSqrt(ptDistance);
3177 addedLength += ptDistance;
3178 bezierData.points[k] = new PointData(ptDistance, point);
3179 lastPoint = point;
3180 }
3181 bezierData.segmentLength = addedLength;
3182 storedData[bezierName] = bezierData;
3183 }
3184 return storedData[bezierName];
3185 };
3186 }();
3187 function getDistancePerc(perc, bezierData) {
3188 var percents = bezierData.percents;
3189 var lengths = bezierData.lengths;
3190 var len = percents.length;
3191 var initPos = bmFloor((len - 1) * perc);
3192 var lengthPos = perc * bezierData.addedLength;
3193 var lPerc = 0;
3194 if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) return percents[initPos];
3195 var dir = lengths[initPos] > lengthPos ? -1 : 1;
3196 var flag = true;
3197 while (flag) {
3198 if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {
3199 lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);
3200 flag = false;
3201 } else initPos += dir;
3202 if (initPos < 0 || initPos >= len - 1) {
3203 if (initPos === len - 1) return percents[initPos];
3204 flag = false;
3205 }
3206 }
3207 return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;
3208 }
3209 function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {
3210 var t1 = getDistancePerc(percent, bezierData);
3211 var u1 = 1 - t1;
3212 return [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]) * 1e3) / 1e3, 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]) * 1e3) / 1e3];
3213 }
3214 var bezierSegmentPoints = createTypedArray("float32", 8);
3215 function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {
3216 if (startPerc < 0) startPerc = 0;
3217 else if (startPerc > 1) startPerc = 1;
3218 var t0 = getDistancePerc(startPerc, bezierData);
3219 endPerc = endPerc > 1 ? 1 : endPerc;
3220 var t1 = getDistancePerc(endPerc, bezierData);
3221 var i;
3222 var len = pt1.length;
3223 var u0 = 1 - t0;
3224 var u1 = 1 - t1;
3225 var u0u0u0 = u0 * u0 * u0;
3226 var t0u0u0_3 = t0 * u0 * u0 * 3;
3227 var t0t0u0_3 = t0 * t0 * u0 * 3;
3228 var t0t0t0 = t0 * t0 * t0;
3229 var u0u0u1 = u0 * u0 * u1;
3230 var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1;
3231 var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1;
3232 var t0t0t1 = t0 * t0 * t1;
3233 var u0u1u1 = u0 * u1 * u1;
3234 var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1;
3235 var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1;
3236 var t0t1t1 = t0 * t1 * t1;
3237 var u1u1u1 = u1 * u1 * u1;
3238 var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1;
3239 var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1;
3240 var t1t1t1 = t1 * t1 * t1;
3241 for (i = 0; i < len; i += 1) {
3242 bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1e3) / 1e3;
3243 bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1e3) / 1e3;
3244 bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1e3) / 1e3;
3245 bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1e3) / 1e3;
3246 }
3247 return bezierSegmentPoints;
3248 }
3249 return {
3250 getSegmentsLength,
3251 getNewSegment,
3252 getPointInSegment,
3253 buildBezierData,
3254 pointOnLine2D,
3255 pointOnLine3D
3256 };
3257 }
3258 var bez = bezFunction();
3259 var initFrame = initialDefaultFrame;
3260 var mathAbs = Math.abs;
3261 function interpolateValue(frameNum, caching) {
3262 var offsetTime = this.offsetTime;
3263 var newValue;
3264 if (this.propType === "multidimensional") newValue = createTypedArray("float32", this.pv.length);
3265 var iterationIndex = caching.lastIndex;
3266 var i = iterationIndex;
3267 var len = this.keyframes.length - 1;
3268 var flag = true;
3269 var keyData;
3270 var nextKeyData;
3271 var keyframeMetadata;
3272 while (flag) {
3273 keyData = this.keyframes[i];
3274 nextKeyData = this.keyframes[i + 1];
3275 if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {
3276 if (keyData.h) keyData = nextKeyData;
3277 iterationIndex = 0;
3278 break;
3279 }
3280 if (nextKeyData.t - offsetTime > frameNum) {
3281 iterationIndex = i;
3282 break;
3283 }
3284 if (i < len - 1) i += 1;
3285 else {
3286 iterationIndex = 0;
3287 flag = false;
3288 }
3289 }
3290 keyframeMetadata = this.keyframesMetadata[i] || {};
3291 var k;
3292 var kLen;
3293 var perc;
3294 var jLen;
3295 var j;
3296 var fnc;
3297 var nextKeyTime = nextKeyData.t - offsetTime;
3298 var keyTime = keyData.t - offsetTime;
3299 var endValue;
3300 if (keyData.to) {
3301 if (!keyframeMetadata.bezierData) keyframeMetadata.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);
3302 var bezierData = keyframeMetadata.bezierData;
3303 if (frameNum >= nextKeyTime || frameNum < keyTime) {
3304 var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;
3305 kLen = bezierData.points[ind].point.length;
3306 for (k = 0; k < kLen; k += 1) newValue[k] = bezierData.points[ind].point[k];
3307 } else {
3308 if (keyframeMetadata.__fnct) fnc = keyframeMetadata.__fnct;
3309 else {
3310 fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;
3311 keyframeMetadata.__fnct = fnc;
3312 }
3313 perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));
3314 var distanceInLine = bezierData.segmentLength * perc;
3315 var segmentPerc;
3316 var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;
3317 j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;
3318 flag = true;
3319 jLen = bezierData.points.length;
3320 while (flag) {
3321 addedLength += bezierData.points[j].partialLength;
3322 if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {
3323 kLen = bezierData.points[j].point.length;
3324 for (k = 0; k < kLen; k += 1) newValue[k] = bezierData.points[j].point[k];
3325 break;
3326 } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {
3327 segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;
3328 kLen = bezierData.points[j].point.length;
3329 for (k = 0; k < kLen; k += 1) newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;
3330 break;
3331 }
3332 if (j < jLen - 1) j += 1;
3333 else flag = false;
3334 }
3335 caching._lastPoint = j;
3336 caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;
3337 caching._lastKeyframeIndex = i;
3338 }
3339 } else {
3340 var outX;
3341 var outY;
3342 var inX;
3343 var inY;
3344 var keyValue;
3345 len = keyData.s.length;
3346 endValue = nextKeyData.s || keyData.e;
3347 if (this.sh && keyData.h !== 1) if (frameNum >= nextKeyTime) {
3348 newValue[0] = endValue[0];
3349 newValue[1] = endValue[1];
3350 newValue[2] = endValue[2];
3351 } else if (frameNum <= keyTime) {
3352 newValue[0] = keyData.s[0];
3353 newValue[1] = keyData.s[1];
3354 newValue[2] = keyData.s[2];
3355 } else {
3356 var quatStart = createQuaternion(keyData.s);
3357 var quatEnd = createQuaternion(endValue);
3358 var time = (frameNum - keyTime) / (nextKeyTime - keyTime);
3359 quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));
3360 }
3361 else for (i = 0; i < len; i += 1) {
3362 if (keyData.h !== 1) if (frameNum >= nextKeyTime) perc = 1;
3363 else if (frameNum < keyTime) perc = 0;
3364 else {
3365 if (keyData.o.x.constructor === Array) {
3366 if (!keyframeMetadata.__fnct) keyframeMetadata.__fnct = [];
3367 if (!keyframeMetadata.__fnct[i]) {
3368 outX = keyData.o.x[i] === void 0 ? keyData.o.x[0] : keyData.o.x[i];
3369 outY = keyData.o.y[i] === void 0 ? keyData.o.y[0] : keyData.o.y[i];
3370 inX = keyData.i.x[i] === void 0 ? keyData.i.x[0] : keyData.i.x[i];
3371 inY = keyData.i.y[i] === void 0 ? keyData.i.y[0] : keyData.i.y[i];
3372 fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;
3373 keyframeMetadata.__fnct[i] = fnc;
3374 } else fnc = keyframeMetadata.__fnct[i];
3375 } else if (!keyframeMetadata.__fnct) {
3376 outX = keyData.o.x;
3377 outY = keyData.o.y;
3378 inX = keyData.i.x;
3379 inY = keyData.i.y;
3380 fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;
3381 keyData.keyframeMetadata = fnc;
3382 } else fnc = keyframeMetadata.__fnct;
3383 perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));
3384 }
3385 endValue = nextKeyData.s || keyData.e;
3386 keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;
3387 if (this.propType === "multidimensional") newValue[i] = keyValue;
3388 else newValue = keyValue;
3389 }
3390 }
3391 caching.lastIndex = iterationIndex;
3392 return newValue;
3393 }
3394 function slerp(a, b, t) {
3395 var out = [];
3396 var ax = a[0];
3397 var ay = a[1];
3398 var az = a[2];
3399 var aw = a[3];
3400 var bx = b[0];
3401 var by = b[1];
3402 var bz = b[2];
3403 var bw = b[3];
3404 var omega;
3405 var cosom;
3406 var sinom;
3407 var scale0;
3408 var scale1;
3409 cosom = ax * bx + ay * by + az * bz + aw * bw;
3410 if (cosom < 0) {
3411 cosom = -cosom;
3412 bx = -bx;
3413 by = -by;
3414 bz = -bz;
3415 bw = -bw;
3416 }
3417 if (1 - cosom > 1e-6) {
3418 omega = Math.acos(cosom);
3419 sinom = Math.sin(omega);
3420 scale0 = Math.sin((1 - t) * omega) / sinom;
3421 scale1 = Math.sin(t * omega) / sinom;
3422 } else {
3423 scale0 = 1 - t;
3424 scale1 = t;
3425 }
3426 out[0] = scale0 * ax + scale1 * bx;
3427 out[1] = scale0 * ay + scale1 * by;
3428 out[2] = scale0 * az + scale1 * bz;
3429 out[3] = scale0 * aw + scale1 * bw;
3430 return out;
3431 }
3432 function quaternionToEuler(out, quat) {
3433 var qx = quat[0];
3434 var qy = quat[1];
3435 var qz = quat[2];
3436 var qw = quat[3];
3437 var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);
3438 var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);
3439 var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);
3440 out[0] = heading / degToRads;
3441 out[1] = attitude / degToRads;
3442 out[2] = bank / degToRads;
3443 }
3444 function createQuaternion(values) {
3445 var heading = values[0] * degToRads;
3446 var attitude = values[1] * degToRads;
3447 var bank = values[2] * degToRads;
3448 var c1 = Math.cos(heading / 2);
3449 var c2 = Math.cos(attitude / 2);
3450 var c3 = Math.cos(bank / 2);
3451 var s1 = Math.sin(heading / 2);
3452 var s2 = Math.sin(attitude / 2);
3453 var s3 = Math.sin(bank / 2);
3454 var w = c1 * c2 * c3 - s1 * s2 * s3;
3455 return [
3456 s1 * s2 * c3 + c1 * c2 * s3,
3457 s1 * c2 * c3 + c1 * s2 * s3,
3458 c1 * s2 * c3 - s1 * c2 * s3,
3459 w
3460 ];
3461 }
3462 function getValueAtCurrentTime() {
3463 var frameNum = this.comp.renderedFrame - this.offsetTime;
3464 var initTime = this.keyframes[0].t - this.offsetTime;
3465 var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
3466 if (!(frameNum === this._caching.lastFrame || this._caching.lastFrame !== initFrame && (this._caching.lastFrame >= endTime && frameNum >= endTime || this._caching.lastFrame < initTime && frameNum < initTime))) {
3467 if (this._caching.lastFrame >= frameNum) {
3468 this._caching._lastKeyframeIndex = -1;
3469 this._caching.lastIndex = 0;
3470 }
3471 var renderResult = this.interpolateValue(frameNum, this._caching);
3472 this.pv = renderResult;
3473 }
3474 this._caching.lastFrame = frameNum;
3475 return this.pv;
3476 }
3477 function setVValue(val) {
3478 var multipliedValue;
3479 if (this.propType === "unidimensional") {
3480 multipliedValue = val * this.mult;
3481 if (mathAbs(this.v - multipliedValue) > 1e-5) {
3482 this.v = multipliedValue;
3483 this._mdf = true;
3484 }
3485 } else {
3486 var i = 0;
3487 var len = this.v.length;
3488 while (i < len) {
3489 multipliedValue = val[i] * this.mult;
3490 if (mathAbs(this.v[i] - multipliedValue) > 1e-5) {
3491 this.v[i] = multipliedValue;
3492 this._mdf = true;
3493 }
3494 i += 1;
3495 }
3496 }
3497 }
3498 function processEffectsSequence() {
3499 if (this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) return;
3500 if (this.lock) {
3501 this.setVValue(this.pv);
3502 return;
3503 }
3504 this.lock = true;
3505 this._mdf = this._isFirstFrame;
3506 var i;
3507 var len = this.effectsSequence.length;
3508 var finalValue = this.kf ? this.pv : this.data.k;
3509 for (i = 0; i < len; i += 1) finalValue = this.effectsSequence[i](finalValue);
3510 this.setVValue(finalValue);
3511 this._isFirstFrame = false;
3512 this.lock = false;
3513 this.frameId = this.elem.globalData.frameId;
3514 }
3515 function addEffect(effectFunction) {
3516 this.effectsSequence.push(effectFunction);
3517 this.container.addDynamicProperty(this);
3518 }
3519 function ValueProperty(elem, data, mult, container) {
3520 this.propType = "unidimensional";
3521 this.mult = mult || 1;
3522 this.data = data;
3523 this.v = mult ? data.k * mult : data.k;
3524 this.pv = data.k;
3525 this._mdf = false;
3526 this.elem = elem;
3527 this.container = container;
3528 this.comp = elem.comp;
3529 this.k = false;
3530 this.kf = false;
3531 this.vel = 0;
3532 this.effectsSequence = [];
3533 this._isFirstFrame = true;
3534 this.getValue = processEffectsSequence;
3535 this.setVValue = setVValue;
3536 this.addEffect = addEffect;
3537 }
3538 function MultiDimensionalProperty(elem, data, mult, container) {
3539 this.propType = "multidimensional";
3540 this.mult = mult || 1;
3541 this.data = data;
3542 this._mdf = false;
3543 this.elem = elem;
3544 this.container = container;
3545 this.comp = elem.comp;
3546 this.k = false;
3547 this.kf = false;
3548 this.frameId = -1;
3549 var i;
3550 var len = data.k.length;
3551 this.v = createTypedArray("float32", len);
3552 this.pv = createTypedArray("float32", len);
3553 this.vel = createTypedArray("float32", len);
3554 for (i = 0; i < len; i += 1) {
3555 this.v[i] = data.k[i] * this.mult;
3556 this.pv[i] = data.k[i];
3557 }
3558 this._isFirstFrame = true;
3559 this.effectsSequence = [];
3560 this.getValue = processEffectsSequence;
3561 this.setVValue = setVValue;
3562 this.addEffect = addEffect;
3563 }
3564 function KeyframedValueProperty(elem, data, mult, container) {
3565 this.propType = "unidimensional";
3566 this.keyframes = data.k;
3567 this.keyframesMetadata = [];
3568 this.offsetTime = elem.data.st;
3569 this.frameId = -1;
3570 this._caching = {
3571 lastFrame: initFrame,
3572 lastIndex: 0,
3573 value: 0,
3574 _lastKeyframeIndex: -1
3575 };
3576 this.k = true;
3577 this.kf = true;
3578 this.data = data;
3579 this.mult = mult || 1;
3580 this.elem = elem;
3581 this.container = container;
3582 this.comp = elem.comp;
3583 this.v = initFrame;
3584 this.pv = initFrame;
3585 this._isFirstFrame = true;
3586 this.getValue = processEffectsSequence;
3587 this.setVValue = setVValue;
3588 this.interpolateValue = interpolateValue;
3589 this.effectsSequence = [getValueAtCurrentTime.bind(this)];
3590 this.addEffect = addEffect;
3591 }
3592 function KeyframedMultidimensionalProperty(elem, data, mult, container) {
3593 this.propType = "multidimensional";
3594 var i;
3595 var len = data.k.length;
3596 var s;
3597 var e;
3598 var to;
3599 var ti;
3600 for (i = 0; i < len - 1; i += 1) if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {
3601 s = data.k[i].s;
3602 e = data.k[i + 1].s;
3603 to = data.k[i].to;
3604 ti = data.k[i].ti;
3605 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])) {
3606 data.k[i].to = null;
3607 data.k[i].ti = null;
3608 }
3609 if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {
3610 if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {
3611 data.k[i].to = null;
3612 data.k[i].ti = null;
3613 }
3614 }
3615 }
3616 this.effectsSequence = [getValueAtCurrentTime.bind(this)];
3617 this.data = data;
3618 this.keyframes = data.k;
3619 this.keyframesMetadata = [];
3620 this.offsetTime = elem.data.st;
3621 this.k = true;
3622 this.kf = true;
3623 this._isFirstFrame = true;
3624 this.mult = mult || 1;
3625 this.elem = elem;
3626 this.container = container;
3627 this.comp = elem.comp;
3628 this.getValue = processEffectsSequence;
3629 this.setVValue = setVValue;
3630 this.interpolateValue = interpolateValue;
3631 this.frameId = -1;
3632 var arrLen = data.k[0].s.length;
3633 this.v = createTypedArray("float32", arrLen);
3634 this.pv = createTypedArray("float32", arrLen);
3635 for (i = 0; i < arrLen; i += 1) {
3636 this.v[i] = initFrame;
3637 this.pv[i] = initFrame;
3638 }
3639 this._caching = {
3640 lastFrame: initFrame,
3641 lastIndex: 0,
3642 value: createTypedArray("float32", arrLen)
3643 };
3644 this.addEffect = addEffect;
3645 }
3646 var PropertyFactory = function() {
3647 function getProp(elem, data, type, mult, container) {
3648 if (data.sid) data = elem.globalData.slotManager.getProp(data);
3649 var p;
3650 if (!data.k.length) p = new ValueProperty(elem, data, mult, container);
3651 else if (typeof data.k[0] === "number") p = new MultiDimensionalProperty(elem, data, mult, container);
3652 else switch (type) {
3653 case 0:
3654 p = new KeyframedValueProperty(elem, data, mult, container);
3655 break;
3656 case 1:
3657 p = new KeyframedMultidimensionalProperty(elem, data, mult, container);
3658 break;
3659 default: break;
3660 }
3661 if (p.effectsSequence.length) container.addDynamicProperty(p);
3662 return p;
3663 }
3664 return { getProp };
3665 }();
3666 function DynamicPropertyContainer() {}
3667 DynamicPropertyContainer.prototype = {
3668 addDynamicProperty: function addDynamicProperty(prop) {
3669 if (this.dynamicProperties.indexOf(prop) === -1) {
3670 this.dynamicProperties.push(prop);
3671 this.container.addDynamicProperty(this);
3672 this._isAnimated = true;
3673 }
3674 },
3675 iterateDynamicProperties: function iterateDynamicProperties() {
3676 this._mdf = false;
3677 var i;
3678 var len = this.dynamicProperties.length;
3679 for (i = 0; i < len; i += 1) {
3680 this.dynamicProperties[i].getValue();
3681 if (this.dynamicProperties[i]._mdf) this._mdf = true;
3682 }
3683 },
3684 initDynamicPropertyContainer: function initDynamicPropertyContainer(container) {
3685 this.container = container;
3686 this.dynamicProperties = [];
3687 this._mdf = false;
3688 this._isAnimated = false;
3689 }
3690 };
3691 var pointPool = function() {
3692 function create() {
3693 return createTypedArray("float32", 2);
3694 }
3695 return poolFactory(8, create);
3696 }();
3697 function ShapePath() {
3698 this.c = false;
3699 this._length = 0;
3700 this._maxLength = 8;
3701 this.v = createSizedArray(this._maxLength);
3702 this.o = createSizedArray(this._maxLength);
3703 this.i = createSizedArray(this._maxLength);
3704 }
3705 ShapePath.prototype.setPathData = function(closed, len) {
3706 this.c = closed;
3707 this.setLength(len);
3708 var i = 0;
3709 while (i < len) {
3710 this.v[i] = pointPool.newElement();
3711 this.o[i] = pointPool.newElement();
3712 this.i[i] = pointPool.newElement();
3713 i += 1;
3714 }
3715 };
3716 ShapePath.prototype.setLength = function(len) {
3717 while (this._maxLength < len) this.doubleArrayLength();
3718 this._length = len;
3719 };
3720 ShapePath.prototype.doubleArrayLength = function() {
3721 this.v = this.v.concat(createSizedArray(this._maxLength));
3722 this.i = this.i.concat(createSizedArray(this._maxLength));
3723 this.o = this.o.concat(createSizedArray(this._maxLength));
3724 this._maxLength *= 2;
3725 };
3726 ShapePath.prototype.setXYAt = function(x, y, type, pos, replace) {
3727 var arr;
3728 this._length = Math.max(this._length, pos + 1);
3729 if (this._length >= this._maxLength) this.doubleArrayLength();
3730 switch (type) {
3731 case "v":
3732 arr = this.v;
3733 break;
3734 case "i":
3735 arr = this.i;
3736 break;
3737 case "o":
3738 arr = this.o;
3739 break;
3740 default:
3741 arr = [];
3742 break;
3743 }
3744 if (!arr[pos] || arr[pos] && !replace) arr[pos] = pointPool.newElement();
3745 arr[pos][0] = x;
3746 arr[pos][1] = y;
3747 };
3748 ShapePath.prototype.setTripleAt = function(vX, vY, oX, oY, iX, iY, pos, replace) {
3749 this.setXYAt(vX, vY, "v", pos, replace);
3750 this.setXYAt(oX, oY, "o", pos, replace);
3751 this.setXYAt(iX, iY, "i", pos, replace);
3752 };
3753 ShapePath.prototype.reverse = function() {
3754 var newPath = new ShapePath();
3755 newPath.setPathData(this.c, this._length);
3756 var vertices = this.v;
3757 var outPoints = this.o;
3758 var inPoints = this.i;
3759 var init = 0;
3760 if (this.c) {
3761 newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);
3762 init = 1;
3763 }
3764 var cnt = this._length - 1;
3765 var len = this._length;
3766 var i;
3767 for (i = init; i < len; i += 1) {
3768 newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);
3769 cnt -= 1;
3770 }
3771 return newPath;
3772 };
3773 ShapePath.prototype.length = function() {
3774 return this._length;
3775 };
3776 var shapePool = function() {
3777 function create() {
3778 return new ShapePath();
3779 }
3780 function release(shapePath) {
3781 var len = shapePath._length;
3782 var i;
3783 for (i = 0; i < len; i += 1) {
3784 pointPool.release(shapePath.v[i]);
3785 pointPool.release(shapePath.i[i]);
3786 pointPool.release(shapePath.o[i]);
3787 shapePath.v[i] = null;
3788 shapePath.i[i] = null;
3789 shapePath.o[i] = null;
3790 }
3791 shapePath._length = 0;
3792 shapePath.c = false;
3793 }
3794 function clone(shape) {
3795 var cloned = factory.newElement();
3796 var i;
3797 var len = shape._length === void 0 ? shape.v.length : shape._length;
3798 cloned.setLength(len);
3799 cloned.c = shape.c;
3800 for (i = 0; i < len; i += 1) 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);
3801 return cloned;
3802 }
3803 var factory = poolFactory(4, create, release);
3804 factory.clone = clone;
3805 return factory;
3806 }();
3807 function ShapeCollection() {
3808 this._length = 0;
3809 this._maxLength = 4;
3810 this.shapes = createSizedArray(this._maxLength);
3811 }
3812 ShapeCollection.prototype.addShape = function(shapeData) {
3813 if (this._length === this._maxLength) {
3814 this.shapes = this.shapes.concat(createSizedArray(this._maxLength));
3815 this._maxLength *= 2;
3816 }
3817 this.shapes[this._length] = shapeData;
3818 this._length += 1;
3819 };
3820 ShapeCollection.prototype.releaseShapes = function() {
3821 var i;
3822 for (i = 0; i < this._length; i += 1) shapePool.release(this.shapes[i]);
3823 this._length = 0;
3824 };
3825 var shapeCollectionPool = function() {
3826 var ob = {
3827 newShapeCollection,
3828 release
3829 };
3830 var _length = 0;
3831 var _maxLength = 4;
3832 var pool = createSizedArray(_maxLength);
3833 function newShapeCollection() {
3834 var shapeCollection;
3835 if (_length) {
3836 _length -= 1;
3837 shapeCollection = pool[_length];
3838 } else shapeCollection = new ShapeCollection();
3839 return shapeCollection;
3840 }
3841 function release(shapeCollection) {
3842 var i;
3843 var len = shapeCollection._length;
3844 for (i = 0; i < len; i += 1) shapePool.release(shapeCollection.shapes[i]);
3845 shapeCollection._length = 0;
3846 if (_length === _maxLength) {
3847 pool = pooling["double"](pool);
3848 _maxLength *= 2;
3849 }
3850 pool[_length] = shapeCollection;
3851 _length += 1;
3852 }
3853 return ob;
3854 }();
3855 var ShapePropertyFactory = function() {
3856 var initFrame = -999999;
3857 function interpolateShape(frameNum, previousValue, caching) {
3858 var iterationIndex = caching.lastIndex;
3859 var keyPropS;
3860 var keyPropE;
3861 var isHold;
3862 var j;
3863 var k;
3864 var jLen;
3865 var kLen;
3866 var perc;
3867 var vertexValue;
3868 var kf = this.keyframes;
3869 if (frameNum < kf[0].t - this.offsetTime) {
3870 keyPropS = kf[0].s[0];
3871 isHold = true;
3872 iterationIndex = 0;
3873 } else if (frameNum >= kf[kf.length - 1].t - this.offsetTime) {
3874 keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];
3875 isHold = true;
3876 } else {
3877 var i = iterationIndex;
3878 var len = kf.length - 1;
3879 var flag = true;
3880 var keyData;
3881 var nextKeyData;
3882 var keyframeMetadata;
3883 while (flag) {
3884 keyData = kf[i];
3885 nextKeyData = kf[i + 1];
3886 if (nextKeyData.t - this.offsetTime > frameNum) break;
3887 if (i < len - 1) i += 1;
3888 else flag = false;
3889 }
3890 keyframeMetadata = this.keyframesMetadata[i] || {};
3891 isHold = keyData.h === 1;
3892 iterationIndex = i;
3893 if (!isHold) {
3894 if (frameNum >= nextKeyData.t - this.offsetTime) perc = 1;
3895 else if (frameNum < keyData.t - this.offsetTime) perc = 0;
3896 else {
3897 var fnc;
3898 if (keyframeMetadata.__fnct) fnc = keyframeMetadata.__fnct;
3899 else {
3900 fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;
3901 keyframeMetadata.__fnct = fnc;
3902 }
3903 perc = fnc((frameNum - (keyData.t - this.offsetTime)) / (nextKeyData.t - this.offsetTime - (keyData.t - this.offsetTime)));
3904 }
3905 keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];
3906 }
3907 keyPropS = keyData.s[0];
3908 }
3909 jLen = previousValue._length;
3910 kLen = keyPropS.i[0].length;
3911 caching.lastIndex = iterationIndex;
3912 for (j = 0; j < jLen; j += 1) for (k = 0; k < kLen; k += 1) {
3913 vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;
3914 previousValue.i[j][k] = vertexValue;
3915 vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;
3916 previousValue.o[j][k] = vertexValue;
3917 vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;
3918 previousValue.v[j][k] = vertexValue;
3919 }
3920 }
3921 function interpolateShapeCurrentTime() {
3922 var frameNum = this.comp.renderedFrame - this.offsetTime;
3923 var initTime = this.keyframes[0].t - this.offsetTime;
3924 var endTime = this.keyframes[this.keyframes.length - 1].t - this.offsetTime;
3925 var lastFrame = this._caching.lastFrame;
3926 if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {
3927 this._caching.lastIndex = lastFrame < frameNum ? this._caching.lastIndex : 0;
3928 this.interpolateShape(frameNum, this.pv, this._caching);
3929 }
3930 this._caching.lastFrame = frameNum;
3931 return this.pv;
3932 }
3933 function resetShape() {
3934 this.paths = this.localShapeCollection;
3935 }
3936 function shapesEqual(shape1, shape2) {
3937 if (shape1._length !== shape2._length || shape1.c !== shape2.c) return false;
3938 var i;
3939 var len = shape1._length;
3940 for (i = 0; i < len; i += 1) 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]) return false;
3941 return true;
3942 }
3943 function setVValue(newPath) {
3944 if (!shapesEqual(this.v, newPath)) {
3945 this.v = shapePool.clone(newPath);
3946 this.localShapeCollection.releaseShapes();
3947 this.localShapeCollection.addShape(this.v);
3948 this._mdf = true;
3949 this.paths = this.localShapeCollection;
3950 }
3951 }
3952 function processEffectsSequence() {
3953 if (this.elem.globalData.frameId === this.frameId) return;
3954 if (!this.effectsSequence.length) {
3955 this._mdf = false;
3956 return;
3957 }
3958 if (this.lock) {
3959 this.setVValue(this.pv);
3960 return;
3961 }
3962 this.lock = true;
3963 this._mdf = false;
3964 var finalValue;
3965 if (this.kf) finalValue = this.pv;
3966 else if (this.data.ks) finalValue = this.data.ks.k;
3967 else finalValue = this.data.pt.k;
3968 var i;
3969 var len = this.effectsSequence.length;
3970 for (i = 0; i < len; i += 1) finalValue = this.effectsSequence[i](finalValue);
3971 this.setVValue(finalValue);
3972 this.lock = false;
3973 this.frameId = this.elem.globalData.frameId;
3974 }
3975 function ShapeProperty(elem, data, type) {
3976 this.propType = "shape";
3977 this.comp = elem.comp;
3978 this.container = elem;
3979 this.elem = elem;
3980 this.data = data;
3981 this.k = false;
3982 this.kf = false;
3983 this._mdf = false;
3984 var pathData = type === 3 ? data.pt.k : data.ks.k;
3985 this.v = shapePool.clone(pathData);
3986 this.pv = shapePool.clone(this.v);
3987 this.localShapeCollection = shapeCollectionPool.newShapeCollection();
3988 this.paths = this.localShapeCollection;
3989 this.paths.addShape(this.v);
3990 this.reset = resetShape;
3991 this.effectsSequence = [];
3992 }
3993 function addEffect(effectFunction) {
3994 this.effectsSequence.push(effectFunction);
3995 this.container.addDynamicProperty(this);
3996 }
3997 ShapeProperty.prototype.interpolateShape = interpolateShape;
3998 ShapeProperty.prototype.getValue = processEffectsSequence;
3999 ShapeProperty.prototype.setVValue = setVValue;
4000 ShapeProperty.prototype.addEffect = addEffect;
4001 function KeyframedShapeProperty(elem, data, type) {
4002 this.propType = "shape";
4003 this.comp = elem.comp;
4004 this.elem = elem;
4005 this.container = elem;
4006 this.offsetTime = elem.data.st;
4007 this.keyframes = type === 3 ? data.pt.k : data.ks.k;
4008 this.keyframesMetadata = [];
4009 this.k = true;
4010 this.kf = true;
4011 var len = this.keyframes[0].s[0].i.length;
4012 this.v = shapePool.newElement();
4013 this.v.setPathData(this.keyframes[0].s[0].c, len);
4014 this.pv = shapePool.clone(this.v);
4015 this.localShapeCollection = shapeCollectionPool.newShapeCollection();
4016 this.paths = this.localShapeCollection;
4017 this.paths.addShape(this.v);
4018 this.lastFrame = initFrame;
4019 this.reset = resetShape;
4020 this._caching = {
4021 lastFrame: initFrame,
4022 lastIndex: 0
4023 };
4024 this.effectsSequence = [interpolateShapeCurrentTime.bind(this)];
4025 }
4026 KeyframedShapeProperty.prototype.getValue = processEffectsSequence;
4027 KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;
4028 KeyframedShapeProperty.prototype.setVValue = setVValue;
4029 KeyframedShapeProperty.prototype.addEffect = addEffect;
4030 var EllShapeProperty = function() {
4031 var cPoint = roundCorner;
4032 function EllShapePropertyFactory(elem, data) {
4033 this.v = shapePool.newElement();
4034 this.v.setPathData(true, 4);
4035 this.localShapeCollection = shapeCollectionPool.newShapeCollection();
4036 this.paths = this.localShapeCollection;
4037 this.localShapeCollection.addShape(this.v);
4038 this.d = data.d;
4039 this.elem = elem;
4040 this.comp = elem.comp;
4041 this.frameId = -1;
4042 this.initDynamicPropertyContainer(elem);
4043 this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);
4044 this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);
4045 if (this.dynamicProperties.length) this.k = true;
4046 else {
4047 this.k = false;
4048 this.convertEllToPath();
4049 }
4050 }
4051 EllShapePropertyFactory.prototype = {
4052 reset: resetShape,
4053 getValue: function getValue() {
4054 if (this.elem.globalData.frameId === this.frameId) return;
4055 this.frameId = this.elem.globalData.frameId;
4056 this.iterateDynamicProperties();
4057 if (this._mdf) this.convertEllToPath();
4058 },
4059 convertEllToPath: function convertEllToPath() {
4060 var p0 = this.p.v[0];
4061 var p1 = this.p.v[1];
4062 var s0 = this.s.v[0] / 2;
4063 var s1 = this.s.v[1] / 2;
4064 var _cw = this.d !== 3;
4065 var _v = this.v;
4066 _v.v[0][0] = p0;
4067 _v.v[0][1] = p1 - s1;
4068 _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;
4069 _v.v[1][1] = p1;
4070 _v.v[2][0] = p0;
4071 _v.v[2][1] = p1 + s1;
4072 _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;
4073 _v.v[3][1] = p1;
4074 _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;
4075 _v.i[0][1] = p1 - s1;
4076 _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;
4077 _v.i[1][1] = p1 - s1 * cPoint;
4078 _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;
4079 _v.i[2][1] = p1 + s1;
4080 _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;
4081 _v.i[3][1] = p1 + s1 * cPoint;
4082 _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;
4083 _v.o[0][1] = p1 - s1;
4084 _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;
4085 _v.o[1][1] = p1 + s1 * cPoint;
4086 _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;
4087 _v.o[2][1] = p1 + s1;
4088 _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;
4089 _v.o[3][1] = p1 - s1 * cPoint;
4090 }
4091 };
4092 extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);
4093 return EllShapePropertyFactory;
4094 }();
4095 var StarShapeProperty = function() {
4096 function StarShapePropertyFactory(elem, data) {
4097 this.v = shapePool.newElement();
4098 this.v.setPathData(true, 0);
4099 this.elem = elem;
4100 this.comp = elem.comp;
4101 this.data = data;
4102 this.frameId = -1;
4103 this.d = data.d;
4104 this.initDynamicPropertyContainer(elem);
4105 if (data.sy === 1) {
4106 this.ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this);
4107 this.is = PropertyFactory.getProp(elem, data.is, 0, .01, this);
4108 this.convertToPath = this.convertStarToPath;
4109 } else this.convertToPath = this.convertPolygonToPath;
4110 this.pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this);
4111 this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);
4112 this.r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this);
4113 this.or = PropertyFactory.getProp(elem, data.or, 0, 0, this);
4114 this.os = PropertyFactory.getProp(elem, data.os, 0, .01, this);
4115 this.localShapeCollection = shapeCollectionPool.newShapeCollection();
4116 this.localShapeCollection.addShape(this.v);
4117 this.paths = this.localShapeCollection;
4118 if (this.dynamicProperties.length) this.k = true;
4119 else {
4120 this.k = false;
4121 this.convertToPath();
4122 }
4123 }
4124 StarShapePropertyFactory.prototype = {
4125 reset: resetShape,
4126 getValue: function getValue() {
4127 if (this.elem.globalData.frameId === this.frameId) return;
4128 this.frameId = this.elem.globalData.frameId;
4129 this.iterateDynamicProperties();
4130 if (this._mdf) this.convertToPath();
4131 },
4132 convertStarToPath: function convertStarToPath() {
4133 var numPts = Math.floor(this.pt.v) * 2;
4134 var angle = Math.PI * 2 / numPts;
4135 var longFlag = true;
4136 var longRad = this.or.v;
4137 var shortRad = this.ir.v;
4138 var longRound = this.os.v;
4139 var shortRound = this.is.v;
4140 var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);
4141 var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);
4142 var i;
4143 var rad;
4144 var roundness;
4145 var perimSegment;
4146 var currentAng = -Math.PI / 2;
4147 currentAng += this.r.v;
4148 var dir = this.data.d === 3 ? -1 : 1;
4149 this.v._length = 0;
4150 for (i = 0; i < numPts; i += 1) {
4151 rad = longFlag ? longRad : shortRad;
4152 roundness = longFlag ? longRound : shortRound;
4153 perimSegment = longFlag ? longPerimSegment : shortPerimSegment;
4154 var x = rad * Math.cos(currentAng);
4155 var y = rad * Math.sin(currentAng);
4156 var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);
4157 var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);
4158 x += +this.p.v[0];
4159 y += +this.p.v[1];
4160 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);
4161 longFlag = !longFlag;
4162 currentAng += angle * dir;
4163 }
4164 },
4165 convertPolygonToPath: function convertPolygonToPath() {
4166 var numPts = Math.floor(this.pt.v);
4167 var angle = Math.PI * 2 / numPts;
4168 var rad = this.or.v;
4169 var roundness = this.os.v;
4170 var perimSegment = 2 * Math.PI * rad / (numPts * 4);
4171 var i;
4172 var currentAng = -Math.PI * .5;
4173 var dir = this.data.d === 3 ? -1 : 1;
4174 currentAng += this.r.v;
4175 this.v._length = 0;
4176 for (i = 0; i < numPts; i += 1) {
4177 var x = rad * Math.cos(currentAng);
4178 var y = rad * Math.sin(currentAng);
4179 var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);
4180 var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);
4181 x += +this.p.v[0];
4182 y += +this.p.v[1];
4183 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);
4184 currentAng += angle * dir;
4185 }
4186 this.paths.length = 0;
4187 this.paths[0] = this.v;
4188 }
4189 };
4190 extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);
4191 return StarShapePropertyFactory;
4192 }();
4193 var RectShapeProperty = function() {
4194 function RectShapePropertyFactory(elem, data) {
4195 this.v = shapePool.newElement();
4196 this.v.c = true;
4197 this.localShapeCollection = shapeCollectionPool.newShapeCollection();
4198 this.localShapeCollection.addShape(this.v);
4199 this.paths = this.localShapeCollection;
4200 this.elem = elem;
4201 this.comp = elem.comp;
4202 this.frameId = -1;
4203 this.d = data.d;
4204 this.initDynamicPropertyContainer(elem);
4205 this.p = PropertyFactory.getProp(elem, data.p, 1, 0, this);
4206 this.s = PropertyFactory.getProp(elem, data.s, 1, 0, this);
4207 this.r = PropertyFactory.getProp(elem, data.r, 0, 0, this);
4208 if (this.dynamicProperties.length) this.k = true;
4209 else {
4210 this.k = false;
4211 this.convertRectToPath();
4212 }
4213 }
4214 RectShapePropertyFactory.prototype = {
4215 convertRectToPath: function convertRectToPath() {
4216 var p0 = this.p.v[0];
4217 var p1 = this.p.v[1];
4218 var v0 = this.s.v[0] / 2;
4219 var v1 = this.s.v[1] / 2;
4220 var round = bmMin(v0, v1, this.r.v);
4221 var cPoint = round * (1 - roundCorner);
4222 this.v._length = 0;
4223 if (this.d === 2 || this.d === 1) {
4224 this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);
4225 this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);
4226 if (round !== 0) {
4227 this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);
4228 this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);
4229 this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);
4230 this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);
4231 this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);
4232 this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);
4233 } else {
4234 this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);
4235 this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);
4236 }
4237 } else {
4238 this.v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);
4239 if (round !== 0) {
4240 this.v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);
4241 this.v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);
4242 this.v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);
4243 this.v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);
4244 this.v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);
4245 this.v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);
4246 this.v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);
4247 } else {
4248 this.v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);
4249 this.v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);
4250 this.v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);
4251 }
4252 }
4253 },
4254 getValue: function getValue() {
4255 if (this.elem.globalData.frameId === this.frameId) return;
4256 this.frameId = this.elem.globalData.frameId;
4257 this.iterateDynamicProperties();
4258 if (this._mdf) this.convertRectToPath();
4259 },
4260 reset: resetShape
4261 };
4262 extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);
4263 return RectShapePropertyFactory;
4264 }();
4265 function getShapeProp(elem, data, type) {
4266 var prop;
4267 if (type === 3 || type === 4) if ((type === 3 ? data.pt : data.ks).k.length) prop = new KeyframedShapeProperty(elem, data, type);
4268 else prop = new ShapeProperty(elem, data, type);
4269 else if (type === 5) prop = new RectShapeProperty(elem, data);
4270 else if (type === 6) prop = new EllShapeProperty(elem, data);
4271 else if (type === 7) prop = new StarShapeProperty(elem, data);
4272 if (prop.k) elem.addDynamicProperty(prop);
4273 return prop;
4274 }
4275 function getConstructorFunction() {
4276 return ShapeProperty;
4277 }
4278 function getKeyframedConstructorFunction() {
4279 return KeyframedShapeProperty;
4280 }
4281 var ob = {};
4282 ob.getShapeProp = getShapeProp;
4283 ob.getConstructorFunction = getConstructorFunction;
4284 ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;
4285 return ob;
4286 }();
4287 /*!
4288 Transformation Matrix v2.0
4289 (c) Epistemex 2014-2015
4290 www.epistemex.com
4291 By Ken Fyrstenberg
4292 Contributions by leeoniya.
4293 License: MIT, header required.
4294 */
4295 /**
4296 * 2D transformation matrix object initialized with identity matrix.
4297 *
4298 * The matrix can synchronize a canvas context by supplying the context
4299 * as an argument, or later apply current absolute transform to an
4300 * existing context.
4301 *
4302 * All values are handled as floating point values.
4303 *
4304 * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix
4305 * @prop {number} a - scale x
4306 * @prop {number} b - shear y
4307 * @prop {number} c - shear x
4308 * @prop {number} d - scale y
4309 * @prop {number} e - translate x
4310 * @prop {number} f - translate y
4311 * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context
4312 * @constructor
4313 */
4314 var Matrix = function() {
4315 var _cos = Math.cos;
4316 var _sin = Math.sin;
4317 var _tan = Math.tan;
4318 var _rnd = Math.round;
4319 function reset() {
4320 this.props[0] = 1;
4321 this.props[1] = 0;
4322 this.props[2] = 0;
4323 this.props[3] = 0;
4324 this.props[4] = 0;
4325 this.props[5] = 1;
4326 this.props[6] = 0;
4327 this.props[7] = 0;
4328 this.props[8] = 0;
4329 this.props[9] = 0;
4330 this.props[10] = 1;
4331 this.props[11] = 0;
4332 this.props[12] = 0;
4333 this.props[13] = 0;
4334 this.props[14] = 0;
4335 this.props[15] = 1;
4336 return this;
4337 }
4338 function rotate(angle) {
4339 if (angle === 0) return this;
4340 var mCos = _cos(angle);
4341 var mSin = _sin(angle);
4342 return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
4343 }
4344 function rotateX(angle) {
4345 if (angle === 0) return this;
4346 var mCos = _cos(angle);
4347 var mSin = _sin(angle);
4348 return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);
4349 }
4350 function rotateY(angle) {
4351 if (angle === 0) return this;
4352 var mCos = _cos(angle);
4353 var mSin = _sin(angle);
4354 return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);
4355 }
4356 function rotateZ(angle) {
4357 if (angle === 0) return this;
4358 var mCos = _cos(angle);
4359 var mSin = _sin(angle);
4360 return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
4361 }
4362 function shear(sx, sy) {
4363 return this._t(1, sy, sx, 1, 0, 0);
4364 }
4365 function skew(ax, ay) {
4366 return this.shear(_tan(ax), _tan(ay));
4367 }
4368 function skewFromAxis(ax, angle) {
4369 var mCos = _cos(angle);
4370 var mSin = _sin(angle);
4371 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);
4372 }
4373 function scale(sx, sy, sz) {
4374 if (!sz && sz !== 0) sz = 1;
4375 if (sx === 1 && sy === 1 && sz === 1) return this;
4376 return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);
4377 }
4378 function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {
4379 this.props[0] = a;
4380 this.props[1] = b;
4381 this.props[2] = c;
4382 this.props[3] = d;
4383 this.props[4] = e;
4384 this.props[5] = f;
4385 this.props[6] = g;
4386 this.props[7] = h;
4387 this.props[8] = i;
4388 this.props[9] = j;
4389 this.props[10] = k;
4390 this.props[11] = l;
4391 this.props[12] = m;
4392 this.props[13] = n;
4393 this.props[14] = o;
4394 this.props[15] = p;
4395 return this;
4396 }
4397 function translate(tx, ty, tz) {
4398 tz = tz || 0;
4399 if (tx !== 0 || ty !== 0 || tz !== 0) return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);
4400 return this;
4401 }
4402 function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {
4403 var _p = this.props;
4404 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) {
4405 _p[12] = _p[12] * a2 + _p[15] * m2;
4406 _p[13] = _p[13] * f2 + _p[15] * n2;
4407 _p[14] = _p[14] * k2 + _p[15] * o2;
4408 _p[15] *= p2;
4409 this._identityCalculated = false;
4410 return this;
4411 }
4412 var a1 = _p[0];
4413 var b1 = _p[1];
4414 var c1 = _p[2];
4415 var d1 = _p[3];
4416 var e1 = _p[4];
4417 var f1 = _p[5];
4418 var g1 = _p[6];
4419 var h1 = _p[7];
4420 var i1 = _p[8];
4421 var j1 = _p[9];
4422 var k1 = _p[10];
4423 var l1 = _p[11];
4424 var m1 = _p[12];
4425 var n1 = _p[13];
4426 var o1 = _p[14];
4427 var p1 = _p[15];
4428 _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;
4429 _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;
4430 _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;
4431 _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;
4432 _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;
4433 _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;
4434 _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;
4435 _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;
4436 _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;
4437 _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;
4438 _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;
4439 _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;
4440 _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;
4441 _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;
4442 _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;
4443 _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;
4444 this._identityCalculated = false;
4445 return this;
4446 }
4447 function multiply(matrix) {
4448 var matrixProps = matrix.props;
4449 return this.transform(matrixProps[0], matrixProps[1], matrixProps[2], matrixProps[3], matrixProps[4], matrixProps[5], matrixProps[6], matrixProps[7], matrixProps[8], matrixProps[9], matrixProps[10], matrixProps[11], matrixProps[12], matrixProps[13], matrixProps[14], matrixProps[15]);
4450 }
4451 function isIdentity() {
4452 if (!this._identityCalculated) {
4453 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);
4454 this._identityCalculated = true;
4455 }
4456 return this._identity;
4457 }
4458 function equals(matr) {
4459 var i = 0;
4460 while (i < 16) {
4461 if (matr.props[i] !== this.props[i]) return false;
4462 i += 1;
4463 }
4464 return true;
4465 }
4466 function clone(matr) {
4467 var i;
4468 for (i = 0; i < 16; i += 1) matr.props[i] = this.props[i];
4469 return matr;
4470 }
4471 function cloneFromProps(props) {
4472 var i;
4473 for (i = 0; i < 16; i += 1) this.props[i] = props[i];
4474 }
4475 function applyToPoint(x, y, z) {
4476 return {
4477 x: x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],
4478 y: x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],
4479 z: x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]
4480 };
4481 }
4482 function applyToX(x, y, z) {
4483 return x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12];
4484 }
4485 function applyToY(x, y, z) {
4486 return x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13];
4487 }
4488 function applyToZ(x, y, z) {
4489 return x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14];
4490 }
4491 function getInverseMatrix() {
4492 var determinant = this.props[0] * this.props[5] - this.props[1] * this.props[4];
4493 var a = this.props[5] / determinant;
4494 var b = -this.props[1] / determinant;
4495 var c = -this.props[4] / determinant;
4496 var d = this.props[0] / determinant;
4497 var e = (this.props[4] * this.props[13] - this.props[5] * this.props[12]) / determinant;
4498 var f = -(this.props[0] * this.props[13] - this.props[1] * this.props[12]) / determinant;
4499 var inverseMatrix = new Matrix();
4500 inverseMatrix.props[0] = a;
4501 inverseMatrix.props[1] = b;
4502 inverseMatrix.props[4] = c;
4503 inverseMatrix.props[5] = d;
4504 inverseMatrix.props[12] = e;
4505 inverseMatrix.props[13] = f;
4506 return inverseMatrix;
4507 }
4508 function inversePoint(pt) {
4509 return this.getInverseMatrix().applyToPointArray(pt[0], pt[1], pt[2] || 0);
4510 }
4511 function inversePoints(pts) {
4512 var i;
4513 var len = pts.length;
4514 var retPts = [];
4515 for (i = 0; i < len; i += 1) retPts[i] = inversePoint(pts[i]);
4516 return retPts;
4517 }
4518 function applyToTriplePoints(pt1, pt2, pt3) {
4519 var arr = createTypedArray("float32", 6);
4520 if (this.isIdentity()) {
4521 arr[0] = pt1[0];
4522 arr[1] = pt1[1];
4523 arr[2] = pt2[0];
4524 arr[3] = pt2[1];
4525 arr[4] = pt3[0];
4526 arr[5] = pt3[1];
4527 } else {
4528 var p0 = this.props[0];
4529 var p1 = this.props[1];
4530 var p4 = this.props[4];
4531 var p5 = this.props[5];
4532 var p12 = this.props[12];
4533 var p13 = this.props[13];
4534 arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;
4535 arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;
4536 arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;
4537 arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;
4538 arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;
4539 arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;
4540 }
4541 return arr;
4542 }
4543 function applyToPointArray(x, y, z) {
4544 var arr;
4545 if (this.isIdentity()) arr = [
4546 x,
4547 y,
4548 z
4549 ];
4550 else arr = [
4551 x * this.props[0] + y * this.props[4] + z * this.props[8] + this.props[12],
4552 x * this.props[1] + y * this.props[5] + z * this.props[9] + this.props[13],
4553 x * this.props[2] + y * this.props[6] + z * this.props[10] + this.props[14]
4554 ];
4555 return arr;
4556 }
4557 function applyToPointStringified(x, y) {
4558 if (this.isIdentity()) return x + "," + y;
4559 var _p = this.props;
4560 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;
4561 }
4562 function toCSS() {
4563 var i = 0;
4564 var props = this.props;
4565 var cssValue = "matrix3d(";
4566 var v = 1e4;
4567 while (i < 16) {
4568 cssValue += _rnd(props[i] * v) / v;
4569 cssValue += i === 15 ? ")" : ",";
4570 i += 1;
4571 }
4572 return cssValue;
4573 }
4574 function roundMatrixProperty(val) {
4575 var v = 1e4;
4576 if (val < 1e-6 && val > 0 || val > -1e-6 && val < 0) return _rnd(val * v) / v;
4577 return val;
4578 }
4579 function to2dCSS() {
4580 var props = this.props;
4581 var _a = roundMatrixProperty(props[0]);
4582 var _b = roundMatrixProperty(props[1]);
4583 var _c = roundMatrixProperty(props[4]);
4584 var _d = roundMatrixProperty(props[5]);
4585 var _e = roundMatrixProperty(props[12]);
4586 var _f = roundMatrixProperty(props[13]);
4587 return "matrix(" + _a + "," + _b + "," + _c + "," + _d + "," + _e + "," + _f + ")";
4588 }
4589 return function() {
4590 this.reset = reset;
4591 this.rotate = rotate;
4592 this.rotateX = rotateX;
4593 this.rotateY = rotateY;
4594 this.rotateZ = rotateZ;
4595 this.skew = skew;
4596 this.skewFromAxis = skewFromAxis;
4597 this.shear = shear;
4598 this.scale = scale;
4599 this.setTransform = setTransform;
4600 this.translate = translate;
4601 this.transform = transform;
4602 this.multiply = multiply;
4603 this.applyToPoint = applyToPoint;
4604 this.applyToX = applyToX;
4605 this.applyToY = applyToY;
4606 this.applyToZ = applyToZ;
4607 this.applyToPointArray = applyToPointArray;
4608 this.applyToTriplePoints = applyToTriplePoints;
4609 this.applyToPointStringified = applyToPointStringified;
4610 this.toCSS = toCSS;
4611 this.to2dCSS = to2dCSS;
4612 this.clone = clone;
4613 this.cloneFromProps = cloneFromProps;
4614 this.equals = equals;
4615 this.inversePoints = inversePoints;
4616 this.inversePoint = inversePoint;
4617 this.getInverseMatrix = getInverseMatrix;
4618 this._t = this.transform;
4619 this.isIdentity = isIdentity;
4620 this._identity = true;
4621 this._identityCalculated = false;
4622 this.props = createTypedArray("float32", 16);
4623 this.reset();
4624 };
4625 }();
4626 function _typeof$3(o) {
4627 "@babel/helpers - typeof";
4628 return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
4629 return typeof o;
4630 } : function(o) {
4631 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
4632 }, _typeof$3(o);
4633 }
4634 var lottie = {};
4635 var standalone = "__[STANDALONE]__";
4636 var animationData = "__[ANIMATIONDATA]__";
4637 var renderer = "";
4638 function setLocation(href) {
4639 setLocationHref(href);
4640 }
4641 function searchAnimations() {
4642 if (standalone === true) animationManager.searchAnimations(animationData, standalone, renderer);
4643 else animationManager.searchAnimations();
4644 }
4645 function setSubframeRendering(flag) {
4646 setSubframeEnabled(flag);
4647 }
4648 function setPrefix(prefix) {
4649 setIdPrefix(prefix);
4650 }
4651 function loadAnimation(params) {
4652 if (standalone === true) params.animationData = JSON.parse(animationData);
4653 return animationManager.loadAnimation(params);
4654 }
4655 function setQuality(value) {
4656 if (typeof value === "string") switch (value) {
4657 case "high":
4658 setDefaultCurveSegments(200);
4659 break;
4660 default:
4661 case "medium":
4662 setDefaultCurveSegments(50);
4663 break;
4664 case "low":
4665 setDefaultCurveSegments(10);
4666 break;
4667 }
4668 else if (!isNaN(value) && value > 1) setDefaultCurveSegments(value);
4669 if (getDefaultCurveSegments() >= 50) roundValues(false);
4670 else roundValues(true);
4671 }
4672 function inBrowser() {
4673 return typeof navigator !== "undefined";
4674 }
4675 function installPlugin(type, plugin) {
4676 if (type === "expressions") setExpressionsPlugin(plugin);
4677 }
4678 function getFactory(name) {
4679 switch (name) {
4680 case "propertyFactory": return PropertyFactory;
4681 case "shapePropertyFactory": return ShapePropertyFactory;
4682 case "matrix": return Matrix;
4683 default: return null;
4684 }
4685 }
4686 lottie.play = animationManager.play;
4687 lottie.pause = animationManager.pause;
4688 lottie.setLocationHref = setLocation;
4689 lottie.togglePause = animationManager.togglePause;
4690 lottie.setSpeed = animationManager.setSpeed;
4691 lottie.setDirection = animationManager.setDirection;
4692 lottie.stop = animationManager.stop;
4693 lottie.searchAnimations = searchAnimations;
4694 lottie.registerAnimation = animationManager.registerAnimation;
4695 lottie.loadAnimation = loadAnimation;
4696 lottie.setSubframeRendering = setSubframeRendering;
4697 lottie.resize = animationManager.resize;
4698 lottie.goToAndStop = animationManager.goToAndStop;
4699 lottie.destroy = animationManager.destroy;
4700 lottie.setQuality = setQuality;
4701 lottie.inBrowser = inBrowser;
4702 lottie.installPlugin = installPlugin;
4703 lottie.freeze = animationManager.freeze;
4704 lottie.unfreeze = animationManager.unfreeze;
4705 lottie.setVolume = animationManager.setVolume;
4706 lottie.mute = animationManager.mute;
4707 lottie.unmute = animationManager.unmute;
4708 lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;
4709 lottie.useWebWorker = setWebWorker;
4710 lottie.setIDPrefix = setPrefix;
4711 lottie.__getFactory = getFactory;
4712 lottie.version = "5.13.0";
4713 function checkReady() {
4714 if (document.readyState === "complete") {
4715 clearInterval(readyStateCheckInterval);
4716 searchAnimations();
4717 }
4718 }
4719 function getQueryVariable(variable) {
4720 var vars = queryString.split("&");
4721 for (var i = 0; i < vars.length; i += 1) {
4722 var pair = vars[i].split("=");
4723 if (decodeURIComponent(pair[0]) == variable) return decodeURIComponent(pair[1]);
4724 }
4725 return null;
4726 }
4727 var queryString = "";
4728 if (standalone) {
4729 var scripts = document.getElementsByTagName("script");
4730 var myScript = scripts[scripts.length - 1] || { src: "" };
4731 queryString = myScript.src ? myScript.src.replace(/^[^\?]+\??/, "") : "";
4732 renderer = getQueryVariable("renderer");
4733 }
4734 var readyStateCheckInterval = setInterval(checkReady, 100);
4735 try {
4736 if (!((typeof exports === "undefined" ? "undefined" : _typeof$3(exports)) === "object" && typeof module !== "undefined") && !(typeof define === "function" && define.amd)) window.bodymovin = lottie;
4737 } catch (err) {}
4738 var ShapeModifiers = function() {
4739 var ob = {};
4740 var modifiers = {};
4741 ob.registerModifier = registerModifier;
4742 ob.getModifier = getModifier;
4743 function registerModifier(nm, factory) {
4744 if (!modifiers[nm]) modifiers[nm] = factory;
4745 }
4746 function getModifier(nm, elem, data) {
4747 return new modifiers[nm](elem, data);
4748 }
4749 return ob;
4750 }();
4751 function ShapeModifier() {}
4752 ShapeModifier.prototype.initModifierProperties = function() {};
4753 ShapeModifier.prototype.addShapeToModifier = function() {};
4754 ShapeModifier.prototype.addShape = function(data) {
4755 if (!this.closed) {
4756 data.sh.container.addDynamicProperty(data.sh);
4757 var shapeData = {
4758 shape: data.sh,
4759 data,
4760 localShapeCollection: shapeCollectionPool.newShapeCollection()
4761 };
4762 this.shapes.push(shapeData);
4763 this.addShapeToModifier(shapeData);
4764 if (this._isAnimated) data.setAsAnimated();
4765 }
4766 };
4767 ShapeModifier.prototype.init = function(elem, data) {
4768 this.shapes = [];
4769 this.elem = elem;
4770 this.initDynamicPropertyContainer(elem);
4771 this.initModifierProperties(elem, data);
4772 this.frameId = initialDefaultFrame;
4773 this.closed = false;
4774 this.k = false;
4775 if (this.dynamicProperties.length) this.k = true;
4776 else this.getValue(true);
4777 };
4778 ShapeModifier.prototype.processKeys = function() {
4779 if (this.elem.globalData.frameId === this.frameId) return;
4780 this.frameId = this.elem.globalData.frameId;
4781 this.iterateDynamicProperties();
4782 };
4783 extendPrototype([DynamicPropertyContainer], ShapeModifier);
4784 function TrimModifier() {}
4785 extendPrototype([ShapeModifier], TrimModifier);
4786 TrimModifier.prototype.initModifierProperties = function(elem, data) {
4787 this.s = PropertyFactory.getProp(elem, data.s, 0, .01, this);
4788 this.e = PropertyFactory.getProp(elem, data.e, 0, .01, this);
4789 this.o = PropertyFactory.getProp(elem, data.o, 0, 0, this);
4790 this.sValue = 0;
4791 this.eValue = 0;
4792 this.getValue = this.processKeys;
4793 this.m = data.m;
4794 this._isAnimated = !!this.s.effectsSequence.length || !!this.e.effectsSequence.length || !!this.o.effectsSequence.length;
4795 };
4796 TrimModifier.prototype.addShapeToModifier = function(shapeData) {
4797 shapeData.pathsData = [];
4798 };
4799 TrimModifier.prototype.calculateShapeEdges = function(s, e, shapeLength, addedLength, totalModifierLength) {
4800 var segments = [];
4801 if (e <= 1) segments.push({
4802 s,
4803 e
4804 });
4805 else if (s >= 1) segments.push({
4806 s: s - 1,
4807 e: e - 1
4808 });
4809 else {
4810 segments.push({
4811 s,
4812 e: 1
4813 });
4814 segments.push({
4815 s: 0,
4816 e: e - 1
4817 });
4818 }
4819 var shapeSegments = [];
4820 var i;
4821 var len = segments.length;
4822 var segmentOb;
4823 for (i = 0; i < len; i += 1) {
4824 segmentOb = segments[i];
4825 if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {
4826 var shapeS;
4827 var shapeE;
4828 if (segmentOb.s * totalModifierLength <= addedLength) shapeS = 0;
4829 else shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;
4830 if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) shapeE = 1;
4831 else shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;
4832 shapeSegments.push([shapeS, shapeE]);
4833 }
4834 }
4835 if (!shapeSegments.length) shapeSegments.push([0, 0]);
4836 return shapeSegments;
4837 };
4838 TrimModifier.prototype.releasePathsData = function(pathsData) {
4839 var i;
4840 var len = pathsData.length;
4841 for (i = 0; i < len; i += 1) segmentsLengthPool.release(pathsData[i]);
4842 pathsData.length = 0;
4843 return pathsData;
4844 };
4845 TrimModifier.prototype.processShapes = function(_isFirstFrame) {
4846 var s;
4847 var e;
4848 if (this._mdf || _isFirstFrame) {
4849 var o = this.o.v % 360 / 360;
4850 if (o < 0) o += 1;
4851 if (this.s.v > 1) s = 1 + o;
4852 else if (this.s.v < 0) s = 0 + o;
4853 else s = this.s.v + o;
4854 if (this.e.v > 1) e = 1 + o;
4855 else if (this.e.v < 0) e = 0 + o;
4856 else e = this.e.v + o;
4857 if (s > e) {
4858 var _s = s;
4859 s = e;
4860 e = _s;
4861 }
4862 s = Math.round(s * 1e4) * 1e-4;
4863 e = Math.round(e * 1e4) * 1e-4;
4864 this.sValue = s;
4865 this.eValue = e;
4866 } else {
4867 s = this.sValue;
4868 e = this.eValue;
4869 }
4870 var shapePaths;
4871 var i;
4872 var len = this.shapes.length;
4873 var j;
4874 var jLen;
4875 var pathsData;
4876 var pathData;
4877 var totalShapeLength;
4878 var totalModifierLength = 0;
4879 if (e === s) for (i = 0; i < len; i += 1) {
4880 this.shapes[i].localShapeCollection.releaseShapes();
4881 this.shapes[i].shape._mdf = true;
4882 this.shapes[i].shape.paths = this.shapes[i].localShapeCollection;
4883 if (this._mdf) this.shapes[i].pathsData.length = 0;
4884 }
4885 else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {
4886 var segments = [];
4887 var shapeData;
4888 var localShapeCollection;
4889 for (i = 0; i < len; i += 1) {
4890 shapeData = this.shapes[i];
4891 if (!shapeData.shape._mdf && !this._mdf && !_isFirstFrame && this.m !== 2) shapeData.shape.paths = shapeData.localShapeCollection;
4892 else {
4893 shapePaths = shapeData.shape.paths;
4894 jLen = shapePaths._length;
4895 totalShapeLength = 0;
4896 if (!shapeData.shape._mdf && shapeData.pathsData.length) totalShapeLength = shapeData.totalShapeLength;
4897 else {
4898 pathsData = this.releasePathsData(shapeData.pathsData);
4899 for (j = 0; j < jLen; j += 1) {
4900 pathData = bez.getSegmentsLength(shapePaths.shapes[j]);
4901 pathsData.push(pathData);
4902 totalShapeLength += pathData.totalLength;
4903 }
4904 shapeData.totalShapeLength = totalShapeLength;
4905 shapeData.pathsData = pathsData;
4906 }
4907 totalModifierLength += totalShapeLength;
4908 shapeData.shape._mdf = true;
4909 }
4910 }
4911 var shapeS = s;
4912 var shapeE = e;
4913 var addedLength = 0;
4914 var edges;
4915 for (i = len - 1; i >= 0; i -= 1) {
4916 shapeData = this.shapes[i];
4917 if (shapeData.shape._mdf) {
4918 localShapeCollection = shapeData.localShapeCollection;
4919 localShapeCollection.releaseShapes();
4920 if (this.m === 2 && len > 1) {
4921 edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);
4922 addedLength += shapeData.totalShapeLength;
4923 } else edges = [[shapeS, shapeE]];
4924 jLen = edges.length;
4925 for (j = 0; j < jLen; j += 1) {
4926 shapeS = edges[j][0];
4927 shapeE = edges[j][1];
4928 segments.length = 0;
4929 if (shapeE <= 1) segments.push({
4930 s: shapeData.totalShapeLength * shapeS,
4931 e: shapeData.totalShapeLength * shapeE
4932 });
4933 else if (shapeS >= 1) segments.push({
4934 s: shapeData.totalShapeLength * (shapeS - 1),
4935 e: shapeData.totalShapeLength * (shapeE - 1)
4936 });
4937 else {
4938 segments.push({
4939 s: shapeData.totalShapeLength * shapeS,
4940 e: shapeData.totalShapeLength
4941 });
4942 segments.push({
4943 s: 0,
4944 e: shapeData.totalShapeLength * (shapeE - 1)
4945 });
4946 }
4947 var newShapesData = this.addShapes(shapeData, segments[0]);
4948 if (segments[0].s !== segments[0].e) {
4949 if (segments.length > 1) if (shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1].c) {
4950 var lastShape = newShapesData.pop();
4951 this.addPaths(newShapesData, localShapeCollection);
4952 newShapesData = this.addShapes(shapeData, segments[1], lastShape);
4953 } else {
4954 this.addPaths(newShapesData, localShapeCollection);
4955 newShapesData = this.addShapes(shapeData, segments[1]);
4956 }
4957 this.addPaths(newShapesData, localShapeCollection);
4958 }
4959 }
4960 shapeData.shape.paths = localShapeCollection;
4961 }
4962 }
4963 } else if (this._mdf) for (i = 0; i < len; i += 1) {
4964 this.shapes[i].pathsData.length = 0;
4965 this.shapes[i].shape._mdf = true;
4966 }
4967 };
4968 TrimModifier.prototype.addPaths = function(newPaths, localShapeCollection) {
4969 var i;
4970 var len = newPaths.length;
4971 for (i = 0; i < len; i += 1) localShapeCollection.addShape(newPaths[i]);
4972 };
4973 TrimModifier.prototype.addSegment = function(pt1, pt2, pt3, pt4, shapePath, pos, newShape) {
4974 shapePath.setXYAt(pt2[0], pt2[1], "o", pos);
4975 shapePath.setXYAt(pt3[0], pt3[1], "i", pos + 1);
4976 if (newShape) shapePath.setXYAt(pt1[0], pt1[1], "v", pos);
4977 shapePath.setXYAt(pt4[0], pt4[1], "v", pos + 1);
4978 };
4979 TrimModifier.prototype.addSegmentFromArray = function(points, shapePath, pos, newShape) {
4980 shapePath.setXYAt(points[1], points[5], "o", pos);
4981 shapePath.setXYAt(points[2], points[6], "i", pos + 1);
4982 if (newShape) shapePath.setXYAt(points[0], points[4], "v", pos);
4983 shapePath.setXYAt(points[3], points[7], "v", pos + 1);
4984 };
4985 TrimModifier.prototype.addShapes = function(shapeData, shapeSegment, shapePath) {
4986 var pathsData = shapeData.pathsData;
4987 var shapePaths = shapeData.shape.paths.shapes;
4988 var i;
4989 var len = shapeData.shape.paths._length;
4990 var j;
4991 var jLen;
4992 var addedLength = 0;
4993 var currentLengthData;
4994 var segmentCount;
4995 var lengths;
4996 var segment;
4997 var shapes = [];
4998 var initPos;
4999 var newShape = true;
5000 if (!shapePath) {
5001 shapePath = shapePool.newElement();
5002 segmentCount = 0;
5003 initPos = 0;
5004 } else {
5005 segmentCount = shapePath._length;
5006 initPos = shapePath._length;
5007 }
5008 shapes.push(shapePath);
5009 for (i = 0; i < len; i += 1) {
5010 lengths = pathsData[i].lengths;
5011 shapePath.c = shapePaths[i].c;
5012 jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;
5013 for (j = 1; j < jLen; j += 1) {
5014 currentLengthData = lengths[j - 1];
5015 if (addedLength + currentLengthData.addedLength < shapeSegment.s) {
5016 addedLength += currentLengthData.addedLength;
5017 shapePath.c = false;
5018 } else if (addedLength > shapeSegment.e) {
5019 shapePath.c = false;
5020 break;
5021 } else {
5022 if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {
5023 this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);
5024 newShape = false;
5025 } else {
5026 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]);
5027 this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);
5028 newShape = false;
5029 shapePath.c = false;
5030 }
5031 addedLength += currentLengthData.addedLength;
5032 segmentCount += 1;
5033 }
5034 }
5035 if (shapePaths[i].c && lengths.length) {
5036 currentLengthData = lengths[j - 1];
5037 if (addedLength <= shapeSegment.e) {
5038 var segmentLength = lengths[j - 1].addedLength;
5039 if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {
5040 this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);
5041 newShape = false;
5042 } else {
5043 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]);
5044 this.addSegmentFromArray(segment, shapePath, segmentCount, newShape);
5045 newShape = false;
5046 shapePath.c = false;
5047 }
5048 } else shapePath.c = false;
5049 addedLength += currentLengthData.addedLength;
5050 segmentCount += 1;
5051 }
5052 if (shapePath._length) {
5053 shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], "i", initPos);
5054 shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], "o", shapePath._length - 1);
5055 }
5056 if (addedLength > shapeSegment.e) break;
5057 if (i < len - 1) {
5058 shapePath = shapePool.newElement();
5059 newShape = true;
5060 shapes.push(shapePath);
5061 segmentCount = 0;
5062 }
5063 }
5064 return shapes;
5065 };
5066 function PuckerAndBloatModifier() {}
5067 extendPrototype([ShapeModifier], PuckerAndBloatModifier);
5068 PuckerAndBloatModifier.prototype.initModifierProperties = function(elem, data) {
5069 this.getValue = this.processKeys;
5070 this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);
5071 this._isAnimated = !!this.amount.effectsSequence.length;
5072 };
5073 PuckerAndBloatModifier.prototype.processPath = function(path, amount) {
5074 var percent = amount / 100;
5075 var centerPoint = [0, 0];
5076 var pathLength = path._length;
5077 var i = 0;
5078 for (i = 0; i < pathLength; i += 1) {
5079 centerPoint[0] += path.v[i][0];
5080 centerPoint[1] += path.v[i][1];
5081 }
5082 centerPoint[0] /= pathLength;
5083 centerPoint[1] /= pathLength;
5084 var clonedPath = shapePool.newElement();
5085 clonedPath.c = path.c;
5086 var vX;
5087 var vY;
5088 var oX;
5089 var oY;
5090 var iX;
5091 var iY;
5092 for (i = 0; i < pathLength; i += 1) {
5093 vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;
5094 vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;
5095 oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;
5096 oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;
5097 iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;
5098 iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;
5099 clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);
5100 }
5101 return clonedPath;
5102 };
5103 PuckerAndBloatModifier.prototype.processShapes = function(_isFirstFrame) {
5104 var shapePaths;
5105 var i;
5106 var len = this.shapes.length;
5107 var j;
5108 var jLen;
5109 var amount = this.amount.v;
5110 if (amount !== 0) {
5111 var shapeData;
5112 var localShapeCollection;
5113 for (i = 0; i < len; i += 1) {
5114 shapeData = this.shapes[i];
5115 localShapeCollection = shapeData.localShapeCollection;
5116 if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {
5117 localShapeCollection.releaseShapes();
5118 shapeData.shape._mdf = true;
5119 shapePaths = shapeData.shape.paths.shapes;
5120 jLen = shapeData.shape.paths._length;
5121 for (j = 0; j < jLen; j += 1) localShapeCollection.addShape(this.processPath(shapePaths[j], amount));
5122 }
5123 shapeData.shape.paths = shapeData.localShapeCollection;
5124 }
5125 }
5126 if (!this.dynamicProperties.length) this._mdf = false;
5127 };
5128 var TransformPropertyFactory = function() {
5129 var defaultVector = [0, 0];
5130 function applyToMatrix(mat) {
5131 var _mdf = this._mdf;
5132 this.iterateDynamicProperties();
5133 this._mdf = this._mdf || _mdf;
5134 if (this.a) mat.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
5135 if (this.s) mat.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
5136 if (this.sk) mat.skewFromAxis(-this.sk.v, this.sa.v);
5137 if (this.r) mat.rotate(-this.r.v);
5138 else 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]);
5139 if (this.data.p.s) if (this.data.p.z) mat.translate(this.px.v, this.py.v, -this.pz.v);
5140 else mat.translate(this.px.v, this.py.v, 0);
5141 else mat.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);
5142 }
5143 function processKeys(forceRender) {
5144 if (this.elem.globalData.frameId === this.frameId) return;
5145 if (this._isDirty) {
5146 this.precalculateMatrix();
5147 this._isDirty = false;
5148 }
5149 this.iterateDynamicProperties();
5150 if (this._mdf || forceRender) {
5151 var frameRate;
5152 this.v.cloneFromProps(this.pre.props);
5153 if (this.appliedTransformations < 1) this.v.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
5154 if (this.appliedTransformations < 2) this.v.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
5155 if (this.sk && this.appliedTransformations < 3) this.v.skewFromAxis(-this.sk.v, this.sa.v);
5156 if (this.r && this.appliedTransformations < 4) this.v.rotate(-this.r.v);
5157 else if (!this.r && this.appliedTransformations < 4) this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);
5158 if (this.autoOriented) {
5159 var v1;
5160 var v2;
5161 frameRate = this.elem.globalData.frameRate;
5162 if (this.p && this.p.keyframes && this.p.getValueAtTime) if (this.p._caching.lastFrame + this.p.offsetTime <= this.p.keyframes[0].t) {
5163 v1 = this.p.getValueAtTime((this.p.keyframes[0].t + .01) / frameRate, 0);
5164 v2 = this.p.getValueAtTime(this.p.keyframes[0].t / frameRate, 0);
5165 } else if (this.p._caching.lastFrame + this.p.offsetTime >= this.p.keyframes[this.p.keyframes.length - 1].t) {
5166 v1 = this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length - 1].t / frameRate, 0);
5167 v2 = this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length - 1].t - .05) / frameRate, 0);
5168 } else {
5169 v1 = this.p.pv;
5170 v2 = this.p.getValueAtTime((this.p._caching.lastFrame + this.p.offsetTime - .01) / frameRate, this.p.offsetTime);
5171 }
5172 else if (this.px && this.px.keyframes && this.py.keyframes && this.px.getValueAtTime && this.py.getValueAtTime) {
5173 v1 = [];
5174 v2 = [];
5175 var px = this.px;
5176 var py = this.py;
5177 if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {
5178 v1[0] = px.getValueAtTime((px.keyframes[0].t + .01) / frameRate, 0);
5179 v1[1] = py.getValueAtTime((py.keyframes[0].t + .01) / frameRate, 0);
5180 v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);
5181 v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);
5182 } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {
5183 v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);
5184 v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);
5185 v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - .01) / frameRate, 0);
5186 v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - .01) / frameRate, 0);
5187 } else {
5188 v1 = [px.pv, py.pv];
5189 v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - .01) / frameRate, px.offsetTime);
5190 v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - .01) / frameRate, py.offsetTime);
5191 }
5192 } else {
5193 v2 = defaultVector;
5194 v1 = v2;
5195 }
5196 this.v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));
5197 }
5198 if (this.data.p && this.data.p.s) if (this.data.p.z) this.v.translate(this.px.v, this.py.v, -this.pz.v);
5199 else this.v.translate(this.px.v, this.py.v, 0);
5200 else this.v.translate(this.p.v[0], this.p.v[1], -this.p.v[2]);
5201 }
5202 this.frameId = this.elem.globalData.frameId;
5203 }
5204 function precalculateMatrix() {
5205 this.appliedTransformations = 0;
5206 this.pre.reset();
5207 if (!this.a.effectsSequence.length) {
5208 this.pre.translate(-this.a.v[0], -this.a.v[1], this.a.v[2]);
5209 this.appliedTransformations = 1;
5210 } else return;
5211 if (!this.s.effectsSequence.length) {
5212 this.pre.scale(this.s.v[0], this.s.v[1], this.s.v[2]);
5213 this.appliedTransformations = 2;
5214 } else return;
5215 if (this.sk) if (!this.sk.effectsSequence.length && !this.sa.effectsSequence.length) {
5216 this.pre.skewFromAxis(-this.sk.v, this.sa.v);
5217 this.appliedTransformations = 3;
5218 } else return;
5219 if (this.r) {
5220 if (!this.r.effectsSequence.length) {
5221 this.pre.rotate(-this.r.v);
5222 this.appliedTransformations = 4;
5223 }
5224 } else if (!this.rz.effectsSequence.length && !this.ry.effectsSequence.length && !this.rx.effectsSequence.length && !this.or.effectsSequence.length) {
5225 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]);
5226 this.appliedTransformations = 4;
5227 }
5228 }
5229 function autoOrient() {}
5230 function addDynamicProperty(prop) {
5231 this._addDynamicProperty(prop);
5232 this.elem.addDynamicProperty(prop);
5233 this._isDirty = true;
5234 }
5235 function TransformProperty(elem, data, container) {
5236 this.elem = elem;
5237 this.frameId = -1;
5238 this.propType = "transform";
5239 this.data = data;
5240 this.v = new Matrix();
5241 this.pre = new Matrix();
5242 this.appliedTransformations = 0;
5243 this.initDynamicPropertyContainer(container || elem);
5244 if (data.p && data.p.s) {
5245 this.px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this);
5246 this.py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this);
5247 if (data.p.z) this.pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this);
5248 } else this.p = PropertyFactory.getProp(elem, data.p || { k: [
5249 0,
5250 0,
5251 0
5252 ] }, 1, 0, this);
5253 if (data.rx) {
5254 this.rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this);
5255 this.ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this);
5256 this.rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this);
5257 if (data.or.k[0].ti) {
5258 var i;
5259 var len = data.or.k.length;
5260 for (i = 0; i < len; i += 1) {
5261 data.or.k[i].to = null;
5262 data.or.k[i].ti = null;
5263 }
5264 }
5265 this.or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this);
5266 this.or.sh = true;
5267 } else this.r = PropertyFactory.getProp(elem, data.r || { k: 0 }, 0, degToRads, this);
5268 if (data.sk) {
5269 this.sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this);
5270 this.sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this);
5271 }
5272 this.a = PropertyFactory.getProp(elem, data.a || { k: [
5273 0,
5274 0,
5275 0
5276 ] }, 1, 0, this);
5277 this.s = PropertyFactory.getProp(elem, data.s || { k: [
5278 100,
5279 100,
5280 100
5281 ] }, 1, .01, this);
5282 if (data.o) this.o = PropertyFactory.getProp(elem, data.o, 0, .01, elem);
5283 else this.o = {
5284 _mdf: false,
5285 v: 1
5286 };
5287 this._isDirty = true;
5288 if (!this.dynamicProperties.length) this.getValue(true);
5289 }
5290 TransformProperty.prototype = {
5291 applyToMatrix,
5292 getValue: processKeys,
5293 precalculateMatrix,
5294 autoOrient
5295 };
5296 extendPrototype([DynamicPropertyContainer], TransformProperty);
5297 TransformProperty.prototype.addDynamicProperty = addDynamicProperty;
5298 TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;
5299 function getTransformProperty(elem, data, container) {
5300 return new TransformProperty(elem, data, container);
5301 }
5302 return { getTransformProperty };
5303 }();
5304 function RepeaterModifier() {}
5305 extendPrototype([ShapeModifier], RepeaterModifier);
5306 RepeaterModifier.prototype.initModifierProperties = function(elem, data) {
5307 this.getValue = this.processKeys;
5308 this.c = PropertyFactory.getProp(elem, data.c, 0, null, this);
5309 this.o = PropertyFactory.getProp(elem, data.o, 0, null, this);
5310 this.tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this);
5311 this.so = PropertyFactory.getProp(elem, data.tr.so, 0, .01, this);
5312 this.eo = PropertyFactory.getProp(elem, data.tr.eo, 0, .01, this);
5313 this.data = data;
5314 if (!this.dynamicProperties.length) this.getValue(true);
5315 this._isAnimated = !!this.dynamicProperties.length;
5316 this.pMatrix = new Matrix();
5317 this.rMatrix = new Matrix();
5318 this.sMatrix = new Matrix();
5319 this.tMatrix = new Matrix();
5320 this.matrix = new Matrix();
5321 };
5322 RepeaterModifier.prototype.applyTransforms = function(pMatrix, rMatrix, sMatrix, transform, perc, inv) {
5323 var dir = inv ? -1 : 1;
5324 var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);
5325 var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);
5326 pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);
5327 rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);
5328 rMatrix.rotate(-transform.r.v * dir * perc);
5329 rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);
5330 sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);
5331 sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);
5332 sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);
5333 };
5334 RepeaterModifier.prototype.init = function(elem, arr, pos, elemsData) {
5335 this.elem = elem;
5336 this.arr = arr;
5337 this.pos = pos;
5338 this.elemsData = elemsData;
5339 this._currentCopies = 0;
5340 this._elements = [];
5341 this._groups = [];
5342 this.frameId = -1;
5343 this.initDynamicPropertyContainer(elem);
5344 this.initModifierProperties(elem, arr[pos]);
5345 while (pos > 0) {
5346 pos -= 1;
5347 this._elements.unshift(arr[pos]);
5348 }
5349 if (this.dynamicProperties.length) this.k = true;
5350 else this.getValue(true);
5351 };
5352 RepeaterModifier.prototype.resetElements = function(elements) {
5353 var i;
5354 var len = elements.length;
5355 for (i = 0; i < len; i += 1) {
5356 elements[i]._processed = false;
5357 if (elements[i].ty === "gr") this.resetElements(elements[i].it);
5358 }
5359 };
5360 RepeaterModifier.prototype.cloneElements = function(elements) {
5361 var newElements = JSON.parse(JSON.stringify(elements));
5362 this.resetElements(newElements);
5363 return newElements;
5364 };
5365 RepeaterModifier.prototype.changeGroupRender = function(elements, renderFlag) {
5366 var i;
5367 var len = elements.length;
5368 for (i = 0; i < len; i += 1) {
5369 elements[i]._render = renderFlag;
5370 if (elements[i].ty === "gr") this.changeGroupRender(elements[i].it, renderFlag);
5371 }
5372 };
5373 RepeaterModifier.prototype.processShapes = function(_isFirstFrame) {
5374 var items;
5375 var itemsTransform;
5376 var i;
5377 var dir;
5378 var cont;
5379 var hasReloaded = false;
5380 if (this._mdf || _isFirstFrame) {
5381 var copies = Math.ceil(this.c.v);
5382 if (this._groups.length < copies) {
5383 while (this._groups.length < copies) {
5384 var group = {
5385 it: this.cloneElements(this._elements),
5386 ty: "gr"
5387 };
5388 group.it.push({
5389 a: {
5390 a: 0,
5391 ix: 1,
5392 k: [0, 0]
5393 },
5394 nm: "Transform",
5395 o: {
5396 a: 0,
5397 ix: 7,
5398 k: 100
5399 },
5400 p: {
5401 a: 0,
5402 ix: 2,
5403 k: [0, 0]
5404 },
5405 r: {
5406 a: 1,
5407 ix: 6,
5408 k: [{
5409 s: 0,
5410 e: 0,
5411 t: 0
5412 }, {
5413 s: 0,
5414 e: 0,
5415 t: 1
5416 }]
5417 },
5418 s: {
5419 a: 0,
5420 ix: 3,
5421 k: [100, 100]
5422 },
5423 sa: {
5424 a: 0,
5425 ix: 5,
5426 k: 0
5427 },
5428 sk: {
5429 a: 0,
5430 ix: 4,
5431 k: 0
5432 },
5433 ty: "tr"
5434 });
5435 this.arr.splice(0, 0, group);
5436 this._groups.splice(0, 0, group);
5437 this._currentCopies += 1;
5438 }
5439 this.elem.reloadShapes();
5440 hasReloaded = true;
5441 }
5442 cont = 0;
5443 var renderFlag;
5444 for (i = 0; i <= this._groups.length - 1; i += 1) {
5445 renderFlag = cont < copies;
5446 this._groups[i]._render = renderFlag;
5447 this.changeGroupRender(this._groups[i].it, renderFlag);
5448 if (!renderFlag) {
5449 var elems = this.elemsData[i].it;
5450 var transformData = elems[elems.length - 1];
5451 if (transformData.transform.op.v !== 0) {
5452 transformData.transform.op._mdf = true;
5453 transformData.transform.op.v = 0;
5454 } else transformData.transform.op._mdf = false;
5455 }
5456 cont += 1;
5457 }
5458 this._currentCopies = copies;
5459 var offset = this.o.v;
5460 var offsetModulo = offset % 1;
5461 var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);
5462 var pProps = this.pMatrix.props;
5463 var rProps = this.rMatrix.props;
5464 var sProps = this.sMatrix.props;
5465 this.pMatrix.reset();
5466 this.rMatrix.reset();
5467 this.sMatrix.reset();
5468 this.tMatrix.reset();
5469 this.matrix.reset();
5470 var iteration = 0;
5471 if (offset > 0) {
5472 while (iteration < roundOffset) {
5473 this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);
5474 iteration += 1;
5475 }
5476 if (offsetModulo) {
5477 this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, offsetModulo, false);
5478 iteration += offsetModulo;
5479 }
5480 } else if (offset < 0) {
5481 while (iteration > roundOffset) {
5482 this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, true);
5483 iteration -= 1;
5484 }
5485 if (offsetModulo) {
5486 this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, -offsetModulo, true);
5487 iteration -= offsetModulo;
5488 }
5489 }
5490 i = this.data.m === 1 ? 0 : this._currentCopies - 1;
5491 dir = this.data.m === 1 ? 1 : -1;
5492 cont = this._currentCopies;
5493 var j;
5494 var jLen;
5495 while (cont) {
5496 items = this.elemsData[i].it;
5497 itemsTransform = items[items.length - 1].transform.mProps.v.props;
5498 jLen = itemsTransform.length;
5499 items[items.length - 1].transform.mProps._mdf = true;
5500 items[items.length - 1].transform.op._mdf = true;
5501 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));
5502 if (iteration !== 0) {
5503 if (i !== 0 && dir === 1 || i !== this._currentCopies - 1 && dir === -1) this.applyTransforms(this.pMatrix, this.rMatrix, this.sMatrix, this.tr, 1, false);
5504 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]);
5505 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]);
5506 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]);
5507 for (j = 0; j < jLen; j += 1) itemsTransform[j] = this.matrix.props[j];
5508 this.matrix.reset();
5509 } else {
5510 this.matrix.reset();
5511 for (j = 0; j < jLen; j += 1) itemsTransform[j] = this.matrix.props[j];
5512 }
5513 iteration += 1;
5514 cont -= 1;
5515 i += dir;
5516 }
5517 } else {
5518 cont = this._currentCopies;
5519 i = 0;
5520 dir = 1;
5521 while (cont) {
5522 items = this.elemsData[i].it;
5523 itemsTransform = items[items.length - 1].transform.mProps.v.props;
5524 items[items.length - 1].transform.mProps._mdf = false;
5525 items[items.length - 1].transform.op._mdf = false;
5526 cont -= 1;
5527 i += dir;
5528 }
5529 }
5530 return hasReloaded;
5531 };
5532 RepeaterModifier.prototype.addShape = function() {};
5533 function RoundCornersModifier() {}
5534 extendPrototype([ShapeModifier], RoundCornersModifier);
5535 RoundCornersModifier.prototype.initModifierProperties = function(elem, data) {
5536 this.getValue = this.processKeys;
5537 this.rd = PropertyFactory.getProp(elem, data.r, 0, null, this);
5538 this._isAnimated = !!this.rd.effectsSequence.length;
5539 };
5540 RoundCornersModifier.prototype.processPath = function(path, round) {
5541 var clonedPath = shapePool.newElement();
5542 clonedPath.c = path.c;
5543 var i;
5544 var len = path._length;
5545 var currentV;
5546 var currentI;
5547 var currentO;
5548 var closerV;
5549 var distance;
5550 var newPosPerc;
5551 var index = 0;
5552 var vX;
5553 var vY;
5554 var oX;
5555 var oY;
5556 var iX;
5557 var iY;
5558 for (i = 0; i < len; i += 1) {
5559 currentV = path.v[i];
5560 currentO = path.o[i];
5561 currentI = path.i[i];
5562 if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) if ((i === 0 || i === len - 1) && !path.c) {
5563 clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);
5564 index += 1;
5565 } else {
5566 if (i === 0) closerV = path.v[len - 1];
5567 else closerV = path.v[i - 1];
5568 distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));
5569 newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;
5570 iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;
5571 vX = iX;
5572 iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;
5573 vY = iY;
5574 oX = vX - (vX - currentV[0]) * roundCorner;
5575 oY = vY - (vY - currentV[1]) * roundCorner;
5576 clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);
5577 index += 1;
5578 if (i === len - 1) closerV = path.v[0];
5579 else closerV = path.v[i + 1];
5580 distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));
5581 newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;
5582 oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;
5583 vX = oX;
5584 oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;
5585 vY = oY;
5586 iX = vX - (vX - currentV[0]) * roundCorner;
5587 iY = vY - (vY - currentV[1]) * roundCorner;
5588 clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);
5589 index += 1;
5590 }
5591 else {
5592 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);
5593 index += 1;
5594 }
5595 }
5596 return clonedPath;
5597 };
5598 RoundCornersModifier.prototype.processShapes = function(_isFirstFrame) {
5599 var shapePaths;
5600 var i;
5601 var len = this.shapes.length;
5602 var j;
5603 var jLen;
5604 var rd = this.rd.v;
5605 if (rd !== 0) {
5606 var shapeData;
5607 var localShapeCollection;
5608 for (i = 0; i < len; i += 1) {
5609 shapeData = this.shapes[i];
5610 localShapeCollection = shapeData.localShapeCollection;
5611 if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {
5612 localShapeCollection.releaseShapes();
5613 shapeData.shape._mdf = true;
5614 shapePaths = shapeData.shape.paths.shapes;
5615 jLen = shapeData.shape.paths._length;
5616 for (j = 0; j < jLen; j += 1) localShapeCollection.addShape(this.processPath(shapePaths[j], rd));
5617 }
5618 shapeData.shape.paths = shapeData.localShapeCollection;
5619 }
5620 }
5621 if (!this.dynamicProperties.length) this._mdf = false;
5622 };
5623 function floatEqual(a, b) {
5624 return Math.abs(a - b) * 1e5 <= Math.min(Math.abs(a), Math.abs(b));
5625 }
5626 function floatZero(f) {
5627 return Math.abs(f) <= 1e-5;
5628 }
5629 function lerp(p0, p1, amount) {
5630 return p0 * (1 - amount) + p1 * amount;
5631 }
5632 function lerpPoint(p0, p1, amount) {
5633 return [lerp(p0[0], p1[0], amount), lerp(p0[1], p1[1], amount)];
5634 }
5635 function quadRoots(a, b, c) {
5636 if (a === 0) return [];
5637 var s = b * b - 4 * a * c;
5638 if (s < 0) return [];
5639 var singleRoot = -b / (2 * a);
5640 if (s === 0) return [singleRoot];
5641 var delta = Math.sqrt(s) / (2 * a);
5642 return [singleRoot - delta, singleRoot + delta];
5643 }
5644 function polynomialCoefficients(p0, p1, p2, p3) {
5645 return [
5646 -p0 + 3 * p1 - 3 * p2 + p3,
5647 3 * p0 - 6 * p1 + 3 * p2,
5648 -3 * p0 + 3 * p1,
5649 p0
5650 ];
5651 }
5652 function singlePoint(p) {
5653 return new PolynomialBezier(p, p, p, p, false);
5654 }
5655 function PolynomialBezier(p0, p1, p2, p3, linearize) {
5656 if (linearize && pointEqual(p0, p1)) p1 = lerpPoint(p0, p3, 1 / 3);
5657 if (linearize && pointEqual(p2, p3)) p2 = lerpPoint(p0, p3, 2 / 3);
5658 var coeffx = polynomialCoefficients(p0[0], p1[0], p2[0], p3[0]);
5659 var coeffy = polynomialCoefficients(p0[1], p1[1], p2[1], p3[1]);
5660 this.a = [coeffx[0], coeffy[0]];
5661 this.b = [coeffx[1], coeffy[1]];
5662 this.c = [coeffx[2], coeffy[2]];
5663 this.d = [coeffx[3], coeffy[3]];
5664 this.points = [
5665 p0,
5666 p1,
5667 p2,
5668 p3
5669 ];
5670 }
5671 PolynomialBezier.prototype.point = function(t) {
5672 return [((this.a[0] * t + this.b[0]) * t + this.c[0]) * t + this.d[0], ((this.a[1] * t + this.b[1]) * t + this.c[1]) * t + this.d[1]];
5673 };
5674 PolynomialBezier.prototype.derivative = function(t) {
5675 return [(3 * t * this.a[0] + 2 * this.b[0]) * t + this.c[0], (3 * t * this.a[1] + 2 * this.b[1]) * t + this.c[1]];
5676 };
5677 PolynomialBezier.prototype.tangentAngle = function(t) {
5678 var p = this.derivative(t);
5679 return Math.atan2(p[1], p[0]);
5680 };
5681 PolynomialBezier.prototype.normalAngle = function(t) {
5682 var p = this.derivative(t);
5683 return Math.atan2(p[0], p[1]);
5684 };
5685 PolynomialBezier.prototype.inflectionPoints = function() {
5686 var denom = this.a[1] * this.b[0] - this.a[0] * this.b[1];
5687 if (floatZero(denom)) return [];
5688 var tcusp = -.5 * (this.a[1] * this.c[0] - this.a[0] * this.c[1]) / denom;
5689 var square = tcusp * tcusp - 1 / 3 * (this.b[1] * this.c[0] - this.b[0] * this.c[1]) / denom;
5690 if (square < 0) return [];
5691 var root = Math.sqrt(square);
5692 if (floatZero(root)) {
5693 if (root > 0 && root < 1) return [tcusp];
5694 return [];
5695 }
5696 return [tcusp - root, tcusp + root].filter(function(r) {
5697 return r > 0 && r < 1;
5698 });
5699 };
5700 PolynomialBezier.prototype.split = function(t) {
5701 if (t <= 0) return [singlePoint(this.points[0]), this];
5702 if (t >= 1) return [this, singlePoint(this.points[this.points.length - 1])];
5703 var p10 = lerpPoint(this.points[0], this.points[1], t);
5704 var p11 = lerpPoint(this.points[1], this.points[2], t);
5705 var p12 = lerpPoint(this.points[2], this.points[3], t);
5706 var p20 = lerpPoint(p10, p11, t);
5707 var p21 = lerpPoint(p11, p12, t);
5708 var p3 = lerpPoint(p20, p21, t);
5709 return [new PolynomialBezier(this.points[0], p10, p20, p3, true), new PolynomialBezier(p3, p21, p12, this.points[3], true)];
5710 };
5711 function extrema(bez, comp) {
5712 var min = bez.points[0][comp];
5713 var max = bez.points[bez.points.length - 1][comp];
5714 if (min > max) {
5715 var e = max;
5716 max = min;
5717 min = e;
5718 }
5719 var f = quadRoots(3 * bez.a[comp], 2 * bez.b[comp], bez.c[comp]);
5720 for (var i = 0; i < f.length; i += 1) if (f[i] > 0 && f[i] < 1) {
5721 var val = bez.point(f[i])[comp];
5722 if (val < min) min = val;
5723 else if (val > max) max = val;
5724 }
5725 return {
5726 min,
5727 max
5728 };
5729 }
5730 PolynomialBezier.prototype.bounds = function() {
5731 return {
5732 x: extrema(this, 0),
5733 y: extrema(this, 1)
5734 };
5735 };
5736 PolynomialBezier.prototype.boundingBox = function() {
5737 var bounds = this.bounds();
5738 return {
5739 left: bounds.x.min,
5740 right: bounds.x.max,
5741 top: bounds.y.min,
5742 bottom: bounds.y.max,
5743 width: bounds.x.max - bounds.x.min,
5744 height: bounds.y.max - bounds.y.min,
5745 cx: (bounds.x.max + bounds.x.min) / 2,
5746 cy: (bounds.y.max + bounds.y.min) / 2
5747 };
5748 };
5749 function intersectData(bez, t1, t2) {
5750 var box = bez.boundingBox();
5751 return {
5752 cx: box.cx,
5753 cy: box.cy,
5754 width: box.width,
5755 height: box.height,
5756 bez,
5757 t: (t1 + t2) / 2,
5758 t1,
5759 t2
5760 };
5761 }
5762 function splitData(data) {
5763 var split = data.bez.split(.5);
5764 return [intersectData(split[0], data.t1, data.t), intersectData(split[1], data.t, data.t2)];
5765 }
5766 function boxIntersect(b1, b2) {
5767 return Math.abs(b1.cx - b2.cx) * 2 < b1.width + b2.width && Math.abs(b1.cy - b2.cy) * 2 < b1.height + b2.height;
5768 }
5769 function intersectsImpl(d1, d2, depth, tolerance, intersections, maxRecursion) {
5770 if (!boxIntersect(d1, d2)) return;
5771 if (depth >= maxRecursion || d1.width <= tolerance && d1.height <= tolerance && d2.width <= tolerance && d2.height <= tolerance) {
5772 intersections.push([d1.t, d2.t]);
5773 return;
5774 }
5775 var d1s = splitData(d1);
5776 var d2s = splitData(d2);
5777 intersectsImpl(d1s[0], d2s[0], depth + 1, tolerance, intersections, maxRecursion);
5778 intersectsImpl(d1s[0], d2s[1], depth + 1, tolerance, intersections, maxRecursion);
5779 intersectsImpl(d1s[1], d2s[0], depth + 1, tolerance, intersections, maxRecursion);
5780 intersectsImpl(d1s[1], d2s[1], depth + 1, tolerance, intersections, maxRecursion);
5781 }
5782 PolynomialBezier.prototype.intersections = function(other, tolerance, maxRecursion) {
5783 if (tolerance === void 0) tolerance = 2;
5784 if (maxRecursion === void 0) maxRecursion = 7;
5785 var intersections = [];
5786 intersectsImpl(intersectData(this, 0, 1), intersectData(other, 0, 1), 0, tolerance, intersections, maxRecursion);
5787 return intersections;
5788 };
5789 PolynomialBezier.shapeSegment = function(shapePath, index) {
5790 var nextIndex = (index + 1) % shapePath.length();
5791 return new PolynomialBezier(shapePath.v[index], shapePath.o[index], shapePath.i[nextIndex], shapePath.v[nextIndex], true);
5792 };
5793 PolynomialBezier.shapeSegmentInverted = function(shapePath, index) {
5794 var nextIndex = (index + 1) % shapePath.length();
5795 return new PolynomialBezier(shapePath.v[nextIndex], shapePath.i[nextIndex], shapePath.o[index], shapePath.v[index], true);
5796 };
5797 function crossProduct(a, b) {
5798 return [
5799 a[1] * b[2] - a[2] * b[1],
5800 a[2] * b[0] - a[0] * b[2],
5801 a[0] * b[1] - a[1] * b[0]
5802 ];
5803 }
5804 function lineIntersection(start1, end1, start2, end2) {
5805 var v1 = [
5806 start1[0],
5807 start1[1],
5808 1
5809 ];
5810 var v2 = [
5811 end1[0],
5812 end1[1],
5813 1
5814 ];
5815 var v3 = [
5816 start2[0],
5817 start2[1],
5818 1
5819 ];
5820 var v4 = [
5821 end2[0],
5822 end2[1],
5823 1
5824 ];
5825 var r = crossProduct(crossProduct(v1, v2), crossProduct(v3, v4));
5826 if (floatZero(r[2])) return null;
5827 return [r[0] / r[2], r[1] / r[2]];
5828 }
5829 function polarOffset(p, angle, length) {
5830 return [p[0] + Math.cos(angle) * length, p[1] - Math.sin(angle) * length];
5831 }
5832 function pointDistance(p1, p2) {
5833 return Math.hypot(p1[0] - p2[0], p1[1] - p2[1]);
5834 }
5835 function pointEqual(p1, p2) {
5836 return floatEqual(p1[0], p2[0]) && floatEqual(p1[1], p2[1]);
5837 }
5838 function ZigZagModifier() {}
5839 extendPrototype([ShapeModifier], ZigZagModifier);
5840 ZigZagModifier.prototype.initModifierProperties = function(elem, data) {
5841 this.getValue = this.processKeys;
5842 this.amplitude = PropertyFactory.getProp(elem, data.s, 0, null, this);
5843 this.frequency = PropertyFactory.getProp(elem, data.r, 0, null, this);
5844 this.pointsType = PropertyFactory.getProp(elem, data.pt, 0, null, this);
5845 this._isAnimated = this.amplitude.effectsSequence.length !== 0 || this.frequency.effectsSequence.length !== 0 || this.pointsType.effectsSequence.length !== 0;
5846 };
5847 function setPoint(outputBezier, point, angle, direction, amplitude, outAmplitude, inAmplitude) {
5848 var angO = angle - Math.PI / 2;
5849 var angI = angle + Math.PI / 2;
5850 var px = point[0] + Math.cos(angle) * direction * amplitude;
5851 var py = point[1] - Math.sin(angle) * direction * amplitude;
5852 outputBezier.setTripleAt(px, py, px + Math.cos(angO) * outAmplitude, py - Math.sin(angO) * outAmplitude, px + Math.cos(angI) * inAmplitude, py - Math.sin(angI) * inAmplitude, outputBezier.length());
5853 }
5854 function getPerpendicularVector(pt1, pt2) {
5855 var vector = [pt2[0] - pt1[0], pt2[1] - pt1[1]];
5856 var rot = -Math.PI * .5;
5857 return [Math.cos(rot) * vector[0] - Math.sin(rot) * vector[1], Math.sin(rot) * vector[0] + Math.cos(rot) * vector[1]];
5858 }
5859 function getProjectingAngle(path, cur) {
5860 var prevIndex = cur === 0 ? path.length() - 1 : cur - 1;
5861 var nextIndex = (cur + 1) % path.length();
5862 var prevPoint = path.v[prevIndex];
5863 var nextPoint = path.v[nextIndex];
5864 var pVector = getPerpendicularVector(prevPoint, nextPoint);
5865 return Math.atan2(0, 1) - Math.atan2(pVector[1], pVector[0]);
5866 }
5867 function zigZagCorner(outputBezier, path, cur, amplitude, frequency, pointType, direction) {
5868 var angle = getProjectingAngle(path, cur);
5869 var point = path.v[cur % path._length];
5870 var prevPoint = path.v[cur === 0 ? path._length - 1 : cur - 1];
5871 var nextPoint = path.v[(cur + 1) % path._length];
5872 var prevDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - prevPoint[0], 2) + Math.pow(point[1] - prevPoint[1], 2)) : 0;
5873 var nextDist = pointType === 2 ? Math.sqrt(Math.pow(point[0] - nextPoint[0], 2) + Math.pow(point[1] - nextPoint[1], 2)) : 0;
5874 setPoint(outputBezier, path.v[cur % path._length], angle, direction, amplitude, nextDist / ((frequency + 1) * 2), prevDist / ((frequency + 1) * 2), pointType);
5875 }
5876 function zigZagSegment(outputBezier, segment, amplitude, frequency, pointType, direction) {
5877 for (var i = 0; i < frequency; i += 1) {
5878 var t = (i + 1) / (frequency + 1);
5879 var dist = pointType === 2 ? Math.sqrt(Math.pow(segment.points[3][0] - segment.points[0][0], 2) + Math.pow(segment.points[3][1] - segment.points[0][1], 2)) : 0;
5880 var angle = segment.normalAngle(t);
5881 setPoint(outputBezier, segment.point(t), angle, direction, amplitude, dist / ((frequency + 1) * 2), dist / ((frequency + 1) * 2), pointType);
5882 direction = -direction;
5883 }
5884 return direction;
5885 }
5886 ZigZagModifier.prototype.processPath = function(path, amplitude, frequency, pointType) {
5887 var count = path._length;
5888 var clonedPath = shapePool.newElement();
5889 clonedPath.c = path.c;
5890 if (!path.c) count -= 1;
5891 if (count === 0) return clonedPath;
5892 var direction = -1;
5893 var segment = PolynomialBezier.shapeSegment(path, 0);
5894 zigZagCorner(clonedPath, path, 0, amplitude, frequency, pointType, direction);
5895 for (var i = 0; i < count; i += 1) {
5896 direction = zigZagSegment(clonedPath, segment, amplitude, frequency, pointType, -direction);
5897 if (i === count - 1 && !path.c) segment = null;
5898 else segment = PolynomialBezier.shapeSegment(path, (i + 1) % count);
5899 zigZagCorner(clonedPath, path, i + 1, amplitude, frequency, pointType, direction);
5900 }
5901 return clonedPath;
5902 };
5903 ZigZagModifier.prototype.processShapes = function(_isFirstFrame) {
5904 var shapePaths;
5905 var i;
5906 var len = this.shapes.length;
5907 var j;
5908 var jLen;
5909 var amplitude = this.amplitude.v;
5910 var frequency = Math.max(0, Math.round(this.frequency.v));
5911 var pointType = this.pointsType.v;
5912 if (amplitude !== 0) {
5913 var shapeData;
5914 var localShapeCollection;
5915 for (i = 0; i < len; i += 1) {
5916 shapeData = this.shapes[i];
5917 localShapeCollection = shapeData.localShapeCollection;
5918 if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {
5919 localShapeCollection.releaseShapes();
5920 shapeData.shape._mdf = true;
5921 shapePaths = shapeData.shape.paths.shapes;
5922 jLen = shapeData.shape.paths._length;
5923 for (j = 0; j < jLen; j += 1) localShapeCollection.addShape(this.processPath(shapePaths[j], amplitude, frequency, pointType));
5924 }
5925 shapeData.shape.paths = shapeData.localShapeCollection;
5926 }
5927 }
5928 if (!this.dynamicProperties.length) this._mdf = false;
5929 };
5930 function linearOffset(p1, p2, amount) {
5931 var angle = Math.atan2(p2[0] - p1[0], p2[1] - p1[1]);
5932 return [polarOffset(p1, angle, amount), polarOffset(p2, angle, amount)];
5933 }
5934 function offsetSegment(segment, amount) {
5935 var p0;
5936 var p1a;
5937 var p1b;
5938 var p2b;
5939 var p2a;
5940 var p3;
5941 var e = linearOffset(segment.points[0], segment.points[1], amount);
5942 p0 = e[0];
5943 p1a = e[1];
5944 e = linearOffset(segment.points[1], segment.points[2], amount);
5945 p1b = e[0];
5946 p2b = e[1];
5947 e = linearOffset(segment.points[2], segment.points[3], amount);
5948 p2a = e[0];
5949 p3 = e[1];
5950 var p1 = lineIntersection(p0, p1a, p1b, p2b);
5951 if (p1 === null) p1 = p1a;
5952 var p2 = lineIntersection(p2a, p3, p1b, p2b);
5953 if (p2 === null) p2 = p2a;
5954 return new PolynomialBezier(p0, p1, p2, p3);
5955 }
5956 function joinLines(outputBezier, seg1, seg2, lineJoin, miterLimit) {
5957 var p0 = seg1.points[3];
5958 var p1 = seg2.points[0];
5959 if (lineJoin === 3) return p0;
5960 if (pointEqual(p0, p1)) return p0;
5961 if (lineJoin === 2) {
5962 var angleOut = -seg1.tangentAngle(1);
5963 var angleIn = -seg2.tangentAngle(0) + Math.PI;
5964 var center = lineIntersection(p0, polarOffset(p0, angleOut + Math.PI / 2, 100), p1, polarOffset(p1, angleOut + Math.PI / 2, 100));
5965 var radius = center ? pointDistance(center, p0) : pointDistance(p0, p1) / 2;
5966 var tan = polarOffset(p0, angleOut, 2 * radius * roundCorner);
5967 outputBezier.setXYAt(tan[0], tan[1], "o", outputBezier.length() - 1);
5968 tan = polarOffset(p1, angleIn, 2 * radius * roundCorner);
5969 outputBezier.setTripleAt(p1[0], p1[1], p1[0], p1[1], tan[0], tan[1], outputBezier.length());
5970 return p1;
5971 }
5972 var intersection = lineIntersection(pointEqual(p0, seg1.points[2]) ? seg1.points[0] : seg1.points[2], p0, p1, pointEqual(p1, seg2.points[1]) ? seg2.points[3] : seg2.points[1]);
5973 if (intersection && pointDistance(intersection, p0) < miterLimit) {
5974 outputBezier.setTripleAt(intersection[0], intersection[1], intersection[0], intersection[1], intersection[0], intersection[1], outputBezier.length());
5975 return intersection;
5976 }
5977 return p0;
5978 }
5979 function getIntersection(a, b) {
5980 var intersect = a.intersections(b);
5981 if (intersect.length && floatEqual(intersect[0][0], 1)) intersect.shift();
5982 if (intersect.length) return intersect[0];
5983 return null;
5984 }
5985 function pruneSegmentIntersection(a, b) {
5986 var outa = a.slice();
5987 var outb = b.slice();
5988 var intersect = getIntersection(a[a.length - 1], b[0]);
5989 if (intersect) {
5990 outa[a.length - 1] = a[a.length - 1].split(intersect[0])[0];
5991 outb[0] = b[0].split(intersect[1])[1];
5992 }
5993 if (a.length > 1 && b.length > 1) {
5994 intersect = getIntersection(a[0], b[b.length - 1]);
5995 if (intersect) return [[a[0].split(intersect[0])[0]], [b[b.length - 1].split(intersect[1])[1]]];
5996 }
5997 return [outa, outb];
5998 }
5999 function pruneIntersections(segments) {
6000 var e;
6001 for (var i = 1; i < segments.length; i += 1) {
6002 e = pruneSegmentIntersection(segments[i - 1], segments[i]);
6003 segments[i - 1] = e[0];
6004 segments[i] = e[1];
6005 }
6006 if (segments.length > 1) {
6007 e = pruneSegmentIntersection(segments[segments.length - 1], segments[0]);
6008 segments[segments.length - 1] = e[0];
6009 segments[0] = e[1];
6010 }
6011 return segments;
6012 }
6013 function offsetSegmentSplit(segment, amount) {
6014 var flex = segment.inflectionPoints();
6015 var left;
6016 var right;
6017 var split;
6018 var mid;
6019 if (flex.length === 0) return [offsetSegment(segment, amount)];
6020 if (flex.length === 1 || floatEqual(flex[1], 1)) {
6021 split = segment.split(flex[0]);
6022 left = split[0];
6023 right = split[1];
6024 return [offsetSegment(left, amount), offsetSegment(right, amount)];
6025 }
6026 split = segment.split(flex[0]);
6027 left = split[0];
6028 var t = (flex[1] - flex[0]) / (1 - flex[0]);
6029 split = split[1].split(t);
6030 mid = split[0];
6031 right = split[1];
6032 return [
6033 offsetSegment(left, amount),
6034 offsetSegment(mid, amount),
6035 offsetSegment(right, amount)
6036 ];
6037 }
6038 function OffsetPathModifier() {}
6039 extendPrototype([ShapeModifier], OffsetPathModifier);
6040 OffsetPathModifier.prototype.initModifierProperties = function(elem, data) {
6041 this.getValue = this.processKeys;
6042 this.amount = PropertyFactory.getProp(elem, data.a, 0, null, this);
6043 this.miterLimit = PropertyFactory.getProp(elem, data.ml, 0, null, this);
6044 this.lineJoin = data.lj;
6045 this._isAnimated = this.amount.effectsSequence.length !== 0;
6046 };
6047 OffsetPathModifier.prototype.processPath = function(inputBezier, amount, lineJoin, miterLimit) {
6048 var outputBezier = shapePool.newElement();
6049 outputBezier.c = inputBezier.c;
6050 var count = inputBezier.length();
6051 if (!inputBezier.c) count -= 1;
6052 var i;
6053 var j;
6054 var segment;
6055 var multiSegments = [];
6056 for (i = 0; i < count; i += 1) {
6057 segment = PolynomialBezier.shapeSegment(inputBezier, i);
6058 multiSegments.push(offsetSegmentSplit(segment, amount));
6059 }
6060 if (!inputBezier.c) for (i = count - 1; i >= 0; i -= 1) {
6061 segment = PolynomialBezier.shapeSegmentInverted(inputBezier, i);
6062 multiSegments.push(offsetSegmentSplit(segment, amount));
6063 }
6064 multiSegments = pruneIntersections(multiSegments);
6065 var lastPoint = null;
6066 var lastSeg = null;
6067 for (i = 0; i < multiSegments.length; i += 1) {
6068 var multiSegment = multiSegments[i];
6069 if (lastSeg) lastPoint = joinLines(outputBezier, lastSeg, multiSegment[0], lineJoin, miterLimit);
6070 lastSeg = multiSegment[multiSegment.length - 1];
6071 for (j = 0; j < multiSegment.length; j += 1) {
6072 segment = multiSegment[j];
6073 if (lastPoint && pointEqual(segment.points[0], lastPoint)) outputBezier.setXYAt(segment.points[1][0], segment.points[1][1], "o", outputBezier.length() - 1);
6074 else outputBezier.setTripleAt(segment.points[0][0], segment.points[0][1], segment.points[1][0], segment.points[1][1], segment.points[0][0], segment.points[0][1], outputBezier.length());
6075 outputBezier.setTripleAt(segment.points[3][0], segment.points[3][1], segment.points[3][0], segment.points[3][1], segment.points[2][0], segment.points[2][1], outputBezier.length());
6076 lastPoint = segment.points[3];
6077 }
6078 }
6079 if (multiSegments.length) joinLines(outputBezier, lastSeg, multiSegments[0][0], lineJoin, miterLimit);
6080 return outputBezier;
6081 };
6082 OffsetPathModifier.prototype.processShapes = function(_isFirstFrame) {
6083 var shapePaths;
6084 var i;
6085 var len = this.shapes.length;
6086 var j;
6087 var jLen;
6088 var amount = this.amount.v;
6089 var miterLimit = this.miterLimit.v;
6090 var lineJoin = this.lineJoin;
6091 if (amount !== 0) {
6092 var shapeData;
6093 var localShapeCollection;
6094 for (i = 0; i < len; i += 1) {
6095 shapeData = this.shapes[i];
6096 localShapeCollection = shapeData.localShapeCollection;
6097 if (!(!shapeData.shape._mdf && !this._mdf && !_isFirstFrame)) {
6098 localShapeCollection.releaseShapes();
6099 shapeData.shape._mdf = true;
6100 shapePaths = shapeData.shape.paths.shapes;
6101 jLen = shapeData.shape.paths._length;
6102 for (j = 0; j < jLen; j += 1) localShapeCollection.addShape(this.processPath(shapePaths[j], amount, lineJoin, miterLimit));
6103 }
6104 shapeData.shape.paths = shapeData.localShapeCollection;
6105 }
6106 }
6107 if (!this.dynamicProperties.length) this._mdf = false;
6108 };
6109 function getFontProperties(fontData) {
6110 var styles = fontData.fStyle ? fontData.fStyle.split(" ") : [];
6111 var fWeight = "normal";
6112 var fStyle = "normal";
6113 var len = styles.length;
6114 var styleName;
6115 for (var i = 0; i < len; i += 1) {
6116 styleName = styles[i].toLowerCase();
6117 switch (styleName) {
6118 case "italic":
6119 fStyle = "italic";
6120 break;
6121 case "bold":
6122 fWeight = "700";
6123 break;
6124 case "black":
6125 fWeight = "900";
6126 break;
6127 case "medium":
6128 fWeight = "500";
6129 break;
6130 case "regular":
6131 case "normal":
6132 fWeight = "400";
6133 break;
6134 case "light":
6135 case "thin":
6136 fWeight = "200";
6137 break;
6138 default: break;
6139 }
6140 }
6141 return {
6142 style: fStyle,
6143 weight: fontData.fWeight || fWeight
6144 };
6145 }
6146 var FontManager = function() {
6147 var maxWaitingTime = 5e3;
6148 var emptyChar = {
6149 w: 0,
6150 size: 0,
6151 shapes: [],
6152 data: { shapes: [] }
6153 };
6154 var combinedCharacters = [];
6155 combinedCharacters = combinedCharacters.concat([
6156 2304,
6157 2305,
6158 2306,
6159 2307,
6160 2362,
6161 2363,
6162 2364,
6163 2364,
6164 2366,
6165 2367,
6166 2368,
6167 2369,
6168 2370,
6169 2371,
6170 2372,
6171 2373,
6172 2374,
6173 2375,
6174 2376,
6175 2377,
6176 2378,
6177 2379,
6178 2380,
6179 2381,
6180 2382,
6181 2383,
6182 2387,
6183 2388,
6184 2389,
6185 2390,
6186 2391,
6187 2402,
6188 2403
6189 ]);
6190 var BLACK_FLAG_CODE_POINT = 127988;
6191 var CANCEL_TAG_CODE_POINT = 917631;
6192 var A_TAG_CODE_POINT = 917601;
6193 var Z_TAG_CODE_POINT = 917626;
6194 var VARIATION_SELECTOR_16_CODE_POINT = 65039;
6195 var ZERO_WIDTH_JOINER_CODE_POINT = 8205;
6196 var REGIONAL_CHARACTER_A_CODE_POINT = 127462;
6197 var REGIONAL_CHARACTER_Z_CODE_POINT = 127487;
6198 var surrogateModifiers = [
6199 "d83cdffb",
6200 "d83cdffc",
6201 "d83cdffd",
6202 "d83cdffe",
6203 "d83cdfff"
6204 ];
6205 function trimFontOptions(font) {
6206 var familyArray = font.split(",");
6207 var i;
6208 var len = familyArray.length;
6209 var enabledFamilies = [];
6210 for (i = 0; i < len; i += 1) if (familyArray[i] !== "sans-serif" && familyArray[i] !== "monospace") enabledFamilies.push(familyArray[i]);
6211 return enabledFamilies.join(",");
6212 }
6213 function setUpNode(font, family) {
6214 var parentNode = createTag("span");
6215 parentNode.setAttribute("aria-hidden", true);
6216 parentNode.style.fontFamily = family;
6217 var node = createTag("span");
6218 node.innerText = "giItT1WQy@!-/#";
6219 parentNode.style.position = "absolute";
6220 parentNode.style.left = "-10000px";
6221 parentNode.style.top = "-10000px";
6222 parentNode.style.fontSize = "300px";
6223 parentNode.style.fontVariant = "normal";
6224 parentNode.style.fontStyle = "normal";
6225 parentNode.style.fontWeight = "normal";
6226 parentNode.style.letterSpacing = "0";
6227 parentNode.appendChild(node);
6228 document.body.appendChild(parentNode);
6229 var width = node.offsetWidth;
6230 node.style.fontFamily = trimFontOptions(font) + ", " + family;
6231 return {
6232 node,
6233 w: width,
6234 parent: parentNode
6235 };
6236 }
6237 function checkLoadedFonts() {
6238 var i;
6239 var len = this.fonts.length;
6240 var node;
6241 var w;
6242 var loadedCount = len;
6243 for (i = 0; i < len; i += 1) if (this.fonts[i].loaded) loadedCount -= 1;
6244 else if (this.fonts[i].fOrigin === "n" || this.fonts[i].origin === 0) this.fonts[i].loaded = true;
6245 else {
6246 node = this.fonts[i].monoCase.node;
6247 w = this.fonts[i].monoCase.w;
6248 if (node.offsetWidth !== w) {
6249 loadedCount -= 1;
6250 this.fonts[i].loaded = true;
6251 } else {
6252 node = this.fonts[i].sansCase.node;
6253 w = this.fonts[i].sansCase.w;
6254 if (node.offsetWidth !== w) {
6255 loadedCount -= 1;
6256 this.fonts[i].loaded = true;
6257 }
6258 }
6259 if (this.fonts[i].loaded) {
6260 this.fonts[i].sansCase.parent.parentNode.removeChild(this.fonts[i].sansCase.parent);
6261 this.fonts[i].monoCase.parent.parentNode.removeChild(this.fonts[i].monoCase.parent);
6262 }
6263 }
6264 if (loadedCount !== 0 && Date.now() - this.initTime < maxWaitingTime) setTimeout(this.checkLoadedFontsBinded, 20);
6265 else setTimeout(this.setIsLoadedBinded, 10);
6266 }
6267 function createHelper(fontData, def) {
6268 var engine = document.body && def ? "svg" : "canvas";
6269 var helper;
6270 var fontProps = getFontProperties(fontData);
6271 if (engine === "svg") {
6272 var tHelper = createNS("text");
6273 tHelper.style.fontSize = "100px";
6274 tHelper.setAttribute("font-family", fontData.fFamily);
6275 tHelper.setAttribute("font-style", fontProps.style);
6276 tHelper.setAttribute("font-weight", fontProps.weight);
6277 tHelper.textContent = "1";
6278 if (fontData.fClass) {
6279 tHelper.style.fontFamily = "inherit";
6280 tHelper.setAttribute("class", fontData.fClass);
6281 } else tHelper.style.fontFamily = fontData.fFamily;
6282 def.appendChild(tHelper);
6283 helper = tHelper;
6284 } else {
6285 var tCanvasHelper = new OffscreenCanvas(500, 500).getContext("2d");
6286 tCanvasHelper.font = fontProps.style + " " + fontProps.weight + " 100px " + fontData.fFamily;
6287 helper = tCanvasHelper;
6288 }
6289 function measure(text) {
6290 if (engine === "svg") {
6291 helper.textContent = text;
6292 return helper.getComputedTextLength();
6293 }
6294 return helper.measureText(text).width;
6295 }
6296 return { measureText: measure };
6297 }
6298 function addFonts(fontData, defs) {
6299 if (!fontData) {
6300 this.isLoaded = true;
6301 return;
6302 }
6303 if (this.chars) {
6304 this.isLoaded = true;
6305 this.fonts = fontData.list;
6306 return;
6307 }
6308 if (!document.body) {
6309 this.isLoaded = true;
6310 fontData.list.forEach(function(data) {
6311 data.helper = createHelper(data);
6312 data.cache = {};
6313 });
6314 this.fonts = fontData.list;
6315 return;
6316 }
6317 var fontArr = fontData.list;
6318 var i;
6319 var len = fontArr.length;
6320 var _pendingFonts = len;
6321 for (i = 0; i < len; i += 1) {
6322 var shouldLoadFont = true;
6323 var loadedSelector;
6324 var j;
6325 fontArr[i].loaded = false;
6326 fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, "monospace");
6327 fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, "sans-serif");
6328 if (!fontArr[i].fPath) {
6329 fontArr[i].loaded = true;
6330 _pendingFonts -= 1;
6331 } else if (fontArr[i].fOrigin === "p" || fontArr[i].origin === 3) {
6332 loadedSelector = document.querySelectorAll("style[f-forigin=\"p\"][f-family=\"" + fontArr[i].fFamily + "\"], style[f-origin=\"3\"][f-family=\"" + fontArr[i].fFamily + "\"]");
6333 if (loadedSelector.length > 0) shouldLoadFont = false;
6334 if (shouldLoadFont) {
6335 var s = createTag("style");
6336 s.setAttribute("f-forigin", fontArr[i].fOrigin);
6337 s.setAttribute("f-origin", fontArr[i].origin);
6338 s.setAttribute("f-family", fontArr[i].fFamily);
6339 s.type = "text/css";
6340 s.innerText = "@font-face {font-family: " + fontArr[i].fFamily + "; font-style: normal; src: url('" + fontArr[i].fPath + "');}";
6341 defs.appendChild(s);
6342 }
6343 } else if (fontArr[i].fOrigin === "g" || fontArr[i].origin === 1) {
6344 loadedSelector = document.querySelectorAll("link[f-forigin=\"g\"], link[f-origin=\"1\"]");
6345 for (j = 0; j < loadedSelector.length; j += 1) if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) shouldLoadFont = false;
6346 if (shouldLoadFont) {
6347 var l = createTag("link");
6348 l.setAttribute("f-forigin", fontArr[i].fOrigin);
6349 l.setAttribute("f-origin", fontArr[i].origin);
6350 l.type = "text/css";
6351 l.rel = "stylesheet";
6352 l.href = fontArr[i].fPath;
6353 document.body.appendChild(l);
6354 }
6355 } else if (fontArr[i].fOrigin === "t" || fontArr[i].origin === 2) {
6356 loadedSelector = document.querySelectorAll("script[f-forigin=\"t\"], script[f-origin=\"2\"]");
6357 for (j = 0; j < loadedSelector.length; j += 1) if (fontArr[i].fPath === loadedSelector[j].src) shouldLoadFont = false;
6358 if (shouldLoadFont) {
6359 var sc = createTag("link");
6360 sc.setAttribute("f-forigin", fontArr[i].fOrigin);
6361 sc.setAttribute("f-origin", fontArr[i].origin);
6362 sc.setAttribute("rel", "stylesheet");
6363 sc.setAttribute("href", fontArr[i].fPath);
6364 defs.appendChild(sc);
6365 }
6366 }
6367 fontArr[i].helper = createHelper(fontArr[i], defs);
6368 fontArr[i].cache = {};
6369 this.fonts.push(fontArr[i]);
6370 }
6371 if (_pendingFonts === 0) this.isLoaded = true;
6372 else setTimeout(this.checkLoadedFonts.bind(this), 100);
6373 }
6374 function addChars(chars) {
6375 if (!chars) return;
6376 if (!this.chars) this.chars = [];
6377 var i;
6378 var len = chars.length;
6379 var j;
6380 var jLen = this.chars.length;
6381 var found;
6382 for (i = 0; i < len; i += 1) {
6383 j = 0;
6384 found = false;
6385 while (j < jLen) {
6386 if (this.chars[j].style === chars[i].style && this.chars[j].fFamily === chars[i].fFamily && this.chars[j].ch === chars[i].ch) found = true;
6387 j += 1;
6388 }
6389 if (!found) {
6390 this.chars.push(chars[i]);
6391 jLen += 1;
6392 }
6393 }
6394 }
6395 function getCharData(_char, style, font) {
6396 var i = 0;
6397 var len = this.chars.length;
6398 while (i < len) {
6399 if (this.chars[i].ch === _char && this.chars[i].style === style && this.chars[i].fFamily === font) return this.chars[i];
6400 i += 1;
6401 }
6402 if ((typeof _char === "string" && _char.charCodeAt(0) !== 13 || !_char) && console && console.warn && !this._warned) {
6403 this._warned = true;
6404 console.warn("Missing character from exported characters list: ", _char, style, font);
6405 }
6406 return emptyChar;
6407 }
6408 function measureText(_char2, fontName, size) {
6409 var fontData = this.getFontByName(fontName);
6410 var index = _char2;
6411 if (!fontData.cache[index]) {
6412 var tHelper = fontData.helper;
6413 if (_char2 === " ") {
6414 var doubleSize = tHelper.measureText("|" + _char2 + "|");
6415 var singleSize = tHelper.measureText("||");
6416 fontData.cache[index] = (doubleSize - singleSize) / 100;
6417 } else fontData.cache[index] = tHelper.measureText(_char2) / 100;
6418 }
6419 return fontData.cache[index] * size;
6420 }
6421 function getFontByName(name) {
6422 var i = 0;
6423 var len = this.fonts.length;
6424 while (i < len) {
6425 if (this.fonts[i].fName === name) return this.fonts[i];
6426 i += 1;
6427 }
6428 return this.fonts[0];
6429 }
6430 function getCodePoint(string) {
6431 var codePoint = 0;
6432 var first = string.charCodeAt(0);
6433 if (first >= 55296 && first <= 56319) {
6434 var second = string.charCodeAt(1);
6435 if (second >= 56320 && second <= 57343) codePoint = (first - 55296) * 1024 + second - 56320 + 65536;
6436 }
6437 return codePoint;
6438 }
6439 function isModifier(firstCharCode, secondCharCode) {
6440 var sum = firstCharCode.toString(16) + secondCharCode.toString(16);
6441 return surrogateModifiers.indexOf(sum) !== -1;
6442 }
6443 function isZeroWidthJoiner(charCode) {
6444 return charCode === ZERO_WIDTH_JOINER_CODE_POINT;
6445 }
6446 function isVariationSelector(charCode) {
6447 return charCode === VARIATION_SELECTOR_16_CODE_POINT;
6448 }
6449 function isRegionalCode(string) {
6450 var codePoint = getCodePoint(string);
6451 if (codePoint >= REGIONAL_CHARACTER_A_CODE_POINT && codePoint <= REGIONAL_CHARACTER_Z_CODE_POINT) return true;
6452 return false;
6453 }
6454 function isFlagEmoji(string) {
6455 return isRegionalCode(string.substr(0, 2)) && isRegionalCode(string.substr(2, 2));
6456 }
6457 function isCombinedCharacter(_char3) {
6458 return combinedCharacters.indexOf(_char3) !== -1;
6459 }
6460 function isRegionalFlag(text, index) {
6461 var codePoint = getCodePoint(text.substr(index, 2));
6462 if (codePoint !== BLACK_FLAG_CODE_POINT) return false;
6463 var count = 0;
6464 index += 2;
6465 while (count < 5) {
6466 codePoint = getCodePoint(text.substr(index, 2));
6467 if (codePoint < A_TAG_CODE_POINT || codePoint > Z_TAG_CODE_POINT) return false;
6468 count += 1;
6469 index += 2;
6470 }
6471 return getCodePoint(text.substr(index, 2)) === CANCEL_TAG_CODE_POINT;
6472 }
6473 function setIsLoaded() {
6474 this.isLoaded = true;
6475 }
6476 var Font = function Font() {
6477 this.fonts = [];
6478 this.chars = null;
6479 this.typekitLoaded = 0;
6480 this.isLoaded = false;
6481 this._warned = false;
6482 this.initTime = Date.now();
6483 this.setIsLoadedBinded = this.setIsLoaded.bind(this);
6484 this.checkLoadedFontsBinded = this.checkLoadedFonts.bind(this);
6485 };
6486 Font.isModifier = isModifier;
6487 Font.isZeroWidthJoiner = isZeroWidthJoiner;
6488 Font.isFlagEmoji = isFlagEmoji;
6489 Font.isRegionalCode = isRegionalCode;
6490 Font.isCombinedCharacter = isCombinedCharacter;
6491 Font.isRegionalFlag = isRegionalFlag;
6492 Font.isVariationSelector = isVariationSelector;
6493 Font.BLACK_FLAG_CODE_POINT = BLACK_FLAG_CODE_POINT;
6494 Font.prototype = {
6495 addChars,
6496 addFonts,
6497 getCharData,
6498 getFontByName,
6499 measureText,
6500 checkLoadedFonts,
6501 setIsLoaded
6502 };
6503 return Font;
6504 }();
6505 function SlotManager(animationData) {
6506 this.animationData = animationData;
6507 }
6508 SlotManager.prototype.getProp = function(data) {
6509 if (this.animationData.slots && this.animationData.slots[data.sid]) return Object.assign(data, this.animationData.slots[data.sid].p);
6510 return data;
6511 };
6512 function slotFactory(animationData) {
6513 return new SlotManager(animationData);
6514 }
6515 function RenderableElement() {}
6516 RenderableElement.prototype = {
6517 initRenderable: function initRenderable() {
6518 this.isInRange = false;
6519 this.hidden = false;
6520 this.isTransparent = false;
6521 this.renderableComponents = [];
6522 },
6523 addRenderableComponent: function addRenderableComponent(component) {
6524 if (this.renderableComponents.indexOf(component) === -1) this.renderableComponents.push(component);
6525 },
6526 removeRenderableComponent: function removeRenderableComponent(component) {
6527 if (this.renderableComponents.indexOf(component) !== -1) this.renderableComponents.splice(this.renderableComponents.indexOf(component), 1);
6528 },
6529 prepareRenderableFrame: function prepareRenderableFrame(num) {
6530 this.checkLayerLimits(num);
6531 },
6532 checkTransparency: function checkTransparency() {
6533 if (this.finalTransform.mProp.o.v <= 0) {
6534 if (!this.isTransparent && this.globalData.renderConfig.hideOnTransparent) {
6535 this.isTransparent = true;
6536 this.hide();
6537 }
6538 } else if (this.isTransparent) {
6539 this.isTransparent = false;
6540 this.show();
6541 }
6542 },
6543 /**
6544 * @function
6545 * Initializes frame related properties.
6546 *
6547 * @param {number} num
6548 * current frame number in Layer's time
6549 *
6550 */
6551 checkLayerLimits: function checkLayerLimits(num) {
6552 if (this.data.ip - this.data.st <= num && this.data.op - this.data.st > num) {
6553 if (this.isInRange !== true) {
6554 this.globalData._mdf = true;
6555 this._mdf = true;
6556 this.isInRange = true;
6557 this.show();
6558 }
6559 } else if (this.isInRange !== false) {
6560 this.globalData._mdf = true;
6561 this.isInRange = false;
6562 this.hide();
6563 }
6564 },
6565 renderRenderable: function renderRenderable() {
6566 var i;
6567 var len = this.renderableComponents.length;
6568 for (i = 0; i < len; i += 1) this.renderableComponents[i].renderFrame(this._isFirstFrame);
6569 },
6570 sourceRectAtTime: function sourceRectAtTime() {
6571 return {
6572 top: 0,
6573 left: 0,
6574 width: 100,
6575 height: 100
6576 };
6577 },
6578 getLayerSize: function getLayerSize() {
6579 if (this.data.ty === 5) return {
6580 w: this.data.textData.width,
6581 h: this.data.textData.height
6582 };
6583 return {
6584 w: this.data.width,
6585 h: this.data.height
6586 };
6587 }
6588 };
6589 var getBlendMode = function() {
6590 var blendModeEnums = {
6591 0: "source-over",
6592 1: "multiply",
6593 2: "screen",
6594 3: "overlay",
6595 4: "darken",
6596 5: "lighten",
6597 6: "color-dodge",
6598 7: "color-burn",
6599 8: "hard-light",
6600 9: "soft-light",
6601 10: "difference",
6602 11: "exclusion",
6603 12: "hue",
6604 13: "saturation",
6605 14: "color",
6606 15: "luminosity"
6607 };
6608 return function(mode) {
6609 return blendModeEnums[mode] || "";
6610 };
6611 }();
6612 function SliderEffect(data, elem, container) {
6613 this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);
6614 }
6615 function AngleEffect(data, elem, container) {
6616 this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);
6617 }
6618 function ColorEffect(data, elem, container) {
6619 this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);
6620 }
6621 function PointEffect(data, elem, container) {
6622 this.p = PropertyFactory.getProp(elem, data.v, 1, 0, container);
6623 }
6624 function LayerIndexEffect(data, elem, container) {
6625 this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);
6626 }
6627 function MaskIndexEffect(data, elem, container) {
6628 this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);
6629 }
6630 function CheckboxEffect(data, elem, container) {
6631 this.p = PropertyFactory.getProp(elem, data.v, 0, 0, container);
6632 }
6633 function NoValueEffect() {
6634 this.p = {};
6635 }
6636 function EffectsManager(data, element) {
6637 var effects = data.ef || [];
6638 this.effectElements = [];
6639 var i;
6640 var len = effects.length;
6641 var effectItem;
6642 for (i = 0; i < len; i += 1) {
6643 effectItem = new GroupEffect(effects[i], element);
6644 this.effectElements.push(effectItem);
6645 }
6646 }
6647 function GroupEffect(data, element) {
6648 this.init(data, element);
6649 }
6650 extendPrototype([DynamicPropertyContainer], GroupEffect);
6651 GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;
6652 GroupEffect.prototype.init = function(data, element) {
6653 this.data = data;
6654 this.effectElements = [];
6655 this.initDynamicPropertyContainer(element);
6656 var i;
6657 var len = this.data.ef.length;
6658 var eff;
6659 var effects = this.data.ef;
6660 for (i = 0; i < len; i += 1) {
6661 eff = null;
6662 switch (effects[i].ty) {
6663 case 0:
6664 eff = new SliderEffect(effects[i], element, this);
6665 break;
6666 case 1:
6667 eff = new AngleEffect(effects[i], element, this);
6668 break;
6669 case 2:
6670 eff = new ColorEffect(effects[i], element, this);
6671 break;
6672 case 3:
6673 eff = new PointEffect(effects[i], element, this);
6674 break;
6675 case 4:
6676 case 7:
6677 eff = new CheckboxEffect(effects[i], element, this);
6678 break;
6679 case 10:
6680 eff = new LayerIndexEffect(effects[i], element, this);
6681 break;
6682 case 11:
6683 eff = new MaskIndexEffect(effects[i], element, this);
6684 break;
6685 case 5:
6686 eff = new EffectsManager(effects[i], element, this);
6687 break;
6688 default:
6689 eff = new NoValueEffect(effects[i], element, this);
6690 break;
6691 }
6692 if (eff) this.effectElements.push(eff);
6693 }
6694 };
6695 function BaseElement() {}
6696 BaseElement.prototype = {
6697 checkMasks: function checkMasks() {
6698 if (!this.data.hasMask) return false;
6699 var i = 0;
6700 var len = this.data.masksProperties.length;
6701 while (i < len) {
6702 if (this.data.masksProperties[i].mode !== "n" && this.data.masksProperties[i].cl !== false) return true;
6703 i += 1;
6704 }
6705 return false;
6706 },
6707 initExpressions: function initExpressions() {
6708 var expressionsInterfaces = getExpressionInterfaces();
6709 if (!expressionsInterfaces) return;
6710 var LayerExpressionInterface = expressionsInterfaces("layer");
6711 var EffectsExpressionInterface = expressionsInterfaces("effects");
6712 var ShapeExpressionInterface = expressionsInterfaces("shape");
6713 var TextExpressionInterface = expressionsInterfaces("text");
6714 var CompExpressionInterface = expressionsInterfaces("comp");
6715 this.layerInterface = LayerExpressionInterface(this);
6716 if (this.data.hasMask && this.maskManager) this.layerInterface.registerMaskInterface(this.maskManager);
6717 var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this, this.layerInterface);
6718 this.layerInterface.registerEffectsInterface(effectsInterface);
6719 if (this.data.ty === 0 || this.data.xt) this.compInterface = CompExpressionInterface(this);
6720 else if (this.data.ty === 4) {
6721 this.layerInterface.shapeInterface = ShapeExpressionInterface(this.shapesData, this.itemsData, this.layerInterface);
6722 this.layerInterface.content = this.layerInterface.shapeInterface;
6723 } else if (this.data.ty === 5) {
6724 this.layerInterface.textInterface = TextExpressionInterface(this);
6725 this.layerInterface.text = this.layerInterface.textInterface;
6726 }
6727 },
6728 setBlendMode: function setBlendMode() {
6729 var blendModeValue = getBlendMode(this.data.bm);
6730 var elem = this.baseElement || this.layerElement;
6731 elem.style["mix-blend-mode"] = blendModeValue;
6732 },
6733 initBaseData: function initBaseData(data, globalData, comp) {
6734 this.globalData = globalData;
6735 this.comp = comp;
6736 this.data = data;
6737 this.layerId = createElementID();
6738 if (!this.data.sr) this.data.sr = 1;
6739 this.effectsManager = new EffectsManager(this.data, this, this.dynamicProperties);
6740 },
6741 getType: function getType() {
6742 return this.type;
6743 },
6744 sourceRectAtTime: function sourceRectAtTime() {}
6745 };
6746 /**
6747 * @file
6748 * Handles element's layer frame update.
6749 * Checks layer in point and out point
6750 *
6751 */
6752 function FrameElement() {}
6753 FrameElement.prototype = {
6754 /**
6755 * @function
6756 * Initializes frame related properties.
6757 *
6758 */
6759 initFrame: function initFrame() {
6760 this._isFirstFrame = false;
6761 this.dynamicProperties = [];
6762 this._mdf = false;
6763 },
6764 /**
6765 * @function
6766 * Calculates all dynamic values
6767 *
6768 * @param {number} num
6769 * current frame number in Layer's time
6770 * @param {boolean} isVisible
6771 * if layers is currently in range
6772 *
6773 */
6774 prepareProperties: function prepareProperties(num, isVisible) {
6775 var i;
6776 var len = this.dynamicProperties.length;
6777 for (i = 0; i < len; i += 1) if (isVisible || this._isParent && this.dynamicProperties[i].propType === "transform") {
6778 this.dynamicProperties[i].getValue();
6779 if (this.dynamicProperties[i]._mdf) {
6780 this.globalData._mdf = true;
6781 this._mdf = true;
6782 }
6783 }
6784 },
6785 addDynamicProperty: function addDynamicProperty(prop) {
6786 if (this.dynamicProperties.indexOf(prop) === -1) this.dynamicProperties.push(prop);
6787 }
6788 };
6789 function FootageElement(data, globalData, comp) {
6790 this.initFrame();
6791 this.initRenderable();
6792 this.assetData = globalData.getAssetData(data.refId);
6793 this.footageData = globalData.imageLoader.getAsset(this.assetData);
6794 this.initBaseData(data, globalData, comp);
6795 }
6796 FootageElement.prototype.prepareFrame = function() {};
6797 extendPrototype([
6798 RenderableElement,
6799 BaseElement,
6800 FrameElement
6801 ], FootageElement);
6802 FootageElement.prototype.getBaseElement = function() {
6803 return null;
6804 };
6805 FootageElement.prototype.renderFrame = function() {};
6806 FootageElement.prototype.destroy = function() {};
6807 FootageElement.prototype.initExpressions = function() {
6808 var expressionsInterfaces = getExpressionInterfaces();
6809 if (!expressionsInterfaces) return;
6810 var FootageInterface = expressionsInterfaces("footage");
6811 this.layerInterface = FootageInterface(this);
6812 };
6813 FootageElement.prototype.getFootageData = function() {
6814 return this.footageData;
6815 };
6816 function AudioElement(data, globalData, comp) {
6817 this.initFrame();
6818 this.initRenderable();
6819 this.assetData = globalData.getAssetData(data.refId);
6820 this.initBaseData(data, globalData, comp);
6821 this._isPlaying = false;
6822 this._canPlay = false;
6823 var assetPath = this.globalData.getAssetsPath(this.assetData);
6824 this.audio = this.globalData.audioController.createAudio(assetPath);
6825 this._currentTime = 0;
6826 this.globalData.audioController.addAudio(this);
6827 this._volumeMultiplier = 1;
6828 this._volume = 1;
6829 this._previousVolume = null;
6830 this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };
6831 this.lv = PropertyFactory.getProp(this, data.au && data.au.lv ? data.au.lv : { k: [100] }, 1, .01, this);
6832 }
6833 AudioElement.prototype.prepareFrame = function(num) {
6834 this.prepareRenderableFrame(num, true);
6835 this.prepareProperties(num, true);
6836 if (!this.tm._placeholder) {
6837 var timeRemapped = this.tm.v;
6838 this._currentTime = timeRemapped;
6839 } else this._currentTime = num / this.data.sr;
6840 this._volume = this.lv.v[0];
6841 var totalVolume = this._volume * this._volumeMultiplier;
6842 if (this._previousVolume !== totalVolume) {
6843 this._previousVolume = totalVolume;
6844 this.audio.volume(totalVolume);
6845 }
6846 };
6847 extendPrototype([
6848 RenderableElement,
6849 BaseElement,
6850 FrameElement
6851 ], AudioElement);
6852 AudioElement.prototype.renderFrame = function() {
6853 if (this.isInRange && this._canPlay) {
6854 if (!this._isPlaying) {
6855 this.audio.play();
6856 this.audio.seek(this._currentTime / this.globalData.frameRate);
6857 this._isPlaying = true;
6858 } else if (!this.audio.playing() || Math.abs(this._currentTime / this.globalData.frameRate - this.audio.seek()) > .1) this.audio.seek(this._currentTime / this.globalData.frameRate);
6859 }
6860 };
6861 AudioElement.prototype.show = function() {};
6862 AudioElement.prototype.hide = function() {
6863 this.audio.pause();
6864 this._isPlaying = false;
6865 };
6866 AudioElement.prototype.pause = function() {
6867 this.audio.pause();
6868 this._isPlaying = false;
6869 this._canPlay = false;
6870 };
6871 AudioElement.prototype.resume = function() {
6872 this._canPlay = true;
6873 };
6874 AudioElement.prototype.setRate = function(rateValue) {
6875 this.audio.rate(rateValue);
6876 };
6877 AudioElement.prototype.volume = function(volumeValue) {
6878 this._volumeMultiplier = volumeValue;
6879 this._previousVolume = volumeValue * this._volume;
6880 this.audio.volume(this._previousVolume);
6881 };
6882 AudioElement.prototype.getBaseElement = function() {
6883 return null;
6884 };
6885 AudioElement.prototype.destroy = function() {};
6886 AudioElement.prototype.sourceRectAtTime = function() {};
6887 AudioElement.prototype.initExpressions = function() {};
6888 function BaseRenderer() {}
6889 BaseRenderer.prototype.checkLayers = function(num) {
6890 var i;
6891 var len = this.layers.length;
6892 var data;
6893 this.completeLayers = true;
6894 for (i = len - 1; i >= 0; i -= 1) {
6895 if (!this.elements[i]) {
6896 data = this.layers[i];
6897 if (data.ip - data.st <= num - this.layers[i].st && data.op - data.st > num - this.layers[i].st) this.buildItem(i);
6898 }
6899 this.completeLayers = this.elements[i] ? this.completeLayers : false;
6900 }
6901 this.checkPendingElements();
6902 };
6903 BaseRenderer.prototype.createItem = function(layer) {
6904 switch (layer.ty) {
6905 case 2: return this.createImage(layer);
6906 case 0: return this.createComp(layer);
6907 case 1: return this.createSolid(layer);
6908 case 3: return this.createNull(layer);
6909 case 4: return this.createShape(layer);
6910 case 5: return this.createText(layer);
6911 case 6: return this.createAudio(layer);
6912 case 13: return this.createCamera(layer);
6913 case 15: return this.createFootage(layer);
6914 default: return this.createNull(layer);
6915 }
6916 };
6917 BaseRenderer.prototype.createCamera = function() {
6918 throw new Error("You're using a 3d camera. Try the html renderer.");
6919 };
6920 BaseRenderer.prototype.createAudio = function(data) {
6921 return new AudioElement(data, this.globalData, this);
6922 };
6923 BaseRenderer.prototype.createFootage = function(data) {
6924 return new FootageElement(data, this.globalData, this);
6925 };
6926 BaseRenderer.prototype.buildAllItems = function() {
6927 var i;
6928 var len = this.layers.length;
6929 for (i = 0; i < len; i += 1) this.buildItem(i);
6930 this.checkPendingElements();
6931 };
6932 BaseRenderer.prototype.includeLayers = function(newLayers) {
6933 this.completeLayers = false;
6934 var i;
6935 var len = newLayers.length;
6936 var j;
6937 var jLen = this.layers.length;
6938 for (i = 0; i < len; i += 1) {
6939 j = 0;
6940 while (j < jLen) {
6941 if (this.layers[j].id === newLayers[i].id) {
6942 this.layers[j] = newLayers[i];
6943 break;
6944 }
6945 j += 1;
6946 }
6947 }
6948 };
6949 BaseRenderer.prototype.setProjectInterface = function(pInterface) {
6950 this.globalData.projectInterface = pInterface;
6951 };
6952 BaseRenderer.prototype.initItems = function() {
6953 if (!this.globalData.progressiveLoad) this.buildAllItems();
6954 };
6955 BaseRenderer.prototype.buildElementParenting = function(element, parentName, hierarchy) {
6956 var elements = this.elements;
6957 var layers = this.layers;
6958 var i = 0;
6959 var len = layers.length;
6960 while (i < len) {
6961 if (layers[i].ind == parentName) if (!elements[i] || elements[i] === true) {
6962 this.buildItem(i);
6963 this.addPendingElement(element);
6964 } else {
6965 hierarchy.push(elements[i]);
6966 elements[i].setAsParent();
6967 if (layers[i].parent !== void 0) this.buildElementParenting(element, layers[i].parent, hierarchy);
6968 else element.setHierarchy(hierarchy);
6969 }
6970 i += 1;
6971 }
6972 };
6973 BaseRenderer.prototype.addPendingElement = function(element) {
6974 this.pendingElements.push(element);
6975 };
6976 BaseRenderer.prototype.searchExtraCompositions = function(assets) {
6977 var i;
6978 var len = assets.length;
6979 for (i = 0; i < len; i += 1) if (assets[i].xt) {
6980 var comp = this.createComp(assets[i]);
6981 comp.initExpressions();
6982 this.globalData.projectInterface.registerComposition(comp);
6983 }
6984 };
6985 BaseRenderer.prototype.getElementById = function(ind) {
6986 var i;
6987 var len = this.elements.length;
6988 for (i = 0; i < len; i += 1) if (this.elements[i].data.ind === ind) return this.elements[i];
6989 return null;
6990 };
6991 BaseRenderer.prototype.getElementByPath = function(path) {
6992 var pathValue = path.shift();
6993 var element;
6994 if (typeof pathValue === "number") element = this.elements[pathValue];
6995 else {
6996 var i;
6997 var len = this.elements.length;
6998 for (i = 0; i < len; i += 1) if (this.elements[i].data.nm === pathValue) {
6999 element = this.elements[i];
7000 break;
7001 }
7002 }
7003 if (path.length === 0) return element;
7004 return element.getElementByPath(path);
7005 };
7006 BaseRenderer.prototype.setupGlobalData = function(animData, fontsContainer) {
7007 this.globalData.fontManager = new FontManager();
7008 this.globalData.slotManager = slotFactory(animData);
7009 this.globalData.fontManager.addChars(animData.chars);
7010 this.globalData.fontManager.addFonts(animData.fonts, fontsContainer);
7011 this.globalData.getAssetData = this.animationItem.getAssetData.bind(this.animationItem);
7012 this.globalData.getAssetsPath = this.animationItem.getAssetsPath.bind(this.animationItem);
7013 this.globalData.imageLoader = this.animationItem.imagePreloader;
7014 this.globalData.audioController = this.animationItem.audioController;
7015 this.globalData.frameId = 0;
7016 this.globalData.frameRate = animData.fr;
7017 this.globalData.nm = animData.nm;
7018 this.globalData.compSize = {
7019 w: animData.w,
7020 h: animData.h
7021 };
7022 };
7023 var effectTypes = { TRANSFORM_EFFECT: "transformEFfect" };
7024 function TransformElement() {}
7025 TransformElement.prototype = {
7026 initTransform: function initTransform() {
7027 var mat = new Matrix();
7028 this.finalTransform = {
7029 mProp: this.data.ks ? TransformPropertyFactory.getTransformProperty(this, this.data.ks, this) : { o: 0 },
7030 _matMdf: false,
7031 _localMatMdf: false,
7032 _opMdf: false,
7033 mat,
7034 localMat: mat,
7035 localOpacity: 1
7036 };
7037 if (this.data.ao) this.finalTransform.mProp.autoOriented = true;
7038 if (this.data.ty !== 11) {}
7039 },
7040 renderTransform: function renderTransform() {
7041 this.finalTransform._opMdf = this.finalTransform.mProp.o._mdf || this._isFirstFrame;
7042 this.finalTransform._matMdf = this.finalTransform.mProp._mdf || this._isFirstFrame;
7043 if (this.hierarchy) {
7044 var mat;
7045 var finalMat = this.finalTransform.mat;
7046 var i = 0;
7047 var len = this.hierarchy.length;
7048 if (!this.finalTransform._matMdf) while (i < len) {
7049 if (this.hierarchy[i].finalTransform.mProp._mdf) {
7050 this.finalTransform._matMdf = true;
7051 break;
7052 }
7053 i += 1;
7054 }
7055 if (this.finalTransform._matMdf) {
7056 mat = this.finalTransform.mProp.v.props;
7057 finalMat.cloneFromProps(mat);
7058 for (i = 0; i < len; i += 1) finalMat.multiply(this.hierarchy[i].finalTransform.mProp.v);
7059 }
7060 }
7061 if (!this.localTransforms || this.finalTransform._matMdf) this.finalTransform._localMatMdf = this.finalTransform._matMdf;
7062 if (this.finalTransform._opMdf) this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;
7063 },
7064 renderLocalTransform: function renderLocalTransform() {
7065 if (this.localTransforms) {
7066 var i = 0;
7067 var len = this.localTransforms.length;
7068 this.finalTransform._localMatMdf = this.finalTransform._matMdf;
7069 if (!this.finalTransform._localMatMdf || !this.finalTransform._opMdf) while (i < len) {
7070 if (this.localTransforms[i]._mdf) this.finalTransform._localMatMdf = true;
7071 if (this.localTransforms[i]._opMdf && !this.finalTransform._opMdf) {
7072 this.finalTransform.localOpacity = this.finalTransform.mProp.o.v;
7073 this.finalTransform._opMdf = true;
7074 }
7075 i += 1;
7076 }
7077 if (this.finalTransform._localMatMdf) {
7078 var localMat = this.finalTransform.localMat;
7079 this.localTransforms[0].matrix.clone(localMat);
7080 for (i = 1; i < len; i += 1) {
7081 var lmat = this.localTransforms[i].matrix;
7082 localMat.multiply(lmat);
7083 }
7084 localMat.multiply(this.finalTransform.mat);
7085 }
7086 if (this.finalTransform._opMdf) {
7087 var localOp = this.finalTransform.localOpacity;
7088 for (i = 0; i < len; i += 1) localOp *= this.localTransforms[i].opacity * .01;
7089 this.finalTransform.localOpacity = localOp;
7090 }
7091 }
7092 },
7093 searchEffectTransforms: function searchEffectTransforms() {
7094 if (this.renderableEffectsManager) {
7095 var transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);
7096 if (transformEffects.length) {
7097 this.localTransforms = [];
7098 this.finalTransform.localMat = new Matrix();
7099 var i = 0;
7100 var len = transformEffects.length;
7101 for (i = 0; i < len; i += 1) this.localTransforms.push(transformEffects[i]);
7102 }
7103 }
7104 },
7105 globalToLocal: function globalToLocal(pt) {
7106 var transforms = [];
7107 transforms.push(this.finalTransform);
7108 var flag = true;
7109 var comp = this.comp;
7110 while (flag) if (comp.finalTransform) {
7111 if (comp.data.hasMask) transforms.splice(0, 0, comp.finalTransform);
7112 comp = comp.comp;
7113 } else flag = false;
7114 var i;
7115 var len = transforms.length;
7116 var ptNew;
7117 for (i = 0; i < len; i += 1) {
7118 ptNew = transforms[i].mat.applyToPointArray(0, 0, 0);
7119 pt = [
7120 pt[0] - ptNew[0],
7121 pt[1] - ptNew[1],
7122 0
7123 ];
7124 }
7125 return pt;
7126 },
7127 mHelper: new Matrix()
7128 };
7129 function MaskElement(data, element, globalData) {
7130 this.data = data;
7131 this.element = element;
7132 this.globalData = globalData;
7133 this.storedData = [];
7134 this.masksProperties = this.data.masksProperties || [];
7135 this.maskElement = null;
7136 var defs = this.globalData.defs;
7137 var i;
7138 var len = this.masksProperties ? this.masksProperties.length : 0;
7139 this.viewData = createSizedArray(len);
7140 this.solidPath = "";
7141 var path;
7142 var properties = this.masksProperties;
7143 var count = 0;
7144 var currentMasks = [];
7145 var j;
7146 var jLen;
7147 var layerId = createElementID();
7148 var rect;
7149 var expansor;
7150 var feMorph;
7151 var x;
7152 var maskType = "clipPath";
7153 var maskRef = "clip-path";
7154 for (i = 0; i < len; i += 1) {
7155 if (properties[i].mode !== "a" && properties[i].mode !== "n" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {
7156 maskType = "mask";
7157 maskRef = "mask";
7158 }
7159 if ((properties[i].mode === "s" || properties[i].mode === "i") && count === 0) {
7160 rect = createNS("rect");
7161 rect.setAttribute("fill", "#ffffff");
7162 rect.setAttribute("width", this.element.comp.data.w || 0);
7163 rect.setAttribute("height", this.element.comp.data.h || 0);
7164 currentMasks.push(rect);
7165 } else rect = null;
7166 path = createNS("path");
7167 if (properties[i].mode === "n") {
7168 this.viewData[i] = {
7169 op: PropertyFactory.getProp(this.element, properties[i].o, 0, .01, this.element),
7170 prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),
7171 elem: path,
7172 lastPath: ""
7173 };
7174 defs.appendChild(path);
7175 } else {
7176 count += 1;
7177 path.setAttribute("fill", properties[i].mode === "s" ? "#000000" : "#ffffff");
7178 path.setAttribute("clip-rule", "nonzero");
7179 var filterID;
7180 if (properties[i].x.k !== 0) {
7181 maskType = "mask";
7182 maskRef = "mask";
7183 x = PropertyFactory.getProp(this.element, properties[i].x, 0, null, this.element);
7184 filterID = createElementID();
7185 expansor = createNS("filter");
7186 expansor.setAttribute("id", filterID);
7187 feMorph = createNS("feMorphology");
7188 feMorph.setAttribute("operator", "erode");
7189 feMorph.setAttribute("in", "SourceGraphic");
7190 feMorph.setAttribute("radius", "0");
7191 expansor.appendChild(feMorph);
7192 defs.appendChild(expansor);
7193 path.setAttribute("stroke", properties[i].mode === "s" ? "#000000" : "#ffffff");
7194 } else {
7195 feMorph = null;
7196 x = null;
7197 }
7198 this.storedData[i] = {
7199 elem: path,
7200 x,
7201 expan: feMorph,
7202 lastPath: "",
7203 lastOperator: "",
7204 filterId: filterID,
7205 lastRadius: 0
7206 };
7207 if (properties[i].mode === "i") {
7208 jLen = currentMasks.length;
7209 var g = createNS("g");
7210 for (j = 0; j < jLen; j += 1) g.appendChild(currentMasks[j]);
7211 var mask = createNS("mask");
7212 mask.setAttribute("mask-type", "alpha");
7213 mask.setAttribute("id", layerId + "_" + count);
7214 mask.appendChild(path);
7215 defs.appendChild(mask);
7216 g.setAttribute("mask", "url(" + getLocationHref() + "#" + layerId + "_" + count + ")");
7217 currentMasks.length = 0;
7218 currentMasks.push(g);
7219 } else currentMasks.push(path);
7220 if (properties[i].inv && !this.solidPath) this.solidPath = this.createLayerSolidPath();
7221 this.viewData[i] = {
7222 elem: path,
7223 lastPath: "",
7224 op: PropertyFactory.getProp(this.element, properties[i].o, 0, .01, this.element),
7225 prop: ShapePropertyFactory.getShapeProp(this.element, properties[i], 3),
7226 invRect: rect
7227 };
7228 if (!this.viewData[i].prop.k) this.drawPath(properties[i], this.viewData[i].prop.v, this.viewData[i]);
7229 }
7230 }
7231 this.maskElement = createNS(maskType);
7232 len = currentMasks.length;
7233 for (i = 0; i < len; i += 1) this.maskElement.appendChild(currentMasks[i]);
7234 if (count > 0) {
7235 this.maskElement.setAttribute("id", layerId);
7236 this.element.maskedElement.setAttribute(maskRef, "url(" + getLocationHref() + "#" + layerId + ")");
7237 defs.appendChild(this.maskElement);
7238 }
7239 if (this.viewData.length) this.element.addRenderableComponent(this);
7240 }
7241 MaskElement.prototype.getMaskProperty = function(pos) {
7242 return this.viewData[pos].prop;
7243 };
7244 MaskElement.prototype.renderFrame = function(isFirstFrame) {
7245 var finalMat = this.element.finalTransform.mat;
7246 var i;
7247 var len = this.masksProperties.length;
7248 for (i = 0; i < len; i += 1) {
7249 if (this.viewData[i].prop._mdf || isFirstFrame) this.drawPath(this.masksProperties[i], this.viewData[i].prop.v, this.viewData[i]);
7250 if (this.viewData[i].op._mdf || isFirstFrame) this.viewData[i].elem.setAttribute("fill-opacity", this.viewData[i].op.v);
7251 if (this.masksProperties[i].mode !== "n") {
7252 if (this.viewData[i].invRect && (this.element.finalTransform.mProp._mdf || isFirstFrame)) this.viewData[i].invRect.setAttribute("transform", finalMat.getInverseMatrix().to2dCSS());
7253 if (this.storedData[i].x && (this.storedData[i].x._mdf || isFirstFrame)) {
7254 var feMorph = this.storedData[i].expan;
7255 if (this.storedData[i].x.v < 0) {
7256 if (this.storedData[i].lastOperator !== "erode") {
7257 this.storedData[i].lastOperator = "erode";
7258 this.storedData[i].elem.setAttribute("filter", "url(" + getLocationHref() + "#" + this.storedData[i].filterId + ")");
7259 }
7260 feMorph.setAttribute("radius", -this.storedData[i].x.v);
7261 } else {
7262 if (this.storedData[i].lastOperator !== "dilate") {
7263 this.storedData[i].lastOperator = "dilate";
7264 this.storedData[i].elem.setAttribute("filter", null);
7265 }
7266 this.storedData[i].elem.setAttribute("stroke-width", this.storedData[i].x.v * 2);
7267 }
7268 }
7269 }
7270 }
7271 };
7272 MaskElement.prototype.getMaskelement = function() {
7273 return this.maskElement;
7274 };
7275 MaskElement.prototype.createLayerSolidPath = function() {
7276 var path = "M0,0 ";
7277 path += " h" + this.globalData.compSize.w;
7278 path += " v" + this.globalData.compSize.h;
7279 path += " h-" + this.globalData.compSize.w;
7280 path += " v-" + this.globalData.compSize.h + " ";
7281 return path;
7282 };
7283 MaskElement.prototype.drawPath = function(pathData, pathNodes, viewData) {
7284 var pathString = " M" + pathNodes.v[0][0] + "," + pathNodes.v[0][1];
7285 var i;
7286 var len = pathNodes._length;
7287 for (i = 1; i < len; i += 1) 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];
7288 if (pathNodes.c && len > 1) 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];
7289 if (viewData.lastPath !== pathString) {
7290 var pathShapeValue = "";
7291 if (viewData.elem) {
7292 if (pathNodes.c) pathShapeValue = pathData.inv ? this.solidPath + pathString : pathString;
7293 viewData.elem.setAttribute("d", pathShapeValue);
7294 }
7295 viewData.lastPath = pathString;
7296 }
7297 };
7298 MaskElement.prototype.destroy = function() {
7299 this.element = null;
7300 this.globalData = null;
7301 this.maskElement = null;
7302 this.data = null;
7303 this.masksProperties = null;
7304 };
7305 var filtersFactory = function() {
7306 var ob = {};
7307 ob.createFilter = createFilter;
7308 ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;
7309 function createFilter(filId, skipCoordinates) {
7310 var fil = createNS("filter");
7311 fil.setAttribute("id", filId);
7312 if (skipCoordinates !== true) {
7313 fil.setAttribute("filterUnits", "objectBoundingBox");
7314 fil.setAttribute("x", "0%");
7315 fil.setAttribute("y", "0%");
7316 fil.setAttribute("width", "100%");
7317 fil.setAttribute("height", "100%");
7318 }
7319 return fil;
7320 }
7321 function createAlphaToLuminanceFilter() {
7322 var feColorMatrix = createNS("feColorMatrix");
7323 feColorMatrix.setAttribute("type", "matrix");
7324 feColorMatrix.setAttribute("color-interpolation-filters", "sRGB");
7325 feColorMatrix.setAttribute("values", "0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1");
7326 return feColorMatrix;
7327 }
7328 return ob;
7329 }();
7330 var featureSupport = function() {
7331 var ob = {
7332 maskType: true,
7333 svgLumaHidden: true,
7334 offscreenCanvas: typeof OffscreenCanvas !== "undefined"
7335 };
7336 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)) ob.maskType = false;
7337 if (/firefox/i.test(navigator.userAgent)) ob.svgLumaHidden = false;
7338 return ob;
7339 }();
7340 var registeredEffects$1 = {};
7341 var idPrefix = "filter_result_";
7342 function SVGEffects(elem) {
7343 var i;
7344 var source = "SourceGraphic";
7345 var len = elem.data.ef ? elem.data.ef.length : 0;
7346 var filId = createElementID();
7347 var fil = filtersFactory.createFilter(filId, true);
7348 var count = 0;
7349 this.filters = [];
7350 var filterManager;
7351 for (i = 0; i < len; i += 1) {
7352 filterManager = null;
7353 var type = elem.data.ef[i].ty;
7354 if (registeredEffects$1[type]) {
7355 var Effect = registeredEffects$1[type].effect;
7356 filterManager = new Effect(fil, elem.effectsManager.effectElements[i], elem, idPrefix + count, source);
7357 source = idPrefix + count;
7358 if (registeredEffects$1[type].countsAsEffect) count += 1;
7359 }
7360 if (filterManager) this.filters.push(filterManager);
7361 }
7362 if (count) {
7363 elem.globalData.defs.appendChild(fil);
7364 elem.layerElement.setAttribute("filter", "url(" + getLocationHref() + "#" + filId + ")");
7365 }
7366 if (this.filters.length) elem.addRenderableComponent(this);
7367 }
7368 SVGEffects.prototype.renderFrame = function(_isFirstFrame) {
7369 var i;
7370 var len = this.filters.length;
7371 for (i = 0; i < len; i += 1) this.filters[i].renderFrame(_isFirstFrame);
7372 };
7373 SVGEffects.prototype.getEffects = function(type) {
7374 var i;
7375 var len = this.filters.length;
7376 var effects = [];
7377 for (i = 0; i < len; i += 1) if (this.filters[i].type === type) effects.push(this.filters[i]);
7378 return effects;
7379 };
7380 function registerEffect$1(id, effect, countsAsEffect) {
7381 registeredEffects$1[id] = {
7382 effect,
7383 countsAsEffect
7384 };
7385 }
7386 function SVGBaseElement() {}
7387 SVGBaseElement.prototype = {
7388 initRendererElement: function initRendererElement() {
7389 this.layerElement = createNS("g");
7390 },
7391 createContainerElements: function createContainerElements() {
7392 this.matteElement = createNS("g");
7393 this.transformedElement = this.layerElement;
7394 this.maskedElement = this.layerElement;
7395 this._sizeChanged = false;
7396 var layerElementParent = null;
7397 if (this.data.td) {
7398 this.matteMasks = {};
7399 var gg = createNS("g");
7400 gg.setAttribute("id", this.layerId);
7401 gg.appendChild(this.layerElement);
7402 layerElementParent = gg;
7403 this.globalData.defs.appendChild(gg);
7404 } else if (this.data.tt) {
7405 this.matteElement.appendChild(this.layerElement);
7406 layerElementParent = this.matteElement;
7407 this.baseElement = this.matteElement;
7408 } else this.baseElement = this.layerElement;
7409 if (this.data.ln) this.layerElement.setAttribute("id", this.data.ln);
7410 if (this.data.cl) this.layerElement.setAttribute("class", this.data.cl);
7411 if (this.data.ty === 0 && !this.data.hd) {
7412 var cp = createNS("clipPath");
7413 var pt = createNS("path");
7414 pt.setAttribute("d", "M0,0 L" + this.data.w + ",0 L" + this.data.w + "," + this.data.h + " L0," + this.data.h + "z");
7415 var clipId = createElementID();
7416 cp.setAttribute("id", clipId);
7417 cp.appendChild(pt);
7418 this.globalData.defs.appendChild(cp);
7419 if (this.checkMasks()) {
7420 var cpGroup = createNS("g");
7421 cpGroup.setAttribute("clip-path", "url(" + getLocationHref() + "#" + clipId + ")");
7422 cpGroup.appendChild(this.layerElement);
7423 this.transformedElement = cpGroup;
7424 if (layerElementParent) layerElementParent.appendChild(this.transformedElement);
7425 else this.baseElement = this.transformedElement;
7426 } else this.layerElement.setAttribute("clip-path", "url(" + getLocationHref() + "#" + clipId + ")");
7427 }
7428 if (this.data.bm !== 0) this.setBlendMode();
7429 },
7430 renderElement: function renderElement() {
7431 if (this.finalTransform._localMatMdf) this.transformedElement.setAttribute("transform", this.finalTransform.localMat.to2dCSS());
7432 if (this.finalTransform._opMdf) this.transformedElement.setAttribute("opacity", this.finalTransform.localOpacity);
7433 },
7434 destroyBaseElement: function destroyBaseElement() {
7435 this.layerElement = null;
7436 this.matteElement = null;
7437 this.maskManager.destroy();
7438 },
7439 getBaseElement: function getBaseElement() {
7440 if (this.data.hd) return null;
7441 return this.baseElement;
7442 },
7443 createRenderableComponents: function createRenderableComponents() {
7444 this.maskManager = new MaskElement(this.data, this, this.globalData);
7445 this.renderableEffectsManager = new SVGEffects(this);
7446 this.searchEffectTransforms();
7447 },
7448 getMatte: function getMatte(matteType) {
7449 if (!this.matteMasks) this.matteMasks = {};
7450 if (!this.matteMasks[matteType]) {
7451 var id = this.layerId + "_" + matteType;
7452 var filId;
7453 var fil;
7454 var useElement;
7455 var gg;
7456 if (matteType === 1 || matteType === 3) {
7457 var masker = createNS("mask");
7458 masker.setAttribute("id", id);
7459 masker.setAttribute("mask-type", matteType === 3 ? "luminance" : "alpha");
7460 useElement = createNS("use");
7461 useElement.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId);
7462 masker.appendChild(useElement);
7463 this.globalData.defs.appendChild(masker);
7464 if (!featureSupport.maskType && matteType === 1) {
7465 masker.setAttribute("mask-type", "luminance");
7466 filId = createElementID();
7467 fil = filtersFactory.createFilter(filId);
7468 this.globalData.defs.appendChild(fil);
7469 fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());
7470 gg = createNS("g");
7471 gg.appendChild(useElement);
7472 masker.appendChild(gg);
7473 gg.setAttribute("filter", "url(" + getLocationHref() + "#" + filId + ")");
7474 }
7475 } else if (matteType === 2) {
7476 var maskGroup = createNS("mask");
7477 maskGroup.setAttribute("id", id);
7478 maskGroup.setAttribute("mask-type", "alpha");
7479 var maskGrouper = createNS("g");
7480 maskGroup.appendChild(maskGrouper);
7481 filId = createElementID();
7482 fil = filtersFactory.createFilter(filId);
7483 var feCTr = createNS("feComponentTransfer");
7484 feCTr.setAttribute("in", "SourceGraphic");
7485 fil.appendChild(feCTr);
7486 var feFunc = createNS("feFuncA");
7487 feFunc.setAttribute("type", "table");
7488 feFunc.setAttribute("tableValues", "1.0 0.0");
7489 feCTr.appendChild(feFunc);
7490 this.globalData.defs.appendChild(fil);
7491 var alphaRect = createNS("rect");
7492 alphaRect.setAttribute("width", this.comp.data.w);
7493 alphaRect.setAttribute("height", this.comp.data.h);
7494 alphaRect.setAttribute("x", "0");
7495 alphaRect.setAttribute("y", "0");
7496 alphaRect.setAttribute("fill", "#ffffff");
7497 alphaRect.setAttribute("opacity", "0");
7498 maskGrouper.setAttribute("filter", "url(" + getLocationHref() + "#" + filId + ")");
7499 maskGrouper.appendChild(alphaRect);
7500 useElement = createNS("use");
7501 useElement.setAttributeNS("http://www.w3.org/1999/xlink", "href", "#" + this.layerId);
7502 maskGrouper.appendChild(useElement);
7503 if (!featureSupport.maskType) {
7504 maskGroup.setAttribute("mask-type", "luminance");
7505 fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());
7506 gg = createNS("g");
7507 maskGrouper.appendChild(alphaRect);
7508 gg.appendChild(this.layerElement);
7509 maskGrouper.appendChild(gg);
7510 }
7511 this.globalData.defs.appendChild(maskGroup);
7512 }
7513 this.matteMasks[matteType] = id;
7514 }
7515 return this.matteMasks[matteType];
7516 },
7517 setMatte: function setMatte(id) {
7518 if (!this.matteElement) return;
7519 this.matteElement.setAttribute("mask", "url(" + getLocationHref() + "#" + id + ")");
7520 }
7521 };
7522 /**
7523 * @file
7524 * Handles AE's layer parenting property.
7525 *
7526 */
7527 function HierarchyElement() {}
7528 HierarchyElement.prototype = {
7529 /**
7530 * @function
7531 * Initializes hierarchy properties
7532 *
7533 */
7534 initHierarchy: function initHierarchy() {
7535 this.hierarchy = [];
7536 this._isParent = false;
7537 this.checkParenting();
7538 },
7539 /**
7540 * @function
7541 * Sets layer's hierarchy.
7542 * @param {array} hierarch
7543 * layer's parent list
7544 *
7545 */
7546 setHierarchy: function setHierarchy(hierarchy) {
7547 this.hierarchy = hierarchy;
7548 },
7549 /**
7550 * @function
7551 * Sets layer as parent.
7552 *
7553 */
7554 setAsParent: function setAsParent() {
7555 this._isParent = true;
7556 },
7557 /**
7558 * @function
7559 * Searches layer's parenting chain
7560 *
7561 */
7562 checkParenting: function checkParenting() {
7563 if (this.data.parent !== void 0) this.comp.buildElementParenting(this, this.data.parent, []);
7564 }
7565 };
7566 function RenderableDOMElement() {}
7567 (function() {
7568 extendPrototype([RenderableElement, createProxyFunction({
7569 initElement: function initElement(data, globalData, comp) {
7570 this.initFrame();
7571 this.initBaseData(data, globalData, comp);
7572 this.initTransform(data, globalData, comp);
7573 this.initHierarchy();
7574 this.initRenderable();
7575 this.initRendererElement();
7576 this.createContainerElements();
7577 this.createRenderableComponents();
7578 this.createContent();
7579 this.hide();
7580 },
7581 hide: function hide() {
7582 if (!this.hidden && (!this.isInRange || this.isTransparent)) {
7583 var elem = this.baseElement || this.layerElement;
7584 elem.style.display = "none";
7585 this.hidden = true;
7586 }
7587 },
7588 show: function show() {
7589 if (this.isInRange && !this.isTransparent) {
7590 if (!this.data.hd) {
7591 var elem = this.baseElement || this.layerElement;
7592 elem.style.display = "block";
7593 }
7594 this.hidden = false;
7595 this._isFirstFrame = true;
7596 }
7597 },
7598 renderFrame: function renderFrame() {
7599 if (this.data.hd || this.hidden) return;
7600 this.renderTransform();
7601 this.renderRenderable();
7602 this.renderLocalTransform();
7603 this.renderElement();
7604 this.renderInnerContent();
7605 if (this._isFirstFrame) this._isFirstFrame = false;
7606 },
7607 renderInnerContent: function renderInnerContent() {},
7608 prepareFrame: function prepareFrame(num) {
7609 this._mdf = false;
7610 this.prepareRenderableFrame(num);
7611 this.prepareProperties(num, this.isInRange);
7612 this.checkTransparency();
7613 },
7614 destroy: function destroy() {
7615 this.innerElem = null;
7616 this.destroyBaseElement();
7617 }
7618 })], RenderableDOMElement);
7619 })();
7620 function IImageElement(data, globalData, comp) {
7621 this.assetData = globalData.getAssetData(data.refId);
7622 if (this.assetData && this.assetData.sid) this.assetData = globalData.slotManager.getProp(this.assetData);
7623 this.initElement(data, globalData, comp);
7624 this.sourceRect = {
7625 top: 0,
7626 left: 0,
7627 width: this.assetData.w,
7628 height: this.assetData.h
7629 };
7630 }
7631 extendPrototype([
7632 BaseElement,
7633 TransformElement,
7634 SVGBaseElement,
7635 HierarchyElement,
7636 FrameElement,
7637 RenderableDOMElement
7638 ], IImageElement);
7639 IImageElement.prototype.createContent = function() {
7640 var assetPath = this.globalData.getAssetsPath(this.assetData);
7641 this.innerElem = createNS("image");
7642 this.innerElem.setAttribute("width", this.assetData.w + "px");
7643 this.innerElem.setAttribute("height", this.assetData.h + "px");
7644 this.innerElem.setAttribute("preserveAspectRatio", this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio);
7645 this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", assetPath);
7646 this.layerElement.appendChild(this.innerElem);
7647 };
7648 IImageElement.prototype.sourceRectAtTime = function() {
7649 return this.sourceRect;
7650 };
7651 function ProcessedElement(element, position) {
7652 this.elem = element;
7653 this.pos = position;
7654 }
7655 function IShapeElement() {}
7656 IShapeElement.prototype = {
7657 addShapeToModifiers: function addShapeToModifiers(data) {
7658 var i;
7659 var len = this.shapeModifiers.length;
7660 for (i = 0; i < len; i += 1) this.shapeModifiers[i].addShape(data);
7661 },
7662 isShapeInAnimatedModifiers: function isShapeInAnimatedModifiers(data) {
7663 var i = 0;
7664 var len = this.shapeModifiers.length;
7665 while (i < len) if (this.shapeModifiers[i].isAnimatedWithShape(data)) return true;
7666 return false;
7667 },
7668 renderModifiers: function renderModifiers() {
7669 if (!this.shapeModifiers.length) return;
7670 var i;
7671 var len = this.shapes.length;
7672 for (i = 0; i < len; i += 1) this.shapes[i].sh.reset();
7673 len = this.shapeModifiers.length;
7674 var shouldBreakProcess;
7675 for (i = len - 1; i >= 0; i -= 1) {
7676 shouldBreakProcess = this.shapeModifiers[i].processShapes(this._isFirstFrame);
7677 if (shouldBreakProcess) break;
7678 }
7679 },
7680 searchProcessedElement: function searchProcessedElement(elem) {
7681 var elements = this.processedElements;
7682 var i = 0;
7683 var len = elements.length;
7684 while (i < len) {
7685 if (elements[i].elem === elem) return elements[i].pos;
7686 i += 1;
7687 }
7688 return 0;
7689 },
7690 addProcessedElement: function addProcessedElement(elem, pos) {
7691 var elements = this.processedElements;
7692 var i = elements.length;
7693 while (i) {
7694 i -= 1;
7695 if (elements[i].elem === elem) {
7696 elements[i].pos = pos;
7697 return;
7698 }
7699 }
7700 elements.push(new ProcessedElement(elem, pos));
7701 },
7702 prepareFrame: function prepareFrame(num) {
7703 this.prepareRenderableFrame(num);
7704 this.prepareProperties(num, this.isInRange);
7705 }
7706 };
7707 var lineCapEnum = {
7708 1: "butt",
7709 2: "round",
7710 3: "square"
7711 };
7712 var lineJoinEnum = {
7713 1: "miter",
7714 2: "round",
7715 3: "bevel"
7716 };
7717 function SVGShapeData(transformers, level, shape) {
7718 this.caches = [];
7719 this.styles = [];
7720 this.transformers = transformers;
7721 this.lStr = "";
7722 this.sh = shape;
7723 this.lvl = level;
7724 this._isAnimated = !!shape.k;
7725 var i = 0;
7726 var len = transformers.length;
7727 while (i < len) {
7728 if (transformers[i].mProps.dynamicProperties.length) {
7729 this._isAnimated = true;
7730 break;
7731 }
7732 i += 1;
7733 }
7734 }
7735 SVGShapeData.prototype.setAsAnimated = function() {
7736 this._isAnimated = true;
7737 };
7738 function SVGStyleData(data, level) {
7739 this.data = data;
7740 this.type = data.ty;
7741 this.d = "";
7742 this.lvl = level;
7743 this._mdf = false;
7744 this.closed = data.hd === true;
7745 this.pElem = createNS("path");
7746 this.msElem = null;
7747 }
7748 SVGStyleData.prototype.reset = function() {
7749 this.d = "";
7750 this._mdf = false;
7751 };
7752 function DashProperty(elem, data, renderer, container) {
7753 this.elem = elem;
7754 this.frameId = -1;
7755 this.dataProps = createSizedArray(data.length);
7756 this.renderer = renderer;
7757 this.k = false;
7758 this.dashStr = "";
7759 this.dashArray = createTypedArray("float32", data.length ? data.length - 1 : 0);
7760 this.dashoffset = createTypedArray("float32", 1);
7761 this.initDynamicPropertyContainer(container);
7762 var i;
7763 var len = data.length || 0;
7764 var prop;
7765 for (i = 0; i < len; i += 1) {
7766 prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this);
7767 this.k = prop.k || this.k;
7768 this.dataProps[i] = {
7769 n: data[i].n,
7770 p: prop
7771 };
7772 }
7773 if (!this.k) this.getValue(true);
7774 this._isAnimated = this.k;
7775 }
7776 DashProperty.prototype.getValue = function(forceRender) {
7777 if (this.elem.globalData.frameId === this.frameId && !forceRender) return;
7778 this.frameId = this.elem.globalData.frameId;
7779 this.iterateDynamicProperties();
7780 this._mdf = this._mdf || forceRender;
7781 if (this._mdf) {
7782 var i = 0;
7783 var len = this.dataProps.length;
7784 if (this.renderer === "svg") this.dashStr = "";
7785 for (i = 0; i < len; i += 1) if (this.dataProps[i].n !== "o") if (this.renderer === "svg") this.dashStr += " " + this.dataProps[i].p.v;
7786 else this.dashArray[i] = this.dataProps[i].p.v;
7787 else this.dashoffset[0] = this.dataProps[i].p.v;
7788 }
7789 };
7790 extendPrototype([DynamicPropertyContainer], DashProperty);
7791 function SVGStrokeStyleData(elem, data, styleOb) {
7792 this.initDynamicPropertyContainer(elem);
7793 this.getValue = this.iterateDynamicProperties;
7794 this.o = PropertyFactory.getProp(elem, data.o, 0, .01, this);
7795 this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);
7796 this.d = new DashProperty(elem, data.d || {}, "svg", this);
7797 this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);
7798 this.style = styleOb;
7799 this._isAnimated = !!this._isAnimated;
7800 }
7801 extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);
7802 function SVGFillStyleData(elem, data, styleOb) {
7803 this.initDynamicPropertyContainer(elem);
7804 this.getValue = this.iterateDynamicProperties;
7805 this.o = PropertyFactory.getProp(elem, data.o, 0, .01, this);
7806 this.c = PropertyFactory.getProp(elem, data.c, 1, 255, this);
7807 this.style = styleOb;
7808 }
7809 extendPrototype([DynamicPropertyContainer], SVGFillStyleData);
7810 function SVGNoStyleData(elem, data, styleOb) {
7811 this.initDynamicPropertyContainer(elem);
7812 this.getValue = this.iterateDynamicProperties;
7813 this.style = styleOb;
7814 }
7815 extendPrototype([DynamicPropertyContainer], SVGNoStyleData);
7816 function GradientProperty(elem, data, container) {
7817 this.data = data;
7818 this.c = createTypedArray("uint8c", data.p * 4);
7819 var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;
7820 this.o = createTypedArray("float32", cLength);
7821 this._cmdf = false;
7822 this._omdf = false;
7823 this._collapsable = this.checkCollapsable();
7824 this._hasOpacity = cLength;
7825 this.initDynamicPropertyContainer(container);
7826 this.prop = PropertyFactory.getProp(elem, data.k, 1, null, this);
7827 this.k = this.prop.k;
7828 this.getValue(true);
7829 }
7830 GradientProperty.prototype.comparePoints = function(values, points) {
7831 var i = 0;
7832 var len = this.o.length / 2;
7833 var diff;
7834 while (i < len) {
7835 diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);
7836 if (diff > .01) return false;
7837 i += 1;
7838 }
7839 return true;
7840 };
7841 GradientProperty.prototype.checkCollapsable = function() {
7842 if (this.o.length / 2 !== this.c.length / 4) return false;
7843 if (this.data.k.k[0].s) {
7844 var i = 0;
7845 var len = this.data.k.k.length;
7846 while (i < len) {
7847 if (!this.comparePoints(this.data.k.k[i].s, this.data.p)) return false;
7848 i += 1;
7849 }
7850 } else if (!this.comparePoints(this.data.k.k, this.data.p)) return false;
7851 return true;
7852 };
7853 GradientProperty.prototype.getValue = function(forceRender) {
7854 this.prop.getValue();
7855 this._mdf = false;
7856 this._cmdf = false;
7857 this._omdf = false;
7858 if (this.prop._mdf || forceRender) {
7859 var i;
7860 var len = this.data.p * 4;
7861 var mult;
7862 var val;
7863 for (i = 0; i < len; i += 1) {
7864 mult = i % 4 === 0 ? 100 : 255;
7865 val = Math.round(this.prop.v[i] * mult);
7866 if (this.c[i] !== val) {
7867 this.c[i] = val;
7868 this._cmdf = !forceRender;
7869 }
7870 }
7871 if (this.o.length) {
7872 len = this.prop.v.length;
7873 for (i = this.data.p * 4; i < len; i += 1) {
7874 mult = i % 2 === 0 ? 100 : 1;
7875 val = i % 2 === 0 ? Math.round(this.prop.v[i] * 100) : this.prop.v[i];
7876 if (this.o[i - this.data.p * 4] !== val) {
7877 this.o[i - this.data.p * 4] = val;
7878 this._omdf = !forceRender;
7879 }
7880 }
7881 }
7882 this._mdf = !forceRender;
7883 }
7884 };
7885 extendPrototype([DynamicPropertyContainer], GradientProperty);
7886 function SVGGradientFillStyleData(elem, data, styleOb) {
7887 this.initDynamicPropertyContainer(elem);
7888 this.getValue = this.iterateDynamicProperties;
7889 this.initGradientData(elem, data, styleOb);
7890 }
7891 SVGGradientFillStyleData.prototype.initGradientData = function(elem, data, styleOb) {
7892 this.o = PropertyFactory.getProp(elem, data.o, 0, .01, this);
7893 this.s = PropertyFactory.getProp(elem, data.s, 1, null, this);
7894 this.e = PropertyFactory.getProp(elem, data.e, 1, null, this);
7895 this.h = PropertyFactory.getProp(elem, data.h || { k: 0 }, 0, .01, this);
7896 this.a = PropertyFactory.getProp(elem, data.a || { k: 0 }, 0, degToRads, this);
7897 this.g = new GradientProperty(elem, data.g, this);
7898 this.style = styleOb;
7899 this.stops = [];
7900 this.setGradientData(styleOb.pElem, data);
7901 this.setGradientOpacity(data, styleOb);
7902 this._isAnimated = !!this._isAnimated;
7903 };
7904 SVGGradientFillStyleData.prototype.setGradientData = function(pathElement, data) {
7905 var gradientId = createElementID();
7906 var gfill = createNS(data.t === 1 ? "linearGradient" : "radialGradient");
7907 gfill.setAttribute("id", gradientId);
7908 gfill.setAttribute("spreadMethod", "pad");
7909 gfill.setAttribute("gradientUnits", "userSpaceOnUse");
7910 var stops = [];
7911 var stop;
7912 var j;
7913 var jLen = data.g.p * 4;
7914 for (j = 0; j < jLen; j += 4) {
7915 stop = createNS("stop");
7916 gfill.appendChild(stop);
7917 stops.push(stop);
7918 }
7919 pathElement.setAttribute(data.ty === "gf" ? "fill" : "stroke", "url(" + getLocationHref() + "#" + gradientId + ")");
7920 this.gf = gfill;
7921 this.cst = stops;
7922 };
7923 SVGGradientFillStyleData.prototype.setGradientOpacity = function(data, styleOb) {
7924 if (this.g._hasOpacity && !this.g._collapsable) {
7925 var stop;
7926 var j;
7927 var jLen;
7928 var mask = createNS("mask");
7929 var maskElement = createNS("path");
7930 mask.appendChild(maskElement);
7931 var opacityId = createElementID();
7932 var maskId = createElementID();
7933 mask.setAttribute("id", maskId);
7934 var opFill = createNS(data.t === 1 ? "linearGradient" : "radialGradient");
7935 opFill.setAttribute("id", opacityId);
7936 opFill.setAttribute("spreadMethod", "pad");
7937 opFill.setAttribute("gradientUnits", "userSpaceOnUse");
7938 jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;
7939 var stops = this.stops;
7940 for (j = data.g.p * 4; j < jLen; j += 2) {
7941 stop = createNS("stop");
7942 stop.setAttribute("stop-color", "rgb(255,255,255)");
7943 opFill.appendChild(stop);
7944 stops.push(stop);
7945 }
7946 maskElement.setAttribute(data.ty === "gf" ? "fill" : "stroke", "url(" + getLocationHref() + "#" + opacityId + ")");
7947 if (data.ty === "gs") {
7948 maskElement.setAttribute("stroke-linecap", lineCapEnum[data.lc || 2]);
7949 maskElement.setAttribute("stroke-linejoin", lineJoinEnum[data.lj || 2]);
7950 if (data.lj === 1) maskElement.setAttribute("stroke-miterlimit", data.ml);
7951 }
7952 this.of = opFill;
7953 this.ms = mask;
7954 this.ost = stops;
7955 this.maskId = maskId;
7956 styleOb.msElem = maskElement;
7957 }
7958 };
7959 extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);
7960 function SVGGradientStrokeStyleData(elem, data, styleOb) {
7961 this.initDynamicPropertyContainer(elem);
7962 this.getValue = this.iterateDynamicProperties;
7963 this.w = PropertyFactory.getProp(elem, data.w, 0, null, this);
7964 this.d = new DashProperty(elem, data.d || {}, "svg", this);
7965 this.initGradientData(elem, data, styleOb);
7966 this._isAnimated = !!this._isAnimated;
7967 }
7968 extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);
7969 function ShapeGroupData() {
7970 this.it = [];
7971 this.prevViewData = [];
7972 this.gr = createNS("g");
7973 }
7974 function SVGTransformData(mProps, op, container) {
7975 this.transform = {
7976 mProps,
7977 op,
7978 container
7979 };
7980 this.elements = [];
7981 this._isAnimated = this.transform.mProps.dynamicProperties.length || this.transform.op.effectsSequence.length;
7982 }
7983 var buildShapeString = function buildShapeString(pathNodes, length, closed, mat) {
7984 if (length === 0) return "";
7985 var _o = pathNodes.o;
7986 var _i = pathNodes.i;
7987 var _v = pathNodes.v;
7988 var i;
7989 var shapeString = " M" + mat.applyToPointStringified(_v[0][0], _v[0][1]);
7990 for (i = 1; i < length; i += 1) 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]);
7991 if (closed && length) {
7992 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]);
7993 shapeString += "z";
7994 }
7995 return shapeString;
7996 };
7997 var SVGElementsRenderer = function() {
7998 var _identityMatrix = new Matrix();
7999 var _matrixHelper = new Matrix();
8000 var ob = { createRenderFunction };
8001 function createRenderFunction(data) {
8002 switch (data.ty) {
8003 case "fl": return renderFill;
8004 case "gf": return renderGradient;
8005 case "gs": return renderGradientStroke;
8006 case "st": return renderStroke;
8007 case "sh":
8008 case "el":
8009 case "rc":
8010 case "sr": return renderPath;
8011 case "tr": return renderContentTransform;
8012 case "no": return renderNoop;
8013 default: return null;
8014 }
8015 }
8016 function renderContentTransform(styleData, itemData, isFirstFrame) {
8017 if (isFirstFrame || itemData.transform.op._mdf) itemData.transform.container.setAttribute("opacity", itemData.transform.op.v);
8018 if (isFirstFrame || itemData.transform.mProps._mdf) itemData.transform.container.setAttribute("transform", itemData.transform.mProps.v.to2dCSS());
8019 }
8020 function renderNoop() {}
8021 function renderPath(styleData, itemData, isFirstFrame) {
8022 var j;
8023 var jLen;
8024 var pathStringTransformed;
8025 var redraw;
8026 var pathNodes;
8027 var l;
8028 var lLen = itemData.styles.length;
8029 var lvl = itemData.lvl;
8030 var paths;
8031 var mat;
8032 var iterations;
8033 var k;
8034 for (l = 0; l < lLen; l += 1) {
8035 redraw = itemData.sh._mdf || isFirstFrame;
8036 if (itemData.styles[l].lvl < lvl) {
8037 mat = _matrixHelper.reset();
8038 iterations = lvl - itemData.styles[l].lvl;
8039 k = itemData.transformers.length - 1;
8040 while (!redraw && iterations > 0) {
8041 redraw = itemData.transformers[k].mProps._mdf || redraw;
8042 iterations -= 1;
8043 k -= 1;
8044 }
8045 if (redraw) {
8046 iterations = lvl - itemData.styles[l].lvl;
8047 k = itemData.transformers.length - 1;
8048 while (iterations > 0) {
8049 mat.multiply(itemData.transformers[k].mProps.v);
8050 iterations -= 1;
8051 k -= 1;
8052 }
8053 }
8054 } else mat = _identityMatrix;
8055 paths = itemData.sh.paths;
8056 jLen = paths._length;
8057 if (redraw) {
8058 pathStringTransformed = "";
8059 for (j = 0; j < jLen; j += 1) {
8060 pathNodes = paths.shapes[j];
8061 if (pathNodes && pathNodes._length) pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);
8062 }
8063 itemData.caches[l] = pathStringTransformed;
8064 } else pathStringTransformed = itemData.caches[l];
8065 itemData.styles[l].d += styleData.hd === true ? "" : pathStringTransformed;
8066 itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;
8067 }
8068 }
8069 function renderFill(styleData, itemData, isFirstFrame) {
8070 var styleElem = itemData.style;
8071 if (itemData.c._mdf || isFirstFrame) styleElem.pElem.setAttribute("fill", "rgb(" + bmFloor(itemData.c.v[0]) + "," + bmFloor(itemData.c.v[1]) + "," + bmFloor(itemData.c.v[2]) + ")");
8072 if (itemData.o._mdf || isFirstFrame) styleElem.pElem.setAttribute("fill-opacity", itemData.o.v);
8073 }
8074 function renderGradientStroke(styleData, itemData, isFirstFrame) {
8075 renderGradient(styleData, itemData, isFirstFrame);
8076 renderStroke(styleData, itemData, isFirstFrame);
8077 }
8078 function renderGradient(styleData, itemData, isFirstFrame) {
8079 var gfill = itemData.gf;
8080 var hasOpacity = itemData.g._hasOpacity;
8081 var pt1 = itemData.s.v;
8082 var pt2 = itemData.e.v;
8083 if (itemData.o._mdf || isFirstFrame) {
8084 var attr = styleData.ty === "gf" ? "fill-opacity" : "stroke-opacity";
8085 itemData.style.pElem.setAttribute(attr, itemData.o.v);
8086 }
8087 if (itemData.s._mdf || isFirstFrame) {
8088 var attr1 = styleData.t === 1 ? "x1" : "cx";
8089 var attr2 = attr1 === "x1" ? "y1" : "cy";
8090 gfill.setAttribute(attr1, pt1[0]);
8091 gfill.setAttribute(attr2, pt1[1]);
8092 if (hasOpacity && !itemData.g._collapsable) {
8093 itemData.of.setAttribute(attr1, pt1[0]);
8094 itemData.of.setAttribute(attr2, pt1[1]);
8095 }
8096 }
8097 var stops;
8098 var i;
8099 var len;
8100 var stop;
8101 if (itemData.g._cmdf || isFirstFrame) {
8102 stops = itemData.cst;
8103 var cValues = itemData.g.c;
8104 len = stops.length;
8105 for (i = 0; i < len; i += 1) {
8106 stop = stops[i];
8107 stop.setAttribute("offset", cValues[i * 4] + "%");
8108 stop.setAttribute("stop-color", "rgb(" + cValues[i * 4 + 1] + "," + cValues[i * 4 + 2] + "," + cValues[i * 4 + 3] + ")");
8109 }
8110 }
8111 if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {
8112 var oValues = itemData.g.o;
8113 if (itemData.g._collapsable) stops = itemData.cst;
8114 else stops = itemData.ost;
8115 len = stops.length;
8116 for (i = 0; i < len; i += 1) {
8117 stop = stops[i];
8118 if (!itemData.g._collapsable) stop.setAttribute("offset", oValues[i * 2] + "%");
8119 stop.setAttribute("stop-opacity", oValues[i * 2 + 1]);
8120 }
8121 }
8122 if (styleData.t === 1) {
8123 if (itemData.e._mdf || isFirstFrame) {
8124 gfill.setAttribute("x2", pt2[0]);
8125 gfill.setAttribute("y2", pt2[1]);
8126 if (hasOpacity && !itemData.g._collapsable) {
8127 itemData.of.setAttribute("x2", pt2[0]);
8128 itemData.of.setAttribute("y2", pt2[1]);
8129 }
8130 }
8131 } else {
8132 var rad;
8133 if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {
8134 rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
8135 gfill.setAttribute("r", rad);
8136 if (hasOpacity && !itemData.g._collapsable) itemData.of.setAttribute("r", rad);
8137 }
8138 if (itemData.s._mdf || itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {
8139 if (!rad) rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
8140 var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);
8141 var percent = itemData.h.v;
8142 if (percent >= 1) percent = .99;
8143 else if (percent <= -1) percent = -.99;
8144 var dist = rad * percent;
8145 var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];
8146 var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];
8147 gfill.setAttribute("fx", x);
8148 gfill.setAttribute("fy", y);
8149 if (hasOpacity && !itemData.g._collapsable) {
8150 itemData.of.setAttribute("fx", x);
8151 itemData.of.setAttribute("fy", y);
8152 }
8153 }
8154 }
8155 }
8156 function renderStroke(styleData, itemData, isFirstFrame) {
8157 var styleElem = itemData.style;
8158 var d = itemData.d;
8159 if (d && (d._mdf || isFirstFrame) && d.dashStr) {
8160 styleElem.pElem.setAttribute("stroke-dasharray", d.dashStr);
8161 styleElem.pElem.setAttribute("stroke-dashoffset", d.dashoffset[0]);
8162 }
8163 if (itemData.c && (itemData.c._mdf || isFirstFrame)) styleElem.pElem.setAttribute("stroke", "rgb(" + bmFloor(itemData.c.v[0]) + "," + bmFloor(itemData.c.v[1]) + "," + bmFloor(itemData.c.v[2]) + ")");
8164 if (itemData.o._mdf || isFirstFrame) styleElem.pElem.setAttribute("stroke-opacity", itemData.o.v);
8165 if (itemData.w._mdf || isFirstFrame) {
8166 styleElem.pElem.setAttribute("stroke-width", itemData.w.v);
8167 if (styleElem.msElem) styleElem.msElem.setAttribute("stroke-width", itemData.w.v);
8168 }
8169 }
8170 return ob;
8171 }();
8172 function SVGShapeElement(data, globalData, comp) {
8173 this.shapes = [];
8174 this.shapesData = data.shapes;
8175 this.stylesList = [];
8176 this.shapeModifiers = [];
8177 this.itemsData = [];
8178 this.processedElements = [];
8179 this.animatedContents = [];
8180 this.initElement(data, globalData, comp);
8181 this.prevViewData = [];
8182 }
8183 extendPrototype([
8184 BaseElement,
8185 TransformElement,
8186 SVGBaseElement,
8187 IShapeElement,
8188 HierarchyElement,
8189 FrameElement,
8190 RenderableDOMElement
8191 ], SVGShapeElement);
8192 SVGShapeElement.prototype.initSecondaryElement = function() {};
8193 SVGShapeElement.prototype.identityMatrix = new Matrix();
8194 SVGShapeElement.prototype.buildExpressionInterface = function() {};
8195 SVGShapeElement.prototype.createContent = function() {
8196 this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);
8197 this.filterUniqueShapes();
8198 };
8199 SVGShapeElement.prototype.filterUniqueShapes = function() {
8200 var i;
8201 var len = this.shapes.length;
8202 var shape;
8203 var j;
8204 var jLen = this.stylesList.length;
8205 var style;
8206 var tempShapes = [];
8207 var areAnimated = false;
8208 for (j = 0; j < jLen; j += 1) {
8209 style = this.stylesList[j];
8210 areAnimated = false;
8211 tempShapes.length = 0;
8212 for (i = 0; i < len; i += 1) {
8213 shape = this.shapes[i];
8214 if (shape.styles.indexOf(style) !== -1) {
8215 tempShapes.push(shape);
8216 areAnimated = shape._isAnimated || areAnimated;
8217 }
8218 }
8219 if (tempShapes.length > 1 && areAnimated) this.setShapesAsAnimated(tempShapes);
8220 }
8221 };
8222 SVGShapeElement.prototype.setShapesAsAnimated = function(shapes) {
8223 var i;
8224 var len = shapes.length;
8225 for (i = 0; i < len; i += 1) shapes[i].setAsAnimated();
8226 };
8227 SVGShapeElement.prototype.createStyleElement = function(data, level) {
8228 var elementData;
8229 var styleOb = new SVGStyleData(data, level);
8230 var pathElement = styleOb.pElem;
8231 if (data.ty === "st") elementData = new SVGStrokeStyleData(this, data, styleOb);
8232 else if (data.ty === "fl") elementData = new SVGFillStyleData(this, data, styleOb);
8233 else if (data.ty === "gf" || data.ty === "gs") {
8234 elementData = new (data.ty === "gf" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData)(this, data, styleOb);
8235 this.globalData.defs.appendChild(elementData.gf);
8236 if (elementData.maskId) {
8237 this.globalData.defs.appendChild(elementData.ms);
8238 this.globalData.defs.appendChild(elementData.of);
8239 pathElement.setAttribute("mask", "url(" + getLocationHref() + "#" + elementData.maskId + ")");
8240 }
8241 } else if (data.ty === "no") elementData = new SVGNoStyleData(this, data, styleOb);
8242 if (data.ty === "st" || data.ty === "gs") {
8243 pathElement.setAttribute("stroke-linecap", lineCapEnum[data.lc || 2]);
8244 pathElement.setAttribute("stroke-linejoin", lineJoinEnum[data.lj || 2]);
8245 pathElement.setAttribute("fill-opacity", "0");
8246 if (data.lj === 1) pathElement.setAttribute("stroke-miterlimit", data.ml);
8247 }
8248 if (data.r === 2) pathElement.setAttribute("fill-rule", "evenodd");
8249 if (data.ln) pathElement.setAttribute("id", data.ln);
8250 if (data.cl) pathElement.setAttribute("class", data.cl);
8251 if (data.bm) pathElement.style["mix-blend-mode"] = getBlendMode(data.bm);
8252 this.stylesList.push(styleOb);
8253 this.addToAnimatedContents(data, elementData);
8254 return elementData;
8255 };
8256 SVGShapeElement.prototype.createGroupElement = function(data) {
8257 var elementData = new ShapeGroupData();
8258 if (data.ln) elementData.gr.setAttribute("id", data.ln);
8259 if (data.cl) elementData.gr.setAttribute("class", data.cl);
8260 if (data.bm) elementData.gr.style["mix-blend-mode"] = getBlendMode(data.bm);
8261 return elementData;
8262 };
8263 SVGShapeElement.prototype.createTransformElement = function(data, container) {
8264 var transformProperty = TransformPropertyFactory.getTransformProperty(this, data, this);
8265 var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);
8266 this.addToAnimatedContents(data, elementData);
8267 return elementData;
8268 };
8269 SVGShapeElement.prototype.createShapeElement = function(data, ownTransformers, level) {
8270 var ty = 4;
8271 if (data.ty === "rc") ty = 5;
8272 else if (data.ty === "el") ty = 6;
8273 else if (data.ty === "sr") ty = 7;
8274 var elementData = new SVGShapeData(ownTransformers, level, ShapePropertyFactory.getShapeProp(this, data, ty, this));
8275 this.shapes.push(elementData);
8276 this.addShapeToModifiers(elementData);
8277 this.addToAnimatedContents(data, elementData);
8278 return elementData;
8279 };
8280 SVGShapeElement.prototype.addToAnimatedContents = function(data, element) {
8281 var i = 0;
8282 var len = this.animatedContents.length;
8283 while (i < len) {
8284 if (this.animatedContents[i].element === element) return;
8285 i += 1;
8286 }
8287 this.animatedContents.push({
8288 fn: SVGElementsRenderer.createRenderFunction(data),
8289 element,
8290 data
8291 });
8292 };
8293 SVGShapeElement.prototype.setElementStyles = function(elementData) {
8294 var arr = elementData.styles;
8295 var j;
8296 var jLen = this.stylesList.length;
8297 for (j = 0; j < jLen; j += 1) if (arr.indexOf(this.stylesList[j]) === -1 && !this.stylesList[j].closed) arr.push(this.stylesList[j]);
8298 };
8299 SVGShapeElement.prototype.reloadShapes = function() {
8300 this._isFirstFrame = true;
8301 var i;
8302 var len = this.itemsData.length;
8303 for (i = 0; i < len; i += 1) this.prevViewData[i] = this.itemsData[i];
8304 this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.layerElement, 0, [], true);
8305 this.filterUniqueShapes();
8306 len = this.dynamicProperties.length;
8307 for (i = 0; i < len; i += 1) this.dynamicProperties[i].getValue();
8308 this.renderModifiers();
8309 };
8310 SVGShapeElement.prototype.searchShapes = function(arr, itemsData, prevViewData, container, level, transformers, render) {
8311 var ownTransformers = [].concat(transformers);
8312 var i;
8313 var len = arr.length - 1;
8314 var j;
8315 var jLen;
8316 var ownStyles = [];
8317 var ownModifiers = [];
8318 var currentTransform;
8319 var modifier;
8320 var processedPos;
8321 for (i = len; i >= 0; i -= 1) {
8322 processedPos = this.searchProcessedElement(arr[i]);
8323 if (!processedPos) arr[i]._render = render;
8324 else itemsData[i] = prevViewData[processedPos - 1];
8325 if (arr[i].ty === "fl" || arr[i].ty === "st" || arr[i].ty === "gf" || arr[i].ty === "gs" || arr[i].ty === "no") {
8326 if (!processedPos) itemsData[i] = this.createStyleElement(arr[i], level);
8327 else itemsData[i].style.closed = arr[i].hd;
8328 if (arr[i]._render) {
8329 if (itemsData[i].style.pElem.parentNode !== container) container.appendChild(itemsData[i].style.pElem);
8330 }
8331 ownStyles.push(itemsData[i].style);
8332 } else if (arr[i].ty === "gr") {
8333 if (!processedPos) itemsData[i] = this.createGroupElement(arr[i]);
8334 else {
8335 jLen = itemsData[i].it.length;
8336 for (j = 0; j < jLen; j += 1) itemsData[i].prevViewData[j] = itemsData[i].it[j];
8337 }
8338 this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);
8339 if (arr[i]._render) {
8340 if (itemsData[i].gr.parentNode !== container) container.appendChild(itemsData[i].gr);
8341 }
8342 } else if (arr[i].ty === "tr") {
8343 if (!processedPos) itemsData[i] = this.createTransformElement(arr[i], container);
8344 currentTransform = itemsData[i].transform;
8345 ownTransformers.push(currentTransform);
8346 } else if (arr[i].ty === "sh" || arr[i].ty === "rc" || arr[i].ty === "el" || arr[i].ty === "sr") {
8347 if (!processedPos) itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);
8348 this.setElementStyles(itemsData[i]);
8349 } else if (arr[i].ty === "tm" || arr[i].ty === "rd" || arr[i].ty === "ms" || arr[i].ty === "pb" || arr[i].ty === "zz" || arr[i].ty === "op") {
8350 if (!processedPos) {
8351 modifier = ShapeModifiers.getModifier(arr[i].ty);
8352 modifier.init(this, arr[i]);
8353 itemsData[i] = modifier;
8354 this.shapeModifiers.push(modifier);
8355 } else {
8356 modifier = itemsData[i];
8357 modifier.closed = false;
8358 }
8359 ownModifiers.push(modifier);
8360 } else if (arr[i].ty === "rp") {
8361 if (!processedPos) {
8362 modifier = ShapeModifiers.getModifier(arr[i].ty);
8363 itemsData[i] = modifier;
8364 modifier.init(this, arr, i, itemsData);
8365 this.shapeModifiers.push(modifier);
8366 render = false;
8367 } else {
8368 modifier = itemsData[i];
8369 modifier.closed = true;
8370 }
8371 ownModifiers.push(modifier);
8372 }
8373 this.addProcessedElement(arr[i], i + 1);
8374 }
8375 len = ownStyles.length;
8376 for (i = 0; i < len; i += 1) ownStyles[i].closed = true;
8377 len = ownModifiers.length;
8378 for (i = 0; i < len; i += 1) ownModifiers[i].closed = true;
8379 };
8380 SVGShapeElement.prototype.renderInnerContent = function() {
8381 this.renderModifiers();
8382 var i;
8383 var len = this.stylesList.length;
8384 for (i = 0; i < len; i += 1) this.stylesList[i].reset();
8385 this.renderShape();
8386 for (i = 0; i < len; i += 1) if (this.stylesList[i]._mdf || this._isFirstFrame) {
8387 if (this.stylesList[i].msElem) {
8388 this.stylesList[i].msElem.setAttribute("d", this.stylesList[i].d);
8389 this.stylesList[i].d = "M0 0" + this.stylesList[i].d;
8390 }
8391 this.stylesList[i].pElem.setAttribute("d", this.stylesList[i].d || "M0 0");
8392 }
8393 };
8394 SVGShapeElement.prototype.renderShape = function() {
8395 var i;
8396 var len = this.animatedContents.length;
8397 var animatedContent;
8398 for (i = 0; i < len; i += 1) {
8399 animatedContent = this.animatedContents[i];
8400 if ((this._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) animatedContent.fn(animatedContent.data, animatedContent.element, this._isFirstFrame);
8401 }
8402 };
8403 SVGShapeElement.prototype.destroy = function() {
8404 this.destroyBaseElement();
8405 this.shapesData = null;
8406 this.itemsData = null;
8407 };
8408 function LetterProps(o, sw, sc, fc, m, p) {
8409 this.o = o;
8410 this.sw = sw;
8411 this.sc = sc;
8412 this.fc = fc;
8413 this.m = m;
8414 this.p = p;
8415 this._mdf = {
8416 o: true,
8417 sw: !!sw,
8418 sc: !!sc,
8419 fc: !!fc,
8420 m: true,
8421 p: true
8422 };
8423 }
8424 LetterProps.prototype.update = function(o, sw, sc, fc, m, p) {
8425 this._mdf.o = false;
8426 this._mdf.sw = false;
8427 this._mdf.sc = false;
8428 this._mdf.fc = false;
8429 this._mdf.m = false;
8430 this._mdf.p = false;
8431 var updated = false;
8432 if (this.o !== o) {
8433 this.o = o;
8434 this._mdf.o = true;
8435 updated = true;
8436 }
8437 if (this.sw !== sw) {
8438 this.sw = sw;
8439 this._mdf.sw = true;
8440 updated = true;
8441 }
8442 if (this.sc !== sc) {
8443 this.sc = sc;
8444 this._mdf.sc = true;
8445 updated = true;
8446 }
8447 if (this.fc !== fc) {
8448 this.fc = fc;
8449 this._mdf.fc = true;
8450 updated = true;
8451 }
8452 if (this.m !== m) {
8453 this.m = m;
8454 this._mdf.m = true;
8455 updated = true;
8456 }
8457 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])) {
8458 this.p = p;
8459 this._mdf.p = true;
8460 updated = true;
8461 }
8462 return updated;
8463 };
8464 function TextProperty(elem, data) {
8465 this._frameId = initialDefaultFrame;
8466 this.pv = "";
8467 this.v = "";
8468 this.kf = false;
8469 this._isFirstFrame = true;
8470 this._mdf = false;
8471 if (data.d && data.d.sid) data.d = elem.globalData.slotManager.getProp(data.d);
8472 this.data = data;
8473 this.elem = elem;
8474 this.comp = this.elem.comp;
8475 this.keysIndex = 0;
8476 this.canResize = false;
8477 this.minimumFontSize = 1;
8478 this.effectsSequence = [];
8479 this.currentData = {
8480 ascent: 0,
8481 boxWidth: this.defaultBoxWidth,
8482 f: "",
8483 fStyle: "",
8484 fWeight: "",
8485 fc: "",
8486 j: "",
8487 justifyOffset: "",
8488 l: [],
8489 lh: 0,
8490 lineWidths: [],
8491 ls: "",
8492 of: "",
8493 s: "",
8494 sc: "",
8495 sw: 0,
8496 t: 0,
8497 tr: 0,
8498 sz: 0,
8499 ps: null,
8500 fillColorAnim: false,
8501 strokeColorAnim: false,
8502 strokeWidthAnim: false,
8503 yOffset: 0,
8504 finalSize: 0,
8505 finalText: [],
8506 finalLineHeight: 0,
8507 __complete: false
8508 };
8509 this.copyData(this.currentData, this.data.d.k[0].s);
8510 if (!this.searchProperty()) this.completeTextData(this.currentData);
8511 }
8512 TextProperty.prototype.defaultBoxWidth = [0, 0];
8513 TextProperty.prototype.copyData = function(obj, data) {
8514 for (var s in data) if (Object.prototype.hasOwnProperty.call(data, s)) obj[s] = data[s];
8515 return obj;
8516 };
8517 TextProperty.prototype.setCurrentData = function(data) {
8518 if (!data.__complete) this.completeTextData(data);
8519 this.currentData = data;
8520 this.currentData.boxWidth = this.currentData.boxWidth || this.defaultBoxWidth;
8521 this._mdf = true;
8522 };
8523 TextProperty.prototype.searchProperty = function() {
8524 return this.searchKeyframes();
8525 };
8526 TextProperty.prototype.searchKeyframes = function() {
8527 this.kf = this.data.d.k.length > 1;
8528 if (this.kf) this.addEffect(this.getKeyframeValue.bind(this));
8529 return this.kf;
8530 };
8531 TextProperty.prototype.addEffect = function(effectFunction) {
8532 this.effectsSequence.push(effectFunction);
8533 this.elem.addDynamicProperty(this);
8534 };
8535 TextProperty.prototype.getValue = function(_finalValue) {
8536 if ((this.elem.globalData.frameId === this.frameId || !this.effectsSequence.length) && !_finalValue) return;
8537 this.currentData.t = this.data.d.k[this.keysIndex].s.t;
8538 var currentValue = this.currentData;
8539 var currentIndex = this.keysIndex;
8540 if (this.lock) {
8541 this.setCurrentData(this.currentData);
8542 return;
8543 }
8544 this.lock = true;
8545 this._mdf = false;
8546 var i;
8547 var len = this.effectsSequence.length;
8548 var finalValue = _finalValue || this.data.d.k[this.keysIndex].s;
8549 for (i = 0; i < len; i += 1) if (currentIndex !== this.keysIndex) finalValue = this.effectsSequence[i](finalValue, finalValue.t);
8550 else finalValue = this.effectsSequence[i](this.currentData, finalValue.t);
8551 if (currentValue !== finalValue) this.setCurrentData(finalValue);
8552 this.v = this.currentData;
8553 this.pv = this.v;
8554 this.lock = false;
8555 this.frameId = this.elem.globalData.frameId;
8556 };
8557 TextProperty.prototype.getKeyframeValue = function() {
8558 var textKeys = this.data.d.k;
8559 var frameNum = this.elem.comp.renderedFrame;
8560 var i = 0;
8561 var len = textKeys.length;
8562 while (i <= len - 1) {
8563 if (i === len - 1 || textKeys[i + 1].t > frameNum) break;
8564 i += 1;
8565 }
8566 if (this.keysIndex !== i) this.keysIndex = i;
8567 return this.data.d.k[this.keysIndex].s;
8568 };
8569 TextProperty.prototype.buildFinalText = function(text) {
8570 var charactersArray = [];
8571 var i = 0;
8572 var len = text.length;
8573 var charCode;
8574 var secondCharCode;
8575 var shouldCombine = false;
8576 var shouldCombineNext = false;
8577 var currentChars = "";
8578 while (i < len) {
8579 shouldCombine = shouldCombineNext;
8580 shouldCombineNext = false;
8581 charCode = text.charCodeAt(i);
8582 currentChars = text.charAt(i);
8583 if (FontManager.isCombinedCharacter(charCode)) shouldCombine = true;
8584 else if (charCode >= 55296 && charCode <= 56319) if (FontManager.isRegionalFlag(text, i)) currentChars = text.substr(i, 14);
8585 else {
8586 secondCharCode = text.charCodeAt(i + 1);
8587 if (secondCharCode >= 56320 && secondCharCode <= 57343) if (FontManager.isModifier(charCode, secondCharCode)) {
8588 currentChars = text.substr(i, 2);
8589 shouldCombine = true;
8590 } else if (FontManager.isFlagEmoji(text.substr(i, 4))) currentChars = text.substr(i, 4);
8591 else currentChars = text.substr(i, 2);
8592 }
8593 else if (charCode > 56319) {
8594 secondCharCode = text.charCodeAt(i + 1);
8595 if (FontManager.isVariationSelector(charCode)) shouldCombine = true;
8596 } else if (FontManager.isZeroWidthJoiner(charCode)) {
8597 shouldCombine = true;
8598 shouldCombineNext = true;
8599 }
8600 if (shouldCombine) {
8601 charactersArray[charactersArray.length - 1] += currentChars;
8602 shouldCombine = false;
8603 } else charactersArray.push(currentChars);
8604 i += currentChars.length;
8605 }
8606 return charactersArray;
8607 };
8608 TextProperty.prototype.completeTextData = function(documentData) {
8609 documentData.__complete = true;
8610 var fontManager = this.elem.globalData.fontManager;
8611 var data = this.data;
8612 var letters = [];
8613 var i;
8614 var len;
8615 var newLineFlag;
8616 var index = 0;
8617 var val;
8618 var anchorGrouping = data.m.g;
8619 var currentSize = 0;
8620 var currentPos = 0;
8621 var currentLine = 0;
8622 var lineWidths = [];
8623 var lineWidth = 0;
8624 var maxLineWidth = 0;
8625 var j;
8626 var jLen;
8627 var fontData = fontManager.getFontByName(documentData.f);
8628 var charData;
8629 var cLength = 0;
8630 var fontProps = getFontProperties(fontData);
8631 documentData.fWeight = fontProps.weight;
8632 documentData.fStyle = fontProps.style;
8633 documentData.finalSize = documentData.s;
8634 documentData.finalText = this.buildFinalText(documentData.t);
8635 len = documentData.finalText.length;
8636 documentData.finalLineHeight = documentData.lh;
8637 var trackingOffset = documentData.tr / 1e3 * documentData.finalSize;
8638 var charCode;
8639 if (documentData.sz) {
8640 var flag = true;
8641 var boxWidth = documentData.sz[0];
8642 var boxHeight = documentData.sz[1];
8643 var currentHeight;
8644 var finalText;
8645 while (flag) {
8646 finalText = this.buildFinalText(documentData.t);
8647 currentHeight = 0;
8648 lineWidth = 0;
8649 len = finalText.length;
8650 trackingOffset = documentData.tr / 1e3 * documentData.finalSize;
8651 var lastSpaceIndex = -1;
8652 for (i = 0; i < len; i += 1) {
8653 charCode = finalText[i].charCodeAt(0);
8654 newLineFlag = false;
8655 if (finalText[i] === " ") lastSpaceIndex = i;
8656 else if (charCode === 13 || charCode === 3) {
8657 lineWidth = 0;
8658 newLineFlag = true;
8659 currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;
8660 }
8661 if (fontManager.chars) {
8662 charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);
8663 cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;
8664 } else cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);
8665 if (lineWidth + cLength > boxWidth && finalText[i] !== " ") {
8666 if (lastSpaceIndex === -1) len += 1;
8667 else i = lastSpaceIndex;
8668 currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;
8669 finalText.splice(i, lastSpaceIndex === i ? 1 : 0, "\r");
8670 lastSpaceIndex = -1;
8671 lineWidth = 0;
8672 } else {
8673 lineWidth += cLength;
8674 lineWidth += trackingOffset;
8675 }
8676 }
8677 currentHeight += fontData.ascent * documentData.finalSize / 100;
8678 if (this.canResize && documentData.finalSize > this.minimumFontSize && boxHeight < currentHeight) {
8679 documentData.finalSize -= 1;
8680 documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;
8681 } else {
8682 documentData.finalText = finalText;
8683 len = documentData.finalText.length;
8684 flag = false;
8685 }
8686 }
8687 }
8688 lineWidth = -trackingOffset;
8689 cLength = 0;
8690 var uncollapsedSpaces = 0;
8691 var currentChar;
8692 for (i = 0; i < len; i += 1) {
8693 newLineFlag = false;
8694 currentChar = documentData.finalText[i];
8695 charCode = currentChar.charCodeAt(0);
8696 if (charCode === 13 || charCode === 3) {
8697 uncollapsedSpaces = 0;
8698 lineWidths.push(lineWidth);
8699 maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;
8700 lineWidth = -2 * trackingOffset;
8701 val = "";
8702 newLineFlag = true;
8703 currentLine += 1;
8704 } else val = currentChar;
8705 if (fontManager.chars) {
8706 charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);
8707 cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;
8708 } else cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);
8709 if (currentChar === " ") uncollapsedSpaces += cLength + trackingOffset;
8710 else {
8711 lineWidth += cLength + trackingOffset + uncollapsedSpaces;
8712 uncollapsedSpaces = 0;
8713 }
8714 letters.push({
8715 l: cLength,
8716 an: cLength,
8717 add: currentSize,
8718 n: newLineFlag,
8719 anIndexes: [],
8720 val,
8721 line: currentLine,
8722 animatorJustifyOffset: 0
8723 });
8724 if (anchorGrouping == 2) {
8725 currentSize += cLength;
8726 if (val === "" || val === " " || i === len - 1) {
8727 if (val === "" || val === " ") currentSize -= cLength;
8728 while (currentPos <= i) {
8729 letters[currentPos].an = currentSize;
8730 letters[currentPos].ind = index;
8731 letters[currentPos].extra = cLength;
8732 currentPos += 1;
8733 }
8734 index += 1;
8735 currentSize = 0;
8736 }
8737 } else if (anchorGrouping == 3) {
8738 currentSize += cLength;
8739 if (val === "" || i === len - 1) {
8740 if (val === "") currentSize -= cLength;
8741 while (currentPos <= i) {
8742 letters[currentPos].an = currentSize;
8743 letters[currentPos].ind = index;
8744 letters[currentPos].extra = cLength;
8745 currentPos += 1;
8746 }
8747 currentSize = 0;
8748 index += 1;
8749 }
8750 } else {
8751 letters[index].ind = index;
8752 letters[index].extra = 0;
8753 index += 1;
8754 }
8755 }
8756 documentData.l = letters;
8757 maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;
8758 lineWidths.push(lineWidth);
8759 if (documentData.sz) {
8760 documentData.boxWidth = documentData.sz[0];
8761 documentData.justifyOffset = 0;
8762 } else {
8763 documentData.boxWidth = maxLineWidth;
8764 switch (documentData.j) {
8765 case 1:
8766 documentData.justifyOffset = -documentData.boxWidth;
8767 break;
8768 case 2:
8769 documentData.justifyOffset = -documentData.boxWidth / 2;
8770 break;
8771 default: documentData.justifyOffset = 0;
8772 }
8773 }
8774 documentData.lineWidths = lineWidths;
8775 var animators = data.a;
8776 var animatorData;
8777 var letterData;
8778 jLen = animators.length;
8779 var based;
8780 var ind;
8781 var indexes = [];
8782 for (j = 0; j < jLen; j += 1) {
8783 animatorData = animators[j];
8784 if (animatorData.a.sc) documentData.strokeColorAnim = true;
8785 if (animatorData.a.sw) documentData.strokeWidthAnim = true;
8786 if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) documentData.fillColorAnim = true;
8787 ind = 0;
8788 based = animatorData.s.b;
8789 for (i = 0; i < len; i += 1) {
8790 letterData = letters[i];
8791 letterData.anIndexes[j] = ind;
8792 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)) {
8793 if (animatorData.s.rn === 1) indexes.push(ind);
8794 ind += 1;
8795 }
8796 }
8797 data.a[j].s.totalChars = ind;
8798 var currentInd = -1;
8799 var newInd;
8800 if (animatorData.s.rn === 1) for (i = 0; i < len; i += 1) {
8801 letterData = letters[i];
8802 if (currentInd != letterData.anIndexes[j]) {
8803 currentInd = letterData.anIndexes[j];
8804 newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];
8805 }
8806 letterData.anIndexes[j] = newInd;
8807 }
8808 }
8809 documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;
8810 documentData.ls = documentData.ls || 0;
8811 documentData.ascent = fontData.ascent * documentData.finalSize / 100;
8812 };
8813 TextProperty.prototype.updateDocumentData = function(newData, index) {
8814 index = index === void 0 ? this.keysIndex : index;
8815 var dData = this.copyData({}, this.data.d.k[index].s);
8816 dData = this.copyData(dData, newData);
8817 this.data.d.k[index].s = dData;
8818 this.recalculate(index);
8819 this.setCurrentData(dData);
8820 this.elem.addDynamicProperty(this);
8821 };
8822 TextProperty.prototype.recalculate = function(index) {
8823 var dData = this.data.d.k[index].s;
8824 dData.__complete = false;
8825 this.keysIndex = 0;
8826 this._isFirstFrame = true;
8827 this.getValue(dData);
8828 };
8829 TextProperty.prototype.canResizeFont = function(_canResize) {
8830 this.canResize = _canResize;
8831 this.recalculate(this.keysIndex);
8832 this.elem.addDynamicProperty(this);
8833 };
8834 TextProperty.prototype.setMinimumFontSize = function(_fontValue) {
8835 this.minimumFontSize = Math.floor(_fontValue) || 1;
8836 this.recalculate(this.keysIndex);
8837 this.elem.addDynamicProperty(this);
8838 };
8839 var TextSelectorProp = function() {
8840 var max = Math.max;
8841 var min = Math.min;
8842 var floor = Math.floor;
8843 function TextSelectorPropFactory(elem, data) {
8844 this._currentTextLength = -1;
8845 this.k = false;
8846 this.data = data;
8847 this.elem = elem;
8848 this.comp = elem.comp;
8849 this.finalS = 0;
8850 this.finalE = 0;
8851 this.initDynamicPropertyContainer(elem);
8852 this.s = PropertyFactory.getProp(elem, data.s || { k: 0 }, 0, 0, this);
8853 if ("e" in data) this.e = PropertyFactory.getProp(elem, data.e, 0, 0, this);
8854 else this.e = { v: 100 };
8855 this.o = PropertyFactory.getProp(elem, data.o || { k: 0 }, 0, 0, this);
8856 this.xe = PropertyFactory.getProp(elem, data.xe || { k: 0 }, 0, 0, this);
8857 this.ne = PropertyFactory.getProp(elem, data.ne || { k: 0 }, 0, 0, this);
8858 this.sm = PropertyFactory.getProp(elem, data.sm || { k: 100 }, 0, 0, this);
8859 this.a = PropertyFactory.getProp(elem, data.a, 0, .01, this);
8860 if (!this.dynamicProperties.length) this.getValue();
8861 }
8862 TextSelectorPropFactory.prototype = {
8863 getMult: function getMult(ind) {
8864 if (this._currentTextLength !== this.elem.textProperty.currentData.l.length) this.getValue();
8865 var x1 = 0;
8866 var y1 = 0;
8867 var x2 = 1;
8868 var y2 = 1;
8869 if (this.ne.v > 0) x1 = this.ne.v / 100;
8870 else y1 = -this.ne.v / 100;
8871 if (this.xe.v > 0) x2 = 1 - this.xe.v / 100;
8872 else y2 = 1 + this.xe.v / 100;
8873 var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;
8874 var mult = 0;
8875 var s = this.finalS;
8876 var e = this.finalE;
8877 var type = this.data.sh;
8878 if (type === 2) {
8879 if (e === s) mult = ind >= e ? 1 : 0;
8880 else mult = max(0, min(.5 / (e - s) + (ind - s) / (e - s), 1));
8881 mult = easer(mult);
8882 } else if (type === 3) {
8883 if (e === s) mult = ind >= e ? 0 : 1;
8884 else mult = 1 - max(0, min(.5 / (e - s) + (ind - s) / (e - s), 1));
8885 mult = easer(mult);
8886 } else if (type === 4) {
8887 if (e === s) mult = 0;
8888 else {
8889 mult = max(0, min(.5 / (e - s) + (ind - s) / (e - s), 1));
8890 if (mult < .5) mult *= 2;
8891 else mult = 1 - 2 * (mult - .5);
8892 }
8893 mult = easer(mult);
8894 } else if (type === 5) {
8895 if (e === s) mult = 0;
8896 else {
8897 var tot = e - s;
8898 ind = min(max(0, ind + .5 - s), e - s);
8899 var x = -tot / 2 + ind;
8900 var a = tot / 2;
8901 mult = Math.sqrt(1 - x * x / (a * a));
8902 }
8903 mult = easer(mult);
8904 } else if (type === 6) {
8905 if (e === s) mult = 0;
8906 else {
8907 ind = min(max(0, ind + .5 - s), e - s);
8908 mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2;
8909 }
8910 mult = easer(mult);
8911 } else {
8912 if (ind >= floor(s)) if (ind - s < 0) mult = max(0, min(min(e, 1) - (s - ind), 1));
8913 else mult = max(0, min(e - ind, 1));
8914 mult = easer(mult);
8915 }
8916 if (this.sm.v !== 100) {
8917 var smoothness = this.sm.v * .01;
8918 if (smoothness === 0) smoothness = 1e-8;
8919 var threshold = .5 - smoothness * .5;
8920 if (mult < threshold) mult = 0;
8921 else {
8922 mult = (mult - threshold) / smoothness;
8923 if (mult > 1) mult = 1;
8924 }
8925 }
8926 return mult * this.a.v;
8927 },
8928 getValue: function getValue(newCharsFlag) {
8929 this.iterateDynamicProperties();
8930 this._mdf = newCharsFlag || this._mdf;
8931 this._currentTextLength = this.elem.textProperty.currentData.l.length || 0;
8932 if (newCharsFlag && this.data.r === 2) this.e.v = this._currentTextLength;
8933 var divisor = this.data.r === 2 ? 1 : 100 / this.data.totalChars;
8934 var o = this.o.v / divisor;
8935 var s = this.s.v / divisor + o;
8936 var e = this.e.v / divisor + o;
8937 if (s > e) {
8938 var _s = s;
8939 s = e;
8940 e = _s;
8941 }
8942 this.finalS = s;
8943 this.finalE = e;
8944 }
8945 };
8946 extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);
8947 function getTextSelectorProp(elem, data, arr) {
8948 return new TextSelectorPropFactory(elem, data, arr);
8949 }
8950 return { getTextSelectorProp };
8951 }();
8952 function TextAnimatorDataProperty(elem, animatorProps, container) {
8953 var defaultData = { propType: false };
8954 var getProp = PropertyFactory.getProp;
8955 var textAnimatorAnimatables = animatorProps.a;
8956 this.a = {
8957 r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,
8958 rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,
8959 ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,
8960 sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,
8961 sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,
8962 s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, .01, container) : defaultData,
8963 a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,
8964 o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, .01, container) : defaultData,
8965 p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,
8966 sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,
8967 sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,
8968 fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,
8969 fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,
8970 fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, .01, container) : defaultData,
8971 fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, .01, container) : defaultData,
8972 t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData
8973 };
8974 this.s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);
8975 this.s.t = animatorProps.s.t;
8976 }
8977 function TextAnimatorProperty(textData, renderType, elem) {
8978 this._isFirstFrame = true;
8979 this._hasMaskedPath = false;
8980 this._frameId = -1;
8981 this._textData = textData;
8982 this._renderType = renderType;
8983 this._elem = elem;
8984 this._animatorsData = createSizedArray(this._textData.a.length);
8985 this._pathData = {};
8986 this._moreOptions = { alignment: {} };
8987 this.renderedLetters = [];
8988 this.lettersChangedFlag = false;
8989 this.initDynamicPropertyContainer(elem);
8990 }
8991 TextAnimatorProperty.prototype.searchProperties = function() {
8992 var i;
8993 var len = this._textData.a.length;
8994 var animatorProps;
8995 var getProp = PropertyFactory.getProp;
8996 for (i = 0; i < len; i += 1) {
8997 animatorProps = this._textData.a[i];
8998 this._animatorsData[i] = new TextAnimatorDataProperty(this._elem, animatorProps, this);
8999 }
9000 if (this._textData.p && "m" in this._textData.p) {
9001 this._pathData = {
9002 a: getProp(this._elem, this._textData.p.a, 0, 0, this),
9003 f: getProp(this._elem, this._textData.p.f, 0, 0, this),
9004 l: getProp(this._elem, this._textData.p.l, 0, 0, this),
9005 r: getProp(this._elem, this._textData.p.r, 0, 0, this),
9006 p: getProp(this._elem, this._textData.p.p, 0, 0, this),
9007 m: this._elem.maskManager.getMaskProperty(this._textData.p.m)
9008 };
9009 this._hasMaskedPath = true;
9010 } else this._hasMaskedPath = false;
9011 this._moreOptions.alignment = getProp(this._elem, this._textData.m.a, 1, 0, this);
9012 };
9013 TextAnimatorProperty.prototype.getMeasures = function(documentData, lettersChangedFlag) {
9014 this.lettersChangedFlag = lettersChangedFlag;
9015 if (!this._mdf && !this._isFirstFrame && !lettersChangedFlag && (!this._hasMaskedPath || !this._pathData.m._mdf)) return;
9016 this._isFirstFrame = false;
9017 var alignment = this._moreOptions.alignment.v;
9018 var animators = this._animatorsData;
9019 var textData = this._textData;
9020 var matrixHelper = this.mHelper;
9021 var renderType = this._renderType;
9022 var renderedLettersCount = this.renderedLetters.length;
9023 var xPos;
9024 var yPos;
9025 var i;
9026 var len;
9027 var letters = documentData.l;
9028 var pathInfo;
9029 var currentLength;
9030 var currentPoint;
9031 var segmentLength;
9032 var flag;
9033 var pointInd;
9034 var segmentInd;
9035 var prevPoint;
9036 var points;
9037 var segments;
9038 var partialLength;
9039 var totalLength;
9040 var perc;
9041 var tanAngle;
9042 var mask;
9043 if (this._hasMaskedPath) {
9044 mask = this._pathData.m;
9045 if (!this._pathData.n || this._pathData._mdf) {
9046 var paths = mask.v;
9047 if (this._pathData.r.v) paths = paths.reverse();
9048 pathInfo = {
9049 tLength: 0,
9050 segments: []
9051 };
9052 len = paths._length - 1;
9053 var bezierData;
9054 totalLength = 0;
9055 for (i = 0; i < len; i += 1) {
9056 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]]);
9057 pathInfo.tLength += bezierData.segmentLength;
9058 pathInfo.segments.push(bezierData);
9059 totalLength += bezierData.segmentLength;
9060 }
9061 i = len;
9062 if (mask.v.c) {
9063 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]]);
9064 pathInfo.tLength += bezierData.segmentLength;
9065 pathInfo.segments.push(bezierData);
9066 totalLength += bezierData.segmentLength;
9067 }
9068 this._pathData.pi = pathInfo;
9069 }
9070 pathInfo = this._pathData.pi;
9071 currentLength = this._pathData.f.v;
9072 segmentInd = 0;
9073 pointInd = 1;
9074 segmentLength = 0;
9075 flag = true;
9076 segments = pathInfo.segments;
9077 if (currentLength < 0 && mask.v.c) {
9078 if (pathInfo.tLength < Math.abs(currentLength)) currentLength = -Math.abs(currentLength) % pathInfo.tLength;
9079 segmentInd = segments.length - 1;
9080 points = segments[segmentInd].points;
9081 pointInd = points.length - 1;
9082 while (currentLength < 0) {
9083 currentLength += points[pointInd].partialLength;
9084 pointInd -= 1;
9085 if (pointInd < 0) {
9086 segmentInd -= 1;
9087 points = segments[segmentInd].points;
9088 pointInd = points.length - 1;
9089 }
9090 }
9091 }
9092 points = segments[segmentInd].points;
9093 prevPoint = points[pointInd - 1];
9094 currentPoint = points[pointInd];
9095 partialLength = currentPoint.partialLength;
9096 }
9097 len = letters.length;
9098 xPos = 0;
9099 yPos = 0;
9100 var yOff = documentData.finalSize * 1.2 * .714;
9101 var firstLine = true;
9102 var animatorProps;
9103 var animatorSelector;
9104 var j;
9105 var jLen;
9106 var letterValue;
9107 jLen = animators.length;
9108 var mult;
9109 var ind = -1;
9110 var offf;
9111 var xPathPos;
9112 var yPathPos;
9113 var initPathPos = currentLength;
9114 var initSegmentInd = segmentInd;
9115 var initPointInd = pointInd;
9116 var currentLine = -1;
9117 var elemOpacity;
9118 var sc;
9119 var sw;
9120 var fc;
9121 var k;
9122 var letterSw;
9123 var letterSc;
9124 var letterFc;
9125 var letterM = "";
9126 var letterP = this.defaultPropsArray;
9127 var letterO;
9128 if (documentData.j === 2 || documentData.j === 1) {
9129 var animatorJustifyOffset = 0;
9130 var animatorFirstCharOffset = 0;
9131 var justifyOffsetMult = documentData.j === 2 ? -.5 : -1;
9132 var lastIndex = 0;
9133 var isNewLine = true;
9134 for (i = 0; i < len; i += 1) if (letters[i].n) {
9135 if (animatorJustifyOffset) animatorJustifyOffset += animatorFirstCharOffset;
9136 while (lastIndex < i) {
9137 letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;
9138 lastIndex += 1;
9139 }
9140 animatorJustifyOffset = 0;
9141 isNewLine = true;
9142 } else {
9143 for (j = 0; j < jLen; j += 1) {
9144 animatorProps = animators[j].a;
9145 if (animatorProps.t.propType) {
9146 if (isNewLine && documentData.j === 2) animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;
9147 animatorSelector = animators[j].s;
9148 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9149 if (mult.length) animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;
9150 else animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;
9151 }
9152 }
9153 isNewLine = false;
9154 }
9155 if (animatorJustifyOffset) animatorJustifyOffset += animatorFirstCharOffset;
9156 while (lastIndex < i) {
9157 letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;
9158 lastIndex += 1;
9159 }
9160 }
9161 for (i = 0; i < len; i += 1) {
9162 matrixHelper.reset();
9163 elemOpacity = 1;
9164 if (letters[i].n) {
9165 xPos = 0;
9166 yPos += documentData.yOffset;
9167 yPos += firstLine ? 1 : 0;
9168 currentLength = initPathPos;
9169 firstLine = false;
9170 if (this._hasMaskedPath) {
9171 segmentInd = initSegmentInd;
9172 pointInd = initPointInd;
9173 points = segments[segmentInd].points;
9174 prevPoint = points[pointInd - 1];
9175 currentPoint = points[pointInd];
9176 partialLength = currentPoint.partialLength;
9177 segmentLength = 0;
9178 }
9179 letterM = "";
9180 letterFc = "";
9181 letterSw = "";
9182 letterO = "";
9183 letterP = this.defaultPropsArray;
9184 } else {
9185 if (this._hasMaskedPath) {
9186 if (currentLine !== letters[i].line) {
9187 switch (documentData.j) {
9188 case 1:
9189 currentLength += totalLength - documentData.lineWidths[letters[i].line];
9190 break;
9191 case 2:
9192 currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;
9193 break;
9194 default: break;
9195 }
9196 currentLine = letters[i].line;
9197 }
9198 if (ind !== letters[i].ind) {
9199 if (letters[ind]) currentLength += letters[ind].extra;
9200 currentLength += letters[i].an / 2;
9201 ind = letters[i].ind;
9202 }
9203 currentLength += alignment[0] * letters[i].an * .005;
9204 var animatorOffset = 0;
9205 for (j = 0; j < jLen; j += 1) {
9206 animatorProps = animators[j].a;
9207 if (animatorProps.p.propType) {
9208 animatorSelector = animators[j].s;
9209 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9210 if (mult.length) animatorOffset += animatorProps.p.v[0] * mult[0];
9211 else animatorOffset += animatorProps.p.v[0] * mult;
9212 }
9213 if (animatorProps.a.propType) {
9214 animatorSelector = animators[j].s;
9215 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9216 if (mult.length) animatorOffset += animatorProps.a.v[0] * mult[0];
9217 else animatorOffset += animatorProps.a.v[0] * mult;
9218 }
9219 }
9220 flag = true;
9221 if (this._pathData.a.v) {
9222 currentLength = letters[0].an * .5 + (totalLength - this._pathData.f.v - letters[0].an * .5 - letters[letters.length - 1].an * .5) * ind / (len - 1);
9223 currentLength += this._pathData.f.v;
9224 }
9225 while (flag) if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {
9226 perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;
9227 xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;
9228 yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;
9229 matrixHelper.translate(-alignment[0] * letters[i].an * .005, -(alignment[1] * yOff) * .01);
9230 flag = false;
9231 } else if (points) {
9232 segmentLength += currentPoint.partialLength;
9233 pointInd += 1;
9234 if (pointInd >= points.length) {
9235 pointInd = 0;
9236 segmentInd += 1;
9237 if (!segments[segmentInd]) if (mask.v.c) {
9238 pointInd = 0;
9239 segmentInd = 0;
9240 points = segments[segmentInd].points;
9241 } else {
9242 segmentLength -= currentPoint.partialLength;
9243 points = null;
9244 }
9245 else points = segments[segmentInd].points;
9246 }
9247 if (points) {
9248 prevPoint = currentPoint;
9249 currentPoint = points[pointInd];
9250 partialLength = currentPoint.partialLength;
9251 }
9252 }
9253 offf = letters[i].an / 2 - letters[i].add;
9254 matrixHelper.translate(-offf, 0, 0);
9255 } else {
9256 offf = letters[i].an / 2 - letters[i].add;
9257 matrixHelper.translate(-offf, 0, 0);
9258 matrixHelper.translate(-alignment[0] * letters[i].an * .005, -alignment[1] * yOff * .01, 0);
9259 }
9260 for (j = 0; j < jLen; j += 1) {
9261 animatorProps = animators[j].a;
9262 if (animatorProps.t.propType) {
9263 animatorSelector = animators[j].s;
9264 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9265 if (xPos !== 0 || documentData.j !== 0) if (this._hasMaskedPath) if (mult.length) currentLength += animatorProps.t.v * mult[0];
9266 else currentLength += animatorProps.t.v * mult;
9267 else if (mult.length) xPos += animatorProps.t.v * mult[0];
9268 else xPos += animatorProps.t.v * mult;
9269 }
9270 }
9271 if (documentData.strokeWidthAnim) sw = documentData.sw || 0;
9272 if (documentData.strokeColorAnim) if (documentData.sc) sc = [
9273 documentData.sc[0],
9274 documentData.sc[1],
9275 documentData.sc[2]
9276 ];
9277 else sc = [
9278 0,
9279 0,
9280 0
9281 ];
9282 if (documentData.fillColorAnim && documentData.fc) fc = [
9283 documentData.fc[0],
9284 documentData.fc[1],
9285 documentData.fc[2]
9286 ];
9287 for (j = 0; j < jLen; j += 1) {
9288 animatorProps = animators[j].a;
9289 if (animatorProps.a.propType) {
9290 animatorSelector = animators[j].s;
9291 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9292 if (mult.length) matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);
9293 else matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);
9294 }
9295 }
9296 for (j = 0; j < jLen; j += 1) {
9297 animatorProps = animators[j].a;
9298 if (animatorProps.s.propType) {
9299 animatorSelector = animators[j].s;
9300 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9301 if (mult.length) matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);
9302 else matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);
9303 }
9304 }
9305 for (j = 0; j < jLen; j += 1) {
9306 animatorProps = animators[j].a;
9307 animatorSelector = animators[j].s;
9308 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9309 if (animatorProps.sk.propType) if (mult.length) matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);
9310 else matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);
9311 if (animatorProps.r.propType) if (mult.length) matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);
9312 else matrixHelper.rotateZ(-animatorProps.r.v * mult);
9313 if (animatorProps.ry.propType) if (mult.length) matrixHelper.rotateY(animatorProps.ry.v * mult[1]);
9314 else matrixHelper.rotateY(animatorProps.ry.v * mult);
9315 if (animatorProps.rx.propType) if (mult.length) matrixHelper.rotateX(animatorProps.rx.v * mult[0]);
9316 else matrixHelper.rotateX(animatorProps.rx.v * mult);
9317 if (animatorProps.o.propType) if (mult.length) elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];
9318 else elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;
9319 if (documentData.strokeWidthAnim && animatorProps.sw.propType) if (mult.length) sw += animatorProps.sw.v * mult[0];
9320 else sw += animatorProps.sw.v * mult;
9321 if (documentData.strokeColorAnim && animatorProps.sc.propType) for (k = 0; k < 3; k += 1) if (mult.length) sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];
9322 else sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;
9323 if (documentData.fillColorAnim && documentData.fc) {
9324 if (animatorProps.fc.propType) for (k = 0; k < 3; k += 1) if (mult.length) fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];
9325 else fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;
9326 if (animatorProps.fh.propType) if (mult.length) fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);
9327 else fc = addHueToRGB(fc, animatorProps.fh.v * mult);
9328 if (animatorProps.fs.propType) if (mult.length) fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);
9329 else fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);
9330 if (animatorProps.fb.propType) if (mult.length) fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);
9331 else fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);
9332 }
9333 }
9334 for (j = 0; j < jLen; j += 1) {
9335 animatorProps = animators[j].a;
9336 if (animatorProps.p.propType) {
9337 animatorSelector = animators[j].s;
9338 mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);
9339 if (this._hasMaskedPath) if (mult.length) matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);
9340 else matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);
9341 else if (mult.length) matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);
9342 else matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);
9343 }
9344 }
9345 if (documentData.strokeWidthAnim) letterSw = sw < 0 ? 0 : sw;
9346 if (documentData.strokeColorAnim) letterSc = "rgb(" + Math.round(sc[0] * 255) + "," + Math.round(sc[1] * 255) + "," + Math.round(sc[2] * 255) + ")";
9347 if (documentData.fillColorAnim && documentData.fc) letterFc = "rgb(" + Math.round(fc[0] * 255) + "," + Math.round(fc[1] * 255) + "," + Math.round(fc[2] * 255) + ")";
9348 if (this._hasMaskedPath) {
9349 matrixHelper.translate(0, -documentData.ls);
9350 matrixHelper.translate(0, alignment[1] * yOff * .01 + yPos, 0);
9351 if (this._pathData.p.v) {
9352 tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);
9353 var rot = Math.atan(tanAngle) * 180 / Math.PI;
9354 if (currentPoint.point[0] < prevPoint.point[0]) rot += 180;
9355 matrixHelper.rotate(-rot * Math.PI / 180);
9356 }
9357 matrixHelper.translate(xPathPos, yPathPos, 0);
9358 currentLength -= alignment[0] * letters[i].an * .005;
9359 if (letters[i + 1] && ind !== letters[i + 1].ind) {
9360 currentLength += letters[i].an / 2;
9361 currentLength += documentData.tr * .001 * documentData.finalSize;
9362 }
9363 } else {
9364 matrixHelper.translate(xPos, yPos, 0);
9365 if (documentData.ps) matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);
9366 switch (documentData.j) {
9367 case 1:
9368 matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);
9369 break;
9370 case 2:
9371 matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);
9372 break;
9373 default: break;
9374 }
9375 matrixHelper.translate(0, -documentData.ls);
9376 matrixHelper.translate(offf, 0, 0);
9377 matrixHelper.translate(alignment[0] * letters[i].an * .005, alignment[1] * yOff * .01, 0);
9378 xPos += letters[i].l + documentData.tr * .001 * documentData.finalSize;
9379 }
9380 if (renderType === "html") letterM = matrixHelper.toCSS();
9381 else if (renderType === "svg") letterM = matrixHelper.to2dCSS();
9382 else letterP = [
9383 matrixHelper.props[0],
9384 matrixHelper.props[1],
9385 matrixHelper.props[2],
9386 matrixHelper.props[3],
9387 matrixHelper.props[4],
9388 matrixHelper.props[5],
9389 matrixHelper.props[6],
9390 matrixHelper.props[7],
9391 matrixHelper.props[8],
9392 matrixHelper.props[9],
9393 matrixHelper.props[10],
9394 matrixHelper.props[11],
9395 matrixHelper.props[12],
9396 matrixHelper.props[13],
9397 matrixHelper.props[14],
9398 matrixHelper.props[15]
9399 ];
9400 letterO = elemOpacity;
9401 }
9402 if (renderedLettersCount <= i) {
9403 letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);
9404 this.renderedLetters.push(letterValue);
9405 renderedLettersCount += 1;
9406 this.lettersChangedFlag = true;
9407 } else {
9408 letterValue = this.renderedLetters[i];
9409 this.lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || this.lettersChangedFlag;
9410 }
9411 }
9412 };
9413 TextAnimatorProperty.prototype.getValue = function() {
9414 if (this._elem.globalData.frameId === this._frameId) return;
9415 this._frameId = this._elem.globalData.frameId;
9416 this.iterateDynamicProperties();
9417 };
9418 TextAnimatorProperty.prototype.mHelper = new Matrix();
9419 TextAnimatorProperty.prototype.defaultPropsArray = [];
9420 extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);
9421 function ITextElement() {}
9422 ITextElement.prototype.initElement = function(data, globalData, comp) {
9423 this.lettersChangedFlag = true;
9424 this.initFrame();
9425 this.initBaseData(data, globalData, comp);
9426 this.textProperty = new TextProperty(this, data.t, this.dynamicProperties);
9427 this.textAnimator = new TextAnimatorProperty(data.t, this.renderType, this);
9428 this.initTransform(data, globalData, comp);
9429 this.initHierarchy();
9430 this.initRenderable();
9431 this.initRendererElement();
9432 this.createContainerElements();
9433 this.createRenderableComponents();
9434 this.createContent();
9435 this.hide();
9436 this.textAnimator.searchProperties(this.dynamicProperties);
9437 };
9438 ITextElement.prototype.prepareFrame = function(num) {
9439 this._mdf = false;
9440 this.prepareRenderableFrame(num);
9441 this.prepareProperties(num, this.isInRange);
9442 };
9443 ITextElement.prototype.createPathShape = function(matrixHelper, shapes) {
9444 var j;
9445 var jLen = shapes.length;
9446 var pathNodes;
9447 var shapeStr = "";
9448 for (j = 0; j < jLen; j += 1) if (shapes[j].ty === "sh") {
9449 pathNodes = shapes[j].ks.k;
9450 shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);
9451 }
9452 return shapeStr;
9453 };
9454 ITextElement.prototype.updateDocumentData = function(newData, index) {
9455 this.textProperty.updateDocumentData(newData, index);
9456 };
9457 ITextElement.prototype.canResizeFont = function(_canResize) {
9458 this.textProperty.canResizeFont(_canResize);
9459 };
9460 ITextElement.prototype.setMinimumFontSize = function(_fontSize) {
9461 this.textProperty.setMinimumFontSize(_fontSize);
9462 };
9463 ITextElement.prototype.applyTextPropertiesToMatrix = function(documentData, matrixHelper, lineNumber, xPos, yPos) {
9464 if (documentData.ps) matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);
9465 matrixHelper.translate(0, -documentData.ls, 0);
9466 switch (documentData.j) {
9467 case 1:
9468 matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);
9469 break;
9470 case 2:
9471 matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);
9472 break;
9473 default: break;
9474 }
9475 matrixHelper.translate(xPos, yPos, 0);
9476 };
9477 ITextElement.prototype.buildColor = function(colorData) {
9478 return "rgb(" + Math.round(colorData[0] * 255) + "," + Math.round(colorData[1] * 255) + "," + Math.round(colorData[2] * 255) + ")";
9479 };
9480 ITextElement.prototype.emptyProp = new LetterProps();
9481 ITextElement.prototype.destroy = function() {};
9482 ITextElement.prototype.validateText = function() {
9483 if (this.textProperty._mdf || this.textProperty._isFirstFrame) {
9484 this.buildNewText();
9485 this.textProperty._isFirstFrame = false;
9486 this.textProperty._mdf = false;
9487 }
9488 };
9489 var emptyShapeData = { shapes: [] };
9490 function SVGTextLottieElement(data, globalData, comp) {
9491 this.textSpans = [];
9492 this.renderType = "svg";
9493 this.initElement(data, globalData, comp);
9494 }
9495 extendPrototype([
9496 BaseElement,
9497 TransformElement,
9498 SVGBaseElement,
9499 HierarchyElement,
9500 FrameElement,
9501 RenderableDOMElement,
9502 ITextElement
9503 ], SVGTextLottieElement);
9504 SVGTextLottieElement.prototype.createContent = function() {
9505 if (this.data.singleShape && !this.globalData.fontManager.chars) this.textContainer = createNS("text");
9506 };
9507 SVGTextLottieElement.prototype.buildTextContents = function(textArray) {
9508 var i = 0;
9509 var len = textArray.length;
9510 var textContents = [];
9511 var currentTextContent = "";
9512 while (i < len) {
9513 if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {
9514 textContents.push(currentTextContent);
9515 currentTextContent = "";
9516 } else currentTextContent += textArray[i];
9517 i += 1;
9518 }
9519 textContents.push(currentTextContent);
9520 return textContents;
9521 };
9522 SVGTextLottieElement.prototype.buildShapeData = function(data, scale) {
9523 if (data.shapes && data.shapes.length) {
9524 var shape = data.shapes[0];
9525 if (shape.it) {
9526 var shapeItem = shape.it[shape.it.length - 1];
9527 if (shapeItem.s) {
9528 shapeItem.s.k[0] = scale;
9529 shapeItem.s.k[1] = scale;
9530 }
9531 }
9532 }
9533 return data;
9534 };
9535 SVGTextLottieElement.prototype.buildNewText = function() {
9536 this.addDynamicProperty(this);
9537 var i;
9538 var len;
9539 var documentData = this.textProperty.currentData;
9540 this.renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);
9541 if (documentData.fc) this.layerElement.setAttribute("fill", this.buildColor(documentData.fc));
9542 else this.layerElement.setAttribute("fill", "rgba(0,0,0,0)");
9543 if (documentData.sc) {
9544 this.layerElement.setAttribute("stroke", this.buildColor(documentData.sc));
9545 this.layerElement.setAttribute("stroke-width", documentData.sw);
9546 }
9547 this.layerElement.setAttribute("font-size", documentData.finalSize);
9548 var fontData = this.globalData.fontManager.getFontByName(documentData.f);
9549 if (fontData.fClass) this.layerElement.setAttribute("class", fontData.fClass);
9550 else {
9551 this.layerElement.setAttribute("font-family", fontData.fFamily);
9552 var fWeight = documentData.fWeight;
9553 var fStyle = documentData.fStyle;
9554 this.layerElement.setAttribute("font-style", fStyle);
9555 this.layerElement.setAttribute("font-weight", fWeight);
9556 }
9557 this.layerElement.setAttribute("aria-label", documentData.t);
9558 var letters = documentData.l || [];
9559 var usesGlyphs = !!this.globalData.fontManager.chars;
9560 len = letters.length;
9561 var tSpan;
9562 var matrixHelper = this.mHelper;
9563 var shapeStr = "";
9564 var singleShape = this.data.singleShape;
9565 var xPos = 0;
9566 var yPos = 0;
9567 var firstLine = true;
9568 var trackingOffset = documentData.tr * .001 * documentData.finalSize;
9569 if (singleShape && !usesGlyphs && !documentData.sz) {
9570 var tElement = this.textContainer;
9571 var justify = "start";
9572 switch (documentData.j) {
9573 case 1:
9574 justify = "end";
9575 break;
9576 case 2:
9577 justify = "middle";
9578 break;
9579 default:
9580 justify = "start";
9581 break;
9582 }
9583 tElement.setAttribute("text-anchor", justify);
9584 tElement.setAttribute("letter-spacing", trackingOffset);
9585 var textContent = this.buildTextContents(documentData.finalText);
9586 len = textContent.length;
9587 yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;
9588 for (i = 0; i < len; i += 1) {
9589 tSpan = this.textSpans[i].span || createNS("tspan");
9590 tSpan.textContent = textContent[i];
9591 tSpan.setAttribute("x", 0);
9592 tSpan.setAttribute("y", yPos);
9593 tSpan.style.display = "inherit";
9594 tElement.appendChild(tSpan);
9595 if (!this.textSpans[i]) this.textSpans[i] = {
9596 span: null,
9597 glyph: null
9598 };
9599 this.textSpans[i].span = tSpan;
9600 yPos += documentData.finalLineHeight;
9601 }
9602 this.layerElement.appendChild(tElement);
9603 } else {
9604 var cachedSpansLength = this.textSpans.length;
9605 var charData;
9606 for (i = 0; i < len; i += 1) {
9607 if (!this.textSpans[i]) this.textSpans[i] = {
9608 span: null,
9609 childSpan: null,
9610 glyph: null
9611 };
9612 if (!usesGlyphs || !singleShape || i === 0) {
9613 tSpan = cachedSpansLength > i ? this.textSpans[i].span : createNS(usesGlyphs ? "g" : "text");
9614 if (cachedSpansLength <= i) {
9615 tSpan.setAttribute("stroke-linecap", "butt");
9616 tSpan.setAttribute("stroke-linejoin", "round");
9617 tSpan.setAttribute("stroke-miterlimit", "4");
9618 this.textSpans[i].span = tSpan;
9619 if (usesGlyphs) {
9620 var childSpan = createNS("g");
9621 tSpan.appendChild(childSpan);
9622 this.textSpans[i].childSpan = childSpan;
9623 }
9624 this.textSpans[i].span = tSpan;
9625 this.layerElement.appendChild(tSpan);
9626 }
9627 tSpan.style.display = "inherit";
9628 }
9629 matrixHelper.reset();
9630 if (singleShape) {
9631 if (letters[i].n) {
9632 xPos = -trackingOffset;
9633 yPos += documentData.yOffset;
9634 yPos += firstLine ? 1 : 0;
9635 firstLine = false;
9636 }
9637 this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);
9638 xPos += letters[i].l || 0;
9639 xPos += trackingOffset;
9640 }
9641 if (usesGlyphs) {
9642 charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
9643 var glyphElement;
9644 if (charData.t === 1) glyphElement = new SVGCompElement(charData.data, this.globalData, this);
9645 else {
9646 var data = emptyShapeData;
9647 if (charData.data && charData.data.shapes) data = this.buildShapeData(charData.data, documentData.finalSize);
9648 glyphElement = new SVGShapeElement(data, this.globalData, this);
9649 }
9650 if (this.textSpans[i].glyph) {
9651 var glyph = this.textSpans[i].glyph;
9652 this.textSpans[i].childSpan.removeChild(glyph.layerElement);
9653 glyph.destroy();
9654 }
9655 this.textSpans[i].glyph = glyphElement;
9656 glyphElement._debug = true;
9657 glyphElement.prepareFrame(0);
9658 glyphElement.renderFrame();
9659 this.textSpans[i].childSpan.appendChild(glyphElement.layerElement);
9660 if (charData.t === 1) this.textSpans[i].childSpan.setAttribute("transform", "scale(" + documentData.finalSize / 100 + "," + documentData.finalSize / 100 + ")");
9661 } else {
9662 if (singleShape) tSpan.setAttribute("transform", "translate(" + matrixHelper.props[12] + "," + matrixHelper.props[13] + ")");
9663 tSpan.textContent = letters[i].val;
9664 tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");
9665 }
9666 }
9667 if (singleShape && tSpan) tSpan.setAttribute("d", shapeStr);
9668 }
9669 while (i < this.textSpans.length) {
9670 this.textSpans[i].span.style.display = "none";
9671 i += 1;
9672 }
9673 this._sizeChanged = true;
9674 };
9675 SVGTextLottieElement.prototype.sourceRectAtTime = function() {
9676 this.prepareFrame(this.comp.renderedFrame - this.data.st);
9677 this.renderInnerContent();
9678 if (this._sizeChanged) {
9679 this._sizeChanged = false;
9680 var textBox = this.layerElement.getBBox();
9681 this.bbox = {
9682 top: textBox.y,
9683 left: textBox.x,
9684 width: textBox.width,
9685 height: textBox.height
9686 };
9687 }
9688 return this.bbox;
9689 };
9690 SVGTextLottieElement.prototype.getValue = function() {
9691 var i;
9692 var len = this.textSpans.length;
9693 var glyphElement;
9694 this.renderedFrame = this.comp.renderedFrame;
9695 for (i = 0; i < len; i += 1) {
9696 glyphElement = this.textSpans[i].glyph;
9697 if (glyphElement) {
9698 glyphElement.prepareFrame(this.comp.renderedFrame - this.data.st);
9699 if (glyphElement._mdf) this._mdf = true;
9700 }
9701 }
9702 };
9703 SVGTextLottieElement.prototype.renderInnerContent = function() {
9704 this.validateText();
9705 if (!this.data.singleShape || this._mdf) {
9706 this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
9707 if (this.lettersChangedFlag || this.textAnimator.lettersChangedFlag) {
9708 this._sizeChanged = true;
9709 var i;
9710 var len;
9711 var renderedLetters = this.textAnimator.renderedLetters;
9712 var letters = this.textProperty.currentData.l;
9713 len = letters.length;
9714 var renderedLetter;
9715 var textSpan;
9716 var glyphElement;
9717 for (i = 0; i < len; i += 1) if (!letters[i].n) {
9718 renderedLetter = renderedLetters[i];
9719 textSpan = this.textSpans[i].span;
9720 glyphElement = this.textSpans[i].glyph;
9721 if (glyphElement) glyphElement.renderFrame();
9722 if (renderedLetter._mdf.m) textSpan.setAttribute("transform", renderedLetter.m);
9723 if (renderedLetter._mdf.o) textSpan.setAttribute("opacity", renderedLetter.o);
9724 if (renderedLetter._mdf.sw) textSpan.setAttribute("stroke-width", renderedLetter.sw);
9725 if (renderedLetter._mdf.sc) textSpan.setAttribute("stroke", renderedLetter.sc);
9726 if (renderedLetter._mdf.fc) textSpan.setAttribute("fill", renderedLetter.fc);
9727 }
9728 }
9729 }
9730 };
9731 function ISolidElement(data, globalData, comp) {
9732 this.initElement(data, globalData, comp);
9733 }
9734 extendPrototype([IImageElement], ISolidElement);
9735 ISolidElement.prototype.createContent = function() {
9736 var rect = createNS("rect");
9737 rect.setAttribute("width", this.data.sw);
9738 rect.setAttribute("height", this.data.sh);
9739 rect.setAttribute("fill", this.data.sc);
9740 this.layerElement.appendChild(rect);
9741 };
9742 function NullElement(data, globalData, comp) {
9743 this.initFrame();
9744 this.initBaseData(data, globalData, comp);
9745 this.initFrame();
9746 this.initTransform(data, globalData, comp);
9747 this.initHierarchy();
9748 }
9749 NullElement.prototype.prepareFrame = function(num) {
9750 this.prepareProperties(num, true);
9751 };
9752 NullElement.prototype.renderFrame = function() {};
9753 NullElement.prototype.getBaseElement = function() {
9754 return null;
9755 };
9756 NullElement.prototype.destroy = function() {};
9757 NullElement.prototype.sourceRectAtTime = function() {};
9758 NullElement.prototype.hide = function() {};
9759 extendPrototype([
9760 BaseElement,
9761 TransformElement,
9762 HierarchyElement,
9763 FrameElement
9764 ], NullElement);
9765 function SVGRendererBase() {}
9766 extendPrototype([BaseRenderer], SVGRendererBase);
9767 SVGRendererBase.prototype.createNull = function(data) {
9768 return new NullElement(data, this.globalData, this);
9769 };
9770 SVGRendererBase.prototype.createShape = function(data) {
9771 return new SVGShapeElement(data, this.globalData, this);
9772 };
9773 SVGRendererBase.prototype.createText = function(data) {
9774 return new SVGTextLottieElement(data, this.globalData, this);
9775 };
9776 SVGRendererBase.prototype.createImage = function(data) {
9777 return new IImageElement(data, this.globalData, this);
9778 };
9779 SVGRendererBase.prototype.createSolid = function(data) {
9780 return new ISolidElement(data, this.globalData, this);
9781 };
9782 SVGRendererBase.prototype.configAnimation = function(animData) {
9783 this.svgElement.setAttribute("xmlns", "http://www.w3.org/2000/svg");
9784 this.svgElement.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
9785 if (this.renderConfig.viewBoxSize) this.svgElement.setAttribute("viewBox", this.renderConfig.viewBoxSize);
9786 else this.svgElement.setAttribute("viewBox", "0 0 " + animData.w + " " + animData.h);
9787 if (!this.renderConfig.viewBoxOnly) {
9788 this.svgElement.setAttribute("width", animData.w);
9789 this.svgElement.setAttribute("height", animData.h);
9790 this.svgElement.style.width = "100%";
9791 this.svgElement.style.height = "100%";
9792 this.svgElement.style.transform = "translate3d(0,0,0)";
9793 this.svgElement.style.contentVisibility = this.renderConfig.contentVisibility;
9794 }
9795 if (this.renderConfig.width) this.svgElement.setAttribute("width", this.renderConfig.width);
9796 if (this.renderConfig.height) this.svgElement.setAttribute("height", this.renderConfig.height);
9797 if (this.renderConfig.className) this.svgElement.setAttribute("class", this.renderConfig.className);
9798 if (this.renderConfig.id) this.svgElement.setAttribute("id", this.renderConfig.id);
9799 if (this.renderConfig.focusable !== void 0) this.svgElement.setAttribute("focusable", this.renderConfig.focusable);
9800 this.svgElement.setAttribute("preserveAspectRatio", this.renderConfig.preserveAspectRatio);
9801 this.animationItem.wrapper.appendChild(this.svgElement);
9802 var defs = this.globalData.defs;
9803 this.setupGlobalData(animData, defs);
9804 this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;
9805 this.data = animData;
9806 var maskElement = createNS("clipPath");
9807 var rect = createNS("rect");
9808 rect.setAttribute("width", animData.w);
9809 rect.setAttribute("height", animData.h);
9810 rect.setAttribute("x", 0);
9811 rect.setAttribute("y", 0);
9812 var maskId = createElementID();
9813 maskElement.setAttribute("id", maskId);
9814 maskElement.appendChild(rect);
9815 this.layerElement.setAttribute("clip-path", "url(" + getLocationHref() + "#" + maskId + ")");
9816 defs.appendChild(maskElement);
9817 this.layers = animData.layers;
9818 this.elements = createSizedArray(animData.layers.length);
9819 };
9820 SVGRendererBase.prototype.destroy = function() {
9821 if (this.animationItem.wrapper) this.animationItem.wrapper.innerText = "";
9822 this.layerElement = null;
9823 this.globalData.defs = null;
9824 var i;
9825 var len = this.layers ? this.layers.length : 0;
9826 for (i = 0; i < len; i += 1) if (this.elements[i] && this.elements[i].destroy) this.elements[i].destroy();
9827 this.elements.length = 0;
9828 this.destroyed = true;
9829 this.animationItem = null;
9830 };
9831 SVGRendererBase.prototype.updateContainerSize = function() {};
9832 SVGRendererBase.prototype.findIndexByInd = function(ind) {
9833 var i = 0;
9834 var len = this.layers.length;
9835 for (i = 0; i < len; i += 1) if (this.layers[i].ind === ind) return i;
9836 return -1;
9837 };
9838 SVGRendererBase.prototype.buildItem = function(pos) {
9839 var elements = this.elements;
9840 if (elements[pos] || this.layers[pos].ty === 99) return;
9841 elements[pos] = true;
9842 var element = this.createItem(this.layers[pos]);
9843 elements[pos] = element;
9844 if (getExpressionsPlugin()) {
9845 if (this.layers[pos].ty === 0) this.globalData.projectInterface.registerComposition(element);
9846 element.initExpressions();
9847 }
9848 this.appendElementInPos(element, pos);
9849 if (this.layers[pos].tt) {
9850 var elementIndex = "tp" in this.layers[pos] ? this.findIndexByInd(this.layers[pos].tp) : pos - 1;
9851 if (elementIndex === -1) return;
9852 if (!this.elements[elementIndex] || this.elements[elementIndex] === true) {
9853 this.buildItem(elementIndex);
9854 this.addPendingElement(element);
9855 } else {
9856 var matteMask = elements[elementIndex].getMatte(this.layers[pos].tt);
9857 element.setMatte(matteMask);
9858 }
9859 }
9860 };
9861 SVGRendererBase.prototype.checkPendingElements = function() {
9862 while (this.pendingElements.length) {
9863 var element = this.pendingElements.pop();
9864 element.checkParenting();
9865 if (element.data.tt) {
9866 var i = 0;
9867 var len = this.elements.length;
9868 while (i < len) {
9869 if (this.elements[i] === element) {
9870 var elementIndex = "tp" in element.data ? this.findIndexByInd(element.data.tp) : i - 1;
9871 var matteMask = this.elements[elementIndex].getMatte(this.layers[i].tt);
9872 element.setMatte(matteMask);
9873 break;
9874 }
9875 i += 1;
9876 }
9877 }
9878 }
9879 };
9880 SVGRendererBase.prototype.renderFrame = function(num) {
9881 if (this.renderedFrame === num || this.destroyed) return;
9882 if (num === null) num = this.renderedFrame;
9883 else this.renderedFrame = num;
9884 this.globalData.frameNum = num;
9885 this.globalData.frameId += 1;
9886 this.globalData.projectInterface.currentFrame = num;
9887 this.globalData._mdf = false;
9888 var i;
9889 var len = this.layers.length;
9890 if (!this.completeLayers) this.checkLayers(num);
9891 for (i = len - 1; i >= 0; i -= 1) if (this.completeLayers || this.elements[i]) this.elements[i].prepareFrame(num - this.layers[i].st);
9892 if (this.globalData._mdf) {
9893 for (i = 0; i < len; i += 1) if (this.completeLayers || this.elements[i]) this.elements[i].renderFrame();
9894 }
9895 };
9896 SVGRendererBase.prototype.appendElementInPos = function(element, pos) {
9897 var newElement = element.getBaseElement();
9898 if (!newElement) return;
9899 var i = 0;
9900 var nextElement;
9901 while (i < pos) {
9902 if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement()) nextElement = this.elements[i].getBaseElement();
9903 i += 1;
9904 }
9905 if (nextElement) this.layerElement.insertBefore(newElement, nextElement);
9906 else this.layerElement.appendChild(newElement);
9907 };
9908 SVGRendererBase.prototype.hide = function() {
9909 this.layerElement.style.display = "none";
9910 };
9911 SVGRendererBase.prototype.show = function() {
9912 this.layerElement.style.display = "block";
9913 };
9914 function ICompElement() {}
9915 extendPrototype([
9916 BaseElement,
9917 TransformElement,
9918 HierarchyElement,
9919 FrameElement,
9920 RenderableDOMElement
9921 ], ICompElement);
9922 ICompElement.prototype.initElement = function(data, globalData, comp) {
9923 this.initFrame();
9924 this.initBaseData(data, globalData, comp);
9925 this.initTransform(data, globalData, comp);
9926 this.initRenderable();
9927 this.initHierarchy();
9928 this.initRendererElement();
9929 this.createContainerElements();
9930 this.createRenderableComponents();
9931 if (this.data.xt || !globalData.progressiveLoad) this.buildAllItems();
9932 this.hide();
9933 };
9934 ICompElement.prototype.prepareFrame = function(num) {
9935 this._mdf = false;
9936 this.prepareRenderableFrame(num);
9937 this.prepareProperties(num, this.isInRange);
9938 if (!this.isInRange && !this.data.xt) return;
9939 if (!this.tm._placeholder) {
9940 var timeRemapped = this.tm.v;
9941 if (timeRemapped === this.data.op) timeRemapped = this.data.op - 1;
9942 this.renderedFrame = timeRemapped;
9943 } else this.renderedFrame = num / this.data.sr;
9944 var i;
9945 var len = this.elements.length;
9946 if (!this.completeLayers) this.checkLayers(this.renderedFrame);
9947 for (i = len - 1; i >= 0; i -= 1) if (this.completeLayers || this.elements[i]) {
9948 this.elements[i].prepareFrame(this.renderedFrame - this.layers[i].st);
9949 if (this.elements[i]._mdf) this._mdf = true;
9950 }
9951 };
9952 ICompElement.prototype.renderInnerContent = function() {
9953 var i;
9954 var len = this.layers.length;
9955 for (i = 0; i < len; i += 1) if (this.completeLayers || this.elements[i]) this.elements[i].renderFrame();
9956 };
9957 ICompElement.prototype.setElements = function(elems) {
9958 this.elements = elems;
9959 };
9960 ICompElement.prototype.getElements = function() {
9961 return this.elements;
9962 };
9963 ICompElement.prototype.destroyElements = function() {
9964 var i;
9965 var len = this.layers.length;
9966 for (i = 0; i < len; i += 1) if (this.elements[i]) this.elements[i].destroy();
9967 };
9968 ICompElement.prototype.destroy = function() {
9969 this.destroyElements();
9970 this.destroyBaseElement();
9971 };
9972 function SVGCompElement(data, globalData, comp) {
9973 this.layers = data.layers;
9974 this.supports3d = true;
9975 this.completeLayers = false;
9976 this.pendingElements = [];
9977 this.elements = this.layers ? createSizedArray(this.layers.length) : [];
9978 this.initElement(data, globalData, comp);
9979 this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };
9980 }
9981 extendPrototype([
9982 SVGRendererBase,
9983 ICompElement,
9984 SVGBaseElement
9985 ], SVGCompElement);
9986 SVGCompElement.prototype.createComp = function(data) {
9987 return new SVGCompElement(data, this.globalData, this);
9988 };
9989 function SVGRenderer(animationItem, config) {
9990 this.animationItem = animationItem;
9991 this.layers = null;
9992 this.renderedFrame = -1;
9993 this.svgElement = createNS("svg");
9994 var ariaLabel = "";
9995 if (config && config.title) {
9996 var titleElement = createNS("title");
9997 var titleId = createElementID();
9998 titleElement.setAttribute("id", titleId);
9999 titleElement.textContent = config.title;
10000 this.svgElement.appendChild(titleElement);
10001 ariaLabel += titleId;
10002 }
10003 if (config && config.description) {
10004 var descElement = createNS("desc");
10005 var descId = createElementID();
10006 descElement.setAttribute("id", descId);
10007 descElement.textContent = config.description;
10008 this.svgElement.appendChild(descElement);
10009 ariaLabel += " " + descId;
10010 }
10011 if (ariaLabel) this.svgElement.setAttribute("aria-labelledby", ariaLabel);
10012 var defs = createNS("defs");
10013 this.svgElement.appendChild(defs);
10014 var maskElement = createNS("g");
10015 this.svgElement.appendChild(maskElement);
10016 this.layerElement = maskElement;
10017 this.renderConfig = {
10018 preserveAspectRatio: config && config.preserveAspectRatio || "xMidYMid meet",
10019 imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || "xMidYMid slice",
10020 contentVisibility: config && config.contentVisibility || "visible",
10021 progressiveLoad: config && config.progressiveLoad || false,
10022 hideOnTransparent: !(config && config.hideOnTransparent === false),
10023 viewBoxOnly: config && config.viewBoxOnly || false,
10024 viewBoxSize: config && config.viewBoxSize || false,
10025 className: config && config.className || "",
10026 id: config && config.id || "",
10027 focusable: config && config.focusable,
10028 filterSize: {
10029 width: config && config.filterSize && config.filterSize.width || "100%",
10030 height: config && config.filterSize && config.filterSize.height || "100%",
10031 x: config && config.filterSize && config.filterSize.x || "0%",
10032 y: config && config.filterSize && config.filterSize.y || "0%"
10033 },
10034 width: config && config.width,
10035 height: config && config.height,
10036 runExpressions: !config || config.runExpressions === void 0 || config.runExpressions
10037 };
10038 this.globalData = {
10039 _mdf: false,
10040 frameNum: -1,
10041 defs,
10042 renderConfig: this.renderConfig
10043 };
10044 this.elements = [];
10045 this.pendingElements = [];
10046 this.destroyed = false;
10047 this.rendererType = "svg";
10048 }
10049 extendPrototype([SVGRendererBase], SVGRenderer);
10050 SVGRenderer.prototype.createComp = function(data) {
10051 return new SVGCompElement(data, this.globalData, this);
10052 };
10053 function ShapeTransformManager() {
10054 this.sequences = {};
10055 this.sequenceList = [];
10056 this.transform_key_count = 0;
10057 }
10058 ShapeTransformManager.prototype = {
10059 addTransformSequence: function addTransformSequence(transforms) {
10060 var i;
10061 var len = transforms.length;
10062 var key = "_";
10063 for (i = 0; i < len; i += 1) key += transforms[i].transform.key + "_";
10064 var sequence = this.sequences[key];
10065 if (!sequence) {
10066 sequence = {
10067 transforms: [].concat(transforms),
10068 finalTransform: new Matrix(),
10069 _mdf: false
10070 };
10071 this.sequences[key] = sequence;
10072 this.sequenceList.push(sequence);
10073 }
10074 return sequence;
10075 },
10076 processSequence: function processSequence(sequence, isFirstFrame) {
10077 var i = 0;
10078 var len = sequence.transforms.length;
10079 var _mdf = isFirstFrame;
10080 while (i < len && !isFirstFrame) {
10081 if (sequence.transforms[i].transform.mProps._mdf) {
10082 _mdf = true;
10083 break;
10084 }
10085 i += 1;
10086 }
10087 if (_mdf) {
10088 sequence.finalTransform.reset();
10089 for (i = len - 1; i >= 0; i -= 1) sequence.finalTransform.multiply(sequence.transforms[i].transform.mProps.v);
10090 }
10091 sequence._mdf = _mdf;
10092 },
10093 processSequences: function processSequences(isFirstFrame) {
10094 var i;
10095 var len = this.sequenceList.length;
10096 for (i = 0; i < len; i += 1) this.processSequence(this.sequenceList[i], isFirstFrame);
10097 },
10098 getNewKey: function getNewKey() {
10099 this.transform_key_count += 1;
10100 return "_" + this.transform_key_count;
10101 }
10102 };
10103 var lumaLoader = function lumaLoader() {
10104 var id = "__lottie_element_luma_buffer";
10105 var lumaBuffer = null;
10106 var lumaBufferCtx = null;
10107 var svg = null;
10108 function createLumaSvgFilter() {
10109 var _svg = createNS("svg");
10110 var fil = createNS("filter");
10111 var matrix = createNS("feColorMatrix");
10112 fil.setAttribute("id", id);
10113 matrix.setAttribute("type", "matrix");
10114 matrix.setAttribute("color-interpolation-filters", "sRGB");
10115 matrix.setAttribute("values", "0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0");
10116 fil.appendChild(matrix);
10117 _svg.appendChild(fil);
10118 _svg.setAttribute("id", "__lottie_element_luma_buffer_svg");
10119 if (featureSupport.svgLumaHidden) _svg.style.display = "none";
10120 return _svg;
10121 }
10122 function loadLuma() {
10123 if (!lumaBuffer) {
10124 svg = createLumaSvgFilter();
10125 document.body.appendChild(svg);
10126 lumaBuffer = createTag("canvas");
10127 lumaBufferCtx = lumaBuffer.getContext("2d");
10128 lumaBufferCtx.filter = "url(#__lottie_element_luma_buffer)";
10129 lumaBufferCtx.fillStyle = "rgba(0,0,0,0)";
10130 lumaBufferCtx.fillRect(0, 0, 1, 1);
10131 }
10132 }
10133 function getLuma(canvas) {
10134 if (!lumaBuffer) loadLuma();
10135 lumaBuffer.width = canvas.width;
10136 lumaBuffer.height = canvas.height;
10137 lumaBufferCtx.filter = "url(#__lottie_element_luma_buffer)";
10138 return lumaBuffer;
10139 }
10140 return {
10141 load: loadLuma,
10142 get: getLuma
10143 };
10144 };
10145 function createCanvas(width, height) {
10146 if (featureSupport.offscreenCanvas) return new OffscreenCanvas(width, height);
10147 var canvas = createTag("canvas");
10148 canvas.width = width;
10149 canvas.height = height;
10150 return canvas;
10151 }
10152 var assetLoader = function() {
10153 return {
10154 loadLumaCanvas: lumaLoader.load,
10155 getLumaCanvas: lumaLoader.get,
10156 createCanvas
10157 };
10158 }();
10159 var registeredEffects = {};
10160 function CVEffects(elem) {
10161 var i;
10162 var len = elem.data.ef ? elem.data.ef.length : 0;
10163 this.filters = [];
10164 var filterManager;
10165 for (i = 0; i < len; i += 1) {
10166 filterManager = null;
10167 var type = elem.data.ef[i].ty;
10168 if (registeredEffects[type]) {
10169 var Effect = registeredEffects[type].effect;
10170 filterManager = new Effect(elem.effectsManager.effectElements[i], elem);
10171 }
10172 if (filterManager) this.filters.push(filterManager);
10173 }
10174 if (this.filters.length) elem.addRenderableComponent(this);
10175 }
10176 CVEffects.prototype.renderFrame = function(_isFirstFrame) {
10177 var i;
10178 var len = this.filters.length;
10179 for (i = 0; i < len; i += 1) this.filters[i].renderFrame(_isFirstFrame);
10180 };
10181 CVEffects.prototype.getEffects = function(type) {
10182 var i;
10183 var len = this.filters.length;
10184 var effects = [];
10185 for (i = 0; i < len; i += 1) if (this.filters[i].type === type) effects.push(this.filters[i]);
10186 return effects;
10187 };
10188 function registerEffect(id, effect) {
10189 registeredEffects[id] = { effect };
10190 }
10191 function CVMaskElement(data, element) {
10192 this.data = data;
10193 this.element = element;
10194 this.masksProperties = this.data.masksProperties || [];
10195 this.viewData = createSizedArray(this.masksProperties.length);
10196 var i;
10197 var len = this.masksProperties.length;
10198 var hasMasks = false;
10199 for (i = 0; i < len; i += 1) {
10200 if (this.masksProperties[i].mode !== "n") hasMasks = true;
10201 this.viewData[i] = ShapePropertyFactory.getShapeProp(this.element, this.masksProperties[i], 3);
10202 }
10203 this.hasMasks = hasMasks;
10204 if (hasMasks) this.element.addRenderableComponent(this);
10205 }
10206 CVMaskElement.prototype.renderFrame = function() {
10207 if (!this.hasMasks) return;
10208 var transform = this.element.finalTransform.mat;
10209 var ctx = this.element.canvasContext;
10210 var i;
10211 var len = this.masksProperties.length;
10212 var pt;
10213 var pts;
10214 var data;
10215 ctx.beginPath();
10216 for (i = 0; i < len; i += 1) if (this.masksProperties[i].mode !== "n") {
10217 if (this.masksProperties[i].inv) {
10218 ctx.moveTo(0, 0);
10219 ctx.lineTo(this.element.globalData.compSize.w, 0);
10220 ctx.lineTo(this.element.globalData.compSize.w, this.element.globalData.compSize.h);
10221 ctx.lineTo(0, this.element.globalData.compSize.h);
10222 ctx.lineTo(0, 0);
10223 }
10224 data = this.viewData[i].v;
10225 pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);
10226 ctx.moveTo(pt[0], pt[1]);
10227 var j;
10228 var jLen = data._length;
10229 for (j = 1; j < jLen; j += 1) {
10230 pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);
10231 ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);
10232 }
10233 pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);
10234 ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);
10235 }
10236 this.element.globalData.renderer.save(true);
10237 ctx.clip();
10238 };
10239 CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;
10240 CVMaskElement.prototype.destroy = function() {
10241 this.element = null;
10242 };
10243 function CVBaseElement() {}
10244 var operationsMap = {
10245 1: "source-in",
10246 2: "source-out",
10247 3: "source-in",
10248 4: "source-out"
10249 };
10250 CVBaseElement.prototype = {
10251 createElements: function createElements() {},
10252 initRendererElement: function initRendererElement() {},
10253 createContainerElements: function createContainerElements() {
10254 if (this.data.tt >= 1) {
10255 this.buffers = [];
10256 var canvasContext = this.globalData.canvasContext;
10257 var bufferCanvas = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);
10258 this.buffers.push(bufferCanvas);
10259 var bufferCanvas2 = assetLoader.createCanvas(canvasContext.canvas.width, canvasContext.canvas.height);
10260 this.buffers.push(bufferCanvas2);
10261 if (this.data.tt >= 3 && !document._isProxy) assetLoader.loadLumaCanvas();
10262 }
10263 this.canvasContext = this.globalData.canvasContext;
10264 this.transformCanvas = this.globalData.transformCanvas;
10265 this.renderableEffectsManager = new CVEffects(this);
10266 this.searchEffectTransforms();
10267 },
10268 createContent: function createContent() {},
10269 setBlendMode: function setBlendMode() {
10270 var globalData = this.globalData;
10271 if (globalData.blendMode !== this.data.bm) {
10272 globalData.blendMode = this.data.bm;
10273 var blendModeValue = getBlendMode(this.data.bm);
10274 globalData.canvasContext.globalCompositeOperation = blendModeValue;
10275 }
10276 },
10277 createRenderableComponents: function createRenderableComponents() {
10278 this.maskManager = new CVMaskElement(this.data, this);
10279 this.transformEffects = this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);
10280 },
10281 hideElement: function hideElement() {
10282 if (!this.hidden && (!this.isInRange || this.isTransparent)) this.hidden = true;
10283 },
10284 showElement: function showElement() {
10285 if (this.isInRange && !this.isTransparent) {
10286 this.hidden = false;
10287 this._isFirstFrame = true;
10288 this.maskManager._isFirstFrame = true;
10289 }
10290 },
10291 clearCanvas: function clearCanvas(canvasContext) {
10292 canvasContext.clearRect(this.transformCanvas.tx, this.transformCanvas.ty, this.transformCanvas.w * this.transformCanvas.sx, this.transformCanvas.h * this.transformCanvas.sy);
10293 },
10294 prepareLayer: function prepareLayer() {
10295 if (this.data.tt >= 1) {
10296 var bufferCtx = this.buffers[0].getContext("2d");
10297 this.clearCanvas(bufferCtx);
10298 bufferCtx.drawImage(this.canvasContext.canvas, 0, 0);
10299 this.currentTransform = this.canvasContext.getTransform();
10300 this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);
10301 this.clearCanvas(this.canvasContext);
10302 this.canvasContext.setTransform(this.currentTransform);
10303 }
10304 },
10305 exitLayer: function exitLayer() {
10306 if (this.data.tt >= 1) {
10307 var buffer = this.buffers[1];
10308 var bufferCtx = buffer.getContext("2d");
10309 this.clearCanvas(bufferCtx);
10310 bufferCtx.drawImage(this.canvasContext.canvas, 0, 0);
10311 this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);
10312 this.clearCanvas(this.canvasContext);
10313 this.canvasContext.setTransform(this.currentTransform);
10314 this.comp.getElementById("tp" in this.data ? this.data.tp : this.data.ind - 1).renderFrame(true);
10315 this.canvasContext.setTransform(1, 0, 0, 1, 0, 0);
10316 if (this.data.tt >= 3 && !document._isProxy) {
10317 var lumaBuffer = assetLoader.getLumaCanvas(this.canvasContext.canvas);
10318 lumaBuffer.getContext("2d").drawImage(this.canvasContext.canvas, 0, 0);
10319 this.clearCanvas(this.canvasContext);
10320 this.canvasContext.drawImage(lumaBuffer, 0, 0);
10321 }
10322 this.canvasContext.globalCompositeOperation = operationsMap[this.data.tt];
10323 this.canvasContext.drawImage(buffer, 0, 0);
10324 this.canvasContext.globalCompositeOperation = "destination-over";
10325 this.canvasContext.drawImage(this.buffers[0], 0, 0);
10326 this.canvasContext.setTransform(this.currentTransform);
10327 this.canvasContext.globalCompositeOperation = "source-over";
10328 }
10329 },
10330 renderFrame: function renderFrame(forceRender) {
10331 if (this.hidden || this.data.hd) return;
10332 if (this.data.td === 1 && !forceRender) return;
10333 this.renderTransform();
10334 this.renderRenderable();
10335 this.renderLocalTransform();
10336 this.setBlendMode();
10337 var forceRealStack = this.data.ty === 0;
10338 this.prepareLayer();
10339 this.globalData.renderer.save(forceRealStack);
10340 this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props);
10341 this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity);
10342 this.renderInnerContent();
10343 this.globalData.renderer.restore(forceRealStack);
10344 this.exitLayer();
10345 if (this.maskManager.hasMasks) this.globalData.renderer.restore(true);
10346 if (this._isFirstFrame) this._isFirstFrame = false;
10347 },
10348 destroy: function destroy() {
10349 this.canvasContext = null;
10350 this.data = null;
10351 this.globalData = null;
10352 this.maskManager.destroy();
10353 },
10354 mHelper: new Matrix()
10355 };
10356 CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;
10357 CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;
10358 function CVShapeData(element, data, styles, transformsManager) {
10359 this.styledShapes = [];
10360 this.tr = [
10361 0,
10362 0,
10363 0,
10364 0,
10365 0,
10366 0
10367 ];
10368 var ty = 4;
10369 if (data.ty === "rc") ty = 5;
10370 else if (data.ty === "el") ty = 6;
10371 else if (data.ty === "sr") ty = 7;
10372 this.sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);
10373 var i;
10374 var len = styles.length;
10375 var styledShape;
10376 for (i = 0; i < len; i += 1) if (!styles[i].closed) {
10377 styledShape = {
10378 transforms: transformsManager.addTransformSequence(styles[i].transforms),
10379 trNodes: []
10380 };
10381 this.styledShapes.push(styledShape);
10382 styles[i].elements.push(styledShape);
10383 }
10384 }
10385 CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;
10386 function CVShapeElement(data, globalData, comp) {
10387 this.shapes = [];
10388 this.shapesData = data.shapes;
10389 this.stylesList = [];
10390 this.itemsData = [];
10391 this.prevViewData = [];
10392 this.shapeModifiers = [];
10393 this.processedElements = [];
10394 this.transformsManager = new ShapeTransformManager();
10395 this.initElement(data, globalData, comp);
10396 }
10397 extendPrototype([
10398 BaseElement,
10399 TransformElement,
10400 CVBaseElement,
10401 IShapeElement,
10402 HierarchyElement,
10403 FrameElement,
10404 RenderableElement
10405 ], CVShapeElement);
10406 CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;
10407 CVShapeElement.prototype.transformHelper = {
10408 opacity: 1,
10409 _opMdf: false
10410 };
10411 CVShapeElement.prototype.dashResetter = [];
10412 CVShapeElement.prototype.createContent = function() {
10413 this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);
10414 };
10415 CVShapeElement.prototype.createStyleElement = function(data, transforms) {
10416 var styleElem = {
10417 data,
10418 type: data.ty,
10419 preTransforms: this.transformsManager.addTransformSequence(transforms),
10420 transforms: [],
10421 elements: [],
10422 closed: data.hd === true
10423 };
10424 var elementData = {};
10425 if (data.ty === "fl" || data.ty === "st") {
10426 elementData.c = PropertyFactory.getProp(this, data.c, 1, 255, this);
10427 if (!elementData.c.k) styleElem.co = "rgb(" + bmFloor(elementData.c.v[0]) + "," + bmFloor(elementData.c.v[1]) + "," + bmFloor(elementData.c.v[2]) + ")";
10428 } else if (data.ty === "gf" || data.ty === "gs") {
10429 elementData.s = PropertyFactory.getProp(this, data.s, 1, null, this);
10430 elementData.e = PropertyFactory.getProp(this, data.e, 1, null, this);
10431 elementData.h = PropertyFactory.getProp(this, data.h || { k: 0 }, 0, .01, this);
10432 elementData.a = PropertyFactory.getProp(this, data.a || { k: 0 }, 0, degToRads, this);
10433 elementData.g = new GradientProperty(this, data.g, this);
10434 }
10435 elementData.o = PropertyFactory.getProp(this, data.o, 0, .01, this);
10436 if (data.ty === "st" || data.ty === "gs") {
10437 styleElem.lc = lineCapEnum[data.lc || 2];
10438 styleElem.lj = lineJoinEnum[data.lj || 2];
10439 if (data.lj == 1) styleElem.ml = data.ml;
10440 elementData.w = PropertyFactory.getProp(this, data.w, 0, null, this);
10441 if (!elementData.w.k) styleElem.wi = elementData.w.v;
10442 if (data.d) {
10443 elementData.d = new DashProperty(this, data.d, "canvas", this);
10444 if (!elementData.d.k) {
10445 styleElem.da = elementData.d.dashArray;
10446 styleElem["do"] = elementData.d.dashoffset[0];
10447 }
10448 }
10449 } else styleElem.r = data.r === 2 ? "evenodd" : "nonzero";
10450 this.stylesList.push(styleElem);
10451 elementData.style = styleElem;
10452 return elementData;
10453 };
10454 CVShapeElement.prototype.createGroupElement = function() {
10455 return {
10456 it: [],
10457 prevViewData: []
10458 };
10459 };
10460 CVShapeElement.prototype.createTransformElement = function(data) {
10461 return { transform: {
10462 opacity: 1,
10463 _opMdf: false,
10464 key: this.transformsManager.getNewKey(),
10465 op: PropertyFactory.getProp(this, data.o, 0, .01, this),
10466 mProps: TransformPropertyFactory.getTransformProperty(this, data, this)
10467 } };
10468 };
10469 CVShapeElement.prototype.createShapeElement = function(data) {
10470 var elementData = new CVShapeData(this, data, this.stylesList, this.transformsManager);
10471 this.shapes.push(elementData);
10472 this.addShapeToModifiers(elementData);
10473 return elementData;
10474 };
10475 CVShapeElement.prototype.reloadShapes = function() {
10476 this._isFirstFrame = true;
10477 var i;
10478 var len = this.itemsData.length;
10479 for (i = 0; i < len; i += 1) this.prevViewData[i] = this.itemsData[i];
10480 this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, true, []);
10481 len = this.dynamicProperties.length;
10482 for (i = 0; i < len; i += 1) this.dynamicProperties[i].getValue();
10483 this.renderModifiers();
10484 this.transformsManager.processSequences(this._isFirstFrame);
10485 };
10486 CVShapeElement.prototype.addTransformToStyleList = function(transform) {
10487 var i;
10488 var len = this.stylesList.length;
10489 for (i = 0; i < len; i += 1) if (!this.stylesList[i].closed) this.stylesList[i].transforms.push(transform);
10490 };
10491 CVShapeElement.prototype.removeTransformFromStyleList = function() {
10492 var i;
10493 var len = this.stylesList.length;
10494 for (i = 0; i < len; i += 1) if (!this.stylesList[i].closed) this.stylesList[i].transforms.pop();
10495 };
10496 CVShapeElement.prototype.closeStyles = function(styles) {
10497 var i;
10498 var len = styles.length;
10499 for (i = 0; i < len; i += 1) styles[i].closed = true;
10500 };
10501 CVShapeElement.prototype.searchShapes = function(arr, itemsData, prevViewData, shouldRender, transforms) {
10502 var i;
10503 var len = arr.length - 1;
10504 var j;
10505 var jLen;
10506 var ownStyles = [];
10507 var ownModifiers = [];
10508 var processedPos;
10509 var modifier;
10510 var currentTransform;
10511 var ownTransforms = [].concat(transforms);
10512 for (i = len; i >= 0; i -= 1) {
10513 processedPos = this.searchProcessedElement(arr[i]);
10514 if (!processedPos) arr[i]._shouldRender = shouldRender;
10515 else itemsData[i] = prevViewData[processedPos - 1];
10516 if (arr[i].ty === "fl" || arr[i].ty === "st" || arr[i].ty === "gf" || arr[i].ty === "gs") {
10517 if (!processedPos) itemsData[i] = this.createStyleElement(arr[i], ownTransforms);
10518 else itemsData[i].style.closed = false;
10519 ownStyles.push(itemsData[i].style);
10520 } else if (arr[i].ty === "gr") {
10521 if (!processedPos) itemsData[i] = this.createGroupElement(arr[i]);
10522 else {
10523 jLen = itemsData[i].it.length;
10524 for (j = 0; j < jLen; j += 1) itemsData[i].prevViewData[j] = itemsData[i].it[j];
10525 }
10526 this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);
10527 } else if (arr[i].ty === "tr") {
10528 if (!processedPos) {
10529 currentTransform = this.createTransformElement(arr[i]);
10530 itemsData[i] = currentTransform;
10531 }
10532 ownTransforms.push(itemsData[i]);
10533 this.addTransformToStyleList(itemsData[i]);
10534 } else if (arr[i].ty === "sh" || arr[i].ty === "rc" || arr[i].ty === "el" || arr[i].ty === "sr") {
10535 if (!processedPos) itemsData[i] = this.createShapeElement(arr[i]);
10536 } else if (arr[i].ty === "tm" || arr[i].ty === "rd" || arr[i].ty === "pb" || arr[i].ty === "zz" || arr[i].ty === "op") {
10537 if (!processedPos) {
10538 modifier = ShapeModifiers.getModifier(arr[i].ty);
10539 modifier.init(this, arr[i]);
10540 itemsData[i] = modifier;
10541 this.shapeModifiers.push(modifier);
10542 } else {
10543 modifier = itemsData[i];
10544 modifier.closed = false;
10545 }
10546 ownModifiers.push(modifier);
10547 } else if (arr[i].ty === "rp") {
10548 if (!processedPos) {
10549 modifier = ShapeModifiers.getModifier(arr[i].ty);
10550 itemsData[i] = modifier;
10551 modifier.init(this, arr, i, itemsData);
10552 this.shapeModifiers.push(modifier);
10553 shouldRender = false;
10554 } else {
10555 modifier = itemsData[i];
10556 modifier.closed = true;
10557 }
10558 ownModifiers.push(modifier);
10559 }
10560 this.addProcessedElement(arr[i], i + 1);
10561 }
10562 this.removeTransformFromStyleList();
10563 this.closeStyles(ownStyles);
10564 len = ownModifiers.length;
10565 for (i = 0; i < len; i += 1) ownModifiers[i].closed = true;
10566 };
10567 CVShapeElement.prototype.renderInnerContent = function() {
10568 this.transformHelper.opacity = 1;
10569 this.transformHelper._opMdf = false;
10570 this.renderModifiers();
10571 this.transformsManager.processSequences(this._isFirstFrame);
10572 this.renderShape(this.transformHelper, this.shapesData, this.itemsData, true);
10573 };
10574 CVShapeElement.prototype.renderShapeTransform = function(parentTransform, groupTransform) {
10575 if (parentTransform._opMdf || groupTransform.op._mdf || this._isFirstFrame) {
10576 groupTransform.opacity = parentTransform.opacity;
10577 groupTransform.opacity *= groupTransform.op.v;
10578 groupTransform._opMdf = true;
10579 }
10580 };
10581 CVShapeElement.prototype.drawLayer = function() {
10582 var i;
10583 var len = this.stylesList.length;
10584 var j;
10585 var jLen;
10586 var k;
10587 var kLen;
10588 var elems;
10589 var nodes;
10590 var renderer = this.globalData.renderer;
10591 var ctx = this.globalData.canvasContext;
10592 var type;
10593 var currentStyle;
10594 for (i = 0; i < len; i += 1) {
10595 currentStyle = this.stylesList[i];
10596 type = currentStyle.type;
10597 if (!((type === "st" || type === "gs") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || this.globalData.currentGlobalAlpha === 0)) {
10598 renderer.save();
10599 elems = currentStyle.elements;
10600 if (type === "st" || type === "gs") {
10601 renderer.ctxStrokeStyle(type === "st" ? currentStyle.co : currentStyle.grd);
10602 renderer.ctxLineWidth(currentStyle.wi);
10603 renderer.ctxLineCap(currentStyle.lc);
10604 renderer.ctxLineJoin(currentStyle.lj);
10605 renderer.ctxMiterLimit(currentStyle.ml || 0);
10606 } else renderer.ctxFillStyle(type === "fl" ? currentStyle.co : currentStyle.grd);
10607 renderer.ctxOpacity(currentStyle.coOp);
10608 if (type !== "st" && type !== "gs") ctx.beginPath();
10609 renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);
10610 jLen = elems.length;
10611 for (j = 0; j < jLen; j += 1) {
10612 if (type === "st" || type === "gs") {
10613 ctx.beginPath();
10614 if (currentStyle.da) {
10615 ctx.setLineDash(currentStyle.da);
10616 ctx.lineDashOffset = currentStyle["do"];
10617 }
10618 }
10619 nodes = elems[j].trNodes;
10620 kLen = nodes.length;
10621 for (k = 0; k < kLen; k += 1) if (nodes[k].t === "m") ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);
10622 else if (nodes[k].t === "c") 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]);
10623 else ctx.closePath();
10624 if (type === "st" || type === "gs") {
10625 renderer.ctxStroke();
10626 if (currentStyle.da) ctx.setLineDash(this.dashResetter);
10627 }
10628 }
10629 if (type !== "st" && type !== "gs") this.globalData.renderer.ctxFill(currentStyle.r);
10630 renderer.restore();
10631 }
10632 }
10633 };
10634 CVShapeElement.prototype.renderShape = function(parentTransform, items, data, isMain) {
10635 var i;
10636 var len = items.length - 1;
10637 var groupTransform = parentTransform;
10638 for (i = len; i >= 0; i -= 1) if (items[i].ty === "tr") {
10639 groupTransform = data[i].transform;
10640 this.renderShapeTransform(parentTransform, groupTransform);
10641 } else if (items[i].ty === "sh" || items[i].ty === "el" || items[i].ty === "rc" || items[i].ty === "sr") this.renderPath(items[i], data[i]);
10642 else if (items[i].ty === "fl") this.renderFill(items[i], data[i], groupTransform);
10643 else if (items[i].ty === "st") this.renderStroke(items[i], data[i], groupTransform);
10644 else if (items[i].ty === "gf" || items[i].ty === "gs") this.renderGradientFill(items[i], data[i], groupTransform);
10645 else if (items[i].ty === "gr") this.renderShape(groupTransform, items[i].it, data[i].it);
10646 else if (items[i].ty === "tm") {}
10647 if (isMain) this.drawLayer();
10648 };
10649 CVShapeElement.prototype.renderStyledShape = function(styledShape, shape) {
10650 if (this._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {
10651 var shapeNodes = styledShape.trNodes;
10652 var paths = shape.paths;
10653 var i;
10654 var len;
10655 var j;
10656 var jLen = paths._length;
10657 shapeNodes.length = 0;
10658 var groupTransformMat = styledShape.transforms.finalTransform;
10659 for (j = 0; j < jLen; j += 1) {
10660 var pathNodes = paths.shapes[j];
10661 if (pathNodes && pathNodes.v) {
10662 len = pathNodes._length;
10663 for (i = 1; i < len; i += 1) {
10664 if (i === 1) shapeNodes.push({
10665 t: "m",
10666 p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)
10667 });
10668 shapeNodes.push({
10669 t: "c",
10670 pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])
10671 });
10672 }
10673 if (len === 1) shapeNodes.push({
10674 t: "m",
10675 p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)
10676 });
10677 if (pathNodes.c && len) {
10678 shapeNodes.push({
10679 t: "c",
10680 pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])
10681 });
10682 shapeNodes.push({ t: "z" });
10683 }
10684 }
10685 }
10686 styledShape.trNodes = shapeNodes;
10687 }
10688 };
10689 CVShapeElement.prototype.renderPath = function(pathData, itemData) {
10690 if (pathData.hd !== true && pathData._shouldRender) {
10691 var i;
10692 var len = itemData.styledShapes.length;
10693 for (i = 0; i < len; i += 1) this.renderStyledShape(itemData.styledShapes[i], itemData.sh);
10694 }
10695 };
10696 CVShapeElement.prototype.renderFill = function(styleData, itemData, groupTransform) {
10697 var styleElem = itemData.style;
10698 if (itemData.c._mdf || this._isFirstFrame) styleElem.co = "rgb(" + bmFloor(itemData.c.v[0]) + "," + bmFloor(itemData.c.v[1]) + "," + bmFloor(itemData.c.v[2]) + ")";
10699 if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) styleElem.coOp = itemData.o.v * groupTransform.opacity;
10700 };
10701 CVShapeElement.prototype.renderGradientFill = function(styleData, itemData, groupTransform) {
10702 var styleElem = itemData.style;
10703 var grd;
10704 if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {
10705 var ctx = this.globalData.canvasContext;
10706 var pt1 = itemData.s.v;
10707 var pt2 = itemData.e.v;
10708 if (styleData.t === 1) grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);
10709 else {
10710 var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));
10711 var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);
10712 var percent = itemData.h.v;
10713 if (percent >= 1) percent = .99;
10714 else if (percent <= -1) percent = -.99;
10715 var dist = rad * percent;
10716 var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];
10717 var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];
10718 grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);
10719 }
10720 var i;
10721 var len = styleData.g.p;
10722 var cValues = itemData.g.c;
10723 var opacity = 1;
10724 for (i = 0; i < len; i += 1) {
10725 if (itemData.g._hasOpacity && itemData.g._collapsable) opacity = itemData.g.o[i * 2 + 1];
10726 grd.addColorStop(cValues[i * 4] / 100, "rgba(" + cValues[i * 4 + 1] + "," + cValues[i * 4 + 2] + "," + cValues[i * 4 + 3] + "," + opacity + ")");
10727 }
10728 styleElem.grd = grd;
10729 }
10730 styleElem.coOp = itemData.o.v * groupTransform.opacity;
10731 };
10732 CVShapeElement.prototype.renderStroke = function(styleData, itemData, groupTransform) {
10733 var styleElem = itemData.style;
10734 var d = itemData.d;
10735 if (d && (d._mdf || this._isFirstFrame)) {
10736 styleElem.da = d.dashArray;
10737 styleElem["do"] = d.dashoffset[0];
10738 }
10739 if (itemData.c._mdf || this._isFirstFrame) styleElem.co = "rgb(" + bmFloor(itemData.c.v[0]) + "," + bmFloor(itemData.c.v[1]) + "," + bmFloor(itemData.c.v[2]) + ")";
10740 if (itemData.o._mdf || groupTransform._opMdf || this._isFirstFrame) styleElem.coOp = itemData.o.v * groupTransform.opacity;
10741 if (itemData.w._mdf || this._isFirstFrame) styleElem.wi = itemData.w.v;
10742 };
10743 CVShapeElement.prototype.destroy = function() {
10744 this.shapesData = null;
10745 this.globalData = null;
10746 this.canvasContext = null;
10747 this.stylesList.length = 0;
10748 this.itemsData.length = 0;
10749 };
10750 function CVTextElement(data, globalData, comp) {
10751 this.textSpans = [];
10752 this.yOffset = 0;
10753 this.fillColorAnim = false;
10754 this.strokeColorAnim = false;
10755 this.strokeWidthAnim = false;
10756 this.stroke = false;
10757 this.fill = false;
10758 this.justifyOffset = 0;
10759 this.currentRender = null;
10760 this.renderType = "canvas";
10761 this.values = {
10762 fill: "rgba(0,0,0,0)",
10763 stroke: "rgba(0,0,0,0)",
10764 sWidth: 0,
10765 fValue: ""
10766 };
10767 this.initElement(data, globalData, comp);
10768 }
10769 extendPrototype([
10770 BaseElement,
10771 TransformElement,
10772 CVBaseElement,
10773 HierarchyElement,
10774 FrameElement,
10775 RenderableElement,
10776 ITextElement
10777 ], CVTextElement);
10778 CVTextElement.prototype.tHelper = createTag("canvas").getContext("2d");
10779 CVTextElement.prototype.buildNewText = function() {
10780 var documentData = this.textProperty.currentData;
10781 this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);
10782 var hasFill = false;
10783 if (documentData.fc) {
10784 hasFill = true;
10785 this.values.fill = this.buildColor(documentData.fc);
10786 } else this.values.fill = "rgba(0,0,0,0)";
10787 this.fill = hasFill;
10788 var hasStroke = false;
10789 if (documentData.sc) {
10790 hasStroke = true;
10791 this.values.stroke = this.buildColor(documentData.sc);
10792 this.values.sWidth = documentData.sw;
10793 }
10794 var fontData = this.globalData.fontManager.getFontByName(documentData.f);
10795 var i;
10796 var len;
10797 var letters = documentData.l;
10798 var matrixHelper = this.mHelper;
10799 this.stroke = hasStroke;
10800 this.values.fValue = documentData.finalSize + "px " + this.globalData.fontManager.getFontByName(documentData.f).fFamily;
10801 len = documentData.finalText.length;
10802 var charData;
10803 var shapeData;
10804 var k;
10805 var kLen;
10806 var shapes;
10807 var j;
10808 var jLen;
10809 var pathNodes;
10810 var commands;
10811 var pathArr;
10812 var singleShape = this.data.singleShape;
10813 var trackingOffset = documentData.tr * .001 * documentData.finalSize;
10814 var xPos = 0;
10815 var yPos = 0;
10816 var firstLine = true;
10817 var cnt = 0;
10818 for (i = 0; i < len; i += 1) {
10819 charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
10820 shapeData = charData && charData.data || {};
10821 matrixHelper.reset();
10822 if (singleShape && letters[i].n) {
10823 xPos = -trackingOffset;
10824 yPos += documentData.yOffset;
10825 yPos += firstLine ? 1 : 0;
10826 firstLine = false;
10827 }
10828 shapes = shapeData.shapes ? shapeData.shapes[0].it : [];
10829 jLen = shapes.length;
10830 matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);
10831 if (singleShape) this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);
10832 commands = createSizedArray(jLen - 1);
10833 var commandsCounter = 0;
10834 for (j = 0; j < jLen; j += 1) if (shapes[j].ty === "sh") {
10835 kLen = shapes[j].ks.k.i.length;
10836 pathNodes = shapes[j].ks.k;
10837 pathArr = [];
10838 for (k = 1; k < kLen; k += 1) {
10839 if (k === 1) pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));
10840 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));
10841 }
10842 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));
10843 commands[commandsCounter] = pathArr;
10844 commandsCounter += 1;
10845 }
10846 if (singleShape) {
10847 xPos += letters[i].l;
10848 xPos += trackingOffset;
10849 }
10850 if (this.textSpans[cnt]) this.textSpans[cnt].elem = commands;
10851 else this.textSpans[cnt] = { elem: commands };
10852 cnt += 1;
10853 }
10854 };
10855 CVTextElement.prototype.renderInnerContent = function() {
10856 this.validateText();
10857 var ctx = this.canvasContext;
10858 ctx.font = this.values.fValue;
10859 this.globalData.renderer.ctxLineCap("butt");
10860 this.globalData.renderer.ctxLineJoin("miter");
10861 this.globalData.renderer.ctxMiterLimit(4);
10862 if (!this.data.singleShape) this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
10863 var i;
10864 var len;
10865 var j;
10866 var jLen;
10867 var k;
10868 var kLen;
10869 var renderedLetters = this.textAnimator.renderedLetters;
10870 var letters = this.textProperty.currentData.l;
10871 len = letters.length;
10872 var renderedLetter;
10873 var lastFill = null;
10874 var lastStroke = null;
10875 var lastStrokeW = null;
10876 var commands;
10877 var pathArr;
10878 var renderer = this.globalData.renderer;
10879 for (i = 0; i < len; i += 1) if (!letters[i].n) {
10880 renderedLetter = renderedLetters[i];
10881 if (renderedLetter) {
10882 renderer.save();
10883 renderer.ctxTransform(renderedLetter.p);
10884 renderer.ctxOpacity(renderedLetter.o);
10885 }
10886 if (this.fill) {
10887 if (renderedLetter && renderedLetter.fc) {
10888 if (lastFill !== renderedLetter.fc) {
10889 renderer.ctxFillStyle(renderedLetter.fc);
10890 lastFill = renderedLetter.fc;
10891 }
10892 } else if (lastFill !== this.values.fill) {
10893 lastFill = this.values.fill;
10894 renderer.ctxFillStyle(this.values.fill);
10895 }
10896 commands = this.textSpans[i].elem;
10897 jLen = commands.length;
10898 this.globalData.canvasContext.beginPath();
10899 for (j = 0; j < jLen; j += 1) {
10900 pathArr = commands[j];
10901 kLen = pathArr.length;
10902 this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);
10903 for (k = 2; k < kLen; k += 6) this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);
10904 }
10905 this.globalData.canvasContext.closePath();
10906 renderer.ctxFill();
10907 }
10908 if (this.stroke) {
10909 if (renderedLetter && renderedLetter.sw) {
10910 if (lastStrokeW !== renderedLetter.sw) {
10911 lastStrokeW = renderedLetter.sw;
10912 renderer.ctxLineWidth(renderedLetter.sw);
10913 }
10914 } else if (lastStrokeW !== this.values.sWidth) {
10915 lastStrokeW = this.values.sWidth;
10916 renderer.ctxLineWidth(this.values.sWidth);
10917 }
10918 if (renderedLetter && renderedLetter.sc) {
10919 if (lastStroke !== renderedLetter.sc) {
10920 lastStroke = renderedLetter.sc;
10921 renderer.ctxStrokeStyle(renderedLetter.sc);
10922 }
10923 } else if (lastStroke !== this.values.stroke) {
10924 lastStroke = this.values.stroke;
10925 renderer.ctxStrokeStyle(this.values.stroke);
10926 }
10927 commands = this.textSpans[i].elem;
10928 jLen = commands.length;
10929 this.globalData.canvasContext.beginPath();
10930 for (j = 0; j < jLen; j += 1) {
10931 pathArr = commands[j];
10932 kLen = pathArr.length;
10933 this.globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);
10934 for (k = 2; k < kLen; k += 6) this.globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);
10935 }
10936 this.globalData.canvasContext.closePath();
10937 renderer.ctxStroke();
10938 }
10939 if (renderedLetter) this.globalData.renderer.restore();
10940 }
10941 };
10942 function CVImageElement(data, globalData, comp) {
10943 this.assetData = globalData.getAssetData(data.refId);
10944 this.img = globalData.imageLoader.getAsset(this.assetData);
10945 this.initElement(data, globalData, comp);
10946 }
10947 extendPrototype([
10948 BaseElement,
10949 TransformElement,
10950 CVBaseElement,
10951 HierarchyElement,
10952 FrameElement,
10953 RenderableElement
10954 ], CVImageElement);
10955 CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;
10956 CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;
10957 CVImageElement.prototype.createContent = function() {
10958 if (this.img.width && (this.assetData.w !== this.img.width || this.assetData.h !== this.img.height)) {
10959 var canvas = createTag("canvas");
10960 canvas.width = this.assetData.w;
10961 canvas.height = this.assetData.h;
10962 var ctx = canvas.getContext("2d");
10963 var imgW = this.img.width;
10964 var imgH = this.img.height;
10965 var imgRel = imgW / imgH;
10966 var canvasRel = this.assetData.w / this.assetData.h;
10967 var widthCrop;
10968 var heightCrop;
10969 var par = this.assetData.pr || this.globalData.renderConfig.imagePreserveAspectRatio;
10970 if (imgRel > canvasRel && par === "xMidYMid slice" || imgRel < canvasRel && par !== "xMidYMid slice") {
10971 heightCrop = imgH;
10972 widthCrop = heightCrop * canvasRel;
10973 } else {
10974 widthCrop = imgW;
10975 heightCrop = widthCrop / canvasRel;
10976 }
10977 ctx.drawImage(this.img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, this.assetData.w, this.assetData.h);
10978 this.img = canvas;
10979 }
10980 };
10981 CVImageElement.prototype.renderInnerContent = function() {
10982 this.canvasContext.drawImage(this.img, 0, 0);
10983 };
10984 CVImageElement.prototype.destroy = function() {
10985 this.img = null;
10986 };
10987 function CVSolidElement(data, globalData, comp) {
10988 this.initElement(data, globalData, comp);
10989 }
10990 extendPrototype([
10991 BaseElement,
10992 TransformElement,
10993 CVBaseElement,
10994 HierarchyElement,
10995 FrameElement,
10996 RenderableElement
10997 ], CVSolidElement);
10998 CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;
10999 CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;
11000 CVSolidElement.prototype.renderInnerContent = function() {
11001 this.globalData.renderer.ctxFillStyle(this.data.sc);
11002 this.globalData.renderer.ctxFillRect(0, 0, this.data.sw, this.data.sh);
11003 };
11004 function CanvasRendererBase() {}
11005 extendPrototype([BaseRenderer], CanvasRendererBase);
11006 CanvasRendererBase.prototype.createShape = function(data) {
11007 return new CVShapeElement(data, this.globalData, this);
11008 };
11009 CanvasRendererBase.prototype.createText = function(data) {
11010 return new CVTextElement(data, this.globalData, this);
11011 };
11012 CanvasRendererBase.prototype.createImage = function(data) {
11013 return new CVImageElement(data, this.globalData, this);
11014 };
11015 CanvasRendererBase.prototype.createSolid = function(data) {
11016 return new CVSolidElement(data, this.globalData, this);
11017 };
11018 CanvasRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;
11019 CanvasRendererBase.prototype.ctxTransform = function(props) {
11020 if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) return;
11021 this.canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);
11022 };
11023 CanvasRendererBase.prototype.ctxOpacity = function(op) {
11024 this.canvasContext.globalAlpha *= op < 0 ? 0 : op;
11025 };
11026 CanvasRendererBase.prototype.ctxFillStyle = function(value) {
11027 this.canvasContext.fillStyle = value;
11028 };
11029 CanvasRendererBase.prototype.ctxStrokeStyle = function(value) {
11030 this.canvasContext.strokeStyle = value;
11031 };
11032 CanvasRendererBase.prototype.ctxLineWidth = function(value) {
11033 this.canvasContext.lineWidth = value;
11034 };
11035 CanvasRendererBase.prototype.ctxLineCap = function(value) {
11036 this.canvasContext.lineCap = value;
11037 };
11038 CanvasRendererBase.prototype.ctxLineJoin = function(value) {
11039 this.canvasContext.lineJoin = value;
11040 };
11041 CanvasRendererBase.prototype.ctxMiterLimit = function(value) {
11042 this.canvasContext.miterLimit = value;
11043 };
11044 CanvasRendererBase.prototype.ctxFill = function(rule) {
11045 this.canvasContext.fill(rule);
11046 };
11047 CanvasRendererBase.prototype.ctxFillRect = function(x, y, w, h) {
11048 this.canvasContext.fillRect(x, y, w, h);
11049 };
11050 CanvasRendererBase.prototype.ctxStroke = function() {
11051 this.canvasContext.stroke();
11052 };
11053 CanvasRendererBase.prototype.reset = function() {
11054 if (!this.renderConfig.clearCanvas) {
11055 this.canvasContext.restore();
11056 return;
11057 }
11058 this.contextData.reset();
11059 };
11060 CanvasRendererBase.prototype.save = function() {
11061 this.canvasContext.save();
11062 };
11063 CanvasRendererBase.prototype.restore = function(actionFlag) {
11064 if (!this.renderConfig.clearCanvas) {
11065 this.canvasContext.restore();
11066 return;
11067 }
11068 if (actionFlag) this.globalData.blendMode = "source-over";
11069 this.contextData.restore(actionFlag);
11070 };
11071 CanvasRendererBase.prototype.configAnimation = function(animData) {
11072 if (this.animationItem.wrapper) {
11073 this.animationItem.container = createTag("canvas");
11074 var containerStyle = this.animationItem.container.style;
11075 containerStyle.width = "100%";
11076 containerStyle.height = "100%";
11077 var origin = "0px 0px 0px";
11078 containerStyle.transformOrigin = origin;
11079 containerStyle.mozTransformOrigin = origin;
11080 containerStyle.webkitTransformOrigin = origin;
11081 containerStyle["-webkit-transform"] = origin;
11082 containerStyle.contentVisibility = this.renderConfig.contentVisibility;
11083 this.animationItem.wrapper.appendChild(this.animationItem.container);
11084 this.canvasContext = this.animationItem.container.getContext("2d");
11085 if (this.renderConfig.className) this.animationItem.container.setAttribute("class", this.renderConfig.className);
11086 if (this.renderConfig.id) this.animationItem.container.setAttribute("id", this.renderConfig.id);
11087 } else this.canvasContext = this.renderConfig.context;
11088 this.contextData.setContext(this.canvasContext);
11089 this.data = animData;
11090 this.layers = animData.layers;
11091 this.transformCanvas = {
11092 w: animData.w,
11093 h: animData.h,
11094 sx: 0,
11095 sy: 0,
11096 tx: 0,
11097 ty: 0
11098 };
11099 this.setupGlobalData(animData, document.body);
11100 this.globalData.canvasContext = this.canvasContext;
11101 this.globalData.renderer = this;
11102 this.globalData.isDashed = false;
11103 this.globalData.progressiveLoad = this.renderConfig.progressiveLoad;
11104 this.globalData.transformCanvas = this.transformCanvas;
11105 this.elements = createSizedArray(animData.layers.length);
11106 this.updateContainerSize();
11107 };
11108 CanvasRendererBase.prototype.updateContainerSize = function(width, height) {
11109 this.reset();
11110 var elementWidth;
11111 var elementHeight;
11112 if (width) {
11113 elementWidth = width;
11114 elementHeight = height;
11115 this.canvasContext.canvas.width = elementWidth;
11116 this.canvasContext.canvas.height = elementHeight;
11117 } else {
11118 if (this.animationItem.wrapper && this.animationItem.container) {
11119 elementWidth = this.animationItem.wrapper.offsetWidth;
11120 elementHeight = this.animationItem.wrapper.offsetHeight;
11121 } else {
11122 elementWidth = this.canvasContext.canvas.width;
11123 elementHeight = this.canvasContext.canvas.height;
11124 }
11125 this.canvasContext.canvas.width = elementWidth * this.renderConfig.dpr;
11126 this.canvasContext.canvas.height = elementHeight * this.renderConfig.dpr;
11127 }
11128 var elementRel;
11129 var animationRel;
11130 if (this.renderConfig.preserveAspectRatio.indexOf("meet") !== -1 || this.renderConfig.preserveAspectRatio.indexOf("slice") !== -1) {
11131 var par = this.renderConfig.preserveAspectRatio.split(" ");
11132 var fillType = par[1] || "meet";
11133 var pos = par[0] || "xMidYMid";
11134 var xPos = pos.substr(0, 4);
11135 var yPos = pos.substr(4);
11136 elementRel = elementWidth / elementHeight;
11137 animationRel = this.transformCanvas.w / this.transformCanvas.h;
11138 if (animationRel > elementRel && fillType === "meet" || animationRel < elementRel && fillType === "slice") {
11139 this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);
11140 this.transformCanvas.sy = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);
11141 } else {
11142 this.transformCanvas.sx = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);
11143 this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);
11144 }
11145 if (xPos === "xMid" && (animationRel < elementRel && fillType === "meet" || animationRel > elementRel && fillType === "slice")) this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) / 2 * this.renderConfig.dpr;
11146 else if (xPos === "xMax" && (animationRel < elementRel && fillType === "meet" || animationRel > elementRel && fillType === "slice")) this.transformCanvas.tx = (elementWidth - this.transformCanvas.w * (elementHeight / this.transformCanvas.h)) * this.renderConfig.dpr;
11147 else this.transformCanvas.tx = 0;
11148 if (yPos === "YMid" && (animationRel > elementRel && fillType === "meet" || animationRel < elementRel && fillType === "slice")) this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) / 2 * this.renderConfig.dpr;
11149 else if (yPos === "YMax" && (animationRel > elementRel && fillType === "meet" || animationRel < elementRel && fillType === "slice")) this.transformCanvas.ty = (elementHeight - this.transformCanvas.h * (elementWidth / this.transformCanvas.w)) * this.renderConfig.dpr;
11150 else this.transformCanvas.ty = 0;
11151 } else if (this.renderConfig.preserveAspectRatio === "none") {
11152 this.transformCanvas.sx = elementWidth / (this.transformCanvas.w / this.renderConfig.dpr);
11153 this.transformCanvas.sy = elementHeight / (this.transformCanvas.h / this.renderConfig.dpr);
11154 this.transformCanvas.tx = 0;
11155 this.transformCanvas.ty = 0;
11156 } else {
11157 this.transformCanvas.sx = this.renderConfig.dpr;
11158 this.transformCanvas.sy = this.renderConfig.dpr;
11159 this.transformCanvas.tx = 0;
11160 this.transformCanvas.ty = 0;
11161 }
11162 this.transformCanvas.props = [
11163 this.transformCanvas.sx,
11164 0,
11165 0,
11166 0,
11167 0,
11168 this.transformCanvas.sy,
11169 0,
11170 0,
11171 0,
11172 0,
11173 1,
11174 0,
11175 this.transformCanvas.tx,
11176 this.transformCanvas.ty,
11177 0,
11178 1
11179 ];
11180 this.ctxTransform(this.transformCanvas.props);
11181 this.canvasContext.beginPath();
11182 this.canvasContext.rect(0, 0, this.transformCanvas.w, this.transformCanvas.h);
11183 this.canvasContext.closePath();
11184 this.canvasContext.clip();
11185 this.renderFrame(this.renderedFrame, true);
11186 };
11187 CanvasRendererBase.prototype.destroy = function() {
11188 if (this.renderConfig.clearCanvas && this.animationItem.wrapper) this.animationItem.wrapper.innerText = "";
11189 var i;
11190 for (i = (this.layers ? this.layers.length : 0) - 1; i >= 0; i -= 1) if (this.elements[i] && this.elements[i].destroy) this.elements[i].destroy();
11191 this.elements.length = 0;
11192 this.globalData.canvasContext = null;
11193 this.animationItem.container = null;
11194 this.destroyed = true;
11195 };
11196 CanvasRendererBase.prototype.renderFrame = function(num, forceRender) {
11197 if (this.renderedFrame === num && this.renderConfig.clearCanvas === true && !forceRender || this.destroyed || num === -1) return;
11198 this.renderedFrame = num;
11199 this.globalData.frameNum = num - this.animationItem._isFirstFrame;
11200 this.globalData.frameId += 1;
11201 this.globalData._mdf = !this.renderConfig.clearCanvas || forceRender;
11202 this.globalData.projectInterface.currentFrame = num;
11203 var i;
11204 var len = this.layers.length;
11205 if (!this.completeLayers) this.checkLayers(num);
11206 for (i = len - 1; i >= 0; i -= 1) if (this.completeLayers || this.elements[i]) this.elements[i].prepareFrame(num - this.layers[i].st);
11207 if (this.globalData._mdf) {
11208 if (this.renderConfig.clearCanvas === true) this.canvasContext.clearRect(0, 0, this.transformCanvas.w, this.transformCanvas.h);
11209 else this.save();
11210 for (i = len - 1; i >= 0; i -= 1) if (this.completeLayers || this.elements[i]) this.elements[i].renderFrame();
11211 if (this.renderConfig.clearCanvas !== true) this.restore();
11212 }
11213 };
11214 CanvasRendererBase.prototype.buildItem = function(pos) {
11215 var elements = this.elements;
11216 if (elements[pos] || this.layers[pos].ty === 99) return;
11217 var element = this.createItem(this.layers[pos], this, this.globalData);
11218 elements[pos] = element;
11219 element.initExpressions();
11220 };
11221 CanvasRendererBase.prototype.checkPendingElements = function() {
11222 while (this.pendingElements.length) this.pendingElements.pop().checkParenting();
11223 };
11224 CanvasRendererBase.prototype.hide = function() {
11225 this.animationItem.container.style.display = "none";
11226 };
11227 CanvasRendererBase.prototype.show = function() {
11228 this.animationItem.container.style.display = "block";
11229 };
11230 function CanvasContext() {
11231 this.opacity = -1;
11232 this.transform = createTypedArray("float32", 16);
11233 this.fillStyle = "";
11234 this.strokeStyle = "";
11235 this.lineWidth = "";
11236 this.lineCap = "";
11237 this.lineJoin = "";
11238 this.miterLimit = "";
11239 this.id = Math.random();
11240 }
11241 function CVContextData() {
11242 this.stack = [];
11243 this.cArrPos = 0;
11244 this.cTr = new Matrix();
11245 var i;
11246 var len = 15;
11247 for (i = 0; i < len; i += 1) {
11248 var canvasContext = new CanvasContext();
11249 this.stack[i] = canvasContext;
11250 }
11251 this._length = len;
11252 this.nativeContext = null;
11253 this.transformMat = new Matrix();
11254 this.currentOpacity = 1;
11255 this.currentFillStyle = "";
11256 this.appliedFillStyle = "";
11257 this.currentStrokeStyle = "";
11258 this.appliedStrokeStyle = "";
11259 this.currentLineWidth = "";
11260 this.appliedLineWidth = "";
11261 this.currentLineCap = "";
11262 this.appliedLineCap = "";
11263 this.currentLineJoin = "";
11264 this.appliedLineJoin = "";
11265 this.appliedMiterLimit = "";
11266 this.currentMiterLimit = "";
11267 }
11268 CVContextData.prototype.duplicate = function() {
11269 var newLength = this._length * 2;
11270 var i = 0;
11271 for (i = this._length; i < newLength; i += 1) this.stack[i] = new CanvasContext();
11272 this._length = newLength;
11273 };
11274 CVContextData.prototype.reset = function() {
11275 this.cArrPos = 0;
11276 this.cTr.reset();
11277 this.stack[this.cArrPos].opacity = 1;
11278 };
11279 CVContextData.prototype.restore = function(forceRestore) {
11280 this.cArrPos -= 1;
11281 var currentContext = this.stack[this.cArrPos];
11282 var transform = currentContext.transform;
11283 var i;
11284 var arr = this.cTr.props;
11285 for (i = 0; i < 16; i += 1) arr[i] = transform[i];
11286 if (forceRestore) {
11287 this.nativeContext.restore();
11288 var prevStack = this.stack[this.cArrPos + 1];
11289 this.appliedFillStyle = prevStack.fillStyle;
11290 this.appliedStrokeStyle = prevStack.strokeStyle;
11291 this.appliedLineWidth = prevStack.lineWidth;
11292 this.appliedLineCap = prevStack.lineCap;
11293 this.appliedLineJoin = prevStack.lineJoin;
11294 this.appliedMiterLimit = prevStack.miterLimit;
11295 }
11296 this.nativeContext.setTransform(transform[0], transform[1], transform[4], transform[5], transform[12], transform[13]);
11297 if (forceRestore || currentContext.opacity !== -1 && this.currentOpacity !== currentContext.opacity) {
11298 this.nativeContext.globalAlpha = currentContext.opacity;
11299 this.currentOpacity = currentContext.opacity;
11300 }
11301 this.currentFillStyle = currentContext.fillStyle;
11302 this.currentStrokeStyle = currentContext.strokeStyle;
11303 this.currentLineWidth = currentContext.lineWidth;
11304 this.currentLineCap = currentContext.lineCap;
11305 this.currentLineJoin = currentContext.lineJoin;
11306 this.currentMiterLimit = currentContext.miterLimit;
11307 };
11308 CVContextData.prototype.save = function(saveOnNativeFlag) {
11309 if (saveOnNativeFlag) this.nativeContext.save();
11310 var props = this.cTr.props;
11311 if (this._length <= this.cArrPos) this.duplicate();
11312 var currentStack = this.stack[this.cArrPos];
11313 var i;
11314 for (i = 0; i < 16; i += 1) currentStack.transform[i] = props[i];
11315 this.cArrPos += 1;
11316 var newStack = this.stack[this.cArrPos];
11317 newStack.opacity = currentStack.opacity;
11318 newStack.fillStyle = currentStack.fillStyle;
11319 newStack.strokeStyle = currentStack.strokeStyle;
11320 newStack.lineWidth = currentStack.lineWidth;
11321 newStack.lineCap = currentStack.lineCap;
11322 newStack.lineJoin = currentStack.lineJoin;
11323 newStack.miterLimit = currentStack.miterLimit;
11324 };
11325 CVContextData.prototype.setOpacity = function(value) {
11326 this.stack[this.cArrPos].opacity = value;
11327 };
11328 CVContextData.prototype.setContext = function(value) {
11329 this.nativeContext = value;
11330 };
11331 CVContextData.prototype.fillStyle = function(value) {
11332 if (this.stack[this.cArrPos].fillStyle !== value) {
11333 this.currentFillStyle = value;
11334 this.stack[this.cArrPos].fillStyle = value;
11335 }
11336 };
11337 CVContextData.prototype.strokeStyle = function(value) {
11338 if (this.stack[this.cArrPos].strokeStyle !== value) {
11339 this.currentStrokeStyle = value;
11340 this.stack[this.cArrPos].strokeStyle = value;
11341 }
11342 };
11343 CVContextData.prototype.lineWidth = function(value) {
11344 if (this.stack[this.cArrPos].lineWidth !== value) {
11345 this.currentLineWidth = value;
11346 this.stack[this.cArrPos].lineWidth = value;
11347 }
11348 };
11349 CVContextData.prototype.lineCap = function(value) {
11350 if (this.stack[this.cArrPos].lineCap !== value) {
11351 this.currentLineCap = value;
11352 this.stack[this.cArrPos].lineCap = value;
11353 }
11354 };
11355 CVContextData.prototype.lineJoin = function(value) {
11356 if (this.stack[this.cArrPos].lineJoin !== value) {
11357 this.currentLineJoin = value;
11358 this.stack[this.cArrPos].lineJoin = value;
11359 }
11360 };
11361 CVContextData.prototype.miterLimit = function(value) {
11362 if (this.stack[this.cArrPos].miterLimit !== value) {
11363 this.currentMiterLimit = value;
11364 this.stack[this.cArrPos].miterLimit = value;
11365 }
11366 };
11367 CVContextData.prototype.transform = function(props) {
11368 this.transformMat.cloneFromProps(props);
11369 var currentTransform = this.cTr;
11370 this.transformMat.multiply(currentTransform);
11371 currentTransform.cloneFromProps(this.transformMat.props);
11372 var trProps = currentTransform.props;
11373 this.nativeContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);
11374 };
11375 CVContextData.prototype.opacity = function(op) {
11376 var currentOpacity = this.stack[this.cArrPos].opacity;
11377 currentOpacity *= op < 0 ? 0 : op;
11378 if (this.stack[this.cArrPos].opacity !== currentOpacity) {
11379 if (this.currentOpacity !== op) {
11380 this.nativeContext.globalAlpha = op;
11381 this.currentOpacity = op;
11382 }
11383 this.stack[this.cArrPos].opacity = currentOpacity;
11384 }
11385 };
11386 CVContextData.prototype.fill = function(rule) {
11387 if (this.appliedFillStyle !== this.currentFillStyle) {
11388 this.appliedFillStyle = this.currentFillStyle;
11389 this.nativeContext.fillStyle = this.appliedFillStyle;
11390 }
11391 this.nativeContext.fill(rule);
11392 };
11393 CVContextData.prototype.fillRect = function(x, y, w, h) {
11394 if (this.appliedFillStyle !== this.currentFillStyle) {
11395 this.appliedFillStyle = this.currentFillStyle;
11396 this.nativeContext.fillStyle = this.appliedFillStyle;
11397 }
11398 this.nativeContext.fillRect(x, y, w, h);
11399 };
11400 CVContextData.prototype.stroke = function() {
11401 if (this.appliedStrokeStyle !== this.currentStrokeStyle) {
11402 this.appliedStrokeStyle = this.currentStrokeStyle;
11403 this.nativeContext.strokeStyle = this.appliedStrokeStyle;
11404 }
11405 if (this.appliedLineWidth !== this.currentLineWidth) {
11406 this.appliedLineWidth = this.currentLineWidth;
11407 this.nativeContext.lineWidth = this.appliedLineWidth;
11408 }
11409 if (this.appliedLineCap !== this.currentLineCap) {
11410 this.appliedLineCap = this.currentLineCap;
11411 this.nativeContext.lineCap = this.appliedLineCap;
11412 }
11413 if (this.appliedLineJoin !== this.currentLineJoin) {
11414 this.appliedLineJoin = this.currentLineJoin;
11415 this.nativeContext.lineJoin = this.appliedLineJoin;
11416 }
11417 if (this.appliedMiterLimit !== this.currentMiterLimit) {
11418 this.appliedMiterLimit = this.currentMiterLimit;
11419 this.nativeContext.miterLimit = this.appliedMiterLimit;
11420 }
11421 this.nativeContext.stroke();
11422 };
11423 function CVCompElement(data, globalData, comp) {
11424 this.completeLayers = false;
11425 this.layers = data.layers;
11426 this.pendingElements = [];
11427 this.elements = createSizedArray(this.layers.length);
11428 this.initElement(data, globalData, comp);
11429 this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };
11430 }
11431 extendPrototype([
11432 CanvasRendererBase,
11433 ICompElement,
11434 CVBaseElement
11435 ], CVCompElement);
11436 CVCompElement.prototype.renderInnerContent = function() {
11437 var ctx = this.canvasContext;
11438 ctx.beginPath();
11439 ctx.moveTo(0, 0);
11440 ctx.lineTo(this.data.w, 0);
11441 ctx.lineTo(this.data.w, this.data.h);
11442 ctx.lineTo(0, this.data.h);
11443 ctx.lineTo(0, 0);
11444 ctx.clip();
11445 var i;
11446 for (i = this.layers.length - 1; i >= 0; i -= 1) if (this.completeLayers || this.elements[i]) this.elements[i].renderFrame();
11447 };
11448 CVCompElement.prototype.destroy = function() {
11449 var i;
11450 for (i = this.layers.length - 1; i >= 0; i -= 1) if (this.elements[i]) this.elements[i].destroy();
11451 this.layers = null;
11452 this.elements = null;
11453 };
11454 CVCompElement.prototype.createComp = function(data) {
11455 return new CVCompElement(data, this.globalData, this);
11456 };
11457 function CanvasRenderer(animationItem, config) {
11458 this.animationItem = animationItem;
11459 this.renderConfig = {
11460 clearCanvas: config && config.clearCanvas !== void 0 ? config.clearCanvas : true,
11461 context: config && config.context || null,
11462 progressiveLoad: config && config.progressiveLoad || false,
11463 preserveAspectRatio: config && config.preserveAspectRatio || "xMidYMid meet",
11464 imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || "xMidYMid slice",
11465 contentVisibility: config && config.contentVisibility || "visible",
11466 className: config && config.className || "",
11467 id: config && config.id || "",
11468 runExpressions: !config || config.runExpressions === void 0 || config.runExpressions
11469 };
11470 this.renderConfig.dpr = config && config.dpr || 1;
11471 if (this.animationItem.wrapper) this.renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;
11472 this.renderedFrame = -1;
11473 this.globalData = {
11474 frameNum: -1,
11475 _mdf: false,
11476 renderConfig: this.renderConfig,
11477 currentGlobalAlpha: -1
11478 };
11479 this.contextData = new CVContextData();
11480 this.elements = [];
11481 this.pendingElements = [];
11482 this.transformMat = new Matrix();
11483 this.completeLayers = false;
11484 this.rendererType = "canvas";
11485 if (this.renderConfig.clearCanvas) {
11486 this.ctxTransform = this.contextData.transform.bind(this.contextData);
11487 this.ctxOpacity = this.contextData.opacity.bind(this.contextData);
11488 this.ctxFillStyle = this.contextData.fillStyle.bind(this.contextData);
11489 this.ctxStrokeStyle = this.contextData.strokeStyle.bind(this.contextData);
11490 this.ctxLineWidth = this.contextData.lineWidth.bind(this.contextData);
11491 this.ctxLineCap = this.contextData.lineCap.bind(this.contextData);
11492 this.ctxLineJoin = this.contextData.lineJoin.bind(this.contextData);
11493 this.ctxMiterLimit = this.contextData.miterLimit.bind(this.contextData);
11494 this.ctxFill = this.contextData.fill.bind(this.contextData);
11495 this.ctxFillRect = this.contextData.fillRect.bind(this.contextData);
11496 this.ctxStroke = this.contextData.stroke.bind(this.contextData);
11497 this.save = this.contextData.save.bind(this.contextData);
11498 }
11499 }
11500 extendPrototype([CanvasRendererBase], CanvasRenderer);
11501 CanvasRenderer.prototype.createComp = function(data) {
11502 return new CVCompElement(data, this.globalData, this);
11503 };
11504 function HBaseElement() {}
11505 HBaseElement.prototype = {
11506 checkBlendMode: function checkBlendMode() {},
11507 initRendererElement: function initRendererElement() {
11508 this.baseElement = createTag(this.data.tg || "div");
11509 if (this.data.hasMask) {
11510 this.svgElement = createNS("svg");
11511 this.layerElement = createNS("g");
11512 this.maskedElement = this.layerElement;
11513 this.svgElement.appendChild(this.layerElement);
11514 this.baseElement.appendChild(this.svgElement);
11515 } else this.layerElement = this.baseElement;
11516 styleDiv(this.baseElement);
11517 },
11518 createContainerElements: function createContainerElements() {
11519 this.renderableEffectsManager = new CVEffects(this);
11520 this.transformedElement = this.baseElement;
11521 this.maskedElement = this.layerElement;
11522 if (this.data.ln) this.layerElement.setAttribute("id", this.data.ln);
11523 if (this.data.cl) this.layerElement.setAttribute("class", this.data.cl);
11524 if (this.data.bm !== 0) this.setBlendMode();
11525 },
11526 renderElement: function renderElement() {
11527 var transformedElementStyle = this.transformedElement ? this.transformedElement.style : {};
11528 if (this.finalTransform._matMdf) {
11529 var matrixValue = this.finalTransform.mat.toCSS();
11530 transformedElementStyle.transform = matrixValue;
11531 transformedElementStyle.webkitTransform = matrixValue;
11532 }
11533 if (this.finalTransform._opMdf) transformedElementStyle.opacity = this.finalTransform.mProp.o.v;
11534 },
11535 renderFrame: function renderFrame() {
11536 if (this.data.hd || this.hidden) return;
11537 this.renderTransform();
11538 this.renderRenderable();
11539 this.renderElement();
11540 this.renderInnerContent();
11541 if (this._isFirstFrame) this._isFirstFrame = false;
11542 },
11543 destroy: function destroy() {
11544 this.layerElement = null;
11545 this.transformedElement = null;
11546 if (this.matteElement) this.matteElement = null;
11547 if (this.maskManager) {
11548 this.maskManager.destroy();
11549 this.maskManager = null;
11550 }
11551 },
11552 createRenderableComponents: function createRenderableComponents() {
11553 this.maskManager = new MaskElement(this.data, this, this.globalData);
11554 },
11555 addEffects: function addEffects() {},
11556 setMatte: function setMatte() {}
11557 };
11558 HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;
11559 HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;
11560 HBaseElement.prototype.buildElementParenting = BaseRenderer.prototype.buildElementParenting;
11561 function HSolidElement(data, globalData, comp) {
11562 this.initElement(data, globalData, comp);
11563 }
11564 extendPrototype([
11565 BaseElement,
11566 TransformElement,
11567 HBaseElement,
11568 HierarchyElement,
11569 FrameElement,
11570 RenderableDOMElement
11571 ], HSolidElement);
11572 HSolidElement.prototype.createContent = function() {
11573 var rect;
11574 if (this.data.hasMask) {
11575 rect = createNS("rect");
11576 rect.setAttribute("width", this.data.sw);
11577 rect.setAttribute("height", this.data.sh);
11578 rect.setAttribute("fill", this.data.sc);
11579 this.svgElement.setAttribute("width", this.data.sw);
11580 this.svgElement.setAttribute("height", this.data.sh);
11581 } else {
11582 rect = createTag("div");
11583 rect.style.width = this.data.sw + "px";
11584 rect.style.height = this.data.sh + "px";
11585 rect.style.backgroundColor = this.data.sc;
11586 }
11587 this.layerElement.appendChild(rect);
11588 };
11589 function HShapeElement(data, globalData, comp) {
11590 this.shapes = [];
11591 this.shapesData = data.shapes;
11592 this.stylesList = [];
11593 this.shapeModifiers = [];
11594 this.itemsData = [];
11595 this.processedElements = [];
11596 this.animatedContents = [];
11597 this.shapesContainer = createNS("g");
11598 this.initElement(data, globalData, comp);
11599 this.prevViewData = [];
11600 this.currentBBox = {
11601 x: 999999,
11602 y: -999999,
11603 h: 0,
11604 w: 0
11605 };
11606 }
11607 extendPrototype([
11608 BaseElement,
11609 TransformElement,
11610 HSolidElement,
11611 SVGShapeElement,
11612 HBaseElement,
11613 HierarchyElement,
11614 FrameElement,
11615 RenderableElement
11616 ], HShapeElement);
11617 HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;
11618 HShapeElement.prototype.createContent = function() {
11619 var cont;
11620 this.baseElement.style.fontSize = 0;
11621 if (this.data.hasMask) {
11622 this.layerElement.appendChild(this.shapesContainer);
11623 cont = this.svgElement;
11624 } else {
11625 cont = createNS("svg");
11626 var size = this.comp.data ? this.comp.data : this.globalData.compSize;
11627 cont.setAttribute("width", size.w);
11628 cont.setAttribute("height", size.h);
11629 cont.appendChild(this.shapesContainer);
11630 this.layerElement.appendChild(cont);
11631 }
11632 this.searchShapes(this.shapesData, this.itemsData, this.prevViewData, this.shapesContainer, 0, [], true);
11633 this.filterUniqueShapes();
11634 this.shapeCont = cont;
11635 };
11636 HShapeElement.prototype.getTransformedPoint = function(transformers, point) {
11637 var i;
11638 var len = transformers.length;
11639 for (i = 0; i < len; i += 1) point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);
11640 return point;
11641 };
11642 HShapeElement.prototype.calculateShapeBoundingBox = function(item, boundingBox) {
11643 var shape = item.sh.v;
11644 var transformers = item.transformers;
11645 var i;
11646 var len = shape._length;
11647 var vPoint;
11648 var oPoint;
11649 var nextIPoint;
11650 var nextVPoint;
11651 if (len <= 1) return;
11652 for (i = 0; i < len - 1; i += 1) {
11653 vPoint = this.getTransformedPoint(transformers, shape.v[i]);
11654 oPoint = this.getTransformedPoint(transformers, shape.o[i]);
11655 nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);
11656 nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);
11657 this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);
11658 }
11659 if (shape.c) {
11660 vPoint = this.getTransformedPoint(transformers, shape.v[i]);
11661 oPoint = this.getTransformedPoint(transformers, shape.o[i]);
11662 nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);
11663 nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);
11664 this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);
11665 }
11666 };
11667 HShapeElement.prototype.checkBounds = function(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {
11668 this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);
11669 var bounds = this.shapeBoundingBox;
11670 boundingBox.x = bmMin(bounds.left, boundingBox.x);
11671 boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);
11672 boundingBox.y = bmMin(bounds.top, boundingBox.y);
11673 boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);
11674 };
11675 HShapeElement.prototype.shapeBoundingBox = {
11676 left: 0,
11677 right: 0,
11678 top: 0,
11679 bottom: 0
11680 };
11681 HShapeElement.prototype.tempBoundingBox = {
11682 x: 0,
11683 xMax: 0,
11684 y: 0,
11685 yMax: 0,
11686 width: 0,
11687 height: 0
11688 };
11689 HShapeElement.prototype.getBoundsOfCurve = function(p0, p1, p2, p3) {
11690 var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];
11691 for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {
11692 b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];
11693 a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];
11694 c = 3 * p1[i] - 3 * p0[i];
11695 b |= 0;
11696 a |= 0;
11697 c |= 0;
11698 if (a === 0 && b === 0) {} else if (a === 0) {
11699 t = -c / b;
11700 if (t > 0 && t < 1) bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));
11701 } else {
11702 b2ac = b * b - 4 * c * a;
11703 if (b2ac >= 0) {
11704 t1 = (-b + bmSqrt(b2ac)) / (2 * a);
11705 if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));
11706 t2 = (-b - bmSqrt(b2ac)) / (2 * a);
11707 if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));
11708 }
11709 }
11710 }
11711 this.shapeBoundingBox.left = bmMin.apply(null, bounds[0]);
11712 this.shapeBoundingBox.top = bmMin.apply(null, bounds[1]);
11713 this.shapeBoundingBox.right = bmMax.apply(null, bounds[0]);
11714 this.shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);
11715 };
11716 HShapeElement.prototype.calculateF = function(t, p0, p1, p2, p3, i) {
11717 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];
11718 };
11719 HShapeElement.prototype.calculateBoundingBox = function(itemsData, boundingBox) {
11720 var i;
11721 var len = itemsData.length;
11722 for (i = 0; i < len; i += 1) if (itemsData[i] && itemsData[i].sh) this.calculateShapeBoundingBox(itemsData[i], boundingBox);
11723 else if (itemsData[i] && itemsData[i].it) this.calculateBoundingBox(itemsData[i].it, boundingBox);
11724 else if (itemsData[i] && itemsData[i].style && itemsData[i].w) this.expandStrokeBoundingBox(itemsData[i].w, boundingBox);
11725 };
11726 HShapeElement.prototype.expandStrokeBoundingBox = function(widthProperty, boundingBox) {
11727 var width = 0;
11728 if (widthProperty.keyframes) {
11729 for (var i = 0; i < widthProperty.keyframes.length; i += 1) {
11730 var kfw = widthProperty.keyframes[i].s;
11731 if (kfw > width) width = kfw;
11732 }
11733 width *= widthProperty.mult;
11734 } else width = widthProperty.v * widthProperty.mult;
11735 boundingBox.x -= width;
11736 boundingBox.xMax += width;
11737 boundingBox.y -= width;
11738 boundingBox.yMax += width;
11739 };
11740 HShapeElement.prototype.currentBoxContains = function(box) {
11741 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;
11742 };
11743 HShapeElement.prototype.renderInnerContent = function() {
11744 this._renderShapeFrame();
11745 if (!this.hidden && (this._isFirstFrame || this._mdf)) {
11746 var tempBoundingBox = this.tempBoundingBox;
11747 var max = 999999;
11748 tempBoundingBox.x = max;
11749 tempBoundingBox.xMax = -max;
11750 tempBoundingBox.y = max;
11751 tempBoundingBox.yMax = -max;
11752 this.calculateBoundingBox(this.itemsData, tempBoundingBox);
11753 tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;
11754 tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y;
11755 if (this.currentBoxContains(tempBoundingBox)) return;
11756 var changed = false;
11757 if (this.currentBBox.w !== tempBoundingBox.width) {
11758 this.currentBBox.w = tempBoundingBox.width;
11759 this.shapeCont.setAttribute("width", tempBoundingBox.width);
11760 changed = true;
11761 }
11762 if (this.currentBBox.h !== tempBoundingBox.height) {
11763 this.currentBBox.h = tempBoundingBox.height;
11764 this.shapeCont.setAttribute("height", tempBoundingBox.height);
11765 changed = true;
11766 }
11767 if (changed || this.currentBBox.x !== tempBoundingBox.x || this.currentBBox.y !== tempBoundingBox.y) {
11768 this.currentBBox.w = tempBoundingBox.width;
11769 this.currentBBox.h = tempBoundingBox.height;
11770 this.currentBBox.x = tempBoundingBox.x;
11771 this.currentBBox.y = tempBoundingBox.y;
11772 this.shapeCont.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h);
11773 var shapeStyle = this.shapeCont.style;
11774 var shapeTransform = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)";
11775 shapeStyle.transform = shapeTransform;
11776 shapeStyle.webkitTransform = shapeTransform;
11777 }
11778 }
11779 };
11780 function HTextElement(data, globalData, comp) {
11781 this.textSpans = [];
11782 this.textPaths = [];
11783 this.currentBBox = {
11784 x: 999999,
11785 y: -999999,
11786 h: 0,
11787 w: 0
11788 };
11789 this.renderType = "svg";
11790 this.isMasked = false;
11791 this.initElement(data, globalData, comp);
11792 }
11793 extendPrototype([
11794 BaseElement,
11795 TransformElement,
11796 HBaseElement,
11797 HierarchyElement,
11798 FrameElement,
11799 RenderableDOMElement,
11800 ITextElement
11801 ], HTextElement);
11802 HTextElement.prototype.createContent = function() {
11803 this.isMasked = this.checkMasks();
11804 if (this.isMasked) {
11805 this.renderType = "svg";
11806 this.compW = this.comp.data.w;
11807 this.compH = this.comp.data.h;
11808 this.svgElement.setAttribute("width", this.compW);
11809 this.svgElement.setAttribute("height", this.compH);
11810 var g = createNS("g");
11811 this.maskedElement.appendChild(g);
11812 this.innerElem = g;
11813 } else {
11814 this.renderType = "html";
11815 this.innerElem = this.layerElement;
11816 }
11817 this.checkParenting();
11818 };
11819 HTextElement.prototype.buildNewText = function() {
11820 var documentData = this.textProperty.currentData;
11821 this.renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);
11822 var innerElemStyle = this.innerElem.style;
11823 var textColor = documentData.fc ? this.buildColor(documentData.fc) : "rgba(0,0,0,0)";
11824 innerElemStyle.fill = textColor;
11825 innerElemStyle.color = textColor;
11826 if (documentData.sc) {
11827 innerElemStyle.stroke = this.buildColor(documentData.sc);
11828 innerElemStyle.strokeWidth = documentData.sw + "px";
11829 }
11830 var fontData = this.globalData.fontManager.getFontByName(documentData.f);
11831 if (!this.globalData.fontManager.chars) {
11832 innerElemStyle.fontSize = documentData.finalSize + "px";
11833 innerElemStyle.lineHeight = documentData.finalSize + "px";
11834 if (fontData.fClass) this.innerElem.className = fontData.fClass;
11835 else {
11836 innerElemStyle.fontFamily = fontData.fFamily;
11837 var fWeight = documentData.fWeight;
11838 innerElemStyle.fontStyle = documentData.fStyle;
11839 innerElemStyle.fontWeight = fWeight;
11840 }
11841 }
11842 var i;
11843 var len;
11844 var letters = documentData.l;
11845 len = letters.length;
11846 var tSpan;
11847 var tParent;
11848 var tCont;
11849 var matrixHelper = this.mHelper;
11850 var shapes;
11851 var shapeStr = "";
11852 var cnt = 0;
11853 for (i = 0; i < len; i += 1) {
11854 if (this.globalData.fontManager.chars) {
11855 if (!this.textPaths[cnt]) {
11856 tSpan = createNS("path");
11857 tSpan.setAttribute("stroke-linecap", lineCapEnum[1]);
11858 tSpan.setAttribute("stroke-linejoin", lineJoinEnum[2]);
11859 tSpan.setAttribute("stroke-miterlimit", "4");
11860 } else tSpan = this.textPaths[cnt];
11861 if (!this.isMasked) if (this.textSpans[cnt]) {
11862 tParent = this.textSpans[cnt];
11863 tCont = tParent.children[0];
11864 } else {
11865 tParent = createTag("div");
11866 tParent.style.lineHeight = 0;
11867 tCont = createNS("svg");
11868 tCont.appendChild(tSpan);
11869 styleDiv(tParent);
11870 }
11871 } else if (!this.isMasked) if (this.textSpans[cnt]) {
11872 tParent = this.textSpans[cnt];
11873 tSpan = this.textPaths[cnt];
11874 } else {
11875 tParent = createTag("span");
11876 styleDiv(tParent);
11877 tSpan = createTag("span");
11878 styleDiv(tSpan);
11879 tParent.appendChild(tSpan);
11880 }
11881 else tSpan = this.textPaths[cnt] ? this.textPaths[cnt] : createNS("text");
11882 if (this.globalData.fontManager.chars) {
11883 var charData = this.globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, this.globalData.fontManager.getFontByName(documentData.f).fFamily);
11884 var shapeData;
11885 if (charData) shapeData = charData.data;
11886 else shapeData = null;
11887 matrixHelper.reset();
11888 if (shapeData && shapeData.shapes && shapeData.shapes.length) {
11889 shapes = shapeData.shapes[0].it;
11890 matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);
11891 shapeStr = this.createPathShape(matrixHelper, shapes);
11892 tSpan.setAttribute("d", shapeStr);
11893 }
11894 if (!this.isMasked) {
11895 this.innerElem.appendChild(tParent);
11896 if (shapeData && shapeData.shapes) {
11897 document.body.appendChild(tCont);
11898 var boundingBox = tCont.getBBox();
11899 tCont.setAttribute("width", boundingBox.width + 2);
11900 tCont.setAttribute("height", boundingBox.height + 2);
11901 tCont.setAttribute("viewBox", boundingBox.x - 1 + " " + (boundingBox.y - 1) + " " + (boundingBox.width + 2) + " " + (boundingBox.height + 2));
11902 var tContStyle = tCont.style;
11903 var tContTranslation = "translate(" + (boundingBox.x - 1) + "px," + (boundingBox.y - 1) + "px)";
11904 tContStyle.transform = tContTranslation;
11905 tContStyle.webkitTransform = tContTranslation;
11906 letters[i].yOffset = boundingBox.y - 1;
11907 } else {
11908 tCont.setAttribute("width", 1);
11909 tCont.setAttribute("height", 1);
11910 }
11911 tParent.appendChild(tCont);
11912 } else this.innerElem.appendChild(tSpan);
11913 } else {
11914 tSpan.textContent = letters[i].val;
11915 tSpan.setAttributeNS("http://www.w3.org/XML/1998/namespace", "xml:space", "preserve");
11916 if (!this.isMasked) {
11917 this.innerElem.appendChild(tParent);
11918 var tStyle = tSpan.style;
11919 var tSpanTranslation = "translate3d(0," + -documentData.finalSize / 1.2 + "px,0)";
11920 tStyle.transform = tSpanTranslation;
11921 tStyle.webkitTransform = tSpanTranslation;
11922 } else this.innerElem.appendChild(tSpan);
11923 }
11924 if (!this.isMasked) this.textSpans[cnt] = tParent;
11925 else this.textSpans[cnt] = tSpan;
11926 this.textSpans[cnt].style.display = "block";
11927 this.textPaths[cnt] = tSpan;
11928 cnt += 1;
11929 }
11930 while (cnt < this.textSpans.length) {
11931 this.textSpans[cnt].style.display = "none";
11932 cnt += 1;
11933 }
11934 };
11935 HTextElement.prototype.renderInnerContent = function() {
11936 this.validateText();
11937 var svgStyle;
11938 if (this.data.singleShape) {
11939 if (!this._isFirstFrame && !this.lettersChangedFlag) return;
11940 if (this.isMasked && this.finalTransform._matMdf) {
11941 this.svgElement.setAttribute("viewBox", -this.finalTransform.mProp.p.v[0] + " " + -this.finalTransform.mProp.p.v[1] + " " + this.compW + " " + this.compH);
11942 svgStyle = this.svgElement.style;
11943 var translation = "translate(" + -this.finalTransform.mProp.p.v[0] + "px," + -this.finalTransform.mProp.p.v[1] + "px)";
11944 svgStyle.transform = translation;
11945 svgStyle.webkitTransform = translation;
11946 }
11947 }
11948 this.textAnimator.getMeasures(this.textProperty.currentData, this.lettersChangedFlag);
11949 if (!this.lettersChangedFlag && !this.textAnimator.lettersChangedFlag) return;
11950 var i;
11951 var len;
11952 var count = 0;
11953 var renderedLetters = this.textAnimator.renderedLetters;
11954 var letters = this.textProperty.currentData.l;
11955 len = letters.length;
11956 var renderedLetter;
11957 var textSpan;
11958 var textPath;
11959 for (i = 0; i < len; i += 1) if (letters[i].n) count += 1;
11960 else {
11961 textSpan = this.textSpans[i];
11962 textPath = this.textPaths[i];
11963 renderedLetter = renderedLetters[count];
11964 count += 1;
11965 if (renderedLetter._mdf.m) if (!this.isMasked) {
11966 textSpan.style.webkitTransform = renderedLetter.m;
11967 textSpan.style.transform = renderedLetter.m;
11968 } else textSpan.setAttribute("transform", renderedLetter.m);
11969 textSpan.style.opacity = renderedLetter.o;
11970 if (renderedLetter.sw && renderedLetter._mdf.sw) textPath.setAttribute("stroke-width", renderedLetter.sw);
11971 if (renderedLetter.sc && renderedLetter._mdf.sc) textPath.setAttribute("stroke", renderedLetter.sc);
11972 if (renderedLetter.fc && renderedLetter._mdf.fc) {
11973 textPath.setAttribute("fill", renderedLetter.fc);
11974 textPath.style.color = renderedLetter.fc;
11975 }
11976 }
11977 if (this.innerElem.getBBox && !this.hidden && (this._isFirstFrame || this._mdf)) {
11978 var boundingBox = this.innerElem.getBBox();
11979 if (this.currentBBox.w !== boundingBox.width) {
11980 this.currentBBox.w = boundingBox.width;
11981 this.svgElement.setAttribute("width", boundingBox.width);
11982 }
11983 if (this.currentBBox.h !== boundingBox.height) {
11984 this.currentBBox.h = boundingBox.height;
11985 this.svgElement.setAttribute("height", boundingBox.height);
11986 }
11987 var margin = 1;
11988 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) {
11989 this.currentBBox.w = boundingBox.width + margin * 2;
11990 this.currentBBox.h = boundingBox.height + margin * 2;
11991 this.currentBBox.x = boundingBox.x - margin;
11992 this.currentBBox.y = boundingBox.y - margin;
11993 this.svgElement.setAttribute("viewBox", this.currentBBox.x + " " + this.currentBBox.y + " " + this.currentBBox.w + " " + this.currentBBox.h);
11994 svgStyle = this.svgElement.style;
11995 var svgTransform = "translate(" + this.currentBBox.x + "px," + this.currentBBox.y + "px)";
11996 svgStyle.transform = svgTransform;
11997 svgStyle.webkitTransform = svgTransform;
11998 }
11999 }
12000 };
12001 function HCameraElement(data, globalData, comp) {
12002 this.initFrame();
12003 this.initBaseData(data, globalData, comp);
12004 this.initHierarchy();
12005 var getProp = PropertyFactory.getProp;
12006 this.pe = getProp(this, data.pe, 0, 0, this);
12007 if (data.ks.p.s) {
12008 this.px = getProp(this, data.ks.p.x, 1, 0, this);
12009 this.py = getProp(this, data.ks.p.y, 1, 0, this);
12010 this.pz = getProp(this, data.ks.p.z, 1, 0, this);
12011 } else this.p = getProp(this, data.ks.p, 1, 0, this);
12012 if (data.ks.a) this.a = getProp(this, data.ks.a, 1, 0, this);
12013 if (data.ks.or.k.length && data.ks.or.k[0].to) {
12014 var i;
12015 var len = data.ks.or.k.length;
12016 for (i = 0; i < len; i += 1) {
12017 data.ks.or.k[i].to = null;
12018 data.ks.or.k[i].ti = null;
12019 }
12020 }
12021 this.or = getProp(this, data.ks.or, 1, degToRads, this);
12022 this.or.sh = true;
12023 this.rx = getProp(this, data.ks.rx, 0, degToRads, this);
12024 this.ry = getProp(this, data.ks.ry, 0, degToRads, this);
12025 this.rz = getProp(this, data.ks.rz, 0, degToRads, this);
12026 this.mat = new Matrix();
12027 this._prevMat = new Matrix();
12028 this._isFirstFrame = true;
12029 this.finalTransform = { mProp: this };
12030 }
12031 extendPrototype([
12032 BaseElement,
12033 FrameElement,
12034 HierarchyElement
12035 ], HCameraElement);
12036 HCameraElement.prototype.setup = function() {
12037 var i;
12038 var len = this.comp.threeDElements.length;
12039 var comp;
12040 var perspectiveStyle;
12041 var containerStyle;
12042 for (i = 0; i < len; i += 1) {
12043 comp = this.comp.threeDElements[i];
12044 if (comp.type === "3d") {
12045 perspectiveStyle = comp.perspectiveElem.style;
12046 containerStyle = comp.container.style;
12047 var perspective = this.pe.v + "px";
12048 var origin = "0px 0px 0px";
12049 var matrix = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";
12050 perspectiveStyle.perspective = perspective;
12051 perspectiveStyle.webkitPerspective = perspective;
12052 containerStyle.transformOrigin = origin;
12053 containerStyle.mozTransformOrigin = origin;
12054 containerStyle.webkitTransformOrigin = origin;
12055 perspectiveStyle.transform = matrix;
12056 perspectiveStyle.webkitTransform = matrix;
12057 }
12058 }
12059 };
12060 HCameraElement.prototype.createElements = function() {};
12061 HCameraElement.prototype.hide = function() {};
12062 HCameraElement.prototype.renderFrame = function() {
12063 var _mdf = this._isFirstFrame;
12064 var i;
12065 var len;
12066 if (this.hierarchy) {
12067 len = this.hierarchy.length;
12068 for (i = 0; i < len; i += 1) _mdf = this.hierarchy[i].finalTransform.mProp._mdf || _mdf;
12069 }
12070 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) {
12071 this.mat.reset();
12072 if (this.hierarchy) {
12073 len = this.hierarchy.length - 1;
12074 for (i = len; i >= 0; i -= 1) {
12075 var mTransf = this.hierarchy[i].finalTransform.mProp;
12076 this.mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);
12077 this.mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);
12078 this.mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);
12079 this.mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);
12080 this.mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);
12081 }
12082 }
12083 if (this.p) this.mat.translate(-this.p.v[0], -this.p.v[1], this.p.v[2]);
12084 else this.mat.translate(-this.px.v, -this.py.v, this.pz.v);
12085 if (this.a) {
12086 var diffVector;
12087 if (this.p) diffVector = [
12088 this.p.v[0] - this.a.v[0],
12089 this.p.v[1] - this.a.v[1],
12090 this.p.v[2] - this.a.v[2]
12091 ];
12092 else diffVector = [
12093 this.px.v - this.a.v[0],
12094 this.py.v - this.a.v[1],
12095 this.pz.v - this.a.v[2]
12096 ];
12097 var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2));
12098 var lookDir = [
12099 diffVector[0] / mag,
12100 diffVector[1] / mag,
12101 diffVector[2] / mag
12102 ];
12103 var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);
12104 var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);
12105 var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);
12106 this.mat.rotateY(mRotationY).rotateX(-mRotationX);
12107 }
12108 this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v);
12109 this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]);
12110 this.mat.translate(this.globalData.compSize.w / 2, this.globalData.compSize.h / 2, 0);
12111 this.mat.translate(0, 0, this.pe.v);
12112 var hasMatrixChanged = !this._prevMat.equals(this.mat);
12113 if ((hasMatrixChanged || this.pe._mdf) && this.comp.threeDElements) {
12114 len = this.comp.threeDElements.length;
12115 var comp;
12116 var perspectiveStyle;
12117 var containerStyle;
12118 for (i = 0; i < len; i += 1) {
12119 comp = this.comp.threeDElements[i];
12120 if (comp.type === "3d") {
12121 if (hasMatrixChanged) {
12122 var matValue = this.mat.toCSS();
12123 containerStyle = comp.container.style;
12124 containerStyle.transform = matValue;
12125 containerStyle.webkitTransform = matValue;
12126 }
12127 if (this.pe._mdf) {
12128 perspectiveStyle = comp.perspectiveElem.style;
12129 perspectiveStyle.perspective = this.pe.v + "px";
12130 perspectiveStyle.webkitPerspective = this.pe.v + "px";
12131 }
12132 }
12133 }
12134 this.mat.clone(this._prevMat);
12135 }
12136 }
12137 this._isFirstFrame = false;
12138 };
12139 HCameraElement.prototype.prepareFrame = function(num) {
12140 this.prepareProperties(num, true);
12141 };
12142 HCameraElement.prototype.destroy = function() {};
12143 HCameraElement.prototype.getBaseElement = function() {
12144 return null;
12145 };
12146 function HImageElement(data, globalData, comp) {
12147 this.assetData = globalData.getAssetData(data.refId);
12148 this.initElement(data, globalData, comp);
12149 }
12150 extendPrototype([
12151 BaseElement,
12152 TransformElement,
12153 HBaseElement,
12154 HSolidElement,
12155 HierarchyElement,
12156 FrameElement,
12157 RenderableElement
12158 ], HImageElement);
12159 HImageElement.prototype.createContent = function() {
12160 var assetPath = this.globalData.getAssetsPath(this.assetData);
12161 var img = new Image();
12162 if (this.data.hasMask) {
12163 this.imageElem = createNS("image");
12164 this.imageElem.setAttribute("width", this.assetData.w + "px");
12165 this.imageElem.setAttribute("height", this.assetData.h + "px");
12166 this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink", "href", assetPath);
12167 this.layerElement.appendChild(this.imageElem);
12168 this.baseElement.setAttribute("width", this.assetData.w);
12169 this.baseElement.setAttribute("height", this.assetData.h);
12170 } else this.layerElement.appendChild(img);
12171 img.crossOrigin = "anonymous";
12172 img.src = assetPath;
12173 if (this.data.ln) this.baseElement.setAttribute("id", this.data.ln);
12174 };
12175 function HybridRendererBase(animationItem, config) {
12176 this.animationItem = animationItem;
12177 this.layers = null;
12178 this.renderedFrame = -1;
12179 this.renderConfig = {
12180 className: config && config.className || "",
12181 imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || "xMidYMid slice",
12182 hideOnTransparent: !(config && config.hideOnTransparent === false),
12183 filterSize: {
12184 width: config && config.filterSize && config.filterSize.width || "400%",
12185 height: config && config.filterSize && config.filterSize.height || "400%",
12186 x: config && config.filterSize && config.filterSize.x || "-100%",
12187 y: config && config.filterSize && config.filterSize.y || "-100%"
12188 }
12189 };
12190 this.globalData = {
12191 _mdf: false,
12192 frameNum: -1,
12193 renderConfig: this.renderConfig
12194 };
12195 this.pendingElements = [];
12196 this.elements = [];
12197 this.threeDElements = [];
12198 this.destroyed = false;
12199 this.camera = null;
12200 this.supports3d = true;
12201 this.rendererType = "html";
12202 }
12203 extendPrototype([BaseRenderer], HybridRendererBase);
12204 HybridRendererBase.prototype.buildItem = SVGRenderer.prototype.buildItem;
12205 HybridRendererBase.prototype.checkPendingElements = function() {
12206 while (this.pendingElements.length) this.pendingElements.pop().checkParenting();
12207 };
12208 HybridRendererBase.prototype.appendElementInPos = function(element, pos) {
12209 var newDOMElement = element.getBaseElement();
12210 if (!newDOMElement) return;
12211 var layer = this.layers[pos];
12212 if (!layer.ddd || !this.supports3d) if (this.threeDElements) this.addTo3dContainer(newDOMElement, pos);
12213 else {
12214 var i = 0;
12215 var nextDOMElement;
12216 var nextLayer;
12217 var tmpDOMElement;
12218 while (i < pos) {
12219 if (this.elements[i] && this.elements[i] !== true && this.elements[i].getBaseElement) {
12220 nextLayer = this.elements[i];
12221 tmpDOMElement = this.layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();
12222 nextDOMElement = tmpDOMElement || nextDOMElement;
12223 }
12224 i += 1;
12225 }
12226 if (nextDOMElement) {
12227 if (!layer.ddd || !this.supports3d) this.layerElement.insertBefore(newDOMElement, nextDOMElement);
12228 } else if (!layer.ddd || !this.supports3d) this.layerElement.appendChild(newDOMElement);
12229 }
12230 else this.addTo3dContainer(newDOMElement, pos);
12231 };
12232 HybridRendererBase.prototype.createShape = function(data) {
12233 if (!this.supports3d) return new SVGShapeElement(data, this.globalData, this);
12234 return new HShapeElement(data, this.globalData, this);
12235 };
12236 HybridRendererBase.prototype.createText = function(data) {
12237 if (!this.supports3d) return new SVGTextLottieElement(data, this.globalData, this);
12238 return new HTextElement(data, this.globalData, this);
12239 };
12240 HybridRendererBase.prototype.createCamera = function(data) {
12241 this.camera = new HCameraElement(data, this.globalData, this);
12242 return this.camera;
12243 };
12244 HybridRendererBase.prototype.createImage = function(data) {
12245 if (!this.supports3d) return new IImageElement(data, this.globalData, this);
12246 return new HImageElement(data, this.globalData, this);
12247 };
12248 HybridRendererBase.prototype.createSolid = function(data) {
12249 if (!this.supports3d) return new ISolidElement(data, this.globalData, this);
12250 return new HSolidElement(data, this.globalData, this);
12251 };
12252 HybridRendererBase.prototype.createNull = SVGRenderer.prototype.createNull;
12253 HybridRendererBase.prototype.getThreeDContainerByPos = function(pos) {
12254 var i = 0;
12255 var len = this.threeDElements.length;
12256 while (i < len) {
12257 if (this.threeDElements[i].startPos <= pos && this.threeDElements[i].endPos >= pos) return this.threeDElements[i].perspectiveElem;
12258 i += 1;
12259 }
12260 return null;
12261 };
12262 HybridRendererBase.prototype.createThreeDContainer = function(pos, type) {
12263 var perspectiveElem = createTag("div");
12264 var style;
12265 var containerStyle;
12266 styleDiv(perspectiveElem);
12267 var container = createTag("div");
12268 styleDiv(container);
12269 if (type === "3d") {
12270 style = perspectiveElem.style;
12271 style.width = this.globalData.compSize.w + "px";
12272 style.height = this.globalData.compSize.h + "px";
12273 var center = "50% 50%";
12274 style.webkitTransformOrigin = center;
12275 style.mozTransformOrigin = center;
12276 style.transformOrigin = center;
12277 containerStyle = container.style;
12278 var matrix = "matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";
12279 containerStyle.transform = matrix;
12280 containerStyle.webkitTransform = matrix;
12281 }
12282 perspectiveElem.appendChild(container);
12283 var threeDContainerData = {
12284 container,
12285 perspectiveElem,
12286 startPos: pos,
12287 endPos: pos,
12288 type
12289 };
12290 this.threeDElements.push(threeDContainerData);
12291 return threeDContainerData;
12292 };
12293 HybridRendererBase.prototype.build3dContainers = function() {
12294 var i;
12295 var len = this.layers.length;
12296 var lastThreeDContainerData;
12297 var currentContainer = "";
12298 for (i = 0; i < len; i += 1) if (this.layers[i].ddd && this.layers[i].ty !== 3) {
12299 if (currentContainer !== "3d") {
12300 currentContainer = "3d";
12301 lastThreeDContainerData = this.createThreeDContainer(i, "3d");
12302 }
12303 lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);
12304 } else {
12305 if (currentContainer !== "2d") {
12306 currentContainer = "2d";
12307 lastThreeDContainerData = this.createThreeDContainer(i, "2d");
12308 }
12309 lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);
12310 }
12311 len = this.threeDElements.length;
12312 for (i = len - 1; i >= 0; i -= 1) this.resizerElem.appendChild(this.threeDElements[i].perspectiveElem);
12313 };
12314 HybridRendererBase.prototype.addTo3dContainer = function(elem, pos) {
12315 var i = 0;
12316 var len = this.threeDElements.length;
12317 while (i < len) {
12318 if (pos <= this.threeDElements[i].endPos) {
12319 var j = this.threeDElements[i].startPos;
12320 var nextElement;
12321 while (j < pos) {
12322 if (this.elements[j] && this.elements[j].getBaseElement) nextElement = this.elements[j].getBaseElement();
12323 j += 1;
12324 }
12325 if (nextElement) this.threeDElements[i].container.insertBefore(elem, nextElement);
12326 else this.threeDElements[i].container.appendChild(elem);
12327 break;
12328 }
12329 i += 1;
12330 }
12331 };
12332 HybridRendererBase.prototype.configAnimation = function(animData) {
12333 var resizerElem = createTag("div");
12334 var wrapper = this.animationItem.wrapper;
12335 var style = resizerElem.style;
12336 style.width = animData.w + "px";
12337 style.height = animData.h + "px";
12338 this.resizerElem = resizerElem;
12339 styleDiv(resizerElem);
12340 style.transformStyle = "flat";
12341 style.mozTransformStyle = "flat";
12342 style.webkitTransformStyle = "flat";
12343 if (this.renderConfig.className) resizerElem.setAttribute("class", this.renderConfig.className);
12344 wrapper.appendChild(resizerElem);
12345 style.overflow = "hidden";
12346 var svg = createNS("svg");
12347 svg.setAttribute("width", "1");
12348 svg.setAttribute("height", "1");
12349 styleDiv(svg);
12350 this.resizerElem.appendChild(svg);
12351 var defs = createNS("defs");
12352 svg.appendChild(defs);
12353 this.data = animData;
12354 this.setupGlobalData(animData, svg);
12355 this.globalData.defs = defs;
12356 this.layers = animData.layers;
12357 this.layerElement = this.resizerElem;
12358 this.build3dContainers();
12359 this.updateContainerSize();
12360 };
12361 HybridRendererBase.prototype.destroy = function() {
12362 if (this.animationItem.wrapper) this.animationItem.wrapper.innerText = "";
12363 this.animationItem.container = null;
12364 this.globalData.defs = null;
12365 var i;
12366 var len = this.layers ? this.layers.length : 0;
12367 for (i = 0; i < len; i += 1) if (this.elements[i] && this.elements[i].destroy) this.elements[i].destroy();
12368 this.elements.length = 0;
12369 this.destroyed = true;
12370 this.animationItem = null;
12371 };
12372 HybridRendererBase.prototype.updateContainerSize = function() {
12373 var elementWidth = this.animationItem.wrapper.offsetWidth;
12374 var elementHeight = this.animationItem.wrapper.offsetHeight;
12375 var elementRel = elementWidth / elementHeight;
12376 var animationRel = this.globalData.compSize.w / this.globalData.compSize.h;
12377 var sx;
12378 var sy;
12379 var tx;
12380 var ty;
12381 if (animationRel > elementRel) {
12382 sx = elementWidth / this.globalData.compSize.w;
12383 sy = elementWidth / this.globalData.compSize.w;
12384 tx = 0;
12385 ty = (elementHeight - this.globalData.compSize.h * (elementWidth / this.globalData.compSize.w)) / 2;
12386 } else {
12387 sx = elementHeight / this.globalData.compSize.h;
12388 sy = elementHeight / this.globalData.compSize.h;
12389 tx = (elementWidth - this.globalData.compSize.w * (elementHeight / this.globalData.compSize.h)) / 2;
12390 ty = 0;
12391 }
12392 var style = this.resizerElem.style;
12393 style.webkitTransform = "matrix3d(" + sx + ",0,0,0,0," + sy + ",0,0,0,0,1,0," + tx + "," + ty + ",0,1)";
12394 style.transform = style.webkitTransform;
12395 };
12396 HybridRendererBase.prototype.renderFrame = SVGRenderer.prototype.renderFrame;
12397 HybridRendererBase.prototype.hide = function() {
12398 this.resizerElem.style.display = "none";
12399 };
12400 HybridRendererBase.prototype.show = function() {
12401 this.resizerElem.style.display = "block";
12402 };
12403 HybridRendererBase.prototype.initItems = function() {
12404 this.buildAllItems();
12405 if (this.camera) this.camera.setup();
12406 else {
12407 var cWidth = this.globalData.compSize.w;
12408 var cHeight = this.globalData.compSize.h;
12409 var i;
12410 var len = this.threeDElements.length;
12411 for (i = 0; i < len; i += 1) {
12412 var style = this.threeDElements[i].perspectiveElem.style;
12413 style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + "px";
12414 style.perspective = style.webkitPerspective;
12415 }
12416 }
12417 };
12418 HybridRendererBase.prototype.searchExtraCompositions = function(assets) {
12419 var i;
12420 var len = assets.length;
12421 var floatingContainer = createTag("div");
12422 for (i = 0; i < len; i += 1) if (assets[i].xt) {
12423 var comp = this.createComp(assets[i], floatingContainer, this.globalData.comp, null);
12424 comp.initExpressions();
12425 this.globalData.projectInterface.registerComposition(comp);
12426 }
12427 };
12428 function HCompElement(data, globalData, comp) {
12429 this.layers = data.layers;
12430 this.supports3d = !data.hasMask;
12431 this.completeLayers = false;
12432 this.pendingElements = [];
12433 this.elements = this.layers ? createSizedArray(this.layers.length) : [];
12434 this.initElement(data, globalData, comp);
12435 this.tm = data.tm ? PropertyFactory.getProp(this, data.tm, 0, globalData.frameRate, this) : { _placeholder: true };
12436 }
12437 extendPrototype([
12438 HybridRendererBase,
12439 ICompElement,
12440 HBaseElement
12441 ], HCompElement);
12442 HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;
12443 HCompElement.prototype.createContainerElements = function() {
12444 this._createBaseContainerElements();
12445 if (this.data.hasMask) {
12446 this.svgElement.setAttribute("width", this.data.w);
12447 this.svgElement.setAttribute("height", this.data.h);
12448 this.transformedElement = this.baseElement;
12449 } else this.transformedElement = this.layerElement;
12450 };
12451 HCompElement.prototype.addTo3dContainer = function(elem, pos) {
12452 var j = 0;
12453 var nextElement;
12454 while (j < pos) {
12455 if (this.elements[j] && this.elements[j].getBaseElement) nextElement = this.elements[j].getBaseElement();
12456 j += 1;
12457 }
12458 if (nextElement) this.layerElement.insertBefore(elem, nextElement);
12459 else this.layerElement.appendChild(elem);
12460 };
12461 HCompElement.prototype.createComp = function(data) {
12462 if (!this.supports3d) return new SVGCompElement(data, this.globalData, this);
12463 return new HCompElement(data, this.globalData, this);
12464 };
12465 function HybridRenderer(animationItem, config) {
12466 this.animationItem = animationItem;
12467 this.layers = null;
12468 this.renderedFrame = -1;
12469 this.renderConfig = {
12470 className: config && config.className || "",
12471 imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || "xMidYMid slice",
12472 hideOnTransparent: !(config && config.hideOnTransparent === false),
12473 filterSize: {
12474 width: config && config.filterSize && config.filterSize.width || "400%",
12475 height: config && config.filterSize && config.filterSize.height || "400%",
12476 x: config && config.filterSize && config.filterSize.x || "-100%",
12477 y: config && config.filterSize && config.filterSize.y || "-100%"
12478 },
12479 runExpressions: !config || config.runExpressions === void 0 || config.runExpressions
12480 };
12481 this.globalData = {
12482 _mdf: false,
12483 frameNum: -1,
12484 renderConfig: this.renderConfig
12485 };
12486 this.pendingElements = [];
12487 this.elements = [];
12488 this.threeDElements = [];
12489 this.destroyed = false;
12490 this.camera = null;
12491 this.supports3d = true;
12492 this.rendererType = "html";
12493 }
12494 extendPrototype([HybridRendererBase], HybridRenderer);
12495 HybridRenderer.prototype.createComp = function(data) {
12496 if (!this.supports3d) return new SVGCompElement(data, this.globalData, this);
12497 return new HCompElement(data, this.globalData, this);
12498 };
12499 var CompExpressionInterface = function() {
12500 return function(comp) {
12501 function _thisLayerFunction(name) {
12502 var i = 0;
12503 var len = comp.layers.length;
12504 while (i < len) {
12505 if (comp.layers[i].nm === name || comp.layers[i].ind === name) return comp.elements[i].layerInterface;
12506 i += 1;
12507 }
12508 return null;
12509 }
12510 Object.defineProperty(_thisLayerFunction, "_name", { value: comp.data.nm });
12511 _thisLayerFunction.layer = _thisLayerFunction;
12512 _thisLayerFunction.pixelAspect = 1;
12513 _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;
12514 _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;
12515 _thisLayerFunction.pixelAspect = 1;
12516 _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;
12517 _thisLayerFunction.displayStartTime = 0;
12518 _thisLayerFunction.numLayers = comp.layers.length;
12519 return _thisLayerFunction;
12520 };
12521 }();
12522 function _typeof$2(o) {
12523 "@babel/helpers - typeof";
12524 return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
12525 return typeof o;
12526 } : function(o) {
12527 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12528 }, _typeof$2(o);
12529 }
12530 function seedRandom(pool, math) {
12531 var global = this;
12532 var width = 256;
12533 var chunks = 6;
12534 var digits = 52;
12535 var rngname = "random";
12536 var startdenom = math.pow(width, chunks);
12537 var significance = math.pow(2, digits);
12538 var overflow = significance * 2;
12539 var mask = width - 1;
12540 var nodecrypto;
12541 function seedrandom(seed, options, callback) {
12542 var key = [];
12543 options = options === true ? { entropy: true } : options || {};
12544 var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key);
12545 var arc4 = new ARC4(key);
12546 var prng = function prng() {
12547 var n = arc4.g(chunks);
12548 var d = startdenom;
12549 var x = 0;
12550 while (n < significance) {
12551 n = (n + x) * width;
12552 d *= width;
12553 x = arc4.g(1);
12554 }
12555 while (n >= overflow) {
12556 n /= 2;
12557 d /= 2;
12558 x >>>= 1;
12559 }
12560 return (n + x) / d;
12561 };
12562 prng.int32 = function() {
12563 return arc4.g(4) | 0;
12564 };
12565 prng.quick = function() {
12566 return arc4.g(4) / 4294967296;
12567 };
12568 prng["double"] = prng;
12569 mixkey(tostring(arc4.S), pool);
12570 return (options.pass || callback || function(prng, seed, is_math_call, state) {
12571 if (state) {
12572 if (state.S) copy(state, arc4);
12573 prng.state = function() {
12574 return copy(arc4, {});
12575 };
12576 }
12577 if (is_math_call) {
12578 math[rngname] = prng;
12579 return seed;
12580 } else return prng;
12581 })(prng, shortseed, "global" in options ? options.global : this == math, options.state);
12582 }
12583 math["seed" + rngname] = seedrandom;
12584 function ARC4(key) {
12585 var t;
12586 var keylen = key.length;
12587 var me = this;
12588 var i = 0;
12589 var j = me.i = me.j = 0;
12590 var s = me.S = [];
12591 if (!keylen) key = [keylen++];
12592 while (i < width) s[i] = i++;
12593 for (i = 0; i < width; i++) {
12594 s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];
12595 s[j] = t;
12596 }
12597 me.g = function(count) {
12598 var t;
12599 var r = 0;
12600 var i = me.i;
12601 var j = me.j;
12602 var s = me.S;
12603 while (count--) {
12604 t = s[i = mask & i + 1];
12605 r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];
12606 }
12607 me.i = i;
12608 me.j = j;
12609 return r;
12610 };
12611 }
12612 function copy(f, t) {
12613 t.i = f.i;
12614 t.j = f.j;
12615 t.S = f.S.slice();
12616 return t;
12617 }
12618 function flatten(obj, depth) {
12619 var result = [];
12620 var typ = _typeof$2(obj);
12621 var prop;
12622 if (depth && typ == "object") for (prop in obj) try {
12623 result.push(flatten(obj[prop], depth - 1));
12624 } catch (e) {}
12625 return result.length ? result : typ == "string" ? obj : obj + "\0";
12626 }
12627 function mixkey(seed, key) {
12628 var stringseed = seed + "";
12629 var smear;
12630 var j = 0;
12631 while (j < stringseed.length) key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);
12632 return tostring(key);
12633 }
12634 function autoseed() {
12635 try {
12636 if (nodecrypto) return tostring(nodecrypto.randomBytes(width));
12637 var out = new Uint8Array(width);
12638 (global.crypto || global.msCrypto).getRandomValues(out);
12639 return tostring(out);
12640 } catch (e) {
12641 var browser = global.navigator;
12642 var plugins = browser && browser.plugins;
12643 return [
12644 +/* @__PURE__ */ new Date(),
12645 global,
12646 plugins,
12647 global.screen,
12648 tostring(pool)
12649 ];
12650 }
12651 }
12652 function tostring(a) {
12653 return String.fromCharCode.apply(0, a);
12654 }
12655 mixkey(math.random(), pool);
12656 }
12657 function initialize$2(BMMath) {
12658 seedRandom([], BMMath);
12659 }
12660 var propTypes = { SHAPE: "shape" };
12661 function _typeof$1(o) {
12662 "@babel/helpers - typeof";
12663 return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
12664 return typeof o;
12665 } : function(o) {
12666 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
12667 }, _typeof$1(o);
12668 }
12669 var ExpressionManager = function() {
12670 "use strict";
12671 var ob = {};
12672 var Math = BMMath;
12673 var window = null;
12674 var document = null;
12675 var XMLHttpRequest = null;
12676 var fetch = null;
12677 var frames = null;
12678 var _lottieGlobal = {};
12679 initialize$2(BMMath);
12680 function resetFrame() {
12681 _lottieGlobal = {};
12682 }
12683 function $bm_isInstanceOfArray(arr) {
12684 return arr.constructor === Array || arr.constructor === Float32Array;
12685 }
12686 function isNumerable(tOfV, v) {
12687 return tOfV === "number" || v instanceof Number || tOfV === "boolean" || tOfV === "string";
12688 }
12689 function $bm_neg(a) {
12690 var tOfA = _typeof$1(a);
12691 if (tOfA === "number" || a instanceof Number || tOfA === "boolean") return -a;
12692 if ($bm_isInstanceOfArray(a)) {
12693 var i;
12694 var lenA = a.length;
12695 var retArr = [];
12696 for (i = 0; i < lenA; i += 1) retArr[i] = -a[i];
12697 return retArr;
12698 }
12699 if (a.propType) return a.v;
12700 return -a;
12701 }
12702 var easeInBez = BezierFactory.getBezierEasing(.333, 0, .833, .833, "easeIn").get;
12703 var easeOutBez = BezierFactory.getBezierEasing(.167, .167, .667, 1, "easeOut").get;
12704 var easeInOutBez = BezierFactory.getBezierEasing(.33, 0, .667, 1, "easeInOut").get;
12705 function sum(a, b) {
12706 var tOfA = _typeof$1(a);
12707 var tOfB = _typeof$1(b);
12708 if (isNumerable(tOfA, a) && isNumerable(tOfB, b) || tOfA === "string" || tOfB === "string") return a + b;
12709 if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
12710 a = a.slice(0);
12711 a[0] += b;
12712 return a;
12713 }
12714 if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {
12715 b = b.slice(0);
12716 b[0] = a + b[0];
12717 return b;
12718 }
12719 if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {
12720 var i = 0;
12721 var lenA = a.length;
12722 var lenB = b.length;
12723 var retArr = [];
12724 while (i < lenA || i < lenB) {
12725 if ((typeof a[i] === "number" || a[i] instanceof Number) && (typeof b[i] === "number" || b[i] instanceof Number)) retArr[i] = a[i] + b[i];
12726 else retArr[i] = b[i] === void 0 ? a[i] : a[i] || b[i];
12727 i += 1;
12728 }
12729 return retArr;
12730 }
12731 return 0;
12732 }
12733 var add = sum;
12734 function sub(a, b) {
12735 var tOfA = _typeof$1(a);
12736 var tOfB = _typeof$1(b);
12737 if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {
12738 if (tOfA === "string") a = parseInt(a, 10);
12739 if (tOfB === "string") b = parseInt(b, 10);
12740 return a - b;
12741 }
12742 if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
12743 a = a.slice(0);
12744 a[0] -= b;
12745 return a;
12746 }
12747 if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {
12748 b = b.slice(0);
12749 b[0] = a - b[0];
12750 return b;
12751 }
12752 if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {
12753 var i = 0;
12754 var lenA = a.length;
12755 var lenB = b.length;
12756 var retArr = [];
12757 while (i < lenA || i < lenB) {
12758 if ((typeof a[i] === "number" || a[i] instanceof Number) && (typeof b[i] === "number" || b[i] instanceof Number)) retArr[i] = a[i] - b[i];
12759 else retArr[i] = b[i] === void 0 ? a[i] : a[i] || b[i];
12760 i += 1;
12761 }
12762 return retArr;
12763 }
12764 return 0;
12765 }
12766 function mul(a, b) {
12767 var tOfA = _typeof$1(a);
12768 var tOfB = _typeof$1(b);
12769 var arr;
12770 if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) return a * b;
12771 var i;
12772 var len;
12773 if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
12774 len = a.length;
12775 arr = createTypedArray("float32", len);
12776 for (i = 0; i < len; i += 1) arr[i] = a[i] * b;
12777 return arr;
12778 }
12779 if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {
12780 len = b.length;
12781 arr = createTypedArray("float32", len);
12782 for (i = 0; i < len; i += 1) arr[i] = a * b[i];
12783 return arr;
12784 }
12785 return 0;
12786 }
12787 function div(a, b) {
12788 var tOfA = _typeof$1(a);
12789 var tOfB = _typeof$1(b);
12790 var arr;
12791 if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) return a / b;
12792 var i;
12793 var len;
12794 if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {
12795 len = a.length;
12796 arr = createTypedArray("float32", len);
12797 for (i = 0; i < len; i += 1) arr[i] = a[i] / b;
12798 return arr;
12799 }
12800 if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {
12801 len = b.length;
12802 arr = createTypedArray("float32", len);
12803 for (i = 0; i < len; i += 1) arr[i] = a / b[i];
12804 return arr;
12805 }
12806 return 0;
12807 }
12808 function mod(a, b) {
12809 if (typeof a === "string") a = parseInt(a, 10);
12810 if (typeof b === "string") b = parseInt(b, 10);
12811 return a % b;
12812 }
12813 var $bm_sum = sum;
12814 var $bm_sub = sub;
12815 var $bm_mul = mul;
12816 var $bm_div = div;
12817 var $bm_mod = mod;
12818 function clamp(num, min, max) {
12819 if (min > max) {
12820 var mm = max;
12821 max = min;
12822 min = mm;
12823 }
12824 return Math.min(Math.max(num, min), max);
12825 }
12826 function radiansToDegrees(val) {
12827 return val / degToRads;
12828 }
12829 var radians_to_degrees = radiansToDegrees;
12830 function degreesToRadians(val) {
12831 return val * degToRads;
12832 }
12833 var degrees_to_radians = radiansToDegrees;
12834 var helperLengthArray = [
12835 0,
12836 0,
12837 0,
12838 0,
12839 0,
12840 0
12841 ];
12842 function length(arr1, arr2) {
12843 if (typeof arr1 === "number" || arr1 instanceof Number) {
12844 arr2 = arr2 || 0;
12845 return Math.abs(arr1 - arr2);
12846 }
12847 if (!arr2) arr2 = helperLengthArray;
12848 var i;
12849 var len = Math.min(arr1.length, arr2.length);
12850 var addedLength = 0;
12851 for (i = 0; i < len; i += 1) addedLength += Math.pow(arr2[i] - arr1[i], 2);
12852 return Math.sqrt(addedLength);
12853 }
12854 function normalize(vec) {
12855 return div(vec, length(vec));
12856 }
12857 function rgbToHsl(val) {
12858 var r = val[0];
12859 var g = val[1];
12860 var b = val[2];
12861 var max = Math.max(r, g, b);
12862 var min = Math.min(r, g, b);
12863 var h;
12864 var s;
12865 var l = (max + min) / 2;
12866 if (max === min) {
12867 h = 0;
12868 s = 0;
12869 } else {
12870 var d = max - min;
12871 s = l > .5 ? d / (2 - max - min) : d / (max + min);
12872 switch (max) {
12873 case r:
12874 h = (g - b) / d + (g < b ? 6 : 0);
12875 break;
12876 case g:
12877 h = (b - r) / d + 2;
12878 break;
12879 case b:
12880 h = (r - g) / d + 4;
12881 break;
12882 default: break;
12883 }
12884 h /= 6;
12885 }
12886 return [
12887 h,
12888 s,
12889 l,
12890 val[3]
12891 ];
12892 }
12893 function hue2rgb(p, q, t) {
12894 if (t < 0) t += 1;
12895 if (t > 1) t -= 1;
12896 if (t < 1 / 6) return p + (q - p) * 6 * t;
12897 if (t < 1 / 2) return q;
12898 if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
12899 return p;
12900 }
12901 function hslToRgb(val) {
12902 var h = val[0];
12903 var s = val[1];
12904 var l = val[2];
12905 var r;
12906 var g;
12907 var b;
12908 if (s === 0) {
12909 r = l;
12910 b = l;
12911 g = l;
12912 } else {
12913 var q = l < .5 ? l * (1 + s) : l + s - l * s;
12914 var p = 2 * l - q;
12915 r = hue2rgb(p, q, h + 1 / 3);
12916 g = hue2rgb(p, q, h);
12917 b = hue2rgb(p, q, h - 1 / 3);
12918 }
12919 return [
12920 r,
12921 g,
12922 b,
12923 val[3]
12924 ];
12925 }
12926 function linear(t, tMin, tMax, value1, value2) {
12927 if (value1 === void 0 || value2 === void 0) {
12928 value1 = tMin;
12929 value2 = tMax;
12930 tMin = 0;
12931 tMax = 1;
12932 }
12933 if (tMax < tMin) {
12934 var _tMin = tMax;
12935 tMax = tMin;
12936 tMin = _tMin;
12937 }
12938 if (t <= tMin) return value1;
12939 if (t >= tMax) return value2;
12940 var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);
12941 if (!value1.length) return value1 + (value2 - value1) * perc;
12942 var i;
12943 var len = value1.length;
12944 var arr = createTypedArray("float32", len);
12945 for (i = 0; i < len; i += 1) arr[i] = value1[i] + (value2[i] - value1[i]) * perc;
12946 return arr;
12947 }
12948 function random(min, max) {
12949 if (max === void 0) if (min === void 0) {
12950 min = 0;
12951 max = 1;
12952 } else {
12953 max = min;
12954 min = void 0;
12955 }
12956 if (max.length) {
12957 var i;
12958 var len = max.length;
12959 if (!min) min = createTypedArray("float32", len);
12960 var arr = createTypedArray("float32", len);
12961 var rnd = BMMath.random();
12962 for (i = 0; i < len; i += 1) arr[i] = min[i] + rnd * (max[i] - min[i]);
12963 return arr;
12964 }
12965 if (min === void 0) min = 0;
12966 var rndm = BMMath.random();
12967 return min + rndm * (max - min);
12968 }
12969 function createPath(points, inTangents, outTangents, closed) {
12970 var i;
12971 var len = points.length;
12972 var path = shapePool.newElement();
12973 path.setPathData(!!closed, len);
12974 var arrPlaceholder = [0, 0];
12975 var inVertexPoint;
12976 var outVertexPoint;
12977 for (i = 0; i < len; i += 1) {
12978 inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;
12979 outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;
12980 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);
12981 }
12982 return path;
12983 }
12984 function initiateExpression(elem, data, property) {
12985 function noOp(_value) {
12986 return _value;
12987 }
12988 if (!elem.globalData.renderConfig.runExpressions) return noOp;
12989 var val = data.x;
12990 var needsVelocity = /velocity(?![\w\d])/.test(val);
12991 var _needsRandom = val.indexOf("random") !== -1;
12992 var elemType = elem.data.ty;
12993 var transform;
12994 var $bm_transform;
12995 var content;
12996 var effect;
12997 var thisProperty = property;
12998 thisProperty._name = elem.data.nm;
12999 thisProperty.valueAtTime = thisProperty.getValueAtTime;
13000 Object.defineProperty(thisProperty, "value", { get: function get() {
13001 return thisProperty.v;
13002 } });
13003 elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;
13004 elem.comp.displayStartTime = 0;
13005 var inPoint = elem.data.ip / elem.comp.globalData.frameRate;
13006 var outPoint = elem.data.op / elem.comp.globalData.frameRate;
13007 var width = elem.data.sw ? elem.data.sw : 0;
13008 var height = elem.data.sh ? elem.data.sh : 0;
13009 var name = elem.data.nm;
13010 var loopIn;
13011 var loop_in;
13012 var loopOut;
13013 var loop_out;
13014 var smooth;
13015 var toWorld;
13016 var fromWorld;
13017 var fromComp;
13018 var toComp;
13019 var fromCompToSurface;
13020 var position;
13021 var rotation;
13022 var anchorPoint;
13023 var scale;
13024 var thisLayer;
13025 var thisComp;
13026 var mask;
13027 var valueAtTime;
13028 var velocityAtTime;
13029 var scoped_bm_rt;
13030 var expression_function = eval("[function _expression_function(){" + val + ";scoped_bm_rt=$bm_rt}]")[0];
13031 var numKeys = property.kf ? data.k.length : 0;
13032 var active = !this.data || this.data.hd !== true;
13033 var wiggle = function wiggle(freq, amp) {
13034 var iWiggle;
13035 var j;
13036 var lenWiggle = this.pv.length ? this.pv.length : 1;
13037 var addedAmps = createTypedArray("float32", lenWiggle);
13038 freq = 5;
13039 var iterations = Math.floor(time * freq);
13040 iWiggle = 0;
13041 j = 0;
13042 while (iWiggle < iterations) {
13043 for (j = 0; j < lenWiggle; j += 1) addedAmps[j] += -amp + amp * 2 * BMMath.random();
13044 iWiggle += 1;
13045 }
13046 var periods = time * freq;
13047 var perc = periods - Math.floor(periods);
13048 var arr = createTypedArray("float32", lenWiggle);
13049 if (lenWiggle > 1) {
13050 for (j = 0; j < lenWiggle; j += 1) arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc;
13051 return arr;
13052 }
13053 return this.pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;
13054 }.bind(this);
13055 if (thisProperty.loopIn) {
13056 loopIn = thisProperty.loopIn.bind(thisProperty);
13057 loop_in = loopIn;
13058 }
13059 if (thisProperty.loopOut) {
13060 loopOut = thisProperty.loopOut.bind(thisProperty);
13061 loop_out = loopOut;
13062 }
13063 if (thisProperty.smooth) smooth = thisProperty.smooth.bind(thisProperty);
13064 function loopInDuration(type, duration) {
13065 return loopIn(type, duration, true);
13066 }
13067 function loopOutDuration(type, duration) {
13068 return loopOut(type, duration, true);
13069 }
13070 if (this.getValueAtTime) valueAtTime = this.getValueAtTime.bind(this);
13071 if (this.getVelocityAtTime) velocityAtTime = this.getVelocityAtTime.bind(this);
13072 var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);
13073 function lookAt(elem1, elem2) {
13074 var fVec = [
13075 elem2[0] - elem1[0],
13076 elem2[1] - elem1[1],
13077 elem2[2] - elem1[2]
13078 ];
13079 var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;
13080 return [
13081 -Math.atan2(fVec[1], fVec[2]) / degToRads,
13082 pitch,
13083 0
13084 ];
13085 }
13086 function easeOut(t, tMin, tMax, val1, val2) {
13087 return applyEase(easeOutBez, t, tMin, tMax, val1, val2);
13088 }
13089 function easeIn(t, tMin, tMax, val1, val2) {
13090 return applyEase(easeInBez, t, tMin, tMax, val1, val2);
13091 }
13092 function ease(t, tMin, tMax, val1, val2) {
13093 return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);
13094 }
13095 function applyEase(fn, t, tMin, tMax, val1, val2) {
13096 if (val1 === void 0) {
13097 val1 = tMin;
13098 val2 = tMax;
13099 } else t = (t - tMin) / (tMax - tMin);
13100 if (t > 1) t = 1;
13101 else if (t < 0) t = 0;
13102 var mult = fn(t);
13103 if ($bm_isInstanceOfArray(val1)) {
13104 var iKey;
13105 var lenKey = val1.length;
13106 var arr = createTypedArray("float32", lenKey);
13107 for (iKey = 0; iKey < lenKey; iKey += 1) arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];
13108 return arr;
13109 }
13110 return (val2 - val1) * mult + val1;
13111 }
13112 function nearestKey(time) {
13113 var iKey;
13114 var lenKey = data.k.length;
13115 var index;
13116 var keyTime;
13117 if (!data.k.length || typeof data.k[0] === "number") {
13118 index = 0;
13119 keyTime = 0;
13120 } else {
13121 index = -1;
13122 time *= elem.comp.globalData.frameRate;
13123 if (time < data.k[0].t) {
13124 index = 1;
13125 keyTime = data.k[0].t;
13126 } else {
13127 for (iKey = 0; iKey < lenKey - 1; iKey += 1) if (time === data.k[iKey].t) {
13128 index = iKey + 1;
13129 keyTime = data.k[iKey].t;
13130 break;
13131 } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {
13132 if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {
13133 index = iKey + 2;
13134 keyTime = data.k[iKey + 1].t;
13135 } else {
13136 index = iKey + 1;
13137 keyTime = data.k[iKey].t;
13138 }
13139 break;
13140 }
13141 if (index === -1) {
13142 index = iKey + 1;
13143 keyTime = data.k[iKey].t;
13144 }
13145 }
13146 }
13147 var obKey = {};
13148 obKey.index = index;
13149 obKey.time = keyTime / elem.comp.globalData.frameRate;
13150 return obKey;
13151 }
13152 function key(ind) {
13153 var obKey;
13154 var iKey;
13155 var lenKey;
13156 if (!data.k.length || typeof data.k[0] === "number") throw new Error("The property has no keyframe at index " + ind);
13157 ind -= 1;
13158 obKey = {
13159 time: data.k[ind].t / elem.comp.globalData.frameRate,
13160 value: []
13161 };
13162 var arr = Object.prototype.hasOwnProperty.call(data.k[ind], "s") ? data.k[ind].s : data.k[ind - 1].e;
13163 lenKey = arr.length;
13164 for (iKey = 0; iKey < lenKey; iKey += 1) {
13165 obKey[iKey] = arr[iKey];
13166 obKey.value[iKey] = arr[iKey];
13167 }
13168 return obKey;
13169 }
13170 function framesToTime(fr, fps) {
13171 if (!fps) fps = elem.comp.globalData.frameRate;
13172 return fr / fps;
13173 }
13174 function timeToFrames(t, fps) {
13175 if (!t && t !== 0) t = time;
13176 if (!fps) fps = elem.comp.globalData.frameRate;
13177 return t * fps;
13178 }
13179 function seedRandom(seed) {
13180 BMMath.seedrandom(randSeed + seed);
13181 }
13182 function sourceRectAtTime() {
13183 return elem.sourceRectAtTime();
13184 }
13185 function substring(init, end) {
13186 if (typeof value === "string") {
13187 if (end === void 0) return value.substring(init);
13188 return value.substring(init, end);
13189 }
13190 return "";
13191 }
13192 function substr(init, end) {
13193 if (typeof value === "string") {
13194 if (end === void 0) return value.substr(init);
13195 return value.substr(init, end);
13196 }
13197 return "";
13198 }
13199 function posterizeTime(framesPerSecond) {
13200 time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;
13201 value = valueAtTime(time);
13202 }
13203 var time;
13204 var velocity;
13205 var value;
13206 var text;
13207 var textIndex;
13208 var textTotal;
13209 var selectorValue;
13210 var index = elem.data.ind;
13211 var hasParent = !!(elem.hierarchy && elem.hierarchy.length);
13212 var parent;
13213 var randSeed = Math.floor(Math.random() * 1e6);
13214 var globalData = elem.globalData;
13215 function executeExpression(_value) {
13216 value = _value;
13217 if (this.frameExpressionId === elem.globalData.frameId && this.propType !== "textSelector") return value;
13218 if (this.propType === "textSelector") {
13219 textIndex = this.textIndex;
13220 textTotal = this.textTotal;
13221 selectorValue = this.selectorValue;
13222 }
13223 if (!thisLayer) {
13224 text = elem.layerInterface.text;
13225 thisLayer = elem.layerInterface;
13226 thisComp = elem.comp.compInterface;
13227 toWorld = thisLayer.toWorld.bind(thisLayer);
13228 fromWorld = thisLayer.fromWorld.bind(thisLayer);
13229 fromComp = thisLayer.fromComp.bind(thisLayer);
13230 toComp = thisLayer.toComp.bind(thisLayer);
13231 mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;
13232 fromCompToSurface = fromComp;
13233 }
13234 if (!transform) {
13235 transform = elem.layerInterface("ADBE Transform Group");
13236 $bm_transform = transform;
13237 if (transform) anchorPoint = transform.anchorPoint;
13238 }
13239 if (elemType === 4 && !content) content = thisLayer("ADBE Root Vectors Group");
13240 if (!effect) effect = thisLayer(4);
13241 hasParent = !!(elem.hierarchy && elem.hierarchy.length);
13242 if (hasParent && !parent) parent = elem.hierarchy[0].layerInterface;
13243 time = this.comp.renderedFrame / this.comp.globalData.frameRate;
13244 if (_needsRandom) seedRandom(randSeed + time);
13245 if (needsVelocity) velocity = velocityAtTime(time);
13246 expression_function();
13247 this.frameExpressionId = elem.globalData.frameId;
13248 scoped_bm_rt = scoped_bm_rt.propType === propTypes.SHAPE ? scoped_bm_rt.v : scoped_bm_rt;
13249 return scoped_bm_rt;
13250 }
13251 executeExpression.__preventDeadCodeRemoval = [
13252 $bm_transform,
13253 anchorPoint,
13254 time,
13255 velocity,
13256 inPoint,
13257 outPoint,
13258 width,
13259 height,
13260 name,
13261 loop_in,
13262 loop_out,
13263 smooth,
13264 toComp,
13265 fromCompToSurface,
13266 toWorld,
13267 fromWorld,
13268 mask,
13269 position,
13270 rotation,
13271 scale,
13272 thisComp,
13273 numKeys,
13274 active,
13275 wiggle,
13276 loopInDuration,
13277 loopOutDuration,
13278 comp,
13279 lookAt,
13280 easeOut,
13281 easeIn,
13282 ease,
13283 nearestKey,
13284 key,
13285 text,
13286 textIndex,
13287 textTotal,
13288 selectorValue,
13289 framesToTime,
13290 timeToFrames,
13291 sourceRectAtTime,
13292 substring,
13293 substr,
13294 posterizeTime,
13295 index,
13296 globalData
13297 ];
13298 return executeExpression;
13299 }
13300 ob.initiateExpression = initiateExpression;
13301 ob.__preventDeadCodeRemoval = [
13302 window,
13303 document,
13304 XMLHttpRequest,
13305 fetch,
13306 frames,
13307 $bm_neg,
13308 add,
13309 $bm_sum,
13310 $bm_sub,
13311 $bm_mul,
13312 $bm_div,
13313 $bm_mod,
13314 clamp,
13315 radians_to_degrees,
13316 degreesToRadians,
13317 degrees_to_radians,
13318 normalize,
13319 rgbToHsl,
13320 hslToRgb,
13321 linear,
13322 random,
13323 createPath,
13324 _lottieGlobal
13325 ];
13326 ob.resetFrame = resetFrame;
13327 return ob;
13328 }();
13329 var Expressions = function() {
13330 var ob = {};
13331 ob.initExpressions = initExpressions;
13332 ob.resetFrame = ExpressionManager.resetFrame;
13333 function initExpressions(animation) {
13334 var stackCount = 0;
13335 var registers = [];
13336 function pushExpression() {
13337 stackCount += 1;
13338 }
13339 function popExpression() {
13340 stackCount -= 1;
13341 if (stackCount === 0) releaseInstances();
13342 }
13343 function registerExpressionProperty(expression) {
13344 if (registers.indexOf(expression) === -1) registers.push(expression);
13345 }
13346 function releaseInstances() {
13347 var i;
13348 var len = registers.length;
13349 for (i = 0; i < len; i += 1) registers[i].release();
13350 registers.length = 0;
13351 }
13352 animation.renderer.compInterface = CompExpressionInterface(animation.renderer);
13353 animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);
13354 animation.renderer.globalData.pushExpression = pushExpression;
13355 animation.renderer.globalData.popExpression = popExpression;
13356 animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;
13357 }
13358 return ob;
13359 }();
13360 var MaskManagerInterface = function() {
13361 function MaskInterface(mask, data) {
13362 this._mask = mask;
13363 this._data = data;
13364 }
13365 Object.defineProperty(MaskInterface.prototype, "maskPath", { get: function get() {
13366 if (this._mask.prop.k) this._mask.prop.getValue();
13367 return this._mask.prop;
13368 } });
13369 Object.defineProperty(MaskInterface.prototype, "maskOpacity", { get: function get() {
13370 if (this._mask.op.k) this._mask.op.getValue();
13371 return this._mask.op.v * 100;
13372 } });
13373 return function MaskManager(maskManager) {
13374 var _masksInterfaces = createSizedArray(maskManager.viewData.length);
13375 var i;
13376 var len = maskManager.viewData.length;
13377 for (i = 0; i < len; i += 1) _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);
13378 return function maskFunction(name) {
13379 i = 0;
13380 while (i < len) {
13381 if (maskManager.masksProperties[i].nm === name) return _masksInterfaces[i];
13382 i += 1;
13383 }
13384 return null;
13385 };
13386 };
13387 }();
13388 var ExpressionPropertyInterface = function() {
13389 var defaultUnidimensionalValue = {
13390 pv: 0,
13391 v: 0,
13392 mult: 1
13393 };
13394 var defaultMultidimensionalValue = {
13395 pv: [
13396 0,
13397 0,
13398 0
13399 ],
13400 v: [
13401 0,
13402 0,
13403 0
13404 ],
13405 mult: 1
13406 };
13407 function completeProperty(expressionValue, property, type) {
13408 Object.defineProperty(expressionValue, "velocity", { get: function get() {
13409 return property.getVelocityAtTime(property.comp.currentFrame);
13410 } });
13411 expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;
13412 expressionValue.key = function(pos) {
13413 if (!expressionValue.numKeys) return 0;
13414 var value = "";
13415 if ("s" in property.keyframes[pos - 1]) value = property.keyframes[pos - 1].s;
13416 else if ("e" in property.keyframes[pos - 2]) value = property.keyframes[pos - 2].e;
13417 else value = property.keyframes[pos - 2].s;
13418 var valueProp = type === "unidimensional" ? new Number(value) : Object.assign({}, value);
13419 valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;
13420 valueProp.value = type === "unidimensional" ? value[0] : value;
13421 return valueProp;
13422 };
13423 expressionValue.valueAtTime = property.getValueAtTime;
13424 expressionValue.speedAtTime = property.getSpeedAtTime;
13425 expressionValue.velocityAtTime = property.getVelocityAtTime;
13426 expressionValue.propertyGroup = property.propertyGroup;
13427 }
13428 function UnidimensionalPropertyInterface(property) {
13429 if (!property || !("pv" in property)) property = defaultUnidimensionalValue;
13430 var mult = 1 / property.mult;
13431 var val = property.pv * mult;
13432 var expressionValue = new Number(val);
13433 expressionValue.value = val;
13434 completeProperty(expressionValue, property, "unidimensional");
13435 return function() {
13436 if (property.k) property.getValue();
13437 val = property.v * mult;
13438 if (expressionValue.value !== val) {
13439 expressionValue = new Number(val);
13440 expressionValue.value = val;
13441 expressionValue[0] = val;
13442 completeProperty(expressionValue, property, "unidimensional");
13443 }
13444 return expressionValue;
13445 };
13446 }
13447 function MultidimensionalPropertyInterface(property) {
13448 if (!property || !("pv" in property)) property = defaultMultidimensionalValue;
13449 var mult = 1 / property.mult;
13450 var len = property.data && property.data.l || property.pv.length;
13451 var expressionValue = createTypedArray("float32", len);
13452 var arrValue = createTypedArray("float32", len);
13453 expressionValue.value = arrValue;
13454 completeProperty(expressionValue, property, "multidimensional");
13455 return function() {
13456 if (property.k) property.getValue();
13457 for (var i = 0; i < len; i += 1) {
13458 arrValue[i] = property.v[i] * mult;
13459 expressionValue[i] = arrValue[i];
13460 }
13461 return expressionValue;
13462 };
13463 }
13464 function defaultGetter() {
13465 return defaultUnidimensionalValue;
13466 }
13467 return function(property) {
13468 if (!property) return defaultGetter;
13469 if (property.propType === "unidimensional") return UnidimensionalPropertyInterface(property);
13470 return MultidimensionalPropertyInterface(property);
13471 };
13472 }();
13473 var TransformExpressionInterface = function() {
13474 return function(transform) {
13475 function _thisFunction(name) {
13476 switch (name) {
13477 case "scale":
13478 case "Scale":
13479 case "ADBE Scale":
13480 case 6: return _thisFunction.scale;
13481 case "rotation":
13482 case "Rotation":
13483 case "ADBE Rotation":
13484 case "ADBE Rotate Z":
13485 case 10: return _thisFunction.rotation;
13486 case "ADBE Rotate X": return _thisFunction.xRotation;
13487 case "ADBE Rotate Y": return _thisFunction.yRotation;
13488 case "position":
13489 case "Position":
13490 case "ADBE Position":
13491 case 2: return _thisFunction.position;
13492 case "ADBE Position_0": return _thisFunction.xPosition;
13493 case "ADBE Position_1": return _thisFunction.yPosition;
13494 case "ADBE Position_2": return _thisFunction.zPosition;
13495 case "anchorPoint":
13496 case "AnchorPoint":
13497 case "Anchor Point":
13498 case "ADBE AnchorPoint":
13499 case 1: return _thisFunction.anchorPoint;
13500 case "opacity":
13501 case "Opacity":
13502 case 11: return _thisFunction.opacity;
13503 default: return null;
13504 }
13505 }
13506 Object.defineProperty(_thisFunction, "rotation", { get: ExpressionPropertyInterface(transform.r || transform.rz) });
13507 Object.defineProperty(_thisFunction, "zRotation", { get: ExpressionPropertyInterface(transform.rz || transform.r) });
13508 Object.defineProperty(_thisFunction, "xRotation", { get: ExpressionPropertyInterface(transform.rx) });
13509 Object.defineProperty(_thisFunction, "yRotation", { get: ExpressionPropertyInterface(transform.ry) });
13510 Object.defineProperty(_thisFunction, "scale", { get: ExpressionPropertyInterface(transform.s) });
13511 var _px;
13512 var _py;
13513 var _pz;
13514 var _transformFactory;
13515 if (transform.p) _transformFactory = ExpressionPropertyInterface(transform.p);
13516 else {
13517 _px = ExpressionPropertyInterface(transform.px);
13518 _py = ExpressionPropertyInterface(transform.py);
13519 if (transform.pz) _pz = ExpressionPropertyInterface(transform.pz);
13520 }
13521 Object.defineProperty(_thisFunction, "position", { get: function get() {
13522 if (transform.p) return _transformFactory();
13523 return [
13524 _px(),
13525 _py(),
13526 _pz ? _pz() : 0
13527 ];
13528 } });
13529 Object.defineProperty(_thisFunction, "xPosition", { get: ExpressionPropertyInterface(transform.px) });
13530 Object.defineProperty(_thisFunction, "yPosition", { get: ExpressionPropertyInterface(transform.py) });
13531 Object.defineProperty(_thisFunction, "zPosition", { get: ExpressionPropertyInterface(transform.pz) });
13532 Object.defineProperty(_thisFunction, "anchorPoint", { get: ExpressionPropertyInterface(transform.a) });
13533 Object.defineProperty(_thisFunction, "opacity", { get: ExpressionPropertyInterface(transform.o) });
13534 Object.defineProperty(_thisFunction, "skew", { get: ExpressionPropertyInterface(transform.sk) });
13535 Object.defineProperty(_thisFunction, "skewAxis", { get: ExpressionPropertyInterface(transform.sa) });
13536 Object.defineProperty(_thisFunction, "orientation", { get: ExpressionPropertyInterface(transform.or) });
13537 return _thisFunction;
13538 };
13539 }();
13540 var LayerExpressionInterface = function() {
13541 function getMatrix(time) {
13542 var toWorldMat = new Matrix();
13543 if (time !== void 0) this._elem.finalTransform.mProp.getValueAtTime(time).clone(toWorldMat);
13544 else this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);
13545 return toWorldMat;
13546 }
13547 function toWorldVec(arr, time) {
13548 var toWorldMat = this.getMatrix(time);
13549 toWorldMat.props[12] = 0;
13550 toWorldMat.props[13] = 0;
13551 toWorldMat.props[14] = 0;
13552 return this.applyPoint(toWorldMat, arr);
13553 }
13554 function toWorld(arr, time) {
13555 var toWorldMat = this.getMatrix(time);
13556 return this.applyPoint(toWorldMat, arr);
13557 }
13558 function fromWorldVec(arr, time) {
13559 var toWorldMat = this.getMatrix(time);
13560 toWorldMat.props[12] = 0;
13561 toWorldMat.props[13] = 0;
13562 toWorldMat.props[14] = 0;
13563 return this.invertPoint(toWorldMat, arr);
13564 }
13565 function fromWorld(arr, time) {
13566 var toWorldMat = this.getMatrix(time);
13567 return this.invertPoint(toWorldMat, arr);
13568 }
13569 function applyPoint(matrix, arr) {
13570 if (this._elem.hierarchy && this._elem.hierarchy.length) {
13571 var i;
13572 var len = this._elem.hierarchy.length;
13573 for (i = 0; i < len; i += 1) this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);
13574 }
13575 return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);
13576 }
13577 function invertPoint(matrix, arr) {
13578 if (this._elem.hierarchy && this._elem.hierarchy.length) {
13579 var i;
13580 var len = this._elem.hierarchy.length;
13581 for (i = 0; i < len; i += 1) this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);
13582 }
13583 return matrix.inversePoint(arr);
13584 }
13585 function fromComp(arr) {
13586 var toWorldMat = new Matrix();
13587 toWorldMat.reset();
13588 this._elem.finalTransform.mProp.applyToMatrix(toWorldMat);
13589 if (this._elem.hierarchy && this._elem.hierarchy.length) {
13590 var i;
13591 var len = this._elem.hierarchy.length;
13592 for (i = 0; i < len; i += 1) this._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);
13593 return toWorldMat.inversePoint(arr);
13594 }
13595 return toWorldMat.inversePoint(arr);
13596 }
13597 function sampleImage() {
13598 return [
13599 1,
13600 1,
13601 1,
13602 1
13603 ];
13604 }
13605 return function(elem) {
13606 var transformInterface;
13607 function _registerMaskInterface(maskManager) {
13608 _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);
13609 }
13610 function _registerEffectsInterface(effects) {
13611 _thisLayerFunction.effect = effects;
13612 }
13613 function _thisLayerFunction(name) {
13614 switch (name) {
13615 case "ADBE Root Vectors Group":
13616 case "Contents":
13617 case 2: return _thisLayerFunction.shapeInterface;
13618 case 1:
13619 case 6:
13620 case "Transform":
13621 case "transform":
13622 case "ADBE Transform Group": return transformInterface;
13623 case 4:
13624 case "ADBE Effect Parade":
13625 case "effects":
13626 case "Effects": return _thisLayerFunction.effect;
13627 case "ADBE Text Properties": return _thisLayerFunction.textInterface;
13628 default: return null;
13629 }
13630 }
13631 _thisLayerFunction.getMatrix = getMatrix;
13632 _thisLayerFunction.invertPoint = invertPoint;
13633 _thisLayerFunction.applyPoint = applyPoint;
13634 _thisLayerFunction.toWorld = toWorld;
13635 _thisLayerFunction.toWorldVec = toWorldVec;
13636 _thisLayerFunction.fromWorld = fromWorld;
13637 _thisLayerFunction.fromWorldVec = fromWorldVec;
13638 _thisLayerFunction.toComp = toWorld;
13639 _thisLayerFunction.fromComp = fromComp;
13640 _thisLayerFunction.sampleImage = sampleImage;
13641 _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);
13642 _thisLayerFunction._elem = elem;
13643 transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);
13644 var anchorPointDescriptor = getDescriptor(transformInterface, "anchorPoint");
13645 Object.defineProperties(_thisLayerFunction, {
13646 hasParent: { get: function get() {
13647 return elem.hierarchy.length;
13648 } },
13649 parent: { get: function get() {
13650 return elem.hierarchy[0].layerInterface;
13651 } },
13652 rotation: getDescriptor(transformInterface, "rotation"),
13653 scale: getDescriptor(transformInterface, "scale"),
13654 position: getDescriptor(transformInterface, "position"),
13655 opacity: getDescriptor(transformInterface, "opacity"),
13656 anchorPoint: anchorPointDescriptor,
13657 anchor_point: anchorPointDescriptor,
13658 transform: { get: function get() {
13659 return transformInterface;
13660 } },
13661 active: { get: function get() {
13662 return elem.isInRange;
13663 } }
13664 });
13665 _thisLayerFunction.startTime = elem.data.st;
13666 _thisLayerFunction.index = elem.data.ind;
13667 _thisLayerFunction.source = elem.data.refId;
13668 _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;
13669 _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;
13670 _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;
13671 _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;
13672 _thisLayerFunction._name = elem.data.nm;
13673 _thisLayerFunction.registerMaskInterface = _registerMaskInterface;
13674 _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;
13675 return _thisLayerFunction;
13676 };
13677 }();
13678 var propertyGroupFactory = function() {
13679 return function(interfaceFunction, parentPropertyGroup) {
13680 return function(val) {
13681 val = val === void 0 ? 1 : val;
13682 if (val <= 0) return interfaceFunction;
13683 return parentPropertyGroup(val - 1);
13684 };
13685 };
13686 }();
13687 var PropertyInterface = function() {
13688 return function(propertyName, propertyGroup) {
13689 var interfaceFunction = { _name: propertyName };
13690 function _propertyGroup(val) {
13691 val = val === void 0 ? 1 : val;
13692 if (val <= 0) return interfaceFunction;
13693 return propertyGroup(val - 1);
13694 }
13695 return _propertyGroup;
13696 };
13697 }();
13698 var EffectsExpressionInterface = function() {
13699 var ob = { createEffectsInterface };
13700 function createEffectsInterface(elem, propertyGroup) {
13701 if (elem.effectsManager) {
13702 var effectElements = [];
13703 var effectsData = elem.data.ef;
13704 var i;
13705 var len = elem.effectsManager.effectElements.length;
13706 for (i = 0; i < len; i += 1) effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));
13707 var effects = elem.data.ef || [];
13708 var groupInterface = function groupInterface(name) {
13709 i = 0;
13710 len = effects.length;
13711 while (i < len) {
13712 if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) return effectElements[i];
13713 i += 1;
13714 }
13715 return null;
13716 };
13717 Object.defineProperty(groupInterface, "numProperties", { get: function get() {
13718 return effects.length;
13719 } });
13720 return groupInterface;
13721 }
13722 return null;
13723 }
13724 function createGroupInterface(data, elements, propertyGroup, elem) {
13725 function groupInterface(name) {
13726 var effects = data.ef;
13727 var i = 0;
13728 var len = effects.length;
13729 while (i < len) {
13730 if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {
13731 if (effects[i].ty === 5) return effectElements[i];
13732 return effectElements[i]();
13733 }
13734 i += 1;
13735 }
13736 throw new Error();
13737 }
13738 var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);
13739 var effectElements = [];
13740 var i;
13741 var len = data.ef.length;
13742 for (i = 0; i < len; i += 1) if (data.ef[i].ty === 5) effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));
13743 else effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));
13744 if (data.mn === "ADBE Color Control") Object.defineProperty(groupInterface, "color", { get: function get() {
13745 return effectElements[0]();
13746 } });
13747 Object.defineProperties(groupInterface, {
13748 numProperties: { get: function get() {
13749 return data.np;
13750 } },
13751 _name: { value: data.nm },
13752 propertyGroup: { value: _propertyGroup }
13753 });
13754 groupInterface.enabled = data.en !== 0;
13755 groupInterface.active = groupInterface.enabled;
13756 return groupInterface;
13757 }
13758 function createValueInterface(element, type, elem, propertyGroup) {
13759 var expressionProperty = ExpressionPropertyInterface(element.p);
13760 function interfaceFunction() {
13761 if (type === 10) return elem.comp.compInterface(element.p.v);
13762 return expressionProperty();
13763 }
13764 if (element.p.setGroupProperty) element.p.setGroupProperty(PropertyInterface("", propertyGroup));
13765 return interfaceFunction;
13766 }
13767 return ob;
13768 }();
13769 var ShapePathInterface = function() {
13770 return function pathInterfaceFactory(shape, view, propertyGroup) {
13771 var prop = view.sh;
13772 function interfaceFunction(val) {
13773 if (val === "Shape" || val === "shape" || val === "Path" || val === "path" || val === "ADBE Vector Shape" || val === 2) return interfaceFunction.path;
13774 return null;
13775 }
13776 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13777 prop.setGroupProperty(PropertyInterface("Path", _propertyGroup));
13778 Object.defineProperties(interfaceFunction, {
13779 path: { get: function get() {
13780 if (prop.k) prop.getValue();
13781 return prop;
13782 } },
13783 shape: { get: function get() {
13784 if (prop.k) prop.getValue();
13785 return prop;
13786 } },
13787 _name: { value: shape.nm },
13788 ix: { value: shape.ix },
13789 propertyIndex: { value: shape.ix },
13790 mn: { value: shape.mn },
13791 propertyGroup: { value: propertyGroup }
13792 });
13793 return interfaceFunction;
13794 };
13795 }();
13796 var ShapeExpressionInterface = function() {
13797 function iterateElements(shapes, view, propertyGroup) {
13798 var arr = [];
13799 var i;
13800 var len = shapes ? shapes.length : 0;
13801 for (i = 0; i < len; i += 1) if (shapes[i].ty === "gr") arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));
13802 else if (shapes[i].ty === "fl") arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));
13803 else if (shapes[i].ty === "st") arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));
13804 else if (shapes[i].ty === "tm") arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));
13805 else if (shapes[i].ty === "tr") {} else if (shapes[i].ty === "el") arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));
13806 else if (shapes[i].ty === "sr") arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));
13807 else if (shapes[i].ty === "sh") arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));
13808 else if (shapes[i].ty === "rc") arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));
13809 else if (shapes[i].ty === "rd") arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));
13810 else if (shapes[i].ty === "rp") arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));
13811 else if (shapes[i].ty === "gf") arr.push(gradientFillInterfaceFactory(shapes[i], view[i], propertyGroup));
13812 else arr.push(defaultInterfaceFactory(shapes[i], view[i], propertyGroup));
13813 return arr;
13814 }
13815 function contentsInterfaceFactory(shape, view, propertyGroup) {
13816 var interfaces;
13817 var interfaceFunction = function _interfaceFunction(value) {
13818 var i = 0;
13819 var len = interfaces.length;
13820 while (i < len) {
13821 if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) return interfaces[i];
13822 i += 1;
13823 }
13824 if (typeof value === "number") return interfaces[value - 1];
13825 return null;
13826 };
13827 interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13828 interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);
13829 interfaceFunction.numProperties = interfaces.length;
13830 interfaceFunction.transform = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);
13831 interfaceFunction.propertyIndex = shape.cix;
13832 interfaceFunction._name = shape.nm;
13833 return interfaceFunction;
13834 }
13835 function groupInterfaceFactory(shape, view, propertyGroup) {
13836 var interfaceFunction = function _interfaceFunction(value) {
13837 switch (value) {
13838 case "ADBE Vectors Group":
13839 case "Contents":
13840 case 2: return interfaceFunction.content;
13841 default: return interfaceFunction.transform;
13842 }
13843 };
13844 interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13845 var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);
13846 var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);
13847 interfaceFunction.content = content;
13848 interfaceFunction.transform = transformInterface;
13849 Object.defineProperty(interfaceFunction, "_name", { get: function get() {
13850 return shape.nm;
13851 } });
13852 interfaceFunction.numProperties = shape.np;
13853 interfaceFunction.propertyIndex = shape.ix;
13854 interfaceFunction.nm = shape.nm;
13855 interfaceFunction.mn = shape.mn;
13856 return interfaceFunction;
13857 }
13858 function fillInterfaceFactory(shape, view, propertyGroup) {
13859 function interfaceFunction(val) {
13860 if (val === "Color" || val === "color") return interfaceFunction.color;
13861 if (val === "Opacity" || val === "opacity") return interfaceFunction.opacity;
13862 return null;
13863 }
13864 Object.defineProperties(interfaceFunction, {
13865 color: { get: ExpressionPropertyInterface(view.c) },
13866 opacity: { get: ExpressionPropertyInterface(view.o) },
13867 _name: { value: shape.nm },
13868 mn: { value: shape.mn }
13869 });
13870 view.c.setGroupProperty(PropertyInterface("Color", propertyGroup));
13871 view.o.setGroupProperty(PropertyInterface("Opacity", propertyGroup));
13872 return interfaceFunction;
13873 }
13874 function gradientFillInterfaceFactory(shape, view, propertyGroup) {
13875 function interfaceFunction(val) {
13876 if (val === "Start Point" || val === "start point") return interfaceFunction.startPoint;
13877 if (val === "End Point" || val === "end point") return interfaceFunction.endPoint;
13878 if (val === "Opacity" || val === "opacity") return interfaceFunction.opacity;
13879 return null;
13880 }
13881 Object.defineProperties(interfaceFunction, {
13882 startPoint: { get: ExpressionPropertyInterface(view.s) },
13883 endPoint: { get: ExpressionPropertyInterface(view.e) },
13884 opacity: { get: ExpressionPropertyInterface(view.o) },
13885 type: { get: function get() {
13886 return "a";
13887 } },
13888 _name: { value: shape.nm },
13889 mn: { value: shape.mn }
13890 });
13891 view.s.setGroupProperty(PropertyInterface("Start Point", propertyGroup));
13892 view.e.setGroupProperty(PropertyInterface("End Point", propertyGroup));
13893 view.o.setGroupProperty(PropertyInterface("Opacity", propertyGroup));
13894 return interfaceFunction;
13895 }
13896 function defaultInterfaceFactory() {
13897 function interfaceFunction() {
13898 return null;
13899 }
13900 return interfaceFunction;
13901 }
13902 function strokeInterfaceFactory(shape, view, propertyGroup) {
13903 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13904 var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);
13905 function addPropertyToDashOb(i) {
13906 Object.defineProperty(dashOb, shape.d[i].nm, { get: ExpressionPropertyInterface(view.d.dataProps[i].p) });
13907 }
13908 var i;
13909 var len = shape.d ? shape.d.length : 0;
13910 var dashOb = {};
13911 for (i = 0; i < len; i += 1) {
13912 addPropertyToDashOb(i);
13913 view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);
13914 }
13915 function interfaceFunction(val) {
13916 if (val === "Color" || val === "color") return interfaceFunction.color;
13917 if (val === "Opacity" || val === "opacity") return interfaceFunction.opacity;
13918 if (val === "Stroke Width" || val === "stroke width") return interfaceFunction.strokeWidth;
13919 return null;
13920 }
13921 Object.defineProperties(interfaceFunction, {
13922 color: { get: ExpressionPropertyInterface(view.c) },
13923 opacity: { get: ExpressionPropertyInterface(view.o) },
13924 strokeWidth: { get: ExpressionPropertyInterface(view.w) },
13925 dash: { get: function get() {
13926 return dashOb;
13927 } },
13928 _name: { value: shape.nm },
13929 mn: { value: shape.mn }
13930 });
13931 view.c.setGroupProperty(PropertyInterface("Color", _propertyGroup));
13932 view.o.setGroupProperty(PropertyInterface("Opacity", _propertyGroup));
13933 view.w.setGroupProperty(PropertyInterface("Stroke Width", _propertyGroup));
13934 return interfaceFunction;
13935 }
13936 function trimInterfaceFactory(shape, view, propertyGroup) {
13937 function interfaceFunction(val) {
13938 if (val === shape.e.ix || val === "End" || val === "end") return interfaceFunction.end;
13939 if (val === shape.s.ix) return interfaceFunction.start;
13940 if (val === shape.o.ix) return interfaceFunction.offset;
13941 return null;
13942 }
13943 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13944 interfaceFunction.propertyIndex = shape.ix;
13945 view.s.setGroupProperty(PropertyInterface("Start", _propertyGroup));
13946 view.e.setGroupProperty(PropertyInterface("End", _propertyGroup));
13947 view.o.setGroupProperty(PropertyInterface("Offset", _propertyGroup));
13948 interfaceFunction.propertyIndex = shape.ix;
13949 interfaceFunction.propertyGroup = propertyGroup;
13950 Object.defineProperties(interfaceFunction, {
13951 start: { get: ExpressionPropertyInterface(view.s) },
13952 end: { get: ExpressionPropertyInterface(view.e) },
13953 offset: { get: ExpressionPropertyInterface(view.o) },
13954 _name: { value: shape.nm }
13955 });
13956 interfaceFunction.mn = shape.mn;
13957 return interfaceFunction;
13958 }
13959 function transformInterfaceFactory(shape, view, propertyGroup) {
13960 function interfaceFunction(value) {
13961 if (shape.a.ix === value || value === "Anchor Point") return interfaceFunction.anchorPoint;
13962 if (shape.o.ix === value || value === "Opacity") return interfaceFunction.opacity;
13963 if (shape.p.ix === value || value === "Position") return interfaceFunction.position;
13964 if (shape.r.ix === value || value === "Rotation" || value === "ADBE Vector Rotation") return interfaceFunction.rotation;
13965 if (shape.s.ix === value || value === "Scale") return interfaceFunction.scale;
13966 if (shape.sk && shape.sk.ix === value || value === "Skew") return interfaceFunction.skew;
13967 if (shape.sa && shape.sa.ix === value || value === "Skew Axis") return interfaceFunction.skewAxis;
13968 return null;
13969 }
13970 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
13971 view.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity", _propertyGroup));
13972 view.transform.mProps.p.setGroupProperty(PropertyInterface("Position", _propertyGroup));
13973 view.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point", _propertyGroup));
13974 view.transform.mProps.s.setGroupProperty(PropertyInterface("Scale", _propertyGroup));
13975 view.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation", _propertyGroup));
13976 if (view.transform.mProps.sk) {
13977 view.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew", _propertyGroup));
13978 view.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle", _propertyGroup));
13979 }
13980 view.transform.op.setGroupProperty(PropertyInterface("Opacity", _propertyGroup));
13981 Object.defineProperties(interfaceFunction, {
13982 opacity: { get: ExpressionPropertyInterface(view.transform.mProps.o) },
13983 position: { get: ExpressionPropertyInterface(view.transform.mProps.p) },
13984 anchorPoint: { get: ExpressionPropertyInterface(view.transform.mProps.a) },
13985 scale: { get: ExpressionPropertyInterface(view.transform.mProps.s) },
13986 rotation: { get: ExpressionPropertyInterface(view.transform.mProps.r) },
13987 skew: { get: ExpressionPropertyInterface(view.transform.mProps.sk) },
13988 skewAxis: { get: ExpressionPropertyInterface(view.transform.mProps.sa) },
13989 _name: { value: shape.nm }
13990 });
13991 interfaceFunction.ty = "tr";
13992 interfaceFunction.mn = shape.mn;
13993 interfaceFunction.propertyGroup = propertyGroup;
13994 return interfaceFunction;
13995 }
13996 function ellipseInterfaceFactory(shape, view, propertyGroup) {
13997 function interfaceFunction(value) {
13998 if (shape.p.ix === value) return interfaceFunction.position;
13999 if (shape.s.ix === value) return interfaceFunction.size;
14000 return null;
14001 }
14002 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
14003 interfaceFunction.propertyIndex = shape.ix;
14004 var prop = view.sh.ty === "tm" ? view.sh.prop : view.sh;
14005 prop.s.setGroupProperty(PropertyInterface("Size", _propertyGroup));
14006 prop.p.setGroupProperty(PropertyInterface("Position", _propertyGroup));
14007 Object.defineProperties(interfaceFunction, {
14008 size: { get: ExpressionPropertyInterface(prop.s) },
14009 position: { get: ExpressionPropertyInterface(prop.p) },
14010 _name: { value: shape.nm }
14011 });
14012 interfaceFunction.mn = shape.mn;
14013 return interfaceFunction;
14014 }
14015 function starInterfaceFactory(shape, view, propertyGroup) {
14016 function interfaceFunction(value) {
14017 if (shape.p.ix === value) return interfaceFunction.position;
14018 if (shape.r.ix === value) return interfaceFunction.rotation;
14019 if (shape.pt.ix === value) return interfaceFunction.points;
14020 if (shape.or.ix === value || value === "ADBE Vector Star Outer Radius") return interfaceFunction.outerRadius;
14021 if (shape.os.ix === value) return interfaceFunction.outerRoundness;
14022 if (shape.ir && (shape.ir.ix === value || value === "ADBE Vector Star Inner Radius")) return interfaceFunction.innerRadius;
14023 if (shape.is && shape.is.ix === value) return interfaceFunction.innerRoundness;
14024 return null;
14025 }
14026 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
14027 var prop = view.sh.ty === "tm" ? view.sh.prop : view.sh;
14028 interfaceFunction.propertyIndex = shape.ix;
14029 prop.or.setGroupProperty(PropertyInterface("Outer Radius", _propertyGroup));
14030 prop.os.setGroupProperty(PropertyInterface("Outer Roundness", _propertyGroup));
14031 prop.pt.setGroupProperty(PropertyInterface("Points", _propertyGroup));
14032 prop.p.setGroupProperty(PropertyInterface("Position", _propertyGroup));
14033 prop.r.setGroupProperty(PropertyInterface("Rotation", _propertyGroup));
14034 if (shape.ir) {
14035 prop.ir.setGroupProperty(PropertyInterface("Inner Radius", _propertyGroup));
14036 prop.is.setGroupProperty(PropertyInterface("Inner Roundness", _propertyGroup));
14037 }
14038 Object.defineProperties(interfaceFunction, {
14039 position: { get: ExpressionPropertyInterface(prop.p) },
14040 rotation: { get: ExpressionPropertyInterface(prop.r) },
14041 points: { get: ExpressionPropertyInterface(prop.pt) },
14042 outerRadius: { get: ExpressionPropertyInterface(prop.or) },
14043 outerRoundness: { get: ExpressionPropertyInterface(prop.os) },
14044 innerRadius: { get: ExpressionPropertyInterface(prop.ir) },
14045 innerRoundness: { get: ExpressionPropertyInterface(prop.is) },
14046 _name: { value: shape.nm }
14047 });
14048 interfaceFunction.mn = shape.mn;
14049 return interfaceFunction;
14050 }
14051 function rectInterfaceFactory(shape, view, propertyGroup) {
14052 function interfaceFunction(value) {
14053 if (shape.p.ix === value) return interfaceFunction.position;
14054 if (shape.r.ix === value) return interfaceFunction.roundness;
14055 if (shape.s.ix === value || value === "Size" || value === "ADBE Vector Rect Size") return interfaceFunction.size;
14056 return null;
14057 }
14058 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
14059 var prop = view.sh.ty === "tm" ? view.sh.prop : view.sh;
14060 interfaceFunction.propertyIndex = shape.ix;
14061 prop.p.setGroupProperty(PropertyInterface("Position", _propertyGroup));
14062 prop.s.setGroupProperty(PropertyInterface("Size", _propertyGroup));
14063 prop.r.setGroupProperty(PropertyInterface("Rotation", _propertyGroup));
14064 Object.defineProperties(interfaceFunction, {
14065 position: { get: ExpressionPropertyInterface(prop.p) },
14066 roundness: { get: ExpressionPropertyInterface(prop.r) },
14067 size: { get: ExpressionPropertyInterface(prop.s) },
14068 _name: { value: shape.nm }
14069 });
14070 interfaceFunction.mn = shape.mn;
14071 return interfaceFunction;
14072 }
14073 function roundedInterfaceFactory(shape, view, propertyGroup) {
14074 function interfaceFunction(value) {
14075 if (shape.r.ix === value || value === "Round Corners 1") return interfaceFunction.radius;
14076 return null;
14077 }
14078 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
14079 var prop = view;
14080 interfaceFunction.propertyIndex = shape.ix;
14081 prop.rd.setGroupProperty(PropertyInterface("Radius", _propertyGroup));
14082 Object.defineProperties(interfaceFunction, {
14083 radius: { get: ExpressionPropertyInterface(prop.rd) },
14084 _name: { value: shape.nm }
14085 });
14086 interfaceFunction.mn = shape.mn;
14087 return interfaceFunction;
14088 }
14089 function repeaterInterfaceFactory(shape, view, propertyGroup) {
14090 function interfaceFunction(value) {
14091 if (shape.c.ix === value || value === "Copies") return interfaceFunction.copies;
14092 if (shape.o.ix === value || value === "Offset") return interfaceFunction.offset;
14093 return null;
14094 }
14095 var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);
14096 var prop = view;
14097 interfaceFunction.propertyIndex = shape.ix;
14098 prop.c.setGroupProperty(PropertyInterface("Copies", _propertyGroup));
14099 prop.o.setGroupProperty(PropertyInterface("Offset", _propertyGroup));
14100 Object.defineProperties(interfaceFunction, {
14101 copies: { get: ExpressionPropertyInterface(prop.c) },
14102 offset: { get: ExpressionPropertyInterface(prop.o) },
14103 _name: { value: shape.nm }
14104 });
14105 interfaceFunction.mn = shape.mn;
14106 return interfaceFunction;
14107 }
14108 return function(shapes, view, propertyGroup) {
14109 var interfaces;
14110 function _interfaceFunction(value) {
14111 if (typeof value === "number") {
14112 value = value === void 0 ? 1 : value;
14113 if (value === 0) return propertyGroup;
14114 return interfaces[value - 1];
14115 }
14116 var i = 0;
14117 var len = interfaces.length;
14118 while (i < len) {
14119 if (interfaces[i]._name === value) return interfaces[i];
14120 i += 1;
14121 }
14122 return null;
14123 }
14124 function parentGroupWrapper() {
14125 return propertyGroup;
14126 }
14127 _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);
14128 interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);
14129 _interfaceFunction.numProperties = interfaces.length;
14130 _interfaceFunction._name = "Contents";
14131 return _interfaceFunction;
14132 };
14133 }();
14134 var TextExpressionInterface = function() {
14135 return function(elem) {
14136 var _sourceText;
14137 function _thisLayerFunction(name) {
14138 switch (name) {
14139 case "ADBE Text Document": return _thisLayerFunction.sourceText;
14140 default: return null;
14141 }
14142 }
14143 Object.defineProperty(_thisLayerFunction, "sourceText", { get: function get() {
14144 elem.textProperty.getValue();
14145 var stringValue = elem.textProperty.currentData.t;
14146 if (!_sourceText || stringValue !== _sourceText.value) {
14147 _sourceText = new String(stringValue);
14148 _sourceText.value = stringValue || new String(stringValue);
14149 Object.defineProperty(_sourceText, "style", { get: function get() {
14150 return { fillColor: elem.textProperty.currentData.fc };
14151 } });
14152 }
14153 return _sourceText;
14154 } });
14155 return _thisLayerFunction;
14156 };
14157 }();
14158 function _typeof(o) {
14159 "@babel/helpers - typeof";
14160 return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
14161 return typeof o;
14162 } : function(o) {
14163 return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
14164 }, _typeof(o);
14165 }
14166 var FootageInterface = function() {
14167 var outlineInterfaceFactory = function outlineInterfaceFactory(elem) {
14168 var currentPropertyName = "";
14169 var currentProperty = elem.getFootageData();
14170 function init() {
14171 currentPropertyName = "";
14172 currentProperty = elem.getFootageData();
14173 return searchProperty;
14174 }
14175 function searchProperty(value) {
14176 if (currentProperty[value]) {
14177 currentPropertyName = value;
14178 currentProperty = currentProperty[value];
14179 if (_typeof(currentProperty) === "object") return searchProperty;
14180 return currentProperty;
14181 }
14182 var propertyNameIndex = value.indexOf(currentPropertyName);
14183 if (propertyNameIndex !== -1) {
14184 var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);
14185 currentProperty = currentProperty[index];
14186 if (_typeof(currentProperty) === "object") return searchProperty;
14187 return currentProperty;
14188 }
14189 return "";
14190 }
14191 return init;
14192 };
14193 var dataInterfaceFactory = function dataInterfaceFactory(elem) {
14194 function interfaceFunction(value) {
14195 if (value === "Outline") return interfaceFunction.outlineInterface();
14196 return null;
14197 }
14198 interfaceFunction._name = "Outline";
14199 interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);
14200 return interfaceFunction;
14201 };
14202 return function(elem) {
14203 function _interfaceFunction(value) {
14204 if (value === "Data") return _interfaceFunction.dataInterface;
14205 return null;
14206 }
14207 _interfaceFunction._name = "Data";
14208 _interfaceFunction.dataInterface = dataInterfaceFactory(elem);
14209 return _interfaceFunction;
14210 };
14211 }();
14212 var interfaces = {
14213 layer: LayerExpressionInterface,
14214 effects: EffectsExpressionInterface,
14215 comp: CompExpressionInterface,
14216 shape: ShapeExpressionInterface,
14217 text: TextExpressionInterface,
14218 footage: FootageInterface
14219 };
14220 function getInterface(type) {
14221 return interfaces[type] || null;
14222 }
14223 var expressionHelpers = function() {
14224 function searchExpressions(elem, data, prop) {
14225 if (data.x) {
14226 prop.k = true;
14227 prop.x = true;
14228 prop.initiateExpression = ExpressionManager.initiateExpression;
14229 prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));
14230 }
14231 }
14232 function getValueAtTime(frameNum) {
14233 frameNum *= this.elem.globalData.frameRate;
14234 frameNum -= this.offsetTime;
14235 if (frameNum !== this._cachingAtTime.lastFrame) {
14236 this._cachingAtTime.lastIndex = this._cachingAtTime.lastFrame < frameNum ? this._cachingAtTime.lastIndex : 0;
14237 this._cachingAtTime.value = this.interpolateValue(frameNum, this._cachingAtTime);
14238 this._cachingAtTime.lastFrame = frameNum;
14239 }
14240 return this._cachingAtTime.value;
14241 }
14242 function getSpeedAtTime(frameNum) {
14243 var delta = -.01;
14244 var v1 = this.getValueAtTime(frameNum);
14245 var v2 = this.getValueAtTime(frameNum + delta);
14246 var speed = 0;
14247 if (v1.length) {
14248 var i;
14249 for (i = 0; i < v1.length; i += 1) speed += Math.pow(v2[i] - v1[i], 2);
14250 speed = Math.sqrt(speed) * 100;
14251 } else speed = 0;
14252 return speed;
14253 }
14254 function getVelocityAtTime(frameNum) {
14255 if (this.vel !== void 0) return this.vel;
14256 var delta = -.001;
14257 var v1 = this.getValueAtTime(frameNum);
14258 var v2 = this.getValueAtTime(frameNum + delta);
14259 var velocity;
14260 if (v1.length) {
14261 velocity = createTypedArray("float32", v1.length);
14262 var i;
14263 for (i = 0; i < v1.length; i += 1) velocity[i] = (v2[i] - v1[i]) / delta;
14264 } else velocity = (v2 - v1) / delta;
14265 return velocity;
14266 }
14267 function getStaticValueAtTime() {
14268 return this.pv;
14269 }
14270 function setGroupProperty(propertyGroup) {
14271 this.propertyGroup = propertyGroup;
14272 }
14273 return {
14274 searchExpressions,
14275 getSpeedAtTime,
14276 getVelocityAtTime,
14277 getValueAtTime,
14278 getStaticValueAtTime,
14279 setGroupProperty
14280 };
14281 }();
14282 function addPropertyDecorator() {
14283 function loopOut(type, duration, durationFlag) {
14284 if (!this.k || !this.keyframes) return this.pv;
14285 type = type ? type.toLowerCase() : "";
14286 var currentFrame = this.comp.renderedFrame;
14287 var keyframes = this.keyframes;
14288 var lastKeyFrame = keyframes[keyframes.length - 1].t;
14289 if (currentFrame <= lastKeyFrame) return this.pv;
14290 var cycleDuration;
14291 var firstKeyFrame;
14292 if (!durationFlag) {
14293 if (!duration || duration > keyframes.length - 1) duration = keyframes.length - 1;
14294 firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;
14295 cycleDuration = lastKeyFrame - firstKeyFrame;
14296 } else {
14297 if (!duration) cycleDuration = Math.max(0, lastKeyFrame - this.elem.data.ip);
14298 else cycleDuration = Math.abs(lastKeyFrame - this.elem.comp.globalData.frameRate * duration);
14299 firstKeyFrame = lastKeyFrame - cycleDuration;
14300 }
14301 var i;
14302 var len;
14303 var ret;
14304 if (type === "pingpong") {
14305 if (Math.floor((currentFrame - firstKeyFrame) / cycleDuration) % 2 !== 0) return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);
14306 } else if (type === "offset") {
14307 var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
14308 var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
14309 var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);
14310 var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);
14311 if (this.pv.length) {
14312 ret = new Array(initV.length);
14313 len = ret.length;
14314 for (i = 0; i < len; i += 1) ret[i] = (endV[i] - initV[i]) * repeats + current[i];
14315 return ret;
14316 }
14317 return (endV - initV) * repeats + current;
14318 } else if (type === "continue") {
14319 var lastValue = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
14320 var nextLastValue = this.getValueAtTime((lastKeyFrame - .001) / this.comp.globalData.frameRate, 0);
14321 if (this.pv.length) {
14322 ret = new Array(lastValue.length);
14323 len = ret.length;
14324 for (i = 0; i < len; i += 1) ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / this.comp.globalData.frameRate) / 5e-4;
14325 return ret;
14326 }
14327 return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / .001);
14328 }
14329 return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);
14330 }
14331 function loopIn(type, duration, durationFlag) {
14332 if (!this.k) return this.pv;
14333 type = type ? type.toLowerCase() : "";
14334 var currentFrame = this.comp.renderedFrame;
14335 var keyframes = this.keyframes;
14336 var firstKeyFrame = keyframes[0].t;
14337 if (currentFrame >= firstKeyFrame) return this.pv;
14338 var cycleDuration;
14339 var lastKeyFrame;
14340 if (!durationFlag) {
14341 if (!duration || duration > keyframes.length - 1) duration = keyframes.length - 1;
14342 lastKeyFrame = keyframes[duration].t;
14343 cycleDuration = lastKeyFrame - firstKeyFrame;
14344 } else {
14345 if (!duration) cycleDuration = Math.max(0, this.elem.data.op - firstKeyFrame);
14346 else cycleDuration = Math.abs(this.elem.comp.globalData.frameRate * duration);
14347 lastKeyFrame = firstKeyFrame + cycleDuration;
14348 }
14349 var i;
14350 var len;
14351 var ret;
14352 if (type === "pingpong") {
14353 if (Math.floor((firstKeyFrame - currentFrame) / cycleDuration) % 2 === 0) return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);
14354 } else if (type === "offset") {
14355 var initV = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
14356 var endV = this.getValueAtTime(lastKeyFrame / this.comp.globalData.frameRate, 0);
14357 var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / this.comp.globalData.frameRate, 0);
14358 var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;
14359 if (this.pv.length) {
14360 ret = new Array(initV.length);
14361 len = ret.length;
14362 for (i = 0; i < len; i += 1) ret[i] = current[i] - (endV[i] - initV[i]) * repeats;
14363 return ret;
14364 }
14365 return current - (endV - initV) * repeats;
14366 } else if (type === "continue") {
14367 var firstValue = this.getValueAtTime(firstKeyFrame / this.comp.globalData.frameRate, 0);
14368 var nextFirstValue = this.getValueAtTime((firstKeyFrame + .001) / this.comp.globalData.frameRate, 0);
14369 if (this.pv.length) {
14370 ret = new Array(firstValue.length);
14371 len = ret.length;
14372 for (i = 0; i < len; i += 1) ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / .001;
14373 return ret;
14374 }
14375 return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / .001;
14376 }
14377 return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / this.comp.globalData.frameRate, 0);
14378 }
14379 function smooth(width, samples) {
14380 if (!this.k) return this.pv;
14381 width = (width || .4) * .5;
14382 samples = Math.floor(samples || 5);
14383 if (samples <= 1) return this.pv;
14384 var currentTime = this.comp.renderedFrame / this.comp.globalData.frameRate;
14385 var initFrame = currentTime - width;
14386 var endFrame = currentTime + width;
14387 var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;
14388 var i = 0;
14389 var j = 0;
14390 var value;
14391 if (this.pv.length) value = createTypedArray("float32", this.pv.length);
14392 else value = 0;
14393 var sampleValue;
14394 while (i < samples) {
14395 sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);
14396 if (this.pv.length) for (j = 0; j < this.pv.length; j += 1) value[j] += sampleValue[j];
14397 else value += sampleValue;
14398 i += 1;
14399 }
14400 if (this.pv.length) for (j = 0; j < this.pv.length; j += 1) value[j] /= samples;
14401 else value /= samples;
14402 return value;
14403 }
14404 function getTransformValueAtTime(time) {
14405 if (!this._transformCachingAtTime) this._transformCachingAtTime = { v: new Matrix() };
14406 var matrix = this._transformCachingAtTime.v;
14407 matrix.cloneFromProps(this.pre.props);
14408 if (this.appliedTransformations < 1) {
14409 var anchor = this.a.getValueAtTime(time);
14410 matrix.translate(-anchor[0] * this.a.mult, -anchor[1] * this.a.mult, anchor[2] * this.a.mult);
14411 }
14412 if (this.appliedTransformations < 2) {
14413 var scale = this.s.getValueAtTime(time);
14414 matrix.scale(scale[0] * this.s.mult, scale[1] * this.s.mult, scale[2] * this.s.mult);
14415 }
14416 if (this.sk && this.appliedTransformations < 3) {
14417 var skew = this.sk.getValueAtTime(time);
14418 var skewAxis = this.sa.getValueAtTime(time);
14419 matrix.skewFromAxis(-skew * this.sk.mult, skewAxis * this.sa.mult);
14420 }
14421 if (this.r && this.appliedTransformations < 4) {
14422 var rotation = this.r.getValueAtTime(time);
14423 matrix.rotate(-rotation * this.r.mult);
14424 } else if (!this.r && this.appliedTransformations < 4) {
14425 var rotationZ = this.rz.getValueAtTime(time);
14426 var rotationY = this.ry.getValueAtTime(time);
14427 var rotationX = this.rx.getValueAtTime(time);
14428 var orientation = this.or.getValueAtTime(time);
14429 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);
14430 }
14431 if (this.data.p && this.data.p.s) {
14432 var positionX = this.px.getValueAtTime(time);
14433 var positionY = this.py.getValueAtTime(time);
14434 if (this.data.p.z) {
14435 var positionZ = this.pz.getValueAtTime(time);
14436 matrix.translate(positionX * this.px.mult, positionY * this.py.mult, -positionZ * this.pz.mult);
14437 } else matrix.translate(positionX * this.px.mult, positionY * this.py.mult, 0);
14438 } else {
14439 var position = this.p.getValueAtTime(time);
14440 matrix.translate(position[0] * this.p.mult, position[1] * this.p.mult, -position[2] * this.p.mult);
14441 }
14442 return matrix;
14443 }
14444 function getTransformStaticValueAtTime() {
14445 return this.v.clone(new Matrix());
14446 }
14447 var getTransformProperty = TransformPropertyFactory.getTransformProperty;
14448 TransformPropertyFactory.getTransformProperty = function(elem, data, container) {
14449 var prop = getTransformProperty(elem, data, container);
14450 if (prop.dynamicProperties.length) prop.getValueAtTime = getTransformValueAtTime.bind(prop);
14451 else prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);
14452 prop.setGroupProperty = expressionHelpers.setGroupProperty;
14453 return prop;
14454 };
14455 var propertyGetProp = PropertyFactory.getProp;
14456 PropertyFactory.getProp = function(elem, data, type, mult, container) {
14457 var prop = propertyGetProp(elem, data, type, mult, container);
14458 if (prop.kf) prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);
14459 else prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);
14460 prop.setGroupProperty = expressionHelpers.setGroupProperty;
14461 prop.loopOut = loopOut;
14462 prop.loopIn = loopIn;
14463 prop.smooth = smooth;
14464 prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);
14465 prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);
14466 prop.numKeys = data.a === 1 ? data.k.length : 0;
14467 prop.propertyIndex = data.ix;
14468 var value = 0;
14469 if (type !== 0) value = createTypedArray("float32", data.a === 1 ? data.k[0].s.length : data.k.length);
14470 prop._cachingAtTime = {
14471 lastFrame: initialDefaultFrame,
14472 lastIndex: 0,
14473 value
14474 };
14475 expressionHelpers.searchExpressions(elem, data, prop);
14476 if (prop.k) container.addDynamicProperty(prop);
14477 return prop;
14478 };
14479 function getShapeValueAtTime(frameNum) {
14480 if (!this._cachingAtTime) this._cachingAtTime = {
14481 shapeValue: shapePool.clone(this.pv),
14482 lastIndex: 0,
14483 lastTime: initialDefaultFrame
14484 };
14485 frameNum *= this.elem.globalData.frameRate;
14486 frameNum -= this.offsetTime;
14487 if (frameNum !== this._cachingAtTime.lastTime) {
14488 this._cachingAtTime.lastIndex = this._cachingAtTime.lastTime < frameNum ? this._caching.lastIndex : 0;
14489 this._cachingAtTime.lastTime = frameNum;
14490 this.interpolateShape(frameNum, this._cachingAtTime.shapeValue, this._cachingAtTime);
14491 }
14492 return this._cachingAtTime.shapeValue;
14493 }
14494 var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();
14495 var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();
14496 function ShapeExpressions() {}
14497 ShapeExpressions.prototype = {
14498 vertices: function vertices(prop, time) {
14499 if (this.k) this.getValue();
14500 var shapePath = this.v;
14501 if (time !== void 0) shapePath = this.getValueAtTime(time, 0);
14502 var i;
14503 var len = shapePath._length;
14504 var vertices = shapePath[prop];
14505 var points = shapePath.v;
14506 var arr = createSizedArray(len);
14507 for (i = 0; i < len; i += 1) if (prop === "i" || prop === "o") arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];
14508 else arr[i] = [vertices[i][0], vertices[i][1]];
14509 return arr;
14510 },
14511 points: function points(time) {
14512 return this.vertices("v", time);
14513 },
14514 inTangents: function inTangents(time) {
14515 return this.vertices("i", time);
14516 },
14517 outTangents: function outTangents(time) {
14518 return this.vertices("o", time);
14519 },
14520 isClosed: function isClosed() {
14521 return this.v.c;
14522 },
14523 pointOnPath: function pointOnPath(perc, time) {
14524 var shapePath = this.v;
14525 if (time !== void 0) shapePath = this.getValueAtTime(time, 0);
14526 if (!this._segmentsLength) this._segmentsLength = bez.getSegmentsLength(shapePath);
14527 var segmentsLength = this._segmentsLength;
14528 var lengths = segmentsLength.lengths;
14529 var lengthPos = segmentsLength.totalLength * perc;
14530 var i = 0;
14531 var len = lengths.length;
14532 var accumulatedLength = 0;
14533 var pt;
14534 while (i < len) {
14535 if (accumulatedLength + lengths[i].addedLength > lengthPos) {
14536 var initIndex = i;
14537 var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;
14538 var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;
14539 pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);
14540 break;
14541 } else accumulatedLength += lengths[i].addedLength;
14542 i += 1;
14543 }
14544 if (!pt) pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];
14545 return pt;
14546 },
14547 vectorOnPath: function vectorOnPath(perc, time, vectorType) {
14548 if (perc == 1) perc = this.v.c;
14549 else if (perc == 0) perc = .999;
14550 var pt1 = this.pointOnPath(perc, time);
14551 var pt2 = this.pointOnPath(perc + .001, time);
14552 var xLength = pt2[0] - pt1[0];
14553 var yLength = pt2[1] - pt1[1];
14554 var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));
14555 if (magnitude === 0) return [0, 0];
14556 return vectorType === "tangent" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];
14557 },
14558 tangentOnPath: function tangentOnPath(perc, time) {
14559 return this.vectorOnPath(perc, time, "tangent");
14560 },
14561 normalOnPath: function normalOnPath(perc, time) {
14562 return this.vectorOnPath(perc, time, "normal");
14563 },
14564 setGroupProperty: expressionHelpers.setGroupProperty,
14565 getValueAtTime: expressionHelpers.getStaticValueAtTime
14566 };
14567 extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);
14568 extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);
14569 KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;
14570 KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;
14571 var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;
14572 ShapePropertyFactory.getShapeProp = function(elem, data, type, arr, trims) {
14573 var prop = propertyGetShapeProp(elem, data, type, arr, trims);
14574 prop.propertyIndex = data.ix;
14575 prop.lock = false;
14576 if (type === 3) expressionHelpers.searchExpressions(elem, data.pt, prop);
14577 else if (type === 4) expressionHelpers.searchExpressions(elem, data.ks, prop);
14578 if (prop.k) elem.addDynamicProperty(prop);
14579 return prop;
14580 };
14581 }
14582 function initialize$1() {
14583 addPropertyDecorator();
14584 }
14585 function addDecorator() {
14586 function searchExpressions() {
14587 if (this.data.d.x) {
14588 this.calculateExpression = ExpressionManager.initiateExpression.bind(this)(this.elem, this.data.d, this);
14589 this.addEffect(this.getExpressionValue.bind(this));
14590 return true;
14591 }
14592 return null;
14593 }
14594 TextProperty.prototype.getExpressionValue = function(currentValue, text) {
14595 var newValue = this.calculateExpression(text);
14596 if (currentValue.t !== newValue) {
14597 var newData = {};
14598 this.copyData(newData, currentValue);
14599 newData.t = newValue.toString();
14600 newData.__complete = false;
14601 return newData;
14602 }
14603 return currentValue;
14604 };
14605 TextProperty.prototype.searchProperty = function() {
14606 var isKeyframed = this.searchKeyframes();
14607 var hasExpressions = this.searchExpressions();
14608 this.kf = isKeyframed || hasExpressions;
14609 return this.kf;
14610 };
14611 TextProperty.prototype.searchExpressions = searchExpressions;
14612 }
14613 function initialize() {
14614 addDecorator();
14615 }
14616 function SVGComposableEffect() {}
14617 SVGComposableEffect.prototype = { createMergeNode: function createMergeNode(resultId, ins) {
14618 var feMerge = createNS("feMerge");
14619 feMerge.setAttribute("result", resultId);
14620 var feMergeNode;
14621 var i;
14622 for (i = 0; i < ins.length; i += 1) {
14623 feMergeNode = createNS("feMergeNode");
14624 feMergeNode.setAttribute("in", ins[i]);
14625 feMerge.appendChild(feMergeNode);
14626 feMerge.appendChild(feMergeNode);
14627 }
14628 return feMerge;
14629 } };
14630 var linearFilterValue = "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";
14631 function SVGTintFilter(filter, filterManager, elem, id, source) {
14632 this.filterManager = filterManager;
14633 var feColorMatrix = createNS("feColorMatrix");
14634 feColorMatrix.setAttribute("type", "matrix");
14635 feColorMatrix.setAttribute("color-interpolation-filters", "linearRGB");
14636 feColorMatrix.setAttribute("values", linearFilterValue + " 1 0");
14637 this.linearFilter = feColorMatrix;
14638 feColorMatrix.setAttribute("result", id + "_tint_1");
14639 filter.appendChild(feColorMatrix);
14640 feColorMatrix = createNS("feColorMatrix");
14641 feColorMatrix.setAttribute("type", "matrix");
14642 feColorMatrix.setAttribute("color-interpolation-filters", "sRGB");
14643 feColorMatrix.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0");
14644 feColorMatrix.setAttribute("result", id + "_tint_2");
14645 filter.appendChild(feColorMatrix);
14646 this.matrixFilter = feColorMatrix;
14647 var feMerge = this.createMergeNode(id, [
14648 source,
14649 id + "_tint_1",
14650 id + "_tint_2"
14651 ]);
14652 filter.appendChild(feMerge);
14653 }
14654 extendPrototype([SVGComposableEffect], SVGTintFilter);
14655 SVGTintFilter.prototype.renderFrame = function(forceRender) {
14656 if (forceRender || this.filterManager._mdf) {
14657 var colorBlack = this.filterManager.effectElements[0].p.v;
14658 var colorWhite = this.filterManager.effectElements[1].p.v;
14659 var opacity = this.filterManager.effectElements[2].p.v / 100;
14660 this.linearFilter.setAttribute("values", linearFilterValue + " " + opacity + " 0");
14661 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 1 0");
14662 }
14663 };
14664 function SVGFillFilter(filter, filterManager, elem, id) {
14665 this.filterManager = filterManager;
14666 var feColorMatrix = createNS("feColorMatrix");
14667 feColorMatrix.setAttribute("type", "matrix");
14668 feColorMatrix.setAttribute("color-interpolation-filters", "sRGB");
14669 feColorMatrix.setAttribute("values", "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0");
14670 feColorMatrix.setAttribute("result", id);
14671 filter.appendChild(feColorMatrix);
14672 this.matrixFilter = feColorMatrix;
14673 }
14674 SVGFillFilter.prototype.renderFrame = function(forceRender) {
14675 if (forceRender || this.filterManager._mdf) {
14676 var color = this.filterManager.effectElements[2].p.v;
14677 var opacity = this.filterManager.effectElements[6].p.v;
14678 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");
14679 }
14680 };
14681 function SVGStrokeEffect(fil, filterManager, elem) {
14682 this.initialized = false;
14683 this.filterManager = filterManager;
14684 this.elem = elem;
14685 this.paths = [];
14686 }
14687 SVGStrokeEffect.prototype.initialize = function() {
14688 var elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;
14689 var path;
14690 var groupPath;
14691 var i;
14692 var len;
14693 if (this.filterManager.effectElements[1].p.v === 1) {
14694 len = this.elem.maskManager.masksProperties.length;
14695 i = 0;
14696 } else {
14697 i = this.filterManager.effectElements[0].p.v - 1;
14698 len = i + 1;
14699 }
14700 groupPath = createNS("g");
14701 groupPath.setAttribute("fill", "none");
14702 groupPath.setAttribute("stroke-linecap", "round");
14703 groupPath.setAttribute("stroke-dashoffset", 1);
14704 for (; i < len; i += 1) {
14705 path = createNS("path");
14706 groupPath.appendChild(path);
14707 this.paths.push({
14708 p: path,
14709 m: i
14710 });
14711 }
14712 if (this.filterManager.effectElements[10].p.v === 3) {
14713 var mask = createNS("mask");
14714 var id = createElementID();
14715 mask.setAttribute("id", id);
14716 mask.setAttribute("mask-type", "alpha");
14717 mask.appendChild(groupPath);
14718 this.elem.globalData.defs.appendChild(mask);
14719 var g = createNS("g");
14720 g.setAttribute("mask", "url(" + getLocationHref() + "#" + id + ")");
14721 while (elemChildren[0]) g.appendChild(elemChildren[0]);
14722 this.elem.layerElement.appendChild(g);
14723 this.masker = mask;
14724 groupPath.setAttribute("stroke", "#fff");
14725 } else if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {
14726 if (this.filterManager.effectElements[10].p.v === 2) {
14727 elemChildren = this.elem.layerElement.children || this.elem.layerElement.childNodes;
14728 while (elemChildren.length) this.elem.layerElement.removeChild(elemChildren[0]);
14729 }
14730 this.elem.layerElement.appendChild(groupPath);
14731 this.elem.layerElement.removeAttribute("mask");
14732 groupPath.setAttribute("stroke", "#fff");
14733 }
14734 this.initialized = true;
14735 this.pathMasker = groupPath;
14736 };
14737 SVGStrokeEffect.prototype.renderFrame = function(forceRender) {
14738 if (!this.initialized) this.initialize();
14739 var i;
14740 var len = this.paths.length;
14741 var mask;
14742 var path;
14743 for (i = 0; i < len; i += 1) if (this.paths[i].m !== -1) {
14744 mask = this.elem.maskManager.viewData[this.paths[i].m];
14745 path = this.paths[i].p;
14746 if (forceRender || this.filterManager._mdf || mask.prop._mdf) path.setAttribute("d", mask.lastPath);
14747 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) {
14748 var dasharrayValue;
14749 if (this.filterManager.effectElements[7].p.v !== 0 || this.filterManager.effectElements[8].p.v !== 100) {
14750 var s = Math.min(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * .01;
14751 var e = Math.max(this.filterManager.effectElements[7].p.v, this.filterManager.effectElements[8].p.v) * .01;
14752 var l = path.getTotalLength();
14753 dasharrayValue = "0 0 0 " + l * s + " ";
14754 var lineLength = l * (e - s);
14755 var segment = 1 + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * .01;
14756 var units = Math.floor(lineLength / segment);
14757 var j;
14758 for (j = 0; j < units; j += 1) dasharrayValue += "1 " + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * .01 + " ";
14759 dasharrayValue += "0 " + l * 10 + " 0 0";
14760 } else dasharrayValue = "1 " + this.filterManager.effectElements[4].p.v * 2 * this.filterManager.effectElements[9].p.v * .01;
14761 path.setAttribute("stroke-dasharray", dasharrayValue);
14762 }
14763 }
14764 if (forceRender || this.filterManager.effectElements[4].p._mdf) this.pathMasker.setAttribute("stroke-width", this.filterManager.effectElements[4].p.v * 2);
14765 if (forceRender || this.filterManager.effectElements[6].p._mdf) this.pathMasker.setAttribute("opacity", this.filterManager.effectElements[6].p.v);
14766 if (this.filterManager.effectElements[10].p.v === 1 || this.filterManager.effectElements[10].p.v === 2) {
14767 if (forceRender || this.filterManager.effectElements[3].p._mdf) {
14768 var color = this.filterManager.effectElements[3].p.v;
14769 this.pathMasker.setAttribute("stroke", "rgb(" + bmFloor(color[0] * 255) + "," + bmFloor(color[1] * 255) + "," + bmFloor(color[2] * 255) + ")");
14770 }
14771 }
14772 };
14773 function SVGTritoneFilter(filter, filterManager, elem, id) {
14774 this.filterManager = filterManager;
14775 var feColorMatrix = createNS("feColorMatrix");
14776 feColorMatrix.setAttribute("type", "matrix");
14777 feColorMatrix.setAttribute("color-interpolation-filters", "linearRGB");
14778 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");
14779 filter.appendChild(feColorMatrix);
14780 var feComponentTransfer = createNS("feComponentTransfer");
14781 feComponentTransfer.setAttribute("color-interpolation-filters", "sRGB");
14782 feComponentTransfer.setAttribute("result", id);
14783 this.matrixFilter = feComponentTransfer;
14784 var feFuncR = createNS("feFuncR");
14785 feFuncR.setAttribute("type", "table");
14786 feComponentTransfer.appendChild(feFuncR);
14787 this.feFuncR = feFuncR;
14788 var feFuncG = createNS("feFuncG");
14789 feFuncG.setAttribute("type", "table");
14790 feComponentTransfer.appendChild(feFuncG);
14791 this.feFuncG = feFuncG;
14792 var feFuncB = createNS("feFuncB");
14793 feFuncB.setAttribute("type", "table");
14794 feComponentTransfer.appendChild(feFuncB);
14795 this.feFuncB = feFuncB;
14796 filter.appendChild(feComponentTransfer);
14797 }
14798 SVGTritoneFilter.prototype.renderFrame = function(forceRender) {
14799 if (forceRender || this.filterManager._mdf) {
14800 var color1 = this.filterManager.effectElements[0].p.v;
14801 var color2 = this.filterManager.effectElements[1].p.v;
14802 var color3 = this.filterManager.effectElements[2].p.v;
14803 var tableR = color3[0] + " " + color2[0] + " " + color1[0];
14804 var tableG = color3[1] + " " + color2[1] + " " + color1[1];
14805 var tableB = color3[2] + " " + color2[2] + " " + color1[2];
14806 this.feFuncR.setAttribute("tableValues", tableR);
14807 this.feFuncG.setAttribute("tableValues", tableG);
14808 this.feFuncB.setAttribute("tableValues", tableB);
14809 }
14810 };
14811 function SVGProLevelsFilter(filter, filterManager, elem, id) {
14812 this.filterManager = filterManager;
14813 var effectElements = this.filterManager.effectElements;
14814 var feComponentTransfer = createNS("feComponentTransfer");
14815 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) this.feFuncR = this.createFeFunc("feFuncR", feComponentTransfer);
14816 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) this.feFuncG = this.createFeFunc("feFuncG", feComponentTransfer);
14817 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) this.feFuncB = this.createFeFunc("feFuncB", feComponentTransfer);
14818 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) this.feFuncA = this.createFeFunc("feFuncA", feComponentTransfer);
14819 if (this.feFuncR || this.feFuncG || this.feFuncB || this.feFuncA) {
14820 feComponentTransfer.setAttribute("color-interpolation-filters", "sRGB");
14821 filter.appendChild(feComponentTransfer);
14822 }
14823 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) {
14824 feComponentTransfer = createNS("feComponentTransfer");
14825 feComponentTransfer.setAttribute("color-interpolation-filters", "sRGB");
14826 feComponentTransfer.setAttribute("result", id);
14827 filter.appendChild(feComponentTransfer);
14828 this.feFuncRComposed = this.createFeFunc("feFuncR", feComponentTransfer);
14829 this.feFuncGComposed = this.createFeFunc("feFuncG", feComponentTransfer);
14830 this.feFuncBComposed = this.createFeFunc("feFuncB", feComponentTransfer);
14831 }
14832 }
14833 SVGProLevelsFilter.prototype.createFeFunc = function(type, feComponentTransfer) {
14834 var feFunc = createNS(type);
14835 feFunc.setAttribute("type", "table");
14836 feComponentTransfer.appendChild(feFunc);
14837 return feFunc;
14838 };
14839 SVGProLevelsFilter.prototype.getTableValue = function(inputBlack, inputWhite, gamma, outputBlack, outputWhite) {
14840 var cnt = 0;
14841 var segments = 256;
14842 var perc;
14843 var min = Math.min(inputBlack, inputWhite);
14844 var max = Math.max(inputBlack, inputWhite);
14845 var table = Array.call(null, { length: segments });
14846 var colorValue;
14847 var pos = 0;
14848 var outputDelta = outputWhite - outputBlack;
14849 var inputDelta = inputWhite - inputBlack;
14850 while (cnt <= 256) {
14851 perc = cnt / 256;
14852 if (perc <= min) colorValue = inputDelta < 0 ? outputWhite : outputBlack;
14853 else if (perc >= max) colorValue = inputDelta < 0 ? outputBlack : outputWhite;
14854 else colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);
14855 table[pos] = colorValue;
14856 pos += 1;
14857 cnt += 256 / (segments - 1);
14858 }
14859 return table.join(" ");
14860 };
14861 SVGProLevelsFilter.prototype.renderFrame = function(forceRender) {
14862 if (forceRender || this.filterManager._mdf) {
14863 var val;
14864 var effectElements = this.filterManager.effectElements;
14865 if (this.feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {
14866 val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);
14867 this.feFuncRComposed.setAttribute("tableValues", val);
14868 this.feFuncGComposed.setAttribute("tableValues", val);
14869 this.feFuncBComposed.setAttribute("tableValues", val);
14870 }
14871 if (this.feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {
14872 val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);
14873 this.feFuncR.setAttribute("tableValues", val);
14874 }
14875 if (this.feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {
14876 val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);
14877 this.feFuncG.setAttribute("tableValues", val);
14878 }
14879 if (this.feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {
14880 val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);
14881 this.feFuncB.setAttribute("tableValues", val);
14882 }
14883 if (this.feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {
14884 val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);
14885 this.feFuncA.setAttribute("tableValues", val);
14886 }
14887 }
14888 };
14889 function SVGDropShadowEffect(filter, filterManager, elem, id, source) {
14890 var globalFilterSize = filterManager.container.globalData.renderConfig.filterSize;
14891 var filterSize = filterManager.data.fs || globalFilterSize;
14892 filter.setAttribute("x", filterSize.x || globalFilterSize.x);
14893 filter.setAttribute("y", filterSize.y || globalFilterSize.y);
14894 filter.setAttribute("width", filterSize.width || globalFilterSize.width);
14895 filter.setAttribute("height", filterSize.height || globalFilterSize.height);
14896 this.filterManager = filterManager;
14897 var feGaussianBlur = createNS("feGaussianBlur");
14898 feGaussianBlur.setAttribute("in", "SourceAlpha");
14899 feGaussianBlur.setAttribute("result", id + "_drop_shadow_1");
14900 feGaussianBlur.setAttribute("stdDeviation", "0");
14901 this.feGaussianBlur = feGaussianBlur;
14902 filter.appendChild(feGaussianBlur);
14903 var feOffset = createNS("feOffset");
14904 feOffset.setAttribute("dx", "25");
14905 feOffset.setAttribute("dy", "0");
14906 feOffset.setAttribute("in", id + "_drop_shadow_1");
14907 feOffset.setAttribute("result", id + "_drop_shadow_2");
14908 this.feOffset = feOffset;
14909 filter.appendChild(feOffset);
14910 var feFlood = createNS("feFlood");
14911 feFlood.setAttribute("flood-color", "#00ff00");
14912 feFlood.setAttribute("flood-opacity", "1");
14913 feFlood.setAttribute("result", id + "_drop_shadow_3");
14914 this.feFlood = feFlood;
14915 filter.appendChild(feFlood);
14916 var feComposite = createNS("feComposite");
14917 feComposite.setAttribute("in", id + "_drop_shadow_3");
14918 feComposite.setAttribute("in2", id + "_drop_shadow_2");
14919 feComposite.setAttribute("operator", "in");
14920 feComposite.setAttribute("result", id + "_drop_shadow_4");
14921 filter.appendChild(feComposite);
14922 var feMerge = this.createMergeNode(id, [id + "_drop_shadow_4", source]);
14923 filter.appendChild(feMerge);
14924 }
14925 extendPrototype([SVGComposableEffect], SVGDropShadowEffect);
14926 SVGDropShadowEffect.prototype.renderFrame = function(forceRender) {
14927 if (forceRender || this.filterManager._mdf) {
14928 if (forceRender || this.filterManager.effectElements[4].p._mdf) this.feGaussianBlur.setAttribute("stdDeviation", this.filterManager.effectElements[4].p.v / 4);
14929 if (forceRender || this.filterManager.effectElements[0].p._mdf) {
14930 var col = this.filterManager.effectElements[0].p.v;
14931 this.feFlood.setAttribute("flood-color", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));
14932 }
14933 if (forceRender || this.filterManager.effectElements[1].p._mdf) this.feFlood.setAttribute("flood-opacity", this.filterManager.effectElements[1].p.v / 255);
14934 if (forceRender || this.filterManager.effectElements[2].p._mdf || this.filterManager.effectElements[3].p._mdf) {
14935 var distance = this.filterManager.effectElements[3].p.v;
14936 var angle = (this.filterManager.effectElements[2].p.v - 90) * degToRads;
14937 var x = distance * Math.cos(angle);
14938 var y = distance * Math.sin(angle);
14939 this.feOffset.setAttribute("dx", x);
14940 this.feOffset.setAttribute("dy", y);
14941 }
14942 }
14943 };
14944 var _svgMatteSymbols = [];
14945 function SVGMatte3Effect(filterElem, filterManager, elem) {
14946 this.initialized = false;
14947 this.filterManager = filterManager;
14948 this.filterElem = filterElem;
14949 this.elem = elem;
14950 elem.matteElement = createNS("g");
14951 elem.matteElement.appendChild(elem.layerElement);
14952 elem.matteElement.appendChild(elem.transformedElement);
14953 elem.baseElement = elem.matteElement;
14954 }
14955 SVGMatte3Effect.prototype.findSymbol = function(mask) {
14956 var i = 0;
14957 var len = _svgMatteSymbols.length;
14958 while (i < len) {
14959 if (_svgMatteSymbols[i] === mask) return _svgMatteSymbols[i];
14960 i += 1;
14961 }
14962 return null;
14963 };
14964 SVGMatte3Effect.prototype.replaceInParent = function(mask, symbolId) {
14965 var parentNode = mask.layerElement.parentNode;
14966 if (!parentNode) return;
14967 var children = parentNode.children;
14968 var i = 0;
14969 var len = children.length;
14970 while (i < len) {
14971 if (children[i] === mask.layerElement) break;
14972 i += 1;
14973 }
14974 var nextChild;
14975 if (i <= len - 2) nextChild = children[i + 1];
14976 var useElem = createNS("use");
14977 useElem.setAttribute("href", "#" + symbolId);
14978 if (nextChild) parentNode.insertBefore(useElem, nextChild);
14979 else parentNode.appendChild(useElem);
14980 };
14981 SVGMatte3Effect.prototype.setElementAsMask = function(elem, mask) {
14982 if (!this.findSymbol(mask)) {
14983 var symbolId = createElementID();
14984 var masker = createNS("mask");
14985 masker.setAttribute("id", mask.layerId);
14986 masker.setAttribute("mask-type", "alpha");
14987 _svgMatteSymbols.push(mask);
14988 var defs = elem.globalData.defs;
14989 defs.appendChild(masker);
14990 var symbol = createNS("symbol");
14991 symbol.setAttribute("id", symbolId);
14992 this.replaceInParent(mask, symbolId);
14993 symbol.appendChild(mask.layerElement);
14994 defs.appendChild(symbol);
14995 var useElem = createNS("use");
14996 useElem.setAttribute("href", "#" + symbolId);
14997 masker.appendChild(useElem);
14998 mask.data.hd = false;
14999 mask.show();
15000 }
15001 elem.setMatte(mask.layerId);
15002 };
15003 SVGMatte3Effect.prototype.initialize = function() {
15004 var ind = this.filterManager.effectElements[0].p.v;
15005 var elements = this.elem.comp.elements;
15006 var i = 0;
15007 var len = elements.length;
15008 while (i < len) {
15009 if (elements[i] && elements[i].data.ind === ind) this.setElementAsMask(this.elem, elements[i]);
15010 i += 1;
15011 }
15012 this.initialized = true;
15013 };
15014 SVGMatte3Effect.prototype.renderFrame = function() {
15015 if (!this.initialized) this.initialize();
15016 };
15017 function SVGGaussianBlurEffect(filter, filterManager, elem, id) {
15018 filter.setAttribute("x", "-100%");
15019 filter.setAttribute("y", "-100%");
15020 filter.setAttribute("width", "300%");
15021 filter.setAttribute("height", "300%");
15022 this.filterManager = filterManager;
15023 var feGaussianBlur = createNS("feGaussianBlur");
15024 feGaussianBlur.setAttribute("result", id);
15025 filter.appendChild(feGaussianBlur);
15026 this.feGaussianBlur = feGaussianBlur;
15027 }
15028 SVGGaussianBlurEffect.prototype.renderFrame = function(forceRender) {
15029 if (forceRender || this.filterManager._mdf) {
15030 var sigma = this.filterManager.effectElements[0].p.v * .3;
15031 var dimensions = this.filterManager.effectElements[1].p.v;
15032 var sigmaX = dimensions == 3 ? 0 : sigma;
15033 var sigmaY = dimensions == 2 ? 0 : sigma;
15034 this.feGaussianBlur.setAttribute("stdDeviation", sigmaX + " " + sigmaY);
15035 var edgeMode = this.filterManager.effectElements[2].p.v == 1 ? "wrap" : "duplicate";
15036 this.feGaussianBlur.setAttribute("edgeMode", edgeMode);
15037 }
15038 };
15039 function TransformEffect() {}
15040 TransformEffect.prototype.init = function(effectsManager) {
15041 this.effectsManager = effectsManager;
15042 this.type = effectTypes.TRANSFORM_EFFECT;
15043 this.matrix = new Matrix();
15044 this.opacity = -1;
15045 this._mdf = false;
15046 this._opMdf = false;
15047 };
15048 TransformEffect.prototype.renderFrame = function(forceFrame) {
15049 this._opMdf = false;
15050 this._mdf = false;
15051 if (forceFrame || this.effectsManager._mdf) {
15052 var effectElements = this.effectsManager.effectElements;
15053 var anchor = effectElements[0].p.v;
15054 var position = effectElements[1].p.v;
15055 var isUniformScale = effectElements[2].p.v === 1;
15056 var scaleHeight = effectElements[3].p.v;
15057 var scaleWidth = isUniformScale ? scaleHeight : effectElements[4].p.v;
15058 var skew = effectElements[5].p.v;
15059 var skewAxis = effectElements[6].p.v;
15060 var rotation = effectElements[7].p.v;
15061 this.matrix.reset();
15062 this.matrix.translate(-anchor[0], -anchor[1], anchor[2]);
15063 this.matrix.scale(scaleWidth * .01, scaleHeight * .01, 1);
15064 this.matrix.rotate(-rotation * degToRads);
15065 this.matrix.skewFromAxis(-skew * degToRads, (skewAxis + 90) * degToRads);
15066 this.matrix.translate(position[0], position[1], 0);
15067 this._mdf = true;
15068 if (this.opacity !== effectElements[8].p.v) {
15069 this.opacity = effectElements[8].p.v;
15070 this._opMdf = true;
15071 }
15072 }
15073 };
15074 function SVGTransformEffect(_, filterManager) {
15075 this.init(filterManager);
15076 }
15077 extendPrototype([TransformEffect], SVGTransformEffect);
15078 function CVTransformEffect(effectsManager) {
15079 this.init(effectsManager);
15080 }
15081 extendPrototype([TransformEffect], CVTransformEffect);
15082 registerRenderer("canvas", CanvasRenderer);
15083 registerRenderer("html", HybridRenderer);
15084 registerRenderer("svg", SVGRenderer);
15085 ShapeModifiers.registerModifier("tm", TrimModifier);
15086 ShapeModifiers.registerModifier("pb", PuckerAndBloatModifier);
15087 ShapeModifiers.registerModifier("rp", RepeaterModifier);
15088 ShapeModifiers.registerModifier("rd", RoundCornersModifier);
15089 ShapeModifiers.registerModifier("zz", ZigZagModifier);
15090 ShapeModifiers.registerModifier("op", OffsetPathModifier);
15091 setExpressionsPlugin(Expressions);
15092 setExpressionInterfaces(getInterface);
15093 initialize$1();
15094 initialize();
15095 registerEffect$1(20, SVGTintFilter, true);
15096 registerEffect$1(21, SVGFillFilter, true);
15097 registerEffect$1(22, SVGStrokeEffect, false);
15098 registerEffect$1(23, SVGTritoneFilter, true);
15099 registerEffect$1(24, SVGProLevelsFilter, true);
15100 registerEffect$1(25, SVGDropShadowEffect, true);
15101 registerEffect$1(28, SVGMatte3Effect, false);
15102 registerEffect$1(29, SVGGaussianBlurEffect, true);
15103 registerEffect$1(35, SVGTransformEffect, false);
15104 registerEffect(35, CVTransformEffect);
15105 return lottie;
15106 }));
15107 }));
15108
15109 //#endregion
15110 //#region node_modules/lottie-react/build/index.umd.js
15111 var require_index_umd = /* @__PURE__ */ __commonJSMin(((exports, module) => {
15112 (function(global, factory) {
15113 typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require_lottie(), (globalThis.React)) : typeof define === "function" && define.amd ? define([
15114 "exports",
15115 "lottie-web",
15116 "react"
15117 ], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["lottie-react"] = {}, global.Lottie, global.React));
15118 })(exports, (function(exports$1, lottie, React) {
15119 "use strict";
15120 function _interopDefaultLegacy(e) {
15121 return e && typeof e === "object" && "default" in e ? e : { "default": e };
15122 }
15123 var lottie__default = /*#__PURE__*/ _interopDefaultLegacy(lottie);
15124 var React__default = /*#__PURE__*/ _interopDefaultLegacy(React);
15125 function _arrayLikeToArray(r, a) {
15126 (null == a || a > r.length) && (a = r.length);
15127 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
15128 return n;
15129 }
15130 function _arrayWithHoles(r) {
15131 if (Array.isArray(r)) return r;
15132 }
15133 function _defineProperty(e, r, t) {
15134 return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
15135 value: t,
15136 enumerable: !0,
15137 configurable: !0,
15138 writable: !0
15139 }) : e[r] = t, e;
15140 }
15141 function _iterableToArrayLimit(r, l) {
15142 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
15143 if (null != t) {
15144 var e;
15145 var n;
15146 var i;
15147 var u;
15148 var a = [];
15149 var f = !0;
15150 var o = !1;
15151 try {
15152 if (i = (t = t.call(r)).next, 0 === l) {
15153 if (Object(t) !== t) return;
15154 f = !1;
15155 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
15156 } catch (r) {
15157 o = !0, n = r;
15158 } finally {
15159 try {
15160 if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
15161 } finally {
15162 if (o) throw n;
15163 }
15164 }
15165 return a;
15166 }
15167 }
15168 function _nonIterableRest() {
15169 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
15170 }
15171 function ownKeys(e, r) {
15172 var t = Object.keys(e);
15173 if (Object.getOwnPropertySymbols) {
15174 var o = Object.getOwnPropertySymbols(e);
15175 r && (o = o.filter(function(r) {
15176 return Object.getOwnPropertyDescriptor(e, r).enumerable;
15177 })), t.push.apply(t, o);
15178 }
15179 return t;
15180 }
15181 function _objectSpread2(e) {
15182 for (var r = 1; r < arguments.length; r++) {
15183 var t = null != arguments[r] ? arguments[r] : {};
15184 r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
15185 _defineProperty(e, r, t[r]);
15186 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
15187 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
15188 });
15189 }
15190 return e;
15191 }
15192 function _objectWithoutProperties(e, t) {
15193 if (null == e) return {};
15194 var o;
15195 var r;
15196 var i = _objectWithoutPropertiesLoose(e, t);
15197 if (Object.getOwnPropertySymbols) {
15198 var s = Object.getOwnPropertySymbols(e);
15199 for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);
15200 }
15201 return i;
15202 }
15203 function _objectWithoutPropertiesLoose(r, e) {
15204 if (null == r) return {};
15205 var t = {};
15206 for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
15207 if (e.includes(n)) continue;
15208 t[n] = r[n];
15209 }
15210 return t;
15211 }
15212 function _slicedToArray(r, e) {
15213 return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
15214 }
15215 function _toPrimitive(t, r) {
15216 if ("object" != typeof t || !t) return t;
15217 var e = t[Symbol.toPrimitive];
15218 if (void 0 !== e) {
15219 var i = e.call(t, r || "default");
15220 if ("object" != typeof i) return i;
15221 throw new TypeError("@@toPrimitive must return a primitive value.");
15222 }
15223 return ("string" === r ? String : Number)(t);
15224 }
15225 function _toPropertyKey(t) {
15226 var i = _toPrimitive(t, "string");
15227 return "symbol" == typeof i ? i : i + "";
15228 }
15229 function _unsupportedIterableToArray(r, a) {
15230 if (r) {
15231 if ("string" == typeof r) return _arrayLikeToArray(r, a);
15232 var t = {}.toString.call(r).slice(8, -1);
15233 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
15234 }
15235 }
15236 var _excluded$1 = [
15237 "animationData",
15238 "loop",
15239 "autoplay",
15240 "initialSegment",
15241 "onComplete",
15242 "onLoopComplete",
15243 "onEnterFrame",
15244 "onSegmentStart",
15245 "onConfigReady",
15246 "onDataReady",
15247 "onDataFailed",
15248 "onLoadedImages",
15249 "onDOMLoaded",
15250 "onDestroy",
15251 "lottieRef",
15252 "renderer",
15253 "name",
15254 "assetsPath",
15255 "rendererSettings"
15256 ];
15257 var useLottie = function useLottie(props, style) {
15258 var animationData = props.animationData;
15259 var loop = props.loop;
15260 var autoplay = props.autoplay;
15261 var initialSegment = props.initialSegment;
15262 var onComplete = props.onComplete;
15263 var onLoopComplete = props.onLoopComplete;
15264 var onEnterFrame = props.onEnterFrame;
15265 var onSegmentStart = props.onSegmentStart;
15266 var onConfigReady = props.onConfigReady;
15267 var onDataReady = props.onDataReady;
15268 var onDataFailed = props.onDataFailed;
15269 var onLoadedImages = props.onLoadedImages;
15270 var onDOMLoaded = props.onDOMLoaded;
15271 var onDestroy = props.onDestroy;
15272 props.lottieRef;
15273 props.renderer;
15274 props.name;
15275 props.assetsPath;
15276 props.rendererSettings;
15277 var rest = _objectWithoutProperties(props, _excluded$1);
15278 var _useState2 = _slicedToArray(React.useState(false), 2);
15279 var animationLoaded = _useState2[0];
15280 var setAnimationLoaded = _useState2[1];
15281 var animationInstanceRef = React.useRef();
15282 var animationContainer = React.useRef(null);
15283 /**
15284 * Play
15285 */
15286 var play = function play() {
15287 var _a;
15288 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.play();
15289 };
15290 /**
15291 * Stop
15292 */
15293 var stop = function stop() {
15294 var _a;
15295 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.stop();
15296 };
15297 /**
15298 * Pause
15299 */
15300 var pause = function pause() {
15301 var _a;
15302 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.pause();
15303 };
15304 /**
15305 * Set animation speed
15306 * @param speed
15307 */
15308 var setSpeed = function setSpeed(speed) {
15309 var _a;
15310 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.setSpeed(speed);
15311 };
15312 /**
15313 * Got to frame and play
15314 * @param value
15315 * @param isFrame
15316 */
15317 var goToAndPlay = function goToAndPlay(value, isFrame) {
15318 var _a;
15319 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.goToAndPlay(value, isFrame);
15320 };
15321 /**
15322 * Got to frame and stop
15323 * @param value
15324 * @param isFrame
15325 */
15326 var goToAndStop = function goToAndStop(value, isFrame) {
15327 var _a;
15328 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.goToAndStop(value, isFrame);
15329 };
15330 /**
15331 * Set animation direction
15332 * @param direction
15333 */
15334 var setDirection = function setDirection(direction) {
15335 var _a;
15336 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.setDirection(direction);
15337 };
15338 /**
15339 * Play animation segments
15340 * @param segments
15341 * @param forceFlag
15342 */
15343 var playSegments = function playSegments(segments, forceFlag) {
15344 var _a;
15345 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.playSegments(segments, forceFlag);
15346 };
15347 /**
15348 * Set sub frames
15349 * @param useSubFrames
15350 */
15351 var setSubframe = function setSubframe(useSubFrames) {
15352 var _a;
15353 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.setSubframe(useSubFrames);
15354 };
15355 /**
15356 * Get animation duration
15357 * @param inFrames
15358 */
15359 var getDuration = function getDuration(inFrames) {
15360 var _a;
15361 return (_a = animationInstanceRef.current) === null || _a === void 0 ? void 0 : _a.getDuration(inFrames);
15362 };
15363 /**
15364 * Destroy animation
15365 */
15366 var destroy = function destroy() {
15367 var _a;
15368 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.destroy();
15369 animationInstanceRef.current = void 0;
15370 };
15371 /**
15372 * Load a new animation, and if it's the case, destroy the previous one
15373 * @param {Object} forcedConfigs
15374 */
15375 var loadAnimation = function loadAnimation() {
15376 var forcedConfigs = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
15377 var _a;
15378 if (!animationContainer.current) return;
15379 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.destroy();
15380 var config = _objectSpread2(_objectSpread2(_objectSpread2({}, props), forcedConfigs), {}, { container: animationContainer.current });
15381 animationInstanceRef.current = lottie__default["default"].loadAnimation(config);
15382 setAnimationLoaded(!!animationInstanceRef.current);
15383 return function() {
15384 var _a;
15385 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.destroy();
15386 animationInstanceRef.current = void 0;
15387 };
15388 };
15389 /**
15390 * (Re)Initialize when animation data changed
15391 */
15392 React.useEffect(function() {
15393 var onUnmount = loadAnimation();
15394 return function() {
15395 return onUnmount === null || onUnmount === void 0 ? void 0 : onUnmount();
15396 };
15397 }, [animationData, loop]);
15398 React.useEffect(function() {
15399 if (!animationInstanceRef.current) return;
15400 animationInstanceRef.current.autoplay = !!autoplay;
15401 }, [autoplay]);
15402 React.useEffect(function() {
15403 if (!animationInstanceRef.current) return;
15404 if (!initialSegment) {
15405 animationInstanceRef.current.resetSegments(true);
15406 return;
15407 }
15408 if (!Array.isArray(initialSegment) || !initialSegment.length) return;
15409 if (animationInstanceRef.current.currentRawFrame < initialSegment[0] || animationInstanceRef.current.currentRawFrame > initialSegment[1]) animationInstanceRef.current.currentRawFrame = initialSegment[0];
15410 animationInstanceRef.current.setSegment(initialSegment[0], initialSegment[1]);
15411 }, [initialSegment]);
15412 /**
15413 * Reinitialize listener on change
15414 */
15415 React.useEffect(function() {
15416 var listeners = [
15417 {
15418 name: "complete",
15419 handler: onComplete
15420 },
15421 {
15422 name: "loopComplete",
15423 handler: onLoopComplete
15424 },
15425 {
15426 name: "enterFrame",
15427 handler: onEnterFrame
15428 },
15429 {
15430 name: "segmentStart",
15431 handler: onSegmentStart
15432 },
15433 {
15434 name: "config_ready",
15435 handler: onConfigReady
15436 },
15437 {
15438 name: "data_ready",
15439 handler: onDataReady
15440 },
15441 {
15442 name: "data_failed",
15443 handler: onDataFailed
15444 },
15445 {
15446 name: "loaded_images",
15447 handler: onLoadedImages
15448 },
15449 {
15450 name: "DOMLoaded",
15451 handler: onDOMLoaded
15452 },
15453 {
15454 name: "destroy",
15455 handler: onDestroy
15456 }
15457 ].filter(function(listener) {
15458 return listener.handler != null;
15459 });
15460 if (!listeners.length) return;
15461 var deregisterList = listeners.map(
15462 /**
15463 * Handle the process of adding an event listener
15464 * @param {Listener} listener
15465 * @return {Function} Function that deregister the listener
15466 */
15467 function(listener) {
15468 var _a;
15469 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.addEventListener(listener.name, listener.handler);
15470 return function() {
15471 var _a;
15472 (_a = animationInstanceRef.current) === null || _a === void 0 || _a.removeEventListener(listener.name, listener.handler);
15473 };
15474 }
15475 );
15476 return function() {
15477 deregisterList.forEach(function(deregister) {
15478 return deregister();
15479 });
15480 };
15481 }, [
15482 onComplete,
15483 onLoopComplete,
15484 onEnterFrame,
15485 onSegmentStart,
15486 onConfigReady,
15487 onDataReady,
15488 onDataFailed,
15489 onLoadedImages,
15490 onDOMLoaded,
15491 onDestroy
15492 ]);
15493 return {
15494 View: /* @__PURE__ */ React__default["default"].createElement("div", _objectSpread2({
15495 style,
15496 ref: animationContainer
15497 }, rest)),
15498 play,
15499 stop,
15500 pause,
15501 setSpeed,
15502 goToAndStop,
15503 goToAndPlay,
15504 setDirection,
15505 playSegments,
15506 setSubframe,
15507 getDuration,
15508 destroy,
15509 animationContainerRef: animationContainer,
15510 animationLoaded,
15511 animationItem: animationInstanceRef.current
15512 };
15513 };
15514 function getContainerVisibility(container) {
15515 var _container$getBoundin = container.getBoundingClientRect();
15516 var top = _container$getBoundin.top;
15517 var height = _container$getBoundin.height;
15518 return (window.innerHeight - top) / (window.innerHeight + height);
15519 }
15520 function getContainerCursorPosition(container, cursorX, cursorY) {
15521 var _container$getBoundin2 = container.getBoundingClientRect();
15522 var top = _container$getBoundin2.top;
15523 var left = _container$getBoundin2.left;
15524 var width = _container$getBoundin2.width;
15525 var height = _container$getBoundin2.height;
15526 return {
15527 x: (cursorX - left) / width,
15528 y: (cursorY - top) / height
15529 };
15530 }
15531 var useInitInteractivity = function useInitInteractivity(_ref) {
15532 var wrapperRef = _ref.wrapperRef;
15533 var animationItem = _ref.animationItem;
15534 var mode = _ref.mode;
15535 var actions = _ref.actions;
15536 React.useEffect(function() {
15537 var wrapper = wrapperRef.current;
15538 if (!wrapper || !animationItem || !actions.length) return;
15539 animationItem.stop();
15540 var scrollModeHandler = function scrollModeHandler() {
15541 var assignedSegment = null;
15542 var scrollHandler = function scrollHandler() {
15543 var currentPercent = getContainerVisibility(wrapper);
15544 var action = actions.find(function(_ref2) {
15545 var visibility = _ref2.visibility;
15546 return visibility && currentPercent >= visibility[0] && currentPercent <= visibility[1];
15547 });
15548 if (!action) return;
15549 if (action.type === "seek" && action.visibility && action.frames.length === 2) {
15550 var frameToGo = action.frames[0] + Math.ceil((currentPercent - action.visibility[0]) / (action.visibility[1] - action.visibility[0]) * action.frames[1]);
15551 //! goToAndStop must be relative to the start of the current segment
15552 animationItem.goToAndStop(frameToGo - animationItem.firstFrame - 1, true);
15553 }
15554 if (action.type === "loop") {
15555 if (assignedSegment === null) {
15556 animationItem.playSegments(action.frames, true);
15557 assignedSegment = action.frames;
15558 } else if (assignedSegment !== action.frames) {
15559 animationItem.playSegments(action.frames, true);
15560 assignedSegment = action.frames;
15561 } else if (animationItem.isPaused) {
15562 animationItem.playSegments(action.frames, true);
15563 assignedSegment = action.frames;
15564 }
15565 }
15566 if (action.type === "play" && animationItem.isPaused) {
15567 animationItem.resetSegments(true);
15568 animationItem.play();
15569 }
15570 if (action.type === "stop") animationItem.goToAndStop(action.frames[0] - animationItem.firstFrame - 1, true);
15571 };
15572 document.addEventListener("scroll", scrollHandler);
15573 return function() {
15574 document.removeEventListener("scroll", scrollHandler);
15575 };
15576 };
15577 var cursorModeHandler = function cursorModeHandler() {
15578 var handleCursor = function handleCursor(_x, _y) {
15579 var x = _x;
15580 var y = _y;
15581 if (x !== -1 && y !== -1) {
15582 var pos = getContainerCursorPosition(wrapper, x, y);
15583 x = pos.x;
15584 y = pos.y;
15585 }
15586 var action = actions.find(function(_ref3) {
15587 var position = _ref3.position;
15588 if (position && Array.isArray(position.x) && Array.isArray(position.y)) return x >= position.x[0] && x <= position.x[1] && y >= position.y[0] && y <= position.y[1];
15589 if (position && !Number.isNaN(position.x) && !Number.isNaN(position.y)) return x === position.x && y === position.y;
15590 return false;
15591 });
15592 if (!action) return;
15593 if (action.type === "seek" && action.position && Array.isArray(action.position.x) && Array.isArray(action.position.y) && action.frames.length === 2) {
15594 var xPercent = (x - action.position.x[0]) / (action.position.x[1] - action.position.x[0]);
15595 var yPercent = (y - action.position.y[0]) / (action.position.y[1] - action.position.y[0]);
15596 animationItem.playSegments(action.frames, true);
15597 animationItem.goToAndStop(Math.ceil((xPercent + yPercent) / 2 * (action.frames[1] - action.frames[0])), true);
15598 }
15599 if (action.type === "loop") animationItem.playSegments(action.frames, true);
15600 if (action.type === "play") {
15601 if (animationItem.isPaused) animationItem.resetSegments(false);
15602 animationItem.playSegments(action.frames);
15603 }
15604 if (action.type === "stop") animationItem.goToAndStop(action.frames[0], true);
15605 };
15606 var mouseMoveHandler = function mouseMoveHandler(ev) {
15607 handleCursor(ev.clientX, ev.clientY);
15608 };
15609 var mouseOutHandler = function mouseOutHandler() {
15610 handleCursor(-1, -1);
15611 };
15612 wrapper.addEventListener("mousemove", mouseMoveHandler);
15613 wrapper.addEventListener("mouseout", mouseOutHandler);
15614 return function() {
15615 wrapper.removeEventListener("mousemove", mouseMoveHandler);
15616 wrapper.removeEventListener("mouseout", mouseOutHandler);
15617 };
15618 };
15619 switch (mode) {
15620 case "scroll": return scrollModeHandler();
15621 case "cursor": return cursorModeHandler();
15622 }
15623 }, [mode, animationItem]);
15624 };
15625 var useLottieInteractivity = function useLottieInteractivity(_ref4) {
15626 var actions = _ref4.actions;
15627 var mode = _ref4.mode;
15628 var lottieObj = _ref4.lottieObj;
15629 var animationItem = lottieObj.animationItem;
15630 var View = lottieObj.View;
15631 var animationContainerRef = lottieObj.animationContainerRef;
15632 useInitInteractivity({
15633 actions,
15634 animationItem,
15635 mode,
15636 wrapperRef: animationContainerRef
15637 });
15638 return View;
15639 };
15640 var _excluded = ["style", "interactivity"];
15641 var Lottie = function Lottie(props) {
15642 var _a;
15643 var _b;
15644 var _c;
15645 var style = props.style;
15646 var interactivity = props.interactivity;
15647 /**
15648 * Initialize the 'useLottie' hook
15649 */
15650 var _useLottie = useLottie(_objectWithoutProperties(props, _excluded), style);
15651 var View = _useLottie.View;
15652 var play = _useLottie.play;
15653 var stop = _useLottie.stop;
15654 var pause = _useLottie.pause;
15655 var setSpeed = _useLottie.setSpeed;
15656 var goToAndStop = _useLottie.goToAndStop;
15657 var goToAndPlay = _useLottie.goToAndPlay;
15658 var setDirection = _useLottie.setDirection;
15659 var playSegments = _useLottie.playSegments;
15660 var setSubframe = _useLottie.setSubframe;
15661 var getDuration = _useLottie.getDuration;
15662 var destroy = _useLottie.destroy;
15663 var animationContainerRef = _useLottie.animationContainerRef;
15664 var animationLoaded = _useLottie.animationLoaded;
15665 var animationItem = _useLottie.animationItem;
15666 /**
15667 * Make the hook variables/methods available through the provided 'lottieRef'
15668 */
15669 React.useEffect(function() {
15670 if (props.lottieRef) props.lottieRef.current = {
15671 play,
15672 stop,
15673 pause,
15674 setSpeed,
15675 goToAndPlay,
15676 goToAndStop,
15677 setDirection,
15678 playSegments,
15679 setSubframe,
15680 getDuration,
15681 destroy,
15682 animationContainerRef,
15683 animationLoaded,
15684 animationItem
15685 };
15686 }, [(_a = props.lottieRef) === null || _a === void 0 ? void 0 : _a.current]);
15687 return useLottieInteractivity({
15688 lottieObj: {
15689 View,
15690 play,
15691 stop,
15692 pause,
15693 setSpeed,
15694 goToAndStop,
15695 goToAndPlay,
15696 setDirection,
15697 playSegments,
15698 setSubframe,
15699 getDuration,
15700 destroy,
15701 animationContainerRef,
15702 animationLoaded,
15703 animationItem
15704 },
15705 actions: (_b = interactivity === null || interactivity === void 0 ? void 0 : interactivity.actions) !== null && _b !== void 0 ? _b : [],
15706 mode: (_c = interactivity === null || interactivity === void 0 ? void 0 : interactivity.mode) !== null && _c !== void 0 ? _c : "scroll"
15707 });
15708 };
15709 Object.defineProperty(exports$1, "LottiePlayer", {
15710 enumerable: true,
15711 get: function() {
15712 return lottie__default["default"];
15713 }
15714 });
15715 exports$1["default"] = Lottie;
15716 exports$1.useLottie = useLottie;
15717 exports$1.useLottieInteractivity = useLottieInteractivity;
15718 Object.defineProperty(exports$1, "__esModule", { value: true });
15719 }));
15720 }));
15721
15722 //#endregion
15723 //#region modules/promotions/assets/js/react/assets/atomic-form-animation.json
15724 var import_index_umd = /* @__PURE__ */ __toESM(require_index_umd());
15725 var atomic_form_animation_exports = /* @__PURE__ */ __exportAll({
15726 assets: () => assets,
15727 ddd: () => 0,
15728 default: () => atomic_form_animation_default,
15729 fr: () => 100,
15730 h: () => 148,
15731 ip: () => 0,
15732 layers: () => layers,
15733 op: () => 876,
15734 v: () => v,
15735 w: () => 296
15736 });
15737 var v = "5.7.5";
15738 var fr = 100;
15739 var ip = 0;
15740 var op = 876;
15741 var w = 296;
15742 var h = 148;
15743 var ddd = 0;
15744 var assets = [
15745 {
15746 "id": "0",
15747 "layers": [{
15748 "ddd": 0,
15749 "refId": "g",
15750 "w": 1184,
15751 "h": 592,
15752 "ind": 1,
15753 "ty": 0,
15754 "sr": 1,
15755 "ks": {
15756 "p": {
15757 "a": 0,
15758 "k": [113, 57],
15759 "ix": 2
15760 },
15761 "a": {
15762 "a": 0,
15763 "k": [592, 296],
15764 "ix": 2
15765 },
15766 "s": {
15767 "a": 0,
15768 "k": [25, 25],
15769 "ix": 2
15770 },
15771 "o": {
15772 "a": 1,
15773 "k": [{
15774 "t": 868,
15775 "s": [100],
15776 "i": {
15777 "x": [.667],
15778 "y": [1]
15779 },
15780 "o": {
15781 "x": [.333],
15782 "y": [0]
15783 }
15784 }, {
15785 "t": 884,
15786 "s": [0]
15787 }],
15788 "ix": 2
15789 }
15790 },
15791 "ao": 0,
15792 "ip": 0,
15793 "op": 877,
15794 "st": 0
15795 }]
15796 },
15797 {
15798 "id": "g",
15799 "layers": [
15800 {
15801 "ddd": 0,
15802 "ind": 29,
15803 "ty": 3,
15804 "sr": 1,
15805 "ks": {
15806 "p": {
15807 "a": 0,
15808 "k": [454.77, 347.63],
15809 "ix": 2
15810 },
15811 "a": {
15812 "a": 0,
15813 "k": [172, 27],
15814 "ix": 2
15815 },
15816 "s": {
15817 "a": 1,
15818 "k": [{
15819 "t": 668,
15820 "s": [74, 74],
15821 "i": {
15822 "x": [0],
15823 "y": [1]
15824 },
15825 "o": {
15826 "x": [0],
15827 "y": [0]
15828 }
15829 }, {
15830 "t": 676,
15831 "s": [81, 81]
15832 }],
15833 "ix": 2
15834 },
15835 "o": {
15836 "a": 0,
15837 "k": 100,
15838 "ix": 2
15839 }
15840 },
15841 "ao": 0,
15842 "ip": 0,
15843 "op": 877,
15844 "st": 0
15845 },
15846 {
15847 "ddd": 0,
15848 "refId": "h",
15849 "w": 80,
15850 "h": 78,
15851 "ind": 30,
15852 "ty": 0,
15853 "sr": 1,
15854 "ks": {
15855 "p": {
15856 "a": 0,
15857 "k": [-19, -14],
15858 "ix": 2
15859 },
15860 "o": {
15861 "a": 0,
15862 "k": 100,
15863 "ix": 2
15864 }
15865 },
15866 "ao": 0,
15867 "ip": 0,
15868 "op": 877,
15869 "st": 0,
15870 "parent": 29
15871 },
15872 {
15873 "ddd": 0,
15874 "ind": 31,
15875 "ty": 3,
15876 "sr": 1,
15877 "ks": {
15878 "p": {
15879 "a": 0,
15880 "k": [454.77, 347.63],
15881 "ix": 2
15882 },
15883 "a": {
15884 "a": 0,
15885 "k": [172, 27],
15886 "ix": 2
15887 },
15888 "s": {
15889 "a": 0,
15890 "k": [76, 76],
15891 "ix": 2
15892 },
15893 "o": {
15894 "a": 0,
15895 "k": 100,
15896 "ix": 2
15897 }
15898 },
15899 "ao": 0,
15900 "ip": 0,
15901 "op": 877,
15902 "st": 0
15903 },
15904 {
15905 "ddd": 0,
15906 "refId": "i",
15907 "w": 346,
15908 "h": 58,
15909 "ind": 32,
15910 "ty": 0,
15911 "sr": 1,
15912 "ks": {
15913 "p": {
15914 "a": 0,
15915 "k": [-2, -2],
15916 "ix": 2
15917 },
15918 "o": {
15919 "a": 0,
15920 "k": 100,
15921 "ix": 2
15922 }
15923 },
15924 "ao": 0,
15925 "ip": 0,
15926 "op": 877,
15927 "st": 0,
15928 "parent": 31
15929 },
15930 {
15931 "ddd": 0,
15932 "refId": "j",
15933 "w": 626,
15934 "h": 239,
15935 "ind": 33,
15936 "ty": 0,
15937 "sr": 1,
15938 "ks": {
15939 "p": {
15940 "a": 0,
15941 "k": [279, 120],
15942 "ix": 2
15943 },
15944 "o": {
15945 "a": 1,
15946 "k": [{
15947 "t": 0,
15948 "s": [0],
15949 "h": 1
15950 }, {
15951 "t": 732,
15952 "s": [100],
15953 "h": 1
15954 }],
15955 "ix": 2
15956 }
15957 },
15958 "ao": 0,
15959 "ip": 0,
15960 "op": 877,
15961 "st": 0
15962 },
15963 {
15964 "ddd": 0,
15965 "ind": 34,
15966 "ty": 4,
15967 "sr": 1,
15968 "ks": { "o": {
15969 "a": 1,
15970 "k": [{
15971 "t": 0,
15972 "s": [0],
15973 "h": 1
15974 }, {
15975 "t": 732,
15976 "s": [100],
15977 "h": 1
15978 }],
15979 "ix": 2
15980 } },
15981 "ao": 0,
15982 "shapes": [{
15983 "ty": "gr",
15984 "it": [
15985 {
15986 "ty": "gr",
15987 "it": [{
15988 "ty": "gr",
15989 "it": [
15990 {
15991 "ty": "gr",
15992 "it": [{
15993 "ty": "sh",
15994 "d": 1,
15995 "ks": {
15996 "a": 0,
15997 "k": {
15998 "c": true,
15999 "v": [
16000 [9.58, 3.18],
16001 [9.58, -3.25],
16002 [10.46, -3.25],
16003 [10.46, 3.18],
16004 [9.58, 3.18]
16005 ],
16006 "i": [
16007 [0, 0],
16008 [0, 0],
16009 [0, 0],
16010 [0, 0],
16011 [0, 0]
16012 ],
16013 "o": [
16014 [0, 0],
16015 [0, 0],
16016 [0, 0],
16017 [0, 0],
16018 [0, 0]
16019 ]
16020 }
16021 }
16022 }, {
16023 "ty": "tr",
16024 "o": {
16025 "a": 0,
16026 "k": 100,
16027 "ix": 2
16028 }
16029 }]
16030 },
16031 {
16032 "ty": "gr",
16033 "it": [{
16034 "ty": "sh",
16035 "d": 1,
16036 "ks": {
16037 "a": 0,
16038 "k": {
16039 "c": true,
16040 "v": [
16041 [7.38, -3.25],
16042 [8.36, -3.25],
16043 [8.36, -2.16],
16044 [7.38, -2.16],
16045 [7.38, -3.25]
16046 ],
16047 "i": [
16048 [0, 0],
16049 [0, 0],
16050 [0, 0],
16051 [0, 0],
16052 [0, 0]
16053 ],
16054 "o": [
16055 [0, 0],
16056 [0, 0],
16057 [0, 0],
16058 [0, 0],
16059 [0, 0]
16060 ]
16061 }
16062 }
16063 }, {
16064 "ty": "tr",
16065 "o": {
16066 "a": 0,
16067 "k": 100,
16068 "ix": 2
16069 }
16070 }]
16071 },
16072 {
16073 "ty": "gr",
16074 "it": [{
16075 "ty": "sh",
16076 "d": 1,
16077 "ks": {
16078 "a": 0,
16079 "k": {
16080 "c": true,
16081 "v": [
16082 [7.44, 3.18],
16083 [7.44, -1.35],
16084 [8.31, -1.35],
16085 [8.31, 3.18],
16086 [7.44, 3.18]
16087 ],
16088 "i": [
16089 [0, 0],
16090 [0, 0],
16091 [0, 0],
16092 [0, 0],
16093 [0, 0]
16094 ],
16095 "o": [
16096 [0, 0],
16097 [0, 0],
16098 [0, 0],
16099 [0, 0],
16100 [0, 0]
16101 ]
16102 }
16103 }
16104 }, {
16105 "ty": "tr",
16106 "o": {
16107 "a": 0,
16108 "k": 100,
16109 "ix": 2
16110 }
16111 }]
16112 },
16113 {
16114 "ty": "gr",
16115 "it": [{
16116 "ty": "sh",
16117 "d": 1,
16118 "ks": {
16119 "a": 0,
16120 "k": {
16121 "c": true,
16122 "v": [
16123 [4.05, 2.56],
16124 [5.36, 1.19],
16125 [5.36, 1.11],
16126 [4.19, 1.11],
16127 [3.21, 1.87],
16128 [4.05, 2.56]
16129 ],
16130 "i": [
16131 [0, 0],
16132 [0, .837],
16133 [0, 0],
16134 [0, 0],
16135 [0, -.477],
16136 [-.513, 0]
16137 ],
16138 "o": [
16139 [.819, 0],
16140 [0, 0],
16141 [0, 0],
16142 [-.594, 0],
16143 [0, .414],
16144 [0, 0]
16145 ]
16146 }
16147 }
16148 }, {
16149 "ty": "tr",
16150 "o": {
16151 "a": 0,
16152 "k": 100,
16153 "ix": 2
16154 }
16155 }]
16156 },
16157 {
16158 "ty": "gr",
16159 "it": [{
16160 "ty": "sh",
16161 "d": 1,
16162 "ks": {
16163 "a": 0,
16164 "k": {
16165 "c": true,
16166 "v": [
16167 [3.88, 3.25],
16168 [2.33, 1.89],
16169 [4.1, .44],
16170 [5.05, .44],
16171 [5.36, .2],
16172 [4.26, -.72],
16173 [3.15, .13],
16174 [2.33, .13],
16175 [4.29, -1.43],
16176 [6.22, .26],
16177 [6.22, 3.18],
16178 [5.36, 3.18],
16179 [5.36, 2.43],
16180 [3.88, 3.25]
16181 ],
16182 "i": [
16183 [0, 0],
16184 [0, .81],
16185 [-1.062, 0],
16186 [0, 0],
16187 [0, .162],
16188 [.693, 0],
16189 [.027, -.459],
16190 [0, 0],
16191 [-1.08, 0],
16192 [0, -1.008],
16193 [0, 0],
16194 [0, 0],
16195 [0, 0],
16196 [.684, 0]
16197 ],
16198 "o": [
16199 [-.927, 0],
16200 [0, -.873],
16201 [0, 0],
16202 [.207, 0],
16203 [0, -.549],
16204 [-.639, 0],
16205 [0, 0],
16206 [.072, -.891],
16207 [1.17, 0],
16208 [0, 0],
16209 [0, 0],
16210 [0, 0],
16211 [-.225, .495],
16212 [0, 0]
16213 ]
16214 }
16215 }
16216 }, {
16217 "ty": "tr",
16218 "o": {
16219 "a": 0,
16220 "k": 100,
16221 "ix": 2
16222 }
16223 }]
16224 },
16225 {
16226 "ty": "gr",
16227 "it": [{
16228 "ty": "sh",
16229 "d": 1,
16230 "ks": {
16231 "a": 0,
16232 "k": {
16233 "c": true,
16234 "v": [
16235 [-5.41, 3.18],
16236 [-5.41, -1.35],
16237 [-4.54, -1.35],
16238 [-4.54, -.55],
16239 [-3.18, -1.43],
16240 [-1.73, -.49],
16241 [-.26, -1.43],
16242 [1.34, .3],
16243 [1.34, 3.18],
16244 [.47, 3.18],
16245 [.47, .54],
16246 [-.5, -.66],
16247 [-1.6, .71],
16248 [-1.6, 3.18],
16249 [-2.48, 3.18],
16250 [-2.48, .54],
16251 [-3.43, -.66],
16252 [-4.54, .71],
16253 [-4.54, 3.18],
16254 [-5.41, 3.18]
16255 ],
16256 "i": [
16257 [0, 0],
16258 [0, 0],
16259 [0, 0],
16260 [0, 0],
16261 [-.675, 0],
16262 [-.18, -.594],
16263 [-.657, 0],
16264 [0, -1.053],
16265 [0, 0],
16266 [0, 0],
16267 [0, 0],
16268 [.603, 0],
16269 [0, -.72],
16270 [0, 0],
16271 [0, 0],
16272 [0, 0],
16273 [.594, 0],
16274 [0, -.72],
16275 [0, 0],
16276 [0, 0]
16277 ],
16278 "o": [
16279 [0, 0],
16280 [0, 0],
16281 [0, 0],
16282 [.189, -.513],
16283 [.693, 0],
16284 [.189, -.54],
16285 [.981, 0],
16286 [0, 0],
16287 [0, 0],
16288 [0, 0],
16289 [0, -.72],
16290 [-.693, 0],
16291 [0, 0],
16292 [0, 0],
16293 [0, 0],
16294 [0, -.72],
16295 [-.693, 0],
16296 [0, 0],
16297 [0, 0],
16298 [0, 0]
16299 ]
16300 }
16301 }
16302 }, {
16303 "ty": "tr",
16304 "o": {
16305 "a": 0,
16306 "k": 100,
16307 "ix": 2
16308 }
16309 }]
16310 },
16311 {
16312 "ty": "gr",
16313 "it": [{
16314 "ty": "sh",
16315 "d": 1,
16316 "ks": {
16317 "a": 0,
16318 "k": {
16319 "c": true,
16320 "v": [
16321 [-10.46, 3.18],
16322 [-10.46, -3.12],
16323 [-6.41, -3.12],
16324 [-6.41, -2.29],
16325 [-9.52, -2.29],
16326 [-9.52, -.48],
16327 [-7.01, -.48],
16328 [-7.01, .35],
16329 [-9.52, .35],
16330 [-9.52, 2.35],
16331 [-6.32, 2.35],
16332 [-6.32, 3.18],
16333 [-10.46, 3.18]
16334 ],
16335 "i": [
16336 [0, 0],
16337 [0, 0],
16338 [0, 0],
16339 [0, 0],
16340 [0, 0],
16341 [0, 0],
16342 [0, 0],
16343 [0, 0],
16344 [0, 0],
16345 [0, 0],
16346 [0, 0],
16347 [0, 0],
16348 [0, 0]
16349 ],
16350 "o": [
16351 [0, 0],
16352 [0, 0],
16353 [0, 0],
16354 [0, 0],
16355 [0, 0],
16356 [0, 0],
16357 [0, 0],
16358 [0, 0],
16359 [0, 0],
16360 [0, 0],
16361 [0, 0],
16362 [0, 0],
16363 [0, 0]
16364 ]
16365 }
16366 }
16367 }, {
16368 "ty": "tr",
16369 "o": {
16370 "a": 0,
16371 "k": 100,
16372 "ix": 2
16373 }
16374 }]
16375 },
16376 {
16377 "ty": "fl",
16378 "c": {
16379 "a": 0,
16380 "k": [
16381 0,
16382 0,
16383 0
16384 ],
16385 "ix": 2
16386 },
16387 "o": {
16388 "a": 0,
16389 "k": 50,
16390 "ix": 2
16391 },
16392 "r": 1,
16393 "bm": 0
16394 },
16395 {
16396 "ty": "tr",
16397 "o": {
16398 "a": 0,
16399 "k": 100,
16400 "ix": 2
16401 }
16402 }
16403 ]
16404 }, {
16405 "ty": "tr",
16406 "p": {
16407 "a": 0,
16408 "k": [682, 120.32],
16409 "ix": 2
16410 },
16411 "o": {
16412 "a": 0,
16413 "k": 100,
16414 "ix": 2
16415 }
16416 }]
16417 },
16418 {
16419 "ty": "gr",
16420 "it": [
16421 {
16422 "ty": "sh",
16423 "d": 1,
16424 "ks": {
16425 "a": 0,
16426 "k": {
16427 "c": true,
16428 "v": [
16429 [-66, -10],
16430 [66, -10],
16431 [70, -6],
16432 [70, 6],
16433 [66, 10],
16434 [-66, 10],
16435 [-70, 6],
16436 [-70, -6],
16437 [-66, -10]
16438 ],
16439 "i": [
16440 [0, 0],
16441 [0, 0],
16442 [0, -2.209],
16443 [0, 0],
16444 [2.209, 0],
16445 [0, 0],
16446 [0, 2.209],
16447 [0, 0],
16448 [-2.209, 0]
16449 ],
16450 "o": [
16451 [0, 0],
16452 [2.209, 0],
16453 [0, 0],
16454 [0, 2.209],
16455 [0, 0],
16456 [-2.209, 0],
16457 [0, 0],
16458 [0, -2.209],
16459 [0, 0]
16460 ]
16461 }
16462 }
16463 },
16464 {
16465 "ty": "fl",
16466 "c": {
16467 "a": 0,
16468 "k": [
16469 .82,
16470 1,
16471 .71
16472 ],
16473 "ix": 2
16474 },
16475 "o": {
16476 "a": 0,
16477 "k": 100,
16478 "ix": 2
16479 },
16480 "r": 1,
16481 "bm": 0
16482 },
16483 {
16484 "ty": "tr",
16485 "p": {
16486 "a": 0,
16487 "k": [733.82, 120.5],
16488 "ix": 2
16489 },
16490 "o": {
16491 "a": 0,
16492 "k": 100,
16493 "ix": 2
16494 }
16495 }
16496 ]
16497 },
16498 {
16499 "ty": "gr",
16500 "it": [
16501 {
16502 "ty": "sh",
16503 "d": 1,
16504 "ks": {
16505 "a": 0,
16506 "k": {
16507 "c": true,
16508 "v": [
16509 [-66, -10],
16510 [66, -10],
16511 [70, -6],
16512 [70, 6],
16513 [66, 10],
16514 [-66, 10],
16515 [-70, 6],
16516 [-70, -6],
16517 [-66, -10]
16518 ],
16519 "i": [
16520 [0, 0],
16521 [0, 0],
16522 [0, -2.209],
16523 [0, 0],
16524 [2.209, 0],
16525 [0, 0],
16526 [0, 2.209],
16527 [0, 0],
16528 [-2.209, 0]
16529 ],
16530 "o": [
16531 [0, 0],
16532 [2.209, 0],
16533 [0, 0],
16534 [0, 2.209],
16535 [0, 0],
16536 [-2.209, 0],
16537 [0, 0],
16538 [0, -2.209],
16539 [0, 0]
16540 ]
16541 }
16542 }
16543 },
16544 {
16545 "ty": "fl",
16546 "c": {
16547 "a": 0,
16548 "k": [
16549 1,
16550 1,
16551 1
16552 ],
16553 "ix": 2
16554 },
16555 "o": {
16556 "a": 0,
16557 "k": 100,
16558 "ix": 2
16559 },
16560 "r": 1,
16561 "bm": 0
16562 },
16563 {
16564 "ty": "tr",
16565 "p": {
16566 "a": 0,
16567 "k": [733.82, 120.5],
16568 "ix": 2
16569 },
16570 "o": {
16571 "a": 0,
16572 "k": 100,
16573 "ix": 2
16574 }
16575 }
16576 ]
16577 },
16578 {
16579 "ty": "tr",
16580 "p": {
16581 "a": 1,
16582 "k": [
16583 {
16584 "t": 540,
16585 "s": [592, 296],
16586 "i": {
16587 "x": [.75],
16588 "y": [.75]
16589 },
16590 "o": {
16591 "x": [.25],
16592 "y": [.25]
16593 }
16594 },
16595 {
16596 "t": 584,
16597 "s": [592, 396],
16598 "i": {
16599 "x": [.75],
16600 "y": [.75]
16601 },
16602 "o": {
16603 "x": [.25],
16604 "y": [.25]
16605 }
16606 },
16607 {
16608 "t": 600,
16609 "s": [592, 396],
16610 "h": 1
16611 },
16612 {
16613 "t": 620,
16614 "s": [592, 347],
16615 "h": 1
16616 }
16617 ],
16618 "ix": 2
16619 },
16620 "a": {
16621 "a": 0,
16622 "k": [733.82, 141.5],
16623 "ix": 2
16624 },
16625 "s": {
16626 "a": 1,
16627 "k": [
16628 {
16629 "t": 540,
16630 "s": [399, 399],
16631 "i": {
16632 "x": [.75],
16633 "y": [.75]
16634 },
16635 "o": {
16636 "x": [.25],
16637 "y": [.25]
16638 }
16639 },
16640 {
16641 "t": 560,
16642 "s": [373, 373],
16643 "i": {
16644 "x": [.75],
16645 "y": [.75]
16646 },
16647 "o": {
16648 "x": [.25],
16649 "y": [.25]
16650 }
16651 },
16652 {
16653 "t": 584,
16654 "s": [399, 399]
16655 }
16656 ],
16657 "ix": 2
16658 },
16659 "o": {
16660 "a": 0,
16661 "k": 100,
16662 "ix": 2
16663 }
16664 }
16665 ]
16666 }],
16667 "ip": 0,
16668 "op": 877,
16669 "st": 0
16670 },
16671 {
16672 "ddd": 0,
16673 "ind": 35,
16674 "ty": 4,
16675 "sr": 1,
16676 "ks": { "o": {
16677 "a": 1,
16678 "k": [{
16679 "t": 0,
16680 "s": [0],
16681 "h": 1
16682 }, {
16683 "t": 732,
16684 "s": [100],
16685 "h": 1
16686 }],
16687 "ix": 2
16688 } },
16689 "ao": 0,
16690 "shapes": [{
16691 "ty": "gr",
16692 "it": [
16693 {
16694 "ty": "gr",
16695 "it": [{
16696 "ty": "gr",
16697 "it": [
16698 {
16699 "ty": "gr",
16700 "it": [{
16701 "ty": "sh",
16702 "d": 1,
16703 "ks": {
16704 "a": 0,
16705 "k": {
16706 "c": true,
16707 "v": [
16708 [15.39, 3.54],
16709 [13.71, 1.89],
16710 [13.71, -.67],
16711 [12.68, -.67],
16712 [12.68, -1.5],
16713 [13.71, -1.5],
16714 [13.71, -3.08],
16715 [14.68, -3.08],
16716 [14.68, -1.5],
16717 [16.17, -1.5],
16718 [16.17, -.67],
16719 [14.68, -.67],
16720 [14.68, 1.85],
16721 [15.46, 2.69],
16722 [16.17, 2.69],
16723 [16.17, 3.54],
16724 [15.39, 3.54]
16725 ],
16726 "i": [
16727 [0, 0],
16728 [0, 1.03],
16729 [0, 0],
16730 [0, 0],
16731 [0, 0],
16732 [0, 0],
16733 [0, 0],
16734 [0, 0],
16735 [0, 0],
16736 [0, 0],
16737 [0, 0],
16738 [0, 0],
16739 [0, 0],
16740 [-.48, 0],
16741 [0, 0],
16742 [0, 0],
16743 [0, 0]
16744 ],
16745 "o": [
16746 [-1.02, 0],
16747 [0, 0],
16748 [0, 0],
16749 [0, 0],
16750 [0, 0],
16751 [0, 0],
16752 [0, 0],
16753 [0, 0],
16754 [0, 0],
16755 [0, 0],
16756 [0, 0],
16757 [0, 0],
16758 [0, .54],
16759 [0, 0],
16760 [0, 0],
16761 [0, 0],
16762 [0, 0]
16763 ]
16764 }
16765 }
16766 }, {
16767 "ty": "tr",
16768 "o": {
16769 "a": 0,
16770 "k": 100,
16771 "ix": 2
16772 }
16773 }]
16774 },
16775 {
16776 "ty": "gr",
16777 "it": [{
16778 "ty": "sh",
16779 "d": 1,
16780 "ks": {
16781 "a": 0,
16782 "k": {
16783 "c": true,
16784 "v": [
16785 [10.84, -3.62],
16786 [11.92, -3.62],
16787 [11.92, -2.4],
16788 [10.84, -2.4],
16789 [10.84, -3.62]
16790 ],
16791 "i": [
16792 [0, 0],
16793 [0, 0],
16794 [0, 0],
16795 [0, 0],
16796 [0, 0]
16797 ],
16798 "o": [
16799 [0, 0],
16800 [0, 0],
16801 [0, 0],
16802 [0, 0],
16803 [0, 0]
16804 ]
16805 }
16806 }
16807 }, {
16808 "ty": "tr",
16809 "o": {
16810 "a": 0,
16811 "k": 100,
16812 "ix": 2
16813 }
16814 }]
16815 },
16816 {
16817 "ty": "gr",
16818 "it": [{
16819 "ty": "sh",
16820 "d": 1,
16821 "ks": {
16822 "a": 0,
16823 "k": {
16824 "c": true,
16825 "v": [
16826 [10.9, 3.54],
16827 [10.9, -1.5],
16828 [11.87, -1.5],
16829 [11.87, 3.54],
16830 [10.9, 3.54]
16831 ],
16832 "i": [
16833 [0, 0],
16834 [0, 0],
16835 [0, 0],
16836 [0, 0],
16837 [0, 0]
16838 ],
16839 "o": [
16840 [0, 0],
16841 [0, 0],
16842 [0, 0],
16843 [0, 0],
16844 [0, 0]
16845 ]
16846 }
16847 }
16848 }, {
16849 "ty": "tr",
16850 "o": {
16851 "a": 0,
16852 "k": 100,
16853 "ix": 2
16854 }
16855 }]
16856 },
16857 {
16858 "ty": "gr",
16859 "it": [{
16860 "ty": "sh",
16861 "d": 1,
16862 "ks": {
16863 "a": 0,
16864 "k": {
16865 "c": true,
16866 "v": [
16867 [2.05, 3.54],
16868 [2.05, -1.5],
16869 [3.02, -1.5],
16870 [3.02, -.61],
16871 [4.53, -1.58],
16872 [6.14, -.55],
16873 [7.78, -1.58],
16874 [9.55, .34],
16875 [9.55, 3.54],
16876 [8.58, 3.54],
16877 [8.58, .6],
16878 [7.51, -.73],
16879 [6.28, .79],
16880 [6.28, 3.54],
16881 [5.31, 3.54],
16882 [5.31, .6],
16883 [4.25, -.73],
16884 [3.02, .79],
16885 [3.02, 3.54],
16886 [2.05, 3.54]
16887 ],
16888 "i": [
16889 [0, 0],
16890 [0, 0],
16891 [0, 0],
16892 [0, 0],
16893 [-.75, 0],
16894 [-.2, -.66],
16895 [-.73, 0],
16896 [0, -1.17],
16897 [0, 0],
16898 [0, 0],
16899 [0, 0],
16900 [.67, 0],
16901 [0, -.8],
16902 [0, 0],
16903 [0, 0],
16904 [0, 0],
16905 [.66, 0],
16906 [0, -.8],
16907 [0, 0],
16908 [0, 0]
16909 ],
16910 "o": [
16911 [0, 0],
16912 [0, 0],
16913 [0, 0],
16914 [.21, -.57],
16915 [.77, 0],
16916 [.21, -.6],
16917 [1.09, 0],
16918 [0, 0],
16919 [0, 0],
16920 [0, 0],
16921 [0, -.8],
16922 [-.77, 0],
16923 [0, 0],
16924 [0, 0],
16925 [0, 0],
16926 [0, -.8],
16927 [-.77, 0],
16928 [0, 0],
16929 [0, 0],
16930 [0, 0]
16931 ]
16932 }
16933 }
16934 }, {
16935 "ty": "tr",
16936 "o": {
16937 "a": 0,
16938 "k": 100,
16939 "ix": 2
16940 }
16941 }]
16942 },
16943 {
16944 "ty": "gr",
16945 "it": [{
16946 "ty": "sh",
16947 "d": 1,
16948 "ks": {
16949 "a": 0,
16950 "k": {
16951 "c": true,
16952 "v": [
16953 [-1.58, 2.77],
16954 [-.04, 1.01],
16955 [-1.58, -.73],
16956 [-3.13, 1.01],
16957 [-1.58, 2.77]
16958 ],
16959 "i": [
16960 [0, 0],
16961 [0, 1.05],
16962 [.93, 0],
16963 [0, -1.05],
16964 [-.93, 0]
16965 ],
16966 "o": [
16967 [.93, 0],
16968 [0, -1.05],
16969 [-.93, 0],
16970 [0, 1.05],
16971 [0, 0]
16972 ]
16973 }
16974 }
16975 }, {
16976 "ty": "tr",
16977 "o": {
16978 "a": 0,
16979 "k": 100,
16980 "ix": 2
16981 }
16982 }]
16983 },
16984 {
16985 "ty": "gr",
16986 "it": [{
16987 "ty": "sh",
16988 "d": 1,
16989 "ks": {
16990 "a": 0,
16991 "k": {
16992 "c": true,
16993 "v": [
16994 [-1.43, 3.62],
16995 [-3.06, 2.79],
16996 [-3.06, 3.54],
16997 [-4.03, 3.54],
16998 [-4.03, -3.62],
16999 [-3.06, -3.62],
17000 [-3.06, -.77],
17001 [-1.45, -1.58],
17002 [.94, 1.01],
17003 [-1.43, 3.62]
17004 ],
17005 "i": [
17006 [0, 0],
17007 [.3, .5],
17008 [0, 0],
17009 [0, 0],
17010 [0, 0],
17011 [0, 0],
17012 [0, 0],
17013 [-.67, 0],
17014 [0, -1.49],
17015 [1.51, 0]
17016 ],
17017 "o": [
17018 [-.68, 0],
17019 [0, 0],
17020 [0, 0],
17021 [0, 0],
17022 [0, 0],
17023 [0, 0],
17024 [.31, -.5],
17025 [1.52, 0],
17026 [0, 1.49],
17027 [0, 0]
17028 ]
17029 }
17030 }
17031 }, {
17032 "ty": "tr",
17033 "o": {
17034 "a": 0,
17035 "k": 100,
17036 "ix": 2
17037 }
17038 }]
17039 },
17040 {
17041 "ty": "gr",
17042 "it": [{
17043 "ty": "sh",
17044 "d": 1,
17045 "ks": {
17046 "a": 0,
17047 "k": {
17048 "c": true,
17049 "v": [
17050 [-8.04, 3.62],
17051 [-9.91, 1.59],
17052 [-9.91, -1.5],
17053 [-8.95, -1.5],
17054 [-8.95, 1.41],
17055 [-7.76, 2.75],
17056 [-6.4, 1.23],
17057 [-6.4, -1.5],
17058 [-5.43, -1.5],
17059 [-5.43, 3.54],
17060 [-6.4, 3.54],
17061 [-6.4, 2.65],
17062 [-8.04, 3.62]
17063 ],
17064 "i": [
17065 [0, 0],
17066 [0, 1.2],
17067 [0, 0],
17068 [0, 0],
17069 [0, 0],
17070 [-.71, 0],
17071 [0, .88],
17072 [0, 0],
17073 [0, 0],
17074 [0, 0],
17075 [0, 0],
17076 [0, 0],
17077 [.75, 0]
17078 ],
17079 "o": [
17080 [-1.14, 0],
17081 [0, 0],
17082 [0, 0],
17083 [0, 0],
17084 [0, .8],
17085 [.79, 0],
17086 [0, 0],
17087 [0, 0],
17088 [0, 0],
17089 [0, 0],
17090 [0, 0],
17091 [-.27, .63],
17092 [0, 0]
17093 ]
17094 }
17095 }
17096 }, {
17097 "ty": "tr",
17098 "o": {
17099 "a": 0,
17100 "k": 100,
17101 "ix": 2
17102 }
17103 }]
17104 },
17105 {
17106 "ty": "gr",
17107 "it": [{
17108 "ty": "sh",
17109 "d": 1,
17110 "ks": {
17111 "a": 0,
17112 "k": {
17113 "c": true,
17114 "v": [
17115 [-13.48, 3.62],
17116 [-16.17, 1.22],
17117 [-15.16, 1.22],
17118 [-13.48, 2.69],
17119 [-11.98, 1.59],
17120 [-15.96, -1.64],
17121 [-13.56, -3.54],
17122 [-11.06, -1.44],
17123 [-12.07, -1.44],
17124 [-13.56, -2.63],
17125 [-14.91, -1.65],
17126 [-10.92, 1.58],
17127 [-13.48, 3.62]
17128 ],
17129 "i": [
17130 [0, 0],
17131 [.08, 1.45],
17132 [0, 0],
17133 [-1.07, 0],
17134 [0, .76],
17135 [0, 2.63],
17136 [-1.41, 0],
17137 [-.09, -1.28],
17138 [0, 0],
17139 [.86, 0],
17140 [0, -.6],
17141 [0, -2.74],
17142 [1.5, 0]
17143 ],
17144 "o": [
17145 [-1.66, 0],
17146 [0, 0],
17147 [.08, .9],
17148 [.88, 0],
17149 [0, -1.75],
17150 [0, -1.14],
17151 [1.43, 0],
17152 [0, 0],
17153 [-.07, -.72],
17154 [-.84, 0],
17155 [0, 1.76],
17156 [0, 1.28],
17157 [0, 0]
17158 ]
17159 }
17160 }
17161 }, {
17162 "ty": "tr",
17163 "o": {
17164 "a": 0,
17165 "k": 100,
17166 "ix": 2
17167 }
17168 }]
17169 },
17170 {
17171 "ty": "fl",
17172 "c": {
17173 "a": 0,
17174 "k": [
17175 1,
17176 1,
17177 1
17178 ],
17179 "ix": 2
17180 },
17181 "o": {
17182 "a": 0,
17183 "k": 100,
17184 "ix": 2
17185 },
17186 "r": 1,
17187 "bm": 0
17188 },
17189 {
17190 "ty": "tr",
17191 "o": {
17192 "a": 0,
17193 "k": 100,
17194 "ix": 2
17195 }
17196 }
17197 ]
17198 }, {
17199 "ty": "tr",
17200 "p": {
17201 "a": 0,
17202 "k": [734.38, 174.97],
17203 "ix": 2
17204 },
17205 "o": {
17206 "a": 0,
17207 "k": 100,
17208 "ix": 2
17209 }
17210 }]
17211 },
17212 {
17213 "ty": "gr",
17214 "it": [
17215 {
17216 "ty": "sh",
17217 "d": 1,
17218 "ks": {
17219 "a": 0,
17220 "k": {
17221 "c": true,
17222 "v": [
17223 [-26.5, -10.5],
17224 [26.5, -10.5],
17225 [28.5, -8.5],
17226 [28.5, 8.5],
17227 [26.5, 10.5],
17228 [-26.5, 10.5],
17229 [-28.5, 8.5],
17230 [-28.5, -8.5],
17231 [-26.5, -10.5]
17232 ],
17233 "i": [
17234 [0, 0],
17235 [0, 0],
17236 [0, -1.105],
17237 [0, 0],
17238 [1.105, 0],
17239 [0, 0],
17240 [0, 1.105],
17241 [0, 0],
17242 [-1.105, 0]
17243 ],
17244 "o": [
17245 [0, 0],
17246 [1.105, 0],
17247 [0, 0],
17248 [0, 1.105],
17249 [0, 0],
17250 [-1.105, 0],
17251 [0, 0],
17252 [0, -1.105],
17253 [0, 0]
17254 ]
17255 }
17256 }
17257 },
17258 {
17259 "ty": "fl",
17260 "c": {
17261 "a": 0,
17262 "k": [
17263 .012,
17264 .18,
17265 .193
17266 ],
17267 "ix": 2
17268 },
17269 "o": {
17270 "a": 0,
17271 "k": 100,
17272 "ix": 2
17273 },
17274 "r": 1,
17275 "bm": 0
17276 },
17277 {
17278 "ty": "tr",
17279 "p": {
17280 "a": 0,
17281 "k": [734.32, 175],
17282 "ix": 2
17283 },
17284 "o": {
17285 "a": 0,
17286 "k": 100,
17287 "ix": 2
17288 }
17289 }
17290 ]
17291 },
17292 {
17293 "ty": "tr",
17294 "p": {
17295 "a": 0,
17296 "k": [592, 296],
17297 "ix": 2
17298 },
17299 "a": {
17300 "a": 0,
17301 "k": [733.82, 141.5],
17302 "ix": 2
17303 },
17304 "s": {
17305 "a": 0,
17306 "k": [399, 399],
17307 "ix": 2
17308 },
17309 "o": {
17310 "a": 0,
17311 "k": 100,
17312 "ix": 2
17313 }
17314 }
17315 ]
17316 }],
17317 "ip": 0,
17318 "op": 877,
17319 "st": 0
17320 },
17321 {
17322 "ddd": 0,
17323 "refId": "k",
17324 "ind": 36,
17325 "ty": 2,
17326 "sr": 1,
17327 "ks": {
17328 "p": {
17329 "a": 0,
17330 "k": [592, 296],
17331 "ix": 2
17332 },
17333 "a": {
17334 "a": 0,
17335 "k": [448, 224],
17336 "ix": 2
17337 },
17338 "o": {
17339 "a": 1,
17340 "k": [{
17341 "t": 0,
17342 "s": [0],
17343 "h": 1
17344 }, {
17345 "t": 732,
17346 "s": [100],
17347 "h": 1
17348 }],
17349 "ix": 2
17350 }
17351 },
17352 "ao": 0,
17353 "ip": 0,
17354 "op": 877,
17355 "st": 0
17356 }
17357 ]
17358 },
17359 {
17360 "id": "l",
17361 "layers": [{
17362 "ddd": 0,
17363 "refId": "m",
17364 "w": 344,
17365 "h": 54,
17366 "ind": 37,
17367 "ty": 0,
17368 "sr": 1,
17369 "ks": {
17370 "p": {
17371 "a": 0,
17372 "k": [19, 14],
17373 "ix": 2
17374 },
17375 "o": {
17376 "a": 1,
17377 "k": [{
17378 "t": 0,
17379 "s": [0],
17380 "h": 1
17381 }, {
17382 "t": 732,
17383 "s": [100],
17384 "h": 1
17385 }],
17386 "ix": 2
17387 }
17388 },
17389 "ao": 0,
17390 "ip": 0,
17391 "op": 877,
17392 "st": 0
17393 }, {
17394 "ddd": 0,
17395 "ind": 38,
17396 "ty": 4,
17397 "sr": 1,
17398 "ks": {
17399 "p": {
17400 "a": 0,
17401 "k": [19, 14],
17402 "ix": 2
17403 },
17404 "o": {
17405 "a": 0,
17406 "k": 100,
17407 "ix": 2
17408 }
17409 },
17410 "ao": 0,
17411 "shapes": [{
17412 "ty": "rc",
17413 "d": 1,
17414 "s": {
17415 "a": 0,
17416 "k": [80, 78],
17417 "ix": 2
17418 },
17419 "p": {
17420 "a": 0,
17421 "k": [21, 25],
17422 "ix": 2
17423 },
17424 "r": {
17425 "a": 0,
17426 "k": 0,
17427 "ix": 2
17428 }
17429 }, {
17430 "ty": "fl",
17431 "c": {
17432 "a": 0,
17433 "k": [
17434 0,
17435 0,
17436 0
17437 ],
17438 "ix": 2
17439 },
17440 "o": {
17441 "a": 0,
17442 "k": 0,
17443 "ix": 2
17444 },
17445 "r": 1,
17446 "bm": 0
17447 }],
17448 "ip": 0,
17449 "op": 877,
17450 "st": 0
17451 }]
17452 },
17453 {
17454 "id": "h",
17455 "layers": [{
17456 "ddd": 0,
17457 "ind": 39,
17458 "ty": 4,
17459 "sr": 1,
17460 "ks": {
17461 "p": {
17462 "a": 0,
17463 "k": [19, 14],
17464 "ix": 2
17465 },
17466 "o": {
17467 "a": 0,
17468 "k": 100,
17469 "ix": 2
17470 }
17471 },
17472 "td": 1,
17473 "ao": 0,
17474 "shapes": [{
17475 "ty": "gr",
17476 "it": [
17477 {
17478 "ty": "sh",
17479 "d": 1,
17480 "ks": {
17481 "a": 0,
17482 "k": {
17483 "c": true,
17484 "v": [
17485 [60.87, -13.86],
17486 [-18.99, -13.86],
17487 [-18.99, 63.49],
17488 [60.87, 63.49],
17489 [60.87, -13.86]
17490 ],
17491 "i": [
17492 [0, 0],
17493 [0, 0],
17494 [0, 0],
17495 [0, 0],
17496 [0, 0]
17497 ],
17498 "o": [
17499 [0, 0],
17500 [0, 0],
17501 [0, 0],
17502 [0, 0],
17503 [0, 0]
17504 ]
17505 }
17506 }
17507 },
17508 {
17509 "ty": "fl",
17510 "c": {
17511 "a": 0,
17512 "k": [
17513 0,
17514 0,
17515 0
17516 ],
17517 "ix": 2
17518 },
17519 "o": {
17520 "a": 0,
17521 "k": 100,
17522 "ix": 2
17523 },
17524 "r": 1,
17525 "bm": 0
17526 },
17527 {
17528 "ty": "tr",
17529 "o": {
17530 "a": 0,
17531 "k": 100,
17532 "ix": 2
17533 }
17534 }
17535 ]
17536 }],
17537 "ip": 0,
17538 "op": 877,
17539 "st": 0
17540 }, {
17541 "ddd": 0,
17542 "refId": "l",
17543 "w": 80,
17544 "h": 78,
17545 "ind": 30,
17546 "ty": 0,
17547 "sr": 1,
17548 "ks": {
17549 "p": {
17550 "a": 0,
17551 "k": [21, 25],
17552 "ix": 2
17553 },
17554 "a": {
17555 "a": 0,
17556 "k": [21, 25],
17557 "ix": 2
17558 },
17559 "o": {
17560 "a": 0,
17561 "k": 100,
17562 "ix": 2
17563 }
17564 },
17565 "ao": 0,
17566 "ip": 0,
17567 "op": 877,
17568 "st": 0,
17569 "tt": 1
17570 }]
17571 },
17572 {
17573 "id": "m",
17574 "layers": [
17575 {
17576 "ddd": 0,
17577 "ind": 40,
17578 "ty": 4,
17579 "sr": 1,
17580 "ks": { "o": {
17581 "a": 1,
17582 "k": [{
17583 "t": 0,
17584 "s": [0],
17585 "h": 1
17586 }, {
17587 "t": 644,
17588 "s": [100],
17589 "h": 1
17590 }],
17591 "ix": 2
17592 } },
17593 "ao": 0,
17594 "shapes": [{
17595 "ty": "gr",
17596 "it": [{
17597 "ty": "gr",
17598 "it": [
17599 {
17600 "ty": "sh",
17601 "d": 1,
17602 "ks": {
17603 "a": 0,
17604 "k": {
17605 "c": false,
17606 "v": [
17607 [-17.45, 0],
17608 [-4.76, 15.87],
17609 [17.45, -15.87]
17610 ],
17611 "i": [
17612 [0, 0],
17613 [0, 0],
17614 [0, 0]
17615 ],
17616 "o": [
17617 [0, 0],
17618 [0, 0],
17619 [0, 0]
17620 ]
17621 }
17622 }
17623 },
17624 {
17625 "ty": "st",
17626 "c": {
17627 "a": 0,
17628 "k": [
17629 .13,
17630 .13,
17631 .13
17632 ],
17633 "ix": 2
17634 },
17635 "o": {
17636 "a": 0,
17637 "k": 100,
17638 "ix": 2
17639 },
17640 "w": {
17641 "a": 0,
17642 "k": 5.5,
17643 "ix": 2
17644 },
17645 "lc": 2,
17646 "lj": 2,
17647 "ml": 4
17648 },
17649 {
17650 "ty": "tr",
17651 "o": {
17652 "a": 0,
17653 "k": 100,
17654 "ix": 2
17655 }
17656 }
17657 ]
17658 }, {
17659 "ty": "tr",
17660 "p": {
17661 "a": 0,
17662 "k": [26.46, 27.72],
17663 "ix": 2
17664 },
17665 "o": {
17666 "a": 0,
17667 "k": 100,
17668 "ix": 2
17669 }
17670 }]
17671 }],
17672 "ip": 0,
17673 "op": 877,
17674 "st": 0
17675 },
17676 {
17677 "ddd": 0,
17678 "ind": 41,
17679 "ty": 4,
17680 "sr": 1,
17681 "ks": { "o": {
17682 "a": 1,
17683 "k": [{
17684 "t": 0,
17685 "s": [0],
17686 "h": 1
17687 }, {
17688 "t": 644,
17689 "s": [100],
17690 "h": 1
17691 }],
17692 "ix": 2
17693 } },
17694 "ao": 0,
17695 "shapes": [{
17696 "ty": "gr",
17697 "it": [{
17698 "ty": "gr",
17699 "it": [{
17700 "ty": "gr",
17701 "it": [
17702 {
17703 "ty": "gr",
17704 "it": [{
17705 "ty": "sh",
17706 "d": 1,
17707 "ks": {
17708 "a": 0,
17709 "k": {
17710 "c": true,
17711 "v": [
17712 [432.63, -160.38],
17713 [428.36, -160.38],
17714 [435.56, -170.78],
17715 [428.92, -180.3],
17716 [433.3, -180.3],
17717 [437.73, -173.9],
17718 [442.16, -180.3],
17719 [446.51, -180.3],
17720 [439.9, -170.82],
17721 [447.1, -160.38],
17722 [442.79, -160.38],
17723 [437.73, -167.69],
17724 [432.63, -160.38]
17725 ],
17726 "i": [
17727 [0, 0],
17728 [0, 0],
17729 [0, 0],
17730 [0, 0],
17731 [0, 0],
17732 [0, 0],
17733 [0, 0],
17734 [0, 0],
17735 [0, 0],
17736 [0, 0],
17737 [0, 0],
17738 [0, 0],
17739 [0, 0]
17740 ],
17741 "o": [
17742 [0, 0],
17743 [0, 0],
17744 [0, 0],
17745 [0, 0],
17746 [0, 0],
17747 [0, 0],
17748 [0, 0],
17749 [0, 0],
17750 [0, 0],
17751 [0, 0],
17752 [0, 0],
17753 [0, 0],
17754 [0, 0]
17755 ]
17756 }
17757 }
17758 }, {
17759 "ty": "tr",
17760 "o": {
17761 "a": 0,
17762 "k": 100,
17763 "ix": 2
17764 }
17765 }]
17766 },
17767 {
17768 "ty": "gr",
17769 "it": [{
17770 "ty": "sh",
17771 "d": 1,
17772 "ks": {
17773 "a": 0,
17774 "k": {
17775 "c": true,
17776 "v": [
17777 [417.32, -163.43],
17778 [423.65, -170.34],
17779 [417.32, -177.26],
17780 [410.96, -170.34],
17781 [417.32, -163.43]
17782 ],
17783 "i": [
17784 [0, 0],
17785 [0, 4.071],
17786 [3.755, 0],
17787 [0, -4.071],
17788 [-3.795, 0]
17789 ],
17790 "o": [
17791 [3.755, 0],
17792 [0, -4.071],
17793 [-3.795, 0],
17794 [0, 4.071],
17795 [0, 0]
17796 ]
17797 }
17798 }
17799 }, {
17800 "ty": "tr",
17801 "o": {
17802 "a": 0,
17803 "k": 100,
17804 "ix": 2
17805 }
17806 }]
17807 },
17808 {
17809 "ty": "gr",
17810 "it": [{
17811 "ty": "sh",
17812 "d": 1,
17813 "ks": {
17814 "a": 0,
17815 "k": {
17816 "c": true,
17817 "v": [
17818 [417.32, -160.07],
17819 [407.05, -170.34],
17820 [417.32, -180.62],
17821 [427.56, -170.34],
17822 [417.32, -160.07]
17823 ],
17824 "i": [
17825 [0, 0],
17826 [0, 5.969],
17827 [-5.969, 0],
17828 [0, -5.969],
17829 [5.969, 0]
17830 ],
17831 "o": [
17832 [-5.969, 0],
17833 [0, -5.969],
17834 [5.969, 0],
17835 [0, 5.969],
17836 [0, 0]
17837 ]
17838 }
17839 }
17840 }, {
17841 "ty": "tr",
17842 "o": {
17843 "a": 0,
17844 "k": 100,
17845 "ix": 2
17846 }
17847 }]
17848 },
17849 {
17850 "ty": "gr",
17851 "it": [{
17852 "ty": "sh",
17853 "d": 1,
17854 "ks": {
17855 "a": 0,
17856 "k": {
17857 "c": true,
17858 "v": [
17859 [394.02, -163.43],
17860 [400.15, -170.34],
17861 [394.02, -177.26],
17862 [387.9, -170.34],
17863 [394.02, -163.43]
17864 ],
17865 "i": [
17866 [0, 0],
17867 [0, 4.15],
17868 [3.676, 0],
17869 [0, -4.15],
17870 [-3.676, 0]
17871 ],
17872 "o": [
17873 [3.676, 0],
17874 [0, -4.15],
17875 [-3.676, 0],
17876 [0, 4.15],
17877 [0, 0]
17878 ]
17879 }
17880 }
17881 }, {
17882 "ty": "tr",
17883 "o": {
17884 "a": 0,
17885 "k": 100,
17886 "ix": 2
17887 }
17888 }]
17889 },
17890 {
17891 "ty": "gr",
17892 "it": [{
17893 "ty": "sh",
17894 "d": 1,
17895 "ks": {
17896 "a": 0,
17897 "k": {
17898 "c": true,
17899 "v": [
17900 [394.62, -160.07],
17901 [388.21, -163.35],
17902 [388.21, -160.38],
17903 [384.38, -160.38],
17904 [384.38, -188.65],
17905 [388.21, -188.65],
17906 [388.21, -177.38],
17907 [394.58, -180.62],
17908 [404.02, -170.34],
17909 [394.62, -160.07]
17910 ],
17911 "i": [
17912 [0, 0],
17913 [1.186, 1.976],
17914 [0, 0],
17915 [0, 0],
17916 [0, 0],
17917 [0, 0],
17918 [0, 0],
17919 [-2.648, 0],
17920 [0, -5.89],
17921 [5.969, 0]
17922 ],
17923 "o": [
17924 [-2.688, 0],
17925 [0, 0],
17926 [0, 0],
17927 [0, 0],
17928 [0, 0],
17929 [0, 0],
17930 [1.225, -1.976],
17931 [6.008, 0],
17932 [0, 5.89],
17933 [0, 0]
17934 ]
17935 }
17936 }
17937 }, {
17938 "ty": "tr",
17939 "o": {
17940 "a": 0,
17941 "k": 100,
17942 "ix": 2
17943 }
17944 }]
17945 },
17946 {
17947 "ty": "gr",
17948 "it": [{
17949 "ty": "sh",
17950 "d": 1,
17951 "ks": {
17952 "a": 0,
17953 "k": {
17954 "c": true,
17955 "v": [
17956 [363.38, -160.07],
17957 [355.36, -166.87],
17958 [358.87, -166.87],
17959 [363.34, -163.19],
17960 [367.25, -166.11],
17961 [355.87, -174.69],
17962 [362.98, -180.62],
17963 [370.69, -174.41],
17964 [367.17, -174.41],
17965 [363.02, -177.62],
17966 [359.43, -174.85],
17967 [370.85, -166.31],
17968 [363.38, -160.07]
17969 ],
17970 "i": [
17971 [0, 0],
17972 [.316, 4.309],
17973 [0, 0],
17974 [-2.569, 0],
17975 [0, 1.779],
17976 [0, 7.945],
17977 [-4.15, 0],
17978 [-.277, -3.874],
17979 [0, 0],
17980 [2.293, 0],
17981 [0, -1.779],
17982 [0, -8.301],
17983 [4.625, 0]
17984 ],
17985 "o": [
17986 [-4.822, 0],
17987 [0, 0],
17988 [.198, 2.293],
17989 [2.372, 0],
17990 [0, -4.862],
17991 [0, -3.518],
17992 [4.625, 0],
17993 [0, 0],
17994 [-.198, -1.937],
17995 [-1.976, 0],
17996 [0, 4.704],
17997 [0, 3.834],
17998 [0, 0]
17999 ]
18000 }
18001 }
18002 }, {
18003 "ty": "tr",
18004 "o": {
18005 "a": 0,
18006 "k": 100,
18007 "ix": 2
18008 }
18009 }]
18010 },
18011 {
18012 "ty": "gr",
18013 "it": [{
18014 "ty": "sh",
18015 "d": 1,
18016 "ks": {
18017 "a": 0,
18018 "k": {
18019 "c": true,
18020 "v": [
18021 [347.16, -188.65],
18022 [351.43, -188.65],
18023 [351.43, -183.82],
18024 [347.16, -183.82],
18025 [347.16, -188.65]
18026 ],
18027 "i": [
18028 [0, 0],
18029 [0, 0],
18030 [0, 0],
18031 [0, 0],
18032 [0, 0]
18033 ],
18034 "o": [
18035 [0, 0],
18036 [0, 0],
18037 [0, 0],
18038 [0, 0],
18039 [0, 0]
18040 ]
18041 }
18042 }
18043 }, {
18044 "ty": "tr",
18045 "o": {
18046 "a": 0,
18047 "k": 100,
18048 "ix": 2
18049 }
18050 }]
18051 },
18052 {
18053 "ty": "gr",
18054 "it": [{
18055 "ty": "sh",
18056 "d": 1,
18057 "ks": {
18058 "a": 0,
18059 "k": {
18060 "c": true,
18061 "v": [
18062 [347.4, -160.38],
18063 [347.4, -180.3],
18064 [351.23, -180.3],
18065 [351.23, -160.38],
18066 [347.4, -160.38]
18067 ],
18068 "i": [
18069 [0, 0],
18070 [0, 0],
18071 [0, 0],
18072 [0, 0],
18073 [0, 0]
18074 ],
18075 "o": [
18076 [0, 0],
18077 [0, 0],
18078 [0, 0],
18079 [0, 0],
18080 [0, 0]
18081 ]
18082 }
18083 }
18084 }, {
18085 "ty": "tr",
18086 "o": {
18087 "a": 0,
18088 "k": 100,
18089 "ix": 2
18090 }
18091 }]
18092 },
18093 {
18094 "ty": "gr",
18095 "it": [{
18096 "ty": "sh",
18097 "d": 1,
18098 "ks": {
18099 "a": 0,
18100 "k": {
18101 "c": true,
18102 "v": [
18103 [324.39, -160.38],
18104 [324.39, -188.65],
18105 [328.23, -188.65],
18106 [328.23, -176.79],
18107 [334.63, -180.62],
18108 [342.06, -172.64],
18109 [342.06, -160.38],
18110 [338.23, -160.38],
18111 [338.23, -171.88],
18112 [333.56, -177.18],
18113 [328.23, -171.17],
18114 [328.23, -160.38],
18115 [324.39, -160.38]
18116 ],
18117 "i": [
18118 [0, 0],
18119 [0, 0],
18120 [0, 0],
18121 [0, 0],
18122 [-2.965, 0],
18123 [0, -4.743],
18124 [0, 0],
18125 [0, 0],
18126 [0, 0],
18127 [2.807, 0],
18128 [0, -3.478],
18129 [0, 0],
18130 [0, 0]
18131 ],
18132 "o": [
18133 [0, 0],
18134 [0, 0],
18135 [0, 0],
18136 [1.067, -2.49],
18137 [4.506, 0],
18138 [0, 0],
18139 [0, 0],
18140 [0, 0],
18141 [0, -3.162],
18142 [-3.123, 0],
18143 [0, 0],
18144 [0, 0],
18145 [0, 0]
18146 ]
18147 }
18148 }
18149 }, {
18150 "ty": "tr",
18151 "o": {
18152 "a": 0,
18153 "k": 100,
18154 "ix": 2
18155 }
18156 }]
18157 },
18158 {
18159 "ty": "gr",
18160 "it": [{
18161 "ty": "sh",
18162 "d": 1,
18163 "ks": {
18164 "a": 0,
18165 "k": {
18166 "c": true,
18167 "v": [
18168 [317.52, -160.38],
18169 [310.88, -166.9],
18170 [310.88, -176.98],
18171 [306.81, -176.98],
18172 [306.81, -180.3],
18173 [310.88, -180.3],
18174 [310.88, -186.55],
18175 [314.72, -186.55],
18176 [314.72, -180.3],
18177 [320.61, -180.3],
18178 [320.61, -176.98],
18179 [314.72, -176.98],
18180 [314.72, -167.02],
18181 [317.8, -163.7],
18182 [320.61, -163.7],
18183 [320.61, -160.38],
18184 [317.52, -160.38]
18185 ],
18186 "i": [
18187 [0, 0],
18188 [0, 4.071],
18189 [0, 0],
18190 [0, 0],
18191 [0, 0],
18192 [0, 0],
18193 [0, 0],
18194 [0, 0],
18195 [0, 0],
18196 [0, 0],
18197 [0, 0],
18198 [0, 0],
18199 [0, 0],
18200 [-1.897, 0],
18201 [0, 0],
18202 [0, 0],
18203 [0, 0]
18204 ],
18205 "o": [
18206 [-4.032, 0],
18207 [0, 0],
18208 [0, 0],
18209 [0, 0],
18210 [0, 0],
18211 [0, 0],
18212 [0, 0],
18213 [0, 0],
18214 [0, 0],
18215 [0, 0],
18216 [0, 0],
18217 [0, 0],
18218 [0, 2.135],
18219 [0, 0],
18220 [0, 0],
18221 [0, 0],
18222 [0, 0]
18223 ]
18224 }
18225 }
18226 }, {
18227 "ty": "tr",
18228 "o": {
18229 "a": 0,
18230 "k": 100,
18231 "ix": 2
18232 }
18233 }]
18234 },
18235 {
18236 "ty": "gr",
18237 "it": [{
18238 "ty": "sh",
18239 "d": 1,
18240 "ks": {
18241 "a": 0,
18242 "k": {
18243 "c": true,
18244 "v": [
18245 [279.23, -160.38],
18246 [279.23, -188.65],
18247 [283.06, -188.65],
18248 [283.06, -172.32],
18249 [291.76, -180.3],
18250 [296.74, -180.3],
18251 [288.36, -172.52],
18252 [297.49, -160.38],
18253 [292.75, -160.38],
18254 [285.63, -169.95],
18255 [283.06, -167.58],
18256 [283.06, -160.38],
18257 [279.23, -160.38]
18258 ],
18259 "i": [
18260 [0, 0],
18261 [0, 0],
18262 [0, 0],
18263 [0, 0],
18264 [0, 0],
18265 [0, 0],
18266 [0, 0],
18267 [0, 0],
18268 [0, 0],
18269 [0, 0],
18270 [0, 0],
18271 [0, 0],
18272 [0, 0]
18273 ],
18274 "o": [
18275 [0, 0],
18276 [0, 0],
18277 [0, 0],
18278 [0, 0],
18279 [0, 0],
18280 [0, 0],
18281 [0, 0],
18282 [0, 0],
18283 [0, 0],
18284 [0, 0],
18285 [0, 0],
18286 [0, 0],
18287 [0, 0]
18288 ]
18289 }
18290 }
18291 }, {
18292 "ty": "tr",
18293 "o": {
18294 "a": 0,
18295 "k": 100,
18296 "ix": 2
18297 }
18298 }]
18299 },
18300 {
18301 "ty": "gr",
18302 "it": [{
18303 "ty": "sh",
18304 "d": 1,
18305 "ks": {
18306 "a": 0,
18307 "k": {
18308 "c": true,
18309 "v": [
18310 [265.8, -160.07],
18311 [255.96, -170.34],
18312 [265.8, -180.62],
18313 [275.05, -173.35],
18314 [271.22, -173.35],
18315 [265.88, -177.26],
18316 [259.95, -170.34],
18317 [265.92, -163.43],
18318 [271.26, -167.1],
18319 [275.05, -167.1],
18320 [265.8, -160.07]
18321 ],
18322 "i": [
18323 [0, 0],
18324 [0, 5.494],
18325 [-6.245, 0],
18326 [-.553, -4.506],
18327 [0, 0],
18328 [2.727, 0],
18329 [0, -3.834],
18330 [-3.953, 0],
18331 [-.632, 2.253],
18332 [0, 0],
18333 [5.099, 0]
18334 ],
18335 "o": [
18336 [-6.245, 0],
18337 [0, -5.494],
18338 [4.664, 0],
18339 [0, 0],
18340 [-.356, -2.253],
18341 [-3.953, 0],
18342 [0, 3.834],
18343 [2.727, 0],
18344 [0, 0],
18345 [-.632, 4.19],
18346 [0, 0]
18347 ]
18348 }
18349 }
18350 }, {
18351 "ty": "tr",
18352 "o": {
18353 "a": 0,
18354 "k": 100,
18355 "ix": 2
18356 }
18357 }]
18358 },
18359 {
18360 "ty": "gr",
18361 "it": [{
18362 "ty": "sh",
18363 "d": 1,
18364 "ks": {
18365 "a": 0,
18366 "k": {
18367 "c": true,
18368 "v": [
18369 [237.68, -172.6],
18370 [248.94, -172.6],
18371 [243.41, -177.54],
18372 [237.68, -172.6]
18373 ],
18374 "i": [
18375 [0, 0],
18376 [0, 0],
18377 [3.281, 0],
18378 [.593, -3.241]
18379 ],
18380 "o": [
18381 [0, 0],
18382 [-.237, -3.044],
18383 [-3.083, 0],
18384 [0, 0]
18385 ]
18386 }
18387 }
18388 }, {
18389 "ty": "tr",
18390 "o": {
18391 "a": 0,
18392 "k": 100,
18393 "ix": 2
18394 }
18395 }]
18396 },
18397 {
18398 "ty": "gr",
18399 "it": [{
18400 "ty": "sh",
18401 "d": 1,
18402 "ks": {
18403 "a": 0,
18404 "k": {
18405 "c": true,
18406 "v": [
18407 [243.76, -160.07],
18408 [233.8, -170.46],
18409 [243.41, -180.62],
18410 [252.81, -171.17],
18411 [252.74, -169.63],
18412 [237.56, -169.63],
18413 [243.76, -163.35],
18414 [249.14, -166.87],
18415 [252.97, -166.87],
18416 [243.76, -160.07]
18417 ],
18418 "i": [
18419 [0, 0],
18420 [0, 5.534],
18421 [-6.127, 0],
18422 [0, -5.06],
18423 [.04, -.356],
18424 [0, 0],
18425 [-3.439, 0],
18426 [-.553, 2.253],
18427 [0, 0],
18428 [4.941, 0]
18429 ],
18430 "o": [
18431 [-6.166, 0],
18432 [0, -5.573],
18433 [6.127, 0],
18434 [0, .514],
18435 [0, 0],
18436 [.316, 3.716],
18437 [2.925, 0],
18438 [0, 0],
18439 [-.672, 4.111],
18440 [0, 0]
18441 ]
18442 }
18443 }
18444 }, {
18445 "ty": "tr",
18446 "o": {
18447 "a": 0,
18448 "k": 100,
18449 "ix": 2
18450 }
18451 }]
18452 },
18453 {
18454 "ty": "gr",
18455 "it": [{
18456 "ty": "sh",
18457 "d": 1,
18458 "ks": {
18459 "a": 0,
18460 "k": {
18461 "c": true,
18462 "v": [
18463 [212.14, -160.38],
18464 [212.14, -188.65],
18465 [215.97, -188.65],
18466 [215.97, -176.79],
18467 [222.38, -180.62],
18468 [229.81, -172.64],
18469 [229.81, -160.38],
18470 [225.97, -160.38],
18471 [225.97, -171.88],
18472 [221.31, -177.18],
18473 [215.97, -171.17],
18474 [215.97, -160.38],
18475 [212.14, -160.38]
18476 ],
18477 "i": [
18478 [0, 0],
18479 [0, 0],
18480 [0, 0],
18481 [0, 0],
18482 [-2.965, 0],
18483 [0, -4.743],
18484 [0, 0],
18485 [0, 0],
18486 [0, 0],
18487 [2.806, 0],
18488 [0, -3.478],
18489 [0, 0],
18490 [0, 0]
18491 ],
18492 "o": [
18493 [0, 0],
18494 [0, 0],
18495 [0, 0],
18496 [1.067, -2.49],
18497 [4.506, 0],
18498 [0, 0],
18499 [0, 0],
18500 [0, 0],
18501 [0, -3.162],
18502 [-3.123, 0],
18503 [0, 0],
18504 [0, 0],
18505 [0, 0]
18506 ]
18507 }
18508 }
18509 }, {
18510 "ty": "tr",
18511 "o": {
18512 "a": 0,
18513 "k": 100,
18514 "ix": 2
18515 }
18516 }]
18517 },
18518 {
18519 "ty": "gr",
18520 "it": [{
18521 "ty": "sh",
18522 "d": 1,
18523 "ks": {
18524 "a": 0,
18525 "k": {
18526 "c": true,
18527 "v": [
18528 [195.87, -160.07],
18529 [182.35, -174.22],
18530 [195.87, -188.37],
18531 [207.85, -179.16],
18532 [203.54, -179.16],
18533 [195.83, -184.73],
18534 [186.54, -174.22],
18535 [195.87, -163.7],
18536 [203.62, -169.28],
18537 [207.81, -169.28],
18538 [195.87, -160.07]
18539 ],
18540 "i": [
18541 [0, 0],
18542 [0, 9.487],
18543 [-7.076, 0],
18544 [-.712, -5.376],
18545 [0, 0],
18546 [3.992, 0],
18547 [0, -6.838],
18548 [-5.415, 0],
18549 [-.435, 3.241],
18550 [0, 0],
18551 [6.364, 0]
18552 ],
18553 "o": [
18554 [-7.155, 0],
18555 [0, -9.487],
18556 [6.245, 0],
18557 [0, 0],
18558 [-.435, -3.241],
18559 [-5.376, 0],
18560 [0, 6.838],
18561 [4.071, 0],
18562 [0, 0],
18563 [-.593, 5.376],
18564 [0, 0]
18565 ]
18566 }
18567 }
18568 }, {
18569 "ty": "tr",
18570 "o": {
18571 "a": 0,
18572 "k": 100,
18573 "ix": 2
18574 }
18575 }]
18576 },
18577 {
18578 "ty": "st",
18579 "c": {
18580 "a": 0,
18581 "k": [
18582 0,
18583 0,
18584 0
18585 ],
18586 "ix": 2
18587 },
18588 "o": {
18589 "a": 0,
18590 "k": 100,
18591 "ix": 2
18592 },
18593 "w": {
18594 "a": 0,
18595 "k": .1,
18596 "ix": 2
18597 },
18598 "lc": 1,
18599 "lj": 1,
18600 "ml": 4
18601 },
18602 {
18603 "ty": "fl",
18604 "c": {
18605 "a": 0,
18606 "k": [
18607 .13,
18608 .13,
18609 .13
18610 ],
18611 "ix": 2
18612 },
18613 "o": {
18614 "a": 0,
18615 "k": 100,
18616 "ix": 2
18617 },
18618 "r": 1,
18619 "bm": 0
18620 },
18621 {
18622 "ty": "tr",
18623 "o": {
18624 "a": 0,
18625 "k": 100,
18626 "ix": 2
18627 }
18628 }
18629 ]
18630 }, {
18631 "ty": "tr",
18632 "o": {
18633 "a": 0,
18634 "k": 100,
18635 "ix": 2
18636 }
18637 }]
18638 }, {
18639 "ty": "tr",
18640 "p": {
18641 "a": 0,
18642 "k": [-104, 202],
18643 "ix": 2
18644 },
18645 "o": {
18646 "a": 0,
18647 "k": 100,
18648 "ix": 2
18649 }
18650 }]
18651 }],
18652 "ip": 0,
18653 "op": 877,
18654 "st": 0
18655 },
18656 {
18657 "ddd": 0,
18658 "ind": 42,
18659 "ty": 4,
18660 "sr": 1,
18661 "ks": { "o": {
18662 "a": 1,
18663 "k": [{
18664 "t": 0,
18665 "s": [0],
18666 "h": 1
18667 }, {
18668 "t": 644,
18669 "s": [100],
18670 "h": 1
18671 }],
18672 "ix": 2
18673 } },
18674 "ao": 0,
18675 "shapes": [{
18676 "ty": "gr",
18677 "it": [{
18678 "ty": "gr",
18679 "it": [
18680 {
18681 "ty": "sh",
18682 "d": 1,
18683 "ks": {
18684 "a": 0,
18685 "k": {
18686 "c": true,
18687 "v": [
18688 [-22.7, -24.7],
18689 [22.7, -24.7],
18690 [24.7, -22.7],
18691 [24.7, 22.7],
18692 [22.7, 24.7],
18693 [-22.7, 24.7],
18694 [-24.7, 22.7],
18695 [-24.7, -22.7],
18696 [-22.7, -24.7]
18697 ],
18698 "i": [
18699 [0, 0],
18700 [0, 0],
18701 [0, -1.105],
18702 [0, 0],
18703 [1.105, 0],
18704 [0, 0],
18705 [0, 1.105],
18706 [0, 0],
18707 [-1.105, 0]
18708 ],
18709 "o": [
18710 [0, 0],
18711 [1.105, 0],
18712 [0, 0],
18713 [0, 1.105],
18714 [0, 0],
18715 [-1.105, 0],
18716 [0, 0],
18717 [0, -1.105],
18718 [0, 0]
18719 ]
18720 }
18721 }
18722 },
18723 {
18724 "ty": "st",
18725 "c": {
18726 "a": 0,
18727 "k": [
18728 .13,
18729 .13,
18730 .13
18731 ],
18732 "ix": 2
18733 },
18734 "o": {
18735 "a": 0,
18736 "k": 100,
18737 "ix": 2
18738 },
18739 "w": {
18740 "a": 0,
18741 "k": 2,
18742 "ix": 2
18743 },
18744 "lc": 1,
18745 "lj": 1,
18746 "ml": 4
18747 },
18748 {
18749 "ty": "tr",
18750 "o": {
18751 "a": 0,
18752 "k": 100,
18753 "ix": 2
18754 }
18755 }
18756 ]
18757 }, {
18758 "ty": "tr",
18759 "p": {
18760 "a": 0,
18761 "k": [27.24, 26.8],
18762 "ix": 2
18763 },
18764 "o": {
18765 "a": 0,
18766 "k": 100,
18767 "ix": 2
18768 }
18769 }]
18770 }],
18771 "ip": 0,
18772 "op": 877,
18773 "st": 0
18774 },
18775 {
18776 "ddd": 0,
18777 "ind": 43,
18778 "ty": 4,
18779 "sr": 1,
18780 "ks": { "o": {
18781 "a": 1,
18782 "k": [{
18783 "t": 0,
18784 "s": [0],
18785 "h": 1
18786 }, {
18787 "t": 644,
18788 "s": [100],
18789 "h": 1
18790 }],
18791 "ix": 2
18792 } },
18793 "ao": 0,
18794 "shapes": [{
18795 "ty": "gr",
18796 "it": [{
18797 "ty": "gr",
18798 "it": [
18799 {
18800 "ty": "sh",
18801 "d": 1,
18802 "ks": {
18803 "a": 0,
18804 "k": {
18805 "c": true,
18806 "v": [
18807 [-22.7, -24.7],
18808 [22.7, -24.7],
18809 [24.7, -22.7],
18810 [24.7, 22.7],
18811 [22.7, 24.7],
18812 [-22.7, 24.7],
18813 [-24.7, 22.7],
18814 [-24.7, -22.7],
18815 [-22.7, -24.7]
18816 ],
18817 "i": [
18818 [0, 0],
18819 [0, 0],
18820 [0, -1.105],
18821 [0, 0],
18822 [1.105, 0],
18823 [0, 0],
18824 [0, 1.105],
18825 [0, 0],
18826 [-1.105, 0]
18827 ],
18828 "o": [
18829 [0, 0],
18830 [1.105, 0],
18831 [0, 0],
18832 [0, 1.105],
18833 [0, 0],
18834 [-1.105, 0],
18835 [0, 0],
18836 [0, -1.105],
18837 [0, 0]
18838 ]
18839 }
18840 }
18841 },
18842 {
18843 "ty": "st",
18844 "c": {
18845 "a": 0,
18846 "k": [
18847 .13,
18848 .13,
18849 .13
18850 ],
18851 "ix": 2
18852 },
18853 "o": {
18854 "a": 0,
18855 "k": 100,
18856 "ix": 2
18857 },
18858 "w": {
18859 "a": 0,
18860 "k": .7,
18861 "ix": 2
18862 },
18863 "lc": 1,
18864 "lj": 1,
18865 "ml": 4
18866 },
18867 {
18868 "ty": "tr",
18869 "o": {
18870 "a": 0,
18871 "k": 100,
18872 "ix": 2
18873 }
18874 }
18875 ]
18876 }, {
18877 "ty": "tr",
18878 "p": {
18879 "a": 0,
18880 "k": [27.24, 26.8],
18881 "ix": 2
18882 },
18883 "o": {
18884 "a": 0,
18885 "k": 100,
18886 "ix": 2
18887 }
18888 }]
18889 }],
18890 "ip": 0,
18891 "op": 877,
18892 "st": 0
18893 }
18894 ]
18895 },
18896 {
18897 "id": "n",
18898 "layers": [{
18899 "ddd": 0,
18900 "refId": "o",
18901 "w": 344,
18902 "h": 54,
18903 "ind": 44,
18904 "ty": 0,
18905 "sr": 1,
18906 "ks": {
18907 "p": {
18908 "a": 0,
18909 "k": [2, 2],
18910 "ix": 2
18911 },
18912 "o": {
18913 "a": 1,
18914 "k": [{
18915 "t": 0,
18916 "s": [0],
18917 "h": 1
18918 }, {
18919 "t": 732,
18920 "s": [100],
18921 "h": 1
18922 }],
18923 "ix": 2
18924 }
18925 },
18926 "ao": 0,
18927 "ip": 0,
18928 "op": 877,
18929 "st": 0
18930 }, {
18931 "ddd": 0,
18932 "ind": 45,
18933 "ty": 4,
18934 "sr": 1,
18935 "ks": {
18936 "p": {
18937 "a": 0,
18938 "k": [2, 2],
18939 "ix": 2
18940 },
18941 "o": {
18942 "a": 0,
18943 "k": 100,
18944 "ix": 2
18945 }
18946 },
18947 "ao": 0,
18948 "shapes": [{
18949 "ty": "rc",
18950 "d": 1,
18951 "s": {
18952 "a": 0,
18953 "k": [64, 60],
18954 "ix": 2
18955 },
18956 "p": {
18957 "a": 0,
18958 "k": [29, 27],
18959 "ix": 2
18960 },
18961 "r": {
18962 "a": 0,
18963 "k": 0,
18964 "ix": 2
18965 }
18966 }, {
18967 "ty": "fl",
18968 "c": {
18969 "a": 0,
18970 "k": [
18971 0,
18972 0,
18973 0
18974 ],
18975 "ix": 2
18976 },
18977 "o": {
18978 "a": 0,
18979 "k": 0,
18980 "ix": 2
18981 },
18982 "r": 1,
18983 "bm": 0
18984 }],
18985 "ip": 0,
18986 "op": 877,
18987 "st": 0
18988 }]
18989 },
18990 {
18991 "id": "i",
18992 "layers": [{
18993 "ddd": 0,
18994 "ind": 46,
18995 "ty": 4,
18996 "sr": 1,
18997 "ks": {
18998 "p": {
18999 "a": 0,
19000 "k": [2, 2],
19001 "ix": 2
19002 },
19003 "o": {
19004 "a": 0,
19005 "k": 100,
19006 "ix": 2
19007 }
19008 },
19009 "td": 1,
19010 "ao": 0,
19011 "shapes": [{
19012 "ty": "gr",
19013 "it": [
19014 {
19015 "ty": "sh",
19016 "d": 1,
19017 "ks": {
19018 "a": 0,
19019 "k": {
19020 "c": true,
19021 "v": [
19022 [60.87, -13.86],
19023 [-18.99, -13.86],
19024 [-18.99, 63.49],
19025 [60.87, 63.49],
19026 [60.87, -13.86]
19027 ],
19028 "i": [
19029 [0, 0],
19030 [0, 0],
19031 [0, 0],
19032 [0, 0],
19033 [0, 0]
19034 ],
19035 "o": [
19036 [0, 0],
19037 [0, 0],
19038 [0, 0],
19039 [0, 0],
19040 [0, 0]
19041 ]
19042 }
19043 }
19044 },
19045 {
19046 "ty": "fl",
19047 "c": {
19048 "a": 0,
19049 "k": [
19050 0,
19051 0,
19052 0
19053 ],
19054 "ix": 2
19055 },
19056 "o": {
19057 "a": 0,
19058 "k": 100,
19059 "ix": 2
19060 },
19061 "r": 1,
19062 "bm": 0
19063 },
19064 {
19065 "ty": "tr",
19066 "o": {
19067 "a": 0,
19068 "k": 100,
19069 "ix": 2
19070 }
19071 }
19072 ]
19073 }],
19074 "ip": 0,
19075 "op": 877,
19076 "st": 0
19077 }, {
19078 "ddd": 0,
19079 "refId": "n",
19080 "w": 346,
19081 "h": 58,
19082 "ind": 32,
19083 "ty": 0,
19084 "sr": 1,
19085 "ks": {
19086 "p": {
19087 "a": 0,
19088 "k": [171, 27],
19089 "ix": 2
19090 },
19091 "a": {
19092 "a": 0,
19093 "k": [171, 27],
19094 "ix": 2
19095 },
19096 "o": {
19097 "a": 0,
19098 "k": 100,
19099 "ix": 2
19100 }
19101 },
19102 "ao": 0,
19103 "ip": 0,
19104 "op": 877,
19105 "st": 0,
19106 "tt": 2
19107 }]
19108 },
19109 {
19110 "id": "o",
19111 "layers": [
19112 {
19113 "ddd": 0,
19114 "ind": 47,
19115 "ty": 4,
19116 "sr": 1,
19117 "ks": { "o": {
19118 "a": 1,
19119 "k": [{
19120 "t": 0,
19121 "s": [0],
19122 "h": 1
19123 }, {
19124 "t": 644,
19125 "s": [100],
19126 "h": 1
19127 }],
19128 "ix": 2
19129 } },
19130 "ao": 0,
19131 "shapes": [{
19132 "ty": "gr",
19133 "it": [{
19134 "ty": "gr",
19135 "it": [
19136 {
19137 "ty": "sh",
19138 "d": 1,
19139 "ks": {
19140 "a": 0,
19141 "k": {
19142 "c": false,
19143 "v": [
19144 [-17.45, 0],
19145 [-4.76, 15.87],
19146 [17.45, -15.87]
19147 ],
19148 "i": [
19149 [0, 0],
19150 [0, 0],
19151 [0, 0]
19152 ],
19153 "o": [
19154 [0, 0],
19155 [0, 0],
19156 [0, 0]
19157 ]
19158 }
19159 }
19160 },
19161 {
19162 "ty": "st",
19163 "c": {
19164 "a": 0,
19165 "k": [
19166 .13,
19167 .13,
19168 .13
19169 ],
19170 "ix": 2
19171 },
19172 "o": {
19173 "a": 0,
19174 "k": 100,
19175 "ix": 2
19176 },
19177 "w": {
19178 "a": 0,
19179 "k": 5.5,
19180 "ix": 2
19181 },
19182 "lc": 2,
19183 "lj": 2,
19184 "ml": 4
19185 },
19186 {
19187 "ty": "tr",
19188 "o": {
19189 "a": 0,
19190 "k": 100,
19191 "ix": 2
19192 }
19193 }
19194 ]
19195 }, {
19196 "ty": "tr",
19197 "p": {
19198 "a": 0,
19199 "k": [26.46, 27.72],
19200 "ix": 2
19201 },
19202 "o": {
19203 "a": 0,
19204 "k": 100,
19205 "ix": 2
19206 }
19207 }]
19208 }],
19209 "ip": 0,
19210 "op": 877,
19211 "st": 0
19212 },
19213 {
19214 "ddd": 0,
19215 "ind": 48,
19216 "ty": 4,
19217 "sr": 1,
19218 "ks": { "o": {
19219 "a": 1,
19220 "k": [{
19221 "t": 0,
19222 "s": [0],
19223 "h": 1
19224 }, {
19225 "t": 644,
19226 "s": [100],
19227 "h": 1
19228 }],
19229 "ix": 2
19230 } },
19231 "ao": 0,
19232 "shapes": [{
19233 "ty": "gr",
19234 "it": [{
19235 "ty": "gr",
19236 "it": [{
19237 "ty": "gr",
19238 "it": [
19239 {
19240 "ty": "gr",
19241 "it": [{
19242 "ty": "sh",
19243 "d": 1,
19244 "ks": {
19245 "a": 0,
19246 "k": {
19247 "c": true,
19248 "v": [
19249 [432.63, -160.38],
19250 [428.36, -160.38],
19251 [435.56, -170.78],
19252 [428.92, -180.3],
19253 [433.3, -180.3],
19254 [437.73, -173.9],
19255 [442.16, -180.3],
19256 [446.51, -180.3],
19257 [439.9, -170.82],
19258 [447.1, -160.38],
19259 [442.79, -160.38],
19260 [437.73, -167.69],
19261 [432.63, -160.38]
19262 ],
19263 "i": [
19264 [0, 0],
19265 [0, 0],
19266 [0, 0],
19267 [0, 0],
19268 [0, 0],
19269 [0, 0],
19270 [0, 0],
19271 [0, 0],
19272 [0, 0],
19273 [0, 0],
19274 [0, 0],
19275 [0, 0],
19276 [0, 0]
19277 ],
19278 "o": [
19279 [0, 0],
19280 [0, 0],
19281 [0, 0],
19282 [0, 0],
19283 [0, 0],
19284 [0, 0],
19285 [0, 0],
19286 [0, 0],
19287 [0, 0],
19288 [0, 0],
19289 [0, 0],
19290 [0, 0],
19291 [0, 0]
19292 ]
19293 }
19294 }
19295 }, {
19296 "ty": "tr",
19297 "o": {
19298 "a": 0,
19299 "k": 100,
19300 "ix": 2
19301 }
19302 }]
19303 },
19304 {
19305 "ty": "gr",
19306 "it": [{
19307 "ty": "sh",
19308 "d": 1,
19309 "ks": {
19310 "a": 0,
19311 "k": {
19312 "c": true,
19313 "v": [
19314 [417.32, -163.43],
19315 [423.65, -170.34],
19316 [417.32, -177.26],
19317 [410.96, -170.34],
19318 [417.32, -163.43]
19319 ],
19320 "i": [
19321 [0, 0],
19322 [0, 4.071],
19323 [3.755, 0],
19324 [0, -4.071],
19325 [-3.795, 0]
19326 ],
19327 "o": [
19328 [3.755, 0],
19329 [0, -4.071],
19330 [-3.795, 0],
19331 [0, 4.071],
19332 [0, 0]
19333 ]
19334 }
19335 }
19336 }, {
19337 "ty": "tr",
19338 "o": {
19339 "a": 0,
19340 "k": 100,
19341 "ix": 2
19342 }
19343 }]
19344 },
19345 {
19346 "ty": "gr",
19347 "it": [{
19348 "ty": "sh",
19349 "d": 1,
19350 "ks": {
19351 "a": 0,
19352 "k": {
19353 "c": true,
19354 "v": [
19355 [417.32, -160.07],
19356 [407.05, -170.34],
19357 [417.32, -180.62],
19358 [427.56, -170.34],
19359 [417.32, -160.07]
19360 ],
19361 "i": [
19362 [0, 0],
19363 [0, 5.969],
19364 [-5.969, 0],
19365 [0, -5.969],
19366 [5.969, 0]
19367 ],
19368 "o": [
19369 [-5.969, 0],
19370 [0, -5.969],
19371 [5.969, 0],
19372 [0, 5.969],
19373 [0, 0]
19374 ]
19375 }
19376 }
19377 }, {
19378 "ty": "tr",
19379 "o": {
19380 "a": 0,
19381 "k": 100,
19382 "ix": 2
19383 }
19384 }]
19385 },
19386 {
19387 "ty": "gr",
19388 "it": [{
19389 "ty": "sh",
19390 "d": 1,
19391 "ks": {
19392 "a": 0,
19393 "k": {
19394 "c": true,
19395 "v": [
19396 [394.02, -163.43],
19397 [400.15, -170.34],
19398 [394.02, -177.26],
19399 [387.9, -170.34],
19400 [394.02, -163.43]
19401 ],
19402 "i": [
19403 [0, 0],
19404 [0, 4.15],
19405 [3.676, 0],
19406 [0, -4.15],
19407 [-3.676, 0]
19408 ],
19409 "o": [
19410 [3.676, 0],
19411 [0, -4.15],
19412 [-3.676, 0],
19413 [0, 4.15],
19414 [0, 0]
19415 ]
19416 }
19417 }
19418 }, {
19419 "ty": "tr",
19420 "o": {
19421 "a": 0,
19422 "k": 100,
19423 "ix": 2
19424 }
19425 }]
19426 },
19427 {
19428 "ty": "gr",
19429 "it": [{
19430 "ty": "sh",
19431 "d": 1,
19432 "ks": {
19433 "a": 0,
19434 "k": {
19435 "c": true,
19436 "v": [
19437 [394.62, -160.07],
19438 [388.21, -163.35],
19439 [388.21, -160.38],
19440 [384.38, -160.38],
19441 [384.38, -188.65],
19442 [388.21, -188.65],
19443 [388.21, -177.38],
19444 [394.58, -180.62],
19445 [404.02, -170.34],
19446 [394.62, -160.07]
19447 ],
19448 "i": [
19449 [0, 0],
19450 [1.186, 1.976],
19451 [0, 0],
19452 [0, 0],
19453 [0, 0],
19454 [0, 0],
19455 [0, 0],
19456 [-2.648, 0],
19457 [0, -5.89],
19458 [5.969, 0]
19459 ],
19460 "o": [
19461 [-2.688, 0],
19462 [0, 0],
19463 [0, 0],
19464 [0, 0],
19465 [0, 0],
19466 [0, 0],
19467 [1.225, -1.976],
19468 [6.008, 0],
19469 [0, 5.89],
19470 [0, 0]
19471 ]
19472 }
19473 }
19474 }, {
19475 "ty": "tr",
19476 "o": {
19477 "a": 0,
19478 "k": 100,
19479 "ix": 2
19480 }
19481 }]
19482 },
19483 {
19484 "ty": "gr",
19485 "it": [{
19486 "ty": "sh",
19487 "d": 1,
19488 "ks": {
19489 "a": 0,
19490 "k": {
19491 "c": true,
19492 "v": [
19493 [363.38, -160.07],
19494 [355.36, -166.87],
19495 [358.87, -166.87],
19496 [363.34, -163.19],
19497 [367.25, -166.11],
19498 [355.87, -174.69],
19499 [362.98, -180.62],
19500 [370.69, -174.41],
19501 [367.17, -174.41],
19502 [363.02, -177.62],
19503 [359.43, -174.85],
19504 [370.85, -166.31],
19505 [363.38, -160.07]
19506 ],
19507 "i": [
19508 [0, 0],
19509 [.316, 4.309],
19510 [0, 0],
19511 [-2.569, 0],
19512 [0, 1.779],
19513 [0, 7.945],
19514 [-4.15, 0],
19515 [-.277, -3.874],
19516 [0, 0],
19517 [2.293, 0],
19518 [0, -1.779],
19519 [0, -8.301],
19520 [4.625, 0]
19521 ],
19522 "o": [
19523 [-4.822, 0],
19524 [0, 0],
19525 [.198, 2.293],
19526 [2.372, 0],
19527 [0, -4.862],
19528 [0, -3.518],
19529 [4.625, 0],
19530 [0, 0],
19531 [-.198, -1.937],
19532 [-1.976, 0],
19533 [0, 4.704],
19534 [0, 3.834],
19535 [0, 0]
19536 ]
19537 }
19538 }
19539 }, {
19540 "ty": "tr",
19541 "o": {
19542 "a": 0,
19543 "k": 100,
19544 "ix": 2
19545 }
19546 }]
19547 },
19548 {
19549 "ty": "gr",
19550 "it": [{
19551 "ty": "sh",
19552 "d": 1,
19553 "ks": {
19554 "a": 0,
19555 "k": {
19556 "c": true,
19557 "v": [
19558 [347.16, -188.65],
19559 [351.43, -188.65],
19560 [351.43, -183.82],
19561 [347.16, -183.82],
19562 [347.16, -188.65]
19563 ],
19564 "i": [
19565 [0, 0],
19566 [0, 0],
19567 [0, 0],
19568 [0, 0],
19569 [0, 0]
19570 ],
19571 "o": [
19572 [0, 0],
19573 [0, 0],
19574 [0, 0],
19575 [0, 0],
19576 [0, 0]
19577 ]
19578 }
19579 }
19580 }, {
19581 "ty": "tr",
19582 "o": {
19583 "a": 0,
19584 "k": 100,
19585 "ix": 2
19586 }
19587 }]
19588 },
19589 {
19590 "ty": "gr",
19591 "it": [{
19592 "ty": "sh",
19593 "d": 1,
19594 "ks": {
19595 "a": 0,
19596 "k": {
19597 "c": true,
19598 "v": [
19599 [347.4, -160.38],
19600 [347.4, -180.3],
19601 [351.23, -180.3],
19602 [351.23, -160.38],
19603 [347.4, -160.38]
19604 ],
19605 "i": [
19606 [0, 0],
19607 [0, 0],
19608 [0, 0],
19609 [0, 0],
19610 [0, 0]
19611 ],
19612 "o": [
19613 [0, 0],
19614 [0, 0],
19615 [0, 0],
19616 [0, 0],
19617 [0, 0]
19618 ]
19619 }
19620 }
19621 }, {
19622 "ty": "tr",
19623 "o": {
19624 "a": 0,
19625 "k": 100,
19626 "ix": 2
19627 }
19628 }]
19629 },
19630 {
19631 "ty": "gr",
19632 "it": [{
19633 "ty": "sh",
19634 "d": 1,
19635 "ks": {
19636 "a": 0,
19637 "k": {
19638 "c": true,
19639 "v": [
19640 [324.39, -160.38],
19641 [324.39, -188.65],
19642 [328.23, -188.65],
19643 [328.23, -176.79],
19644 [334.63, -180.62],
19645 [342.06, -172.64],
19646 [342.06, -160.38],
19647 [338.23, -160.38],
19648 [338.23, -171.88],
19649 [333.56, -177.18],
19650 [328.23, -171.17],
19651 [328.23, -160.38],
19652 [324.39, -160.38]
19653 ],
19654 "i": [
19655 [0, 0],
19656 [0, 0],
19657 [0, 0],
19658 [0, 0],
19659 [-2.965, 0],
19660 [0, -4.743],
19661 [0, 0],
19662 [0, 0],
19663 [0, 0],
19664 [2.807, 0],
19665 [0, -3.478],
19666 [0, 0],
19667 [0, 0]
19668 ],
19669 "o": [
19670 [0, 0],
19671 [0, 0],
19672 [0, 0],
19673 [1.067, -2.49],
19674 [4.506, 0],
19675 [0, 0],
19676 [0, 0],
19677 [0, 0],
19678 [0, -3.162],
19679 [-3.123, 0],
19680 [0, 0],
19681 [0, 0],
19682 [0, 0]
19683 ]
19684 }
19685 }
19686 }, {
19687 "ty": "tr",
19688 "o": {
19689 "a": 0,
19690 "k": 100,
19691 "ix": 2
19692 }
19693 }]
19694 },
19695 {
19696 "ty": "gr",
19697 "it": [{
19698 "ty": "sh",
19699 "d": 1,
19700 "ks": {
19701 "a": 0,
19702 "k": {
19703 "c": true,
19704 "v": [
19705 [317.52, -160.38],
19706 [310.88, -166.9],
19707 [310.88, -176.98],
19708 [306.81, -176.98],
19709 [306.81, -180.3],
19710 [310.88, -180.3],
19711 [310.88, -186.55],
19712 [314.72, -186.55],
19713 [314.72, -180.3],
19714 [320.61, -180.3],
19715 [320.61, -176.98],
19716 [314.72, -176.98],
19717 [314.72, -167.02],
19718 [317.8, -163.7],
19719 [320.61, -163.7],
19720 [320.61, -160.38],
19721 [317.52, -160.38]
19722 ],
19723 "i": [
19724 [0, 0],
19725 [0, 4.071],
19726 [0, 0],
19727 [0, 0],
19728 [0, 0],
19729 [0, 0],
19730 [0, 0],
19731 [0, 0],
19732 [0, 0],
19733 [0, 0],
19734 [0, 0],
19735 [0, 0],
19736 [0, 0],
19737 [-1.897, 0],
19738 [0, 0],
19739 [0, 0],
19740 [0, 0]
19741 ],
19742 "o": [
19743 [-4.032, 0],
19744 [0, 0],
19745 [0, 0],
19746 [0, 0],
19747 [0, 0],
19748 [0, 0],
19749 [0, 0],
19750 [0, 0],
19751 [0, 0],
19752 [0, 0],
19753 [0, 0],
19754 [0, 0],
19755 [0, 2.135],
19756 [0, 0],
19757 [0, 0],
19758 [0, 0],
19759 [0, 0]
19760 ]
19761 }
19762 }
19763 }, {
19764 "ty": "tr",
19765 "o": {
19766 "a": 0,
19767 "k": 100,
19768 "ix": 2
19769 }
19770 }]
19771 },
19772 {
19773 "ty": "gr",
19774 "it": [{
19775 "ty": "sh",
19776 "d": 1,
19777 "ks": {
19778 "a": 0,
19779 "k": {
19780 "c": true,
19781 "v": [
19782 [279.23, -160.38],
19783 [279.23, -188.65],
19784 [283.06, -188.65],
19785 [283.06, -172.32],
19786 [291.76, -180.3],
19787 [296.74, -180.3],
19788 [288.36, -172.52],
19789 [297.49, -160.38],
19790 [292.75, -160.38],
19791 [285.63, -169.95],
19792 [283.06, -167.58],
19793 [283.06, -160.38],
19794 [279.23, -160.38]
19795 ],
19796 "i": [
19797 [0, 0],
19798 [0, 0],
19799 [0, 0],
19800 [0, 0],
19801 [0, 0],
19802 [0, 0],
19803 [0, 0],
19804 [0, 0],
19805 [0, 0],
19806 [0, 0],
19807 [0, 0],
19808 [0, 0],
19809 [0, 0]
19810 ],
19811 "o": [
19812 [0, 0],
19813 [0, 0],
19814 [0, 0],
19815 [0, 0],
19816 [0, 0],
19817 [0, 0],
19818 [0, 0],
19819 [0, 0],
19820 [0, 0],
19821 [0, 0],
19822 [0, 0],
19823 [0, 0],
19824 [0, 0]
19825 ]
19826 }
19827 }
19828 }, {
19829 "ty": "tr",
19830 "o": {
19831 "a": 0,
19832 "k": 100,
19833 "ix": 2
19834 }
19835 }]
19836 },
19837 {
19838 "ty": "gr",
19839 "it": [{
19840 "ty": "sh",
19841 "d": 1,
19842 "ks": {
19843 "a": 0,
19844 "k": {
19845 "c": true,
19846 "v": [
19847 [265.8, -160.07],
19848 [255.96, -170.34],
19849 [265.8, -180.62],
19850 [275.05, -173.35],
19851 [271.22, -173.35],
19852 [265.88, -177.26],
19853 [259.95, -170.34],
19854 [265.92, -163.43],
19855 [271.26, -167.1],
19856 [275.05, -167.1],
19857 [265.8, -160.07]
19858 ],
19859 "i": [
19860 [0, 0],
19861 [0, 5.494],
19862 [-6.245, 0],
19863 [-.553, -4.506],
19864 [0, 0],
19865 [2.727, 0],
19866 [0, -3.834],
19867 [-3.953, 0],
19868 [-.632, 2.253],
19869 [0, 0],
19870 [5.099, 0]
19871 ],
19872 "o": [
19873 [-6.245, 0],
19874 [0, -5.494],
19875 [4.664, 0],
19876 [0, 0],
19877 [-.356, -2.253],
19878 [-3.953, 0],
19879 [0, 3.834],
19880 [2.727, 0],
19881 [0, 0],
19882 [-.632, 4.19],
19883 [0, 0]
19884 ]
19885 }
19886 }
19887 }, {
19888 "ty": "tr",
19889 "o": {
19890 "a": 0,
19891 "k": 100,
19892 "ix": 2
19893 }
19894 }]
19895 },
19896 {
19897 "ty": "gr",
19898 "it": [{
19899 "ty": "sh",
19900 "d": 1,
19901 "ks": {
19902 "a": 0,
19903 "k": {
19904 "c": true,
19905 "v": [
19906 [237.68, -172.6],
19907 [248.94, -172.6],
19908 [243.41, -177.54],
19909 [237.68, -172.6]
19910 ],
19911 "i": [
19912 [0, 0],
19913 [0, 0],
19914 [3.281, 0],
19915 [.593, -3.241]
19916 ],
19917 "o": [
19918 [0, 0],
19919 [-.237, -3.044],
19920 [-3.083, 0],
19921 [0, 0]
19922 ]
19923 }
19924 }
19925 }, {
19926 "ty": "tr",
19927 "o": {
19928 "a": 0,
19929 "k": 100,
19930 "ix": 2
19931 }
19932 }]
19933 },
19934 {
19935 "ty": "gr",
19936 "it": [{
19937 "ty": "sh",
19938 "d": 1,
19939 "ks": {
19940 "a": 0,
19941 "k": {
19942 "c": true,
19943 "v": [
19944 [243.76, -160.07],
19945 [233.8, -170.46],
19946 [243.41, -180.62],
19947 [252.81, -171.17],
19948 [252.74, -169.63],
19949 [237.56, -169.63],
19950 [243.76, -163.35],
19951 [249.14, -166.87],
19952 [252.97, -166.87],
19953 [243.76, -160.07]
19954 ],
19955 "i": [
19956 [0, 0],
19957 [0, 5.534],
19958 [-6.127, 0],
19959 [0, -5.06],
19960 [.04, -.356],
19961 [0, 0],
19962 [-3.439, 0],
19963 [-.553, 2.253],
19964 [0, 0],
19965 [4.941, 0]
19966 ],
19967 "o": [
19968 [-6.166, 0],
19969 [0, -5.573],
19970 [6.127, 0],
19971 [0, .514],
19972 [0, 0],
19973 [.316, 3.716],
19974 [2.925, 0],
19975 [0, 0],
19976 [-.672, 4.111],
19977 [0, 0]
19978 ]
19979 }
19980 }
19981 }, {
19982 "ty": "tr",
19983 "o": {
19984 "a": 0,
19985 "k": 100,
19986 "ix": 2
19987 }
19988 }]
19989 },
19990 {
19991 "ty": "gr",
19992 "it": [{
19993 "ty": "sh",
19994 "d": 1,
19995 "ks": {
19996 "a": 0,
19997 "k": {
19998 "c": true,
19999 "v": [
20000 [212.14, -160.38],
20001 [212.14, -188.65],
20002 [215.97, -188.65],
20003 [215.97, -176.79],
20004 [222.38, -180.62],
20005 [229.81, -172.64],
20006 [229.81, -160.38],
20007 [225.97, -160.38],
20008 [225.97, -171.88],
20009 [221.31, -177.18],
20010 [215.97, -171.17],
20011 [215.97, -160.38],
20012 [212.14, -160.38]
20013 ],
20014 "i": [
20015 [0, 0],
20016 [0, 0],
20017 [0, 0],
20018 [0, 0],
20019 [-2.965, 0],
20020 [0, -4.743],
20021 [0, 0],
20022 [0, 0],
20023 [0, 0],
20024 [2.806, 0],
20025 [0, -3.478],
20026 [0, 0],
20027 [0, 0]
20028 ],
20029 "o": [
20030 [0, 0],
20031 [0, 0],
20032 [0, 0],
20033 [1.067, -2.49],
20034 [4.506, 0],
20035 [0, 0],
20036 [0, 0],
20037 [0, 0],
20038 [0, -3.162],
20039 [-3.123, 0],
20040 [0, 0],
20041 [0, 0],
20042 [0, 0]
20043 ]
20044 }
20045 }
20046 }, {
20047 "ty": "tr",
20048 "o": {
20049 "a": 0,
20050 "k": 100,
20051 "ix": 2
20052 }
20053 }]
20054 },
20055 {
20056 "ty": "gr",
20057 "it": [{
20058 "ty": "sh",
20059 "d": 1,
20060 "ks": {
20061 "a": 0,
20062 "k": {
20063 "c": true,
20064 "v": [
20065 [195.87, -160.07],
20066 [182.35, -174.22],
20067 [195.87, -188.37],
20068 [207.85, -179.16],
20069 [203.54, -179.16],
20070 [195.83, -184.73],
20071 [186.54, -174.22],
20072 [195.87, -163.7],
20073 [203.62, -169.28],
20074 [207.81, -169.28],
20075 [195.87, -160.07]
20076 ],
20077 "i": [
20078 [0, 0],
20079 [0, 9.487],
20080 [-7.076, 0],
20081 [-.712, -5.376],
20082 [0, 0],
20083 [3.992, 0],
20084 [0, -6.838],
20085 [-5.415, 0],
20086 [-.435, 3.241],
20087 [0, 0],
20088 [6.364, 0]
20089 ],
20090 "o": [
20091 [-7.155, 0],
20092 [0, -9.487],
20093 [6.245, 0],
20094 [0, 0],
20095 [-.435, -3.241],
20096 [-5.376, 0],
20097 [0, 6.838],
20098 [4.071, 0],
20099 [0, 0],
20100 [-.593, 5.376],
20101 [0, 0]
20102 ]
20103 }
20104 }
20105 }, {
20106 "ty": "tr",
20107 "o": {
20108 "a": 0,
20109 "k": 100,
20110 "ix": 2
20111 }
20112 }]
20113 },
20114 {
20115 "ty": "st",
20116 "c": {
20117 "a": 0,
20118 "k": [
20119 0,
20120 0,
20121 0
20122 ],
20123 "ix": 2
20124 },
20125 "o": {
20126 "a": 0,
20127 "k": 100,
20128 "ix": 2
20129 },
20130 "w": {
20131 "a": 0,
20132 "k": .1,
20133 "ix": 2
20134 },
20135 "lc": 1,
20136 "lj": 1,
20137 "ml": 4
20138 },
20139 {
20140 "ty": "fl",
20141 "c": {
20142 "a": 0,
20143 "k": [
20144 .13,
20145 .13,
20146 .13
20147 ],
20148 "ix": 2
20149 },
20150 "o": {
20151 "a": 0,
20152 "k": 100,
20153 "ix": 2
20154 },
20155 "r": 1,
20156 "bm": 0
20157 },
20158 {
20159 "ty": "tr",
20160 "o": {
20161 "a": 0,
20162 "k": 100,
20163 "ix": 2
20164 }
20165 }
20166 ]
20167 }, {
20168 "ty": "tr",
20169 "o": {
20170 "a": 0,
20171 "k": 100,
20172 "ix": 2
20173 }
20174 }]
20175 }, {
20176 "ty": "tr",
20177 "p": {
20178 "a": 0,
20179 "k": [-104, 202],
20180 "ix": 2
20181 },
20182 "o": {
20183 "a": 0,
20184 "k": 100,
20185 "ix": 2
20186 }
20187 }]
20188 }],
20189 "ip": 0,
20190 "op": 877,
20191 "st": 0
20192 },
20193 {
20194 "ddd": 0,
20195 "ind": 49,
20196 "ty": 4,
20197 "sr": 1,
20198 "ks": { "o": {
20199 "a": 1,
20200 "k": [{
20201 "t": 0,
20202 "s": [0],
20203 "h": 1
20204 }, {
20205 "t": 644,
20206 "s": [100],
20207 "h": 1
20208 }],
20209 "ix": 2
20210 } },
20211 "ao": 0,
20212 "shapes": [{
20213 "ty": "gr",
20214 "it": [{
20215 "ty": "gr",
20216 "it": [
20217 {
20218 "ty": "sh",
20219 "d": 1,
20220 "ks": {
20221 "a": 0,
20222 "k": {
20223 "c": true,
20224 "v": [
20225 [-22.7, -24.7],
20226 [22.7, -24.7],
20227 [24.7, -22.7],
20228 [24.7, 22.7],
20229 [22.7, 24.7],
20230 [-22.7, 24.7],
20231 [-24.7, 22.7],
20232 [-24.7, -22.7],
20233 [-22.7, -24.7]
20234 ],
20235 "i": [
20236 [0, 0],
20237 [0, 0],
20238 [0, -1.105],
20239 [0, 0],
20240 [1.105, 0],
20241 [0, 0],
20242 [0, 1.105],
20243 [0, 0],
20244 [-1.105, 0]
20245 ],
20246 "o": [
20247 [0, 0],
20248 [1.105, 0],
20249 [0, 0],
20250 [0, 1.105],
20251 [0, 0],
20252 [-1.105, 0],
20253 [0, 0],
20254 [0, -1.105],
20255 [0, 0]
20256 ]
20257 }
20258 }
20259 },
20260 {
20261 "ty": "st",
20262 "c": {
20263 "a": 0,
20264 "k": [
20265 .13,
20266 .13,
20267 .13
20268 ],
20269 "ix": 2
20270 },
20271 "o": {
20272 "a": 0,
20273 "k": 100,
20274 "ix": 2
20275 },
20276 "w": {
20277 "a": 0,
20278 "k": 2,
20279 "ix": 2
20280 },
20281 "lc": 1,
20282 "lj": 1,
20283 "ml": 4
20284 },
20285 {
20286 "ty": "tr",
20287 "o": {
20288 "a": 0,
20289 "k": 100,
20290 "ix": 2
20291 }
20292 }
20293 ]
20294 }, {
20295 "ty": "tr",
20296 "p": {
20297 "a": 0,
20298 "k": [27.24, 26.8],
20299 "ix": 2
20300 },
20301 "o": {
20302 "a": 0,
20303 "k": 100,
20304 "ix": 2
20305 }
20306 }]
20307 }],
20308 "ip": 0,
20309 "op": 877,
20310 "st": 0
20311 },
20312 {
20313 "ddd": 0,
20314 "ind": 50,
20315 "ty": 4,
20316 "sr": 1,
20317 "ks": { "o": {
20318 "a": 1,
20319 "k": [{
20320 "t": 0,
20321 "s": [0],
20322 "h": 1
20323 }, {
20324 "t": 644,
20325 "s": [100],
20326 "h": 1
20327 }],
20328 "ix": 2
20329 } },
20330 "ao": 0,
20331 "shapes": [{
20332 "ty": "gr",
20333 "it": [{
20334 "ty": "gr",
20335 "it": [
20336 {
20337 "ty": "sh",
20338 "d": 1,
20339 "ks": {
20340 "a": 0,
20341 "k": {
20342 "c": true,
20343 "v": [
20344 [-22.7, -24.7],
20345 [22.7, -24.7],
20346 [24.7, -22.7],
20347 [24.7, 22.7],
20348 [22.7, 24.7],
20349 [-22.7, 24.7],
20350 [-24.7, 22.7],
20351 [-24.7, -22.7],
20352 [-22.7, -24.7]
20353 ],
20354 "i": [
20355 [0, 0],
20356 [0, 0],
20357 [0, -1.105],
20358 [0, 0],
20359 [1.105, 0],
20360 [0, 0],
20361 [0, 1.105],
20362 [0, 0],
20363 [-1.105, 0]
20364 ],
20365 "o": [
20366 [0, 0],
20367 [1.105, 0],
20368 [0, 0],
20369 [0, 1.105],
20370 [0, 0],
20371 [-1.105, 0],
20372 [0, 0],
20373 [0, -1.105],
20374 [0, 0]
20375 ]
20376 }
20377 }
20378 },
20379 {
20380 "ty": "st",
20381 "c": {
20382 "a": 0,
20383 "k": [
20384 .13,
20385 .13,
20386 .13
20387 ],
20388 "ix": 2
20389 },
20390 "o": {
20391 "a": 0,
20392 "k": 100,
20393 "ix": 2
20394 },
20395 "w": {
20396 "a": 0,
20397 "k": .7,
20398 "ix": 2
20399 },
20400 "lc": 1,
20401 "lj": 1,
20402 "ml": 4
20403 },
20404 {
20405 "ty": "tr",
20406 "o": {
20407 "a": 0,
20408 "k": 100,
20409 "ix": 2
20410 }
20411 }
20412 ]
20413 }, {
20414 "ty": "tr",
20415 "p": {
20416 "a": 0,
20417 "k": [27.24, 26.8],
20418 "ix": 2
20419 },
20420 "o": {
20421 "a": 0,
20422 "k": 100,
20423 "ix": 2
20424 }
20425 }]
20426 }],
20427 "ip": 0,
20428 "op": 877,
20429 "st": 0
20430 }
20431 ]
20432 },
20433 {
20434 "id": "j",
20435 "layers": [
20436 {
20437 "ddd": 0,
20438 "ind": 33,
20439 "ty": 3,
20440 "sr": 1,
20441 "ks": {
20442 "p": {
20443 "a": 1,
20444 "k": [
20445 {
20446 "t": 540,
20447 "s": [313, 176],
20448 "i": {
20449 "x": [.75],
20450 "y": [.75]
20451 },
20452 "o": {
20453 "x": [.25],
20454 "y": [.25]
20455 }
20456 },
20457 {
20458 "t": 584,
20459 "s": [313, 76],
20460 "i": {
20461 "x": [.75],
20462 "y": [.75]
20463 },
20464 "o": {
20465 "x": [.25],
20466 "y": [.25]
20467 }
20468 },
20469 {
20470 "t": 600,
20471 "s": [313, 76],
20472 "h": 1
20473 },
20474 {
20475 "t": 620,
20476 "s": [313, 27],
20477 "h": 1
20478 }
20479 ],
20480 "ix": 2
20481 },
20482 "a": {
20483 "a": 0,
20484 "k": [733.82, 141.5],
20485 "ix": 2
20486 },
20487 "s": {
20488 "a": 1,
20489 "k": [
20490 {
20491 "t": 540,
20492 "s": [399, 399],
20493 "i": {
20494 "x": [.75],
20495 "y": [.75]
20496 },
20497 "o": {
20498 "x": [.25],
20499 "y": [.25]
20500 }
20501 },
20502 {
20503 "t": 560,
20504 "s": [446, 446],
20505 "i": {
20506 "x": [.75],
20507 "y": [.75]
20508 },
20509 "o": {
20510 "x": [.25],
20511 "y": [.25]
20512 }
20513 },
20514 {
20515 "t": 584,
20516 "s": [399, 399]
20517 }
20518 ],
20519 "ix": 2
20520 },
20521 "o": {
20522 "a": 0,
20523 "k": 100,
20524 "ix": 2
20525 }
20526 },
20527 "ao": 0,
20528 "ip": 0,
20529 "op": 877,
20530 "st": 0
20531 },
20532 {
20533 "ddd": 0,
20534 "ind": 51,
20535 "ty": 3,
20536 "sr": 1,
20537 "ks": {
20538 "p": {
20539 "a": 0,
20540 "k": [683.15, 145.39],
20541 "ix": 2
20542 },
20543 "o": {
20544 "a": 0,
20545 "k": 100,
20546 "ix": 2
20547 }
20548 },
20549 "ao": 0,
20550 "ip": 0,
20551 "op": 877,
20552 "st": 0,
20553 "parent": 33
20554 },
20555 {
20556 "ddd": 0,
20557 "refId": "p",
20558 "w": 24,
20559 "h": 8,
20560 "ind": 52,
20561 "ty": 0,
20562 "sr": 1,
20563 "ks": {
20564 "p": {
20565 "a": 0,
20566 "k": [-12, -4],
20567 "ix": 2
20568 },
20569 "o": {
20570 "a": 0,
20571 "k": 50,
20572 "ix": 2
20573 }
20574 },
20575 "ao": 0,
20576 "ip": 0,
20577 "op": 877,
20578 "st": 0,
20579 "parent": 51
20580 },
20581 {
20582 "ddd": 0,
20583 "ind": 53,
20584 "ty": 4,
20585 "sr": 1,
20586 "ks": { "o": {
20587 "a": 0,
20588 "k": 100,
20589 "ix": 2
20590 } },
20591 "ao": 0,
20592 "parent": 33,
20593 "shapes": [{
20594 "ty": "gr",
20595 "it": [
20596 {
20597 "ty": "sh",
20598 "d": 1,
20599 "ks": {
20600 "a": 0,
20601 "k": {
20602 "c": true,
20603 "v": [
20604 [-66, -10],
20605 [66, -10],
20606 [70, -6],
20607 [70, 6],
20608 [66, 10],
20609 [-66, 10],
20610 [-70, 6],
20611 [-70, -6],
20612 [-66, -10]
20613 ],
20614 "i": [
20615 [0, 0],
20616 [0, 0],
20617 [0, -2.209],
20618 [0, 0],
20619 [2.209, 0],
20620 [0, 0],
20621 [0, 2.209],
20622 [0, 0],
20623 [-2.209, 0]
20624 ],
20625 "o": [
20626 [0, 0],
20627 [2.209, 0],
20628 [0, 0],
20629 [0, 2.209],
20630 [0, 0],
20631 [-2.209, 0],
20632 [0, 0],
20633 [0, -2.209],
20634 [0, 0]
20635 ]
20636 }
20637 }
20638 },
20639 {
20640 "ty": "fl",
20641 "c": {
20642 "a": 0,
20643 "k": [
20644 .82,
20645 1,
20646 .71
20647 ],
20648 "ix": 2
20649 },
20650 "o": {
20651 "a": 0,
20652 "k": 100,
20653 "ix": 2
20654 },
20655 "r": 1,
20656 "bm": 0
20657 },
20658 {
20659 "ty": "tr",
20660 "p": {
20661 "a": 0,
20662 "k": [733.82, 145.5],
20663 "ix": 2
20664 },
20665 "o": {
20666 "a": 0,
20667 "k": 100,
20668 "ix": 2
20669 }
20670 }
20671 ]
20672 }],
20673 "ip": 0,
20674 "op": 877,
20675 "st": 0
20676 }
20677 ]
20678 },
20679 {
20680 "id": "p",
20681 "layers": [{
20682 "ddd": 0,
20683 "ind": 54,
20684 "ty": 4,
20685 "sr": 1,
20686 "ks": {
20687 "p": {
20688 "a": 0,
20689 "k": [12, 4],
20690 "ix": 2
20691 },
20692 "o": {
20693 "a": 0,
20694 "k": 100,
20695 "ix": 2
20696 }
20697 },
20698 "ao": 0,
20699 "shapes": [{
20700 "ty": "gr",
20701 "it": [
20702 {
20703 "ty": "gr",
20704 "it": [{
20705 "ty": "sh",
20706 "d": 1,
20707 "ks": {
20708 "a": 0,
20709 "k": {
20710 "c": true,
20711 "v": [
20712 [8.13, .33],
20713 [10.69, .33],
20714 [9.43, -.79],
20715 [8.13, .33]
20716 ],
20717 "i": [
20718 [0, 0],
20719 [0, 0],
20720 [.747, 0],
20721 [.135, -.738]
20722 ],
20723 "o": [
20724 [0, 0],
20725 [-.054, -.693],
20726 [-.702, 0],
20727 [0, 0]
20728 ]
20729 }
20730 }
20731 }, {
20732 "ty": "tr",
20733 "o": {
20734 "a": 0,
20735 "k": 100,
20736 "ix": 2
20737 }
20738 }]
20739 },
20740 {
20741 "ty": "gr",
20742 "it": [{
20743 "ty": "sh",
20744 "d": 1,
20745 "ks": {
20746 "a": 0,
20747 "k": {
20748 "c": true,
20749 "v": [
20750 [9.51, 3.19],
20751 [7.24, .82],
20752 [9.43, -1.49],
20753 [11.57, .66],
20754 [11.55, 1.01],
20755 [8.1, 1.01],
20756 [9.51, 2.44],
20757 [10.74, 1.64],
20758 [11.61, 1.64],
20759 [9.51, 3.19]
20760 ],
20761 "i": [
20762 [0, 0],
20763 [0, 1.26],
20764 [-1.395, 0],
20765 [0, -1.152],
20766 [.009, -.081],
20767 [0, 0],
20768 [-.783, 0],
20769 [-.126, .513],
20770 [0, 0],
20771 [1.125, 0]
20772 ],
20773 "o": [
20774 [-1.404, 0],
20775 [0, -1.269],
20776 [1.395, 0],
20777 [0, .117],
20778 [0, 0],
20779 [.072, .846],
20780 [.666, 0],
20781 [0, 0],
20782 [-.153, .936],
20783 [0, 0]
20784 ]
20785 }
20786 }
20787 }, {
20788 "ty": "tr",
20789 "o": {
20790 "a": 0,
20791 "k": 100,
20792 "ix": 2
20793 }
20794 }]
20795 },
20796 {
20797 "ty": "gr",
20798 "it": [{
20799 "ty": "sh",
20800 "d": 1,
20801 "ks": {
20802 "a": 0,
20803 "k": {
20804 "c": true,
20805 "v": [
20806 [-.41, 3.11],
20807 [-.41, -1.42],
20808 [.46, -1.42],
20809 [.46, -.62],
20810 [1.82, -1.49],
20811 [3.27, -.56],
20812 [4.74, -1.49],
20813 [6.34, .23],
20814 [6.34, 3.11],
20815 [5.46, 3.11],
20816 [5.46, .48],
20817 [4.5, -.73],
20818 [3.39, .64],
20819 [3.39, 3.11],
20820 [2.52, 3.11],
20821 [2.52, .48],
20822 [1.57, -.73],
20823 [.46, .64],
20824 [.46, 3.11],
20825 [-.41, 3.11]
20826 ],
20827 "i": [
20828 [0, 0],
20829 [0, 0],
20830 [0, 0],
20831 [0, 0],
20832 [-.675, 0],
20833 [-.18, -.594],
20834 [-.657, 0],
20835 [0, -1.053],
20836 [0, 0],
20837 [0, 0],
20838 [0, 0],
20839 [.603, 0],
20840 [0, -.72],
20841 [0, 0],
20842 [0, 0],
20843 [0, 0],
20844 [.594, 0],
20845 [0, -.72],
20846 [0, 0],
20847 [0, 0]
20848 ],
20849 "o": [
20850 [0, 0],
20851 [0, 0],
20852 [0, 0],
20853 [.189, -.513],
20854 [.693, 0],
20855 [.189, -.54],
20856 [.981, 0],
20857 [0, 0],
20858 [0, 0],
20859 [0, 0],
20860 [0, -.72],
20861 [-.693, 0],
20862 [0, 0],
20863 [0, 0],
20864 [0, 0],
20865 [0, -.72],
20866 [-.693, 0],
20867 [0, 0],
20868 [0, 0],
20869 [0, 0]
20870 ]
20871 }
20872 }
20873 }, {
20874 "ty": "tr",
20875 "o": {
20876 "a": 0,
20877 "k": 100,
20878 "ix": 2
20879 }
20880 }]
20881 },
20882 {
20883 "ty": "gr",
20884 "it": [{
20885 "ty": "sh",
20886 "d": 1,
20887 "ks": {
20888 "a": 0,
20889 "k": {
20890 "c": true,
20891 "v": [
20892 [-3.8, 2.49],
20893 [-2.49, 1.13],
20894 [-2.49, 1.04],
20895 [-3.66, 1.04],
20896 [-4.64, 1.8],
20897 [-3.8, 2.49]
20898 ],
20899 "i": [
20900 [0, 0],
20901 [0, .837],
20902 [0, 0],
20903 [0, 0],
20904 [0, -.477],
20905 [-.513, 0]
20906 ],
20907 "o": [
20908 [.819, 0],
20909 [0, 0],
20910 [0, 0],
20911 [-.594, 0],
20912 [0, .414],
20913 [0, 0]
20914 ]
20915 }
20916 }
20917 }, {
20918 "ty": "tr",
20919 "o": {
20920 "a": 0,
20921 "k": 100,
20922 "ix": 2
20923 }
20924 }]
20925 },
20926 {
20927 "ty": "gr",
20928 "it": [{
20929 "ty": "sh",
20930 "d": 1,
20931 "ks": {
20932 "a": 0,
20933 "k": {
20934 "c": true,
20935 "v": [
20936 [-3.97, 3.19],
20937 [-5.52, 1.82],
20938 [-3.75, .37],
20939 [-2.8, .37],
20940 [-2.49, .14],
20941 [-3.59, -.79],
20942 [-4.71, .06],
20943 [-5.52, .06],
20944 [-3.56, -1.49],
20945 [-1.63, .19],
20946 [-1.63, 3.11],
20947 [-2.49, 3.11],
20948 [-2.49, 2.37],
20949 [-3.97, 3.19]
20950 ],
20951 "i": [
20952 [0, 0],
20953 [0, .81],
20954 [-1.062, 0],
20955 [0, 0],
20956 [0, .162],
20957 [.693, 0],
20958 [.027, -.459],
20959 [0, 0],
20960 [-1.08, 0],
20961 [0, -1.008],
20962 [0, 0],
20963 [0, 0],
20964 [0, 0],
20965 [.684, 0]
20966 ],
20967 "o": [
20968 [-.927, 0],
20969 [0, -.873],
20970 [0, 0],
20971 [.207, 0],
20972 [0, -.549],
20973 [-.639, 0],
20974 [0, 0],
20975 [.072, -.891],
20976 [1.17, 0],
20977 [0, 0],
20978 [0, 0],
20979 [0, 0],
20980 [-.225, .495],
20981 [0, 0]
20982 ]
20983 }
20984 }
20985 }, {
20986 "ty": "tr",
20987 "o": {
20988 "a": 0,
20989 "k": 100,
20990 "ix": 2
20991 }
20992 }]
20993 },
20994 {
20995 "ty": "gr",
20996 "it": [{
20997 "ty": "sh",
20998 "d": 1,
20999 "ks": {
21000 "a": 0,
21001 "k": {
21002 "c": true,
21003 "v": [
21004 [-11.61, 3.11],
21005 [-11.61, -3.19],
21006 [-10.56, -3.19],
21007 [-7.53, 1.67],
21008 [-7.53, -3.19],
21009 [-6.6, -3.19],
21010 [-6.6, 3.11],
21011 [-7.63, 3.11],
21012 [-10.67, -1.73],
21013 [-10.67, 3.11],
21014 [-11.61, 3.11]
21015 ],
21016 "i": [
21017 [0, 0],
21018 [0, 0],
21019 [0, 0],
21020 [0, 0],
21021 [0, 0],
21022 [0, 0],
21023 [0, 0],
21024 [0, 0],
21025 [0, 0],
21026 [0, 0],
21027 [0, 0]
21028 ],
21029 "o": [
21030 [0, 0],
21031 [0, 0],
21032 [0, 0],
21033 [0, 0],
21034 [0, 0],
21035 [0, 0],
21036 [0, 0],
21037 [0, 0],
21038 [0, 0],
21039 [0, 0],
21040 [0, 0]
21041 ]
21042 }
21043 }
21044 }, {
21045 "ty": "tr",
21046 "o": {
21047 "a": 0,
21048 "k": 100,
21049 "ix": 2
21050 }
21051 }]
21052 },
21053 {
21054 "ty": "fl",
21055 "c": {
21056 "a": 0,
21057 "k": [
21058 .13,
21059 .13,
21060 .13
21061 ],
21062 "ix": 2
21063 },
21064 "o": {
21065 "a": 0,
21066 "k": 100,
21067 "ix": 2
21068 },
21069 "r": 1,
21070 "bm": 0
21071 },
21072 {
21073 "ty": "tr",
21074 "o": {
21075 "a": 0,
21076 "k": 100,
21077 "ix": 2
21078 }
21079 }
21080 ]
21081 }],
21082 "ip": 0,
21083 "op": 877,
21084 "st": 0
21085 }]
21086 },
21087 {
21088 "id": "k",
21089 "u": "",
21090 "p": "data:image/png;base64,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",
21091 "w": 896,
21092 "h": 448,
21093 "e": 1
21094 },
21095 {
21096 "id": "1",
21097 "layers": [
21098 {
21099 "ddd": 0,
21100 "ind": 55,
21101 "ty": 3,
21102 "sr": 1,
21103 "ks": {
21104 "p": {
21105 "a": 0,
21106 "k": [454.77, 347.63],
21107 "ix": 2
21108 },
21109 "a": {
21110 "a": 0,
21111 "k": [172, 27],
21112 "ix": 2
21113 },
21114 "s": {
21115 "a": 0,
21116 "k": [76, 76],
21117 "ix": 2
21118 },
21119 "o": {
21120 "a": 0,
21121 "k": 100,
21122 "ix": 2
21123 }
21124 },
21125 "ao": 0,
21126 "ip": 0,
21127 "op": 877,
21128 "st": 0
21129 },
21130 {
21131 "ddd": 0,
21132 "refId": "q",
21133 "w": 346,
21134 "h": 58,
21135 "ind": 56,
21136 "ty": 0,
21137 "sr": 1,
21138 "ks": {
21139 "p": {
21140 "a": 0,
21141 "k": [-2, -2],
21142 "ix": 2
21143 },
21144 "o": {
21145 "a": 0,
21146 "k": 100,
21147 "ix": 2
21148 }
21149 },
21150 "ao": 0,
21151 "ip": 0,
21152 "op": 877,
21153 "st": 0,
21154 "parent": 55
21155 },
21156 {
21157 "ddd": 0,
21158 "ind": 57,
21159 "ty": 3,
21160 "sr": 1,
21161 "ks": {
21162 "p": {
21163 "a": 0,
21164 "k": [454.77, 347.63],
21165 "ix": 2
21166 },
21167 "a": {
21168 "a": 0,
21169 "k": [172, 27],
21170 "ix": 2
21171 },
21172 "s": {
21173 "a": 1,
21174 "k": [{
21175 "t": 536,
21176 "s": [74, 74],
21177 "i": {
21178 "x": [0],
21179 "y": [1]
21180 },
21181 "o": {
21182 "x": [0],
21183 "y": [0]
21184 }
21185 }, {
21186 "t": 544,
21187 "s": [81, 81]
21188 }],
21189 "ix": 2
21190 },
21191 "o": {
21192 "a": 0,
21193 "k": 100,
21194 "ix": 2
21195 }
21196 },
21197 "ao": 0,
21198 "ip": 0,
21199 "op": 877,
21200 "st": 0
21201 },
21202 {
21203 "ddd": 0,
21204 "refId": "r",
21205 "w": 80,
21206 "h": 78,
21207 "ind": 58,
21208 "ty": 0,
21209 "sr": 1,
21210 "ks": {
21211 "p": {
21212 "a": 0,
21213 "k": [-19, -14],
21214 "ix": 2
21215 },
21216 "o": {
21217 "a": 0,
21218 "k": 100,
21219 "ix": 2
21220 }
21221 },
21222 "ao": 0,
21223 "ip": 0,
21224 "op": 877,
21225 "st": 0,
21226 "parent": 57
21227 },
21228 {
21229 "ddd": 0,
21230 "refId": "s",
21231 "w": 626,
21232 "h": 239,
21233 "ind": 59,
21234 "ty": 0,
21235 "sr": 1,
21236 "ks": {
21237 "p": {
21238 "a": 0,
21239 "k": [279, 120],
21240 "ix": 2
21241 },
21242 "o": {
21243 "a": 1,
21244 "k": [
21245 {
21246 "t": 0,
21247 "s": [0],
21248 "h": 1
21249 },
21250 {
21251 "t": 600,
21252 "s": [100],
21253 "h": 1
21254 },
21255 {
21256 "t": 820,
21257 "s": [0],
21258 "h": 1
21259 }
21260 ],
21261 "ix": 2
21262 }
21263 },
21264 "ao": 0,
21265 "ip": 0,
21266 "op": 877,
21267 "st": 0
21268 },
21269 {
21270 "ddd": 0,
21271 "ind": 60,
21272 "ty": 4,
21273 "sr": 1,
21274 "ks": { "o": {
21275 "a": 1,
21276 "k": [
21277 {
21278 "t": 0,
21279 "s": [0],
21280 "h": 1
21281 },
21282 {
21283 "t": 600,
21284 "s": [100],
21285 "h": 1
21286 },
21287 {
21288 "t": 820,
21289 "s": [0],
21290 "h": 1
21291 }
21292 ],
21293 "ix": 2
21294 } },
21295 "ao": 0,
21296 "shapes": [{
21297 "ty": "gr",
21298 "it": [
21299 {
21300 "ty": "gr",
21301 "it": [{
21302 "ty": "gr",
21303 "it": [
21304 {
21305 "ty": "gr",
21306 "it": [{
21307 "ty": "sh",
21308 "d": 1,
21309 "ks": {
21310 "a": 0,
21311 "k": {
21312 "c": true,
21313 "v": [
21314 [9.58, 3.18],
21315 [9.58, -3.25],
21316 [10.46, -3.25],
21317 [10.46, 3.18],
21318 [9.58, 3.18]
21319 ],
21320 "i": [
21321 [0, 0],
21322 [0, 0],
21323 [0, 0],
21324 [0, 0],
21325 [0, 0]
21326 ],
21327 "o": [
21328 [0, 0],
21329 [0, 0],
21330 [0, 0],
21331 [0, 0],
21332 [0, 0]
21333 ]
21334 }
21335 }
21336 }, {
21337 "ty": "tr",
21338 "o": {
21339 "a": 0,
21340 "k": 100,
21341 "ix": 2
21342 }
21343 }]
21344 },
21345 {
21346 "ty": "gr",
21347 "it": [{
21348 "ty": "sh",
21349 "d": 1,
21350 "ks": {
21351 "a": 0,
21352 "k": {
21353 "c": true,
21354 "v": [
21355 [7.38, -3.25],
21356 [8.36, -3.25],
21357 [8.36, -2.16],
21358 [7.38, -2.16],
21359 [7.38, -3.25]
21360 ],
21361 "i": [
21362 [0, 0],
21363 [0, 0],
21364 [0, 0],
21365 [0, 0],
21366 [0, 0]
21367 ],
21368 "o": [
21369 [0, 0],
21370 [0, 0],
21371 [0, 0],
21372 [0, 0],
21373 [0, 0]
21374 ]
21375 }
21376 }
21377 }, {
21378 "ty": "tr",
21379 "o": {
21380 "a": 0,
21381 "k": 100,
21382 "ix": 2
21383 }
21384 }]
21385 },
21386 {
21387 "ty": "gr",
21388 "it": [{
21389 "ty": "sh",
21390 "d": 1,
21391 "ks": {
21392 "a": 0,
21393 "k": {
21394 "c": true,
21395 "v": [
21396 [7.44, 3.18],
21397 [7.44, -1.35],
21398 [8.31, -1.35],
21399 [8.31, 3.18],
21400 [7.44, 3.18]
21401 ],
21402 "i": [
21403 [0, 0],
21404 [0, 0],
21405 [0, 0],
21406 [0, 0],
21407 [0, 0]
21408 ],
21409 "o": [
21410 [0, 0],
21411 [0, 0],
21412 [0, 0],
21413 [0, 0],
21414 [0, 0]
21415 ]
21416 }
21417 }
21418 }, {
21419 "ty": "tr",
21420 "o": {
21421 "a": 0,
21422 "k": 100,
21423 "ix": 2
21424 }
21425 }]
21426 },
21427 {
21428 "ty": "gr",
21429 "it": [{
21430 "ty": "sh",
21431 "d": 1,
21432 "ks": {
21433 "a": 0,
21434 "k": {
21435 "c": true,
21436 "v": [
21437 [4.05, 2.56],
21438 [5.36, 1.19],
21439 [5.36, 1.11],
21440 [4.19, 1.11],
21441 [3.21, 1.87],
21442 [4.05, 2.56]
21443 ],
21444 "i": [
21445 [0, 0],
21446 [0, .837],
21447 [0, 0],
21448 [0, 0],
21449 [0, -.477],
21450 [-.513, 0]
21451 ],
21452 "o": [
21453 [.819, 0],
21454 [0, 0],
21455 [0, 0],
21456 [-.594, 0],
21457 [0, .414],
21458 [0, 0]
21459 ]
21460 }
21461 }
21462 }, {
21463 "ty": "tr",
21464 "o": {
21465 "a": 0,
21466 "k": 100,
21467 "ix": 2
21468 }
21469 }]
21470 },
21471 {
21472 "ty": "gr",
21473 "it": [{
21474 "ty": "sh",
21475 "d": 1,
21476 "ks": {
21477 "a": 0,
21478 "k": {
21479 "c": true,
21480 "v": [
21481 [3.88, 3.25],
21482 [2.33, 1.89],
21483 [4.1, .44],
21484 [5.05, .44],
21485 [5.36, .2],
21486 [4.26, -.72],
21487 [3.15, .13],
21488 [2.33, .13],
21489 [4.29, -1.43],
21490 [6.22, .26],
21491 [6.22, 3.18],
21492 [5.36, 3.18],
21493 [5.36, 2.43],
21494 [3.88, 3.25]
21495 ],
21496 "i": [
21497 [0, 0],
21498 [0, .81],
21499 [-1.062, 0],
21500 [0, 0],
21501 [0, .162],
21502 [.693, 0],
21503 [.027, -.459],
21504 [0, 0],
21505 [-1.08, 0],
21506 [0, -1.008],
21507 [0, 0],
21508 [0, 0],
21509 [0, 0],
21510 [.684, 0]
21511 ],
21512 "o": [
21513 [-.927, 0],
21514 [0, -.873],
21515 [0, 0],
21516 [.207, 0],
21517 [0, -.549],
21518 [-.639, 0],
21519 [0, 0],
21520 [.072, -.891],
21521 [1.17, 0],
21522 [0, 0],
21523 [0, 0],
21524 [0, 0],
21525 [-.225, .495],
21526 [0, 0]
21527 ]
21528 }
21529 }
21530 }, {
21531 "ty": "tr",
21532 "o": {
21533 "a": 0,
21534 "k": 100,
21535 "ix": 2
21536 }
21537 }]
21538 },
21539 {
21540 "ty": "gr",
21541 "it": [{
21542 "ty": "sh",
21543 "d": 1,
21544 "ks": {
21545 "a": 0,
21546 "k": {
21547 "c": true,
21548 "v": [
21549 [-5.41, 3.18],
21550 [-5.41, -1.35],
21551 [-4.54, -1.35],
21552 [-4.54, -.55],
21553 [-3.18, -1.43],
21554 [-1.73, -.49],
21555 [-.26, -1.43],
21556 [1.34, .3],
21557 [1.34, 3.18],
21558 [.47, 3.18],
21559 [.47, .54],
21560 [-.5, -.66],
21561 [-1.6, .71],
21562 [-1.6, 3.18],
21563 [-2.48, 3.18],
21564 [-2.48, .54],
21565 [-3.43, -.66],
21566 [-4.54, .71],
21567 [-4.54, 3.18],
21568 [-5.41, 3.18]
21569 ],
21570 "i": [
21571 [0, 0],
21572 [0, 0],
21573 [0, 0],
21574 [0, 0],
21575 [-.675, 0],
21576 [-.18, -.594],
21577 [-.657, 0],
21578 [0, -1.053],
21579 [0, 0],
21580 [0, 0],
21581 [0, 0],
21582 [.603, 0],
21583 [0, -.72],
21584 [0, 0],
21585 [0, 0],
21586 [0, 0],
21587 [.594, 0],
21588 [0, -.72],
21589 [0, 0],
21590 [0, 0]
21591 ],
21592 "o": [
21593 [0, 0],
21594 [0, 0],
21595 [0, 0],
21596 [.189, -.513],
21597 [.693, 0],
21598 [.189, -.54],
21599 [.981, 0],
21600 [0, 0],
21601 [0, 0],
21602 [0, 0],
21603 [0, -.72],
21604 [-.693, 0],
21605 [0, 0],
21606 [0, 0],
21607 [0, 0],
21608 [0, -.72],
21609 [-.693, 0],
21610 [0, 0],
21611 [0, 0],
21612 [0, 0]
21613 ]
21614 }
21615 }
21616 }, {
21617 "ty": "tr",
21618 "o": {
21619 "a": 0,
21620 "k": 100,
21621 "ix": 2
21622 }
21623 }]
21624 },
21625 {
21626 "ty": "gr",
21627 "it": [{
21628 "ty": "sh",
21629 "d": 1,
21630 "ks": {
21631 "a": 0,
21632 "k": {
21633 "c": true,
21634 "v": [
21635 [-10.46, 3.18],
21636 [-10.46, -3.12],
21637 [-6.41, -3.12],
21638 [-6.41, -2.29],
21639 [-9.52, -2.29],
21640 [-9.52, -.48],
21641 [-7.01, -.48],
21642 [-7.01, .35],
21643 [-9.52, .35],
21644 [-9.52, 2.35],
21645 [-6.32, 2.35],
21646 [-6.32, 3.18],
21647 [-10.46, 3.18]
21648 ],
21649 "i": [
21650 [0, 0],
21651 [0, 0],
21652 [0, 0],
21653 [0, 0],
21654 [0, 0],
21655 [0, 0],
21656 [0, 0],
21657 [0, 0],
21658 [0, 0],
21659 [0, 0],
21660 [0, 0],
21661 [0, 0],
21662 [0, 0]
21663 ],
21664 "o": [
21665 [0, 0],
21666 [0, 0],
21667 [0, 0],
21668 [0, 0],
21669 [0, 0],
21670 [0, 0],
21671 [0, 0],
21672 [0, 0],
21673 [0, 0],
21674 [0, 0],
21675 [0, 0],
21676 [0, 0],
21677 [0, 0]
21678 ]
21679 }
21680 }
21681 }, {
21682 "ty": "tr",
21683 "o": {
21684 "a": 0,
21685 "k": 100,
21686 "ix": 2
21687 }
21688 }]
21689 },
21690 {
21691 "ty": "fl",
21692 "c": {
21693 "a": 0,
21694 "k": [
21695 0,
21696 0,
21697 0
21698 ],
21699 "ix": 2
21700 },
21701 "o": {
21702 "a": 0,
21703 "k": 50,
21704 "ix": 2
21705 },
21706 "r": 1,
21707 "bm": 0
21708 },
21709 {
21710 "ty": "tr",
21711 "o": {
21712 "a": 0,
21713 "k": 100,
21714 "ix": 2
21715 }
21716 }
21717 ]
21718 }, {
21719 "ty": "tr",
21720 "p": {
21721 "a": 0,
21722 "k": [682, 120.32],
21723 "ix": 2
21724 },
21725 "o": {
21726 "a": 0,
21727 "k": 100,
21728 "ix": 2
21729 }
21730 }]
21731 },
21732 {
21733 "ty": "gr",
21734 "it": [
21735 {
21736 "ty": "sh",
21737 "d": 1,
21738 "ks": {
21739 "a": 0,
21740 "k": {
21741 "c": true,
21742 "v": [
21743 [-66, -10],
21744 [66, -10],
21745 [70, -6],
21746 [70, 6],
21747 [66, 10],
21748 [-66, 10],
21749 [-70, 6],
21750 [-70, -6],
21751 [-66, -10]
21752 ],
21753 "i": [
21754 [0, 0],
21755 [0, 0],
21756 [0, -2.209],
21757 [0, 0],
21758 [2.209, 0],
21759 [0, 0],
21760 [0, 2.209],
21761 [0, 0],
21762 [-2.209, 0]
21763 ],
21764 "o": [
21765 [0, 0],
21766 [2.209, 0],
21767 [0, 0],
21768 [0, 2.209],
21769 [0, 0],
21770 [-2.209, 0],
21771 [0, 0],
21772 [0, -2.209],
21773 [0, 0]
21774 ]
21775 }
21776 }
21777 },
21778 {
21779 "ty": "fl",
21780 "c": {
21781 "a": 0,
21782 "k": [
21783 .8,
21784 .86,
21785 1
21786 ],
21787 "ix": 2
21788 },
21789 "o": {
21790 "a": 0,
21791 "k": 100,
21792 "ix": 2
21793 },
21794 "r": 1,
21795 "bm": 0
21796 },
21797 {
21798 "ty": "tr",
21799 "p": {
21800 "a": 0,
21801 "k": [733.82, 120.5],
21802 "ix": 2
21803 },
21804 "o": {
21805 "a": 0,
21806 "k": 100,
21807 "ix": 2
21808 }
21809 }
21810 ]
21811 },
21812 {
21813 "ty": "gr",
21814 "it": [
21815 {
21816 "ty": "sh",
21817 "d": 1,
21818 "ks": {
21819 "a": 0,
21820 "k": {
21821 "c": true,
21822 "v": [
21823 [-66, -10],
21824 [66, -10],
21825 [70, -6],
21826 [70, 6],
21827 [66, 10],
21828 [-66, 10],
21829 [-70, 6],
21830 [-70, -6],
21831 [-66, -10]
21832 ],
21833 "i": [
21834 [0, 0],
21835 [0, 0],
21836 [0, -2.209],
21837 [0, 0],
21838 [2.209, 0],
21839 [0, 0],
21840 [0, 2.209],
21841 [0, 0],
21842 [-2.209, 0]
21843 ],
21844 "o": [
21845 [0, 0],
21846 [2.209, 0],
21847 [0, 0],
21848 [0, 2.209],
21849 [0, 0],
21850 [-2.209, 0],
21851 [0, 0],
21852 [0, -2.209],
21853 [0, 0]
21854 ]
21855 }
21856 }
21857 },
21858 {
21859 "ty": "fl",
21860 "c": {
21861 "a": 0,
21862 "k": [
21863 1,
21864 1,
21865 1
21866 ],
21867 "ix": 2
21868 },
21869 "o": {
21870 "a": 0,
21871 "k": 100,
21872 "ix": 2
21873 },
21874 "r": 1,
21875 "bm": 0
21876 },
21877 {
21878 "ty": "tr",
21879 "p": {
21880 "a": 0,
21881 "k": [733.82, 120.5],
21882 "ix": 2
21883 },
21884 "o": {
21885 "a": 0,
21886 "k": 100,
21887 "ix": 2
21888 }
21889 }
21890 ]
21891 },
21892 {
21893 "ty": "tr",
21894 "p": {
21895 "a": 1,
21896 "k": [
21897 {
21898 "t": 424,
21899 "s": [592, 296],
21900 "i": {
21901 "x": [.75],
21902 "y": [.75]
21903 },
21904 "o": {
21905 "x": [.25],
21906 "y": [.25]
21907 }
21908 },
21909 {
21910 "t": 468,
21911 "s": [592, 396],
21912 "i": {
21913 "x": [.75],
21914 "y": [.75]
21915 },
21916 "o": {
21917 "x": [.25],
21918 "y": [.25]
21919 }
21920 },
21921 {
21922 "t": 484,
21923 "s": [592, 396],
21924 "h": 1
21925 },
21926 {
21927 "t": 504,
21928 "s": [592, 347],
21929 "h": 1
21930 }
21931 ],
21932 "ix": 2
21933 },
21934 "a": {
21935 "a": 0,
21936 "k": [733.82, 141.5],
21937 "ix": 2
21938 },
21939 "s": {
21940 "a": 1,
21941 "k": [
21942 {
21943 "t": 424,
21944 "s": [399, 399],
21945 "i": {
21946 "x": [.75],
21947 "y": [.75]
21948 },
21949 "o": {
21950 "x": [.25],
21951 "y": [.25]
21952 }
21953 },
21954 {
21955 "t": 444,
21956 "s": [373, 373],
21957 "i": {
21958 "x": [.75],
21959 "y": [.75]
21960 },
21961 "o": {
21962 "x": [.25],
21963 "y": [.25]
21964 }
21965 },
21966 {
21967 "t": 468,
21968 "s": [399, 399]
21969 }
21970 ],
21971 "ix": 2
21972 },
21973 "o": {
21974 "a": 0,
21975 "k": 100,
21976 "ix": 2
21977 }
21978 }
21979 ]
21980 }],
21981 "ip": 0,
21982 "op": 877,
21983 "st": 0
21984 },
21985 {
21986 "ddd": 0,
21987 "ind": 61,
21988 "ty": 4,
21989 "sr": 1,
21990 "ks": { "o": {
21991 "a": 1,
21992 "k": [
21993 {
21994 "t": 0,
21995 "s": [0],
21996 "h": 1
21997 },
21998 {
21999 "t": 600,
22000 "s": [100],
22001 "h": 1
22002 },
22003 {
22004 "t": 820,
22005 "s": [0],
22006 "h": 1
22007 }
22008 ],
22009 "ix": 2
22010 } },
22011 "ao": 0,
22012 "shapes": [{
22013 "ty": "gr",
22014 "it": [
22015 {
22016 "ty": "gr",
22017 "it": [{
22018 "ty": "gr",
22019 "it": [
22020 {
22021 "ty": "gr",
22022 "it": [{
22023 "ty": "sh",
22024 "d": 1,
22025 "ks": {
22026 "a": 0,
22027 "k": {
22028 "c": true,
22029 "v": [
22030 [15.39, 3.54],
22031 [13.71, 1.89],
22032 [13.71, -.67],
22033 [12.68, -.67],
22034 [12.68, -1.5],
22035 [13.71, -1.5],
22036 [13.71, -3.08],
22037 [14.68, -3.08],
22038 [14.68, -1.5],
22039 [16.17, -1.5],
22040 [16.17, -.67],
22041 [14.68, -.67],
22042 [14.68, 1.85],
22043 [15.46, 2.69],
22044 [16.17, 2.69],
22045 [16.17, 3.54],
22046 [15.39, 3.54]
22047 ],
22048 "i": [
22049 [0, 0],
22050 [0, 1.03],
22051 [0, 0],
22052 [0, 0],
22053 [0, 0],
22054 [0, 0],
22055 [0, 0],
22056 [0, 0],
22057 [0, 0],
22058 [0, 0],
22059 [0, 0],
22060 [0, 0],
22061 [0, 0],
22062 [-.48, 0],
22063 [0, 0],
22064 [0, 0],
22065 [0, 0]
22066 ],
22067 "o": [
22068 [-1.02, 0],
22069 [0, 0],
22070 [0, 0],
22071 [0, 0],
22072 [0, 0],
22073 [0, 0],
22074 [0, 0],
22075 [0, 0],
22076 [0, 0],
22077 [0, 0],
22078 [0, 0],
22079 [0, 0],
22080 [0, .54],
22081 [0, 0],
22082 [0, 0],
22083 [0, 0],
22084 [0, 0]
22085 ]
22086 }
22087 }
22088 }, {
22089 "ty": "tr",
22090 "o": {
22091 "a": 0,
22092 "k": 100,
22093 "ix": 2
22094 }
22095 }]
22096 },
22097 {
22098 "ty": "gr",
22099 "it": [{
22100 "ty": "sh",
22101 "d": 1,
22102 "ks": {
22103 "a": 0,
22104 "k": {
22105 "c": true,
22106 "v": [
22107 [10.84, -3.62],
22108 [11.92, -3.62],
22109 [11.92, -2.4],
22110 [10.84, -2.4],
22111 [10.84, -3.62]
22112 ],
22113 "i": [
22114 [0, 0],
22115 [0, 0],
22116 [0, 0],
22117 [0, 0],
22118 [0, 0]
22119 ],
22120 "o": [
22121 [0, 0],
22122 [0, 0],
22123 [0, 0],
22124 [0, 0],
22125 [0, 0]
22126 ]
22127 }
22128 }
22129 }, {
22130 "ty": "tr",
22131 "o": {
22132 "a": 0,
22133 "k": 100,
22134 "ix": 2
22135 }
22136 }]
22137 },
22138 {
22139 "ty": "gr",
22140 "it": [{
22141 "ty": "sh",
22142 "d": 1,
22143 "ks": {
22144 "a": 0,
22145 "k": {
22146 "c": true,
22147 "v": [
22148 [10.9, 3.54],
22149 [10.9, -1.5],
22150 [11.87, -1.5],
22151 [11.87, 3.54],
22152 [10.9, 3.54]
22153 ],
22154 "i": [
22155 [0, 0],
22156 [0, 0],
22157 [0, 0],
22158 [0, 0],
22159 [0, 0]
22160 ],
22161 "o": [
22162 [0, 0],
22163 [0, 0],
22164 [0, 0],
22165 [0, 0],
22166 [0, 0]
22167 ]
22168 }
22169 }
22170 }, {
22171 "ty": "tr",
22172 "o": {
22173 "a": 0,
22174 "k": 100,
22175 "ix": 2
22176 }
22177 }]
22178 },
22179 {
22180 "ty": "gr",
22181 "it": [{
22182 "ty": "sh",
22183 "d": 1,
22184 "ks": {
22185 "a": 0,
22186 "k": {
22187 "c": true,
22188 "v": [
22189 [2.05, 3.54],
22190 [2.05, -1.5],
22191 [3.02, -1.5],
22192 [3.02, -.61],
22193 [4.53, -1.58],
22194 [6.14, -.55],
22195 [7.78, -1.58],
22196 [9.55, .34],
22197 [9.55, 3.54],
22198 [8.58, 3.54],
22199 [8.58, .6],
22200 [7.51, -.73],
22201 [6.28, .79],
22202 [6.28, 3.54],
22203 [5.31, 3.54],
22204 [5.31, .6],
22205 [4.25, -.73],
22206 [3.02, .79],
22207 [3.02, 3.54],
22208 [2.05, 3.54]
22209 ],
22210 "i": [
22211 [0, 0],
22212 [0, 0],
22213 [0, 0],
22214 [0, 0],
22215 [-.75, 0],
22216 [-.2, -.66],
22217 [-.73, 0],
22218 [0, -1.17],
22219 [0, 0],
22220 [0, 0],
22221 [0, 0],
22222 [.67, 0],
22223 [0, -.8],
22224 [0, 0],
22225 [0, 0],
22226 [0, 0],
22227 [.66, 0],
22228 [0, -.8],
22229 [0, 0],
22230 [0, 0]
22231 ],
22232 "o": [
22233 [0, 0],
22234 [0, 0],
22235 [0, 0],
22236 [.21, -.57],
22237 [.77, 0],
22238 [.21, -.6],
22239 [1.09, 0],
22240 [0, 0],
22241 [0, 0],
22242 [0, 0],
22243 [0, -.8],
22244 [-.77, 0],
22245 [0, 0],
22246 [0, 0],
22247 [0, 0],
22248 [0, -.8],
22249 [-.77, 0],
22250 [0, 0],
22251 [0, 0],
22252 [0, 0]
22253 ]
22254 }
22255 }
22256 }, {
22257 "ty": "tr",
22258 "o": {
22259 "a": 0,
22260 "k": 100,
22261 "ix": 2
22262 }
22263 }]
22264 },
22265 {
22266 "ty": "gr",
22267 "it": [{
22268 "ty": "sh",
22269 "d": 1,
22270 "ks": {
22271 "a": 0,
22272 "k": {
22273 "c": true,
22274 "v": [
22275 [-1.58, 2.77],
22276 [-.04, 1.01],
22277 [-1.58, -.73],
22278 [-3.13, 1.01],
22279 [-1.58, 2.77]
22280 ],
22281 "i": [
22282 [0, 0],
22283 [0, 1.05],
22284 [.93, 0],
22285 [0, -1.05],
22286 [-.93, 0]
22287 ],
22288 "o": [
22289 [.93, 0],
22290 [0, -1.05],
22291 [-.93, 0],
22292 [0, 1.05],
22293 [0, 0]
22294 ]
22295 }
22296 }
22297 }, {
22298 "ty": "tr",
22299 "o": {
22300 "a": 0,
22301 "k": 100,
22302 "ix": 2
22303 }
22304 }]
22305 },
22306 {
22307 "ty": "gr",
22308 "it": [{
22309 "ty": "sh",
22310 "d": 1,
22311 "ks": {
22312 "a": 0,
22313 "k": {
22314 "c": true,
22315 "v": [
22316 [-1.43, 3.62],
22317 [-3.06, 2.79],
22318 [-3.06, 3.54],
22319 [-4.03, 3.54],
22320 [-4.03, -3.62],
22321 [-3.06, -3.62],
22322 [-3.06, -.77],
22323 [-1.45, -1.58],
22324 [.94, 1.01],
22325 [-1.43, 3.62]
22326 ],
22327 "i": [
22328 [0, 0],
22329 [.3, .5],
22330 [0, 0],
22331 [0, 0],
22332 [0, 0],
22333 [0, 0],
22334 [0, 0],
22335 [-.67, 0],
22336 [0, -1.49],
22337 [1.51, 0]
22338 ],
22339 "o": [
22340 [-.68, 0],
22341 [0, 0],
22342 [0, 0],
22343 [0, 0],
22344 [0, 0],
22345 [0, 0],
22346 [.31, -.5],
22347 [1.52, 0],
22348 [0, 1.49],
22349 [0, 0]
22350 ]
22351 }
22352 }
22353 }, {
22354 "ty": "tr",
22355 "o": {
22356 "a": 0,
22357 "k": 100,
22358 "ix": 2
22359 }
22360 }]
22361 },
22362 {
22363 "ty": "gr",
22364 "it": [{
22365 "ty": "sh",
22366 "d": 1,
22367 "ks": {
22368 "a": 0,
22369 "k": {
22370 "c": true,
22371 "v": [
22372 [-8.04, 3.62],
22373 [-9.91, 1.59],
22374 [-9.91, -1.5],
22375 [-8.95, -1.5],
22376 [-8.95, 1.41],
22377 [-7.76, 2.75],
22378 [-6.4, 1.23],
22379 [-6.4, -1.5],
22380 [-5.43, -1.5],
22381 [-5.43, 3.54],
22382 [-6.4, 3.54],
22383 [-6.4, 2.65],
22384 [-8.04, 3.62]
22385 ],
22386 "i": [
22387 [0, 0],
22388 [0, 1.2],
22389 [0, 0],
22390 [0, 0],
22391 [0, 0],
22392 [-.71, 0],
22393 [0, .88],
22394 [0, 0],
22395 [0, 0],
22396 [0, 0],
22397 [0, 0],
22398 [0, 0],
22399 [.75, 0]
22400 ],
22401 "o": [
22402 [-1.14, 0],
22403 [0, 0],
22404 [0, 0],
22405 [0, 0],
22406 [0, .8],
22407 [.79, 0],
22408 [0, 0],
22409 [0, 0],
22410 [0, 0],
22411 [0, 0],
22412 [0, 0],
22413 [-.27, .63],
22414 [0, 0]
22415 ]
22416 }
22417 }
22418 }, {
22419 "ty": "tr",
22420 "o": {
22421 "a": 0,
22422 "k": 100,
22423 "ix": 2
22424 }
22425 }]
22426 },
22427 {
22428 "ty": "gr",
22429 "it": [{
22430 "ty": "sh",
22431 "d": 1,
22432 "ks": {
22433 "a": 0,
22434 "k": {
22435 "c": true,
22436 "v": [
22437 [-13.48, 3.62],
22438 [-16.17, 1.22],
22439 [-15.16, 1.22],
22440 [-13.48, 2.69],
22441 [-11.98, 1.59],
22442 [-15.96, -1.64],
22443 [-13.56, -3.54],
22444 [-11.06, -1.44],
22445 [-12.07, -1.44],
22446 [-13.56, -2.63],
22447 [-14.91, -1.65],
22448 [-10.92, 1.58],
22449 [-13.48, 3.62]
22450 ],
22451 "i": [
22452 [0, 0],
22453 [.08, 1.45],
22454 [0, 0],
22455 [-1.07, 0],
22456 [0, .76],
22457 [0, 2.63],
22458 [-1.41, 0],
22459 [-.09, -1.28],
22460 [0, 0],
22461 [.86, 0],
22462 [0, -.6],
22463 [0, -2.74],
22464 [1.5, 0]
22465 ],
22466 "o": [
22467 [-1.66, 0],
22468 [0, 0],
22469 [.08, .9],
22470 [.88, 0],
22471 [0, -1.75],
22472 [0, -1.14],
22473 [1.43, 0],
22474 [0, 0],
22475 [-.07, -.72],
22476 [-.84, 0],
22477 [0, 1.76],
22478 [0, 1.28],
22479 [0, 0]
22480 ]
22481 }
22482 }
22483 }, {
22484 "ty": "tr",
22485 "o": {
22486 "a": 0,
22487 "k": 100,
22488 "ix": 2
22489 }
22490 }]
22491 },
22492 {
22493 "ty": "fl",
22494 "c": {
22495 "a": 0,
22496 "k": [
22497 1,
22498 1,
22499 1
22500 ],
22501 "ix": 2
22502 },
22503 "o": {
22504 "a": 0,
22505 "k": 100,
22506 "ix": 2
22507 },
22508 "r": 1,
22509 "bm": 0
22510 },
22511 {
22512 "ty": "tr",
22513 "o": {
22514 "a": 0,
22515 "k": 100,
22516 "ix": 2
22517 }
22518 }
22519 ]
22520 }, {
22521 "ty": "tr",
22522 "p": {
22523 "a": 0,
22524 "k": [734.38, 174.97],
22525 "ix": 2
22526 },
22527 "o": {
22528 "a": 0,
22529 "k": 100,
22530 "ix": 2
22531 }
22532 }]
22533 },
22534 {
22535 "ty": "gr",
22536 "it": [
22537 {
22538 "ty": "sh",
22539 "d": 1,
22540 "ks": {
22541 "a": 0,
22542 "k": {
22543 "c": true,
22544 "v": [
22545 [-26.5, -10.5],
22546 [26.5, -10.5],
22547 [28.5, -8.5],
22548 [28.5, 8.5],
22549 [26.5, 10.5],
22550 [-26.5, 10.5],
22551 [-28.5, 8.5],
22552 [-28.5, -8.5],
22553 [-26.5, -10.5]
22554 ],
22555 "i": [
22556 [0, 0],
22557 [0, 0],
22558 [0, -1.105],
22559 [0, 0],
22560 [1.105, 0],
22561 [0, 0],
22562 [0, 1.105],
22563 [0, 0],
22564 [-1.105, 0]
22565 ],
22566 "o": [
22567 [0, 0],
22568 [1.105, 0],
22569 [0, 0],
22570 [0, 1.105],
22571 [0, 0],
22572 [-1.105, 0],
22573 [0, 0],
22574 [0, -1.105],
22575 [0, 0]
22576 ]
22577 }
22578 }
22579 },
22580 {
22581 "ty": "fl",
22582 "c": {
22583 "a": 0,
22584 "k": [
22585 .01,
22586 .004,
22587 .232
22588 ],
22589 "ix": 2
22590 },
22591 "o": {
22592 "a": 0,
22593 "k": 100,
22594 "ix": 2
22595 },
22596 "r": 1,
22597 "bm": 0
22598 },
22599 {
22600 "ty": "tr",
22601 "p": {
22602 "a": 0,
22603 "k": [734.32, 175],
22604 "ix": 2
22605 },
22606 "o": {
22607 "a": 0,
22608 "k": 100,
22609 "ix": 2
22610 }
22611 }
22612 ]
22613 },
22614 {
22615 "ty": "tr",
22616 "p": {
22617 "a": 0,
22618 "k": [592, 296],
22619 "ix": 2
22620 },
22621 "a": {
22622 "a": 0,
22623 "k": [733.82, 141.5],
22624 "ix": 2
22625 },
22626 "s": {
22627 "a": 0,
22628 "k": [399, 399],
22629 "ix": 2
22630 },
22631 "o": {
22632 "a": 0,
22633 "k": 100,
22634 "ix": 2
22635 }
22636 }
22637 ]
22638 }],
22639 "ip": 0,
22640 "op": 877,
22641 "st": 0
22642 },
22643 {
22644 "ddd": 0,
22645 "refId": "t",
22646 "ind": 62,
22647 "ty": 2,
22648 "sr": 1,
22649 "ks": {
22650 "p": {
22651 "a": 0,
22652 "k": [592, 296],
22653 "ix": 2
22654 },
22655 "a": {
22656 "a": 0,
22657 "k": [448, 224],
22658 "ix": 2
22659 },
22660 "o": {
22661 "a": 1,
22662 "k": [
22663 {
22664 "t": 0,
22665 "s": [0],
22666 "h": 1
22667 },
22668 {
22669 "t": 600,
22670 "s": [100],
22671 "h": 1
22672 },
22673 {
22674 "t": 820,
22675 "s": [0],
22676 "h": 1
22677 }
22678 ],
22679 "ix": 2
22680 }
22681 },
22682 "ao": 0,
22683 "ip": 0,
22684 "op": 877,
22685 "st": 0
22686 }
22687 ]
22688 },
22689 {
22690 "id": "u",
22691 "layers": [{
22692 "ddd": 0,
22693 "refId": "v",
22694 "w": 344,
22695 "h": 54,
22696 "ind": 63,
22697 "ty": 0,
22698 "sr": 1,
22699 "ks": {
22700 "p": {
22701 "a": 0,
22702 "k": [2, 2],
22703 "ix": 2
22704 },
22705 "o": {
22706 "a": 1,
22707 "k": [{
22708 "t": 0,
22709 "s": [0],
22710 "h": 1
22711 }, {
22712 "t": 600,
22713 "s": [100],
22714 "h": 1
22715 }],
22716 "ix": 2
22717 }
22718 },
22719 "ao": 0,
22720 "ip": 0,
22721 "op": 877,
22722 "st": 0
22723 }, {
22724 "ddd": 0,
22725 "ind": 64,
22726 "ty": 4,
22727 "sr": 1,
22728 "ks": {
22729 "p": {
22730 "a": 0,
22731 "k": [2, 2],
22732 "ix": 2
22733 },
22734 "o": {
22735 "a": 0,
22736 "k": 100,
22737 "ix": 2
22738 }
22739 },
22740 "ao": 0,
22741 "shapes": [{
22742 "ty": "rc",
22743 "d": 1,
22744 "s": {
22745 "a": 0,
22746 "k": [64, 60],
22747 "ix": 2
22748 },
22749 "p": {
22750 "a": 0,
22751 "k": [29, 27],
22752 "ix": 2
22753 },
22754 "r": {
22755 "a": 0,
22756 "k": 0,
22757 "ix": 2
22758 }
22759 }, {
22760 "ty": "fl",
22761 "c": {
22762 "a": 0,
22763 "k": [
22764 0,
22765 0,
22766 0
22767 ],
22768 "ix": 2
22769 },
22770 "o": {
22771 "a": 0,
22772 "k": 0,
22773 "ix": 2
22774 },
22775 "r": 1,
22776 "bm": 0
22777 }],
22778 "ip": 0,
22779 "op": 877,
22780 "st": 0
22781 }]
22782 },
22783 {
22784 "id": "q",
22785 "layers": [{
22786 "ddd": 0,
22787 "ind": 65,
22788 "ty": 4,
22789 "sr": 1,
22790 "ks": {
22791 "p": {
22792 "a": 0,
22793 "k": [2, 2],
22794 "ix": 2
22795 },
22796 "o": {
22797 "a": 0,
22798 "k": 100,
22799 "ix": 2
22800 }
22801 },
22802 "td": 1,
22803 "ao": 0,
22804 "shapes": [{
22805 "ty": "gr",
22806 "it": [
22807 {
22808 "ty": "sh",
22809 "d": 1,
22810 "ks": {
22811 "a": 0,
22812 "k": {
22813 "c": true,
22814 "v": [
22815 [60.87, -13.86],
22816 [-18.99, -13.86],
22817 [-18.99, 63.49],
22818 [60.87, 63.49],
22819 [60.87, -13.86]
22820 ],
22821 "i": [
22822 [0, 0],
22823 [0, 0],
22824 [0, 0],
22825 [0, 0],
22826 [0, 0]
22827 ],
22828 "o": [
22829 [0, 0],
22830 [0, 0],
22831 [0, 0],
22832 [0, 0],
22833 [0, 0]
22834 ]
22835 }
22836 }
22837 },
22838 {
22839 "ty": "fl",
22840 "c": {
22841 "a": 0,
22842 "k": [
22843 0,
22844 0,
22845 0
22846 ],
22847 "ix": 2
22848 },
22849 "o": {
22850 "a": 0,
22851 "k": 100,
22852 "ix": 2
22853 },
22854 "r": 1,
22855 "bm": 0
22856 },
22857 {
22858 "ty": "tr",
22859 "o": {
22860 "a": 0,
22861 "k": 100,
22862 "ix": 2
22863 }
22864 }
22865 ]
22866 }],
22867 "ip": 0,
22868 "op": 877,
22869 "st": 0
22870 }, {
22871 "ddd": 0,
22872 "refId": "u",
22873 "w": 346,
22874 "h": 58,
22875 "ind": 56,
22876 "ty": 0,
22877 "sr": 1,
22878 "ks": {
22879 "p": {
22880 "a": 0,
22881 "k": [171, 27],
22882 "ix": 2
22883 },
22884 "a": {
22885 "a": 0,
22886 "k": [171, 27],
22887 "ix": 2
22888 },
22889 "o": {
22890 "a": 0,
22891 "k": 100,
22892 "ix": 2
22893 }
22894 },
22895 "ao": 0,
22896 "ip": 0,
22897 "op": 877,
22898 "st": 0,
22899 "tt": 2
22900 }]
22901 },
22902 {
22903 "id": "v",
22904 "layers": [
22905 {
22906 "ddd": 0,
22907 "ind": 66,
22908 "ty": 4,
22909 "sr": 1,
22910 "ks": { "o": {
22911 "a": 1,
22912 "k": [{
22913 "t": 0,
22914 "s": [0],
22915 "h": 1
22916 }, {
22917 "t": 512,
22918 "s": [100],
22919 "h": 1
22920 }],
22921 "ix": 2
22922 } },
22923 "ao": 0,
22924 "shapes": [{
22925 "ty": "gr",
22926 "it": [{
22927 "ty": "gr",
22928 "it": [
22929 {
22930 "ty": "sh",
22931 "d": 1,
22932 "ks": {
22933 "a": 0,
22934 "k": {
22935 "c": false,
22936 "v": [
22937 [-17.45, 0],
22938 [-4.76, 15.87],
22939 [17.45, -15.87]
22940 ],
22941 "i": [
22942 [0, 0],
22943 [0, 0],
22944 [0, 0]
22945 ],
22946 "o": [
22947 [0, 0],
22948 [0, 0],
22949 [0, 0]
22950 ]
22951 }
22952 }
22953 },
22954 {
22955 "ty": "st",
22956 "c": {
22957 "a": 0,
22958 "k": [
22959 .13,
22960 .13,
22961 .13
22962 ],
22963 "ix": 2
22964 },
22965 "o": {
22966 "a": 0,
22967 "k": 100,
22968 "ix": 2
22969 },
22970 "w": {
22971 "a": 0,
22972 "k": 5.5,
22973 "ix": 2
22974 },
22975 "lc": 2,
22976 "lj": 2,
22977 "ml": 4
22978 },
22979 {
22980 "ty": "tr",
22981 "o": {
22982 "a": 0,
22983 "k": 100,
22984 "ix": 2
22985 }
22986 }
22987 ]
22988 }, {
22989 "ty": "tr",
22990 "p": {
22991 "a": 0,
22992 "k": [26.46, 27.72],
22993 "ix": 2
22994 },
22995 "o": {
22996 "a": 0,
22997 "k": 100,
22998 "ix": 2
22999 }
23000 }]
23001 }],
23002 "ip": 0,
23003 "op": 877,
23004 "st": 0
23005 },
23006 {
23007 "ddd": 0,
23008 "ind": 67,
23009 "ty": 4,
23010 "sr": 1,
23011 "ks": { "o": {
23012 "a": 1,
23013 "k": [{
23014 "t": 0,
23015 "s": [0],
23016 "h": 1
23017 }, {
23018 "t": 512,
23019 "s": [100],
23020 "h": 1
23021 }],
23022 "ix": 2
23023 } },
23024 "ao": 0,
23025 "shapes": [{
23026 "ty": "gr",
23027 "it": [{
23028 "ty": "gr",
23029 "it": [{
23030 "ty": "gr",
23031 "it": [
23032 {
23033 "ty": "gr",
23034 "it": [{
23035 "ty": "sh",
23036 "d": 1,
23037 "ks": {
23038 "a": 0,
23039 "k": {
23040 "c": true,
23041 "v": [
23042 [432.63, -160.38],
23043 [428.36, -160.38],
23044 [435.56, -170.78],
23045 [428.92, -180.3],
23046 [433.3, -180.3],
23047 [437.73, -173.9],
23048 [442.16, -180.3],
23049 [446.51, -180.3],
23050 [439.9, -170.82],
23051 [447.1, -160.38],
23052 [442.79, -160.38],
23053 [437.73, -167.69],
23054 [432.63, -160.38]
23055 ],
23056 "i": [
23057 [0, 0],
23058 [0, 0],
23059 [0, 0],
23060 [0, 0],
23061 [0, 0],
23062 [0, 0],
23063 [0, 0],
23064 [0, 0],
23065 [0, 0],
23066 [0, 0],
23067 [0, 0],
23068 [0, 0],
23069 [0, 0]
23070 ],
23071 "o": [
23072 [0, 0],
23073 [0, 0],
23074 [0, 0],
23075 [0, 0],
23076 [0, 0],
23077 [0, 0],
23078 [0, 0],
23079 [0, 0],
23080 [0, 0],
23081 [0, 0],
23082 [0, 0],
23083 [0, 0],
23084 [0, 0]
23085 ]
23086 }
23087 }
23088 }, {
23089 "ty": "tr",
23090 "o": {
23091 "a": 0,
23092 "k": 100,
23093 "ix": 2
23094 }
23095 }]
23096 },
23097 {
23098 "ty": "gr",
23099 "it": [{
23100 "ty": "sh",
23101 "d": 1,
23102 "ks": {
23103 "a": 0,
23104 "k": {
23105 "c": true,
23106 "v": [
23107 [417.32, -163.43],
23108 [423.65, -170.34],
23109 [417.32, -177.26],
23110 [410.96, -170.34],
23111 [417.32, -163.43]
23112 ],
23113 "i": [
23114 [0, 0],
23115 [0, 4.071],
23116 [3.755, 0],
23117 [0, -4.071],
23118 [-3.795, 0]
23119 ],
23120 "o": [
23121 [3.755, 0],
23122 [0, -4.071],
23123 [-3.795, 0],
23124 [0, 4.071],
23125 [0, 0]
23126 ]
23127 }
23128 }
23129 }, {
23130 "ty": "tr",
23131 "o": {
23132 "a": 0,
23133 "k": 100,
23134 "ix": 2
23135 }
23136 }]
23137 },
23138 {
23139 "ty": "gr",
23140 "it": [{
23141 "ty": "sh",
23142 "d": 1,
23143 "ks": {
23144 "a": 0,
23145 "k": {
23146 "c": true,
23147 "v": [
23148 [417.32, -160.07],
23149 [407.05, -170.34],
23150 [417.32, -180.62],
23151 [427.56, -170.34],
23152 [417.32, -160.07]
23153 ],
23154 "i": [
23155 [0, 0],
23156 [0, 5.969],
23157 [-5.969, 0],
23158 [0, -5.969],
23159 [5.969, 0]
23160 ],
23161 "o": [
23162 [-5.969, 0],
23163 [0, -5.969],
23164 [5.969, 0],
23165 [0, 5.969],
23166 [0, 0]
23167 ]
23168 }
23169 }
23170 }, {
23171 "ty": "tr",
23172 "o": {
23173 "a": 0,
23174 "k": 100,
23175 "ix": 2
23176 }
23177 }]
23178 },
23179 {
23180 "ty": "gr",
23181 "it": [{
23182 "ty": "sh",
23183 "d": 1,
23184 "ks": {
23185 "a": 0,
23186 "k": {
23187 "c": true,
23188 "v": [
23189 [394.02, -163.43],
23190 [400.15, -170.34],
23191 [394.02, -177.26],
23192 [387.9, -170.34],
23193 [394.02, -163.43]
23194 ],
23195 "i": [
23196 [0, 0],
23197 [0, 4.15],
23198 [3.676, 0],
23199 [0, -4.15],
23200 [-3.676, 0]
23201 ],
23202 "o": [
23203 [3.676, 0],
23204 [0, -4.15],
23205 [-3.676, 0],
23206 [0, 4.15],
23207 [0, 0]
23208 ]
23209 }
23210 }
23211 }, {
23212 "ty": "tr",
23213 "o": {
23214 "a": 0,
23215 "k": 100,
23216 "ix": 2
23217 }
23218 }]
23219 },
23220 {
23221 "ty": "gr",
23222 "it": [{
23223 "ty": "sh",
23224 "d": 1,
23225 "ks": {
23226 "a": 0,
23227 "k": {
23228 "c": true,
23229 "v": [
23230 [394.62, -160.07],
23231 [388.21, -163.35],
23232 [388.21, -160.38],
23233 [384.38, -160.38],
23234 [384.38, -188.65],
23235 [388.21, -188.65],
23236 [388.21, -177.38],
23237 [394.58, -180.62],
23238 [404.02, -170.34],
23239 [394.62, -160.07]
23240 ],
23241 "i": [
23242 [0, 0],
23243 [1.186, 1.976],
23244 [0, 0],
23245 [0, 0],
23246 [0, 0],
23247 [0, 0],
23248 [0, 0],
23249 [-2.648, 0],
23250 [0, -5.89],
23251 [5.969, 0]
23252 ],
23253 "o": [
23254 [-2.688, 0],
23255 [0, 0],
23256 [0, 0],
23257 [0, 0],
23258 [0, 0],
23259 [0, 0],
23260 [1.225, -1.976],
23261 [6.008, 0],
23262 [0, 5.89],
23263 [0, 0]
23264 ]
23265 }
23266 }
23267 }, {
23268 "ty": "tr",
23269 "o": {
23270 "a": 0,
23271 "k": 100,
23272 "ix": 2
23273 }
23274 }]
23275 },
23276 {
23277 "ty": "gr",
23278 "it": [{
23279 "ty": "sh",
23280 "d": 1,
23281 "ks": {
23282 "a": 0,
23283 "k": {
23284 "c": true,
23285 "v": [
23286 [363.38, -160.07],
23287 [355.36, -166.87],
23288 [358.87, -166.87],
23289 [363.34, -163.19],
23290 [367.25, -166.11],
23291 [355.87, -174.69],
23292 [362.98, -180.62],
23293 [370.69, -174.41],
23294 [367.17, -174.41],
23295 [363.02, -177.62],
23296 [359.43, -174.85],
23297 [370.85, -166.31],
23298 [363.38, -160.07]
23299 ],
23300 "i": [
23301 [0, 0],
23302 [.316, 4.309],
23303 [0, 0],
23304 [-2.569, 0],
23305 [0, 1.779],
23306 [0, 7.945],
23307 [-4.15, 0],
23308 [-.277, -3.874],
23309 [0, 0],
23310 [2.293, 0],
23311 [0, -1.779],
23312 [0, -8.301],
23313 [4.625, 0]
23314 ],
23315 "o": [
23316 [-4.822, 0],
23317 [0, 0],
23318 [.198, 2.293],
23319 [2.372, 0],
23320 [0, -4.862],
23321 [0, -3.518],
23322 [4.625, 0],
23323 [0, 0],
23324 [-.198, -1.937],
23325 [-1.976, 0],
23326 [0, 4.704],
23327 [0, 3.834],
23328 [0, 0]
23329 ]
23330 }
23331 }
23332 }, {
23333 "ty": "tr",
23334 "o": {
23335 "a": 0,
23336 "k": 100,
23337 "ix": 2
23338 }
23339 }]
23340 },
23341 {
23342 "ty": "gr",
23343 "it": [{
23344 "ty": "sh",
23345 "d": 1,
23346 "ks": {
23347 "a": 0,
23348 "k": {
23349 "c": true,
23350 "v": [
23351 [347.16, -188.65],
23352 [351.43, -188.65],
23353 [351.43, -183.82],
23354 [347.16, -183.82],
23355 [347.16, -188.65]
23356 ],
23357 "i": [
23358 [0, 0],
23359 [0, 0],
23360 [0, 0],
23361 [0, 0],
23362 [0, 0]
23363 ],
23364 "o": [
23365 [0, 0],
23366 [0, 0],
23367 [0, 0],
23368 [0, 0],
23369 [0, 0]
23370 ]
23371 }
23372 }
23373 }, {
23374 "ty": "tr",
23375 "o": {
23376 "a": 0,
23377 "k": 100,
23378 "ix": 2
23379 }
23380 }]
23381 },
23382 {
23383 "ty": "gr",
23384 "it": [{
23385 "ty": "sh",
23386 "d": 1,
23387 "ks": {
23388 "a": 0,
23389 "k": {
23390 "c": true,
23391 "v": [
23392 [347.4, -160.38],
23393 [347.4, -180.3],
23394 [351.23, -180.3],
23395 [351.23, -160.38],
23396 [347.4, -160.38]
23397 ],
23398 "i": [
23399 [0, 0],
23400 [0, 0],
23401 [0, 0],
23402 [0, 0],
23403 [0, 0]
23404 ],
23405 "o": [
23406 [0, 0],
23407 [0, 0],
23408 [0, 0],
23409 [0, 0],
23410 [0, 0]
23411 ]
23412 }
23413 }
23414 }, {
23415 "ty": "tr",
23416 "o": {
23417 "a": 0,
23418 "k": 100,
23419 "ix": 2
23420 }
23421 }]
23422 },
23423 {
23424 "ty": "gr",
23425 "it": [{
23426 "ty": "sh",
23427 "d": 1,
23428 "ks": {
23429 "a": 0,
23430 "k": {
23431 "c": true,
23432 "v": [
23433 [324.39, -160.38],
23434 [324.39, -188.65],
23435 [328.23, -188.65],
23436 [328.23, -176.79],
23437 [334.63, -180.62],
23438 [342.06, -172.64],
23439 [342.06, -160.38],
23440 [338.23, -160.38],
23441 [338.23, -171.88],
23442 [333.56, -177.18],
23443 [328.23, -171.17],
23444 [328.23, -160.38],
23445 [324.39, -160.38]
23446 ],
23447 "i": [
23448 [0, 0],
23449 [0, 0],
23450 [0, 0],
23451 [0, 0],
23452 [-2.965, 0],
23453 [0, -4.743],
23454 [0, 0],
23455 [0, 0],
23456 [0, 0],
23457 [2.807, 0],
23458 [0, -3.478],
23459 [0, 0],
23460 [0, 0]
23461 ],
23462 "o": [
23463 [0, 0],
23464 [0, 0],
23465 [0, 0],
23466 [1.067, -2.49],
23467 [4.506, 0],
23468 [0, 0],
23469 [0, 0],
23470 [0, 0],
23471 [0, -3.162],
23472 [-3.123, 0],
23473 [0, 0],
23474 [0, 0],
23475 [0, 0]
23476 ]
23477 }
23478 }
23479 }, {
23480 "ty": "tr",
23481 "o": {
23482 "a": 0,
23483 "k": 100,
23484 "ix": 2
23485 }
23486 }]
23487 },
23488 {
23489 "ty": "gr",
23490 "it": [{
23491 "ty": "sh",
23492 "d": 1,
23493 "ks": {
23494 "a": 0,
23495 "k": {
23496 "c": true,
23497 "v": [
23498 [317.52, -160.38],
23499 [310.88, -166.9],
23500 [310.88, -176.98],
23501 [306.81, -176.98],
23502 [306.81, -180.3],
23503 [310.88, -180.3],
23504 [310.88, -186.55],
23505 [314.72, -186.55],
23506 [314.72, -180.3],
23507 [320.61, -180.3],
23508 [320.61, -176.98],
23509 [314.72, -176.98],
23510 [314.72, -167.02],
23511 [317.8, -163.7],
23512 [320.61, -163.7],
23513 [320.61, -160.38],
23514 [317.52, -160.38]
23515 ],
23516 "i": [
23517 [0, 0],
23518 [0, 4.071],
23519 [0, 0],
23520 [0, 0],
23521 [0, 0],
23522 [0, 0],
23523 [0, 0],
23524 [0, 0],
23525 [0, 0],
23526 [0, 0],
23527 [0, 0],
23528 [0, 0],
23529 [0, 0],
23530 [-1.897, 0],
23531 [0, 0],
23532 [0, 0],
23533 [0, 0]
23534 ],
23535 "o": [
23536 [-4.032, 0],
23537 [0, 0],
23538 [0, 0],
23539 [0, 0],
23540 [0, 0],
23541 [0, 0],
23542 [0, 0],
23543 [0, 0],
23544 [0, 0],
23545 [0, 0],
23546 [0, 0],
23547 [0, 0],
23548 [0, 2.135],
23549 [0, 0],
23550 [0, 0],
23551 [0, 0],
23552 [0, 0]
23553 ]
23554 }
23555 }
23556 }, {
23557 "ty": "tr",
23558 "o": {
23559 "a": 0,
23560 "k": 100,
23561 "ix": 2
23562 }
23563 }]
23564 },
23565 {
23566 "ty": "gr",
23567 "it": [{
23568 "ty": "sh",
23569 "d": 1,
23570 "ks": {
23571 "a": 0,
23572 "k": {
23573 "c": true,
23574 "v": [
23575 [279.23, -160.38],
23576 [279.23, -188.65],
23577 [283.06, -188.65],
23578 [283.06, -172.32],
23579 [291.76, -180.3],
23580 [296.74, -180.3],
23581 [288.36, -172.52],
23582 [297.49, -160.38],
23583 [292.75, -160.38],
23584 [285.63, -169.95],
23585 [283.06, -167.58],
23586 [283.06, -160.38],
23587 [279.23, -160.38]
23588 ],
23589 "i": [
23590 [0, 0],
23591 [0, 0],
23592 [0, 0],
23593 [0, 0],
23594 [0, 0],
23595 [0, 0],
23596 [0, 0],
23597 [0, 0],
23598 [0, 0],
23599 [0, 0],
23600 [0, 0],
23601 [0, 0],
23602 [0, 0]
23603 ],
23604 "o": [
23605 [0, 0],
23606 [0, 0],
23607 [0, 0],
23608 [0, 0],
23609 [0, 0],
23610 [0, 0],
23611 [0, 0],
23612 [0, 0],
23613 [0, 0],
23614 [0, 0],
23615 [0, 0],
23616 [0, 0],
23617 [0, 0]
23618 ]
23619 }
23620 }
23621 }, {
23622 "ty": "tr",
23623 "o": {
23624 "a": 0,
23625 "k": 100,
23626 "ix": 2
23627 }
23628 }]
23629 },
23630 {
23631 "ty": "gr",
23632 "it": [{
23633 "ty": "sh",
23634 "d": 1,
23635 "ks": {
23636 "a": 0,
23637 "k": {
23638 "c": true,
23639 "v": [
23640 [265.8, -160.07],
23641 [255.96, -170.34],
23642 [265.8, -180.62],
23643 [275.05, -173.35],
23644 [271.22, -173.35],
23645 [265.88, -177.26],
23646 [259.95, -170.34],
23647 [265.92, -163.43],
23648 [271.26, -167.1],
23649 [275.05, -167.1],
23650 [265.8, -160.07]
23651 ],
23652 "i": [
23653 [0, 0],
23654 [0, 5.494],
23655 [-6.245, 0],
23656 [-.553, -4.506],
23657 [0, 0],
23658 [2.727, 0],
23659 [0, -3.834],
23660 [-3.953, 0],
23661 [-.632, 2.253],
23662 [0, 0],
23663 [5.099, 0]
23664 ],
23665 "o": [
23666 [-6.245, 0],
23667 [0, -5.494],
23668 [4.664, 0],
23669 [0, 0],
23670 [-.356, -2.253],
23671 [-3.953, 0],
23672 [0, 3.834],
23673 [2.727, 0],
23674 [0, 0],
23675 [-.632, 4.19],
23676 [0, 0]
23677 ]
23678 }
23679 }
23680 }, {
23681 "ty": "tr",
23682 "o": {
23683 "a": 0,
23684 "k": 100,
23685 "ix": 2
23686 }
23687 }]
23688 },
23689 {
23690 "ty": "gr",
23691 "it": [{
23692 "ty": "sh",
23693 "d": 1,
23694 "ks": {
23695 "a": 0,
23696 "k": {
23697 "c": true,
23698 "v": [
23699 [237.68, -172.6],
23700 [248.94, -172.6],
23701 [243.41, -177.54],
23702 [237.68, -172.6]
23703 ],
23704 "i": [
23705 [0, 0],
23706 [0, 0],
23707 [3.281, 0],
23708 [.593, -3.241]
23709 ],
23710 "o": [
23711 [0, 0],
23712 [-.237, -3.044],
23713 [-3.083, 0],
23714 [0, 0]
23715 ]
23716 }
23717 }
23718 }, {
23719 "ty": "tr",
23720 "o": {
23721 "a": 0,
23722 "k": 100,
23723 "ix": 2
23724 }
23725 }]
23726 },
23727 {
23728 "ty": "gr",
23729 "it": [{
23730 "ty": "sh",
23731 "d": 1,
23732 "ks": {
23733 "a": 0,
23734 "k": {
23735 "c": true,
23736 "v": [
23737 [243.76, -160.07],
23738 [233.8, -170.46],
23739 [243.41, -180.62],
23740 [252.81, -171.17],
23741 [252.74, -169.63],
23742 [237.56, -169.63],
23743 [243.76, -163.35],
23744 [249.14, -166.87],
23745 [252.97, -166.87],
23746 [243.76, -160.07]
23747 ],
23748 "i": [
23749 [0, 0],
23750 [0, 5.534],
23751 [-6.127, 0],
23752 [0, -5.06],
23753 [.04, -.356],
23754 [0, 0],
23755 [-3.439, 0],
23756 [-.553, 2.253],
23757 [0, 0],
23758 [4.941, 0]
23759 ],
23760 "o": [
23761 [-6.166, 0],
23762 [0, -5.573],
23763 [6.127, 0],
23764 [0, .514],
23765 [0, 0],
23766 [.316, 3.716],
23767 [2.925, 0],
23768 [0, 0],
23769 [-.672, 4.111],
23770 [0, 0]
23771 ]
23772 }
23773 }
23774 }, {
23775 "ty": "tr",
23776 "o": {
23777 "a": 0,
23778 "k": 100,
23779 "ix": 2
23780 }
23781 }]
23782 },
23783 {
23784 "ty": "gr",
23785 "it": [{
23786 "ty": "sh",
23787 "d": 1,
23788 "ks": {
23789 "a": 0,
23790 "k": {
23791 "c": true,
23792 "v": [
23793 [212.14, -160.38],
23794 [212.14, -188.65],
23795 [215.97, -188.65],
23796 [215.97, -176.79],
23797 [222.38, -180.62],
23798 [229.81, -172.64],
23799 [229.81, -160.38],
23800 [225.97, -160.38],
23801 [225.97, -171.88],
23802 [221.31, -177.18],
23803 [215.97, -171.17],
23804 [215.97, -160.38],
23805 [212.14, -160.38]
23806 ],
23807 "i": [
23808 [0, 0],
23809 [0, 0],
23810 [0, 0],
23811 [0, 0],
23812 [-2.965, 0],
23813 [0, -4.743],
23814 [0, 0],
23815 [0, 0],
23816 [0, 0],
23817 [2.806, 0],
23818 [0, -3.478],
23819 [0, 0],
23820 [0, 0]
23821 ],
23822 "o": [
23823 [0, 0],
23824 [0, 0],
23825 [0, 0],
23826 [1.067, -2.49],
23827 [4.506, 0],
23828 [0, 0],
23829 [0, 0],
23830 [0, 0],
23831 [0, -3.162],
23832 [-3.123, 0],
23833 [0, 0],
23834 [0, 0],
23835 [0, 0]
23836 ]
23837 }
23838 }
23839 }, {
23840 "ty": "tr",
23841 "o": {
23842 "a": 0,
23843 "k": 100,
23844 "ix": 2
23845 }
23846 }]
23847 },
23848 {
23849 "ty": "gr",
23850 "it": [{
23851 "ty": "sh",
23852 "d": 1,
23853 "ks": {
23854 "a": 0,
23855 "k": {
23856 "c": true,
23857 "v": [
23858 [195.87, -160.07],
23859 [182.35, -174.22],
23860 [195.87, -188.37],
23861 [207.85, -179.16],
23862 [203.54, -179.16],
23863 [195.83, -184.73],
23864 [186.54, -174.22],
23865 [195.87, -163.7],
23866 [203.62, -169.28],
23867 [207.81, -169.28],
23868 [195.87, -160.07]
23869 ],
23870 "i": [
23871 [0, 0],
23872 [0, 9.487],
23873 [-7.076, 0],
23874 [-.712, -5.376],
23875 [0, 0],
23876 [3.992, 0],
23877 [0, -6.838],
23878 [-5.415, 0],
23879 [-.435, 3.241],
23880 [0, 0],
23881 [6.364, 0]
23882 ],
23883 "o": [
23884 [-7.155, 0],
23885 [0, -9.487],
23886 [6.245, 0],
23887 [0, 0],
23888 [-.435, -3.241],
23889 [-5.376, 0],
23890 [0, 6.838],
23891 [4.071, 0],
23892 [0, 0],
23893 [-.593, 5.376],
23894 [0, 0]
23895 ]
23896 }
23897 }
23898 }, {
23899 "ty": "tr",
23900 "o": {
23901 "a": 0,
23902 "k": 100,
23903 "ix": 2
23904 }
23905 }]
23906 },
23907 {
23908 "ty": "st",
23909 "c": {
23910 "a": 0,
23911 "k": [
23912 0,
23913 0,
23914 0
23915 ],
23916 "ix": 2
23917 },
23918 "o": {
23919 "a": 0,
23920 "k": 100,
23921 "ix": 2
23922 },
23923 "w": {
23924 "a": 0,
23925 "k": .1,
23926 "ix": 2
23927 },
23928 "lc": 1,
23929 "lj": 1,
23930 "ml": 4
23931 },
23932 {
23933 "ty": "fl",
23934 "c": {
23935 "a": 0,
23936 "k": [
23937 .13,
23938 .13,
23939 .13
23940 ],
23941 "ix": 2
23942 },
23943 "o": {
23944 "a": 0,
23945 "k": 100,
23946 "ix": 2
23947 },
23948 "r": 1,
23949 "bm": 0
23950 },
23951 {
23952 "ty": "tr",
23953 "o": {
23954 "a": 0,
23955 "k": 100,
23956 "ix": 2
23957 }
23958 }
23959 ]
23960 }, {
23961 "ty": "tr",
23962 "o": {
23963 "a": 0,
23964 "k": 100,
23965 "ix": 2
23966 }
23967 }]
23968 }, {
23969 "ty": "tr",
23970 "p": {
23971 "a": 0,
23972 "k": [-104, 202],
23973 "ix": 2
23974 },
23975 "o": {
23976 "a": 0,
23977 "k": 100,
23978 "ix": 2
23979 }
23980 }]
23981 }],
23982 "ip": 0,
23983 "op": 877,
23984 "st": 0
23985 },
23986 {
23987 "ddd": 0,
23988 "ind": 68,
23989 "ty": 4,
23990 "sr": 1,
23991 "ks": { "o": {
23992 "a": 1,
23993 "k": [{
23994 "t": 0,
23995 "s": [0],
23996 "h": 1
23997 }, {
23998 "t": 512,
23999 "s": [100],
24000 "h": 1
24001 }],
24002 "ix": 2
24003 } },
24004 "ao": 0,
24005 "shapes": [{
24006 "ty": "gr",
24007 "it": [{
24008 "ty": "gr",
24009 "it": [
24010 {
24011 "ty": "sh",
24012 "d": 1,
24013 "ks": {
24014 "a": 0,
24015 "k": {
24016 "c": true,
24017 "v": [
24018 [-22.7, -24.7],
24019 [22.7, -24.7],
24020 [24.7, -22.7],
24021 [24.7, 22.7],
24022 [22.7, 24.7],
24023 [-22.7, 24.7],
24024 [-24.7, 22.7],
24025 [-24.7, -22.7],
24026 [-22.7, -24.7]
24027 ],
24028 "i": [
24029 [0, 0],
24030 [0, 0],
24031 [0, -1.105],
24032 [0, 0],
24033 [1.105, 0],
24034 [0, 0],
24035 [0, 1.105],
24036 [0, 0],
24037 [-1.105, 0]
24038 ],
24039 "o": [
24040 [0, 0],
24041 [1.105, 0],
24042 [0, 0],
24043 [0, 1.105],
24044 [0, 0],
24045 [-1.105, 0],
24046 [0, 0],
24047 [0, -1.105],
24048 [0, 0]
24049 ]
24050 }
24051 }
24052 },
24053 {
24054 "ty": "st",
24055 "c": {
24056 "a": 0,
24057 "k": [
24058 .13,
24059 .13,
24060 .13
24061 ],
24062 "ix": 2
24063 },
24064 "o": {
24065 "a": 0,
24066 "k": 100,
24067 "ix": 2
24068 },
24069 "w": {
24070 "a": 0,
24071 "k": 2,
24072 "ix": 2
24073 },
24074 "lc": 1,
24075 "lj": 1,
24076 "ml": 4
24077 },
24078 {
24079 "ty": "tr",
24080 "o": {
24081 "a": 0,
24082 "k": 100,
24083 "ix": 2
24084 }
24085 }
24086 ]
24087 }, {
24088 "ty": "tr",
24089 "p": {
24090 "a": 0,
24091 "k": [27.24, 26.8],
24092 "ix": 2
24093 },
24094 "o": {
24095 "a": 0,
24096 "k": 100,
24097 "ix": 2
24098 }
24099 }]
24100 }],
24101 "ip": 0,
24102 "op": 877,
24103 "st": 0
24104 },
24105 {
24106 "ddd": 0,
24107 "ind": 69,
24108 "ty": 4,
24109 "sr": 1,
24110 "ks": { "o": {
24111 "a": 1,
24112 "k": [{
24113 "t": 0,
24114 "s": [0],
24115 "h": 1
24116 }, {
24117 "t": 512,
24118 "s": [100],
24119 "h": 1
24120 }],
24121 "ix": 2
24122 } },
24123 "ao": 0,
24124 "shapes": [{
24125 "ty": "gr",
24126 "it": [{
24127 "ty": "gr",
24128 "it": [
24129 {
24130 "ty": "sh",
24131 "d": 1,
24132 "ks": {
24133 "a": 0,
24134 "k": {
24135 "c": true,
24136 "v": [
24137 [-22.7, -24.7],
24138 [22.7, -24.7],
24139 [24.7, -22.7],
24140 [24.7, 22.7],
24141 [22.7, 24.7],
24142 [-22.7, 24.7],
24143 [-24.7, 22.7],
24144 [-24.7, -22.7],
24145 [-22.7, -24.7]
24146 ],
24147 "i": [
24148 [0, 0],
24149 [0, 0],
24150 [0, -1.105],
24151 [0, 0],
24152 [1.105, 0],
24153 [0, 0],
24154 [0, 1.105],
24155 [0, 0],
24156 [-1.105, 0]
24157 ],
24158 "o": [
24159 [0, 0],
24160 [1.105, 0],
24161 [0, 0],
24162 [0, 1.105],
24163 [0, 0],
24164 [-1.105, 0],
24165 [0, 0],
24166 [0, -1.105],
24167 [0, 0]
24168 ]
24169 }
24170 }
24171 },
24172 {
24173 "ty": "st",
24174 "c": {
24175 "a": 0,
24176 "k": [
24177 .13,
24178 .13,
24179 .13
24180 ],
24181 "ix": 2
24182 },
24183 "o": {
24184 "a": 0,
24185 "k": 100,
24186 "ix": 2
24187 },
24188 "w": {
24189 "a": 0,
24190 "k": .7,
24191 "ix": 2
24192 },
24193 "lc": 1,
24194 "lj": 1,
24195 "ml": 4
24196 },
24197 {
24198 "ty": "tr",
24199 "o": {
24200 "a": 0,
24201 "k": 100,
24202 "ix": 2
24203 }
24204 }
24205 ]
24206 }, {
24207 "ty": "tr",
24208 "p": {
24209 "a": 0,
24210 "k": [27.24, 26.8],
24211 "ix": 2
24212 },
24213 "o": {
24214 "a": 0,
24215 "k": 100,
24216 "ix": 2
24217 }
24218 }]
24219 }],
24220 "ip": 0,
24221 "op": 877,
24222 "st": 0
24223 }
24224 ]
24225 },
24226 {
24227 "id": "w",
24228 "layers": [{
24229 "ddd": 0,
24230 "refId": "x",
24231 "w": 344,
24232 "h": 54,
24233 "ind": 70,
24234 "ty": 0,
24235 "sr": 1,
24236 "ks": {
24237 "p": {
24238 "a": 0,
24239 "k": [19, 14],
24240 "ix": 2
24241 },
24242 "o": {
24243 "a": 1,
24244 "k": [{
24245 "t": 0,
24246 "s": [0],
24247 "h": 1
24248 }, {
24249 "t": 600,
24250 "s": [100],
24251 "h": 1
24252 }],
24253 "ix": 2
24254 }
24255 },
24256 "ao": 0,
24257 "ip": 0,
24258 "op": 877,
24259 "st": 0
24260 }, {
24261 "ddd": 0,
24262 "ind": 71,
24263 "ty": 4,
24264 "sr": 1,
24265 "ks": {
24266 "p": {
24267 "a": 0,
24268 "k": [19, 14],
24269 "ix": 2
24270 },
24271 "o": {
24272 "a": 0,
24273 "k": 100,
24274 "ix": 2
24275 }
24276 },
24277 "ao": 0,
24278 "shapes": [{
24279 "ty": "rc",
24280 "d": 1,
24281 "s": {
24282 "a": 0,
24283 "k": [80, 78],
24284 "ix": 2
24285 },
24286 "p": {
24287 "a": 0,
24288 "k": [21, 25],
24289 "ix": 2
24290 },
24291 "r": {
24292 "a": 0,
24293 "k": 0,
24294 "ix": 2
24295 }
24296 }, {
24297 "ty": "fl",
24298 "c": {
24299 "a": 0,
24300 "k": [
24301 0,
24302 0,
24303 0
24304 ],
24305 "ix": 2
24306 },
24307 "o": {
24308 "a": 0,
24309 "k": 0,
24310 "ix": 2
24311 },
24312 "r": 1,
24313 "bm": 0
24314 }],
24315 "ip": 0,
24316 "op": 877,
24317 "st": 0
24318 }]
24319 },
24320 {
24321 "id": "r",
24322 "layers": [{
24323 "ddd": 0,
24324 "ind": 72,
24325 "ty": 4,
24326 "sr": 1,
24327 "ks": {
24328 "p": {
24329 "a": 0,
24330 "k": [19, 14],
24331 "ix": 2
24332 },
24333 "o": {
24334 "a": 0,
24335 "k": 100,
24336 "ix": 2
24337 }
24338 },
24339 "td": 1,
24340 "ao": 0,
24341 "shapes": [{
24342 "ty": "gr",
24343 "it": [
24344 {
24345 "ty": "sh",
24346 "d": 1,
24347 "ks": {
24348 "a": 0,
24349 "k": {
24350 "c": true,
24351 "v": [
24352 [60.87, -13.86],
24353 [-18.99, -13.86],
24354 [-18.99, 63.49],
24355 [60.87, 63.49],
24356 [60.87, -13.86]
24357 ],
24358 "i": [
24359 [0, 0],
24360 [0, 0],
24361 [0, 0],
24362 [0, 0],
24363 [0, 0]
24364 ],
24365 "o": [
24366 [0, 0],
24367 [0, 0],
24368 [0, 0],
24369 [0, 0],
24370 [0, 0]
24371 ]
24372 }
24373 }
24374 },
24375 {
24376 "ty": "fl",
24377 "c": {
24378 "a": 0,
24379 "k": [
24380 0,
24381 0,
24382 0
24383 ],
24384 "ix": 2
24385 },
24386 "o": {
24387 "a": 0,
24388 "k": 100,
24389 "ix": 2
24390 },
24391 "r": 1,
24392 "bm": 0
24393 },
24394 {
24395 "ty": "tr",
24396 "o": {
24397 "a": 0,
24398 "k": 100,
24399 "ix": 2
24400 }
24401 }
24402 ]
24403 }],
24404 "ip": 0,
24405 "op": 877,
24406 "st": 0
24407 }, {
24408 "ddd": 0,
24409 "refId": "w",
24410 "w": 80,
24411 "h": 78,
24412 "ind": 58,
24413 "ty": 0,
24414 "sr": 1,
24415 "ks": {
24416 "p": {
24417 "a": 0,
24418 "k": [21, 25],
24419 "ix": 2
24420 },
24421 "a": {
24422 "a": 0,
24423 "k": [21, 25],
24424 "ix": 2
24425 },
24426 "o": {
24427 "a": 0,
24428 "k": 100,
24429 "ix": 2
24430 }
24431 },
24432 "ao": 0,
24433 "ip": 0,
24434 "op": 877,
24435 "st": 0,
24436 "tt": 1
24437 }]
24438 },
24439 {
24440 "id": "x",
24441 "layers": [
24442 {
24443 "ddd": 0,
24444 "ind": 73,
24445 "ty": 4,
24446 "sr": 1,
24447 "ks": { "o": {
24448 "a": 1,
24449 "k": [{
24450 "t": 0,
24451 "s": [0],
24452 "h": 1
24453 }, {
24454 "t": 512,
24455 "s": [100],
24456 "h": 1
24457 }],
24458 "ix": 2
24459 } },
24460 "ao": 0,
24461 "shapes": [{
24462 "ty": "gr",
24463 "it": [{
24464 "ty": "gr",
24465 "it": [
24466 {
24467 "ty": "sh",
24468 "d": 1,
24469 "ks": {
24470 "a": 0,
24471 "k": {
24472 "c": false,
24473 "v": [
24474 [-17.45, 0],
24475 [-4.76, 15.87],
24476 [17.45, -15.87]
24477 ],
24478 "i": [
24479 [0, 0],
24480 [0, 0],
24481 [0, 0]
24482 ],
24483 "o": [
24484 [0, 0],
24485 [0, 0],
24486 [0, 0]
24487 ]
24488 }
24489 }
24490 },
24491 {
24492 "ty": "st",
24493 "c": {
24494 "a": 0,
24495 "k": [
24496 .13,
24497 .13,
24498 .13
24499 ],
24500 "ix": 2
24501 },
24502 "o": {
24503 "a": 0,
24504 "k": 100,
24505 "ix": 2
24506 },
24507 "w": {
24508 "a": 0,
24509 "k": 5.5,
24510 "ix": 2
24511 },
24512 "lc": 2,
24513 "lj": 2,
24514 "ml": 4
24515 },
24516 {
24517 "ty": "tr",
24518 "o": {
24519 "a": 0,
24520 "k": 100,
24521 "ix": 2
24522 }
24523 }
24524 ]
24525 }, {
24526 "ty": "tr",
24527 "p": {
24528 "a": 0,
24529 "k": [26.46, 27.72],
24530 "ix": 2
24531 },
24532 "o": {
24533 "a": 0,
24534 "k": 100,
24535 "ix": 2
24536 }
24537 }]
24538 }],
24539 "ip": 0,
24540 "op": 877,
24541 "st": 0
24542 },
24543 {
24544 "ddd": 0,
24545 "ind": 74,
24546 "ty": 4,
24547 "sr": 1,
24548 "ks": { "o": {
24549 "a": 1,
24550 "k": [{
24551 "t": 0,
24552 "s": [0],
24553 "h": 1
24554 }, {
24555 "t": 512,
24556 "s": [100],
24557 "h": 1
24558 }],
24559 "ix": 2
24560 } },
24561 "ao": 0,
24562 "shapes": [{
24563 "ty": "gr",
24564 "it": [{
24565 "ty": "gr",
24566 "it": [{
24567 "ty": "gr",
24568 "it": [
24569 {
24570 "ty": "gr",
24571 "it": [{
24572 "ty": "sh",
24573 "d": 1,
24574 "ks": {
24575 "a": 0,
24576 "k": {
24577 "c": true,
24578 "v": [
24579 [432.63, -160.38],
24580 [428.36, -160.38],
24581 [435.56, -170.78],
24582 [428.92, -180.3],
24583 [433.3, -180.3],
24584 [437.73, -173.9],
24585 [442.16, -180.3],
24586 [446.51, -180.3],
24587 [439.9, -170.82],
24588 [447.1, -160.38],
24589 [442.79, -160.38],
24590 [437.73, -167.69],
24591 [432.63, -160.38]
24592 ],
24593 "i": [
24594 [0, 0],
24595 [0, 0],
24596 [0, 0],
24597 [0, 0],
24598 [0, 0],
24599 [0, 0],
24600 [0, 0],
24601 [0, 0],
24602 [0, 0],
24603 [0, 0],
24604 [0, 0],
24605 [0, 0],
24606 [0, 0]
24607 ],
24608 "o": [
24609 [0, 0],
24610 [0, 0],
24611 [0, 0],
24612 [0, 0],
24613 [0, 0],
24614 [0, 0],
24615 [0, 0],
24616 [0, 0],
24617 [0, 0],
24618 [0, 0],
24619 [0, 0],
24620 [0, 0],
24621 [0, 0]
24622 ]
24623 }
24624 }
24625 }, {
24626 "ty": "tr",
24627 "o": {
24628 "a": 0,
24629 "k": 100,
24630 "ix": 2
24631 }
24632 }]
24633 },
24634 {
24635 "ty": "gr",
24636 "it": [{
24637 "ty": "sh",
24638 "d": 1,
24639 "ks": {
24640 "a": 0,
24641 "k": {
24642 "c": true,
24643 "v": [
24644 [417.32, -163.43],
24645 [423.65, -170.34],
24646 [417.32, -177.26],
24647 [410.96, -170.34],
24648 [417.32, -163.43]
24649 ],
24650 "i": [
24651 [0, 0],
24652 [0, 4.071],
24653 [3.755, 0],
24654 [0, -4.071],
24655 [-3.795, 0]
24656 ],
24657 "o": [
24658 [3.755, 0],
24659 [0, -4.071],
24660 [-3.795, 0],
24661 [0, 4.071],
24662 [0, 0]
24663 ]
24664 }
24665 }
24666 }, {
24667 "ty": "tr",
24668 "o": {
24669 "a": 0,
24670 "k": 100,
24671 "ix": 2
24672 }
24673 }]
24674 },
24675 {
24676 "ty": "gr",
24677 "it": [{
24678 "ty": "sh",
24679 "d": 1,
24680 "ks": {
24681 "a": 0,
24682 "k": {
24683 "c": true,
24684 "v": [
24685 [417.32, -160.07],
24686 [407.05, -170.34],
24687 [417.32, -180.62],
24688 [427.56, -170.34],
24689 [417.32, -160.07]
24690 ],
24691 "i": [
24692 [0, 0],
24693 [0, 5.969],
24694 [-5.969, 0],
24695 [0, -5.969],
24696 [5.969, 0]
24697 ],
24698 "o": [
24699 [-5.969, 0],
24700 [0, -5.969],
24701 [5.969, 0],
24702 [0, 5.969],
24703 [0, 0]
24704 ]
24705 }
24706 }
24707 }, {
24708 "ty": "tr",
24709 "o": {
24710 "a": 0,
24711 "k": 100,
24712 "ix": 2
24713 }
24714 }]
24715 },
24716 {
24717 "ty": "gr",
24718 "it": [{
24719 "ty": "sh",
24720 "d": 1,
24721 "ks": {
24722 "a": 0,
24723 "k": {
24724 "c": true,
24725 "v": [
24726 [394.02, -163.43],
24727 [400.15, -170.34],
24728 [394.02, -177.26],
24729 [387.9, -170.34],
24730 [394.02, -163.43]
24731 ],
24732 "i": [
24733 [0, 0],
24734 [0, 4.15],
24735 [3.676, 0],
24736 [0, -4.15],
24737 [-3.676, 0]
24738 ],
24739 "o": [
24740 [3.676, 0],
24741 [0, -4.15],
24742 [-3.676, 0],
24743 [0, 4.15],
24744 [0, 0]
24745 ]
24746 }
24747 }
24748 }, {
24749 "ty": "tr",
24750 "o": {
24751 "a": 0,
24752 "k": 100,
24753 "ix": 2
24754 }
24755 }]
24756 },
24757 {
24758 "ty": "gr",
24759 "it": [{
24760 "ty": "sh",
24761 "d": 1,
24762 "ks": {
24763 "a": 0,
24764 "k": {
24765 "c": true,
24766 "v": [
24767 [394.62, -160.07],
24768 [388.21, -163.35],
24769 [388.21, -160.38],
24770 [384.38, -160.38],
24771 [384.38, -188.65],
24772 [388.21, -188.65],
24773 [388.21, -177.38],
24774 [394.58, -180.62],
24775 [404.02, -170.34],
24776 [394.62, -160.07]
24777 ],
24778 "i": [
24779 [0, 0],
24780 [1.186, 1.976],
24781 [0, 0],
24782 [0, 0],
24783 [0, 0],
24784 [0, 0],
24785 [0, 0],
24786 [-2.648, 0],
24787 [0, -5.89],
24788 [5.969, 0]
24789 ],
24790 "o": [
24791 [-2.688, 0],
24792 [0, 0],
24793 [0, 0],
24794 [0, 0],
24795 [0, 0],
24796 [0, 0],
24797 [1.225, -1.976],
24798 [6.008, 0],
24799 [0, 5.89],
24800 [0, 0]
24801 ]
24802 }
24803 }
24804 }, {
24805 "ty": "tr",
24806 "o": {
24807 "a": 0,
24808 "k": 100,
24809 "ix": 2
24810 }
24811 }]
24812 },
24813 {
24814 "ty": "gr",
24815 "it": [{
24816 "ty": "sh",
24817 "d": 1,
24818 "ks": {
24819 "a": 0,
24820 "k": {
24821 "c": true,
24822 "v": [
24823 [363.38, -160.07],
24824 [355.36, -166.87],
24825 [358.87, -166.87],
24826 [363.34, -163.19],
24827 [367.25, -166.11],
24828 [355.87, -174.69],
24829 [362.98, -180.62],
24830 [370.69, -174.41],
24831 [367.17, -174.41],
24832 [363.02, -177.62],
24833 [359.43, -174.85],
24834 [370.85, -166.31],
24835 [363.38, -160.07]
24836 ],
24837 "i": [
24838 [0, 0],
24839 [.316, 4.309],
24840 [0, 0],
24841 [-2.569, 0],
24842 [0, 1.779],
24843 [0, 7.945],
24844 [-4.15, 0],
24845 [-.277, -3.874],
24846 [0, 0],
24847 [2.293, 0],
24848 [0, -1.779],
24849 [0, -8.301],
24850 [4.625, 0]
24851 ],
24852 "o": [
24853 [-4.822, 0],
24854 [0, 0],
24855 [.198, 2.293],
24856 [2.372, 0],
24857 [0, -4.862],
24858 [0, -3.518],
24859 [4.625, 0],
24860 [0, 0],
24861 [-.198, -1.937],
24862 [-1.976, 0],
24863 [0, 4.704],
24864 [0, 3.834],
24865 [0, 0]
24866 ]
24867 }
24868 }
24869 }, {
24870 "ty": "tr",
24871 "o": {
24872 "a": 0,
24873 "k": 100,
24874 "ix": 2
24875 }
24876 }]
24877 },
24878 {
24879 "ty": "gr",
24880 "it": [{
24881 "ty": "sh",
24882 "d": 1,
24883 "ks": {
24884 "a": 0,
24885 "k": {
24886 "c": true,
24887 "v": [
24888 [347.16, -188.65],
24889 [351.43, -188.65],
24890 [351.43, -183.82],
24891 [347.16, -183.82],
24892 [347.16, -188.65]
24893 ],
24894 "i": [
24895 [0, 0],
24896 [0, 0],
24897 [0, 0],
24898 [0, 0],
24899 [0, 0]
24900 ],
24901 "o": [
24902 [0, 0],
24903 [0, 0],
24904 [0, 0],
24905 [0, 0],
24906 [0, 0]
24907 ]
24908 }
24909 }
24910 }, {
24911 "ty": "tr",
24912 "o": {
24913 "a": 0,
24914 "k": 100,
24915 "ix": 2
24916 }
24917 }]
24918 },
24919 {
24920 "ty": "gr",
24921 "it": [{
24922 "ty": "sh",
24923 "d": 1,
24924 "ks": {
24925 "a": 0,
24926 "k": {
24927 "c": true,
24928 "v": [
24929 [347.4, -160.38],
24930 [347.4, -180.3],
24931 [351.23, -180.3],
24932 [351.23, -160.38],
24933 [347.4, -160.38]
24934 ],
24935 "i": [
24936 [0, 0],
24937 [0, 0],
24938 [0, 0],
24939 [0, 0],
24940 [0, 0]
24941 ],
24942 "o": [
24943 [0, 0],
24944 [0, 0],
24945 [0, 0],
24946 [0, 0],
24947 [0, 0]
24948 ]
24949 }
24950 }
24951 }, {
24952 "ty": "tr",
24953 "o": {
24954 "a": 0,
24955 "k": 100,
24956 "ix": 2
24957 }
24958 }]
24959 },
24960 {
24961 "ty": "gr",
24962 "it": [{
24963 "ty": "sh",
24964 "d": 1,
24965 "ks": {
24966 "a": 0,
24967 "k": {
24968 "c": true,
24969 "v": [
24970 [324.39, -160.38],
24971 [324.39, -188.65],
24972 [328.23, -188.65],
24973 [328.23, -176.79],
24974 [334.63, -180.62],
24975 [342.06, -172.64],
24976 [342.06, -160.38],
24977 [338.23, -160.38],
24978 [338.23, -171.88],
24979 [333.56, -177.18],
24980 [328.23, -171.17],
24981 [328.23, -160.38],
24982 [324.39, -160.38]
24983 ],
24984 "i": [
24985 [0, 0],
24986 [0, 0],
24987 [0, 0],
24988 [0, 0],
24989 [-2.965, 0],
24990 [0, -4.743],
24991 [0, 0],
24992 [0, 0],
24993 [0, 0],
24994 [2.807, 0],
24995 [0, -3.478],
24996 [0, 0],
24997 [0, 0]
24998 ],
24999 "o": [
25000 [0, 0],
25001 [0, 0],
25002 [0, 0],
25003 [1.067, -2.49],
25004 [4.506, 0],
25005 [0, 0],
25006 [0, 0],
25007 [0, 0],
25008 [0, -3.162],
25009 [-3.123, 0],
25010 [0, 0],
25011 [0, 0],
25012 [0, 0]
25013 ]
25014 }
25015 }
25016 }, {
25017 "ty": "tr",
25018 "o": {
25019 "a": 0,
25020 "k": 100,
25021 "ix": 2
25022 }
25023 }]
25024 },
25025 {
25026 "ty": "gr",
25027 "it": [{
25028 "ty": "sh",
25029 "d": 1,
25030 "ks": {
25031 "a": 0,
25032 "k": {
25033 "c": true,
25034 "v": [
25035 [317.52, -160.38],
25036 [310.88, -166.9],
25037 [310.88, -176.98],
25038 [306.81, -176.98],
25039 [306.81, -180.3],
25040 [310.88, -180.3],
25041 [310.88, -186.55],
25042 [314.72, -186.55],
25043 [314.72, -180.3],
25044 [320.61, -180.3],
25045 [320.61, -176.98],
25046 [314.72, -176.98],
25047 [314.72, -167.02],
25048 [317.8, -163.7],
25049 [320.61, -163.7],
25050 [320.61, -160.38],
25051 [317.52, -160.38]
25052 ],
25053 "i": [
25054 [0, 0],
25055 [0, 4.071],
25056 [0, 0],
25057 [0, 0],
25058 [0, 0],
25059 [0, 0],
25060 [0, 0],
25061 [0, 0],
25062 [0, 0],
25063 [0, 0],
25064 [0, 0],
25065 [0, 0],
25066 [0, 0],
25067 [-1.897, 0],
25068 [0, 0],
25069 [0, 0],
25070 [0, 0]
25071 ],
25072 "o": [
25073 [-4.032, 0],
25074 [0, 0],
25075 [0, 0],
25076 [0, 0],
25077 [0, 0],
25078 [0, 0],
25079 [0, 0],
25080 [0, 0],
25081 [0, 0],
25082 [0, 0],
25083 [0, 0],
25084 [0, 0],
25085 [0, 2.135],
25086 [0, 0],
25087 [0, 0],
25088 [0, 0],
25089 [0, 0]
25090 ]
25091 }
25092 }
25093 }, {
25094 "ty": "tr",
25095 "o": {
25096 "a": 0,
25097 "k": 100,
25098 "ix": 2
25099 }
25100 }]
25101 },
25102 {
25103 "ty": "gr",
25104 "it": [{
25105 "ty": "sh",
25106 "d": 1,
25107 "ks": {
25108 "a": 0,
25109 "k": {
25110 "c": true,
25111 "v": [
25112 [279.23, -160.38],
25113 [279.23, -188.65],
25114 [283.06, -188.65],
25115 [283.06, -172.32],
25116 [291.76, -180.3],
25117 [296.74, -180.3],
25118 [288.36, -172.52],
25119 [297.49, -160.38],
25120 [292.75, -160.38],
25121 [285.63, -169.95],
25122 [283.06, -167.58],
25123 [283.06, -160.38],
25124 [279.23, -160.38]
25125 ],
25126 "i": [
25127 [0, 0],
25128 [0, 0],
25129 [0, 0],
25130 [0, 0],
25131 [0, 0],
25132 [0, 0],
25133 [0, 0],
25134 [0, 0],
25135 [0, 0],
25136 [0, 0],
25137 [0, 0],
25138 [0, 0],
25139 [0, 0]
25140 ],
25141 "o": [
25142 [0, 0],
25143 [0, 0],
25144 [0, 0],
25145 [0, 0],
25146 [0, 0],
25147 [0, 0],
25148 [0, 0],
25149 [0, 0],
25150 [0, 0],
25151 [0, 0],
25152 [0, 0],
25153 [0, 0],
25154 [0, 0]
25155 ]
25156 }
25157 }
25158 }, {
25159 "ty": "tr",
25160 "o": {
25161 "a": 0,
25162 "k": 100,
25163 "ix": 2
25164 }
25165 }]
25166 },
25167 {
25168 "ty": "gr",
25169 "it": [{
25170 "ty": "sh",
25171 "d": 1,
25172 "ks": {
25173 "a": 0,
25174 "k": {
25175 "c": true,
25176 "v": [
25177 [265.8, -160.07],
25178 [255.96, -170.34],
25179 [265.8, -180.62],
25180 [275.05, -173.35],
25181 [271.22, -173.35],
25182 [265.88, -177.26],
25183 [259.95, -170.34],
25184 [265.92, -163.43],
25185 [271.26, -167.1],
25186 [275.05, -167.1],
25187 [265.8, -160.07]
25188 ],
25189 "i": [
25190 [0, 0],
25191 [0, 5.494],
25192 [-6.245, 0],
25193 [-.553, -4.506],
25194 [0, 0],
25195 [2.727, 0],
25196 [0, -3.834],
25197 [-3.953, 0],
25198 [-.632, 2.253],
25199 [0, 0],
25200 [5.099, 0]
25201 ],
25202 "o": [
25203 [-6.245, 0],
25204 [0, -5.494],
25205 [4.664, 0],
25206 [0, 0],
25207 [-.356, -2.253],
25208 [-3.953, 0],
25209 [0, 3.834],
25210 [2.727, 0],
25211 [0, 0],
25212 [-.632, 4.19],
25213 [0, 0]
25214 ]
25215 }
25216 }
25217 }, {
25218 "ty": "tr",
25219 "o": {
25220 "a": 0,
25221 "k": 100,
25222 "ix": 2
25223 }
25224 }]
25225 },
25226 {
25227 "ty": "gr",
25228 "it": [{
25229 "ty": "sh",
25230 "d": 1,
25231 "ks": {
25232 "a": 0,
25233 "k": {
25234 "c": true,
25235 "v": [
25236 [237.68, -172.6],
25237 [248.94, -172.6],
25238 [243.41, -177.54],
25239 [237.68, -172.6]
25240 ],
25241 "i": [
25242 [0, 0],
25243 [0, 0],
25244 [3.281, 0],
25245 [.593, -3.241]
25246 ],
25247 "o": [
25248 [0, 0],
25249 [-.237, -3.044],
25250 [-3.083, 0],
25251 [0, 0]
25252 ]
25253 }
25254 }
25255 }, {
25256 "ty": "tr",
25257 "o": {
25258 "a": 0,
25259 "k": 100,
25260 "ix": 2
25261 }
25262 }]
25263 },
25264 {
25265 "ty": "gr",
25266 "it": [{
25267 "ty": "sh",
25268 "d": 1,
25269 "ks": {
25270 "a": 0,
25271 "k": {
25272 "c": true,
25273 "v": [
25274 [243.76, -160.07],
25275 [233.8, -170.46],
25276 [243.41, -180.62],
25277 [252.81, -171.17],
25278 [252.74, -169.63],
25279 [237.56, -169.63],
25280 [243.76, -163.35],
25281 [249.14, -166.87],
25282 [252.97, -166.87],
25283 [243.76, -160.07]
25284 ],
25285 "i": [
25286 [0, 0],
25287 [0, 5.534],
25288 [-6.127, 0],
25289 [0, -5.06],
25290 [.04, -.356],
25291 [0, 0],
25292 [-3.439, 0],
25293 [-.553, 2.253],
25294 [0, 0],
25295 [4.941, 0]
25296 ],
25297 "o": [
25298 [-6.166, 0],
25299 [0, -5.573],
25300 [6.127, 0],
25301 [0, .514],
25302 [0, 0],
25303 [.316, 3.716],
25304 [2.925, 0],
25305 [0, 0],
25306 [-.672, 4.111],
25307 [0, 0]
25308 ]
25309 }
25310 }
25311 }, {
25312 "ty": "tr",
25313 "o": {
25314 "a": 0,
25315 "k": 100,
25316 "ix": 2
25317 }
25318 }]
25319 },
25320 {
25321 "ty": "gr",
25322 "it": [{
25323 "ty": "sh",
25324 "d": 1,
25325 "ks": {
25326 "a": 0,
25327 "k": {
25328 "c": true,
25329 "v": [
25330 [212.14, -160.38],
25331 [212.14, -188.65],
25332 [215.97, -188.65],
25333 [215.97, -176.79],
25334 [222.38, -180.62],
25335 [229.81, -172.64],
25336 [229.81, -160.38],
25337 [225.97, -160.38],
25338 [225.97, -171.88],
25339 [221.31, -177.18],
25340 [215.97, -171.17],
25341 [215.97, -160.38],
25342 [212.14, -160.38]
25343 ],
25344 "i": [
25345 [0, 0],
25346 [0, 0],
25347 [0, 0],
25348 [0, 0],
25349 [-2.965, 0],
25350 [0, -4.743],
25351 [0, 0],
25352 [0, 0],
25353 [0, 0],
25354 [2.806, 0],
25355 [0, -3.478],
25356 [0, 0],
25357 [0, 0]
25358 ],
25359 "o": [
25360 [0, 0],
25361 [0, 0],
25362 [0, 0],
25363 [1.067, -2.49],
25364 [4.506, 0],
25365 [0, 0],
25366 [0, 0],
25367 [0, 0],
25368 [0, -3.162],
25369 [-3.123, 0],
25370 [0, 0],
25371 [0, 0],
25372 [0, 0]
25373 ]
25374 }
25375 }
25376 }, {
25377 "ty": "tr",
25378 "o": {
25379 "a": 0,
25380 "k": 100,
25381 "ix": 2
25382 }
25383 }]
25384 },
25385 {
25386 "ty": "gr",
25387 "it": [{
25388 "ty": "sh",
25389 "d": 1,
25390 "ks": {
25391 "a": 0,
25392 "k": {
25393 "c": true,
25394 "v": [
25395 [195.87, -160.07],
25396 [182.35, -174.22],
25397 [195.87, -188.37],
25398 [207.85, -179.16],
25399 [203.54, -179.16],
25400 [195.83, -184.73],
25401 [186.54, -174.22],
25402 [195.87, -163.7],
25403 [203.62, -169.28],
25404 [207.81, -169.28],
25405 [195.87, -160.07]
25406 ],
25407 "i": [
25408 [0, 0],
25409 [0, 9.487],
25410 [-7.076, 0],
25411 [-.712, -5.376],
25412 [0, 0],
25413 [3.992, 0],
25414 [0, -6.838],
25415 [-5.415, 0],
25416 [-.435, 3.241],
25417 [0, 0],
25418 [6.364, 0]
25419 ],
25420 "o": [
25421 [-7.155, 0],
25422 [0, -9.487],
25423 [6.245, 0],
25424 [0, 0],
25425 [-.435, -3.241],
25426 [-5.376, 0],
25427 [0, 6.838],
25428 [4.071, 0],
25429 [0, 0],
25430 [-.593, 5.376],
25431 [0, 0]
25432 ]
25433 }
25434 }
25435 }, {
25436 "ty": "tr",
25437 "o": {
25438 "a": 0,
25439 "k": 100,
25440 "ix": 2
25441 }
25442 }]
25443 },
25444 {
25445 "ty": "st",
25446 "c": {
25447 "a": 0,
25448 "k": [
25449 0,
25450 0,
25451 0
25452 ],
25453 "ix": 2
25454 },
25455 "o": {
25456 "a": 0,
25457 "k": 100,
25458 "ix": 2
25459 },
25460 "w": {
25461 "a": 0,
25462 "k": .1,
25463 "ix": 2
25464 },
25465 "lc": 1,
25466 "lj": 1,
25467 "ml": 4
25468 },
25469 {
25470 "ty": "fl",
25471 "c": {
25472 "a": 0,
25473 "k": [
25474 .13,
25475 .13,
25476 .13
25477 ],
25478 "ix": 2
25479 },
25480 "o": {
25481 "a": 0,
25482 "k": 100,
25483 "ix": 2
25484 },
25485 "r": 1,
25486 "bm": 0
25487 },
25488 {
25489 "ty": "tr",
25490 "o": {
25491 "a": 0,
25492 "k": 100,
25493 "ix": 2
25494 }
25495 }
25496 ]
25497 }, {
25498 "ty": "tr",
25499 "o": {
25500 "a": 0,
25501 "k": 100,
25502 "ix": 2
25503 }
25504 }]
25505 }, {
25506 "ty": "tr",
25507 "p": {
25508 "a": 0,
25509 "k": [-104, 202],
25510 "ix": 2
25511 },
25512 "o": {
25513 "a": 0,
25514 "k": 100,
25515 "ix": 2
25516 }
25517 }]
25518 }],
25519 "ip": 0,
25520 "op": 877,
25521 "st": 0
25522 },
25523 {
25524 "ddd": 0,
25525 "ind": 75,
25526 "ty": 4,
25527 "sr": 1,
25528 "ks": { "o": {
25529 "a": 1,
25530 "k": [{
25531 "t": 0,
25532 "s": [0],
25533 "h": 1
25534 }, {
25535 "t": 512,
25536 "s": [100],
25537 "h": 1
25538 }],
25539 "ix": 2
25540 } },
25541 "ao": 0,
25542 "shapes": [{
25543 "ty": "gr",
25544 "it": [{
25545 "ty": "gr",
25546 "it": [
25547 {
25548 "ty": "sh",
25549 "d": 1,
25550 "ks": {
25551 "a": 0,
25552 "k": {
25553 "c": true,
25554 "v": [
25555 [-22.7, -24.7],
25556 [22.7, -24.7],
25557 [24.7, -22.7],
25558 [24.7, 22.7],
25559 [22.7, 24.7],
25560 [-22.7, 24.7],
25561 [-24.7, 22.7],
25562 [-24.7, -22.7],
25563 [-22.7, -24.7]
25564 ],
25565 "i": [
25566 [0, 0],
25567 [0, 0],
25568 [0, -1.105],
25569 [0, 0],
25570 [1.105, 0],
25571 [0, 0],
25572 [0, 1.105],
25573 [0, 0],
25574 [-1.105, 0]
25575 ],
25576 "o": [
25577 [0, 0],
25578 [1.105, 0],
25579 [0, 0],
25580 [0, 1.105],
25581 [0, 0],
25582 [-1.105, 0],
25583 [0, 0],
25584 [0, -1.105],
25585 [0, 0]
25586 ]
25587 }
25588 }
25589 },
25590 {
25591 "ty": "st",
25592 "c": {
25593 "a": 0,
25594 "k": [
25595 .13,
25596 .13,
25597 .13
25598 ],
25599 "ix": 2
25600 },
25601 "o": {
25602 "a": 0,
25603 "k": 100,
25604 "ix": 2
25605 },
25606 "w": {
25607 "a": 0,
25608 "k": 2,
25609 "ix": 2
25610 },
25611 "lc": 1,
25612 "lj": 1,
25613 "ml": 4
25614 },
25615 {
25616 "ty": "tr",
25617 "o": {
25618 "a": 0,
25619 "k": 100,
25620 "ix": 2
25621 }
25622 }
25623 ]
25624 }, {
25625 "ty": "tr",
25626 "p": {
25627 "a": 0,
25628 "k": [27.24, 26.8],
25629 "ix": 2
25630 },
25631 "o": {
25632 "a": 0,
25633 "k": 100,
25634 "ix": 2
25635 }
25636 }]
25637 }],
25638 "ip": 0,
25639 "op": 877,
25640 "st": 0
25641 },
25642 {
25643 "ddd": 0,
25644 "ind": 76,
25645 "ty": 4,
25646 "sr": 1,
25647 "ks": { "o": {
25648 "a": 1,
25649 "k": [{
25650 "t": 0,
25651 "s": [0],
25652 "h": 1
25653 }, {
25654 "t": 512,
25655 "s": [100],
25656 "h": 1
25657 }],
25658 "ix": 2
25659 } },
25660 "ao": 0,
25661 "shapes": [{
25662 "ty": "gr",
25663 "it": [{
25664 "ty": "gr",
25665 "it": [
25666 {
25667 "ty": "sh",
25668 "d": 1,
25669 "ks": {
25670 "a": 0,
25671 "k": {
25672 "c": true,
25673 "v": [
25674 [-22.7, -24.7],
25675 [22.7, -24.7],
25676 [24.7, -22.7],
25677 [24.7, 22.7],
25678 [22.7, 24.7],
25679 [-22.7, 24.7],
25680 [-24.7, 22.7],
25681 [-24.7, -22.7],
25682 [-22.7, -24.7]
25683 ],
25684 "i": [
25685 [0, 0],
25686 [0, 0],
25687 [0, -1.105],
25688 [0, 0],
25689 [1.105, 0],
25690 [0, 0],
25691 [0, 1.105],
25692 [0, 0],
25693 [-1.105, 0]
25694 ],
25695 "o": [
25696 [0, 0],
25697 [1.105, 0],
25698 [0, 0],
25699 [0, 1.105],
25700 [0, 0],
25701 [-1.105, 0],
25702 [0, 0],
25703 [0, -1.105],
25704 [0, 0]
25705 ]
25706 }
25707 }
25708 },
25709 {
25710 "ty": "st",
25711 "c": {
25712 "a": 0,
25713 "k": [
25714 .13,
25715 .13,
25716 .13
25717 ],
25718 "ix": 2
25719 },
25720 "o": {
25721 "a": 0,
25722 "k": 100,
25723 "ix": 2
25724 },
25725 "w": {
25726 "a": 0,
25727 "k": .7,
25728 "ix": 2
25729 },
25730 "lc": 1,
25731 "lj": 1,
25732 "ml": 4
25733 },
25734 {
25735 "ty": "tr",
25736 "o": {
25737 "a": 0,
25738 "k": 100,
25739 "ix": 2
25740 }
25741 }
25742 ]
25743 }, {
25744 "ty": "tr",
25745 "p": {
25746 "a": 0,
25747 "k": [27.24, 26.8],
25748 "ix": 2
25749 },
25750 "o": {
25751 "a": 0,
25752 "k": 100,
25753 "ix": 2
25754 }
25755 }]
25756 }],
25757 "ip": 0,
25758 "op": 877,
25759 "st": 0
25760 }
25761 ]
25762 },
25763 {
25764 "id": "s",
25765 "layers": [
25766 {
25767 "ddd": 0,
25768 "ind": 59,
25769 "ty": 3,
25770 "sr": 1,
25771 "ks": {
25772 "p": {
25773 "a": 1,
25774 "k": [
25775 {
25776 "t": 424,
25777 "s": [313, 176],
25778 "i": {
25779 "x": [.75],
25780 "y": [.75]
25781 },
25782 "o": {
25783 "x": [.25],
25784 "y": [.25]
25785 }
25786 },
25787 {
25788 "t": 468,
25789 "s": [313, 76],
25790 "i": {
25791 "x": [.75],
25792 "y": [.75]
25793 },
25794 "o": {
25795 "x": [.25],
25796 "y": [.25]
25797 }
25798 },
25799 {
25800 "t": 484,
25801 "s": [313, 76],
25802 "h": 1
25803 },
25804 {
25805 "t": 504,
25806 "s": [313, 27],
25807 "h": 1
25808 }
25809 ],
25810 "ix": 2
25811 },
25812 "a": {
25813 "a": 0,
25814 "k": [733.82, 141.5],
25815 "ix": 2
25816 },
25817 "s": {
25818 "a": 1,
25819 "k": [
25820 {
25821 "t": 424,
25822 "s": [399, 399],
25823 "i": {
25824 "x": [.75],
25825 "y": [.75]
25826 },
25827 "o": {
25828 "x": [.25],
25829 "y": [.25]
25830 }
25831 },
25832 {
25833 "t": 444,
25834 "s": [446, 446],
25835 "i": {
25836 "x": [.75],
25837 "y": [.75]
25838 },
25839 "o": {
25840 "x": [.25],
25841 "y": [.25]
25842 }
25843 },
25844 {
25845 "t": 468,
25846 "s": [399, 399]
25847 }
25848 ],
25849 "ix": 2
25850 },
25851 "o": {
25852 "a": 0,
25853 "k": 100,
25854 "ix": 2
25855 }
25856 },
25857 "ao": 0,
25858 "ip": 0,
25859 "op": 877,
25860 "st": 0
25861 },
25862 {
25863 "ddd": 0,
25864 "ind": 77,
25865 "ty": 3,
25866 "sr": 1,
25867 "ks": {
25868 "p": {
25869 "a": 0,
25870 "k": [683.15, 145.39],
25871 "ix": 2
25872 },
25873 "o": {
25874 "a": 0,
25875 "k": 100,
25876 "ix": 2
25877 }
25878 },
25879 "ao": 0,
25880 "ip": 0,
25881 "op": 877,
25882 "st": 0,
25883 "parent": 59
25884 },
25885 {
25886 "ddd": 0,
25887 "refId": "y",
25888 "w": 24,
25889 "h": 8,
25890 "ind": 78,
25891 "ty": 0,
25892 "sr": 1,
25893 "ks": {
25894 "p": {
25895 "a": 0,
25896 "k": [-12, -4],
25897 "ix": 2
25898 },
25899 "o": {
25900 "a": 0,
25901 "k": 50,
25902 "ix": 2
25903 }
25904 },
25905 "ao": 0,
25906 "ip": 0,
25907 "op": 877,
25908 "st": 0,
25909 "parent": 77
25910 },
25911 {
25912 "ddd": 0,
25913 "ind": 79,
25914 "ty": 4,
25915 "sr": 1,
25916 "ks": { "o": {
25917 "a": 0,
25918 "k": 100,
25919 "ix": 2
25920 } },
25921 "ao": 0,
25922 "parent": 59,
25923 "shapes": [{
25924 "ty": "gr",
25925 "it": [
25926 {
25927 "ty": "sh",
25928 "d": 1,
25929 "ks": {
25930 "a": 0,
25931 "k": {
25932 "c": true,
25933 "v": [
25934 [-66, -10],
25935 [66, -10],
25936 [70, -6],
25937 [70, 6],
25938 [66, 10],
25939 [-66, 10],
25940 [-70, 6],
25941 [-70, -6],
25942 [-66, -10]
25943 ],
25944 "i": [
25945 [0, 0],
25946 [0, 0],
25947 [0, -2.209],
25948 [0, 0],
25949 [2.209, 0],
25950 [0, 0],
25951 [0, 2.209],
25952 [0, 0],
25953 [-2.209, 0]
25954 ],
25955 "o": [
25956 [0, 0],
25957 [2.209, 0],
25958 [0, 0],
25959 [0, 2.209],
25960 [0, 0],
25961 [-2.209, 0],
25962 [0, 0],
25963 [0, -2.209],
25964 [0, 0]
25965 ]
25966 }
25967 }
25968 },
25969 {
25970 "ty": "fl",
25971 "c": {
25972 "a": 0,
25973 "k": [
25974 .8,
25975 .86,
25976 1
25977 ],
25978 "ix": 2
25979 },
25980 "o": {
25981 "a": 0,
25982 "k": 100,
25983 "ix": 2
25984 },
25985 "r": 1,
25986 "bm": 0
25987 },
25988 {
25989 "ty": "tr",
25990 "p": {
25991 "a": 0,
25992 "k": [733.82, 145.5],
25993 "ix": 2
25994 },
25995 "o": {
25996 "a": 0,
25997 "k": 100,
25998 "ix": 2
25999 }
26000 }
26001 ]
26002 }],
26003 "ip": 0,
26004 "op": 877,
26005 "st": 0
26006 }
26007 ]
26008 },
26009 {
26010 "id": "y",
26011 "layers": [{
26012 "ddd": 0,
26013 "ind": 80,
26014 "ty": 4,
26015 "sr": 1,
26016 "ks": {
26017 "p": {
26018 "a": 0,
26019 "k": [12, 4],
26020 "ix": 2
26021 },
26022 "o": {
26023 "a": 0,
26024 "k": 100,
26025 "ix": 2
26026 }
26027 },
26028 "ao": 0,
26029 "shapes": [{
26030 "ty": "gr",
26031 "it": [
26032 {
26033 "ty": "gr",
26034 "it": [{
26035 "ty": "sh",
26036 "d": 1,
26037 "ks": {
26038 "a": 0,
26039 "k": {
26040 "c": true,
26041 "v": [
26042 [8.13, .33],
26043 [10.69, .33],
26044 [9.43, -.79],
26045 [8.13, .33]
26046 ],
26047 "i": [
26048 [0, 0],
26049 [0, 0],
26050 [.747, 0],
26051 [.135, -.738]
26052 ],
26053 "o": [
26054 [0, 0],
26055 [-.054, -.693],
26056 [-.702, 0],
26057 [0, 0]
26058 ]
26059 }
26060 }
26061 }, {
26062 "ty": "tr",
26063 "o": {
26064 "a": 0,
26065 "k": 100,
26066 "ix": 2
26067 }
26068 }]
26069 },
26070 {
26071 "ty": "gr",
26072 "it": [{
26073 "ty": "sh",
26074 "d": 1,
26075 "ks": {
26076 "a": 0,
26077 "k": {
26078 "c": true,
26079 "v": [
26080 [9.51, 3.19],
26081 [7.24, .82],
26082 [9.43, -1.49],
26083 [11.57, .66],
26084 [11.55, 1.01],
26085 [8.1, 1.01],
26086 [9.51, 2.44],
26087 [10.74, 1.64],
26088 [11.61, 1.64],
26089 [9.51, 3.19]
26090 ],
26091 "i": [
26092 [0, 0],
26093 [0, 1.26],
26094 [-1.395, 0],
26095 [0, -1.152],
26096 [.009, -.081],
26097 [0, 0],
26098 [-.783, 0],
26099 [-.126, .513],
26100 [0, 0],
26101 [1.125, 0]
26102 ],
26103 "o": [
26104 [-1.404, 0],
26105 [0, -1.269],
26106 [1.395, 0],
26107 [0, .117],
26108 [0, 0],
26109 [.072, .846],
26110 [.666, 0],
26111 [0, 0],
26112 [-.153, .936],
26113 [0, 0]
26114 ]
26115 }
26116 }
26117 }, {
26118 "ty": "tr",
26119 "o": {
26120 "a": 0,
26121 "k": 100,
26122 "ix": 2
26123 }
26124 }]
26125 },
26126 {
26127 "ty": "gr",
26128 "it": [{
26129 "ty": "sh",
26130 "d": 1,
26131 "ks": {
26132 "a": 0,
26133 "k": {
26134 "c": true,
26135 "v": [
26136 [-.41, 3.11],
26137 [-.41, -1.42],
26138 [.46, -1.42],
26139 [.46, -.62],
26140 [1.82, -1.49],
26141 [3.27, -.56],
26142 [4.74, -1.49],
26143 [6.34, .23],
26144 [6.34, 3.11],
26145 [5.46, 3.11],
26146 [5.46, .48],
26147 [4.5, -.73],
26148 [3.39, .64],
26149 [3.39, 3.11],
26150 [2.52, 3.11],
26151 [2.52, .48],
26152 [1.57, -.73],
26153 [.46, .64],
26154 [.46, 3.11],
26155 [-.41, 3.11]
26156 ],
26157 "i": [
26158 [0, 0],
26159 [0, 0],
26160 [0, 0],
26161 [0, 0],
26162 [-.675, 0],
26163 [-.18, -.594],
26164 [-.657, 0],
26165 [0, -1.053],
26166 [0, 0],
26167 [0, 0],
26168 [0, 0],
26169 [.603, 0],
26170 [0, -.72],
26171 [0, 0],
26172 [0, 0],
26173 [0, 0],
26174 [.594, 0],
26175 [0, -.72],
26176 [0, 0],
26177 [0, 0]
26178 ],
26179 "o": [
26180 [0, 0],
26181 [0, 0],
26182 [0, 0],
26183 [.189, -.513],
26184 [.693, 0],
26185 [.189, -.54],
26186 [.981, 0],
26187 [0, 0],
26188 [0, 0],
26189 [0, 0],
26190 [0, -.72],
26191 [-.693, 0],
26192 [0, 0],
26193 [0, 0],
26194 [0, 0],
26195 [0, -.72],
26196 [-.693, 0],
26197 [0, 0],
26198 [0, 0],
26199 [0, 0]
26200 ]
26201 }
26202 }
26203 }, {
26204 "ty": "tr",
26205 "o": {
26206 "a": 0,
26207 "k": 100,
26208 "ix": 2
26209 }
26210 }]
26211 },
26212 {
26213 "ty": "gr",
26214 "it": [{
26215 "ty": "sh",
26216 "d": 1,
26217 "ks": {
26218 "a": 0,
26219 "k": {
26220 "c": true,
26221 "v": [
26222 [-3.8, 2.49],
26223 [-2.49, 1.13],
26224 [-2.49, 1.04],
26225 [-3.66, 1.04],
26226 [-4.64, 1.8],
26227 [-3.8, 2.49]
26228 ],
26229 "i": [
26230 [0, 0],
26231 [0, .837],
26232 [0, 0],
26233 [0, 0],
26234 [0, -.477],
26235 [-.513, 0]
26236 ],
26237 "o": [
26238 [.819, 0],
26239 [0, 0],
26240 [0, 0],
26241 [-.594, 0],
26242 [0, .414],
26243 [0, 0]
26244 ]
26245 }
26246 }
26247 }, {
26248 "ty": "tr",
26249 "o": {
26250 "a": 0,
26251 "k": 100,
26252 "ix": 2
26253 }
26254 }]
26255 },
26256 {
26257 "ty": "gr",
26258 "it": [{
26259 "ty": "sh",
26260 "d": 1,
26261 "ks": {
26262 "a": 0,
26263 "k": {
26264 "c": true,
26265 "v": [
26266 [-3.97, 3.19],
26267 [-5.52, 1.82],
26268 [-3.75, .37],
26269 [-2.8, .37],
26270 [-2.49, .14],
26271 [-3.59, -.79],
26272 [-4.71, .06],
26273 [-5.52, .06],
26274 [-3.56, -1.49],
26275 [-1.63, .19],
26276 [-1.63, 3.11],
26277 [-2.49, 3.11],
26278 [-2.49, 2.37],
26279 [-3.97, 3.19]
26280 ],
26281 "i": [
26282 [0, 0],
26283 [0, .81],
26284 [-1.062, 0],
26285 [0, 0],
26286 [0, .162],
26287 [.693, 0],
26288 [.027, -.459],
26289 [0, 0],
26290 [-1.08, 0],
26291 [0, -1.008],
26292 [0, 0],
26293 [0, 0],
26294 [0, 0],
26295 [.684, 0]
26296 ],
26297 "o": [
26298 [-.927, 0],
26299 [0, -.873],
26300 [0, 0],
26301 [.207, 0],
26302 [0, -.549],
26303 [-.639, 0],
26304 [0, 0],
26305 [.072, -.891],
26306 [1.17, 0],
26307 [0, 0],
26308 [0, 0],
26309 [0, 0],
26310 [-.225, .495],
26311 [0, 0]
26312 ]
26313 }
26314 }
26315 }, {
26316 "ty": "tr",
26317 "o": {
26318 "a": 0,
26319 "k": 100,
26320 "ix": 2
26321 }
26322 }]
26323 },
26324 {
26325 "ty": "gr",
26326 "it": [{
26327 "ty": "sh",
26328 "d": 1,
26329 "ks": {
26330 "a": 0,
26331 "k": {
26332 "c": true,
26333 "v": [
26334 [-11.61, 3.11],
26335 [-11.61, -3.19],
26336 [-10.56, -3.19],
26337 [-7.53, 1.67],
26338 [-7.53, -3.19],
26339 [-6.6, -3.19],
26340 [-6.6, 3.11],
26341 [-7.63, 3.11],
26342 [-10.67, -1.73],
26343 [-10.67, 3.11],
26344 [-11.61, 3.11]
26345 ],
26346 "i": [
26347 [0, 0],
26348 [0, 0],
26349 [0, 0],
26350 [0, 0],
26351 [0, 0],
26352 [0, 0],
26353 [0, 0],
26354 [0, 0],
26355 [0, 0],
26356 [0, 0],
26357 [0, 0]
26358 ],
26359 "o": [
26360 [0, 0],
26361 [0, 0],
26362 [0, 0],
26363 [0, 0],
26364 [0, 0],
26365 [0, 0],
26366 [0, 0],
26367 [0, 0],
26368 [0, 0],
26369 [0, 0],
26370 [0, 0]
26371 ]
26372 }
26373 }
26374 }, {
26375 "ty": "tr",
26376 "o": {
26377 "a": 0,
26378 "k": 100,
26379 "ix": 2
26380 }
26381 }]
26382 },
26383 {
26384 "ty": "fl",
26385 "c": {
26386 "a": 0,
26387 "k": [
26388 .13,
26389 .13,
26390 .13
26391 ],
26392 "ix": 2
26393 },
26394 "o": {
26395 "a": 0,
26396 "k": 100,
26397 "ix": 2
26398 },
26399 "r": 1,
26400 "bm": 0
26401 },
26402 {
26403 "ty": "tr",
26404 "o": {
26405 "a": 0,
26406 "k": 100,
26407 "ix": 2
26408 }
26409 }
26410 ]
26411 }],
26412 "ip": 0,
26413 "op": 877,
26414 "st": 0
26415 }]
26416 },
26417 {
26418 "id": "t",
26419 "u": "",
26420 "p": "data:image/png;base64,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",
26421 "w": 896,
26422 "h": 448,
26423 "e": 1
26424 },
26425 {
26426 "id": "2",
26427 "layers": [{
26428 "ddd": 0,
26429 "refId": "z",
26430 "ind": 3,
26431 "ty": 2,
26432 "sr": 1,
26433 "ks": {
26434 "p": {
26435 "a": 0,
26436 "k": [148, 74],
26437 "ix": 2
26438 },
26439 "a": {
26440 "a": 0,
26441 "k": [653.5, 533.5],
26442 "ix": 2
26443 },
26444 "s": {
26445 "a": 0,
26446 "k": [25, 25],
26447 "ix": 2
26448 },
26449 "o": {
26450 "a": 1,
26451 "k": [
26452 {
26453 "t": 716,
26454 "s": [0],
26455 "i": {
26456 "x": [0],
26457 "y": [1]
26458 },
26459 "o": {
26460 "x": [.333],
26461 "y": [0]
26462 }
26463 },
26464 {
26465 "t": 764,
26466 "s": [100],
26467 "i": {
26468 "x": [.667],
26469 "y": [1]
26470 },
26471 "o": {
26472 "x": [.167],
26473 "y": [0]
26474 }
26475 },
26476 {
26477 "t": 868,
26478 "s": [100],
26479 "i": {
26480 "x": [.667],
26481 "y": [1]
26482 },
26483 "o": {
26484 "x": [.333],
26485 "y": [0]
26486 }
26487 },
26488 {
26489 "t": 884,
26490 "s": [0]
26491 }
26492 ],
26493 "ix": 2
26494 }
26495 },
26496 "ao": 0,
26497 "ip": 0,
26498 "op": 877,
26499 "st": 0
26500 }]
26501 },
26502 {
26503 "id": "z",
26504 "u": "",
26505 "p": "data:image/png;base64,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8z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z78z7YAAP76WgAAAAAhAv9TSArcPg+8ZFeuS5te5QitGWKMuFCzmSzN/CFDE0o9GLtt465CWR6JBFj7yYtwh7N3BtG8lMl2AFtfysauWruqxNu9VxwU2itUFdYjIB5OyFSK0cb4lTcJOUxf/ml70n6bnZRTkQnZC4/U6XPXwA/xjnQ82RipjdvlsVTD1TpRJKp6WsFvGtNXYFmBFG7sX5R2lTRfnO0W83OfuXAtcTwoix4mvGtpsMi6aMpCn3byeTwf3JCLNon5cZm7YwYABA/IOu9zm8Dsk8QdbY2erIiNmWNtb4KY7dI6nrmg8g+HmMP3ObRWQo1xEdzS6GD0J+VFCvM+B/7Z1BR8JnyDbRO85y/ak+56/+vlCZmyMoUgwupiyh08vEeoYE2v/rNQzHfLtBdVfgYzPWH4dPuwXlH/5jfTpIVjZWqXCt5brghstH9e2Wke68drY0VlWE4tjoc5LW5DWrECO65cMzBIVIR/znfHqQoWiLD1q6q4ae55Vb952kY6MIr2R1teq6JPwvPWfPB+/xCkdLF4rhsTEaaVXf6Tkvsp1kGpAAjRR5SwsrQkojf6BVyZAJTUi8bCXitzaigQ4XHgu4ruLWlsv6+kFFczxE4r8FJmHRKD/hF7aM31Do7BXTtmK4gUGYteEw1/7Y33FrvETEygALLMw/r/mMBc9HHKk8RP5rSa6Vntb5Cc5pnMf6nuXQvFIInBXT0/bAk9fDEcGvYHCYqm9zsj6lwDEdkVaSA/AUpnTun5rmAmTrkpP23X2i9PiYpOQCakJCS6gZeSNiz6vZvxc4xp+RVdUyaOp2kTBoNRsq6Yv7zWx6zJPNJpXCu0d+nLvj8gjkOQzJc+7g8d9/49lWBPalK1pOs6IvvmZRvEmt6eIMVyHp0aEUBD0hGMYcqbATia1Q0CKSPYyrfw/8zpzWmBkyX+KYjZH7OCfq2oc/VreBjdj0AvXqVVUv3ym8nLyIy42WxK18Xtd/yoxuYY22zUPkXR0rp0++OsFNZzCkCMoo2gluQGccruHXwY3vlmEsXfCeReiba/hvtkgpyCpadwsBI1Q/44h6BdGiX3V3aHkSj6iy7WqI6VOFvsBfmtTGaOgm1AaofOTFoUTZNXzV4sYHBseItex5zxgKggbsPHSsDRxjml4NfSQN9T3nG1KJeKy6pMFEfkeRV6QsKE/70m3LBamVttMJKpPzfHHcVyDiJwkyvZCvrM5P0CfoATBOBW739Sy44OsPWKtVUhmyAekWVgF3b+Ecl1U07gaNMmPcwSrrYAAtvF2rKnkJUxI13lNYM9vpDFmz+J7Nixjd701+26pY3GZU1Oz32JQ+m5/VUPgNILiZ2vpmgWG+XvV/taixBtC6d33XGM6UTIlO7/kFhc70BWbNtJQu4E6cEwCb4Z3YHYgwpjpWPDWq2PU0nMcl6RFh5t6G0ME4Cf/sFqv7WkENi0JNwaeMokOJCMJveBDFSELpzIsTUvlBnTl4137gyrcdTqIiuGxRVbxRkCoMcb/5kYFFxEaY+a5F+rMtzpKLrMsd9H54eZAfmFHB+4FYfwTnhsvkJ55h3N+wnkvGykeChas2GRs1X7riSAUa3BP9qWHjv6OHRcmtrdOhBjvi5TWY8Fx48udMZdVYI7vCQLbZIKFKaraAKSRmd0V/857HfQViRybOfuIggMBCmgHPcO77JYbl2Z6jYPGsi4zCzAEVfjR79kqb9hWETLC2tp6S2fmzpqE9m70Ho1agxB5/bxWU3vc6h7HzvELaHyNy4LJuEcYzZyJKypigZQqguvL9vgPvoCNAwyXUW0y67rRQg9qAwWnx9xuCI3QshsWrOwNR/nxmjvF180lEvf7yBm0feDAevaMbu/V9HSQN3QbFliB/oKE6fDSSssem7H+ISR+qJinBfBs99WY+f2S+r7F3vYVMY26Ku2iWySzX1EOdxkbHlPD7NfxKZqn+iis7ItEdZCu8OJszK+/01BHK1ctxv/5nz6fiWFSRCXaDw2UWcbc/5ErUDcHsq045uNfYsblCo1Z6CxwjJJka/rk8olB+XhKlg/AApw36uaMRxkURmMHecku2+cjYK4qmR8Ho5ySHpmTdh1D3LkvJwi09+f7PT1dLFhuD9mmwfPmvGvmNmKm6iLFv+g8oeitJ6ok3ze4P9prTUVou+1r/T3QNaAMWSXuAdGYtoOMGqoKgiAtjMVnNtQsXKA71QmknOdNpHLeq3EmJ+gmKFjio6t6JX/4Yj5vU2CuMChkXv9XrZztkl9ifE3CaMgJEWvPltlQcpsC+ywPRk354+TtkyDrMPQIyAySWK4nuhI7h2Ex0r+tktzpd/OeHUHS9VGDdS6YG2LoiFJttMX2wf8QjQusa9QQvgYpQwzAusetuyiIV1Y/SAgqQTvR+sW7woCaxX6xOrlXkMkl5EgHgqtzsC+exiXbhPjIB17OjT2JHieoqBrU5P7X1kzXMECcCwSBxZCy+FYYNfUaVi48YDBZ7zBGI51zI+lSFIRhk8PSgLQACx6w7r7S1Ettgz24HTpss0YX9Izd/iRkUPjovxhxG1pVvGuDB6iiDdcIn4qzMQeeruuWGgKcjZRJ7aV4XFCFiRc1HewQZVjm8f9FSe3ByJ8a+VdxJBOmqSTUnjHwtrOGszK/TASW55GJHUgDc4KtgRg4opDlBxkf5cJc3Ws9xgX25+nqQgmWi4vRs0/n/we1+4P+BzqjBkoMpjGNH1Ft8W4CG/mQvwAbeynvKjzm3Ui/HL2oCXdPu1TY6zuwTqLMjT0MtksmHsKJt93ZQmysCdYgg7stSElhgj1XiEnOCcnEZRTU6+bj5/LrlGowppRbYpASL1ViAiH7EryihNRzY+XGVS6H3iV+4nxE45jIeVPmKKvkVbcSPRjUB43DUWrD4vxPRLOA0yHDRmIyh2VaTMQZT5UcLW/L7f80NzOOsbdaT3N9zkv6hn90iU4t1u1tjM8cvYf/Zp405zlljm/3KtFZLvZhjvTzIBJgFYo5ZtynnD6MKlM1MKPZ9uw3TxpI/TgFGdHLfyHQohDH8Q+TSEr3sxignTB0rhr+gwChs6sLFQ524FSDTu5Z4jxJwdtrRLfCS+a1w5bDW+FV8gOcuyoqMK2YVIeABW6yaKDdLrdz3VEi179tGS9T2oci5L4OLn/PgbFgX7ONX9N7FrMHv3Igk93YOTulGmFVYpB+xJtAk2nH9/sMmHlRVrkz3EgE1UcpnkPJCAlKo1ShvCUi+Zi2DBct+Pb5BvDFSnh9FA8ZTjw3gqd6mWUdGlaCO2v0F7vJ4x7KG2Z8eDe1pFIzYHECgoJmXjoxbI4zFP/Cu1bg4gSmxPDCTXn0zC26Rdky3YTklcjbgjsiEm6YhVNXw6IrkA0bQeaLUOrlZf8CNU7m9L0CqK1i6y7M5ROffDMiwKSXWMJ6QJ7wTpYlFWv2TTOTlRqp7NWS8E9fDrGLvuck3HZA12uUVaBg1HZkO9jtXHuVtFIe5sdYuZJT4ZIorbW/mNFndIs7Da/F5w+QRDG6WibnGaSBej1CbQUOaQxJDgffzeQj25RQPYtJaqtPPwKUr4qSOQx2229fjmt8C86abhJSYOU/cmQL7hQMhPZC4awnSo6BvKiPRna/EqsZMBYa1/2c0FjUQfBbCYft3zgs1v3StQ80VKud3JPGfwT/OJT85NdJOu8rKiIoa7Ai2BVQlxvBhg6C+d5+Tu3JEiPEVzPG6cx8kWS8kM7dDbkTKQkGEUH4nMnfEKywLqk7SG/UbIddPT9RdU1rGzbttjqk/EgCUH8f3pkycK5Z/WYKy8/GLfHsd8RSaeXSL/yNgOV+nBLe8w9nfIWOf9GkwZ3qyBTO6oRrquu/svlnmit5wGhjADSZAXB2Vhr8RPhXH/gPiCrG0AG3D/xsyz1nbh/n0X1jPp1MJPKHxR0d1HemVB8/PODU9hm4QpFE9dD7a8I7N9xTUaipgC2S8hWS6fhztetipqjxNDv6jiKmmeRusFK8yfJL+2wSu8qOOVLmspo/m0ffS25nqJV28o93N7teCJULmGPGOiIfbouPreKheFUDOtofgconQKaSR9k4bzsBLhB7zQ880007VJlbOOZIGOwzakiiFyvjiDMd+8/X+5RNRhhjx1yp0Yb4CIKMvIVEeg8AgxHUg4AbOOm3DMAbMM3VYxaT0NG5bO2c//St3pfrWM07Y8QegeMsLy0TWc6JLRHoDJBfImPTNzV2Kvxw1a5RXlxGV0xVkabCqCXdkTXnkyL6DJaa9kuBAEhgvS9hjTgAtYJR4y5ginFzroe7nCFq0hHHoUYwRkl36AQTXlGHl/hRLfthBGcWn9AjnCL1K6zbjSLmYoAMGPReJMV4U1wXKccFj3+36+Bx1X9CtpUhuKXLe6t0AnUYWrSquFPOHJKR/g25LOw4qt8sZgNbaiAmosWrx4FoC+7q9qU6Wdq4msP4xjh8C1UKXazzdUFvX0dVbDvH0odFkF5knZFL+DudouANyCbRpD0l7XwLmhcsCip1UTUoat324LUIBShDpe8U7d+H7fcquVVN+m5d7DQZb7RBiCIAPptEr+5oVG0MkJS+Jxdfo8Ju9jgDTm9RBMKjYkGxSFgJzhoK9CafK7ke7/pU/TqIJyK65GOnc+YarJtMJ+Q8WoECLTzswnmlmWKhX0RQzftKwEPYZxTzvMmS9J0QJMv8W7XshpXZxsKUvndM2H4uNscT+qVQ6+W673JG8f+NasFy+ZEEEe00nuqAl8DLuVVOvPwXSfpY9sZDgPJSf1SrYakD4HPlN/OFJm+8aFay8EdFqAO7feumx2CtLeQjg3dnX/V5PwcYHU+4E01yLk9noSPFgxgcGiqNKqcn1nykaETVC+nRXV/H+5EQ5bTDp6mE1ud9V4A5D22rrXIWkjfb4wnaTsZyyW9C4OtSvOFn9dfo0WFOz/Acu0ercj4QWkrjy6aGaQXDwX93ll/1/bkRSjPC9zphts7CaTVbJYCptToCf8zz9qPfeUuh1kv1dMLK70/BxTCrARO3G5/aUYdCP9L7PnunE5FAyahRpGWe2/AIb5CWLT4j2CM0zRKw+NHR2eGjwe1FgPvKuDnS7k1glgPiS2/jVE/F+xafEewRmmE/aN27gfjJjvi2E/uS2lVgd2dgcjqdso9TjW5L6YEJ8z2sO1Iuv44CYVeYe8Kqh78UwXWnFXiRTgxewedIY0naVmII3MRvK1cQqEruAwdqzwcuA6SyufPicE5C2X9/EGaQeCCFrYFpFYH1+JcpBYHn2m0BL0HJl3H7DB0guQFp5RYIIjtPmZaZaQueAK6C63ANIvAc9sb2Jkas4mhllCcNE9lu1RImrazHdAvqYj1qP6YhpghmWuP4k5nj1Tr35KeT4IlID+HJJ56bMP8cAji9RBj19LrXUHnFKPjAWSB3cSc5xYa5PuyadEFZX+Z6ctsny6kvDqGpLtDFwxCOQzu2Pliho0N5wW9angkhnGFwwa3WntaK0yXlb9Wj2+VcoLhpdiNWNTwSPtRTun/tSjyZuIvo6v3ViCk7Xbjirq5R9WOyy9ccnmpCu6U8BEccA1jFCOCHb5oyE3XdLH9luAskBL2t70+Sm62XBPxTsZs+PG38Ewx3gD/b4xiGAizxnZ01ShiFY2uiwiMyC2m2YNkF0DtDTe0h8GHg/8fyvx3Kv++LMHlxoIQMrBeR6/aMtQJOaVbsy4KfXvVUlaGa95Al3Ds2PWopufBxMlGCjaE/vTkuvALjFlbogNKq8iJKZUYO0bu+P3fkAuBVhkdJkUCMfVIwY58MWre+Bpf+9NFgqEOHc5RpqfVyEbvwwzTTJZc0QrRtojmAb4WU+4UMI07uAIw4NjQELXg39iGO98/9y4x0e1K+vQgPOSpheNIvfeAbCK+YxhSdUKUpDeXlX7Zr3bd8RUTfzOUcGV1aEgk8kB5cC3LTtWFAnKC7kirLwjxLhbOesj8MhDyLPDkyXCttUZ/iJOlOGVs6Y91r/XlFYf/HEPQgfnjtlMrtKn7X4P8zLQaNbAxFrzIYgwHntYeG90sKmdIuSdneLG7nrPhIiQDN81OQjPc2iRlMAtu4M4aAyEaz2SrgPlFGE9RZtyTxihh6o//BHiHJNDiqne5e9zuChLgrt9B7xdM8Kdx7xPw59tEOsJG9v8MBRNIEaLYY/qpvghSMfaDVMlWcNOp9vjtoWAmyBi+hkiHxJN/9p6UlbYQffv7NdC1mEOxeo4Xrqrf+0MZmZkGmQ/ShgD+GeR1chHI/uGZwQWeRNIhf7p1FSp0r6uTChsBZT75WXUxV7yFD378a2xmsB52hI8dp5NOBEkOBM33PK8QEL1wH0xw1ftHOFH19eozTyFmipgOV7Zbedrm22gE7nzq3TE5HSdreaMQHLje/vZHIuS5SVh9XcwH1JDE8/a1QME4hq1MKBjH2jEkhdMrjs0Qol0yCI9MoIi1hAARixwJSMpDvI6CCIHvZ6+fXQKHo6IJ8L25YECi9jT/UEPXKkvQJDYWxqOHfOHW/xPN/RVRK8V6xre96gzbg/a1b+qfwJNahrk5B/fLv3XbQqxX8KCwOR35TMZ10k1MlWXdsICCKjcARZz7gbMgDw8NHCf5jutpqdd2aJspLcvRe6oIyDSu0T8elK7z04/T6lISZndrbMdndKqoob/qkQ/yfMogN2fKPD/azEg9D3EQKqTjtMg9eN9q192xHHr+H+5ItOkVV54Ka9q9sbPi7ia2rK1vvM/CQzod1P6kqycxpN5rYCFNyT7R7c/RlIH0+vOHLqRE7INQsd57fWIQq/SC+rR1VwDbZTVz2ru3XuwwSHw6LqbxHsEZpmiVh8aOjs8NHg9qLAfeVcHOl3JrD2fGjmbxk6HRWPPo6AOpWIj0LdZRPkL72nPWqci06UgMyOxz4VJnIkWFd8P3m+lRxPrthzElyzOa4mRM/2Bx7NH624udAgDVuF4utgA9hvETaZCpM7F1pWb6itNhXq9FNHoDqrLMAxVFKkoLcOZArCMx7qSDis/ly/pgkY47+4pAQzN7SVyV29k+jngNw5+ok0g42mGJ1DW0VeJpqLN9w6+TOmnchPYUVk8wJuyvGhjFCqPhlqfb0EsMGzvIOmfESq/CXH/c9jNqp8aCrZ3A9FD3AwE0SjpASEj6ymMkZB1+L7IrpUMODrUSDLdlsH15z+gwcWTAEfxDbXQS/1q3p9fg1jRq2byKVWhO03EpeqXgPDkpAzXcQffS0EVO3GWUOiiBgVe6FRG7Y0qM7llZkKGgHZPcsNWR77Dri60N9yQ9boQ0Hkx05R2md75FZEVfticLyW5ZXHjd0dGmOX5HTrW7H7cgysMvhYBjeug/YqD1OFmH/1xXs2dAKm8gLJfReENiKlCLOaK9MJx5zLOyTJ5jji6GC77fKh/FyAzsS3P5Mwf83X83I4hbOttSLNqQqrKVdYxRb/4j43K3GtGgQOtSefSME7FFr0OFCzmOKImdkwE0rQyvxcXI37WbjBzFX60/eDV3gfWTmPI3tthS6vjenMcyKlJm9jqIkKOZYovAFWuGdYdpGIS8c35dQn4K3VrSgLq29MBI6gCMaFsqVq1EbyIyW7fxCa/1P/Yxo6+muPVGrGvl+wwl5dFR3nG64UhmtDnofB7v9MCeM2eTk38AxxAewFmG+kRXO/IWpoAWHqxWoJTZaqkAogbh0U3SNBPoJdQriiFv4rW9NNtMKsL0m1WJyivjX8yDsQ1ET7pA5xkHvfPd3nsNwMuHjcAbWSIhzwsfCXnnh5mHtEr8WgYbMj5nAV5PwHsYaLVx6uWT0gZTPAWCHWs2dY6KCQPABUyFIgxTaywNwm7UOvADJH47JIQ9/oPb2rgDRMzbVP5gogxnweSMt/nhUMRAb7XZejKWao6Oiu1nMoLL2tgaptiPkUo2dOR95jag0qKWbrPPFMZ2QWgR+iwRV98ZdIU/hKPag3Pkaxq1dIl7y6ZGCEn2MorQhgmupQcfuNtLUqXE09aejSfvJou2PAegvda9+YpCr/YiK4+Ub0WWDxB+E2xgGKDmkv43p1uTfCpYY92r4AGjDT1HN+a0hEvy7RI2oL6/bU1t6MlIsCEkOK2vshSeQjPchJbb/woMIpI16qGIU4usLxnwB0vpiwnNn4KP2kZQl/7vkOc1rj0eJWQ2ZArmWsxsMdRjH6i3R0KRwYrOVnmrWi2m+FUNqYipFfEMUp9d3WeEvsT2Mp9PdPaPeL2sC+5LKVzNumsQtQRoiajt/4YJw94W3hIa8ZleCYXNGEEUd7m3rZmZ0KBCBFMGvM8/wvRrfx+Dw4ie0qVktqyG0kksybZAACt6q3aX8tGo3tCU2Fq4+TXq2IiU22OarBNUfgPAAT62gAWgc8bDF5QMzBcPF7aUNpNX5KJcLE84VZhO2B1pxuUl9EhYFBAJuyIQieZ6q34HGEMqPzAEnqtLYIcIrqjHXpvHvj5ns+9nlqw0mIiOgTjbHO/pRfUL8QakjG5nz4svfdH5WMJZMFXtTpmwm412zTDgyAfYfXzqFy9oM99L6hcz84gMrVNxvOSgKkn4yy/bVJk9AINwAisyoqoAWQu8i/o6dh5xNf3TnaiAEOpH6osp8fxy48xE+nTRtGPcjXSmnr6TIhueG12/6jH60XQjMtn7B7N55Rma3uOUkrmT2Aygr4juutp8jHgj3LSGAF1VRIePIU69y6+hnir/wFen0HC+/ms+1qeitvj+qGQRSMs2UJvctRxmvUc8RTCQR0AXshiZIcjcZcbOs0sUWCcXEWFrD1HKgWkCrJ54qLhIAAHdAAI8VZvZCE+HE+Ep5mwvyaLjGU72qnCvgRL3OpP9lwAikZ9uJaGcWPPwOafQBOxukbvy+YsuBMVXqQXUzh2glE9fiBsPb6aPAJIHk994x/qzMSnVwvNJoyZtM4rpug9Y6QFR5NLQOjkqGFUfIPw/Bm4lY1gh+sXTTQDQ2q2RvIqxa7AZ+PBnzmwPrkBsQjCXVTc52A8maq+YIN3HrvW/+AMOLQi6gx85PIHA16CBuh+TTW41WeU3PLUvpPIWMp1YpTqaGHjJdM5A6+8+td9HhI6ifqB36+ciGoc6V3s1pQtTi7X6Lq9Nj6Z3cVj7xODmvqV4oLTdFZkfZUtLO11jTpEgtIGjmuOdXDabFfkGypTsAhgoGxBiUoWG48FjHdR5kN4urzfar/3ehdgJKAYHZphRGDZE6AGN8rPRcydfk7jfeSbgrAAABU6ZLg4YnWbkULa360vcYlTQ90Umegd/oS4qpKvr1URxVuIqow75hfOsiFaP25ULyIrP4TI6fHnfjxsNGQ+Utlu8zG6b5Abxw0329hPdPS/zWQRnEY3dmVyx6x4ImlQIF3v3gadS0R85aL9CionSSutomokYnBeH18eB/dEGofhp1RhVfnFoOf7ERCUcTny0IzEIeaaYK82KrWNhJ0V3hAleuJbzFgN5b42B7eqxaXHWdjlBWIbrUz/B2rgOpqMGvjNl8Ys3Fe9XGTzCt+D9Xo113lBUJXo06VYln6CRibTG00zv/HhQWTxfT/aw3GBvLXoC+y39uIqpVMiaMhnEuqGrZ7ftcZuCAJnCdE5qJ8cQAGCtIC/L/qwzse8P7oyEHpNA6AAR0858Nx0zio+I88/tq3ss8R4qNJGwEAnJx8z0po7O/RPmdN4EDingA24s9XESjoe9cEPaIwH+OERRIA+5+8XNx2zFl7kp7mGtyayytOvcGVvvaqQhZYYZthMx8HznLI/LuX6W+xJfCSarsGagwxf/dm728eIgVr3XwEBGyEIwWXk9NQODBzFTH9H4/Wp7r95BzWk8FZmnPwaDhqOpJrGEGb5pdkbOBHHHeBLehxzlqq/PrZF6yDxtj6KZFtyoecBat4pYBkYO/XiRki0G1A4xuRAJKp+gChvsto3RQ6leQbslS3eAFxq5TnbhfDmjTbaLQEBVwIzvY3EBDoAAhJSNjmYd+lqJrBrrfK7jHzi3kSQXxcOvAhfhUPkcFQuM3/f6RZq6DBJ4cZRCXVtY8d3A7draPIbgfeE+IKdef1Sbhh4FJ/E+/Clni97/m6/m5FxYHAf+Xf7iKn0gz0AjPfGtIWSMueJ+xGfeiXb+JID1lKsHwGc8Ro3zUIUfUxEFC17XWRQfVNZdW4wefP2yeGcQ9NKYrFN3spjSjWPrG6ah7mKe7+Xd60w2Z3TmRiXuloIfb3P0PwUsYNW7rg3g+2zUl1GNLv/1wsS4Zgmj5H45wAAAA0MwcIeqXXz4xqiOfiY5FLTcri48R3ENyN1mfFELmr4nmK4afB9W+G1K/8DYYU3ez5JdfS7FcF6Pdz4Ijt8KfFCY6uJfHQZiOuY4ovryg4L+Tkv4PxacnXWEoRXiD9rvNXFivPCCoSQS0itnzhSPoPlXYvQtTC36ahVNyAf7SXMCofISPfaWbKrQ187eWfmc2PnwSUkm9DSG0sEn3J/tcI19TyAiRBK1et7SI2+WKV6ZHOdYCbd7VMut8SpRK3TNvzRjjylShHpRT7u9gQzJQT8UCxWoBbez1cOq4gKqRDIMq+z2Gikrp5MjES3k26HaAAAuZE0Nm+WZSPgg0c7Ns+Gcz52+25Mm/50hLphkRnPubnoYBD2e8ErDqkApujvAsyB12yjoP0wc9ywki6jliUTs8D/ZOCNz5yPgi/WYGImkcwxlVXvBF5lS4dr2vNh+ZPfUKGwIZeWDtxHlpUh/p3eGTE01lZq3Payh2uOFG+JcTudIB5ZejxBeLz+jupMxlHSkSnElHbrCJ7UyBhH9MwwIi325NrPmwOO86O0BtdwZkZnblMT9fRKXekwF4nrB+7RKmaCEgOlKF1Izfd+asPd8DQZsEQ9/jcJLmlzhbvmcOrGXQAA4mHoR48/uQlOhYOlXP7pnegHm6UZrecU9KDCnzMolbOJ+RJDKX8K6eCq6BSdazxPYso2Dykke+X/vYD2nh607pKtGvpy6JKu54SLgDAw/+0Crk3aF/DvhsNRgWNv711RUIv4PiCc0TEZjmvGbI5+pL6ELzf99iRBYYyBmw3bPCqek7oqXm3UDJKU+nft0TrQwdju27RbHpzLcqnMVbxqBCoQlm44tE3AAAAfkpqVCXIG6+W72gbwYTpDNIsn8GjTexnCIkPx3nQhzZWXqu4kChwr04Gr7EtDrhkIvpjl/nTClmY948e0QuYvkTdhJLzI0l+HqR/95iCtXjEpE4nSXVogpor1sYiUAp1uuNChYsVkvwWo3s+Mri8xkMzh3xF63E+ynyjGYTHXJmKUPXtneXMX6mNk7+sDyjmsShtLeBddVv3qC0doGjW1bqBmwbiKxBvG8/7bVp5cdeawHMDuMX1fRaCi5YQAvt9cqYZtjCr2Hz/0qJhohnQ6zchcyvdl4PXZ+MgAAAFIFGH+fJXOTsJFO/gNlQ2dHJDnWhPCHLEbTFzv/nPxR5Ka3KFQo7bQXgK8nq0CPz5/Moc0miyl6u3pV9bHrlMcD6f73EYcE+sPpQIwU7MP1jq8aNJUIzby5hVs/nVj3BezdQq6uWpIsviBt2e0v+95+NylqalWIbdFL1mfz8DMMQO4iTR0+Ug/DD1lhOjZ27hoxIVMiD+xzdGg89lsM+5XQACk8tuWkqHiGEwxmRvHmfFLvHs8P6MLYJEp9/rO5/4a3cvHdTYc/Apfqb7g460rDfFP4ouUewLFP4pWlU8v5Ye1fgfIU2biQ1XThkEev3V4BB3FQlwYELIeNZFil8O0S9ZDlj96B4umkOkZljIyhndhKFT/HhMwF7ylWD8DgfPd8XlGnHZdKmBMQs0Is/dAPj1KkaPdusyqv+NapfqIAAApqT6bLIjgjMF5orm/AMcxQkL13IIdlVqLzFAsd8ZSqRUnUXMa0FiTLRQmWBDItgQztvwdmru1EGK4ZaF5ITr0Z874AKVWH3AbU4D+5u2/Z8HkyFAaPYAdBsQw1bK9IEEmct5NrtClkoCXLU4k8tI0pD7EQ0UTO/sAYsO/jfta+VMTRFlpMgG8YilJMXgc6JZYJSW9Yyhx5x+AAB0dxmmjnj1Uo1+BPYB5QyI7sVCMgAyxa0ku/stIBuI2AiWqEcOerAtxKc9RzZmFtWhfhEDuio85n+RQKxNX8c4SICXw7H98Xy2EC+8YgGKyAysAABtuY8jNE7mJDuZaoDPGGCP9TdL9awTTGnmiGNg/9VtF9WUS0/YOtgWa1PEMql3WDIQF+TtkPCPM3rQ6iUurEbO50KEdrF+wZGufrQseDMTBTRseycie3qNeXE3d2ZVobMfjl8GHCmpSnEuJOD7oes3yQHj4dzvqdALc/a2FlL8AnqaFkMAAA6dF62eMUR41oZupwlWeFuoSDz/r5yhVGjMhX0QTvtHjtTRtxJzreyxFee5jxKlKa2PFc7ADk0LsoPd6+cHZ+FhEMZ0KWrELtCHZ7BdmaZ+axn0F8bdoUfBLyCYpqNCkRsFmE3PL/phVr9/+YKz7Qi25UFKiK8g3EpUrEPJNCwnF5N+sIKSnmc3yc5r2gbU7TNMJt2j71Mu0qRxF3Is9wUDF4LlQEJ2PZRTQldCgAAtABAb4kJEdcQx9z4f0OIsxhzjvfHOT/CFdfZ7SLVQ1JLOqNvQxNZBWyxGSy2RBFbsg4mTYH4Vi+SLnxdAE45M/haYL2YL42rSxU1BcP6EU7RqAbVIG/lwDoiTnyt7jZIFgcfl0QS4C3vLDeORYRc6GMOYJJ/yHkS2noBCpILHfhWwAjYPk5qmRvoDB9xgt2wSnZ9SoSthhOVsJt00axBE0IWQiFGpZsLDQ3mts7XXR+endFvvyHcVV3NgB7b0+5kF53Gk7cqV42H42xhZXzeZPAAAIEg4IKOuHMYB8OgDlsVAFQnbAKoa1k3uT8yOm9YH/No8cEmr0LImo2x0w13VgBYeCdRStJt0JWjtfotEmYoZS3Q8CxciKHEwcVzhTV2OF5by2MtaNB0SaPkbNreq5XJ0tgxHl+k+stfJmDoAfa1qNmjD9CtiQwPgTJH2ZZm9yNTGAyBQ6vFWLnBhVapO7JAkyO7m17t7G7J9SD22sAoGOgTnTOAU0/6bXcZPfTHwKpGeQbxJYn1cK+18pTV3+L592YU0LBeXIW30eg98s4d6lgW7x5dI0XCbeaTCzeaKihjM5NspnHBoCc4nXWlDhTwKGAAFDuWkt7D1vLkuMCLVtv4t0BJAu0boOWUtPc61OSw1+8Am9Ou90XQAW6nieCClB2g9/xnb78YuXHMzCfohfr9z91COcQNoxISqxMzodz6NJQh+7y6sphSFXBt4BwiYvnFyLBd5hWy7yJgmNc95K3F5PumWwgHSwZKg0o/MLQ+nJUWgJGQ0r49K4mYaepoXHRP8lnHEOPF60KrIhVvHbOmq9hR7/nLPvCEyuNMoEggxsyyb/wA+p+7aUxbWNreN1z3RmPqcETy6BkJ93LG7HOvVNZAoT0+OQ2HXQHwG88ESHDiX4WnkGFsw1p/4AvlwPV32szafPriEWNQonrnuyX/jxpSz/QF9dyAgpMEVqWRBbNgG6bNXBABEi3eZybyT3fKOkGX7aQN5feiPObYGkzwYxJX9XXwa7hy75f/akr/SwHfLMGrWbXgl4P+UqUqA1O7FWbcWwo+n28gs4+ZzqxwLXLradQKgERCN5/V+MVZnmpV7JmY85+aNRVKunS7quOsB7vpJI61GXfo+VxeadZYud0nWGZKzZVeK2r2erf3D5Y/JwABX0T7LOn7Ikim2z98NOkN3RbHta61gGdPeTZXlh/AGjPRdEHdp2Bfgj7xoYYRqNpmBORjE1ZbrsgNcmgAefOl1aNyZKSOO9epaaqrsVbmJXhrBcrmI4cQL7zoGT8aaReTLDW244Ro/MH9QRuC8VLuktHIz446UOYrWVYikNoTgtUN28PXOOi9ZU7UwO94QB6rAAAXeqIFGaymb1ic/d4N8oRkMLhSfJkXGWf3WNRl3boj56AXuPB8URybTjdqcwpBUF3VPI0EHsw3WHwHeAgagURUeb/U/h/y87T08wuQqdrn09YLN5ZUDmRW51aZfFEtrhMsqPdTr6gc4JfrRoTlDLGA8WQ1xg5WHPCpbgSXfXF0q0RWOxPtuq2SPimZPW4WmKD7DNiYjCEj7Fdytb0loMANvx1r6xtrdcFaq8BVUh/+LqGlXylYN2hFxOmeUjJ2T1d/H3B5NgNFRF6YolEz/Osgq4HnWuVDe2BV5l5TnvLT0X6fZrgYLrcaG1i3/GNymt6E+RL9i/a/5qrD5sN82qA3kCXTP11BH3LqWi6cj5AInRb70zoozAmMFxQICPgARZAgKSKsTCy4R7EfkydpCxs11C8Wa4tdhYtSH9R9q/u8uZIdBsJAVE5pg4VD10AFi17c9qKKqdcTQD624QWWF3Ivwcu5UJgH3aOmF9gUBp3JBZCpyy0IvRVufrqTzY6wJLLFZ0VKfdwnQDdAeN7H9nDBK00kJCa+KL7VRczMmEip00V+Ba8DSt83As22VUeXhUz/DEPZiJwRqtThc/lwxhWZi8EZjsjS9OsFQol7rQwIuB9FyKB0yAxNbqAWeC98h8AitIM3MpkcXy/nY1b864Tfl+EYxRQpgkFzPXPzkmBo24aKkLiFGudkU86oVz8il/+SFo8XsqxjykGX7sIGzAUygnfvMMYboC1hJ7cd1r4tKp20HnAC4HaB3fDeIFWrOo5LAUarRz+GK3++rMBgDALH5x1R2pPgwIAHEo4o1Kw8JI7XCeD6etcs7Gw05JTldARF14Sdy+jCx9VaIjPjJFQu7JozI8Eo7Q/p3i0uQ8BPigK3prLpHXoLkijv+Sg0kSkHm3lxZoKIbO5eyjt9pUT9v5DMdx4a24ZNPQWEWDMUTxwMJrcM/C4qme/mMAFmxODfGtShsfIabjCPp0vvfIpZWH76NdnJ+WTz65Xf2ZGQGwzOlozQ8iQebcxQZ0+N09ehLIQoD/X/lqMFwxPdoPw8qwbWz8HLXDlanvRbeDHj7qGJD7G7XaMY3GK8PopSIkZKnnkbUrqbUoHweEa8IeMAWmQefoGliKcDhjEVKkPKTp8CYv50YVExOCMUNM1Bl/X1SmShQDB7ngrM3KNbpvbnteyBKMj2AdNTf9/swq6xBIbMa7K2CTXIXKghrd5yEN3xJy1qTaKgU35FstCZwEIW89vMdXNCgTX3hADWfkPQ6Yge788zNxgW76US9wPfZ+QGKdXr7ZM35I+TkRxd9NnezQbO5AbzNQzwpKi1qyhzj6fsOOol+DgNdnMvQ89IF85bKtrqhXS5XqQEUG3ony1woYwiKiEBqVtrSPDD/vVoffnvbn/HJsKBeJ3pDPge42lrIfPL0kAEUCClt2/oTQa6Z92e2rJvSq3SRGL4rU2v1Hkxdyzevdf0m5N02aaZtvWOwqWzNyI5VYAABahR93AukgNLf3sYYcL16htER9YU9/YH/VBntx3FE8WAno/dow2vP+YKkeQVVmchEJ1fbJzOorDUYk1EeI/9gOjJkKnUnTlNviasQ8SPoLkqfGQjcuIAC4rzYIG8L8JWeIsFneO+CKkes4G/N6U9wFlmFMR+XBc5CNrOg1GV9Ico3jZwPOEOrxRcYXsFQM9DUh2Qz+H8jiDWs9CABN8b7wWkQ8U/AjEPxuY7W5AyY5TArbi0p4nWMIsJhHlKtTSQA6N/PIngwW0K7RJYvaQbiQngaFNPV8aSJC+LJZGeLQgkanIcBJLh66XSjy4AJv2i2NojiMJRM5YTlr5U55bBQ8H07u3aldXfg55CrBFMv6tuF6AmUGO8uYgp0yC1dLNL/oZ5/AIGBzn9r7n3uNu4l2Q1N0yT3gFH8aCRfcr/2INp/9N8xa6IBEVlv3R38FT98rx1Ce5D06qttoXpza7+0IYIPfDLHF4fGre0qCWEoajElZ9ckjt/jUwxLQ9pXQOM1g8RdbgG0euhovpKv6BUFBBxxPqhnZpipkslPOjhmXwdFCWbtXVimzkRJNV9+NOMdvQcXoFk4FdqSB9DRIRIProsppaC2Btgh4ImjLcqvYhVq/CuNM8ZrnKVzNTqGrkCjHV/mWMiM/PNl14AAocpavO+53PvWz4ctE/h04nUKXtDsKAlQSeWWZ4YVhNvc/6rzP9dP4TvYUz+1jeRKPRw58ysng2ycm+S9ZrElRkJK88CXht+lwMJ/T7yQK+qwkQHweZiCwP5WTfWCZc665B8Pc0MaHXlRWhSroHBkyJTiRlwDUPSW3LKCEYb0NvnvnmDt1IULRwY5dDb9gX6soa88vQVw8dLiLLfSsfvV2OytS4NdPyryawTMIzAAAAAUrAEowd4GnQzq5pYD49pw9CpZSO9aya1+kvkgOmq5sjur4Olcu+wlcdXD0YJ7qCzLQXXyogRzUT7q3blhq3YMg3zrTPoW3tRCaCtWHfv5tPMwHNsBNqza15CUmWc3KVXPuhGCuXm0f5wH9vM6Xn3Um2KCXFu6LS+5bJrY7qUrQZk2DQiahuEUmX7k5rquMgrB4l8KgOzqs2lS8X864Tuim53f8b7yqQLcAGVfobxtL7ebqufvxAi9PQLGwAB441d2AFesu3+IXHwdcE4IwxYILI6kNIReJ0suebAxpuKzrYEW8JvjTnMaz3jSKV0mplp9wyPON5IgV/Z45sNtlQNEmW9HOkHmrwEKLKNMhEXI5E6IVHxpfV8/X7XHWLoYi/NPGzfIpOc1OZin2V0GFuhn2wu5VjD6Q21r1Gxs7fZyQ4zCuTEL6hRTaMR/COWap39sgDJih2rlyVbCVxSkNOPiKYQ/hhW5HVpe844j7MbVfHsKMGAAAN97jpFRajy/lSn43wwerm0zyqYyKmx9Jw8wDyhKEnZDEL2+SDUIV3EYax6MRuSDJjd1cQb5t+qTdAtwuJOR5wfqfrmgDWhmRyhoJnzGFru2P/V+cM2FueoTj/ejVQJjxQzch1P1tYgu/53iD6AKALzF6HQHAv6zvV73B7xNEm19CWBH4NRQN4e5rpWnEHPiRRKewKI8OXikvQ2/oVkAITZ/+gB9ur964V0FUsCSYGVoy8tT3yi9PCva4fdDJ+eNwkKJnbCNLMwJnI58+vFuoVhajUOhWNzKje/Mlmawu4P2+V3yTyEZbQcfuviI18WgwFCh3nXs5wEd54J0wNMuPyNtB8aBOqfyzuoebNbwoePFsprnswv4Tcl/41cSFsh48PLyhIJqiV7dZqMEZlkJ/nl7UZrKa3L8ThxIywKI1USL33Jlf9+6+YDH1lLC1Bcn+UX4UUP+gj5AAAABS6NAlHloIrjxLLSB8w+Q6GhCHXH/JBa/GI06WZKVLl9+5M++5x9Ypwg6bPpH52VTU4CoGNu3eHzg2VPMyMAmCEQbWcbU0PWyYDQr5K7WvtYGj0hgsyBjv3nfE4ArItaLAvD5Rck3l+mrU5qMiQbH0d/JPFKv3XM4hLUl+dOY1gpBTxnHJJrrTmGy2Ixy4vrZ+PhFJFO2XNPJAqZLpDY4hrAnHfbW4GpwHQ4EMsGahzLihIRwQt9u+XwEmBjlXFHKAsm33AdbHp5OmlgIN4AHQv9mg2XlqbPLT0XEY0TuT413guGr5vr4AUzslPSr+6loZWyX1217bDEKZ0fXTDg41M3XshNhbAgyYTzAxSZYKFF76vFDhYYYFVa5hfAq5rWeUfeMph8QxKw9227HWhBsv+04LUFmQH1rAUGDGx/x8u10piksx3xDPoLMT6Gq1DBPL/z/NbftvI/I2pyMol/Vv9M//VE4HnQn3Fb42ATrb+LOgrpRJxGN1cTqETatJi1V8ibxcsvtQvWZDXzZv/ydXodKHvW54DwkqrAABZ/wv8zO3r0Nv8e+ufVBACt3CujYD7Hnlz7MdwCyKkML+f3IBxJTykboBrGggtSJITHIFzk8JpBtmcHsCtvf0DL3NNvzdAmOJKGetc6v3V1ipjeeOu+WT9YS6Bu7MMhjYSFWAq+eFj3Yaj1PC++dNQXgBSEAfVnzownUTBPAVdI3Z0KtjzIZyAEymntiEVeLUjKVBimMeKoAT8h5+kgxVQkbTh4ctthsfiB9oAZZNPe0jBhDIe/HSkv4LOge+pttn1c0X6ssqWVX8VU4CCAir/TItCIv63Rl1G8+uepSFbiwhzmjxdDLJqob9Gd5HEomdFckcKHCcwAPfc5wA22a2pRq1g6NjM4+ij/DUUM3hSW3zua5Lx8VkZSg8wKhhjzATC+l3i4A8GSxH9lNsdw0ghbVb+FZ4boHvPUYHXcV61pEEvsM+KqvYQBeVcj1huXbUS5qLCdwaLgOKZb28pIpBf5mD6a9s5Qf6j03om/d3oIUWoR53d0diJzYjueBZ+h6jg5vOVdAHqWGYsRuIV4ZlKwidWn7Z5G7iwlvwaG57ZyBKCWEIfYF+bFdFwrw2c1X2ywy5XelBUhLXzykxR6Ow1+gpNedh++LUv3b24bNN0hJFXzf8q0f1YtAFAhj2uPiAAAABPq6N88a6644B/miiklWJIh4xnCsVje/ShtGPF+Ry4Tuj9UNXc5FI9O+mzZXaqHT1RjhXIbR5BYWAtG9y/4rAM9ld/WHLzI4MEKZDRJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
26506 "w": 1307,
26507 "h": 1067,
26508 "e": 1
26509 },
26510 {
26511 "id": "3",
26512 "layers": [{
26513 "ddd": 0,
26514 "refId": "A",
26515 "ind": 4,
26516 "ty": 2,
26517 "sr": 1,
26518 "ks": {
26519 "p": {
26520 "a": 0,
26521 "k": [148, 74],
26522 "ix": 2
26523 },
26524 "a": {
26525 "a": 0,
26526 "k": [653.5, 533.5],
26527 "ix": 2
26528 },
26529 "s": {
26530 "a": 0,
26531 "k": [25, 25],
26532 "ix": 2
26533 },
26534 "o": {
26535 "a": 1,
26536 "k": [
26537 {
26538 "t": 592,
26539 "s": [0],
26540 "i": {
26541 "x": [0],
26542 "y": [1]
26543 },
26544 "o": {
26545 "x": [.333],
26546 "y": [0]
26547 }
26548 },
26549 {
26550 "t": 628,
26551 "s": [100],
26552 "i": {
26553 "x": [.667],
26554 "y": [1]
26555 },
26556 "o": {
26557 "x": [.167],
26558 "y": [0]
26559 }
26560 },
26561 {
26562 "t": 716,
26563 "s": [100],
26564 "i": {
26565 "x": [0],
26566 "y": [1]
26567 },
26568 "o": {
26569 "x": [.333],
26570 "y": [0]
26571 }
26572 },
26573 {
26574 "t": 764,
26575 "s": [0]
26576 }
26577 ],
26578 "ix": 2
26579 }
26580 },
26581 "ao": 0,
26582 "ip": 0,
26583 "op": 877,
26584 "st": 0
26585 }]
26586 },
26587 {
26588 "id": "A",
26589 "u": "",
26590 "p": "data:image/png;base64,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",
26591 "w": 1307,
26592 "h": 1067,
26593 "e": 1
26594 },
26595 {
26596 "id": "B",
26597 "layers": [{
26598 "ddd": 0,
26599 "refId": "C",
26600 "w": 344,
26601 "h": 54,
26602 "ind": 81,
26603 "ty": 0,
26604 "sr": 1,
26605 "ks": {
26606 "p": {
26607 "a": 0,
26608 "k": [2, 2],
26609 "ix": 2
26610 },
26611 "o": {
26612 "a": 1,
26613 "k": [
26614 {
26615 "t": 0,
26616 "s": [0],
26617 "h": 1
26618 },
26619 {
26620 "t": 512,
26621 "s": [100],
26622 "h": 1
26623 },
26624 {
26625 "t": 604,
26626 "s": [0],
26627 "h": 1
26628 }
26629 ],
26630 "ix": 2
26631 }
26632 },
26633 "ao": 0,
26634 "ip": 0,
26635 "op": 877,
26636 "st": 0
26637 }, {
26638 "ddd": 0,
26639 "ind": 82,
26640 "ty": 4,
26641 "sr": 1,
26642 "ks": {
26643 "p": {
26644 "a": 0,
26645 "k": [2, 2],
26646 "ix": 2
26647 },
26648 "o": {
26649 "a": 0,
26650 "k": 100,
26651 "ix": 2
26652 }
26653 },
26654 "ao": 0,
26655 "shapes": [{
26656 "ty": "rc",
26657 "d": 1,
26658 "s": {
26659 "a": 0,
26660 "k": [78, 60],
26661 "ix": 2
26662 },
26663 "p": {
26664 "a": 0,
26665 "k": [36, 27],
26666 "ix": 2
26667 },
26668 "r": {
26669 "a": 0,
26670 "k": 0,
26671 "ix": 2
26672 }
26673 }, {
26674 "ty": "fl",
26675 "c": {
26676 "a": 0,
26677 "k": [
26678 0,
26679 0,
26680 0
26681 ],
26682 "ix": 2
26683 },
26684 "o": {
26685 "a": 0,
26686 "k": 0,
26687 "ix": 2
26688 },
26689 "r": 1,
26690 "bm": 0
26691 }],
26692 "ip": 0,
26693 "op": 877,
26694 "st": 0
26695 }]
26696 },
26697 {
26698 "id": "4",
26699 "layers": [{
26700 "ddd": 0,
26701 "ind": 83,
26702 "ty": 4,
26703 "sr": 1,
26704 "ks": {
26705 "p": {
26706 "a": 0,
26707 "k": [2, 2],
26708 "ix": 2
26709 },
26710 "o": {
26711 "a": 0,
26712 "k": 100,
26713 "ix": 2
26714 }
26715 },
26716 "td": 1,
26717 "ao": 0,
26718 "shapes": [{
26719 "ty": "gr",
26720 "it": [
26721 {
26722 "ty": "sh",
26723 "d": 1,
26724 "ks": {
26725 "a": 0,
26726 "k": {
26727 "c": true,
26728 "v": [
26729 [74.01, -31.72],
26730 [-31.26, -31.72],
26731 [-31.26, 75],
26732 [74.01, 75],
26733 [74.01, -31.72]
26734 ],
26735 "i": [
26736 [0, 0],
26737 [0, 0],
26738 [0, 0],
26739 [0, 0],
26740 [0, 0]
26741 ],
26742 "o": [
26743 [0, 0],
26744 [0, 0],
26745 [0, 0],
26746 [0, 0],
26747 [0, 0]
26748 ]
26749 }
26750 }
26751 },
26752 {
26753 "ty": "fl",
26754 "c": {
26755 "a": 0,
26756 "k": [
26757 0,
26758 0,
26759 0
26760 ],
26761 "ix": 2
26762 },
26763 "o": {
26764 "a": 0,
26765 "k": 100,
26766 "ix": 2
26767 },
26768 "r": 1,
26769 "bm": 0
26770 },
26771 {
26772 "ty": "tr",
26773 "o": {
26774 "a": 0,
26775 "k": 100,
26776 "ix": 2
26777 }
26778 }
26779 ]
26780 }],
26781 "ip": 0,
26782 "op": 877,
26783 "st": 0
26784 }, {
26785 "ddd": 0,
26786 "refId": "B",
26787 "w": 346,
26788 "h": 58,
26789 "ind": 7,
26790 "ty": 0,
26791 "sr": 1,
26792 "ks": {
26793 "p": {
26794 "a": 0,
26795 "k": [171, 27],
26796 "ix": 2
26797 },
26798 "a": {
26799 "a": 0,
26800 "k": [171, 27],
26801 "ix": 2
26802 },
26803 "o": {
26804 "a": 0,
26805 "k": 100,
26806 "ix": 2
26807 }
26808 },
26809 "ao": 0,
26810 "ip": 0,
26811 "op": 877,
26812 "st": 0,
26813 "tt": 2
26814 }]
26815 },
26816 {
26817 "id": "C",
26818 "layers": [
26819 {
26820 "ddd": 0,
26821 "ind": 84,
26822 "ty": 4,
26823 "sr": 1,
26824 "ks": { "o": {
26825 "a": 1,
26826 "k": [{
26827 "t": 0,
26828 "s": [0],
26829 "h": 1
26830 }, {
26831 "t": 488,
26832 "s": [100],
26833 "h": 1
26834 }],
26835 "ix": 2
26836 } },
26837 "ao": 0,
26838 "shapes": [{
26839 "ty": "gr",
26840 "it": [{
26841 "ty": "gr",
26842 "it": [
26843 {
26844 "ty": "sh",
26845 "d": 1,
26846 "ks": {
26847 "a": 0,
26848 "k": {
26849 "c": false,
26850 "v": [
26851 [-17.45, 0],
26852 [-4.76, 15.87],
26853 [17.45, -15.87]
26854 ],
26855 "i": [
26856 [0, 0],
26857 [0, 0],
26858 [0, 0]
26859 ],
26860 "o": [
26861 [0, 0],
26862 [0, 0],
26863 [0, 0]
26864 ]
26865 }
26866 }
26867 },
26868 {
26869 "ty": "st",
26870 "c": {
26871 "a": 0,
26872 "k": [
26873 .13,
26874 .13,
26875 .13
26876 ],
26877 "ix": 2
26878 },
26879 "o": {
26880 "a": 0,
26881 "k": 100,
26882 "ix": 2
26883 },
26884 "w": {
26885 "a": 0,
26886 "k": 5.5,
26887 "ix": 2
26888 },
26889 "lc": 2,
26890 "lj": 2,
26891 "ml": 4
26892 },
26893 {
26894 "ty": "tr",
26895 "o": {
26896 "a": 0,
26897 "k": 100,
26898 "ix": 2
26899 }
26900 }
26901 ]
26902 }, {
26903 "ty": "tr",
26904 "p": {
26905 "a": 0,
26906 "k": [26.46, 27.72],
26907 "ix": 2
26908 },
26909 "o": {
26910 "a": 0,
26911 "k": 100,
26912 "ix": 2
26913 }
26914 }]
26915 }],
26916 "ip": 0,
26917 "op": 877,
26918 "st": 0
26919 },
26920 {
26921 "ddd": 0,
26922 "ind": 85,
26923 "ty": 4,
26924 "sr": 1,
26925 "ks": { "o": {
26926 "a": 1,
26927 "k": [{
26928 "t": 0,
26929 "s": [0],
26930 "h": 1
26931 }, {
26932 "t": 488,
26933 "s": [100],
26934 "h": 1
26935 }],
26936 "ix": 2
26937 } },
26938 "ao": 0,
26939 "shapes": [{
26940 "ty": "gr",
26941 "it": [{
26942 "ty": "gr",
26943 "it": [{
26944 "ty": "gr",
26945 "it": [
26946 {
26947 "ty": "gr",
26948 "it": [{
26949 "ty": "sh",
26950 "d": 1,
26951 "ks": {
26952 "a": 0,
26953 "k": {
26954 "c": true,
26955 "v": [
26956 [432.63, -160.38],
26957 [428.36, -160.38],
26958 [435.56, -170.78],
26959 [428.92, -180.3],
26960 [433.3, -180.3],
26961 [437.73, -173.9],
26962 [442.16, -180.3],
26963 [446.51, -180.3],
26964 [439.9, -170.82],
26965 [447.1, -160.38],
26966 [442.79, -160.38],
26967 [437.73, -167.69],
26968 [432.63, -160.38]
26969 ],
26970 "i": [
26971 [0, 0],
26972 [0, 0],
26973 [0, 0],
26974 [0, 0],
26975 [0, 0],
26976 [0, 0],
26977 [0, 0],
26978 [0, 0],
26979 [0, 0],
26980 [0, 0],
26981 [0, 0],
26982 [0, 0],
26983 [0, 0]
26984 ],
26985 "o": [
26986 [0, 0],
26987 [0, 0],
26988 [0, 0],
26989 [0, 0],
26990 [0, 0],
26991 [0, 0],
26992 [0, 0],
26993 [0, 0],
26994 [0, 0],
26995 [0, 0],
26996 [0, 0],
26997 [0, 0],
26998 [0, 0]
26999 ]
27000 }
27001 }
27002 }, {
27003 "ty": "tr",
27004 "o": {
27005 "a": 0,
27006 "k": 100,
27007 "ix": 2
27008 }
27009 }]
27010 },
27011 {
27012 "ty": "gr",
27013 "it": [{
27014 "ty": "sh",
27015 "d": 1,
27016 "ks": {
27017 "a": 0,
27018 "k": {
27019 "c": true,
27020 "v": [
27021 [417.32, -163.43],
27022 [423.65, -170.34],
27023 [417.32, -177.26],
27024 [410.96, -170.34],
27025 [417.32, -163.43]
27026 ],
27027 "i": [
27028 [0, 0],
27029 [0, 4.071],
27030 [3.755, 0],
27031 [0, -4.071],
27032 [-3.795, 0]
27033 ],
27034 "o": [
27035 [3.755, 0],
27036 [0, -4.071],
27037 [-3.795, 0],
27038 [0, 4.071],
27039 [0, 0]
27040 ]
27041 }
27042 }
27043 }, {
27044 "ty": "tr",
27045 "o": {
27046 "a": 0,
27047 "k": 100,
27048 "ix": 2
27049 }
27050 }]
27051 },
27052 {
27053 "ty": "gr",
27054 "it": [{
27055 "ty": "sh",
27056 "d": 1,
27057 "ks": {
27058 "a": 0,
27059 "k": {
27060 "c": true,
27061 "v": [
27062 [417.32, -160.07],
27063 [407.05, -170.34],
27064 [417.32, -180.62],
27065 [427.56, -170.34],
27066 [417.32, -160.07]
27067 ],
27068 "i": [
27069 [0, 0],
27070 [0, 5.969],
27071 [-5.969, 0],
27072 [0, -5.969],
27073 [5.969, 0]
27074 ],
27075 "o": [
27076 [-5.969, 0],
27077 [0, -5.969],
27078 [5.969, 0],
27079 [0, 5.969],
27080 [0, 0]
27081 ]
27082 }
27083 }
27084 }, {
27085 "ty": "tr",
27086 "o": {
27087 "a": 0,
27088 "k": 100,
27089 "ix": 2
27090 }
27091 }]
27092 },
27093 {
27094 "ty": "gr",
27095 "it": [{
27096 "ty": "sh",
27097 "d": 1,
27098 "ks": {
27099 "a": 0,
27100 "k": {
27101 "c": true,
27102 "v": [
27103 [394.02, -163.43],
27104 [400.15, -170.34],
27105 [394.02, -177.26],
27106 [387.9, -170.34],
27107 [394.02, -163.43]
27108 ],
27109 "i": [
27110 [0, 0],
27111 [0, 4.15],
27112 [3.676, 0],
27113 [0, -4.15],
27114 [-3.676, 0]
27115 ],
27116 "o": [
27117 [3.676, 0],
27118 [0, -4.15],
27119 [-3.676, 0],
27120 [0, 4.15],
27121 [0, 0]
27122 ]
27123 }
27124 }
27125 }, {
27126 "ty": "tr",
27127 "o": {
27128 "a": 0,
27129 "k": 100,
27130 "ix": 2
27131 }
27132 }]
27133 },
27134 {
27135 "ty": "gr",
27136 "it": [{
27137 "ty": "sh",
27138 "d": 1,
27139 "ks": {
27140 "a": 0,
27141 "k": {
27142 "c": true,
27143 "v": [
27144 [394.62, -160.07],
27145 [388.21, -163.35],
27146 [388.21, -160.38],
27147 [384.38, -160.38],
27148 [384.38, -188.65],
27149 [388.21, -188.65],
27150 [388.21, -177.38],
27151 [394.58, -180.62],
27152 [404.02, -170.34],
27153 [394.62, -160.07]
27154 ],
27155 "i": [
27156 [0, 0],
27157 [1.186, 1.976],
27158 [0, 0],
27159 [0, 0],
27160 [0, 0],
27161 [0, 0],
27162 [0, 0],
27163 [-2.648, 0],
27164 [0, -5.89],
27165 [5.969, 0]
27166 ],
27167 "o": [
27168 [-2.688, 0],
27169 [0, 0],
27170 [0, 0],
27171 [0, 0],
27172 [0, 0],
27173 [0, 0],
27174 [1.225, -1.976],
27175 [6.008, 0],
27176 [0, 5.89],
27177 [0, 0]
27178 ]
27179 }
27180 }
27181 }, {
27182 "ty": "tr",
27183 "o": {
27184 "a": 0,
27185 "k": 100,
27186 "ix": 2
27187 }
27188 }]
27189 },
27190 {
27191 "ty": "gr",
27192 "it": [{
27193 "ty": "sh",
27194 "d": 1,
27195 "ks": {
27196 "a": 0,
27197 "k": {
27198 "c": true,
27199 "v": [
27200 [363.38, -160.07],
27201 [355.36, -166.87],
27202 [358.87, -166.87],
27203 [363.34, -163.19],
27204 [367.25, -166.11],
27205 [355.87, -174.69],
27206 [362.98, -180.62],
27207 [370.69, -174.41],
27208 [367.17, -174.41],
27209 [363.02, -177.62],
27210 [359.43, -174.85],
27211 [370.85, -166.31],
27212 [363.38, -160.07]
27213 ],
27214 "i": [
27215 [0, 0],
27216 [.316, 4.309],
27217 [0, 0],
27218 [-2.569, 0],
27219 [0, 1.779],
27220 [0, 7.945],
27221 [-4.15, 0],
27222 [-.277, -3.874],
27223 [0, 0],
27224 [2.293, 0],
27225 [0, -1.779],
27226 [0, -8.301],
27227 [4.625, 0]
27228 ],
27229 "o": [
27230 [-4.822, 0],
27231 [0, 0],
27232 [.198, 2.293],
27233 [2.372, 0],
27234 [0, -4.862],
27235 [0, -3.518],
27236 [4.625, 0],
27237 [0, 0],
27238 [-.198, -1.937],
27239 [-1.976, 0],
27240 [0, 4.704],
27241 [0, 3.834],
27242 [0, 0]
27243 ]
27244 }
27245 }
27246 }, {
27247 "ty": "tr",
27248 "o": {
27249 "a": 0,
27250 "k": 100,
27251 "ix": 2
27252 }
27253 }]
27254 },
27255 {
27256 "ty": "gr",
27257 "it": [{
27258 "ty": "sh",
27259 "d": 1,
27260 "ks": {
27261 "a": 0,
27262 "k": {
27263 "c": true,
27264 "v": [
27265 [347.16, -188.65],
27266 [351.43, -188.65],
27267 [351.43, -183.82],
27268 [347.16, -183.82],
27269 [347.16, -188.65]
27270 ],
27271 "i": [
27272 [0, 0],
27273 [0, 0],
27274 [0, 0],
27275 [0, 0],
27276 [0, 0]
27277 ],
27278 "o": [
27279 [0, 0],
27280 [0, 0],
27281 [0, 0],
27282 [0, 0],
27283 [0, 0]
27284 ]
27285 }
27286 }
27287 }, {
27288 "ty": "tr",
27289 "o": {
27290 "a": 0,
27291 "k": 100,
27292 "ix": 2
27293 }
27294 }]
27295 },
27296 {
27297 "ty": "gr",
27298 "it": [{
27299 "ty": "sh",
27300 "d": 1,
27301 "ks": {
27302 "a": 0,
27303 "k": {
27304 "c": true,
27305 "v": [
27306 [347.4, -160.38],
27307 [347.4, -180.3],
27308 [351.23, -180.3],
27309 [351.23, -160.38],
27310 [347.4, -160.38]
27311 ],
27312 "i": [
27313 [0, 0],
27314 [0, 0],
27315 [0, 0],
27316 [0, 0],
27317 [0, 0]
27318 ],
27319 "o": [
27320 [0, 0],
27321 [0, 0],
27322 [0, 0],
27323 [0, 0],
27324 [0, 0]
27325 ]
27326 }
27327 }
27328 }, {
27329 "ty": "tr",
27330 "o": {
27331 "a": 0,
27332 "k": 100,
27333 "ix": 2
27334 }
27335 }]
27336 },
27337 {
27338 "ty": "gr",
27339 "it": [{
27340 "ty": "sh",
27341 "d": 1,
27342 "ks": {
27343 "a": 0,
27344 "k": {
27345 "c": true,
27346 "v": [
27347 [324.39, -160.38],
27348 [324.39, -188.65],
27349 [328.23, -188.65],
27350 [328.23, -176.79],
27351 [334.63, -180.62],
27352 [342.06, -172.64],
27353 [342.06, -160.38],
27354 [338.23, -160.38],
27355 [338.23, -171.88],
27356 [333.56, -177.18],
27357 [328.23, -171.17],
27358 [328.23, -160.38],
27359 [324.39, -160.38]
27360 ],
27361 "i": [
27362 [0, 0],
27363 [0, 0],
27364 [0, 0],
27365 [0, 0],
27366 [-2.965, 0],
27367 [0, -4.743],
27368 [0, 0],
27369 [0, 0],
27370 [0, 0],
27371 [2.807, 0],
27372 [0, -3.478],
27373 [0, 0],
27374 [0, 0]
27375 ],
27376 "o": [
27377 [0, 0],
27378 [0, 0],
27379 [0, 0],
27380 [1.067, -2.49],
27381 [4.506, 0],
27382 [0, 0],
27383 [0, 0],
27384 [0, 0],
27385 [0, -3.162],
27386 [-3.123, 0],
27387 [0, 0],
27388 [0, 0],
27389 [0, 0]
27390 ]
27391 }
27392 }
27393 }, {
27394 "ty": "tr",
27395 "o": {
27396 "a": 0,
27397 "k": 100,
27398 "ix": 2
27399 }
27400 }]
27401 },
27402 {
27403 "ty": "gr",
27404 "it": [{
27405 "ty": "sh",
27406 "d": 1,
27407 "ks": {
27408 "a": 0,
27409 "k": {
27410 "c": true,
27411 "v": [
27412 [317.52, -160.38],
27413 [310.88, -166.9],
27414 [310.88, -176.98],
27415 [306.81, -176.98],
27416 [306.81, -180.3],
27417 [310.88, -180.3],
27418 [310.88, -186.55],
27419 [314.72, -186.55],
27420 [314.72, -180.3],
27421 [320.61, -180.3],
27422 [320.61, -176.98],
27423 [314.72, -176.98],
27424 [314.72, -167.02],
27425 [317.8, -163.7],
27426 [320.61, -163.7],
27427 [320.61, -160.38],
27428 [317.52, -160.38]
27429 ],
27430 "i": [
27431 [0, 0],
27432 [0, 4.071],
27433 [0, 0],
27434 [0, 0],
27435 [0, 0],
27436 [0, 0],
27437 [0, 0],
27438 [0, 0],
27439 [0, 0],
27440 [0, 0],
27441 [0, 0],
27442 [0, 0],
27443 [0, 0],
27444 [-1.897, 0],
27445 [0, 0],
27446 [0, 0],
27447 [0, 0]
27448 ],
27449 "o": [
27450 [-4.032, 0],
27451 [0, 0],
27452 [0, 0],
27453 [0, 0],
27454 [0, 0],
27455 [0, 0],
27456 [0, 0],
27457 [0, 0],
27458 [0, 0],
27459 [0, 0],
27460 [0, 0],
27461 [0, 0],
27462 [0, 2.135],
27463 [0, 0],
27464 [0, 0],
27465 [0, 0],
27466 [0, 0]
27467 ]
27468 }
27469 }
27470 }, {
27471 "ty": "tr",
27472 "o": {
27473 "a": 0,
27474 "k": 100,
27475 "ix": 2
27476 }
27477 }]
27478 },
27479 {
27480 "ty": "gr",
27481 "it": [{
27482 "ty": "sh",
27483 "d": 1,
27484 "ks": {
27485 "a": 0,
27486 "k": {
27487 "c": true,
27488 "v": [
27489 [279.23, -160.38],
27490 [279.23, -188.65],
27491 [283.06, -188.65],
27492 [283.06, -172.32],
27493 [291.76, -180.3],
27494 [296.74, -180.3],
27495 [288.36, -172.52],
27496 [297.49, -160.38],
27497 [292.75, -160.38],
27498 [285.63, -169.95],
27499 [283.06, -167.58],
27500 [283.06, -160.38],
27501 [279.23, -160.38]
27502 ],
27503 "i": [
27504 [0, 0],
27505 [0, 0],
27506 [0, 0],
27507 [0, 0],
27508 [0, 0],
27509 [0, 0],
27510 [0, 0],
27511 [0, 0],
27512 [0, 0],
27513 [0, 0],
27514 [0, 0],
27515 [0, 0],
27516 [0, 0]
27517 ],
27518 "o": [
27519 [0, 0],
27520 [0, 0],
27521 [0, 0],
27522 [0, 0],
27523 [0, 0],
27524 [0, 0],
27525 [0, 0],
27526 [0, 0],
27527 [0, 0],
27528 [0, 0],
27529 [0, 0],
27530 [0, 0],
27531 [0, 0]
27532 ]
27533 }
27534 }
27535 }, {
27536 "ty": "tr",
27537 "o": {
27538 "a": 0,
27539 "k": 100,
27540 "ix": 2
27541 }
27542 }]
27543 },
27544 {
27545 "ty": "gr",
27546 "it": [{
27547 "ty": "sh",
27548 "d": 1,
27549 "ks": {
27550 "a": 0,
27551 "k": {
27552 "c": true,
27553 "v": [
27554 [265.8, -160.07],
27555 [255.96, -170.34],
27556 [265.8, -180.62],
27557 [275.05, -173.35],
27558 [271.22, -173.35],
27559 [265.88, -177.26],
27560 [259.95, -170.34],
27561 [265.92, -163.43],
27562 [271.26, -167.1],
27563 [275.05, -167.1],
27564 [265.8, -160.07]
27565 ],
27566 "i": [
27567 [0, 0],
27568 [0, 5.494],
27569 [-6.245, 0],
27570 [-.553, -4.506],
27571 [0, 0],
27572 [2.727, 0],
27573 [0, -3.834],
27574 [-3.953, 0],
27575 [-.632, 2.253],
27576 [0, 0],
27577 [5.099, 0]
27578 ],
27579 "o": [
27580 [-6.245, 0],
27581 [0, -5.494],
27582 [4.664, 0],
27583 [0, 0],
27584 [-.356, -2.253],
27585 [-3.953, 0],
27586 [0, 3.834],
27587 [2.727, 0],
27588 [0, 0],
27589 [-.632, 4.19],
27590 [0, 0]
27591 ]
27592 }
27593 }
27594 }, {
27595 "ty": "tr",
27596 "o": {
27597 "a": 0,
27598 "k": 100,
27599 "ix": 2
27600 }
27601 }]
27602 },
27603 {
27604 "ty": "gr",
27605 "it": [{
27606 "ty": "sh",
27607 "d": 1,
27608 "ks": {
27609 "a": 0,
27610 "k": {
27611 "c": true,
27612 "v": [
27613 [237.68, -172.6],
27614 [248.94, -172.6],
27615 [243.41, -177.54],
27616 [237.68, -172.6]
27617 ],
27618 "i": [
27619 [0, 0],
27620 [0, 0],
27621 [3.281, 0],
27622 [.593, -3.241]
27623 ],
27624 "o": [
27625 [0, 0],
27626 [-.237, -3.044],
27627 [-3.083, 0],
27628 [0, 0]
27629 ]
27630 }
27631 }
27632 }, {
27633 "ty": "tr",
27634 "o": {
27635 "a": 0,
27636 "k": 100,
27637 "ix": 2
27638 }
27639 }]
27640 },
27641 {
27642 "ty": "gr",
27643 "it": [{
27644 "ty": "sh",
27645 "d": 1,
27646 "ks": {
27647 "a": 0,
27648 "k": {
27649 "c": true,
27650 "v": [
27651 [243.76, -160.07],
27652 [233.8, -170.46],
27653 [243.41, -180.62],
27654 [252.81, -171.17],
27655 [252.74, -169.63],
27656 [237.56, -169.63],
27657 [243.76, -163.35],
27658 [249.14, -166.87],
27659 [252.97, -166.87],
27660 [243.76, -160.07]
27661 ],
27662 "i": [
27663 [0, 0],
27664 [0, 5.534],
27665 [-6.127, 0],
27666 [0, -5.06],
27667 [.04, -.356],
27668 [0, 0],
27669 [-3.439, 0],
27670 [-.553, 2.253],
27671 [0, 0],
27672 [4.941, 0]
27673 ],
27674 "o": [
27675 [-6.166, 0],
27676 [0, -5.573],
27677 [6.127, 0],
27678 [0, .514],
27679 [0, 0],
27680 [.316, 3.716],
27681 [2.925, 0],
27682 [0, 0],
27683 [-.672, 4.111],
27684 [0, 0]
27685 ]
27686 }
27687 }
27688 }, {
27689 "ty": "tr",
27690 "o": {
27691 "a": 0,
27692 "k": 100,
27693 "ix": 2
27694 }
27695 }]
27696 },
27697 {
27698 "ty": "gr",
27699 "it": [{
27700 "ty": "sh",
27701 "d": 1,
27702 "ks": {
27703 "a": 0,
27704 "k": {
27705 "c": true,
27706 "v": [
27707 [212.14, -160.38],
27708 [212.14, -188.65],
27709 [215.97, -188.65],
27710 [215.97, -176.79],
27711 [222.38, -180.62],
27712 [229.81, -172.64],
27713 [229.81, -160.38],
27714 [225.97, -160.38],
27715 [225.97, -171.88],
27716 [221.31, -177.18],
27717 [215.97, -171.17],
27718 [215.97, -160.38],
27719 [212.14, -160.38]
27720 ],
27721 "i": [
27722 [0, 0],
27723 [0, 0],
27724 [0, 0],
27725 [0, 0],
27726 [-2.965, 0],
27727 [0, -4.743],
27728 [0, 0],
27729 [0, 0],
27730 [0, 0],
27731 [2.806, 0],
27732 [0, -3.478],
27733 [0, 0],
27734 [0, 0]
27735 ],
27736 "o": [
27737 [0, 0],
27738 [0, 0],
27739 [0, 0],
27740 [1.067, -2.49],
27741 [4.506, 0],
27742 [0, 0],
27743 [0, 0],
27744 [0, 0],
27745 [0, -3.162],
27746 [-3.123, 0],
27747 [0, 0],
27748 [0, 0],
27749 [0, 0]
27750 ]
27751 }
27752 }
27753 }, {
27754 "ty": "tr",
27755 "o": {
27756 "a": 0,
27757 "k": 100,
27758 "ix": 2
27759 }
27760 }]
27761 },
27762 {
27763 "ty": "gr",
27764 "it": [{
27765 "ty": "sh",
27766 "d": 1,
27767 "ks": {
27768 "a": 0,
27769 "k": {
27770 "c": true,
27771 "v": [
27772 [195.87, -160.07],
27773 [182.35, -174.22],
27774 [195.87, -188.37],
27775 [207.85, -179.16],
27776 [203.54, -179.16],
27777 [195.83, -184.73],
27778 [186.54, -174.22],
27779 [195.87, -163.7],
27780 [203.62, -169.28],
27781 [207.81, -169.28],
27782 [195.87, -160.07]
27783 ],
27784 "i": [
27785 [0, 0],
27786 [0, 9.487],
27787 [-7.076, 0],
27788 [-.712, -5.376],
27789 [0, 0],
27790 [3.992, 0],
27791 [0, -6.838],
27792 [-5.415, 0],
27793 [-.435, 3.241],
27794 [0, 0],
27795 [6.364, 0]
27796 ],
27797 "o": [
27798 [-7.155, 0],
27799 [0, -9.487],
27800 [6.245, 0],
27801 [0, 0],
27802 [-.435, -3.241],
27803 [-5.376, 0],
27804 [0, 6.838],
27805 [4.071, 0],
27806 [0, 0],
27807 [-.593, 5.376],
27808 [0, 0]
27809 ]
27810 }
27811 }
27812 }, {
27813 "ty": "tr",
27814 "o": {
27815 "a": 0,
27816 "k": 100,
27817 "ix": 2
27818 }
27819 }]
27820 },
27821 {
27822 "ty": "st",
27823 "c": {
27824 "a": 0,
27825 "k": [
27826 0,
27827 0,
27828 0
27829 ],
27830 "ix": 2
27831 },
27832 "o": {
27833 "a": 0,
27834 "k": 100,
27835 "ix": 2
27836 },
27837 "w": {
27838 "a": 0,
27839 "k": .1,
27840 "ix": 2
27841 },
27842 "lc": 1,
27843 "lj": 1,
27844 "ml": 4
27845 },
27846 {
27847 "ty": "fl",
27848 "c": {
27849 "a": 0,
27850 "k": [
27851 .13,
27852 .13,
27853 .13
27854 ],
27855 "ix": 2
27856 },
27857 "o": {
27858 "a": 0,
27859 "k": 100,
27860 "ix": 2
27861 },
27862 "r": 1,
27863 "bm": 0
27864 },
27865 {
27866 "ty": "tr",
27867 "o": {
27868 "a": 0,
27869 "k": 100,
27870 "ix": 2
27871 }
27872 }
27873 ]
27874 }, {
27875 "ty": "tr",
27876 "o": {
27877 "a": 0,
27878 "k": 100,
27879 "ix": 2
27880 }
27881 }]
27882 }, {
27883 "ty": "tr",
27884 "p": {
27885 "a": 0,
27886 "k": [-104, 202],
27887 "ix": 2
27888 },
27889 "o": {
27890 "a": 0,
27891 "k": 100,
27892 "ix": 2
27893 }
27894 }]
27895 }],
27896 "ip": 0,
27897 "op": 877,
27898 "st": 0
27899 },
27900 {
27901 "ddd": 0,
27902 "ind": 86,
27903 "ty": 4,
27904 "sr": 1,
27905 "ks": { "o": {
27906 "a": 1,
27907 "k": [{
27908 "t": 0,
27909 "s": [0],
27910 "h": 1
27911 }, {
27912 "t": 488,
27913 "s": [100],
27914 "h": 1
27915 }],
27916 "ix": 2
27917 } },
27918 "ao": 0,
27919 "shapes": [{
27920 "ty": "gr",
27921 "it": [{
27922 "ty": "gr",
27923 "it": [
27924 {
27925 "ty": "sh",
27926 "d": 1,
27927 "ks": {
27928 "a": 0,
27929 "k": {
27930 "c": true,
27931 "v": [
27932 [-22.7, -24.7],
27933 [22.7, -24.7],
27934 [24.7, -22.7],
27935 [24.7, 22.7],
27936 [22.7, 24.7],
27937 [-22.7, 24.7],
27938 [-24.7, 22.7],
27939 [-24.7, -22.7],
27940 [-22.7, -24.7]
27941 ],
27942 "i": [
27943 [0, 0],
27944 [0, 0],
27945 [0, -1.105],
27946 [0, 0],
27947 [1.105, 0],
27948 [0, 0],
27949 [0, 1.105],
27950 [0, 0],
27951 [-1.105, 0]
27952 ],
27953 "o": [
27954 [0, 0],
27955 [1.105, 0],
27956 [0, 0],
27957 [0, 1.105],
27958 [0, 0],
27959 [-1.105, 0],
27960 [0, 0],
27961 [0, -1.105],
27962 [0, 0]
27963 ]
27964 }
27965 }
27966 },
27967 {
27968 "ty": "st",
27969 "c": {
27970 "a": 0,
27971 "k": [
27972 .13,
27973 .13,
27974 .13
27975 ],
27976 "ix": 2
27977 },
27978 "o": {
27979 "a": 0,
27980 "k": 100,
27981 "ix": 2
27982 },
27983 "w": {
27984 "a": 0,
27985 "k": 2,
27986 "ix": 2
27987 },
27988 "lc": 1,
27989 "lj": 1,
27990 "ml": 4
27991 },
27992 {
27993 "ty": "tr",
27994 "o": {
27995 "a": 0,
27996 "k": 100,
27997 "ix": 2
27998 }
27999 }
28000 ]
28001 }, {
28002 "ty": "tr",
28003 "p": {
28004 "a": 0,
28005 "k": [27.24, 26.8],
28006 "ix": 2
28007 },
28008 "o": {
28009 "a": 0,
28010 "k": 100,
28011 "ix": 2
28012 }
28013 }]
28014 }],
28015 "ip": 0,
28016 "op": 877,
28017 "st": 0
28018 },
28019 {
28020 "ddd": 0,
28021 "ind": 87,
28022 "ty": 4,
28023 "sr": 1,
28024 "ks": { "o": {
28025 "a": 1,
28026 "k": [{
28027 "t": 0,
28028 "s": [0],
28029 "h": 1
28030 }, {
28031 "t": 488,
28032 "s": [100],
28033 "h": 1
28034 }],
28035 "ix": 2
28036 } },
28037 "ao": 0,
28038 "shapes": [{
28039 "ty": "gr",
28040 "it": [{
28041 "ty": "gr",
28042 "it": [
28043 {
28044 "ty": "sh",
28045 "d": 1,
28046 "ks": {
28047 "a": 0,
28048 "k": {
28049 "c": true,
28050 "v": [
28051 [-22.7, -24.7],
28052 [22.7, -24.7],
28053 [24.7, -22.7],
28054 [24.7, 22.7],
28055 [22.7, 24.7],
28056 [-22.7, 24.7],
28057 [-24.7, 22.7],
28058 [-24.7, -22.7],
28059 [-22.7, -24.7]
28060 ],
28061 "i": [
28062 [0, 0],
28063 [0, 0],
28064 [0, -1.105],
28065 [0, 0],
28066 [1.105, 0],
28067 [0, 0],
28068 [0, 1.105],
28069 [0, 0],
28070 [-1.105, 0]
28071 ],
28072 "o": [
28073 [0, 0],
28074 [1.105, 0],
28075 [0, 0],
28076 [0, 1.105],
28077 [0, 0],
28078 [-1.105, 0],
28079 [0, 0],
28080 [0, -1.105],
28081 [0, 0]
28082 ]
28083 }
28084 }
28085 },
28086 {
28087 "ty": "st",
28088 "c": {
28089 "a": 0,
28090 "k": [
28091 .13,
28092 .13,
28093 .13
28094 ],
28095 "ix": 2
28096 },
28097 "o": {
28098 "a": 0,
28099 "k": 100,
28100 "ix": 2
28101 },
28102 "w": {
28103 "a": 0,
28104 "k": .7,
28105 "ix": 2
28106 },
28107 "lc": 1,
28108 "lj": 1,
28109 "ml": 4
28110 },
28111 {
28112 "ty": "tr",
28113 "o": {
28114 "a": 0,
28115 "k": 100,
28116 "ix": 2
28117 }
28118 }
28119 ]
28120 }, {
28121 "ty": "tr",
28122 "p": {
28123 "a": 0,
28124 "k": [27.24, 26.8],
28125 "ix": 2
28126 },
28127 "o": {
28128 "a": 0,
28129 "k": 100,
28130 "ix": 2
28131 }
28132 }]
28133 }],
28134 "ip": 0,
28135 "op": 877,
28136 "st": 0
28137 }
28138 ]
28139 },
28140 {
28141 "id": "D",
28142 "layers": [{
28143 "ddd": 0,
28144 "refId": "E",
28145 "w": 344,
28146 "h": 54,
28147 "ind": 88,
28148 "ty": 0,
28149 "sr": 1,
28150 "ks": {
28151 "p": {
28152 "a": 0,
28153 "k": [32, 32],
28154 "ix": 2
28155 },
28156 "o": {
28157 "a": 1,
28158 "k": [
28159 {
28160 "t": 0,
28161 "s": [0],
28162 "h": 1
28163 },
28164 {
28165 "t": 512,
28166 "s": [100],
28167 "h": 1
28168 },
28169 {
28170 "t": 604,
28171 "s": [0],
28172 "h": 1
28173 }
28174 ],
28175 "ix": 2
28176 }
28177 },
28178 "ao": 0,
28179 "ip": 0,
28180 "op": 877,
28181 "st": 0
28182 }, {
28183 "ddd": 0,
28184 "ind": 89,
28185 "ty": 4,
28186 "sr": 1,
28187 "ks": {
28188 "p": {
28189 "a": 0,
28190 "k": [32, 32],
28191 "ix": 2
28192 },
28193 "o": {
28194 "a": 0,
28195 "k": 100,
28196 "ix": 2
28197 }
28198 },
28199 "ao": 0,
28200 "shapes": [{
28201 "ty": "rc",
28202 "d": 1,
28203 "s": {
28204 "a": 0,
28205 "k": [107, 108],
28206 "ix": 2
28207 },
28208 "p": {
28209 "a": 0,
28210 "k": [21.5, 22],
28211 "ix": 2
28212 },
28213 "r": {
28214 "a": 0,
28215 "k": 0,
28216 "ix": 2
28217 }
28218 }, {
28219 "ty": "fl",
28220 "c": {
28221 "a": 0,
28222 "k": [
28223 0,
28224 0,
28225 0
28226 ],
28227 "ix": 2
28228 },
28229 "o": {
28230 "a": 0,
28231 "k": 0,
28232 "ix": 2
28233 },
28234 "r": 1,
28235 "bm": 0
28236 }],
28237 "ip": 0,
28238 "op": 877,
28239 "st": 0
28240 }]
28241 },
28242 {
28243 "id": "5",
28244 "layers": [{
28245 "ddd": 0,
28246 "ind": 90,
28247 "ty": 4,
28248 "sr": 1,
28249 "ks": {
28250 "p": {
28251 "a": 0,
28252 "k": [32, 32],
28253 "ix": 2
28254 },
28255 "o": {
28256 "a": 0,
28257 "k": 100,
28258 "ix": 2
28259 }
28260 },
28261 "td": 1,
28262 "ao": 0,
28263 "shapes": [{
28264 "ty": "gr",
28265 "it": [
28266 {
28267 "ty": "sh",
28268 "d": 1,
28269 "ks": {
28270 "a": 0,
28271 "k": {
28272 "c": true,
28273 "v": [
28274 [74.01, -31.72],
28275 [-31.26, -31.72],
28276 [-31.26, 75],
28277 [74.01, 75],
28278 [74.01, -31.72]
28279 ],
28280 "i": [
28281 [0, 0],
28282 [0, 0],
28283 [0, 0],
28284 [0, 0],
28285 [0, 0]
28286 ],
28287 "o": [
28288 [0, 0],
28289 [0, 0],
28290 [0, 0],
28291 [0, 0],
28292 [0, 0]
28293 ]
28294 }
28295 }
28296 },
28297 {
28298 "ty": "fl",
28299 "c": {
28300 "a": 0,
28301 "k": [
28302 0,
28303 0,
28304 0
28305 ],
28306 "ix": 2
28307 },
28308 "o": {
28309 "a": 0,
28310 "k": 100,
28311 "ix": 2
28312 },
28313 "r": 1,
28314 "bm": 0
28315 },
28316 {
28317 "ty": "tr",
28318 "o": {
28319 "a": 0,
28320 "k": 100,
28321 "ix": 2
28322 }
28323 }
28324 ]
28325 }],
28326 "ip": 0,
28327 "op": 877,
28328 "st": 0
28329 }, {
28330 "ddd": 0,
28331 "refId": "D",
28332 "w": 107,
28333 "h": 108,
28334 "ind": 9,
28335 "ty": 0,
28336 "sr": 1,
28337 "ks": {
28338 "p": {
28339 "a": 0,
28340 "k": [21.5, 22],
28341 "ix": 2
28342 },
28343 "a": {
28344 "a": 0,
28345 "k": [21.5, 22],
28346 "ix": 2
28347 },
28348 "o": {
28349 "a": 0,
28350 "k": 100,
28351 "ix": 2
28352 }
28353 },
28354 "ao": 0,
28355 "ip": 0,
28356 "op": 877,
28357 "st": 0,
28358 "tt": 1
28359 }]
28360 },
28361 {
28362 "id": "E",
28363 "layers": [
28364 {
28365 "ddd": 0,
28366 "ind": 91,
28367 "ty": 4,
28368 "sr": 1,
28369 "ks": { "o": {
28370 "a": 1,
28371 "k": [{
28372 "t": 0,
28373 "s": [0],
28374 "h": 1
28375 }, {
28376 "t": 488,
28377 "s": [100],
28378 "h": 1
28379 }],
28380 "ix": 2
28381 } },
28382 "ao": 0,
28383 "shapes": [{
28384 "ty": "gr",
28385 "it": [{
28386 "ty": "gr",
28387 "it": [
28388 {
28389 "ty": "sh",
28390 "d": 1,
28391 "ks": {
28392 "a": 0,
28393 "k": {
28394 "c": false,
28395 "v": [
28396 [-17.45, 0],
28397 [-4.76, 15.87],
28398 [17.45, -15.87]
28399 ],
28400 "i": [
28401 [0, 0],
28402 [0, 0],
28403 [0, 0]
28404 ],
28405 "o": [
28406 [0, 0],
28407 [0, 0],
28408 [0, 0]
28409 ]
28410 }
28411 }
28412 },
28413 {
28414 "ty": "st",
28415 "c": {
28416 "a": 0,
28417 "k": [
28418 .13,
28419 .13,
28420 .13
28421 ],
28422 "ix": 2
28423 },
28424 "o": {
28425 "a": 0,
28426 "k": 100,
28427 "ix": 2
28428 },
28429 "w": {
28430 "a": 0,
28431 "k": 5.5,
28432 "ix": 2
28433 },
28434 "lc": 2,
28435 "lj": 2,
28436 "ml": 4
28437 },
28438 {
28439 "ty": "tr",
28440 "o": {
28441 "a": 0,
28442 "k": 100,
28443 "ix": 2
28444 }
28445 }
28446 ]
28447 }, {
28448 "ty": "tr",
28449 "p": {
28450 "a": 0,
28451 "k": [26.46, 27.72],
28452 "ix": 2
28453 },
28454 "o": {
28455 "a": 0,
28456 "k": 100,
28457 "ix": 2
28458 }
28459 }]
28460 }],
28461 "ip": 0,
28462 "op": 877,
28463 "st": 0
28464 },
28465 {
28466 "ddd": 0,
28467 "ind": 92,
28468 "ty": 4,
28469 "sr": 1,
28470 "ks": { "o": {
28471 "a": 1,
28472 "k": [{
28473 "t": 0,
28474 "s": [0],
28475 "h": 1
28476 }, {
28477 "t": 488,
28478 "s": [100],
28479 "h": 1
28480 }],
28481 "ix": 2
28482 } },
28483 "ao": 0,
28484 "shapes": [{
28485 "ty": "gr",
28486 "it": [{
28487 "ty": "gr",
28488 "it": [{
28489 "ty": "gr",
28490 "it": [
28491 {
28492 "ty": "gr",
28493 "it": [{
28494 "ty": "sh",
28495 "d": 1,
28496 "ks": {
28497 "a": 0,
28498 "k": {
28499 "c": true,
28500 "v": [
28501 [432.63, -160.38],
28502 [428.36, -160.38],
28503 [435.56, -170.78],
28504 [428.92, -180.3],
28505 [433.3, -180.3],
28506 [437.73, -173.9],
28507 [442.16, -180.3],
28508 [446.51, -180.3],
28509 [439.9, -170.82],
28510 [447.1, -160.38],
28511 [442.79, -160.38],
28512 [437.73, -167.69],
28513 [432.63, -160.38]
28514 ],
28515 "i": [
28516 [0, 0],
28517 [0, 0],
28518 [0, 0],
28519 [0, 0],
28520 [0, 0],
28521 [0, 0],
28522 [0, 0],
28523 [0, 0],
28524 [0, 0],
28525 [0, 0],
28526 [0, 0],
28527 [0, 0],
28528 [0, 0]
28529 ],
28530 "o": [
28531 [0, 0],
28532 [0, 0],
28533 [0, 0],
28534 [0, 0],
28535 [0, 0],
28536 [0, 0],
28537 [0, 0],
28538 [0, 0],
28539 [0, 0],
28540 [0, 0],
28541 [0, 0],
28542 [0, 0],
28543 [0, 0]
28544 ]
28545 }
28546 }
28547 }, {
28548 "ty": "tr",
28549 "o": {
28550 "a": 0,
28551 "k": 100,
28552 "ix": 2
28553 }
28554 }]
28555 },
28556 {
28557 "ty": "gr",
28558 "it": [{
28559 "ty": "sh",
28560 "d": 1,
28561 "ks": {
28562 "a": 0,
28563 "k": {
28564 "c": true,
28565 "v": [
28566 [417.32, -163.43],
28567 [423.65, -170.34],
28568 [417.32, -177.26],
28569 [410.96, -170.34],
28570 [417.32, -163.43]
28571 ],
28572 "i": [
28573 [0, 0],
28574 [0, 4.071],
28575 [3.755, 0],
28576 [0, -4.071],
28577 [-3.795, 0]
28578 ],
28579 "o": [
28580 [3.755, 0],
28581 [0, -4.071],
28582 [-3.795, 0],
28583 [0, 4.071],
28584 [0, 0]
28585 ]
28586 }
28587 }
28588 }, {
28589 "ty": "tr",
28590 "o": {
28591 "a": 0,
28592 "k": 100,
28593 "ix": 2
28594 }
28595 }]
28596 },
28597 {
28598 "ty": "gr",
28599 "it": [{
28600 "ty": "sh",
28601 "d": 1,
28602 "ks": {
28603 "a": 0,
28604 "k": {
28605 "c": true,
28606 "v": [
28607 [417.32, -160.07],
28608 [407.05, -170.34],
28609 [417.32, -180.62],
28610 [427.56, -170.34],
28611 [417.32, -160.07]
28612 ],
28613 "i": [
28614 [0, 0],
28615 [0, 5.969],
28616 [-5.969, 0],
28617 [0, -5.969],
28618 [5.969, 0]
28619 ],
28620 "o": [
28621 [-5.969, 0],
28622 [0, -5.969],
28623 [5.969, 0],
28624 [0, 5.969],
28625 [0, 0]
28626 ]
28627 }
28628 }
28629 }, {
28630 "ty": "tr",
28631 "o": {
28632 "a": 0,
28633 "k": 100,
28634 "ix": 2
28635 }
28636 }]
28637 },
28638 {
28639 "ty": "gr",
28640 "it": [{
28641 "ty": "sh",
28642 "d": 1,
28643 "ks": {
28644 "a": 0,
28645 "k": {
28646 "c": true,
28647 "v": [
28648 [394.02, -163.43],
28649 [400.15, -170.34],
28650 [394.02, -177.26],
28651 [387.9, -170.34],
28652 [394.02, -163.43]
28653 ],
28654 "i": [
28655 [0, 0],
28656 [0, 4.15],
28657 [3.676, 0],
28658 [0, -4.15],
28659 [-3.676, 0]
28660 ],
28661 "o": [
28662 [3.676, 0],
28663 [0, -4.15],
28664 [-3.676, 0],
28665 [0, 4.15],
28666 [0, 0]
28667 ]
28668 }
28669 }
28670 }, {
28671 "ty": "tr",
28672 "o": {
28673 "a": 0,
28674 "k": 100,
28675 "ix": 2
28676 }
28677 }]
28678 },
28679 {
28680 "ty": "gr",
28681 "it": [{
28682 "ty": "sh",
28683 "d": 1,
28684 "ks": {
28685 "a": 0,
28686 "k": {
28687 "c": true,
28688 "v": [
28689 [394.62, -160.07],
28690 [388.21, -163.35],
28691 [388.21, -160.38],
28692 [384.38, -160.38],
28693 [384.38, -188.65],
28694 [388.21, -188.65],
28695 [388.21, -177.38],
28696 [394.58, -180.62],
28697 [404.02, -170.34],
28698 [394.62, -160.07]
28699 ],
28700 "i": [
28701 [0, 0],
28702 [1.186, 1.976],
28703 [0, 0],
28704 [0, 0],
28705 [0, 0],
28706 [0, 0],
28707 [0, 0],
28708 [-2.648, 0],
28709 [0, -5.89],
28710 [5.969, 0]
28711 ],
28712 "o": [
28713 [-2.688, 0],
28714 [0, 0],
28715 [0, 0],
28716 [0, 0],
28717 [0, 0],
28718 [0, 0],
28719 [1.225, -1.976],
28720 [6.008, 0],
28721 [0, 5.89],
28722 [0, 0]
28723 ]
28724 }
28725 }
28726 }, {
28727 "ty": "tr",
28728 "o": {
28729 "a": 0,
28730 "k": 100,
28731 "ix": 2
28732 }
28733 }]
28734 },
28735 {
28736 "ty": "gr",
28737 "it": [{
28738 "ty": "sh",
28739 "d": 1,
28740 "ks": {
28741 "a": 0,
28742 "k": {
28743 "c": true,
28744 "v": [
28745 [363.38, -160.07],
28746 [355.36, -166.87],
28747 [358.87, -166.87],
28748 [363.34, -163.19],
28749 [367.25, -166.11],
28750 [355.87, -174.69],
28751 [362.98, -180.62],
28752 [370.69, -174.41],
28753 [367.17, -174.41],
28754 [363.02, -177.62],
28755 [359.43, -174.85],
28756 [370.85, -166.31],
28757 [363.38, -160.07]
28758 ],
28759 "i": [
28760 [0, 0],
28761 [.316, 4.309],
28762 [0, 0],
28763 [-2.569, 0],
28764 [0, 1.779],
28765 [0, 7.945],
28766 [-4.15, 0],
28767 [-.277, -3.874],
28768 [0, 0],
28769 [2.293, 0],
28770 [0, -1.779],
28771 [0, -8.301],
28772 [4.625, 0]
28773 ],
28774 "o": [
28775 [-4.822, 0],
28776 [0, 0],
28777 [.198, 2.293],
28778 [2.372, 0],
28779 [0, -4.862],
28780 [0, -3.518],
28781 [4.625, 0],
28782 [0, 0],
28783 [-.198, -1.937],
28784 [-1.976, 0],
28785 [0, 4.704],
28786 [0, 3.834],
28787 [0, 0]
28788 ]
28789 }
28790 }
28791 }, {
28792 "ty": "tr",
28793 "o": {
28794 "a": 0,
28795 "k": 100,
28796 "ix": 2
28797 }
28798 }]
28799 },
28800 {
28801 "ty": "gr",
28802 "it": [{
28803 "ty": "sh",
28804 "d": 1,
28805 "ks": {
28806 "a": 0,
28807 "k": {
28808 "c": true,
28809 "v": [
28810 [347.16, -188.65],
28811 [351.43, -188.65],
28812 [351.43, -183.82],
28813 [347.16, -183.82],
28814 [347.16, -188.65]
28815 ],
28816 "i": [
28817 [0, 0],
28818 [0, 0],
28819 [0, 0],
28820 [0, 0],
28821 [0, 0]
28822 ],
28823 "o": [
28824 [0, 0],
28825 [0, 0],
28826 [0, 0],
28827 [0, 0],
28828 [0, 0]
28829 ]
28830 }
28831 }
28832 }, {
28833 "ty": "tr",
28834 "o": {
28835 "a": 0,
28836 "k": 100,
28837 "ix": 2
28838 }
28839 }]
28840 },
28841 {
28842 "ty": "gr",
28843 "it": [{
28844 "ty": "sh",
28845 "d": 1,
28846 "ks": {
28847 "a": 0,
28848 "k": {
28849 "c": true,
28850 "v": [
28851 [347.4, -160.38],
28852 [347.4, -180.3],
28853 [351.23, -180.3],
28854 [351.23, -160.38],
28855 [347.4, -160.38]
28856 ],
28857 "i": [
28858 [0, 0],
28859 [0, 0],
28860 [0, 0],
28861 [0, 0],
28862 [0, 0]
28863 ],
28864 "o": [
28865 [0, 0],
28866 [0, 0],
28867 [0, 0],
28868 [0, 0],
28869 [0, 0]
28870 ]
28871 }
28872 }
28873 }, {
28874 "ty": "tr",
28875 "o": {
28876 "a": 0,
28877 "k": 100,
28878 "ix": 2
28879 }
28880 }]
28881 },
28882 {
28883 "ty": "gr",
28884 "it": [{
28885 "ty": "sh",
28886 "d": 1,
28887 "ks": {
28888 "a": 0,
28889 "k": {
28890 "c": true,
28891 "v": [
28892 [324.39, -160.38],
28893 [324.39, -188.65],
28894 [328.23, -188.65],
28895 [328.23, -176.79],
28896 [334.63, -180.62],
28897 [342.06, -172.64],
28898 [342.06, -160.38],
28899 [338.23, -160.38],
28900 [338.23, -171.88],
28901 [333.56, -177.18],
28902 [328.23, -171.17],
28903 [328.23, -160.38],
28904 [324.39, -160.38]
28905 ],
28906 "i": [
28907 [0, 0],
28908 [0, 0],
28909 [0, 0],
28910 [0, 0],
28911 [-2.965, 0],
28912 [0, -4.743],
28913 [0, 0],
28914 [0, 0],
28915 [0, 0],
28916 [2.807, 0],
28917 [0, -3.478],
28918 [0, 0],
28919 [0, 0]
28920 ],
28921 "o": [
28922 [0, 0],
28923 [0, 0],
28924 [0, 0],
28925 [1.067, -2.49],
28926 [4.506, 0],
28927 [0, 0],
28928 [0, 0],
28929 [0, 0],
28930 [0, -3.162],
28931 [-3.123, 0],
28932 [0, 0],
28933 [0, 0],
28934 [0, 0]
28935 ]
28936 }
28937 }
28938 }, {
28939 "ty": "tr",
28940 "o": {
28941 "a": 0,
28942 "k": 100,
28943 "ix": 2
28944 }
28945 }]
28946 },
28947 {
28948 "ty": "gr",
28949 "it": [{
28950 "ty": "sh",
28951 "d": 1,
28952 "ks": {
28953 "a": 0,
28954 "k": {
28955 "c": true,
28956 "v": [
28957 [317.52, -160.38],
28958 [310.88, -166.9],
28959 [310.88, -176.98],
28960 [306.81, -176.98],
28961 [306.81, -180.3],
28962 [310.88, -180.3],
28963 [310.88, -186.55],
28964 [314.72, -186.55],
28965 [314.72, -180.3],
28966 [320.61, -180.3],
28967 [320.61, -176.98],
28968 [314.72, -176.98],
28969 [314.72, -167.02],
28970 [317.8, -163.7],
28971 [320.61, -163.7],
28972 [320.61, -160.38],
28973 [317.52, -160.38]
28974 ],
28975 "i": [
28976 [0, 0],
28977 [0, 4.071],
28978 [0, 0],
28979 [0, 0],
28980 [0, 0],
28981 [0, 0],
28982 [0, 0],
28983 [0, 0],
28984 [0, 0],
28985 [0, 0],
28986 [0, 0],
28987 [0, 0],
28988 [0, 0],
28989 [-1.897, 0],
28990 [0, 0],
28991 [0, 0],
28992 [0, 0]
28993 ],
28994 "o": [
28995 [-4.032, 0],
28996 [0, 0],
28997 [0, 0],
28998 [0, 0],
28999 [0, 0],
29000 [0, 0],
29001 [0, 0],
29002 [0, 0],
29003 [0, 0],
29004 [0, 0],
29005 [0, 0],
29006 [0, 0],
29007 [0, 2.135],
29008 [0, 0],
29009 [0, 0],
29010 [0, 0],
29011 [0, 0]
29012 ]
29013 }
29014 }
29015 }, {
29016 "ty": "tr",
29017 "o": {
29018 "a": 0,
29019 "k": 100,
29020 "ix": 2
29021 }
29022 }]
29023 },
29024 {
29025 "ty": "gr",
29026 "it": [{
29027 "ty": "sh",
29028 "d": 1,
29029 "ks": {
29030 "a": 0,
29031 "k": {
29032 "c": true,
29033 "v": [
29034 [279.23, -160.38],
29035 [279.23, -188.65],
29036 [283.06, -188.65],
29037 [283.06, -172.32],
29038 [291.76, -180.3],
29039 [296.74, -180.3],
29040 [288.36, -172.52],
29041 [297.49, -160.38],
29042 [292.75, -160.38],
29043 [285.63, -169.95],
29044 [283.06, -167.58],
29045 [283.06, -160.38],
29046 [279.23, -160.38]
29047 ],
29048 "i": [
29049 [0, 0],
29050 [0, 0],
29051 [0, 0],
29052 [0, 0],
29053 [0, 0],
29054 [0, 0],
29055 [0, 0],
29056 [0, 0],
29057 [0, 0],
29058 [0, 0],
29059 [0, 0],
29060 [0, 0],
29061 [0, 0]
29062 ],
29063 "o": [
29064 [0, 0],
29065 [0, 0],
29066 [0, 0],
29067 [0, 0],
29068 [0, 0],
29069 [0, 0],
29070 [0, 0],
29071 [0, 0],
29072 [0, 0],
29073 [0, 0],
29074 [0, 0],
29075 [0, 0],
29076 [0, 0]
29077 ]
29078 }
29079 }
29080 }, {
29081 "ty": "tr",
29082 "o": {
29083 "a": 0,
29084 "k": 100,
29085 "ix": 2
29086 }
29087 }]
29088 },
29089 {
29090 "ty": "gr",
29091 "it": [{
29092 "ty": "sh",
29093 "d": 1,
29094 "ks": {
29095 "a": 0,
29096 "k": {
29097 "c": true,
29098 "v": [
29099 [265.8, -160.07],
29100 [255.96, -170.34],
29101 [265.8, -180.62],
29102 [275.05, -173.35],
29103 [271.22, -173.35],
29104 [265.88, -177.26],
29105 [259.95, -170.34],
29106 [265.92, -163.43],
29107 [271.26, -167.1],
29108 [275.05, -167.1],
29109 [265.8, -160.07]
29110 ],
29111 "i": [
29112 [0, 0],
29113 [0, 5.494],
29114 [-6.245, 0],
29115 [-.553, -4.506],
29116 [0, 0],
29117 [2.727, 0],
29118 [0, -3.834],
29119 [-3.953, 0],
29120 [-.632, 2.253],
29121 [0, 0],
29122 [5.099, 0]
29123 ],
29124 "o": [
29125 [-6.245, 0],
29126 [0, -5.494],
29127 [4.664, 0],
29128 [0, 0],
29129 [-.356, -2.253],
29130 [-3.953, 0],
29131 [0, 3.834],
29132 [2.727, 0],
29133 [0, 0],
29134 [-.632, 4.19],
29135 [0, 0]
29136 ]
29137 }
29138 }
29139 }, {
29140 "ty": "tr",
29141 "o": {
29142 "a": 0,
29143 "k": 100,
29144 "ix": 2
29145 }
29146 }]
29147 },
29148 {
29149 "ty": "gr",
29150 "it": [{
29151 "ty": "sh",
29152 "d": 1,
29153 "ks": {
29154 "a": 0,
29155 "k": {
29156 "c": true,
29157 "v": [
29158 [237.68, -172.6],
29159 [248.94, -172.6],
29160 [243.41, -177.54],
29161 [237.68, -172.6]
29162 ],
29163 "i": [
29164 [0, 0],
29165 [0, 0],
29166 [3.281, 0],
29167 [.593, -3.241]
29168 ],
29169 "o": [
29170 [0, 0],
29171 [-.237, -3.044],
29172 [-3.083, 0],
29173 [0, 0]
29174 ]
29175 }
29176 }
29177 }, {
29178 "ty": "tr",
29179 "o": {
29180 "a": 0,
29181 "k": 100,
29182 "ix": 2
29183 }
29184 }]
29185 },
29186 {
29187 "ty": "gr",
29188 "it": [{
29189 "ty": "sh",
29190 "d": 1,
29191 "ks": {
29192 "a": 0,
29193 "k": {
29194 "c": true,
29195 "v": [
29196 [243.76, -160.07],
29197 [233.8, -170.46],
29198 [243.41, -180.62],
29199 [252.81, -171.17],
29200 [252.74, -169.63],
29201 [237.56, -169.63],
29202 [243.76, -163.35],
29203 [249.14, -166.87],
29204 [252.97, -166.87],
29205 [243.76, -160.07]
29206 ],
29207 "i": [
29208 [0, 0],
29209 [0, 5.534],
29210 [-6.127, 0],
29211 [0, -5.06],
29212 [.04, -.356],
29213 [0, 0],
29214 [-3.439, 0],
29215 [-.553, 2.253],
29216 [0, 0],
29217 [4.941, 0]
29218 ],
29219 "o": [
29220 [-6.166, 0],
29221 [0, -5.573],
29222 [6.127, 0],
29223 [0, .514],
29224 [0, 0],
29225 [.316, 3.716],
29226 [2.925, 0],
29227 [0, 0],
29228 [-.672, 4.111],
29229 [0, 0]
29230 ]
29231 }
29232 }
29233 }, {
29234 "ty": "tr",
29235 "o": {
29236 "a": 0,
29237 "k": 100,
29238 "ix": 2
29239 }
29240 }]
29241 },
29242 {
29243 "ty": "gr",
29244 "it": [{
29245 "ty": "sh",
29246 "d": 1,
29247 "ks": {
29248 "a": 0,
29249 "k": {
29250 "c": true,
29251 "v": [
29252 [212.14, -160.38],
29253 [212.14, -188.65],
29254 [215.97, -188.65],
29255 [215.97, -176.79],
29256 [222.38, -180.62],
29257 [229.81, -172.64],
29258 [229.81, -160.38],
29259 [225.97, -160.38],
29260 [225.97, -171.88],
29261 [221.31, -177.18],
29262 [215.97, -171.17],
29263 [215.97, -160.38],
29264 [212.14, -160.38]
29265 ],
29266 "i": [
29267 [0, 0],
29268 [0, 0],
29269 [0, 0],
29270 [0, 0],
29271 [-2.965, 0],
29272 [0, -4.743],
29273 [0, 0],
29274 [0, 0],
29275 [0, 0],
29276 [2.806, 0],
29277 [0, -3.478],
29278 [0, 0],
29279 [0, 0]
29280 ],
29281 "o": [
29282 [0, 0],
29283 [0, 0],
29284 [0, 0],
29285 [1.067, -2.49],
29286 [4.506, 0],
29287 [0, 0],
29288 [0, 0],
29289 [0, 0],
29290 [0, -3.162],
29291 [-3.123, 0],
29292 [0, 0],
29293 [0, 0],
29294 [0, 0]
29295 ]
29296 }
29297 }
29298 }, {
29299 "ty": "tr",
29300 "o": {
29301 "a": 0,
29302 "k": 100,
29303 "ix": 2
29304 }
29305 }]
29306 },
29307 {
29308 "ty": "gr",
29309 "it": [{
29310 "ty": "sh",
29311 "d": 1,
29312 "ks": {
29313 "a": 0,
29314 "k": {
29315 "c": true,
29316 "v": [
29317 [195.87, -160.07],
29318 [182.35, -174.22],
29319 [195.87, -188.37],
29320 [207.85, -179.16],
29321 [203.54, -179.16],
29322 [195.83, -184.73],
29323 [186.54, -174.22],
29324 [195.87, -163.7],
29325 [203.62, -169.28],
29326 [207.81, -169.28],
29327 [195.87, -160.07]
29328 ],
29329 "i": [
29330 [0, 0],
29331 [0, 9.487],
29332 [-7.076, 0],
29333 [-.712, -5.376],
29334 [0, 0],
29335 [3.992, 0],
29336 [0, -6.838],
29337 [-5.415, 0],
29338 [-.435, 3.241],
29339 [0, 0],
29340 [6.364, 0]
29341 ],
29342 "o": [
29343 [-7.155, 0],
29344 [0, -9.487],
29345 [6.245, 0],
29346 [0, 0],
29347 [-.435, -3.241],
29348 [-5.376, 0],
29349 [0, 6.838],
29350 [4.071, 0],
29351 [0, 0],
29352 [-.593, 5.376],
29353 [0, 0]
29354 ]
29355 }
29356 }
29357 }, {
29358 "ty": "tr",
29359 "o": {
29360 "a": 0,
29361 "k": 100,
29362 "ix": 2
29363 }
29364 }]
29365 },
29366 {
29367 "ty": "st",
29368 "c": {
29369 "a": 0,
29370 "k": [
29371 0,
29372 0,
29373 0
29374 ],
29375 "ix": 2
29376 },
29377 "o": {
29378 "a": 0,
29379 "k": 100,
29380 "ix": 2
29381 },
29382 "w": {
29383 "a": 0,
29384 "k": .1,
29385 "ix": 2
29386 },
29387 "lc": 1,
29388 "lj": 1,
29389 "ml": 4
29390 },
29391 {
29392 "ty": "fl",
29393 "c": {
29394 "a": 0,
29395 "k": [
29396 .13,
29397 .13,
29398 .13
29399 ],
29400 "ix": 2
29401 },
29402 "o": {
29403 "a": 0,
29404 "k": 100,
29405 "ix": 2
29406 },
29407 "r": 1,
29408 "bm": 0
29409 },
29410 {
29411 "ty": "tr",
29412 "o": {
29413 "a": 0,
29414 "k": 100,
29415 "ix": 2
29416 }
29417 }
29418 ]
29419 }, {
29420 "ty": "tr",
29421 "o": {
29422 "a": 0,
29423 "k": 100,
29424 "ix": 2
29425 }
29426 }]
29427 }, {
29428 "ty": "tr",
29429 "p": {
29430 "a": 0,
29431 "k": [-104, 202],
29432 "ix": 2
29433 },
29434 "o": {
29435 "a": 0,
29436 "k": 100,
29437 "ix": 2
29438 }
29439 }]
29440 }],
29441 "ip": 0,
29442 "op": 877,
29443 "st": 0
29444 },
29445 {
29446 "ddd": 0,
29447 "ind": 93,
29448 "ty": 4,
29449 "sr": 1,
29450 "ks": { "o": {
29451 "a": 1,
29452 "k": [{
29453 "t": 0,
29454 "s": [0],
29455 "h": 1
29456 }, {
29457 "t": 488,
29458 "s": [100],
29459 "h": 1
29460 }],
29461 "ix": 2
29462 } },
29463 "ao": 0,
29464 "shapes": [{
29465 "ty": "gr",
29466 "it": [{
29467 "ty": "gr",
29468 "it": [
29469 {
29470 "ty": "sh",
29471 "d": 1,
29472 "ks": {
29473 "a": 0,
29474 "k": {
29475 "c": true,
29476 "v": [
29477 [-22.7, -24.7],
29478 [22.7, -24.7],
29479 [24.7, -22.7],
29480 [24.7, 22.7],
29481 [22.7, 24.7],
29482 [-22.7, 24.7],
29483 [-24.7, 22.7],
29484 [-24.7, -22.7],
29485 [-22.7, -24.7]
29486 ],
29487 "i": [
29488 [0, 0],
29489 [0, 0],
29490 [0, -1.105],
29491 [0, 0],
29492 [1.105, 0],
29493 [0, 0],
29494 [0, 1.105],
29495 [0, 0],
29496 [-1.105, 0]
29497 ],
29498 "o": [
29499 [0, 0],
29500 [1.105, 0],
29501 [0, 0],
29502 [0, 1.105],
29503 [0, 0],
29504 [-1.105, 0],
29505 [0, 0],
29506 [0, -1.105],
29507 [0, 0]
29508 ]
29509 }
29510 }
29511 },
29512 {
29513 "ty": "st",
29514 "c": {
29515 "a": 0,
29516 "k": [
29517 .13,
29518 .13,
29519 .13
29520 ],
29521 "ix": 2
29522 },
29523 "o": {
29524 "a": 0,
29525 "k": 100,
29526 "ix": 2
29527 },
29528 "w": {
29529 "a": 0,
29530 "k": 2,
29531 "ix": 2
29532 },
29533 "lc": 1,
29534 "lj": 1,
29535 "ml": 4
29536 },
29537 {
29538 "ty": "tr",
29539 "o": {
29540 "a": 0,
29541 "k": 100,
29542 "ix": 2
29543 }
29544 }
29545 ]
29546 }, {
29547 "ty": "tr",
29548 "p": {
29549 "a": 0,
29550 "k": [27.24, 26.8],
29551 "ix": 2
29552 },
29553 "o": {
29554 "a": 0,
29555 "k": 100,
29556 "ix": 2
29557 }
29558 }]
29559 }],
29560 "ip": 0,
29561 "op": 877,
29562 "st": 0
29563 },
29564 {
29565 "ddd": 0,
29566 "ind": 94,
29567 "ty": 4,
29568 "sr": 1,
29569 "ks": { "o": {
29570 "a": 1,
29571 "k": [{
29572 "t": 0,
29573 "s": [0],
29574 "h": 1
29575 }, {
29576 "t": 488,
29577 "s": [100],
29578 "h": 1
29579 }],
29580 "ix": 2
29581 } },
29582 "ao": 0,
29583 "shapes": [{
29584 "ty": "gr",
29585 "it": [{
29586 "ty": "gr",
29587 "it": [
29588 {
29589 "ty": "sh",
29590 "d": 1,
29591 "ks": {
29592 "a": 0,
29593 "k": {
29594 "c": true,
29595 "v": [
29596 [-22.7, -24.7],
29597 [22.7, -24.7],
29598 [24.7, -22.7],
29599 [24.7, 22.7],
29600 [22.7, 24.7],
29601 [-22.7, 24.7],
29602 [-24.7, 22.7],
29603 [-24.7, -22.7],
29604 [-22.7, -24.7]
29605 ],
29606 "i": [
29607 [0, 0],
29608 [0, 0],
29609 [0, -1.105],
29610 [0, 0],
29611 [1.105, 0],
29612 [0, 0],
29613 [0, 1.105],
29614 [0, 0],
29615 [-1.105, 0]
29616 ],
29617 "o": [
29618 [0, 0],
29619 [1.105, 0],
29620 [0, 0],
29621 [0, 1.105],
29622 [0, 0],
29623 [-1.105, 0],
29624 [0, 0],
29625 [0, -1.105],
29626 [0, 0]
29627 ]
29628 }
29629 }
29630 },
29631 {
29632 "ty": "st",
29633 "c": {
29634 "a": 0,
29635 "k": [
29636 .13,
29637 .13,
29638 .13
29639 ],
29640 "ix": 2
29641 },
29642 "o": {
29643 "a": 0,
29644 "k": 100,
29645 "ix": 2
29646 },
29647 "w": {
29648 "a": 0,
29649 "k": .7,
29650 "ix": 2
29651 },
29652 "lc": 1,
29653 "lj": 1,
29654 "ml": 4
29655 },
29656 {
29657 "ty": "tr",
29658 "o": {
29659 "a": 0,
29660 "k": 100,
29661 "ix": 2
29662 }
29663 }
29664 ]
29665 }, {
29666 "ty": "tr",
29667 "p": {
29668 "a": 0,
29669 "k": [27.24, 26.8],
29670 "ix": 2
29671 },
29672 "o": {
29673 "a": 0,
29674 "k": 100,
29675 "ix": 2
29676 }
29677 }]
29678 }],
29679 "ip": 0,
29680 "op": 877,
29681 "st": 0
29682 }
29683 ]
29684 },
29685 {
29686 "id": "F",
29687 "layers": [{
29688 "ddd": 0,
29689 "refId": "G",
29690 "w": 344,
29691 "h": 54,
29692 "ind": 95,
29693 "ty": 0,
29694 "sr": 1,
29695 "ks": {
29696 "p": {
29697 "a": 0,
29698 "k": [-1, 0],
29699 "ix": 2
29700 },
29701 "o": {
29702 "a": 1,
29703 "k": [
29704 {
29705 "t": 0,
29706 "s": [0],
29707 "h": 1
29708 },
29709 {
29710 "t": 448,
29711 "s": [100],
29712 "h": 1
29713 },
29714 {
29715 "t": 512,
29716 "s": [0],
29717 "h": 1
29718 }
29719 ],
29720 "ix": 2
29721 }
29722 },
29723 "ao": 0,
29724 "ip": 0,
29725 "op": 877,
29726 "st": 0
29727 }, {
29728 "ddd": 0,
29729 "ind": 96,
29730 "ty": 4,
29731 "sr": 1,
29732 "ks": {
29733 "p": {
29734 "a": 0,
29735 "k": [-1, 0],
29736 "ix": 2
29737 },
29738 "o": {
29739 "a": 0,
29740 "k": 100,
29741 "ix": 2
29742 }
29743 },
29744 "ao": 0,
29745 "shapes": [{
29746 "ty": "rc",
29747 "d": 1,
29748 "s": {
29749 "a": 0,
29750 "k": [69, 54],
29751 "ix": 2
29752 },
29753 "p": {
29754 "a": 0,
29755 "k": [32.5, 27],
29756 "ix": 2
29757 },
29758 "r": {
29759 "a": 0,
29760 "k": 0,
29761 "ix": 2
29762 }
29763 }, {
29764 "ty": "fl",
29765 "c": {
29766 "a": 0,
29767 "k": [
29768 0,
29769 0,
29770 0
29771 ],
29772 "ix": 2
29773 },
29774 "o": {
29775 "a": 0,
29776 "k": 0,
29777 "ix": 2
29778 },
29779 "r": 1,
29780 "bm": 0
29781 }],
29782 "ip": 0,
29783 "op": 877,
29784 "st": 0
29785 }]
29786 },
29787 {
29788 "id": "6",
29789 "layers": [{
29790 "ddd": 0,
29791 "ind": 97,
29792 "ty": 4,
29793 "sr": 1,
29794 "ks": {
29795 "p": {
29796 "a": 0,
29797 "k": [-1, 0],
29798 "ix": 2
29799 },
29800 "o": {
29801 "a": 0,
29802 "k": 100,
29803 "ix": 2
29804 }
29805 },
29806 "td": 1,
29807 "ao": 0,
29808 "shapes": [{
29809 "ty": "gr",
29810 "it": [
29811 {
29812 "ty": "sh",
29813 "d": 1,
29814 "ks": {
29815 "a": 0,
29816 "k": {
29817 "c": true,
29818 "v": [
29819 [66.55, -14.39],
29820 [-24.84, -14.39],
29821 [-24.84, 67.77],
29822 [66.55, 67.77],
29823 [66.55, -14.39]
29824 ],
29825 "i": [
29826 [0, 0],
29827 [0, 0],
29828 [0, 0],
29829 [0, 0],
29830 [0, 0]
29831 ],
29832 "o": [
29833 [0, 0],
29834 [0, 0],
29835 [0, 0],
29836 [0, 0],
29837 [0, 0]
29838 ]
29839 }
29840 }
29841 },
29842 {
29843 "ty": "fl",
29844 "c": {
29845 "a": 0,
29846 "k": [
29847 0,
29848 0,
29849 0
29850 ],
29851 "ix": 2
29852 },
29853 "o": {
29854 "a": 0,
29855 "k": 100,
29856 "ix": 2
29857 },
29858 "r": 1,
29859 "bm": 0
29860 },
29861 {
29862 "ty": "tr",
29863 "o": {
29864 "a": 0,
29865 "k": 100,
29866 "ix": 2
29867 }
29868 }
29869 ]
29870 }],
29871 "ip": 0,
29872 "op": 877,
29873 "st": 0
29874 }, {
29875 "ddd": 0,
29876 "refId": "F",
29877 "w": 343,
29878 "h": 53,
29879 "ind": 12,
29880 "ty": 0,
29881 "sr": 1,
29882 "ks": {
29883 "p": {
29884 "a": 0,
29885 "k": [172.5, 26.5],
29886 "ix": 2
29887 },
29888 "a": {
29889 "a": 0,
29890 "k": [172.5, 26.5],
29891 "ix": 2
29892 },
29893 "o": {
29894 "a": 0,
29895 "k": 100,
29896 "ix": 2
29897 }
29898 },
29899 "ao": 0,
29900 "ip": 0,
29901 "op": 877,
29902 "st": 0,
29903 "tt": 2
29904 }]
29905 },
29906 {
29907 "id": "G",
29908 "layers": [{
29909 "ddd": 0,
29910 "refId": "H",
29911 "w": 266,
29912 "h": 29,
29913 "ind": 98,
29914 "ty": 0,
29915 "sr": 1,
29916 "ks": {
29917 "p": {
29918 "a": 0,
29919 "k": [78, 13],
29920 "ix": 2
29921 },
29922 "o": {
29923 "a": 1,
29924 "k": [{
29925 "t": 0,
29926 "s": [0],
29927 "h": 1
29928 }, {
29929 "t": 448,
29930 "s": [100],
29931 "h": 1
29932 }],
29933 "ix": 2
29934 }
29935 },
29936 "ao": 0,
29937 "ip": 0,
29938 "op": 877,
29939 "st": 0
29940 }, {
29941 "ddd": 0,
29942 "ind": 99,
29943 "ty": 4,
29944 "sr": 1,
29945 "ks": { "o": {
29946 "a": 1,
29947 "k": [{
29948 "t": 0,
29949 "s": [0],
29950 "h": 1
29951 }, {
29952 "t": 448,
29953 "s": [100],
29954 "h": 1
29955 }],
29956 "ix": 2
29957 } },
29958 "ao": 0,
29959 "shapes": [{
29960 "ty": "gr",
29961 "it": [{
29962 "ty": "gr",
29963 "it": [
29964 {
29965 "ty": "sh",
29966 "d": 1,
29967 "ks": {
29968 "a": 0,
29969 "k": {
29970 "c": true,
29971 "v": [
29972 [-22.7, -24.7],
29973 [22.7, -24.7],
29974 [24.7, -22.7],
29975 [24.7, 22.7],
29976 [22.7, 24.7],
29977 [-22.7, 24.7],
29978 [-24.7, 22.7],
29979 [-24.7, -22.7],
29980 [-22.7, -24.7]
29981 ],
29982 "i": [
29983 [0, 0],
29984 [0, 0],
29985 [0, -1.105],
29986 [0, 0],
29987 [1.105, 0],
29988 [0, 0],
29989 [0, 1.105],
29990 [0, 0],
29991 [-1.105, 0]
29992 ],
29993 "o": [
29994 [0, 0],
29995 [1.105, 0],
29996 [0, 0],
29997 [0, 1.105],
29998 [0, 0],
29999 [-1.105, 0],
30000 [0, 0],
30001 [0, -1.105],
30002 [0, 0]
30003 ]
30004 }
30005 }
30006 },
30007 {
30008 "ty": "st",
30009 "c": {
30010 "a": 0,
30011 "k": [
30012 .13,
30013 .13,
30014 .13
30015 ],
30016 "ix": 2
30017 },
30018 "o": {
30019 "a": 0,
30020 "k": 100,
30021 "ix": 2
30022 },
30023 "w": {
30024 "a": 0,
30025 "k": .7,
30026 "ix": 2
30027 },
30028 "lc": 1,
30029 "lj": 1,
30030 "ml": 4
30031 },
30032 {
30033 "ty": "tr",
30034 "o": {
30035 "a": 0,
30036 "k": 100,
30037 "ix": 2
30038 }
30039 }
30040 ]
30041 }, {
30042 "ty": "tr",
30043 "p": {
30044 "a": 0,
30045 "k": [27.24, 26.8],
30046 "ix": 2
30047 },
30048 "o": {
30049 "a": 0,
30050 "k": 100,
30051 "ix": 2
30052 }
30053 }]
30054 }],
30055 "ip": 0,
30056 "op": 877,
30057 "st": 0
30058 }]
30059 },
30060 {
30061 "id": "H",
30062 "layers": [{
30063 "ddd": 0,
30064 "ind": 100,
30065 "ty": 3,
30066 "sr": 1,
30067 "ks": {
30068 "p": {
30069 "a": 0,
30070 "k": [-182, 189],
30071 "ix": 2
30072 },
30073 "o": {
30074 "a": 0,
30075 "k": 100,
30076 "ix": 2
30077 }
30078 },
30079 "ao": 0,
30080 "ip": 0,
30081 "op": 877,
30082 "st": 0
30083 }, {
30084 "ddd": 0,
30085 "refId": "I",
30086 "w": 266,
30087 "h": 29,
30088 "ind": 98,
30089 "ty": 0,
30090 "sr": 1,
30091 "ks": {
30092 "p": {
30093 "a": 0,
30094 "k": [182, -189],
30095 "ix": 2
30096 },
30097 "o": {
30098 "a": 0,
30099 "k": 50,
30100 "ix": 2
30101 }
30102 },
30103 "ao": 0,
30104 "ip": 0,
30105 "op": 877,
30106 "st": 0,
30107 "parent": 100
30108 }]
30109 },
30110 {
30111 "id": "I",
30112 "layers": [{
30113 "ddd": 0,
30114 "ind": 101,
30115 "ty": 4,
30116 "sr": 1,
30117 "ks": {
30118 "p": {
30119 "a": 0,
30120 "k": [-182, 189],
30121 "ix": 2
30122 },
30123 "o": {
30124 "a": 0,
30125 "k": 100,
30126 "ix": 2
30127 }
30128 },
30129 "ao": 0,
30130 "shapes": [{
30131 "ty": "gr",
30132 "it": [{
30133 "ty": "gr",
30134 "it": [
30135 {
30136 "ty": "gr",
30137 "it": [{
30138 "ty": "sh",
30139 "d": 1,
30140 "ks": {
30141 "a": 0,
30142 "k": {
30143 "c": true,
30144 "v": [
30145 [432.63, -160.38],
30146 [428.36, -160.38],
30147 [435.56, -170.78],
30148 [428.92, -180.3],
30149 [433.3, -180.3],
30150 [437.73, -173.9],
30151 [442.16, -180.3],
30152 [446.51, -180.3],
30153 [439.9, -170.82],
30154 [447.1, -160.38],
30155 [442.79, -160.38],
30156 [437.73, -167.69],
30157 [432.63, -160.38]
30158 ],
30159 "i": [
30160 [0, 0],
30161 [0, 0],
30162 [0, 0],
30163 [0, 0],
30164 [0, 0],
30165 [0, 0],
30166 [0, 0],
30167 [0, 0],
30168 [0, 0],
30169 [0, 0],
30170 [0, 0],
30171 [0, 0],
30172 [0, 0]
30173 ],
30174 "o": [
30175 [0, 0],
30176 [0, 0],
30177 [0, 0],
30178 [0, 0],
30179 [0, 0],
30180 [0, 0],
30181 [0, 0],
30182 [0, 0],
30183 [0, 0],
30184 [0, 0],
30185 [0, 0],
30186 [0, 0],
30187 [0, 0]
30188 ]
30189 }
30190 }
30191 }, {
30192 "ty": "tr",
30193 "o": {
30194 "a": 0,
30195 "k": 100,
30196 "ix": 2
30197 }
30198 }]
30199 },
30200 {
30201 "ty": "gr",
30202 "it": [{
30203 "ty": "sh",
30204 "d": 1,
30205 "ks": {
30206 "a": 0,
30207 "k": {
30208 "c": true,
30209 "v": [
30210 [417.32, -163.43],
30211 [423.65, -170.34],
30212 [417.32, -177.26],
30213 [410.96, -170.34],
30214 [417.32, -163.43]
30215 ],
30216 "i": [
30217 [0, 0],
30218 [0, 4.071],
30219 [3.755, 0],
30220 [0, -4.071],
30221 [-3.795, 0]
30222 ],
30223 "o": [
30224 [3.755, 0],
30225 [0, -4.071],
30226 [-3.795, 0],
30227 [0, 4.071],
30228 [0, 0]
30229 ]
30230 }
30231 }
30232 }, {
30233 "ty": "tr",
30234 "o": {
30235 "a": 0,
30236 "k": 100,
30237 "ix": 2
30238 }
30239 }]
30240 },
30241 {
30242 "ty": "gr",
30243 "it": [{
30244 "ty": "sh",
30245 "d": 1,
30246 "ks": {
30247 "a": 0,
30248 "k": {
30249 "c": true,
30250 "v": [
30251 [417.32, -160.07],
30252 [407.05, -170.34],
30253 [417.32, -180.62],
30254 [427.56, -170.34],
30255 [417.32, -160.07]
30256 ],
30257 "i": [
30258 [0, 0],
30259 [0, 5.969],
30260 [-5.969, 0],
30261 [0, -5.969],
30262 [5.969, 0]
30263 ],
30264 "o": [
30265 [-5.969, 0],
30266 [0, -5.969],
30267 [5.969, 0],
30268 [0, 5.969],
30269 [0, 0]
30270 ]
30271 }
30272 }
30273 }, {
30274 "ty": "tr",
30275 "o": {
30276 "a": 0,
30277 "k": 100,
30278 "ix": 2
30279 }
30280 }]
30281 },
30282 {
30283 "ty": "gr",
30284 "it": [{
30285 "ty": "sh",
30286 "d": 1,
30287 "ks": {
30288 "a": 0,
30289 "k": {
30290 "c": true,
30291 "v": [
30292 [394.02, -163.43],
30293 [400.15, -170.34],
30294 [394.02, -177.26],
30295 [387.9, -170.34],
30296 [394.02, -163.43]
30297 ],
30298 "i": [
30299 [0, 0],
30300 [0, 4.15],
30301 [3.676, 0],
30302 [0, -4.15],
30303 [-3.676, 0]
30304 ],
30305 "o": [
30306 [3.676, 0],
30307 [0, -4.15],
30308 [-3.676, 0],
30309 [0, 4.15],
30310 [0, 0]
30311 ]
30312 }
30313 }
30314 }, {
30315 "ty": "tr",
30316 "o": {
30317 "a": 0,
30318 "k": 100,
30319 "ix": 2
30320 }
30321 }]
30322 },
30323 {
30324 "ty": "gr",
30325 "it": [{
30326 "ty": "sh",
30327 "d": 1,
30328 "ks": {
30329 "a": 0,
30330 "k": {
30331 "c": true,
30332 "v": [
30333 [394.62, -160.07],
30334 [388.21, -163.35],
30335 [388.21, -160.38],
30336 [384.38, -160.38],
30337 [384.38, -188.65],
30338 [388.21, -188.65],
30339 [388.21, -177.38],
30340 [394.58, -180.62],
30341 [404.02, -170.34],
30342 [394.62, -160.07]
30343 ],
30344 "i": [
30345 [0, 0],
30346 [1.186, 1.976],
30347 [0, 0],
30348 [0, 0],
30349 [0, 0],
30350 [0, 0],
30351 [0, 0],
30352 [-2.648, 0],
30353 [0, -5.89],
30354 [5.969, 0]
30355 ],
30356 "o": [
30357 [-2.688, 0],
30358 [0, 0],
30359 [0, 0],
30360 [0, 0],
30361 [0, 0],
30362 [0, 0],
30363 [1.225, -1.976],
30364 [6.008, 0],
30365 [0, 5.89],
30366 [0, 0]
30367 ]
30368 }
30369 }
30370 }, {
30371 "ty": "tr",
30372 "o": {
30373 "a": 0,
30374 "k": 100,
30375 "ix": 2
30376 }
30377 }]
30378 },
30379 {
30380 "ty": "gr",
30381 "it": [{
30382 "ty": "sh",
30383 "d": 1,
30384 "ks": {
30385 "a": 0,
30386 "k": {
30387 "c": true,
30388 "v": [
30389 [363.38, -160.07],
30390 [355.36, -166.87],
30391 [358.87, -166.87],
30392 [363.34, -163.19],
30393 [367.25, -166.11],
30394 [355.87, -174.69],
30395 [362.98, -180.62],
30396 [370.69, -174.41],
30397 [367.17, -174.41],
30398 [363.02, -177.62],
30399 [359.43, -174.85],
30400 [370.85, -166.31],
30401 [363.38, -160.07]
30402 ],
30403 "i": [
30404 [0, 0],
30405 [.316, 4.309],
30406 [0, 0],
30407 [-2.569, 0],
30408 [0, 1.779],
30409 [0, 7.945],
30410 [-4.15, 0],
30411 [-.277, -3.874],
30412 [0, 0],
30413 [2.293, 0],
30414 [0, -1.779],
30415 [0, -8.301],
30416 [4.625, 0]
30417 ],
30418 "o": [
30419 [-4.822, 0],
30420 [0, 0],
30421 [.198, 2.293],
30422 [2.372, 0],
30423 [0, -4.862],
30424 [0, -3.518],
30425 [4.625, 0],
30426 [0, 0],
30427 [-.198, -1.937],
30428 [-1.976, 0],
30429 [0, 4.704],
30430 [0, 3.834],
30431 [0, 0]
30432 ]
30433 }
30434 }
30435 }, {
30436 "ty": "tr",
30437 "o": {
30438 "a": 0,
30439 "k": 100,
30440 "ix": 2
30441 }
30442 }]
30443 },
30444 {
30445 "ty": "gr",
30446 "it": [{
30447 "ty": "sh",
30448 "d": 1,
30449 "ks": {
30450 "a": 0,
30451 "k": {
30452 "c": true,
30453 "v": [
30454 [347.16, -188.65],
30455 [351.43, -188.65],
30456 [351.43, -183.82],
30457 [347.16, -183.82],
30458 [347.16, -188.65]
30459 ],
30460 "i": [
30461 [0, 0],
30462 [0, 0],
30463 [0, 0],
30464 [0, 0],
30465 [0, 0]
30466 ],
30467 "o": [
30468 [0, 0],
30469 [0, 0],
30470 [0, 0],
30471 [0, 0],
30472 [0, 0]
30473 ]
30474 }
30475 }
30476 }, {
30477 "ty": "tr",
30478 "o": {
30479 "a": 0,
30480 "k": 100,
30481 "ix": 2
30482 }
30483 }]
30484 },
30485 {
30486 "ty": "gr",
30487 "it": [{
30488 "ty": "sh",
30489 "d": 1,
30490 "ks": {
30491 "a": 0,
30492 "k": {
30493 "c": true,
30494 "v": [
30495 [347.4, -160.38],
30496 [347.4, -180.3],
30497 [351.23, -180.3],
30498 [351.23, -160.38],
30499 [347.4, -160.38]
30500 ],
30501 "i": [
30502 [0, 0],
30503 [0, 0],
30504 [0, 0],
30505 [0, 0],
30506 [0, 0]
30507 ],
30508 "o": [
30509 [0, 0],
30510 [0, 0],
30511 [0, 0],
30512 [0, 0],
30513 [0, 0]
30514 ]
30515 }
30516 }
30517 }, {
30518 "ty": "tr",
30519 "o": {
30520 "a": 0,
30521 "k": 100,
30522 "ix": 2
30523 }
30524 }]
30525 },
30526 {
30527 "ty": "gr",
30528 "it": [{
30529 "ty": "sh",
30530 "d": 1,
30531 "ks": {
30532 "a": 0,
30533 "k": {
30534 "c": true,
30535 "v": [
30536 [324.39, -160.38],
30537 [324.39, -188.65],
30538 [328.23, -188.65],
30539 [328.23, -176.79],
30540 [334.63, -180.62],
30541 [342.06, -172.64],
30542 [342.06, -160.38],
30543 [338.23, -160.38],
30544 [338.23, -171.88],
30545 [333.56, -177.18],
30546 [328.23, -171.17],
30547 [328.23, -160.38],
30548 [324.39, -160.38]
30549 ],
30550 "i": [
30551 [0, 0],
30552 [0, 0],
30553 [0, 0],
30554 [0, 0],
30555 [-2.965, 0],
30556 [0, -4.743],
30557 [0, 0],
30558 [0, 0],
30559 [0, 0],
30560 [2.807, 0],
30561 [0, -3.478],
30562 [0, 0],
30563 [0, 0]
30564 ],
30565 "o": [
30566 [0, 0],
30567 [0, 0],
30568 [0, 0],
30569 [1.067, -2.49],
30570 [4.506, 0],
30571 [0, 0],
30572 [0, 0],
30573 [0, 0],
30574 [0, -3.162],
30575 [-3.123, 0],
30576 [0, 0],
30577 [0, 0],
30578 [0, 0]
30579 ]
30580 }
30581 }
30582 }, {
30583 "ty": "tr",
30584 "o": {
30585 "a": 0,
30586 "k": 100,
30587 "ix": 2
30588 }
30589 }]
30590 },
30591 {
30592 "ty": "gr",
30593 "it": [{
30594 "ty": "sh",
30595 "d": 1,
30596 "ks": {
30597 "a": 0,
30598 "k": {
30599 "c": true,
30600 "v": [
30601 [317.52, -160.38],
30602 [310.88, -166.9],
30603 [310.88, -176.98],
30604 [306.81, -176.98],
30605 [306.81, -180.3],
30606 [310.88, -180.3],
30607 [310.88, -186.55],
30608 [314.72, -186.55],
30609 [314.72, -180.3],
30610 [320.61, -180.3],
30611 [320.61, -176.98],
30612 [314.72, -176.98],
30613 [314.72, -167.02],
30614 [317.8, -163.7],
30615 [320.61, -163.7],
30616 [320.61, -160.38],
30617 [317.52, -160.38]
30618 ],
30619 "i": [
30620 [0, 0],
30621 [0, 4.071],
30622 [0, 0],
30623 [0, 0],
30624 [0, 0],
30625 [0, 0],
30626 [0, 0],
30627 [0, 0],
30628 [0, 0],
30629 [0, 0],
30630 [0, 0],
30631 [0, 0],
30632 [0, 0],
30633 [-1.897, 0],
30634 [0, 0],
30635 [0, 0],
30636 [0, 0]
30637 ],
30638 "o": [
30639 [-4.032, 0],
30640 [0, 0],
30641 [0, 0],
30642 [0, 0],
30643 [0, 0],
30644 [0, 0],
30645 [0, 0],
30646 [0, 0],
30647 [0, 0],
30648 [0, 0],
30649 [0, 0],
30650 [0, 0],
30651 [0, 2.135],
30652 [0, 0],
30653 [0, 0],
30654 [0, 0],
30655 [0, 0]
30656 ]
30657 }
30658 }
30659 }, {
30660 "ty": "tr",
30661 "o": {
30662 "a": 0,
30663 "k": 100,
30664 "ix": 2
30665 }
30666 }]
30667 },
30668 {
30669 "ty": "gr",
30670 "it": [{
30671 "ty": "sh",
30672 "d": 1,
30673 "ks": {
30674 "a": 0,
30675 "k": {
30676 "c": true,
30677 "v": [
30678 [279.23, -160.38],
30679 [279.23, -188.65],
30680 [283.06, -188.65],
30681 [283.06, -172.32],
30682 [291.76, -180.3],
30683 [296.74, -180.3],
30684 [288.36, -172.52],
30685 [297.49, -160.38],
30686 [292.75, -160.38],
30687 [285.63, -169.95],
30688 [283.06, -167.58],
30689 [283.06, -160.38],
30690 [279.23, -160.38]
30691 ],
30692 "i": [
30693 [0, 0],
30694 [0, 0],
30695 [0, 0],
30696 [0, 0],
30697 [0, 0],
30698 [0, 0],
30699 [0, 0],
30700 [0, 0],
30701 [0, 0],
30702 [0, 0],
30703 [0, 0],
30704 [0, 0],
30705 [0, 0]
30706 ],
30707 "o": [
30708 [0, 0],
30709 [0, 0],
30710 [0, 0],
30711 [0, 0],
30712 [0, 0],
30713 [0, 0],
30714 [0, 0],
30715 [0, 0],
30716 [0, 0],
30717 [0, 0],
30718 [0, 0],
30719 [0, 0],
30720 [0, 0]
30721 ]
30722 }
30723 }
30724 }, {
30725 "ty": "tr",
30726 "o": {
30727 "a": 0,
30728 "k": 100,
30729 "ix": 2
30730 }
30731 }]
30732 },
30733 {
30734 "ty": "gr",
30735 "it": [{
30736 "ty": "sh",
30737 "d": 1,
30738 "ks": {
30739 "a": 0,
30740 "k": {
30741 "c": true,
30742 "v": [
30743 [265.8, -160.07],
30744 [255.96, -170.34],
30745 [265.8, -180.62],
30746 [275.05, -173.35],
30747 [271.22, -173.35],
30748 [265.88, -177.26],
30749 [259.95, -170.34],
30750 [265.92, -163.43],
30751 [271.26, -167.1],
30752 [275.05, -167.1],
30753 [265.8, -160.07]
30754 ],
30755 "i": [
30756 [0, 0],
30757 [0, 5.494],
30758 [-6.245, 0],
30759 [-.553, -4.506],
30760 [0, 0],
30761 [2.727, 0],
30762 [0, -3.834],
30763 [-3.953, 0],
30764 [-.632, 2.253],
30765 [0, 0],
30766 [5.099, 0]
30767 ],
30768 "o": [
30769 [-6.245, 0],
30770 [0, -5.494],
30771 [4.664, 0],
30772 [0, 0],
30773 [-.356, -2.253],
30774 [-3.953, 0],
30775 [0, 3.834],
30776 [2.727, 0],
30777 [0, 0],
30778 [-.632, 4.19],
30779 [0, 0]
30780 ]
30781 }
30782 }
30783 }, {
30784 "ty": "tr",
30785 "o": {
30786 "a": 0,
30787 "k": 100,
30788 "ix": 2
30789 }
30790 }]
30791 },
30792 {
30793 "ty": "gr",
30794 "it": [{
30795 "ty": "sh",
30796 "d": 1,
30797 "ks": {
30798 "a": 0,
30799 "k": {
30800 "c": true,
30801 "v": [
30802 [237.68, -172.6],
30803 [248.94, -172.6],
30804 [243.41, -177.54],
30805 [237.68, -172.6]
30806 ],
30807 "i": [
30808 [0, 0],
30809 [0, 0],
30810 [3.281, 0],
30811 [.593, -3.241]
30812 ],
30813 "o": [
30814 [0, 0],
30815 [-.237, -3.044],
30816 [-3.083, 0],
30817 [0, 0]
30818 ]
30819 }
30820 }
30821 }, {
30822 "ty": "tr",
30823 "o": {
30824 "a": 0,
30825 "k": 100,
30826 "ix": 2
30827 }
30828 }]
30829 },
30830 {
30831 "ty": "gr",
30832 "it": [{
30833 "ty": "sh",
30834 "d": 1,
30835 "ks": {
30836 "a": 0,
30837 "k": {
30838 "c": true,
30839 "v": [
30840 [243.76, -160.07],
30841 [233.8, -170.46],
30842 [243.41, -180.62],
30843 [252.81, -171.17],
30844 [252.74, -169.63],
30845 [237.56, -169.63],
30846 [243.76, -163.35],
30847 [249.14, -166.87],
30848 [252.97, -166.87],
30849 [243.76, -160.07]
30850 ],
30851 "i": [
30852 [0, 0],
30853 [0, 5.534],
30854 [-6.127, 0],
30855 [0, -5.06],
30856 [.04, -.356],
30857 [0, 0],
30858 [-3.439, 0],
30859 [-.553, 2.253],
30860 [0, 0],
30861 [4.941, 0]
30862 ],
30863 "o": [
30864 [-6.166, 0],
30865 [0, -5.573],
30866 [6.127, 0],
30867 [0, .514],
30868 [0, 0],
30869 [.316, 3.716],
30870 [2.925, 0],
30871 [0, 0],
30872 [-.672, 4.111],
30873 [0, 0]
30874 ]
30875 }
30876 }
30877 }, {
30878 "ty": "tr",
30879 "o": {
30880 "a": 0,
30881 "k": 100,
30882 "ix": 2
30883 }
30884 }]
30885 },
30886 {
30887 "ty": "gr",
30888 "it": [{
30889 "ty": "sh",
30890 "d": 1,
30891 "ks": {
30892 "a": 0,
30893 "k": {
30894 "c": true,
30895 "v": [
30896 [212.14, -160.38],
30897 [212.14, -188.65],
30898 [215.97, -188.65],
30899 [215.97, -176.79],
30900 [222.38, -180.62],
30901 [229.81, -172.64],
30902 [229.81, -160.38],
30903 [225.97, -160.38],
30904 [225.97, -171.88],
30905 [221.31, -177.18],
30906 [215.97, -171.17],
30907 [215.97, -160.38],
30908 [212.14, -160.38]
30909 ],
30910 "i": [
30911 [0, 0],
30912 [0, 0],
30913 [0, 0],
30914 [0, 0],
30915 [-2.965, 0],
30916 [0, -4.743],
30917 [0, 0],
30918 [0, 0],
30919 [0, 0],
30920 [2.806, 0],
30921 [0, -3.478],
30922 [0, 0],
30923 [0, 0]
30924 ],
30925 "o": [
30926 [0, 0],
30927 [0, 0],
30928 [0, 0],
30929 [1.067, -2.49],
30930 [4.506, 0],
30931 [0, 0],
30932 [0, 0],
30933 [0, 0],
30934 [0, -3.162],
30935 [-3.123, 0],
30936 [0, 0],
30937 [0, 0],
30938 [0, 0]
30939 ]
30940 }
30941 }
30942 }, {
30943 "ty": "tr",
30944 "o": {
30945 "a": 0,
30946 "k": 100,
30947 "ix": 2
30948 }
30949 }]
30950 },
30951 {
30952 "ty": "gr",
30953 "it": [{
30954 "ty": "sh",
30955 "d": 1,
30956 "ks": {
30957 "a": 0,
30958 "k": {
30959 "c": true,
30960 "v": [
30961 [195.87, -160.07],
30962 [182.35, -174.22],
30963 [195.87, -188.37],
30964 [207.85, -179.16],
30965 [203.54, -179.16],
30966 [195.83, -184.73],
30967 [186.54, -174.22],
30968 [195.87, -163.7],
30969 [203.62, -169.28],
30970 [207.81, -169.28],
30971 [195.87, -160.07]
30972 ],
30973 "i": [
30974 [0, 0],
30975 [0, 9.487],
30976 [-7.076, 0],
30977 [-.712, -5.376],
30978 [0, 0],
30979 [3.992, 0],
30980 [0, -6.838],
30981 [-5.415, 0],
30982 [-.435, 3.241],
30983 [0, 0],
30984 [6.364, 0]
30985 ],
30986 "o": [
30987 [-7.155, 0],
30988 [0, -9.487],
30989 [6.245, 0],
30990 [0, 0],
30991 [-.435, -3.241],
30992 [-5.376, 0],
30993 [0, 6.838],
30994 [4.071, 0],
30995 [0, 0],
30996 [-.593, 5.376],
30997 [0, 0]
30998 ]
30999 }
31000 }
31001 }, {
31002 "ty": "tr",
31003 "o": {
31004 "a": 0,
31005 "k": 100,
31006 "ix": 2
31007 }
31008 }]
31009 },
31010 {
31011 "ty": "fl",
31012 "c": {
31013 "a": 0,
31014 "k": [
31015 .13,
31016 .13,
31017 .13
31018 ],
31019 "ix": 2
31020 },
31021 "o": {
31022 "a": 0,
31023 "k": 100,
31024 "ix": 2
31025 },
31026 "r": 1,
31027 "bm": 0
31028 },
31029 {
31030 "ty": "tr",
31031 "o": {
31032 "a": 0,
31033 "k": 100,
31034 "ix": 2
31035 }
31036 }
31037 ]
31038 }, {
31039 "ty": "tr",
31040 "o": {
31041 "a": 0,
31042 "k": 100,
31043 "ix": 2
31044 }
31045 }]
31046 }],
31047 "ip": 0,
31048 "op": 877,
31049 "st": 0
31050 }]
31051 },
31052 {
31053 "id": "J",
31054 "layers": [{
31055 "ddd": 0,
31056 "refId": "K",
31057 "w": 344,
31058 "h": 54,
31059 "ind": 102,
31060 "ty": 0,
31061 "sr": 1,
31062 "ks": {
31063 "p": {
31064 "a": 0,
31065 "k": [25, 15],
31066 "ix": 2
31067 },
31068 "o": {
31069 "a": 1,
31070 "k": [
31071 {
31072 "t": 0,
31073 "s": [0],
31074 "h": 1
31075 },
31076 {
31077 "t": 448,
31078 "s": [100],
31079 "h": 1
31080 },
31081 {
31082 "t": 512,
31083 "s": [0],
31084 "h": 1
31085 }
31086 ],
31087 "ix": 2
31088 }
31089 },
31090 "ao": 0,
31091 "ip": 0,
31092 "op": 877,
31093 "st": 0
31094 }, {
31095 "ddd": 0,
31096 "ind": 103,
31097 "ty": 4,
31098 "sr": 1,
31099 "ks": {
31100 "p": {
31101 "a": 0,
31102 "k": [25, 15],
31103 "ix": 2
31104 },
31105 "o": {
31106 "a": 0,
31107 "k": 100,
31108 "ix": 2
31109 }
31110 },
31111 "ao": 0,
31112 "shapes": [{
31113 "ty": "rc",
31114 "d": 1,
31115 "s": {
31116 "a": 0,
31117 "k": [92, 83],
31118 "ix": 2
31119 },
31120 "p": {
31121 "a": 0,
31122 "k": [21, 26.5],
31123 "ix": 2
31124 },
31125 "r": {
31126 "a": 0,
31127 "k": 0,
31128 "ix": 2
31129 }
31130 }, {
31131 "ty": "fl",
31132 "c": {
31133 "a": 0,
31134 "k": [
31135 0,
31136 0,
31137 0
31138 ],
31139 "ix": 2
31140 },
31141 "o": {
31142 "a": 0,
31143 "k": 0,
31144 "ix": 2
31145 },
31146 "r": 1,
31147 "bm": 0
31148 }],
31149 "ip": 0,
31150 "op": 877,
31151 "st": 0
31152 }]
31153 },
31154 {
31155 "id": "7",
31156 "layers": [{
31157 "ddd": 0,
31158 "ind": 104,
31159 "ty": 4,
31160 "sr": 1,
31161 "ks": {
31162 "p": {
31163 "a": 0,
31164 "k": [25, 15],
31165 "ix": 2
31166 },
31167 "o": {
31168 "a": 0,
31169 "k": 100,
31170 "ix": 2
31171 }
31172 },
31173 "td": 1,
31174 "ao": 0,
31175 "shapes": [{
31176 "ty": "gr",
31177 "it": [
31178 {
31179 "ty": "sh",
31180 "d": 1,
31181 "ks": {
31182 "a": 0,
31183 "k": {
31184 "c": true,
31185 "v": [
31186 [66.55, -14.39],
31187 [-24.84, -14.39],
31188 [-24.84, 67.77],
31189 [66.55, 67.77],
31190 [66.55, -14.39]
31191 ],
31192 "i": [
31193 [0, 0],
31194 [0, 0],
31195 [0, 0],
31196 [0, 0],
31197 [0, 0]
31198 ],
31199 "o": [
31200 [0, 0],
31201 [0, 0],
31202 [0, 0],
31203 [0, 0],
31204 [0, 0]
31205 ]
31206 }
31207 }
31208 },
31209 {
31210 "ty": "fl",
31211 "c": {
31212 "a": 0,
31213 "k": [
31214 0,
31215 0,
31216 0
31217 ],
31218 "ix": 2
31219 },
31220 "o": {
31221 "a": 0,
31222 "k": 100,
31223 "ix": 2
31224 },
31225 "r": 1,
31226 "bm": 0
31227 },
31228 {
31229 "ty": "tr",
31230 "o": {
31231 "a": 0,
31232 "k": 100,
31233 "ix": 2
31234 }
31235 }
31236 ]
31237 }],
31238 "ip": 0,
31239 "op": 877,
31240 "st": 0
31241 }, {
31242 "ddd": 0,
31243 "refId": "J",
31244 "w": 92,
31245 "h": 83,
31246 "ind": 14,
31247 "ty": 0,
31248 "sr": 1,
31249 "ks": {
31250 "p": {
31251 "a": 0,
31252 "k": [21, 26.5],
31253 "ix": 2
31254 },
31255 "a": {
31256 "a": 0,
31257 "k": [21, 26.5],
31258 "ix": 2
31259 },
31260 "o": {
31261 "a": 0,
31262 "k": 100,
31263 "ix": 2
31264 }
31265 },
31266 "ao": 0,
31267 "ip": 0,
31268 "op": 877,
31269 "st": 0,
31270 "tt": 1
31271 }]
31272 },
31273 {
31274 "id": "K",
31275 "layers": [{
31276 "ddd": 0,
31277 "refId": "L",
31278 "w": 0,
31279 "h": 0,
31280 "ind": 105,
31281 "ty": 0,
31282 "sr": 1,
31283 "ks": { "o": {
31284 "a": 1,
31285 "k": [{
31286 "t": 0,
31287 "s": [0],
31288 "h": 1
31289 }, {
31290 "t": 448,
31291 "s": [100],
31292 "h": 1
31293 }],
31294 "ix": 2
31295 } },
31296 "ao": 0,
31297 "ip": 0,
31298 "op": 877,
31299 "st": 0
31300 }, {
31301 "ddd": 0,
31302 "ind": 106,
31303 "ty": 4,
31304 "sr": 1,
31305 "ks": { "o": {
31306 "a": 1,
31307 "k": [{
31308 "t": 0,
31309 "s": [0],
31310 "h": 1
31311 }, {
31312 "t": 448,
31313 "s": [100],
31314 "h": 1
31315 }],
31316 "ix": 2
31317 } },
31318 "ao": 0,
31319 "shapes": [{
31320 "ty": "gr",
31321 "it": [{
31322 "ty": "gr",
31323 "it": [
31324 {
31325 "ty": "sh",
31326 "d": 1,
31327 "ks": {
31328 "a": 0,
31329 "k": {
31330 "c": true,
31331 "v": [
31332 [-22.7, -24.7],
31333 [22.7, -24.7],
31334 [24.7, -22.7],
31335 [24.7, 22.7],
31336 [22.7, 24.7],
31337 [-22.7, 24.7],
31338 [-24.7, 22.7],
31339 [-24.7, -22.7],
31340 [-22.7, -24.7]
31341 ],
31342 "i": [
31343 [0, 0],
31344 [0, 0],
31345 [0, -1.105],
31346 [0, 0],
31347 [1.105, 0],
31348 [0, 0],
31349 [0, 1.105],
31350 [0, 0],
31351 [-1.105, 0]
31352 ],
31353 "o": [
31354 [0, 0],
31355 [1.105, 0],
31356 [0, 0],
31357 [0, 1.105],
31358 [0, 0],
31359 [-1.105, 0],
31360 [0, 0],
31361 [0, -1.105],
31362 [0, 0]
31363 ]
31364 }
31365 }
31366 },
31367 {
31368 "ty": "st",
31369 "c": {
31370 "a": 0,
31371 "k": [
31372 .13,
31373 .13,
31374 .13
31375 ],
31376 "ix": 2
31377 },
31378 "o": {
31379 "a": 0,
31380 "k": 100,
31381 "ix": 2
31382 },
31383 "w": {
31384 "a": 0,
31385 "k": .7,
31386 "ix": 2
31387 },
31388 "lc": 1,
31389 "lj": 1,
31390 "ml": 4
31391 },
31392 {
31393 "ty": "tr",
31394 "o": {
31395 "a": 0,
31396 "k": 100,
31397 "ix": 2
31398 }
31399 }
31400 ]
31401 }, {
31402 "ty": "tr",
31403 "p": {
31404 "a": 0,
31405 "k": [27.24, 26.8],
31406 "ix": 2
31407 },
31408 "o": {
31409 "a": 0,
31410 "k": 100,
31411 "ix": 2
31412 }
31413 }]
31414 }],
31415 "ip": 0,
31416 "op": 877,
31417 "st": 0
31418 }]
31419 },
31420 {
31421 "id": "L",
31422 "layers": [{
31423 "ddd": 0,
31424 "refId": "M",
31425 "w": 0,
31426 "h": 0,
31427 "ind": 105,
31428 "ty": 0,
31429 "sr": 1,
31430 "ks": {
31431 "p": {
31432 "a": 0,
31433 "k": [-104, 202],
31434 "ix": 2
31435 },
31436 "o": {
31437 "a": 0,
31438 "k": 50,
31439 "ix": 2
31440 }
31441 },
31442 "ao": 0,
31443 "ip": 0,
31444 "op": 877,
31445 "st": 0
31446 }]
31447 },
31448 {
31449 "id": "M",
31450 "layers": [{
31451 "ddd": 0,
31452 "ind": 107,
31453 "ty": 4,
31454 "sr": 1,
31455 "ks": { "o": {
31456 "a": 0,
31457 "k": 100,
31458 "ix": 2
31459 } },
31460 "ao": 0,
31461 "shapes": [{
31462 "ty": "gr",
31463 "it": [{
31464 "ty": "gr",
31465 "it": [
31466 {
31467 "ty": "gr",
31468 "it": [{
31469 "ty": "sh",
31470 "d": 1,
31471 "ks": {
31472 "a": 0,
31473 "k": {
31474 "c": true,
31475 "v": [
31476 [432.63, -160.38],
31477 [428.36, -160.38],
31478 [435.56, -170.78],
31479 [428.92, -180.3],
31480 [433.3, -180.3],
31481 [437.73, -173.9],
31482 [442.16, -180.3],
31483 [446.51, -180.3],
31484 [439.9, -170.82],
31485 [447.1, -160.38],
31486 [442.79, -160.38],
31487 [437.73, -167.69],
31488 [432.63, -160.38]
31489 ],
31490 "i": [
31491 [0, 0],
31492 [0, 0],
31493 [0, 0],
31494 [0, 0],
31495 [0, 0],
31496 [0, 0],
31497 [0, 0],
31498 [0, 0],
31499 [0, 0],
31500 [0, 0],
31501 [0, 0],
31502 [0, 0],
31503 [0, 0]
31504 ],
31505 "o": [
31506 [0, 0],
31507 [0, 0],
31508 [0, 0],
31509 [0, 0],
31510 [0, 0],
31511 [0, 0],
31512 [0, 0],
31513 [0, 0],
31514 [0, 0],
31515 [0, 0],
31516 [0, 0],
31517 [0, 0],
31518 [0, 0]
31519 ]
31520 }
31521 }
31522 }, {
31523 "ty": "tr",
31524 "o": {
31525 "a": 0,
31526 "k": 100,
31527 "ix": 2
31528 }
31529 }]
31530 },
31531 {
31532 "ty": "gr",
31533 "it": [{
31534 "ty": "sh",
31535 "d": 1,
31536 "ks": {
31537 "a": 0,
31538 "k": {
31539 "c": true,
31540 "v": [
31541 [417.32, -163.43],
31542 [423.65, -170.34],
31543 [417.32, -177.26],
31544 [410.96, -170.34],
31545 [417.32, -163.43]
31546 ],
31547 "i": [
31548 [0, 0],
31549 [0, 4.071],
31550 [3.755, 0],
31551 [0, -4.071],
31552 [-3.795, 0]
31553 ],
31554 "o": [
31555 [3.755, 0],
31556 [0, -4.071],
31557 [-3.795, 0],
31558 [0, 4.071],
31559 [0, 0]
31560 ]
31561 }
31562 }
31563 }, {
31564 "ty": "tr",
31565 "o": {
31566 "a": 0,
31567 "k": 100,
31568 "ix": 2
31569 }
31570 }]
31571 },
31572 {
31573 "ty": "gr",
31574 "it": [{
31575 "ty": "sh",
31576 "d": 1,
31577 "ks": {
31578 "a": 0,
31579 "k": {
31580 "c": true,
31581 "v": [
31582 [417.32, -160.07],
31583 [407.05, -170.34],
31584 [417.32, -180.62],
31585 [427.56, -170.34],
31586 [417.32, -160.07]
31587 ],
31588 "i": [
31589 [0, 0],
31590 [0, 5.969],
31591 [-5.969, 0],
31592 [0, -5.969],
31593 [5.969, 0]
31594 ],
31595 "o": [
31596 [-5.969, 0],
31597 [0, -5.969],
31598 [5.969, 0],
31599 [0, 5.969],
31600 [0, 0]
31601 ]
31602 }
31603 }
31604 }, {
31605 "ty": "tr",
31606 "o": {
31607 "a": 0,
31608 "k": 100,
31609 "ix": 2
31610 }
31611 }]
31612 },
31613 {
31614 "ty": "gr",
31615 "it": [{
31616 "ty": "sh",
31617 "d": 1,
31618 "ks": {
31619 "a": 0,
31620 "k": {
31621 "c": true,
31622 "v": [
31623 [394.02, -163.43],
31624 [400.15, -170.34],
31625 [394.02, -177.26],
31626 [387.9, -170.34],
31627 [394.02, -163.43]
31628 ],
31629 "i": [
31630 [0, 0],
31631 [0, 4.15],
31632 [3.676, 0],
31633 [0, -4.15],
31634 [-3.676, 0]
31635 ],
31636 "o": [
31637 [3.676, 0],
31638 [0, -4.15],
31639 [-3.676, 0],
31640 [0, 4.15],
31641 [0, 0]
31642 ]
31643 }
31644 }
31645 }, {
31646 "ty": "tr",
31647 "o": {
31648 "a": 0,
31649 "k": 100,
31650 "ix": 2
31651 }
31652 }]
31653 },
31654 {
31655 "ty": "gr",
31656 "it": [{
31657 "ty": "sh",
31658 "d": 1,
31659 "ks": {
31660 "a": 0,
31661 "k": {
31662 "c": true,
31663 "v": [
31664 [394.62, -160.07],
31665 [388.21, -163.35],
31666 [388.21, -160.38],
31667 [384.38, -160.38],
31668 [384.38, -188.65],
31669 [388.21, -188.65],
31670 [388.21, -177.38],
31671 [394.58, -180.62],
31672 [404.02, -170.34],
31673 [394.62, -160.07]
31674 ],
31675 "i": [
31676 [0, 0],
31677 [1.186, 1.976],
31678 [0, 0],
31679 [0, 0],
31680 [0, 0],
31681 [0, 0],
31682 [0, 0],
31683 [-2.648, 0],
31684 [0, -5.89],
31685 [5.969, 0]
31686 ],
31687 "o": [
31688 [-2.688, 0],
31689 [0, 0],
31690 [0, 0],
31691 [0, 0],
31692 [0, 0],
31693 [0, 0],
31694 [1.225, -1.976],
31695 [6.008, 0],
31696 [0, 5.89],
31697 [0, 0]
31698 ]
31699 }
31700 }
31701 }, {
31702 "ty": "tr",
31703 "o": {
31704 "a": 0,
31705 "k": 100,
31706 "ix": 2
31707 }
31708 }]
31709 },
31710 {
31711 "ty": "gr",
31712 "it": [{
31713 "ty": "sh",
31714 "d": 1,
31715 "ks": {
31716 "a": 0,
31717 "k": {
31718 "c": true,
31719 "v": [
31720 [363.38, -160.07],
31721 [355.36, -166.87],
31722 [358.87, -166.87],
31723 [363.34, -163.19],
31724 [367.25, -166.11],
31725 [355.87, -174.69],
31726 [362.98, -180.62],
31727 [370.69, -174.41],
31728 [367.17, -174.41],
31729 [363.02, -177.62],
31730 [359.43, -174.85],
31731 [370.85, -166.31],
31732 [363.38, -160.07]
31733 ],
31734 "i": [
31735 [0, 0],
31736 [.316, 4.309],
31737 [0, 0],
31738 [-2.569, 0],
31739 [0, 1.779],
31740 [0, 7.945],
31741 [-4.15, 0],
31742 [-.277, -3.874],
31743 [0, 0],
31744 [2.293, 0],
31745 [0, -1.779],
31746 [0, -8.301],
31747 [4.625, 0]
31748 ],
31749 "o": [
31750 [-4.822, 0],
31751 [0, 0],
31752 [.198, 2.293],
31753 [2.372, 0],
31754 [0, -4.862],
31755 [0, -3.518],
31756 [4.625, 0],
31757 [0, 0],
31758 [-.198, -1.937],
31759 [-1.976, 0],
31760 [0, 4.704],
31761 [0, 3.834],
31762 [0, 0]
31763 ]
31764 }
31765 }
31766 }, {
31767 "ty": "tr",
31768 "o": {
31769 "a": 0,
31770 "k": 100,
31771 "ix": 2
31772 }
31773 }]
31774 },
31775 {
31776 "ty": "gr",
31777 "it": [{
31778 "ty": "sh",
31779 "d": 1,
31780 "ks": {
31781 "a": 0,
31782 "k": {
31783 "c": true,
31784 "v": [
31785 [347.16, -188.65],
31786 [351.43, -188.65],
31787 [351.43, -183.82],
31788 [347.16, -183.82],
31789 [347.16, -188.65]
31790 ],
31791 "i": [
31792 [0, 0],
31793 [0, 0],
31794 [0, 0],
31795 [0, 0],
31796 [0, 0]
31797 ],
31798 "o": [
31799 [0, 0],
31800 [0, 0],
31801 [0, 0],
31802 [0, 0],
31803 [0, 0]
31804 ]
31805 }
31806 }
31807 }, {
31808 "ty": "tr",
31809 "o": {
31810 "a": 0,
31811 "k": 100,
31812 "ix": 2
31813 }
31814 }]
31815 },
31816 {
31817 "ty": "gr",
31818 "it": [{
31819 "ty": "sh",
31820 "d": 1,
31821 "ks": {
31822 "a": 0,
31823 "k": {
31824 "c": true,
31825 "v": [
31826 [347.4, -160.38],
31827 [347.4, -180.3],
31828 [351.23, -180.3],
31829 [351.23, -160.38],
31830 [347.4, -160.38]
31831 ],
31832 "i": [
31833 [0, 0],
31834 [0, 0],
31835 [0, 0],
31836 [0, 0],
31837 [0, 0]
31838 ],
31839 "o": [
31840 [0, 0],
31841 [0, 0],
31842 [0, 0],
31843 [0, 0],
31844 [0, 0]
31845 ]
31846 }
31847 }
31848 }, {
31849 "ty": "tr",
31850 "o": {
31851 "a": 0,
31852 "k": 100,
31853 "ix": 2
31854 }
31855 }]
31856 },
31857 {
31858 "ty": "gr",
31859 "it": [{
31860 "ty": "sh",
31861 "d": 1,
31862 "ks": {
31863 "a": 0,
31864 "k": {
31865 "c": true,
31866 "v": [
31867 [324.39, -160.38],
31868 [324.39, -188.65],
31869 [328.23, -188.65],
31870 [328.23, -176.79],
31871 [334.63, -180.62],
31872 [342.06, -172.64],
31873 [342.06, -160.38],
31874 [338.23, -160.38],
31875 [338.23, -171.88],
31876 [333.56, -177.18],
31877 [328.23, -171.17],
31878 [328.23, -160.38],
31879 [324.39, -160.38]
31880 ],
31881 "i": [
31882 [0, 0],
31883 [0, 0],
31884 [0, 0],
31885 [0, 0],
31886 [-2.965, 0],
31887 [0, -4.743],
31888 [0, 0],
31889 [0, 0],
31890 [0, 0],
31891 [2.807, 0],
31892 [0, -3.478],
31893 [0, 0],
31894 [0, 0]
31895 ],
31896 "o": [
31897 [0, 0],
31898 [0, 0],
31899 [0, 0],
31900 [1.067, -2.49],
31901 [4.506, 0],
31902 [0, 0],
31903 [0, 0],
31904 [0, 0],
31905 [0, -3.162],
31906 [-3.123, 0],
31907 [0, 0],
31908 [0, 0],
31909 [0, 0]
31910 ]
31911 }
31912 }
31913 }, {
31914 "ty": "tr",
31915 "o": {
31916 "a": 0,
31917 "k": 100,
31918 "ix": 2
31919 }
31920 }]
31921 },
31922 {
31923 "ty": "gr",
31924 "it": [{
31925 "ty": "sh",
31926 "d": 1,
31927 "ks": {
31928 "a": 0,
31929 "k": {
31930 "c": true,
31931 "v": [
31932 [317.52, -160.38],
31933 [310.88, -166.9],
31934 [310.88, -176.98],
31935 [306.81, -176.98],
31936 [306.81, -180.3],
31937 [310.88, -180.3],
31938 [310.88, -186.55],
31939 [314.72, -186.55],
31940 [314.72, -180.3],
31941 [320.61, -180.3],
31942 [320.61, -176.98],
31943 [314.72, -176.98],
31944 [314.72, -167.02],
31945 [317.8, -163.7],
31946 [320.61, -163.7],
31947 [320.61, -160.38],
31948 [317.52, -160.38]
31949 ],
31950 "i": [
31951 [0, 0],
31952 [0, 4.071],
31953 [0, 0],
31954 [0, 0],
31955 [0, 0],
31956 [0, 0],
31957 [0, 0],
31958 [0, 0],
31959 [0, 0],
31960 [0, 0],
31961 [0, 0],
31962 [0, 0],
31963 [0, 0],
31964 [-1.897, 0],
31965 [0, 0],
31966 [0, 0],
31967 [0, 0]
31968 ],
31969 "o": [
31970 [-4.032, 0],
31971 [0, 0],
31972 [0, 0],
31973 [0, 0],
31974 [0, 0],
31975 [0, 0],
31976 [0, 0],
31977 [0, 0],
31978 [0, 0],
31979 [0, 0],
31980 [0, 0],
31981 [0, 0],
31982 [0, 2.135],
31983 [0, 0],
31984 [0, 0],
31985 [0, 0],
31986 [0, 0]
31987 ]
31988 }
31989 }
31990 }, {
31991 "ty": "tr",
31992 "o": {
31993 "a": 0,
31994 "k": 100,
31995 "ix": 2
31996 }
31997 }]
31998 },
31999 {
32000 "ty": "gr",
32001 "it": [{
32002 "ty": "sh",
32003 "d": 1,
32004 "ks": {
32005 "a": 0,
32006 "k": {
32007 "c": true,
32008 "v": [
32009 [279.23, -160.38],
32010 [279.23, -188.65],
32011 [283.06, -188.65],
32012 [283.06, -172.32],
32013 [291.76, -180.3],
32014 [296.74, -180.3],
32015 [288.36, -172.52],
32016 [297.49, -160.38],
32017 [292.75, -160.38],
32018 [285.63, -169.95],
32019 [283.06, -167.58],
32020 [283.06, -160.38],
32021 [279.23, -160.38]
32022 ],
32023 "i": [
32024 [0, 0],
32025 [0, 0],
32026 [0, 0],
32027 [0, 0],
32028 [0, 0],
32029 [0, 0],
32030 [0, 0],
32031 [0, 0],
32032 [0, 0],
32033 [0, 0],
32034 [0, 0],
32035 [0, 0],
32036 [0, 0]
32037 ],
32038 "o": [
32039 [0, 0],
32040 [0, 0],
32041 [0, 0],
32042 [0, 0],
32043 [0, 0],
32044 [0, 0],
32045 [0, 0],
32046 [0, 0],
32047 [0, 0],
32048 [0, 0],
32049 [0, 0],
32050 [0, 0],
32051 [0, 0]
32052 ]
32053 }
32054 }
32055 }, {
32056 "ty": "tr",
32057 "o": {
32058 "a": 0,
32059 "k": 100,
32060 "ix": 2
32061 }
32062 }]
32063 },
32064 {
32065 "ty": "gr",
32066 "it": [{
32067 "ty": "sh",
32068 "d": 1,
32069 "ks": {
32070 "a": 0,
32071 "k": {
32072 "c": true,
32073 "v": [
32074 [265.8, -160.07],
32075 [255.96, -170.34],
32076 [265.8, -180.62],
32077 [275.05, -173.35],
32078 [271.22, -173.35],
32079 [265.88, -177.26],
32080 [259.95, -170.34],
32081 [265.92, -163.43],
32082 [271.26, -167.1],
32083 [275.05, -167.1],
32084 [265.8, -160.07]
32085 ],
32086 "i": [
32087 [0, 0],
32088 [0, 5.494],
32089 [-6.245, 0],
32090 [-.553, -4.506],
32091 [0, 0],
32092 [2.727, 0],
32093 [0, -3.834],
32094 [-3.953, 0],
32095 [-.632, 2.253],
32096 [0, 0],
32097 [5.099, 0]
32098 ],
32099 "o": [
32100 [-6.245, 0],
32101 [0, -5.494],
32102 [4.664, 0],
32103 [0, 0],
32104 [-.356, -2.253],
32105 [-3.953, 0],
32106 [0, 3.834],
32107 [2.727, 0],
32108 [0, 0],
32109 [-.632, 4.19],
32110 [0, 0]
32111 ]
32112 }
32113 }
32114 }, {
32115 "ty": "tr",
32116 "o": {
32117 "a": 0,
32118 "k": 100,
32119 "ix": 2
32120 }
32121 }]
32122 },
32123 {
32124 "ty": "gr",
32125 "it": [{
32126 "ty": "sh",
32127 "d": 1,
32128 "ks": {
32129 "a": 0,
32130 "k": {
32131 "c": true,
32132 "v": [
32133 [237.68, -172.6],
32134 [248.94, -172.6],
32135 [243.41, -177.54],
32136 [237.68, -172.6]
32137 ],
32138 "i": [
32139 [0, 0],
32140 [0, 0],
32141 [3.281, 0],
32142 [.593, -3.241]
32143 ],
32144 "o": [
32145 [0, 0],
32146 [-.237, -3.044],
32147 [-3.083, 0],
32148 [0, 0]
32149 ]
32150 }
32151 }
32152 }, {
32153 "ty": "tr",
32154 "o": {
32155 "a": 0,
32156 "k": 100,
32157 "ix": 2
32158 }
32159 }]
32160 },
32161 {
32162 "ty": "gr",
32163 "it": [{
32164 "ty": "sh",
32165 "d": 1,
32166 "ks": {
32167 "a": 0,
32168 "k": {
32169 "c": true,
32170 "v": [
32171 [243.76, -160.07],
32172 [233.8, -170.46],
32173 [243.41, -180.62],
32174 [252.81, -171.17],
32175 [252.74, -169.63],
32176 [237.56, -169.63],
32177 [243.76, -163.35],
32178 [249.14, -166.87],
32179 [252.97, -166.87],
32180 [243.76, -160.07]
32181 ],
32182 "i": [
32183 [0, 0],
32184 [0, 5.534],
32185 [-6.127, 0],
32186 [0, -5.06],
32187 [.04, -.356],
32188 [0, 0],
32189 [-3.439, 0],
32190 [-.553, 2.253],
32191 [0, 0],
32192 [4.941, 0]
32193 ],
32194 "o": [
32195 [-6.166, 0],
32196 [0, -5.573],
32197 [6.127, 0],
32198 [0, .514],
32199 [0, 0],
32200 [.316, 3.716],
32201 [2.925, 0],
32202 [0, 0],
32203 [-.672, 4.111],
32204 [0, 0]
32205 ]
32206 }
32207 }
32208 }, {
32209 "ty": "tr",
32210 "o": {
32211 "a": 0,
32212 "k": 100,
32213 "ix": 2
32214 }
32215 }]
32216 },
32217 {
32218 "ty": "gr",
32219 "it": [{
32220 "ty": "sh",
32221 "d": 1,
32222 "ks": {
32223 "a": 0,
32224 "k": {
32225 "c": true,
32226 "v": [
32227 [212.14, -160.38],
32228 [212.14, -188.65],
32229 [215.97, -188.65],
32230 [215.97, -176.79],
32231 [222.38, -180.62],
32232 [229.81, -172.64],
32233 [229.81, -160.38],
32234 [225.97, -160.38],
32235 [225.97, -171.88],
32236 [221.31, -177.18],
32237 [215.97, -171.17],
32238 [215.97, -160.38],
32239 [212.14, -160.38]
32240 ],
32241 "i": [
32242 [0, 0],
32243 [0, 0],
32244 [0, 0],
32245 [0, 0],
32246 [-2.965, 0],
32247 [0, -4.743],
32248 [0, 0],
32249 [0, 0],
32250 [0, 0],
32251 [2.806, 0],
32252 [0, -3.478],
32253 [0, 0],
32254 [0, 0]
32255 ],
32256 "o": [
32257 [0, 0],
32258 [0, 0],
32259 [0, 0],
32260 [1.067, -2.49],
32261 [4.506, 0],
32262 [0, 0],
32263 [0, 0],
32264 [0, 0],
32265 [0, -3.162],
32266 [-3.123, 0],
32267 [0, 0],
32268 [0, 0],
32269 [0, 0]
32270 ]
32271 }
32272 }
32273 }, {
32274 "ty": "tr",
32275 "o": {
32276 "a": 0,
32277 "k": 100,
32278 "ix": 2
32279 }
32280 }]
32281 },
32282 {
32283 "ty": "gr",
32284 "it": [{
32285 "ty": "sh",
32286 "d": 1,
32287 "ks": {
32288 "a": 0,
32289 "k": {
32290 "c": true,
32291 "v": [
32292 [195.87, -160.07],
32293 [182.35, -174.22],
32294 [195.87, -188.37],
32295 [207.85, -179.16],
32296 [203.54, -179.16],
32297 [195.83, -184.73],
32298 [186.54, -174.22],
32299 [195.87, -163.7],
32300 [203.62, -169.28],
32301 [207.81, -169.28],
32302 [195.87, -160.07]
32303 ],
32304 "i": [
32305 [0, 0],
32306 [0, 9.487],
32307 [-7.076, 0],
32308 [-.712, -5.376],
32309 [0, 0],
32310 [3.992, 0],
32311 [0, -6.838],
32312 [-5.415, 0],
32313 [-.435, 3.241],
32314 [0, 0],
32315 [6.364, 0]
32316 ],
32317 "o": [
32318 [-7.155, 0],
32319 [0, -9.487],
32320 [6.245, 0],
32321 [0, 0],
32322 [-.435, -3.241],
32323 [-5.376, 0],
32324 [0, 6.838],
32325 [4.071, 0],
32326 [0, 0],
32327 [-.593, 5.376],
32328 [0, 0]
32329 ]
32330 }
32331 }
32332 }, {
32333 "ty": "tr",
32334 "o": {
32335 "a": 0,
32336 "k": 100,
32337 "ix": 2
32338 }
32339 }]
32340 },
32341 {
32342 "ty": "fl",
32343 "c": {
32344 "a": 0,
32345 "k": [
32346 .13,
32347 .13,
32348 .13
32349 ],
32350 "ix": 2
32351 },
32352 "o": {
32353 "a": 0,
32354 "k": 100,
32355 "ix": 2
32356 },
32357 "r": 1,
32358 "bm": 0
32359 },
32360 {
32361 "ty": "tr",
32362 "o": {
32363 "a": 0,
32364 "k": 100,
32365 "ix": 2
32366 }
32367 }
32368 ]
32369 }, {
32370 "ty": "tr",
32371 "o": {
32372 "a": 0,
32373 "k": 100,
32374 "ix": 2
32375 }
32376 }]
32377 }],
32378 "ip": 0,
32379 "op": 877,
32380 "st": 0
32381 }]
32382 },
32383 {
32384 "id": "8",
32385 "layers": [
32386 {
32387 "ddd": 0,
32388 "refId": "N",
32389 "w": 45,
32390 "h": 45,
32391 "ind": 108,
32392 "ty": 0,
32393 "sr": 1,
32394 "ks": {
32395 "p": {
32396 "a": 0,
32397 "k": [276, 17],
32398 "ix": 2
32399 },
32400 "o": {
32401 "a": 1,
32402 "k": [{
32403 "t": 0,
32404 "s": [0],
32405 "h": 1
32406 }, {
32407 "t": 356,
32408 "s": [100],
32409 "h": 1
32410 }],
32411 "ix": 2
32412 }
32413 },
32414 "ao": 0,
32415 "ip": 0,
32416 "op": 877,
32417 "st": 0
32418 },
32419 {
32420 "ddd": 0,
32421 "ind": 109,
32422 "ty": 4,
32423 "sr": 1,
32424 "ks": { "o": {
32425 "a": 1,
32426 "k": [{
32427 "t": 0,
32428 "s": [0],
32429 "h": 1
32430 }, {
32431 "t": 356,
32432 "s": [100],
32433 "h": 1
32434 }],
32435 "ix": 2
32436 } },
32437 "ao": 0,
32438 "shapes": [{
32439 "ty": "gr",
32440 "it": [{
32441 "ty": "gr",
32442 "it": [{
32443 "ty": "gr",
32444 "it": [
32445 {
32446 "ty": "gr",
32447 "it": [{
32448 "ty": "sh",
32449 "d": 1,
32450 "ks": {
32451 "a": 0,
32452 "k": {
32453 "c": true,
32454 "v": [
32455 [348.53, -181.7],
32456 [344.59, -181.7],
32457 [351.23, -191.29],
32458 [345.1, -200.08],
32459 [349.15, -200.08],
32460 [353.24, -194.17],
32461 [357.32, -200.08],
32462 [361.33, -200.08],
32463 [355.24, -191.32],
32464 [361.88, -181.7],
32465 [357.9, -181.7],
32466 [353.24, -188.44],
32467 [348.53, -181.7]
32468 ],
32469 "i": [
32470 [0, 0],
32471 [0, 0],
32472 [0, 0],
32473 [0, 0],
32474 [0, 0],
32475 [0, 0],
32476 [0, 0],
32477 [0, 0],
32478 [0, 0],
32479 [0, 0],
32480 [0, 0],
32481 [0, 0],
32482 [0, 0]
32483 ],
32484 "o": [
32485 [0, 0],
32486 [0, 0],
32487 [0, 0],
32488 [0, 0],
32489 [0, 0],
32490 [0, 0],
32491 [0, 0],
32492 [0, 0],
32493 [0, 0],
32494 [0, 0],
32495 [0, 0],
32496 [0, 0],
32497 [0, 0]
32498 ]
32499 }
32500 }
32501 }, {
32502 "ty": "tr",
32503 "o": {
32504 "a": 0,
32505 "k": 100,
32506 "ix": 2
32507 }
32508 }]
32509 },
32510 {
32511 "ty": "gr",
32512 "it": [{
32513 "ty": "sh",
32514 "d": 1,
32515 "ks": {
32516 "a": 0,
32517 "k": {
32518 "c": true,
32519 "v": [
32520 [334.41, -184.51],
32521 [340.24, -190.89],
32522 [334.41, -197.27],
32523 [328.54, -190.89],
32524 [334.41, -184.51]
32525 ],
32526 "i": [
32527 [0, 0],
32528 [0, 3.756],
32529 [3.464, 0],
32530 [0, -3.756],
32531 [-3.501, 0]
32532 ],
32533 "o": [
32534 [3.464, 0],
32535 [0, -3.756],
32536 [-3.501, 0],
32537 [0, 3.756],
32538 [0, 0]
32539 ]
32540 }
32541 }
32542 }, {
32543 "ty": "tr",
32544 "o": {
32545 "a": 0,
32546 "k": 100,
32547 "ix": 2
32548 }
32549 }]
32550 },
32551 {
32552 "ty": "gr",
32553 "it": [{
32554 "ty": "sh",
32555 "d": 1,
32556 "ks": {
32557 "a": 0,
32558 "k": {
32559 "c": true,
32560 "v": [
32561 [334.41, -181.41],
32562 [324.93, -190.89],
32563 [334.41, -200.37],
32564 [343.85, -190.89],
32565 [334.41, -181.41]
32566 ],
32567 "i": [
32568 [0, 0],
32569 [0, 5.507],
32570 [-5.507, 0],
32571 [0, -5.507],
32572 [5.507, 0]
32573 ],
32574 "o": [
32575 [-5.507, 0],
32576 [0, -5.507],
32577 [5.507, 0],
32578 [0, 5.507],
32579 [0, 0]
32580 ]
32581 }
32582 }
32583 }, {
32584 "ty": "tr",
32585 "o": {
32586 "a": 0,
32587 "k": 100,
32588 "ix": 2
32589 }
32590 }]
32591 },
32592 {
32593 "ty": "gr",
32594 "it": [{
32595 "ty": "sh",
32596 "d": 1,
32597 "ks": {
32598 "a": 0,
32599 "k": {
32600 "c": true,
32601 "v": [
32602 [312.91, -184.51],
32603 [318.57, -190.89],
32604 [312.91, -197.27],
32605 [307.26, -190.89],
32606 [312.91, -184.51]
32607 ],
32608 "i": [
32609 [0, 0],
32610 [0, 3.829],
32611 [3.391, 0],
32612 [0, -3.829],
32613 [-3.391, 0]
32614 ],
32615 "o": [
32616 [3.391, 0],
32617 [0, -3.829],
32618 [-3.391, 0],
32619 [0, 3.829],
32620 [0, 0]
32621 ]
32622 }
32623 }
32624 }, {
32625 "ty": "tr",
32626 "o": {
32627 "a": 0,
32628 "k": 100,
32629 "ix": 2
32630 }
32631 }]
32632 },
32633 {
32634 "ty": "gr",
32635 "it": [{
32636 "ty": "sh",
32637 "d": 1,
32638 "ks": {
32639 "a": 0,
32640 "k": {
32641 "c": true,
32642 "v": [
32643 [313.46, -181.41],
32644 [307.55, -184.43],
32645 [307.55, -181.7],
32646 [304.02, -181.7],
32647 [304.02, -207.77],
32648 [307.55, -207.77],
32649 [307.55, -197.38],
32650 [313.43, -200.37],
32651 [322.14, -190.89],
32652 [313.46, -181.41]
32653 ],
32654 "i": [
32655 [0, 0],
32656 [1.094, 1.823],
32657 [0, 0],
32658 [0, 0],
32659 [0, 0],
32660 [0, 0],
32661 [0, 0],
32662 [-2.443, 0],
32663 [0, -5.434],
32664 [5.507, 0]
32665 ],
32666 "o": [
32667 [-2.48, 0],
32668 [0, 0],
32669 [0, 0],
32670 [0, 0],
32671 [0, 0],
32672 [0, 0],
32673 [1.13, -1.823],
32674 [5.543, 0],
32675 [0, 5.433],
32676 [0, 0]
32677 ]
32678 }
32679 }
32680 }, {
32681 "ty": "tr",
32682 "o": {
32683 "a": 0,
32684 "k": 100,
32685 "ix": 2
32686 }
32687 }]
32688 },
32689 {
32690 "ty": "gr",
32691 "it": [{
32692 "ty": "sh",
32693 "d": 1,
32694 "ks": {
32695 "a": 0,
32696 "k": {
32697 "c": true,
32698 "v": [
32699 [284.82, -181.7],
32700 [284.82, -207.77],
32701 [288.36, -207.77],
32702 [288.36, -192.71],
32703 [296.38, -200.08],
32704 [300.98, -200.08],
32705 [293.25, -192.89],
32706 [301.67, -181.7],
32707 [297.29, -181.7],
32708 [290.73, -190.52],
32709 [288.36, -188.34],
32710 [288.36, -181.7],
32711 [284.82, -181.7]
32712 ],
32713 "i": [
32714 [0, 0],
32715 [0, 0],
32716 [0, 0],
32717 [0, 0],
32718 [0, 0],
32719 [0, 0],
32720 [0, 0],
32721 [0, 0],
32722 [0, 0],
32723 [0, 0],
32724 [0, 0],
32725 [0, 0],
32726 [0, 0]
32727 ],
32728 "o": [
32729 [0, 0],
32730 [0, 0],
32731 [0, 0],
32732 [0, 0],
32733 [0, 0],
32734 [0, 0],
32735 [0, 0],
32736 [0, 0],
32737 [0, 0],
32738 [0, 0],
32739 [0, 0],
32740 [0, 0],
32741 [0, 0]
32742 ]
32743 }
32744 }
32745 }, {
32746 "ty": "tr",
32747 "o": {
32748 "a": 0,
32749 "k": 100,
32750 "ix": 2
32751 }
32752 }]
32753 },
32754 {
32755 "ty": "gr",
32756 "it": [{
32757 "ty": "sh",
32758 "d": 1,
32759 "ks": {
32760 "a": 0,
32761 "k": {
32762 "c": true,
32763 "v": [
32764 [272.44, -181.41],
32765 [263.36, -190.89],
32766 [272.44, -200.37],
32767 [280.97, -193.66],
32768 [277.43, -193.66],
32769 [272.51, -197.27],
32770 [267.04, -190.89],
32771 [272.55, -184.51],
32772 [277.47, -187.9],
32773 [280.97, -187.9],
32774 [272.44, -181.41]
32775 ],
32776 "i": [
32777 [0, 0],
32778 [0, 5.069],
32779 [-5.762, 0],
32780 [-.511, -4.157],
32781 [0, 0],
32782 [2.516, 0],
32783 [0, -3.538],
32784 [-3.647, 0],
32785 [-.584, 2.079],
32786 [0, 0],
32787 [4.704, 0]
32788 ],
32789 "o": [
32790 [-5.762, 0],
32791 [0, -5.069],
32792 [4.303, 0],
32793 [0, 0],
32794 [-.329, -2.078],
32795 [-3.647, 0],
32796 [0, 3.537],
32797 [2.516, 0],
32798 [0, 0],
32799 [-.584, 3.866],
32800 [0, 0]
32801 ]
32802 }
32803 }
32804 }, {
32805 "ty": "tr",
32806 "o": {
32807 "a": 0,
32808 "k": 100,
32809 "ix": 2
32810 }
32811 }]
32812 },
32813 {
32814 "ty": "gr",
32815 "it": [{
32816 "ty": "sh",
32817 "d": 1,
32818 "ks": {
32819 "a": 0,
32820 "k": {
32821 "c": true,
32822 "v": [
32823 [246.49, -192.97],
32824 [256.88, -192.97],
32825 [251.77, -197.52],
32826 [246.49, -192.97]
32827 ],
32828 "i": [
32829 [0, 0],
32830 [0, 0],
32831 [3.027, 0],
32832 [.547, -2.99]
32833 ],
32834 "o": [
32835 [0, 0],
32836 [-.219, -2.808],
32837 [-2.844, 0],
32838 [0, 0]
32839 ]
32840 }
32841 }
32842 }, {
32843 "ty": "tr",
32844 "o": {
32845 "a": 0,
32846 "k": 100,
32847 "ix": 2
32848 }
32849 }]
32850 },
32851 {
32852 "ty": "gr",
32853 "it": [{
32854 "ty": "sh",
32855 "d": 1,
32856 "ks": {
32857 "a": 0,
32858 "k": {
32859 "c": true,
32860 "v": [
32861 [252.1, -181.41],
32862 [242.91, -191],
32863 [251.77, -200.37],
32864 [260.45, -191.65],
32865 [260.38, -190.23],
32866 [246.38, -190.23],
32867 [252.1, -184.43],
32868 [257.06, -187.68],
32869 [260.6, -187.68],
32870 [252.1, -181.41]
32871 ],
32872 "i": [
32873 [0, 0],
32874 [0, 5.105],
32875 [-5.652, 0],
32876 [0, -4.668],
32877 [.036, -.329],
32878 [0, 0],
32879 [-3.172, 0],
32880 [-.51, 2.078],
32881 [0, 0],
32882 [4.559, 0]
32883 ],
32884 "o": [
32885 [-5.689, 0],
32886 [0, -5.142],
32887 [5.652, 0],
32888 [0, .474],
32889 [0, 0],
32890 [.292, 3.428],
32891 [2.699, 0],
32892 [0, 0],
32893 [-.62, 3.792],
32894 [0, 0]
32895 ]
32896 }
32897 }
32898 }, {
32899 "ty": "tr",
32900 "o": {
32901 "a": 0,
32902 "k": 100,
32903 "ix": 2
32904 }
32905 }]
32906 },
32907 {
32908 "ty": "gr",
32909 "it": [{
32910 "ty": "sh",
32911 "d": 1,
32912 "ks": {
32913 "a": 0,
32914 "k": {
32915 "c": true,
32916 "v": [
32917 [222.93, -181.7],
32918 [222.93, -207.77],
32919 [226.47, -207.77],
32920 [226.47, -196.83],
32921 [232.37, -200.37],
32922 [239.23, -193],
32923 [239.23, -181.7],
32924 [235.69, -181.7],
32925 [235.69, -192.31],
32926 [231.39, -197.2],
32927 [226.47, -191.65],
32928 [226.47, -181.7],
32929 [222.93, -181.7]
32930 ],
32931 "i": [
32932 [0, 0],
32933 [0, 0],
32934 [0, 0],
32935 [0, 0],
32936 [-2.735, 0],
32937 [0, -4.376],
32938 [0, 0],
32939 [0, 0],
32940 [0, 0],
32941 [2.589, 0],
32942 [0, -3.209],
32943 [0, 0],
32944 [0, 0]
32945 ],
32946 "o": [
32947 [0, 0],
32948 [0, 0],
32949 [0, 0],
32950 [.984, -2.297],
32951 [4.157, 0],
32952 [0, 0],
32953 [0, 0],
32954 [0, 0],
32955 [0, -2.918],
32956 [-2.881, 0],
32957 [0, 0],
32958 [0, 0],
32959 [0, 0]
32960 ]
32961 }
32962 }
32963 }, {
32964 "ty": "tr",
32965 "o": {
32966 "a": 0,
32967 "k": 100,
32968 "ix": 2
32969 }
32970 }]
32971 },
32972 {
32973 "ty": "gr",
32974 "it": [{
32975 "ty": "sh",
32976 "d": 1,
32977 "ks": {
32978 "a": 0,
32979 "k": {
32980 "c": true,
32981 "v": [
32982 [207.92, -181.41],
32983 [195.45, -194.46],
32984 [207.92, -207.52],
32985 [218.97, -199.02],
32986 [214.99, -199.02],
32987 [207.88, -204.16],
32988 [199.31, -194.46],
32989 [207.92, -184.76],
32990 [215.07, -189.9],
32991 [218.93, -189.9],
32992 [207.92, -181.41]
32993 ],
32994 "i": [
32995 [0, 0],
32996 [0, 8.752],
32997 [-6.528, 0],
32998 [-.656, -4.959],
32999 [0, 0],
33000 [3.683, 0],
33001 [0, -6.308],
33002 [-4.996, 0],
33003 [-.401, 2.99],
33004 [0, 0],
33005 [5.871, 0]
33006 ],
33007 "o": [
33008 [-6.6, 0],
33009 [0, -8.752],
33010 [5.762, 0],
33011 [0, 0],
33012 [-.401, -2.99],
33013 [-4.959, 0],
33014 [0, 6.309],
33015 [3.756, 0],
33016 [0, 0],
33017 [-.547, 4.959],
33018 [0, 0]
33019 ]
33020 }
33021 }
33022 }, {
33023 "ty": "tr",
33024 "o": {
33025 "a": 0,
33026 "k": 100,
33027 "ix": 2
33028 }
33029 }]
33030 },
33031 {
33032 "ty": "fl",
33033 "c": {
33034 "a": 0,
33035 "k": [
33036 .13,
33037 .13,
33038 .13
33039 ],
33040 "ix": 2
33041 },
33042 "o": {
33043 "a": 0,
33044 "k": 100,
33045 "ix": 2
33046 },
33047 "r": 1,
33048 "bm": 0
33049 },
33050 {
33051 "ty": "tr",
33052 "o": {
33053 "a": 0,
33054 "k": 100,
33055 "ix": 2
33056 }
33057 }
33058 ]
33059 }, {
33060 "ty": "tr",
33061 "o": {
33062 "a": 0,
33063 "k": 100,
33064 "ix": 2
33065 }
33066 }]
33067 }, {
33068 "ty": "tr",
33069 "p": {
33070 "a": 0,
33071 "k": [-109, 370],
33072 "ix": 2
33073 },
33074 "o": {
33075 "a": 0,
33076 "k": 100,
33077 "ix": 2
33078 }
33079 }]
33080 }],
33081 "ip": 0,
33082 "op": 877,
33083 "st": 0
33084 },
33085 {
33086 "ddd": 0,
33087 "ind": 110,
33088 "ty": 4,
33089 "sr": 1,
33090 "ks": { "o": {
33091 "a": 1,
33092 "k": [{
33093 "t": 0,
33094 "s": [0],
33095 "h": 1
33096 }, {
33097 "t": 356,
33098 "s": [100],
33099 "h": 1
33100 }],
33101 "ix": 2
33102 } },
33103 "ao": 0,
33104 "shapes": [{
33105 "ty": "gr",
33106 "it": [{
33107 "ty": "gr",
33108 "it": [{
33109 "ty": "gr",
33110 "it": [
33111 {
33112 "ty": "gr",
33113 "it": [{
33114 "ty": "sh",
33115 "d": 1,
33116 "ks": {
33117 "a": 0,
33118 "k": {
33119 "c": false,
33120 "v": [
33121 [307.4, -283.23],
33122 [307.4, -261.32],
33123 [305.26, -256.15],
33124 [300.1, -254.01],
33125 [256.27, -254.01],
33126 [251.11, -256.15],
33127 [248.97, -261.32],
33128 [248.97, -305.14],
33129 [251.11, -310.3],
33130 [256.27, -312.44],
33131 [289.14, -312.44]
33132 ],
33133 "i": [
33134 [0, 0],
33135 [0, 0],
33136 [1.37, -1.37],
33137 [1.937, 0],
33138 [0, 0],
33139 [1.37, 1.37],
33140 [0, 1.937],
33141 [0, 0],
33142 [-1.37, 1.37],
33143 [-1.937, 0],
33144 [0, 0]
33145 ],
33146 "o": [
33147 [0, 0],
33148 [0, 1.937],
33149 [-1.37, 1.37],
33150 [0, 0],
33151 [-1.937, 0],
33152 [-1.37, -1.37],
33153 [0, 0],
33154 [0, -1.937],
33155 [1.37, -1.37],
33156 [0, 0],
33157 [0, 0]
33158 ]
33159 }
33160 }
33161 }, {
33162 "ty": "tr",
33163 "o": {
33164 "a": 0,
33165 "k": 100,
33166 "ix": 2
33167 }
33168 }]
33169 },
33170 {
33171 "ty": "gr",
33172 "it": [{
33173 "ty": "sh",
33174 "d": 1,
33175 "ks": {
33176 "a": 0,
33177 "k": {
33178 "c": false,
33179 "v": [
33180 [267.23, -286.88],
33181 [278.19, -275.93],
33182 [307.4, -305.14]
33183 ],
33184 "i": [
33185 [0, 0],
33186 [0, 0],
33187 [0, 0]
33188 ],
33189 "o": [
33190 [0, 0],
33191 [0, 0],
33192 [0, 0]
33193 ]
33194 }
33195 }
33196 }, {
33197 "ty": "tr",
33198 "o": {
33199 "a": 0,
33200 "k": 100,
33201 "ix": 2
33202 }
33203 }]
33204 },
33205 {
33206 "ty": "st",
33207 "c": {
33208 "a": 0,
33209 "k": [
33210 .13,
33211 .13,
33212 .13
33213 ],
33214 "ix": 2
33215 },
33216 "o": {
33217 "a": 0,
33218 "k": 100,
33219 "ix": 2
33220 },
33221 "w": {
33222 "a": 0,
33223 "k": 3,
33224 "ix": 2
33225 },
33226 "lc": 2,
33227 "lj": 2,
33228 "ml": 4
33229 },
33230 {
33231 "ty": "tr",
33232 "o": {
33233 "a": 0,
33234 "k": 100,
33235 "ix": 2
33236 }
33237 }
33238 ]
33239 }, {
33240 "ty": "tr",
33241 "o": {
33242 "a": 0,
33243 "k": 100,
33244 "ix": 2
33245 }
33246 }]
33247 }, {
33248 "ty": "tr",
33249 "p": {
33250 "a": 0,
33251 "k": [-109, 370],
33252 "ix": 2
33253 },
33254 "o": {
33255 "a": 0,
33256 "k": 100,
33257 "ix": 2
33258 }
33259 }]
33260 }],
33261 "ip": 0,
33262 "op": 877,
33263 "st": 0
33264 },
33265 {
33266 "ddd": 0,
33267 "ind": 111,
33268 "ty": 4,
33269 "sr": 1,
33270 "ks": { "o": {
33271 "a": 1,
33272 "k": [{
33273 "t": 0,
33274 "s": [0],
33275 "h": 1
33276 }, {
33277 "t": 356,
33278 "s": [100],
33279 "h": 1
33280 }],
33281 "ix": 2
33282 } },
33283 "ao": 0,
33284 "shapes": [{
33285 "ty": "gr",
33286 "it": [{
33287 "ty": "gr",
33288 "it": [
33289 {
33290 "ty": "rc",
33291 "d": 1,
33292 "s": {
33293 "a": 0,
33294 "k": [338, 237],
33295 "ix": 2
33296 },
33297 "p": {
33298 "a": 0,
33299 "k": [0, 0],
33300 "ix": 2
33301 },
33302 "r": {
33303 "a": 0,
33304 "k": 8,
33305 "ix": 2
33306 }
33307 },
33308 {
33309 "ty": "fl",
33310 "c": {
33311 "a": 0,
33312 "k": [
33313 1,
33314 1,
33315 1
33316 ],
33317 "ix": 2
33318 },
33319 "o": {
33320 "a": 0,
33321 "k": 100,
33322 "ix": 2
33323 },
33324 "r": 1,
33325 "bm": 0
33326 },
33327 {
33328 "ty": "tr",
33329 "o": {
33330 "a": 0,
33331 "k": 100,
33332 "ix": 2
33333 }
33334 }
33335 ]
33336 }, {
33337 "ty": "tr",
33338 "p": {
33339 "a": 0,
33340 "k": [169, 118.5],
33341 "ix": 2
33342 },
33343 "o": {
33344 "a": 0,
33345 "k": 100,
33346 "ix": 2
33347 }
33348 }]
33349 }],
33350 "ip": 0,
33351 "op": 877,
33352 "st": 0
33353 }
33354 ]
33355 },
33356 {
33357 "id": "N",
33358 "layers": [
33359 {
33360 "ddd": 0,
33361 "ind": 108,
33362 "ty": 3,
33363 "sr": 1,
33364 "ks": {
33365 "p": {
33366 "a": 0,
33367 "k": [-385, 353],
33368 "ix": 2
33369 },
33370 "o": {
33371 "a": 0,
33372 "k": 100,
33373 "ix": 2
33374 }
33375 },
33376 "ao": 0,
33377 "ip": 0,
33378 "op": 877,
33379 "st": 0
33380 },
33381 {
33382 "ddd": 0,
33383 "ind": 112,
33384 "ty": 3,
33385 "sr": 1,
33386 "ks": { "o": {
33387 "a": 0,
33388 "k": 100,
33389 "ix": 2
33390 } },
33391 "ao": 0,
33392 "ip": 0,
33393 "op": 877,
33394 "st": 0,
33395 "parent": 108
33396 },
33397 {
33398 "ddd": 0,
33399 "refId": "O",
33400 "w": 45,
33401 "h": 45,
33402 "ind": 113,
33403 "ty": 0,
33404 "sr": 1,
33405 "ks": {
33406 "p": {
33407 "a": 0,
33408 "k": [385, -353],
33409 "ix": 2
33410 },
33411 "o": {
33412 "a": 0,
33413 "k": 50,
33414 "ix": 2
33415 }
33416 },
33417 "ao": 0,
33418 "ip": 0,
33419 "op": 877,
33420 "st": 0,
33421 "parent": 112
33422 }
33423 ]
33424 },
33425 {
33426 "id": "O",
33427 "layers": [{
33428 "ddd": 0,
33429 "ind": 114,
33430 "ty": 4,
33431 "sr": 1,
33432 "ks": {
33433 "p": {
33434 "a": 0,
33435 "k": [-385, 353],
33436 "ix": 2
33437 },
33438 "o": {
33439 "a": 0,
33440 "k": 100,
33441 "ix": 2
33442 }
33443 },
33444 "ao": 0,
33445 "shapes": [{
33446 "ty": "gr",
33447 "it": [
33448 {
33449 "ty": "gr",
33450 "it": [{
33451 "ty": "sh",
33452 "d": 1,
33453 "ks": {
33454 "a": 0,
33455 "k": {
33456 "c": true,
33457 "v": [
33458 [394, -343.42],
33459 [401.94, -324.91],
33460 [420.45, -316.98],
33461 [412.52, -335.49],
33462 [394, -343.42]
33463 ],
33464 "i": [
33465 [0, 0],
33466 [-7.304, -7.293],
33467 [-2.922, 2.921],
33468 [7.304, 7.293],
33469 [2.923, -2.921]
33470 ],
33471 "o": [
33472 [-2.921, 2.921],
33473 [7.303, 7.303],
33474 [2.919, -2.921],
33475 [-7.303, -7.303],
33476 [0, 0]
33477 ]
33478 }
33479 }
33480 }, {
33481 "ty": "tr",
33482 "o": {
33483 "a": 0,
33484 "k": 100,
33485 "ix": 2
33486 }
33487 }]
33488 },
33489 {
33490 "ty": "gr",
33491 "it": [{
33492 "ty": "sh",
33493 "d": 1,
33494 "ks": {
33495 "a": 0,
33496 "k": {
33497 "c": true,
33498 "v": [
33499 [420.45, -343.42],
33500 [401.94, -335.49],
33501 [394, -316.97],
33502 [412.52, -324.91],
33503 [420.45, -343.42]
33504 ],
33505 "i": [
33506 [0, 0],
33507 [7.293, -7.305],
33508 [-2.921, -2.923],
33509 [-7.293, 7.305],
33510 [2.921, 2.923]
33511 ],
33512 "o": [
33513 [-2.921, -2.921],
33514 [-7.303, 7.303],
33515 [2.921, 2.919],
33516 [7.303, -7.303],
33517 [0, 0]
33518 ]
33519 }
33520 }
33521 }, {
33522 "ty": "tr",
33523 "o": {
33524 "a": 0,
33525 "k": 100,
33526 "ix": 2
33527 }
33528 }]
33529 },
33530 {
33531 "ty": "gr",
33532 "it": [{
33533 "ty": "sh",
33534 "d": 1,
33535 "ks": {
33536 "a": 0,
33537 "k": {
33538 "c": false,
33539 "v": [[407.23, -330.2], [407.23, -330.18]],
33540 "i": [[0, 0], [0, 0]],
33541 "o": [[0, 0], [0, 0]]
33542 }
33543 }
33544 }, {
33545 "ty": "tr",
33546 "o": {
33547 "a": 0,
33548 "k": 100,
33549 "ix": 2
33550 }
33551 }]
33552 },
33553 {
33554 "ty": "st",
33555 "c": {
33556 "a": 0,
33557 "k": [
33558 .13,
33559 .13,
33560 .13
33561 ],
33562 "ix": 2
33563 },
33564 "o": {
33565 "a": 0,
33566 "k": 100,
33567 "ix": 2
33568 },
33569 "w": {
33570 "a": 0,
33571 "k": 3,
33572 "ix": 2
33573 },
33574 "lc": 2,
33575 "lj": 2,
33576 "ml": 4
33577 },
33578 {
33579 "ty": "tr",
33580 "o": {
33581 "a": 0,
33582 "k": 100,
33583 "ix": 2
33584 }
33585 }
33586 ]
33587 }],
33588 "ip": 0,
33589 "op": 877,
33590 "st": 0
33591 }]
33592 },
33593 {
33594 "id": "9",
33595 "layers": [
33596 {
33597 "ddd": 0,
33598 "ind": 17,
33599 "ty": 3,
33600 "sr": 1,
33601 "ks": {
33602 "p": {
33603 "a": 1,
33604 "k": [
33605 {
33606 "t": 200,
33607 "s": [282, 203],
33608 "i": {
33609 "x": [.292],
33610 "y": [1]
33611 },
33612 "o": {
33613 "x": [.483],
33614 "y": [0]
33615 }
33616 },
33617 {
33618 "t": 228,
33619 "s": [282, 212.03],
33620 "i": {
33621 "x": [0],
33622 "y": [1]
33623 },
33624 "o": {
33625 "x": [.585],
33626 "y": [0]
33627 }
33628 },
33629 {
33630 "t": 272,
33631 "s": [282, 97],
33632 "i": {
33633 "x": [.293],
33634 "y": [1]
33635 },
33636 "o": {
33637 "x": [.694],
33638 "y": [0]
33639 }
33640 },
33641 {
33642 "t": 308,
33643 "s": [282, 103],
33644 "i": {
33645 "x": [.75],
33646 "y": [.75]
33647 },
33648 "o": {
33649 "x": [.25],
33650 "y": [.25]
33651 }
33652 },
33653 {
33654 "t": 348,
33655 "s": [282, 103],
33656 "i": {
33657 "x": [0],
33658 "y": [1]
33659 },
33660 "o": {
33661 "x": [.517],
33662 "y": [0]
33663 }
33664 },
33665 {
33666 "t": 416,
33667 "s": [282, 39],
33668 "i": {
33669 "x": [.75],
33670 "y": [.75]
33671 },
33672 "o": {
33673 "x": [.25],
33674 "y": [.25]
33675 }
33676 },
33677 {
33678 "t": 456,
33679 "s": [282, 39],
33680 "i": {
33681 "x": [0],
33682 "y": [1]
33683 },
33684 "o": {
33685 "x": [0],
33686 "y": [0]
33687 }
33688 },
33689 {
33690 "t": 492,
33691 "s": [282, 54]
33692 }
33693 ],
33694 "ix": 2
33695 },
33696 "a": {
33697 "a": 0,
33698 "k": [733.82, 141.5],
33699 "ix": 2
33700 },
33701 "s": {
33702 "a": 0,
33703 "k": [399, 399],
33704 "ix": 2
33705 },
33706 "r": {
33707 "a": 1,
33708 "k": [
33709 {
33710 "t": 200,
33711 "s": [0],
33712 "i": {
33713 "x": [.326],
33714 "y": [1]
33715 },
33716 "o": {
33717 "x": [.759],
33718 "y": [0]
33719 }
33720 },
33721 {
33722 "t": 228,
33723 "s": [3],
33724 "i": {
33725 "x": [0],
33726 "y": [1]
33727 },
33728 "o": {
33729 "x": [.311],
33730 "y": [0]
33731 }
33732 },
33733 {
33734 "t": 272,
33735 "s": [-1.1],
33736 "i": {
33737 "x": [0],
33738 "y": [1]
33739 },
33740 "o": {
33741 "x": [.572],
33742 "y": [0]
33743 }
33744 },
33745 {
33746 "t": 292,
33747 "s": [0]
33748 }
33749 ],
33750 "ix": 2
33751 },
33752 "o": {
33753 "a": 0,
33754 "k": 100,
33755 "ix": 2
33756 }
33757 },
33758 "ao": 0,
33759 "ip": 0,
33760 "op": 877,
33761 "st": 0
33762 },
33763 {
33764 "ddd": 0,
33765 "ind": 115,
33766 "ty": 3,
33767 "sr": 1,
33768 "ks": {
33769 "p": {
33770 "a": 0,
33771 "k": [683.15, 145.39],
33772 "ix": 2
33773 },
33774 "o": {
33775 "a": 0,
33776 "k": 100,
33777 "ix": 2
33778 }
33779 },
33780 "ao": 0,
33781 "ip": 0,
33782 "op": 877,
33783 "st": 0,
33784 "parent": 17
33785 },
33786 {
33787 "ddd": 0,
33788 "refId": "P",
33789 "w": 24,
33790 "h": 8,
33791 "ind": 116,
33792 "ty": 0,
33793 "sr": 1,
33794 "ks": {
33795 "p": {
33796 "a": 0,
33797 "k": [-12, -4],
33798 "ix": 2
33799 },
33800 "o": {
33801 "a": 0,
33802 "k": 50,
33803 "ix": 2
33804 }
33805 },
33806 "ao": 0,
33807 "ip": 0,
33808 "op": 877,
33809 "st": 0,
33810 "parent": 115
33811 },
33812 {
33813 "ddd": 0,
33814 "ind": 117,
33815 "ty": 4,
33816 "sr": 1,
33817 "ks": { "o": {
33818 "a": 0,
33819 "k": 100,
33820 "ix": 2
33821 } },
33822 "ao": 0,
33823 "parent": 17,
33824 "shapes": [{
33825 "ty": "gr",
33826 "it": [
33827 {
33828 "ty": "sh",
33829 "d": 1,
33830 "ks": {
33831 "a": 0,
33832 "k": {
33833 "c": true,
33834 "v": [
33835 [-66, -10],
33836 [66, -10],
33837 [70, -6],
33838 [70, 6],
33839 [66, 10],
33840 [-66, 10],
33841 [-70, 6],
33842 [-70, -6],
33843 [-66, -10]
33844 ],
33845 "i": [
33846 [0, 0],
33847 [0, 0],
33848 [0, -2.209],
33849 [0, 0],
33850 [2.209, 0],
33851 [0, 0],
33852 [0, 2.209],
33853 [0, 0],
33854 [-2.209, 0]
33855 ],
33856 "o": [
33857 [0, 0],
33858 [2.209, 0],
33859 [0, 0],
33860 [0, 2.209],
33861 [0, 0],
33862 [-2.209, 0],
33863 [0, 0],
33864 [0, -2.209],
33865 [0, 0]
33866 ]
33867 }
33868 }
33869 },
33870 {
33871 "ty": "fl",
33872 "c": {
33873 "a": 0,
33874 "k": [
33875 1,
33876 1,
33877 1
33878 ],
33879 "ix": 2
33880 },
33881 "o": {
33882 "a": 0,
33883 "k": 100,
33884 "ix": 2
33885 },
33886 "r": 1,
33887 "bm": 0
33888 },
33889 {
33890 "ty": "tr",
33891 "p": {
33892 "a": 0,
33893 "k": [733.82, 145.5],
33894 "ix": 2
33895 },
33896 "o": {
33897 "a": 0,
33898 "k": 100,
33899 "ix": 2
33900 }
33901 }
33902 ]
33903 }],
33904 "ip": 0,
33905 "op": 877,
33906 "st": 0
33907 },
33908 {
33909 "ddd": 0,
33910 "ind": 118,
33911 "ty": 4,
33912 "sr": 1,
33913 "ks": { "o": {
33914 "a": 0,
33915 "k": 100,
33916 "ix": 2
33917 } },
33918 "ao": 0,
33919 "parent": 17,
33920 "shapes": [{
33921 "ty": "gr",
33922 "it": [
33923 {
33924 "ty": "sh",
33925 "d": 1,
33926 "ks": {
33927 "a": 0,
33928 "k": {
33929 "c": true,
33930 "v": [
33931 [-66, -10],
33932 [66, -10],
33933 [70, -6],
33934 [70, 6],
33935 [66, 10],
33936 [-66, 10],
33937 [-70, 6],
33938 [-70, -6],
33939 [-66, -10]
33940 ],
33941 "i": [
33942 [0, 0],
33943 [0, 0],
33944 [0, -2.209],
33945 [0, 0],
33946 [2.209, 0],
33947 [0, 0],
33948 [0, 2.209],
33949 [0, 0],
33950 [-2.209, 0]
33951 ],
33952 "o": [
33953 [0, 0],
33954 [2.209, 0],
33955 [0, 0],
33956 [0, 2.209],
33957 [0, 0],
33958 [-2.209, 0],
33959 [0, 0],
33960 [0, -2.209],
33961 [0, 0]
33962 ]
33963 }
33964 }
33965 },
33966 {
33967 "ty": "fl",
33968 "c": {
33969 "a": 0,
33970 "k": [
33971 1,
33972 1,
33973 1
33974 ],
33975 "ix": 2
33976 },
33977 "o": {
33978 "a": 0,
33979 "k": 100,
33980 "ix": 2
33981 },
33982 "r": 1,
33983 "bm": 0
33984 },
33985 {
33986 "ty": "tr",
33987 "p": {
33988 "a": 0,
33989 "k": [733.82, 145.5],
33990 "ix": 2
33991 },
33992 "o": {
33993 "a": 0,
33994 "k": 100,
33995 "ix": 2
33996 }
33997 }
33998 ]
33999 }],
34000 "ip": 0,
34001 "op": 877,
34002 "st": 0
34003 }
34004 ]
34005 },
34006 {
34007 "id": "P",
34008 "layers": [{
34009 "ddd": 0,
34010 "ind": 119,
34011 "ty": 4,
34012 "sr": 1,
34013 "ks": {
34014 "p": {
34015 "a": 0,
34016 "k": [12, 4],
34017 "ix": 2
34018 },
34019 "o": {
34020 "a": 0,
34021 "k": 100,
34022 "ix": 2
34023 }
34024 },
34025 "ao": 0,
34026 "shapes": [{
34027 "ty": "gr",
34028 "it": [
34029 {
34030 "ty": "gr",
34031 "it": [{
34032 "ty": "sh",
34033 "d": 1,
34034 "ks": {
34035 "a": 0,
34036 "k": {
34037 "c": true,
34038 "v": [
34039 [8.13, .33],
34040 [10.69, .33],
34041 [9.43, -.79],
34042 [8.13, .33]
34043 ],
34044 "i": [
34045 [0, 0],
34046 [0, 0],
34047 [.747, 0],
34048 [.135, -.738]
34049 ],
34050 "o": [
34051 [0, 0],
34052 [-.054, -.693],
34053 [-.702, 0],
34054 [0, 0]
34055 ]
34056 }
34057 }
34058 }, {
34059 "ty": "tr",
34060 "o": {
34061 "a": 0,
34062 "k": 100,
34063 "ix": 2
34064 }
34065 }]
34066 },
34067 {
34068 "ty": "gr",
34069 "it": [{
34070 "ty": "sh",
34071 "d": 1,
34072 "ks": {
34073 "a": 0,
34074 "k": {
34075 "c": true,
34076 "v": [
34077 [9.51, 3.19],
34078 [7.24, .82],
34079 [9.43, -1.49],
34080 [11.57, .66],
34081 [11.55, 1.01],
34082 [8.1, 1.01],
34083 [9.51, 2.44],
34084 [10.74, 1.64],
34085 [11.61, 1.64],
34086 [9.51, 3.19]
34087 ],
34088 "i": [
34089 [0, 0],
34090 [0, 1.26],
34091 [-1.395, 0],
34092 [0, -1.152],
34093 [.009, -.081],
34094 [0, 0],
34095 [-.783, 0],
34096 [-.126, .513],
34097 [0, 0],
34098 [1.125, 0]
34099 ],
34100 "o": [
34101 [-1.404, 0],
34102 [0, -1.269],
34103 [1.395, 0],
34104 [0, .117],
34105 [0, 0],
34106 [.072, .846],
34107 [.666, 0],
34108 [0, 0],
34109 [-.153, .936],
34110 [0, 0]
34111 ]
34112 }
34113 }
34114 }, {
34115 "ty": "tr",
34116 "o": {
34117 "a": 0,
34118 "k": 100,
34119 "ix": 2
34120 }
34121 }]
34122 },
34123 {
34124 "ty": "gr",
34125 "it": [{
34126 "ty": "sh",
34127 "d": 1,
34128 "ks": {
34129 "a": 0,
34130 "k": {
34131 "c": true,
34132 "v": [
34133 [-.41, 3.11],
34134 [-.41, -1.42],
34135 [.46, -1.42],
34136 [.46, -.62],
34137 [1.82, -1.49],
34138 [3.27, -.56],
34139 [4.74, -1.49],
34140 [6.34, .23],
34141 [6.34, 3.11],
34142 [5.46, 3.11],
34143 [5.46, .48],
34144 [4.5, -.73],
34145 [3.39, .64],
34146 [3.39, 3.11],
34147 [2.52, 3.11],
34148 [2.52, .48],
34149 [1.57, -.73],
34150 [.46, .64],
34151 [.46, 3.11],
34152 [-.41, 3.11]
34153 ],
34154 "i": [
34155 [0, 0],
34156 [0, 0],
34157 [0, 0],
34158 [0, 0],
34159 [-.675, 0],
34160 [-.18, -.594],
34161 [-.657, 0],
34162 [0, -1.053],
34163 [0, 0],
34164 [0, 0],
34165 [0, 0],
34166 [.603, 0],
34167 [0, -.72],
34168 [0, 0],
34169 [0, 0],
34170 [0, 0],
34171 [.594, 0],
34172 [0, -.72],
34173 [0, 0],
34174 [0, 0]
34175 ],
34176 "o": [
34177 [0, 0],
34178 [0, 0],
34179 [0, 0],
34180 [.189, -.513],
34181 [.693, 0],
34182 [.189, -.54],
34183 [.981, 0],
34184 [0, 0],
34185 [0, 0],
34186 [0, 0],
34187 [0, -.72],
34188 [-.693, 0],
34189 [0, 0],
34190 [0, 0],
34191 [0, 0],
34192 [0, -.72],
34193 [-.693, 0],
34194 [0, 0],
34195 [0, 0],
34196 [0, 0]
34197 ]
34198 }
34199 }
34200 }, {
34201 "ty": "tr",
34202 "o": {
34203 "a": 0,
34204 "k": 100,
34205 "ix": 2
34206 }
34207 }]
34208 },
34209 {
34210 "ty": "gr",
34211 "it": [{
34212 "ty": "sh",
34213 "d": 1,
34214 "ks": {
34215 "a": 0,
34216 "k": {
34217 "c": true,
34218 "v": [
34219 [-3.8, 2.49],
34220 [-2.49, 1.13],
34221 [-2.49, 1.04],
34222 [-3.66, 1.04],
34223 [-4.64, 1.8],
34224 [-3.8, 2.49]
34225 ],
34226 "i": [
34227 [0, 0],
34228 [0, .837],
34229 [0, 0],
34230 [0, 0],
34231 [0, -.477],
34232 [-.513, 0]
34233 ],
34234 "o": [
34235 [.819, 0],
34236 [0, 0],
34237 [0, 0],
34238 [-.594, 0],
34239 [0, .414],
34240 [0, 0]
34241 ]
34242 }
34243 }
34244 }, {
34245 "ty": "tr",
34246 "o": {
34247 "a": 0,
34248 "k": 100,
34249 "ix": 2
34250 }
34251 }]
34252 },
34253 {
34254 "ty": "gr",
34255 "it": [{
34256 "ty": "sh",
34257 "d": 1,
34258 "ks": {
34259 "a": 0,
34260 "k": {
34261 "c": true,
34262 "v": [
34263 [-3.97, 3.19],
34264 [-5.52, 1.82],
34265 [-3.75, .37],
34266 [-2.8, .37],
34267 [-2.49, .14],
34268 [-3.59, -.79],
34269 [-4.71, .06],
34270 [-5.52, .06],
34271 [-3.56, -1.49],
34272 [-1.63, .19],
34273 [-1.63, 3.11],
34274 [-2.49, 3.11],
34275 [-2.49, 2.37],
34276 [-3.97, 3.19]
34277 ],
34278 "i": [
34279 [0, 0],
34280 [0, .81],
34281 [-1.062, 0],
34282 [0, 0],
34283 [0, .162],
34284 [.693, 0],
34285 [.027, -.459],
34286 [0, 0],
34287 [-1.08, 0],
34288 [0, -1.008],
34289 [0, 0],
34290 [0, 0],
34291 [0, 0],
34292 [.684, 0]
34293 ],
34294 "o": [
34295 [-.927, 0],
34296 [0, -.873],
34297 [0, 0],
34298 [.207, 0],
34299 [0, -.549],
34300 [-.639, 0],
34301 [0, 0],
34302 [.072, -.891],
34303 [1.17, 0],
34304 [0, 0],
34305 [0, 0],
34306 [0, 0],
34307 [-.225, .495],
34308 [0, 0]
34309 ]
34310 }
34311 }
34312 }, {
34313 "ty": "tr",
34314 "o": {
34315 "a": 0,
34316 "k": 100,
34317 "ix": 2
34318 }
34319 }]
34320 },
34321 {
34322 "ty": "gr",
34323 "it": [{
34324 "ty": "sh",
34325 "d": 1,
34326 "ks": {
34327 "a": 0,
34328 "k": {
34329 "c": true,
34330 "v": [
34331 [-11.61, 3.11],
34332 [-11.61, -3.19],
34333 [-10.56, -3.19],
34334 [-7.53, 1.67],
34335 [-7.53, -3.19],
34336 [-6.6, -3.19],
34337 [-6.6, 3.11],
34338 [-7.63, 3.11],
34339 [-10.67, -1.73],
34340 [-10.67, 3.11],
34341 [-11.61, 3.11]
34342 ],
34343 "i": [
34344 [0, 0],
34345 [0, 0],
34346 [0, 0],
34347 [0, 0],
34348 [0, 0],
34349 [0, 0],
34350 [0, 0],
34351 [0, 0],
34352 [0, 0],
34353 [0, 0],
34354 [0, 0]
34355 ],
34356 "o": [
34357 [0, 0],
34358 [0, 0],
34359 [0, 0],
34360 [0, 0],
34361 [0, 0],
34362 [0, 0],
34363 [0, 0],
34364 [0, 0],
34365 [0, 0],
34366 [0, 0],
34367 [0, 0]
34368 ]
34369 }
34370 }
34371 }, {
34372 "ty": "tr",
34373 "o": {
34374 "a": 0,
34375 "k": 100,
34376 "ix": 2
34377 }
34378 }]
34379 },
34380 {
34381 "ty": "fl",
34382 "c": {
34383 "a": 0,
34384 "k": [
34385 .13,
34386 .13,
34387 .13
34388 ],
34389 "ix": 2
34390 },
34391 "o": {
34392 "a": 0,
34393 "k": 100,
34394 "ix": 2
34395 },
34396 "r": 1,
34397 "bm": 0
34398 },
34399 {
34400 "ty": "tr",
34401 "o": {
34402 "a": 0,
34403 "k": 100,
34404 "ix": 2
34405 }
34406 }
34407 ]
34408 }],
34409 "ip": 0,
34410 "op": 877,
34411 "st": 0
34412 }]
34413 },
34414 {
34415 "id": "a",
34416 "u": "",
34417 "p": "data:image/png;base64,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",
34418 "w": 896,
34419 "h": 448,
34420 "e": 1
34421 },
34422 {
34423 "id": "b",
34424 "layers": [
34425 {
34426 "ddd": 0,
34427 "refId": "Q",
34428 "w": 51,
34429 "h": 51,
34430 "ind": 120,
34431 "ty": 0,
34432 "sr": 1,
34433 "ks": {
34434 "p": {
34435 "a": 0,
34436 "k": [323, 21],
34437 "ix": 2
34438 },
34439 "o": {
34440 "a": 1,
34441 "k": [{
34442 "t": 0,
34443 "s": [0],
34444 "h": 1
34445 }, {
34446 "t": 16,
34447 "s": [100],
34448 "h": 1
34449 }],
34450 "ix": 2
34451 }
34452 },
34453 "ao": 0,
34454 "ip": 0,
34455 "op": 877,
34456 "st": 0
34457 },
34458 {
34459 "ddd": 0,
34460 "ind": 121,
34461 "ty": 4,
34462 "sr": 1,
34463 "ks": { "o": {
34464 "a": 1,
34465 "k": [{
34466 "t": 0,
34467 "s": [0],
34468 "h": 1
34469 }, {
34470 "t": 16,
34471 "s": [100],
34472 "h": 1
34473 }],
34474 "ix": 2
34475 } },
34476 "ao": 0,
34477 "shapes": [{
34478 "ty": "gr",
34479 "it": [{
34480 "ty": "gr",
34481 "it": [{
34482 "ty": "gr",
34483 "it": [
34484 {
34485 "ty": "gr",
34486 "it": [{
34487 "ty": "sh",
34488 "d": 1,
34489 "ks": {
34490 "a": 0,
34491 "k": {
34492 "c": true,
34493 "v": [
34494 [-542.66, -39.25],
34495 [-542.66, -60.74],
34496 [-538.52, -60.74],
34497 [-538.52, -56.95],
34498 [-532.08, -61.08],
34499 [-525.21, -56.65],
34500 [-518.22, -61.08],
34501 [-510.67, -52.9],
34502 [-510.67, -39.25],
34503 [-514.81, -39.25],
34504 [-514.81, -51.74],
34505 [-519.37, -57.46],
34506 [-524.62, -50.98],
34507 [-524.62, -39.25],
34508 [-528.75, -39.25],
34509 [-528.75, -51.74],
34510 [-533.27, -57.46],
34511 [-538.52, -50.98],
34512 [-538.52, -39.25],
34513 [-542.66, -39.25]
34514 ],
34515 "i": [
34516 [0, 0],
34517 [0, 0],
34518 [0, 0],
34519 [0, 0],
34520 [-3.199, 0],
34521 [-.853, -2.815],
34522 [-3.113, 0],
34523 [0, -4.99],
34524 [0, 0],
34525 [0, 0],
34526 [0, 0],
34527 [2.857, 0],
34528 [0, -3.411],
34529 [0, 0],
34530 [0, 0],
34531 [0, 0],
34532 [2.815, 0],
34533 [0, -3.411],
34534 [0, 0],
34535 [0, 0]
34536 ],
34537 "o": [
34538 [0, 0],
34539 [0, 0],
34540 [0, 0],
34541 [.896, -2.431],
34542 [3.284, 0],
34543 [.896, -2.558],
34544 [4.649, 0],
34545 [0, 0],
34546 [0, 0],
34547 [0, 0],
34548 [0, -3.412],
34549 [-3.284, 0],
34550 [0, 0],
34551 [0, 0],
34552 [0, 0],
34553 [0, -3.412],
34554 [-3.284, 0],
34555 [0, 0],
34556 [0, 0],
34557 [0, 0]
34558 ]
34559 }
34560 }
34561 }, {
34562 "ty": "tr",
34563 "o": {
34564 "a": 0,
34565 "k": 100,
34566 "ix": 2
34567 }
34568 }]
34569 },
34570 {
34571 "ty": "gr",
34572 "it": [{
34573 "ty": "sh",
34574 "d": 1,
34575 "ks": {
34576 "a": 0,
34577 "k": {
34578 "c": true,
34579 "v": [
34580 [-558.69, -39.25],
34581 [-558.69, -60.74],
34582 [-554.55, -60.74],
34583 [-554.55, -56.6],
34584 [-548.84, -60.74],
34585 [-546.24, -60.74],
34586 [-546.24, -57.16],
34587 [-549.35, -57.16],
34588 [-554.55, -48.97],
34589 [-554.55, -39.25],
34590 [-558.69, -39.25]
34591 ],
34592 "i": [
34593 [0, 0],
34594 [0, 0],
34595 [0, 0],
34596 [0, 0],
34597 [-3.028, 0],
34598 [0, 0],
34599 [0, 0],
34600 [0, 0],
34601 [0, -4.691],
34602 [0, 0],
34603 [0, 0]
34604 ],
34605 "o": [
34606 [0, 0],
34607 [0, 0],
34608 [0, 0],
34609 [.981, -2.857],
34610 [0, 0],
34611 [0, 0],
34612 [0, 0],
34613 [-3.923, 0],
34614 [0, 0],
34615 [0, 0],
34616 [0, 0]
34617 ]
34618 }
34619 }
34620 }, {
34621 "ty": "tr",
34622 "o": {
34623 "a": 0,
34624 "k": 100,
34625 "ix": 2
34626 }
34627 }]
34628 },
34629 {
34630 "ty": "gr",
34631 "it": [{
34632 "ty": "sh",
34633 "d": 1,
34634 "ks": {
34635 "a": 0,
34636 "k": {
34637 "c": true,
34638 "v": [
34639 [-574.33, -42.53],
34640 [-567.51, -49.99],
34641 [-574.33, -57.46],
34642 [-581.2, -49.99],
34643 [-574.33, -42.53]
34644 ],
34645 "i": [
34646 [0, 0],
34647 [0, 4.393],
34648 [4.051, 0],
34649 [0, -4.392],
34650 [-4.094, 0]
34651 ],
34652 "o": [
34653 [4.051, 0],
34654 [0, -4.392],
34655 [-4.094, 0],
34656 [0, 4.393],
34657 [0, 0]
34658 ]
34659 }
34660 }
34661 }, {
34662 "ty": "tr",
34663 "o": {
34664 "a": 0,
34665 "k": 100,
34666 "ix": 2
34667 }
34668 }]
34669 },
34670 {
34671 "ty": "gr",
34672 "it": [{
34673 "ty": "sh",
34674 "d": 1,
34675 "ks": {
34676 "a": 0,
34677 "k": {
34678 "c": true,
34679 "v": [
34680 [-574.33, -38.91],
34681 [-585.42, -49.99],
34682 [-574.33, -61.08],
34683 [-563.29, -49.99],
34684 [-574.33, -38.91]
34685 ],
34686 "i": [
34687 [0, 0],
34688 [0, 6.44],
34689 [-6.44, 0],
34690 [0, -6.439],
34691 [6.44, 0]
34692 ],
34693 "o": [
34694 [-6.44, 0],
34695 [0, -6.439],
34696 [6.44, 0],
34697 [0, 6.44],
34698 [0, 0]
34699 ]
34700 }
34701 }
34702 }, {
34703 "ty": "tr",
34704 "o": {
34705 "a": 0,
34706 "k": 100,
34707 "ix": 2
34708 }
34709 }]
34710 },
34711 {
34712 "ty": "gr",
34713 "it": [{
34714 "ty": "sh",
34715 "d": 1,
34716 "ks": {
34717 "a": 0,
34718 "k": {
34719 "c": true,
34720 "v": [
34721 [-605.41, -39.25],
34722 [-605.41, -69.1],
34723 [-586.26, -69.1],
34724 [-586.26, -65.18],
34725 [-600.97, -65.18],
34726 [-600.97, -56.26],
34727 [-589.08, -56.26],
34728 [-589.08, -52.34],
34729 [-600.97, -52.34],
34730 [-600.97, -39.25],
34731 [-605.41, -39.25]
34732 ],
34733 "i": [
34734 [0, 0],
34735 [0, 0],
34736 [0, 0],
34737 [0, 0],
34738 [0, 0],
34739 [0, 0],
34740 [0, 0],
34741 [0, 0],
34742 [0, 0],
34743 [0, 0],
34744 [0, 0]
34745 ],
34746 "o": [
34747 [0, 0],
34748 [0, 0],
34749 [0, 0],
34750 [0, 0],
34751 [0, 0],
34752 [0, 0],
34753 [0, 0],
34754 [0, 0],
34755 [0, 0],
34756 [0, 0],
34757 [0, 0]
34758 ]
34759 }
34760 }
34761 }, {
34762 "ty": "tr",
34763 "o": {
34764 "a": 0,
34765 "k": 100,
34766 "ix": 2
34767 }
34768 }]
34769 },
34770 {
34771 "ty": "fl",
34772 "c": {
34773 "a": 0,
34774 "k": [
34775 .13,
34776 .13,
34777 .13
34778 ],
34779 "ix": 2
34780 },
34781 "o": {
34782 "a": 0,
34783 "k": 100,
34784 "ix": 2
34785 },
34786 "r": 1,
34787 "bm": 0
34788 },
34789 {
34790 "ty": "tr",
34791 "o": {
34792 "a": 0,
34793 "k": 100,
34794 "ix": 2
34795 }
34796 }
34797 ]
34798 }, {
34799 "ty": "tr",
34800 "o": {
34801 "a": 0,
34802 "k": 100,
34803 "ix": 2
34804 }
34805 }]
34806 }, {
34807 "ty": "tr",
34808 "p": {
34809 "a": 0,
34810 "k": [197.35, 199.91],
34811 "ix": 2
34812 },
34813 "a": {
34814 "a": 0,
34815 "k": [-558.04, -54],
34816 "ix": 2
34817 },
34818 "o": {
34819 "a": 0,
34820 "k": 100,
34821 "ix": 2
34822 }
34823 }]
34824 }],
34825 "ip": 0,
34826 "op": 877,
34827 "st": 0
34828 },
34829 {
34830 "ddd": 0,
34831 "ind": 122,
34832 "ty": 4,
34833 "sr": 1,
34834 "ks": { "o": {
34835 "a": 1,
34836 "k": [{
34837 "t": 0,
34838 "s": [0],
34839 "h": 1
34840 }, {
34841 "t": 16,
34842 "s": [100],
34843 "h": 1
34844 }],
34845 "ix": 2
34846 } },
34847 "ao": 0,
34848 "shapes": [{
34849 "ty": "gr",
34850 "it": [{
34851 "ty": "gr",
34852 "it": [
34853 {
34854 "ty": "sh",
34855 "d": 1,
34856 "ks": {
34857 "a": 0,
34858 "k": {
34859 "c": true,
34860 "v": [
34861 [-37.02, -7.43],
34862 [37.02, -7.43],
34863 [37.66, -6.79],
34864 [37.66, 6.79],
34865 [37.02, 7.43],
34866 [-37.02, 7.43],
34867 [-37.66, 6.79],
34868 [-37.66, -6.79],
34869 [-37.02, -7.43]
34870 ],
34871 "i": [
34872 [0, 0],
34873 [0, 0],
34874 [0, -.356],
34875 [0, 0],
34876 [.356, 0],
34877 [0, 0],
34878 [0, .356],
34879 [0, 0],
34880 [-.356, 0]
34881 ],
34882 "o": [
34883 [0, 0],
34884 [.356, 0],
34885 [0, 0],
34886 [0, .356],
34887 [0, 0],
34888 [-.356, 0],
34889 [0, 0],
34890 [0, -.356],
34891 [0, 0]
34892 ]
34893 }
34894 }
34895 },
34896 {
34897 "ty": "st",
34898 "c": {
34899 "a": 0,
34900 "k": [
34901 .13,
34902 .13,
34903 .13
34904 ],
34905 "ix": 2
34906 },
34907 "o": {
34908 "a": 0,
34909 "k": 100,
34910 "ix": 2
34911 },
34912 "w": {
34913 "a": 0,
34914 "k": 3,
34915 "ix": 2
34916 },
34917 "lc": 1,
34918 "lj": 1,
34919 "ml": 4
34920 },
34921 {
34922 "ty": "tr",
34923 "o": {
34924 "a": 0,
34925 "k": 100,
34926 "ix": 2
34927 }
34928 }
34929 ]
34930 }, {
34931 "ty": "tr",
34932 "p": {
34933 "a": 0,
34934 "k": [197.48, 104.52],
34935 "ix": 2
34936 },
34937 "o": {
34938 "a": 0,
34939 "k": 100,
34940 "ix": 2
34941 }
34942 }]
34943 }],
34944 "ip": 0,
34945 "op": 877,
34946 "st": 0
34947 },
34948 {
34949 "ddd": 0,
34950 "ind": 123,
34951 "ty": 4,
34952 "sr": 1,
34953 "ks": { "o": {
34954 "a": 1,
34955 "k": [{
34956 "t": 0,
34957 "s": [0],
34958 "h": 1
34959 }, {
34960 "t": 16,
34961 "s": [100],
34962 "h": 1
34963 }],
34964 "ix": 2
34965 } },
34966 "ao": 0,
34967 "shapes": [{
34968 "ty": "gr",
34969 "it": [{
34970 "ty": "gr",
34971 "it": [
34972 {
34973 "ty": "sh",
34974 "d": 1,
34975 "ks": {
34976 "a": 0,
34977 "k": {
34978 "c": true,
34979 "v": [
34980 [-37.02, -7.43],
34981 [37.02, -7.43],
34982 [37.66, -6.79],
34983 [37.66, 6.79],
34984 [37.02, 7.43],
34985 [-37.02, 7.43],
34986 [-37.66, 6.79],
34987 [-37.66, -6.79],
34988 [-37.02, -7.43]
34989 ],
34990 "i": [
34991 [0, 0],
34992 [0, 0],
34993 [0, -.356],
34994 [0, 0],
34995 [.356, 0],
34996 [0, 0],
34997 [0, .356],
34998 [0, 0],
34999 [-.356, 0]
35000 ],
35001 "o": [
35002 [0, 0],
35003 [.356, 0],
35004 [0, 0],
35005 [0, .356],
35006 [0, 0],
35007 [-.356, 0],
35008 [0, 0],
35009 [0, -.356],
35010 [0, 0]
35011 ]
35012 }
35013 }
35014 },
35015 {
35016 "ty": "st",
35017 "c": {
35018 "a": 0,
35019 "k": [
35020 .13,
35021 .13,
35022 .13
35023 ],
35024 "ix": 2
35025 },
35026 "o": {
35027 "a": 0,
35028 "k": 100,
35029 "ix": 2
35030 },
35031 "w": {
35032 "a": 0,
35033 "k": 3,
35034 "ix": 2
35035 },
35036 "lc": 1,
35037 "lj": 1,
35038 "ml": 4
35039 },
35040 {
35041 "ty": "tr",
35042 "o": {
35043 "a": 0,
35044 "k": 100,
35045 "ix": 2
35046 }
35047 }
35048 ]
35049 }, {
35050 "ty": "tr",
35051 "p": {
35052 "a": 0,
35053 "k": [197.47, 76.91],
35054 "ix": 2
35055 },
35056 "o": {
35057 "a": 0,
35058 "k": 100,
35059 "ix": 2
35060 }
35061 }]
35062 }],
35063 "ip": 0,
35064 "op": 877,
35065 "st": 0
35066 },
35067 {
35068 "ddd": 0,
35069 "ind": 124,
35070 "ty": 4,
35071 "sr": 1,
35072 "ks": { "o": {
35073 "a": 1,
35074 "k": [{
35075 "t": 0,
35076 "s": [0],
35077 "h": 1
35078 }, {
35079 "t": 16,
35080 "s": [100],
35081 "h": 1
35082 }],
35083 "ix": 2
35084 } },
35085 "ao": 0,
35086 "shapes": [{
35087 "ty": "gr",
35088 "it": [{
35089 "ty": "gr",
35090 "it": [
35091 {
35092 "ty": "rc",
35093 "d": 1,
35094 "s": {
35095 "a": 0,
35096 "k": [395, 276],
35097 "ix": 2
35098 },
35099 "p": {
35100 "a": 0,
35101 "k": [0, 0],
35102 "ix": 2
35103 },
35104 "r": {
35105 "a": 0,
35106 "k": 15,
35107 "ix": 2
35108 }
35109 },
35110 {
35111 "ty": "st",
35112 "c": {
35113 "a": 0,
35114 "k": [
35115 1,
35116 1,
35117 1
35118 ],
35119 "ix": 2
35120 },
35121 "o": {
35122 "a": 0,
35123 "k": 100,
35124 "ix": 2
35125 },
35126 "w": {
35127 "a": 0,
35128 "k": 4,
35129 "ix": 2
35130 },
35131 "lc": 1,
35132 "lj": 1,
35133 "ml": 4
35134 },
35135 {
35136 "ty": "fl",
35137 "c": {
35138 "a": 0,
35139 "k": [
35140 1,
35141 1,
35142 1
35143 ],
35144 "ix": 2
35145 },
35146 "o": {
35147 "a": 0,
35148 "k": 100,
35149 "ix": 2
35150 },
35151 "r": 1,
35152 "bm": 0
35153 },
35154 {
35155 "ty": "tr",
35156 "o": {
35157 "a": 0,
35158 "k": 100,
35159 "ix": 2
35160 }
35161 }
35162 ]
35163 }, {
35164 "ty": "tr",
35165 "p": {
35166 "a": 0,
35167 "k": [197.5, 138],
35168 "ix": 2
35169 },
35170 "o": {
35171 "a": 0,
35172 "k": 100,
35173 "ix": 2
35174 }
35175 }]
35176 }],
35177 "ip": 0,
35178 "op": 877,
35179 "st": 0
35180 }
35181 ]
35182 },
35183 {
35184 "id": "Q",
35185 "layers": [{
35186 "ddd": 0,
35187 "ind": 125,
35188 "ty": 3,
35189 "sr": 1,
35190 "ks": {
35191 "p": {
35192 "a": 0,
35193 "k": [25.37, 25.32],
35194 "ix": 2
35195 },
35196 "a": {
35197 "a": 0,
35198 "k": [-407.02, -207.6],
35199 "ix": 2
35200 },
35201 "o": {
35202 "a": 0,
35203 "k": 100,
35204 "ix": 2
35205 }
35206 },
35207 "ao": 0,
35208 "ip": 0,
35209 "op": 877,
35210 "st": 0
35211 }, {
35212 "ddd": 0,
35213 "refId": "R",
35214 "w": 50,
35215 "h": 51,
35216 "ind": 120,
35217 "ty": 0,
35218 "sr": 1,
35219 "ks": {
35220 "p": {
35221 "a": 0,
35222 "k": [-432, -233],
35223 "ix": 2
35224 },
35225 "o": {
35226 "a": 0,
35227 "k": 50,
35228 "ix": 2
35229 }
35230 },
35231 "ao": 0,
35232 "ip": 0,
35233 "op": 877,
35234 "st": 0,
35235 "parent": 125
35236 }]
35237 },
35238 {
35239 "id": "R",
35240 "layers": [{
35241 "ddd": 0,
35242 "ind": 126,
35243 "ty": 4,
35244 "sr": 1,
35245 "ks": {
35246 "p": {
35247 "a": 0,
35248 "k": [432, 233],
35249 "ix": 2
35250 },
35251 "o": {
35252 "a": 0,
35253 "k": 100,
35254 "ix": 2
35255 }
35256 },
35257 "ao": 0,
35258 "shapes": [{
35259 "ty": "gr",
35260 "it": [{
35261 "ty": "gr",
35262 "it": [
35263 {
35264 "ty": "gr",
35265 "it": [{
35266 "ty": "sh",
35267 "d": 1,
35268 "ks": {
35269 "a": 0,
35270 "k": {
35271 "c": true,
35272 "v": [
35273 [-422.49, -223.06],
35274 [-413.21, -201.41],
35275 [-391.55, -192.13],
35276 [-400.83, -213.78],
35277 [-422.49, -223.06]
35278 ],
35279 "i": [
35280 [0, 0],
35281 [-8.542, -8.529],
35282 [-3.418, 3.416],
35283 [8.542, 8.529],
35284 [3.418, -3.416]
35285 ],
35286 "o": [
35287 [-3.416, 3.416],
35288 [8.54, 8.54],
35289 [3.414, -3.416],
35290 [-8.54, -8.54],
35291 [0, 0]
35292 ]
35293 }
35294 }
35295 }, {
35296 "ty": "tr",
35297 "o": {
35298 "a": 0,
35299 "k": 100,
35300 "ix": 2
35301 }
35302 }]
35303 },
35304 {
35305 "ty": "gr",
35306 "it": [{
35307 "ty": "sh",
35308 "d": 1,
35309 "ks": {
35310 "a": 0,
35311 "k": {
35312 "c": true,
35313 "v": [
35314 [-391.56, -223.06],
35315 [-413.21, -213.78],
35316 [-422.49, -192.13],
35317 [-400.83, -201.41],
35318 [-391.56, -223.06]
35319 ],
35320 "i": [
35321 [0, 0],
35322 [8.53, -8.543],
35323 [-3.416, -3.418],
35324 [-8.529, 8.543],
35325 [3.416, 3.418]
35326 ],
35327 "o": [
35328 [-3.416, -3.416],
35329 [-8.54, 8.54],
35330 [3.417, 3.414],
35331 [8.54, -8.54],
35332 [0, 0]
35333 ]
35334 }
35335 }
35336 }, {
35337 "ty": "tr",
35338 "o": {
35339 "a": 0,
35340 "k": 100,
35341 "ix": 2
35342 }
35343 }]
35344 },
35345 {
35346 "ty": "gr",
35347 "it": [{
35348 "ty": "sh",
35349 "d": 1,
35350 "ks": {
35351 "a": 0,
35352 "k": {
35353 "c": false,
35354 "v": [[-407.02, -207.6], [-407.02, -207.57]],
35355 "i": [[0, 0], [0, 0]],
35356 "o": [[0, 0], [0, 0]]
35357 }
35358 }
35359 }, {
35360 "ty": "tr",
35361 "o": {
35362 "a": 0,
35363 "k": 100,
35364 "ix": 2
35365 }
35366 }]
35367 },
35368 {
35369 "ty": "st",
35370 "c": {
35371 "a": 0,
35372 "k": [
35373 .13,
35374 .13,
35375 .13
35376 ],
35377 "ix": 2
35378 },
35379 "o": {
35380 "a": 0,
35381 "k": 100,
35382 "ix": 2
35383 },
35384 "w": {
35385 "a": 0,
35386 "k": 3,
35387 "ix": 2
35388 },
35389 "lc": 2,
35390 "lj": 2,
35391 "ml": 4
35392 },
35393 {
35394 "ty": "tr",
35395 "o": {
35396 "a": 0,
35397 "k": 100,
35398 "ix": 2
35399 }
35400 }
35401 ]
35402 }, {
35403 "ty": "tr",
35404 "o": {
35405 "a": 0,
35406 "k": 100,
35407 "ix": 2
35408 }
35409 }]
35410 }],
35411 "ip": 0,
35412 "op": 877,
35413 "st": 0
35414 }]
35415 },
35416 {
35417 "id": "c",
35418 "layers": [
35419 {
35420 "ddd": 0,
35421 "ind": 127,
35422 "ty": 4,
35423 "sr": 1,
35424 "ks": { "o": {
35425 "a": 1,
35426 "k": [{
35427 "t": 0,
35428 "s": [0],
35429 "h": 1
35430 }, {
35431 "t": 5,
35432 "s": [100],
35433 "h": 1
35434 }],
35435 "ix": 2
35436 } },
35437 "ao": 0,
35438 "shapes": [{
35439 "ty": "gr",
35440 "it": [{
35441 "ty": "gr",
35442 "it": [
35443 {
35444 "ty": "sh",
35445 "d": 1,
35446 "ks": {
35447 "a": 0,
35448 "k": {
35449 "c": false,
35450 "v": [[0, -30.62], [0, 30.62]],
35451 "i": [[0, 0], [0, 0]],
35452 "o": [[0, 0], [0, 0]]
35453 }
35454 }
35455 },
35456 {
35457 "ty": "st",
35458 "c": {
35459 "a": 0,
35460 "k": [
35461 .13,
35462 .13,
35463 .13
35464 ],
35465 "ix": 2
35466 },
35467 "o": {
35468 "a": 0,
35469 "k": 100,
35470 "ix": 2
35471 },
35472 "w": {
35473 "a": 0,
35474 "k": 4,
35475 "ix": 2
35476 },
35477 "lc": 2,
35478 "lj": 2,
35479 "ml": 4
35480 },
35481 {
35482 "ty": "tr",
35483 "o": {
35484 "a": 0,
35485 "k": 100,
35486 "ix": 2
35487 }
35488 }
35489 ]
35490 }, {
35491 "ty": "tr",
35492 "p": {
35493 "a": 0,
35494 "k": [197.53, 101.33],
35495 "ix": 2
35496 },
35497 "o": {
35498 "a": 0,
35499 "k": 100,
35500 "ix": 2
35501 }
35502 }]
35503 }],
35504 "ip": 0,
35505 "op": 877,
35506 "st": 0
35507 },
35508 {
35509 "ddd": 0,
35510 "ind": 128,
35511 "ty": 4,
35512 "sr": 1,
35513 "ks": { "o": {
35514 "a": 1,
35515 "k": [{
35516 "t": 0,
35517 "s": [0],
35518 "h": 1
35519 }, {
35520 "t": 5,
35521 "s": [100],
35522 "h": 1
35523 }],
35524 "ix": 2
35525 } },
35526 "ao": 0,
35527 "shapes": [{
35528 "ty": "gr",
35529 "it": [{
35530 "ty": "gr",
35531 "it": [
35532 {
35533 "ty": "sh",
35534 "d": 1,
35535 "ks": {
35536 "a": 0,
35537 "k": {
35538 "c": false,
35539 "v": [[-22.96, 0], [22.96, 0]],
35540 "i": [[0, 0], [0, 0]],
35541 "o": [[0, 0], [0, 0]]
35542 }
35543 }
35544 },
35545 {
35546 "ty": "st",
35547 "c": {
35548 "a": 0,
35549 "k": [
35550 .13,
35551 .13,
35552 .13
35553 ],
35554 "ix": 2
35555 },
35556 "o": {
35557 "a": 0,
35558 "k": 100,
35559 "ix": 2
35560 },
35561 "w": {
35562 "a": 0,
35563 "k": 4,
35564 "ix": 2
35565 },
35566 "lc": 2,
35567 "lj": 2,
35568 "ml": 4
35569 },
35570 {
35571 "ty": "tr",
35572 "o": {
35573 "a": 0,
35574 "k": 100,
35575 "ix": 2
35576 }
35577 }
35578 ]
35579 }, {
35580 "ty": "tr",
35581 "p": {
35582 "a": 0,
35583 "k": [197.54, 70.72],
35584 "ix": 2
35585 },
35586 "o": {
35587 "a": 0,
35588 "k": 100,
35589 "ix": 2
35590 }
35591 }]
35592 }],
35593 "ip": 0,
35594 "op": 877,
35595 "st": 0
35596 },
35597 {
35598 "ddd": 0,
35599 "refId": "S",
35600 "w": 51,
35601 "h": 51,
35602 "ind": 129,
35603 "ty": 0,
35604 "sr": 1,
35605 "ks": {
35606 "p": {
35607 "a": 0,
35608 "k": [323, 21],
35609 "ix": 2
35610 },
35611 "o": {
35612 "a": 1,
35613 "k": [{
35614 "t": 0,
35615 "s": [0],
35616 "h": 1
35617 }, {
35618 "t": 5,
35619 "s": [100],
35620 "h": 1
35621 }],
35622 "ix": 2
35623 }
35624 },
35625 "ao": 0,
35626 "ip": 0,
35627 "op": 877,
35628 "st": 0
35629 },
35630 {
35631 "ddd": 0,
35632 "ind": 130,
35633 "ty": 4,
35634 "sr": 1,
35635 "ks": { "o": {
35636 "a": 1,
35637 "k": [{
35638 "t": 0,
35639 "s": [0],
35640 "h": 1
35641 }, {
35642 "t": 5,
35643 "s": [100],
35644 "h": 1
35645 }],
35646 "ix": 2
35647 } },
35648 "ao": 0,
35649 "shapes": [{
35650 "ty": "gr",
35651 "it": [{
35652 "ty": "gr",
35653 "it": [{
35654 "ty": "gr",
35655 "it": [
35656 {
35657 "ty": "gr",
35658 "it": [{
35659 "ty": "sh",
35660 "d": 1,
35661 "ks": {
35662 "a": 0,
35663 "k": {
35664 "c": true,
35665 "v": [
35666 [-103.84, -39.25],
35667 [-103.84, -69.74],
35668 [-99.71, -69.74],
35669 [-99.71, -39.25],
35670 [-103.84, -39.25]
35671 ],
35672 "i": [
35673 [0, 0],
35674 [0, 0],
35675 [0, 0],
35676 [0, 0],
35677 [0, 0]
35678 ],
35679 "o": [
35680 [0, 0],
35681 [0, 0],
35682 [0, 0],
35683 [0, 0],
35684 [0, 0]
35685 ]
35686 }
35687 }
35688 }, {
35689 "ty": "tr",
35690 "o": {
35691 "a": 0,
35692 "k": 100,
35693 "ix": 2
35694 }
35695 }]
35696 },
35697 {
35698 "ty": "gr",
35699 "it": [{
35700 "ty": "sh",
35701 "d": 1,
35702 "ks": {
35703 "a": 0,
35704 "k": {
35705 "c": true,
35706 "v": [
35707 [-124.98, -52.43],
35708 [-112.82, -52.43],
35709 [-118.79, -57.76],
35710 [-124.98, -52.43]
35711 ],
35712 "i": [
35713 [0, 0],
35714 [0, 0],
35715 [3.541, 0],
35716 [.639, -3.497]
35717 ],
35718 "o": [
35719 [0, 0],
35720 [-.254, -3.284],
35721 [-3.326, 0],
35722 [0, 0]
35723 ]
35724 }
35725 }
35726 }, {
35727 "ty": "tr",
35728 "o": {
35729 "a": 0,
35730 "k": 100,
35731 "ix": 2
35732 }
35733 }]
35734 },
35735 {
35736 "ty": "gr",
35737 "it": [{
35738 "ty": "sh",
35739 "d": 1,
35740 "ks": {
35741 "a": 0,
35742 "k": {
35743 "c": true,
35744 "v": [
35745 [-118.41, -38.91],
35746 [-129.16, -50.12],
35747 [-118.79, -61.08],
35748 [-108.64, -50.89],
35749 [-108.73, -49.23],
35750 [-125.11, -49.23],
35751 [-118.41, -42.45],
35752 [-112.61, -46.24],
35753 [-108.47, -46.24],
35754 [-118.41, -38.91]
35755 ],
35756 "i": [
35757 [0, 0],
35758 [0, 5.971],
35759 [-6.61, 0],
35760 [0, -5.458],
35761 [.038, -.384],
35762 [0, 0],
35763 [-3.712, 0],
35764 [-.592, 2.431],
35765 [0, 0],
35766 [5.331, 0]
35767 ],
35768 "o": [
35769 [-6.655, 0],
35770 [0, -6.013],
35771 [6.614, 0],
35772 [0, .555],
35773 [0, 0],
35774 [.341, 4.009],
35775 [3.155, 0],
35776 [0, 0],
35777 [-.725, 4.436],
35778 [0, 0]
35779 ]
35780 }
35781 }
35782 }, {
35783 "ty": "tr",
35784 "o": {
35785 "a": 0,
35786 "k": 100,
35787 "ix": 2
35788 }
35789 }]
35790 },
35791 {
35792 "ty": "gr",
35793 "it": [{
35794 "ty": "sh",
35795 "d": 1,
35796 "ks": {
35797 "a": 0,
35798 "k": {
35799 "c": true,
35800 "v": [
35801 [-143.21, -42.53],
35802 [-136.6, -49.99],
35803 [-143.21, -57.46],
35804 [-149.82, -49.99],
35805 [-143.21, -42.53]
35806 ],
35807 "i": [
35808 [0, 0],
35809 [0, 4.478],
35810 [3.966, 0],
35811 [0, -4.478],
35812 [-3.966, 0]
35813 ],
35814 "o": [
35815 [3.966, 0],
35816 [0, -4.478],
35817 [-3.966, 0],
35818 [0, 4.478],
35819 [0, 0]
35820 ]
35821 }
35822 }
35823 }, {
35824 "ty": "tr",
35825 "o": {
35826 "a": 0,
35827 "k": 100,
35828 "ix": 2
35829 }
35830 }]
35831 },
35832 {
35833 "ty": "gr",
35834 "it": [{
35835 "ty": "sh",
35836 "d": 1,
35837 "ks": {
35838 "a": 0,
35839 "k": {
35840 "c": true,
35841 "v": [
35842 [-142.57, -38.91],
35843 [-149.47, -42.45],
35844 [-149.47, -39.25],
35845 [-153.61, -39.25],
35846 [-153.61, -69.74],
35847 [-149.47, -69.74],
35848 [-149.47, -57.59],
35849 [-142.61, -61.08],
35850 [-132.42, -49.99],
35851 [-142.57, -38.91]
35852 ],
35853 "i": [
35854 [0, 0],
35855 [1.279, 2.133],
35856 [0, 0],
35857 [0, 0],
35858 [0, 0],
35859 [0, 0],
35860 [0, 0],
35861 [-2.857, 0],
35862 [0, -6.354],
35863 [6.44, 0]
35864 ],
35865 "o": [
35866 [-2.9, 0],
35867 [0, 0],
35868 [0, 0],
35869 [0, 0],
35870 [0, 0],
35871 [0, 0],
35872 [1.322, -2.132],
35873 [6.483, 0],
35874 [0, 6.355],
35875 [0, 0]
35876 ]
35877 }
35878 }
35879 }, {
35880 "ty": "tr",
35881 "o": {
35882 "a": 0,
35883 "k": 100,
35884 "ix": 2
35885 }
35886 }]
35887 },
35888 {
35889 "ty": "gr",
35890 "it": [{
35891 "ty": "sh",
35892 "d": 1,
35893 "ks": {
35894 "a": 0,
35895 "k": {
35896 "c": true,
35897 "v": [
35898 [-169.65, -42.19],
35899 [-163.46, -48.67],
35900 [-163.46, -49.06],
35901 [-169.01, -49.06],
35902 [-173.66, -45.47],
35903 [-169.65, -42.19]
35904 ],
35905 "i": [
35906 [0, 0],
35907 [0, 3.966],
35908 [0, 0],
35909 [0, 0],
35910 [0, -2.26],
35911 [-2.431, 0]
35912 ],
35913 "o": [
35914 [3.881, 0],
35915 [0, 0],
35916 [0, 0],
35917 [-2.815, 0],
35918 [0, 1.962],
35919 [0, 0]
35920 ]
35921 }
35922 }
35923 }, {
35924 "ty": "tr",
35925 "o": {
35926 "a": 0,
35927 "k": 100,
35928 "ix": 2
35929 }
35930 }]
35931 },
35932 {
35933 "ty": "gr",
35934 "it": [{
35935 "ty": "sh",
35936 "d": 1,
35937 "ks": {
35938 "a": 0,
35939 "k": {
35940 "c": true,
35941 "v": [
35942 [-170.46, -38.91],
35943 [-177.79, -45.39],
35944 [-169.43, -52.26],
35945 [-164.91, -52.26],
35946 [-163.46, -53.36],
35947 [-168.66, -57.76],
35948 [-173.95, -53.7],
35949 [-177.79, -53.7],
35950 [-168.54, -61.08],
35951 [-159.37, -53.11],
35952 [-159.37, -39.25],
35953 [-163.46, -39.25],
35954 [-163.46, -42.79],
35955 [-170.46, -38.91]
35956 ],
35957 "i": [
35958 [0, 0],
35959 [0, 3.838],
35960 [-5.032, 0],
35961 [0, 0],
35962 [0, .768],
35963 [3.284, 0],
35964 [.128, -2.175],
35965 [0, 0],
35966 [-5.118, 0],
35967 [0, -4.777],
35968 [0, 0],
35969 [0, 0],
35970 [0, 0],
35971 [3.241, 0]
35972 ],
35973 "o": [
35974 [-4.393, 0],
35975 [0, -4.137],
35976 [0, 0],
35977 [.981, 0],
35978 [0, -2.602],
35979 [-3.028, 0],
35980 [0, 0],
35981 [.341, -4.222],
35982 [5.544, 0],
35983 [0, 0],
35984 [0, 0],
35985 [0, 0],
35986 [-1.066, 2.345],
35987 [0, 0]
35988 ]
35989 }
35990 }
35991 }, {
35992 "ty": "tr",
35993 "o": {
35994 "a": 0,
35995 "k": 100,
35996 "ix": 2
35997 }
35998 }]
35999 },
36000 {
36001 "ty": "gr",
36002 "it": [{
36003 "ty": "sh",
36004 "d": 1,
36005 "ks": {
36006 "a": 0,
36007 "k": {
36008 "c": true,
36009 "v": [
36010 [-199.12, -39.25],
36011 [-199.12, -69.1],
36012 [-194.69, -69.1],
36013 [-194.69, -43.17],
36014 [-180.15, -43.17],
36015 [-180.15, -39.25],
36016 [-199.12, -39.25]
36017 ],
36018 "i": [
36019 [0, 0],
36020 [0, 0],
36021 [0, 0],
36022 [0, 0],
36023 [0, 0],
36024 [0, 0],
36025 [0, 0]
36026 ],
36027 "o": [
36028 [0, 0],
36029 [0, 0],
36030 [0, 0],
36031 [0, 0],
36032 [0, 0],
36033 [0, 0],
36034 [0, 0]
36035 ]
36036 }
36037 }
36038 }, {
36039 "ty": "tr",
36040 "o": {
36041 "a": 0,
36042 "k": 100,
36043 "ix": 2
36044 }
36045 }]
36046 },
36047 {
36048 "ty": "fl",
36049 "c": {
36050 "a": 0,
36051 "k": [
36052 .13,
36053 .13,
36054 .13
36055 ],
36056 "ix": 2
36057 },
36058 "o": {
36059 "a": 0,
36060 "k": 100,
36061 "ix": 2
36062 },
36063 "r": 1,
36064 "bm": 0
36065 },
36066 {
36067 "ty": "tr",
36068 "o": {
36069 "a": 0,
36070 "k": 100,
36071 "ix": 2
36072 }
36073 }
36074 ]
36075 }, {
36076 "ty": "tr",
36077 "o": {
36078 "a": 0,
36079 "k": 100,
36080 "ix": 2
36081 }
36082 }]
36083 }, {
36084 "ty": "tr",
36085 "p": {
36086 "a": 0,
36087 "k": [346, 254],
36088 "ix": 2
36089 },
36090 "o": {
36091 "a": 0,
36092 "k": 100,
36093 "ix": 2
36094 }
36095 }]
36096 }],
36097 "ip": 0,
36098 "op": 877,
36099 "st": 0
36100 },
36101 {
36102 "ddd": 0,
36103 "ind": 131,
36104 "ty": 4,
36105 "sr": 1,
36106 "ks": { "o": {
36107 "a": 1,
36108 "k": [{
36109 "t": 0,
36110 "s": [0],
36111 "h": 1
36112 }, {
36113 "t": 5,
36114 "s": [100],
36115 "h": 1
36116 }],
36117 "ix": 2
36118 } },
36119 "ao": 0,
36120 "shapes": [{
36121 "ty": "gr",
36122 "it": [{
36123 "ty": "gr",
36124 "it": [
36125 {
36126 "ty": "rc",
36127 "d": 1,
36128 "s": {
36129 "a": 0,
36130 "k": [395, 277],
36131 "ix": 2
36132 },
36133 "p": {
36134 "a": 0,
36135 "k": [0, 0],
36136 "ix": 2
36137 },
36138 "r": {
36139 "a": 0,
36140 "k": 15,
36141 "ix": 2
36142 }
36143 },
36144 {
36145 "ty": "st",
36146 "c": {
36147 "a": 0,
36148 "k": [
36149 1,
36150 1,
36151 1
36152 ],
36153 "ix": 2
36154 },
36155 "o": {
36156 "a": 0,
36157 "k": 100,
36158 "ix": 2
36159 },
36160 "w": {
36161 "a": 0,
36162 "k": 4,
36163 "ix": 2
36164 },
36165 "lc": 1,
36166 "lj": 1,
36167 "ml": 4
36168 },
36169 {
36170 "ty": "fl",
36171 "c": {
36172 "a": 0,
36173 "k": [
36174 1,
36175 1,
36176 1
36177 ],
36178 "ix": 2
36179 },
36180 "o": {
36181 "a": 0,
36182 "k": 100,
36183 "ix": 2
36184 },
36185 "r": 1,
36186 "bm": 0
36187 },
36188 {
36189 "ty": "tr",
36190 "o": {
36191 "a": 0,
36192 "k": 100,
36193 "ix": 2
36194 }
36195 }
36196 ]
36197 }, {
36198 "ty": "tr",
36199 "p": {
36200 "a": 0,
36201 "k": [197.5, 138.5],
36202 "ix": 2
36203 },
36204 "o": {
36205 "a": 0,
36206 "k": 100,
36207 "ix": 2
36208 }
36209 }]
36210 }],
36211 "ip": 0,
36212 "op": 877,
36213 "st": 0
36214 }
36215 ]
36216 },
36217 {
36218 "id": "S",
36219 "layers": [{
36220 "ddd": 0,
36221 "ind": 132,
36222 "ty": 3,
36223 "sr": 1,
36224 "ks": {
36225 "p": {
36226 "a": 0,
36227 "k": [23, 233],
36228 "ix": 2
36229 },
36230 "o": {
36231 "a": 0,
36232 "k": 100,
36233 "ix": 2
36234 }
36235 },
36236 "ao": 0,
36237 "ip": 0,
36238 "op": 877,
36239 "st": 0
36240 }, {
36241 "ddd": 0,
36242 "refId": "T",
36243 "w": 51,
36244 "h": 51,
36245 "ind": 129,
36246 "ty": 0,
36247 "sr": 1,
36248 "ks": {
36249 "p": {
36250 "a": 0,
36251 "k": [-23, -233],
36252 "ix": 2
36253 },
36254 "o": {
36255 "a": 0,
36256 "k": 50,
36257 "ix": 2
36258 }
36259 },
36260 "ao": 0,
36261 "ip": 0,
36262 "op": 877,
36263 "st": 0,
36264 "parent": 132
36265 }]
36266 },
36267 {
36268 "id": "T",
36269 "layers": [{
36270 "ddd": 0,
36271 "ind": 133,
36272 "ty": 4,
36273 "sr": 1,
36274 "ks": {
36275 "p": {
36276 "a": 0,
36277 "k": [23, 233],
36278 "ix": 2
36279 },
36280 "o": {
36281 "a": 0,
36282 "k": 100,
36283 "ix": 2
36284 }
36285 },
36286 "ao": 0,
36287 "shapes": [{
36288 "ty": "gr",
36289 "it": [{
36290 "ty": "gr",
36291 "it": [
36292 {
36293 "ty": "gr",
36294 "it": [{
36295 "ty": "sh",
36296 "d": 1,
36297 "ks": {
36298 "a": 0,
36299 "k": {
36300 "c": true,
36301 "v": [
36302 [-13.02, -223.06],
36303 [-3.74, -201.41],
36304 [17.91, -192.13],
36305 [8.62, -213.78],
36306 [-13.02, -223.06]
36307 ],
36308 "i": [
36309 [0, 0],
36310 [-8.543, -8.529],
36311 [-3.422, 3.416],
36312 [8.543, 8.529],
36313 [3.416, -3.416]
36314 ],
36315 "o": [
36316 [-3.416, 3.416],
36317 [8.536, 8.54],
36318 [3.409, -3.416],
36319 [-8.537, -8.54],
36320 [0, 0]
36321 ]
36322 }
36323 }
36324 }, {
36325 "ty": "tr",
36326 "o": {
36327 "a": 0,
36328 "k": 100,
36329 "ix": 2
36330 }
36331 }]
36332 },
36333 {
36334 "ty": "gr",
36335 "it": [{
36336 "ty": "sh",
36337 "d": 1,
36338 "ks": {
36339 "a": 0,
36340 "k": {
36341 "c": true,
36342 "v": [
36343 [17.9, -223.06],
36344 [-3.75, -213.78],
36345 [-13.02, -192.13],
36346 [8.63, -201.41],
36347 [17.9, -223.06]
36348 ],
36349 "i": [
36350 [0, 0],
36351 [8.53, -8.543],
36352 [-3.416, -3.418],
36353 [-8.53, 8.543],
36354 [3.416, 3.418]
36355 ],
36356 "o": [
36357 [-3.416, -3.416],
36358 [-8.537, 8.54],
36359 [3.416, 3.414],
36360 [8.536, -8.54],
36361 [0, 0]
36362 ]
36363 }
36364 }
36365 }, {
36366 "ty": "tr",
36367 "o": {
36368 "a": 0,
36369 "k": 100,
36370 "ix": 2
36371 }
36372 }]
36373 },
36374 {
36375 "ty": "gr",
36376 "it": [{
36377 "ty": "sh",
36378 "d": 1,
36379 "ks": {
36380 "a": 0,
36381 "k": {
36382 "c": false,
36383 "v": [[2.44, -207.6], [2.44, -207.57]],
36384 "i": [[0, 0], [0, 0]],
36385 "o": [[0, 0], [0, 0]]
36386 }
36387 }
36388 }, {
36389 "ty": "tr",
36390 "o": {
36391 "a": 0,
36392 "k": 100,
36393 "ix": 2
36394 }
36395 }]
36396 },
36397 {
36398 "ty": "st",
36399 "c": {
36400 "a": 0,
36401 "k": [
36402 .13,
36403 .13,
36404 .13
36405 ],
36406 "ix": 2
36407 },
36408 "o": {
36409 "a": 0,
36410 "k": 100,
36411 "ix": 2
36412 },
36413 "w": {
36414 "a": 0,
36415 "k": 3,
36416 "ix": 2
36417 },
36418 "lc": 2,
36419 "lj": 2,
36420 "ml": 4
36421 },
36422 {
36423 "ty": "tr",
36424 "o": {
36425 "a": 0,
36426 "k": 100,
36427 "ix": 2
36428 }
36429 }
36430 ]
36431 }, {
36432 "ty": "tr",
36433 "o": {
36434 "a": 0,
36435 "k": 100,
36436 "ix": 2
36437 }
36438 }]
36439 }],
36440 "ip": 0,
36441 "op": 877,
36442 "st": 0
36443 }]
36444 },
36445 {
36446 "id": "d",
36447 "layers": [
36448 {
36449 "ddd": 0,
36450 "ind": 24,
36451 "ty": 3,
36452 "sr": 1,
36453 "ks": {
36454 "p": {
36455 "a": 1,
36456 "k": [{
36457 "t": 0,
36458 "s": [133.24, 473.66],
36459 "i": {
36460 "x": [0],
36461 "y": [1]
36462 },
36463 "o": {
36464 "x": [.421],
36465 "y": [0]
36466 }
36467 }, {
36468 "t": 104,
36469 "s": [507.08, 94.91]
36470 }],
36471 "ix": 2
36472 },
36473 "a": {
36474 "a": 0,
36475 "k": [257, -116],
36476 "ix": 2
36477 },
36478 "s": {
36479 "a": 0,
36480 "k": [65, 65],
36481 "ix": 2
36482 },
36483 "o": {
36484 "a": 0,
36485 "k": 100,
36486 "ix": 2
36487 }
36488 },
36489 "ao": 0,
36490 "ip": 0,
36491 "op": 877,
36492 "st": 0
36493 },
36494 {
36495 "ddd": 0,
36496 "ind": 134,
36497 "ty": 3,
36498 "sr": 1,
36499 "ks": { "o": {
36500 "a": 0,
36501 "k": 100,
36502 "ix": 2
36503 } },
36504 "ao": 0,
36505 "ip": 0,
36506 "op": 877,
36507 "st": 0,
36508 "parent": 24
36509 },
36510 {
36511 "ddd": 0,
36512 "refId": "U",
36513 "w": 50,
36514 "h": 51,
36515 "ind": 135,
36516 "ty": 0,
36517 "sr": 1,
36518 "ks": {
36519 "p": {
36520 "a": 0,
36521 "k": [387, -233],
36522 "ix": 2
36523 },
36524 "o": {
36525 "a": 0,
36526 "k": 50,
36527 "ix": 2
36528 }
36529 },
36530 "ao": 0,
36531 "ip": 0,
36532 "op": 877,
36533 "st": 0,
36534 "parent": 134
36535 },
36536 {
36537 "ddd": 0,
36538 "ind": 136,
36539 "ty": 4,
36540 "sr": 1,
36541 "ks": { "o": {
36542 "a": 0,
36543 "k": 100,
36544 "ix": 2
36545 } },
36546 "ao": 0,
36547 "parent": 24,
36548 "shapes": [{
36549 "ty": "gr",
36550 "it": [{
36551 "ty": "gr",
36552 "it": [
36553 {
36554 "ty": "gr",
36555 "it": [{
36556 "ty": "sh",
36557 "d": 1,
36558 "ks": {
36559 "a": 0,
36560 "k": {
36561 "c": true,
36562 "v": [
36563 [305.62, -39.25],
36564 [298.46, -46.28],
36565 [298.46, -57.16],
36566 [294.06, -57.16],
36567 [294.06, -60.74],
36568 [298.46, -60.74],
36569 [298.46, -67.48],
36570 [302.59, -67.48],
36571 [302.59, -60.74],
36572 [308.94, -60.74],
36573 [308.94, -57.16],
36574 [302.59, -57.16],
36575 [302.59, -46.41],
36576 [305.92, -42.83],
36577 [308.94, -42.83],
36578 [308.94, -39.25],
36579 [305.62, -39.25]
36580 ],
36581 "i": [
36582 [0, 0],
36583 [0, 4.393],
36584 [0, 0],
36585 [0, 0],
36586 [0, 0],
36587 [0, 0],
36588 [0, 0],
36589 [0, 0],
36590 [0, 0],
36591 [0, 0],
36592 [0, 0],
36593 [0, 0],
36594 [0, 0],
36595 [-2.048, 0],
36596 [0, 0],
36597 [0, 0],
36598 [0, 0]
36599 ],
36600 "o": [
36601 [-4.351, 0],
36602 [0, 0],
36603 [0, 0],
36604 [0, 0],
36605 [0, 0],
36606 [0, 0],
36607 [0, 0],
36608 [0, 0],
36609 [0, 0],
36610 [0, 0],
36611 [0, 0],
36612 [0, 0],
36613 [0, 2.303],
36614 [0, 0],
36615 [0, 0],
36616 [0, 0],
36617 [0, 0]
36618 ]
36619 }
36620 }
36621 }, {
36622 "ty": "tr",
36623 "o": {
36624 "a": 0,
36625 "k": 100,
36626 "ix": 2
36627 }
36628 }]
36629 },
36630 {
36631 "ty": "gr",
36632 "it": [{
36633 "ty": "sh",
36634 "d": 1,
36635 "ks": {
36636 "a": 0,
36637 "k": {
36638 "c": true,
36639 "v": [
36640 [279.52, -38.91],
36641 [271.5, -47.52],
36642 [271.5, -60.74],
36643 [275.64, -60.74],
36644 [275.64, -48.33],
36645 [280.67, -42.62],
36646 [286.47, -49.1],
36647 [286.47, -60.74],
36648 [290.61, -60.74],
36649 [290.61, -39.25],
36650 [286.47, -39.25],
36651 [286.47, -43.04],
36652 [279.52, -38.91]
36653 ],
36654 "i": [
36655 [0, 0],
36656 [0, 5.117],
36657 [0, 0],
36658 [0, 0],
36659 [0, 0],
36660 [-3.028, 0],
36661 [0, 3.753],
36662 [0, 0],
36663 [0, 0],
36664 [0, 0],
36665 [0, 0],
36666 [0, 0],
36667 [3.2, 0]
36668 ],
36669 "o": [
36670 [-4.86, 0],
36671 [0, 0],
36672 [0, 0],
36673 [0, 0],
36674 [0, 3.412],
36675 [3.371, 0],
36676 [0, 0],
36677 [0, 0],
36678 [0, 0],
36679 [0, 0],
36680 [0, 0],
36681 [-1.151, 2.687],
36682 [0, 0]
36683 ]
36684 }
36685 }
36686 }, {
36687 "ty": "tr",
36688 "o": {
36689 "a": 0,
36690 "k": 100,
36691 "ix": 2
36692 }
36693 }]
36694 },
36695 {
36696 "ty": "gr",
36697 "it": [{
36698 "ty": "sh",
36699 "d": 1,
36700 "ks": {
36701 "a": 0,
36702 "k": {
36703 "c": true,
36704 "v": [
36705 [256.3, -42.53],
36706 [262.91, -49.99],
36707 [256.3, -57.46],
36708 [249.69, -49.99],
36709 [256.3, -42.53]
36710 ],
36711 "i": [
36712 [0, 0],
36713 [0, 4.478],
36714 [3.963, 0],
36715 [0, -4.478],
36716 [-3.969, 0]
36717 ],
36718 "o": [
36719 [3.963, 0],
36720 [0, -4.478],
36721 [-3.969, 0],
36722 [0, 4.478],
36723 [0, 0]
36724 ]
36725 }
36726 }
36727 }, {
36728 "ty": "tr",
36729 "o": {
36730 "a": 0,
36731 "k": 100,
36732 "ix": 2
36733 }
36734 }]
36735 },
36736 {
36737 "ty": "gr",
36738 "it": [{
36739 "ty": "sh",
36740 "d": 1,
36741 "ks": {
36742 "a": 0,
36743 "k": {
36744 "c": true,
36745 "v": [
36746 [245.9, -30.55],
36747 [245.9, -60.74],
36748 [250.03, -60.74],
36749 [250.03, -57.59],
36750 [256.9, -61.08],
36751 [267.09, -49.99],
36752 [256.94, -38.91],
36753 [250.03, -42.45],
36754 [250.03, -30.55],
36755 [245.9, -30.55]
36756 ],
36757 "i": [
36758 [0, 0],
36759 [0, 0],
36760 [0, 0],
36761 [0, 0],
36762 [-2.862, 0],
36763 [0, -6.354],
36764 [6.444, 0],
36765 [1.279, 2.133],
36766 [0, 0],
36767 [0, 0]
36768 ],
36769 "o": [
36770 [0, 0],
36771 [0, 0],
36772 [0, 0],
36773 [1.323, -2.132],
36774 [6.482, 0],
36775 [0, 6.355],
36776 [-2.901, 0],
36777 [0, 0],
36778 [0, 0],
36779 [0, 0]
36780 ]
36781 }
36782 }
36783 }, {
36784 "ty": "tr",
36785 "o": {
36786 "a": 0,
36787 "k": 100,
36788 "ix": 2
36789 }
36790 }]
36791 },
36792 {
36793 "ty": "gr",
36794 "it": [{
36795 "ty": "sh",
36796 "d": 1,
36797 "ks": {
36798 "a": 0,
36799 "k": {
36800 "c": true,
36801 "v": [
36802 [221.07, -39.25],
36803 [221.07, -60.74],
36804 [225.21, -60.74],
36805 [225.21, -56.95],
36806 [232.12, -61.08],
36807 [240.14, -52.47],
36808 [240.14, -39.25],
36809 [236, -39.25],
36810 [236, -51.66],
36811 [230.97, -57.37],
36812 [225.21, -50.89],
36813 [225.21, -39.25],
36814 [221.07, -39.25]
36815 ],
36816 "i": [
36817 [0, 0],
36818 [0, 0],
36819 [0, 0],
36820 [0, 0],
36821 [-3.2, 0],
36822 [0, -5.118],
36823 [0, 0],
36824 [0, 0],
36825 [0, 0],
36826 [3.028, 0],
36827 [0, -3.752],
36828 [0, 0],
36829 [0, 0]
36830 ],
36831 "o": [
36832 [0, 0],
36833 [0, 0],
36834 [0, 0],
36835 [1.151, -2.687],
36836 [4.86, 0],
36837 [0, 0],
36838 [0, 0],
36839 [0, 0],
36840 [0, -3.412],
36841 [-3.365, 0],
36842 [0, 0],
36843 [0, 0],
36844 [0, 0]
36845 ]
36846 }
36847 }
36848 }, {
36849 "ty": "tr",
36850 "o": {
36851 "a": 0,
36852 "k": 100,
36853 "ix": 2
36854 }
36855 }]
36856 },
36857 {
36858 "ty": "gr",
36859 "it": [{
36860 "ty": "sh",
36861 "d": 1,
36862 "ks": {
36863 "a": 0,
36864 "k": {
36865 "c": true,
36866 "v": [
36867 [210.34, -39.25],
36868 [210.34, -69.1],
36869 [214.77, -69.1],
36870 [214.77, -39.25],
36871 [210.34, -39.25]
36872 ],
36873 "i": [
36874 [0, 0],
36875 [0, 0],
36876 [0, 0],
36877 [0, 0],
36878 [0, 0]
36879 ],
36880 "o": [
36881 [0, 0],
36882 [0, 0],
36883 [0, 0],
36884 [0, 0],
36885 [0, 0]
36886 ]
36887 }
36888 }
36889 }, {
36890 "ty": "tr",
36891 "o": {
36892 "a": 0,
36893 "k": 100,
36894 "ix": 2
36895 }
36896 }]
36897 },
36898 {
36899 "ty": "fl",
36900 "c": {
36901 "a": 0,
36902 "k": [
36903 .13,
36904 .13,
36905 .13
36906 ],
36907 "ix": 2
36908 },
36909 "o": {
36910 "a": 0,
36911 "k": 100,
36912 "ix": 2
36913 },
36914 "r": 1,
36915 "bm": 0
36916 },
36917 {
36918 "ty": "tr",
36919 "o": {
36920 "a": 0,
36921 "k": 100,
36922 "ix": 2
36923 }
36924 }
36925 ]
36926 }, {
36927 "ty": "tr",
36928 "o": {
36929 "a": 0,
36930 "k": 100,
36931 "ix": 2
36932 }
36933 }]
36934 }],
36935 "ip": 0,
36936 "op": 877,
36937 "st": 0
36938 },
36939 {
36940 "ddd": 0,
36941 "ind": 137,
36942 "ty": 4,
36943 "sr": 1,
36944 "ks": { "o": {
36945 "a": 0,
36946 "k": 100,
36947 "ix": 2
36948 } },
36949 "ao": 0,
36950 "parent": 24,
36951 "shapes": [{
36952 "ty": "gr",
36953 "it": [{
36954 "ty": "gr",
36955 "it": [
36956 {
36957 "ty": "gr",
36958 "it": [{
36959 "ty": "sh",
36960 "d": 1,
36961 "ks": {
36962 "a": 0,
36963 "k": {
36964 "c": false,
36965 "v": [
36966 [234.2, -171.8],
36967 [230.37, -171.8],
36968 [227.67, -170.68],
36969 [226.55, -167.98],
36970 [226.55, -137.36],
36971 [227.67, -134.65],
36972 [230.37, -133.53],
36973 [234.2, -133.53]
36974 ],
36975 "i": [
36976 [0, 0],
36977 [0, 0],
36978 [.719, -.718],
36979 [0, -1.015],
36980 [0, 0],
36981 [-.719, -.718],
36982 [-1.011, 0],
36983 [0, 0]
36984 ],
36985 "o": [
36986 [0, 0],
36987 [-1.011, 0],
36988 [-.719, .717],
36989 [0, 0],
36990 [0, 1.015],
36991 [.719, .718],
36992 [0, 0],
36993 [0, 0]
36994 ]
36995 }
36996 }
36997 }, {
36998 "ty": "tr",
36999 "o": {
37000 "a": 0,
37001 "k": 100,
37002 "ix": 2
37003 }
37004 }]
37005 },
37006 {
37007 "ty": "gr",
37008 "it": [{
37009 "ty": "sh",
37010 "d": 1,
37011 "ks": {
37012 "a": 0,
37013 "k": {
37014 "c": false,
37015 "v": [
37016 [264.82, -171.8],
37017 [291.61, -171.8],
37018 [294.32, -170.68],
37019 [295.44, -167.98],
37020 [295.44, -137.36],
37021 [294.32, -134.65],
37022 [291.61, -133.53],
37023 [264.82, -133.53]
37024 ],
37025 "i": [
37026 [0, 0],
37027 [0, 0],
37028 [-.719, -.718],
37029 [0, -1.015],
37030 [0, 0],
37031 [.712, -.718],
37032 [1.018, 0],
37033 [0, 0]
37034 ],
37035 "o": [
37036 [0, 0],
37037 [1.018, 0],
37038 [.712, .717],
37039 [0, 0],
37040 [0, 1.015],
37041 [-.719, .718],
37042 [0, 0],
37043 [0, 0]
37044 ]
37045 }
37046 }
37047 }, {
37048 "ty": "tr",
37049 "o": {
37050 "a": 0,
37051 "k": 100,
37052 "ix": 2
37053 }
37054 }]
37055 },
37056 {
37057 "ty": "gr",
37058 "it": [{
37059 "ty": "sh",
37060 "d": 1,
37061 "ks": {
37062 "a": 0,
37063 "k": {
37064 "c": false,
37065 "v": [
37066 [249.51, -129.7],
37067 [246.15, -121.58],
37068 [238.03, -118.22]
37069 ],
37070 "i": [
37071 [0, 0],
37072 [2.15, -2.153],
37073 [3.041, 0]
37074 ],
37075 "o": [
37076 [0, 3.045],
37077 [-2.156, 2.154],
37078 [0, 0]
37079 ]
37080 }
37081 }
37082 }, {
37083 "ty": "tr",
37084 "o": {
37085 "a": 0,
37086 "k": 100,
37087 "ix": 2
37088 }
37089 }]
37090 },
37091 {
37092 "ty": "gr",
37093 "it": [{
37094 "ty": "sh",
37095 "d": 1,
37096 "ks": {
37097 "a": 0,
37098 "k": {
37099 "c": false,
37100 "v": [
37101 [249.51, -129.7],
37102 [252.87, -121.58],
37103 [261, -118.22]
37104 ],
37105 "i": [
37106 [0, 0],
37107 [-2.15, -2.153],
37108 [-3.047, 0]
37109 ],
37110 "o": [
37111 [0, 3.045],
37112 [2.156, 2.154],
37113 [0, 0]
37114 ]
37115 }
37116 }
37117 }, {
37118 "ty": "tr",
37119 "o": {
37120 "a": 0,
37121 "k": 100,
37122 "ix": 2
37123 }
37124 }]
37125 },
37126 {
37127 "ty": "gr",
37128 "it": [{
37129 "ty": "sh",
37130 "d": 1,
37131 "ks": {
37132 "a": 0,
37133 "k": {
37134 "c": false,
37135 "v": [
37136 [249.51, -175.63],
37137 [246.15, -183.75],
37138 [238.03, -187.11]
37139 ],
37140 "i": [
37141 [0, 0],
37142 [2.15, 2.153],
37143 [3.041, 0]
37144 ],
37145 "o": [
37146 [0, -3.045],
37147 [-2.156, -2.153],
37148 [0, 0]
37149 ]
37150 }
37151 }
37152 }, {
37153 "ty": "tr",
37154 "o": {
37155 "a": 0,
37156 "k": 100,
37157 "ix": 2
37158 }
37159 }]
37160 },
37161 {
37162 "ty": "gr",
37163 "it": [{
37164 "ty": "sh",
37165 "d": 1,
37166 "ks": {
37167 "a": 0,
37168 "k": {
37169 "c": false,
37170 "v": [[249.51, -175.63], [249.51, -129.7]],
37171 "i": [[0, 0], [0, 0]],
37172 "o": [[0, 0], [0, 0]]
37173 }
37174 }
37175 }, {
37176 "ty": "tr",
37177 "o": {
37178 "a": 0,
37179 "k": 100,
37180 "ix": 2
37181 }
37182 }]
37183 },
37184 {
37185 "ty": "gr",
37186 "it": [{
37187 "ty": "sh",
37188 "d": 1,
37189 "ks": {
37190 "a": 0,
37191 "k": {
37192 "c": false,
37193 "v": [
37194 [261, -187.11],
37195 [252.87, -183.75],
37196 [249.51, -175.63]
37197 ],
37198 "i": [
37199 [0, 0],
37200 [2.156, -2.153],
37201 [0, -3.045]
37202 ],
37203 "o": [
37204 [-3.047, 0],
37205 [-2.15, 2.153],
37206 [0, 0]
37207 ]
37208 }
37209 }
37210 }, {
37211 "ty": "tr",
37212 "o": {
37213 "a": 0,
37214 "k": 100,
37215 "ix": 2
37216 }
37217 }]
37218 },
37219 {
37220 "ty": "st",
37221 "c": {
37222 "a": 0,
37223 "k": [
37224 .13,
37225 .13,
37226 .13
37227 ],
37228 "ix": 2
37229 },
37230 "o": {
37231 "a": 0,
37232 "k": 100,
37233 "ix": 2
37234 },
37235 "w": {
37236 "a": 0,
37237 "k": 3,
37238 "ix": 2
37239 },
37240 "lc": 2,
37241 "lj": 2,
37242 "ml": 4
37243 },
37244 {
37245 "ty": "tr",
37246 "o": {
37247 "a": 0,
37248 "k": 100,
37249 "ix": 2
37250 }
37251 }
37252 ]
37253 }, {
37254 "ty": "tr",
37255 "o": {
37256 "a": 0,
37257 "k": 100,
37258 "ix": 2
37259 }
37260 }]
37261 }],
37262 "ip": 0,
37263 "op": 877,
37264 "st": 0
37265 },
37266 {
37267 "ddd": 0,
37268 "ind": 138,
37269 "ty": 4,
37270 "sr": 1,
37271 "ks": { "o": {
37272 "a": 0,
37273 "k": 100,
37274 "ix": 2
37275 } },
37276 "ao": 0,
37277 "parent": 24,
37278 "shapes": [{
37279 "ty": "gr",
37280 "it": [
37281 {
37282 "ty": "rc",
37283 "d": 1,
37284 "s": {
37285 "a": 0,
37286 "k": [395, 277],
37287 "ix": 2
37288 },
37289 "p": {
37290 "a": 0,
37291 "k": [0, 0],
37292 "ix": 2
37293 },
37294 "r": {
37295 "a": 0,
37296 "k": 8,
37297 "ix": 2
37298 }
37299 },
37300 {
37301 "ty": "st",
37302 "c": {
37303 "a": 0,
37304 "k": [
37305 1,
37306 1,
37307 1
37308 ],
37309 "ix": 2
37310 },
37311 "o": {
37312 "a": 0,
37313 "k": 100,
37314 "ix": 2
37315 },
37316 "w": {
37317 "a": 0,
37318 "k": 4,
37319 "ix": 2
37320 },
37321 "lc": 1,
37322 "lj": 1,
37323 "ml": 4
37324 },
37325 {
37326 "ty": "fl",
37327 "c": {
37328 "a": 0,
37329 "k": [
37330 1,
37331 1,
37332 1
37333 ],
37334 "ix": 2
37335 },
37336 "o": {
37337 "a": 0,
37338 "k": 100,
37339 "ix": 2
37340 },
37341 "r": 1,
37342 "bm": 0
37343 },
37344 {
37345 "ty": "tr",
37346 "p": {
37347 "a": 0,
37348 "k": [257, -116],
37349 "ix": 2
37350 },
37351 "s": {
37352 "a": 0,
37353 "k": [99, 99],
37354 "ix": 2
37355 },
37356 "o": {
37357 "a": 0,
37358 "k": 100,
37359 "ix": 2
37360 }
37361 }
37362 ]
37363 }],
37364 "ip": 0,
37365 "op": 877,
37366 "st": 0
37367 }
37368 ]
37369 },
37370 {
37371 "id": "U",
37372 "layers": [{
37373 "ddd": 0,
37374 "ind": 139,
37375 "ty": 4,
37376 "sr": 1,
37377 "ks": {
37378 "p": {
37379 "a": 0,
37380 "k": [-387, 233],
37381 "ix": 2
37382 },
37383 "o": {
37384 "a": 0,
37385 "k": 100,
37386 "ix": 2
37387 }
37388 },
37389 "ao": 0,
37390 "shapes": [{
37391 "ty": "gr",
37392 "it": [
37393 {
37394 "ty": "gr",
37395 "it": [{
37396 "ty": "sh",
37397 "d": 1,
37398 "ks": {
37399 "a": 0,
37400 "k": {
37401 "c": true,
37402 "v": [
37403 [396.44, -223.06],
37404 [405.72, -201.41],
37405 [427.37, -192.13],
37406 [418.09, -213.78],
37407 [396.44, -223.06]
37408 ],
37409 "i": [
37410 [0, 0],
37411 [-8.543, -8.529],
37412 [-3.422, 3.416],
37413 [8.537, 8.529],
37414 [3.416, -3.416]
37415 ],
37416 "o": [
37417 [-3.416, 3.416],
37418 [8.536, 8.54],
37419 [3.41, -3.416],
37420 [-8.543, -8.54],
37421 [0, 0]
37422 ]
37423 }
37424 }
37425 }, {
37426 "ty": "tr",
37427 "o": {
37428 "a": 0,
37429 "k": 100,
37430 "ix": 2
37431 }
37432 }]
37433 },
37434 {
37435 "ty": "gr",
37436 "it": [{
37437 "ty": "sh",
37438 "d": 1,
37439 "ks": {
37440 "a": 0,
37441 "k": {
37442 "c": true,
37443 "v": [
37444 [427.36, -223.06],
37445 [405.72, -213.78],
37446 [396.44, -192.13],
37447 [418.09, -201.41],
37448 [427.36, -223.06]
37449 ],
37450 "i": [
37451 [0, 0],
37452 [8.524, -8.543],
37453 [-3.416, -3.418],
37454 [-8.53, 8.543],
37455 [3.416, 3.418]
37456 ],
37457 "o": [
37458 [-3.416, -3.416],
37459 [-8.543, 8.54],
37460 [3.416, 3.414],
37461 [8.537, -8.54],
37462 [0, 0]
37463 ]
37464 }
37465 }
37466 }, {
37467 "ty": "tr",
37468 "o": {
37469 "a": 0,
37470 "k": 100,
37471 "ix": 2
37472 }
37473 }]
37474 },
37475 {
37476 "ty": "gr",
37477 "it": [{
37478 "ty": "sh",
37479 "d": 1,
37480 "ks": {
37481 "a": 0,
37482 "k": {
37483 "c": false,
37484 "v": [[411.9, -207.6], [411.9, -207.57]],
37485 "i": [[0, 0], [0, 0]],
37486 "o": [[0, 0], [0, 0]]
37487 }
37488 }
37489 }, {
37490 "ty": "tr",
37491 "o": {
37492 "a": 0,
37493 "k": 100,
37494 "ix": 2
37495 }
37496 }]
37497 },
37498 {
37499 "ty": "st",
37500 "c": {
37501 "a": 0,
37502 "k": [
37503 .13,
37504 .13,
37505 .13
37506 ],
37507 "ix": 2
37508 },
37509 "o": {
37510 "a": 0,
37511 "k": 100,
37512 "ix": 2
37513 },
37514 "w": {
37515 "a": 0,
37516 "k": 3,
37517 "ix": 2
37518 },
37519 "lc": 2,
37520 "lj": 2,
37521 "ml": 4
37522 },
37523 {
37524 "ty": "tr",
37525 "o": {
37526 "a": 0,
37527 "k": 100,
37528 "ix": 2
37529 }
37530 }
37531 ]
37532 }],
37533 "ip": 0,
37534 "op": 877,
37535 "st": 0
37536 }]
37537 },
37538 {
37539 "id": "e",
37540 "layers": [
37541 {
37542 "ddd": 0,
37543 "ind": 25,
37544 "ty": 3,
37545 "sr": 1,
37546 "ks": {
37547 "p": {
37548 "a": 1,
37549 "k": [{
37550 "t": -4,
37551 "s": [132.4, 473.66],
37552 "i": {
37553 "x": [0],
37554 "y": [1]
37555 },
37556 "o": {
37557 "x": [.421],
37558 "y": [0]
37559 }
37560 }, {
37561 "t": 100,
37562 "s": [506.24, 94.91]
37563 }],
37564 "ix": 2
37565 },
37566 "a": {
37567 "a": 0,
37568 "k": [670.85, -116],
37569 "ix": 2
37570 },
37571 "s": {
37572 "a": 0,
37573 "k": [65, 65],
37574 "ix": 2
37575 },
37576 "o": {
37577 "a": 0,
37578 "k": 100,
37579 "ix": 2
37580 }
37581 },
37582 "ao": 0,
37583 "ip": 0,
37584 "op": 877,
37585 "st": 0
37586 },
37587 {
37588 "ddd": 0,
37589 "ind": 140,
37590 "ty": 3,
37591 "sr": 1,
37592 "ks": { "o": {
37593 "a": 0,
37594 "k": 100,
37595 "ix": 2
37596 } },
37597 "ao": 0,
37598 "ip": 0,
37599 "op": 877,
37600 "st": 0,
37601 "parent": 25
37602 },
37603 {
37604 "ddd": 0,
37605 "refId": "V",
37606 "w": 51,
37607 "h": 51,
37608 "ind": 141,
37609 "ty": 0,
37610 "sr": 1,
37611 "ks": {
37612 "p": {
37613 "a": 0,
37614 "k": [796, -233],
37615 "ix": 2
37616 },
37617 "o": {
37618 "a": 0,
37619 "k": 50,
37620 "ix": 2
37621 }
37622 },
37623 "ao": 0,
37624 "ip": 0,
37625 "op": 877,
37626 "st": 0,
37627 "parent": 140
37628 },
37629 {
37630 "ddd": 0,
37631 "ind": 142,
37632 "ty": 4,
37633 "sr": 1,
37634 "ks": { "o": {
37635 "a": 0,
37636 "k": 100,
37637 "ix": 2
37638 } },
37639 "ao": 0,
37640 "parent": 25,
37641 "shapes": [{
37642 "ty": "gr",
37643 "it": [{
37644 "ty": "gr",
37645 "it": [
37646 {
37647 "ty": "gr",
37648 "it": [{
37649 "ty": "sh",
37650 "d": 1,
37651 "ks": {
37652 "a": 0,
37653 "k": {
37654 "c": true,
37655 "v": [
37656 [787.54, -39.25],
37657 [787.54, -60.74],
37658 [791.68, -60.74],
37659 [791.68, -56.95],
37660 [798.59, -61.08],
37661 [806.6, -52.47],
37662 [806.6, -39.25],
37663 [802.47, -39.25],
37664 [802.47, -51.66],
37665 [797.43, -57.37],
37666 [791.68, -50.89],
37667 [791.68, -39.25],
37668 [787.54, -39.25]
37669 ],
37670 "i": [
37671 [0, 0],
37672 [0, 0],
37673 [0, 0],
37674 [0, 0],
37675 [-3.2, 0],
37676 [0, -5.118],
37677 [0, 0],
37678 [0, 0],
37679 [0, 0],
37680 [3.028, 0],
37681 [0, -3.752],
37682 [0, 0],
37683 [0, 0]
37684 ],
37685 "o": [
37686 [0, 0],
37687 [0, 0],
37688 [0, 0],
37689 [1.151, -2.687],
37690 [4.86, 0],
37691 [0, 0],
37692 [0, 0],
37693 [0, 0],
37694 [0, -3.412],
37695 [-3.371, 0],
37696 [0, 0],
37697 [0, 0],
37698 [0, 0]
37699 ]
37700 }
37701 }
37702 }, {
37703 "ty": "tr",
37704 "o": {
37705 "a": 0,
37706 "k": 100,
37707 "ix": 2
37708 }
37709 }]
37710 },
37711 {
37712 "ty": "gr",
37713 "it": [{
37714 "ty": "sh",
37715 "d": 1,
37716 "ks": {
37717 "a": 0,
37718 "k": {
37719 "c": true,
37720 "v": [
37721 [771.89, -42.53],
37722 [778.72, -49.99],
37723 [771.89, -57.46],
37724 [765.03, -49.99],
37725 [771.89, -42.53]
37726 ],
37727 "i": [
37728 [0, 0],
37729 [0, 4.393],
37730 [4.052, 0],
37731 [0, -4.392],
37732 [-4.09, 0]
37733 ],
37734 "o": [
37735 [4.052, 0],
37736 [0, -4.392],
37737 [-4.09, 0],
37738 [0, 4.393],
37739 [0, 0]
37740 ]
37741 }
37742 }
37743 }, {
37744 "ty": "tr",
37745 "o": {
37746 "a": 0,
37747 "k": 100,
37748 "ix": 2
37749 }
37750 }]
37751 },
37752 {
37753 "ty": "gr",
37754 "it": [{
37755 "ty": "sh",
37756 "d": 1,
37757 "ks": {
37758 "a": 0,
37759 "k": {
37760 "c": true,
37761 "v": [
37762 [771.89, -38.91],
37763 [760.81, -49.99],
37764 [771.89, -61.08],
37765 [782.94, -49.99],
37766 [771.89, -38.91]
37767 ],
37768 "i": [
37769 [0, 0],
37770 [0, 6.44],
37771 [-6.437, 0],
37772 [0, -6.439],
37773 [6.444, 0]
37774 ],
37775 "o": [
37776 [-6.437, 0],
37777 [0, -6.439],
37778 [6.444, 0],
37779 [0, 6.44],
37780 [0, 0]
37781 ]
37782 }
37783 }
37784 }, {
37785 "ty": "tr",
37786 "o": {
37787 "a": 0,
37788 "k": 100,
37789 "ix": 2
37790 }
37791 }]
37792 },
37793 {
37794 "ty": "gr",
37795 "it": [{
37796 "ty": "sh",
37797 "d": 1,
37798 "ks": {
37799 "a": 0,
37800 "k": {
37801 "c": true,
37802 "v": [
37803 [755.25, -39.25],
37804 [748.09, -46.28],
37805 [748.09, -57.16],
37806 [738.37, -57.16],
37807 [738.37, -46.41],
37808 [741.69, -42.83],
37809 [744.72, -42.83],
37810 [744.72, -39.25],
37811 [741.39, -39.25],
37812 [734.23, -46.28],
37813 [734.23, -57.16],
37814 [729.84, -57.16],
37815 [729.84, -60.74],
37816 [734.23, -60.74],
37817 [734.23, -67.48],
37818 [738.37, -67.48],
37819 [738.37, -60.74],
37820 [748.09, -60.74],
37821 [748.09, -67.48],
37822 [752.23, -67.48],
37823 [752.23, -60.74],
37824 [758.58, -60.74],
37825 [758.58, -57.16],
37826 [752.23, -57.16],
37827 [752.23, -46.41],
37828 [755.55, -42.83],
37829 [758.58, -42.83],
37830 [758.58, -39.25],
37831 [755.25, -39.25]
37832 ],
37833 "i": [
37834 [0, 0],
37835 [0, 4.393],
37836 [0, 0],
37837 [0, 0],
37838 [0, 0],
37839 [-2.042, 0],
37840 [0, 0],
37841 [0, 0],
37842 [0, 0],
37843 [0, 4.393],
37844 [0, 0],
37845 [0, 0],
37846 [0, 0],
37847 [0, 0],
37848 [0, 0],
37849 [0, 0],
37850 [0, 0],
37851 [0, 0],
37852 [0, 0],
37853 [0, 0],
37854 [0, 0],
37855 [0, 0],
37856 [0, 0],
37857 [0, 0],
37858 [0, 0],
37859 [-2.042, 0],
37860 [0, 0],
37861 [0, 0],
37862 [0, 0]
37863 ],
37864 "o": [
37865 [-4.345, 0],
37866 [0, 0],
37867 [0, 0],
37868 [0, 0],
37869 [0, 2.303],
37870 [0, 0],
37871 [0, 0],
37872 [0, 0],
37873 [-4.345, 0],
37874 [0, 0],
37875 [0, 0],
37876 [0, 0],
37877 [0, 0],
37878 [0, 0],
37879 [0, 0],
37880 [0, 0],
37881 [0, 0],
37882 [0, 0],
37883 [0, 0],
37884 [0, 0],
37885 [0, 0],
37886 [0, 0],
37887 [0, 0],
37888 [0, 0],
37889 [0, 2.303],
37890 [0, 0],
37891 [0, 0],
37892 [0, 0],
37893 [0, 0]
37894 ]
37895 }
37896 }
37897 }, {
37898 "ty": "tr",
37899 "o": {
37900 "a": 0,
37901 "k": 100,
37902 "ix": 2
37903 }
37904 }]
37905 },
37906 {
37907 "ty": "gr",
37908 "it": [{
37909 "ty": "sh",
37910 "d": 1,
37911 "ks": {
37912 "a": 0,
37913 "k": {
37914 "c": true,
37915 "v": [
37916 [715.29, -38.91],
37917 [707.28, -47.52],
37918 [707.28, -60.74],
37919 [711.41, -60.74],
37920 [711.41, -48.33],
37921 [716.45, -42.62],
37922 [722.25, -49.1],
37923 [722.25, -60.74],
37924 [726.38, -60.74],
37925 [726.38, -39.25],
37926 [722.25, -39.25],
37927 [722.25, -43.04],
37928 [715.29, -38.91]
37929 ],
37930 "i": [
37931 [0, 0],
37932 [0, 5.117],
37933 [0, 0],
37934 [0, 0],
37935 [0, 0],
37936 [-3.028, 0],
37937 [0, 3.753],
37938 [0, 0],
37939 [0, 0],
37940 [0, 0],
37941 [0, 0],
37942 [0, 0],
37943 [3.2, 0]
37944 ],
37945 "o": [
37946 [-4.86, 0],
37947 [0, 0],
37948 [0, 0],
37949 [0, 0],
37950 [0, 3.412],
37951 [3.371, 0],
37952 [0, 0],
37953 [0, 0],
37954 [0, 0],
37955 [0, 0],
37956 [0, 0],
37957 [-1.151, 2.687],
37958 [0, 0]
37959 ]
37960 }
37961 }
37962 }, {
37963 "ty": "tr",
37964 "o": {
37965 "a": 0,
37966 "k": 100,
37967 "ix": 2
37968 }
37969 }]
37970 },
37971 {
37972 "ty": "gr",
37973 "it": [{
37974 "ty": "sh",
37975 "d": 1,
37976 "ks": {
37977 "a": 0,
37978 "k": {
37979 "c": true,
37980 "v": [
37981 [685.66, -57.03],
37982 [692.1, -57.03],
37983 [697.22, -61.21],
37984 [692.05, -65.39],
37985 [685.66, -65.39],
37986 [685.66, -57.03]
37987 ],
37988 "i": [
37989 [0, 0],
37990 [0, 0],
37991 [0, 2.772],
37992 [3.371, 0],
37993 [0, 0],
37994 [0, 0]
37995 ],
37996 "o": [
37997 [0, 0],
37998 [3.327, 0],
37999 [0, -2.73],
38000 [0, 0],
38001 [0, 0],
38002 [0, 0]
38003 ]
38004 }
38005 }
38006 }, {
38007 "ty": "tr",
38008 "o": {
38009 "a": 0,
38010 "k": 100,
38011 "ix": 2
38012 }
38013 }]
38014 },
38015 {
38016 "ty": "gr",
38017 "it": [{
38018 "ty": "sh",
38019 "d": 1,
38020 "ks": {
38021 "a": 0,
38022 "k": {
38023 "c": true,
38024 "v": [
38025 [685.66, -43.17],
38026 [692.27, -43.17],
38027 [698.53, -48.16],
38028 [692.27, -53.15],
38029 [685.66, -53.15],
38030 [685.66, -43.17]
38031 ],
38032 "i": [
38033 [0, 0],
38034 [0, 0],
38035 [0, 3.242],
38036 [4.179, 0],
38037 [0, 0],
38038 [0, 0]
38039 ],
38040 "o": [
38041 [0, 0],
38042 [4.179, 0],
38043 [0, -3.241],
38044 [0, 0],
38045 [0, 0],
38046 [0, 0]
38047 ]
38048 }
38049 }
38050 }, {
38051 "ty": "tr",
38052 "o": {
38053 "a": 0,
38054 "k": 100,
38055 "ix": 2
38056 }
38057 }]
38058 },
38059 {
38060 "ty": "gr",
38061 "it": [{
38062 "ty": "sh",
38063 "d": 1,
38064 "ks": {
38065 "a": 0,
38066 "k": {
38067 "c": true,
38068 "v": [
38069 [681.26, -39.25],
38070 [681.26, -69.1],
38071 [692.31, -69.1],
38072 [701.52, -61.81],
38073 [697.68, -55.58],
38074 [702.88, -47.95],
38075 [692.87, -39.25],
38076 [681.26, -39.25]
38077 ],
38078 "i": [
38079 [0, 0],
38080 [0, 0],
38081 [0, 0],
38082 [0, -4.478],
38083 [2.137, -1.024],
38084 [0, -4.137],
38085 [6.183, 0],
38086 [0, 0]
38087 ],
38088 "o": [
38089 [0, 0],
38090 [0, 0],
38091 [5.585, 0],
38092 [0, 3.198],
38093 [2.99, 1.066],
38094 [0, 5.373],
38095 [0, 0],
38096 [0, 0]
38097 ]
38098 }
38099 }
38100 }, {
38101 "ty": "tr",
38102 "o": {
38103 "a": 0,
38104 "k": 100,
38105 "ix": 2
38106 }
38107 }]
38108 },
38109 {
38110 "ty": "gr",
38111 "it": [{
38112 "ty": "sh",
38113 "d": 1,
38114 "ks": {
38115 "a": 0,
38116 "k": {
38117 "c": true,
38118 "v": [
38119 [663.6, -39.25],
38120 [656.44, -46.28],
38121 [656.44, -57.16],
38122 [652.04, -57.16],
38123 [652.04, -60.74],
38124 [656.44, -60.74],
38125 [656.44, -67.48],
38126 [660.57, -67.48],
38127 [660.57, -60.74],
38128 [666.92, -60.74],
38129 [666.92, -57.16],
38130 [660.57, -57.16],
38131 [660.57, -46.41],
38132 [663.9, -42.83],
38133 [666.92, -42.83],
38134 [666.92, -39.25],
38135 [663.6, -39.25]
38136 ],
38137 "i": [
38138 [0, 0],
38139 [0, 4.393],
38140 [0, 0],
38141 [0, 0],
38142 [0, 0],
38143 [0, 0],
38144 [0, 0],
38145 [0, 0],
38146 [0, 0],
38147 [0, 0],
38148 [0, 0],
38149 [0, 0],
38150 [0, 0],
38151 [-2.048, 0],
38152 [0, 0],
38153 [0, 0],
38154 [0, 0]
38155 ],
38156 "o": [
38157 [-4.351, 0],
38158 [0, 0],
38159 [0, 0],
38160 [0, 0],
38161 [0, 0],
38162 [0, 0],
38163 [0, 0],
38164 [0, 0],
38165 [0, 0],
38166 [0, 0],
38167 [0, 0],
38168 [0, 0],
38169 [0, 2.303],
38170 [0, 0],
38171 [0, 0],
38172 [0, 0],
38173 [0, 0]
38174 ]
38175 }
38176 }
38177 }, {
38178 "ty": "tr",
38179 "o": {
38180 "a": 0,
38181 "k": 100,
38182 "ix": 2
38183 }
38184 }]
38185 },
38186 {
38187 "ty": "gr",
38188 "it": [{
38189 "ty": "sh",
38190 "d": 1,
38191 "ks": {
38192 "a": 0,
38193 "k": {
38194 "c": true,
38195 "v": [
38196 [644.18, -69.74],
38197 [648.79, -69.74],
38198 [648.79, -64.54],
38199 [644.18, -64.54],
38200 [644.18, -69.74]
38201 ],
38202 "i": [
38203 [0, 0],
38204 [0, 0],
38205 [0, 0],
38206 [0, 0],
38207 [0, 0]
38208 ],
38209 "o": [
38210 [0, 0],
38211 [0, 0],
38212 [0, 0],
38213 [0, 0],
38214 [0, 0]
38215 ]
38216 }
38217 }
38218 }, {
38219 "ty": "tr",
38220 "o": {
38221 "a": 0,
38222 "k": 100,
38223 "ix": 2
38224 }
38225 }]
38226 },
38227 {
38228 "ty": "gr",
38229 "it": [{
38230 "ty": "sh",
38231 "d": 1,
38232 "ks": {
38233 "a": 0,
38234 "k": {
38235 "c": true,
38236 "v": [
38237 [644.44, -39.25],
38238 [644.44, -60.74],
38239 [648.57, -60.74],
38240 [648.57, -39.25],
38241 [644.44, -39.25]
38242 ],
38243 "i": [
38244 [0, 0],
38245 [0, 0],
38246 [0, 0],
38247 [0, 0],
38248 [0, 0]
38249 ],
38250 "o": [
38251 [0, 0],
38252 [0, 0],
38253 [0, 0],
38254 [0, 0],
38255 [0, 0]
38256 ]
38257 }
38258 }
38259 }, {
38260 "ty": "tr",
38261 "o": {
38262 "a": 0,
38263 "k": 100,
38264 "ix": 2
38265 }
38266 }]
38267 },
38268 {
38269 "ty": "gr",
38270 "it": [{
38271 "ty": "sh",
38272 "d": 1,
38273 "ks": {
38274 "a": 0,
38275 "k": {
38276 "c": true,
38277 "v": [
38278 [606.71, -39.25],
38279 [606.71, -60.74],
38280 [610.84, -60.74],
38281 [610.84, -56.95],
38282 [617.28, -61.08],
38283 [624.15, -56.65],
38284 [631.14, -61.08],
38285 [638.69, -52.9],
38286 [638.69, -39.25],
38287 [634.55, -39.25],
38288 [634.55, -51.74],
38289 [629.99, -57.46],
38290 [624.75, -50.98],
38291 [624.75, -39.25],
38292 [620.61, -39.25],
38293 [620.61, -51.74],
38294 [616.09, -57.46],
38295 [610.84, -50.98],
38296 [610.84, -39.25],
38297 [606.71, -39.25]
38298 ],
38299 "i": [
38300 [0, 0],
38301 [0, 0],
38302 [0, 0],
38303 [0, 0],
38304 [-3.2, 0],
38305 [-.852, -2.815],
38306 [-3.117, 0],
38307 [0, -4.99],
38308 [0, 0],
38309 [0, 0],
38310 [0, 0],
38311 [2.856, 0],
38312 [0, -3.411],
38313 [0, 0],
38314 [0, 0],
38315 [0, 0],
38316 [2.812, 0],
38317 [0, -3.411],
38318 [0, 0],
38319 [0, 0]
38320 ],
38321 "o": [
38322 [0, 0],
38323 [0, 0],
38324 [0, 0],
38325 [.897, -2.431],
38326 [3.282, 0],
38327 [.897, -2.558],
38328 [4.644, 0],
38329 [0, 0],
38330 [0, 0],
38331 [0, 0],
38332 [0, -3.412],
38333 [-3.289, 0],
38334 [0, 0],
38335 [0, 0],
38336 [0, 0],
38337 [0, -3.412],
38338 [-3.282, 0],
38339 [0, 0],
38340 [0, 0],
38341 [0, 0]
38342 ]
38343 }
38344 }
38345 }, {
38346 "ty": "tr",
38347 "o": {
38348 "a": 0,
38349 "k": 100,
38350 "ix": 2
38351 }
38352 }]
38353 },
38354 {
38355 "ty": "gr",
38356 "it": [{
38357 "ty": "sh",
38358 "d": 1,
38359 "ks": {
38360 "a": 0,
38361 "k": {
38362 "c": true,
38363 "v": [
38364 [591.2, -42.53],
38365 [597.82, -49.99],
38366 [591.2, -57.46],
38367 [584.59, -49.99],
38368 [591.2, -42.53]
38369 ],
38370 "i": [
38371 [0, 0],
38372 [0, 4.478],
38373 [3.969, 0],
38374 [0, -4.478],
38375 [-3.963, 0]
38376 ],
38377 "o": [
38378 [3.969, 0],
38379 [0, -4.478],
38380 [-3.963, 0],
38381 [0, 4.478],
38382 [0, 0]
38383 ]
38384 }
38385 }
38386 }, {
38387 "ty": "tr",
38388 "o": {
38389 "a": 0,
38390 "k": 100,
38391 "ix": 2
38392 }
38393 }]
38394 },
38395 {
38396 "ty": "gr",
38397 "it": [{
38398 "ty": "sh",
38399 "d": 1,
38400 "ks": {
38401 "a": 0,
38402 "k": {
38403 "c": true,
38404 "v": [
38405 [591.85, -38.91],
38406 [584.94, -42.45],
38407 [584.94, -39.25],
38408 [580.8, -39.25],
38409 [580.8, -69.74],
38410 [584.94, -69.74],
38411 [584.94, -57.59],
38412 [591.8, -61.08],
38413 [602, -49.99],
38414 [591.85, -38.91]
38415 ],
38416 "i": [
38417 [0, 0],
38418 [1.279, 2.133],
38419 [0, 0],
38420 [0, 0],
38421 [0, 0],
38422 [0, 0],
38423 [0, 0],
38424 [-2.856, 0],
38425 [0, -6.354],
38426 [6.437, 0]
38427 ],
38428 "o": [
38429 [-2.901, 0],
38430 [0, 0],
38431 [0, 0],
38432 [0, 0],
38433 [0, 0],
38434 [0, 0],
38435 [1.323, -2.132],
38436 [6.482, 0],
38437 [0, 6.355],
38438 [0, 0]
38439 ]
38440 }
38441 }
38442 }, {
38443 "ty": "tr",
38444 "o": {
38445 "a": 0,
38446 "k": 100,
38447 "ix": 2
38448 }
38449 }]
38450 },
38451 {
38452 "ty": "gr",
38453 "it": [{
38454 "ty": "sh",
38455 "d": 1,
38456 "ks": {
38457 "a": 0,
38458 "k": {
38459 "c": true,
38460 "v": [
38461 [563.7, -38.91],
38462 [555.68, -47.52],
38463 [555.68, -60.74],
38464 [559.82, -60.74],
38465 [559.82, -48.33],
38466 [564.85, -42.62],
38467 [570.65, -49.1],
38468 [570.65, -60.74],
38469 [574.78, -60.74],
38470 [574.78, -39.25],
38471 [570.65, -39.25],
38472 [570.65, -43.04],
38473 [563.7, -38.91]
38474 ],
38475 "i": [
38476 [0, 0],
38477 [0, 5.117],
38478 [0, 0],
38479 [0, 0],
38480 [0, 0],
38481 [-3.028, 0],
38482 [0, 3.753],
38483 [0, 0],
38484 [0, 0],
38485 [0, 0],
38486 [0, 0],
38487 [0, 0],
38488 [3.2, 0]
38489 ],
38490 "o": [
38491 [-4.866, 0],
38492 [0, 0],
38493 [0, 0],
38494 [0, 0],
38495 [0, 3.412],
38496 [3.365, 0],
38497 [0, 0],
38498 [0, 0],
38499 [0, 0],
38500 [0, 0],
38501 [0, 0],
38502 [-1.151, 2.687],
38503 [0, 0]
38504 ]
38505 }
38506 }
38507 }, {
38508 "ty": "tr",
38509 "o": {
38510 "a": 0,
38511 "k": 100,
38512 "ix": 2
38513 }
38514 }]
38515 },
38516 {
38517 "ty": "gr",
38518 "it": [{
38519 "ty": "sh",
38520 "d": 1,
38521 "ks": {
38522 "a": 0,
38523 "k": {
38524 "c": true,
38525 "v": [
38526 [540.47, -38.91],
38527 [529, -49.14],
38528 [533.3, -49.14],
38529 [540.47, -42.83],
38530 [546.87, -47.52],
38531 [529.9, -61.3],
38532 [540.13, -69.44],
38533 [550.79, -60.44],
38534 [546.49, -60.44],
38535 [540.13, -65.52],
38536 [534.37, -61.34],
38537 [551.39, -47.56],
38538 [540.47, -38.91]
38539 ],
38540 "i": [
38541 [0, 0],
38542 [.344, 6.184],
38543 [0, 0],
38544 [-4.567, 0],
38545 [0, 3.241],
38546 [0, 11.216],
38547 [-6.011, 0],
38548 [-.382, -5.458],
38549 [0, 0],
38550 [3.67, 0],
38551 [0, -2.558],
38552 [0, -11.685],
38553 [6.393, 0]
38554 ],
38555 "o": [
38556 [-7.08, 0],
38557 [0, 0],
38558 [.344, 3.838],
38559 [3.753, 0],
38560 [0, -7.463],
38561 [0, -4.862],
38562 [6.1, 0],
38563 [0, 0],
38564 [-.299, -3.07],
38565 [-3.581, 0],
38566 [0, 7.506],
38567 [0, 5.459],
38568 [0, 0]
38569 ]
38570 }
38571 }
38572 }, {
38573 "ty": "tr",
38574 "o": {
38575 "a": 0,
38576 "k": 100,
38577 "ix": 2
38578 }
38579 }]
38580 },
38581 {
38582 "ty": "fl",
38583 "c": {
38584 "a": 0,
38585 "k": [
38586 .13,
38587 .13,
38588 .13
38589 ],
38590 "ix": 2
38591 },
38592 "o": {
38593 "a": 0,
38594 "k": 100,
38595 "ix": 2
38596 },
38597 "r": 1,
38598 "bm": 0
38599 },
38600 {
38601 "ty": "tr",
38602 "o": {
38603 "a": 0,
38604 "k": 100,
38605 "ix": 2
38606 }
38607 }
38608 ]
38609 }, {
38610 "ty": "tr",
38611 "o": {
38612 "a": 0,
38613 "k": 100,
38614 "ix": 2
38615 }
38616 }]
38617 }],
38618 "ip": 0,
38619 "op": 877,
38620 "st": 0
38621 },
38622 {
38623 "ddd": 0,
38624 "ind": 143,
38625 "ty": 4,
38626 "sr": 1,
38627 "ks": { "o": {
38628 "a": 0,
38629 "k": 100,
38630 "ix": 2
38631 } },
38632 "ao": 0,
38633 "parent": 25,
38634 "shapes": [{
38635 "ty": "gr",
38636 "it": [{
38637 "ty": "gr",
38638 "it": [
38639 {
38640 "ty": "gr",
38641 "it": [{
38642 "ty": "sh",
38643 "d": 1,
38644 "ks": {
38645 "a": 0,
38646 "k": {
38647 "c": false,
38648 "v": [
38649 [677.09, -136.49],
38650 [676.84, -138.96],
38651 [678.4, -140.89],
38652 [680.87, -141.14],
38653 [682.8, -139.58],
38654 [684.34, -136.73]
38655 ],
38656 "i": [
38657 [0, 0],
38658 [-.242, .824],
38659 [-.757, .409],
38660 [-.821, -.246],
38661 [-.407, -.756],
38662 [0, 0]
38663 ],
38664 "o": [
38665 [-.407, -.756],
38666 [.248, -.824],
38667 [.757, -.409],
38668 [.827, .246],
38669 [0, 0],
38670 [0, 0]
38671 ]
38672 }
38673 }
38674 }, {
38675 "ty": "tr",
38676 "o": {
38677 "a": 0,
38678 "k": 100,
38679 "ix": 2
38680 }
38681 }]
38682 },
38683 {
38684 "ty": "gr",
38685 "it": [{
38686 "ty": "sh",
38687 "d": 1,
38688 "ks": {
38689 "a": 0,
38690 "k": {
38691 "c": false,
38692 "v": [
38693 [672.41, -131.51],
38694 [670.36, -135.31],
38695 [669.99, -136.52],
38696 [670.11, -137.78],
38697 [670.7, -138.9],
38698 [671.67, -139.7],
38699 [672.88, -140.08],
38700 [674.14, -139.96],
38701 [675.26, -139.37],
38702 [676.07, -138.39],
38703 [678.64, -133.64]
38704 ],
38705 "i": [
38706 [0, 0],
38707 [0, 0],
38708 [.045, .424],
38709 [-.121, .408],
38710 [-.267, .331],
38711 [-.375, .202],
38712 [-.426, .044],
38713 [-.407, -.121],
38714 [-.331, -.268],
38715 [-.204, -.375],
38716 [0, 0]
38717 ],
38718 "o": [
38719 [0, 0],
38720 [-.204, -.374],
38721 [-.045, -.424],
38722 [.121, -.408],
38723 [.267, -.33],
38724 [.375, -.203],
38725 [.42, -.044],
38726 [.407, .121],
38727 [.331, .268],
38728 [0, 0],
38729 [0, 0]
38730 ]
38731 }
38732 }
38733 }, {
38734 "ty": "tr",
38735 "o": {
38736 "a": 0,
38737 "k": 100,
38738 "ix": 2
38739 }
38740 }]
38741 },
38742 {
38743 "ty": "gr",
38744 "it": [{
38745 "ty": "sh",
38746 "d": 1,
38747 "ks": {
38748 "a": 0,
38749 "k": {
38750 "c": false,
38751 "v": [
38752 [672.93, -130.56],
38753 [665.22, -144.81],
38754 [663.29, -146.38],
38755 [660.83, -146.12],
38756 [659.26, -144.2],
38757 [659.51, -141.73],
38758 [668.25, -125.57],
38759 [663.95, -126.85],
38760 [661.33, -126.74],
38761 [659.33, -125.04],
38762 [658.97, -122.63],
38763 [660.39, -120.64],
38764 [672.53, -113.13],
38765 [673.21, -112.76],
38766 [679.36, -111.22],
38767 [685.51, -112.79],
38768 [685.12, -112.57],
38769 [688.92, -114.63],
38770 [695.18, -122.33],
38771 [694.16, -132.21],
38772 [689.53, -140.76],
38773 [687.61, -142.33],
38774 [685.14, -142.07],
38775 [683.57, -140.15],
38776 [683.83, -137.68]
38777 ],
38778 "i": [
38779 [0, 0],
38780 [0, 0],
38781 [.821, .246],
38782 [.757, -.409],
38783 [.242, -.824],
38784 [-.407, -.756],
38785 [0, 0],
38786 [0, 0],
38787 [.84, -.328],
38788 [.458, -.774],
38789 [-.197, -.821],
38790 [-.712, -.45],
38791 [-1.088, -.59],
38792 [-.229, -.123],
38793 [-2.144, .004],
38794 [-1.889, 1.022],
38795 [0, 0],
38796 [0, 0],
38797 [-.986, 3.297],
38798 [1.635, 3.025],
38799 [0, 0],
38800 [.821, .245],
38801 [.751, -.41],
38802 [.242, -.824],
38803 [-.413, -.756]
38804 ],
38805 "o": [
38806 [0, 0],
38807 [-.413, -.756],
38808 [-.827, -.246],
38809 [-.757, .409],
38810 [-.248, .824],
38811 [0, 0],
38812 [0, 0],
38813 [-.859, -.256],
38814 [-.84, .328],
38815 [-.432, .726],
38816 [.197, .821],
38817 [7.01, 4.417],
38818 [.223, .123],
38819 [1.889, 1.015],
38820 [2.15, -.004],
38821 [0, 0],
38822 [0, 0],
38823 [3.022, -1.637],
38824 [.98, -3.296],
38825 [0, 0],
38826 [-.407, -.756],
38827 [-.827, -.246],
38828 [-.757, .409],
38829 [-.248, .824],
38830 [0, 0]
38831 ]
38832 }
38833 }
38834 }, {
38835 "ty": "tr",
38836 "o": {
38837 "a": 0,
38838 "k": 100,
38839 "ix": 2
38840 }
38841 }]
38842 },
38843 {
38844 "ty": "st",
38845 "c": {
38846 "a": 0,
38847 "k": [
38848 .13,
38849 .13,
38850 .13
38851 ],
38852 "ix": 2
38853 },
38854 "o": {
38855 "a": 0,
38856 "k": 100,
38857 "ix": 2
38858 },
38859 "w": {
38860 "a": 0,
38861 "k": 3,
38862 "ix": 2
38863 },
38864 "lc": 2,
38865 "lj": 2,
38866 "ml": 4
38867 },
38868 {
38869 "ty": "tr",
38870 "o": {
38871 "a": 0,
38872 "k": 100,
38873 "ix": 2
38874 }
38875 }
38876 ]
38877 }, {
38878 "ty": "tr",
38879 "p": {
38880 "a": 0,
38881 "k": [677.3, -128.87],
38882 "ix": 2
38883 },
38884 "a": {
38885 "a": 0,
38886 "k": [677.3, -128.87],
38887 "ix": 2
38888 },
38889 "o": {
38890 "a": 0,
38891 "k": 100,
38892 "ix": 2
38893 }
38894 }]
38895 }],
38896 "ip": 0,
38897 "op": 877,
38898 "st": 0
38899 },
38900 {
38901 "ddd": 0,
38902 "ind": 144,
38903 "ty": 4,
38904 "sr": 1,
38905 "ks": { "o": {
38906 "a": 0,
38907 "k": 100,
38908 "ix": 2
38909 } },
38910 "ao": 0,
38911 "parent": 25,
38912 "shapes": [{
38913 "ty": "gr",
38914 "it": [
38915 {
38916 "ty": "sh",
38917 "d": 1,
38918 "ks": {
38919 "a": 0,
38920 "k": {
38921 "c": false,
38922 "v": [
38923 [695.61, -130.39],
38924 [697.27, -130.39],
38925 [710.4, -143.51],
38926 [710.4, -159.9],
38927 [697.27, -173.02],
38928 [643.65, -173.02],
38929 [630.53, -159.9],
38930 [630.53, -143.51],
38931 [643.65, -130.39],
38932 [663.41, -130.39]
38933 ],
38934 "i": [
38935 [0, 0],
38936 [0, 0],
38937 [0, 7.248],
38938 [0, 0],
38939 [7.245, 0],
38940 [0, 0],
38941 [0, -7.248],
38942 [0, 0],
38943 [-7.245, 0],
38944 [0, 0]
38945 ],
38946 "o": [
38947 [0, 0],
38948 [7.245, 0],
38949 [0, 0],
38950 [0, -7.248],
38951 [0, 0],
38952 [-7.245, 0],
38953 [0, 0],
38954 [0, 7.248],
38955 [0, 0],
38956 [0, 0]
38957 ]
38958 }
38959 }
38960 },
38961 {
38962 "ty": "st",
38963 "c": {
38964 "a": 0,
38965 "k": [
38966 .13,
38967 .13,
38968 .13
38969 ],
38970 "ix": 2
38971 },
38972 "o": {
38973 "a": 0,
38974 "k": 100,
38975 "ix": 2
38976 },
38977 "w": {
38978 "a": 0,
38979 "k": 3,
38980 "ix": 2
38981 },
38982 "lc": 2,
38983 "lj": 1,
38984 "ml": 4
38985 },
38986 {
38987 "ty": "tr",
38988 "p": {
38989 "a": 0,
38990 "k": [670.46, -151.71],
38991 "ix": 2
38992 },
38993 "a": {
38994 "a": 0,
38995 "k": [670.46, -151.71],
38996 "ix": 2
38997 },
38998 "o": {
38999 "a": 0,
39000 "k": 100,
39001 "ix": 2
39002 }
39003 }
39004 ]
39005 }],
39006 "ip": 0,
39007 "op": 877,
39008 "st": 0
39009 },
39010 {
39011 "ddd": 0,
39012 "ind": 145,
39013 "ty": 4,
39014 "sr": 1,
39015 "ks": { "o": {
39016 "a": 0,
39017 "k": 100,
39018 "ix": 2
39019 } },
39020 "ao": 0,
39021 "parent": 25,
39022 "shapes": [{
39023 "ty": "gr",
39024 "it": [
39025 {
39026 "ty": "rc",
39027 "d": 1,
39028 "s": {
39029 "a": 0,
39030 "k": [395, 277],
39031 "ix": 2
39032 },
39033 "p": {
39034 "a": 0,
39035 "k": [0, 0],
39036 "ix": 2
39037 },
39038 "r": {
39039 "a": 0,
39040 "k": 8,
39041 "ix": 2
39042 }
39043 },
39044 {
39045 "ty": "st",
39046 "c": {
39047 "a": 0,
39048 "k": [
39049 1,
39050 1,
39051 1
39052 ],
39053 "ix": 2
39054 },
39055 "o": {
39056 "a": 0,
39057 "k": 100,
39058 "ix": 2
39059 },
39060 "w": {
39061 "a": 0,
39062 "k": 4,
39063 "ix": 2
39064 },
39065 "lc": 1,
39066 "lj": 1,
39067 "ml": 4
39068 },
39069 {
39070 "ty": "fl",
39071 "c": {
39072 "a": 0,
39073 "k": [
39074 1,
39075 1,
39076 1
39077 ],
39078 "ix": 2
39079 },
39080 "o": {
39081 "a": 0,
39082 "k": 100,
39083 "ix": 2
39084 },
39085 "r": 1,
39086 "bm": 0
39087 },
39088 {
39089 "ty": "tr",
39090 "p": {
39091 "a": 0,
39092 "k": [670.85, -116],
39093 "ix": 2
39094 },
39095 "s": {
39096 "a": 0,
39097 "k": [99, 99],
39098 "ix": 2
39099 },
39100 "o": {
39101 "a": 0,
39102 "k": 100,
39103 "ix": 2
39104 }
39105 }
39106 ]
39107 }],
39108 "ip": 0,
39109 "op": 877,
39110 "st": 0
39111 }
39112 ]
39113 },
39114 {
39115 "id": "V",
39116 "layers": [{
39117 "ddd": 0,
39118 "ind": 146,
39119 "ty": 4,
39120 "sr": 1,
39121 "ks": {
39122 "p": {
39123 "a": 0,
39124 "k": [-796, 233],
39125 "ix": 2
39126 },
39127 "o": {
39128 "a": 0,
39129 "k": 100,
39130 "ix": 2
39131 }
39132 },
39133 "ao": 0,
39134 "shapes": [{
39135 "ty": "gr",
39136 "it": [
39137 {
39138 "ty": "gr",
39139 "it": [{
39140 "ty": "sh",
39141 "d": 1,
39142 "ks": {
39143 "a": 0,
39144 "k": {
39145 "c": true,
39146 "v": [
39147 [805.9, -223.06],
39148 [815.18, -201.41],
39149 [836.83, -192.13],
39150 [827.55, -213.78],
39151 [805.9, -223.06]
39152 ],
39153 "i": [
39154 [0, 0],
39155 [-8.543, -8.529],
39156 [-3.422, 3.416],
39157 [8.543, 8.529],
39158 [3.422, -3.416]
39159 ],
39160 "o": [
39161 [-3.416, 3.416],
39162 [8.543, 8.54],
39163 [3.409, -3.416],
39164 [-8.543, -8.54],
39165 [0, 0]
39166 ]
39167 }
39168 }
39169 }, {
39170 "ty": "tr",
39171 "o": {
39172 "a": 0,
39173 "k": 100,
39174 "ix": 2
39175 }
39176 }]
39177 },
39178 {
39179 "ty": "gr",
39180 "it": [{
39181 "ty": "sh",
39182 "d": 1,
39183 "ks": {
39184 "a": 0,
39185 "k": {
39186 "c": true,
39187 "v": [
39188 [836.83, -223.06],
39189 [815.18, -213.78],
39190 [805.9, -192.13],
39191 [827.55, -201.41],
39192 [836.83, -223.06]
39193 ],
39194 "i": [
39195 [0, 0],
39196 [8.53, -8.543],
39197 [-3.416, -3.418],
39198 [-8.53, 8.543],
39199 [3.416, 3.418]
39200 ],
39201 "o": [
39202 [-3.416, -3.416],
39203 [-8.543, 8.54],
39204 [3.416, 3.414],
39205 [8.543, -8.54],
39206 [0, 0]
39207 ]
39208 }
39209 }
39210 }, {
39211 "ty": "tr",
39212 "o": {
39213 "a": 0,
39214 "k": 100,
39215 "ix": 2
39216 }
39217 }]
39218 },
39219 {
39220 "ty": "gr",
39221 "it": [{
39222 "ty": "sh",
39223 "d": 1,
39224 "ks": {
39225 "a": 0,
39226 "k": {
39227 "c": false,
39228 "v": [[821.36, -207.6], [821.36, -207.57]],
39229 "i": [[0, 0], [0, 0]],
39230 "o": [[0, 0], [0, 0]]
39231 }
39232 }
39233 }, {
39234 "ty": "tr",
39235 "o": {
39236 "a": 0,
39237 "k": 100,
39238 "ix": 2
39239 }
39240 }]
39241 },
39242 {
39243 "ty": "st",
39244 "c": {
39245 "a": 0,
39246 "k": [
39247 .13,
39248 .13,
39249 .13
39250 ],
39251 "ix": 2
39252 },
39253 "o": {
39254 "a": 0,
39255 "k": 100,
39256 "ix": 2
39257 },
39258 "w": {
39259 "a": 0,
39260 "k": 3,
39261 "ix": 2
39262 },
39263 "lc": 2,
39264 "lj": 2,
39265 "ml": 4
39266 },
39267 {
39268 "ty": "tr",
39269 "o": {
39270 "a": 0,
39271 "k": 100,
39272 "ix": 2
39273 }
39274 }
39275 ]
39276 }],
39277 "ip": 0,
39278 "op": 877,
39279 "st": 0
39280 }]
39281 },
39282 {
39283 "id": "f",
39284 "layers": [{
39285 "ddd": 0,
39286 "refId": "W",
39287 "ind": 27,
39288 "ty": 2,
39289 "sr": 1,
39290 "ks": {
39291 "p": {
39292 "a": 0,
39293 "k": [147.95, 140.95],
39294 "ix": 2
39295 },
39296 "a": {
39297 "a": 0,
39298 "k": [653.29, 801.29],
39299 "ix": 2
39300 },
39301 "s": {
39302 "a": 1,
39303 "k": [{
39304 "t": -8,
39305 "s": [0, 0],
39306 "i": {
39307 "x": [0],
39308 "y": [1]
39309 },
39310 "o": {
39311 "x": [.333],
39312 "y": [0]
39313 }
39314 }, {
39315 "t": 216,
39316 "s": [25, 25]
39317 }],
39318 "ix": 2
39319 },
39320 "o": {
39321 "a": 1,
39322 "k": [{
39323 "t": 592,
39324 "s": [100],
39325 "i": {
39326 "x": [0],
39327 "y": [1]
39328 },
39329 "o": {
39330 "x": [.333],
39331 "y": [0]
39332 }
39333 }, {
39334 "t": 628,
39335 "s": [0]
39336 }],
39337 "ix": 2
39338 }
39339 },
39340 "ao": 0,
39341 "ip": 0,
39342 "op": 877,
39343 "st": 0
39344 }]
39345 },
39346 {
39347 "id": "W",
39348 "u": "",
39349 "p": "data:image/png;base64,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YO93u/3hzjnHOOcdFHXTPD/NI1eAqmmhZ8WVD9kQECtfliQEgJASAkBH62PdUgyd0/bacDFTw0TLZkXhzjnHOObNBScsM2NKhx9te61C2urmvASAkBICQEgJASAkBMgLcYEd0Hh4T5hQJmawfHKMtmReHOOcc45tJlHoiT/h/hYRBB8kHfzMahUgJASAkBICQEgJASAZ4FgHk3F49bzoCBWvyxICQEgJASAZn9TgEYhs1RvhmDa70KtuqAgVr8sSAkBH6bGppY78cPfnfLDWzrZkXhzjnHOOcc45xzi4RY1H7kTiS59MAwrFwAOLsyLw5xzjjhgOMogFR2X7Rzm4qxMGJASAkBICQEgJASAkBKLOATd4LQYc9tJJSKV73R9oyqyBICMrOSUCcwGrLZ5brhfUuiFEnOoy2ZF4c45xzjnHOOcc45xzjnHX40lTOgNDdN+b/MHuGoZfg9qPuWbvjI93axj+8Occ45xzjnHOOcc45xzjnHOOcc45xzjnHxZJevyxICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJASAkBICQEgJALgAA/u2oAAAAABRvZe8svGFYehUK/Bkb/o3ZD5Y8qXX/PKuZ8AccPKT3xcqfJG1GK3kEYalY5qthz7z9FU1OaXwbmWgjaVqCrJX2oDvYkW2yKU3uN+Vd6CJf+62r8TpCsj7DW1u3H9MpnPbB8TB9hsDHC67iNHFddxGjiuu4XAWl2kCAJGz2rMnxvfm9up/7ltRiG8+v/5Xv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",
39350 "w": 1307,
39351 "h": 1067,
39352 "e": 1
39353 }
39354 ];
39355 var layers = [
39356 {
39357 "ddd": 0,
39358 "refId": "0",
39359 "w": 225,
39360 "h": 113,
39361 "ind": 1,
39362 "ty": 0,
39363 "nm": "lottielab.com",
39364 "sr": 1,
39365 "ks": {
39366 "p": {
39367 "a": 0,
39368 "k": [35, 17],
39369 "ix": 2
39370 },
39371 "o": {
39372 "a": 1,
39373 "k": [{
39374 "t": 0,
39375 "s": [0],
39376 "h": 1
39377 }, {
39378 "t": 732,
39379 "s": [100],
39380 "h": 1
39381 }],
39382 "ix": 2
39383 }
39384 },
39385 "ao": 0,
39386 "ip": 0,
39387 "op": 877,
39388 "st": 0
39389 },
39390 {
39391 "ddd": 0,
39392 "refId": "1",
39393 "w": 1184,
39394 "h": 592,
39395 "ind": 2,
39396 "ty": 0,
39397 "sr": 1,
39398 "ks": {
39399 "p": {
39400 "a": 0,
39401 "k": [148, 74],
39402 "ix": 2
39403 },
39404 "a": {
39405 "a": 0,
39406 "k": [592, 296],
39407 "ix": 2
39408 },
39409 "s": {
39410 "a": 0,
39411 "k": [25, 25],
39412 "ix": 2
39413 },
39414 "o": {
39415 "a": 1,
39416 "k": [
39417 {
39418 "t": 0,
39419 "s": [0],
39420 "h": 1
39421 },
39422 {
39423 "t": 600,
39424 "s": [100],
39425 "h": 1
39426 },
39427 {
39428 "t": 816,
39429 "s": [0],
39430 "h": 1
39431 }
39432 ],
39433 "ix": 2
39434 }
39435 },
39436 "ao": 0,
39437 "ip": 0,
39438 "op": 877,
39439 "st": 0
39440 },
39441 {
39442 "ddd": 0,
39443 "refId": "2",
39444 "w": 296,
39445 "h": 148,
39446 "ind": 3,
39447 "ty": 0,
39448 "sr": 1,
39449 "ks": { "o": {
39450 "a": 1,
39451 "k": [{
39452 "t": 0,
39453 "s": [0],
39454 "h": 1
39455 }, {
39456 "t": 716,
39457 "s": [100],
39458 "h": 1
39459 }],
39460 "ix": 2
39461 } },
39462 "ao": 0,
39463 "ip": 0,
39464 "op": 877,
39465 "st": 0
39466 },
39467 {
39468 "ddd": 0,
39469 "refId": "3",
39470 "w": 296,
39471 "h": 148,
39472 "ind": 4,
39473 "ty": 0,
39474 "sr": 1,
39475 "ks": { "o": {
39476 "a": 1,
39477 "k": [
39478 {
39479 "t": 0,
39480 "s": [0],
39481 "h": 1
39482 },
39483 {
39484 "t": 592,
39485 "s": [100],
39486 "h": 1
39487 },
39488 {
39489 "t": 856,
39490 "s": [0],
39491 "h": 1
39492 }
39493 ],
39494 "ix": 2
39495 } },
39496 "ao": 0,
39497 "ip": 0,
39498 "op": 877,
39499 "st": 0
39500 },
39501 {
39502 "ddd": 0,
39503 "ind": 5,
39504 "ty": 3,
39505 "sr": 1,
39506 "ks": {
39507 "p": {
39508 "a": 0,
39509 "k": [148, 74],
39510 "ix": 2
39511 },
39512 "s": {
39513 "a": 1,
39514 "k": [{
39515 "t": 176,
39516 "s": [22.5, 22.5],
39517 "i": {
39518 "x": [0],
39519 "y": [1]
39520 },
39521 "o": {
39522 "x": [0],
39523 "y": [0]
39524 }
39525 }, {
39526 "t": 248,
39527 "s": [25, 25]
39528 }],
39529 "ix": 2
39530 },
39531 "o": {
39532 "a": 0,
39533 "k": 100,
39534 "ix": 2
39535 }
39536 },
39537 "ao": 0,
39538 "ip": 0,
39539 "op": 877,
39540 "st": 0
39541 },
39542 {
39543 "ddd": 0,
39544 "ind": 6,
39545 "ty": 3,
39546 "sr": 1,
39547 "ks": {
39548 "p": {
39549 "a": 0,
39550 "k": [-137.23, 51.63],
39551 "ix": 2
39552 },
39553 "a": {
39554 "a": 0,
39555 "k": [172, 27],
39556 "ix": 2
39557 },
39558 "s": {
39559 "a": 0,
39560 "k": [76, 76],
39561 "ix": 2
39562 },
39563 "o": {
39564 "a": 0,
39565 "k": 100,
39566 "ix": 2
39567 }
39568 },
39569 "ao": 0,
39570 "ip": 0,
39571 "op": 877,
39572 "st": 0,
39573 "parent": 5
39574 },
39575 {
39576 "ddd": 0,
39577 "refId": "4",
39578 "w": 346,
39579 "h": 58,
39580 "ind": 7,
39581 "ty": 0,
39582 "sr": 1,
39583 "ks": {
39584 "p": {
39585 "a": 0,
39586 "k": [-2, -2],
39587 "ix": 2
39588 },
39589 "o": {
39590 "a": 0,
39591 "k": 100,
39592 "ix": 2
39593 }
39594 },
39595 "ao": 0,
39596 "ip": 0,
39597 "op": 877,
39598 "st": 0,
39599 "parent": 6
39600 },
39601 {
39602 "ddd": 0,
39603 "ind": 8,
39604 "ty": 3,
39605 "sr": 1,
39606 "ks": {
39607 "p": {
39608 "a": 0,
39609 "k": [-255.49, 52.06],
39610 "ix": 2
39611 },
39612 "a": {
39613 "a": 0,
39614 "k": [25.34, 27.62],
39615 "ix": 2
39616 },
39617 "s": {
39618 "a": 1,
39619 "k": [{
39620 "t": 512,
39621 "s": [70, 70],
39622 "i": {
39623 "x": [0],
39624 "y": [3.063]
39625 },
39626 "o": {
39627 "x": [0],
39628 "y": [0]
39629 }
39630 }, {
39631 "t": 548,
39632 "s": [81, 81]
39633 }],
39634 "ix": 2
39635 },
39636 "o": {
39637 "a": 0,
39638 "k": 100,
39639 "ix": 2
39640 }
39641 },
39642 "ao": 0,
39643 "ip": 0,
39644 "op": 877,
39645 "st": 0,
39646 "parent": 5
39647 },
39648 {
39649 "ddd": 0,
39650 "refId": "5",
39651 "w": 107,
39652 "h": 108,
39653 "ind": 9,
39654 "ty": 0,
39655 "sr": 1,
39656 "ks": {
39657 "p": {
39658 "a": 0,
39659 "k": [-32, -32],
39660 "ix": 2
39661 },
39662 "o": {
39663 "a": 0,
39664 "k": 100,
39665 "ix": 2
39666 }
39667 },
39668 "ao": 0,
39669 "ip": 0,
39670 "op": 877,
39671 "st": 0,
39672 "parent": 8
39673 },
39674 {
39675 "ddd": 0,
39676 "ind": 10,
39677 "ty": 3,
39678 "sr": 1,
39679 "ks": {
39680 "p": {
39681 "a": 0,
39682 "k": [111.85, 87.11],
39683 "ix": 2
39684 },
39685 "s": {
39686 "a": 1,
39687 "k": [
39688 {
39689 "t": 444,
39690 "s": [21, 21],
39691 "i": {
39692 "x": [.288],
39693 "y": [1]
39694 },
39695 "o": {
39696 "x": [.478],
39697 "y": [0]
39698 }
39699 },
39700 {
39701 "t": 460,
39702 "s": [26.25, 26.25],
39703 "i": {
39704 "x": [.629],
39705 "y": [1]
39706 },
39707 "o": {
39708 "x": [1],
39709 "y": [0]
39710 }
39711 },
39712 {
39713 "t": 480,
39714 "s": [25, 25]
39715 }
39716 ],
39717 "ix": 2
39718 },
39719 "o": {
39720 "a": 0,
39721 "k": 100,
39722 "ix": 2
39723 }
39724 },
39725 "ao": 0,
39726 "ip": 0,
39727 "op": 877,
39728 "st": 0
39729 },
39730 {
39731 "ddd": 0,
39732 "ind": 11,
39733 "ty": 3,
39734 "sr": 1,
39735 "ks": {
39736 "p": {
39737 "a": 0,
39738 "k": [7.38, -.79],
39739 "ix": 2
39740 },
39741 "a": {
39742 "a": 0,
39743 "k": [172, 27],
39744 "ix": 2
39745 },
39746 "s": {
39747 "a": 1,
39748 "k": [{
39749 "t": 448,
39750 "s": [75, 75],
39751 "i": {
39752 "x": [.833],
39753 "y": [1]
39754 },
39755 "o": {
39756 "x": [0],
39757 "y": [0]
39758 }
39759 }, {
39760 "t": 508,
39761 "s": [76, 76]
39762 }],
39763 "ix": 2
39764 },
39765 "o": {
39766 "a": 0,
39767 "k": 100,
39768 "ix": 2
39769 }
39770 },
39771 "ao": 0,
39772 "ip": 0,
39773 "op": 877,
39774 "st": 0,
39775 "parent": 10
39776 },
39777 {
39778 "ddd": 0,
39779 "refId": "6",
39780 "w": 343,
39781 "h": 53,
39782 "ind": 12,
39783 "ty": 0,
39784 "sr": 1,
39785 "ks": {
39786 "p": {
39787 "a": 0,
39788 "k": [1, 0],
39789 "ix": 2
39790 },
39791 "o": {
39792 "a": 0,
39793 "k": 100,
39794 "ix": 2
39795 }
39796 },
39797 "ao": 0,
39798 "ip": 0,
39799 "op": 877,
39800 "st": 0,
39801 "parent": 11
39802 },
39803 {
39804 "ddd": 0,
39805 "ind": 13,
39806 "ty": 3,
39807 "sr": 1,
39808 "ks": {
39809 "p": {
39810 "a": 0,
39811 "k": [-110.31, -1.7],
39812 "ix": 2
39813 },
39814 "a": {
39815 "a": 0,
39816 "k": [27.34, 25.87],
39817 "ix": 2
39818 },
39819 "s": {
39820 "a": 1,
39821 "k": [{
39822 "t": 496,
39823 "s": [81, 81],
39824 "i": {
39825 "x": [1],
39826 "y": [1]
39827 },
39828 "o": {
39829 "x": [1],
39830 "y": [0]
39831 }
39832 }, {
39833 "t": 512,
39834 "s": [67, 67]
39835 }],
39836 "ix": 2
39837 },
39838 "o": {
39839 "a": 0,
39840 "k": 100,
39841 "ix": 2
39842 }
39843 },
39844 "ao": 0,
39845 "ip": 0,
39846 "op": 877,
39847 "st": 0,
39848 "parent": 10
39849 },
39850 {
39851 "ddd": 0,
39852 "refId": "7",
39853 "w": 92,
39854 "h": 83,
39855 "ind": 14,
39856 "ty": 0,
39857 "sr": 1,
39858 "ks": {
39859 "p": {
39860 "a": 0,
39861 "k": [-25, -15],
39862 "ix": 2
39863 },
39864 "o": {
39865 "a": 0,
39866 "k": 100,
39867 "ix": 2
39868 }
39869 },
39870 "ao": 0,
39871 "ip": 0,
39872 "op": 877,
39873 "st": 0,
39874 "parent": 13
39875 },
39876 {
39877 "ddd": 0,
39878 "refId": "8",
39879 "w": 338,
39880 "h": 237,
39881 "ind": 15,
39882 "ty": 0,
39883 "sr": 1,
39884 "ks": {
39885 "p": {
39886 "a": 1,
39887 "k": [{
39888 "t": 336,
39889 "s": [-40.48, 107.77],
39890 "i": {
39891 "x": [0],
39892 "y": [1]
39893 },
39894 "o": {
39895 "x": [.333],
39896 "y": [0]
39897 }
39898 }, {
39899 "t": 408,
39900 "s": [77.02, 102.77]
39901 }],
39902 "ix": 2
39903 },
39904 "a": {
39905 "a": 0,
39906 "k": [169, 118.5],
39907 "ix": 2
39908 },
39909 "s": {
39910 "a": 1,
39911 "k": [{
39912 "t": 428,
39913 "s": [19.75, 19.75],
39914 "i": {
39915 "x": [1],
39916 "y": [1]
39917 },
39918 "o": {
39919 "x": [1],
39920 "y": [0]
39921 }
39922 }, {
39923 "t": 452,
39924 "s": [16.25, 16.25]
39925 }],
39926 "ix": 2
39927 },
39928 "o": {
39929 "a": 1,
39930 "k": [
39931 {
39932 "t": 0,
39933 "s": [0],
39934 "h": 1
39935 },
39936 {
39937 "t": 356,
39938 "s": [100],
39939 "h": 1
39940 },
39941 {
39942 "t": 448,
39943 "s": [0],
39944 "h": 1
39945 }
39946 ],
39947 "ix": 2
39948 }
39949 },
39950 "ao": 0,
39951 "ip": 0,
39952 "op": 877,
39953 "st": 0
39954 },
39955 {
39956 "ddd": 0,
39957 "ind": 16,
39958 "ty": 3,
39959 "sr": 1,
39960 "ks": {
39961 "p": {
39962 "a": 0,
39963 "k": [148, 74],
39964 "ix": 2
39965 },
39966 "s": {
39967 "a": 1,
39968 "k": [{
39969 "t": 176,
39970 "s": [22.5, 22.5],
39971 "i": {
39972 "x": [0],
39973 "y": [1]
39974 },
39975 "o": {
39976 "x": [0],
39977 "y": [0]
39978 }
39979 }, {
39980 "t": 248,
39981 "s": [25, 25]
39982 }],
39983 "ix": 2
39984 },
39985 "o": {
39986 "a": 0,
39987 "k": 100,
39988 "ix": 2
39989 }
39990 },
39991 "ao": 0,
39992 "ip": 0,
39993 "op": 877,
39994 "st": 0
39995 },
39996 {
39997 "ddd": 0,
39998 "refId": "9",
39999 "w": 563,
40000 "h": 283,
40001 "ind": 17,
40002 "ty": 0,
40003 "sr": 1,
40004 "ks": {
40005 "p": {
40006 "a": 0,
40007 "k": [-282, -203],
40008 "ix": 2
40009 },
40010 "o": {
40011 "a": 1,
40012 "k": [
40013 {
40014 "t": 0,
40015 "s": [0],
40016 "h": 1
40017 },
40018 {
40019 "t": 176,
40020 "s": [100],
40021 "h": 1
40022 },
40023 {
40024 "t": 660,
40025 "s": [0],
40026 "h": 1
40027 }
40028 ],
40029 "ix": 2
40030 }
40031 },
40032 "ao": 0,
40033 "ip": 0,
40034 "op": 877,
40035 "st": 0,
40036 "parent": 16
40037 },
40038 {
40039 "ddd": 0,
40040 "ind": 18,
40041 "ty": 4,
40042 "sr": 1,
40043 "ks": { "o": {
40044 "a": 1,
40045 "k": [
40046 {
40047 "t": 0,
40048 "s": [0],
40049 "h": 1
40050 },
40051 {
40052 "t": 176,
40053 "s": [100],
40054 "h": 1
40055 },
40056 {
40057 "t": 660,
40058 "s": [0],
40059 "h": 1
40060 }
40061 ],
40062 "ix": 2
40063 } },
40064 "ao": 0,
40065 "parent": 16,
40066 "shapes": [{
40067 "ty": "gr",
40068 "it": [
40069 {
40070 "ty": "gr",
40071 "it": [{
40072 "ty": "gr",
40073 "it": [
40074 {
40075 "ty": "gr",
40076 "it": [{
40077 "ty": "sh",
40078 "d": 1,
40079 "ks": {
40080 "a": 0,
40081 "k": {
40082 "c": true,
40083 "v": [
40084 [9.58, 3.18],
40085 [9.58, -3.25],
40086 [10.46, -3.25],
40087 [10.46, 3.18],
40088 [9.58, 3.18]
40089 ],
40090 "i": [
40091 [0, 0],
40092 [0, 0],
40093 [0, 0],
40094 [0, 0],
40095 [0, 0]
40096 ],
40097 "o": [
40098 [0, 0],
40099 [0, 0],
40100 [0, 0],
40101 [0, 0],
40102 [0, 0]
40103 ]
40104 }
40105 }
40106 }, {
40107 "ty": "tr",
40108 "o": {
40109 "a": 0,
40110 "k": 100,
40111 "ix": 2
40112 }
40113 }]
40114 },
40115 {
40116 "ty": "gr",
40117 "it": [{
40118 "ty": "sh",
40119 "d": 1,
40120 "ks": {
40121 "a": 0,
40122 "k": {
40123 "c": true,
40124 "v": [
40125 [7.38, -3.25],
40126 [8.36, -3.25],
40127 [8.36, -2.16],
40128 [7.38, -2.16],
40129 [7.38, -3.25]
40130 ],
40131 "i": [
40132 [0, 0],
40133 [0, 0],
40134 [0, 0],
40135 [0, 0],
40136 [0, 0]
40137 ],
40138 "o": [
40139 [0, 0],
40140 [0, 0],
40141 [0, 0],
40142 [0, 0],
40143 [0, 0]
40144 ]
40145 }
40146 }
40147 }, {
40148 "ty": "tr",
40149 "o": {
40150 "a": 0,
40151 "k": 100,
40152 "ix": 2
40153 }
40154 }]
40155 },
40156 {
40157 "ty": "gr",
40158 "it": [{
40159 "ty": "sh",
40160 "d": 1,
40161 "ks": {
40162 "a": 0,
40163 "k": {
40164 "c": true,
40165 "v": [
40166 [7.44, 3.18],
40167 [7.44, -1.35],
40168 [8.31, -1.35],
40169 [8.31, 3.18],
40170 [7.44, 3.18]
40171 ],
40172 "i": [
40173 [0, 0],
40174 [0, 0],
40175 [0, 0],
40176 [0, 0],
40177 [0, 0]
40178 ],
40179 "o": [
40180 [0, 0],
40181 [0, 0],
40182 [0, 0],
40183 [0, 0],
40184 [0, 0]
40185 ]
40186 }
40187 }
40188 }, {
40189 "ty": "tr",
40190 "o": {
40191 "a": 0,
40192 "k": 100,
40193 "ix": 2
40194 }
40195 }]
40196 },
40197 {
40198 "ty": "gr",
40199 "it": [{
40200 "ty": "sh",
40201 "d": 1,
40202 "ks": {
40203 "a": 0,
40204 "k": {
40205 "c": true,
40206 "v": [
40207 [4.05, 2.56],
40208 [5.36, 1.19],
40209 [5.36, 1.11],
40210 [4.19, 1.11],
40211 [3.21, 1.87],
40212 [4.05, 2.56]
40213 ],
40214 "i": [
40215 [0, 0],
40216 [0, .837],
40217 [0, 0],
40218 [0, 0],
40219 [0, -.477],
40220 [-.513, 0]
40221 ],
40222 "o": [
40223 [.819, 0],
40224 [0, 0],
40225 [0, 0],
40226 [-.594, 0],
40227 [0, .414],
40228 [0, 0]
40229 ]
40230 }
40231 }
40232 }, {
40233 "ty": "tr",
40234 "o": {
40235 "a": 0,
40236 "k": 100,
40237 "ix": 2
40238 }
40239 }]
40240 },
40241 {
40242 "ty": "gr",
40243 "it": [{
40244 "ty": "sh",
40245 "d": 1,
40246 "ks": {
40247 "a": 0,
40248 "k": {
40249 "c": true,
40250 "v": [
40251 [3.88, 3.25],
40252 [2.33, 1.89],
40253 [4.1, .44],
40254 [5.05, .44],
40255 [5.36, .2],
40256 [4.26, -.72],
40257 [3.15, .13],
40258 [2.33, .13],
40259 [4.29, -1.43],
40260 [6.22, .26],
40261 [6.22, 3.18],
40262 [5.36, 3.18],
40263 [5.36, 2.43],
40264 [3.88, 3.25]
40265 ],
40266 "i": [
40267 [0, 0],
40268 [0, .81],
40269 [-1.062, 0],
40270 [0, 0],
40271 [0, .162],
40272 [.693, 0],
40273 [.027, -.459],
40274 [0, 0],
40275 [-1.08, 0],
40276 [0, -1.008],
40277 [0, 0],
40278 [0, 0],
40279 [0, 0],
40280 [.684, 0]
40281 ],
40282 "o": [
40283 [-.927, 0],
40284 [0, -.873],
40285 [0, 0],
40286 [.207, 0],
40287 [0, -.549],
40288 [-.639, 0],
40289 [0, 0],
40290 [.072, -.891],
40291 [1.17, 0],
40292 [0, 0],
40293 [0, 0],
40294 [0, 0],
40295 [-.225, .495],
40296 [0, 0]
40297 ]
40298 }
40299 }
40300 }, {
40301 "ty": "tr",
40302 "o": {
40303 "a": 0,
40304 "k": 100,
40305 "ix": 2
40306 }
40307 }]
40308 },
40309 {
40310 "ty": "gr",
40311 "it": [{
40312 "ty": "sh",
40313 "d": 1,
40314 "ks": {
40315 "a": 0,
40316 "k": {
40317 "c": true,
40318 "v": [
40319 [-5.41, 3.18],
40320 [-5.41, -1.35],
40321 [-4.54, -1.35],
40322 [-4.54, -.55],
40323 [-3.18, -1.43],
40324 [-1.73, -.49],
40325 [-.26, -1.43],
40326 [1.34, .3],
40327 [1.34, 3.18],
40328 [.47, 3.18],
40329 [.47, .54],
40330 [-.5, -.66],
40331 [-1.6, .71],
40332 [-1.6, 3.18],
40333 [-2.48, 3.18],
40334 [-2.48, .54],
40335 [-3.43, -.66],
40336 [-4.54, .71],
40337 [-4.54, 3.18],
40338 [-5.41, 3.18]
40339 ],
40340 "i": [
40341 [0, 0],
40342 [0, 0],
40343 [0, 0],
40344 [0, 0],
40345 [-.675, 0],
40346 [-.18, -.594],
40347 [-.657, 0],
40348 [0, -1.053],
40349 [0, 0],
40350 [0, 0],
40351 [0, 0],
40352 [.603, 0],
40353 [0, -.72],
40354 [0, 0],
40355 [0, 0],
40356 [0, 0],
40357 [.594, 0],
40358 [0, -.72],
40359 [0, 0],
40360 [0, 0]
40361 ],
40362 "o": [
40363 [0, 0],
40364 [0, 0],
40365 [0, 0],
40366 [.189, -.513],
40367 [.693, 0],
40368 [.189, -.54],
40369 [.981, 0],
40370 [0, 0],
40371 [0, 0],
40372 [0, 0],
40373 [0, -.72],
40374 [-.693, 0],
40375 [0, 0],
40376 [0, 0],
40377 [0, 0],
40378 [0, -.72],
40379 [-.693, 0],
40380 [0, 0],
40381 [0, 0],
40382 [0, 0]
40383 ]
40384 }
40385 }
40386 }, {
40387 "ty": "tr",
40388 "o": {
40389 "a": 0,
40390 "k": 100,
40391 "ix": 2
40392 }
40393 }]
40394 },
40395 {
40396 "ty": "gr",
40397 "it": [{
40398 "ty": "sh",
40399 "d": 1,
40400 "ks": {
40401 "a": 0,
40402 "k": {
40403 "c": true,
40404 "v": [
40405 [-10.46, 3.18],
40406 [-10.46, -3.12],
40407 [-6.41, -3.12],
40408 [-6.41, -2.29],
40409 [-9.52, -2.29],
40410 [-9.52, -.48],
40411 [-7.01, -.48],
40412 [-7.01, .35],
40413 [-9.52, .35],
40414 [-9.52, 2.35],
40415 [-6.32, 2.35],
40416 [-6.32, 3.18],
40417 [-10.46, 3.18]
40418 ],
40419 "i": [
40420 [0, 0],
40421 [0, 0],
40422 [0, 0],
40423 [0, 0],
40424 [0, 0],
40425 [0, 0],
40426 [0, 0],
40427 [0, 0],
40428 [0, 0],
40429 [0, 0],
40430 [0, 0],
40431 [0, 0],
40432 [0, 0]
40433 ],
40434 "o": [
40435 [0, 0],
40436 [0, 0],
40437 [0, 0],
40438 [0, 0],
40439 [0, 0],
40440 [0, 0],
40441 [0, 0],
40442 [0, 0],
40443 [0, 0],
40444 [0, 0],
40445 [0, 0],
40446 [0, 0],
40447 [0, 0]
40448 ]
40449 }
40450 }
40451 }, {
40452 "ty": "tr",
40453 "o": {
40454 "a": 0,
40455 "k": 100,
40456 "ix": 2
40457 }
40458 }]
40459 },
40460 {
40461 "ty": "fl",
40462 "c": {
40463 "a": 0,
40464 "k": [
40465 0,
40466 0,
40467 0
40468 ],
40469 "ix": 2
40470 },
40471 "o": {
40472 "a": 0,
40473 "k": 50,
40474 "ix": 2
40475 },
40476 "r": 1,
40477 "bm": 0
40478 },
40479 {
40480 "ty": "tr",
40481 "o": {
40482 "a": 0,
40483 "k": 100,
40484 "ix": 2
40485 }
40486 }
40487 ]
40488 }, {
40489 "ty": "tr",
40490 "p": {
40491 "a": 0,
40492 "k": [682, 120.32],
40493 "ix": 2
40494 },
40495 "o": {
40496 "a": 0,
40497 "k": 100,
40498 "ix": 2
40499 }
40500 }]
40501 },
40502 {
40503 "ty": "gr",
40504 "it": [
40505 {
40506 "ty": "sh",
40507 "d": 1,
40508 "ks": {
40509 "a": 0,
40510 "k": {
40511 "c": true,
40512 "v": [
40513 [-66, -10],
40514 [66, -10],
40515 [70, -6],
40516 [70, 6],
40517 [66, 10],
40518 [-66, 10],
40519 [-70, 6],
40520 [-70, -6],
40521 [-66, -10]
40522 ],
40523 "i": [
40524 [0, 0],
40525 [0, 0],
40526 [0, -2.209],
40527 [0, 0],
40528 [2.209, 0],
40529 [0, 0],
40530 [0, 2.209],
40531 [0, 0],
40532 [-2.209, 0]
40533 ],
40534 "o": [
40535 [0, 0],
40536 [2.209, 0],
40537 [0, 0],
40538 [0, 2.209],
40539 [0, 0],
40540 [-2.209, 0],
40541 [0, 0],
40542 [0, -2.209],
40543 [0, 0]
40544 ]
40545 }
40546 }
40547 },
40548 {
40549 "ty": "fl",
40550 "c": {
40551 "a": 0,
40552 "k": [
40553 1,
40554 1,
40555 1
40556 ],
40557 "ix": 2
40558 },
40559 "o": {
40560 "a": 0,
40561 "k": 100,
40562 "ix": 2
40563 },
40564 "r": 1,
40565 "bm": 0
40566 },
40567 {
40568 "ty": "tr",
40569 "p": {
40570 "a": 0,
40571 "k": [733.82, 120.5],
40572 "ix": 2
40573 },
40574 "o": {
40575 "a": 0,
40576 "k": 100,
40577 "ix": 2
40578 }
40579 }
40580 ]
40581 },
40582 {
40583 "ty": "gr",
40584 "it": [
40585 {
40586 "ty": "sh",
40587 "d": 1,
40588 "ks": {
40589 "a": 0,
40590 "k": {
40591 "c": true,
40592 "v": [
40593 [-66, -10],
40594 [66, -10],
40595 [70, -6],
40596 [70, 6],
40597 [66, 10],
40598 [-66, 10],
40599 [-70, 6],
40600 [-70, -6],
40601 [-66, -10]
40602 ],
40603 "i": [
40604 [0, 0],
40605 [0, 0],
40606 [0, -2.209],
40607 [0, 0],
40608 [2.209, 0],
40609 [0, 0],
40610 [0, 2.209],
40611 [0, 0],
40612 [-2.209, 0]
40613 ],
40614 "o": [
40615 [0, 0],
40616 [2.209, 0],
40617 [0, 0],
40618 [0, 2.209],
40619 [0, 0],
40620 [-2.209, 0],
40621 [0, 0],
40622 [0, -2.209],
40623 [0, 0]
40624 ]
40625 }
40626 }
40627 },
40628 {
40629 "ty": "fl",
40630 "c": {
40631 "a": 0,
40632 "k": [
40633 1,
40634 1,
40635 1
40636 ],
40637 "ix": 2
40638 },
40639 "o": {
40640 "a": 0,
40641 "k": 100,
40642 "ix": 2
40643 },
40644 "r": 1,
40645 "bm": 0
40646 },
40647 {
40648 "ty": "tr",
40649 "p": {
40650 "a": 0,
40651 "k": [733.82, 120.5],
40652 "ix": 2
40653 },
40654 "o": {
40655 "a": 0,
40656 "k": 100,
40657 "ix": 2
40658 }
40659 }
40660 ]
40661 },
40662 {
40663 "ty": "tr",
40664 "p": {
40665 "a": 1,
40666 "k": [
40667 {
40668 "t": 248,
40669 "s": [0, 0],
40670 "i": {
40671 "x": [.437],
40672 "y": [1]
40673 },
40674 "o": {
40675 "x": [1],
40676 "y": [0]
40677 }
40678 },
40679 {
40680 "t": 284,
40681 "s": [0, 100],
40682 "i": {
40683 "x": [.75],
40684 "y": [.75]
40685 },
40686 "o": {
40687 "x": [.25],
40688 "y": [.25]
40689 }
40690 },
40691 {
40692 "t": 348,
40693 "s": [0, 100],
40694 "i": {
40695 "x": [0],
40696 "y": [1]
40697 },
40698 "o": {
40699 "x": [.517],
40700 "y": [0]
40701 }
40702 },
40703 {
40704 "t": 416,
40705 "s": [0, 36],
40706 "i": {
40707 "x": [.75],
40708 "y": [.75]
40709 },
40710 "o": {
40711 "x": [.25],
40712 "y": [.25]
40713 }
40714 },
40715 {
40716 "t": 448,
40717 "s": [0, 36],
40718 "i": {
40719 "x": [0],
40720 "y": [1]
40721 },
40722 "o": {
40723 "x": [0],
40724 "y": [0]
40725 }
40726 },
40727 {
40728 "t": 484,
40729 "s": [0, 51]
40730 }
40731 ],
40732 "ix": 2
40733 },
40734 "a": {
40735 "a": 0,
40736 "k": [733.82, 141.5],
40737 "ix": 2
40738 },
40739 "s": {
40740 "a": 0,
40741 "k": [399, 399],
40742 "ix": 2
40743 },
40744 "o": {
40745 "a": 0,
40746 "k": 100,
40747 "ix": 2
40748 }
40749 }
40750 ]
40751 }],
40752 "ip": 0,
40753 "op": 877,
40754 "st": 0
40755 },
40756 {
40757 "ddd": 0,
40758 "ind": 19,
40759 "ty": 4,
40760 "sr": 1,
40761 "ks": { "o": {
40762 "a": 1,
40763 "k": [
40764 {
40765 "t": 0,
40766 "s": [0],
40767 "h": 1
40768 },
40769 {
40770 "t": 176,
40771 "s": [100],
40772 "h": 1
40773 },
40774 {
40775 "t": 660,
40776 "s": [0],
40777 "h": 1
40778 }
40779 ],
40780 "ix": 2
40781 } },
40782 "ao": 0,
40783 "parent": 16,
40784 "shapes": [{
40785 "ty": "gr",
40786 "it": [
40787 {
40788 "ty": "gr",
40789 "it": [{
40790 "ty": "gr",
40791 "it": [
40792 {
40793 "ty": "gr",
40794 "it": [{
40795 "ty": "sh",
40796 "d": 1,
40797 "ks": {
40798 "a": 0,
40799 "k": {
40800 "c": true,
40801 "v": [
40802 [15.39, 3.54],
40803 [13.71, 1.89],
40804 [13.71, -.67],
40805 [12.68, -.67],
40806 [12.68, -1.5],
40807 [13.71, -1.5],
40808 [13.71, -3.08],
40809 [14.68, -3.08],
40810 [14.68, -1.5],
40811 [16.17, -1.5],
40812 [16.17, -.67],
40813 [14.68, -.67],
40814 [14.68, 1.85],
40815 [15.46, 2.69],
40816 [16.17, 2.69],
40817 [16.17, 3.54],
40818 [15.39, 3.54]
40819 ],
40820 "i": [
40821 [0, 0],
40822 [0, 1.03],
40823 [0, 0],
40824 [0, 0],
40825 [0, 0],
40826 [0, 0],
40827 [0, 0],
40828 [0, 0],
40829 [0, 0],
40830 [0, 0],
40831 [0, 0],
40832 [0, 0],
40833 [0, 0],
40834 [-.48, 0],
40835 [0, 0],
40836 [0, 0],
40837 [0, 0]
40838 ],
40839 "o": [
40840 [-1.02, 0],
40841 [0, 0],
40842 [0, 0],
40843 [0, 0],
40844 [0, 0],
40845 [0, 0],
40846 [0, 0],
40847 [0, 0],
40848 [0, 0],
40849 [0, 0],
40850 [0, 0],
40851 [0, 0],
40852 [0, .54],
40853 [0, 0],
40854 [0, 0],
40855 [0, 0],
40856 [0, 0]
40857 ]
40858 }
40859 }
40860 }, {
40861 "ty": "tr",
40862 "o": {
40863 "a": 0,
40864 "k": 100,
40865 "ix": 2
40866 }
40867 }]
40868 },
40869 {
40870 "ty": "gr",
40871 "it": [{
40872 "ty": "sh",
40873 "d": 1,
40874 "ks": {
40875 "a": 0,
40876 "k": {
40877 "c": true,
40878 "v": [
40879 [10.84, -3.62],
40880 [11.92, -3.62],
40881 [11.92, -2.4],
40882 [10.84, -2.4],
40883 [10.84, -3.62]
40884 ],
40885 "i": [
40886 [0, 0],
40887 [0, 0],
40888 [0, 0],
40889 [0, 0],
40890 [0, 0]
40891 ],
40892 "o": [
40893 [0, 0],
40894 [0, 0],
40895 [0, 0],
40896 [0, 0],
40897 [0, 0]
40898 ]
40899 }
40900 }
40901 }, {
40902 "ty": "tr",
40903 "o": {
40904 "a": 0,
40905 "k": 100,
40906 "ix": 2
40907 }
40908 }]
40909 },
40910 {
40911 "ty": "gr",
40912 "it": [{
40913 "ty": "sh",
40914 "d": 1,
40915 "ks": {
40916 "a": 0,
40917 "k": {
40918 "c": true,
40919 "v": [
40920 [10.9, 3.54],
40921 [10.9, -1.5],
40922 [11.87, -1.5],
40923 [11.87, 3.54],
40924 [10.9, 3.54]
40925 ],
40926 "i": [
40927 [0, 0],
40928 [0, 0],
40929 [0, 0],
40930 [0, 0],
40931 [0, 0]
40932 ],
40933 "o": [
40934 [0, 0],
40935 [0, 0],
40936 [0, 0],
40937 [0, 0],
40938 [0, 0]
40939 ]
40940 }
40941 }
40942 }, {
40943 "ty": "tr",
40944 "o": {
40945 "a": 0,
40946 "k": 100,
40947 "ix": 2
40948 }
40949 }]
40950 },
40951 {
40952 "ty": "gr",
40953 "it": [{
40954 "ty": "sh",
40955 "d": 1,
40956 "ks": {
40957 "a": 0,
40958 "k": {
40959 "c": true,
40960 "v": [
40961 [2.05, 3.54],
40962 [2.05, -1.5],
40963 [3.02, -1.5],
40964 [3.02, -.61],
40965 [4.53, -1.58],
40966 [6.14, -.55],
40967 [7.78, -1.58],
40968 [9.55, .34],
40969 [9.55, 3.54],
40970 [8.58, 3.54],
40971 [8.58, .6],
40972 [7.51, -.73],
40973 [6.28, .79],
40974 [6.28, 3.54],
40975 [5.31, 3.54],
40976 [5.31, .6],
40977 [4.25, -.73],
40978 [3.02, .79],
40979 [3.02, 3.54],
40980 [2.05, 3.54]
40981 ],
40982 "i": [
40983 [0, 0],
40984 [0, 0],
40985 [0, 0],
40986 [0, 0],
40987 [-.75, 0],
40988 [-.2, -.66],
40989 [-.73, 0],
40990 [0, -1.17],
40991 [0, 0],
40992 [0, 0],
40993 [0, 0],
40994 [.67, 0],
40995 [0, -.8],
40996 [0, 0],
40997 [0, 0],
40998 [0, 0],
40999 [.66, 0],
41000 [0, -.8],
41001 [0, 0],
41002 [0, 0]
41003 ],
41004 "o": [
41005 [0, 0],
41006 [0, 0],
41007 [0, 0],
41008 [.21, -.57],
41009 [.77, 0],
41010 [.21, -.6],
41011 [1.09, 0],
41012 [0, 0],
41013 [0, 0],
41014 [0, 0],
41015 [0, -.8],
41016 [-.77, 0],
41017 [0, 0],
41018 [0, 0],
41019 [0, 0],
41020 [0, -.8],
41021 [-.77, 0],
41022 [0, 0],
41023 [0, 0],
41024 [0, 0]
41025 ]
41026 }
41027 }
41028 }, {
41029 "ty": "tr",
41030 "o": {
41031 "a": 0,
41032 "k": 100,
41033 "ix": 2
41034 }
41035 }]
41036 },
41037 {
41038 "ty": "gr",
41039 "it": [{
41040 "ty": "sh",
41041 "d": 1,
41042 "ks": {
41043 "a": 0,
41044 "k": {
41045 "c": true,
41046 "v": [
41047 [-1.58, 2.77],
41048 [-.04, 1.01],
41049 [-1.58, -.73],
41050 [-3.13, 1.01],
41051 [-1.58, 2.77]
41052 ],
41053 "i": [
41054 [0, 0],
41055 [0, 1.05],
41056 [.93, 0],
41057 [0, -1.05],
41058 [-.93, 0]
41059 ],
41060 "o": [
41061 [.93, 0],
41062 [0, -1.05],
41063 [-.93, 0],
41064 [0, 1.05],
41065 [0, 0]
41066 ]
41067 }
41068 }
41069 }, {
41070 "ty": "tr",
41071 "o": {
41072 "a": 0,
41073 "k": 100,
41074 "ix": 2
41075 }
41076 }]
41077 },
41078 {
41079 "ty": "gr",
41080 "it": [{
41081 "ty": "sh",
41082 "d": 1,
41083 "ks": {
41084 "a": 0,
41085 "k": {
41086 "c": true,
41087 "v": [
41088 [-1.43, 3.62],
41089 [-3.06, 2.79],
41090 [-3.06, 3.54],
41091 [-4.03, 3.54],
41092 [-4.03, -3.62],
41093 [-3.06, -3.62],
41094 [-3.06, -.77],
41095 [-1.45, -1.58],
41096 [.94, 1.01],
41097 [-1.43, 3.62]
41098 ],
41099 "i": [
41100 [0, 0],
41101 [.3, .5],
41102 [0, 0],
41103 [0, 0],
41104 [0, 0],
41105 [0, 0],
41106 [0, 0],
41107 [-.67, 0],
41108 [0, -1.49],
41109 [1.51, 0]
41110 ],
41111 "o": [
41112 [-.68, 0],
41113 [0, 0],
41114 [0, 0],
41115 [0, 0],
41116 [0, 0],
41117 [0, 0],
41118 [.31, -.5],
41119 [1.52, 0],
41120 [0, 1.49],
41121 [0, 0]
41122 ]
41123 }
41124 }
41125 }, {
41126 "ty": "tr",
41127 "o": {
41128 "a": 0,
41129 "k": 100,
41130 "ix": 2
41131 }
41132 }]
41133 },
41134 {
41135 "ty": "gr",
41136 "it": [{
41137 "ty": "sh",
41138 "d": 1,
41139 "ks": {
41140 "a": 0,
41141 "k": {
41142 "c": true,
41143 "v": [
41144 [-8.04, 3.62],
41145 [-9.91, 1.59],
41146 [-9.91, -1.5],
41147 [-8.95, -1.5],
41148 [-8.95, 1.41],
41149 [-7.76, 2.75],
41150 [-6.4, 1.23],
41151 [-6.4, -1.5],
41152 [-5.43, -1.5],
41153 [-5.43, 3.54],
41154 [-6.4, 3.54],
41155 [-6.4, 2.65],
41156 [-8.04, 3.62]
41157 ],
41158 "i": [
41159 [0, 0],
41160 [0, 1.2],
41161 [0, 0],
41162 [0, 0],
41163 [0, 0],
41164 [-.71, 0],
41165 [0, .88],
41166 [0, 0],
41167 [0, 0],
41168 [0, 0],
41169 [0, 0],
41170 [0, 0],
41171 [.75, 0]
41172 ],
41173 "o": [
41174 [-1.14, 0],
41175 [0, 0],
41176 [0, 0],
41177 [0, 0],
41178 [0, .8],
41179 [.79, 0],
41180 [0, 0],
41181 [0, 0],
41182 [0, 0],
41183 [0, 0],
41184 [0, 0],
41185 [-.27, .63],
41186 [0, 0]
41187 ]
41188 }
41189 }
41190 }, {
41191 "ty": "tr",
41192 "o": {
41193 "a": 0,
41194 "k": 100,
41195 "ix": 2
41196 }
41197 }]
41198 },
41199 {
41200 "ty": "gr",
41201 "it": [{
41202 "ty": "sh",
41203 "d": 1,
41204 "ks": {
41205 "a": 0,
41206 "k": {
41207 "c": true,
41208 "v": [
41209 [-13.48, 3.62],
41210 [-16.17, 1.22],
41211 [-15.16, 1.22],
41212 [-13.48, 2.69],
41213 [-11.98, 1.59],
41214 [-15.96, -1.64],
41215 [-13.56, -3.54],
41216 [-11.06, -1.44],
41217 [-12.07, -1.44],
41218 [-13.56, -2.63],
41219 [-14.91, -1.65],
41220 [-10.92, 1.58],
41221 [-13.48, 3.62]
41222 ],
41223 "i": [
41224 [0, 0],
41225 [.08, 1.45],
41226 [0, 0],
41227 [-1.07, 0],
41228 [0, .76],
41229 [0, 2.63],
41230 [-1.41, 0],
41231 [-.09, -1.28],
41232 [0, 0],
41233 [.86, 0],
41234 [0, -.6],
41235 [0, -2.74],
41236 [1.5, 0]
41237 ],
41238 "o": [
41239 [-1.66, 0],
41240 [0, 0],
41241 [.08, .9],
41242 [.88, 0],
41243 [0, -1.75],
41244 [0, -1.14],
41245 [1.43, 0],
41246 [0, 0],
41247 [-.07, -.72],
41248 [-.84, 0],
41249 [0, 1.76],
41250 [0, 1.28],
41251 [0, 0]
41252 ]
41253 }
41254 }
41255 }, {
41256 "ty": "tr",
41257 "o": {
41258 "a": 0,
41259 "k": 100,
41260 "ix": 2
41261 }
41262 }]
41263 },
41264 {
41265 "ty": "fl",
41266 "c": {
41267 "a": 0,
41268 "k": [
41269 1,
41270 1,
41271 1
41272 ],
41273 "ix": 2
41274 },
41275 "o": {
41276 "a": 0,
41277 "k": 100,
41278 "ix": 2
41279 },
41280 "r": 1,
41281 "bm": 0
41282 },
41283 {
41284 "ty": "tr",
41285 "o": {
41286 "a": 0,
41287 "k": 100,
41288 "ix": 2
41289 }
41290 }
41291 ]
41292 }, {
41293 "ty": "tr",
41294 "p": {
41295 "a": 0,
41296 "k": [734.38, 174.97],
41297 "ix": 2
41298 },
41299 "o": {
41300 "a": 0,
41301 "k": 100,
41302 "ix": 2
41303 }
41304 }]
41305 },
41306 {
41307 "ty": "gr",
41308 "it": [
41309 {
41310 "ty": "sh",
41311 "d": 1,
41312 "ks": {
41313 "a": 0,
41314 "k": {
41315 "c": true,
41316 "v": [
41317 [-26.5, -10.5],
41318 [26.5, -10.5],
41319 [28.5, -8.5],
41320 [28.5, 8.5],
41321 [26.5, 10.5],
41322 [-26.5, 10.5],
41323 [-28.5, 8.5],
41324 [-28.5, -8.5],
41325 [-26.5, -10.5]
41326 ],
41327 "i": [
41328 [0, 0],
41329 [0, 0],
41330 [0, -1.105],
41331 [0, 0],
41332 [1.105, 0],
41333 [0, 0],
41334 [0, 1.105],
41335 [0, 0],
41336 [-1.105, 0]
41337 ],
41338 "o": [
41339 [0, 0],
41340 [1.105, 0],
41341 [0, 0],
41342 [0, 1.105],
41343 [0, 0],
41344 [-1.105, 0],
41345 [0, 0],
41346 [0, -1.105],
41347 [0, 0]
41348 ]
41349 }
41350 }
41351 },
41352 {
41353 "ty": "fl",
41354 "c": {
41355 "a": 0,
41356 "k": [
41357 0,
41358 0,
41359 0
41360 ],
41361 "ix": 2
41362 },
41363 "o": {
41364 "a": 0,
41365 "k": 100,
41366 "ix": 2
41367 },
41368 "r": 1,
41369 "bm": 0
41370 },
41371 {
41372 "ty": "tr",
41373 "p": {
41374 "a": 0,
41375 "k": [734.32, 175],
41376 "ix": 2
41377 },
41378 "o": {
41379 "a": 0,
41380 "k": 100,
41381 "ix": 2
41382 }
41383 }
41384 ]
41385 },
41386 {
41387 "ty": "tr",
41388 "a": {
41389 "a": 0,
41390 "k": [733.82, 141.5],
41391 "ix": 2
41392 },
41393 "s": {
41394 "a": 0,
41395 "k": [399, 399],
41396 "ix": 2
41397 },
41398 "o": {
41399 "a": 0,
41400 "k": 100,
41401 "ix": 2
41402 }
41403 }
41404 ]
41405 }],
41406 "ip": 0,
41407 "op": 877,
41408 "st": 0
41409 },
41410 {
41411 "ddd": 0,
41412 "refId": "a",
41413 "ind": 20,
41414 "ty": 2,
41415 "sr": 1,
41416 "ks": {
41417 "a": {
41418 "a": 0,
41419 "k": [448, 224],
41420 "ix": 2
41421 },
41422 "o": {
41423 "a": 1,
41424 "k": [
41425 {
41426 "t": 0,
41427 "s": [0],
41428 "h": 1
41429 },
41430 {
41431 "t": 176,
41432 "s": [100],
41433 "h": 1
41434 },
41435 {
41436 "t": 660,
41437 "s": [0],
41438 "h": 1
41439 }
41440 ],
41441 "ix": 2
41442 }
41443 },
41444 "ao": 0,
41445 "ip": 0,
41446 "op": 877,
41447 "st": 0,
41448 "parent": 16
41449 },
41450 {
41451 "ddd": 0,
41452 "ind": 21,
41453 "ty": 3,
41454 "sr": 1,
41455 "ks": {
41456 "p": {
41457 "a": 0,
41458 "k": [148, 74],
41459 "ix": 2
41460 },
41461 "s": {
41462 "a": 1,
41463 "k": [{
41464 "t": 148,
41465 "s": [25, 25],
41466 "i": {
41467 "x": [1],
41468 "y": [1]
41469 },
41470 "o": {
41471 "x": [1],
41472 "y": [0]
41473 }
41474 }, {
41475 "t": 176,
41476 "s": [18.25, 18.25]
41477 }],
41478 "ix": 2
41479 },
41480 "o": {
41481 "a": 0,
41482 "k": 100,
41483 "ix": 2
41484 }
41485 },
41486 "ao": 0,
41487 "ip": 0,
41488 "op": 877,
41489 "st": 0
41490 },
41491 {
41492 "ddd": 0,
41493 "refId": "b",
41494 "w": 395,
41495 "h": 276,
41496 "ind": 22,
41497 "ty": 0,
41498 "sr": 1,
41499 "ks": {
41500 "p": {
41501 "a": 1,
41502 "k": [{
41503 "t": 16,
41504 "s": [-762.81, 389.66],
41505 "i": {
41506 "x": [0],
41507 "y": [1]
41508 },
41509 "o": {
41510 "x": [.421],
41511 "y": [0]
41512 }
41513 }, {
41514 "t": 136,
41515 "s": [-388.97, 10.9]
41516 }],
41517 "ix": 2
41518 },
41519 "a": {
41520 "a": 0,
41521 "k": [197.5, 138],
41522 "ix": 2
41523 },
41524 "s": {
41525 "a": 0,
41526 "k": [65, 65],
41527 "ix": 2
41528 },
41529 "o": {
41530 "a": 1,
41531 "k": [
41532 {
41533 "t": 0,
41534 "s": [0],
41535 "h": 1
41536 },
41537 {
41538 "t": 16,
41539 "s": [100],
41540 "h": 1
41541 },
41542 {
41543 "t": 176,
41544 "s": [0],
41545 "h": 1
41546 }
41547 ],
41548 "ix": 2
41549 }
41550 },
41551 "ao": 0,
41552 "ip": 0,
41553 "op": 877,
41554 "st": 0,
41555 "parent": 21
41556 },
41557 {
41558 "ddd": 0,
41559 "refId": "c",
41560 "w": 395,
41561 "h": 277,
41562 "ind": 23,
41563 "ty": 0,
41564 "sr": 1,
41565 "ks": {
41566 "p": {
41567 "a": 1,
41568 "k": [{
41569 "t": 8,
41570 "s": [-499.64, 389.66],
41571 "i": {
41572 "x": [0],
41573 "y": [1]
41574 },
41575 "o": {
41576 "x": [.421],
41577 "y": [0]
41578 }
41579 }, {
41580 "t": 124,
41581 "s": [-125.81, 10.9]
41582 }],
41583 "ix": 2
41584 },
41585 "a": {
41586 "a": 0,
41587 "k": [197.5, 138.5],
41588 "ix": 2
41589 },
41590 "s": {
41591 "a": 0,
41592 "k": [65, 65],
41593 "ix": 2
41594 },
41595 "o": {
41596 "a": 1,
41597 "k": [
41598 {
41599 "t": 0,
41600 "s": [0],
41601 "h": 1
41602 },
41603 {
41604 "t": 8,
41605 "s": [100],
41606 "h": 1
41607 },
41608 {
41609 "t": 176,
41610 "s": [0],
41611 "h": 1
41612 }
41613 ],
41614 "ix": 2
41615 }
41616 },
41617 "ao": 0,
41618 "ip": 0,
41619 "op": 877,
41620 "st": 0,
41621 "parent": 21
41622 },
41623 {
41624 "ddd": 0,
41625 "refId": "d",
41626 "w": 640,
41627 "h": 490,
41628 "ind": 24,
41629 "ty": 0,
41630 "sr": 1,
41631 "ks": {
41632 "p": {
41633 "a": 0,
41634 "k": [-371, -84],
41635 "ix": 2
41636 },
41637 "o": {
41638 "a": 1,
41639 "k": [{
41640 "t": 0,
41641 "s": [100],
41642 "h": 1
41643 }, {
41644 "t": 176,
41645 "s": [0],
41646 "h": 1
41647 }],
41648 "ix": 2
41649 }
41650 },
41651 "ao": 0,
41652 "ip": 0,
41653 "op": 877,
41654 "st": 0,
41655 "parent": 21
41656 },
41657 {
41658 "ddd": 0,
41659 "refId": "e",
41660 "w": 639,
41661 "h": 490,
41662 "ind": 25,
41663 "ty": 0,
41664 "sr": 1,
41665 "ks": {
41666 "p": {
41667 "a": 0,
41668 "k": [-107, -84],
41669 "ix": 2
41670 },
41671 "o": {
41672 "a": 1,
41673 "k": [{
41674 "t": 0,
41675 "s": [100],
41676 "h": 1
41677 }, {
41678 "t": 176,
41679 "s": [0],
41680 "h": 1
41681 }],
41682 "ix": 2
41683 }
41684 },
41685 "ao": 0,
41686 "ip": 0,
41687 "op": 877,
41688 "st": 0,
41689 "parent": 21
41690 },
41691 {
41692 "ddd": 0,
41693 "ind": 26,
41694 "ty": 4,
41695 "sr": 1,
41696 "ks": { "o": {
41697 "a": 1,
41698 "k": [{
41699 "t": 0,
41700 "s": [0],
41701 "h": 1
41702 }, {
41703 "t": 64,
41704 "s": [100],
41705 "h": 1
41706 }],
41707 "ix": 2
41708 } },
41709 "ao": 0,
41710 "shapes": [{
41711 "ty": "gr",
41712 "it": [{
41713 "ty": "gr",
41714 "it": [
41715 {
41716 "ty": "rc",
41717 "d": 1,
41718 "s": {
41719 "a": 1,
41720 "k": [
41721 {
41722 "t": 12,
41723 "s": [0, 0],
41724 "i": {
41725 "x": [0],
41726 "y": [1]
41727 },
41728 "o": {
41729 "x": [.454],
41730 "y": [0]
41731 }
41732 },
41733 {
41734 "t": 152,
41735 "s": [885.4, 463.6],
41736 "i": {
41737 "x": [0],
41738 "y": [1]
41739 },
41740 "o": {
41741 "x": [.34],
41742 "y": [0]
41743 }
41744 },
41745 {
41746 "t": 204,
41747 "s": [967.32, 506.16]
41748 }
41749 ],
41750 "ix": 2
41751 },
41752 "p": {
41753 "a": 0,
41754 "k": [0, 0],
41755 "ix": 2
41756 },
41757 "r": {
41758 "a": 0,
41759 "k": 0,
41760 "ix": 2
41761 }
41762 },
41763 {
41764 "ty": "st",
41765 "c": {
41766 "a": 0,
41767 "k": [
41768 .855,
41769 .22,
41770 .891
41771 ],
41772 "ix": 2
41773 },
41774 "o": {
41775 "a": 0,
41776 "k": 100,
41777 "ix": 2
41778 },
41779 "w": {
41780 "a": 0,
41781 "k": 2,
41782 "ix": 2
41783 },
41784 "lc": 1,
41785 "lj": 1,
41786 "ml": 4
41787 },
41788 {
41789 "ty": "tr",
41790 "p": {
41791 "a": 0,
41792 "k": [-1.84, -2.42],
41793 "ix": 2
41794 },
41795 "o": {
41796 "a": 0,
41797 "k": 100,
41798 "ix": 2
41799 }
41800 }
41801 ]
41802 }, {
41803 "ty": "tr",
41804 "p": {
41805 "a": 0,
41806 "k": [148.46, 74.6],
41807 "ix": 2
41808 },
41809 "s": {
41810 "a": 0,
41811 "k": [25, 25],
41812 "ix": 2
41813 },
41814 "o": {
41815 "a": 0,
41816 "k": 100,
41817 "ix": 2
41818 }
41819 }]
41820 }],
41821 "ip": 0,
41822 "op": 877,
41823 "st": 0
41824 },
41825 {
41826 "ddd": 0,
41827 "refId": "f",
41828 "w": 296,
41829 "h": 148,
41830 "ind": 27,
41831 "ty": 0,
41832 "sr": 1,
41833 "ks": { "o": {
41834 "a": 1,
41835 "k": [
41836 {
41837 "t": 0,
41838 "s": [0],
41839 "h": 1
41840 },
41841 {
41842 "t": 36,
41843 "s": [100],
41844 "h": 1
41845 },
41846 {
41847 "t": 668,
41848 "s": [0],
41849 "h": 1
41850 }
41851 ],
41852 "ix": 2
41853 } },
41854 "ao": 0,
41855 "ip": 0,
41856 "op": 877,
41857 "st": 0
41858 },
41859 {
41860 "ddd": 0,
41861 "ind": 28,
41862 "ty": 4,
41863 "sr": 1,
41864 "ks": { "o": {
41865 "a": 0,
41866 "k": 100,
41867 "ix": 2
41868 } },
41869 "ao": 0,
41870 "shapes": [{
41871 "ty": "gr",
41872 "it": [
41873 {
41874 "ty": "rc",
41875 "d": 1,
41876 "s": {
41877 "a": 0,
41878 "k": [1184, 592],
41879 "ix": 2
41880 },
41881 "p": {
41882 "a": 0,
41883 "k": [0, 0],
41884 "ix": 2
41885 },
41886 "r": {
41887 "a": 0,
41888 "k": 0,
41889 "ix": 2
41890 }
41891 },
41892 {
41893 "ty": "fl",
41894 "c": {
41895 "a": 0,
41896 "k": [
41897 .965,
41898 .965,
41899 .965
41900 ],
41901 "ix": 2
41902 },
41903 "o": {
41904 "a": 0,
41905 "k": 100,
41906 "ix": 2
41907 },
41908 "r": 1,
41909 "bm": 0
41910 },
41911 {
41912 "ty": "tr",
41913 "a": {
41914 "a": 0,
41915 "k": [-592, -296],
41916 "ix": 2
41917 },
41918 "s": {
41919 "a": 0,
41920 "k": [25, 25],
41921 "ix": 2
41922 },
41923 "o": {
41924 "a": 0,
41925 "k": 100,
41926 "ix": 2
41927 }
41928 }
41929 ]
41930 }],
41931 "ip": 0,
41932 "op": 877,
41933 "st": 0
41934 }
41935 ];
41936 var atomic_form_animation_default = {
41937 v,
41938 fr: 100,
41939 ip: 0,
41940 op: 876,
41941 w: 296,
41942 h: 148,
41943 ddd: 0,
41944 assets,
41945 layers
41946 };
41947
41948 //#endregion
41949 //#region modules/promotions/assets/js/react/atomic-promotion-media.js
41950 var CARD_WIDTH$2 = 296;
41951 var IMAGE_HEIGHT$1 = 176;
41952 var ANIMATION_HEIGHT = 150;
41953 var PROMOTION_ANIMATIONS = { "atomic-form-animation": atomic_form_animation_exports };
41954 function resolvePromotionAnimation(animationKey) {
41955 var _PROMOTION_ANIMATIONS;
41956 return (_PROMOTION_ANIMATIONS = PROMOTION_ANIMATIONS[animationKey]) !== null && _PROMOTION_ANIMATIONS !== void 0 ? _PROMOTION_ANIMATIONS : null;
41957 }
41958 function AtomicPromotionMedia(_ref) {
41959 var image = _ref.image;
41960 var animationData = _ref.animationData;
41961 if (image) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Image, {
41962 src: image,
41963 alt: "",
41964 sx: {
41965 width: CARD_WIDTH$2,
41966 height: IMAGE_HEIGHT$1
41967 }
41968 });
41969 if (animationData) return /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
41970 sx: {
41971 height: ANIMATION_HEIGHT,
41972 width: "100%",
41973 overflow: "hidden"
41974 },
41975 "data-testid": "e-atomic-form-animation"
41976 }, /*#__PURE__*/ react.default.createElement(import_index_umd.default, {
41977 animationData,
41978 loop: true,
41979 autoplay: true,
41980 rendererSettings: { preserveAspectRatio: "xMidYMid slice" },
41981 style: {
41982 width: "100%",
41983 height: "100%"
41984 }
41985 }));
41986 return null;
41987 }
41988 AtomicPromotionMedia.propTypes = {
41989 animationData: import_prop_types.default.object,
41990 image: import_prop_types.default.string
41991 };
41992
41993 //#endregion
41994 //#region modules/promotions/assets/js/react/components/atomic-promotion-card.js
41995 var CARD_WIDTH$1 = 296;
41996 var AtomicPromotionCard = function AtomicPromotionCard(_ref) {
41997 var doClose = _ref.doClose;
41998 var promotionData = _ref.promotionData;
41999 var _ref2 = promotionData !== null && promotionData !== void 0 ? promotionData : {};
42000 var title = _ref2.title;
42001 var content = _ref2.content;
42002 var ctaText = _ref2.ctaText;
42003 var ctaUrl = _ref2.ctaUrl;
42004 var image = _ref2.image;
42005 var animationData = _ref2.animationData;
42006 return /*#__PURE__*/ react.default.createElement(_elementor_ui.ClickAwayListener, {
42007 disableReactTree: true,
42008 mouseEvent: "onMouseDown",
42009 touchEvent: "onTouchStart",
42010 onClickAway: doClose
42011 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: { width: CARD_WIDTH$1 } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42012 direction: "row",
42013 alignItems: "center",
42014 py: 1,
42015 px: 2
42016 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { variant: "subtitle2" }, title), /*#__PURE__*/ react.default.createElement(_elementor_ui.CloseButton, {
42017 edge: "end",
42018 sx: { ml: "auto" },
42019 slotProps: { icon: { fontSize: "small" } },
42020 onClick: doClose
42021 })), /*#__PURE__*/ react.default.createElement(AtomicPromotionMedia, {
42022 image,
42023 animationData
42024 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, { px: 2 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
42025 variant: "body2",
42026 color: "secondary",
42027 sx: {
42028 pt: 1.5,
42029 pb: 1
42030 }
42031 }, content)), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42032 direction: "row",
42033 pt: 1,
42034 pb: 1.5,
42035 px: 2
42036 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
42037 variant: "contained",
42038 size: "small",
42039 color: "promotion",
42040 startIcon: /*#__PURE__*/ react.default.createElement(_elementor_icons.CrownFilledIcon, null),
42041 href: ctaUrl,
42042 target: "_blank",
42043 rel: "noopener noreferrer"
42044 }, ctaText))));
42045 };
42046 AtomicPromotionCard.propTypes = {
42047 doClose: import_prop_types.default.func,
42048 promotionData: import_prop_types.default.object
42049 };
42050
42051 //#endregion
42052 //#region modules/promotions/assets/js/react/components/promotion-card.js
42053 var PromotionCard = function PromotionCard(_ref) {
42054 var doClose = _ref.doClose;
42055 var promotionsData = _ref.promotionsData;
42056 var title = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.title;
42057 var description = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.description;
42058 var imgSrc = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.image;
42059 var imgAlt = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.image_alt;
42060 var ctaText = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.upgrade_text;
42061 var ctaUrl = promotionsData === null || promotionsData === void 0 ? void 0 : promotionsData.upgrade_url;
42062 return /*#__PURE__*/ react.default.createElement(_elementor_ui.ClickAwayListener, {
42063 disableReactTree: true,
42064 mouseEvent: "onMouseDown",
42065 touchEvent: "onTouchStart",
42066 onClickAway: doClose
42067 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, {
42068 sx: { width: 296 },
42069 "data-testid": "e-promotion-card"
42070 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42071 direction: "row",
42072 alignItems: "center",
42073 py: 1,
42074 px: 2
42075 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { variant: "subtitle2" }, title), /*#__PURE__*/ react.default.createElement(_elementor_ui.Chip, {
42076 label: (0, _wordpress_i18n.__)("PRO", "elementor"),
42077 size: "small",
42078 variant: "outlined",
42079 color: "promotion",
42080 sx: { ml: 1 }
42081 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.CloseButton, {
42082 edge: "end",
42083 sx: { ml: "auto" },
42084 slotProps: { icon: { fontSize: "small" } },
42085 onClick: doClose
42086 })), /*#__PURE__*/ react.default.createElement(_elementor_ui.Image, {
42087 src: imgSrc,
42088 alt: imgAlt,
42089 sx: {
42090 height: 150,
42091 width: "100%"
42092 }
42093 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, { px: 2 }, 1 === description.length ? /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
42094 variant: "body2",
42095 color: "secondary",
42096 sx: {
42097 pt: 1.5,
42098 pb: 1
42099 }
42100 }, description[0]) : /*#__PURE__*/ react.default.createElement(_elementor_ui.List, { sx: { pl: 2 } }, description.map(function(text, index) {
42101 return /*#__PURE__*/ react.default.createElement(_elementor_ui.ListItem, {
42102 key: index,
42103 sx: {
42104 listStyle: "disc",
42105 display: "list-item",
42106 color: "text.secondary",
42107 p: 0
42108 }
42109 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
42110 variant: "body2",
42111 color: "secondary"
42112 }, text));
42113 }))), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42114 pt: 1,
42115 pb: 1.5,
42116 px: 2
42117 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
42118 variant: "contained",
42119 size: "small",
42120 color: "promotion",
42121 onClick: function redirectHandler() {
42122 window.open(ctaUrl, "_blank");
42123 return doClose();
42124 },
42125 sx: { ml: "auto" }
42126 }, ctaText))));
42127 };
42128 PromotionCard.propTypes = {
42129 doClose: import_prop_types.default.func,
42130 promotionsData: import_prop_types.default.object
42131 };
42132
42133 //#endregion
42134 //#region modules/promotions/assets/js/react/components/widget-promotion-card.js
42135 var CARD_WIDTH = 296;
42136 var IMAGE_HEIGHT = 176;
42137 var DEFAULT_CTA_TEXT = (0, _wordpress_i18n.__)("Upgrade Now", "elementor");
42138 var openCtaInNewTab = function openCtaInNewTab(ctaUrl) {
42139 if (!ctaUrl) return;
42140 window.open(ctaUrl, "_blank", "noopener,noreferrer");
42141 };
42142 var WidgetPromotionCard = function WidgetPromotionCard(_ref) {
42143 var doClose = _ref.doClose;
42144 var promotionData = _ref.promotionData;
42145 var title = promotionData.title;
42146 var content = promotionData.content;
42147 var image = promotionData.image;
42148 var ctaUrl = promotionData.ctaUrl;
42149 var ctaText = promotionData.ctaText;
42150 var hideProTag = promotionData.hideProTag;
42151 return /*#__PURE__*/ react.default.createElement(_elementor_ui.ClickAwayListener, {
42152 disableReactTree: true,
42153 mouseEvent: "onClick",
42154 touchEvent: "onTouchEnd",
42155 onClickAway: doClose
42156 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Box, { sx: { width: CARD_WIDTH } }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42157 direction: "row",
42158 alignItems: "center",
42159 py: 1,
42160 px: 2
42161 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, { variant: "subtitle2" }, title), hideProTag && /*#__PURE__*/ react.default.createElement(_elementor_ui.Chip, {
42162 label: (0, _wordpress_i18n.__)("Free", "elementor"),
42163 size: "tiny",
42164 variant: "standard",
42165 color: "secondary",
42166 sx: { ml: 1 }
42167 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.CloseButton, {
42168 edge: "end",
42169 sx: { ml: "auto" },
42170 slotProps: { icon: { fontSize: "small" } },
42171 onClick: doClose
42172 })), image && /*#__PURE__*/ react.default.createElement(_elementor_ui.Image, {
42173 src: image,
42174 alt: "",
42175 sx: {
42176 width: CARD_WIDTH,
42177 height: IMAGE_HEIGHT
42178 }
42179 }), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, { px: 2 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Typography, {
42180 variant: "body2",
42181 color: "secondary",
42182 sx: {
42183 pt: 1.5,
42184 pb: 1
42185 }
42186 }, content)), /*#__PURE__*/ react.default.createElement(_elementor_ui.Stack, {
42187 pt: 1,
42188 pb: 1.5,
42189 px: 2
42190 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Button, {
42191 variant: "contained",
42192 size: "small",
42193 color: hideProTag ? "info" : "promotion",
42194 onClick: function onClick() {
42195 return openCtaInNewTab(ctaUrl);
42196 },
42197 startIcon: hideProTag ? null : /*#__PURE__*/ react.default.createElement(_elementor_icons.CrownFilledIcon, null),
42198 sx: { ml: "auto" }
42199 }, ctaText || DEFAULT_CTA_TEXT))));
42200 };
42201 WidgetPromotionCard.propTypes = {
42202 doClose: import_prop_types.default.func,
42203 promotionData: import_prop_types.default.object
42204 };
42205
42206 //#endregion
42207 //#region modules/promotions/assets/js/react/app.js
42208 var _excluded = [
42209 "colorScheme",
42210 "isRTL",
42211 "anchorTarget"
42212 ];
42213 function ownKeys$1(e, r) {
42214 var t = Object.keys(e);
42215 if (Object.getOwnPropertySymbols) {
42216 var o = Object.getOwnPropertySymbols(e);
42217 r && (o = o.filter(function(r) {
42218 return Object.getOwnPropertyDescriptor(e, r).enumerable;
42219 })), t.push.apply(t, o);
42220 }
42221 return t;
42222 }
42223 __name(ownKeys$1, "ownKeys");
42224 function _objectSpread$1(e) {
42225 for (var r = 1; r < arguments.length; r++) {
42226 var t = null != arguments[r] ? arguments[r] : {};
42227 r % 2 ? ownKeys$1(Object(t), !0).forEach(function(r) {
42228 _defineProperty(e, r, t[r]);
42229 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r) {
42230 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
42231 });
42232 }
42233 return e;
42234 }
42235 __name(_objectSpread$1, "_objectSpread");
42236 var OFFSET_MODIFIER = {
42237 name: "offset",
42238 options: { offset: [-24, 8] }
42239 };
42240 function getPlacement(anchorTarget, isRTL) {
42241 if (!anchorTarget) return "right";
42242 return isRTL ? "left-start" : "right-start";
42243 }
42244 function getCardContent(props) {
42245 if ("atomic" === props.cardType) return /*#__PURE__*/ react.default.createElement(AtomicPromotionCard, {
42246 doClose: props.doClose,
42247 promotionData: props.promotionData
42248 });
42249 if ("widgetPromotion" === props.cardType) return /*#__PURE__*/ react.default.createElement(WidgetPromotionCard, {
42250 doClose: props.doClose,
42251 promotionData: props.promotionData
42252 });
42253 return /*#__PURE__*/ react.default.createElement(PromotionCard, {
42254 doClose: props.onClose,
42255 promotionsData: props.promotionsData
42256 });
42257 }
42258 var App = function App(_ref) {
42259 var colorScheme = _ref.colorScheme;
42260 var isRTL = _ref.isRTL;
42261 var anchorTarget = _ref.anchorTarget;
42262 var props = _objectWithoutProperties(_ref, _excluded);
42263 return /*#__PURE__*/ react.default.createElement(_elementor_ui.DirectionProvider, { rtl: isRTL }, /*#__PURE__*/ react.default.createElement(_elementor_ui.LocalizationProvider, null, /*#__PURE__*/ react.default.createElement(_elementor_ui.ThemeProvider, {
42264 colorScheme,
42265 palette: "unstable"
42266 }, /*#__PURE__*/ react.default.createElement(_elementor_ui.Infotip, {
42267 content: getCardContent(props),
42268 placement: getPlacement(anchorTarget, isRTL),
42269 arrow: true,
42270 open: true,
42271 disableHoverListener: true,
42272 PopperProps: _objectSpread$1({
42273 modifiers: [OFFSET_MODIFIER],
42274 sx: { zIndex: function zIndex(theme) {
42275 return theme.zIndex.appBar - 1;
42276 } }
42277 }, anchorTarget && { anchorEl: anchorTarget })
42278 }, /*#__PURE__*/ react.default.createElement("span", null)))));
42279 };
42280 App.propTypes = {
42281 colorScheme: import_prop_types.default.oneOf([
42282 "auto",
42283 "light",
42284 "dark"
42285 ]),
42286 isRTL: import_prop_types.default.bool,
42287 anchorTarget: import_prop_types.default.object,
42288 cardType: import_prop_types.default.string,
42289 promotionsData: import_prop_types.default.object,
42290 promotionData: import_prop_types.default.object,
42291 ctaUrl: import_prop_types.default.string,
42292 doClose: import_prop_types.default.func,
42293 onClose: import_prop_types.default.func
42294 };
42295
42296 //#endregion
42297 //#region assets/dev/js/editor/utils/preview-iframe-listeners.js
42298 function bindPreviewIframeEvents(callback) {
42299 var _elementor;
42300 var iframeDocument = (_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.$preview) === null || _elementor === void 0 || (_elementor = _elementor[0]) === null || _elementor === void 0 ? void 0 : _elementor.contentDocument;
42301 if (!iframeDocument) return function() {};
42302 var handleEvent = function handleEvent() {
42303 return callback();
42304 };
42305 iframeDocument.addEventListener("click", handleEvent);
42306 iframeDocument.addEventListener("keydown", handleEvent);
42307 return function() {
42308 iframeDocument.removeEventListener("click", handleEvent);
42309 iframeDocument.removeEventListener("keydown", handleEvent);
42310 };
42311 }
42312
42313 //#endregion
42314 //#region node_modules/react-dom/client.js
42315 var require_client = /* @__PURE__ */ __commonJSMin(((exports) => {
42316 var m = (globalThis.ReactDOM);
42317 var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
42318 exports.createRoot = function(c, o) {
42319 i.usingClientEntryPoint = true;
42320 try {
42321 return m.createRoot(c, o);
42322 } finally {
42323 i.usingClientEntryPoint = false;
42324 }
42325 };
42326 }));
42327
42328 //#endregion
42329 //#region modules/promotions/assets/js/react/app-manager.js
42330 init_defineProperty();
42331 var import_client = require_client();
42332 function ownKeys(e, r) {
42333 var t = Object.keys(e);
42334 if (Object.getOwnPropertySymbols) {
42335 var o = Object.getOwnPropertySymbols(e);
42336 r && (o = o.filter(function(r) {
42337 return Object.getOwnPropertyDescriptor(e, r).enumerable;
42338 })), t.push.apply(t, o);
42339 }
42340 return t;
42341 }
42342 function _objectSpread(e) {
42343 for (var r = 1; r < arguments.length; r++) {
42344 var t = null != arguments[r] ? arguments[r] : {};
42345 r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
42346 _defineProperty(e, r, t[r]);
42347 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
42348 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
42349 });
42350 }
42351 return e;
42352 }
42353 var AppManager = /*#__PURE__*/ function() {
42354 function AppManager() {
42355 _classCallCheck(this, AppManager);
42356 this.promotionInfoTip = null;
42357 this.promotionWrapper = null;
42358 this.onRoute = function() {};
42359 this.unbindIframeEvents = function() {};
42360 this.attachAtomicWidgetPromotionListeners();
42361 this.attachWidgetPromotionListeners();
42362 }
42363 return _createClass(AppManager, [
42364 {
42365 key: "getPromotionData",
42366 value: function getPromotionData(promotionType) {
42367 return elementorPromotionsData[promotionType] || {};
42368 }
42369 },
42370 {
42371 key: "resolveWidgetPromotionData",
42372 value: function resolveWidgetPromotionData(detail) {
42373 var _elementor;
42374 var _elementor$config$pro;
42375 var _elementsPromotion$ac;
42376 var _elementsPromotion$ac2;
42377 var _elementsPromotion$ti;
42378 var _elementsPromotion$co;
42379 var promotions = ((_elementor = elementor) === null || _elementor === void 0 || (_elementor = _elementor.config) === null || _elementor === void 0 ? void 0 : _elementor.v4Promotions) || {};
42380 var widgetType = detail.widgetType || "";
42381 var normalizedType = widgetType.replace(/[-_]/g, "").toLowerCase();
42382 var key = Object.keys(promotions).find(function(promotionKey) {
42383 return promotionKey.replace(/[-_]/g, "").toLowerCase() === normalizedType;
42384 });
42385 var promotionData = key ? promotions[key] : null;
42386 var elementsPromotion = ((_elementor$config$pro = elementor.config.promotion) === null || _elementor$config$pro === void 0 ? void 0 : _elementor$config$pro.elements) || {};
42387 var fallbackCtaUrl = detail.ctaUrl || ((_elementsPromotion$ac = elementsPromotion.action_button) === null || _elementsPromotion$ac === void 0 || (_elementsPromotion$ac = _elementsPromotion$ac.url) === null || _elementsPromotion$ac === void 0 ? void 0 : _elementsPromotion$ac.replace("%s", widgetType)) || "";
42388 var fallbackCtaText = detail.ctaText || ((_elementsPromotion$ac2 = elementsPromotion.action_button) === null || _elementsPromotion$ac2 === void 0 ? void 0 : _elementsPromotion$ac2.text) || "";
42389 var widgetName = detail.widgetTitle || detail.title || "";
42390 var hideProTag = detail.hideProTag || false;
42391 return applyProConnectPromotionOverrides(promotionData ? _objectSpread(_objectSpread({}, promotionData), {}, {
42392 ctaUrl: promotionData.ctaUrl || fallbackCtaUrl,
42393 ctaText: promotionData.ctaText || fallbackCtaText,
42394 hideProTag
42395 }) : {
42396 title: detail.title || ((_elementsPromotion$ti = elementsPromotion.title) === null || _elementsPromotion$ti === void 0 ? void 0 : _elementsPromotion$ti.replace("%s", widgetName)) || "",
42397 content: detail.content || ((_elementsPromotion$co = elementsPromotion.content) === null || _elementsPromotion$co === void 0 ? void 0 : _elementsPromotion$co.replace("%s", widgetName)) || "",
42398 ctaUrl: fallbackCtaUrl,
42399 ctaText: fallbackCtaText,
42400 hideProTag
42401 });
42402 }
42403 },
42404 {
42405 key: "mount",
42406 value: function mount(targetNode, selectors) {
42407 var _elementor2;
42408 var _elementor2$getPrefer;
42409 var _rootElement$getAttri;
42410 var _this = this;
42411 if (this.promotionInfoTip) return;
42412 var wrapperElement = targetNode === null || targetNode === void 0 ? void 0 : targetNode.closest(selectors.wrapperElement);
42413 var rootElement = wrapperElement === null || wrapperElement === void 0 ? void 0 : wrapperElement.querySelector(selectors.reactAnchor);
42414 if (!rootElement) return;
42415 this.attachEditorEventListeners();
42416 this.promotionInfoTip = (0, import_client.createRoot)(rootElement);
42417 var colorScheme = ((_elementor2 = elementor) === null || _elementor2 === void 0 || (_elementor2$getPrefer = _elementor2.getPreferences) === null || _elementor2$getPrefer === void 0 ? void 0 : _elementor2$getPrefer.call(_elementor2, "ui_theme")) || "auto";
42418 var isRTL = elementorCommon.config.isRTL;
42419 var promotionType = (_rootElement$getAttri = rootElement.getAttribute("data-promotion")) === null || _rootElement$getAttri === void 0 ? void 0 : _rootElement$getAttri.replace("_promotion", "");
42420 this.promotionInfoTip.render(/*#__PURE__*/ react.default.createElement(App, {
42421 colorScheme,
42422 isRTL,
42423 promotionsData: this.getPromotionData(promotionType),
42424 onClose: function onClose() {
42425 return _this.unmount();
42426 }
42427 }));
42428 }
42429 },
42430 {
42431 key: "mountCard",
42432 value: function mountCard(targetEl, wrapperClassName, appProps) {
42433 var _elementor3;
42434 var _elementor3$getPrefer;
42435 var _this2 = this;
42436 this.unmount();
42437 this.promotionWrapper = document.createElement("span");
42438 this.promotionWrapper.className = wrapperClassName;
42439 document.body.appendChild(this.promotionWrapper);
42440 this.attachEditorEventListeners();
42441 this.promotionInfoTip = (0, import_client.createRoot)(this.promotionWrapper);
42442 this.promotionInfoTip.render(/*#__PURE__*/ react.default.createElement(App, _extends({
42443 colorScheme: ((_elementor3 = elementor) === null || _elementor3 === void 0 || (_elementor3$getPrefer = _elementor3.getPreferences) === null || _elementor3$getPrefer === void 0 ? void 0 : _elementor3$getPrefer.call(_elementor3, "ui_theme")) || "auto",
42444 isRTL: elementorCommon.config.isRTL,
42445 anchorTarget: targetEl,
42446 doClose: function doClose() {
42447 return _this2.unmount();
42448 }
42449 }, appProps)));
42450 }
42451 },
42452 {
42453 key: "resolveAtomicWidgetPromotionCardProps",
42454 value: function resolveAtomicWidgetPromotionCardProps(_ref) {
42455 var cardType = _ref.cardType;
42456 var content = _ref.content;
42457 return {
42458 cardType,
42459 promotionData: applyProConnectPromotionOverrides({
42460 title: content.title,
42461 content: content.content,
42462 ctaText: content.ctaText,
42463 ctaUrl: content.widgetCtaUrl,
42464 image: content.image,
42465 animationData: resolvePromotionAnimation(content.animation)
42466 })
42467 };
42468 }
42469 },
42470 {
42471 key: "attachAtomicWidgetPromotionListeners",
42472 value: function attachAtomicWidgetPromotionListeners() {
42473 var _elementor4;
42474 var _this3 = this;
42475 (((_elementor4 = elementor) === null || _elementor4 === void 0 || (_elementor4 = _elementor4.config) === null || _elementor4 === void 0 ? void 0 : _elementor4.atomicWidgetPromotions) || []).forEach(function(_ref2) {
42476 var type = _ref2.type;
42477 var cardType = _ref2.cardType;
42478 var content = _ref2.content;
42479 document.addEventListener("".concat(type, "-promotion:open"), function(event) {
42480 _this3.mountCard(event.detail.target, "e-".concat(type, "-promotion-wrapper"), _this3.resolveAtomicWidgetPromotionCardProps({
42481 cardType,
42482 content
42483 }));
42484 });
42485 });
42486 }
42487 },
42488 {
42489 key: "attachWidgetPromotionListeners",
42490 value: function attachWidgetPromotionListeners() {
42491 var _this4 = this;
42492 document.addEventListener("widget-promotion:open", function(event) {
42493 _this4.mountCard(event.detail.target, "e-widget-promotion-wrapper", {
42494 cardType: "widgetPromotion",
42495 promotionData: _this4.resolveWidgetPromotionData(event.detail)
42496 });
42497 });
42498 }
42499 },
42500 {
42501 key: "unmount",
42502 value: function unmount() {
42503 var _this$promotionWrappe;
42504 if (this.promotionInfoTip) {
42505 this.detachEditorEventListeners();
42506 this.promotionInfoTip.unmount();
42507 this.unbindIframeEvents();
42508 }
42509 (_this$promotionWrappe = this.promotionWrapper) === null || _this$promotionWrappe === void 0 || (_this$promotionWrappe = _this$promotionWrappe.parentNode) === null || _this$promotionWrappe === void 0 || _this$promotionWrappe.removeChild(this.promotionWrapper);
42510 this.promotionInfoTip = null;
42511 this.promotionWrapper = null;
42512 }
42513 },
42514 {
42515 key: "attachEditorEventListeners",
42516 value: function attachEditorEventListeners() {
42517 var _this5 = this;
42518 this.unbindIframeEvents = bindPreviewIframeEvents(function() {
42519 return _this5.unmount();
42520 });
42521 this.onRoute = function(component, route) {
42522 if (route !== "panel/elements/categories" && route !== "panel/editor/content") return;
42523 _this5.unmount();
42524 };
42525 $e.routes.on("run:after", this.onRoute);
42526 }
42527 },
42528 {
42529 key: "detachEditorEventListeners",
42530 value: function detachEditorEventListeners() {
42531 $e.routes.off("run:after", this.onRoute);
42532 }
42533 }
42534 ]);
42535 }();
42536 function applyProConnectPromotionOverrides(promotionData) {
42537 var _elementorProEditorCo;
42538 var _elementorProEditorCo2;
42539 if (!elementor.helpers.hasPro()) return promotionData;
42540 if ((_elementorProEditorCo = elementorProEditorConfig) !== null && _elementorProEditorCo !== void 0 && _elementorProEditorCo.isActive) return promotionData;
42541 if (!((_elementorProEditorCo2 = elementorProEditorConfig) !== null && _elementorProEditorCo2 !== void 0 && (_elementorProEditorCo2 = _elementorProEditorCo2.urls) !== null && _elementorProEditorCo2 !== void 0 && _elementorProEditorCo2.connect)) return promotionData;
42542 return _objectSpread(_objectSpread({}, promotionData), {}, {
42543 ctaUrl: elementorProEditorConfig.urls.connect,
42544 ctaText: (0, _wordpress_i18n.__)("Connect & Activate", "elementor")
42545 });
42546 }
42547
42548 //#endregion
42549 //#region node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
42550 function _arrayWithHoles(r) {
42551 if (Array.isArray(r)) return r;
42552 }
42553 var init_arrayWithHoles = __esmMin((() => {}));
42554
42555 //#endregion
42556 //#region node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
42557 function _iterableToArrayLimit(r, l) {
42558 var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
42559 if (null != t) {
42560 var e;
42561 var n;
42562 var i;
42563 var u;
42564 var a = [];
42565 var f = !0;
42566 var o = !1;
42567 try {
42568 if (i = (t = t.call(r)).next, 0 === l) {
42569 if (Object(t) !== t) return;
42570 f = !1;
42571 } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
42572 } catch (r) {
42573 o = !0, n = r;
42574 } finally {
42575 try {
42576 if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
42577 } finally {
42578 if (o) throw n;
42579 }
42580 }
42581 return a;
42582 }
42583 }
42584 var init_iterableToArrayLimit = __esmMin((() => {}));
42585
42586 //#endregion
42587 //#region node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
42588 function _arrayLikeToArray(r, a) {
42589 (null == a || a > r.length) && (a = r.length);
42590 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
42591 return n;
42592 }
42593 var init_arrayLikeToArray = __esmMin((() => {}));
42594
42595 //#endregion
42596 //#region node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
42597 function _unsupportedIterableToArray(r, a) {
42598 if (r) {
42599 if ("string" == typeof r) return _arrayLikeToArray(r, a);
42600 var t = {}.toString.call(r).slice(8, -1);
42601 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
42602 }
42603 }
42604 var init_unsupportedIterableToArray = __esmMin((() => {
42605 init_arrayLikeToArray();
42606 }));
42607
42608 //#endregion
42609 //#region node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
42610 function _nonIterableRest() {
42611 throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
42612 }
42613 var init_nonIterableRest = __esmMin((() => {}));
42614
42615 //#endregion
42616 //#region node_modules/@babel/runtime/helpers/esm/slicedToArray.js
42617 function _slicedToArray(r, e) {
42618 return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
42619 }
42620 var init_slicedToArray = __esmMin((() => {
42621 init_arrayWithHoles();
42622 init_iterableToArrayLimit();
42623 init_unsupportedIterableToArray();
42624 init_nonIterableRest();
42625 }));
42626
42627 //#endregion
42628 //#region assets/dev/js/editor/components/validator/base.js
42629 var require_base$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42630 module.exports = elementorModules.Module.extend({
42631 errors: [],
42632 __construct: function __construct(settings) {
42633 var customValidationMethod = settings.customValidationMethod;
42634 if (customValidationMethod) this.validationMethod = customValidationMethod;
42635 },
42636 getDefaultSettings: function getDefaultSettings() {
42637 return { validationTerms: {} };
42638 },
42639 isValid: function isValid() {
42640 var validationErrors = this.validationMethod.apply(this, arguments);
42641 if (validationErrors.length) {
42642 this.errors = validationErrors;
42643 return false;
42644 }
42645 return true;
42646 },
42647 validationMethod: function validationMethod(newValue) {
42648 var validationTerms = this.getSettings("validationTerms");
42649 var errors = [];
42650 if (validationTerms.required) {
42651 if (!("" + newValue).length) errors.push("Required value is empty");
42652 }
42653 return errors;
42654 }
42655 });
42656 }));
42657
42658 //#endregion
42659 //#region assets/dev/js/editor/components/validator/number.js
42660 var require_number = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42661 var Validator = require_base$1();
42662 module.exports = Validator.extend({ validationMethod: function validationMethod(newValue) {
42663 var validationTerms = this.getSettings("validationTerms");
42664 var errors = [];
42665 if (_.isFinite(newValue)) {
42666 if (void 0 !== validationTerms.min && newValue < validationTerms.min) errors.push("Value is less than minimum");
42667 if (void 0 !== validationTerms.max && newValue > validationTerms.max) errors.push("Value is greater than maximum");
42668 }
42669 return errors;
42670 } });
42671 }));
42672
42673 //#endregion
42674 //#region assets/dev/js/editor/components/validator/breakpoint.js
42675 function _callSuper$2(t, o, e) {
42676 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$2() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
42677 }
42678 function _isNativeReflectConstruct$2() {
42679 try {
42680 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
42681 } catch (t) {}
42682 return (_isNativeReflectConstruct$2 = function _isNativeReflectConstruct() {
42683 return !!t;
42684 })();
42685 }
42686 var NumberValidator, BreakpointValidator;
42687 var init_breakpoint = __esmMin((() => {
42688 init_classCallCheck();
42689 init_createClass();
42690 __name(_callSuper$2, "_callSuper");
42691 __name(_isNativeReflectConstruct$2, "_isNativeReflectConstruct");
42692 NumberValidator = require_number();
42693 BreakpointValidator = /*#__PURE__*/ function(_NumberValidator) {
42694 function BreakpointValidator() {
42695 _classCallCheck(this, BreakpointValidator);
42696 return _callSuper$2(this, BreakpointValidator, arguments);
42697 }
42698 _inherits(BreakpointValidator, _NumberValidator);
42699 return _createClass(BreakpointValidator, [
42700 {
42701 key: "getDefaultSettings",
42702 value: function getDefaultSettings() {
42703 return { validationTerms: { max: 5120 } };
42704 }
42705 },
42706 {
42707 key: "getPanelActiveBreakpoints",
42708 value: function getPanelActiveBreakpoints() {
42709 var panelBreakpoints = elementor.documents.currentDocument.config.settings.settings.active_breakpoints.map(function(breakpointName) {
42710 return breakpointName.replace("viewport_", "");
42711 });
42712 var panelActiveBreakpoints = {};
42713 panelBreakpoints.forEach(function(breakpointName) {
42714 panelActiveBreakpoints[breakpointName] = elementorFrontend.config.responsive.breakpoints[breakpointName];
42715 });
42716 return panelActiveBreakpoints;
42717 }
42718 },
42719 {
42720 key: "initBreakpointProperties",
42721 value: function initBreakpointProperties() {
42722 var _activeBreakpoints$br;
42723 var _activeBreakpoints$br2;
42724 var validationTerms = this.getSettings("validationTerms");
42725 var activeBreakpoints = this.getPanelActiveBreakpoints();
42726 var breakpointKeys = Object.keys(activeBreakpoints);
42727 this.breakpointIndex = breakpointKeys.indexOf(validationTerms.breakpointName);
42728 this.topBreakpoint = (_activeBreakpoints$br = activeBreakpoints[breakpointKeys[this.breakpointIndex + 1]]) === null || _activeBreakpoints$br === void 0 ? void 0 : _activeBreakpoints$br.value;
42729 this.bottomBreakpoint = (_activeBreakpoints$br2 = activeBreakpoints[breakpointKeys[this.breakpointIndex - 1]]) === null || _activeBreakpoints$br2 === void 0 ? void 0 : _activeBreakpoints$br2.value;
42730 }
42731 },
42732 {
42733 key: "validationMethod",
42734 value: function validationMethod(newValue) {
42735 var validationTerms = this.getSettings("validationTerms");
42736 var errors = NumberValidator.prototype.validationMethod.call(this, newValue);
42737 if (_.isFinite(newValue) || "" === newValue) {
42738 if (!this.validateMinMaxForBreakpoint(newValue, validationTerms)) errors.push("Value is not between the breakpoints above or under the edited breakpoint");
42739 }
42740 return errors;
42741 }
42742 },
42743 {
42744 key: "validateMinMaxForBreakpoint",
42745 value: function validateMinMaxForBreakpoint(newValue, validationTerms) {
42746 var breakpointDefaultValue = elementorFrontend.config.responsive.breakpoints[validationTerms.breakpointName].default_value;
42747 var isValid = true;
42748 this.initBreakpointProperties();
42749 if ("mobile" === validationTerms.breakpointName && 320 === this.bottomBreakpoint) this.bottomBreakpoint -= 1;
42750 if (this.bottomBreakpoint) {
42751 if ("" !== newValue && newValue <= this.bottomBreakpoint) isValid = false;
42752 if ("" === newValue && breakpointDefaultValue <= this.bottomBreakpoint) isValid = false;
42753 }
42754 if (this.topBreakpoint) {
42755 if ("" !== newValue && newValue >= this.topBreakpoint) isValid = false;
42756 if ("" === newValue && breakpointDefaultValue >= this.topBreakpoint) isValid = false;
42757 }
42758 return isValid;
42759 }
42760 }
42761 ]);
42762 }(NumberValidator);
42763 }));
42764
42765 //#endregion
42766 //#region assets/dev/js/editor/controls/base.js
42767 var require_base = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42768 init_defineProperty();
42769 function ownKeys(e, r) {
42770 var t = Object.keys(e);
42771 if (Object.getOwnPropertySymbols) {
42772 var o = Object.getOwnPropertySymbols(e);
42773 r && (o = o.filter(function(r) {
42774 return Object.getOwnPropertyDescriptor(e, r).enumerable;
42775 })), t.push.apply(t, o);
42776 }
42777 return t;
42778 }
42779 function _objectSpread(e) {
42780 for (var r = 1; r < arguments.length; r++) {
42781 var t = null != arguments[r] ? arguments[r] : {};
42782 r % 2 ? ownKeys(Object(t), !0).forEach(function(r) {
42783 _defineProperty(e, r, t[r]);
42784 }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) {
42785 Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
42786 });
42787 }
42788 return e;
42789 }
42790 var ControlBaseView = Marionette.CompositeView.extend({
42791 ui: function ui() {
42792 return { controlTitle: ".elementor-control-title" };
42793 },
42794 behaviors: function behaviors() {
42795 return elementor.hooks.applyFilters("controls/base/behaviors", {}, this);
42796 },
42797 getBehavior: function getBehavior(name) {
42798 return this._behaviors[Object.keys(this.behaviors()).indexOf(name)];
42799 },
42800 className: function className() {
42801 var classes = "elementor-control elementor-control-" + this.model.get("name") + " elementor-control-type-" + this.model.get("type");
42802 var modelClasses = this.model.get("classes");
42803 var responsive = this.model.get("responsive");
42804 if (!_.isEmpty(modelClasses)) classes += " " + modelClasses;
42805 if (!_.isEmpty(responsive)) {
42806 var responsiveControlName = responsive.max || responsive.min;
42807 classes += " elementor-control-responsive-" + responsiveControlName;
42808 }
42809 return classes;
42810 },
42811 templateHelpers: function templateHelpers() {
42812 var controlData = { _cid: this.model.cid };
42813 return {
42814 view: this,
42815 data: _.extend({}, this.model.toJSON(), controlData)
42816 };
42817 },
42818 getTemplate: function getTemplate() {
42819 return Marionette.TemplateCache.get("#tmpl-elementor-control-" + this.model.get("type") + "-content");
42820 },
42821 initialize: function initialize(options) {
42822 var label = this.model.get("label");
42823 Object.defineProperty(this, "container", { get: function get() {
42824 if (!options.container) {
42825 var settingsModel = options.elementSettingsModel;
42826 var view = $e.components.get("document").utils.findViewById(settingsModel.id);
42827 if (view && view.getContainer) options.container = view.getContainer();
42828 else {
42829 if (!settingsModel.id) settingsModel.id = "bc-" + elementorCommon.helpers.getUniqueId();
42830 options.container = new elementorModules.editor.Container({
42831 type: "bc-container",
42832 id: settingsModel.id,
42833 model: settingsModel,
42834 settings: settingsModel,
42835 label,
42836 view: false,
42837 parent: false,
42838 renderer: false,
42839 controls: settingsModel.options.controls
42840 });
42841 }
42842 }
42843 return options.container;
42844 } });
42845 Object.defineProperty(this, "elementSettingsModel", { get: function get() {
42846 elementorDevTools.deprecation.deprecated("elementSettingsModel", "2.8.0", "container.settings");
42847 return options.container ? options.container.settings : options.elementSettingsModel;
42848 } });
42849 var controlType = this.model.get("type");
42850 var controlSettings = jQuery.extend(true, {}, elementor.config.controls[controlType], this.model.attributes);
42851 this.model.set(controlSettings);
42852 var settings = this.container ? this.container.settings : this.elementSettingsModel;
42853 this.listenTo(settings, "change", this.onAfterChange);
42854 if (this.model.attributes.responsive) {
42855 this.onDeviceModeChange = this.onDeviceModeChange.bind(this);
42856 elementor.listenTo(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
42857 }
42858 },
42859 onDestroy: function onDestroy() {
42860 elementor.stopListening(elementor.channels.deviceMode, "change", this.onDeviceModeChange);
42861 },
42862 onDeviceModeChange: function onDeviceModeChange() {
42863 this.toggleControlVisibility();
42864 },
42865 onAfterChange: function onAfterChange() {
42866 this.toggleControlVisibility();
42867 },
42868 toggleControlVisibility: function toggleControlVisibility() {
42869 var settings = this.container ? this.container.settings : this.elementSettingsModel;
42870 var isVisible = elementor.helpers.isActiveControl(this.model, settings.attributes, settings.controls);
42871 this.$el.toggleClass("elementor-hidden-control", !isVisible);
42872 elementor.getPanelView().updateScrollbar();
42873 },
42874 onRender: function onRender() {
42875 var layoutType = this.model.get("label_block") ? "block" : "inline";
42876 var showLabel = this.model.get("show_label");
42877 var elClasses = "elementor-label-" + layoutType;
42878 elClasses += " elementor-control-separator-" + this.model.get("separator");
42879 if (!showLabel) elClasses += " elementor-control-hidden-label";
42880 this.$el.addClass(elClasses);
42881 this.toggleControlVisibility();
42882 },
42883 reRoute: function reRoute(controlActive) {
42884 $e.route($e.routes.getCurrent("panel"), this.getControlInRouteArgs(controlActive ? this.getControlPath() : ""), { history: false });
42885 },
42886 getControlInRouteArgs: function getControlInRouteArgs(path) {
42887 return _objectSpread(_objectSpread({}, $e.routes.getCurrentArgs("panel")), {}, { activeControl: path });
42888 },
42889 getControlPath: function getControlPath() {
42890 var controlPath = this.model.get("name");
42891 var parent = this._parent;
42892 while (!parent.$el.hasClass("elementor-controls-stack")) {
42893 controlPath = (parent.model.get("name") || parent.model.get("_id")) + "/" + controlPath;
42894 parent = parent._parent;
42895 }
42896 return controlPath;
42897 }
42898 });
42899 module.exports = ControlBaseView;
42900 }));
42901
42902 //#endregion
42903 //#region assets/dev/js/editor/components/dynamic-tags/tag-controls-stack-empty.js
42904 var require_tag_controls_stack_empty = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42905 module.exports = Marionette.ItemView.extend({
42906 className: "elementor-tag-controls-stack-empty",
42907 template: "#tmpl-elementor-tag-controls-stack-empty"
42908 });
42909 }));
42910
42911 //#endregion
42912 //#region assets/dev/js/editor/components/dynamic-tags/tag-controls-stack.js
42913 var require_tag_controls_stack = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42914 var EmptyView = require_tag_controls_stack_empty();
42915 module.exports = elementorModules.editor.views.ControlsStack.extend({
42916 activeTab: "content",
42917 template: _.noop,
42918 emptyView: EmptyView,
42919 isEmpty: function isEmpty() {
42920 return this.collection.length < 2;
42921 },
42922 childViewOptions: function childViewOptions() {
42923 return { container: this.options.container };
42924 },
42925 getNamespaceArray: function getNamespaceArray() {
42926 var currentPageView = elementor.getPanelView().getCurrentPageView();
42927 var eventNamespace = currentPageView.getNamespaceArray();
42928 eventNamespace.push(currentPageView.activeSection);
42929 eventNamespace.push(this.getOption("controlName"));
42930 eventNamespace.push(this.getOption("name"));
42931 return eventNamespace;
42932 },
42933 onRenderTemplate: function onRenderTemplate() {
42934 this.activateFirstSection();
42935 }
42936 });
42937 }));
42938
42939 //#endregion
42940 //#region assets/dev/js/editor/components/dynamic-tags/tag-panel-view.js
42941 var require_tag_panel_view = /* @__PURE__ */ __commonJSMin(((exports, module) => {
42942 var TagControlsStack = require_tag_controls_stack();
42943 module.exports = Marionette.ItemView.extend({
42944 className: "elementor-dynamic-cover e-input-style",
42945 tagControlsStack: null,
42946 templateHelpers: function templateHelpers() {
42947 var helpers = {};
42948 if (this.model) helpers.controls = this.model.options.controls;
42949 return helpers;
42950 },
42951 ui: { remove: ".elementor-dynamic-cover__remove" },
42952 events: function events() {
42953 var events = { "click @ui.remove": "onRemoveClick" };
42954 if (this.hasSettings()) events.click = "onClick";
42955 return events;
42956 },
42957 getTemplate: function getTemplate() {
42958 var config = this.getTagConfig();
42959 var templateFunction = Marionette.TemplateCache.get("#tmpl-elementor-control-dynamic-cover");
42960 var renderedTemplate = Marionette.Renderer.render(templateFunction, {
42961 hasSettings: this.hasSettings(),
42962 isRemovable: !this.getOption("dynamicSettings").default,
42963 title: config.title,
42964 content: config.panel_template
42965 });
42966 return Marionette.TemplateCache.prototype.compileTemplate(renderedTemplate.trim());
42967 },
42968 getTagConfig: function getTagConfig() {
42969 return elementor.dynamicTags.getConfig("tags." + this.getOption("name"));
42970 },
42971 initSettingsPopup: function initSettingsPopup() {
42972 var settingsPopupOptions = {
42973 className: "elementor-tag-settings-popup",
42974 position: {
42975 my: "left top+5",
42976 at: "left bottom",
42977 of: this.$el,
42978 autoRefresh: true
42979 },
42980 hide: { ignore: ".select2-container" }
42981 };
42982 var settingsPopup = elementorCommon.dialogsManager.createWidget("buttons", settingsPopupOptions);
42983 this.getSettingsPopup = function() {
42984 return settingsPopup;
42985 };
42986 },
42987 hasSettings: function hasSettings() {
42988 return !!Object.values(this.getTagConfig().controls).length;
42989 },
42990 showSettingsPopup: function showSettingsPopup() {
42991 if (!this.tagControlsStack) this.initTagControlsStack();
42992 var settingsPopup = this.getSettingsPopup();
42993 if (settingsPopup.isVisible()) return;
42994 settingsPopup.show();
42995 },
42996 initTagControlsStack: function initTagControlsStack() {
42997 this.tagControlsStack = new TagControlsStack({
42998 model: this.model,
42999 controls: this.model.controls,
43000 name: this.options.name,
43001 controlName: this.options.controlName,
43002 container: this.options.container,
43003 el: this.getSettingsPopup().getElements("message")[0]
43004 });
43005 this.tagControlsStack.render();
43006 },
43007 initModel: function initModel() {
43008 this.model = new elementorModules.editor.elements.models.BaseSettings(this.getOption("settings"), { controls: this.getTagConfig().controls });
43009 },
43010 initialize: function initialize() {
43011 this.initModel();
43012 if (!this.hasSettings()) return;
43013 this.initSettingsPopup();
43014 this.listenTo(this.model, "change", this.render);
43015 },
43016 onClick: function onClick() {
43017 this.showSettingsPopup();
43018 },
43019 onRemoveClick: function onRemoveClick(event) {
43020 event.stopPropagation();
43021 this.destroy();
43022 this.trigger("remove");
43023 },
43024 onDestroy: function onDestroy() {
43025 if (this.hasSettings()) this.getSettingsPopup().destroy();
43026 if (this.tagControlsStack) this.tagControlsStack.destroy();
43027 }
43028 });
43029 }));
43030
43031 //#endregion
43032 //#region assets/dev/js/editor/components/dynamic-tags/control-behavior.js
43033 var require_control_behavior = /* @__PURE__ */ __commonJSMin(((exports, module) => {
43034 init_defineProperty();
43035 var TagPanelView = require_tag_panel_view();
43036 module.exports = Marionette.Behavior.extend({
43037 tagView: null,
43038 listenerAttached: false,
43039 initialize: function initialize() {
43040 if (!this.listenerAttached) {
43041 this.listenTo(this.view.options.container.settings, "change:external:__dynamic__", this.onAfterExternalChange);
43042 this.listenerAttached = true;
43043 }
43044 },
43045 shouldRenderTools: function shouldRenderTools() {
43046 if (this.getOption("dynamicSettings").default) return false;
43047 var isFeatureAvailableToUser = elementor.helpers.hasPro() && !elementor.helpers.hasProAndNotConnected();
43048 var hasTags = this.getOption("tags").length > 0;
43049 return !isFeatureAvailableToUser || hasTags;
43050 },
43051 renderTools: function renderTools() {
43052 var _this = this;
43053 if (!this.shouldRenderTools()) return;
43054 var $dynamicSwitcher = jQuery(Marionette.Renderer.render("#tmpl-elementor-control-dynamic-switcher"));
43055 $dynamicSwitcher.on("click", function(event) {
43056 return _this.onDynamicSwitcherClick(event);
43057 });
43058 this.$el.find(".elementor-control-dynamic-switcher-wrapper").append($dynamicSwitcher);
43059 this.ui.dynamicSwitcher = $dynamicSwitcher;
43060 if ("color" === this.view.model.get("type")) if (this.view.colorPicker) this.moveDynamicSwitcherToColorPicker();
43061 else setTimeout(function() {
43062 return _this.moveDynamicSwitcherToColorPicker();
43063 });
43064 this.ui.dynamicSwitcher.tipsy({
43065 title: function title() {
43066 return this.getAttribute("data-tooltip");
43067 },
43068 gravity: "s"
43069 });
43070 },
43071 moveDynamicSwitcherToColorPicker: function moveDynamicSwitcherToColorPicker() {
43072 var $colorPickerToolsContainer = this.view.colorPicker.$pickerToolsContainer;
43073 this.ui.dynamicSwitcher.removeClass("elementor-control-unit-1").addClass("e-control-tool");
43074 var $eyedropper = $colorPickerToolsContainer.find(".elementor-control-element-color-picker");
43075 if ($eyedropper.length) this.ui.dynamicSwitcher.insertBefore($eyedropper);
43076 else $colorPickerToolsContainer.append(this.ui.dynamicSwitcher);
43077 },
43078 toggleDynamicClass: function toggleDynamicClass() {
43079 this.$el.toggleClass("elementor-control-dynamic-value", this.isDynamicMode());
43080 },
43081 isDynamicMode: function isDynamicMode() {
43082 var dynamicSettings = this.view.container.settings.get("__dynamic__");
43083 return !!(dynamicSettings && dynamicSettings[this.view.model.get("name")]);
43084 },
43085 createTagsList: function createTagsList() {
43086 var tags = _.groupBy(this.getOption("tags"), "group");
43087 var groups = elementor.dynamicTags.getConfig("groups");
43088 var $tagsList = this.ui.tagsList = jQuery("<div>", { class: "elementor-tags-list" });
43089 var $tagsListInner = jQuery("<div>", { class: "elementor-tags-list__inner" });
43090 $tagsList.append($tagsListInner);
43091 jQuery.each(groups, function(groupName) {
43092 var groupTags = tags[groupName];
43093 if (!groupTags) return;
43094 var group = this;
43095 var $groupTitle = jQuery("<div>", { class: "elementor-tags-list__group-title" }).text(group.title);
43096 $tagsListInner.append($groupTitle);
43097 groupTags.forEach(function(tag) {
43098 var $tag = jQuery("<div>", { class: "elementor-tags-list__item" });
43099 $tag.text(tag.title).attr("data-tag-name", tag.name);
43100 $tagsListInner.append($tag);
43101 });
43102 });
43103 if (!elementor.helpers.hasPro() && Object.keys(tags).length) {
43104 var proTeaser = Marionette.Renderer.render("#tmpl-elementor-dynamic-tags-promo", { promotionUrl: elementor.config.dynamicPromotionURL.replace("%s", this.view.model.get("name")) });
43105 $tagsListInner.append(proTeaser);
43106 }
43107 $tagsListInner.on("click", ".elementor-tags-list__item", this.onTagsListItemClick.bind(this));
43108 elementorCommon.elements.$body.append($tagsList);
43109 },
43110 getTagsList: function getTagsList() {
43111 if (!this.ui.tagsList) this.createTagsList();
43112 return this.ui.tagsList;
43113 },
43114 toggleTagsList: function toggleTagsList() {
43115 var $tagsList = this.getTagsList();
43116 if ($tagsList.is(":visible")) {
43117 $tagsList.hide();
43118 return;
43119 }
43120 var direction = elementorCommon.config.isRTL ? "left" : "right";
43121 $tagsList.show().position({
43122 my: "".concat(direction, " top"),
43123 at: "".concat(direction, " bottom+5"),
43124 of: this.ui.dynamicSwitcher
43125 });
43126 },
43127 setTagView: function setTagView(id, name, settings) {
43128 if (this.tagView) this.tagView.destroy();
43129 var tagView = this.tagView = new TagPanelView({
43130 id,
43131 name,
43132 settings,
43133 controlName: this.view.model.get("name"),
43134 dynamicSettings: this.getOption("dynamicSettings")
43135 });
43136 var elementContainer = this.view.options.container;
43137 var tagViewLabel = elementContainer.controls[tagView.options.controlName].label;
43138 tagView.options.container = new elementorModules.editor.Container({
43139 type: "dynamic",
43140 id,
43141 model: tagView.model,
43142 settings: tagView.model,
43143 view: tagView,
43144 parent: elementContainer,
43145 label: elementContainer.label + " " + tagViewLabel,
43146 controls: tagView.model.options.controls,
43147 renderer: elementContainer
43148 });
43149 tagView.render();
43150 this.$el.find(".elementor-control-tag-area").after(tagView.el);
43151 this.listenTo(tagView, "remove", this.onTagViewRemove.bind(this));
43152 },
43153 setDefaultTagView: function setDefaultTagView() {
43154 var tagData = elementor.dynamicTags.tagTextToTagData(this.getDynamicValue());
43155 this.setTagView(tagData.id, tagData.name, tagData.settings);
43156 },
43157 tagViewToTagText: function tagViewToTagText() {
43158 var tagView = this.tagView;
43159 return elementor.dynamicTags.tagDataToTagText(tagView.getOption("id"), tagView.getOption("name"), tagView.model);
43160 },
43161 getDynamicValue: function getDynamicValue() {
43162 return this.view.container.dynamic.get(this.view.model.get("name"));
43163 },
43164 destroyTagView: function destroyTagView() {
43165 if (this.tagView) {
43166 this.tagView.destroy();
43167 this.tagView = null;
43168 }
43169 },
43170 showPromotion: function showPromotion() {
43171 var hasProAndNotConnected = elementor.helpers.hasProAndNotConnected();
43172 var dialogOptions = {
43173 title: (0, _wordpress_i18n.__)("Dynamic Content", "elementor"),
43174 content: (0, _wordpress_i18n.__)("Create more personalized and dynamic sites by populating data from various sources with dozens of dynamic tags to choose from.", "elementor"),
43175 targetElement: this.ui.dynamicSwitcher,
43176 position: { blockStart: "-10" },
43177 actionButton: {
43178 url: hasProAndNotConnected ? elementorProEditorConfig.urls.connect : elementor.config.dynamicPromotionURL.replace("%s", this.view.model.get("name")),
43179 text: hasProAndNotConnected ? (0, _wordpress_i18n.__)("Connect & Activate", "elementor") : (0, _wordpress_i18n.__)("Upgrade", "elementor")
43180 }
43181 };
43182 elementor.promotion.showDialog(dialogOptions);
43183 },
43184 onRender: function onRender() {
43185 this.$el.addClass("elementor-control-dynamic");
43186 this.renderTools();
43187 this.toggleDynamicClass();
43188 if (this.isDynamicMode()) this.setDefaultTagView();
43189 },
43190 onDynamicSwitcherClick: function onDynamicSwitcherClick(event) {
43191 event.stopPropagation();
43192 if (this.getOption("tags").length) this.toggleTagsList();
43193 else this.showPromotion();
43194 },
43195 onTagsListItemClick: function onTagsListItemClick(event) {
43196 var $tag = jQuery(event.currentTarget);
43197 this.setTagView(elementorCommon.helpers.getUniqueId(), $tag.data("tagName"), {});
43198 if (this.view.getGlobalKey()) this.view.triggerMethod("unset:global:value");
43199 if (this.isDynamicMode()) $e.run("document/dynamic/settings", {
43200 container: this.view.options.container,
43201 settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
43202 });
43203 else $e.run("document/dynamic/enable", {
43204 container: this.view.options.container,
43205 settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
43206 });
43207 this.toggleDynamicClass();
43208 this.toggleTagsList();
43209 if (this.tagView.getTagConfig().settings_required) this.tagView.showSettingsPopup();
43210 },
43211 onTagViewRemove: function onTagViewRemove() {
43212 $e.run("document/dynamic/disable", {
43213 container: this.view.options.container,
43214 settings: _defineProperty({}, this.view.model.get("name"), this.tagViewToTagText())
43215 });
43216 this.toggleDynamicClass();
43217 },
43218 onAfterExternalChange: function onAfterExternalChange() {
43219 this.destroyTagView();
43220 if (this.isDynamicMode()) this.setDefaultTagView();
43221 this.toggleDynamicClass();
43222 },
43223 onDestroy: function onDestroy() {
43224 this.destroyTagView();
43225 if (this.ui.tagsList) this.ui.tagsList.remove();
43226 }
43227 });
43228 }));
43229
43230 //#endregion
43231 //#region assets/dev/js/editor/controls/base-data.js
43232 var require_base_data = /* @__PURE__ */ __commonJSMin(((exports, module) => {
43233 init_slicedToArray();
43234 init_defineProperty();
43235 init_breakpoint();
43236 function _createForOfIteratorHelper(r, e) {
43237 var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
43238 if (!t) {
43239 if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) {
43240 t && (r = t);
43241 var _n = 0;
43242 var F = function F() {};
43243 return {
43244 s: F,
43245 n: function n() {
43246 return _n >= r.length ? { done: !0 } : {
43247 done: !1,
43248 value: r[_n++]
43249 };
43250 },
43251 e: function e(r) {
43252 throw r;
43253 },
43254 f: F
43255 };
43256 }
43257 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
43258 }
43259 var o;
43260 var a = !0;
43261 var u = !1;
43262 return {
43263 s: function s() {
43264 t = t.call(r);
43265 },
43266 n: function n() {
43267 var r = t.next();
43268 return a = r.done, r;
43269 },
43270 e: function e(r) {
43271 u = !0, o = r;
43272 },
43273 f: function f() {
43274 try {
43275 a || null == t.return || t.return();
43276 } finally {
43277 if (u) throw o;
43278 }
43279 }
43280 };
43281 }
43282 function _unsupportedIterableToArray(r, a) {
43283 if (r) {
43284 if ("string" == typeof r) return _arrayLikeToArray(r, a);
43285 var t = {}.toString.call(r).slice(8, -1);
43286 return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
43287 }
43288 }
43289 function _arrayLikeToArray(r, a) {
43290 (null == a || a > r.length) && (a = r.length);
43291 for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
43292 return n;
43293 }
43294 var ControlBaseView = require_base();
43295 var TagsBehavior = require_control_behavior();
43296 var Validator = require_base$1();
43297 var NumberValidator = require_number();
43298 var ControlBaseDataView = ControlBaseView.extend({
43299 validatorTypes: {
43300 Base: Validator,
43301 Number: NumberValidator,
43302 Breakpoint: BreakpointValidator
43303 },
43304 ui: function ui() {
43305 var ui = ControlBaseView.prototype.ui.apply(this, arguments);
43306 _.extend(ui, {
43307 input: "input[data-setting][type!=\"checkbox\"][type!=\"radio\"]",
43308 checkbox: "input[data-setting][type=\"checkbox\"]",
43309 radio: "input[data-setting][type=\"radio\"]",
43310 select: "select[data-setting]",
43311 textarea: "textarea[data-setting]",
43312 responsiveSwitchersSibling: "".concat(ui.controlTitle, "[data-e-responsive-switcher-sibling!=\"false\"]"),
43313 responsiveSwitchers: ".elementor-responsive-switcher",
43314 contentEditable: "[contenteditable=\"true\"]"
43315 });
43316 return ui;
43317 },
43318 templateHelpers: function templateHelpers() {
43319 var controlData = ControlBaseView.prototype.templateHelpers.apply(this, arguments);
43320 controlData.data.controlValue = this.getControlValue();
43321 return controlData;
43322 },
43323 events: function events() {
43324 return {
43325 "input @ui.input": "onBaseInputTextChange",
43326 "change @ui.checkbox": "onBaseInputChange",
43327 "change @ui.radio": "onBaseInputChange",
43328 "input @ui.textarea": "onBaseInputTextChange",
43329 "change @ui.select": "onBaseInputChange",
43330 "input @ui.contentEditable": "onBaseInputTextChange",
43331 "click @ui.responsiveSwitchers": "onResponsiveSwitchersClick"
43332 };
43333 },
43334 behaviors: function behaviors() {
43335 var behaviors = ControlBaseView.prototype.behaviors.apply(this, arguments);
43336 var dynamicSettings = this.options.model.get("dynamic");
43337 if (dynamicSettings && dynamicSettings.active) {
43338 var tags = _.filter(elementor.dynamicTags.getConfig("tags"), function(tag) {
43339 return tag.editable && _.intersection(tag.categories, dynamicSettings.categories).length;
43340 });
43341 if (tags.length || elementor.config.user.is_administrator) behaviors.tags = {
43342 behaviorClass: TagsBehavior,
43343 tags,
43344 dynamicSettings
43345 };
43346 }
43347 return behaviors;
43348 },
43349 initialize: function initialize() {
43350 ControlBaseView.prototype.initialize.apply(this, arguments);
43351 this.registerValidators();
43352 if (this.model.get("responsive")) this.setPlaceholderFromParent();
43353 if (void 0 === this.model.get("inherit_placeholders")) this.model.set("inherit_placeholders", true);
43354 var settings = this.container ? this.container.settings : this.elementSettingsModel;
43355 this.listenTo(settings, "change:external:" + this.model.get("name"), this.onAfterExternalChange);
43356 },
43357 getControlValue: function getControlValue() {
43358 return this.container.settings.get(this.model.get("name"));
43359 },
43360 getGlobalKey: function getGlobalKey() {
43361 return this.container.globals.get(this.model.get("name"));
43362 },
43363 getGlobalValue: function getGlobalValue() {
43364 return this.globalValue;
43365 },
43366 getGlobalDefault: function getGlobalDefault() {
43367 var controlGlobalArgs = this.model.get("global");
43368 if (controlGlobalArgs !== null && controlGlobalArgs !== void 0 && controlGlobalArgs.default) {
43369 if (!elementor.config.globals.defaults_enabled[this.getGlobalMeta().controlType]) return "";
43370 var _$e$data$commandExtra = $e.data.commandExtractArgs(controlGlobalArgs.default);
43371 var command = _$e$data$commandExtra.command;
43372 var args = _$e$data$commandExtra.args;
43373 var result = $e.data.getCache($e.components.get("globals"), command, args.query);
43374 return result === null || result === void 0 ? void 0 : result.value;
43375 }
43376 return "";
43377 },
43378 getCurrentValue: function getCurrentValue() {
43379 if (this.getGlobalKey() && !this.globalValue) return "";
43380 if (this.globalValue) return this.globalValue;
43381 var controlValue = this.getControlValue();
43382 if (controlValue) return controlValue;
43383 return this.getGlobalDefault();
43384 },
43385 isGlobalActive: function isGlobalActive() {
43386 var _this$options$model$g;
43387 return (_this$options$model$g = this.options.model.get("global")) === null || _this$options$model$g === void 0 ? void 0 : _this$options$model$g.active;
43388 },
43389 setValue: function setValue(value) {
43390 this.setSettingsModel(value);
43391 },
43392 setSettingsModel: function setSettingsModel(value) {
43393 var key = this.model.get("name");
43394 $e.run("document/elements/settings", {
43395 container: this.options.container,
43396 settings: _defineProperty({}, key, value)
43397 });
43398 this.triggerMethod("settings:change");
43399 },
43400 applySavedValue: function applySavedValue() {
43401 this.setInputValue("[data-setting=\"" + this.model.get("name") + "\"]", this.getControlValue());
43402 },
43403 getEditSettings: function getEditSettings(setting) {
43404 var settings = this.getOption("elementEditSettings").toJSON();
43405 if (setting) return settings[setting];
43406 return settings;
43407 },
43408 setEditSetting: function setEditSetting(settingKey, settingValue) {
43409 (this.getOption("elementEditSettings") || this.getOption("container").settings).set(settingKey, settingValue);
43410 },
43411 /**
43412 * Get the placeholder for the current control.
43413 *
43414 * @return {*} placeholder
43415 */
43416 getControlPlaceholder: function getControlPlaceholder() {
43417 var placeholder = this.model.get("placeholder");
43418 if (this.model.get("responsive") && this.model.get("inherit_placeholders")) placeholder = placeholder || this.container.placeholders[this.model.get("name")];
43419 return placeholder;
43420 },
43421 /**
43422 * Get the responsive parent view if exists.
43423 *
43424 * @return {ControlBaseDataView|undefined} responsive parent view if exists
43425 */
43426 getResponsiveParentView: function getResponsiveParentView() {
43427 var parent = this.model.get("parent");
43428 try {
43429 return parent && this.container.panel.getControlView(parent);
43430 } catch (e) {}
43431 },
43432 /**
43433 * Get the responsive children views if exists.
43434 *
43435 * @return {ControlBaseDataView|null} responsive children views if exists
43436 */
43437 getResponsiveChildrenViews: function getResponsiveChildrenViews() {
43438 var children = this.model.get("inheritors");
43439 var views = [];
43440 try {
43441 var _iterator = _createForOfIteratorHelper(children);
43442 var _step;
43443 try {
43444 for (_iterator.s(); !(_step = _iterator.n()).done;) {
43445 var child = _step.value;
43446 views.push(this.container.panel.getControlView(child));
43447 }
43448 } catch (err) {
43449 _iterator.e(err);
43450 } finally {
43451 _iterator.f();
43452 }
43453 } catch (e) {}
43454 return views;
43455 },
43456 /**
43457 * Get prepared placeholder from the responsive parent, and put it into current
43458 * control model as placeholder.
43459 */
43460 setPlaceholderFromParent: function setPlaceholderFromParent() {
43461 var parent = this.getResponsiveParentView();
43462 if (parent) this.container.placeholders[this.model.get("name")] = parent.preparePlaceholderForChildren();
43463 },
43464 /**
43465 * Returns the value of the current control if exists, or the parent value if not,
43466 * so responsive children can set it as their placeholder. When there are multiple
43467 * inputs, the inputs which are empty on this control will inherit their values
43468 * from the responsive parent.
43469 * For example, if on desktop the padding of all edges is 10, and on tablet only
43470 * padding right and left is set to 15, the mobile control placeholder will
43471 * eventually be: { top: 10, right: 15, left: 15, bottom: 10 }, because of the
43472 * inheritance of multiple values.
43473 *
43474 * @return {*} value of the current control if exists, or the parent value if not
43475 */
43476 preparePlaceholderForChildren: function preparePlaceholderForChildren() {
43477 var _this$getResponsivePa;
43478 var cleanValue = this.getCleanControlValue();
43479 var parentValue = (_this$getResponsivePa = this.getResponsiveParentView()) === null || _this$getResponsivePa === void 0 ? void 0 : _this$getResponsivePa.preparePlaceholderForChildren();
43480 if (cleanValue instanceof Object) return Object.assign({}, parentValue, cleanValue);
43481 return cleanValue || parentValue;
43482 },
43483 /**
43484 * Start the re-rendering recursive chain from the responsive child of this
43485 * control. It's useful when the current control value is changed and we want
43486 * to update all responsive children. In this case, the re-rendering is supposed
43487 * to be applied only from the responsive child of this control and on.
43488 */
43489 propagatePlaceholder: function propagatePlaceholder() {
43490 var _iterator2 = _createForOfIteratorHelper(this.getResponsiveChildrenViews());
43491 var _step2;
43492 try {
43493 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) _step2.value.renderWithChildren();
43494 } catch (err) {
43495 _iterator2.e(err);
43496 } finally {
43497 _iterator2.f();
43498 }
43499 },
43500 /**
43501 * Re-render current control and trigger this method on the responsive child.
43502 * The purpose of those actions is to recursively re-render all responsive
43503 * children.
43504 */
43505 renderWithChildren: function renderWithChildren() {
43506 this.render();
43507 this.propagatePlaceholder();
43508 },
43509 /**
43510 * Get control value without empty properties, and without default values.
43511 *
43512 * @return {{}} control value without empty properties, and without default values
43513 */
43514 getCleanControlValue: function getCleanControlValue() {
43515 var value = this.getControlValue();
43516 return value && value !== this.model.get("default") ? value : void 0;
43517 },
43518 onAfterChange: function onAfterChange(control) {
43519 if (Object.keys(control.changed).includes(this.model.get("name"))) this.propagatePlaceholder();
43520 ControlBaseView.prototype.onAfterChange.apply(this, arguments);
43521 },
43522 getInputValue: function getInputValue(input) {
43523 var $input = this.$(input);
43524 if ($input.is("[contenteditable=\"true\"]")) return $input.html();
43525 var inputValue = $input.val();
43526 var inputType = $input.attr("type");
43527 if (-1 !== ["radio", "checkbox"].indexOf(inputType)) return $input.prop("checked") ? inputValue : "";
43528 if ("number" === inputType && _.isFinite(inputValue)) return +inputValue;
43529 if ("SELECT" === input.tagName && $input.prop("multiple") && null === inputValue) inputValue = [];
43530 return inputValue;
43531 },
43532 setInputValue: function setInputValue(input, value) {
43533 var $input = this.$(input);
43534 var inputType = $input.attr("type");
43535 if ("checkbox" === inputType) $input.prop("checked", !!value);
43536 else if ("radio" === inputType) $input.filter("[value=\"" + value + "\"]").prop("checked", true);
43537 else $input.val(value);
43538 },
43539 addValidator: function addValidator(validator) {
43540 this.validators.push(validator);
43541 },
43542 registerValidators: function registerValidators() {
43543 var _this = this;
43544 this.validators = [];
43545 var validationTerms = {};
43546 if (this.model.get("required")) validationTerms.required = true;
43547 if (!jQuery.isEmptyObject(validationTerms)) this.addValidator(new this.validatorTypes.Base({ validationTerms }));
43548 var validators = this.model.get("validators");
43549 if (validators) Object.entries(validators).forEach(function(_ref) {
43550 var _ref2 = _slicedToArray(_ref, 2);
43551 var key = _ref2[0];
43552 var args = _ref2[1];
43553 _this.addValidator(new _this.validatorTypes[key]({ validationTerms: args }));
43554 });
43555 },
43556 onBeforeRender: function onBeforeRender() {
43557 this.setPlaceholderFromParent();
43558 },
43559 onRender: function onRender() {
43560 ControlBaseView.prototype.onRender.apply(this, arguments);
43561 if (this.model.get("responsive")) this.renderResponsiveSwitchers();
43562 this.applySavedValue();
43563 this.triggerMethod("ready");
43564 this.toggleControlVisibility();
43565 this.addTooltip();
43566 },
43567 onBaseInputTextChange: function onBaseInputTextChange(event) {
43568 this.onBaseInputChange(event);
43569 },
43570 onBaseInputChange: function onBaseInputChange(event) {
43571 clearTimeout(this.correctionTimeout);
43572 var input = event.currentTarget;
43573 var value = this.getInputValue(input);
43574 var validators = this.validators.slice(0);
43575 var settingsValidators = this.container.settings.validators[this.model.get("name")];
43576 if (settingsValidators) validators = validators.concat(settingsValidators);
43577 if (validators) {
43578 var oldValue = this.getControlValue(input.dataset.setting);
43579 if (!validators.every(function(validator) {
43580 return validator.isValid(value, oldValue);
43581 })) {
43582 this.correctionTimeout = setTimeout(this.setInputValue.bind(this, input, oldValue), 1200);
43583 return;
43584 }
43585 }
43586 this.updateElementModel(value, input);
43587 this.triggerMethod("input:change", event);
43588 },
43589 onResponsiveSwitchersClick: function onResponsiveSwitchersClick(event) {
43590 var $switcher = jQuery(event.currentTarget);
43591 var device = $switcher.data("device");
43592 var $switchersWrapper = this.ui.responsiveSwitchersWrapper;
43593 var selectedOption = $switcher.index();
43594 $switchersWrapper.toggleClass("elementor-responsive-switchers-open");
43595 $switchersWrapper[0].style.setProperty("--selected-option", selectedOption);
43596 this.triggerMethod("responsive:switcher:click", device);
43597 elementor.changeDeviceMode(device);
43598 },
43599 renderResponsiveSwitchers: function renderResponsiveSwitchers() {
43600 var templateHtml = Marionette.Renderer.render("#tmpl-elementor-control-responsive-switchers", this.model.attributes);
43601 this.ui.responsiveSwitchersSibling.after(templateHtml);
43602 this.ui.responsiveSwitchersWrapper = this.$el.find(".elementor-control-responsive-switchers");
43603 },
43604 onAfterExternalChange: function onAfterExternalChange() {
43605 this.hideTooltip();
43606 this.applySavedValue();
43607 },
43608 addTooltip: function addTooltip() {
43609 this.ui.tooltipTargets = this.$el.find(".tooltip-target");
43610 if (!this.ui.tooltipTargets.length) return;
43611 this.ui.tooltipTargets.tipsy({
43612 gravity: function gravity() {
43613 var gravity = jQuery(this).data("tooltip-pos");
43614 if (void 0 !== gravity) return gravity;
43615 return "s";
43616 },
43617 title: function title() {
43618 return this.getAttribute("data-tooltip");
43619 }
43620 });
43621 },
43622 hideTooltip: function hideTooltip() {
43623 if (this.ui.tooltipTargets.length) this.ui.tooltipTargets.tipsy("hide");
43624 },
43625 updateElementModel: function updateElementModel(value) {
43626 this.setValue(value);
43627 }
43628 }, {
43629 getStyleValue: function getStyleValue(placeholder, controlValue, controlData) {
43630 if ("DEFAULT" === placeholder) return controlData.default;
43631 return controlValue;
43632 },
43633 onPasteStyle: function onPasteStyle() {
43634 return true;
43635 }
43636 });
43637 module.exports = ControlBaseDataView;
43638 }));
43639
43640 //#endregion
43641 //#region modules/promotions/assets/js/react/controls/promotion.js
43642 init_classCallCheck();
43643 init_createClass();
43644 init_possibleConstructorReturn();
43645 init_getPrototypeOf();
43646 init_inherits();
43647 init_defineProperty();
43648 var import_base_data = /* @__PURE__ */ __toESM(require_base_data());
43649 function _callSuper$1(t, o, e) {
43650 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$1() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
43651 }
43652 __name(_callSuper$1, "_callSuper");
43653 function _isNativeReflectConstruct$1() {
43654 try {
43655 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
43656 } catch (t) {}
43657 return (_isNativeReflectConstruct$1 = function _isNativeReflectConstruct() {
43658 return !!t;
43659 })();
43660 }
43661 __name(_isNativeReflectConstruct$1, "_isNativeReflectConstruct");
43662 var _default = /*#__PURE__*/ function(_ControlBaseDataView) {
43663 function _default(options) {
43664 var _this;
43665 _classCallCheck(this, _default);
43666 _this = _callSuper$1(this, _default, [options]);
43667 _defineProperty(_this, "promotionInfoTip", null);
43668 _defineProperty(_this, "selectors", {
43669 wrapperElement: ".elementor-control-type-switcher",
43670 reactAnchor: ".e-promotion-react-wrapper"
43671 });
43672 _this.AppManager = new AppManager();
43673 return _this;
43674 }
43675 _inherits(_default, _ControlBaseDataView);
43676 return _createClass(_default, [
43677 {
43678 key: "ui",
43679 value: function ui() {
43680 return { switcher: "[data-promotion].elementor-control-type-switcher" };
43681 }
43682 },
43683 {
43684 key: "events",
43685 value: function events() {
43686 return { "click @ui.switcher": "onClickControlSwitcher" };
43687 }
43688 },
43689 {
43690 key: "promotionData",
43691 value: function promotionData(promotionType) {
43692 return elementorPromotionsData[promotionType] || {};
43693 }
43694 },
43695 {
43696 key: "onClickControlSwitcher",
43697 value: function onClickControlSwitcher(event) {
43698 event.stopPropagation();
43699 this.AppManager.mount(event.target, this.selectors);
43700 }
43701 }
43702 ]);
43703 }(import_base_data.default);
43704
43705 //#endregion
43706 //#region modules/promotions/assets/js/react/module.js
43707 init_classCallCheck();
43708 init_createClass();
43709 init_possibleConstructorReturn();
43710 init_getPrototypeOf();
43711 init_inherits();
43712 function _callSuper(t, o, e) {
43713 return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
43714 }
43715 function _isNativeReflectConstruct() {
43716 try {
43717 var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
43718 } catch (t) {}
43719 return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {
43720 return !!t;
43721 })();
43722 }
43723 var Module = /*#__PURE__*/ function(_elementorModules$edi) {
43724 function Module() {
43725 _classCallCheck(this, Module);
43726 return _callSuper(this, Module, arguments);
43727 }
43728 _inherits(Module, _elementorModules$edi);
43729 return _createClass(Module, [{
43730 key: "onElementorInit",
43731 value: function onElementorInit() {
43732 elementor.addControlView("promotion_control", _default);
43733 new AppManager();
43734 }
43735 }]);
43736 }(elementorModules.editor.utils.Module);
43737
43738 //#endregion
43739 //#region modules/promotions/assets/js/react/index.js
43740 new Module();
43741
43742 //#endregion
43743 })(React, elementorV2.ui, elementorV2.icons, wp.i18n);
43744 //# sourceMappingURL=e-react-promotions.js.map