vendor: 5,328 bytes, lines 1-133
1/*! 2 * Webflow: Front-end site library 3 * @license MIT 4 * Inline scripts may access the api using an async handler: 5 * var Webflow = Webflow || []; 6 * Webflow.push(readyFunction); 7 */ 8/******/ (function(modules) { // webpackBootstrap 9/******/ // The module cache 10/******/ var installedModules = {}; 11/******/ 12/******/ // The require function 13/******/ function __webpack_require__(moduleId) { 14/******/ 15/******/ // Check if module is in cache 16/******/ if(installedModules[moduleId]) { 17/******/ return installedModules[moduleId].exports; 18/******/ } 19/******/ // Create a new module (and put it into the cache) 20/******/ var module = installedModules[moduleId] = { 21/******/ i: moduleId, 22/******/ l: false, 23/******/ exports: {} 24/******/ }; 25/******/ 26/******/ // Execute the module function 27/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 28/******/ 29/******/ // Flag the module as loaded 30/******/ module.l = true; 31/******/ 32/******/ // Return the exports of the module 33/******/ return module.exports; 34/******/ } 35/******/ 36/******/ 37/******/ // expose the modules object (__webpack_modules__) 38/******/ __webpack_require__.m = modules; 39/******/ 40/******/ // expose the module cache 41/******/ __webpack_require__.c = installedModules; 42/******/ 43/******/ // define getter function for harmony exports 44/******/ __webpack_require__.d = function(exports, name, getter) { 45/******/ if(!__webpack_require__.o(exports, name)) { 46/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 47/******/ } 48/******/ }; 49/******/ 50/******/ // define __esModule on exports 51/******/ __webpack_require__.r = function(exports) { 52/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 53/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 54/******/ } 55/******/ Object.defineProperty(exports, '__esModule', { value: true }); 56/******/ }; 57/******/ 58/******/ // create a fake namespace object 59/******/ // mode & 1: value is a module id, require it 60/******/ // mode & 2: merge all properties of value into the ns 61/******/ // mode & 4: return value when already ns object 62/******/ // mode & 8|1: behave like require 63/******/ __webpack_require__.t = function(value, mode) { 64/******/ if(mode & 1) value = __webpack_require__(value); 65/******/ if(mode & 8) return value; 66/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 67/******/ var ns = Object.create(null); 68/******/ __webpack_require__.r(ns); 69/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 70/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 71/******/ return ns; 72/******/ }; 73/******/ 74/******/ // getDefaultExport function for compatibility with non-harmony modules 75/******/ __webpack_require__.n = function(module) { 76/******/ var getter = module && module.__esModule ? 77/******/ function getDefault() { return module['default']; } : 78/******/ function getModuleExports() { return module; }; 79/******/ __webpack_require__.d(getter, 'a', getter); 80/******/ return getter; 81/******/ }; 82/******/ 83/******/ // Object.prototype.hasOwnProperty.call 84/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 85/******/ 86/******/ // __webpack_public_path__ 87/******/ __webpack_require__.p = ""; 88/******/ 89/******/ 90/******/ // Load entry module and return exports 91/******/ return __webpack_require__(__webpack_require__.s = 191); 92/******/ }) 93/************************************************************************/ 94/******/ ([ 95/* 0 */ 96/***/ (function(module, exports, __webpack_require__) { 97 98/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) { 99 return it && it.Math == Math && it; 100}; 101 102// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 103module.exports = 104 // eslint-disable-next-line es/no-global-this -- safe 105 check(typeof globalThis == 'object' && globalThis) || 106 check(typeof window == 'object' && window) || 107 // eslint-disable-next-line no-restricted-globals -- safe 108 check(typeof self == 'object' && self) || 109 check(typeof global == 'object' && global) || 110 // eslint-disable-next-line no-new-func -- fallback 111 (function () { return this; })() || Function('return this')(); 112 113/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61))) 114 115/***/ }), 116/* 1 */ 117/***/ (function(module, exports, __webpack_require__) { 118 119var global = __webpack_require__(0); 120var getOwnPropertyDescriptor = __webpack_require__(96).f; 121var createNonEnumerableProperty = __webpack_require__(72); 122var redefine = __webpack_require__(27); 123var setGlobal = __webpack_require__(99); 124var copyConstructorProperties = __webpack_require__(273); 125var isForced = __webpack_require__(106); 126 127/* 128 options.target - name of the target object 129 options.global - target is the global object 130 options.stat - export as static methods of target 131 options.proto - export as prototype methods of target 132 options.real - real prototype method for the `pure` version 133 options.forced - export even if the native feature is available
134 options.bind - bind methods to the target, required for the `pure` version 135 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 136 options.unsafe - use the simple assignment of property instead of delete + defineProperty 137 options.sham - add a flag to not completely full polyfills 138 options.enumerable - export as enumerable property 139 options.noTargetGet - prevent calling a getter on target 140 options.name - the .name of the function if it does not match the key 141*/ 142module.exports = function (options, source) { 143 var TARGET = options.target; 144 var GLOBAL = options.global; 145 var STATIC = options.stat; 146 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 147 if (GLOBAL) { 148 target = global; 149 } else if (STATIC) { 150 target = global[TARGET] || setGlobal(TARGET, {}); 151 } else { 152 target = (global[TARGET] || {}).prototype; 153 } 154 if (target) for (key in source) { 155 sourceProperty = source[key]; 156 if (options.noTargetGet) { 157 descriptor = getOwnPropertyDescriptor(target, key); 158 targetProperty = descriptor && descriptor.value; 159 } else targetProperty = target[key]; 160 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 161 // contained in target 162 if (!FORCED && targetProperty !== undefined) { 163 if (typeof sourceProperty == typeof targetProperty) continue; 164 copyConstructorProperties(sourceProperty, targetProperty); 165 } 166 // add a flag to not completely full polyfills 167 if (options.sham || (targetProperty && targetProperty.sham)) { 168 createNonEnumerableProperty(sourceProperty, 'sham', true); 169 } 170 // extend global 171 redefine(target, key, sourceProperty, options); 172 } 173}; 174 175 176/***/ }), 177/* 2 */ 178/***/ (function(module, exports) { 179 180var FunctionPrototype = Function.prototype; 181var bind = FunctionPrototype.bind; 182var call = FunctionPrototype.call; 183var callBind = bind && bind.bind(call); 184 185module.exports = bind ? function (fn) { 186 return fn && callBind(call, fn); 187} : function (fn) { 188 return fn && function () { 189 return call.apply(fn, arguments); 190 }; 191}; 192 193 194/***/ }), 195/* 3 */ 196/***/ (function(module, exports) { 197 198function _interopRequireDefault(obj) { 199 return obj && obj.__esModule ? obj : { 200 "default": obj 201 }; 202} 203 204module.exports = _interopRequireDefault; 205 206/***/ }), 207/* 4 */ 208/***/ (function(module, exports, __webpack_require__) { 209
210var toLength = __webpack_require__(275); 211 212// `LengthOfArrayLike` abstract operation 213// https://tc39.es/ecma262/#sec-lengthofarraylike 214module.exports = function (obj) { 215 return toLength(obj.length); 216}; 217 218 219/***/ }), 220/* 5 */ 221/***/ (function(module, exports) { 222 223// `IsCallable` abstract operation 224// https://tc39.es/ecma262/#sec-iscallable 225module.exports = function (argument) { 226 return typeof argument == 'function'; 227}; 228 229 230/***/ }), 231/* 6 */ 232/***/ (function(module, exports, __webpack_require__) { 233 234var global = __webpack_require__(0); 235var shared = __webpack_require__(149); 236var hasOwn = __webpack_require__(17); 237var uid = __webpack_require__(100); 238var NATIVE_SYMBOL = __webpack_require__(148); 239var USE_SYMBOL_AS_UID = __webpack_require__(147); 240 241var WellKnownSymbolsStore = shared('wks'); 242var Symbol = global.Symbol; 243var symbolFor = Symbol && Symbol['for']; 244var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 245 246module.exports = function (name) { 247 if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) { 248 var description = 'Symbol.' + name; 249 if (NATIVE_SYMBOL && hasOwn(Symbol, name)) { 250 WellKnownSymbolsStore[name] = Symbol[name]; 251 } else if (USE_SYMBOL_AS_UID && symbolFor) { 252 WellKnownSymbolsStore[name] = symbolFor(description); 253 } else { 254 WellKnownSymbolsStore[name] = createWellKnownSymbol(description); 255 } 256 } return WellKnownSymbolsStore[name]; 257}; 258 259 260/***/ }), 261/* 7 */ 262/***/ (function(module, exports, __webpack_require__) { 263 264var global = __webpack_require__(0); 265var requireObjectCoercible = __webpack_require__(97); 266 267var Object = global.Object; 268 269// `ToObject` abstract operation 270// https://tc39.es/ecma262/#sec-toobject 271module.exports = function (argument) { 272 return Object(requireObjectCoercible(argument)); 273}; 274 275 276/***/ }), 277/* 8 */ 278/***/ (function(module, exports, __webpack_require__) { 279 280var wellKnownSymbol = __webpack_require__(6); 281var create = __webpack_require__(36); 282var definePropertyModule = __webpack_require__(18); 283 284var UNSCOPABLES = wellKnownSymbol('unscopables'); 285var ArrayPrototype = Array.prototype; 286 287// Array.prototype[@@unscopables] 288// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 289if (ArrayPrototype[UNSCOPABLES] == undefined) { 290 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { 291 configurable: true, 292 value: create(null) 293 }); 294} 295 296// add a key to Array.prototype[@@unscopables] 297module.exports = function (key) { 298 ArrayPrototype[UNSCOPABLES][key] = true; 299}; 300 301 302/***/ }), 303/* 9 */ 304/***/ (function(module, exports) { 305 306module.exports = function (exec) { 307 try { 308 return !!exec(); 309 } catch (error) { 310 return true; 311 } 312}; 313 314 315/***/ }), 316/* 10 */ 317/***/ (function(module, exports, __webpack_require__) { 318 319"use strict"; 320 // @wf-will-never-add-flow-to-this-file 321 322/* globals window, document, navigator, WEBFLOW_ENV_TEST */ 323 324/* eslint-disable no-var */ 325 326/** 327 * Webflow: Core site library 328 */ 329 330var Webflow = {}; 331var modules = {}; 332var primary = []; 333var secondary = window.Webflow || []; 334var $ = window.jQuery; 335var $win = $(window); 336var $doc = $(document); 337var isFunction = $.isFunction; 338 339var _ = Webflow._ = __webpack_require__(193); 340 341var tram = Webflow.tram = __webpack_require__(125) && $.tram; 342var domready = false; 343var destroyed = false; 344tram.config.hideBackface = false; 345tram.config.keepInherited = true; 346/** 347 * Webflow.define - Define a named module 348 * @param {string} name 349 * @param {function} factory 350 * @param {object} options 351 * @return {object} 352 */ 353 354Webflow.define = function (name, factory, options) { 355 if (modules[name]) { 356 unbindModule(modules[name]); 357 } 358 359 var instance = modules[name] = factory($, _, options) || {}; 360 bindModule(instance); 361 return instance; 362}; 363/** 364 * Webflow.require - Require a named module 365 * @param {string} name 366 * @return {object} 367 */ 368 369 370Webflow.require = function (name) { 371 return modules[name]; 372}; 373 374function bindModule(module) { 375 // If running in Webflow app, subscribe to design/preview events 376 if (Webflow.env()) { 377 isFunction(module.design) && $win.on('__wf_design', module.design); 378 isFunction(module.preview) && $win.on('__wf_preview', module.preview); 379 } // Subscribe to front-end destroy event 380 381 382 isFunction(module.destroy) && $win.on('__wf_destroy', module.destroy); // Look for ready method on module 383 384 if (module.ready && isFunction(module.ready)) { 385 addReady(module); 386 } 387} 388 389function addReady(module) { 390 // If domready has already happened, run ready method 391 if (domready) { 392 module.ready(); 393 return; 394 } // Otherwise add ready method to the primary queue (only once) 395 396 397 if (_.contains(primary, module.ready)) { 398 return; 399 } 400 401 primary.push(module.ready); 402} 403 404function unbindModule(module) { 405 // Unsubscribe module from window events 406 isFunction(module.design) && $win.off('__wf_design', module.design); 407 isFunction(module.preview) && $win.off('__wf_preview', module.preview); 408 isFunction(module.destroy) && $win.off('__wf_destroy', module.destroy); // Remove ready method from primary queue 409 410 if (module.ready && isFunction(module.ready)) { 411 removeReady(module); 412 } 413} 414 415function removeReady(module) { 416 primary = _.filter(primary, function (readyFn) { 417 return readyFn !== module.ready; 418 }); 419} 420/** 421 * Webflow.push - Add a ready handler into secondary queue 422 * @param {function} ready Callback to invoke on domready 423 */ 424 425 426Webflow.push = function (ready) { 427 // If domready has already happened, invoke handler 428 if (domready) { 429 isFunction(ready) && ready(); 430 return; 431 } // Otherwise push into secondary queue 432 433 434 secondary.push(ready); 435}; 436/** 437 * Webflow.env - Get the state of the Webflow app 438 * @param {string} mode [optional] 439 * @return {boolean} 440 */ 441 442 443Webflow.env = function (mode) { 444 var designFlag = window.__wf_design; 445 var inApp = typeof designFlag !== 'undefined'; 446 447 if (!mode) { 448 return inApp; 449 } 450 451 if (mode === 'design') { 452 return inApp && designFlag; 453 } 454 455 if (mode === 'preview') { 456 return inApp && !designFlag; 457 } 458 459 if (mode === 'slug') { 460 return inApp && window.__wf_slug; 461 } 462 463 if (mode === 'editor') { 464 return window.WebflowEditor; 465 } 466 467 if (mode === 'test') { 468 return false || window.__wf_test; 469 } 470 471 if (mode === 'frame') { 472 return window !== window.top; 473 } 474}; // Feature detects + browser sniffs à ² _à ² 475 476 477var userAgent = navigator.userAgent.toLowerCase(); 478var touch = Webflow.env.touch = 'ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch; 479var chrome = Webflow.env.chrome = /chrome/.test(userAgent) && /Google/.test(navigator.vendor) && parseInt(userAgent.match(/chrome\/(\d+)\./)[1], 10); 480var ios = Webflow.env.ios = /(ipod|iphone|ipad)/.test(userAgent); 481Webflow.env.safari = /safari/.test(userAgent) && !chrome && !ios; // Maintain current touch target to prevent late clicks on touch devices 482 483var touchTarget; // Listen for both events to support touch/mouse hybrid devices 484 485touch && $doc.on('touchstart mousedown', function (evt) { 486 touchTarget = evt.target; 487}); 488/** 489 * Webflow.validClick - validate click target against current touch target 490 * @param {HTMLElement} clickTarget Element being clicked 491 * @return {Boolean} True if click target is valid (always true on non-touch) 492 */ 493 494Webflow.validClick = touch ? function (clickTarget) { 495 return clickTarget === touchTarget || $.contains(clickTarget, touchTarget); 496} : function () { 497 return true; 498}; 499/** 500 * Webflow.resize, Webflow.scroll - throttled event proxies 501 */ 502 503var resizeEvents = 'resize.webflow orientationchange.webflow load.webflow';
504var scrollEvents = 'scroll.webflow ' + resizeEvents; 505Webflow.resize = eventProxy($win, resizeEvents); 506Webflow.scroll = eventProxy($win, scrollEvents); 507Webflow.redraw = eventProxy(); // Create a proxy instance for throttled events 508 509function eventProxy(target, types) { 510 // Set up throttled method (using custom frame-based _.throttle) 511 var handlers = []; 512 var proxy = {}; 513 proxy.up = _.throttle(function (evt) { 514 _.each(handlers, function (h) { 515 h(evt); 516 }); 517 }); // Bind events to target 518 519 if (target && types) { 520 target.on(types, proxy.up); 521 } 522 /** 523 * Add an event handler 524 * @param {function} handler 525 */ 526 527 528 proxy.on = function (handler) { 529 if (typeof handler !== 'function') { 530 return; 531 } 532 533 if (_.contains(handlers, handler)) { 534 return; 535 } 536 537 handlers.push(handler); 538 }; 539 /** 540 * Remove an event handler 541 * @param {function} handler 542 */ 543 544 545 proxy.off = function (handler) { 546 // If no arguments supplied, clear all handlers 547 if (!arguments.length) { 548 handlers = []; 549 return; 550 } // Otherwise, remove handler from the list 551 552 553 handlers = _.filter(handlers, function (h) { 554 return h !== handler; 555 }); 556 }; 557 558 return proxy; 559} // Webflow.location - Wrap window.location in api 560 561 562Webflow.location = function (url) { 563 window.location = url; 564}; 565 566if (Webflow.env()) { 567 // Ignore redirects inside a Webflow design/edit environment 568 Webflow.location = function () {}; 569} // Webflow.ready - Call primary and secondary handlers 570 571 572Webflow.ready = function () { 573 domready = true; // Restore modules after destroy 574 575 if (destroyed) { 576 restoreModules(); // Otherwise run primary ready methods 577 } else { 578 _.each(primary, callReady); 579 } // Run secondary ready methods 580 581 582 _.each(secondary, callReady); // Trigger resize 583 584 585 Webflow.resize.up(); 586}; 587 588function callReady(readyFn) { 589 isFunction(readyFn) && readyFn(); 590} 591 592function restoreModules() { 593 destroyed = false; 594 595 _.each(modules, bindModule); 596} 597/** 598 * Webflow.load - Add a window load handler that will run even if load event has already happened 599 * @param {function} handler 600 */ 601 602 603var deferLoad; 604 605Webflow.load = function (handler) { 606 deferLoad.then(handler); 607}; 608 609function bindLoad() { 610 // Reject any previous deferred (to support destroy) 611 if (deferLoad) { 612 deferLoad.reject(); 613 $win.off('load', deferLoad.resolve); 614 } // Create deferred and bind window load event 615 616 617 deferLoad = new $.Deferred(); 618 $win.on('load', deferLoad.resolve); 619} // Webflow.destroy - Trigger a destroy event for all modules 620 621 622Webflow.destroy = function (options) { 623 options = options || {}; 624 destroyed = true; 625 $win.triggerHandler('__wf_destroy'); // Allow domready reset for tests 626 627 if (options.domready != null) { 628 domready = options.domready; 629 } // Unbind modules 630 631 632 _.each(modules, unbindModule); // Clear any proxy event handlers 633 634 635 Webflow.resize.off(); 636 Webflow.scroll.off(); 637 Webflow.redraw.off(); // Clear any queued ready methods 638 639 primary = []; 640 secondary = []; // If load event has not yet fired, replace the deferred 641 642 if (deferLoad.state() === 'pending') { 643 bindLoad(); 644 } 645}; // Listen for domready 646 647 648$(Webflow.ready); // Listen for window.onload and resolve deferred 649 650bindLoad(); // Export commonjs module 651 652module.exports = window.Webflow = Webflow; 653 654/***/ }), 655/* 11 */ 656/***/ (function(module, exports) { 657 658/** 659 * Checks if `value` is classified as an `Array` object. 660 * 661 * @static 662 * @memberOf _ 663 * @since 0.1.0 664 * @category Lang 665 * @param {*} value The value to check. 666 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 667 * @example 668 * 669 * _.isArray([1, 2, 3]); 670 * // => true 671 * 672 * _.isArray(document.body.children); 673 * // => false 674 * 675 * _.isArray('abc'); 676 * // => false 677 * 678 * _.isArray(_.noop); 679 * // => false 680 */ 681var isArray = Array.isArray; 682 683module.exports = isArray; 684 685 686/***/ }), 687/* 12 */ 688/***/ (function(module, exports, __webpack_require__) { 689 690var global = __webpack_require__(0); 691var isObject = __webpack_require__(13); 692 693var String = global.String; 694var TypeError = global.TypeError; 695 696// `Assert: Type(argument) is Object` 697module.exports = function (argument) { 698 if (isObject(argument)) return argument; 699 throw TypeError(String(argument) + ' is not an object'); 700}; 701 702 703/***/ }), 704/* 13 */ 705/***/ (function(module, exports, __webpack_require__) { 706 707var isCallable = __webpack_require__(5); 708 709module.exports = function (it) { 710 return typeof it == 'object' ? it !== null : isCallable(it); 711}; 712 713 714/***/ }), 715/* 14 */ 716/***/ (function(module, exports, __webpack_require__) { 717 718"use strict"; 719 720 721var _interopRequireWildcard = __webpack_require__(57); 722 723Object.defineProperty(exports, "__esModule", { 724 value: true 725}); 726var _exportNames = { 727 IX2EngineActionTypes: true, 728 IX2EngineConstants: true 729};
vendor: 5,181 bytes, lines 730-917
730exports.IX2EngineConstants = exports.IX2EngineActionTypes = void 0; 731 732var _triggerEvents = __webpack_require__(388); 733 734Object.keys(_triggerEvents).forEach(function (key) { 735 if (key === "default" || key === "__esModule") return; 736 if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 737 Object.defineProperty(exports, key, { 738 enumerable: true, 739 get: function get() { 740 return _triggerEvents[key]; 741 } 742 }); 743}); 744 745var _animationActions = __webpack_require__(175); 746 747Object.keys(_animationActions).forEach(function (key) { 748 if (key === "default" || key === "__esModule") return; 749 if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 750 Object.defineProperty(exports, key, { 751 enumerable: true, 752 get: function get() { 753 return _animationActions[key]; 754 } 755 }); 756}); 757 758var _triggerInteractions = __webpack_require__(389); 759 760Object.keys(_triggerInteractions).forEach(function (key) { 761 if (key === "default" || key === "__esModule") return; 762 if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 763 Object.defineProperty(exports, key, { 764 enumerable: true, 765 get: function get() { 766 return _triggerInteractions[key]; 767 } 768 }); 769}); 770 771var _reducedMotion = __webpack_require__(390); 772 773Object.keys(_reducedMotion).forEach(function (key) { 774 if (key === "default" || key === "__esModule") return; 775 if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; 776 Object.defineProperty(exports, key, { 777 enumerable: true, 778 get: function get() { 779 return _reducedMotion[key]; 780 } 781 }); 782}); 783 784var IX2EngineActionTypes = _interopRequireWildcard(__webpack_require__(391)); 785 786exports.IX2EngineActionTypes = IX2EngineActionTypes; 787 788var IX2EngineConstants = _interopRequireWildcard(__webpack_require__(392)); 789 790exports.IX2EngineConstants = IX2EngineConstants; 791 792/***/ }), 793/* 15 */ 794/***/ (function(module, exports) { 795 796var call = Function.prototype.call; 797 798module.exports = call.bind ? call.bind(call) : function () { 799 return call.apply(call, arguments); 800}; 801 802 803/***/ }), 804/* 16 */ 805/***/ (function(module, exports, __webpack_require__) { 806 807var global = __webpack_require__(0); 808var isCallable = __webpack_require__(5); 809 810var aFunction = function (argument) { 811 return isCallable(argument) ? argument : undefined; 812}; 813 814module.exports = function (namespace, method) { 815 return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method]; 816}; 817 818 819/***/ }), 820/* 17 */ 821/***/ (function(module, exports, __webpack_require__) { 822 823var uncurryThis = __webpack_require__(2); 824var toObject = __webpack_require__(7); 825 826var hasOwnProperty = uncurryThis({}.hasOwnProperty); 827 828// `HasOwnProperty` abstract operation 829// https://tc39.es/ecma262/#sec-hasownproperty 830module.exports = Object.hasOwn || function hasOwn(it, key) { 831 return hasOwnProperty(toObject(it), key); 832}; 833 834 835/***/ }), 836/* 18 */ 837/***/ (function(module, exports, __webpack_require__) { 838 839var global = __webpack_require__(0); 840var DESCRIPTORS = __webpack_require__(20); 841var IE8_DOM_DEFINE = __webpack_require__(150); 842var anObject = __webpack_require__(12); 843var toPropertyKey = __webpack_require__(69); 844 845var TypeError = global.TypeError; 846// eslint-disable-next-line es/no-object-defineproperty -- safe 847var $defineProperty = Object.defineProperty; 848 849// `Object.defineProperty` method 850// https://tc39.es/ecma262/#sec-object.defineproperty 851exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) { 852 anObject(O); 853 P = toPropertyKey(P); 854 anObject(Attributes); 855 if (IE8_DOM_DEFINE) try { 856 return $defineProperty(O, P, Attributes); 857 } catch (error) { /* empty */ } 858 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); 859 if ('value' in Attributes) O[P] = Attributes.value; 860 return O; 861}; 862 863 864/***/ }), 865/* 19 */ 866/***/ (function(module, exports, __webpack_require__) { 867 868var freeGlobal = __webpack_require__(130); 869 870/** Detect free variable `self`. */ 871var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 872 873/** Used as a reference to the global object. */ 874var root = freeGlobal || freeSelf || Function('return this')(); 875 876module.exports = root; 877 878 879/***/ }), 880/* 20 */ 881/***/ (function(module, exports, __webpack_require__) { 882 883var fails = __webpack_require__(9); 884 885// Detect IE8's incomplete defineProperty implementation 886module.exports = !fails(function () { 887 // eslint-disable-next-line es/no-object-defineproperty -- required for testing 888 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 889}); 890 891 892/***/ }), 893/* 21 */ 894/***/ (function(module, exports, __webpack_require__) { 895 896var global = __webpack_require__(0); 897var isCallable = __webpack_require__(5); 898var tryToString = __webpack_require__(70); 899 900var TypeError = global.TypeError; 901 902// `Assert: IsCallable(argument) is true` 903module.exports = function (argument) { 904 if (isCallable(argument)) return argument; 905 throw TypeError(tryToString(argument) + ' is not a function'); 906}; 907 908 909/***/ }), 910/* 22 */ 911/***/ (function(module, exports, __webpack_require__) { 912 913var uncurryThis = __webpack_require__(2); 914var aCallable = __webpack_require__(21); 915 916var bind = uncurryThis(uncurryThis.bind); 917
vendor: 5,195 bytes, lines 918-1087
918// optional / simple context binding 919module.exports = function (fn, that) { 920 aCallable(fn); 921 return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) { 922 return fn.apply(that, arguments); 923 }; 924}; 925 926 927/***/ }), 928/* 23 */ 929/***/ (function(module, exports) { 930 931/** 932 * Checks if `value` is the 933 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 934 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 935 * 936 * @static 937 * @memberOf _ 938 * @since 0.1.0 939 * @category Lang 940 * @param {*} value The value to check. 941 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 942 * @example 943 * 944 * _.isObject({}); 945 * // => true 946 * 947 * _.isObject([1, 2, 3]); 948 * // => true 949 * 950 * _.isObject(_.noop); 951 * // => true 952 * 953 * _.isObject(null); 954 * // => false 955 */ 956function isObject(value) { 957 var type = typeof value; 958 return value != null && (type == 'object' || type == 'function'); 959} 960 961module.exports = isObject; 962 963 964/***/ }), 965/* 24 */ 966/***/ (function(module, exports, __webpack_require__) { 967 968// toObject with fallback for non-array-like ES3 strings 969var IndexedObject = __webpack_require__(41); 970var requireObjectCoercible = __webpack_require__(97); 971 972module.exports = function (it) { 973 return IndexedObject(requireObjectCoercible(it)); 974}; 975 976 977/***/ }), 978/* 25 */ 979/***/ (function(module, exports, __webpack_require__) { 980 981var bind = __webpack_require__(22); 982var uncurryThis = __webpack_require__(2); 983var IndexedObject = __webpack_require__(41); 984var toObject = __webpack_require__(7); 985var lengthOfArrayLike = __webpack_require__(4); 986var arraySpeciesCreate = __webpack_require__(44); 987 988var push = uncurryThis([].push); 989 990// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation 991var createMethod = function (TYPE) { 992 var IS_MAP = TYPE == 1; 993 var IS_FILTER = TYPE == 2; 994 var IS_SOME = TYPE == 3; 995 var IS_EVERY = TYPE == 4; 996 var IS_FIND_INDEX = TYPE == 6; 997 var IS_FILTER_REJECT = TYPE == 7; 998 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 999 return function ($this, callbackfn, that, specificCreate) { 1000 var O = toObject($this); 1001 var self = IndexedObject(O); 1002 var boundFunction = bind(callbackfn, that); 1003 var length = lengthOfArrayLike(self); 1004 var index = 0; 1005 var create = specificCreate || arraySpeciesCreate; 1006 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined; 1007 var value, result; 1008 for (;length > index; index++) if (NO_HOLES || index in self) { 1009 value = self[index]; 1010 result = boundFunction(value, index, O); 1011 if (TYPE) { 1012 if (IS_MAP) target[index] = result; // map 1013 else if (result) switch (TYPE) { 1014 case 3: return true; // some 1015 case 5: return value; // find 1016 case 6: return index; // findIndex 1017 case 2: push(target, value); // filter 1018 } else switch (TYPE) { 1019 case 4: return false; // every 1020 case 7: push(target, value); // filterReject 1021 } 1022 } 1023 } 1024 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 1025 }; 1026}; 1027 1028module.exports = { 1029 // `Array.prototype.forEach` method 1030 // https://tc39.es/ecma262/#sec-array.prototype.foreach 1031 forEach: createMethod(0), 1032 // `Array.prototype.map` method 1033 // https://tc39.es/ecma262/#sec-array.prototype.map 1034 map: createMethod(1), 1035 // `Array.prototype.filter` method 1036 // https://tc39.es/ecma262/#sec-array.prototype.filter 1037 filter: createMethod(2), 1038 // `Array.prototype.some` method 1039 // https://tc39.es/ecma262/#sec-array.prototype.some 1040 some: createMethod(3), 1041 // `Array.prototype.every` method 1042 // https://tc39.es/ecma262/#sec-array.prototype.every 1043 every: createMethod(4), 1044 // `Array.prototype.find` method 1045 // https://tc39.es/ecma262/#sec-array.prototype.find 1046 find: createMethod(5), 1047 // `Array.prototype.findIndex` method 1048 // https://tc39.es/ecma262/#sec-array.prototype.findIndex 1049 findIndex: createMethod(6), 1050 // `Array.prototype.filterReject` method 1051 // https://github.com/tc39/proposal-array-filtering 1052 filterReject: createMethod(7) 1053}; 1054 1055 1056/***/ }), 1057/* 26 */ 1058/***/ (function(module, exports, __webpack_require__) { 1059 1060"use strict"; 1061 1062var fails = __webpack_require__(9); 1063 1064module.exports = function (METHOD_NAME, argument) { 1065 var method = [][METHOD_NAME]; 1066 return !!method && fails(function () { 1067 // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing 1068 method.call(null, argument || function () { throw 1; }, 1); 1069 }); 1070}; 1071 1072 1073/***/ }), 1074/* 27 */ 1075/***/ (function(module, exports, __webpack_require__) { 1076 1077var global = __webpack_require__(0); 1078var isCallable = __webpack_require__(5); 1079var hasOwn = __webpack_require__(17); 1080var createNonEnumerableProperty = __webpack_require__(72); 1081var setGlobal = __webpack_require__(99); 1082var inspectSource = __webpack_require__(73); 1083var InternalStateModule = __webpack_require__(42); 1084var CONFIGURABLE_FUNCTION_NAME = __webpack_require__(151).CONFIGURABLE; 1085 1086var getInternalState = InternalStateModule.get; 1087var enforceInternalState = InternalStateModule.enforce;
vendor: 9,583 bytes, lines 1088-1417
1088var TEMPLATE = String(String).split('String'); 1089 1090(module.exports = function (O, key, value, options) { 1091 var unsafe = options ? !!options.unsafe : false; 1092 var simple = options ? !!options.enumerable : false; 1093 var noTargetGet = options ? !!options.noTargetGet : false; 1094 var name = options && options.name !== undefined ? options.name : key; 1095 var state; 1096 if (isCallable(value)) { 1097 if (String(name).slice(0, 7) === 'Symbol(') { 1098 name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']'; 1099 } 1100 if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { 1101 createNonEnumerableProperty(value, 'name', name); 1102 } 1103 state = enforceInternalState(value); 1104 if (!state.source) { 1105 state.source = TEMPLATE.join(typeof name == 'string' ? name : ''); 1106 } 1107 } 1108 if (O === global) { 1109 if (simple) O[key] = value; 1110 else setGlobal(key, value); 1111 return; 1112 } else if (!unsafe) { 1113 delete O[key]; 1114 } else if (!noTargetGet && O[key]) { 1115 simple = true; 1116 } 1117 if (simple) O[key] = value; 1118 else createNonEnumerableProperty(O, key, value); 1119// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 1120})(Function.prototype, 'toString', function toString() { 1121 return isCallable(this) && getInternalState(this).source || inspectSource(this); 1122}); 1123 1124 1125/***/ }), 1126/* 28 */ 1127/***/ (function(module, exports, __webpack_require__) { 1128 1129var baseMatches = __webpack_require__(197), 1130 baseMatchesProperty = __webpack_require__(251), 1131 identity = __webpack_require__(94), 1132 isArray = __webpack_require__(11), 1133 property = __webpack_require__(260); 1134 1135/** 1136 * The base implementation of `_.iteratee`. 1137 * 1138 * @private 1139 * @param {*} [value=_.identity] The value to convert to an iteratee. 1140 * @returns {Function} Returns the iteratee. 1141 */ 1142function baseIteratee(value) { 1143 // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. 1144 // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. 1145 if (typeof value == 'function') { 1146 return value; 1147 } 1148 if (value == null) { 1149 return identity; 1150 } 1151 if (typeof value == 'object') { 1152 return isArray(value) 1153 ? baseMatchesProperty(value[0], value[1]) 1154 : baseMatches(value); 1155 } 1156 return property(value); 1157} 1158 1159module.exports = baseIteratee; 1160 1161 1162/***/ }), 1163/* 29 */ 1164/***/ (function(module, exports, __webpack_require__) { 1165 1166var baseIsNative = __webpack_require__(209), 1167 getValue = __webpack_require__(214); 1168 1169/** 1170 * Gets the native function at `key` of `object`. 1171 * 1172 * @private 1173 * @param {Object} object The object to query. 1174 * @param {string} key The key of the method to get. 1175 * @returns {*} Returns the function if it's native, else `undefined`. 1176 */ 1177function getNative(object, key) { 1178 var value = getValue(object, key); 1179 return baseIsNative(value) ? value : undefined; 1180} 1181 1182module.exports = getNative; 1183 1184 1185/***/ }), 1186/* 30 */ 1187/***/ (function(module, exports) { 1188 1189/** 1190 * Checks if `value` is object-like. A value is object-like if it's not `null` 1191 * and has a `typeof` result of "object". 1192 * 1193 * @static 1194 * @memberOf _ 1195 * @since 4.0.0 1196 * @category Lang 1197 * @param {*} value The value to check. 1198 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 1199 * @example 1200 * 1201 * _.isObjectLike({}); 1202 * // => true 1203 * 1204 * _.isObjectLike([1, 2, 3]); 1205 * // => true 1206 * 1207 * _.isObjectLike(_.noop); 1208 * // => false 1209 * 1210 * _.isObjectLike(null); 1211 * // => false 1212 */ 1213function isObjectLike(value) { 1214 return value != null && typeof value == 'object'; 1215} 1216 1217module.exports = isObjectLike; 1218 1219 1220/***/ }), 1221/* 31 */ 1222/***/ (function(module, exports, __webpack_require__) { 1223 1224var global = __webpack_require__(0); 1225var userAgent = __webpack_require__(32); 1226 1227var process = global.process; 1228var Deno = global.Deno; 1229var versions = process && process.versions || Deno && Deno.version; 1230var v8 = versions && versions.v8; 1231var match, version; 1232 1233if (v8) { 1234 match = v8.split('.'); 1235 // in old Chrome, versions of V8 isn't V8 = Chrome / 10 1236 // but their correct versions are not interesting for us 1237 version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); 1238} 1239 1240// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` 1241// so check `userAgent` even if `.v8` exists, but 0 1242if (!version && userAgent) { 1243 match = userAgent.match(/Edge\/(\d+)/); 1244 if (!match || match[1] >= 74) { 1245 match = userAgent.match(/Chrome\/(\d+)/); 1246 if (match) version = +match[1]; 1247 } 1248} 1249 1250module.exports = version; 1251 1252 1253/***/ }), 1254/* 32 */ 1255/***/ (function(module, exports, __webpack_require__) { 1256 1257var getBuiltIn = __webpack_require__(16); 1258 1259module.exports = getBuiltIn('navigator', 'userAgent') || ''; 1260 1261 1262/***/ }), 1263/* 33 */ 1264/***/ (function(module, exports, __webpack_require__) { 1265 1266var aCallable = __webpack_require__(21); 1267 1268// `GetMethod` abstract operation 1269// https://tc39.es/ecma262/#sec-getmethod 1270module.exports = function (V, P) { 1271 var func = V[P]; 1272 return func == null ? undefined : aCallable(func); 1273}; 1274 1275 1276/***/ }), 1277/* 34 */ 1278/***/ (function(module, exports) { 1279 1280var ceil = Math.ceil; 1281var floor = Math.floor; 1282 1283// `ToIntegerOrInfinity` abstract operation 1284// https://tc39.es/ecma262/#sec-tointegerorinfinity 1285module.exports = function (argument) { 1286 var number = +argument; 1287 // eslint-disable-next-line no-self-compare -- safe 1288 return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number); 1289}; 1290 1291 1292/***/ }), 1293/* 35 */ 1294/***/ (function(module, exports, __webpack_require__) { 1295 1296var classof = __webpack_require__(49); 1297 1298// `IsArray` abstract operation 1299// https://tc39.es/ecma262/#sec-isarray 1300// eslint-disable-next-line es/no-array-isarray -- safe 1301module.exports = Array.isArray || function isArray(argument) { 1302 return classof(argument) == 'Array'; 1303}; 1304 1305 1306/***/ }), 1307/* 36 */ 1308/***/ (function(module, exports, __webpack_require__) { 1309 1310/* global ActiveXObject -- old IE, WSH */ 1311var anObject = __webpack_require__(12); 1312var defineProperties = __webpack_require__(281); 1313var enumBugKeys = __webpack_require__(105); 1314var hiddenKeys = __webpack_require__(74); 1315var html = __webpack_require__(156); 1316var documentCreateElement = __webpack_require__(101); 1317var sharedKey = __webpack_require__(102); 1318 1319var GT = '>'; 1320var LT = '<'; 1321var PROTOTYPE = 'prototype'; 1322var SCRIPT = 'script'; 1323var IE_PROTO = sharedKey('IE_PROTO'); 1324 1325var EmptyConstructor = function () { /* empty */ }; 1326 1327var scriptTag = function (content) { 1328 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 1329}; 1330 1331// Create object with fake `null` prototype: use ActiveX Object with cleared prototype 1332var NullProtoObjectViaActiveX = function (activeXDocument) { 1333 activeXDocument.write(scriptTag('')); 1334 activeXDocument.close(); 1335 var temp = activeXDocument.parentWindow.Object; 1336 activeXDocument = null; // avoid memory leak 1337 return temp; 1338}; 1339 1340// Create object with fake `null` prototype: use iframe Object with cleared prototype 1341var NullProtoObjectViaIFrame = function () { 1342 // Thrash, waste and sodomy: IE GC bug 1343 var iframe = documentCreateElement('iframe'); 1344 var JS = 'java' + SCRIPT + ':'; 1345 var iframeDocument; 1346 iframe.style.display = 'none'; 1347 html.appendChild(iframe); 1348 // https://github.com/zloirock/core-js/issues/475 1349 iframe.src = String(JS); 1350 iframeDocument = iframe.contentWindow.document; 1351 iframeDocument.open(); 1352 iframeDocument.write(scriptTag('document.F=Object')); 1353 iframeDocument.close(); 1354 return iframeDocument.F; 1355}; 1356 1357// Check for document.domain and active x support 1358// No need to use active x approach when document.domain is not set 1359// see https://github.com/es-shims/es5-shim/issues/150 1360// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 1361// avoid IE GC bug 1362var activeXDocument; 1363var NullProtoObject = function () { 1364 try { 1365 activeXDocument = new ActiveXObject('htmlfile'); 1366 } catch (error) { /* ignore */ } 1367 NullProtoObject = typeof document != 'undefined' 1368 ? document.domain && activeXDocument 1369 ? NullProtoObjectViaActiveX(activeXDocument) // old IE 1370 : NullProtoObjectViaIFrame() 1371 : NullProtoObjectViaActiveX(activeXDocument); // WSH 1372 var length = enumBugKeys.length; 1373 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 1374 return NullProtoObject(); 1375}; 1376 1377hiddenKeys[IE_PROTO] = true; 1378 1379// `Object.create` method 1380// https://tc39.es/ecma262/#sec-object.create 1381module.exports = Object.create || function create(O, Properties) { 1382 var result; 1383 if (O !== null) { 1384 EmptyConstructor[PROTOTYPE] = anObject(O); 1385 result = new EmptyConstructor(); 1386 EmptyConstructor[PROTOTYPE] = null; 1387 // add "__proto__" for Object.getPrototypeOf polyfill 1388 result[IE_PROTO] = O; 1389 } else result = NullProtoObject(); 1390 return Properties === undefined ? result : defineProperties(result, Properties); 1391}; 1392 1393 1394/***/ }), 1395/* 37 */ 1396/***/ (function(module, exports) { 1397 1398function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } 1399 1400function _typeof(obj) { 1401 if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { 1402 module.exports = _typeof = function _typeof(obj) { 1403 return _typeof2(obj); 1404 }; 1405 } else { 1406 module.exports = _typeof = function _typeof(obj) { 1407 return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); 1408 }; 1409 } 1410 1411 return _typeof(obj); 1412} 1413 1414module.exports = _typeof; 1415 1416/***/ }), 1417/* 38 */
vendor: 5,450 bytes, lines 1418-1626
1418/***/ (function(module, exports) { 1419 1420function _defineProperty(obj, key, value) { 1421 if (key in obj) { 1422 Object.defineProperty(obj, key, { 1423 value: value, 1424 enumerable: true, 1425 configurable: true, 1426 writable: true 1427 }); 1428 } else { 1429 obj[key] = value; 1430 } 1431 1432 return obj; 1433} 1434 1435module.exports = _defineProperty; 1436 1437/***/ }), 1438/* 39 */ 1439/***/ (function(module, exports, __webpack_require__) { 1440 1441var Symbol = __webpack_require__(47), 1442 getRawTag = __webpack_require__(210), 1443 objectToString = __webpack_require__(211); 1444 1445/** `Object#toString` result references. */ 1446var nullTag = '[object Null]', 1447 undefinedTag = '[object Undefined]'; 1448 1449/** Built-in value references. */ 1450var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 1451 1452/** 1453 * The base implementation of `getTag` without fallbacks for buggy environments. 1454 * 1455 * @private 1456 * @param {*} value The value to query. 1457 * @returns {string} Returns the `toStringTag`. 1458 */ 1459function baseGetTag(value) { 1460 if (value == null) { 1461 return value === undefined ? undefinedTag : nullTag; 1462 } 1463 return (symToStringTag && symToStringTag in Object(value)) 1464 ? getRawTag(value) 1465 : objectToString(value); 1466} 1467 1468module.exports = baseGetTag; 1469 1470 1471/***/ }), 1472/* 40 */ 1473/***/ (function(module, exports, __webpack_require__) { 1474 1475var isFunction = __webpack_require__(129), 1476 isLength = __webpack_require__(87); 1477 1478/** 1479 * Checks if `value` is array-like. A value is considered array-like if it's 1480 * not a function and has a `value.length` that's an integer greater than or 1481 * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. 1482 * 1483 * @static 1484 * @memberOf _ 1485 * @since 4.0.0 1486 * @category Lang 1487 * @param {*} value The value to check. 1488 * @returns {boolean} Returns `true` if `value` is array-like, else `false`. 1489 * @example 1490 * 1491 * _.isArrayLike([1, 2, 3]); 1492 * // => true 1493 * 1494 * _.isArrayLike(document.body.children); 1495 * // => true 1496 * 1497 * _.isArrayLike('abc'); 1498 * // => true 1499 * 1500 * _.isArrayLike(_.noop); 1501 * // => false 1502 */ 1503function isArrayLike(value) { 1504 return value != null && isLength(value.length) && !isFunction(value); 1505} 1506 1507module.exports = isArrayLike; 1508 1509 1510/***/ }), 1511/* 41 */ 1512/***/ (function(module, exports, __webpack_require__) { 1513 1514var global = __webpack_require__(0); 1515var uncurryThis = __webpack_require__(2); 1516var fails = __webpack_require__(9); 1517var classof = __webpack_require__(49); 1518 1519var Object = global.Object; 1520var split = uncurryThis(''.split); 1521 1522// fallback for non-array-like ES3 and non-enumerable old V8 strings 1523module.exports = fails(function () { 1524 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 1525 // eslint-disable-next-line no-prototype-builtins -- safe 1526 return !Object('z').propertyIsEnumerable(0); 1527}) ? function (it) { 1528 return classof(it) == 'String' ? split(it, '') : Object(it); 1529} : Object; 1530 1531 1532/***/ }), 1533/* 42 */ 1534/***/ (function(module, exports, __webpack_require__) { 1535 1536var NATIVE_WEAK_MAP = __webpack_require__(272); 1537var global = __webpack_require__(0); 1538var uncurryThis = __webpack_require__(2); 1539var isObject = __webpack_require__(13); 1540var createNonEnumerableProperty = __webpack_require__(72); 1541var hasOwn = __webpack_require__(17); 1542var shared = __webpack_require__(71); 1543var sharedKey = __webpack_require__(102); 1544var hiddenKeys = __webpack_require__(74); 1545 1546var OBJECT_ALREADY_INITIALIZED = 'Object already initialized'; 1547var TypeError = global.TypeError; 1548var WeakMap = global.WeakMap; 1549var set, get, has; 1550 1551var enforce = function (it) { 1552 return has(it) ? get(it) : set(it, {}); 1553}; 1554 1555var getterFor = function (TYPE) { 1556 return function (it) { 1557 var state; 1558 if (!isObject(it) || (state = get(it)).type !== TYPE) { 1559 throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 1560 } return state; 1561 }; 1562}; 1563 1564if (NATIVE_WEAK_MAP || shared.state) { 1565 var store = shared.state || (shared.state = new WeakMap()); 1566 var wmget = uncurryThis(store.get); 1567 var wmhas = uncurryThis(store.has); 1568 var wmset = uncurryThis(store.set); 1569 set = function (it, metadata) { 1570 if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); 1571 metadata.facade = it; 1572 wmset(store, it, metadata); 1573 return metadata; 1574 }; 1575 get = function (it) { 1576 return wmget(store, it) || {}; 1577 }; 1578 has = function (it) { 1579 return wmhas(store, it); 1580 }; 1581} else { 1582 var STATE = sharedKey('state'); 1583 hiddenKeys[STATE] = true; 1584 set = function (it, metadata) { 1585 if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED); 1586 metadata.facade = it; 1587 createNonEnumerableProperty(it, STATE, metadata); 1588 return metadata; 1589 }; 1590 get = function (it) { 1591 return hasOwn(it, STATE) ? it[STATE] : {}; 1592 }; 1593 has = function (it) { 1594 return hasOwn(it, STATE); 1595 }; 1596} 1597 1598module.exports = { 1599 set: set, 1600 get: get, 1601 has: has, 1602 enforce: enforce, 1603 getterFor: getterFor 1604}; 1605 1606 1607/***/ }), 1608/* 43 */ 1609/***/ (function(module, exports, __webpack_require__) { 1610 1611var uncurryThis = __webpack_require__(2); 1612var fails = __webpack_require__(9); 1613var isCallable = __webpack_require__(5); 1614var classof = __webpack_require__(75); 1615var getBuiltIn = __webpack_require__(16); 1616var inspectSource = __webpack_require__(73); 1617 1618var noop = function () { /* empty */ }; 1619var empty = []; 1620var construct = getBuiltIn('Reflect', 'construct'); 1621var constructorRegExp = /^\s*(?:class|function)\b/; 1622var exec = uncurryThis(constructorRegExp.exec); 1623var INCORRECT_TO_STRING = !constructorRegExp.exec(noop); 1624 1625var isConstructorModern = function (argument) { 1626 if (!isCallable(argument)) return false;
vendor: 1,583 bytes, lines 1627-1681
1627 try { 1628 construct(noop, empty, argument); 1629 return true; 1630 } catch (error) { 1631 return false; 1632 } 1633}; 1634 1635var isConstructorLegacy = function (argument) { 1636 if (!isCallable(argument)) return false; 1637 switch (classof(argument)) { 1638 case 'AsyncFunction': 1639 case 'GeneratorFunction': 1640 case 'AsyncGeneratorFunction': return false; 1641 // we can't check .prototype since constructors produced by .bind haven't it 1642 } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument)); 1643}; 1644 1645// `IsConstructor` abstract operation 1646// https://tc39.es/ecma262/#sec-isconstructor 1647module.exports = !construct || fails(function () { 1648 var called; 1649 return isConstructorModern(isConstructorModern.call) 1650 || !isConstructorModern(Object) 1651 || !isConstructorModern(function () { called = true; }) 1652 || called; 1653}) ? isConstructorLegacy : isConstructorModern; 1654 1655 1656/***/ }), 1657/* 44 */ 1658/***/ (function(module, exports, __webpack_require__) { 1659 1660var arraySpeciesConstructor = __webpack_require__(157); 1661 1662// `ArraySpeciesCreate` abstract operation 1663// https://tc39.es/ecma262/#sec-arrayspeciescreate 1664module.exports = function (originalArray, length) { 1665 return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length); 1666}; 1667 1668 1669/***/ }), 1670/* 45 */ 1671/***/ (function(module, exports, __webpack_require__) { 1672 1673"use strict"; 1674 1675 1676var _interopRequireWildcard = __webpack_require__(57); 1677 1678Object.defineProperty(exports, "__esModule", { 1679 value: true 1680}); 1681exports.IX2VanillaUtils = exports.IX2VanillaPlugins = exports.IX2ElementsReducer = exports.IX2EasingUtils = exports.IX2Easings = exp
1681orts.IX2BrowserSupport = void 0; 1682 1683var IX2BrowserSupport = _interopRequireWildcard(__webpack_require__(120)); 1684 1685exports.IX2BrowserSupport = IX2BrowserSupport; 1686 1687var IX2Easings = _interopRequireWildcard(__webpack_require__(178)); 1688 1689exports.IX2Easings = IX2Easings; 1690 1691var IX2EasingUtils = _interopRequireWildcard(__webpack_require__(180)); 1692 1693exports.IX2EasingUtils = IX2EasingUtils; 1694 1695var IX2ElementsReducer = _interopRequireWildcard(__webpack_require__(398)); 1696 1697exports.IX2ElementsReducer = IX2ElementsReducer; 1698 1699var IX2VanillaPlugins = _interopRequireWildcard(__webpack_require__(182)); 1700 1701exports.IX2VanillaPlugins = IX2VanillaPlugins; 1702 1703var IX2VanillaUtils = _interopRequireWildcard(__webpack_require__(400)); 1704 1705exports.IX2VanillaUtils = IX2VanillaUtils; 1706 1707/***/ }), 1708/* 46 */ 1709/***/ (function(module, exports) { 1710 1711function _extends() { 1712 module.exports = _extends = Object.assign || function (target) { 1713 for (var i = 1; i < arguments.length; i++) { 1714 var source = arguments[i]; 1715 1716 for (var key in source) { 1717 if (Object.prototype.hasOwnProperty.call(source, key)) { 1718 target[key] = source[key]; 1719 } 1720 } 1721 } 1722 1723 return target; 1724 }; 1725 1726 return _extends.apply(this, arguments); 1727} 1728 1729module.exports = _extends; 1730 1731/***/ }), 1732/* 47 */ 1733/***/ (function(module, exports, __webpack_require__) { 1734 1735var root = __webpack_require__(19); 1736 1737/** Built-in value references. */ 1738var Symbol = root.Symbol; 1739 1740module.exports = Symbol; 1741 1742 1743/***/ }), 1744/* 48 */ 1745/***/ (function(module, exports, __webpack_require__) { 1746 1747var isSymbol = __webpack_require__(67); 1748 1749/** Used as references for various `Number` constants. */ 1750var INFINITY = 1 / 0; 1751 1752/** 1753 * Converts `value` to a string key if it's not a string or symbol. 1754 * 1755 * @private 1756 * @param {*} value The value to inspect. 1757 * @returns {string|symbol} Returns the key. 1758 */ 1759function toKey(value) { 1760 if (typeof value == 'string' || isSymbol(value)) { 1761 return value; 1762 } 1763 var result = (value + ''); 1764 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 1765} 1766 1767module.exports = toKey; 1768 1769 1770/***/ }), 1771/* 49 */ 1772/***/ (function(module, exports, __webpack_require__) { 1773 1774var uncurryThis = __webpack_require__(2); 1775 1776var toString = uncurryThis({}.toString); 1777var stringSlice = uncurryThis(''.slice); 1778 1779module.exports = function (it) { 1780 return stringSlice(toString(it), 8, -1); 1781}; 1782 1783 1784/***/ }), 1785/* 50 */ 1786/***/ (function(module, exports) { 1787 1788module.exports = false; 1789 1790 1791/***/ }), 1792/* 51 */ 1793/***/ (function(module, exports, __webpack_require__) { 1794 1795var toIntegerOrInfinity = __webpack_require__(34); 1796 1797var max = Math.max; 1798var min = Math.min; 1799 1800// Helper for a popular repeating case of the spec: 1801// Let integer be ? ToInteger(index). 1802// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 1803module.exports = function (index, length) { 1804 var integer = toIntegerOrInfinity(index); 1805 return integer < 0 ? max(integer + length, 0) : min(integer, length); 1806}; 1807 1808 1809/***/ }), 1810/* 52 */ 1811/***/ (function(module, exports) { 1812 1813module.exports = {}; 1814 1815 1816/***/ }), 1817/* 53 */ 1818/***/ (function(module, exports, __webpack_require__) { 1819 1820"use strict"; 1821 1822var toPropertyKey = __webpack_require__(69); 1823var definePropertyModule = __webpack_require__(18); 1824var createPropertyDescriptor = __webpack_require__(68); 1825 1826module.exports = function (object, key, value) { 1827 var propertyKey = toPropertyKey(key); 1828 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); 1829 else object[propertyKey] = value; 1830}; 1831 1832 1833/***/ }), 1834/* 54 */ 1835/***/ (function(module, exports, __webpack_require__) { 1836 1837var fails = __webpack_require__(9); 1838var wellKnownSymbol = __webpack_require__(6); 1839var V8_VERSION = __webpack_require__(31); 1840 1841var SPECIES = wellKnownSymbol('species'); 1842 1843module.exports = function (METHOD_NAME) { 1844 // We can't use this feature detection in V8 since it causes 1845 // deoptimization and serious performance degradation 1846 // https://github.com/zloirock/core-js/issues/677 1847 return V8_VERSION >= 51 || !fails(function () { 1848 var array = []; 1849 var constructor = array.constructor = {}; 1850 constructor[SPECIES] = function () { 1851 return { foo: 1 }; 1852 }; 1853 return array[METHOD_NAME](Boolean).foo !== 1; 1854 }); 1855}; 1856 1857 1858/***/ }), 1859/* 55 */ 1860/***/ (function(module, exports, __webpack_require__) { 1861 1862var classof = __webpack_require__(49); 1863var global = __webpack_require__(0); 1864 1865module.exports = classof(global.process) == 'process'; 1866 1867 1868/***/ }), 1869/* 56 */ 1870/***/ (function(module, exports, __webpack_require__) { 1871 1872"use strict";
1873// @wf-will-never-add-flow-to-this-file 1874 1875/* globals window, document */ 1876 1877/* eslint-disable no-var */ 1878// eslint-disable-next-line strict 1879 1880 1881var IXEvents = __webpack_require__(368); 1882 1883function dispatchCustomEvent(element, eventName) { 1884 var event = document.createEvent('CustomEvent'); 1885 event.initCustomEvent(eventName, true, true, null); 1886 element.dispatchEvent(event); 1887} 1888/** 1889 * Webflow: IX Event triggers for other modules 1890 */ 1891 1892 1893var $ = window.jQuery; 1894var api = {}; 1895var namespace = '.w-ix'; 1896var eventTriggers = { 1897 reset: function reset(i, el) { 1898 IXEvents.triggers.reset(i, el); 1899 }, 1900 intro: function intro(i, el) { 1901 IXEvents.triggers.intro(i, el); 1902 dispatchCustomEvent(el, 'COMPONENT_ACTIVE'); 1903 }, 1904 outro: function outro(i, el) { 1905 IXEvents.triggers.outro(i, el); 1906 dispatchCustomEvent(el, 'COMPONENT_INACTIVE'); 1907 } 1908}; 1909api.triggers = {}; 1910api.types = { 1911 INTRO: 'w-ix-intro' + namespace, 1912 OUTRO: 'w-ix-outro' + namespace 1913}; 1914$.extend(api.triggers, eventTriggers); 1915module.exports = api; 1916 1917/***/ }), 1918/* 57 */ 1919/***/ (function(module, exports) { 1920 1921function _interopRequireWildcard(obj) { 1922 if (obj && obj.__esModule) { 1923 return obj; 1924 } else { 1925 var newObj = {}; 1926 1927 if (obj != null) { 1928 for (var key in obj) { 1929 if (Object.prototype.hasOwnProperty.call(obj, key)) { 1930 var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; 1931 1932 if (desc.get || desc.set) { 1933 Object.defineProperty(newObj, key, desc); 1934 } else { 1935 newObj[key] = obj[key]; 1936 } 1937 } 1938 } 1939 } 1940 1941 newObj["default"] = obj; 1942 return newObj; 1943 } 1944} 1945 1946module.exports = _interopRequireWildcard; 1947 1948/***/ }), 1949/* 58 */ 1950/***/ (function(module, exports, __webpack_require__) { 1951 1952"use strict"; 1953 1954 1955Object.defineProperty(exports, "__esModule", { 1956 value: true 1957}); 1958 1959var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; 1960 1961exports.clone = clone; 1962exports.addLast = addLast; 1963exports.addFirst = addFirst; 1964exports.removeLast = removeLast; 1965exports.removeFirst = removeFirst; 1966exports.insert = insert; 1967exports.removeAt = removeAt; 1968exports.replaceAt = replaceAt; 1969exports.getIn = getIn; 1970exports.set = set; 1971exports.setIn = setIn; 1972exports.update = update; 1973exports.updateIn = updateIn; 1974exports.merge = merge; 1975exports.mergeDeep = mergeDeep; 1976exports.mergeIn = mergeIn; 1977exports.omit = omit; 1978exports.addDefaults = addDefaults; 1979 1980 1981/*! 1982 * Timm 1983 * 1984 * Immutability helpers with fast reads and acceptable writes. 1985 * 1986 * @copyright Guillermo Grau Panea 2016 1987 * @license MIT 1988 */ 1989 1990var INVALID_ARGS = 'INVALID_ARGS'; 1991 1992// =============================================== 1993// ### Helpers 1994// =============================================== 1995 1996 1997function throwStr(msg) { 1998 throw new Error(msg); 1999} 2000 2001function getKeysAndSymbols(obj) { 2002 var keys = Object.keys(obj); 2003 if (Object.getOwnPropertySymbols) { 2004 return keys.concat(Object.getOwnPropertySymbols(obj)); 2005 } 2006 return keys; 2007} 2008 2009var hasOwnProperty = {}.hasOwnProperty; 2010 2011function clone(obj) { 2012 if (Array.isArray(obj)) return obj.slice(); 2013 var keys = getKeysAndSymbols(obj); 2014 var out = {}; 2015 for (var i = 0; i < keys.length; i++) { 2016 var key = keys[i]; 2017 out[key] = obj[key]; 2018 } 2019 return out; 2020} 2021 2022function doMerge(fAddDefaults, fDeep, first) { 2023 var out = first; 2024 !(out != null) && throwStr( false ? undefined : INVALID_ARGS); 2025 var fChanged = false; 2026 2027 for (var _len = arguments.length, rest = Array(_len > 3 ? _len - 3 : 0), _key = 3; _key < _len; _key++) { 2028 rest[_key - 3] = arguments[_key]; 2029 } 2030 2031 for (var idx = 0; idx < rest.length; idx++) { 2032 var obj = rest[idx]; 2033 if (obj == null) continue; 2034 var keys = getKeysAndSymbols(obj); 2035 if (!keys.length) continue; 2036 for (var j = 0; j <= keys.length; j++) { 2037 var key = keys[j]; 2038 if (fAddDefaults && out[key] !== undefined) continue; 2039 var nextVal = obj[key]; 2040 if (fDeep && isObject(out[key]) && isObject(nextVal)) { 2041 nextVal = doMerge(fAddDefaults, fDeep, out[key], nextVal); 2042 }
2043 if (nextVal === undefined || nextVal === out[key]) continue; 2044 if (!fChanged) { 2045 fChanged = true; 2046 out = clone(out); 2047 } 2048 out[key] = nextVal; 2049 } 2050 } 2051 return out; 2052} 2053 2054function isObject(o) { 2055 var type = typeof o === 'undefined' ? 'undefined' : _typeof(o); 2056 return o != null && (type === 'object' || type === 'function'); 2057} 2058 2059// _deepFreeze = (obj) -> 2060// Object.freeze obj 2061// for key in Object.getOwnPropertyNames obj 2062// val = obj[key] 2063// if isObject(val) and not Object.isFrozen val 2064// _deepFreeze val 2065// obj 2066 2067// =============================================== 2068// -- ### Arrays 2069// =============================================== 2070 2071// -- #### addLast() 2072// -- Returns a new array with an appended item or items. 2073// -- 2074// -- Usage: `addLast<T>(array: Array<T>, val: Array<T>|T): Array<T>` 2075// -- 2076// -- ```js 2077// -- arr = ['a', 'b'] 2078// -- arr2 = addLast(arr, 'c') 2079// -- // ['a', 'b', 'c'] 2080// -- arr2 === arr 2081// -- // false 2082// -- arr3 = addLast(arr, ['c', 'd']) 2083// -- // ['a', 'b', 'c', 'd'] 2084// -- ``` 2085// `array.concat(val)` also handles the scalar case, 2086// but is apparently very slow 2087function addLast(array, val) { 2088 if (Array.isArray(val)) return array.concat(val); 2089 return array.concat([val]); 2090} 2091 2092// -- #### addFirst() 2093// -- Returns a new array with a prepended item or items. 2094// -- 2095// -- Usage: `addFirst<T>(array: Array<T>, val: Array<T>|T): Array<T>` 2096// -- 2097// -- ```js 2098// -- arr = ['a', 'b'] 2099// -- arr2 = addFirst(arr, 'c') 2100// -- // ['c', 'a', 'b'] 2101// -- arr2 === arr 2102// -- // false 2103// -- arr3 = addFirst(arr, ['c', 'd']) 2104// -- // ['c', 'd', 'a', 'b'] 2105// -- ``` 2106function addFirst(array, val) { 2107 if (Array.isArray(val)) return val.concat(array); 2108 return [val].concat(array); 2109} 2110 2111// -- #### removeLast() 2112// -- Returns a new array removing the last item. 2113// -- 2114// -- Usage: `removeLast<T>(array: Array<T>): Array<T>` 2115// -- 2116// -- ```js 2117// -- arr = ['a', 'b'] 2118// -- arr2 = removeLast(arr) 2119// -- // ['a'] 2120// -- arr2 === arr 2121// -- // false 2122// -- 2123// -- // The same array is returned if there are no changes: 2124// -- arr3 = [] 2125// -- removeLast(arr3) === arr3 2126// -- // true 2127// -- ``` 2128function removeLast(array) { 2129 if (!array.length) return array; 2130 return array.slice(0, array.length - 1); 2131} 2132 2133// -- #### removeFirst() 2134// -- Returns a new array removing the first item. 2135// -- 2136// -- Usage: `removeFirst<T>(array: Array<T>): Array<T>` 2137// -- 2138// -- ```js 2139// -- arr = ['a', 'b'] 2140// -- arr2 = removeFirst(arr) 2141// -- // ['b'] 2142// -- arr2 === arr 2143// -- // false 2144// -- 2145// -- // The same array is returned if there are no changes: 2146// -- arr3 = [] 2147// -- removeFirst(arr3) === arr3 2148// -- // true 2149// -- ``` 2150function removeFirst(array) { 2151 if (!array.length) return array; 2152 return array.slice(1); 2153} 2154 2155// -- #### insert() 2156// -- Returns a new array obtained by inserting an item or items 2157// -- at a specified index. 2158// -- 2159// -- Usage: `insert<T>(array: Array<T>, idx: number, val: Array<T>|T): Array<T>` 2160// -- 2161// -- ```js 2162// -- arr = ['a', 'b', 'c'] 2163// -- arr2 = insert(arr, 1, 'd') 2164// -- // ['a', 'd', 'b', 'c'] 2165// -- arr2 === arr 2166// -- // false 2167// -- insert(arr, 1, ['d', 'e']) 2168// -- // ['a', 'd', 'e', 'b', 'c'] 2169// -- ``` 2170function insert(array, idx, val) { 2171 return array.slice(0, idx).concat(Array.isArray(val) ? val : [val]).concat(array.slice(idx)); 2172} 2173 2174// -- #### removeAt() 2175// -- Returns a new array obtained by removing an item at 2176// -- a specified index. 2177// -- 2178// -- Usage: `removeAt<T>(array: Array<T>, idx: number): Array<T>` 2179// -- 2180// -- ```js 2181// -- arr = ['a', 'b', 'c'] 2182// -- arr2 = removeAt(arr, 1) 2183// -- // ['a', 'c'] 2184// -- arr2 === arr 2185// -- // false 2186// -- 2187// -- // The same array is returned if there are no changes: 2188// -- removeAt(arr, 4) === arr 2189// -- // true 2190// -- ``` 2191function removeAt(array, idx) { 2192 if (idx >= array.length || idx < 0) return array; 2193 return array.slice(0, idx).concat(array.slice(idx + 1)); 2194} 2195 2196// -- #### replaceAt() 2197// -- Returns a new array obtained by replacing an item at 2198// -- a specified index. If the provided item is the same as 2199// -- (*referentially equal to*) the previous item at that position, 2200// -- the original array is returned. 2201// -- 2202// -- Usage: `replaceAt<T>(array: Array<T>, idx: number, newItem: T): Array<T>` 2203// -- 2204// -- ```js 2205// -- arr = ['a', 'b', 'c']
2206// -- arr2 = replaceAt(arr, 1, 'd') 2207// -- // ['a', 'd', 'c'] 2208// -- arr2 === arr 2209// -- // false 2210// -- 2211// -- // The same object is returned if there are no changes: 2212// -- replaceAt(arr, 1, 'b') === arr 2213// -- // true 2214// -- ``` 2215function replaceAt(array, idx, newItem) { 2216 if (array[idx] === newItem) return array; 2217 var len = array.length; 2218 var result = Array(len); 2219 for (var i = 0; i < len; i++) { 2220 result[i] = array[i]; 2221 } 2222 result[idx] = newItem; 2223 return result; 2224} 2225 2226// =============================================== 2227// -- ### Collections (objects and arrays) 2228// =============================================== 2229// -- The following types are used throughout this section 2230// -- ```js 2231// -- type ArrayOrObject = Array<any>|Object; 2232// -- type Key = number|string; 2233// -- ``` 2234 2235// -- #### getIn() 2236// -- Returns a value from an object at a given path. Works with 2237// -- nested arrays and objects. If the path does not exist, it returns 2238// -- `undefined`. 2239// -- 2240// -- Usage: `getIn(obj: ?ArrayOrObject, path: Array<Key>): any` 2241// -- 2242// -- ```js 2243// -- obj = { a: 1, b: 2, d: { d1: 3, d2: 4 }, e: ['a', 'b', 'c'] } 2244// -- getIn(obj, ['d', 'd1']) 2245// -- // 3 2246// -- getIn(obj, ['e', 1]) 2247// -- // 'b' 2248// -- ``` 2249function getIn(obj, path) { 2250 !Array.isArray(path) && throwStr( false ? undefined : INVALID_ARGS); 2251 if (obj == null) return undefined; 2252 var ptr = obj; 2253 for (var i = 0; i < path.length; i++) { 2254 var key = path[i]; 2255 ptr = ptr != null ? ptr[key] : undefined; 2256 if (ptr === undefined) return ptr; 2257 } 2258 return ptr; 2259} 2260 2261// -- #### set() 2262// -- Returns a new object with a modified attribute. 2263// -- If the provided value is the same as (*referentially equal to*) 2264// -- the previous value, the original object is returned. 2265// -- 2266// -- Usage: `set<T>(obj: ?T, key: Key, val: any): T` 2267// -- 2268// -- ```js 2269// -- obj = { a: 1, b: 2, c: 3 } 2270// -- obj2 = set(obj, 'b', 5) 2271// -- // { a: 1, b: 5, c: 3 } 2272// -- obj2 === obj 2273// -- // false 2274// -- 2275// -- // The same object is returned if there are no changes: 2276// -- set(obj, 'b', 2) === obj 2277// -- // true 2278// -- ``` 2279function set(obj, key, val) { 2280 var fallback = typeof key === 'number' ? [] : {}; 2281 var finalObj = obj == null ? fallback : obj; 2282 if (finalObj[key] === val) return finalObj; 2283 var obj2 = clone(finalObj); 2284 obj2[key] = val; 2285 return obj2; 2286} 2287 2288// -- #### setIn() 2289// -- Returns a new object with a modified **nested** attribute. 2290// -- 2291// -- Notes: 2292// -- 2293// -- * If the provided value is the same as (*referentially equal to*) 2294// -- the previous value, the original object is returned. 2295// -- * If the path does not exist, it will be created before setting 2296// -- the new value. 2297// -- 2298// -- Usage: `setIn<T: ArrayOrObject>(obj: T, path: Array<Key>, val: any): T` 2299// -- 2300// -- ```js 2301// -- obj = { a: 1, b: 2, d: { d1: 3, d2: 4 }, e: { e1: 'foo', e2: 'bar' } } 2302// -- obj2 = setIn(obj, ['d', 'd1'], 4) 2303// -- // { a: 1, b: 2, d: { d1: 4, d2: 4 }, e: { e1: 'foo', e2: 'bar' } } 2304// -- obj2 === obj 2305// -- // false 2306// -- obj2.d === obj.d 2307// -- // false 2308// -- obj2.e === obj.e 2309// -- // true 2310// -- 2311// -- // The same object is returned if there are no changes: 2312// -- obj3 = setIn(obj, ['d', 'd1'], 3) 2313// -- // { a: 1, b: 2, d: { d1: 3, d2: 4 }, e: { e1: 'foo', e2: 'bar' } } 2314// -- obj3 === obj 2315// -- // true 2316// -- obj3.d === obj.d 2317// -- // true 2318// -- obj3.e === obj.e 2319// -- // true 2320// -- 2321// -- // ... unknown paths create intermediate keys. Numeric segments are treated as array indices: 2322// -- setIn({ a: 3 }, ['unknown', 0, 'path'], 4) 2323// -- // { a: 3, unknown: [{ path: 4 }] } 2324// -- ``` 2325function doSetIn(obj, path, val, idx) { 2326 var newValue = void 0; 2327 var key = path[idx]; 2328 if (idx === path.length - 1) { 2329 newValue = val; 2330 } else { 2331 var nestedObj = isObject(obj) && isObject(obj[key]) ? obj[key] : typeof path[idx + 1] === 'number' ? [] : {}; 2332 newValue = doSetIn(nestedObj, path, val, idx + 1); 2333 } 2334 return set(obj, key, newValue); 2335} 2336 2337function setIn(obj, path, val) { 2338 if (!path.length) return val; 2339 return doSetIn(obj, path, val, 0); 2340} 2341 2342// -- #### update() 2343// -- Returns a new object with a modified attribute,
2344// -- calculated via a user-provided callback based on the current value. 2345// -- If the calculated value is the same as (*referentially equal to*) 2346// -- the previous value, the original object is returned. 2347// -- 2348// -- Usage: `update<T: ArrayOrObject>(obj: T, key: Key, 2349// -- fnUpdate: (prevValue: any) => any): T` 2350// -- 2351// -- ```js 2352// -- obj = { a: 1, b: 2, c: 3 } 2353// -- obj2 = update(obj, 'b', (val) => val + 1) 2354// -- // { a: 1, b: 3, c: 3 } 2355// -- obj2 === obj 2356// -- // false 2357// -- 2358// -- // The same object is returned if there are no changes: 2359// -- update(obj, 'b', (val) => val) === obj 2360// -- // true 2361// -- ``` 2362function update(obj, key, fnUpdate) { 2363 var prevVal = obj == null ? undefined : obj[key]; 2364 var nextVal = fnUpdate(prevVal); 2365 return set(obj, key, nextVal); 2366} 2367 2368// -- #### updateIn() 2369// -- Returns a new object with a modified **nested** attribute, 2370// -- calculated via a user-provided callback based on the current value. 2371// -- If the calculated value is the same as (*referentially equal to*) 2372// -- the previous value, the original object is returned. 2373// -- 2374// -- Usage: `updateIn<T: ArrayOrObject>(obj: T, path: Array<Key>, 2375// -- fnUpdate: (prevValue: any) => any): T` 2376// -- 2377// -- ```js 2378// -- obj = { a: 1, d: { d1: 3, d2: 4 } } 2379// -- obj2 = updateIn(obj, ['d', 'd1'], (val) => val + 1) 2380// -- // { a: 1, d: { d1: 4, d2: 4 } } 2381// -- obj2 === obj 2382// -- // false 2383// -- 2384// -- // The same object is returned if there are no changes: 2385// -- obj3 = updateIn(obj, ['d', 'd1'], (val) => val) 2386// -- // { a: 1, d: { d1: 3, d2: 4 } } 2387// -- obj3 === obj 2388// -- // true 2389// -- ``` 2390function updateIn(obj, path, fnUpdate) { 2391 var prevVal = getIn(obj, path); 2392 var nextVal = fnUpdate(prevVal); 2393 return setIn(obj, path, nextVal); 2394} 2395 2396// -- #### merge() 2397// -- Returns a new object built as follows: the overlapping keys from the 2398// -- second one overwrite the corresponding entries from the first one. 2399// -- Similar to `Object.assign()`, but immutable. 2400// -- 2401// -- Usage: 2402// -- 2403// -- * `merge(obj1: Object, obj2: ?Object): Object` 2404// -- * `merge(obj1: Object, ...objects: Array<?Object>): Object` 2405// -- 2406// -- The unmodified `obj1` is returned if `obj2` does not *provide something 2407// -- new to* `obj1`, i.e. if either of the following 2408// -- conditions are true: 2409// -- 2410// -- * `obj2` is `null` or `undefined` 2411// -- * `obj2` is an object, but it is empty 2412// -- * All attributes of `obj2` are `undefined` 2413// -- * All attributes of `obj2` are referentially equal to the 2414// -- corresponding attributes of `obj1` 2415// -- 2416// -- Note that `undefined` attributes in `obj2` do not modify the 2417// -- corresponding attributes in `obj1`. 2418// -- 2419// -- ```js 2420// -- obj1 = { a: 1, b: 2, c: 3 } 2421// -- obj2 = { c: 4, d: 5 } 2422// -- obj3 = merge(obj1, obj2) 2423// -- // { a: 1, b: 2, c: 4, d: 5 } 2424// -- obj3 === obj1 2425// -- // false 2426// -- 2427// -- // The same object is returned if there are no changes: 2428// -- merge(obj1, { c: 3 }) === obj1 2429// -- // true 2430// -- ``` 2431function merge(a, b, c, d, e, f) { 2432 for (var _len2 = arguments.length, rest = Array(_len2 > 6 ? _len2 - 6 : 0), _key2 = 6; _key2 < _len2; _key2++) { 2433 rest[_key2 - 6] = arguments[_key2]; 2434 } 2435 2436 return rest.length ? doMerge.call.apply(doMerge, [null, false, false, a, b, c, d, e, f].concat(rest)) : doMerge(false, false, a, b, c, d, e, f); 2437} 2438 2439// -- #### mergeDeep() 2440// -- Returns a new object built as follows: the overlapping keys from the 2441// -- second one overwrite the corresponding entries from the first one. 2442// -- If both the first and second entries are objects they are merged recursively. 2443// -- Similar to `Object.assign()`, but immutable, and deeply merging. 2444// -- 2445// -- Usage: 2446// -- 2447// -- * `mergeDeep(obj1: Object, obj2: ?Object): Object` 2448// -- * `mergeDeep(obj1: Object, ...objects: Array<?Object>): Object` 2449// -- 2450// -- The unmodified `obj1` is returned if `obj2` does not *provide something 2451// -- new to* `obj1`, i.e. if either of the following 2452// -- conditions are true: 2453// -- 2454// -- * `obj2` is `null` or `undefined` 2455// -- * `obj2` is an object, but it is empty 2456// -- * All attributes of `obj2` are `undefined` 2457// -- * All attributes of `obj2` are referentially equal to the
2458// -- corresponding attributes of `obj1` 2459// -- 2460// -- Note that `undefined` attributes in `obj2` do not modify the 2461// -- corresponding attributes in `obj1`. 2462// -- 2463// -- ```js 2464// -- obj1 = { a: 1, b: 2, c: { a: 1 } } 2465// -- obj2 = { b: 3, c: { b: 2 } } 2466// -- obj3 = mergeDeep(obj1, obj2) 2467// -- // { a: 1, b: 3, c: { a: 1, b: 2 } } 2468// -- obj3 === obj1 2469// -- // false 2470// -- 2471// -- // The same object is returned if there are no changes: 2472// -- mergeDeep(obj1, { c: { a: 1 } }) === obj1 2473// -- // true 2474// -- ``` 2475function mergeDeep(a, b, c, d, e, f) { 2476 for (var _len3 = arguments.length, rest = Array(_len3 > 6 ? _len3 - 6 : 0), _key3 = 6; _key3 < _len3; _key3++) { 2477 rest[_key3 - 6] = arguments[_key3]; 2478 } 2479 2480 return rest.length ? doMerge.call.apply(doMerge, [null, false, true, a, b, c, d, e, f].concat(rest)) : doMerge(false, true, a, b, c, d, e, f); 2481} 2482 2483// -- #### mergeIn() 2484// -- Similar to `merge()`, but merging the value at a given nested path. 2485// -- Note that the returned type is the same as that of the first argument. 2486// -- 2487// -- Usage: 2488// -- 2489// -- * `mergeIn<T: ArrayOrObject>(obj1: T, path: Array<Key>, obj2: ?Object): T` 2490// -- * `mergeIn<T: ArrayOrObject>(obj1: T, path: Array<Key>, 2491// -- ...objects: Array<?Object>): T` 2492// -- 2493// -- ```js 2494// -- obj1 = { a: 1, d: { b: { d1: 3, d2: 4 } } } 2495// -- obj2 = { d3: 5 } 2496// -- obj3 = mergeIn(obj1, ['d', 'b'], obj2) 2497// -- // { a: 1, d: { b: { d1: 3, d2: 4, d3: 5 } } } 2498// -- obj3 === obj1 2499// -- // false 2500// -- 2501// -- // The same object is returned if there are no changes: 2502// -- mergeIn(obj1, ['d', 'b'], { d2: 4 }) === obj1 2503// -- // true 2504// -- ``` 2505function mergeIn(a, path, b, c, d, e, f) { 2506 var prevVal = getIn(a, path); 2507 if (prevVal == null) prevVal = {}; 2508 var nextVal = void 0; 2509 2510 for (var _len4 = arguments.length, rest = Array(_len4 > 7 ? _len4 - 7 : 0), _key4 = 7; _key4 < _len4; _key4++) { 2511 rest[_key4 - 7] = arguments[_key4]; 2512 } 2513 2514 if (rest.length) { 2515 nextVal = doMerge.call.apply(doMerge, [null, false, false, prevVal, b, c, d, e, f].concat(rest)); 2516 } else { 2517 nextVal = doMerge(false, false, prevVal, b, c, d, e, f); 2518 } 2519 return setIn(a, path, nextVal); 2520} 2521 2522// -- #### omit() 2523// -- Returns an object excluding one or several attributes. 2524// -- 2525// -- Usage: `omit(obj: Object, attrs: Array<string>|string): Object` 2526// 2527// -- ```js 2528// -- obj = { a: 1, b: 2, c: 3, d: 4 } 2529// -- omit(obj, 'a') 2530// -- // { b: 2, c: 3, d: 4 } 2531// -- omit(obj, ['b', 'c']) 2532// -- // { a: 1, d: 4 } 2533// -- 2534// -- // The same object is returned if there are no changes: 2535// -- omit(obj, 'z') === obj1 2536// -- // true 2537// -- ``` 2538function omit(obj, attrs) { 2539 var omitList = Array.isArray(attrs) ? attrs : [attrs]; 2540 var fDoSomething = false; 2541 for (var i = 0; i < omitList.length; i++) { 2542 if (hasOwnProperty.call(obj, omitList[i])) { 2543 fDoSomething = true; 2544 break; 2545 } 2546 } 2547 if (!fDoSomething) return obj; 2548 var out = {}; 2549 var keys = getKeysAndSymbols(obj); 2550 for (var _i = 0; _i < keys.length; _i++) { 2551 2552 var key = keys[_i]; 2553 if (omitList.indexOf(key) >= 0) continue; 2554 out[key] = obj[key]; 2555 } 2556 return out; 2557} 2558 2559// -- #### addDefaults() 2560// -- Returns a new object built as follows: `undefined` keys in the first one 2561// -- are filled in with the corresponding values from the second one 2562// -- (even if they are `null`). 2563// -- 2564// -- Usage: 2565// -- 2566// -- * `addDefaults(obj: Object, defaults: Object): Object` 2567// -- * `addDefaults(obj: Object, ...defaultObjects: Array<?Object>): Object` 2568// -- 2569// -- ```js 2570// -- obj1 = { a: 1, b: 2, c: 3 } 2571// -- obj2 = { c: 4, d: 5, e: null } 2572// -- obj3 = addDefaults(obj1, obj2) 2573// -- // { a: 1, b: 2, c: 3, d: 5, e: null } 2574// -- obj3 === obj1 2575// -- // false 2576// -- 2577// -- // The same object is returned if there are no changes: 2578// -- addDefaults(obj1, { c: 4 }) === obj1 2579// -- // true 2580// -- ``` 2581function addDefaults(a, b, c, d, e, f) { 2582 for (var _len5 = arguments.length, rest = Array(_len5 > 6 ? _len5 - 6 : 0), _key5 = 6; _key5 < _len5; _key5++) { 2583 rest[_key5 - 6] = arguments[_key5]; 2584 } 2585 2586 return rest.length ? doMerge.call.apply(doMerge, [null, true, false, a, b, c, d, e, f].concat(rest)) : doMerge(true, false, a, b, c, d, e, f); 2587} 2588 2589// =============================================== 2590// ### Public API 2591// =============================================== 2592var timm = { 2593 clone: clone, 2594 addLast: addLast, 2595 addFirst: addFirst, 2596 removeLast: removeLast, 2597 removeFirst: removeFirst, 2598 insert: insert, 2599 removeAt: removeAt, 2600 replaceAt: replaceAt, 2601 2602 getIn: getIn, 2603 // eslint-disable-next-line object-shorthand 2604 set: set, // so that flow doesn't complain 2605 setIn: setIn, 2606 update: update, 2607 updateIn: updateIn, 2608 merge: merge, 2609 mergeDeep: mergeDeep, 2610 mergeIn: mergeIn, 2611 omit: omit, 2612 addDefaults: addDefaults 2613}; 2614 2615exports.default = timm; 2616 2617 2618/***/ }), 2619/* 59 */ 2620/***/ (function(module, exports, __webpack_require__) { 2621 2622var listCacheClear = __webpack_require__(199), 2623 listCacheDelete = __webpack_require__(200), 2624 listCacheGet = __webpack_require__(201), 2625 listCacheHas = __webpack_require__(202), 2626 listCacheSet = __webpack_require__(203); 2627 2628/** 2629 * Creates an list cache object. 2630 * 2631 * @private 2632 * @constructor 2633 * @param {Array} [entries] The key-value pairs to cache. 2634 */ 2635function ListCache(entries) { 2636 var index = -1, 2637 length = entries == null ? 0 : entries.length; 2638 2639 this.clear(); 2640 while (++index < length) { 2641 var entry = entries[index]; 2642 this.set(entry[0], entry[1]); 2643 } 2644} 2645 2646// Add methods to `ListCache`. 2647ListCache.prototype.clear = listCacheClear; 2648ListCache.prototype['delete'] = listCacheDelete; 2649ListCache.prototype.get = listCacheGet; 2650ListCache.prototype.has = listCacheHas; 2651ListCache.prototype.set = listCacheSet; 2652
vendor: 4,397 bytes, lines 2653-2845
2653module.exports = ListCache; 2654 2655 2656/***/ }), 2657/* 60 */ 2658/***/ (function(module, exports, __webpack_require__) { 2659 2660var eq = __webpack_require__(80); 2661 2662/** 2663 * Gets the index at which the `key` is found in `array` of key-value pairs. 2664 * 2665 * @private 2666 * @param {Array} array The array to inspect. 2667 * @param {*} key The key to search for. 2668 * @returns {number} Returns the index of the matched value, else `-1`. 2669 */ 2670function assocIndexOf(array, key) { 2671 var length = array.length; 2672 while (length--) { 2673 if (eq(array[length][0], key)) { 2674 return length; 2675 } 2676 } 2677 return -1; 2678} 2679 2680module.exports = assocIndexOf; 2681 2682 2683/***/ }), 2684/* 61 */ 2685/***/ (function(module, exports) { 2686 2687var g; 2688 2689// This works in non-strict mode 2690g = (function() { 2691 return this; 2692})(); 2693 2694try { 2695 // This works if eval is allowed (see CSP) 2696 g = g || new Function("return this")(); 2697} catch (e) { 2698 // This works if the window reference is available 2699 if (typeof window === "object") g = window; 2700} 2701 2702// g can still be undefined, but nothing to do about it... 2703// We return undefined, instead of nothing here, so it's 2704// easier to handle this case. if(!global) { ...} 2705 2706module.exports = g; 2707 2708 2709/***/ }), 2710/* 62 */ 2711/***/ (function(module, exports, __webpack_require__) { 2712 2713var getNative = __webpack_require__(29); 2714 2715/* Built-in method references that are verified to be native. */ 2716var nativeCreate = getNative(Object, 'create'); 2717 2718module.exports = nativeCreate; 2719 2720 2721/***/ }), 2722/* 63 */ 2723/***/ (function(module, exports, __webpack_require__) { 2724 2725var isKeyable = __webpack_require__(223); 2726 2727/** 2728 * Gets the data for `map`. 2729 * 2730 * @private 2731 * @param {Object} map The map to query. 2732 * @param {string} key The reference key. 2733 * @returns {*} Returns the map data. 2734 */ 2735function getMapData(map, key) { 2736 var data = map.__data__; 2737 return isKeyable(key) 2738 ? data[typeof key == 'string' ? 'string' : 'hash'] 2739 : data.map; 2740} 2741 2742module.exports = getMapData; 2743 2744 2745/***/ }), 2746/* 64 */ 2747/***/ (function(module, exports, __webpack_require__) { 2748 2749var arrayLikeKeys = __webpack_require__(137), 2750 baseKeys = __webpack_require__(88), 2751 isArrayLike = __webpack_require__(40); 2752 2753/** 2754 * Creates an array of the own enumerable property names of `object`. 2755 * 2756 * **Note:** Non-object values are coerced to objects. See the 2757 * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 2758 * for more details. 2759 * 2760 * @static 2761 * @since 0.1.0 2762 * @memberOf _ 2763 * @category Object 2764 * @param {Object} object The object to query. 2765 * @returns {Array} Returns the array of property names. 2766 * @example 2767 * 2768 * function Foo() { 2769 * this.a = 1; 2770 * this.b = 2; 2771 * } 2772 * 2773 * Foo.prototype.c = 3; 2774 * 2775 * _.keys(new Foo); 2776 * // => ['a', 'b'] (iteration order is not guaranteed) 2777 * 2778 * _.keys('hi'); 2779 * // => ['0', '1'] 2780 */ 2781function keys(object) { 2782 return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); 2783} 2784 2785module.exports = keys; 2786 2787 2788/***/ }), 2789/* 65 */ 2790/***/ (function(module, exports, __webpack_require__) { 2791 2792var baseIsArguments = __webpack_require__(241), 2793 isObjectLike = __webpack_require__(30); 2794 2795/** Used for built-in method references. */ 2796var objectProto = Object.prototype; 2797 2798/** Used to check objects for own properties. */ 2799var hasOwnProperty = objectProto.hasOwnProperty; 2800 2801/** Built-in value references. */ 2802var propertyIsEnumerable = objectProto.propertyIsEnumerable; 2803 2804/** 2805 * Checks if `value` is likely an `arguments` object. 2806 * 2807 * @static 2808 * @memberOf _ 2809 * @since 0.1.0 2810 * @category Lang 2811 * @param {*} value The value to check. 2812 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 2813 * else `false`. 2814 * @example 2815 * 2816 * _.isArguments(function() { return arguments; }()); 2817 * // => true 2818 * 2819 * _.isArguments([1, 2, 3]); 2820 * // => false 2821 */ 2822var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { 2823 return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && 2824 !propertyIsEnumerable.call(value, 'callee'); 2825}; 2826 2827module.exports = isArguments; 2828 2829 2830/***/ }), 2831/* 66 */ 2832/***/ (function(module, exports, __webpack_require__) { 2833 2834var isArray = __webpack_require__(11), 2835 isKey = __webpack_require__(93), 2836 stringToPath = __webpack_require__(252), 2837 toString = __webpack_require__(255); 2838 2839/** 2840 * Casts `value` to a path array if it's not one. 2841 * 2842 * @private 2843 * @param {*} value The value to inspect. 2844 * @param {Object} [object] The object to query keys on. 2845 * @returns {Array} Returns the cast property path array.
vendor: 5,659 bytes, lines 2846-3078
2846 */ 2847function castPath(value, object) { 2848 if (isArray(value)) { 2849 return value; 2850 } 2851 return isKey(value, object) ? [value] : stringToPath(toString(value)); 2852} 2853 2854module.exports = castPath; 2855 2856 2857/***/ }), 2858/* 67 */ 2859/***/ (function(module, exports, __webpack_require__) { 2860 2861var baseGetTag = __webpack_require__(39), 2862 isObjectLike = __webpack_require__(30); 2863 2864/** `Object#toString` result references. */ 2865var symbolTag = '[object Symbol]'; 2866 2867/** 2868 * Checks if `value` is classified as a `Symbol` primitive or object. 2869 * 2870 * @static 2871 * @memberOf _ 2872 * @since 4.0.0 2873 * @category Lang 2874 * @param {*} value The value to check. 2875 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 2876 * @example 2877 * 2878 * _.isSymbol(Symbol.iterator); 2879 * // => true 2880 * 2881 * _.isSymbol('abc'); 2882 * // => false 2883 */ 2884function isSymbol(value) { 2885 return typeof value == 'symbol' || 2886 (isObjectLike(value) && baseGetTag(value) == symbolTag); 2887} 2888 2889module.exports = isSymbol; 2890 2891 2892/***/ }), 2893/* 68 */ 2894/***/ (function(module, exports) { 2895 2896module.exports = function (bitmap, value) { 2897 return { 2898 enumerable: !(bitmap & 1), 2899 configurable: !(bitmap & 2), 2900 writable: !(bitmap & 4), 2901 value: value 2902 }; 2903}; 2904 2905 2906/***/ }), 2907/* 69 */ 2908/***/ (function(module, exports, __webpack_require__) { 2909 2910var toPrimitive = __webpack_require__(270); 2911var isSymbol = __webpack_require__(146); 2912 2913// `ToPropertyKey` abstract operation 2914// https://tc39.es/ecma262/#sec-topropertykey 2915module.exports = function (argument) { 2916 var key = toPrimitive(argument, 'string'); 2917 return isSymbol(key) ? key : key + ''; 2918}; 2919 2920 2921/***/ }), 2922/* 70 */ 2923/***/ (function(module, exports, __webpack_require__) { 2924 2925var global = __webpack_require__(0); 2926 2927var String = global.String; 2928 2929module.exports = function (argument) { 2930 try { 2931 return String(argument); 2932 } catch (error) { 2933 return 'Object'; 2934 } 2935}; 2936 2937 2938/***/ }), 2939/* 71 */ 2940/***/ (function(module, exports, __webpack_require__) { 2941 2942var global = __webpack_require__(0); 2943var setGlobal = __webpack_require__(99); 2944 2945var SHARED = '__core-js_shared__'; 2946var store = global[SHARED] || setGlobal(SHARED, {}); 2947 2948module.exports = store; 2949 2950 2951/***/ }), 2952/* 72 */ 2953/***/ (function(module, exports, __webpack_require__) { 2954 2955var DESCRIPTORS = __webpack_require__(20); 2956var definePropertyModule = __webpack_require__(18); 2957var createPropertyDescriptor = __webpack_require__(68); 2958 2959module.exports = DESCRIPTORS ? function (object, key, value) { 2960 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 2961} : function (object, key, value) { 2962 object[key] = value; 2963 return object; 2964}; 2965 2966 2967/***/ }), 2968/* 73 */ 2969/***/ (function(module, exports, __webpack_require__) { 2970 2971var uncurryThis = __webpack_require__(2); 2972var isCallable = __webpack_require__(5); 2973var store = __webpack_require__(71); 2974 2975var functionToString = uncurryThis(Function.toString); 2976 2977// this helper broken in `[email protected]`, so we can't use `shared` helper 2978if (!isCallable(store.inspectSource)) { 2979 store.inspectSource = function (it) { 2980 return functionToString(it); 2981 }; 2982} 2983 2984module.exports = store.inspectSource; 2985 2986 2987/***/ }), 2988/* 74 */ 2989/***/ (function(module, exports) { 2990 2991module.exports = {}; 2992 2993 2994/***/ }), 2995/* 75 */ 2996/***/ (function(module, exports, __webpack_require__) { 2997 2998var global = __webpack_require__(0); 2999var TO_STRING_TAG_SUPPORT = __webpack_require__(107); 3000var isCallable = __webpack_require__(5); 3001var classofRaw = __webpack_require__(49); 3002var wellKnownSymbol = __webpack_require__(6); 3003 3004var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 3005var Object = global.Object; 3006 3007// ES3 wrong here 3008var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; 3009 3010// fallback for IE11 Script Access Denied error 3011var tryGet = function (it, key) { 3012 try { 3013 return it[key]; 3014 } catch (error) { /* empty */ } 3015}; 3016 3017// getting tag from ES6+ `Object.prototype.toString` 3018module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 3019 var O, tag, result; 3020 return it === undefined ? 'Undefined' : it === null ? 'Null' 3021 // @@toStringTag case 3022 : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag 3023 // builtinTag case 3024 : CORRECT_ARGUMENTS ? classofRaw(O) 3025 // ES3 arguments fallback 3026 : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result; 3027}; 3028 3029 3030/***/ }), 3031/* 76 */ 3032/***/ (function(module, exports, __webpack_require__) { 3033 3034var global = __webpack_require__(0); 3035var call = __webpack_require__(15); 3036var aCallable = __webpack_require__(21); 3037var anObject = __webpack_require__(12); 3038var tryToString = __webpack_require__(70); 3039var getIteratorMethod = __webpack_require__(77); 3040 3041var TypeError = global.TypeError; 3042 3043module.exports = function (argument, usingIterator) { 3044 var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator; 3045 if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument)); 3046 throw TypeError(tryToString(argument) + ' is not iterable'); 3047}; 3048 3049 3050/***/ }), 3051/* 77 */ 3052/***/ (function(module, exports, __webpack_require__) { 3053 3054var classof = __webpack_require__(75); 3055var getMethod = __webpack_require__(33); 3056var Iterators = __webpack_require__(52); 3057var wellKnownSymbol = __webpack_require__(6); 3058 3059var ITERATOR = wellKnownSymbol('iterator'); 3060 3061module.exports = function (it) { 3062 if (it != undefined) return getMethod(it, ITERATOR) 3063 || getMethod(it, '@@iterator') 3064 || Iterators[classof(it)]; 3065}; 3066 3067 3068/***/ }), 3069/* 78 */ 3070/***/ (function(module, exports, __webpack_require__) { 3071 3072var defineProperty = __webpack_require__(18).f; 3073var hasOwn = __webpack_require__(17); 3074var wellKnownSymbol = __webpack_require__(6); 3075 3076var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 3077 3078module.exports = function (it, TAG, STATIC) {
vendor: 9,543 bytes, lines 3079-3469
3079 if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { 3080 defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); 3081 } 3082}; 3083 3084 3085/***/ }), 3086/* 79 */ 3087/***/ (function(module, exports, __webpack_require__) { 3088 3089var uncurryThis = __webpack_require__(2); 3090 3091module.exports = uncurryThis([].slice); 3092 3093 3094/***/ }), 3095/* 80 */ 3096/***/ (function(module, exports) { 3097 3098/** 3099 * Performs a 3100 * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 3101 * comparison between two values to determine if they are equivalent. 3102 * 3103 * @static 3104 * @memberOf _ 3105 * @since 4.0.0 3106 * @category Lang 3107 * @param {*} value The value to compare. 3108 * @param {*} other The other value to compare. 3109 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 3110 * @example 3111 * 3112 * var object = { 'a': 1 }; 3113 * var other = { 'a': 1 }; 3114 * 3115 * _.eq(object, object); 3116 * // => true 3117 * 3118 * _.eq(object, other); 3119 * // => false 3120 * 3121 * _.eq('a', 'a'); 3122 * // => true 3123 * 3124 * _.eq('a', Object('a')); 3125 * // => false 3126 * 3127 * _.eq(NaN, NaN); 3128 * // => true 3129 */ 3130function eq(value, other) { 3131 return value === other || (value !== value && other !== other); 3132} 3133 3134module.exports = eq; 3135 3136 3137/***/ }), 3138/* 81 */ 3139/***/ (function(module, exports, __webpack_require__) { 3140 3141var getNative = __webpack_require__(29), 3142 root = __webpack_require__(19); 3143 3144/* Built-in method references that are verified to be native. */ 3145var Map = getNative(root, 'Map'); 3146 3147module.exports = Map; 3148 3149 3150/***/ }), 3151/* 82 */ 3152/***/ (function(module, exports, __webpack_require__) { 3153 3154var mapCacheClear = __webpack_require__(215), 3155 mapCacheDelete = __webpack_require__(222), 3156 mapCacheGet = __webpack_require__(224), 3157 mapCacheHas = __webpack_require__(225), 3158 mapCacheSet = __webpack_require__(226); 3159 3160/** 3161 * Creates a map cache object to store key-value pairs. 3162 * 3163 * @private 3164 * @constructor 3165 * @param {Array} [entries] The key-value pairs to cache. 3166 */ 3167function MapCache(entries) { 3168 var index = -1, 3169 length = entries == null ? 0 : entries.length; 3170 3171 this.clear(); 3172 while (++index < length) { 3173 var entry = entries[index]; 3174 this.set(entry[0], entry[1]); 3175 } 3176} 3177 3178// Add methods to `MapCache`. 3179MapCache.prototype.clear = mapCacheClear; 3180MapCache.prototype['delete'] = mapCacheDelete; 3181MapCache.prototype.get = mapCacheGet; 3182MapCache.prototype.has = mapCacheHas; 3183MapCache.prototype.set = mapCacheSet; 3184 3185module.exports = MapCache; 3186 3187 3188/***/ }), 3189/* 83 */ 3190/***/ (function(module, exports) { 3191 3192/** 3193 * Appends the elements of `values` to `array`. 3194 * 3195 * @private 3196 * @param {Array} array The array to modify. 3197 * @param {Array} values The values to append. 3198 * @returns {Array} Returns `array`. 3199 */ 3200function arrayPush(array, values) { 3201 var index = -1, 3202 length = values.length, 3203 offset = array.length; 3204 3205 while (++index < length) { 3206 array[offset + index] = values[index]; 3207 } 3208 return array; 3209} 3210 3211module.exports = arrayPush; 3212 3213 3214/***/ }), 3215/* 84 */ 3216/***/ (function(module, exports, __webpack_require__) { 3217 3218/* WEBPACK VAR INJECTION */(function(module) {var root = __webpack_require__(19), 3219 stubFalse = __webpack_require__(242); 3220 3221/** Detect free variable `exports`. */ 3222var freeExports = true && exports && !exports.nodeType && exports; 3223 3224/** Detect free variable `module`. */ 3225var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 3226 3227/** Detect the popular CommonJS extension `module.exports`. */ 3228var moduleExports = freeModule && freeModule.exports === freeExports; 3229 3230/** Built-in value references. */ 3231var Buffer = moduleExports ? root.Buffer : undefined; 3232 3233/* Built-in method references for those with the same name as other `lodash` methods. */ 3234var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; 3235 3236/** 3237 * Checks if `value` is a buffer. 3238 * 3239 * @static 3240 * @memberOf _ 3241 * @since 4.3.0 3242 * @category Lang 3243 * @param {*} value The value to check. 3244 * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. 3245 * @example 3246 * 3247 * _.isBuffer(new Buffer(2)); 3248 * // => true 3249 * 3250 * _.isBuffer(new Uint8Array(2)); 3251 * // => false 3252 */ 3253var isBuffer = nativeIsBuffer || stubFalse; 3254 3255module.exports = isBuffer; 3256 3257/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(138)(module))) 3258 3259/***/ }), 3260/* 85 */ 3261/***/ (function(module, exports) { 3262 3263/** Used as references for various `Number` constants. */ 3264var MAX_SAFE_INTEGER = 9007199254740991; 3265 3266/** Used to detect unsigned integer values. */ 3267var reIsUint = /^(?:0|[1-9]\d*)$/; 3268 3269/** 3270 * Checks if `value` is a valid array-like index. 3271 * 3272 * @private 3273 * @param {*} value The value to check. 3274 * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. 3275 * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. 3276 */ 3277function isIndex(value, length) { 3278 var type = typeof value; 3279 length = length == null ? MAX_SAFE_INTEGER : length; 3280 3281 return !!length && 3282 (type == 'number' || 3283 (type != 'symbol' && reIsUint.test(value))) && 3284 (value > -1 && value % 1 == 0 && value < length); 3285} 3286 3287module.exports = isIndex; 3288 3289 3290/***/ }), 3291/* 86 */ 3292/***/ (function(module, exports, __webpack_require__) { 3293 3294var baseIsTypedArray = __webpack_require__(243), 3295 baseUnary = __webpack_require__(244), 3296 nodeUtil = __webpack_require__(245); 3297 3298/* Node.js helper references. */ 3299var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; 3300 3301/** 3302 * Checks if `value` is classified as a typed array. 3303 * 3304 * @static 3305 * @memberOf _ 3306 * @since 3.0.0 3307 * @category Lang 3308 * @param {*} value The value to check. 3309 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 3310 * @example 3311 * 3312 * _.isTypedArray(new Uint8Array); 3313 * // => true 3314 * 3315 * _.isTypedArray([]); 3316 * // => false 3317 */ 3318var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; 3319 3320module.exports = isTypedArray; 3321 3322 3323/***/ }), 3324/* 87 */ 3325/***/ (function(module, exports) { 3326 3327/** Used as references for various `Number` constants. */ 3328var MAX_SAFE_INTEGER = 9007199254740991; 3329 3330/** 3331 * Checks if `value` is a valid array-like length. 3332 * 3333 * **Note:** This method is loosely based on 3334 * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). 3335 * 3336 * @static 3337 * @memberOf _ 3338 * @since 4.0.0 3339 * @category Lang 3340 * @param {*} value The value to check. 3341 * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. 3342 * @example 3343 * 3344 * _.isLength(3); 3345 * // => true 3346 * 3347 * _.isLength(Number.MIN_VALUE); 3348 * // => false 3349 * 3350 * _.isLength(Infinity); 3351 * // => false 3352 * 3353 * _.isLength('3'); 3354 * // => false 3355 */ 3356function isLength(value) { 3357 return typeof value == 'number' && 3358 value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; 3359} 3360 3361module.exports = isLength; 3362 3363 3364/***/ }), 3365/* 88 */ 3366/***/ (function(module, exports, __webpack_require__) { 3367 3368var isPrototype = __webpack_require__(89), 3369 nativeKeys = __webpack_require__(246); 3370 3371/** Used for built-in method references. */ 3372var objectProto = Object.prototype; 3373 3374/** Used to check objects for own properties. */ 3375var hasOwnProperty = objectProto.hasOwnProperty; 3376 3377/** 3378 * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. 3379 * 3380 * @private 3381 * @param {Object} object The object to query. 3382 * @returns {Array} Returns the array of property names. 3383 */ 3384function baseKeys(object) { 3385 if (!isPrototype(object)) { 3386 return nativeKeys(object); 3387 } 3388 var result = []; 3389 for (var key in Object(object)) { 3390 if (hasOwnProperty.call(object, key) && key != 'constructor') { 3391 result.push(key); 3392 } 3393 } 3394 return result; 3395} 3396 3397module.exports = baseKeys; 3398 3399 3400/***/ }), 3401/* 89 */ 3402/***/ (function(module, exports) { 3403 3404/** Used for built-in method references. */ 3405var objectProto = Object.prototype; 3406 3407/** 3408 * Checks if `value` is likely a prototype object. 3409 * 3410 * @private 3411 * @param {*} value The value to check. 3412 * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. 3413 */ 3414function isPrototype(value) { 3415 var Ctor = value && value.constructor, 3416 proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; 3417 3418 return value === proto; 3419} 3420 3421module.exports = isPrototype; 3422 3423 3424/***/ }), 3425/* 90 */ 3426/***/ (function(module, exports, __webpack_require__) { 3427 3428var DataView = __webpack_require__(247), 3429 Map = __webpack_require__(81), 3430 Promise = __webpack_require__(248), 3431 Set = __webpack_require__(249), 3432 WeakMap = __webpack_require__(140), 3433 baseGetTag = __webpack_require__(39), 3434 toSource = __webpack_require__(131); 3435 3436/** `Object#toString` result references. */ 3437var mapTag = '[object Map]', 3438 objectTag = '[object Object]', 3439 promiseTag = '[object Promise]', 3440 setTag = '[object Set]', 3441 weakMapTag = '[object WeakMap]'; 3442 3443var dataViewTag = '[object DataView]'; 3444 3445/** Used to detect maps, sets, and weakmaps. */ 3446var dataViewCtorString = toSource(DataView), 3447 mapCtorString = toSource(Map), 3448 promiseCtorString = toSource(Promise), 3449 setCtorString = toSource(Set), 3450 weakMapCtorString = toSource(WeakMap); 3451 3452/** 3453 * Gets the `toStringTag` of `value`. 3454 * 3455 * @private 3456 * @param {*} value The value to query. 3457 * @returns {string} Returns the `toStringTag`. 3458 */ 3459var getTag = baseGetTag; 3460 3461// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. 3462if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || 3463 (Map && getTag(new Map) != mapTag) || 3464 (Promise && getTag(Promise.resolve()) != promiseTag) || 3465 (Set && getTag(new Set) != setTag) || 3466 (WeakMap && getTag(new WeakMap) != weakMapTag)) { 3467 getTag = function(value) { 3468 var result = baseGetTag(value), 3469 Ctor = result == objectTag ? value.constructor : undefined,
vendor: 6,661 bytes, lines 3470-3741
3470 ctorString = Ctor ? toSource(Ctor) : ''; 3471 3472 if (ctorString) { 3473 switch (ctorString) { 3474 case dataViewCtorString: return dataViewTag; 3475 case mapCtorString: return mapTag; 3476 case promiseCtorString: return promiseTag; 3477 case setCtorString: return setTag; 3478 case weakMapCtorString: return weakMapTag; 3479 } 3480 } 3481 return result; 3482 }; 3483} 3484 3485module.exports = getTag; 3486 3487 3488/***/ }), 3489/* 91 */ 3490/***/ (function(module, exports, __webpack_require__) { 3491 3492var baseGet = __webpack_require__(92); 3493 3494/** 3495 * Gets the value at `path` of `object`. If the resolved value is 3496 * `undefined`, the `defaultValue` is returned in its place. 3497 * 3498 * @static 3499 * @memberOf _ 3500 * @since 3.7.0 3501 * @category Object 3502 * @param {Object} object The object to query. 3503 * @param {Array|string} path The path of the property to get. 3504 * @param {*} [defaultValue] The value returned for `undefined` resolved values. 3505 * @returns {*} Returns the resolved value. 3506 * @example 3507 * 3508 * var object = { 'a': [{ 'b': { 'c': 3 } }] }; 3509 * 3510 * _.get(object, 'a[0].b.c'); 3511 * // => 3 3512 * 3513 * _.get(object, ['a', '0', 'b', 'c']); 3514 * // => 3 3515 * 3516 * _.get(object, 'a.b.c', 'default'); 3517 * // => 'default' 3518 */ 3519function get(object, path, defaultValue) { 3520 var result = object == null ? undefined : baseGet(object, path); 3521 return result === undefined ? defaultValue : result; 3522} 3523 3524module.exports = get; 3525 3526 3527/***/ }), 3528/* 92 */ 3529/***/ (function(module, exports, __webpack_require__) { 3530 3531var castPath = __webpack_require__(66), 3532 toKey = __webpack_require__(48); 3533 3534/** 3535 * The base implementation of `_.get` without support for default values. 3536 * 3537 * @private 3538 * @param {Object} object The object to query. 3539 * @param {Array|string} path The path of the property to get. 3540 * @returns {*} Returns the resolved value. 3541 */ 3542function baseGet(object, path) { 3543 path = castPath(path, object); 3544 3545 var index = 0, 3546 length = path.length; 3547 3548 while (object != null && index < length) { 3549 object = object[toKey(path[index++])]; 3550 } 3551 return (index && index == length) ? object : undefined; 3552} 3553 3554module.exports = baseGet; 3555 3556 3557/***/ }), 3558/* 93 */ 3559/***/ (function(module, exports, __webpack_require__) { 3560 3561var isArray = __webpack_require__(11), 3562 isSymbol = __webpack_require__(67); 3563 3564/** Used to match property names within property paths. */ 3565var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, 3566 reIsPlainProp = /^\w*$/; 3567 3568/** 3569 * Checks if `value` is a property name and not a property path. 3570 * 3571 * @private 3572 * @param {*} value The value to check. 3573 * @param {Object} [object] The object to query keys on. 3574 * @returns {boolean} Returns `true` if `value` is a property name, else `false`. 3575 */ 3576function isKey(value, object) { 3577 if (isArray(value)) { 3578 return false; 3579 } 3580 var type = typeof value; 3581 if (type == 'number' || type == 'symbol' || type == 'boolean' || 3582 value == null || isSymbol(value)) { 3583 return true; 3584 } 3585 return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || 3586 (object != null && value in Object(object)); 3587} 3588 3589module.exports = isKey; 3590 3591 3592/***/ }), 3593/* 94 */ 3594/***/ (function(module, exports) { 3595 3596/** 3597 * This method returns the first argument it receives. 3598 * 3599 * @static 3600 * @since 0.1.0 3601 * @memberOf _ 3602 * @category Util 3603 * @param {*} value Any value. 3604 * @returns {*} Returns `value`. 3605 * @example 3606 * 3607 * var object = { 'a': 1 }; 3608 * 3609 * console.log(_.identity(object) === object); 3610 * // => true 3611 */ 3612function identity(value) { 3613 return value; 3614} 3615 3616module.exports = identity; 3617 3618 3619/***/ }), 3620/* 95 */ 3621/***/ (function(module, exports, __webpack_require__) { 3622 3623var baseTrim = __webpack_require__(263), 3624 isObject = __webpack_require__(23), 3625 isSymbol = __webpack_require__(67); 3626 3627/** Used as references for various `Number` constants. */ 3628var NAN = 0 / 0; 3629 3630/** Used to detect bad signed hexadecimal string values. */ 3631var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; 3632 3633/** Used to detect binary string values. */ 3634var reIsBinary = /^0b[01]+$/i; 3635 3636/** Used to detect octal string values. */ 3637var reIsOctal = /^0o[0-7]+$/i; 3638 3639/** Built-in method references without a dependency on `root`. */ 3640var freeParseInt = parseInt; 3641 3642/** 3643 * Converts `value` to a number. 3644 * 3645 * @static 3646 * @memberOf _ 3647 * @since 4.0.0 3648 * @category Lang 3649 * @param {*} value The value to process. 3650 * @returns {number} Returns the number. 3651 * @example 3652 * 3653 * _.toNumber(3.2); 3654 * // => 3.2 3655 * 3656 * _.toNumber(Number.MIN_VALUE); 3657 * // => 5e-324 3658 * 3659 * _.toNumber(Infinity); 3660 * // => Infinity 3661 * 3662 * _.toNumber('3.2'); 3663 * // => 3.2 3664 */ 3665function toNumber(value) { 3666 if (typeof value == 'number') { 3667 return value; 3668 } 3669 if (isSymbol(value)) { 3670 return NAN; 3671 } 3672 if (isObject(value)) { 3673 var other = typeof value.valueOf == 'function' ? value.valueOf() : value; 3674 value = isObject(other) ? (other + '') : other; 3675 } 3676 if (typeof value != 'string') { 3677 return value === 0 ? value : +value; 3678 } 3679 value = baseTrim(value); 3680 var isBinary = reIsBinary.test(value); 3681 return (isBinary || reIsOctal.test(value)) 3682 ? freeParseInt(value.slice(2), isBinary ? 2 : 8) 3683 : (reIsBadHex.test(value) ? NAN : +value); 3684} 3685 3686module.exports = toNumber; 3687 3688 3689/***/ }), 3690/* 96 */ 3691/***/ (function(module, exports, __webpack_require__) { 3692 3693var DESCRIPTORS = __webpack_require__(20); 3694var call = __webpack_require__(15); 3695var propertyIsEnumerableModule = __webpack_require__(269); 3696var createPropertyDescriptor = __webpack_require__(68); 3697var toIndexedObject = __webpack_require__(24); 3698var toPropertyKey = __webpack_require__(69); 3699var hasOwn = __webpack_require__(17); 3700var IE8_DOM_DEFINE = __webpack_require__(150); 3701 3702// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 3703var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 3704 3705// `Object.getOwnPropertyDescriptor` method 3706// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor 3707exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 3708 O = toIndexedObject(O); 3709 P = toPropertyKey(P); 3710 if (IE8_DOM_DEFINE) try { 3711 return $getOwnPropertyDescriptor(O, P); 3712 } catch (error) { /* empty */ } 3713 if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); 3714}; 3715 3716 3717/***/ }), 3718/* 97 */ 3719/***/ (function(module, exports, __webpack_require__) { 3720 3721var global = __webpack_require__(0); 3722 3723var TypeError = global.TypeError; 3724 3725// `RequireObjectCoercible` abstract operation 3726// https://tc39.es/ecma262/#sec-requireobjectcoercible 3727module.exports = function (it) { 3728 if (it == undefined) throw TypeError("Can't call method on " + it); 3729 return it; 3730}; 3731 3732 3733/***/ }), 3734/* 98 */ 3735/***/ (function(module, exports, __webpack_require__) { 3736 3737var uncurryThis = __webpack_require__(2); 3738 3739module.exports = uncurryThis({}.isPrototypeOf); 3740 3741
vendor: 4,669 bytes, lines 3742-3925
3742/***/ }), 3743/* 99 */ 3744/***/ (function(module, exports, __webpack_require__) { 3745 3746var global = __webpack_require__(0); 3747 3748// eslint-disable-next-line es/no-object-defineproperty -- safe 3749var defineProperty = Object.defineProperty; 3750 3751module.exports = function (key, value) { 3752 try { 3753 defineProperty(global, key, { value: value, configurable: true, writable: true }); 3754 } catch (error) { 3755 global[key] = value; 3756 } return value; 3757}; 3758 3759 3760/***/ }), 3761/* 100 */ 3762/***/ (function(module, exports, __webpack_require__) { 3763 3764var uncurryThis = __webpack_require__(2); 3765 3766var id = 0; 3767var postfix = Math.random(); 3768var toString = uncurryThis(1.0.toString); 3769 3770module.exports = function (key) { 3771 return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36); 3772}; 3773 3774 3775/***/ }), 3776/* 101 */ 3777/***/ (function(module, exports, __webpack_require__) { 3778 3779var global = __webpack_require__(0); 3780var isObject = __webpack_require__(13); 3781 3782var document = global.document; 3783// typeof document.createElement is 'object' in old IE 3784var EXISTS = isObject(document) && isObject(document.createElement); 3785 3786module.exports = function (it) { 3787 return EXISTS ? document.createElement(it) : {}; 3788}; 3789 3790 3791/***/ }), 3792/* 102 */ 3793/***/ (function(module, exports, __webpack_require__) { 3794 3795var shared = __webpack_require__(149); 3796var uid = __webpack_require__(100); 3797 3798var keys = shared('keys'); 3799 3800module.exports = function (key) { 3801 return keys[key] || (keys[key] = uid(key)); 3802}; 3803 3804 3805/***/ }), 3806/* 103 */ 3807/***/ (function(module, exports, __webpack_require__) { 3808 3809var internalObjectKeys = __webpack_require__(152); 3810var enumBugKeys = __webpack_require__(105); 3811 3812var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 3813 3814// `Object.getOwnPropertyNames` method 3815// https://tc39.es/ecma262/#sec-object.getownpropertynames 3816// eslint-disable-next-line es/no-object-getownpropertynames -- safe 3817exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 3818 return internalObjectKeys(O, hiddenKeys); 3819}; 3820 3821 3822/***/ }), 3823/* 104 */ 3824/***/ (function(module, exports, __webpack_require__) { 3825 3826var toIndexedObject = __webpack_require__(24); 3827var toAbsoluteIndex = __webpack_require__(51); 3828var lengthOfArrayLike = __webpack_require__(4); 3829 3830// `Array.prototype.{ indexOf, includes }` methods implementation 3831var createMethod = function (IS_INCLUDES) { 3832 return function ($this, el, fromIndex) { 3833 var O = toIndexedObject($this); 3834 var length = lengthOfArrayLike(O); 3835 var index = toAbsoluteIndex(fromIndex, length); 3836 var value; 3837 // Array#includes uses SameValueZero equality algorithm 3838 // eslint-disable-next-line no-self-compare -- NaN check 3839 if (IS_INCLUDES && el != el) while (length > index) { 3840 value = O[index++]; 3841 // eslint-disable-next-line no-self-compare -- NaN check 3842 if (value != value) return true; 3843 // Array#indexOf ignores holes, Array#includes - not 3844 } else for (;length > index; index++) { 3845 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 3846 } return !IS_INCLUDES && -1; 3847 }; 3848}; 3849 3850module.exports = { 3851 // `Array.prototype.includes` method 3852 // https://tc39.es/ecma262/#sec-array.prototype.includes 3853 includes: createMethod(true), 3854 // `Array.prototype.indexOf` method 3855 // https://tc39.es/ecma262/#sec-array.prototype.indexof 3856 indexOf: createMethod(false) 3857}; 3858 3859 3860/***/ }), 3861/* 105 */ 3862/***/ (function(module, exports) { 3863 3864// IE8- don't enum bug keys 3865module.exports = [ 3866 'constructor', 3867 'hasOwnProperty', 3868 'isPrototypeOf', 3869 'propertyIsEnumerable', 3870 'toLocaleString', 3871 'toString', 3872 'valueOf' 3873]; 3874 3875 3876/***/ }), 3877/* 106 */ 3878/***/ (function(module, exports, __webpack_require__) { 3879 3880var fails = __webpack_require__(9); 3881var isCallable = __webpack_require__(5); 3882 3883var replacement = /#|\.prototype\./; 3884 3885var isForced = function (feature, detection) { 3886 var value = data[normalize(feature)]; 3887 return value == POLYFILL ? true 3888 : value == NATIVE ? false 3889 : isCallable(detection) ? fails(detection) 3890 : !!detection; 3891}; 3892 3893var normalize = isForced.normalize = function (string) { 3894 return String(string).replace(replacement, '.').toLowerCase(); 3895}; 3896 3897var data = isForced.data = {}; 3898var NATIVE = isForced.NATIVE = 'N'; 3899var POLYFILL = isForced.POLYFILL = 'P'; 3900 3901module.exports = isForced; 3902 3903 3904/***/ }), 3905/* 107 */ 3906/***/ (function(module, exports, __webpack_require__) { 3907 3908var wellKnownSymbol = __webpack_require__(6); 3909 3910var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 3911var test = {}; 3912 3913test[TO_STRING_TAG] = 'z'; 3914 3915module.exports = String(test) === '[object z]'; 3916 3917 3918/***/ }), 3919/* 108 */ 3920/***/ (function(module, exports, __webpack_require__) { 3921 3922var wellKnownSymbol = __webpack_require__(6); 3923 3924var ITERATOR = wellKnownSymbol('iterator'); 3925var SAFE_CLOSING = false;
vendor: 4,259 bytes, lines 3926-4038
3926 3927try { 3928 var called = 0; 3929 var iteratorWithReturn = { 3930 next: function () { 3931 return { done: !!called++ }; 3932 }, 3933 'return': function () { 3934 SAFE_CLOSING = true; 3935 } 3936 }; 3937 iteratorWithReturn[ITERATOR] = function () { 3938 return this; 3939 }; 3940 // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing 3941 Array.from(iteratorWithReturn, function () { throw 2; }); 3942} catch (error) { /* empty */ } 3943 3944module.exports = function (exec, SKIP_CLOSING) { 3945 if (!SKIP_CLOSING && !SAFE_CLOSING) return false; 3946 var ITERATION_SUPPORT = false; 3947 try { 3948 var object = {}; 3949 object[ITERATOR] = function () { 3950 return { 3951 next: function () { 3952 return { done: ITERATION_SUPPORT = true }; 3953 } 3954 }; 3955 }; 3956 exec(object); 3957 } catch (error) { /* empty */ } 3958 return ITERATION_SUPPORT; 3959}; 3960 3961 3962/***/ }), 3963/* 109 */ 3964/***/ (function(module, exports, __webpack_require__) { 3965 3966"use strict"; 3967 3968var $ = __webpack_require__(1); 3969var call = __webpack_require__(15); 3970var IS_PURE = __webpack_require__(50); 3971var FunctionName = __webpack_require__(151); 3972var isCallable = __webpack_require__(5); 3973var createIteratorConstructor = __webpack_require__(298); 3974var getPrototypeOf = __webpack_require__(110); 3975var setPrototypeOf = __webpack_require__(111); 3976var setToStringTag = __webpack_require__(78); 3977var createNonEnumerableProperty = __webpack_require__(72); 3978var redefine = __webpack_require__(27); 3979var wellKnownSymbol = __webpack_require__(6); 3980var Iterators = __webpack_require__(52); 3981var IteratorsCore = __webpack_require__(160); 3982 3983var PROPER_FUNCTION_NAME = FunctionName.PROPER; 3984var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE; 3985var IteratorPrototype = IteratorsCore.IteratorPrototype; 3986var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; 3987var ITERATOR = wellKnownSymbol('iterator'); 3988var KEYS = 'keys'; 3989var VALUES = 'values'; 3990var ENTRIES = 'entries'; 3991 3992var returnThis = function () { return this; }; 3993 3994module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { 3995 createIteratorConstructor(IteratorConstructor, NAME, next); 3996 3997 var getIterationMethod = function (KIND) { 3998 if (KIND === DEFAULT && defaultIterator) return defaultIterator; 3999 if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; 4000 switch (KIND) { 4001 case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; 4002 case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; 4003 case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; 4004 } return function () { return new IteratorConstructor(this); }; 4005 }; 4006 4007 var TO_STRING_TAG = NAME + ' Iterator'; 4008 var INCORRECT_VALUES_NAME = false; 4009 var IterablePrototype = Iterable.prototype; 4010 var nativeIterator = IterablePrototype[ITERATOR] 4011 || IterablePrototype['@@iterator'] 4012 || DEFAULT && IterablePrototype[DEFAULT]; 4013 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); 4014 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; 4015 var CurrentIteratorPrototype, methods, KEY; 4016 4017 // fix native 4018 if (anyNativeIterator) { 4019 CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); 4020 if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { 4021 if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { 4022 if (setPrototypeOf) { 4023 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); 4024 } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) { 4025 redefine(CurrentIteratorPrototype, ITERATOR, returnThis); 4026 } 4027 } 4028 // Set @@toStringTag to native iterators 4029 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); 4030 if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; 4031 } 4032 } 4033 4034 // fix Array.prototype.{ values, @@iterator }.name in V8 / FF 4035 if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { 4036 if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) { 4037 createNonEnumerableProperty(IterablePrototype, 'name', VALUES); 4038 } else {
vendor: 8,305 bytes, lines 4039-4309
4039 INCORRECT_VALUES_NAME = true; 4040 defaultIterator = function values() { return call(nativeIterator, this); }; 4041 } 4042 } 4043 4044 // export additional methods 4045 if (DEFAULT) { 4046 methods = { 4047 values: getIterationMethod(VALUES), 4048 keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), 4049 entries: getIterationMethod(ENTRIES) 4050 }; 4051 if (FORCED) for (KEY in methods) { 4052 if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { 4053 redefine(IterablePrototype, KEY, methods[KEY]); 4054 } 4055 } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); 4056 } 4057 4058 // define iterator 4059 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { 4060 redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT }); 4061 } 4062 Iterators[NAME] = defaultIterator; 4063 4064 return methods; 4065}; 4066 4067 4068/***/ }), 4069/* 110 */ 4070/***/ (function(module, exports, __webpack_require__) { 4071 4072var global = __webpack_require__(0); 4073var hasOwn = __webpack_require__(17); 4074var isCallable = __webpack_require__(5); 4075var toObject = __webpack_require__(7); 4076var sharedKey = __webpack_require__(102); 4077var CORRECT_PROTOTYPE_GETTER = __webpack_require__(299); 4078 4079var IE_PROTO = sharedKey('IE_PROTO'); 4080var Object = global.Object; 4081var ObjectPrototype = Object.prototype; 4082 4083// `Object.getPrototypeOf` method 4084// https://tc39.es/ecma262/#sec-object.getprototypeof 4085module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { 4086 var object = toObject(O); 4087 if (hasOwn(object, IE_PROTO)) return object[IE_PROTO]; 4088 var constructor = object.constructor; 4089 if (isCallable(constructor) && object instanceof constructor) { 4090 return constructor.prototype; 4091 } return object instanceof Object ? ObjectPrototype : null; 4092}; 4093 4094 4095/***/ }), 4096/* 111 */ 4097/***/ (function(module, exports, __webpack_require__) { 4098 4099/* eslint-disable no-proto -- safe */ 4100var uncurryThis = __webpack_require__(2); 4101var anObject = __webpack_require__(12); 4102var aPossiblePrototype = __webpack_require__(300); 4103 4104// `Object.setPrototypeOf` method 4105// https://tc39.es/ecma262/#sec-object.setprototypeof 4106// Works with __proto__ only. Old v8 can't work with null proto objects. 4107// eslint-disable-next-line es/no-object-setprototypeof -- safe 4108module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 4109 var CORRECT_SETTER = false; 4110 var test = {}; 4111 var setter; 4112 try { 4113 // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 4114 setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set); 4115 setter(test, []); 4116 CORRECT_SETTER = test instanceof Array; 4117 } catch (error) { /* empty */ } 4118 return function setPrototypeOf(O, proto) { 4119 anObject(O); 4120 aPossiblePrototype(proto); 4121 if (CORRECT_SETTER) setter(O, proto); 4122 else O.__proto__ = proto; 4123 return O; 4124 }; 4125}() : undefined); 4126 4127 4128/***/ }), 4129/* 112 */ 4130/***/ (function(module, exports) { 4131 4132var FunctionPrototype = Function.prototype; 4133var apply = FunctionPrototype.apply; 4134var bind = FunctionPrototype.bind; 4135var call = FunctionPrototype.call; 4136 4137// eslint-disable-next-line es/no-reflect -- safe 4138module.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () { 4139 return call.apply(apply, arguments); 4140}); 4141 4142 4143/***/ }), 4144/* 113 */ 4145/***/ (function(module, exports, __webpack_require__) { 4146 4147var global = __webpack_require__(0); 4148var classof = __webpack_require__(75); 4149 4150var String = global.String; 4151 4152module.exports = function (argument) { 4153 if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string'); 4154 return String(argument); 4155}; 4156 4157 4158/***/ }), 4159/* 114 */ 4160/***/ (function(module, exports, __webpack_require__) { 4161 4162"use strict"; 4163 4164var getBuiltIn = __webpack_require__(16); 4165var definePropertyModule = __webpack_require__(18); 4166var wellKnownSymbol = __webpack_require__(6); 4167var DESCRIPTORS = __webpack_require__(20); 4168 4169var SPECIES = wellKnownSymbol('species'); 4170 4171module.exports = function (CONSTRUCTOR_NAME) { 4172 var Constructor = getBuiltIn(CONSTRUCTOR_NAME); 4173 var defineProperty = definePropertyModule.f; 4174 4175 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { 4176 defineProperty(Constructor, SPECIES, { 4177 configurable: true, 4178 get: function () { return this; } 4179 }); 4180 } 4181}; 4182 4183 4184/***/ }), 4185/* 115 */ 4186/***/ (function(module, exports, __webpack_require__) { 4187 4188var global = __webpack_require__(0); 4189var bind = __webpack_require__(22); 4190var call = __webpack_require__(15); 4191var anObject = __webpack_require__(12); 4192var tryToString = __webpack_require__(70); 4193var isArrayIteratorMethod = __webpack_require__(154); 4194var lengthOfArrayLike = __webpack_require__(4); 4195var isPrototypeOf = __webpack_require__(98); 4196var getIterator = __webpack_require__(76); 4197var getIteratorMethod = __webpack_require__(77); 4198var iteratorClose = __webpack_require__(153); 4199 4200var TypeError = global.TypeError; 4201 4202var Result = function (stopped, result) { 4203 this.stopped = stopped; 4204 this.result = result; 4205}; 4206 4207var ResultPrototype = Result.prototype; 4208 4209module.exports = function (iterable, unboundFunction, options) { 4210 var that = options && options.that; 4211 var AS_ENTRIES = !!(options && options.AS_ENTRIES); 4212 var IS_ITERATOR = !!(options && options.IS_ITERATOR); 4213 var INTERRUPTED = !!(options && options.INTERRUPTED); 4214 var fn = bind(unboundFunction, that); 4215 var iterator, iterFn, index, length, result, next, step; 4216 4217 var stop = function (condition) { 4218 if (iterator) iteratorClose(iterator, 'normal', condition); 4219 return new Result(true, condition); 4220 }; 4221 4222 var callFn = function (value) { 4223 if (AS_ENTRIES) { 4224 anObject(value); 4225 return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]); 4226 } return INTERRUPTED ? fn(value, stop) : fn(value); 4227 }; 4228 4229 if (IS_ITERATOR) { 4230 iterator = iterable; 4231 } else { 4232 iterFn = getIteratorMethod(iterable); 4233 if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable'); 4234 // optimisation for array iterators 4235 if (isArrayIteratorMethod(iterFn)) { 4236 for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) { 4237 result = callFn(iterable[index]); 4238 if (result && isPrototypeOf(ResultPrototype, result)) return result; 4239 } return new Result(false); 4240 } 4241 iterator = getIterator(iterable, iterFn); 4242 } 4243 4244 next = iterator.next; 4245 while (!(step = call(next, iterator)).done) { 4246 try { 4247 result = callFn(step.value); 4248 } catch (error) { 4249 iteratorClose(iterator, 'throw', error); 4250 } 4251 if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result; 4252 } return new Result(false); 4253}; 4254 4255 4256/***/ }), 4257/* 116 */ 4258/***/ (function(module, exports, __webpack_require__) { 4259 4260var global = __webpack_require__(0); 4261var isPrototypeOf = __webpack_require__(98); 4262 4263var TypeError = global.TypeError; 4264 4265module.exports = function (it, Prototype) { 4266 if (isPrototypeOf(Prototype, it)) return it; 4267 throw TypeError('Incorrect invocation'); 4268}; 4269 4270 4271/***/ }), 4272/* 117 */ 4273/***/ (function(module, exports, __webpack_require__) { 4274 4275var redefine = __webpack_require__(27); 4276 4277module.exports = function (target, src, options) { 4278 for (var key in src) redefine(target, key, src[key], options); 4279 return target; 4280}; 4281 4282 4283/***/ }), 4284/* 118 */ 4285/***/ (function(module, __webpack_exports__, __webpack_require__) { 4286 4287"use strict"; 4288__webpack_require__.r(__webpack_exports__); 4289/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionTypes", function() { return ActionTypes; }); 4290/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createStore; }); 4291/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(169); 4292/* harmony import */ var symbol_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(383); 4293 4294 4295 4296/** 4297 * These are private action types reserved by Redux. 4298 * For any unknown actions, you must return the current state. 4299 * If the current state is undefined, you must return the initial state. 4300 * Do not reference these action types directly in your code. 4301 */ 4302var ActionTypes = { 4303 INIT: '@@redux/INIT' 4304}; 4305 4306/** 4307 * Creates a Redux store that holds the state tree. 4308 * The only way to change the data in the store is to call `dispatch()` on it. 4309 *
4310 * There should only be a single store in your app. To specify how different 4311 * parts of the state tree respond to actions, you may combine several reducers 4312 * into a single reducer function by using `combineReducers`. 4313 * 4314 * @param {Function} reducer A function that returns the next state tree, given 4315 * the current state tree and the action to handle. 4316 * 4317 * @param {any} [preloadedState] The initial state. You may optionally specify it 4318 * to hydrate the state from the server in universal apps, or to restore a 4319 * previously serialized user session. 4320 * If you use `combineReducers` to produce the root reducer function, this must be 4321 * an object with the same shape as `combineReducers` keys. 4322 * 4323 * @param {Function} enhancer The store enhancer. You may optionally specify it 4324 * to enhance the store with third-party capabilities such as middleware, 4325 * time travel, persistence, etc. The only store enhancer that ships with Redux 4326 * is `applyMiddleware()`. 4327 * 4328 * @returns {Store} A Redux store that lets you read the state, dispatch actions 4329 * and subscribe to changes. 4330 */ 4331function createStore(reducer, preloadedState, enhancer) { 4332 var _ref2; 4333 4334 if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { 4335 enhancer = preloadedState; 4336 preloadedState = undefined; 4337 } 4338 4339 if (typeof enhancer !== 'undefined') { 4340 if (typeof enhancer !== 'function') { 4341 throw new Error('Expected the enhancer to be a function.'); 4342 } 4343 4344 return enhancer(createStore)(reducer, preloadedState); 4345 } 4346 4347 if (typeof reducer !== 'function') { 4348 throw new Error('Expected the reducer to be a function.'); 4349 } 4350 4351 var currentReducer = reducer; 4352 var currentState = preloadedState; 4353 var currentListeners = []; 4354 var nextListeners = currentListeners; 4355 var isDispatching = false; 4356 4357 function ensureCanMutateNextListeners() { 4358 if (nextListeners === currentListeners) { 4359 nextListeners = currentListeners.slice(); 4360 } 4361 } 4362 4363 /** 4364 * Reads the state tree managed by the store. 4365 * 4366 * @returns {any} The current state tree of your application. 4367 */ 4368 function getState() { 4369 return currentState; 4370 } 4371 4372 /** 4373 * Adds a change listener. It will be called any time an action is dispatched, 4374 * and some part of the state tree may potentially have changed. You may then 4375 * call `getState()` to read the current state tree inside the callback. 4376 * 4377 * You may call `dispatch()` from a change listener, with the following 4378 * caveats: 4379 * 4380 * 1. The subscriptions are snapshotted just before every `dispatch()` call. 4381 * If you subscribe or unsubscribe while the listeners are being invoked, this 4382 * will not have any effect on the `dispatch()` that is currently in progress. 4383 * However, the next `dispatch()` call, whether nested or not, will use a more 4384 * recent snapshot of the subscription list. 4385 * 4386 * 2. The listener should not expect to see all state changes, as the state 4387 * might have been updated multiple times during a nested `dispatch()` before 4388 * the listener is called. It is, however, guaranteed that all subscribers 4389 * registered before the `dispatch()` started will be called with the latest 4390 * state by the time it exits. 4391 * 4392 * @param {Function} listener A callback to be invoked on every dispatch. 4393 * @returns {Function} A function to remove this change listener. 4394 */ 4395 function subscribe(listener) { 4396 if (typeof listener !== 'function') { 4397 throw new Error('Expected listener to be a function.'); 4398 } 4399 4400 var isSubscribed = true; 4401 4402 ensureCanMutateNextListeners(); 4403 nextListeners.push(listener); 4404 4405 return function unsubscribe() { 4406 if (!isSubscribed) { 4407 return; 4408 } 4409 4410 isSubscribed = false; 4411 4412 ensureCanMutateNextListeners(); 4413 var index = nextListeners.indexOf(listener); 4414 nextListeners.splice(index, 1); 4415 }; 4416 } 4417 4418 /** 4419 * Dispatches an action. It is the only way to trigger a state change. 4420 * 4421 * The `reducer` function, used to create the store, will be called with the 4422 * current state tree and the given `action`. Its return value will 4423 * be considered the **next** state of the tree, and the change listeners 4424 * will be notified. 4425 * 4426 * The base implementation only supports plain object actions. If you want to 4427 * dispatch a Promise, an Observable, a thunk, or something else, you need to 4428 * wrap your store creating function into the corresponding middleware. For 4429 * example, see the documentation for the `redux-thunk` package. Even the 4430 * middleware will eventually dispatch plain object actions using this method. 4431 * 4432 * @param {Object} action A plain object representing ââ¬Åwhat changedââ¬Â. It is 4433 * a good idea to keep actions serializable so you can record and replay user 4434 * sessions, or use the time travelling `redux-devtools`. An action must have 4435 * a `type` property which may not be `undefined`. It is a good idea to use 4436 * string constants for action types. 4437 * 4438 * @returns {Object} For convenience, the same action object you dispatched. 4439 * 4440 * Note that, if you use a custom middleware, it may wrap `dispatch()` to 4441 * return something else (for example, a Promise you can await). 4442 */ 4443 function dispatch(action) { 4444 if (!Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(action)) { 4445 throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); 4446 } 4447 4448 if (typeof action.type === 'undefined') { 4449 throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); 4450 } 4451 4452 if (isDispatching) { 4453 throw new Error('Reducers may not dispatch actions.'); 4454 } 4455 4456 try { 4457 isDispatching = true; 4458 currentState = currentReducer(currentState, action); 4459 } finally { 4460 isDispatching = false;
4461 } 4462 4463 var listeners = currentListeners = nextListeners; 4464 for (var i = 0; i < listeners.length; i++) { 4465 listeners[i](); 4466 } 4467 4468 return action; 4469 } 4470 4471 /** 4472 * Replaces the reducer currently used by the store to calculate the state. 4473 * 4474 * You might need this if your app implements code splitting and you want to 4475 * load some of the reducers dynamically. You might also need this if you 4476 * implement a hot reloading mechanism for Redux. 4477 * 4478 * @param {Function} nextReducer The reducer for the store to use instead. 4479 * @returns {void} 4480 */ 4481 function replaceReducer(nextReducer) { 4482 if (typeof nextReducer !== 'function') { 4483 throw new Error('Expected the nextReducer to be a function.'); 4484 } 4485 4486 currentReducer = nextReducer; 4487 dispatch({ type: ActionTypes.INIT }); 4488 } 4489 4490 /** 4491 * Interoperability point for observable/reactive libraries. 4492 * @returns {observable} A minimal observable of state changes. 4493 * For more information, see the observable proposal: 4494 * https://github.com/zenparsing/es-observable 4495 */ 4496 function observable() { 4497 var _ref; 4498 4499 var outerSubscribe = subscribe; 4500 return _ref = { 4501 /** 4502 * The minimal observable subscription method. 4503 * @param {Object} observer Any object that can be used as an observer. 4504 * The observer object should have a `next` method. 4505 * @returns {subscription} An object with an `unsubscribe` method that can 4506 * be used to unsubscribe the observable from the store, and prevent further 4507 * emission of values from the observable. 4508 */ 4509 subscribe: function subscribe(observer) { 4510 if (typeof observer !== 'object') { 4511 throw new TypeError('Expected the observer to be an object.'); 4512 } 4513 4514 function observeState() { 4515 if (observer.next) { 4516 observer.next(getState()); 4517 } 4518 } 4519 4520 observeState(); 4521 var unsubscribe = outerSubscribe(observeState); 4522 return { unsubscribe: unsubscribe }; 4523 } 4524 }, _ref[symbol_observable__WEBPACK_IMPORTED_MODULE_1__["default"]] = function () { 4525 return this; 4526 }, _ref; 4527 } 4528 4529 // When a store is created, an "INIT" action is dispatched so that every 4530 // reducer returns their initial state. This effectively populates 4531 // the initial state tree. 4532 dispatch({ type: ActionTypes.INIT }); 4533 4534 return _ref2 = { 4535 dispatch: dispatch, 4536 subscribe: subscribe, 4537 getState: getState, 4538 replaceReducer: replaceReducer 4539 }, _ref2[symbol_observable__WEBPACK_IMPORTED_MODULE_1__["default"]] = observable, _ref2; 4540} 4541 4542/***/ }), 4543/* 119 */ 4544/***/ (function(module, __webpack_exports__, __webpack_require__) { 4545 4546"use strict"; 4547__webpack_require__.r(__webpack_exports__); 4548/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return compose; }); 4549/** 4550 * Composes single-argument functions from right to left. The rightmost 4551 * function can take multiple arguments as it provides the signature for 4552 * the resulting composite function. 4553 * 4554 * @param {...Function} funcs The functions to compose. 4555 * @returns {Function} A function obtained by composing the argument functions 4556 * from right to left. For example, compose(f, g, h) is identical to doing 4557 * (...args) => f(g(h(...args))). 4558 */ 4559 4560function compose() { 4561 for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { 4562 funcs[_key] = arguments[_key]; 4563 } 4564 4565 if (funcs.length === 0) { 4566 return function (arg) { 4567 return arg; 4568 }; 4569 } 4570 4571 if (funcs.length === 1) { 4572 return funcs[0]; 4573 } 4574 4575 var last = funcs[funcs.length - 1]; 4576 var rest = funcs.slice(0, -1); 4577 return function () { 4578 return rest.reduceRight(function (composed, f) { 4579 return f(composed); 4580 }, last.apply(undefined, arguments)); 4581 }; 4582} 4583 4584/***/ }), 4585/* 120 */ 4586/***/ (function(module, exports, __webpack_require__) { 4587 4588"use strict"; 4589 4590 4591var _interopRequireDefault = __webpack_require__(3); 4592 4593Object.defineProperty(exports, "__esModule", { 4594 value: true 4595}); 4596exports.TRANSFORM_STYLE_PREFIXED = exports.TRANSFORM_PREFIXED = exports.FLEX_PREFIXED = exports.ELEMENT_MATCHES = exports.withBrowser = exports.IS_BROW
4596SER_ENV = void 0; 4597 4598var _find = _interopRequireDefault(__webpack_require__(176)); 4599/* eslint-env browser */ 4600 4601 4602var IS_BROWSER_ENV = typeof window !== 'undefined'; // $FlowFixMe 4603 4604exports.IS_BROWSER_ENV = IS_BROWSER_ENV; 4605 4606var withBrowser = function withBrowser(fn, fallback) { 4607 if (IS_BROWSER_ENV) { 4608 return fn(); 4609 } 4610 4611 return fallback; 4612}; 4613 4614exports.withBrowser = withBrowser; 4615var ELEMENT_MATCHES = withBrowser(function () { 4616 return (0, _find["default"])(['matches', 'matchesSelector', 'mozMatchesSelector', 'msMatchesSelector', 'oMatchesSelector', 'webkitMatchesSelector'], function (key) { 4617 return key in Element.prototype; 4618 }); 4619}); 4620exports.ELEMENT_MATCHES = ELEMENT_MATCHES; 4621var FLEX_PREFIXED = withBrowser(function () { 4622 var el = document.createElement('i'); 4623 var values = ['flex', '-webkit-flex', '-ms-flexbox', '-moz-box', '-webkit-box']; 4624 var none = ''; 4625 4626 try { 4627 var length = values.length; 4628 4629 for (var i = 0; i < length; i++) { 4630 var value = values[i]; 4631 el.style.display = value; 4632 4633 if (el.style.display === value) { 4634 return value; 4635 } 4636 } 4637 4638 return none; 4639 } catch (err) { 4640 return none; 4641 } 4642}, 'flex'); 4643exports.FLEX_PREFIXED = FLEX_PREFIXED; 4644var TRANSFORM_PREFIXED = withBrowser(function () { 4645 var el = document.createElement('i'); 4646 4647 if (el.style.transform == null) { 4648 var prefixes = ['Webkit', 'Moz', 'ms']; 4649 var suffix = 'Transform'; 4650 var length = prefixes.length; 4651 4652 for (var i = 0; i < length; i++) { 4653 var prop = prefixes[i] + suffix; // $FlowFixMe 4654 4655 if (el.style[prop] !== undefined) { 4656 return prop; 4657 } 4658 } 4659 } 4660 4661 return 'transform'; 4662}, 'transform'); // $FlowFixMe 4663 4664exports.TRANSFORM_PREFIXED = TRANSFORM_PREFIXED; 4665var TRANSFORM_PREFIX = TRANSFORM_PREFIXED.split('transform')[0]; 4666var TRANSFORM_STYLE_PREFIXED = TRANSFORM_PREFIX ? TRANSFORM_PREFIX + 'TransformStyle' : 'transformStyle'; 4667exports.TRANSFORM_STYLE_PREFIXED = TRANSFORM_STYLE_PREFIXED; 4668 4669/***/ }), 4670/* 121 */ 4671/***/ (function(module, exports, __webpack_require__) { 4672 4673"use strict"; 4674 4675 4676var _interopRequireDefault = __webpack_require__(3); 4677 4678Object.defineProperty(exports, "__esModule", { 4679 value: true 4680}); 4681exports.mediaQueriesDefined = exports.viewportWidthChanged = exports.actionListPlaybackChanged = exports.elementStateChanged = exports.instanceRemoved = exports.instanceStarted = exports.instanceAdded = exports.parameterChanged = exports.animationFrameChanged = exports.eventStateChanged = exports.testFrameRendered = exports.eventListenerAdded = exports.clearRequested = exports.stopRequested = exports.playbackRequested = exports.previewRequested = exports.sessionStopped = exports.sessionStarted = exports.sessionInitialized = exports.rawDataImported = void 0; 4682 4683var _extends2 = _interopRequireDefault(__webpack_require__(46)); 4684 4685var _constants = __webpack_require__(14); 4686 4687var _shared = __webpack_require__(45); 4688 4689var _constants$IX2EngineA = _constants.IX2EngineActionTypes, 4690 IX2_RAW_DATA_IMPORTED = _constants$IX2EngineA.IX2_RAW_DATA_IMPORTED, 4691 IX2_SESSION_INITIALIZED = _constants$IX2EngineA.IX2_SESSION_INITIALIZED, 4692 IX2_SESSION_STARTED = _constants$IX2EngineA.IX2_SESSION_STARTED, 4693 IX2_SESSION_STOPPED = _constants$IX2EngineA.IX2_SESSION_STOPPED, 4694 IX2_PREVIEW_REQUESTED = _constants$IX2EngineA.IX2_PREVIEW_REQUESTED, 4695 IX2_PLAYBACK_REQUESTED = _constants$IX2EngineA.IX2_PLAYBACK_REQUESTED, 4696 IX2_STOP_REQUESTED = _constants$IX2EngineA.IX2_STOP_REQUESTED, 4697 IX2_CLEAR_REQUESTED = _constants$IX2EngineA.IX2_CLEAR_REQUESTED, 4698 IX2_EVENT_LISTENER_ADDED = _constants$IX2EngineA.IX2_EVENT_LISTENER_ADDED, 4699 IX2_TEST_FRAME_RENDERED = _constants$IX2EngineA.IX2_TEST_FRAME_RENDERED, 4700 IX2_EVENT_STATE_CHANGED = _constants$IX2EngineA.IX2_EVENT_STATE_CHANGED, 4701 IX2_ANIMATION_FRAME_CHANGED = _constants$IX2EngineA.IX2_ANIMATION_FRAME_CHANGED, 4702 IX2_PARAMETER_CHANGED = _constants$IX2EngineA.IX2_PARAMETER_CHANGED, 4703 IX2_INSTANCE_ADDED = _constants$IX2EngineA.IX2_INSTANCE_ADDED, 4704 IX2_INSTANCE_STARTED = _constants$IX2EngineA.IX2_INSTANCE_STARTED, 4705 IX2_INSTANCE_REMOVED = _constants$IX2EngineA.IX2_INSTANCE_REMOVED, 4706 IX2_ELEMENT_STATE_CHANGED = _constants$IX2EngineA.IX2_ELEMENT_STATE_CHANGED, 4707 IX2_ACTION_LIST_PLAYBACK_CHANGED = _constants$IX2EngineA.IX2_ACTION_LIST_PLAYBACK_CHANGED, 4708 IX2_VIEWPORT_WIDTH_CHANGED = _constants$IX2EngineA.IX2_VIEWPORT_WIDTH_CHANGED, 4709 IX2_MEDIA_QUERIES_DEFINED = _constants$IX2EngineA.IX2_MEDIA_QUERIES_DEFINED; 4710var reifyState = _shared.IX2VanillaUtils.reifyState; // TODO: Figure out what this is and elevate it 4711 4712var rawDataImported = function rawDataImported(rawData) { 4713 return {
4714 type: IX2_RAW_DATA_IMPORTED, 4715 payload: (0, _extends2["default"])({}, reifyState(rawData)) 4716 }; 4717}; 4718 4719exports.rawDataImported = rawDataImported; 4720 4721var sessionInitialized = function sessionInitialized(_ref) { 4722 var hasBoundaryNodes = _ref.hasBoundaryNodes, 4723 reducedMotion = _ref.reducedMotion; 4724 return { 4725 type: IX2_SESSION_INITIALIZED, 4726 payload: { 4727 hasBoundaryNodes: hasBoundaryNodes, 4728 reducedMotion: reducedMotion 4729 } 4730 }; 4731}; 4732 4733exports.sessionInitialized = sessionInitialized; 4734 4735var sessionStarted = function sessionStarted() { 4736 return { 4737 type: IX2_SESSION_STARTED 4738 }; 4739}; 4740 4741exports.sessionStarted = sessionStarted; 4742 4743var sessionStopped = function sessionStopped() { 4744 return { 4745 type: IX2_SESSION_STOPPED 4746 }; 4747}; 4748 4749exports.sessionStopped = sessionStopped; 4750 4751var previewRequested = function previewRequested(_ref2) { 4752 var rawData = _ref2.rawData, 4753 defer = _ref2.defer; 4754 return { 4755 type: IX2_PREVIEW_REQUESTED, 4756 payload: { 4757 defer: defer, 4758 rawData: rawData 4759 } 4760 }; 4761}; 4762 4763exports.previewRequested = previewRequested; 4764 4765var playbackRequested = function playbackRequested(_ref3) { 4766 var _ref3$actionTypeId = _ref3.actionTypeId, 4767 actionTypeId = _ref3$actionTypeId === void 0 ? _constants.ActionTypeConsts.GENERAL_START_ACTION : _ref3$actionTypeId, 4768 actionListId = _ref3.actionListId, 4769 actionItemId = _ref3.actionItemId, 4770 eventId = _ref3.eventId, 4771 allowEvents = _ref3.allowEvents, 4772 immediate = _ref3.immediate, 4773 testManual = _ref3.testManual, 4774 verbose = _ref3.verbose, 4775 rawData = _ref3.rawData; 4776 return { 4777 type: IX2_PLAYBACK_REQUESTED, 4778 payload: { 4779 actionTypeId: actionTypeId, 4780 actionListId: actionListId, 4781 actionItemId: actionItemId, 4782 testManual: testManual, 4783 eventId: eventId, 4784 allowEvents: allowEvents, 4785 immediate: immediate, 4786 verbose: verbose, 4787 rawData: rawData 4788 } 4789 }; 4790}; 4791 4792exports.playbackRequested = playbackRequested; 4793 4794var stopRequested = function stopRequested(actionListId) { 4795 return { 4796 type: IX2_STOP_REQUESTED, 4797 payload: { 4798 actionListId: actionListId 4799 } 4800 }; 4801}; 4802 4803exports.stopRequested = stopRequested; 4804 4805var clearRequested = function clearRequested() { 4806 return { 4807 type: IX2_CLEAR_REQUESTED 4808 }; 4809}; 4810 4811exports.clearRequested = clearRequested; 4812 4813var eventListenerAdded = function eventListenerAdded(target, listenerParams) { 4814 return { 4815 type: IX2_EVENT_LISTENER_ADDED, 4816 payload: { 4817 target: target, 4818 listenerParams: listenerParams 4819 } 4820 }; 4821}; 4822 4823exports.eventListenerAdded = eventListenerAdded; 4824 4825var testFrameRendered = function testFrameRendered() { 4826 var step = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; 4827 return { 4828 type: IX2_TEST_FRAME_RENDERED, 4829 payload: { 4830 step: step 4831 } 4832 }; 4833}; 4834 4835exports.testFrameRendered = testFrameRendered; 4836 4837var eventStateChanged = function eventStateChanged(stateKey, newState) { 4838 return { 4839 type: IX2_EVENT_STATE_CHANGED, 4840 payload: { 4841 stateKey: stateKey, 4842 newState: newState 4843 } 4844 }; 4845}; 4846 4847exports.eventStateChanged = eventStateChanged; 4848 4849var animationFrameChanged = function animationFrameChanged(now, parameters) { 4850 return { 4851 type: IX2_ANIMATION_FRAME_CHANGED, 4852 payload: { 4853 now: now, 4854 parameters: parameters 4855 } 4856 }; 4857}; 4858 4859exports.animationFrameChanged = animationFrameChanged; 4860 4861var parameterChanged = function parameterChanged(key, value) { 4862 return { 4863 type: IX2_PARAMETER_CHANGED, 4864 payload: { 4865 key: key, 4866 value: value 4867 } 4868 }; 4869}; 4870 4871exports.parameterChanged = parameterChanged; 4872 4873var instanceAdded = function instanceAdded(options) { 4874 return { 4875 type: IX2_INSTANCE_ADDED, 4876 payload: (0, _extends2["default"])({}, options) 4877 }; 4878}; 4879 4880exports.instanceAdded = instanceAdded; 4881 4882var instanceStarted = function instanceStarted(instanceId, time) { 4883 return { 4884 type: IX2_INSTANCE_STARTED, 4885 payload: { 4886 instanceId: instanceId, 4887 time: time 4888 } 4889 }; 4890}; 4891 4892exports.instanceStarted = instanceStarted; 4893 4894var instanceRemoved = function instanceRemoved(instanceId) { 4895 return { 4896 type: IX2_INSTANCE_REMOVED, 4897 payload: { 4898 instanceId: instanceId 4899 } 4900 }; 4901}; 4902 4903exports.instanceRemoved = instanceRemoved; 4904 4905var elementStateChanged = function elementStateChanged(elementId, actionTypeId, current, actionItem) { 4906 return { 4907 type: IX2_ELEMENT_STATE_CHANGED, 4908 payload: { 4909 elementId: elementId, 4910 actionTypeId: actionTypeId, 4911 current: current, 4912 actionItem: actionItem 4913 } 4914 }; 4915}; 4916 4917exports.elementStateChanged = elementStateChanged; 4918 4919var actionListPlaybackChanged = function actionListPlaybackChanged(_ref4) { 4920 var actionListId = _ref4.actionListId, 4921 isPlaying = _ref4.isPlaying; 4922 return { 4923 type: IX2_ACTION_LIST_PLAYBACK_CHANGED, 4924 payload: { 4925 actionListId: actionListId, 4926 isPlaying: isPlaying 4927 } 4928 }; 4929}; 4930 4931exports.actionListPlaybackChanged = actionListPlaybackChanged; 4932 4933var viewportWidthChanged = function viewportWidthChanged(_ref5) { 4934 var width = _ref5.width, 4935 mediaQueries = _ref5.mediaQueries; 4936 return { 4937 type: IX2_VIEWPORT_WIDTH_CHANGED, 4938 payload: { 4939 width: width, 4940 mediaQueries: mediaQueries 4941 } 4942 }; 4943}; 4944 4945exports.viewportWidthChanged = viewportWidthChanged; 4946 4947var mediaQueriesDefined = function mediaQueriesDefined() { 4948 return { 4949 type: IX2_MEDIA_QUERIES_DEFINED 4950 }; 4951}; 4952 4953exports.mediaQueriesDefined = mediaQueriesDefined; 4954 4955/***/ }), 4956/* 122 */ 4957/***/ (function(module, exports, __webpack_require__) { 4958 4959var baseCreate = __webpack_require__(188), 4960 baseLodash = __webpack_require__(123); 4961 4962/** 4963 * The base constructor for creating `lodash` wrapper objects. 4964 * 4965 * @private 4966 * @param {*} value The value to wrap. 4967 * @param {boolean} [chainAll] Enable explicit method chain sequences. 4968 */ 4969function LodashWrapper(value, chainAll) { 4970 this.__wrapped__ = value; 4971 this.__actions__ = []; 4972 this.__chain__ = !!chainAll; 4973 this.__index__ = 0; 4974 this.__values__ = undefined; 4975} 4976
4977LodashWrapper.prototype = baseCreate(baseLodash.prototype); 4978LodashWrapper.prototype.constructor = LodashWrapper; 4979 4980module.exports = LodashWrapper; 4981 4982 4983/***/ }), 4984/* 123 */ 4985/***/ (function(module, exports) { 4986 4987/** 4988 * The function whose prototype chain sequence wrappers inherit from. 4989 * 4990 * @private 4991 */ 4992function baseLodash() { 4993 // No operation performed. 4994} 4995 4996module.exports = baseLodash; 4997 4998 4999/***/ }), 5000/* 124 */ 5001/***/ (function(module, exports, __webpack_require__) { 5002 5003var baseCreate = __webpack_require__(188), 5004 baseLodash = __webpack_require__(123); 5005 5006/** Used as references for the maximum length and index of an array. */ 5007var MAX_ARRAY_LENGTH = 4294967295; 5008 5009/** 5010 * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. 5011 * 5012 * @private 5013 * @constructor 5014 * @param {*} value The value to wrap. 5015 */ 5016function LazyWrapper(value) { 5017 this.__wrapped__ = value; 5018 this.__actions__ = []; 5019 this.__dir__ = 1; 5020 this.__filtered__ = false; 5021 this.__iteratees__ = []; 5022 this.__takeCount__ = MAX_ARRAY_LENGTH; 5023 this.__views__ = []; 5024} 5025 5026// Ensure `LazyWrapper` is an instance of `baseLodash`. 5027LazyWrapper.prototype = baseCreate(baseLodash.prototype); 5028LazyWrapper.prototype.constructor = LazyWrapper; 5029 5030module.exports = LazyWrapper; 5031 5032 5033/***/ }), 5034/* 125 */ 5035/***/ (function(module, exports, __webpack_require__) { 5036 5037"use strict"; 5038 // @wf-will-never-add-flow-to-this-file 5039 5040/* eslint-disable eslint-comments/no-unlimited-disable */ 5041 5042/* eslint-disable */ 5043 5044/*! 5045 * tram.js v0.8.2-global 5046 * Cross-browser CSS3 transitions in JavaScript 5047 * https://github.com/bkwld/tram 5048 * MIT License 5049 */ 5050 5051/* prettier-ignore */ 5052 5053var _interopRequireDefault = __webpack_require__(3); 5054 5055var _typeof2 = _interopRequireDefault(__webpack_require__(37)); 5056 5057window.tram = function (a) { 5058 function b(a, b) { 5059 var c = new M.Bare(); 5060 return c.init(a, b); 5061 } 5062 5063 function c(a) { 5064 return a.replace(/[A-Z]/g, function (a) { 5065 return "-" + a.toLowerCase(); 5066 }); 5067 } 5068 5069 function d(a) { 5070 var b = parseInt(a.slice(1), 16), 5071 c = b >> 16 & 255, 5072 d = b >> 8 & 255, 5073 e = 255 & b; 5074 return [c, d, e]; 5075 } 5076 5077 function e(a, b, c) { 5078 return "#" + (1 << 24 | a << 16 | b << 8 | c).toString(16).slice(1); 5079 } 5080 5081 function f() {} 5082 5083 function g(a, b) { 5084 j("Type warning: Expected: [" + a + "] Got: [" + (0, _typeof2["default"])(b) + "] " + b); 5085 } 5086 5087 function h(a, b, c) { 5088 j("Units do not match [" + a + "]: " + b + ", " + c); 5089 } 5090 5091 function i(a, b, c) { 5092 if (void 0 !== b && (c = b), void 0 === a) return c; 5093 var d = c; 5094 return $.test(a) || !_.test(a) ? d = parseInt(a, 10) : _.test(a) && (d = 1e3 * parseFloat(a)), 0 > d && (d = 0), d === d ? d : c; 5095 } 5096 5097 function j(a) { 5098 U.debug && window && window.console.warn(a); 5099 } 5100 5101 function k(a) { 5102 for (var b = -1, c = a ? a.length : 0, d = []; ++b < c;) { 5103 var e = a[b]; 5104 e && d.push(e); 5105 } 5106 5107 return d; 5108 } 5109 5110 var l = function (a, b, c) { 5111 function d(a) { 5112 return "object" == (0, _typeof2["default"])(a); 5113 } 5114 5115 function e(a) { 5116 return "function" == typeof a; 5117 } 5118 5119 function f() {} 5120 5121 function g(h, i) { 5122 function j() { 5123 var a = new k(); 5124 return e(a.init) && a.init.apply(a, arguments), a; 5125 } 5126 5127 function k() {} 5128 5129 i === c && (i = h, h = Object), j.Bare = k; 5130 var l, 5131 m = f[a] = h[a], 5132 n = k[a] = j[a] = new f(); 5133 return n.constructor = j, j.mixin = function (b) { 5134 return k[a] = j[a] = g(j, b)[a], j; 5135 }, j.open = function (a) { 5136 if (l = {}, e(a) ? l = a.call(j, n, m, j, h) : d(a) && (l = a), d(l)) for (var c in l) { 5137 b.call(l, c) && (n[c] = l[c]); 5138 } 5139 return e(n.init) || (n.init = h), j; 5140 }, j.open(i); 5141 } 5142 5143 return g; 5144 }("prototype", {}.hasOwnProperty), 5145 m = { 5146 ease: ["ease", function (a, b, c, d) { 5147 var e = (a /= d) * a, 5148 f = e * a; 5149 return b + c * (-2.75 * f * e + 11 * e * e + -15.5 * f + 8 * e + .25 * a); 5150 }], 5151 "ease-in": ["ease-in", function (a, b, c, d) { 5152 var e = (a /= d) * a, 5153 f = e * a; 5154 return b + c * (-1 * f * e + 3 * e * e + -3 * f + 2 * e); 5155 }], 5156 "ease-out": ["ease-out", function (a, b, c, d) { 5157 var e = (a /= d) * a, 5158 f = e * a; 5159 return b + c * (.3 * f * e + -1.6 * e * e + 2.2 * f + -1.8 * e + 1.9 * a); 5160 }], 5161 "ease-in-out": ["ease-in-out", function (a, b, c, d) { 5162 var e = (a /= d) * a, 5163 f = e * a; 5164 return b + c * (2 * f * e + -5 * e * e + 2 * f + 2 * e); 5165 }], 5166 linear: ["linear", function (a, b, c, d) { 5167 return c * a / d + b; 5168 }], 5169 "ease-in-quad": ["cubic-bezier(0.550, 0.085, 0.680, 0.530)", function (a, b, c, d) { 5170 return c * (a /= d) * a + b; 5171 }], 5172 "ease-out-quad": ["cubic-bezier(0.250, 0.460, 0.450, 0.940)", function (a, b, c, d) { 5173 return -c * (a /= d) * (a - 2) + b; 5174 }], 5175 "ease-in-out-quad": ["cubic-bezier(0.455, 0.030, 0.515, 0.955)", function (a, b, c, d) { 5176 return (a /= d / 2) < 1 ? c / 2 * a * a + b : -c / 2 * (--a * (a - 2) - 1) + b; 5177 }], 5178 "ease-in-cubic": ["cubic-bezier(0.550, 0.055, 0.675, 0.190)", function (a, b, c, d) { 5179 return c * (a /= d) * a * a + b; 5180 }], 5181 "ease-out-cubic": ["cubic-bezier(0.215, 0.610, 0.355, 1)", function (a, b, c, d) { 5182 return c * ((a = a / d - 1) * a * a + 1) + b; 5183 }], 5184 "ease-in-out-cubic": ["cubic-bezier(0.645, 0.045, 0.355, 1)", function (a, b, c, d) { 5185 return (a /= d / 2) < 1 ? c / 2 * a * a * a + b : c / 2 * ((a -= 2) * a * a + 2) + b; 5186 }], 5187 "ease-in-quart": ["cubic-bezier(0.895, 0.030, 0.685, 0.220)", function (a, b, c, d) { 5188 return c * (a /= d) * a * a * a + b; 5189 }], 5190 "ease-out-quart": ["cubic-bezier(0.165, 0.840, 0.440, 1)", function (a, b, c, d) { 5191 return -c * ((a = a / d - 1) * a * a * a - 1) + b; 5192 }], 5193 "ease-in-out-quart": ["cubic-bezier(0.770, 0, 0.175, 1)", function (a, b, c, d) { 5194 return (a /= d / 2) < 1 ? c / 2 * a * a * a * a + b : -c / 2 * ((a -= 2) * a * a * a - 2) + b; 5195 }], 5196 "ease-in-quint": ["cubic-bezier(0.755, 0.050, 0.855, 0.060)", function (a, b, c, d) { 5197 return c * (a /= d) * a * a * a * a + b; 5198 }], 5199 "ease-out-quint": ["cubic-bezier(0.230, 1, 0.320, 1)", function (a, b, c, d) { 5200 return c * ((a = a / d - 1) * a * a * a * a + 1) + b; 5201 }], 5202 "ease-in-out-quint": ["cubic-bezier(0.860, 0, 0.070, 1)", function (a, b, c, d) { 5203 return (a /= d / 2) < 1 ? c / 2 * a * a * a * a * a + b : c / 2 * ((a -= 2) * a * a * a * a + 2) + b; 5204 }], 5205 "ease-in-sine": ["cubic-bezier(0.470, 0, 0.745, 0.715)", function (a, b, c, d) { 5206 return -c * Math.cos(a / d * (Math.PI / 2)) + c + b; 5207 }], 5208 "ease-out-sine": ["cubic-bezier(0.390, 0.575, 0.565, 1)", function (a, b, c, d) { 5209 return c * Math.sin(a / d * (Math.PI / 2)) + b; 5210 }], 5211 "ease-in-out-sine": ["cubic-bezier(0.445, 0.050, 0.550, 0.950)", function (a, b, c, d) { 5212 return -c / 2 * (Math.cos(Math.PI * a / d) - 1) + b; 5213 }], 5214 "ease-in-expo": ["cubic-bezier(0.950, 0.050, 0.795, 0.035)", function (a, b, c, d) { 5215 return 0 === a ? b : c * Math.pow(2, 10 * (a / d - 1)) + b; 5216 }], 5217 "ease-out-expo": ["cubic-bezier(0.190, 1, 0.220, 1)", function (a, b, c, d) { 5218 return a === d ? b + c : c * (-Math.pow(2, -10 * a / d) + 1) + b; 5219 }], 5220 "ease-in-out-expo": ["cubic-bezier(1, 0, 0, 1)", function (a, b, c, d) { 5221 return 0 === a ? b : a === d ? b + c : (a /= d / 2) < 1 ? c / 2 * Math.pow(2, 10 * (a - 1)) + b : c / 2 * (-Math.pow(2, -10 * --a) + 2) + b; 5222 }], 5223 "ease-in-circ": ["cubic-bezier(0.600, 0.040, 0.980, 0.335)", function (a, b, c, d) { 5224 return -c * (Math.sqrt(1 - (a /= d) * a) - 1) + b; 5225 }], 5226 "ease-out-circ": ["cubic-bezier(0.075, 0.820, 0.165, 1)", function (a, b, c, d) { 5227 return c * Math.sqrt(1 - (a = a / d - 1) * a) + b; 5228 }], 5229 "ease-in-out-circ": ["cubic-bezier(0.785, 0.135, 0.150, 0.860)", function (a, b, c, d) { 5230 return (a /= d / 2) < 1 ? -c / 2 * (Math.sqrt(1 - a * a) - 1) + b : c / 2 * (Math.sqrt(1 - (a -= 2) * a) + 1) + b; 5231 }], 5232 "ease-in-back": ["cubic-bezier(0.600, -0.280, 0.735, 0.045)", function (a, b, c, d, e) { 5233 return void 0 === e && (e = 1.70158), c * (a /= d) * a * ((e + 1) * a - e) + b; 5234 }], 5235 "ease-out-back": ["cubic-bezier(0.175, 0.885, 0.320, 1.275)", function (a, b, c, d, e) { 5236 return void 0 === e && (e = 1.70158), c * ((a = a / d - 1) * a * ((e + 1) * a + e) + 1) + b; 5237 5238 }], 5239 "ease-in-out-back": ["cubic-bezier(0.680, -0.550, 0.265, 1.550)", function (a, b, c, d, e) { 5240 return void 0 === e && (e = 1.70158), (a /= d / 2) < 1 ? c / 2 * a * a * (((e *= 1.525) + 1) * a - e) + b : c / 2 * ((a -= 2) * a * (((e *= 1.525) + 1) * a + e) + 2) + b; 5241 }] 5242 }, 5243 n = { 5244 "ease-in-back": "cubic-bezier(0.600, 0, 0.735, 0.045)", 5245 "ease-out-back": "cubic-bezier(0.175, 0.885, 0.320, 1)", 5246 "ease-in-out-back": "cubic-bezier(0.680, 0, 0.265, 1)" 5247 }, 5248 o = document, 5249 p = window, 5250 q = "bkwld-tram", 5251 r = /[\-\.0-9]/g, 5252 s = /[A-Z]/, 5253 t = "number", 5254 u = /^(rgb|#)/, 5255 v = /(em|cm|mm|in|pt|pc|px)$/, 5256 w = /(em|cm|mm|in|pt|pc|px|%)$/, 5257 x = /(deg|rad|turn)$/, 5258 y = "unitless", 5259 z = /(all|none) 0s ease 0s/, 5260 A = /^(width|height)$/, 5261 B = " ", 5262 C = o.createElement("a"), 5263 D = ["Webkit", "Moz", "O", "ms"], 5264 E = ["-webkit-", "-moz-", "-o-", "-ms-"], 5265 F = function F(a) { 5266 if (a in C.style) return { 5267 dom: a, 5268 css: a 5269 }; 5270 var b, 5271 c, 5272 d = "", 5273 e = a.split("-"); 5274 5275 for (b = 0; b < e.length; b++) { 5276 d += e[b].charAt(0).toUpperCase() + e[b].slice(1); 5277 } 5278 5279 for (b = 0; b < D.length; b++) { 5280 if (c = D[b] + d, c in C.style) return { 5281 dom: c, 5282 css: E[b] + a 5283 }; 5284 } 5285 }, 5286 G = b.support = { 5287 bind: Function.prototype.bind, 5288 transform: F("transform"), 5289 transition: F("transition"), 5290 backface: F("backface-visibility"), 5291 timing: F("transition-timing-function") 5292 }; 5293 5294 if (G.transition) { 5295 var H = G.timing.dom; 5296 if (C.style[H] = m["ease-in-back"][0], !C.style[H]) for (var I in n) { 5297 m[I][0] = n[I]; 5298 } 5299 } 5300 5301 var J = b.frame = function () { 5302 var a = p.requestAnimationFrame || p.webkitRequestAnimationFrame || p.mozRequestAnimationFrame || p.oRequestAnimationFrame || p.msRequestAnimationFrame; 5303 return a && G.bind ? a.bind(p) : function (a) { 5304 p.setTimeout(a, 16); 5305 }; 5306 }(), 5307 K = b.now = function () { 5308 var a = p.performance, 5309 b = a && (a.now || a.webkitNow || a.msNow || a.mozNow); 5310 return b && G.bind ? b.bind(a) : Date.now || function () { 5311 return +new Date(); 5312 }; 5313 }(), 5314 L = l(function (b) { 5315 function d(a, b) { 5316 var c = k(("" + a).split(B)), 5317 d = c[0]; 5318 b = b || {}; 5319 var e = Y[d]; 5320 if (!e) return j("Unsupported property: " + d); 5321 5322 if (!b.weak || !this.props[d]) { 5323 var f = e[0], 5324 g = this.props[d]; 5325 return g || (g = this.props[d] = new f.Bare()), g.init(this.$el, c, e, b), g; 5326 } 5327 } 5328 5329 function e(a, b, c) { 5330 if (a) { 5331 var e = (0, _typeof2["default"])(a); 5332 if (b || (this.timer && this.timer.destroy(), this.queue = [], this.active = !1), "number" == e && b) return this.timer = new S({ 5333 duration: a, 5334 context: this, 5335 complete: h 5336 }), void (this.active = !0); 5337 5338 if ("string" == e && b) { 5339 switch (a) { 5340 case "hide": 5341 o.call(this); 5342 break; 5343 5344 case "stop": 5345 l.call(this); 5346 break; 5347 5348 case "redraw": 5349 p.call(this); 5350 break; 5351 5352 default: 5353 d.call(this, a, c && c[1]); 5354 } 5355 5356 return h.call(this); 5357 } 5358 5359 if ("function" == e) return void a.call(this, this); 5360 5361 if ("object" == e) { 5362 var f = 0; 5363 u.call(this, a, function (a, b) { 5364 a.span > f && (f = a.span), a.stop(), a.animate(b); 5365 }, function (a) { 5366 "wait" in a && (f = i(a.wait, 0)); 5367 }), t.call(this), f > 0 && (this.timer = new S({ 5368 duration: f, 5369 context: this 5370 }), this.active = !0, b && (this.timer.complete = h)); 5371 var g = this, 5372 j = !1, 5373 k = {}; 5374 J(function () { 5375 u.call(g, a, function (a) { 5376 a.active && (j = !0, k[a.name] = a.nextStyle); 5377 }), j && g.$el.css(k); 5378 }); 5379 } 5380 } 5381 } 5382 5383 function f(a) { 5384 a = i(a, 0), this.active ? this.queue.push({ 5385 options: a 5386 }) : (this.timer = new S({ 5387 duration: a, 5388 context: this, 5389 complete: h 5390 }), this.active = !0); 5391 } 5392
5393 function g(a) { 5394 return this.active ? (this.queue.push({ 5395 options: a, 5396 args: arguments 5397 }), void (this.timer.complete = h)) : j("No active transition timer. Use start() or wait() before then()."); 5398 } 5399 5400 function h() { 5401 if (this.timer && this.timer.destroy(), this.active = !1, this.queue.length) { 5402 var a = this.queue.shift(); 5403 e.call(this, a.options, !0, a.args); 5404 } 5405 } 5406 5407 function l(a) { 5408 this.timer && this.timer.destroy(), this.queue = [], this.active = !1; 5409 var b; 5410 "string" == typeof a ? (b = {}, b[a] = 1) : b = "object" == (0, _typeof2["default"])(a) && null != a ? a : this.props, u.call(this, b, v), t.call(this); 5411 } 5412 5413 function m(a) { 5414 l.call(this, a), u.call(this, a, w, x); 5415 } 5416 5417 function n(a) { 5418 "string" != typeof a && (a = "block"), this.el.style.display = a; 5419 } 5420 5421 function o() { 5422 l.call(this), this.el.style.display = "none"; 5423 } 5424 5425 function p() { 5426 this.el.offsetHeight; 5427 } 5428 5429 function r() { 5430 l.call(this), a.removeData(this.el, q), this.$el = this.el = null; 5431 } 5432 5433 function t() { 5434 var a, 5435 b, 5436 c = []; 5437 this.upstream && c.push(this.upstream); 5438 5439 for (a in this.props) { 5440 b = this.props[a], b.active && c.push(b.string); 5441 } 5442 5443 c = c.join(","), this.style !== c && (this.style = c, this.el.style[G.transition.dom] = c); 5444 } 5445 5446 function u(a, b, e) { 5447 var f, 5448 g, 5449 h, 5450 i, 5451 j = b !== v, 5452 k = {}; 5453 5454 for (f in a) { 5455 h = a[f], f in Z ? (k.transform || (k.transform = {}), k.transform[f] = h) : (s.test(f) && (f = c(f)), f in Y ? k[f] = h : (i || (i = {}), i[f] = h)); 5456 } 5457 5458 for (f in k) { 5459 if (h = k[f], g = this.props[f], !g) { 5460 if (!j) continue; 5461 g = d.call(this, f); 5462 } 5463 5464 b.call(this, g, h); 5465 } 5466 5467 e && i && e.call(this, i); 5468 } 5469 5470 function v(a) { 5471 a.stop(); 5472 } 5473 5474 function w(a, b) { 5475 a.set(b); 5476 } 5477 5478 function x(a) { 5479 this.$el.css(a); 5480 } 5481 5482 function y(a, c) { 5483 b[a] = function () { 5484 return this.children ? A.call(this, c, arguments) : (this.el && c.apply(this, arguments), this); 5485 }; 5486 } 5487 5488 function A(a, b) { 5489 var c, 5490 d = this.children.length; 5491 5492 for (c = 0; d > c; c++) { 5493 a.apply(this.children[c], b); 5494 } 5495 5496 return this; 5497 } 5498 5499 b.init = function (b) { 5500 if (this.$el = a(b), this.el = this.$el[0], this.props = {}, this.queue = [], this.style = "", this.active = !1, U.keepInherited && !U.fallback) { 5501 var c = W(this.el, "transition"); 5502 c && !z.test(c) && (this.upstream = c); 5503 } 5504 5505 G.backface && U.hideBackface && V(this.el, G.backface.css, "hidden"); 5506 }, y("add", d), y("start", e), y("wait", f), y("then", g), y("next", h), y("stop", l), y("set", m), y("show", n), y("hide", o), y("redraw", p), y("destroy", r); 5507 }), 5508 M = l(L, function (b) { 5509 function c(b, c) { 5510 var d = a.data(b, q) || a.data(b, q, new L.Bare()); 5511 return d.el || d.init(b), c ? d.start(c) : d; 5512 } 5513 5514 b.init = function (b, d) { 5515 var e = a(b); 5516 if (!e.length) return this; 5517 if (1 === e.length) return c(e[0], d); 5518 var f = []; 5519 return e.each(function (a, b) { 5520 f.push(c(b, d)); 5521 }), this.children = f, this; 5522 }; 5523 }), 5524 N = l(function (a) { 5525 function b() { 5526 var a = this.get(); 5527 this.update("auto"); 5528 var b = this.get(); 5529 return this.update(a), b; 5530 } 5531 5532 function c(a, b, c) { 5533 return void 0 !== b && (c = b), a in m ? a : c; 5534 } 5535 5536 function d(a) { 5537 var b = /rgba?\((\d+),\s*(\d+),\s*(\d+)/.exec(a); 5538 return (b ? e(b[1], b[2], b[3]) : a).replace(/#(\w)(\w)(\w)$/, "#$1$1$2$2$3$3"); 5539 } 5540 5541 var f = { 5542 duration: 500, 5543 ease: "ease", 5544 delay: 0 5545 }; 5546 a.init = function (a, b, d, e) { 5547 this.$el = a, this.el = a[0]; 5548 var g = b[0]; 5549 d[2] && (g = d[2]), X[g] && (g = X[g]), this.name = g, this.type = d[1], this.duration = i(b[1], this.duration, f.duration), this.ease = c(b[2], this.ease, f.ease), this.delay = i(b[3], this.delay, f.delay), this.span = this.duration + this.delay, this.active = !1, this.nextStyle = null, this.auto = A.test(this.name), this.unit = e.unit || this.unit || U.defaultUnit, this.angle = e.angle || this.angle || U.defaultAngle, U.fallback || e.fallback ? this.animate = this.fallback : (this.animate = this.transition, this.string = this.name + B + this.duration + "ms" + ("ease" != this.ease ? B + m[this.ease][0] : "") + (this.delay ? B + this.delay + "ms" : "")); 5550 }, a.set = function (a) { 5551 a = this.convert(a, this.type), this.update(a), this.redraw(); 5552 }, a.transition = function (a) { 5553 this.active = !0, a = this.convert(a, this.type), this.auto && ("auto" == this.el.style[this.name] && (this.update(this.get()), this.redraw()), "auto" == a && (a = b.call(this))), this.nextStyle = a; 5554 }, a.fallback = function (a) { 5555 var c = this.el.style[this.name] || this.convert(this.get(), this.type); 5556 a = this.convert(a, this.type), this.auto && ("auto" == c && (c = this.convert(this.get(), this.type)), "auto" == a && (a = b.call(this))), this.tween = new R({ 5557 from: c, 5558 to: a, 5559 duration: this.duration, 5560 delay: this.delay, 5561 ease: this.ease, 5562 update: this.update, 5563 context: this 5564 }); 5565 }, a.get = function () { 5566 return W(this.el, this.name); 5567 }, a.update = function (a) { 5568 V(this.el, this.name, a); 5569 }, a.stop = function () { 5570 (this.active || this.nextStyle) && (this.active = !1, this.nextStyle = null, V(this.el, this.name, this.get())); 5571 var a = this.tween; 5572 a && a.context && a.destroy(); 5573 }, a.convert = function (a, b) { 5574 if ("auto" == a && this.auto) return a; 5575 var c, 5576 e = "number" == typeof a, 5577 f = "string" == typeof a; 5578 5579 switch (b) { 5580 case t: 5581 if (e) return a; 5582 if (f && "" === a.replace(r, "")) return +a; 5583 c = "number(unitless)"; 5584 break; 5585 5586 case u: 5587 if (f) { 5588 if ("" === a && this.original) return this.original; 5589 if (b.test(a)) return "#" == a.charAt(0) && 7 == a.length ? a : d(a); 5590 } 5591 5592 c = "hex or rgb string"; 5593 break; 5594 5595 case v: 5596 if (e) return a + this.unit; 5597 if (f && b.test(a)) return a; 5598 c = "number(px) or string(unit)"; 5599 break; 5600 5601 case w: 5602 if (e) return a + this.unit; 5603 if (f && b.test(a)) return a; 5604 c = "number(px) or string(unit or %)"; 5605 break; 5606 5607 case x: 5608 if (e) return a + this.angle; 5609 if (f && b.test(a)) return a; 5610 c = "number(deg) or string(angle)"; 5611 break; 5612 5613 case y: 5614 if (e) return a; 5615 if (f && w.test(a)) return a; 5616 c = "number(unitless) or string(unit or %)"; 5617 } 5618 5619 return g(c, a), a; 5620 }, a.redraw = function () { 5621 this.el.offsetHeight; 5622 }; 5623 }), 5624 O = l(N, function (a, b) { 5625 a.init = function () {
5626 b.init.apply(this, arguments), this.original || (this.original = this.convert(this.get(), u)); 5627 }; 5628 }), 5629 P = l(N, function (a, b) { 5630 a.init = function () { 5631 b.init.apply(this, arguments), this.animate = this.fallback; 5632 }, a.get = function () { 5633 return this.$el[this.name](); 5634 }, a.update = function (a) { 5635 this.$el[this.name](a); 5636 }; 5637 }), 5638 Q = l(N, function (a, b) { 5639 function c(a, b) { 5640 var c, d, e, f, g; 5641 5642 for (c in a) { 5643 f = Z[c], e = f[0], d = f[1] || c, g = this.convert(a[c], e), b.call(this, d, g, e); 5644 } 5645 } 5646 5647 a.init = function () { 5648 b.init.apply(this, arguments), this.current || (this.current = {}, Z.perspective && U.perspective && (this.current.perspective = U.perspective, V(this.el, this.name, this.style(this.current)), this.redraw())); 5649 }, a.set = function (a) { 5650 c.call(this, a, function (a, b) { 5651 this.current[a] = b; 5652 }), V(this.el, this.name, this.style(this.current)), this.redraw(); 5653 }, a.transition = function (a) { 5654 var b = this.values(a); 5655 this.tween = new T({ 5656 current: this.current, 5657 values: b, 5658 duration: this.duration, 5659 delay: this.delay, 5660 ease: this.ease 5661 }); 5662 var c, 5663 d = {}; 5664 5665 for (c in this.current) { 5666 d[c] = c in b ? b[c] : this.current[c]; 5667 } 5668 5669 this.active = !0, this.nextStyle = this.style(d); 5670 }, a.fallback = function (a) { 5671 var b = this.values(a); 5672 this.tween = new T({ 5673 current: this.current, 5674 values: b, 5675 duration: this.duration, 5676 delay: this.delay, 5677 ease: this.ease, 5678 update: this.update, 5679 context: this 5680 }); 5681 }, a.update = function () { 5682 V(this.el, this.name, this.style(this.current)); 5683 }, a.style = function (a) { 5684 var b, 5685 c = ""; 5686 5687 for (b in a) { 5688 c += b + "(" + a[b] + ") "; 5689 } 5690 5691 return c; 5692 }, a.values = function (a) { 5693 var b, 5694 d = {}; 5695 return c.call(this, a, function (a, c, e) { 5696 d[a] = c, void 0 === this.current[a] && (b = 0, ~a.indexOf("scale") && (b = 1), this.current[a] = this.convert(b, e)); 5697 }), d; 5698 }; 5699 }), 5700 R = l(function (b) { 5701 function c(a) { 5702 1 === n.push(a) && J(g); 5703 } 5704 5705 function g() { 5706 var a, 5707 b, 5708 c, 5709 d = n.length; 5710 if (d) for (J(g), b = K(), a = d; a--;) { 5711 c = n[a], c && c.render(b); 5712 } 5713 } 5714 5715 function i(b) { 5716 var c, 5717 d = a.inArray(b, n); 5718 d >= 0 && (c = n.slice(d + 1), n.length = d, c.length && (n = n.concat(c))); 5719 } 5720 5721 function j(a) { 5722 return Math.round(a * o) / o; 5723 } 5724 5725 function k(a, b, c) { 5726 return e(a[0] + c * (b[0] - a[0]), a[1] + c * (b[1] - a[1]), a[2] + c * (b[2] - a[2])); 5727 } 5728 5729 var l = { 5730 ease: m.ease[1], 5731 from: 0, 5732 to: 1 5733 }; 5734 b.init = function (a) { 5735 this.duration = a.duration || 0, this.delay = a.delay || 0; 5736 var b = a.ease || l.ease; 5737 m[b] && (b = m[b][1]), "function" != typeof b && (b = l.ease), this.ease = b, this.update = a.update || f, this.complete = a.complete || f, this.context = a.context || this, this.name = a.name; 5738 var c = a.from, 5739 d = a.to; 5740 void 0 === c && (c = l.from), void 0 === d && (d = l.to), this.unit = a.unit || "", "number" == typeof c && "number" == typeof d ? (this.begin = c, this.change = d - c) : this.format(d, c), this.value = this.begin + this.unit, this.start = K(), a.autoplay !== !1 && this.play(); 5741 }, b.play = function () { 5742 this.active || (this.start || (this.start = K()), this.active = !0, c(this)); 5743 }, b.stop = function () { 5744 this.active && (this.active = !1, i(this)); 5745 }, b.render = function (a) { 5746 var b, 5747 c = a - this.start; 5748 5749 if (this.delay) { 5750 if (c <= this.delay) return; 5751 c -= this.delay; 5752 } 5753 5754 if (c < this.duration) { 5755 var d = this.ease(c, 0, 1, this.duration); 5756 return b = this.startRGB ? k(this.startRGB, this.endRGB, d) : j(this.begin + d * this.change), this.value = b + this.unit, void this.update.call(this.context, this.value); 5757 } 5758 5759 b = this.endHex || this.begin + this.change, this.value = b + this.unit, this.update.call(this.context, this.value), this.complete.call(this.context), this.destroy(); 5760 }, b.format = function (a, b) { 5761 if (b += "", a += "", "#" == a.charAt(0)) return this.startRGB = d(b), this.endRGB = d(a), this.endHex = a, this.begin = 0, void (this.change = 1); 5762 5763 if (!this.unit) { 5764 var c = b.replace(r, ""), 5765 e = a.replace(r, ""); 5766 c !== e && h("tween", b, a), this.unit = c; 5767 } 5768 5769 b = parseFloat(b), a = parseFloat(a), this.begin = this.value = b, this.change = a - b; 5770 }, b.destroy = function () { 5771 this.stop(), this.context = null, this.ease = this.update = this.complete = f; 5772 }; 5773 var n = [], 5774 o = 1e3; 5775 }),
5776 S = l(R, function (a) { 5777 a.init = function (a) { 5778 this.duration = a.duration || 0, this.complete = a.complete || f, this.context = a.context, this.play(); 5779 }, a.render = function (a) { 5780 var b = a - this.start; 5781 b < this.duration || (this.complete.call(this.context), this.destroy()); 5782 }; 5783 }), 5784 T = l(R, function (a, b) { 5785 a.init = function (a) { 5786 this.context = a.context, this.update = a.update, this.tweens = [], this.current = a.current; 5787 var b, c; 5788 5789 for (b in a.values) { 5790 c = a.values[b], this.current[b] !== c && this.tweens.push(new R({ 5791 name: b, 5792 from: this.current[b], 5793 to: c, 5794 duration: a.duration, 5795 delay: a.delay, 5796 ease: a.ease, 5797 autoplay: !1 5798 })); 5799 } 5800 5801 this.play(); 5802 }, a.render = function (a) { 5803 var b, 5804 c, 5805 d = this.tweens.length, 5806 e = !1; 5807 5808 for (b = d; b--;) { 5809 c = this.tweens[b], c.context && (c.render(a), this.current[c.name] = c.value, e = !0); 5810 } 5811 5812 return e ? void (this.update && this.update.call(this.context)) : this.destroy(); 5813 }, a.destroy = function () { 5814 if (b.destroy.call(this), this.tweens) { 5815 var a, 5816 c = this.tweens.length; 5817 5818 for (a = c; a--;) { 5819 this.tweens[a].destroy(); 5820 } 5821 5822 this.tweens = null, this.current = null; 5823 } 5824 }; 5825 }), 5826 U = b.config = { 5827 debug: !1, 5828 defaultUnit: "px", 5829 defaultAngle: "deg", 5830 keepInherited: !1, 5831 hideBackface: !1, 5832 perspective: "", 5833 fallback: !G.transition, 5834 agentTests: [] 5835 }; 5836 5837 b.fallback = function (a) { 5838 if (!G.transition) return U.fallback = !0; 5839 U.agentTests.push("(" + a + ")"); 5840 var b = new RegExp(U.agentTests.join("|"), "i"); 5841 U.fallback = b.test(navigator.userAgent); 5842 }, b.fallback("6.0.[2-5] Safari"), b.tween = function (a) { 5843 return new R(a); 5844 }, b.delay = function (a, b, c) { 5845 return new S({ 5846 complete: b, 5847 duration: a, 5848 context: c 5849 }); 5850 }, a.fn.tram = function (a) { 5851 return b.call(null, this, a); 5852 }; 5853 var V = a.style, 5854 W = a.css, 5855 X = { 5856 transform: G.transform && G.transform.css 5857 }, 5858 Y = { 5859 color: [O, u], 5860 background: [O, u, "background-color"], 5861 "outline-color": [O, u], 5862 "border-color": [O, u], 5863 "border-top-color": [O, u], 5864 "border-right-color": [O, u], 5865 "border-bottom-color": [O, u], 5866 "border-left-color": [O, u], 5867 "border-width": [N, v], 5868 "border-top-width": [N, v], 5869 "border-right-width": [N, v], 5870 "border-bottom-width": [N, v], 5871 "border-left-width": [N, v], 5872 "border-spacing": [N, v], 5873 "letter-spacing": [N, v], 5874 margin: [N, v], 5875 "margin-top": [N, v], 5876 "margin-right": [N, v], 5877 "margin-bottom": [N, v], 5878 "margin-left": [N, v], 5879 padding: [N, v], 5880 "padding-top": [N, v], 5881 "padding-right": [N, v], 5882 "padding-bottom": [N, v], 5883 "padding-left": [N, v], 5884 "outline-width": [N, v], 5885 opacity: [N, t], 5886 top: [N, w], 5887 right: [N, w], 5888 bottom: [N, w], 5889 left: [N, w], 5890 "font-size": [N, w], 5891 "text-indent": [N, w], 5892 "word-spacing": [N, w], 5893 width: [N, w], 5894 "min-width": [N, w], 5895 "max-width": [N, w], 5896 height: [N, w], 5897 "min-height": [N, w], 5898 "max-height": [N, w], 5899 "line-height": [N, y], 5900 "scroll-top": [P, t, "scrollTop"], 5901 "scroll-left": [P, t, "scrollLeft"] 5902 }, 5903 Z = {}; 5904 G.transform && (Y.transform = [Q], Z = { 5905 x: [w, "translateX"], 5906 y: [w, "translateY"], 5907 rotate: [x], 5908 rotateX: [x], 5909 rotateY: [x], 5910 scale: [t], 5911 scaleX: [t], 5912 scaleY: [t], 5913 skew: [x], 5914 skewX: [x], 5915 skewY: [x] 5916 }), G.transform && G.backface && (Z.z = [w, "translateZ"], Z.rotateZ = [x], Z.scaleZ = [t], Z.perspective = [v]); 5917 var $ = /ms/, 5918 _ = /s|\./; 5919 return a.tram = b; 5920}(window.jQuery); 5921 5922/***/ }), 5923/* 126 */ 5924/***/ (function(module, exports, __webpack_require__) { 5925 5926var baseFindIndex = __webpack_require__(127), 5927 baseIteratee = __webpack_require__(28), 5928 toInteger = __webpack_require__(145); 5929 5930/* Built-in method references for those with the same name as other `lodash` methods. */ 5931var nativeMax = Math.max; 5932 5933/** 5934 * This method is like `_.find` except that it returns the index of the first 5935 * element `predicate` returns truthy for instead of the element itself. 5936 * 5937 * @static 5938 * @memberOf _ 5939 * @since 1.1.0 5940 * @category Array 5941 * @param {Array} array The array to inspect. 5942 * @param {Function} [predicate=_.identity] The function invoked per iteration. 5943 * @param {number} [fromIndex=0] The index to search from. 5944 * @returns {number} Returns the index of the found element, else `-1`. 5945 * @example 5946 * 5947 * var users = [ 5948 * { 'user': 'barney', 'active': false }, 5949 * { 'user': 'fred', 'active': false }, 5950 * { 'user': 'pebbles', 'active': true } 5951 * ]; 5952 * 5953 * _.findIndex(users, function(o) { return o.user == 'barney'; }); 5954 * // => 0 5955 * 5956 * // The `_.matches` iteratee shorthand. 5957 * _.findIndex(users, { 'user': 'fred', 'active': false }); 5958 * // => 1 5959 * 5960 * // The `_.matchesProperty` iteratee shorthand. 5961 * _.findIndex(users, ['active', false]); 5962 * // => 0 5963 * 5964 * // The `_.property` iteratee shorthand. 5965 * _.findIndex(users, 'active'); 5966 * // => 2 5967 */ 5968function findIndex(array, predicate, fromIndex) { 5969 var length = array == null ? 0 : array.length; 5970 if (!length) { 5971 return -1; 5972 } 5973 var index = fromIndex == null ? 0 : toInteger(fromIndex); 5974 if (index < 0) { 5975 index = nativeMax(length + index, 0); 5976 } 5977 return baseFindIndex(array, baseIteratee(predicate, 3), index); 5978} 5979 5980module.exports = findIndex; 5981 5982
vendor: 4,129 bytes, lines 5983-6146
5983/***/ }), 5984/* 127 */ 5985/***/ (function(module, exports) { 5986 5987/** 5988 * The base implementation of `_.findIndex` and `_.findLastIndex` without 5989 * support for iteratee shorthands. 5990 * 5991 * @private 5992 * @param {Array} array The array to inspect. 5993 * @param {Function} predicate The function invoked per iteration. 5994 * @param {number} fromIndex The index to search from. 5995 * @param {boolean} [fromRight] Specify iterating from right to left. 5996 * @returns {number} Returns the index of the matched value, else `-1`. 5997 */ 5998function baseFindIndex(array, predicate, fromIndex, fromRight) { 5999 var length = array.length, 6000 index = fromIndex + (fromRight ? 1 : -1); 6001 6002 while ((fromRight ? index-- : ++index < length)) { 6003 if (predicate(array[index], index, array)) { 6004 return index; 6005 } 6006 } 6007 return -1; 6008} 6009 6010module.exports = baseFindIndex; 6011 6012 6013/***/ }), 6014/* 128 */ 6015/***/ (function(module, exports, __webpack_require__) { 6016 6017var ListCache = __webpack_require__(59), 6018 stackClear = __webpack_require__(204), 6019 stackDelete = __webpack_require__(205), 6020 stackGet = __webpack_require__(206), 6021 stackHas = __webpack_require__(207), 6022 stackSet = __webpack_require__(208); 6023 6024/** 6025 * Creates a stack cache object to store key-value pairs. 6026 * 6027 * @private 6028 * @constructor 6029 * @param {Array} [entries] The key-value pairs to cache. 6030 */ 6031function Stack(entries) { 6032 var data = this.__data__ = new ListCache(entries); 6033 this.size = data.size; 6034} 6035 6036// Add methods to `Stack`. 6037Stack.prototype.clear = stackClear; 6038Stack.prototype['delete'] = stackDelete; 6039Stack.prototype.get = stackGet; 6040Stack.prototype.has = stackHas; 6041Stack.prototype.set = stackSet; 6042 6043module.exports = Stack; 6044 6045 6046/***/ }), 6047/* 129 */ 6048/***/ (function(module, exports, __webpack_require__) { 6049 6050var baseGetTag = __webpack_require__(39), 6051 isObject = __webpack_require__(23); 6052 6053/** `Object#toString` result references. */ 6054var asyncTag = '[object AsyncFunction]', 6055 funcTag = '[object Function]', 6056 genTag = '[object GeneratorFunction]', 6057 proxyTag = '[object Proxy]'; 6058 6059/** 6060 * Checks if `value` is classified as a `Function` object. 6061 * 6062 * @static 6063 * @memberOf _ 6064 * @since 0.1.0 6065 * @category Lang 6066 * @param {*} value The value to check. 6067 * @returns {boolean} Returns `true` if `value` is a function, else `false`. 6068 * @example 6069 * 6070 * _.isFunction(_); 6071 * // => true 6072 * 6073 * _.isFunction(/abc/); 6074 * // => false 6075 */ 6076function isFunction(value) { 6077 if (!isObject(value)) { 6078 return false; 6079 } 6080 // The use of `Object#toString` avoids issues with the `typeof` operator 6081 // in Safari 9 which returns 'object' for typed arrays and other constructors. 6082 var tag = baseGetTag(value); 6083 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; 6084} 6085 6086module.exports = isFunction; 6087 6088 6089/***/ }), 6090/* 130 */ 6091/***/ (function(module, exports, __webpack_require__) { 6092 6093/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ 6094var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 6095 6096module.exports = freeGlobal; 6097 6098/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61))) 6099 6100/***/ }), 6101/* 131 */ 6102/***/ (function(module, exports) { 6103 6104/** Used for built-in method references. */ 6105var funcProto = Function.prototype; 6106 6107/** Used to resolve the decompiled source of functions. */ 6108var funcToString = funcProto.toString; 6109 6110/** 6111 * Converts `func` to its source code. 6112 * 6113 * @private 6114 * @param {Function} func The function to convert. 6115 * @returns {string} Returns the source code. 6116 */ 6117function toSource(func) { 6118 if (func != null) { 6119 try { 6120 return funcToString.call(func); 6121 } catch (e) {} 6122 try { 6123 return (func + ''); 6124 } catch (e) {} 6125 } 6126 return ''; 6127} 6128 6129module.exports = toSource; 6130 6131 6132/***/ }), 6133/* 132 */ 6134/***/ (function(module, exports, __webpack_require__) { 6135 6136var baseIsEqualDeep = __webpack_require__(227), 6137 isObjectLike = __webpack_require__(30); 6138 6139/** 6140 * The base implementation of `_.isEqual` which supports partial comparisons 6141 * and tracks traversed objects. 6142 * 6143 * @private 6144 * @param {*} value The value to compare. 6145 * @param {*} other The other value to compare. 6146 * @param {boolean} bitmask The bitmask flags.
6147 * 1 - Unordered comparison 6148 * 2 - Partial comparison 6149 * @param {Function} [customizer] The function to customize comparisons. 6150 * @param {Object} [stack] Tracks traversed `value` and `other` objects. 6151 * @returns {boolean} Returns `true` if the values are equivalent, else `false`. 6152 */ 6153function baseIsEqual(value, other, bitmask, customizer, stack) { 6154 if (value === other) { 6155 return true; 6156 } 6157 if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { 6158 return value !== value && other !== other; 6159 } 6160 return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); 6161} 6162 6163module.exports = baseIsEqual; 6164 6165 6166/***/ }), 6167/* 133 */ 6168/***/ (function(module, exports, __webpack_require__) { 6169 6170var SetCache = __webpack_require__(228), 6171 arraySome = __webpack_require__(231), 6172 cacheHas = __webpack_require__(232); 6173 6174/** Used to compose bitmasks for value comparisons. */ 6175var COMPARE_PARTIAL_FLAG = 1, 6176 COMPARE_UNORDERED_FLAG = 2; 6177 6178/** 6179 * A specialized version of `baseIsEqualDeep` for arrays with support for 6180 * partial deep comparisons. 6181 * 6182 * @private 6183 * @param {Array} array The array to compare. 6184 * @param {Array} other The other array to compare. 6185 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 6186 * @param {Function} customizer The function to customize comparisons. 6187 * @param {Function} equalFunc The function to determine equivalents of values. 6188 * @param {Object} stack Tracks traversed `array` and `other` objects. 6189 * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. 6190 */ 6191function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { 6192 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 6193 arrLength = array.length, 6194 othLength = other.length; 6195 6196 if (arrLength != othLength && !(isPartial && othLength > arrLength)) { 6197 return false; 6198 } 6199 // Check that cyclic values are equal. 6200 var arrStacked = stack.get(array); 6201 var othStacked = stack.get(other); 6202 if (arrStacked && othStacked) { 6203 return arrStacked == other && othStacked == array; 6204 } 6205 var index = -1, 6206 result = true, 6207 seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; 6208 6209 stack.set(array, other); 6210 stack.set(other, array); 6211 6212 // Ignore non-index properties. 6213 while (++index < arrLength) { 6214 var arrValue = array[index], 6215 othValue = other[index]; 6216 6217 if (customizer) { 6218 var compared = isPartial 6219 ? customizer(othValue, arrValue, index, other, array, stack) 6220 : customizer(arrValue, othValue, index, array, other, stack); 6221 } 6222 if (compared !== undefined) { 6223 if (compared) { 6224 continue; 6225 } 6226 result = false;
vendor: 3,848 bytes, lines 6227-6374
6227 break; 6228 } 6229 // Recursively compare arrays (susceptible to call stack limits). 6230 if (seen) { 6231 if (!arraySome(other, function(othValue, othIndex) { 6232 if (!cacheHas(seen, othIndex) && 6233 (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { 6234 return seen.push(othIndex); 6235 } 6236 })) { 6237 result = false; 6238 break; 6239 } 6240 } else if (!( 6241 arrValue === othValue || 6242 equalFunc(arrValue, othValue, bitmask, customizer, stack) 6243 )) { 6244 result = false; 6245 break; 6246 } 6247 } 6248 stack['delete'](array); 6249 stack['delete'](other); 6250 return result; 6251} 6252 6253module.exports = equalArrays; 6254 6255 6256/***/ }), 6257/* 134 */ 6258/***/ (function(module, exports, __webpack_require__) { 6259 6260var arrayPush = __webpack_require__(83), 6261 isArray = __webpack_require__(11); 6262 6263/** 6264 * The base implementation of `getAllKeys` and `getAllKeysIn` which uses 6265 * `keysFunc` and `symbolsFunc` to get the enumerable property names and 6266 * symbols of `object`. 6267 * 6268 * @private 6269 * @param {Object} object The object to query. 6270 * @param {Function} keysFunc The function to get the keys of `object`. 6271 * @param {Function} symbolsFunc The function to get the symbols of `object`. 6272 * @returns {Array} Returns the array of property names and symbols. 6273 */ 6274function baseGetAllKeys(object, keysFunc, symbolsFunc) { 6275 var result = keysFunc(object); 6276 return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); 6277} 6278 6279module.exports = baseGetAllKeys; 6280 6281 6282/***/ }), 6283/* 135 */ 6284/***/ (function(module, exports, __webpack_require__) { 6285 6286var arrayFilter = __webpack_require__(239), 6287 stubArray = __webpack_require__(136); 6288 6289/** Used for built-in method references. */ 6290var objectProto = Object.prototype; 6291 6292/** Built-in value references. */ 6293var propertyIsEnumerable = objectProto.propertyIsEnumerable; 6294 6295/* Built-in method references for those with the same name as other `lodash` methods. */ 6296var nativeGetSymbols = Object.getOwnPropertySymbols; 6297 6298/** 6299 * Creates an array of the own enumerable symbols of `object`. 6300 * 6301 * @private 6302 * @param {Object} object The object to query. 6303 * @returns {Array} Returns the array of symbols. 6304 */ 6305var getSymbols = !nativeGetSymbols ? stubArray : function(object) { 6306 if (object == null) { 6307 return []; 6308 } 6309 object = Object(object); 6310 return arrayFilter(nativeGetSymbols(object), function(symbol) { 6311 return propertyIsEnumerable.call(object, symbol); 6312 }); 6313}; 6314 6315module.exports = getSymbols; 6316 6317 6318/***/ }), 6319/* 136 */ 6320/***/ (function(module, exports) { 6321 6322/** 6323 * This method returns a new empty array. 6324 * 6325 * @static 6326 * @memberOf _ 6327 * @since 4.13.0 6328 * @category Util 6329 * @returns {Array} Returns the new empty array. 6330 * @example 6331 * 6332 * var arrays = _.times(2, _.stubArray); 6333 * 6334 * console.log(arrays); 6335 * // => [[], []] 6336 * 6337 * console.log(arrays[0] === arrays[1]); 6338 * // => false 6339 */ 6340function stubArray() { 6341 return []; 6342} 6343 6344module.exports = stubArray; 6345 6346 6347/***/ }), 6348/* 137 */ 6349/***/ (function(module, exports, __webpack_require__) { 6350 6351var baseTimes = __webpack_require__(240), 6352 isArguments = __webpack_require__(65), 6353 isArray = __webpack_require__(11), 6354 isBuffer = __webpack_require__(84), 6355 isIndex = __webpack_require__(85), 6356 isTypedArray = __webpack_require__(86); 6357 6358/** Used for built-in method references. */ 6359var objectProto = Object.prototype; 6360 6361/** Used to check objects for own properties. */ 6362var hasOwnProperty = objectProto.hasOwnProperty; 6363 6364/** 6365 * Creates an array of the enumerable property names of the array-like `value`. 6366 * 6367 * @private 6368 * @param {*} value The value to query. 6369 * @param {boolean} inherited Specify returning inherited property names. 6370 * @returns {Array} Returns the array of property names. 6371 */ 6372function arrayLikeKeys(value, inherited) { 6373 var isArr = isArray(value), 6374 isArg = !isArr && isArguments(value),
vendor: 6,529 bytes, lines 6375-6643
6375 isBuff = !isArr && !isArg && isBuffer(value), 6376 isType = !isArr && !isArg && !isBuff && isTypedArray(value), 6377 skipIndexes = isArr || isArg || isBuff || isType, 6378 result = skipIndexes ? baseTimes(value.length, String) : [], 6379 length = result.length; 6380 6381 for (var key in value) { 6382 if ((inherited || hasOwnProperty.call(value, key)) && 6383 !(skipIndexes && ( 6384 // Safari 9 has enumerable `arguments.length` in strict mode. 6385 key == 'length' || 6386 // Node.js 0.10 has enumerable non-index properties on buffers. 6387 (isBuff && (key == 'offset' || key == 'parent')) || 6388 // PhantomJS 2 has enumerable non-index properties on typed arrays. 6389 (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || 6390 // Skip index properties. 6391 isIndex(key, length) 6392 ))) { 6393 result.push(key); 6394 } 6395 } 6396 return result; 6397} 6398 6399module.exports = arrayLikeKeys; 6400 6401 6402/***/ }), 6403/* 138 */ 6404/***/ (function(module, exports) { 6405 6406module.exports = function(module) { 6407 if (!module.webpackPolyfill) { 6408 module.deprecate = function() {}; 6409 module.paths = []; 6410 // module.parent = undefined by default 6411 if (!module.children) module.children = []; 6412 Object.defineProperty(module, "loaded", { 6413 enumerable: true, 6414 get: function() { 6415 return module.l; 6416 } 6417 }); 6418 Object.defineProperty(module, "id", { 6419 enumerable: true, 6420 get: function() { 6421 return module.i; 6422 } 6423 }); 6424 module.webpackPolyfill = 1; 6425 } 6426 return module; 6427}; 6428 6429 6430/***/ }), 6431/* 139 */ 6432/***/ (function(module, exports) { 6433 6434/** 6435 * Creates a unary function that invokes `func` with its argument transformed. 6436 * 6437 * @private 6438 * @param {Function} func The function to wrap. 6439 * @param {Function} transform The argument transform. 6440 * @returns {Function} Returns the new function. 6441 */ 6442function overArg(func, transform) { 6443 return function(arg) { 6444 return func(transform(arg)); 6445 }; 6446} 6447 6448module.exports = overArg; 6449 6450 6451/***/ }), 6452/* 140 */ 6453/***/ (function(module, exports, __webpack_require__) { 6454 6455var getNative = __webpack_require__(29), 6456 root = __webpack_require__(19); 6457 6458/* Built-in method references that are verified to be native. */ 6459var WeakMap = getNative(root, 'WeakMap'); 6460 6461module.exports = WeakMap; 6462 6463 6464/***/ }), 6465/* 141 */ 6466/***/ (function(module, exports, __webpack_require__) { 6467 6468var isObject = __webpack_require__(23); 6469 6470/** 6471 * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. 6472 * 6473 * @private 6474 * @param {*} value The value to check. 6475 * @returns {boolean} Returns `true` if `value` if suitable for strict 6476 * equality comparisons, else `false`. 6477 */ 6478function isStrictComparable(value) { 6479 return value === value && !isObject(value); 6480} 6481 6482module.exports = isStrictComparable; 6483 6484 6485/***/ }), 6486/* 142 */ 6487/***/ (function(module, exports) { 6488 6489/** 6490 * A specialized version of `matchesProperty` for source values suitable 6491 * for strict equality comparisons, i.e. `===`. 6492 * 6493 * @private 6494 * @param {string} key The key of the property to get. 6495 * @param {*} srcValue The value to match. 6496 * @returns {Function} Returns the new spec function. 6497 */ 6498function matchesStrictComparable(key, srcValue) { 6499 return function(object) { 6500 if (object == null) { 6501 return false; 6502 } 6503 return object[key] === srcValue && 6504 (srcValue !== undefined || (key in Object(object))); 6505 }; 6506} 6507 6508module.exports = matchesStrictComparable; 6509 6510 6511/***/ }), 6512/* 143 */ 6513/***/ (function(module, exports) { 6514 6515/** 6516 * A specialized version of `_.map` for arrays without support for iteratee 6517 * shorthands. 6518 * 6519 * @private 6520 * @param {Array} [array] The array to iterate over. 6521 * @param {Function} iteratee The function invoked per iteration. 6522 * @returns {Array} Returns the new mapped array. 6523 */ 6524function arrayMap(array, iteratee) { 6525 var index = -1, 6526 length = array == null ? 0 : array.length, 6527 result = Array(length); 6528 6529 while (++index < length) { 6530 result[index] = iteratee(array[index], index, array); 6531 } 6532 return result; 6533} 6534 6535module.exports = arrayMap; 6536 6537 6538/***/ }), 6539/* 144 */ 6540/***/ (function(module, exports) { 6541 6542/** 6543 * The base implementation of `_.property` without support for deep paths. 6544 * 6545 * @private 6546 * @param {string} key The key of the property to get. 6547 * @returns {Function} Returns the new accessor function. 6548 */ 6549function baseProperty(key) { 6550 return function(object) { 6551 return object == null ? undefined : object[key]; 6552 }; 6553} 6554 6555module.exports = baseProperty; 6556 6557 6558/***/ }), 6559/* 145 */ 6560/***/ (function(module, exports, __webpack_require__) { 6561 6562var toFinite = __webpack_require__(262); 6563 6564/** 6565 * Converts `value` to an integer. 6566 * 6567 * **Note:** This method is loosely based on 6568 * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). 6569 * 6570 * @static 6571 * @memberOf _ 6572 * @since 4.0.0 6573 * @category Lang 6574 * @param {*} value The value to convert. 6575 * @returns {number} Returns the converted integer. 6576 * @example 6577 * 6578 * _.toInteger(3.2); 6579 * // => 3 6580 * 6581 * _.toInteger(Number.MIN_VALUE); 6582 * // => 0 6583 * 6584 * _.toInteger(Infinity); 6585 * // => 1.7976931348623157e+308 6586 * 6587 * _.toInteger('3.2'); 6588 * // => 3 6589 */ 6590function toInteger(value) { 6591 var result = toFinite(value), 6592 remainder = result % 1; 6593 6594 return result === result ? (remainder ? result - remainder : result) : 0; 6595} 6596 6597module.exports = toInteger; 6598 6599 6600/***/ }), 6601/* 146 */ 6602/***/ (function(module, exports, __webpack_require__) { 6603 6604var global = __webpack_require__(0); 6605var getBuiltIn = __webpack_require__(16); 6606var isCallable = __webpack_require__(5); 6607var isPrototypeOf = __webpack_require__(98); 6608var USE_SYMBOL_AS_UID = __webpack_require__(147); 6609 6610var Object = global.Object; 6611 6612module.exports = USE_SYMBOL_AS_UID ? function (it) { 6613 return typeof it == 'symbol'; 6614} : function (it) { 6615 var $Symbol = getBuiltIn('Symbol'); 6616 return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it)); 6617}; 6618 6619 6620/***/ }), 6621/* 147 */ 6622/***/ (function(module, exports, __webpack_require__) { 6623 6624/* eslint-disable es/no-symbol -- required for testing */ 6625var NATIVE_SYMBOL = __webpack_require__(148); 6626 6627module.exports = NATIVE_SYMBOL 6628 && !Symbol.sham 6629 && typeof Symbol.iterator == 'symbol'; 6630 6631 6632/***/ }), 6633/* 148 */ 6634/***/ (function(module, exports, __webpack_require__) { 6635 6636/* eslint-disable es/no-symbol -- required for testing */ 6637var V8_VERSION = __webpack_require__(31); 6638var fails = __webpack_require__(9); 6639 6640// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing 6641module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 6642 var symbol = Symbol(); 6643 // Chrome 38 Symbol has incorrect toString conversion
vendor: 4,220 bytes, lines 6644-6792
6644 // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances 6645 return !String(symbol) || !(Object(symbol) instanceof Symbol) || 6646 // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances 6647 !Symbol.sham && V8_VERSION && V8_VERSION < 41; 6648}); 6649 6650 6651/***/ }), 6652/* 149 */ 6653/***/ (function(module, exports, __webpack_require__) { 6654 6655var IS_PURE = __webpack_require__(50); 6656var store = __webpack_require__(71); 6657 6658(module.exports = function (key, value) { 6659 return store[key] || (store[key] = value !== undefined ? value : {}); 6660})('versions', []).push({ 6661 version: '3.19.0', 6662 mode: IS_PURE ? 'pure' : 'global', 6663 copyright: 'é 2021 Denis Pushkarev (zloirock.ru)' 6664}); 6665 6666 6667/***/ }), 6668/* 150 */ 6669/***/ (function(module, exports, __webpack_require__) { 6670 6671var DESCRIPTORS = __webpack_require__(20); 6672var fails = __webpack_require__(9); 6673var createElement = __webpack_require__(101); 6674 6675// Thank's IE8 for his funny defineProperty 6676module.exports = !DESCRIPTORS && !fails(function () { 6677 // eslint-disable-next-line es/no-object-defineproperty -- requied for testing 6678 return Object.defineProperty(createElement('div'), 'a', { 6679 get: function () { return 7; } 6680 }).a != 7; 6681}); 6682 6683 6684/***/ }), 6685/* 151 */ 6686/***/ (function(module, exports, __webpack_require__) { 6687 6688var DESCRIPTORS = __webpack_require__(20); 6689var hasOwn = __webpack_require__(17); 6690 6691var FunctionPrototype = Function.prototype; 6692// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 6693var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor; 6694 6695var EXISTS = hasOwn(FunctionPrototype, 'name'); 6696// additional protection from minified / mangled / dropped function names 6697var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something'; 6698var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable)); 6699 6700module.exports = { 6701 EXISTS: EXISTS, 6702 PROPER: PROPER, 6703 CONFIGURABLE: CONFIGURABLE 6704}; 6705 6706 6707/***/ }), 6708/* 152 */ 6709/***/ (function(module, exports, __webpack_require__) { 6710 6711var uncurryThis = __webpack_require__(2); 6712var hasOwn = __webpack_require__(17); 6713var toIndexedObject = __webpack_require__(24); 6714var indexOf = __webpack_require__(104).indexOf; 6715var hiddenKeys = __webpack_require__(74); 6716 6717var push = uncurryThis([].push); 6718 6719module.exports = function (object, names) { 6720 var O = toIndexedObject(object); 6721 var i = 0; 6722 var result = []; 6723 var key; 6724 for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key); 6725 // Don't enum bug & hidden keys 6726 while (names.length > i) if (hasOwn(O, key = names[i++])) { 6727 ~indexOf(result, key) || push(result, key); 6728 } 6729 return result; 6730}; 6731 6732 6733/***/ }), 6734/* 153 */ 6735/***/ (function(module, exports, __webpack_require__) { 6736 6737var call = __webpack_require__(15); 6738var anObject = __webpack_require__(12); 6739var getMethod = __webpack_require__(33); 6740 6741module.exports = function (iterator, kind, value) { 6742 var innerResult, innerError; 6743 anObject(iterator); 6744 try { 6745 innerResult = getMethod(iterator, 'return'); 6746 if (!innerResult) { 6747 if (kind === 'throw') throw value; 6748 return value; 6749 } 6750 innerResult = call(innerResult, iterator); 6751 } catch (error) { 6752 innerError = true; 6753 innerResult = error; 6754 } 6755 if (kind === 'throw') throw value; 6756 if (innerError) throw innerResult; 6757 anObject(innerResult); 6758 return value; 6759}; 6760 6761 6762/***/ }), 6763/* 154 */ 6764/***/ (function(module, exports, __webpack_require__) { 6765 6766var wellKnownSymbol = __webpack_require__(6); 6767var Iterators = __webpack_require__(52); 6768 6769var ITERATOR = wellKnownSymbol('iterator'); 6770var ArrayPrototype = Array.prototype; 6771 6772// check on default Array iterator 6773module.exports = function (it) { 6774 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); 6775}; 6776 6777 6778/***/ }), 6779/* 155 */ 6780/***/ (function(module, exports, __webpack_require__) { 6781 6782"use strict"; 6783 6784var $ = __webpack_require__(1); 6785var toObject = __webpack_require__(7); 6786var lengthOfArrayLike = __webpack_require__(4); 6787var toIntegerOrInfinity = __webpack_require__(34); 6788var addToUnscopables = __webpack_require__(8); 6789 6790// `Array.prototype.at` method 6791// https://github.com/tc39/proposal-relative-indexing-method 6792$({ target: 'Array', proto: true }, {
vendor: 19,295 bytes, lines 6793-7439
6793 at: function at(index) { 6794 var O = toObject(this); 6795 var len = lengthOfArrayLike(O); 6796 var relativeIndex = toIntegerOrInfinity(index); 6797 var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex; 6798 return (k < 0 || k >= len) ? undefined : O[k]; 6799 } 6800}); 6801 6802addToUnscopables('at'); 6803 6804 6805/***/ }), 6806/* 156 */ 6807/***/ (function(module, exports, __webpack_require__) { 6808 6809var getBuiltIn = __webpack_require__(16); 6810 6811module.exports = getBuiltIn('document', 'documentElement'); 6812 6813 6814/***/ }), 6815/* 157 */ 6816/***/ (function(module, exports, __webpack_require__) { 6817 6818var global = __webpack_require__(0); 6819var isArray = __webpack_require__(35); 6820var isConstructor = __webpack_require__(43); 6821var isObject = __webpack_require__(13); 6822var wellKnownSymbol = __webpack_require__(6); 6823 6824var SPECIES = wellKnownSymbol('species'); 6825var Array = global.Array; 6826 6827// a part of `ArraySpeciesCreate` abstract operation 6828// https://tc39.es/ecma262/#sec-arrayspeciescreate 6829module.exports = function (originalArray) { 6830 var C; 6831 if (isArray(originalArray)) { 6832 C = originalArray.constructor; 6833 // cross-realm fallback 6834 if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; 6835 else if (isObject(C)) { 6836 C = C[SPECIES]; 6837 if (C === null) C = undefined; 6838 } 6839 } return C === undefined ? Array : C; 6840}; 6841 6842 6843/***/ }), 6844/* 158 */ 6845/***/ (function(module, exports, __webpack_require__) { 6846 6847"use strict"; 6848 6849var global = __webpack_require__(0); 6850var isArray = __webpack_require__(35); 6851var lengthOfArrayLike = __webpack_require__(4); 6852var bind = __webpack_require__(22); 6853 6854var TypeError = global.TypeError; 6855 6856// `FlattenIntoArray` abstract operation 6857// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray 6858var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { 6859 var targetIndex = start; 6860 var sourceIndex = 0; 6861 var mapFn = mapper ? bind(mapper, thisArg) : false; 6862 var element, elementLen; 6863 6864 while (sourceIndex < sourceLen) { 6865 if (sourceIndex in source) { 6866 element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; 6867 6868 if (depth > 0 && isArray(element)) { 6869 elementLen = lengthOfArrayLike(element); 6870 targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1; 6871 } else { 6872 if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); 6873 target[targetIndex] = element; 6874 } 6875 6876 targetIndex++; 6877 } 6878 sourceIndex++; 6879 } 6880 return targetIndex; 6881}; 6882 6883module.exports = flattenIntoArray; 6884 6885 6886/***/ }), 6887/* 159 */ 6888/***/ (function(module, exports, __webpack_require__) { 6889 6890"use strict"; 6891 6892var $ = __webpack_require__(1); 6893var $includes = __webpack_require__(104).includes; 6894var addToUnscopables = __webpack_require__(8); 6895 6896// `Array.prototype.includes` method 6897// https://tc39.es/ecma262/#sec-array.prototype.includes 6898$({ target: 'Array', proto: true }, { 6899 includes: function includes(el /* , fromIndex = 0 */) { 6900 return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); 6901 } 6902}); 6903 6904// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 6905addToUnscopables('includes'); 6906 6907 6908/***/ }), 6909/* 160 */ 6910/***/ (function(module, exports, __webpack_require__) { 6911 6912"use strict"; 6913 6914var fails = __webpack_require__(9); 6915var isCallable = __webpack_require__(5); 6916var create = __webpack_require__(36); 6917var getPrototypeOf = __webpack_require__(110); 6918var redefine = __webpack_require__(27); 6919var wellKnownSymbol = __webpack_require__(6); 6920var IS_PURE = __webpack_require__(50); 6921 6922var ITERATOR = wellKnownSymbol('iterator'); 6923var BUGGY_SAFARI_ITERATORS = false; 6924 6925// `%IteratorPrototype%` object 6926// https://tc39.es/ecma262/#sec-%iteratorprototype%-object 6927var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; 6928 6929/* eslint-disable es/no-array-prototype-keys -- safe */ 6930if ([].keys) { 6931 arrayIterator = [].keys(); 6932 // Safari 8 has buggy iterators w/o `next` 6933 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; 6934 else { 6935 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); 6936 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; 6937 } 6938} 6939 6940var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { 6941 var test = {}; 6942 // FF44- legacy iterators case 6943 return IteratorPrototype[ITERATOR].call(test) !== test; 6944}); 6945 6946if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; 6947else if (IS_PURE) IteratorPrototype = create(IteratorPrototype); 6948 6949// `%IteratorPrototype%[@@iterator]()` method 6950// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator 6951if (!isCallable(IteratorPrototype[ITERATOR])) { 6952 redefine(IteratorPrototype, ITERATOR, function () { 6953 return this; 6954 }); 6955} 6956 6957module.exports = { 6958 IteratorPrototype: IteratorPrototype, 6959 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS 6960}; 6961 6962 6963/***/ }), 6964/* 161 */ 6965/***/ (function(module, exports, __webpack_require__) { 6966 6967var global = __webpack_require__(0); 6968var aCallable = __webpack_require__(21); 6969var toObject = __webpack_require__(7); 6970var IndexedObject = __webpack_require__(41); 6971var lengthOfArrayLike = __webpack_require__(4); 6972 6973var TypeError = global.TypeError; 6974 6975// `Array.prototype.{ reduce, reduceRight }` methods implementation 6976var createMethod = function (IS_RIGHT) { 6977 return function (that, callbackfn, argumentsLength, memo) { 6978 aCallable(callbackfn); 6979 var O = toObject(that); 6980 var self = IndexedObject(O); 6981 var length = lengthOfArrayLike(O); 6982 var index = IS_RIGHT ? length - 1 : 0; 6983 var i = IS_RIGHT ? -1 : 1; 6984 if (argumentsLength < 2) while (true) { 6985 if (index in self) { 6986 memo = self[index]; 6987 index += i; 6988 break; 6989 } 6990 index += i; 6991 if (IS_RIGHT ? index < 0 : length <= index) { 6992 throw TypeError('Reduce of empty array with no initial value'); 6993 } 6994 } 6995 for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { 6996 memo = callbackfn(memo, self[index], index, O); 6997 } 6998 return memo; 6999 }; 7000}; 7001 7002module.exports = { 7003 // `Array.prototype.reduce` method 7004 // https://tc39.es/ecma262/#sec-array.prototype.reduce 7005 left: createMethod(false), 7006 // `Array.prototype.reduceRight` method 7007 // https://tc39.es/ecma262/#sec-array.prototype.reduceright 7008 right: createMethod(true) 7009}; 7010 7011 7012/***/ }), 7013/* 162 */ 7014/***/ (function(module, exports, __webpack_require__) { 7015 7016var $ = __webpack_require__(1); 7017var uncurryThis = __webpack_require__(2); 7018var hiddenKeys = __webpack_require__(74); 7019var isObject = __webpack_require__(13); 7020var hasOwn = __webpack_require__(17); 7021var defineProperty = __webpack_require__(18).f; 7022var getOwnPropertyNamesModule = __webpack_require__(103); 7023var getOwnPropertyNamesExternalModule = __webpack_require__(326); 7024var uid = __webpack_require__(100); 7025var FREEZING = __webpack_require__(327); 7026 7027var REQUIRED = false; 7028var METADATA = uid('meta'); 7029var id = 0; 7030 7031// eslint-disable-next-line es/no-object-isextensible -- safe 7032var isExtensible = Object.isExtensible || function () { 7033 return true; 7034}; 7035 7036var setMetadata = function (it) { 7037 defineProperty(it, METADATA, { value: { 7038 objectID: 'O' + id++, // object ID 7039 weakData: {} // weak collections IDs 7040 } }); 7041}; 7042 7043var fastKey = function (it, create) { 7044 // return a primitive with prefix 7045 if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; 7046 if (!hasOwn(it, METADATA)) { 7047 // can't set metadata to uncaught frozen object 7048 if (!isExtensible(it)) return 'F'; 7049 // not necessary to add metadata 7050 if (!create) return 'E'; 7051 // add missing metadata 7052 setMetadata(it); 7053 // return object ID 7054 } return it[METADATA].objectID; 7055}; 7056 7057var getWeakData = function (it, create) { 7058 if (!hasOwn(it, METADATA)) { 7059 // can't set metadata to uncaught frozen object 7060 if (!isExtensible(it)) return true; 7061 // not necessary to add metadata 7062 if (!create) return false; 7063 // add missing metadata 7064 setMetadata(it); 7065 // return the store of weak collections IDs 7066 } return it[METADATA].weakData; 7067}; 7068 7069// add metadata on freeze-family methods calling 7070var onFreeze = function (it) { 7071 if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it); 7072 return it; 7073}; 7074 7075var enable = function () { 7076 meta.enable = function () { /* empty */ }; 7077 REQUIRED = true; 7078 var getOwnPropertyNames = getOwnPropertyNamesModule.f; 7079 var splice = uncurryThis([].splice); 7080 var test = {}; 7081 test[METADATA] = 1; 7082 7083 // prevent exposing of metadata key 7084 if (getOwnPropertyNames(test).length) { 7085 getOwnPropertyNamesModule.f = function (it) { 7086 var result = getOwnPropertyNames(it); 7087 for (var i = 0, length = result.length; i < length; i++) { 7088 if (result[i] === METADATA) { 7089 splice(result, i, 1); 7090 break; 7091 } 7092 } return result; 7093 }; 7094 7095 $({ target: 'Object', stat: true, forced: true }, { 7096 getOwnPropertyNames: getOwnPropertyNamesExternalModule.f 7097 }); 7098 } 7099}; 7100 7101var meta = module.exports = { 7102 enable: enable, 7103 fastKey: fastKey, 7104 getWeakData: getWeakData, 7105 onFreeze: onFreeze 7106}; 7107 7108hiddenKeys[METADATA] = true; 7109 7110 7111/***/ }), 7112/* 163 */ 7113/***/ (function(module, exports, __webpack_require__) { 7114 7115var global = __webpack_require__(0); 7116var apply = __webpack_require__(112); 7117var bind = __webpack_require__(22); 7118var isCallable = __webpack_require__(5); 7119var hasOwn = __webpack_require__(17); 7120var fails = __webpack_require__(9); 7121var html = __webpack_require__(156); 7122var arraySlice = __webpack_require__(79); 7123var createElement = __webpack_require__(101); 7124var IS_IOS = __webpack_require__(164); 7125var IS_NODE = __webpack_require__(55); 7126 7127var set = global.setImmediate; 7128var clear = global.clearImmediate; 7129var process = global.process; 7130var Dispatch = global.Dispatch; 7131var Function = global.Function; 7132var MessageChannel = global.MessageChannel; 7133var String = global.String; 7134var counter = 0; 7135var queue = {}; 7136var ONREADYSTATECHANGE = 'onreadystatechange'; 7137var location, defer, channel, port; 7138 7139try { 7140 // Deno throws a ReferenceError on `location` access without `--location` flag 7141 location = global.location; 7142} catch (error) { /* empty */ } 7143 7144var run = function (id) { 7145 if (hasOwn(queue, id)) { 7146 var fn = queue[id]; 7147 delete queue[id]; 7148 fn(); 7149 } 7150}; 7151 7152var runner = function (id) { 7153 return function () { 7154 run(id); 7155 }; 7156}; 7157 7158var listener = function (event) { 7159 run(event.data); 7160}; 7161 7162var post = function (id) { 7163 // old engines have not location.origin 7164 global.postMessage(String(id), location.protocol + '//' + location.host); 7165}; 7166 7167// Node.js 0.9+ & IE10+ has setImmediate, otherwise: 7168if (!set || !clear) { 7169 set = function setImmediate(fn) { 7170 var args = arraySlice(arguments, 1); 7171 queue[++counter] = function () { 7172 apply(isCallable(fn) ? fn : Function(fn), undefined, args); 7173 }; 7174 defer(counter); 7175 return counter; 7176 }; 7177 clear = function clearImmediate(id) { 7178 delete queue[id]; 7179 }; 7180 // Node.js 0.8- 7181 if (IS_NODE) { 7182 defer = function (id) { 7183 process.nextTick(runner(id)); 7184 }; 7185 // Sphere (JS game engine) Dispatch API 7186 } else if (Dispatch && Dispatch.now) { 7187 defer = function (id) { 7188 Dispatch.now(runner(id)); 7189 }; 7190 // Browsers with MessageChannel, includes WebWorkers 7191 // except iOS - https://github.com/zloirock/core-js/issues/624 7192 } else if (MessageChannel && !IS_IOS) { 7193 channel = new MessageChannel(); 7194 port = channel.port2; 7195 channel.port1.onmessage = listener; 7196 defer = bind(port.postMessage, port); 7197 // Browsers with postMessage, skip WebWorkers 7198 // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' 7199 } else if ( 7200 global.addEventListener && 7201 isCallable(global.postMessage) && 7202 !global.importScripts && 7203 location && location.protocol !== 'file:' && 7204 !fails(post) 7205 ) { 7206 defer = post; 7207 global.addEventListener('message', listener, false); 7208 // IE8- 7209 } else if (ONREADYSTATECHANGE in createElement('script')) { 7210 defer = function (id) { 7211 html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { 7212 html.removeChild(this); 7213 run(id); 7214 }; 7215 }; 7216 // Rest old browsers 7217 } else { 7218 defer = function (id) { 7219 setTimeout(runner(id), 0); 7220 }; 7221 } 7222} 7223 7224module.exports = { 7225 set: set, 7226 clear: clear 7227}; 7228 7229 7230/***/ }), 7231/* 164 */ 7232/***/ (function(module, exports, __webpack_require__) { 7233 7234var userAgent = __webpack_require__(32); 7235 7236module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent); 7237 7238 7239/***/ }), 7240/* 165 */ 7241/***/ (function(module, exports, __webpack_require__) { 7242 7243"use strict"; 7244 7245var aCallable = __webpack_require__(21); 7246 7247var PromiseCapability = function (C) { 7248 var resolve, reject; 7249 this.promise = new C(function ($$resolve, $$reject) { 7250 if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); 7251 resolve = $$resolve; 7252 reject = $$reject; 7253 }); 7254 this.resolve = aCallable(resolve); 7255 this.reject = aCallable(reject); 7256}; 7257 7258// `NewPromiseCapability` abstract operation 7259// https://tc39.es/ecma262/#sec-newpromisecapability 7260module.exports.f = function (C) { 7261 return new PromiseCapability(C); 7262}; 7263 7264 7265/***/ }), 7266/* 166 */ 7267/***/ (function(module, exports, __webpack_require__) { 7268 7269"use strict"; 7270 7271var apply = __webpack_require__(112); 7272var anObject = __webpack_require__(12); 7273var create = __webpack_require__(36); 7274var getMethod = __webpack_require__(33); 7275var redefineAll = __webpack_require__(117); 7276var InternalStateModule = __webpack_require__(42); 7277var getBuiltIn = __webpack_require__(16); 7278var AsyncIteratorPrototype = __webpack_require__(344); 7279 7280var Promise = getBuiltIn('Promise'); 7281 7282var setInternalState = InternalStateModule.set; 7283var getInternalState = InternalStateModule.get; 7284 7285var asyncFromSyncIteratorContinuation = function (result, resolve, reject) { 7286 var done = result.done; 7287 Promise.resolve(result.value).then(function (value) { 7288 resolve({ done: done, value: value }); 7289 }, reject); 7290}; 7291 7292var AsyncFromSyncIterator = function AsyncIterator(iterator) { 7293 setInternalState(this, { 7294 iterator: anObject(iterator), 7295 next: iterator.next 7296 }); 7297}; 7298 7299AsyncFromSyncIterator.prototype = redefineAll(create(AsyncIteratorPrototype), { 7300 next: function next(arg) { 7301 var state = getInternalState(this); 7302 var hasArg = !!arguments.length; 7303 return new Promise(function (resolve, reject) { 7304 var result = anObject(apply(state.next, state.iterator, hasArg ? [arg] : [])); 7305 asyncFromSyncIteratorContinuation(result, resolve, reject); 7306 }); 7307 }, 7308 'return': function (arg) { 7309 var iterator = getInternalState(this).iterator; 7310 var hasArg = !!arguments.length; 7311 return new Promise(function (resolve, reject) { 7312 var $return = getMethod(iterator, 'return'); 7313 if ($return === undefined) return resolve({ done: true, value: arg }); 7314 var result = anObject(apply($return, iterator, hasArg ? [arg] : [])); 7315 asyncFromSyncIteratorContinuation(result, resolve, reject); 7316 }); 7317 }, 7318 'throw': function (arg) { 7319 var iterator = getInternalState(this).iterator; 7320 var hasArg = !!arguments.length; 7321 return new Promise(function (resolve, reject) { 7322 var $throw = getMethod(iterator, 'throw'); 7323 if ($throw === undefined) return reject(arg); 7324 var result = anObject(apply($throw, iterator, hasArg ? [arg] : [])); 7325 asyncFromSyncIteratorContinuation(result, resolve, reject); 7326 }); 7327 } 7328}); 7329 7330module.exports = AsyncFromSyncIterator; 7331 7332 7333/***/ }), 7334/* 167 */ 7335/***/ (function(module, exports, __webpack_require__) { 7336 7337var bind = __webpack_require__(22); 7338var IndexedObject = __webpack_require__(41); 7339var toObject = __webpack_require__(7); 7340var lengthOfArrayLike = __webpack_require__(4); 7341 7342// `Array.prototype.{ findLast, findLastIndex }` methods implementation 7343var createMethod = function (TYPE) { 7344 var IS_FIND_LAST_INDEX = TYPE == 1; 7345 return function ($this, callbackfn, that) { 7346 var O = toObject($this); 7347 7348 var self = IndexedObject(O); 7349 var boundFunction = bind(callbackfn, that); 7350 var index = lengthOfArrayLike(self); 7351 var value, result; 7352 while (index-- > 0) { 7353 value = self[index]; 7354 result = boundFunction(value, index, O); 7355 if (result) switch (TYPE) { 7356 case 0: return value; // findLast 7357 case 1: return index; // findLastIndex 7358 } 7359 } 7360 return IS_FIND_LAST_INDEX ? -1 : undefined; 7361 }; 7362}; 7363 7364module.exports = { 7365 // `Array.prototype.findLast` method 7366 // https://github.com/tc39/proposal-array-find-from-last 7367 findLast: createMethod(0), 7368 // `Array.prototype.findLastIndex` method 7369 // https://github.com/tc39/proposal-array-find-from-last 7370 findLastIndex: createMethod(1) 7371}; 7372 7373 7374/***/ }), 7375/* 168 */ 7376/***/ (function(module, __webpack_exports__, __webpack_require__) { 7377 7378"use strict"; 7379__webpack_require__.r(__webpack_exports__); 7380/* harmony import */ var _createStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(118); 7381/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return _createStore__WEBPACK_IMPORTED_MODULE_0__["default"]; }); 7382 7383/* harmony import */ var _combineReducers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(171); 7384/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return _combineReducers__WEBPACK_IMPORTED_MODULE_1__["default"]; }); 7385 7386/* harmony import */ var _bindActionCreators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(173); 7387/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return _bindActionCreators__WEBPACK_IMPORTED_MODULE_2__["default"]; }); 7388 7389/* harmony import */ var _applyMiddleware__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(174); 7390/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return _applyMiddleware__WEBPACK_IMPORTED_MODULE_3__["default"]; }); 7391 7392/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(119); 7393/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return _compose__WEBPACK_IMPORTED_MODULE_4__["default"]; }); 7394 7395/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(172); 7396 7397 7398 7399 7400 7401 7402 7403/* 7404* This is a dummy function to check if the function name has been altered by minification. 7405* If the function has been minified and NODE_ENV !== 'production', warn the user. 7406*/ 7407function isCrushed() {} 7408 7409if (false) {} 7410 7411 7412 7413/***/ }), 7414/* 169 */ 7415/***/ (function(module, __webpack_exports__, __webpack_require__) { 7416 7417"use strict"; 7418__webpack_require__.r(__webpack_exports__); 7419/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(375); 7420/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(380); 7421/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(382); 7422 7423 7424 7425 7426/** `Object#toString` result references. */ 7427var objectTag = '[object Object]'; 7428 7429/** Used for built-in method references. */ 7430var funcProto = Function.prototype, 7431 objectProto = Object.prototype; 7432 7433/** Used to resolve the decompiled source of functions. */ 7434var funcToString = funcProto.toString; 7435 7436/** Used to check objects for own properties. */ 7437var hasOwnProperty = objectProto.hasOwnProperty; 7438 7439/** Used to infer the `Object` constructor. */
7440var objectCtorString = funcToString.call(Object); 7441 7442/** 7443 * Checks if `value` is a plain object, that is, an object created by the 7444 * `Object` constructor or one with a `[[Prototype]]` of `null`. 7445 * 7446 * @static 7447 * @memberOf _ 7448 * @since 0.8.0 7449 * @category Lang 7450 * @param {*} value The value to check. 7451 * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. 7452 * @example 7453 * 7454 * function Foo() { 7455 * this.a = 1; 7456 * } 7457 * 7458 * _.isPlainObject(new Foo); 7459 * // => false 7460 * 7461 * _.isPlainObject([1, 2, 3]); 7462 * // => false 7463 * 7464 * _.isPlainObject({ 'x': 0, 'y': 0 }); 7465 * // => true 7466 * 7467 * _.isPlainObject(Object.create(null)); 7468 * // => true 7469 */ 7470function isPlainObject(value) { 7471 if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) != objectTag) { 7472 return false; 7473 } 7474 var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value); 7475 if (proto === null) { 7476 return true; 7477 } 7478 var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; 7479 return typeof Ctor == 'function' && Ctor instanceof Ctor && 7480 funcToString.call(Ctor) == objectCtorString; 7481} 7482 7483/* harmony default export */ __webpack_exports__["default"] = (isPlainObject); 7484 7485 7486/***/ }), 7487/* 170 */ 7488/***/ (function(module, __webpack_exports__, __webpack_require__) { 7489 7490"use strict"; 7491__webpack_require__.r(__webpack_exports__); 7492/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(376); 7493 7494 7495/** Built-in value references. */ 7496var Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Symbol; 7497 7498/* harmony default export */ __webpack_exports__["default"] = (Symbol); 7499 7500 7501/***/ }), 7502/* 171 */ 7503/***/ (function(module, __webpack_exports__, __webpack_require__) { 7504 7505"use strict"; 7506__webpack_require__.r(__webpack_exports__); 7507/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return combineReducers; }); 7508/* harmony import */ var _createStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(118); 7509/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(169); 7510/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(172); 7511 7512 7513 7514 7515function getUndefinedStateErrorMessage(key, action) { 7516 var actionType = action && action.type; 7517 var actionName = actionType && '"' + actionType.toString() + '"' || 'an action'; 7518 7519 return 'Given action ' + actionName + ', reducer "' + key + '" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.'; 7520} 7521 7522function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unex
7522pectedKeyCache) { 7523 var reducerKeys = Object.keys(reducers); 7524 var argumentName = action && action.type === _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; 7525 7526 if (reducerKeys.length === 0) { 7527 return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; 7528 } 7529 7530 if (!Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(inputState)) { 7531 return 'The ' + argumentName + ' has unexpected type of "' + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"'); 7532 } 7533 7534 var unexpectedKeys = Object.keys(inputState).filter(function (key) { 7535 return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; 7536 }); 7537 7538 unexpectedKeys.forEach(function (key) { 7539 unexpectedKeyCache[key] = true; 7540 }); 7541 7542 if (unexpectedKeys.length > 0) { 7543 return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('"' + unexpectedKeys.join('", "') + '" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('"' + reducerKeys.join('", "') + '". Unexpected keys will be ignored.'); 7544 } 7545} 7546 7547function assertReducerSanity(reducers) { 7548 Object.keys(reducers).forEach(function (key) { 7549 var reducer = reducers[key]; 7550 var initialState = reducer(undefined, { type: _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT }); 7551 7552 if (typeof initialState === 'undefined') { 7553 throw new Error('Reducer "' + key + '" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.'); 7554 } 7555 7556 var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.'); 7557 if (typeof reducer(undefined, { type: type }) === 'undefined') { 7558 throw new Error('Reducer "' + key + '" returned undefined when probed with a random type. ' + ('Don\'t try to handle ' + _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT + ' or other actions in "redux/*" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.'); 7559 } 7560 }); 7561} 7562 7563/** 7564 * Turns an object whose values are different reducer functions, into a single 7565 * reducer function. It will call every child reducer, and gather their results 7566 * into a single state object, whose keys correspond to the keys of the passed 7567 * reducer functions. 7568 * 7569 * @param {Object} reducers An object whose values correspond to different 7570 * reducer functions that need to be combined into one. One handy way to obtain 7571 * it is to use ES6 `import * as reducers` syntax. The reducers may never return 7572 * undefined for any action. Instead, they should return their initial state 7573 * if the state passed to them was undefined, and the current state for any 7574 * unrecognized action. 7575 * 7576 * @returns {Function} A reducer function that invokes every reducer inside the 7577 * passed object, and builds a state object with the same shape. 7578 */ 7579function combineReducers(reducers) { 7580 var reducerKeys = Object.keys(reducers); 7581 var finalReducers = {}; 7582 for (var i = 0; i < reducerKeys.length; i++) { 7583 var key = reducerKeys[i]; 7584 7585 if (false) {} 7586 7587 if (typeof reducers[key] === 'function') { 7588 finalReducers[key] = reducers[key]; 7589 } 7590 } 7591 var finalReducerKeys = Object.keys(finalReducers); 7592 7593 if (false) { var unexpectedKeyCache; } 7594 7595 var sanityError; 7596 try { 7597 assertReducerSanity(finalReducers); 7598 } catch (e) { 7599 sanityError = e; 7600 } 7601 7602 return function combination() { 7603 var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; 7604 var action = arguments[1]; 7605 7606 if (sanityError) { 7607 throw sanityError; 7608 } 7609 7610 if (false) { var warningMessage; } 7611 7612 var hasChanged = false;
7613 var nextState = {}; 7614 for (var i = 0; i < finalReducerKeys.length; i++) { 7615 var key = finalReducerKeys[i]; 7616 var reducer = finalReducers[key]; 7617 var previousStateForKey = state[key]; 7618 var nextStateForKey = reducer(previousStateForKey, action); 7619 if (typeof nextStateForKey === 'undefined') { 7620 var errorMessage = getUndefinedStateErrorMessage(key, action); 7621 throw new Error(errorMessage); 7622 } 7623 nextState[key] = nextStateForKey; 7624 hasChanged = hasChanged || nextStateForKey !== previousStateForKey; 7625 } 7626 return hasChanged ? nextState : state; 7627 }; 7628} 7629 7630/***/ }), 7631/* 172 */ 7632/***/ (function(module, __webpack_exports__, __webpack_require__) { 7633 7634"use strict"; 7635__webpack_require__.r(__webpack_exports__); 7636/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return warning; }); 7637/** 7638 * Prints a warning in the console if it exists. 7639 * 7640 * @param {String} message The warning message. 7641 * @returns {void} 7642 */ 7643function warning(message) { 7644 /* eslint-disable no-console */ 7645 if (typeof console !== 'undefined' && typeof console.error === 'function') { 7646 console.error(message); 7647 } 7648 /* eslint-enable no-console */ 7649 try { 7650 // This error was thrown as a convenience so that if you enable 7651 // "break on all exceptions" in your console, 7652 // it would pause the execution at this line. 7653 throw new Error(message); 7654 /* eslint-disable no-empty */ 7655 } catch (e) {} 7656 /* eslint-enable no-empty */ 7657} 7658 7659/***/ }), 7660/* 173 */ 7661/***/ (function(module, __webpack_exports__, __webpack_require__) { 7662 7663"use strict"; 7664__webpack_require__.r(__webpack_exports__); 7665/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return bindActionCreators; }); 7666function bindActionCreator(actionCreator, dispatch) { 7667 return function () { 7668 return dispatch(actionCreator.apply(undefined, arguments)); 7669 }; 7670} 7671 7672/** 7673 * Turns an object whose values are action creators, into an object with the 7674 * same keys, but with every function wrapped into a `dispatch` call so they 7675 * may be invoked directly. This is just a convenience method, as you can call 7676 * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. 7677 * 7678 * For convenience, you can also pass a single function as the first argument, 7679 * and get a function in return. 7680 * 7681 * @param {Function|Object} actionCreators An object whose values are action 7682 * creator functions. One handy way to obtain it is to use ES6 `import * as` 7683 * syntax. You may also pass a single function. 7684 * 7685 * @param {Function} dispatch The `dispatch` function available on your Redux 7686 * store. 7687 * 7688 * @returns {Function|Object} The object mimicking the original object, but with 7689 * every action creator wrapped into the `dispatch` call. If you passed a 7690 * function as `actionCreators`, the return value will also be a single 7691 * function. 7692 */ 7693function bindActionCreators(actionCreators, dispatch) { 7694 if (typeof actionCreators === 'function') { 7695 return bindActionCreator(actionCreators, dispatch); 7696 } 7697 7698 if (typeof actionCreators !== 'object' || actionCreators === null) { 7699 throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?'); 7700 } 7701 7702 var keys = Object.keys(actionCreators); 7703 var boundActionCreators = {}; 7704 for (var i = 0; i < keys.length; i++) { 7705 var key = keys[i]; 7706 var actionCreator = actionCreators[key]; 7707 if (typeof actionCreator === 'function') { 7708 boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); 7709 } 7710 } 7711 return boundActionCreators; 7712} 7713 7714/***/ }), 7715/* 174 */ 7716/***/ (function(module, __webpack_exports__, __webpack_require__) { 7717 7718"use strict"; 7719__webpack_require__.r(__webpack_exports__); 7720/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return applyMiddleware; }); 7721/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(119); 7722var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; 7723 7724 7725 7726/** 7727 * Creates a store enhancer that applies middleware to the dispatch method 7728 * of the Redux store. This is handy for a variety of tasks, such as expressing 7729 * asynchronous actions in a concise manner, or logging every action payload. 7730 * 7731 * See `redux-thunk` package as an example of the Redux middleware. 7732 * 7733 * Because middleware is potentially asynchronous, this should be the first 7734 * store enhancer in the composition chain. 7735 *
7736 * Note that each middleware will be given the `dispatch` and `getState` functions 7737 * as named arguments. 7738 * 7739 * @param {...Function} middlewares The middleware chain to be applied. 7740 * @returns {Function} A store enhancer applying the middleware. 7741 */ 7742function applyMiddleware() { 7743 for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { 7744 middlewares[_key] = arguments[_key]; 7745 } 7746 7747 return function (createStore) { 7748 return function (reducer, preloadedState, enhancer) { 7749 var store = createStore(reducer, preloadedState, enhancer); 7750 var _dispatch = store.dispatch; 7751 var chain = []; 7752 7753 var middlewareAPI = { 7754 getState: store.getState, 7755 dispatch: function dispatch(action) { 7756 return _dispatch(action); 7757 } 7758 }; 7759 chain = middlewares.map(function (middleware) { 7760 return middleware(middlewareAPI); 7761 }); 7762 _dispatch = _compose__WEBPACK_IMPORTED_MODULE_0__["default"].apply(undefined, chain)(store.dispatch); 7763 7764 return _extends({}, store, { 7765 dispatch: _dispatch 7766 }); 7767 }; 7768 }; 7769} 7770 7771/***/ }), 7772/* 175 */ 7773/***/ (function(module, exports, __webpack_require__) { 7774 7775"use strict"; 7776 7777 7778Object.defineProperty(exports, "__esModule", { 7779 value: true 7780}); 7781exports.ActionAppliesTo = exports.ActionTypeConsts = void 0; 7782var ActionTypeConsts = { 7783 TRANSFORM_MOVE: 'TRANSFORM_MOVE', 7784 TRANSFORM_SCALE: 'TRANSFORM_SCALE', 7785 TRANSFORM_ROTATE: 'TRANSFORM_ROTATE', 7786 TRANSFORM_SKEW: 'TRANSFORM_SKEW', 7787 STYLE_OPACITY: 'STYLE_OPACITY', 7788 STYLE_SIZE: 'STYLE_SIZE', 7789 STYLE_FILTER: 'STYLE_FILTER', 7790 STYLE_BACKGROUND_COLOR: 'STYLE_BACKGROUND_COLOR', 7791 STYLE_BORDER: 'STYLE_BORDER', 7792 STYLE_TEXT_COLOR: 'STYLE_TEXT_COLOR', 7793 PLUGIN_LOTTIE: 'PLUGIN_LOTTIE', 7794 GENERAL_DISPLAY: 'GENERAL_DISPLAY', 7795 GENERAL_START_ACTION: 'GENERAL_START_ACTION', 7796 GENERAL_CONTINUOUS_ACTION: 'GENERAL_CONTINUOUS_ACTION', 7797 // TODO: Clean these up below because they're not used at this time 7798 GENERAL_COMBO_CLASS: 'GENERAL_COMBO_CLASS', 7799 GENERAL_STOP_ACTION: 'GENERAL_STOP_ACTION', 7800 GENERAL_LOOP: 'GENERAL_LOOP', 7801 STYLE_BOX_SHADOW: 'STYLE_BOX_SHADOW' 7802}; 7803exports.ActionTypeConsts = ActionTypeConsts; 7804var ActionAppliesTo = { 7805 ELEMENT: 'ELEMENT', 7806 ELEMENT_CLASS: 'ELEMENT_CLASS', 7807 TRIGGER_ELEMENT: 'TRIGGER_ELEMENT' 7808}; 7809exports.ActionAppliesTo = ActionAppliesTo; 7810 7811/***/ }), 7812/* 176 */ 7813/***/ (function(module, exports, __webpack_require__) { 7814 7815var createFind = __webpack_require__(177), 7816 findIndex = __webpack_require__(126); 7817 7818/** 7819 * Iterates over elements of `collection`, returning the first element 7820 * `predicate` returns truthy for. The predicate is invoked with three 7821 * arguments: (value, index|key, collection). 7822 * 7823 * @static 7824 * @memberOf _ 7825 * @since 0.1.0 7826 * @category Collection 7827 * @param {Array|Object} collection The collection to inspect. 7828 * @param {Function} [predicate=_.identity] The function invoked per iteration. 7829 * @param {number} [fromIndex=0] The index to search from. 7830 * @returns {*} Returns the matched element, else `undefined`. 7831 * @example 7832 * 7833 * var users = [ 7834 * { 'user': 'barney', 'age': 36, 'active': true }, 7835 * { 'user': 'fred', 'age': 40, 'active': false }, 7836 * { 'user': 'pebbles', 'age': 1, 'active': true } 7837 * ]; 7838 * 7839 * _.find(users, function(o) { return o.age < 40; }); 7840 * // => object for 'barney' 7841 * 7842 * // The `_.matches` iteratee shorthand. 7843 * _.find(users, { 'age': 1, 'active': true }); 7844 * // => object for 'pebbles' 7845 * 7846 * // The `_.matchesProperty` iteratee shorthand. 7847 * _.find(users, ['active', false]); 7848 * // => object for 'fred' 7849 * 7850 * // The `_.property` iteratee shorthand. 7851 * _.find(users, 'active'); 7852 * // => object for 'barney' 7853 */ 7854var find = createFind(findIndex); 7855 7856module.exports = find; 7857 7858 7859/***/ }), 7860/* 177 */ 7861/***/ (function(module, exports, __webpack_require__) { 7862 7863var baseIteratee = __webpack_require__(28), 7864 isArrayLike = __webpack_require__(40), 7865 keys = __webpack_require__(64); 7866 7867/** 7868 * Creates a `_.find` or `_.findLast` function. 7869 * 7870 * @private 7871 * @param {Function} findIndexFunc The function to find the collection index. 7872 * @returns {Function} Returns the new find function. 7873 */ 7874function createFind(findIndexFunc) { 7875 return function(collection, predicate, fromIndex) { 7876 var iterable = Object(collection); 7877 if (!isArrayLike(collection)) { 7878 var iteratee = baseIteratee(predicate, 3); 7879 collection = keys(collection); 7880 predicate = function(key) { return iteratee(iterable[key], key, iterable); }; 7881 } 7882 var index = findIndexFunc(collection, predicate, fromIndex); 7883 return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; 7884 }; 7885} 7886 7887module.exports = createFind; 7888 7889 7890/***/ }), 7891/* 178 */ 7892/***/ (function(module, exports, __webpack_require__) { 7893 7894"use strict"; 7895 7896 7897var _interopRequireDefault = __webpack_require__(3); 7898 7899Object.defineProperty(exports, "__esModule", { 7900 value: true 7901}); 7902exports.inQuad = inQuad; 7903exports.outQuad = outQuad; 7904exports.inOutQuad = inOutQuad; 7905exports.inCubic = inCubic; 7906exports.outCubic = outCubic; 7907exports.inOutCubic = inOutCubic; 7908exports.inQuart = inQuart; 7909exports.outQuart = outQuart; 7910exports.inOutQuart = inOutQuart; 7911exports.inQuint = inQuint; 7912exports.outQuint = outQuint; 7913exports.inOutQuint = inOutQuint; 7914exports.inSine = inSine; 7915exports.outSine = outSine; 7916exports.inOutSine = inOutSine; 7917exports.inExpo = inExpo;
7918exports.outExpo = outExpo; 7919exports.inOutExpo = inOutExpo; 7920exports.inCirc = inCirc; 7921exports.outCirc = outCirc; 7922exports.inOutCirc = inOutCirc; 7923exports.outBounce = outBounce; 7924exports.inBack = inBack; 7925exports.outBack = outBack; 7926exports.inOutBack = inOutBack; 7927exports.inElastic = inElastic; 7928exports.outElastic = outElastic; 7929exports.inOutElastic = inOutElastic; 7930exports.swingFromTo = swingFromTo; 7931exports.swingFrom = swingFrom; 7932exports.swingTo = swingTo; 7933exports.bounce = bounce; 7934exports.bouncePast = bouncePast; 7935exports.easeInOut = exports.easeOut = exports.easeIn = exports.ease = void 0; 7936 7937var _bezierEasing = _interopRequireDefault(__webpack_require__(179)); // Easing functions adapted from Thomas Fuchs & Jeremy Kahn 7938// Easing Equations (c) 2003 Robert Penner, BSD license 7939// https://raw.github.com/danro/easing-js/master/LICENSE 7940 7941 7942var magicSwing = 1.70158; 7943var ease = (0, _bezierEasing["default"])(0.25, 0.1, 0.25, 1.0); 7944exports.ease = ease; 7945var easeIn = (0, _bezierEasing["default"])(0.42, 0.0, 1.0, 1.0); 7946exports.easeIn = easeIn; 7947var easeOut = (0, _bezierEasing["default"])(0.0, 0.0, 0.58, 1.0); 7948exports.easeOut = easeOut; 7949var easeInOut = (0, _bezierEasing["default"])(0.42, 0.0, 0.58, 1.0); 7950exports.easeInOut = easeInOut; 7951 7952function inQuad(pos) { 7953 return Math.pow(pos, 2); 7954} 7955 7956function outQuad(pos) { 7957 return -(Math.pow(pos - 1, 2) - 1); 7958} 7959 7960function inOutQuad(pos) { 7961 if ((pos /= 0.5) < 1) { 7962 return 0.5 * Math.pow(pos, 2); 7963 } 7964 7965 return -0.5 * ((pos -= 2) * pos - 2); 7966} 7967 7968function inCubic(pos) { 7969 return Math.pow(pos, 3); 7970} 7971 7972function outCubic(pos) { 7973 return Math.pow(pos - 1, 3) + 1; 7974} 7975 7976function inOutCubic(pos) { 7977 if ((pos /= 0.5) < 1) { 7978 return 0.5 * Math.pow(pos, 3); 7979 } 7980 7981 return 0.5 * (Math.pow(pos - 2, 3) + 2); 7982} 7983 7984function inQuart(pos) { 7985 return Math.pow(pos, 4); 7986} 7987 7988function outQuart(pos) { 7989 return -(Math.pow(pos - 1, 4) - 1); 7990} 7991 7992function inOutQuart(pos) { 7993 if ((pos /= 0.5) < 1) { 7994 return 0.5 * Math.pow(pos, 4); 7995 } 7996 7997 return -0.5 * ((pos -= 2) * Math.pow(pos, 3) - 2); 7998} 7999 8000function inQuint(pos) { 8001 return Math.pow(pos, 5); 8002} 8003 8004function outQuint(pos) { 8005 return Math.pow(pos - 1, 5) + 1; 8006} 8007 8008function inOutQuint(pos) { 8009 if ((pos /= 0.5) < 1) { 8010 return 0.5 * Math.pow(pos, 5); 8011 } 8012 8013 return 0.5 * (Math.pow(pos - 2, 5) + 2); 8014} 8015 8016function inSine(pos) { 8017 return -Math.cos(pos * (Math.PI / 2)) + 1; 8018} 8019 8020function outSine(pos) { 8021 return Math.sin(pos * (Math.PI / 2)); 8022} 8023 8024function inOutSine(pos) { 8025 return -0.5 * (Math.cos(Math.PI * pos) - 1); 8026} 8027 8028function inExpo(pos) { 8029 return pos === 0 ? 0 : Math.pow(2, 10 * (pos - 1)); 8030} 8031 8032function outExpo(pos) { 8033 return pos === 1 ? 1 : -Math.pow(2, -10 * pos) + 1; 8034} 8035 8036function inOutExpo(pos) { 8037 if (pos === 0) { 8038 return 0; 8039 } 8040 8041 if (pos === 1) { 8042 return 1; 8043 } 8044 8045 if ((pos /= 0.5) < 1) { 8046 return 0.5 * Math.pow(2, 10 * (pos - 1)); 8047 } 8048 8049 return 0.5 * (-Math.pow(2, -10 * --pos) + 2); 8050} 8051 8052function inCirc(pos) { 8053 return -(Math.sqrt(1 - pos * pos) - 1); 8054} 8055 8056function outCirc(pos) { 8057 return Math.sqrt(1 - Math.pow(pos - 1, 2)); 8058} 8059 8060function inOutCirc(pos) { 8061 if ((pos /= 0.5) < 1) { 8062 return -0.5 * (Math.sqrt(1 - pos * pos) - 1); 8063 } 8064 8065 return 0.5 * (Math.sqrt(1 - (pos -= 2) * pos) + 1); 8066} 8067 8068function outBounce(pos) { 8069 if (pos < 1 / 2.75) { 8070 return 7.5625 * pos * pos; 8071 } else if (pos < 2 / 2.75) { 8072 return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; 8073 } else if (pos < 2.5 / 2.75) { 8074 return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; 8075 } else { 8076 return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; 8077 } 8078} 8079 8080function inBack(pos) { 8081 var s = magicSwing; 8082 return pos * pos * ((s + 1) * pos - s); 8083} 8084 8085function outBack(pos) { 8086 var s = magicSwing; 8087 return (pos -= 1) * pos * ((s + 1) * pos + s) + 1; 8088} 8089 8090function inOutBack(pos) { 8091 var s = magicSwing; 8092 8093 if ((pos /= 0.5) < 1) { 8094 return 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s)); 8095 } 8096 8097 return 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2); 8098} 8099 8100function inElastic(pos) { 8101 var s = magicSwing; 8102 var p = 0; 8103 var a = 1; 8104 8105 if (pos === 0) { 8106 return 0; 8107 } 8108 8109 if (pos === 1) { 8110 return 1; 8111 } 8112 8113 if (!p) { 8114 p = 0.3; 8115 } 8116 8117 if (a < 1) { 8118 a = 1; 8119 s = p / 4; 8120 } else { 8121 s = p / (2 * Math.PI) * Math.asin(1 / a); 8122 } 8123
8124 return -(a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p)); 8125} 8126 8127function outElastic(pos) { 8128 var s = magicSwing; 8129 var p = 0; 8130 var a = 1; 8131 8132 if (pos === 0) { 8133 return 0; 8134 } 8135 8136 if (pos === 1) { 8137 return 1; 8138 } 8139 8140 if (!p) { 8141 p = 0.3; 8142 } 8143 8144 if (a < 1) { 8145 a = 1; 8146 s = p / 4; 8147 } else { 8148 s = p / (2 * Math.PI) * Math.asin(1 / a); 8149 } 8150 8151 return a * Math.pow(2, -10 * pos) * Math.sin((pos - s) * (2 * Math.PI) / p) + 1; 8152} 8153 8154function inOutElastic(pos) { 8155 var s = magicSwing; 8156 var p = 0; 8157 var a = 1; 8158 8159 if (pos === 0) { 8160 return 0; 8161 } 8162 8163 if ((pos /= 1 / 2) === 2) { 8164 return 1; 8165 } 8166 8167 if (!p) { 8168 p = 0.3 * 1.5; 8169 } 8170 8171 if (a < 1) { 8172 a = 1; 8173 s = p / 4; 8174 } else { 8175 s = p / (2 * Math.PI) * Math.asin(1 / a); 8176 } 8177 8178 if (pos < 1) { 8179 return -0.5 * (a * Math.pow(2, 10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p)); 8180 } 8181 8182 return a * Math.pow(2, -10 * (pos -= 1)) * Math.sin((pos - s) * (2 * Math.PI) / p) * 0.5 + 1; 8183} 8184 8185function swingFromTo(pos) { 8186 var s = magicSwing; 8187 return (pos /= 0.5) < 1 ? 0.5 * (pos * pos * (((s *= 1.525) + 1) * pos - s)) : 0.5 * ((pos -= 2) * pos * (((s *= 1.525) + 1) * pos + s) + 2); 8188} 8189 8190function swingFrom(pos) { 8191 var s = magicSwing; 8192 return pos * pos * ((s + 1) * pos - s); 8193} 8194 8195function swingTo(pos) { 8196 var s = magicSwing; 8197 return (pos -= 1) * pos * ((s + 1) * pos + s) + 1; 8198} 8199 8200function bounce(pos) { 8201 if (pos < 1 / 2.75) { 8202 return 7.5625 * pos * pos; 8203 } else if (pos < 2 / 2.75) { 8204 return 7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75; 8205 } else if (pos < 2.5 / 2.75) { 8206 return 7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375; 8207 } else { 8208 return 7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375; 8209 } 8210} 8211 8212function bouncePast(pos) { 8213 if (pos < 1 / 2.75) { 8214 return 7.5625 * pos * pos; 8215 } else if (pos < 2 / 2.75) { 8216 return 2 - (7.5625 * (pos -= 1.5 / 2.75) * pos + 0.75); 8217 } else if (pos < 2.5 / 2.75) { 8218 return 2 - (7.5625 * (pos -= 2.25 / 2.75) * pos + 0.9375); 8219 } else { 8220 return 2 - (7.5625 * (pos -= 2.625 / 2.75) * pos + 0.984375); 8221 } 8222} 8223 8224/***/ }), 8225/* 179 */ 8226/***/ (function(module, exports) { 8227 8228/** 8229 * https://github.com/gre/bezier-easing 8230 * BezierEasing - use bezier curve for transition easing function 8231 * by Gaëtan Renaudeau 2014 - 2015 ââ¬â MIT License 8232 */ 8233 8234// These values are established by empiricism with tests (tradeoff: performance VS precision) 8235var NEWTON_ITERATIONS = 4; 8236var NEWTON_MIN_SLOPE = 0.001; 8237var SUBDIVISION_PRECISION = 0.0000001; 8238var SUBDIVISION_MAX_ITERATIONS = 10; 8239 8240var kSplineTableSize = 11; 8241var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); 8242 8243var float32ArraySupported = typeof Float32Array === 'function'; 8244 8245function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } 8246function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } 8247function C (aA1) { return 3.0 * aA1; } 8248 8249// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. 8250function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } 8251 8252// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. 8253function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } 8254 8255function binarySubdivide (aX, aA, aB, mX1, mX2) { 8256 var currentX, currentT, i = 0; 8257 do { 8258 currentT = aA + (aB - aA) / 2.0; 8259 currentX = calcBezier(currentT, mX1, mX2) - aX; 8260 if (currentX > 0.0) { 8261 aB = currentT; 8262 } else { 8263 aA = currentT; 8264 } 8265 } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); 8266 return currentT; 8267} 8268 8269function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) { 8270 for (var i = 0; i < NEWTON_ITERATIONS; ++i) { 8271 var currentSlope = getSlope(aGuessT, mX1, mX2); 8272 if (currentSlope === 0.0) { 8273 return aGuessT; 8274 } 8275 var currentX = calcBezier(aGuessT, mX1, mX2) - aX; 8276 aGuessT -= currentX / currentSlope; 8277 } 8278 return aGuessT; 8279} 8280 8281module.exports = function bezier (mX1, mY1, mX2, mY2) { 8282 if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { 8283 throw new Error('bezier x values must be in [0, 1] range'); 8284 } 8285 8286 // Precompute samples table 8287 var sampleValues = float32ArraySupported ? new Float32Array(kS
8287plineTableSize) : new Array(kSplineTableSize); 8288 if (mX1 !== mY1 || mX2 !== mY2) { 8289 for (var i = 0; i < kSplineTableSize; ++i) { 8290 sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); 8291 } 8292 } 8293 8294 function getTForX (aX) { 8295 var intervalStart = 0.0; 8296 var currentSample = 1; 8297 var lastSample = kSplineTableSize - 1; 8298 8299 for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { 8300 intervalStart += kSampleStepSize; 8301 } 8302 --currentSample; 8303 8304 // Interpolate to provide an initial guess for t 8305 var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); 8306 var guessForT = intervalStart + dist * kSampleStepSize; 8307 8308 var initialSlope = getSlope(guessForT, mX1, mX2); 8309 if (initialSlope >= NEWTON_MIN_SLOPE) { 8310 return newtonRaphsonIterate(aX, guessForT, mX1, mX2); 8311 } else if (initialSlope === 0.0) { 8312 return guessForT; 8313 } else { 8314 return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); 8315 } 8316 } 8317 8318 return function BezierEasing (x) { 8319 if (mX1 === mY1 && mX2 === mY2) { 8320 return x; // linear 8321 } 8322 // Because JavaScript number are imprecise, we should guarantee the extremes are right. 8323 if (x === 0) { 8324 return 0; 8325 } 8326 if (x === 1) { 8327 return 1; 8328 } 8329 return calcBezier(getTForX(x), mY1, mY2); 8330 }; 8331}; 8332 8333 8334/***/ }), 8335/* 180 */ 8336/***/ (function(module, exports, __webpack_require__) { 8337 8338"use strict"; 8339 8340 8341var _interopRequireDefault2 = __webpack_require__(3); 8342 8343var _toConsumableArray2 = _interopRequireDefault2(__webpack_require__(181)); 8344 8345var _interopRequireDefault = __webpack_require__(3); 8346 8347var _interopRequireWildcard = __webpack_require__(57); 8348 8349Object.defineProperty(exports, "__esModule", { 8350 value: true 8351}); 8352exports.optimizeFloat = optimizeFloat; 8353exports.createBezierEasing = createBezierEasing; 8354exports.applyEasing = applyEasing; 8355 8356var easings = _interopRequireWildcard(__webpack_require__(178)); 8357 8358var _bezierEasing = _interopRequireDefault(__webpack_require__(179)); 8359 8360function optimizeFloat(value) { 8361 var digits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5; 8362 var base = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10; 8363 var pow = Math.pow(base, digits); 8364 8365 var _float = Number(Math.round(value * pow) / pow); 8366 8367 return Math.abs(_float) > 0.0001 ? _float : 0; 8368} 8369 8370function createBezierEasing(easing) { 8371 return (0, _bezierEasing["default"]).apply(void 0, (0, _toConsumableArray2["default"])(easing)); 8372} 8373 8374function applyEasing(easing, position, customEasingFn) { 8375 if (position === 0) { 8376 return 0; 8377 } 8378 8379 if (position === 1) { 8380 return 1; 8381 } 8382 8383 if (customEasingFn) { 8384 return optimizeFloat(position > 0 ? customEasingFn(position) : position); 8385 } 8386 8387 return optimizeFloat(position > 0 && easing && easings[easing] ? easings[easing](position) : position); 8388} 8389 8390/***/ }), 8391/* 181 */ 8392/***/ (function(module, exports, __webpack_require__) { 8393 8394var arrayWithoutHoles = __webpack_require__(395); 8395 8396var iterableToArray = __webpack_require__(396); 8397 8398var nonIterableSpread = __webpack_require__(397); 8399 8400function _toConsumableArray(arr) { 8401 return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread(); 8402} 8403 8404module.exports = _toConsumableArray; 8405 8406/***/ }), 8407/* 182 */ 8408/***/ (function(module, exports, __webpack_require__) { 8409 8410"use strict"; 8411 8412 8413var _interopRequireDefault = __webpack_require__(3); 8414 8415var _defineProperty2 = _interopRequireDefault(__webpack_require__(38)); 8416 8417Object.defineProperty(exports, "__esModule", { 8418 value: true 8419}); 8420exports.isPluginType = isPluginType; 8421exports.clearPlugin = exports.renderPlugin = exports.createPluginInstance = exports.getPluginDestination = exports.getPluginDuration = exports.getPluginOrigin = exports.getPluginConfig = void 0; 8422 8423var _IX2LottieUtils = __webpack_require__(399); 8424 8425var _constants = __webpack_require__(14); 8426 8427var _IX2BrowserSupport = __webpack_require__(120); // eslint-disable-next-line webflow/module-top-level-imports, webflow/packages-must-be-defined 8428 8429 8430var pluginMethodMap = (0, _defineProperty2["default"])({}, _constants.ActionTypeConsts.PLUGIN_LOTTIE, {
8431 getConfig: _IX2LottieUtils.getPluginConfig, 8432 getOrigin: _IX2LottieUtils.getPluginOrigin, 8433 getDuration: _IX2LottieUtils.getPluginDuration, 8434 getDestination: _IX2LottieUtils.getPluginDestination, 8435 createInstance: _IX2LottieUtils.createPluginInstance, 8436 render: _IX2LottieUtils.renderPlugin, 8437 clear: _IX2LottieUtils.clearPlugin 8438}); 8439 8440function isPluginType(actionTypeId) { 8441 return actionTypeId === _constants.ActionTypeConsts.PLUGIN_LOTTIE; 8442} 8443 8444var pluginMethod = function pluginMethod(methodName) { 8445 return function (actionTypeId) { 8446 if (!_IX2BrowserSupport.IS_BROWSER_ENV) { 8447 // IX2 plugins require browser libs for now 8448 return function () { 8449 return null; 8450 }; 8451 } 8452 8453 var plugin = pluginMethodMap[actionTypeId]; 8454 8455 if (!plugin) { 8456 throw new Error("IX2 no plugin configured for: ".concat(actionTypeId)); 8457 } 8458 8459 var method = plugin[methodName]; 8460 8461 if (!method) { 8462 throw new Error("IX2 invalid plugin method: ".concat(methodName)); 8463 } 8464 8465 return method; 8466 }; 8467}; 8468 8469var getPluginConfig = pluginMethod('getConfig'); 8470exports.getPluginConfig = getPluginConfig; 8471var getPluginOrigin = pluginMethod('getOrigin'); 8472exports.getPluginOrigin = getPluginOrigin; 8473var getPluginDuration = pluginMethod('getDuration'); 8474exports.getPluginDuration = getPluginDuration; 8475var getPluginDestination = pluginMethod('getDestination'); 8476exports.getPluginDestination = getPluginDestination; 8477var createPluginInstance = pluginMethod('createInstance'); 8478exports.createPluginInstance = createPluginInstance; 8479var renderPlugin = pluginMethod('render'); 8480exports.renderPlugin = renderPlugin; 8481var clearPlugin = pluginMethod('clear'); 8482exports.clearPlugin = clearPlugin; 8483 8484/***/ }), 8485/* 183 */ 8486/***/ (function(module, exports, __webpack_require__) { 8487 8488var baseForOwn = __webpack_require__(184), 8489 createBaseEach = __webpack_require__(406); 8490 8491/** 8492 * The base implementation of `_.forEach` without support for iteratee shorthands. 8493 * 8494 * @private 8495 * @param {Array|Object} collection The collection to iterate over. 8496 * @param {Function} iteratee The function invoked per iteration. 8497 * @returns {Array|Object} Returns `collection`. 8498 */ 8499var baseEach = createBaseEach(baseForOwn); 8500 8501module.exports = baseEach; 8502 8503 8504/***/ }), 8505/* 184 */ 8506/***/ (function(module, exports, __webpack_require__) { 8507 8508var baseFor = __webpack_require__(404), 8509 keys = __webpack_require__(64); 8510 8511/** 8512 * The base implementation of `_.forOwn` without support for iteratee shorthands. 8513 * 8514 * @private 8515 * @param {Object} object The object to iterate over. 8516 * @param {Function} iteratee The function invoked per iteration. 8517 * @returns {Object} Returns `object`. 8518 */ 8519function baseForOwn(object, iteratee) { 8520 return object && baseFor(object, iteratee, keys); 8521} 8522 8523module.exports = baseForOwn; 8524 8525 8526/***/ }), 8527/* 185 */ 8528/***/ (function(module, exports, __webpack_require__) { 8529 8530"use strict"; 8531 8532 8533var _interopRequireDefault2 = __webpack_require__(3); 8534 8535var _toConsumableArray2 = _interopRequireDefault2(__webpack_require__(181)); 8536 8537var _interopRequireWildcard = __webpack_require__(57); 8538 8539var _interopRequireDefault = __webpack_require__(3); 8540 8541Object.defineProperty(exports, "__esModule", { 8542 value: true 8543}); 8544exports.observeRequests = observeRequests; 8545exports.startEngine = startEngine; 8546exports.stopEngine = stopEngine; 8547exports.stopAllActionGroups = stopAllActionGroups; 8548exports.stopActionGroup = stopActionGroup; 8549exports.startActionGroup = startActionGroup; 8550 8551var _extends2 = _interopRequireDefault(__webpack_require__(46)); 8552 8553var _objectWithoutPropertiesLoose2 = _interopRequireDefault(__webpack_require__(413)); 8554 8555var _find = _interopRequireDefault(__webpack_require__(176)); 8556 8557var _get = _interopRequireDefault(__webpack_require__(91)); 8558 8559var _size = _interopRequireDefault(__webpack_require__(414)); 8560 8561var _omitBy = _interopRequireDefault(__webpack_require__(420)); 8562 8563var _isEmpty = _interopRequireDefault(__webpack_require__(432)); 8564 8565var _mapValues = _interopRequireDefault(__webpack_require__(433)); 8566 8567var _forEach = _interopRequireDefault(__webpack_require__(434)); 8568 8569var _throttle = _interopRequireDefault(__webpack_require__(437)); 8570 8571var _constants = __webpack_require__(14); 8572 8573var _shared = __webpack_require__(45); 8574 8575var _IX2EngineActions = __webpack_require__(121); 8576 8577var elementApi = _interopRequireWildcard(__webpack_require__(440)); 8578 8579var _IX2VanillaEvents = _interopRequireDefault(__webpack_require__(441)); 8580/* eslint-env browser */ 8581 8582 8583var QuickEffectsIdList = Object.keys(_constants.QuickEffectIds); 8584 8585var isQuickEffect = function isQuickEffect(actionTypeId) { 8586 return QuickEffectsIdList.includes(actionTypeId); 8587}; 8588 8589var _constants$IX2EngineC = _constants.IX2EngineConstants, 8590 COLON_DELIMITER = _constants$IX2EngineC.COLON_DELIMITER, 8591 BOUNDARY_SELECTOR = _constants$IX2EngineC.BOUNDARY_SELECTOR, 8592 HTML_ELEMENT = _constants$IX2EngineC.HTML_ELEMENT, 8593 RENDER_GENERAL = _constants$IX2EngineC.RENDER_GENERAL, 8594 W_MOD_IX = _constants$IX2EngineC.W_MOD_IX; 8595var _shared$IX2VanillaUti = _shared.IX2VanillaUtils, 8596 getAffectedElements = _shared$IX2VanillaUti.getAffectedElements, 8597 getElementId = _shared$IX2VanillaUti.getElementId, 8598 getDestinationValues = _shared$IX2VanillaUti.getDestinationValues, 8599 observeStore = _shared$IX2VanillaUti.observeStore, 8600 getInstanceId = _shared$IX2VanillaUti.getInstanceId, 8601 renderHTMLElement = _shared$IX2VanillaUti.renderHTMLElement, 8602 clearAllStyles = _shared$IX2VanillaUti.clearAllStyles, 8603 getMaxDurationItemIndex = _shared$IX2VanillaUti.getMaxDurationItemIndex, 8604 getComputedStyle = _shared$IX2VanillaUti.getComputedStyle, 8605 getInstanceOrigin = _shared$IX2VanillaUti.getInstanceOrigin, 8606 reduceListToGroup = _shared$IX2VanillaUti.reduceListToGroup, 8607 shouldNamespaceEventParameter = _shared$IX2VanillaUti.shouldNamespaceEventParameter, 8608 getNamespacedParameterId = _shared$IX2VanillaUti.getNamespacedParameterId, 8609 shouldAllowMediaQuery = _shared$IX2VanillaUti.shouldAllowMediaQuery, 8610 cleanupHTMLElement = _shared$IX2VanillaUti.cleanupHTMLElement, 8611 stringifyTarget = _shared$IX2VanillaUti.stringifyTarget, 8612 mediaQueriesEqual = _shared$IX2VanillaUti.mediaQueriesEqual, 8613 shallowEqual = _shared$IX2VanillaUti.shallowEqual; 8614var _shared$IX2VanillaPlu = _shared.IX2VanillaPlugins, 8615 isPluginType = _shared$IX2VanillaPlu.isPluginType, 8616 createPluginInstance = _shared$IX2VanillaPlu.createPluginInstance, 8617 getPluginDuration = _shared$IX2VanillaPlu.getPluginDuration; 8618var ua = navigator.userAgent; 8619var IS_MOBILE_SAFARI = ua.match(/iPad/i) || ua.match(/iPhone/); // Keep throttled events at ~80fps to reduce reflows while maintaining render accuracy 8620 8621var THROTTLED_EVENT_WAIT = 12; // $FlowFixMe 8622 8623function observeRequests(store) { 8624 observeStore({ 8625 store: store, 8626 select: function select(_ref) { 8627 var ixRequest = _ref.ixRequest; 8628 return ixRequest.preview; 8629 }, 8630 onChange: handlePreviewRequest 8631 }); 8632 observeStore({ 8633 store: store, 8634 select: function select(_ref2) { 8635 var ixRequest = _ref2.ixRequest; 8636 return ixRequest.playback; 8637 }, 8638 onChange: handlePlaybackRequest 8639 }); 8640 observeStore({ 8641 store: store, 8642 select: function select(_ref3) { 8643 var ixRequest = _ref3.ixRequest; 8644 return ixRequest.stop; 8645 }, 8646 onChange: handleStopRequest 8647 }); 8648 observeStore({ 8649 store: store, 8650 select: function select(_ref4) { 8651 var ixRequest = _ref4.ixRequest; 8652 return ixRequest.clear; 8653 }, 8654 onChange: handleClearRequest 8655 }); 8656} 8657 8658function observeMediaQueryChange(store) { 8659 observeStore({ 8660 store: store, 8661 select: function select(_ref5) { 8662 var ixSession = _ref5.ixSession; 8663 return ixSession.mediaQueryKey; 8664 }, 8665 onChange: function onChange() { 8666 stopEngine(store); 8667 clearAllStyles({ 8668 store: store, 8669 elementApi: elementApi 8670 }); 8671 startEngine({ 8672 store: store, 8673 allowEvents: true 8674 }); 8675 dispatchPageUpdateEvent(); 8676 } 8677 }); 8678} 8679 8680function observeOneRenderTick(store, onTick) { 8681 var unsubscribe = observeStore({ 8682 store: store, 8683 select: function select(_ref6) { 8684 var ixSession = _ref6.ixSession; 8685 return ixSession.tick; 8686 }, 8687 onChange: function onChange(tick) { 8688 onTick(tick); 8689 unsubscribe(); 8690 } 8691 }); 8692} 8693 8694function handlePreviewRequest(_ref7, store) { 8695 var rawData = _ref7.rawData, 8696 defer = _ref7.defer; 8697 8698 var start = function start() { 8699 startEngine({ 8700 store: store, 8701 rawData: rawData, 8702 allowEvents: true 8703 }); 8704 dispatchPageUpdateEvent(); 8705 }; 8706 8707 defer ? setTimeout(start, 0) : start(); 8708} 8709 8710function dispatchPageUpdateEvent() { 8711 document.dispatchEvent(new CustomEvent('IX2_PAGE_UPDATE')); 8712} 8713 8714function handlePlaybackRequest(playback, store) { 8715 var actionTypeId = playback.actionTypeId, 8716 actionListId = playback.actionListId, 8717 actionItemId = playback.actionItemId, 8718 eventId = playback.eventId, 8719 allowEvents = playback.allowEvents, 8720 immediate = playback.immediate, 8721 testManual = playback.testManual, 8722 _playback$verbose = playback.verbose, 8723 verbose = _playback$verbose === void 0 ? true : _playback$verbose; 8724 var rawData = playback.rawData; 8725 8726 if (actionListId && actionItemId && rawData && immediate) { 8727 var actionList = rawData.actionLists[actionListId]; 8728 8729 if (actionList) { 8730 rawData = reduceListToGroup({ 8731 actionList: actionList, 8732 actionItemId: actionItemId, 8733 rawData: rawData 8734 }); 8735 } 8736 } 8737 8738 startEngine({ 8739 store: store, 8740 rawData: rawData, 8741 allowEvents: allowEvents, 8742 testManual: testManual 8743 }); 8744 8745 if (actionListId && actionTypeId === _constants.ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(actionTypeId)) { 8746 stopActionGroup({ 8747 store: store, 8748 actionListId: actionListId 8749 }); 8750 renderInitialGroup({ 8751 store: store, 8752 actionListId: actionListId, 8753 eventId: eventId 8754 }); 8755 var started = startActionGroup({ 8756 store: store, 8757 eventId: eventId, 8758 actionListId: actionListId, 8759 immediate: immediate,
8760 verbose: verbose 8761 }); 8762 8763 if (verbose && started) { 8764 store.dispatch((0, _IX2EngineActions.actionListPlaybackChanged)({ 8765 actionListId: actionListId, 8766 isPlaying: !immediate 8767 })); 8768 } 8769 } 8770} 8771 8772function handleStopRequest(_ref8, store) { 8773 var actionListId = _ref8.actionListId; 8774 8775 if (actionListId) { 8776 stopActionGroup({ 8777 store: store, 8778 actionListId: actionListId 8779 }); 8780 } else { 8781 stopAllActionGroups({ 8782 store: store 8783 }); 8784 } 8785 8786 stopEngine(store); 8787} 8788 8789function handleClearRequest(state, store) { 8790 stopEngine(store); 8791 clearAllStyles({ 8792 store: store, 8793 elementApi: elementApi 8794 }); 8795} // $FlowFixMe 8796 8797 8798function startEngine(_ref9) { 8799 var store = _ref9.store, 8800 rawData = _ref9.rawData, 8801 allowEvents = _ref9.allowEvents, 8802 testManual = _ref9.testManual; 8803 8804 var _store$getState = store.getState(), 8805 ixSession = _store$getState.ixSession; 8806 8807 if (rawData) { 8808 store.dispatch((0, _IX2EngineActions.rawDataImported)(rawData)); 8809 } 8810 8811 if (!ixSession.active) { 8812 store.dispatch((0, _IX2EngineActions.sessionInitialized)({ 8813 hasBoundaryNodes: Boolean(document.querySelector(BOUNDARY_SELECTOR)), 8814 reducedMotion: // $FlowFixMe - Remove this attribute on beta launch 8815 document.body.hasAttribute('data-wf-ix-vacation') && window.matchMedia('(prefers-reduced-motion)').matches 8816 })); 8817 8818 if (allowEvents) { 8819 bindEvents(store); 8820 addDocumentClass(); 8821 8822 if (store.getState().ixSession.hasDefinedMediaQueries) { 8823 observeMediaQueryChange(store); 8824 } 8825 } 8826 8827 store.dispatch((0, _IX2EngineActions.sessionStarted)()); 8828 startRenderLoop(store, testManual); 8829 } 8830} 8831 8832function addDocumentClass() { 8833 var _document = document, 8834 documentElement = _document.documentElement; // $FlowFixMe 8835 8836 if (documentElement.className.indexOf(W_MOD_IX) === -1) { 8837 // $FlowFixMe 8838 documentElement.className += " ".concat(W_MOD_IX); 8839 } 8840} 8841 8842function startRenderLoop(store, testManual) { 8843 var handleFrame = function handleFrame(now) { 8844 var _store$getState2 = store.getState(), 8845 ixSession = _store$getState2.ixSession, 8846 ixParameters = _store$getState2.ixParameters; 8847 8848 if (ixSession.active) { 8849 store.dispatch((0, _IX2EngineActions.animationFrameChanged)(now, ixParameters)); 8850 8851 if (testManual) { 8852 observeOneRenderTick(store, handleFrame); 8853 } else { 8854 requestAnimationFrame(handleFrame); 8855 } 8856 } 8857 }; 8858 8859 handleFrame(window.performance.now()); 8860} // $FlowFixMe 8861 8862 8863function stopEngine(store) { 8864 var _store$getState3 = store.getState(), 8865 ixSession = _store$getState3.ixSession; 8866 8867 if (ixSession.active) { 8868 var eventListeners = ixSession.eventListeners; 8869 eventListeners.forEach(clearEventListener); 8870 store.dispatch((0, _IX2EngineActions.sessionStopped)()); 8871 } 8872} 8873 8874function clearEventListener(_ref10) { 8875 var target = _ref10.target, 8876 listenerParams = _ref10.listenerParams; 8877 target.removeEventListener.apply(target, listenerParams); 8878} 8879 8880function createGroupInstances(_ref11) { 8881 var store = _ref11.store, 8882 eventStateKey = _ref11.eventStateKey, 8883 eventTarget = _ref11.eventTarget, 8884 eventId = _ref11.eventId, 8885 eventConfig = _ref11.eventConfig, 8886 actionListId = _ref11.actionListId, 8887 parameterGroup = _ref11.parameterGroup, 8888 smoothing = _ref11.smoothing, 8889 restingValue = _ref11.restingValue; 8890 8891 var _store$getState4 = store.getState(), 8892 ixData = _store$getState4.ixData, 8893 ixSession = _store$getState4.ixSession; 8894 8895 var events = ixData.events; 8896 var event = events[eventId]; 8897 var eventTypeId = event.eventTypeId; 8898 var targetCache = {}; 8899 var instanceActionGroups = {}; 8900 var instanceConfigs = []; 8901 var continuousActionGroups = parameterGroup.continuousActionGroups; 8902 var parameterId = parameterGroup.id; 8903 8904 if (shouldNamespaceEventParameter(eventTypeId, eventConfig)) { 8905 parameterId = getNamespacedParameterId(eventStateKey, parameterId); 8906 } // Limit affected elements when event target is within a boundary node 8907 8908 8909 var eventElementRoot = ixSession.hasBoundaryNodes && eventTarget ? elementApi.getClosestElement(eventTarget, BOUNDARY_SELECTOR) : null; 8910 continuousActionGroups.forEach(function (actionGroup) { 8911 var keyframe = actionGroup.keyframe, 8912 actionItems = actionGroup.actionItems;
8913 actionItems.forEach(function (actionItem) { 8914 var actionTypeId = actionItem.actionTypeId; 8915 var target = actionItem.config.target; 8916 8917 if (!target) { 8918 return; 8919 } 8920 8921 var elementRoot = target.boundaryMode ? eventElementRoot : null; 8922 var key = stringifyTarget(target) + COLON_DELIMITER + actionTypeId; 8923 instanceActionGroups[key] = appendActionItem(instanceActionGroups[key], keyframe, actionItem); 8924 8925 if (!targetCache[key]) { 8926 targetCache[key] = true; 8927 var config = actionItem.config; 8928 getAffectedElements({ 8929 config: config, 8930 event: event, 8931 eventTarget: eventTarget, 8932 elementRoot: elementRoot, 8933 elementApi: elementApi 8934 }).forEach(function (element) { 8935 instanceConfigs.push({ 8936 element: element, 8937 key: key 8938 }); 8939 }); 8940 } 8941 }); 8942 }); 8943 instanceConfigs.forEach(function (_ref12) { 8944 var element = _ref12.element, 8945 key = _ref12.key; 8946 var actionGroups = instanceActionGroups[key]; 8947 var actionItem = (0, _get["default"])(actionGroups, "[0].actionItems[0]", {}); 8948 var actionTypeId = actionItem.actionTypeId; 8949 var pluginInstance = isPluginType(actionTypeId) ? // $FlowFixMe 8950 createPluginInstance(actionTypeId)(element, actionItem) : null; 8951 var destination = getDestinationValues({ 8952 element: element, 8953 actionItem: actionItem, 8954 elementApi: elementApi 8955 }, // $FlowFixMe 8956 pluginInstance); 8957 createInstance({ 8958 store: store, 8959 element: element, 8960 eventId: eventId, 8961 actionListId: actionListId, 8962 actionItem: actionItem, 8963 destination: destination, 8964 continuous: true, 8965 parameterId: parameterId, 8966 actionGroups: actionGroups, 8967 smoothing: smoothing, 8968 restingValue: restingValue, 8969 pluginInstance: pluginInstance 8970 }); 8971 }); 8972} 8973 8974function appendActionItem() { 8975 var actionGroups = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; 8976 var keyframe = arguments.length > 1 ? arguments[1] : undefined; 8977 var actionItem = arguments.length > 2 ? arguments[2] : undefined; 8978 var newActionGroups = (0, _toConsumableArray2["default"])(actionGroups); 8979 var groupIndex; 8980 newActionGroups.some(function (group, index) { 8981 if (group.keyframe === keyframe) { 8982 groupIndex = index; 8983 return true; 8984 } 8985 8986 return false; 8987 }); 8988 8989 if (groupIndex == null) { 8990 groupIndex = newActionGroups.length; 8991 newActionGroups.push({ 8992 keyframe: keyframe, 8993 actionItems: [] 8994 }); 8995 } 8996 8997 newActionGroups[groupIndex].actionItems.push(actionItem); 8998 return newActionGroups; 8999} 9000 9001function bindEvents(store) { 9002 var _store$getState5 = store.getState(), 9003 ixData = _store$getState5.ixData; 9004 9005 var eventTypeMap = ixData.eventTypeMap; 9006 updateViewportWidth(store); 9007 (0, _forEach["default"])(eventTypeMap, function (events, key) { 9008 var logic = _IX2VanillaEvents["default"][key]; 9009 9010 if (!logic) { 9011 console.warn("IX2 event type not configured: ".concat(key)); 9012 return; 9013 } 9014 9015 bindEventType({ 9016 logic: logic, 9017 store: store, 9018 events: events 9019 }); 9020 }); 9021 9022 var _store$getState6 = store.getState(), 9023 ixSession = _store$getState6.ixSession; 9024 9025 if (ixSession.eventListeners.length) { 9026 bindResizeEvents(store); 9027 } 9028} 9029 9030var WINDOW_RESIZE_EVENTS = ['resize', 'orientationchange']; 9031 9032function bindResizeEvents(store) { 9033 var handleResize = function handleResize() { 9034 updateViewportWidth(store); 9035 }; 9036 9037 WINDOW_RESIZE_EVENTS.forEach(function (type) { 9038 window.addEventListener(type, handleResize); 9039 store.dispatch((0, _IX2EngineActions.eventListenerAdded)(window, [type, handleResize])); 9040 }); 9041 handleResize(); 9042} 9043 9044function updateViewportWidth(store) { 9045 var _store$getState7 = store.getState(), 9046 ixSession = _store$getState7.ixSession, 9047 ixData = _store$getState7.ixData; 9048 9049 var width = window.innerWidth; 9050 9051 if (width !== ixSession.viewportWidth) { 9052 var mediaQueries = ixData.mediaQueries; 9053 store.dispatch((0, _IX2EngineActions.viewportWidthChanged)({ 9054 width: width, 9055 mediaQueries: mediaQueries 9056 })); 9057 } 9058} 9059 9060var mapFoundValues = function mapFoundValues(object, iteratee) { 9061 return (0, _omitBy["default"])((0, _mapValues["default"])(object, iteratee), _isEmpty["default"]); 9062}; 9063
9064var forEachEventTarget = function forEachEventTarget(eventTargets, eventCallback) { 9065 (0, _forEach["default"])(eventTargets, function (elements, eventId) { 9066 elements.forEach(function (element, index) { 9067 var eventStateKey = eventId + COLON_DELIMITER + index; 9068 eventCallback(element, eventId, eventStateKey); 9069 }); 9070 }); 9071}; 9072 9073var getAffectedForEvent = function getAffectedForEvent(event) { 9074 var config = { 9075 target: event.target, 9076 targets: event.targets 9077 }; 9078 return getAffectedElements({ 9079 config: config, 9080 elementApi: elementApi 9081 }); 9082}; 9083 9084function bindEventType(_ref13) { 9085 var logic = _ref13.logic, 9086 store = _ref13.store, 9087 events = _ref13.events; 9088 injectBehaviorCSSFixes(events); 9089 var eventTypes = logic.types, 9090 eventHandler = logic.handler; 9091 9092 var _store$getState8 = store.getState(), 9093 ixData = _store$getState8.ixData; 9094 9095 var actionLists = ixData.actionLists; 9096 var eventTargets = mapFoundValues(events, getAffectedForEvent); 9097 9098 if (!(0, _size["default"])(eventTargets)) { 9099 return; 9100 } 9101 9102 (0, _forEach["default"])(eventTargets, function (elements, key) { 9103 var event = events[key]; 9104 var eventAction = event.action, 9105 eventId = event.id, 9106 _event$mediaQueries = event.mediaQueries, 9107 mediaQueries = _event$mediaQueries === void 0 ? ixData.mediaQueryKeys : _event$mediaQueries; 9108 var actionListId = eventAction.config.actionListId; 9109 9110 if (!mediaQueriesEqual(mediaQueries, ixData.mediaQueryKeys)) { 9111 store.dispatch((0, _IX2EngineActions.mediaQueriesDefined)()); 9112 } 9113 9114 if (eventAction.actionTypeId === _constants.ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) { 9115 var configs = Array.isArray(event.config) ? event.config : [event.config]; 9116 configs.forEach(function (eventConfig) { 9117 var continuousParameterGroupId = eventConfig.continuousParameterGroupId; 9118 var paramGroups = (0, _get["default"])(actionLists, "".concat(actionListId, ".continuousParameterGroups"), []); 9119 var parameterGroup = (0, _find["default"])(paramGroups, function (_ref14) { 9120 var id = _ref14.id; 9121 return id === continuousParameterGroupId; 9122 }); 9123 var smoothing = (eventConfig.smoothing || 0) / 100; 9124 var restingValue = (eventConfig.restingState || 0) / 100; 9125 9126 if (!parameterGroup) { 9127 return; 9128 } 9129 9130 elements.forEach(function (eventTarget, index) { 9131 var eventStateKey = eventId + COLON_DELIMITER + index; 9132 createGroupInstances({ 9133 store: store, 9134 eventStateKey: eventStateKey, 9135 eventTarget: eventTarget, 9136 eventId: eventId, 9137 eventConfig: eventConfig, 9138 actionListId: actionListId, 9139 parameterGroup: parameterGroup, 9140 smoothing: smoothing, 9141 restingValue: restingValue 9142 }); 9143 }); 9144 }); 9145 } 9146 9147 if (eventAction.actionTypeId === _constants.ActionTypeConsts.GENERAL_START_ACTION || isQuickEffect(eventAction.actionTypeId)) { 9148 renderInitialGroup({ 9149 store: store, 9150 actionListId: actionListId, 9151 eventId: eventId 9152 }); 9153 } 9154 }); 9155 9156 var handleEvent = function handleEvent(nativeEvent) { 9157 var _store$getState9 = store.getState(), 9158 ixSession = _store$getState9.ixSession; 9159 9160 forEachEventTarget(eventTargets, function (element, eventId, eventStateKey) { 9161 var event = events[eventId]; 9162 var oldState = ixSession.eventState[eventStateKey]; 9163 var eventAction = event.action, 9164 _event$mediaQueries2 = event.mediaQueries, 9165 mediaQueries = _event$mediaQueries2 === void 0 ? ixData.mediaQueryKeys : _event$mediaQueries2; // Bypass event handler if current media query is not listed in event config 9166 9167 if (!shouldAllowMediaQuery(mediaQueries, ixSession.mediaQueryKey)) { 9168 return; 9169 } 9170 9171 var handleEventWithConfig = function handleEventWithConfig() { 9172 var eventConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; 9173 var newState = eventHandler({ 9174 store: store, 9175 element: element, 9176 event: event, 9177 eventConfig: eventConfig, 9178 nativeEvent: nativeEvent, 9179 eventStateKey: eventStateKey 9180 }, oldState); 9181 9182 if (!shallowEqual(newState, oldState)) { 9183 store.dispatch((0, _IX2EngineActions.eventStateChanged)(eventStateKey, newState)); 9184 } 9185 }; 9186 9187 if (eventAction.actionTypeId === _constants.ActionTypeConsts.GENERAL_CONTINUOUS_ACTION) { 9188 var configs = Array.isArray(event.config) ? event.config : [event.config];
9189 configs.forEach(handleEventWithConfig); 9190 } else { 9191 handleEventWithConfig(); 9192 } 9193 }); 9194 }; 9195 9196 var handleEventThrottled = (0, _throttle["default"])(handleEvent, THROTTLED_EVENT_WAIT); 9197 9198 var addListeners = function addListeners(_ref15) { 9199 var _ref15$target = _ref15.target, 9200 target = _ref15$target === void 0 ? document : _ref15$target, 9201 types = _ref15.types, 9202 shouldThrottle = _ref15.throttle; 9203 types.split(' ').filter(Boolean).forEach(function (type) { 9204 var handlerFunc = shouldThrottle ? handleEventThrottled : handleEvent; // $FlowFixMe 9205 9206 target.addEventListener(type, handlerFunc); 9207 store.dispatch((0, _IX2EngineActions.eventListenerAdded)(target, [type, handlerFunc])); 9208 }); 9209 }; 9210 9211 if (Array.isArray(eventTypes)) { 9212 eventTypes.forEach(addListeners); 9213 } else if (typeof eventTypes === 'string') { 9214 addListeners(logic); 9215 } 9216} 9217/** 9218 * Injects CSS into the document to fix behavior issues across 9219 * different devices. 9220 */ 9221 9222 9223function injectBehaviorCSSFixes(events) { 9224 if (!IS_MOBILE_SAFARI) { 9225 return; 9226 } 9227 9228 var injectedSelectors = {}; 9229 var cssText = ''; 9230 9231 for (var eventId in events) { 9232 var _events$eventId = events[eventId], 9233 eventTypeId = _events$eventId.eventTypeId, 9234 target = _events$eventId.target; 9235 var selector = elementApi.getQuerySelector(target); // $FlowFixMe 9236 9237 if (injectedSelectors[selector]) { 9238 continue; 9239 } // add a "cursor: pointer" style rule to ensure that CLICK events get fired for IOS devices 9240 9241 9242 if (eventTypeId === _constants.EventTypeConsts.MOUSE_CLICK || eventTypeId === _constants.EventTypeConsts.MOUSE_SECOND_CLICK) { 9243 // $FlowFixMe 9244 injectedSelectors[selector] = true; 9245 cssText += // $FlowFixMe 9246 selector + '{' + 'cursor: pointer;' + 'touch-action: manipulation;' + '}'; 9247 } 9248 } 9249 9250 if (cssText) { 9251 var style = document.createElement('style'); 9252 style.textContent = cssText; // $FlowFixMe 9253 9254 document.body.appendChild(style); 9255 } 9256} 9257 9258function renderInitialGroup(_ref16) { 9259 var store = _ref16.store, 9260 actionListId = _ref16.actionListId, 9261 eventId = _ref16.eventId; 9262 9263 var _store$getState10 = store.getState(), 9264 ixData = _store$getState10.ixData, 9265 ixSession = _store$getState10.ixSession; 9266 9267 var actionLists = ixData.actionLists, 9268 events = ixData.events; 9269 var event = events[eventId]; 9270 var actionList = actionLists[actionListId]; 9271 9272 if (actionList && actionList.useFirstGroupAsInitialState) { 9273 var initialStateItems = (0, _get["default"])(actionList, 'actionItemGroups[0].actionItems', []); // Bypass initial state render if current media query is not listed in event config 9274 9275 var mediaQueries = (0, _get["default"])(event, 'mediaQueries', ixData.mediaQueryKeys); 9276 9277 if (!shouldAllowMediaQuery(mediaQueries, ixSession.mediaQueryKey)) { 9278 return; 9279 } 9280 9281 initialStateItems.forEach(function (actionItem) { 9282 var _itemConfig$target; 9283 9284 var itemConfig = actionItem.config, 9285 actionTypeId = actionItem.actionTypeId; 9286 var config = // When useEventTarget is explicitly true, use event target/targets to query elements 9287 (itemConfig === null || itemConfig === void 0 ? void 0 : (_itemConfig$target = itemConfig.target) === null || _itemConfig$target === void 0 ? void 0 : _itemConfig$target.useEventTarget) === true ? { 9288 target: event.target, 9289 targets: event.targets 9290 } : itemConfig; 9291 var itemElements = getAffectedElements({ 9292 config: config, 9293 event: event, 9294 elementApi: elementApi 9295 }); 9296 var shouldUsePlugin = isPluginType(actionTypeId); 9297 itemElements.forEach(function (element) { 9298 var pluginInstance = shouldUsePlugin ? // $FlowFixMe 9299 createPluginInstance(actionTypeId)(element, actionItem) : null; 9300 createInstance({ 9301 destination: getDestinationValues({ 9302 element: element, 9303 actionItem: actionItem, 9304 elementApi: elementApi 9305 }, // $FlowFixMe 9306 pluginInstance), 9307 immediate: true, 9308 store: store, 9309 element: element, 9310 eventId: eventId, 9311 actionItem: actionItem, 9312 actionListId: actionListId, 9313 pluginInstance: pluginInstance 9314 }); 9315 }); 9316 }); 9317 } 9318} // $FlowFixMe 9319 9320 9321function stopAllActionGroups(_ref17) { 9322 var store = _ref17.store; 9323 9324 var _store$getState11 = store.getState(), 9325 ixInstances = _store$getState11.ixInstances; 9326
9327 (0, _forEach["default"])(ixInstances, function (instance) { 9328 if (!instance.continuous) { 9329 var actionListId = instance.actionListId, 9330 verbose = instance.verbose; 9331 removeInstance(instance, store); 9332 9333 if (verbose) { 9334 store.dispatch((0, _IX2EngineActions.actionListPlaybackChanged)({ 9335 actionListId: actionListId, 9336 isPlaying: false 9337 })); 9338 } 9339 } 9340 }); 9341} // $FlowFixMe 9342 9343 9344function stopActionGroup(_ref18) { 9345 var store = _ref18.store, 9346 eventId = _ref18.eventId, 9347 eventTarget = _ref18.eventTarget, 9348 eventStateKey = _ref18.eventStateKey, 9349 actionListId = _ref18.actionListId; 9350 9351 var _store$getState12 = store.getState(), 9352 ixInstances = _store$getState12.ixInstances, 9353 ixSession = _store$getState12.ixSession; // Check for element boundary before stopping engine instances 9354 9355 9356 var eventElementRoot = ixSession.hasBoundaryNodes && eventTarget ? elementApi.getClosestElement(eventTarget, BOUNDARY_SELECTOR) : null; 9357 (0, _forEach["default"])(ixInstances, function (instance) { 9358 var boundaryMode = (0, _get["default"])(instance, 'actionItem.config.target.boundaryMode'); // Validate event key if eventStateKey was provided, otherwise default to true 9359 9360 var validEventKey = eventStateKey ? instance.eventStateKey === eventStateKey : true; // Remove engine instances that match the required ids 9361 9362 if (instance.actionListId === actionListId && instance.eventId === eventId && validEventKey) { 9363 // Avoid removal when root boundary does not contain instance element 9364 if (eventElementRoot && boundaryMode && !elementApi.elementContains(eventElementRoot, instance.element)) { 9365 return; 9366 } 9367 9368 removeInstance(instance, store); 9369 9370 if (instance.verbose) { 9371 store.dispatch((0, _IX2EngineActions.actionListPlaybackChanged)({ 9372 actionListId: actionListId, 9373 isPlaying: false 9374 })); 9375 } 9376 } 9377 }); 9378} // $FlowFixMe 9379 9380 9381function startActionGroup(_ref19) { 9382 var store = _ref19.store, 9383 eventId = _ref19.eventId, 9384 eventTarget = _ref19.eventTarget, 9385 eventStateKey = _ref19.eventStateKey, 9386 actionListId = _ref19.actionListId, 9387 _ref19$groupIndex = _ref19.groupIndex, 9388 groupIndex = _ref19$groupIndex === void 0 ? 0 : _ref19$groupIndex, 9389 immediate = _ref19.immediate, 9390 verbose = _ref19.verbose; 9391 9392 var _event$action; 9393 9394 var _store$getState13 = store.getState(), 9395 ixData = _store$getState13.ixData, 9396 ixSession = _store$getState13.ixSession; 9397 9398 var events = ixData.events; 9399 var event = events[eventId] || {}; 9400 var _event$mediaQueries3 = event.mediaQueries, 9401 mediaQueries = _event$mediaQueries3 === void 0 ? ixData.mediaQueryKeys : _event$mediaQueries3; 9402 var actionList = (0, _get["default"])(ixData, "actionLists.".concat(actionListId), {}); 9403 var actionItemGroups = actionList.actionItemGroups, 9404 useFirstGroupAsInitialState = actionList.useFirstGroupAsInitialState; // Abort playback if no action groups 9405 9406 if (!actionItemGroups || !actionItemGroups.length) { 9407 return false; 9408 } // Reset to first group when event loop is configured 9409 9410 9411 if (groupIndex >= actionItemGroups.length && (0, _get["default"])(event, 'config.loop')) { 9412 groupIndex = 0; 9413 } // Skip initial state group during action list playback, as it should already be applied 9414 9415 9416 if (groupIndex === 0 && useFirstGroupAsInitialState) { 9417 groupIndex++; 9418 } // Identify first animated group and apply the initial QuickEffect delay 9419 9420 9421 var isFirstGroup = groupIndex === 0 || groupIndex === 1 && useFirstGroupAsInitialState; 9422 var instanceDelay = isFirstGroup && isQuickEffect((_event$action = event.action) === null || _event$action === void 0 ? void 0 : _event$action.actionTypeId) ? event.config.delay : undefined; // Abort playback if no action items exist at group index 9423 9424 var actionItems = (0, _get["default"])(actionItemGroups, [groupIndex, 'actionItems'], []); 9425 9426 if (!actionItems.length) { 9427 return false; 9428 } // Abort playback if current media query is not listed in event config 9429 9430 9431 if (!shouldAllowMediaQuery(mediaQueries, ixSession.mediaQueryKey)) { 9432 return false;
9433 } // Limit affected elements when event target is within a boundary node 9434 9435 9436 var eventElementRoot = ixSession.hasBoundaryNodes && eventTarget ? elementApi.getClosestElement(eventTarget, BOUNDARY_SELECTOR) : null; 9437 var carrierIndex = getMaxDurationItemIndex(actionItems); 9438 var groupStartResult = false; 9439 actionItems.forEach(function (actionItem, actionIndex) { 9440 var config = actionItem.config, 9441 actionTypeId = actionItem.actionTypeId; 9442 var shouldUsePlugin = isPluginType(actionTypeId); 9443 var target = config.target; 9444 9445 if (!target) { 9446 return; 9447 } 9448 9449 var elementRoot = target.boundaryMode ? eventElementRoot : null; 9450 var elements = getAffectedElements({ 9451 config: config, 9452 event: event, 9453 eventTarget: eventTarget, 9454 elementRoot: elementRoot, 9455 elementApi: elementApi 9456 }); 9457 elements.forEach(function (element, elementIndex) { 9458 var pluginInstance = shouldUsePlugin ? // $FlowFixMe 9459 createPluginInstance(actionTypeId)(element, actionItem) : null; 9460 var pluginDuration = shouldUsePlugin ? // $FlowFixMe 9461 getPluginDuration(actionTypeId)(element, actionItem) : null; 9462 groupStartResult = true; 9463 var isCarrier = carrierIndex === actionIndex && elementIndex === 0; 9464 var computedStyle = getComputedStyle({ 9465 element: element, 9466 actionItem: actionItem 9467 }); 9468 var destination = getDestinationValues({ 9469 element: element, 9470 actionItem: actionItem, 9471 elementApi: elementApi 9472 }, // $FlowFixMe 9473 pluginInstance); 9474 createInstance({ 9475 store: store, 9476 element: element, 9477 actionItem: actionItem, 9478 eventId: eventId, 9479 eventTarget: eventTarget, 9480 eventStateKey: eventStateKey, 9481 actionListId: actionListId, 9482 groupIndex: groupIndex, 9483 isCarrier: isCarrier, 9484 computedStyle: computedStyle, 9485 destination: destination, 9486 immediate: immediate, 9487 verbose: verbose, 9488 pluginInstance: pluginInstance, 9489 pluginDuration: pluginDuration, 9490 instanceDelay: instanceDelay 9491 }); 9492 }); 9493 }); 9494 return groupStartResult; 9495} 9496 9497function createInstance(options) { 9498 var _ixData$events$eventI; // $FlowFixMe 9499 9500 9501 var store = options.store, 9502 computedStyle = options.computedStyle, 9503 rest = (0, _objectWithoutPropertiesLoose2["default"])(options, ["store", "computedStyle"]); 9504 var element = rest.element, 9505 actionItem = rest.actionItem, 9506 immediate = rest.immediate, 9507 pluginInstance = rest.pluginInstance, 9508 continuous = rest.continuous, 9509 restingValue = rest.restingValue, 9510 eventId = rest.eventId; 9511 var autoStart = !continuous; 9512 var instanceId = getInstanceId(); 9513 9514 var _store$getState14 = store.getState(), 9515 ixElements = _store$getState14.ixElements, 9516 ixSession = _store$getState14.ixSession, 9517 ixData = _store$getState14.ixData; 9518 9519 var elementId = getElementId(ixElements, element); 9520 9521 var _ref20 = ixElements[elementId] || {}, 9522 refState = _ref20.refState; 9523 9524 var refType = elementApi.getRefType(element); 9525 var skipMotion = ixSession.reducedMotion && _constants.ReducedMotionTypes[actionItem.actionTypeId]; 9526 var skipToValue; 9527 9528 if (skipMotion && continuous) { 9529 switch ((_ixData$events$eventI = ixData.events[eventId]) === null || _ixData$events$eventI === void 0 ? void 0 : _ixData$events$eventI.eventTypeId) { 9530 case _constants.EventTypeConsts.MOUSE_MOVE: 9531 case _constants.EventTypeConsts.MOUSE_MOVE_IN_VIEWPORT: 9532 skipToValue = restingValue; 9533 break; 9534 9535 default: 9536 skipToValue = 0.5; 9537 break; 9538 } 9539 } 9540 9541 var origin = getInstanceOrigin(element, refState, computedStyle, actionItem, elementApi, // $FlowFixMe 9542 pluginInstance); 9543 store.dispatch((0, _IX2EngineActions.instanceAdded)((0, _extends2["default"])({ 9544 instanceId: instanceId, 9545 elementId: elementId, 9546 origin: origin, 9547 refType: refType, 9548 skipMotion: skipMotion, 9549 skipToValue: skipToValue 9550 }, rest))); 9551 dispatchCustomEvent(document.body, 'ix2-animation-started', instanceId); 9552 9553 if (immediate) { 9554 renderImmediateInstance(store, instanceId); 9555 return; 9556 } 9557 9558 observeStore({ 9559 store: store, 9560 select: function select(_ref21) {
9561 var ixInstances = _ref21.ixInstances; 9562 return ixInstances[instanceId]; 9563 }, 9564 onChange: handleInstanceChange 9565 }); 9566 9567 if (autoStart) { 9568 store.dispatch((0, _IX2EngineActions.instanceStarted)(instanceId, ixSession.tick)); 9569 } 9570} 9571 9572function removeInstance(instance, store) { 9573 dispatchCustomEvent(document.body, 'ix2-animation-stopping', { 9574 instanceId: instance.id, 9575 state: store.getState() 9576 }); 9577 var elementId = instance.elementId, 9578 actionItem = instance.actionItem; 9579 9580 var _store$getState15 = store.getState(), 9581 ixElements = _store$getState15.ixElements; 9582 9583 var _ref22 = ixElements[elementId] || {}, 9584 ref = _ref22.ref, 9585 refType = _ref22.refType; 9586 9587 if (refType === HTML_ELEMENT) { 9588 cleanupHTMLElement(ref, actionItem, elementApi); 9589 } 9590 9591 store.dispatch((0, _IX2EngineActions.instanceRemoved)(instance.id)); 9592} 9593 9594function dispatchCustomEvent(element, eventName, detail) { 9595 var event = document.createEvent('CustomEvent'); 9596 event.initCustomEvent(eventName, true, true, detail); // $FlowFixMe 9597 9598 element.dispatchEvent(event); 9599} 9600 9601function renderImmediateInstance(store, instanceId) { 9602 var _store$getState16 = store.getState(), 9603 ixParameters = _store$getState16.ixParameters; 9604 9605 store.dispatch((0, _IX2EngineActions.instanceStarted)(instanceId, 0)); 9606 store.dispatch((0, _IX2EngineActions.animationFrameChanged)(performance.now(), ixParameters)); 9607 9608 var _store$getState17 = store.getState(), 9609 ixInstances = _store$getState17.ixInstances; 9610 9611 handleInstanceChange(ixInstances[instanceId], store); 9612} 9613 9614function handleInstanceChange(instance, store) { 9615 var active = instance.active, 9616 continuous = instance.continuous, 9617 complete = instance.complete, 9618 elementId = instance.elementId, 9619 actionItem = instance.actionItem, 9620 actionTypeId = instance.actionTypeId, 9621 renderType = instance.renderType, 9622 current = instance.current, 9623 groupIndex = instance.groupIndex, 9624 eventId = instance.eventId, 9625 eventTarget = instance.eventTarget, 9626 eventStateKey = instance.eventStateKey, 9627 actionListId = instance.actionListId, 9628 isCarrier = instance.isCarrier, 9629 styleProp = instance.styleProp, 9630 verbose = instance.verbose, 9631 pluginInstance = instance.pluginInstance; // Bypass render if current media query is not listed in event config 9632 9633 var _store$getState18 = store.getState(), 9634 ixData = _store$getState18.ixData, 9635 ixSession = _store$getState18.ixSession; 9636 9637 var events = ixData.events; 9638 var event = events[eventId] || {}; 9639 var _event$mediaQueries4 = event.mediaQueries, 9640 mediaQueries = _event$mediaQueries4 === void 0 ? ixData.mediaQueryKeys : _event$mediaQueries4; 9641 9642 if (!shouldAllowMediaQuery(mediaQueries, ixSession.mediaQueryKey)) { 9643 return; 9644 } 9645 9646 if (continuous || active || complete) { 9647 if (current || renderType === RENDER_GENERAL && complete) { 9648 // Render current values to ref state and grab latest 9649 store.dispatch((0, _IX2EngineActions.elementStateChanged)(elementId, actionTypeId, current, actionItem)); 9650 9651 var _store$getState19 = store.getState(), 9652 ixElements = _store$getState19.ixElements; 9653 9654 var _ref23 = ixElements[elementId] || {}, 9655 ref = _ref23.ref, 9656 refType = _ref23.refType, 9657 refState = _ref23.refState; 9658 9659 var actionState = refState && refState[actionTypeId]; // Choose render based on ref type 9660 9661 switch (refType) { 9662 case HTML_ELEMENT: 9663 { 9664 renderHTMLElement(ref, refState, actionState, eventId, actionItem, styleProp, elementApi, renderType, pluginInstance); 9665 break; 9666 } 9667 } 9668 } 9669 9670 if (complete) { 9671 if (isCarrier) { 9672 var started = startActionGroup({ 9673 store: store, 9674 eventId: eventId, 9675 eventTarget: eventTarget, 9676 eventStateKey: eventStateKey, 9677 actionListId: actionListId, 9678 groupIndex: groupIndex + 1, 9679 verbose: verbose 9680 }); 9681 9682 if (verbose && !started) { 9683 store.dispatch((0, _IX2EngineActions.actionListPlaybackChanged)({ 9684 actionListId: actionListId, 9685 isPlaying: false 9686 })); 9687 } 9688 } 9689 9690 removeInstance(instance, store); 9691 } 9692 } 9693} 9694 9695/***/ }), 9696/* 186 */ 9697/***/ (function(module, exports, __webpack_require__) { 9698 9699var defineProperty = __webpack_require__(187); 9700 9701/** 9702 * The base implementation of `assignValue` and `assignMergeValue` without 9703 * value checks. 9704 * 9705 * @private 9706 * @param {Object} object The object to modify. 9707 * @param {string} key The key of the property to assign. 9708 * @param {*} value The value to assign. 9709 */ 9710function baseAssignValue(object, key, value) { 9711 if (key == '__proto__' && defineProperty) { 9712 defineProperty(object, key, { 9713 'configurable': true, 9714 'enumerable': true, 9715 'value': value, 9716 'writable': true 9717 }); 9718 } else { 9719 object[key] = value; 9720 } 9721} 9722 9723module.exports = baseAssignValue; 9724 9725 9726/***/ }), 9727/* 187 */ 9728/***/ (function(module, exports, __webpack_require__) { 9729 9730var getNative = __webpack_require__(29); 9731 9732var defineProperty = (function() { 9733 try { 9734 var func = getNative(Object, 'defineProperty'); 9735 func({}, '', {}); 9736 return func; 9737 } catch (e) {} 9738}()); 9739 9740module.exports = defineProperty; 9741 9742 9743/***/ }), 9744/* 188 */ 9745/***/ (function(module, exports, __webpack_require__) { 9746 9747var isObject = __webpack_require__(23); 9748 9749/** Built-in value references. */ 9750var objectCreate = Object.create; 9751 9752/** 9753 * The base implementation of `_.create` without support for assigning 9754 * properties to the created object. 9755 * 9756 * @private 9757 * @param {Object} proto The object to inherit from. 9758 * @returns {Object} Returns the new object. 9759 */ 9760var baseCreate = (function() { 9761 function object() {} 9762 return function(proto) { 9763 if (!isObject(proto)) { 9764 return {}; 9765 } 9766 if (objectCreate) { 9767 return objectCreate(proto); 9768 } 9769 object.prototype = proto; 9770 var result = new object; 9771 object.prototype = undefined; 9772 return result; 9773 }; 9774}()); 9775 9776module.exports = baseCreate; 9777 9778 9779/***/ }), 9780/* 189 */ 9781/***/ (function(module, exports, __webpack_require__) { 9782 9783var metaMap = __webpack_require__(454), 9784 noop = __webpack_require__(455); 9785 9786/** 9787 * Gets metadata for `func`. 9788 * 9789 * @private 9790 * @param {Function} func The function to query. 9791 * @returns {*} Returns the metadata for `func`. 9792 */ 9793var getData = !metaMap ? noop : function(func) { 9794 return metaMap.get(func); 9795}; 9796 9797module.exports = getData; 9798 9799 9800/***/ }), 9801/* 190 */ 9802/***/ (function(module, exports, __webpack_require__) { 9803 9804var realNames = __webpack_require__(456); 9805 9806/** Used for built-in method references. */ 9807var objectProto = Object.prototype; 9808 9809/** Used to check objects for own properties. */ 9810var hasOwnProperty = objectProto.hasOwnProperty; 9811 9812/** 9813 * Gets the name of `func`. 9814 * 9815 * @private 9816 * @param {Function} func The function to query. 9817 * @returns {string} Returns the function name. 9818 */ 9819function getFuncName(func) { 9820 var result = (func.name + ''), 9821 array = realNames[result], 9822 length = hasOwnProperty.call(realNames, result) ? array.length : 0; 9823 9824 while (length--) { 9825 var data = array[length], 9826 otherFunc = data.func; 9827 if (otherFunc == null || otherFunc == func) { 9828 return data.name; 9829 } 9830 } 9831 return result; 9832} 9833 9834module.exports = getFuncName; 9835 9836 9837/***/ }), 9838/* 191 */ 9839/***/ (function(module, exports, __webpack_require__) { 9840 9841__webpack_require__(192); 9842__webpack_require__(361); 9843__webpack_require__(362); 9844__webpack_require__(363); 9845__webpack_require__(364); 9846__webpack_require__(365); 9847__webpack_require__(366); 9848__webpack_require__(367); 9849__webpack_require__(56); 9850__webpack_require__(369); 9851__webpack_require__(463); 9852__webpack_require__(464); 9853__webpack_require__(465); 9854__webpack_require__(466); 9855__webpack_require__(467); 9856__webpack_require__(472); 9857__webpack_require__(473); 9858module.exports = __webpack_require__(474); 9859 9860 9861/***/ }), 9862/* 192 */ 9863/***/ (function(module, exports, __webpack_require__) { 9864 9865"use strict"; 9866 // @wf-will-never-add-flow-to-this-file 9867 9868/* eslint-disable no-var */ 9869 9870var Webflow = __webpack_require__(10); 9871 9872var lottieSiteModule = __webpack_require__(194); 9873 9874var lottie = __webpack_require__(360); 9875 9876Webflow.define('lottie', module.exports = function () { 9877 return { 9878 lottie: lottie, 9879 createInstance: lottieSiteModule.createInstance, 9880 cleanupElement: lottieSiteModule.cleanupElement, 9881 init: lottieSiteModule.init, 9882 destroy: lottieSiteModule.destroy, 9883 ready: lottieSiteModule.ready 9884 }; 9885}); 9886 9887/***/ }), 9888/* 193 */ 9889/***/ (function(module, exports, __webpack_require__) { 9890 9891"use strict"; 9892 // @wf-will-never-add-flow-to-this-file 9893// Include tram for frame-throttling 9894 9895/* globals window */ 9896 9897/* eslint-disable no-var */ 9898 9899var $ = window.$; 9900var tram = __webpack_require__(125) && $.tram; 9901/*! 9902 * Webflow._ (aka) Underscore.js 1.6.0 (custom build) 9903 * _.each 9904 * _.map 9905 * _.find 9906 * _.filter 9907 * _.any 9908 * _.contains 9909 * _.delay 9910 * _.defer 9911 * _.throttle (webflow) 9912 * _.debounce 9913 * _.keys 9914 * _.has 9915 * _.now 9916 * 9917 * http://underscorejs.org
9918 * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors 9919 * Underscore may be freely distributed under the MIT license. 9920 * @license MIT 9921 */ 9922 9923module.exports = function () { 9924 var _ = {}; // Current version. 9925 9926 _.VERSION = '1.6.0-Webflow'; // Establish the object that gets returned to break out of a loop iteration. 9927 9928 var breaker = {}; // Save bytes in the minified (but not gzipped) version: 9929 9930 /* eslint-disable one-var */ 9931 9932 var ArrayProto = Array.prototype, 9933 ObjProto = Object.prototype, 9934 FuncProto = Function.prototype; 9935 /* eslint-enable one-var */ 9936 // Create quick reference variables for speed access to core prototypes. 9937 9938 /* eslint-disable one-var, no-unused-vars */ 9939 9940 var push = ArrayProto.push, 9941 slice = ArrayProto.slice, 9942 concat = ArrayProto.concat, 9943 toString = ObjProto.toString, 9944 hasOwnProperty = ObjProto.hasOwnProperty; 9945 /* eslint-enable one-var, no-unused-vars */ 9946 // All **ECMAScript 5** native function implementations that we hope to use 9947 // are declared here. 9948 9949 /* eslint-disable one-var, no-unused-vars */ 9950 9951 var nativeForEach = ArrayProto.forEach, 9952 nativeMap = ArrayProto.map, 9953 nativeReduce = ArrayProto.reduce, 9954 nativeReduceRight = ArrayProto.reduceRight, 9955 nativeFilter = ArrayProto.filter, 9956 nativeEvery = ArrayProto.every, 9957 nativeSome = ArrayProto.some, 9958 nativeIndexOf = ArrayProto.indexOf, 9959 nativeLastIndexOf = ArrayProto.lastIndexOf, 9960 nativeIsArray = Array.isArray, 9961 nativeKeys = Object.keys, 9962 nativeBind = FuncProto.bind; 9963 /* eslint-enable one-var, no-unused-vars */ 9964 // Collection Functions 9965 // -------------------- 9966 // The cornerstone, an `each` implementation, aka `forEach`. 9967 // Handles objects with the built-in `forEach`, arrays, and raw objects. 9968 // Delegates to **ECMAScript 5**'s native `forEach` if available. 9969 9970 var each = _.each = _.forEach = function (obj, iterator, context) { 9971 /* jshint shadow:true */ 9972 if (obj == null) return obj; 9973 9974 if (nativeForEach && obj.forEach === nativeForEach) { 9975 obj.forEach(iterator, context); // eslint-disable-next-line no-implicit-coercion 9976 } else if (obj.length === +obj.length) { 9977 for (var i = 0, length = obj.length; i < length; i++) { 9978 if (iterator.call(context, obj[i], i, obj) === breaker) return; 9979 } 9980 } else { 9981 var keys = _.keys(obj); // eslint-disable-next-line no-redeclare 9982 9983 9984 for (var i = 0, length = keys.length; i < length; i++) { 9985 if (iterator.call(context, obj[keys[i]], keys[i], obj) === breaker) return; 9986 } 9987 } 9988 9989 return obj; 9990 }; // Return the results of applying the iterator to each element. 9991 // Delegates to **ECMAScript 5**'s native `map` if available. 9992 9993 9994 _.map = _.collect = function (obj, iterator, context) { 9995 var results = []; 9996 if (obj == null) return results; 9997 if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); 9998 each(obj, function (value, index, list) { 9999 results.push(iterator.call(context, value, index, list)); 10000 }); 10001 return results; 10002 }; // Return the first value which passes a truth test. Aliased as `detect`. 10003 10004 10005 _.find = _.detect = function (obj, predicate, context) { 10006 var result; 10007 any(obj, function (value, index, list) { 10008 if (predicate.call(context, value, index, list)) { 10009 result = value; 10010 return true; 10011 } 10012 }); 10013 return result; 10014 }; // Return all the elements that pass a truth test. 10015 // Delegates to **ECMAScript 5**'s native `filter` if available. 10016 // Aliased as `select`. 10017 10018 10019 _.filter = _.select = function (obj, predicate, context) { 10020 var results = []; 10021 if (obj == null) return results; 10022 if (nativeFilter && obj.filter === nativeFilter) return obj.filter(predicate, context); 10023 each(obj, function (value, index, list) { 10024 if (predicate.call(context, value, index, list)) results.push(value); 10025 }); 10026 return results; 10027 }; // Determine if at least one element in the object matches a truth test. 10028 // Delegates to **ECMAScript 5**'s native `some` if available. 10029 // Aliased as `any`. 10030 10031 10032 var any = _.some = _.any = function (obj, predicate, context) { 10033 predicate || (predicate = _.identity); 10034 var result = false;
10035 if (obj == null) return result; 10036 if (nativeSome && obj.some === nativeSome) return obj.some(predicate, context); 10037 each(obj, function (value, index, list) { 10038 if (result || (result = predicate.call(context, value, index, list))) return breaker; 10039 }); 10040 return !!result; // eslint-disable-line no-implicit-coercion 10041 }; // Determine if the array or object contains a given value (using `===`). 10042 // Aliased as `include`. 10043 10044 10045 _.contains = _.include = function (obj, target) { 10046 if (obj == null) return false; 10047 if (nativeIndexOf && obj.indexOf === nativeIndexOf) // eslint-disable-next-line eqeqeq 10048 return obj.indexOf(target) != -1; 10049 return any(obj, function (value) { 10050 return value === target; 10051 }); 10052 }; // Function (ahem) Functions 10053 // -------------------- 10054 // Delays a function for the given number of milliseconds, and then calls 10055 // it with the arguments supplied. 10056 10057 10058 _.delay = function (func, wait) { 10059 var args = slice.call(arguments, 2); 10060 return setTimeout(function () { 10061 return func.apply(null, args); 10062 }, wait); 10063 }; // Defers a function, scheduling it to run after the current call stack has 10064 // cleared. 10065 10066 10067 _.defer = function (func) { 10068 return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); 10069 }; // Returns a function, that, when invoked, will only be triggered once every 10070 // browser animation frame - using tram's requestAnimationFrame polyfill. 10071 10072 10073 _.throttle = function (func) { 10074 // eslint-disable-next-line one-var 10075 var wait, args, context; 10076 return function () { 10077 if (wait) return; 10078 wait = true; 10079 args = arguments; 10080 context = this; 10081 tram.frame(function () { 10082 wait = false; 10083 func.apply(context, args); 10084 }); 10085 }; 10086 }; // Returns a function, that, as long as it continues to be invoked, will not 10087 // be triggered. The function will be called after it stops being called for 10088 // N milliseconds. If `immediate` is passed, trigger the function on the 10089 // leading edge, instead of the trailing. 10090 10091 10092 _.debounce = function (func, wait, immediate) { 10093 // eslint-disable-next-line one-var 10094 var timeout, args, context, timestamp, result; 10095 10096 var later = function later() { 10097 var last = _.now() - timestamp; 10098 10099 if (last < wait) { 10100 timeout = setTimeout(later, wait - last); 10101 } else { 10102 timeout = null; 10103 10104 if (!immediate) { 10105 result = func.apply(context, args); 10106 context = args = null; 10107 } 10108 } 10109 }; 10110 10111 return function () { 10112 context = this; 10113 args = arguments; 10114 timestamp = _.now(); 10115 var callNow = immediate && !timeout; 10116 10117 if (!timeout) { 10118 timeout = setTimeout(later, wait); 10119 } 10120 10121 if (callNow) { 10122 result = func.apply(context, args); 10123 context = args = null; 10124 } 10125 10126 return result; 10127 }; 10128 }; // Object Functions 10129 // ---------------- 10130 // Fill in a given object with default properties. 10131 10132 10133 _.defaults = function (obj) { 10134 if (!_.isObject(obj)) return obj; 10135 10136 for (var i = 1, length = arguments.length; i < length; i++) { 10137 var source = arguments[i]; 10138 10139 for (var prop in source) { 10140 // eslint-disable-next-line no-void 10141 if (obj[prop] === void 0) obj[prop] = source[prop]; 10142 } 10143 } 10144 10145 return obj; 10146 }; // Retrieve the names of an object's properties. 10147 // Delegates to **ECMAScript 5**'s native `Object.keys` 10148 10149 10150 _.keys = function (obj) { 10151 if (!_.isObject(obj)) return []; 10152 if (nativeKeys) return nativeKeys(obj); 10153 var keys = []; 10154 10155 for (var key in obj) { 10156 if (_.has(obj, key)) keys.push(key); 10157 } 10158 10159 return keys; 10160 }; // Shortcut function for checking if an object has a given property directly 10161 // on itself (in other words, not on a prototype). 10162 10163 10164 _.has = function (obj, key) { 10165 return hasOwnProperty.call(obj, key); 10166 }; // Is a given variable an object? 10167 10168 10169 _.isObject = function (obj) { 10170 return obj === Object(obj); 10171 }; // Utility Functions 10172 // ----------------- 10173 // A (possibly faster) way to get the current timestamp as an integer. 10174 10175 10176 _.now = Date.now || function () { 10177 return new Date().getTime(); 10178 }; // By default, Underscore uses ERB-style template delimiters, change the 10179 // following template settings to use alternative delimiters. 10180 10181 10182 _.templateSettings = { 10183 evaluate: /<%([\s\S]+?)%>/g, 10184 interpolate: /<%=([\s\S]+?)%>/g, 10185 escape: /<%-([\s\S]+?)%>/g 10186 }; // When customizing `templateSettings`, if you don't want to define an 10187 // interpolation, evaluation or escaping regex, we need one that is 10188 // guaranteed not to match. 10189 10190 var noMatch = /(.)^/; // Certain characters need to be escaped so that they can be put into a 10191 // string literal. 10192 10193 var escapes = { 10194 "'": "'", 10195 '\\': '\\', 10196 '\r': 'r', 10197 '\n': 'n', 10198 "\u2028": 'u2028', 10199 "\u2029": 'u2029' 10200 }; 10201 var escaper = /\\|'|\r|\n|\u2028|\u2029/g; 10202 10203 var escapeChar = function escapeChar(match) { 10204 return '\\' + escapes[match]; 10205 }; // JavaScript micro-templating, similar to John Resig's implementation. 10206 // Underscore templating handles arbitrary delimiters, preserves whitespace, 10207 // and correctly escapes quotes within interpolated code. 10208 // NB: `oldSettings` only exists for backwards compatibility. 10209 10210 10211 _.template = function (text, settings, oldSettings) { 10212 if (!settings && oldSettings) settings = oldSettings; 10213 settings = _.defaults({}, settings, _.templateSettings); // Combine delimiters into one regular expression via alternation. 10214 10215 var matcher = RegExp([(settings.escape || noMatch).source, (settings.interpolate || noMatch).source, (settings.evaluate || noMatch).source].join('|') + '|$', 'g'); // Compile the template source, escaping string literals appropriately. 10216 10217 var index = 0; 10218 var source = "__p+='"; 10219 text.replace(matcher, function (match, escape, interpolate, evaluate, offset) { 10220 source += text.slice(index, offset).replace(escaper, escapeChar); 10221 index = offset + match.length; 10222 10223 if (escape) { 10224 source += "'+\n((__t=(" + escape + "))==null?'':_.escape(__t))+\n'"; 10225 } else if (interpolate) { 10226 source += "'+\n((__t=(" + interpolate + "))==null?'':__t)+\n'";
10227 } else if (evaluate) { 10228 source += "';\n" + evaluate + "\n__p+='"; 10229 } // Adobe VMs need the match returned to produce the correct offest. 10230 10231 10232 return match; 10233 }); 10234 source += "';\n"; // If a variable is not specified, place data values in local scope. 10235 10236 if (!settings.variable) source = 'with(obj||{}){\n' + source + '}\n'; 10237 source = "var __t,__p='',__j=Array.prototype.join," + "print=function(){__p+=__j.call(arguments,'');};\n" + source + 'return __p;\n'; 10238 10239 try { 10240 // eslint-disable-next-line no-new-func 10241 var render = new Function(settings.variable || 'obj', '_', source); 10242 } catch (e) { 10243 e.source = source; 10244 throw e; 10245 } 10246 10247 var template = function template(data) { 10248 return render.call(this, data, _); 10249 }; // Provide the compiled source as a convenience for precompilation. 10250 10251 10252 var argument = settings.variable || 'obj'; 10253 template.source = 'function(' + argument + '){\n' + source + '}'; 10254 return template; 10255 }; // Export underscore 10256 10257 10258 return _; 10259}(); 10260/* eslint-enable */ 10261 10262/***/ }), 10263/* 194 */ 10264/***/ (function(module, exports, __webpack_require__) { 10265 10266"use strict"; 10267 10268 10269var _interopRequireDefault2 = __webpack_require__(3); 10270 10271var _classCallCheck2 = _interopRequireDefault2(__webpack_require__(195)); 10272 10273var _createClass2 = _interopRequireDefault2(__webpack_require__(196)); 10274 10275var _interopRequireDefault = __webpack_require__(3); 10276 10277Object.defineProperty(exports, "__esModule", { 10278 value: true 10279}); 10280exports.ready = exports.destroy = exports.init = exports.cleanupElement = exports.createInstance = void 0; 10281 10282var _extends2 = _interopRequireDefault(__webpack_require__(46)); 10283 10284var _defineProperty2 = _interopRequireDefault(__webpack_require__(38)); 10285 10286var _findIndex = _interopRequireDefault(__webpack_require__(126)); 10287 10288__webpack_require__(265); 10289/* eslint-env browser */ 10290 10291 10292var getLottieLibrary = function getLottieLibrary() { 10293 return window.Webflow.require('lottie').lottie; 10294}; 10295 10296var isInDesigner = function isInDesigner() { 10297 return Boolean(window.Webflow.env('design') || window.Webflow.env('preview')); 10298}; 10299 10300var PlayerState = { 10301 Playing: 'playing', 10302 Stopped: 'stopped' 10303}; 10304 10305var Cache = 10306/*#__PURE__*/ 10307function () { 10308 function Cache() { 10309 (0, _classCallCheck2["default"])(this, Cache); 10310 (0, _defineProperty2["default"])(this, "_cache", []); 10311 } 10312 10313 (0, _createClass2["default"])(Cache, [{ 10314 key: "set", 10315 value: function set(container, instance) { 10316 var index = (0, _findIndex["default"])(this._cache, function (_ref) { 10317 var wrapper = _ref.wrapper; 10318 return wrapper === container; 10319 }); 10320 if (index !== -1) this._cache.splice(index, 1); 10321 10322 this._cache.push({ 10323 wrapper: container, 10324 instance: instance 10325 }); 10326 } 10327 }, { 10328 key: "delete", 10329 value: function _delete(container) { 10330 var index = (0, _findIndex["default"])(this._cache, function (_ref2) { 10331 var wrapper = _ref2.wrapper; 10332 return wrapper === container; 10333 }); 10334 if (index !== -1) this._cache.splice(index, 1); 10335 } 10336 }, { 10337 key: "get", 10338 value: function get(container) { 10339 var index = (0, _findIndex["default"])(this._cache, function (_ref3) { 10340 var wrapper = _ref3.wrapper; 10341 return wrapper === container; 10342 }); 10343 return index !== -1 ? this._cache[index].instance : null; 10344 } 10345 }]); 10346 return Cache; 10347}(); 10348 10349var cache = new Cache(); 10350var emptyObject = {}; 10351 10352var LottieInstance = 10353/*#__PURE__*/ 10354function () { 10355 function LottieInstance() { 10356 (0, _classCallCheck2["default"])(this, LottieInstance); 10357 (0, _defineProperty2["default"])(this, "config", null); 10358 (0, _defineProperty2["default"])(this, "currentState", PlayerState.Stopped); 10359 (0, _defineProperty2["default"])(this, "handlers", { 10360 enterFrame: [], 10361 complete: [], 10362 loop: [], 10363 dataReady: [], 10364 destroy: [], 10365 error: [] 10366 }); 10367 } 10368 10369 (0, _createClass2["default"])(LottieInstance, [{ 10370 key: "load", 10371 value: function load(container) { 10372 var _this = this; 10373 10374 var dataset = container.dataset || emptyObject; 10375 var src = dataset.src || ''; // Available options here https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/preserveAspectRatio 10376 10377 var preserveAspectRatio = dataset.preserveAspectRatio || 'xMidYMid meet'; 10378 var renderer = dataset.renderer || 'svg'; 10379 var loop = parseFloat(dataset.loop) === 1; 10380 var direction = parseFloat(dataset.direction) || 1; 10381 var autoplay = parseFloat(dataset.autoplay) === 1; 10382 var duration = parseFloat(dataset.duration) || 0; 10383 var hasIx2 = parseFloat(dataset.isIx2Target) === 1; 10384 var ix2InitialValue = parseFloat(dataset.ix2InitialState); 10385 10386 if (isNaN(ix2InitialValue)) { 10387 ix2InitialValue = null; 10388 } 10389 10390 var config = { 10391 src: src, 10392 loop: loop, 10393 autoplay: autoplay, 10394 renderer: renderer, 10395 direction: direction, 10396 duration: duration, 10397 hasIx2: hasIx2, 10398 ix2InitialValue: ix2InitialValue, 10399 preserveAspectRatio: preserveAspectRatio 10400 }; // If it's the same path/src, don't destroy the animation 10401 10402 if (this.animationItem && this.config && this.config.src === src && renderer === this.config.renderer && preserveAspectRatio === this.config.preserveAspectRatio) { 10403 if (loop !== this.config.loop) { 10404 this.setLooping(loop); 10405 } 10406 10407 if (!hasIx2) { 10408 if (direction !== this.config.direction) { 10409 this.setDirection(direction); 10410 } 10411 10412 if (duration !== this.config.duration) { 10413 if (duration > 0 && duration !== this.duration) { 10414 this.setSpeed(this.duration / duration); 10415 } else { 10416 this.setSpeed(1); 10417 } 10418 } 10419 } 10420 10421 if (autoplay) { 10422 this.play(); 10423 } 10424 10425 if (ix2InitialValue && ix2InitialValue !== this.config.ix2InitialValue) { 10426 var percent = ix2InitialValue / 100; 10427 this.goToFrame(this.frames * percent); 10428 } 10429 10430 this.config = config; 10431 return; 10432 } 10433 10434 var options = { 10435 container: container, 10436 loop: loop, 10437 autoplay: autoplay, 10438 renderer: renderer, 10439 rendererSettings: { 10440 preserveAspectRatio: preserveAspectRatio, 10441 progressiveLoad: true, 10442 hideOnTransparent: true 10443 } 10444 }; 10445
10446 try { 10447 // Clear previous animation, if any 10448 if (this.animationItem) { 10449 this.destroy(); 10450 } // Initialize lottie player and load animation 10451 10452 10453 this.animationItem = getLottieLibrary().loadAnimation((0, _extends2["default"])({}, options, { 10454 path: src 10455 })); 10456 } catch (err) { 10457 this.handlers.error.forEach(function (cb) { 10458 return cb(err); 10459 }); 10460 return; 10461 } 10462 10463 if (!this.animationItem) return; 10464 10465 if (isInDesigner()) { 10466 // Calculate and save the current progress of the animation 10467 this.animationItem.addEventListener('enterFrame', function () { 10468 if (!_this.isPlaying) return; 10469 var _this$animationItem = _this.animationItem, 10470 currentFrame = _this$animationItem.currentFrame, 10471 totalFrames = _this$animationItem.totalFrames, 10472 playDirection = _this$animationItem.playDirection; 10473 var toPercent = currentFrame / totalFrames * 100; 10474 var percentage = Math.round(playDirection === 1 ? toPercent : 100 - toPercent); 10475 10476 _this.handlers.enterFrame.forEach(function (cb) { 10477 return cb(percentage, currentFrame); 10478 }); 10479 }); // Handle animation play complete 10480 10481 this.animationItem.addEventListener('complete', function () { 10482 if (_this.currentState !== PlayerState.Playing) { 10483 _this.handlers.complete.forEach(function (cb) { 10484 return cb(); 10485 }); 10486 10487 return; 10488 } 10489 10490 if (!_this.animationItem.loop) { 10491 _this.handlers.complete.forEach(function (cb) { 10492 return cb(); 10493 }); 10494 10495 return; 10496 } 10497 10498 _this.currentState = PlayerState.Stopped; 10499 }); // Handle animation play complete 10500 10501 this.animationItem.addEventListener('loopComplete', function (loopComplete) { 10502 _this.handlers.loop.forEach(function (cb) { 10503 return cb(loopComplete); 10504 }); 10505 }); // Set error state when animation load fail event triggers 10506 10507 this.animationItem.addEventListener('data_failed', function (err) { 10508 _this.handlers.error.forEach(function (cb) { 10509 return cb(err); 10510 }); 10511 }); // Set error state when animation load fail event triggers 10512 10513 this.animationItem.addEventListener('error', function (err) { 10514 _this.handlers.error.forEach(function (cb) { 10515 return cb(err); 10516 }); 10517 }); 10518 } 10519 10520 if (this.isLoaded) { 10521 this.handlers.dataReady.forEach(function (cb) { 10522 return cb(); 10523 }); 10524 10525 if (autoplay) { 10526 this.play(); 10527 } 10528 } else { 10529 // Handle animation data load complete 10530 this.animationItem.addEventListener('data_ready', function () { 10531 _this.handlers.dataReady.forEach(function (cb) { 10532 return cb(); 10533 }); // Only set the direction and speed if no IX2 is attached 10534 10535 10536 if (!hasIx2) { 10537 _this.setDirection(direction); 10538 10539 if (duration > 0 && duration !== _this.duration) { 10540 _this.setSpeed(_this.duration / duration); 10541 } 10542 10543 if (autoplay) { 10544 _this.play(); 10545 } 10546 } // Set the animation's initial state value from IX2 10547 10548 10549 if (ix2InitialValue) { 10550 var _percent = ix2InitialValue / 100; 10551 10552 _this.goToFrame(_this.frames * _percent); 10553 } 10554 }); 10555 } 10556 10557 cache.set(container, this); 10558 this.container = container; 10559 this.config = config; 10560 } 10561 }, { 10562 key: "onFrameChange", 10563 value: function onFrameChange(cb) { 10564 if (this.handlers.enterFrame.indexOf(cb) === -1) { 10565 this.handlers.enterFrame.push(cb); 10566 } 10567 } 10568 }, { 10569 key: "onPlaybackComplete", 10570 value: function onPlaybackComplete(cb) { 10571 if (this.handlers.complete.indexOf(cb) === -1) { 10572 this.handlers.complete.push(cb); 10573 } 10574 } 10575 }, { 10576 key: "onLoopComplete", 10577 value: function onLoopComplete(cb) { 10578 if (this.handlers.loop.indexOf(cb) === -1) { 10579 this.handlers.loop.push(cb); 10580 } 10581 } 10582 }, { 10583 key: "onDestroy", 10584 value: function onDestroy(cb) { 10585 if (this.handlers.destroy.indexOf(cb) === -1) { 10586 this.handlers.destroy.push(cb); 10587 } 10588 } 10589 }, { 10590 key: "onDataReady", 10591 value: function onDataReady(cb) { 10592 if (this.handlers.dataReady.indexOf(cb) === -1) { 10593 this.handlers.dataReady.push(cb); 10594 } 10595 } 10596 }, { 10597 key: "onError", 10598 value: function onError(cb) { 10599 if (this.handlers.error.indexOf(cb) === -1) { 10600 this.handlers.error.push(cb); 10601 } 10602 } 10603 }, { 10604 key: "play", 10605 value: function play() { 10606 if (!this.animationItem) return; 10607 var frame = this.animationItem.playDirection === 1 ? 0 : this.frames; 10608 this.animationItem.goToAndPlay(frame, true); 10609 this.currentState = PlayerState.Playing; 10610 } 10611 }, { 10612 key: "stop", 10613 value: function stop() { 10614 if (!this.animationItem) return; 10615 10616 if (this.isPlaying) { 10617 var playDirection = this.animationItem.playDirection; 10618 var frame = playDirection === 1 ? 0 : this.frames; 10619 this.animationItem.goToAndStop(frame, true); 10620 } 10621 10622 this.currentState = PlayerState.Stopped; 10623 } 10624 }, {
10625 key: "destroy", 10626 value: function destroy() { 10627 var _this2 = this; 10628 10629 if (!this.animationItem) return; 10630 if (this.isPlaying) this.stop(); 10631 this.handlers.destroy.forEach(function (cb) { 10632 return cb(); 10633 }); 10634 10635 if (this.container) { 10636 cache["delete"](this.container); 10637 } 10638 10639 this.animationItem.destroy(); 10640 Object.keys(this.handlers).forEach(function (key) { 10641 return _this2.handlers[key].length = 0; 10642 }); 10643 this.animationItem = null; 10644 this.container = null; 10645 this.config = null; 10646 } 10647 }, { 10648 key: "goToFrame", 10649 value: function goToFrame(value) { 10650 if (!this.animationItem) return; 10651 this.animationItem.setCurrentRawFrameValue(value); 10652 } 10653 }, { 10654 key: "setSubframe", 10655 value: function setSubframe(value) { 10656 if (!this.animationItem) return; 10657 this.animationItem.setSubframe(value); 10658 } 10659 }, { 10660 key: "setSpeed", 10661 value: function setSpeed() { 10662 var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1; 10663 if (!this.animationItem) return; 10664 if (this.isPlaying) this.stop(); 10665 this.animationItem.setSpeed(value); 10666 } 10667 }, { 10668 key: "setLooping", 10669 value: function setLooping(value) { 10670 if (!this.animationItem) return; 10671 if (this.isPlaying) this.stop(); 10672 this.animationItem.loop = value; 10673 } 10674 }, { 10675 key: "setDirection", 10676 value: function setDirection(value) { 10677 if (!this.animationItem) return; 10678 if (this.isPlaying) this.stop(); 10679 this.animationItem.setDirection(value); 10680 this.goToFrame(value === 1 ? 0 : this.frames); 10681 } 10682 }, { 10683 key: "isPlaying", 10684 get: function get() { 10685 if (!this.animationItem) return false; 10686 return !this.animationItem.isPaused; 10687 } 10688 }, { 10689 key: "isPaused", 10690 get: function get() { 10691 if (!this.animationItem) return false; 10692 return this.animationItem.isPaused; 10693 } 10694 }, { 10695 key: "duration", 10696 get: function get() { 10697 if (!this.animationItem) return 0; 10698 return this.animationItem.getDuration(); 10699 } 10700 }, { 10701 key: "frames", 10702 get: function get() { 10703 if (!this.animationItem) return 0; 10704 return this.animationItem.totalFrames; 10705 } 10706 }, { 10707 key: "direction", 10708 get: function get() { 10709 if (!this.animationItem) return 1; 10710 return this.animationItem.playDirection; 10711 } 10712 }, { 10713 key: "isLoaded", 10714 get: function get() { 10715 if (!this.animationItem) false; 10716 return this.animationItem.isLoaded; 10717 } 10718 }, { 10719 key: "ix2InitialValue", 10720 get: function get() { 10721 return this.config ? this.config.ix2InitialValue : null; 10722 } 10723 }]); 10724 return LottieInstance; 10725}(); 10726 10727var getLottieElements = function getLottieElements() { 10728 return Array.from(document.querySelectorAll('[data-animation-type="lottie"]')); 10729}; 10730 10731var createInstance = function createInstance(container) { 10732 var lottieInstance = cache.get(container); 10733 10734 if (lottieInstance == null) { 10735 lottieInstance = new LottieInstance(); 10736 } 10737 10738 lottieInstance.load(container); 10739 return lottieInstance; 10740}; 10741 10742exports.createInstance = createInstance; 10743 10744var cleanupElement = function cleanupElement(element) { 10745 var lottieInstance = cache.get(element); 10746 10747 if (lottieInstance) { 10748 lottieInstance.destroy(); 10749 } 10750}; 10751 10752exports.cleanupElement = cleanupElement; 10753 10754var init = function init() { 10755 getLottieElements().forEach(function (element) { 10756 var hasIx2 = parseFloat(element.getAttribute('data-is-ix2-target')) === 1; 10757 10758 if (!hasIx2) { 10759 cleanupElement(element); 10760 } 10761 10762 createInstance(element); 10763 }); 10764}; 10765 10766exports.init = init; 10767 10768var destroy = function destroy() { 10769 getLottieElements().forEach(cleanupElement); 10770}; 10771 10772exports.destroy = destroy; 10773var ready = init; 10774exports.ready = ready; 10775 10776/***/ }), 10777/* 195 */ 10778/***/ (function(module, exports) { 10779 10780function _classCallCheck(instance, Constructor) { 10781 if (!(instance instanceof Constructor)) { 10782 throw new TypeError("Cannot call a class as a function"); 10783 } 10784} 10785 10786module.exports = _classCallCheck; 10787 10788/***/ }), 10789/* 196 */ 10790/***/ (function(module, exports) { 10791 10792function _defineProperties(target, props) { 10793 for (var i = 0; i < props.length; i++) { 10794 var descriptor = props[i]; 10795 descriptor.enumerable = descriptor.enumerable || false; 10796 descriptor.configurable = true; 10797 if ("value" in descriptor) descriptor.writable = true; 10798 Object.defineProperty(target, descriptor.key, descriptor); 10799 } 10800} 10801 10802function _createClass(Constructor, protoProps, staticProps) { 10803 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 10804 if (staticProps) _defineProperties(Constructor, staticProps); 10805 return Constructor; 10806} 10807 10808module.exports = _createClass; 10809 10810/***/ }), 10811/* 197 */ 10812/***/ (function(module, exports, __webpack_require__) { 10813 10814var baseIsMatch = __webpack_require__(198), 10815 getMatchData = __webpack_require__(250), 10816 matchesStrictComparable = __webpack_require__(142); 10817 10818/** 10819 * The base implementation of `_.matches` which doesn't clone `source`. 10820 * 10821 * @private 10822 * @param {Object} source The object of property values to match. 10823 * @returns {Function} Returns the new spec function. 10824 */ 10825function baseMatches(source) { 10826 var matchData = getMatchData(source); 10827 if (matchData.length == 1 && matchData[0][2]) { 10828 return matchesStrictComparable(matchData[0][0], matchData[0][1]); 10829 } 10830 return function(object) { 10831 return object === source || baseIsMatch(object, source, matchData); 10832 }; 10833} 10834 10835module.exports = baseMatches; 10836 10837 10838/***/ }), 10839/* 198 */ 10840/***/ (function(module, exports, __webpack_require__) { 10841 10842var Stack = __webpack_require__(128), 10843 baseIsEqual = __webpack_require__(132); 10844 10845/** Used to compose bitmasks for value comparisons. */ 10846var COMPARE_PARTIAL_FLAG = 1, 10847 COMPARE_UNORDERED_FLAG = 2; 10848 10849/** 10850 * The base implementation of `_.isMatch` without support for iteratee shorthands. 10851 * 10852 * @private 10853 * @param {Object} object The object to inspect. 10854 * @param {Object} source The object of property values to match. 10855 * @param {Array} matchData The property names, values, and compare flags to match. 10856 * @param {Function} [customizer] The function to customize comparisons. 10857 * @returns {boolean} Returns `true` if `object` is a match, else `false`. 10858 */ 10859function baseIsMatch(object, source, matchData, customizer) { 10860 var index = matchData.length, 10861 length = index, 10862 noCustomizer = !customizer; 10863 10864 if (object == null) { 10865 return !length; 10866 } 10867 object = Object(object); 10868 while (index--) { 10869 var data = matchData[index]; 10870 if ((noCustomizer && data[2]) 10871 ? data[1] !== object[data[0]] 10872 : !(data[0] in object) 10873 ) { 10874 return false;
vendor: 4,246 bytes, lines 10875-11091
10875 } 10876 } 10877 while (++index < length) { 10878 data = matchData[index]; 10879 var key = data[0], 10880 objValue = object[key], 10881 srcValue = data[1]; 10882 10883 if (noCustomizer && data[2]) { 10884 if (objValue === undefined && !(key in object)) { 10885 return false; 10886 } 10887 } else { 10888 var stack = new Stack; 10889 if (customizer) { 10890 var result = customizer(objValue, srcValue, key, object, source, stack); 10891 } 10892 if (!(result === undefined 10893 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) 10894 : result 10895 )) { 10896 return false; 10897 } 10898 } 10899 } 10900 return true; 10901} 10902 10903module.exports = baseIsMatch; 10904 10905 10906/***/ }), 10907/* 199 */ 10908/***/ (function(module, exports) { 10909 10910/** 10911 * Removes all key-value entries from the list cache. 10912 * 10913 * @private 10914 * @name clear 10915 * @memberOf ListCache 10916 */ 10917function listCacheClear() { 10918 this.__data__ = []; 10919 this.size = 0; 10920} 10921 10922module.exports = listCacheClear; 10923 10924 10925/***/ }), 10926/* 200 */ 10927/***/ (function(module, exports, __webpack_require__) { 10928 10929var assocIndexOf = __webpack_require__(60); 10930 10931/** Used for built-in method references. */ 10932var arrayProto = Array.prototype; 10933 10934/** Built-in value references. */ 10935var splice = arrayProto.splice; 10936 10937/** 10938 * Removes `key` and its value from the list cache. 10939 * 10940 * @private 10941 * @name delete 10942 * @memberOf ListCache 10943 * @param {string} key The key of the value to remove. 10944 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 10945 */ 10946function listCacheDelete(key) { 10947 var data = this.__data__, 10948 index = assocIndexOf(data, key); 10949 10950 if (index < 0) { 10951 return false; 10952 } 10953 var lastIndex = data.length - 1; 10954 if (index == lastIndex) { 10955 data.pop(); 10956 } else { 10957 splice.call(data, index, 1); 10958 } 10959 --this.size; 10960 return true; 10961} 10962 10963module.exports = listCacheDelete; 10964 10965 10966/***/ }), 10967/* 201 */ 10968/***/ (function(module, exports, __webpack_require__) { 10969 10970var assocIndexOf = __webpack_require__(60); 10971 10972/** 10973 * Gets the list cache value for `key`. 10974 * 10975 * @private 10976 * @name get 10977 * @memberOf ListCache 10978 * @param {string} key The key of the value to get. 10979 * @returns {*} Returns the entry value. 10980 */ 10981function listCacheGet(key) { 10982 var data = this.__data__, 10983 index = assocIndexOf(data, key); 10984 10985 return index < 0 ? undefined : data[index][1]; 10986} 10987 10988module.exports = listCacheGet; 10989 10990 10991/***/ }), 10992/* 202 */ 10993/***/ (function(module, exports, __webpack_require__) { 10994 10995var assocIndexOf = __webpack_require__(60); 10996 10997/** 10998 * Checks if a list cache value for `key` exists. 10999 * 11000 * @private 11001 * @name has 11002 * @memberOf ListCache 11003 * @param {string} key The key of the entry to check. 11004 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11005 */ 11006function listCacheHas(key) { 11007 return assocIndexOf(this.__data__, key) > -1; 11008} 11009 11010module.exports = listCacheHas; 11011 11012 11013/***/ }), 11014/* 203 */ 11015/***/ (function(module, exports, __webpack_require__) { 11016 11017var assocIndexOf = __webpack_require__(60); 11018 11019/** 11020 * Sets the list cache `key` to `value`. 11021 * 11022 * @private 11023 * @name set 11024 * @memberOf ListCache 11025 * @param {string} key The key of the value to set. 11026 * @param {*} value The value to set. 11027 * @returns {Object} Returns the list cache instance. 11028 */ 11029function listCacheSet(key, value) { 11030 var data = this.__data__, 11031 index = assocIndexOf(data, key); 11032 11033 if (index < 0) { 11034 ++this.size; 11035 data.push([key, value]); 11036 } else { 11037 data[index][1] = value; 11038 } 11039 return this; 11040} 11041 11042module.exports = listCacheSet; 11043 11044 11045/***/ }), 11046/* 204 */ 11047/***/ (function(module, exports, __webpack_require__) { 11048 11049var ListCache = __webpack_require__(59); 11050 11051/** 11052 * Removes all key-value entries from the stack. 11053 * 11054 * @private 11055 * @name clear 11056 * @memberOf Stack 11057 */ 11058function stackClear() { 11059 this.__data__ = new ListCache; 11060 this.size = 0; 11061} 11062 11063module.exports = stackClear; 11064 11065 11066/***/ }), 11067/* 205 */ 11068/***/ (function(module, exports) { 11069 11070/** 11071 * Removes `key` and its value from the stack. 11072 * 11073 * @private 11074 * @name delete 11075 * @memberOf Stack 11076 * @param {string} key The key of the value to remove. 11077 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 11078 */ 11079function stackDelete(key) { 11080 var data = this.__data__, 11081 result = data['delete'](key); 11082 11083 this.size = data.size; 11084 return result; 11085} 11086 11087module.exports = stackDelete; 11088 11089 11090/***/ }), 11091/* 206 */
vendor: 11,195 bytes, lines 11092-11588
11092/***/ (function(module, exports) { 11093 11094/** 11095 * Gets the stack value for `key`. 11096 * 11097 * @private 11098 * @name get 11099 * @memberOf Stack 11100 * @param {string} key The key of the value to get. 11101 * @returns {*} Returns the entry value. 11102 */ 11103function stackGet(key) { 11104 return this.__data__.get(key); 11105} 11106 11107module.exports = stackGet; 11108 11109 11110/***/ }), 11111/* 207 */ 11112/***/ (function(module, exports) { 11113 11114/** 11115 * Checks if a stack value for `key` exists. 11116 * 11117 * @private 11118 * @name has 11119 * @memberOf Stack 11120 * @param {string} key The key of the entry to check. 11121 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11122 */ 11123function stackHas(key) { 11124 return this.__data__.has(key); 11125} 11126 11127module.exports = stackHas; 11128 11129 11130/***/ }), 11131/* 208 */ 11132/***/ (function(module, exports, __webpack_require__) { 11133 11134var ListCache = __webpack_require__(59), 11135 Map = __webpack_require__(81), 11136 MapCache = __webpack_require__(82); 11137 11138/** Used as the size to enable large array optimizations. */ 11139var LARGE_ARRAY_SIZE = 200; 11140 11141/** 11142 * Sets the stack `key` to `value`. 11143 * 11144 * @private 11145 * @name set 11146 * @memberOf Stack 11147 * @param {string} key The key of the value to set. 11148 * @param {*} value The value to set. 11149 * @returns {Object} Returns the stack cache instance. 11150 */ 11151function stackSet(key, value) { 11152 var data = this.__data__; 11153 if (data instanceof ListCache) { 11154 var pairs = data.__data__; 11155 if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { 11156 pairs.push([key, value]); 11157 this.size = ++data.size; 11158 return this; 11159 } 11160 data = this.__data__ = new MapCache(pairs); 11161 } 11162 data.set(key, value); 11163 this.size = data.size; 11164 return this; 11165} 11166 11167module.exports = stackSet; 11168 11169 11170/***/ }), 11171/* 209 */ 11172/***/ (function(module, exports, __webpack_require__) { 11173 11174var isFunction = __webpack_require__(129), 11175 isMasked = __webpack_require__(212), 11176 isObject = __webpack_require__(23), 11177 toSource = __webpack_require__(131); 11178 11179/** 11180 * Used to match `RegExp` 11181 * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). 11182 */ 11183var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; 11184 11185/** Used to detect host constructors (Safari). */ 11186var reIsHostCtor = /^\[object .+?Constructor\]$/; 11187 11188/** Used for built-in method references. */ 11189var funcProto = Function.prototype, 11190 objectProto = Object.prototype; 11191 11192/** Used to resolve the decompiled source of functions. */ 11193var funcToString = funcProto.toString; 11194 11195/** Used to check objects for own properties. */ 11196var hasOwnProperty = objectProto.hasOwnProperty; 11197 11198/** Used to detect if a method is native. */ 11199var reIsNative = RegExp('^' + 11200 funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') 11201 .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' 11202); 11203 11204/** 11205 * The base implementation of `_.isNative` without bad shim checks. 11206 * 11207 * @private 11208 * @param {*} value The value to check. 11209 * @returns {boolean} Returns `true` if `value` is a native function, 11210 * else `false`. 11211 */ 11212function baseIsNative(value) { 11213 if (!isObject(value) || isMasked(value)) { 11214 return false; 11215 } 11216 var pattern = isFunction(value) ? reIsNative : reIsHostCtor; 11217 return pattern.test(toSource(value)); 11218} 11219 11220module.exports = baseIsNative; 11221 11222 11223/***/ }), 11224/* 210 */ 11225/***/ (function(module, exports, __webpack_require__) { 11226 11227var Symbol = __webpack_require__(47); 11228 11229/** Used for built-in method references. */ 11230var objectProto = Object.prototype; 11231 11232/** Used to check objects for own properties. */ 11233var hasOwnProperty = objectProto.hasOwnProperty; 11234 11235/** 11236 * Used to resolve the 11237 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 11238 * of values. 11239 */ 11240var nativeObjectToString = objectProto.toString; 11241 11242/** Built-in value references. */ 11243var symToStringTag = Symbol ? Symbol.toStringTag : undefined; 11244 11245/** 11246 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 11247 * 11248 * @private 11249 * @param {*} value The value to query. 11250 * @returns {string} Returns the raw `toStringTag`. 11251 */ 11252function getRawTag(value) { 11253 var isOwn = hasOwnProperty.call(value, symToStringTag), 11254 tag = value[symToStringTag]; 11255 11256 try { 11257 value[symToStringTag] = undefined; 11258 var unmasked = true; 11259 } catch (e) {} 11260 11261 var result = nativeObjectToString.call(value); 11262 if (unmasked) { 11263 if (isOwn) { 11264 value[symToStringTag] = tag; 11265 } else { 11266 delete value[symToStringTag]; 11267 } 11268 } 11269 return result; 11270} 11271 11272module.exports = getRawTag; 11273 11274 11275/***/ }), 11276/* 211 */ 11277/***/ (function(module, exports) { 11278 11279/** Used for built-in method references. */ 11280var objectProto = Object.prototype; 11281 11282/** 11283 * Used to resolve the 11284 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 11285 * of values. 11286 */ 11287var nativeObjectToString = objectProto.toString; 11288 11289/** 11290 * Converts `value` to a string using `Object.prototype.toString`. 11291 * 11292 * @private 11293 * @param {*} value The value to convert. 11294 * @returns {string} Returns the converted string. 11295 */ 11296function objectToString(value) { 11297 return nativeObjectToString.call(value); 11298} 11299 11300module.exports = objectToString; 11301 11302 11303/***/ }), 11304/* 212 */ 11305/***/ (function(module, exports, __webpack_require__) { 11306 11307var coreJsData = __webpack_require__(213); 11308 11309/** Used to detect methods masquerading as native. */ 11310var maskSrcKey = (function() { 11311 var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); 11312 return uid ? ('Symbol(src)_1.' + uid) : ''; 11313}()); 11314 11315/** 11316 * Checks if `func` has its source masked. 11317 * 11318 * @private 11319 * @param {Function} func The function to check. 11320 * @returns {boolean} Returns `true` if `func` is masked, else `false`. 11321 */ 11322function isMasked(func) { 11323 return !!maskSrcKey && (maskSrcKey in func); 11324} 11325 11326module.exports = isMasked; 11327 11328 11329/***/ }), 11330/* 213 */ 11331/***/ (function(module, exports, __webpack_require__) { 11332 11333var root = __webpack_require__(19); 11334 11335/** Used to detect overreaching core-js shims. */ 11336var coreJsData = root['__core-js_shared__']; 11337 11338module.exports = coreJsData; 11339 11340 11341/***/ }), 11342/* 214 */ 11343/***/ (function(module, exports) { 11344 11345/** 11346 * Gets the value at `key` of `object`. 11347 * 11348 * @private 11349 * @param {Object} [object] The object to query. 11350 * @param {string} key The key of the property to get. 11351 * @returns {*} Returns the property value. 11352 */ 11353function getValue(object, key) { 11354 return object == null ? undefined : object[key]; 11355} 11356 11357module.exports = getValue; 11358 11359 11360/***/ }), 11361/* 215 */ 11362/***/ (function(module, exports, __webpack_require__) { 11363 11364var Hash = __webpack_require__(216), 11365 ListCache = __webpack_require__(59), 11366 Map = __webpack_require__(81); 11367 11368/** 11369 * Removes all key-value entries from the map. 11370 * 11371 * @private 11372 * @name clear 11373 * @memberOf MapCache 11374 */ 11375function mapCacheClear() { 11376 this.size = 0; 11377 this.__data__ = { 11378 'hash': new Hash, 11379 'map': new (Map || ListCache), 11380 'string': new Hash 11381 }; 11382} 11383 11384module.exports = mapCacheClear; 11385 11386 11387/***/ }), 11388/* 216 */ 11389/***/ (function(module, exports, __webpack_require__) { 11390 11391var hashClear = __webpack_require__(217), 11392 hashDelete = __webpack_require__(218), 11393 hashGet = __webpack_require__(219), 11394 hashHas = __webpack_require__(220), 11395 hashSet = __webpack_require__(221); 11396 11397/** 11398 * Creates a hash object. 11399 * 11400 * @private 11401 * @constructor 11402 * @param {Array} [entries] The key-value pairs to cache. 11403 */ 11404function Hash(entries) { 11405 var index = -1, 11406 length = entries == null ? 0 : entries.length; 11407 11408 this.clear(); 11409 while (++index < length) { 11410 var entry = entries[index]; 11411 this.set(entry[0], entry[1]); 11412 } 11413} 11414 11415// Add methods to `Hash`. 11416Hash.prototype.clear = hashClear; 11417Hash.prototype['delete'] = hashDelete; 11418Hash.prototype.get = hashGet; 11419Hash.prototype.has = hashHas; 11420Hash.prototype.set = hashSet; 11421 11422module.exports = Hash; 11423 11424 11425/***/ }), 11426/* 217 */ 11427/***/ (function(module, exports, __webpack_require__) { 11428 11429var nativeCreate = __webpack_require__(62); 11430 11431/** 11432 * Removes all key-value entries from the hash. 11433 * 11434 * @private 11435 * @name clear 11436 * @memberOf Hash 11437 */ 11438function hashClear() { 11439 this.__data__ = nativeCreate ? nativeCreate(null) : {}; 11440 this.size = 0; 11441} 11442 11443module.exports = hashClear; 11444 11445 11446/***/ }), 11447/* 218 */ 11448/***/ (function(module, exports) { 11449 11450/** 11451 * Removes `key` and its value from the hash. 11452 * 11453 * @private 11454 * @name delete 11455 * @memberOf Hash 11456 * @param {Object} hash The hash to modify. 11457 * @param {string} key The key of the value to remove. 11458 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 11459 */ 11460function hashDelete(key) { 11461 var result = this.has(key) && delete this.__data__[key]; 11462 this.size -= result ? 1 : 0; 11463 return result; 11464} 11465 11466module.exports = hashDelete; 11467 11468 11469/***/ }), 11470/* 219 */ 11471/***/ (function(module, exports, __webpack_require__) { 11472 11473var nativeCreate = __webpack_require__(62); 11474 11475/** Used to stand-in for `undefined` hash values. */ 11476var HASH_UNDEFINED = '__lodash_hash_undefined__'; 11477 11478/** Used for built-in method references. */ 11479var objectProto = Object.prototype; 11480 11481/** Used to check objects for own properties. */ 11482var hasOwnProperty = objectProto.hasOwnProperty; 11483 11484/** 11485 * Gets the hash value for `key`. 11486 * 11487 * @private 11488 * @name get 11489 * @memberOf Hash 11490 * @param {string} key The key of the value to get. 11491 * @returns {*} Returns the entry value. 11492 */ 11493function hashGet(key) { 11494 var data = this.__data__; 11495 if (nativeCreate) { 11496 var result = data[key]; 11497 return result === HASH_UNDEFINED ? undefined : result; 11498 } 11499 return hasOwnProperty.call(data, key) ? data[key] : undefined; 11500} 11501 11502module.exports = hashGet; 11503 11504 11505/***/ }), 11506/* 220 */ 11507/***/ (function(module, exports, __webpack_require__) { 11508 11509var nativeCreate = __webpack_require__(62); 11510 11511/** Used for built-in method references. */ 11512var objectProto = Object.prototype; 11513 11514/** Used to check objects for own properties. */ 11515var hasOwnProperty = objectProto.hasOwnProperty; 11516 11517/** 11518 * Checks if a hash value for `key` exists. 11519 * 11520 * @private 11521 * @name has 11522 * @memberOf Hash 11523 * @param {string} key The key of the entry to check. 11524 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11525 */ 11526function hashHas(key) { 11527 var data = this.__data__; 11528 return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); 11529} 11530 11531module.exports = hashHas; 11532 11533 11534/***/ }), 11535/* 221 */ 11536/***/ (function(module, exports, __webpack_require__) { 11537 11538var nativeCreate = __webpack_require__(62); 11539 11540/** Used to stand-in for `undefined` hash values. */ 11541var HASH_UNDEFINED = '__lodash_hash_undefined__'; 11542 11543/** 11544 * Sets the hash `key` to `value`. 11545 * 11546 * @private 11547 * @name set 11548 * @memberOf Hash 11549 * @param {string} key The key of the value to set. 11550 * @param {*} value The value to set. 11551 * @returns {Object} Returns the hash instance. 11552 */ 11553function hashSet(key, value) { 11554 var data = this.__data__; 11555 this.size += this.has(key) ? 0 : 1; 11556 data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; 11557 return this; 11558} 11559 11560module.exports = hashSet; 11561 11562 11563/***/ }), 11564/* 222 */ 11565/***/ (function(module, exports, __webpack_require__) { 11566 11567var getMapData = __webpack_require__(63); 11568 11569/** 11570 * Removes `key` and its value from the map. 11571 * 11572 * @private 11573 * @name delete 11574 * @memberOf MapCache 11575 * @param {string} key The key of the value to remove. 11576 * @returns {boolean} Returns `true` if the entry was removed, else `false`. 11577 */ 11578function mapCacheDelete(key) { 11579 var result = getMapData(this, key)['delete'](key); 11580 this.size -= result ? 1 : 0; 11581 return result; 11582} 11583 11584module.exports = mapCacheDelete; 11585 11586 11587/***/ }), 11588/* 223 */
vendor: 13,826 bytes, lines 11589-12109
11589/***/ (function(module, exports) { 11590 11591/** 11592 * Checks if `value` is suitable for use as unique object key. 11593 * 11594 * @private 11595 * @param {*} value The value to check. 11596 * @returns {boolean} Returns `true` if `value` is suitable, else `false`. 11597 */ 11598function isKeyable(value) { 11599 var type = typeof value; 11600 return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') 11601 ? (value !== '__proto__') 11602 : (value === null); 11603} 11604 11605module.exports = isKeyable; 11606 11607 11608/***/ }), 11609/* 224 */ 11610/***/ (function(module, exports, __webpack_require__) { 11611 11612var getMapData = __webpack_require__(63); 11613 11614/** 11615 * Gets the map value for `key`. 11616 * 11617 * @private 11618 * @name get 11619 * @memberOf MapCache 11620 * @param {string} key The key of the value to get. 11621 * @returns {*} Returns the entry value. 11622 */ 11623function mapCacheGet(key) { 11624 return getMapData(this, key).get(key); 11625} 11626 11627module.exports = mapCacheGet; 11628 11629 11630/***/ }), 11631/* 225 */ 11632/***/ (function(module, exports, __webpack_require__) { 11633 11634var getMapData = __webpack_require__(63); 11635 11636/** 11637 * Checks if a map value for `key` exists. 11638 * 11639 * @private 11640 * @name has 11641 * @memberOf MapCache 11642 * @param {string} key The key of the entry to check. 11643 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11644 */ 11645function mapCacheHas(key) { 11646 return getMapData(this, key).has(key); 11647} 11648 11649module.exports = mapCacheHas; 11650 11651 11652/***/ }), 11653/* 226 */ 11654/***/ (function(module, exports, __webpack_require__) { 11655 11656var getMapData = __webpack_require__(63); 11657 11658/** 11659 * Sets the map `key` to `value`. 11660 * 11661 * @private 11662 * @name set 11663 * @memberOf MapCache 11664 * @param {string} key The key of the value to set. 11665 * @param {*} value The value to set. 11666 * @returns {Object} Returns the map cache instance. 11667 */ 11668function mapCacheSet(key, value) { 11669 var data = getMapData(this, key), 11670 size = data.size; 11671 11672 data.set(key, value); 11673 this.size += data.size == size ? 0 : 1; 11674 return this; 11675} 11676 11677module.exports = mapCacheSet; 11678 11679 11680/***/ }), 11681/* 227 */ 11682/***/ (function(module, exports, __webpack_require__) { 11683 11684var Stack = __webpack_require__(128), 11685 equalArrays = __webpack_require__(133), 11686 equalByTag = __webpack_require__(233), 11687 equalObjects = __webpack_require__(237), 11688 getTag = __webpack_require__(90), 11689 isArray = __webpack_require__(11), 11690 isBuffer = __webpack_require__(84), 11691 isTypedArray = __webpack_require__(86); 11692 11693/** Used to compose bitmasks for value comparisons. */ 11694var COMPARE_PARTIAL_FLAG = 1; 11695 11696/** `Object#toString` result references. */ 11697var argsTag = '[object Arguments]', 11698 arrayTag = '[object Array]', 11699 objectTag = '[object Object]'; 11700 11701/** Used for built-in method references. */ 11702var objectProto = Object.prototype; 11703 11704/** Used to check objects for own properties. */ 11705var hasOwnProperty = objectProto.hasOwnProperty; 11706 11707/** 11708 * A specialized version of `baseIsEqual` for arrays and objects which performs 11709 * deep comparisons and tracks traversed objects enabling objects with circular 11710 * references to be compared. 11711 * 11712 * @private 11713 * @param {Object} object The object to compare. 11714 * @param {Object} other The other object to compare. 11715 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 11716 * @param {Function} customizer The function to customize comparisons. 11717 * @param {Function} equalFunc The function to determine equivalents of values. 11718 * @param {Object} [stack] Tracks traversed `object` and `other` objects. 11719 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 11720 */ 11721function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { 11722 var objIsArr = isArray(object), 11723 othIsArr = isArray(other), 11724 objTag = objIsArr ? arrayTag : getTag(object), 11725 othTag = othIsArr ? arrayTag : getTag(other); 11726 11727 objTag = objTag == argsTag ? objectTag : objTag; 11728 othTag = othTag == argsTag ? objectTag : othTag; 11729 11730 var objIsObj = objTag == objectTag, 11731 othIsObj = othTag == objectTag, 11732 isSameTag = objTag == othTag; 11733 11734 if (isSameTag && isBuffer(object)) { 11735 if (!isBuffer(other)) { 11736 return false; 11737 } 11738 objIsArr = true; 11739 objIsObj = false; 11740 } 11741 if (isSameTag && !objIsObj) { 11742 stack || (stack = new Stack); 11743 return (objIsArr || isTypedArray(object)) 11744 ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) 11745 : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); 11746 } 11747 if (!(bitmask & COMPARE_PARTIAL_FLAG)) { 11748 var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), 11749 othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); 11750 11751 if (objIsWrapped || othIsWrapped) { 11752 var objUnwrapped = objIsWrapped ? object.value() : object, 11753 othUnwrapped = othIsWrapped ? other.value() : other; 11754 11755 stack || (stack = new Stack); 11756 return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); 11757 } 11758 } 11759 if (!isSameTag) { 11760 return false; 11761 } 11762 stack || (stack = new Stack); 11763 return equalObjects(object, other, bitmask, customizer, equalFunc, stack); 11764} 11765 11766module.exports = baseIsEqualDeep; 11767 11768 11769/***/ }), 11770/* 228 */ 11771/***/ (function(module, exports, __webpack_require__) { 11772 11773var MapCache = __webpack_require__(82), 11774 setCacheAdd = __webpack_require__(229), 11775 setCacheHas = __webpack_require__(230); 11776 11777/** 11778 * 11779 * Creates an array cache object to store unique values. 11780 * 11781 * @private 11782 * @constructor 11783 * @param {Array} [values] The values to cache. 11784 */ 11785function SetCache(values) { 11786 var index = -1, 11787 length = values == null ? 0 : values.length; 11788 11789 this.__data__ = new MapCache; 11790 while (++index < length) { 11791 this.add(values[index]); 11792 } 11793} 11794 11795// Add methods to `SetCache`. 11796SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; 11797SetCache.prototype.has = setCacheHas; 11798 11799module.exports = SetCache; 11800 11801 11802/***/ }), 11803/* 229 */ 11804/***/ (function(module, exports) { 11805 11806/** Used to stand-in for `undefined` hash values. */ 11807var HASH_UNDEFINED = '__lodash_hash_undefined__'; 11808 11809/** 11810 * Adds `value` to the array cache. 11811 * 11812 * @private 11813 * @name add 11814 * @memberOf SetCache 11815 * @alias push 11816 * @param {*} value The value to cache. 11817 * @returns {Object} Returns the cache instance. 11818 */ 11819function setCacheAdd(value) { 11820 this.__data__.set(value, HASH_UNDEFINED); 11821 return this; 11822} 11823 11824module.exports = setCacheAdd; 11825 11826 11827/***/ }), 11828/* 230 */ 11829/***/ (function(module, exports) { 11830 11831/** 11832 * Checks if `value` is in the array cache. 11833 * 11834 * @private 11835 * @name has 11836 * @memberOf SetCache 11837 * @param {*} value The value to search for. 11838 * @returns {number} Returns `true` if `value` is found, else `false`. 11839 */ 11840function setCacheHas(value) { 11841 return this.__data__.has(value); 11842} 11843 11844module.exports = setCacheHas; 11845 11846 11847/***/ }), 11848/* 231 */ 11849/***/ (function(module, exports) { 11850 11851/** 11852 * A specialized version of `_.some` for arrays without support for iteratee 11853 * shorthands. 11854 * 11855 * @private 11856 * @param {Array} [array] The array to iterate over. 11857 * @param {Function} predicate The function invoked per iteration. 11858 * @returns {boolean} Returns `true` if any element passes the predicate check, 11859 * else `false`. 11860 */ 11861function arraySome(array, predicate) { 11862 var index = -1, 11863 length = array == null ? 0 : array.length; 11864 11865 while (++index < length) { 11866 if (predicate(array[index], index, array)) { 11867 return true; 11868 } 11869 } 11870 return false; 11871} 11872 11873module.exports = arraySome; 11874 11875 11876/***/ }), 11877/* 232 */ 11878/***/ (function(module, exports) { 11879 11880/** 11881 * Checks if a `cache` value for `key` exists. 11882 * 11883 * @private 11884 * @param {Object} cache The cache to query. 11885 * @param {string} key The key of the entry to check. 11886 * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. 11887 */ 11888function cacheHas(cache, key) { 11889 return cache.has(key); 11890} 11891 11892module.exports = cacheHas; 11893 11894 11895/***/ }), 11896/* 233 */ 11897/***/ (function(module, exports, __webpack_require__) { 11898 11899var Symbol = __webpack_require__(47), 11900 Uint8Array = __webpack_require__(234), 11901 eq = __webpack_require__(80), 11902 equalArrays = __webpack_require__(133), 11903 mapToArray = __webpack_require__(235), 11904 setToArray = __webpack_require__(236); 11905 11906/** Used to compose bitmasks for value comparisons. */ 11907var COMPARE_PARTIAL_FLAG = 1, 11908 COMPARE_UNORDERED_FLAG = 2; 11909 11910/** `Object#toString` result references. */ 11911var boolTag = '[object Boolean]', 11912 dateTag = '[object Date]', 11913 errorTag = '[object Error]', 11914 mapTag = '[object Map]', 11915 numberTag = '[object Number]', 11916 regexpTag = '[object RegExp]', 11917 setTag = '[object Set]', 11918 stringTag = '[object String]', 11919 symbolTag = '[object Symbol]'; 11920 11921var arrayBufferTag = '[object ArrayBuffer]', 11922 dataViewTag = '[object DataView]'; 11923 11924/** Used to convert symbols to primitives and strings. */ 11925var symbolProto = Symbol ? Symbol.prototype : undefined, 11926 symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; 11927 11928/** 11929 * A specialized version of `baseIsEqualDeep` for comparing objects of 11930 * the same `toStringTag`. 11931 * 11932 * **Note:** This function only supports comparing values with tags of 11933 * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. 11934 * 11935 * @private 11936 * @param {Object} object The object to compare. 11937 * @param {Object} other The other object to compare. 11938 * @param {string} tag The `toStringTag` of the objects to compare. 11939 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 11940 * @param {Function} customizer The function to customize comparisons. 11941 * @param {Function} equalFunc The function to determine equivalents of values. 11942 * @param {Object} stack Tracks traversed `object` and `other` objects. 11943 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 11944 */ 11945function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { 11946 switch (tag) { 11947 case dataViewTag: 11948 if ((object.byteLength != other.byteLength) || 11949 (object.byteOffset != other.byteOffset)) { 11950 return false; 11951 } 11952 object = object.buffer; 11953 other = other.buffer; 11954 11955 case arrayBufferTag: 11956 if ((object.byteLength != other.byteLength) || 11957 !equalFunc(new Uint8Array(object), new Uint8Array(other))) { 11958 return false; 11959 } 11960 return true; 11961 11962 case boolTag: 11963 case dateTag: 11964 case numberTag: 11965 // Coerce booleans to `1` or `0` and dates to milliseconds. 11966 // Invalid dates are coerced to `NaN`. 11967 return eq(+object, +other); 11968 11969 case errorTag: 11970 return object.name == other.name && object.message == other.message; 11971 11972 case regexpTag: 11973 case stringTag: 11974 // Coerce regexes to strings and treat strings, primitives and objects, 11975 // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring 11976 // for more details. 11977 return object == (other + ''); 11978 11979 case mapTag: 11980 var convert = mapToArray; 11981 11982 case setTag: 11983 var isPartial = bitmask & COMPARE_PARTIAL_FLAG; 11984 convert || (convert = setToArray); 11985 11986 if (object.size != other.size && !isPartial) { 11987 return false; 11988 } 11989 // Assume cyclic values are equal. 11990 var stacked = stack.get(object); 11991 if (stacked) { 11992 return stacked == other; 11993 } 11994 bitmask |= COMPARE_UNORDERED_FLAG; 11995 11996 // Recursively compare objects (susceptible to call stack limits). 11997 stack.set(object, other); 11998 var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); 11999 stack['delete'](object); 12000 return result; 12001 12002 case symbolTag: 12003 if (symbolValueOf) { 12004 return symbolValueOf.call(object) == symbolValueOf.call(other); 12005 } 12006 } 12007 return false; 12008} 12009 12010module.exports = equalByTag; 12011 12012 12013/***/ }), 12014/* 234 */ 12015/***/ (function(module, exports, __webpack_require__) { 12016 12017var root = __webpack_require__(19); 12018 12019/** Built-in value references. */ 12020var Uint8Array = root.Uint8Array; 12021 12022module.exports = Uint8Array; 12023 12024 12025/***/ }), 12026/* 235 */ 12027/***/ (function(module, exports) { 12028 12029/** 12030 * Converts `map` to its key-value pairs. 12031 * 12032 * @private 12033 * @param {Object} map The map to convert. 12034 * @returns {Array} Returns the key-value pairs. 12035 */ 12036function mapToArray(map) { 12037 var index = -1, 12038 result = Array(map.size); 12039 12040 map.forEach(function(value, key) { 12041 result[++index] = [key, value]; 12042 }); 12043 return result; 12044} 12045 12046module.exports = mapToArray; 12047 12048 12049/***/ }), 12050/* 236 */ 12051/***/ (function(module, exports) { 12052 12053/** 12054 * Converts `set` to an array of its values. 12055 * 12056 * @private 12057 * @param {Object} set The set to convert. 12058 * @returns {Array} Returns the values. 12059 */ 12060function setToArray(set) { 12061 var index = -1, 12062 result = Array(set.size); 12063 12064 set.forEach(function(value) { 12065 result[++index] = value; 12066 }); 12067 return result; 12068} 12069 12070module.exports = setToArray; 12071 12072 12073/***/ }), 12074/* 237 */ 12075/***/ (function(module, exports, __webpack_require__) { 12076 12077var getAllKeys = __webpack_require__(238); 12078 12079/** Used to compose bitmasks for value comparisons. */ 12080var COMPARE_PARTIAL_FLAG = 1; 12081 12082/** Used for built-in method references. */ 12083var objectProto = Object.prototype; 12084 12085/** Used to check objects for own properties. */ 12086var hasOwnProperty = objectProto.hasOwnProperty; 12087 12088/** 12089 * A specialized version of `baseIsEqualDeep` for objects with support for 12090 * partial deep comparisons. 12091 * 12092 * @private 12093 * @param {Object} object The object to compare. 12094 * @param {Object} other The other object to compare. 12095 * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. 12096 * @param {Function} customizer The function to customize comparisons. 12097 * @param {Function} equalFunc The function to determine equivalents of values. 12098 * @param {Object} stack Tracks traversed `object` and `other` objects. 12099 * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. 12100 */ 12101function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { 12102 var isPartial = bitmask & COMPARE_PARTIAL_FLAG, 12103 objProps = getAllKeys(object), 12104 objLength = objProps.length, 12105 othProps = getAllKeys(other), 12106 othLength = othProps.length; 12107 12108 if (objLength != othLength && !isPartial) { 12109 return false;
vendor: 1,075 bytes, lines 12110-12144
12110 } 12111 var index = objLength; 12112 while (index--) { 12113 var key = objProps[index]; 12114 if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { 12115 return false; 12116 } 12117 } 12118 // Check that cyclic values are equal. 12119 var objStacked = stack.get(object); 12120 var othStacked = stack.get(other); 12121 if (objStacked && othStacked) { 12122 return objStacked == other && othStacked == object; 12123 } 12124 var result = true; 12125 stack.set(object, other); 12126 stack.set(other, object); 12127 12128 var skipCtor = isPartial; 12129 while (++index < objLength) { 12130 key = objProps[index]; 12131 var objValue = object[key], 12132 othValue = other[key]; 12133 12134 if (customizer) { 12135 var compared = isPartial 12136 ? customizer(othValue, objValue, key, other, object, stack) 12137 : customizer(objValue, othValue, key, object, other, stack); 12138 } 12139 // Recursively compare objects (susceptible to call stack limits). 12140 if (!(compared === undefined 12141 ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) 12142 : compared 12143 )) { 12144 result = false;
vendor: 10,632 bytes, lines 12145-12552
12145 break; 12146 } 12147 skipCtor || (skipCtor = key == 'constructor'); 12148 } 12149 if (result && !skipCtor) { 12150 var objCtor = object.constructor, 12151 othCtor = other.constructor; 12152 12153 // Non `Object` object instances with different constructors are not equal. 12154 if (objCtor != othCtor && 12155 ('constructor' in object && 'constructor' in other) && 12156 !(typeof objCtor == 'function' && objCtor instanceof objCtor && 12157 typeof othCtor == 'function' && othCtor instanceof othCtor)) { 12158 result = false; 12159 } 12160 } 12161 stack['delete'](object); 12162 stack['delete'](other); 12163 return result; 12164} 12165 12166module.exports = equalObjects; 12167 12168 12169/***/ }), 12170/* 238 */ 12171/***/ (function(module, exports, __webpack_require__) { 12172 12173var baseGetAllKeys = __webpack_require__(134), 12174 getSymbols = __webpack_require__(135), 12175 keys = __webpack_require__(64); 12176 12177/** 12178 * Creates an array of own enumerable property names and symbols of `object`. 12179 * 12180 * @private 12181 * @param {Object} object The object to query. 12182 * @returns {Array} Returns the array of property names and symbols. 12183 */ 12184function getAllKeys(object) { 12185 return baseGetAllKeys(object, keys, getSymbols); 12186} 12187 12188module.exports = getAllKeys; 12189 12190 12191/***/ }), 12192/* 239 */ 12193/***/ (function(module, exports) { 12194 12195/** 12196 * A specialized version of `_.filter` for arrays without support for 12197 * iteratee shorthands. 12198 * 12199 * @private 12200 * @param {Array} [array] The array to iterate over. 12201 * @param {Function} predicate The function invoked per iteration. 12202 * @returns {Array} Returns the new filtered array. 12203 */ 12204function arrayFilter(array, predicate) { 12205 var index = -1, 12206 length = array == null ? 0 : array.length, 12207 resIndex = 0, 12208 result = []; 12209 12210 while (++index < length) { 12211 var value = array[index]; 12212 if (predicate(value, index, array)) { 12213 result[resIndex++] = value; 12214 } 12215 } 12216 return result; 12217} 12218 12219module.exports = arrayFilter; 12220 12221 12222/***/ }), 12223/* 240 */ 12224/***/ (function(module, exports) { 12225 12226/** 12227 * The base implementation of `_.times` without support for iteratee shorthands 12228 * or max array length checks. 12229 * 12230 * @private 12231 * @param {number} n The number of times to invoke `iteratee`. 12232 * @param {Function} iteratee The function invoked per iteration. 12233 * @returns {Array} Returns the array of results. 12234 */ 12235function baseTimes(n, iteratee) { 12236 var index = -1, 12237 result = Array(n); 12238 12239 while (++index < n) { 12240 result[index] = iteratee(index); 12241 } 12242 return result; 12243} 12244 12245module.exports = baseTimes; 12246 12247 12248/***/ }), 12249/* 241 */ 12250/***/ (function(module, exports, __webpack_require__) { 12251 12252var baseGetTag = __webpack_require__(39), 12253 isObjectLike = __webpack_require__(30); 12254 12255/** `Object#toString` result references. */ 12256var argsTag = '[object Arguments]'; 12257 12258/** 12259 * The base implementation of `_.isArguments`. 12260 * 12261 * @private 12262 * @param {*} value The value to check. 12263 * @returns {boolean} Returns `true` if `value` is an `arguments` object, 12264 */ 12265function baseIsArguments(value) { 12266 return isObjectLike(value) && baseGetTag(value) == argsTag; 12267} 12268 12269module.exports = baseIsArguments; 12270 12271 12272/***/ }), 12273/* 242 */ 12274/***/ (function(module, exports) { 12275 12276/** 12277 * This method returns `false`. 12278 * 12279 * @static 12280 * @memberOf _ 12281 * @since 4.13.0 12282 * @category Util 12283 * @returns {boolean} Returns `false`. 12284 * @example 12285 * 12286 * _.times(2, _.stubFalse); 12287 * // => [false, false] 12288 */ 12289function stubFalse() { 12290 return false; 12291} 12292 12293module.exports = stubFalse; 12294 12295 12296/***/ }), 12297/* 243 */ 12298/***/ (function(module, exports, __webpack_require__) { 12299 12300var baseGetTag = __webpack_require__(39), 12301 isLength = __webpack_require__(87), 12302 isObjectLike = __webpack_require__(30); 12303 12304/** `Object#toString` result references. */ 12305var argsTag = '[object Arguments]', 12306 arrayTag = '[object Array]', 12307 boolTag = '[object Boolean]', 12308 dateTag = '[object Date]', 12309 errorTag = '[object Error]', 12310 funcTag = '[object Function]', 12311 mapTag = '[object Map]', 12312 numberTag = '[object Number]', 12313 objectTag = '[object Object]', 12314 regexpTag = '[object RegExp]', 12315 setTag = '[object Set]', 12316 stringTag = '[object String]', 12317 weakMapTag = '[object WeakMap]'; 12318 12319var arrayBufferTag = '[object ArrayBuffer]', 12320 dataViewTag = '[object DataView]', 12321 float32Tag = '[object Float32Array]', 12322 float64Tag = '[object Float64Array]', 12323 int8Tag = '[object Int8Array]', 12324 int16Tag = '[object Int16Array]', 12325 int32Tag = '[object Int32Array]', 12326 uint8Tag = '[object Uint8Array]', 12327 uint8ClampedTag = '[object Uint8ClampedArray]', 12328 uint16Tag = '[object Uint16Array]', 12329 uint32Tag = '[object Uint32Array]'; 12330 12331/** Used to identify `toStringTag` values of typed arrays. */ 12332var typedArrayTags = {}; 12333typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = 12334typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = 12335typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = 12336typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = 12337typedArrayTags[uint32Tag] = true; 12338typedArrayTags[argsTag] = typedArrayTags[arrayTag] = 12339typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = 12340typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = 12341typedArrayTags[errorTag] = typedArrayTags[funcTag] = 12342typedArrayTags[mapTag] = typedArrayTags[numberTag] = 12343typedArrayTags[objectTag] = typedArrayTags[regexpTag] = 12344typedArrayTags[setTag] = typedArrayTags[stringTag] = 12345typedArrayTags[weakMapTag] = false; 12346 12347/** 12348 * The base implementation of `_.isTypedArray` without Node.js optimizations. 12349 * 12350 * @private 12351 * @param {*} value The value to check. 12352 * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. 12353 */ 12354function baseIsTypedArray(value) { 12355 return isObjectLike(value) && 12356 isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; 12357} 12358 12359module.exports = baseIsTypedArray; 12360 12361 12362/***/ }), 12363/* 244 */ 12364/***/ (function(module, exports) { 12365 12366/** 12367 * The base implementation of `_.unary` without support for storing metadata. 12368 * 12369 * @private 12370 * @param {Function} func The function to cap arguments for. 12371 * @returns {Function} Returns the new capped function. 12372 */ 12373function baseUnary(func) { 12374 return function(value) { 12375 return func(value); 12376 }; 12377} 12378 12379module.exports = baseUnary; 12380 12381 12382/***/ }), 12383/* 245 */ 12384/***/ (function(module, exports, __webpack_require__) { 12385 12386/* WEBPACK VAR INJECTION */(function(module) {var freeGlobal = __webpack_require__(130); 12387 12388/** Detect free variable `exports`. */ 12389var freeExports = true && exports && !exports.nodeType && exports; 12390 12391/** Detect free variable `module`. */ 12392var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; 12393 12394/** Detect the popular CommonJS extension `module.exports`. */ 12395var moduleExports = freeModule && freeModule.exports === freeExports; 12396 12397/** Detect free variable `process` from Node.js. */ 12398var freeProcess = moduleExports && freeGlobal.process; 12399 12400/** Used to access faster Node.js helpers. */ 12401var nodeUtil = (function() { 12402 try { 12403 // Use `util.types` for Node.js 10+. 12404 var types = freeModule && freeModule.require && freeModule.require('util').types; 12405 12406 if (types) { 12407 return types; 12408 } 12409 12410 // Legacy `process.binding('util')` for Node.js < 10. 12411 return freeProcess && freeProcess.binding && freeProcess.binding('util'); 12412 } catch (e) {} 12413}()); 12414 12415module.exports = nodeUtil; 12416 12417/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(138)(module))) 12418 12419/***/ }), 12420/* 246 */ 12421/***/ (function(module, exports, __webpack_require__) { 12422 12423var overArg = __webpack_require__(139); 12424 12425/* Built-in method references for those with the same name as other `lodash` methods. */ 12426var nativeKeys = overArg(Object.keys, Object); 12427 12428module.exports = nativeKeys; 12429 12430 12431/***/ }), 12432/* 247 */ 12433/***/ (function(module, exports, __webpack_require__) { 12434 12435var getNative = __webpack_require__(29), 12436 root = __webpack_require__(19); 12437 12438/* Built-in method references that are verified to be native. */ 12439var DataView = getNative(root, 'DataView'); 12440 12441module.exports = DataView; 12442 12443 12444/***/ }), 12445/* 248 */ 12446/***/ (function(module, exports, __webpack_require__) { 12447 12448var getNative = __webpack_require__(29), 12449 root = __webpack_require__(19); 12450 12451/* Built-in method references that are verified to be native. */ 12452var Promise = getNative(root, 'Promise'); 12453 12454module.exports = Promise; 12455 12456 12457/***/ }), 12458/* 249 */ 12459/***/ (function(module, exports, __webpack_require__) { 12460 12461var getNative = __webpack_require__(29), 12462 root = __webpack_require__(19); 12463 12464/* Built-in method references that are verified to be native. */ 12465var Set = getNative(root, 'Set'); 12466 12467module.exports = Set; 12468 12469 12470/***/ }), 12471/* 250 */ 12472/***/ (function(module, exports, __webpack_require__) { 12473 12474var isStrictComparable = __webpack_require__(141), 12475 keys = __webpack_require__(64); 12476 12477/** 12478 * Gets the property names, values, and compare flags of `object`. 12479 * 12480 * @private 12481 * @param {Object} object The object to query. 12482 * @returns {Array} Returns the match data of `object`. 12483 */ 12484function getMatchData(object) { 12485 var result = keys(object), 12486 length = result.length; 12487 12488 while (length--) { 12489 var key = result[length], 12490 value = object[key]; 12491 12492 result[length] = [key, value, isStrictComparable(value)]; 12493 } 12494 return result; 12495} 12496 12497module.exports = getMatchData; 12498 12499 12500/***/ }), 12501/* 251 */ 12502/***/ (function(module, exports, __webpack_require__) { 12503 12504var baseIsEqual = __webpack_require__(132), 12505 get = __webpack_require__(91), 12506 hasIn = __webpack_require__(257), 12507 isKey = __webpack_require__(93), 12508 isStrictComparable = __webpack_require__(141), 12509 matchesStrictComparable = __webpack_require__(142), 12510 toKey = __webpack_require__(48); 12511 12512/** Used to compose bitmasks for value comparisons. */ 12513var COMPARE_PARTIAL_FLAG = 1, 12514 COMPARE_UNORDERED_FLAG = 2; 12515 12516/** 12517 * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. 12518 * 12519 * @private 12520 * @param {string} path The path of the property to get. 12521 * @param {*} srcValue The value to match. 12522 * @returns {Function} Returns the new spec function. 12523 */ 12524function baseMatchesProperty(path, srcValue) { 12525 if (isKey(path) && isStrictComparable(srcValue)) { 12526 return matchesStrictComparable(toKey(path), srcValue); 12527 } 12528 return function(object) { 12529 var objValue = get(object, path); 12530 return (objValue === undefined && objValue === srcValue) 12531 ? hasIn(object, path) 12532 : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); 12533 }; 12534} 12535 12536module.exports = baseMatchesProperty; 12537 12538 12539/***/ }), 12540/* 252 */ 12541/***/ (function(module, exports, __webpack_require__) { 12542 12543var memoizeCapped = __webpack_require__(253); 12544 12545/** Used to match property names within property paths. */ 12546var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; 12547 12548/** Used to match backslashes in property paths. */ 12549var reEscapeChar = /\\(\\)?/g; 12550 12551/** 12552 * Converts `string` to a property path array.
vendor: 4,313 bytes, lines 12553-12722
12553 * 12554 * @private 12555 * @param {string} string The string to convert. 12556 * @returns {Array} Returns the property path array. 12557 */ 12558var stringToPath = memoizeCapped(function(string) { 12559 var result = []; 12560 if (string.charCodeAt(0) === 46 /* . */) { 12561 result.push(''); 12562 } 12563 string.replace(rePropName, function(match, number, quote, subString) { 12564 result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); 12565 }); 12566 return result; 12567}); 12568 12569module.exports = stringToPath; 12570 12571 12572/***/ }), 12573/* 253 */ 12574/***/ (function(module, exports, __webpack_require__) { 12575 12576var memoize = __webpack_require__(254); 12577 12578/** Used as the maximum memoize cache size. */ 12579var MAX_MEMOIZE_SIZE = 500; 12580 12581/** 12582 * A specialized version of `_.memoize` which clears the memoized function's 12583 * cache when it exceeds `MAX_MEMOIZE_SIZE`. 12584 * 12585 * @private 12586 * @param {Function} func The function to have its output memoized. 12587 * @returns {Function} Returns the new memoized function. 12588 */ 12589function memoizeCapped(func) { 12590 var result = memoize(func, function(key) { 12591 if (cache.size === MAX_MEMOIZE_SIZE) { 12592 cache.clear(); 12593 } 12594 return key; 12595 }); 12596 12597 var cache = result.cache; 12598 return result; 12599} 12600 12601module.exports = memoizeCapped; 12602 12603 12604/***/ }), 12605/* 254 */ 12606/***/ (function(module, exports, __webpack_require__) { 12607 12608var MapCache = __webpack_require__(82); 12609 12610/** Error message constants. */ 12611var FUNC_ERROR_TEXT = 'Expected a function'; 12612 12613/** 12614 * Creates a function that memoizes the result of `func`. If `resolver` is 12615 * provided, it determines the cache key for storing the result based on the 12616 * arguments provided to the memoized function. By default, the first argument 12617 * provided to the memoized function is used as the map cache key. The `func` 12618 * is invoked with the `this` binding of the memoized function. 12619 * 12620 * **Note:** The cache is exposed as the `cache` property on the memoized 12621 * function. Its creation may be customized by replacing the `_.memoize.Cache` 12622 * constructor with one whose instances implement the 12623 * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) 12624 * method interface of `clear`, `delete`, `get`, `has`, and `set`. 12625 * 12626 * @static 12627 * @memberOf _ 12628 * @since 0.1.0 12629 * @category Function 12630 * @param {Function} func The function to have its output memoized. 12631 * @param {Function} [resolver] The function to resolve the cache key. 12632 * @returns {Function} Returns the new memoized function. 12633 * @example 12634 * 12635 * var object = { 'a': 1, 'b': 2 }; 12636 * var other = { 'c': 3, 'd': 4 }; 12637 * 12638 * var values = _.memoize(_.values); 12639 * values(object); 12640 * // => [1, 2] 12641 * 12642 * values(other); 12643 * // => [3, 4] 12644 * 12645 * object.a = 2; 12646 * values(object); 12647 * // => [1, 2] 12648 * 12649 * // Modify the result cache. 12650 * values.cache.set(object, ['a', 'b']); 12651 * values(object); 12652 * // => ['a', 'b'] 12653 * 12654 * // Replace `_.memoize.Cache`. 12655 * _.memoize.Cache = WeakMap; 12656 */ 12657function memoize(func, resolver) { 12658 if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { 12659 throw new TypeError(FUNC_ERROR_TEXT); 12660 } 12661 var memoized = function() { 12662 var args = arguments, 12663 key = resolver ? resolver.apply(this, args) : args[0], 12664 cache = memoized.cache; 12665 12666 if (cache.has(key)) { 12667 return cache.get(key); 12668 } 12669 var result = func.apply(this, args); 12670 memoized.cache = cache.set(key, result) || cache; 12671 return result; 12672 }; 12673 memoized.cache = new (memoize.Cache || MapCache); 12674 return memoized; 12675} 12676 12677// Expose `MapCache`. 12678memoize.Cache = MapCache; 12679 12680module.exports = memoize; 12681 12682 12683/***/ }), 12684/* 255 */ 12685/***/ (function(module, exports, __webpack_require__) { 12686 12687var baseToString = __webpack_require__(256); 12688 12689/** 12690 * Converts `value` to a string. An empty string is returned for `null` 12691 * and `undefined` values. The sign of `-0` is preserved. 12692 * 12693 * @static 12694 * @memberOf _ 12695 * @since 4.0.0 12696 * @category Lang 12697 * @param {*} value The value to convert. 12698 * @returns {string} Returns the converted string. 12699 * @example 12700 * 12701 * _.toString(null); 12702 * // => '' 12703 * 12704 * _.toString(-0); 12705 * // => '-0' 12706 * 12707 * _.toString([1, 2, 3]); 12708 * // => '1,2,3' 12709 */ 12710function toString(value) { 12711 return value == null ? '' : baseToString(value); 12712} 12713 12714module.exports = toString; 12715 12716 12717/***/ }), 12718/* 256 */ 12719/***/ (function(module, exports, __webpack_require__) { 12720 12721var Symbol = __webpack_require__(47), 12722 arrayMap = __webpack_require__(143),
vendor: 3,106 bytes, lines 12723-12844
12723 isArray = __webpack_require__(11), 12724 isSymbol = __webpack_require__(67); 12725 12726/** Used as references for various `Number` constants. */ 12727var INFINITY = 1 / 0; 12728 12729/** Used to convert symbols to primitives and strings. */ 12730var symbolProto = Symbol ? Symbol.prototype : undefined, 12731 symbolToString = symbolProto ? symbolProto.toString : undefined; 12732 12733/** 12734 * The base implementation of `_.toString` which doesn't convert nullish 12735 * values to empty strings. 12736 * 12737 * @private 12738 * @param {*} value The value to process. 12739 * @returns {string} Returns the string. 12740 */ 12741function baseToString(value) { 12742 // Exit early for strings to avoid a performance hit in some environments. 12743 if (typeof value == 'string') { 12744 return value; 12745 } 12746 if (isArray(value)) { 12747 // Recursively convert values (susceptible to call stack limits). 12748 return arrayMap(value, baseToString) + ''; 12749 } 12750 if (isSymbol(value)) { 12751 return symbolToString ? symbolToString.call(value) : ''; 12752 } 12753 var result = (value + ''); 12754 return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; 12755} 12756 12757module.exports = baseToString; 12758 12759 12760/***/ }), 12761/* 257 */ 12762/***/ (function(module, exports, __webpack_require__) { 12763 12764var baseHasIn = __webpack_require__(258), 12765 hasPath = __webpack_require__(259); 12766 12767/** 12768 * Checks if `path` is a direct or inherited property of `object`. 12769 * 12770 * @static 12771 * @memberOf _ 12772 * @since 4.0.0 12773 * @category Object 12774 * @param {Object} object The object to query. 12775 * @param {Array|string} path The path to check. 12776 * @returns {boolean} Returns `true` if `path` exists, else `false`. 12777 * @example 12778 * 12779 * var object = _.create({ 'a': _.create({ 'b': 2 }) }); 12780 * 12781 * _.hasIn(object, 'a'); 12782 * // => true 12783 * 12784 * _.hasIn(object, 'a.b'); 12785 * // => true 12786 * 12787 * _.hasIn(object, ['a', 'b']); 12788 * // => true 12789 * 12790 * _.hasIn(object, 'b'); 12791 * // => false 12792 */ 12793function hasIn(object, path) { 12794 return object != null && hasPath(object, path, baseHasIn); 12795} 12796 12797module.exports = hasIn; 12798 12799 12800/***/ }), 12801/* 258 */ 12802/***/ (function(module, exports) { 12803 12804/** 12805 * The base implementation of `_.hasIn` without support for deep paths. 12806 * 12807 * @private 12808 * @param {Object} [object] The object to query. 12809 * @param {Array|string} key The key to check. 12810 * @returns {boolean} Returns `true` if `key` exists, else `false`. 12811 */ 12812function baseHasIn(object, key) { 12813 return object != null && key in Object(object); 12814} 12815 12816module.exports = baseHasIn; 12817 12818 12819/***/ }), 12820/* 259 */ 12821/***/ (function(module, exports, __webpack_require__) { 12822 12823var castPath = __webpack_require__(66), 12824 isArguments = __webpack_require__(65), 12825 isArray = __webpack_require__(11), 12826 isIndex = __webpack_require__(85), 12827 isLength = __webpack_require__(87), 12828 toKey = __webpack_require__(48); 12829 12830/** 12831 * Checks if `path` exists on `object`. 12832 * 12833 * @private 12834 * @param {Object} object The object to query. 12835 * @param {Array|string} path The path to check. 12836 * @param {Function} hasFunc The function to check properties. 12837 * @returns {boolean} Returns `true` if `path` exists, else `false`. 12838 */ 12839function hasPath(object, path, hasFunc) { 12840 path = castPath(path, object); 12841 12842 var index = -1, 12843 length = path.length, 12844 result = false;
12845 12846 while (++index < length) { 12847 var key = toKey(path[index]); 12848 if (!(result = object != null && hasFunc(object, key))) { 12849 break; 12850 } 12851 object = object[key]; 12852 } 12853 if (result || ++index != length) { 12854 return result; 12855 } 12856 length = object == null ? 0 : object.length; 12857 return !!length && isLength(length) && isIndex(key, length) && 12858 (isArray(object) || isArguments(object)); 12859} 12860 12861module.exports = hasPath; 12862 12863 12864/***/ }), 12865/* 260 */ 12866/***/ (function(module, exports, __webpack_require__) { 12867 12868var baseProperty = __webpack_require__(144), 12869 basePropertyDeep = __webpack_require__(261), 12870 isKey = __webpack_require__(93), 12871 toKey = __webpack_require__(48); 12872 12873/** 12874 * Creates a function that returns the value at `path` of a given object. 12875 * 12876 * @static 12877 * @memberOf _ 12878 * @since 2.4.0 12879 * @category Util 12880 * @param {Array|string} path The path of the property to get. 12881 * @returns {Function} Returns the new accessor function. 12882 * @example 12883 * 12884 * var objects = [ 12885 * { 'a': { 'b': 2 } }, 12886 * { 'a': { 'b': 1 } } 12887 * ]; 12888 * 12889 * _.map(objects, _.property('a.b')); 12890 * // => [2, 1] 12891 * 12892 * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); 12893 * // => [1, 2] 12894 */ 12895function property(path) { 12896 return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); 12897} 12898 12899module.exports = property; 12900 12901 12902/***/ }), 12903/* 261 */ 12904/***/ (function(module, exports, __webpack_require__) { 12905 12906var baseGet = __webpack_require__(92); 12907 12908/** 12909 * A specialized version of `baseProperty` which supports deep paths. 12910 * 12911 * @private 12912 * @param {Array|string} path The path of the property to get. 12913 * @returns {Function} Returns the new accessor function. 12914 */ 12915function basePropertyDeep(path) { 12916 return function(object) { 12917 return baseGet(object, path); 12918 }; 12919} 12920 12921module.exports = basePropertyDeep; 12922 12923 12924/***/ }), 12925/* 262 */ 12926/***/ (function(module, exports, __webpack_require__) { 12927 12928var toNumber = __webpack_require__(95); 12929 12930/** Used as references for various `Number` constants. */ 12931var INFINITY = 1 / 0, 12932 MAX_INTEGER = 1.7976931348623157e+308; 12933 12934/** 12935 * Converts `value` to a finite number. 12936 * 12937 * @static 12938 * @memberOf _ 12939 * @since 4.12.0 12940 * @category Lang 12941 * @param {*} value The value to convert. 12942 * @returns {number} Returns the converted number. 12943 * @example 12944 * 12945 * _.toFinite(3.2); 12946 * // => 3.2 12947 * 12948 * _.toFinite(Number.MIN_VALUE); 12949 * // => 5e-324 12950 * 12951 * _.toFinite(Infinity); 12952 * // => 1.7976931348623157e+308 12953 * 12954 * _.toFinite('3.2'); 12955 * // => 3.2 12956 */ 12957function toFinite(value) { 12958 if (!value) { 12959 return value === 0 ? value : 0; 12960 } 12961 value = toNumber(value); 12962 if (value === INFINITY || value === -INFINITY) { 12963 var sign = (value < 0 ? -1 : 1); 12964 return sign * MAX_INTEGER; 12965 } 12966 return value === value ? value : 0; 12967} 12968 12969module.exports = toFinite; 12970 12971 12972/***/ }), 12973/* 263 */ 12974/***/ (function(module, exports, __webpack_require__) { 12975 12976var trimmedEndIndex = __webpack_require__(264); 12977 12978/** Used to match leading whitespace. */ 12979var reTrimStart = /^\s+/; 12980 12981/** 12982 * The base implementation of `_.trim`. 12983 * 12984 * @private 12985 * @param {string} string The string to trim. 12986 * @returns {string} Returns the trimmed string. 12987 */ 12988function baseTrim(string) { 12989 return string 12990 ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') 12991 : string; 12992} 12993 12994module.exports = baseTrim; 12995 12996 12997/***/ }), 12998/* 264 */ 12999/***/ (function(module, exports) { 13000 13001/** Used to match a single whitespace character. */ 13002var reWhitespace = /\s/; 13003 13004/** 13005 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace 13006 * character of `string`. 13007 * 13008 * @private 13009 * @param {string} string The string to inspect. 13010 * @returns {number} Returns the index of the last non-whitespace character. 13011 */ 13012function trimmedEndIndex(string) { 13013 var index = string.length; 13014 13015 while (index-- && reWhitespace.test(string.charAt(index))) {} 13016 return index; 13017} 13018 13019module.exports = trimmedEndIndex; 13020 13021 13022/***/ }), 13023/* 265 */ 13024/***/ (function(module, exports, __webpack_require__) { 13025 13026var parent = __webpack_require__(266); 13027__webpack_require__(324); 13028__webpack_require__(330); 13029__webpack_require__(341); 13030// TODO: Remove from `core-js@4` 13031__webpack_require__(347); 13032// TODO: Remove from `core-js@4` 13033__webpack_require__(348); 13034__webpack_require__(349); 13035__webpack_require__(350); 13036__webpack_require__(351); 13037__webpack_require__(352); 13038__webpack_require__(355); 13039__webpack_require__(356); 13040__webpack_require__(357); 13041__webpack_require__(358); 13042 13043module.exports = parent; 13044 13045 13046/***/ }), 13047/* 266 */ 13048/***/ (function(module, exports, __webpack_require__) { 13049 13050var parent = __webpack_require__(267); 13051 13052module.exports = parent; 13053 13054 13055/***/ }), 13056/* 267 */ 13057/***/ (function(module, exports, __webpack_require__) { 13058 13059__webpack_require__(268); 13060__webpack_require__(279); 13061__webpack_require__(280); 13062__webpack_require__(155); 13063__webpack_require__(283); 13064__webpack_require__(284); 13065__webpack_require__(286); 13066__webpack_require__(287); 13067__webpack_require__(289);
vendor: 5,020 bytes, lines 13068-13233
13068__webpack_require__(290); 13069__webpack_require__(291); 13070__webpack_require__(292); 13071__webpack_require__(293); 13072__webpack_require__(294); 13073__webpack_require__(159); 13074__webpack_require__(296); 13075__webpack_require__(297); 13076__webpack_require__(301); 13077__webpack_require__(302); 13078__webpack_require__(304); 13079__webpack_require__(305); 13080__webpack_require__(306); 13081__webpack_require__(307); 13082__webpack_require__(308); 13083__webpack_require__(309); 13084__webpack_require__(310); 13085__webpack_require__(315); 13086__webpack_require__(316); 13087__webpack_require__(317); 13088__webpack_require__(318); 13089__webpack_require__(319); 13090__webpack_require__(321); 13091var path = __webpack_require__(323); 13092 13093module.exports = path.Array; 13094 13095 13096/***/ }), 13097/* 268 */ 13098/***/ (function(module, exports, __webpack_require__) { 13099 13100var $ = __webpack_require__(1); 13101var from = __webpack_require__(277); 13102var checkCorrectnessOfIteration = __webpack_require__(108); 13103 13104var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { 13105 // eslint-disable-next-line es/no-array-from -- required for testing 13106 Array.from(iterable); 13107}); 13108 13109// `Array.from` method 13110// https://tc39.es/ecma262/#sec-array.from 13111$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { 13112 from: from 13113}); 13114 13115 13116/***/ }), 13117/* 269 */ 13118/***/ (function(module, exports, __webpack_require__) { 13119 13120"use strict"; 13121 13122var $propertyIsEnumerable = {}.propertyIsEnumerable; 13123// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe 13124var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 13125 13126// Nashorn ~ JDK8 bug 13127var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1); 13128 13129// `Object.prototype.propertyIsEnumerable` method implementation 13130// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable 13131exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 13132 var descriptor = getOwnPropertyDescriptor(this, V); 13133 return !!descriptor && descriptor.enumerable; 13134} : $propertyIsEnumerable; 13135 13136 13137/***/ }), 13138/* 270 */ 13139/***/ (function(module, exports, __webpack_require__) { 13140 13141var global = __webpack_require__(0); 13142var call = __webpack_require__(15); 13143var isObject = __webpack_require__(13); 13144var isSymbol = __webpack_require__(146); 13145var getMethod = __webpack_require__(33); 13146var ordinaryToPrimitive = __webpack_require__(271); 13147var wellKnownSymbol = __webpack_require__(6); 13148 13149var TypeError = global.TypeError; 13150var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); 13151 13152// `ToPrimitive` abstract operation 13153// https://tc39.es/ecma262/#sec-toprimitive 13154module.exports = function (input, pref) { 13155 if (!isObject(input) || isSymbol(input)) return input; 13156 var exoticToPrim = getMethod(input, TO_PRIMITIVE); 13157 var result; 13158 if (exoticToPrim) { 13159 if (pref === undefined) pref = 'default'; 13160 result = call(exoticToPrim, input, pref); 13161 if (!isObject(result) || isSymbol(result)) return result; 13162 throw TypeError("Can't convert object to primitive value"); 13163 } 13164 if (pref === undefined) pref = 'number'; 13165 return ordinaryToPrimitive(input, pref); 13166}; 13167 13168 13169/***/ }), 13170/* 271 */ 13171/***/ (function(module, exports, __webpack_require__) { 13172 13173var global = __webpack_require__(0); 13174var call = __webpack_require__(15); 13175var isCallable = __webpack_require__(5); 13176var isObject = __webpack_require__(13); 13177 13178var TypeError = global.TypeError; 13179 13180// `OrdinaryToPrimitive` abstract operation 13181// https://tc39.es/ecma262/#sec-ordinarytoprimitive 13182module.exports = function (input, pref) { 13183 var fn, val; 13184 if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; 13185 if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; 13186 if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; 13187 throw TypeError("Can't convert object to primitive value"); 13188}; 13189 13190 13191/***/ }), 13192/* 272 */ 13193/***/ (function(module, exports, __webpack_require__) { 13194 13195var global = __webpack_require__(0); 13196var isCallable = __webpack_require__(5); 13197var inspectSource = __webpack_require__(73); 13198 13199var WeakMap = global.WeakMap; 13200 13201module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap)); 13202 13203 13204/***/ }), 13205/* 273 */ 13206/***/ (function(module, exports, __webpack_require__) { 13207 13208var hasOwn = __webpack_require__(17); 13209var ownKeys = __webpack_require__(274); 13210var getOwnPropertyDescriptorModule = __webpack_require__(96); 13211var definePropertyModule = __webpack_require__(18); 13212 13213module.exports = function (target, source) { 13214 var keys = ownKeys(source); 13215 var defineProperty = definePropertyModule.f; 13216 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 13217 for (var i = 0; i < keys.length; i++) { 13218 var key = keys[i]; 13219 if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 13220 } 13221}; 13222 13223 13224/***/ }), 13225/* 274 */ 13226/***/ (function(module, exports, __webpack_require__) { 13227 13228var getBuiltIn = __webpack_require__(16); 13229var uncurryThis = __webpack_require__(2); 13230var getOwnPropertyNamesModule = __webpack_require__(103); 13231var getOwnPropertySymbolsModule = __webpack_require__(276); 13232var anObject = __webpack_require__(12); 13233
vendor: 4,360 bytes, lines 13234-13377
13234var concat = uncurryThis([].concat); 13235 13236// all object keys, includes non-enumerable and symbols 13237module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 13238 var keys = getOwnPropertyNamesModule.f(anObject(it)); 13239 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 13240 return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; 13241}; 13242 13243 13244/***/ }), 13245/* 275 */ 13246/***/ (function(module, exports, __webpack_require__) { 13247 13248var toIntegerOrInfinity = __webpack_require__(34); 13249 13250var min = Math.min; 13251 13252// `ToLength` abstract operation 13253// https://tc39.es/ecma262/#sec-tolength 13254module.exports = function (argument) { 13255 return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 13256}; 13257 13258 13259/***/ }), 13260/* 276 */ 13261/***/ (function(module, exports) { 13262 13263// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe 13264exports.f = Object.getOwnPropertySymbols; 13265 13266 13267/***/ }), 13268/* 277 */ 13269/***/ (function(module, exports, __webpack_require__) { 13270 13271"use strict"; 13272 13273var global = __webpack_require__(0); 13274var bind = __webpack_require__(22); 13275var call = __webpack_require__(15); 13276var toObject = __webpack_require__(7); 13277var callWithSafeIterationClosing = __webpack_require__(278); 13278var isArrayIteratorMethod = __webpack_require__(154); 13279var isConstructor = __webpack_require__(43); 13280var lengthOfArrayLike = __webpack_require__(4); 13281var createProperty = __webpack_require__(53); 13282var getIterator = __webpack_require__(76); 13283var getIteratorMethod = __webpack_require__(77); 13284 13285var Array = global.Array; 13286 13287// `Array.from` method implementation 13288// https://tc39.es/ecma262/#sec-array.from 13289module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 13290 var O = toObject(arrayLike); 13291 var IS_CONSTRUCTOR = isConstructor(this); 13292 var argumentsLength = arguments.length; 13293 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 13294 var mapping = mapfn !== undefined; 13295 if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined); 13296 var iteratorMethod = getIteratorMethod(O); 13297 var index = 0; 13298 var length, result, step, iterator, next, value; 13299 // if the target is not iterable or it's an array with the default iterator - use a simple case 13300 if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) { 13301 iterator = getIterator(O, iteratorMethod); 13302 next = iterator.next; 13303 result = IS_CONSTRUCTOR ? new this() : []; 13304 for (;!(step = call(next, iterator)).done; index++) { 13305 value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; 13306 createProperty(result, index, value); 13307 } 13308 } else { 13309 length = lengthOfArrayLike(O); 13310 result = IS_CONSTRUCTOR ? new this(length) : Array(length); 13311 for (;length > index; index++) { 13312 value = mapping ? mapfn(O[index], index) : O[index]; 13313 createProperty(result, index, value); 13314 } 13315 } 13316 result.length = index; 13317 return result; 13318}; 13319 13320 13321/***/ }), 13322/* 278 */ 13323/***/ (function(module, exports, __webpack_require__) { 13324 13325var anObject = __webpack_require__(12); 13326var iteratorClose = __webpack_require__(153); 13327 13328// call something on iterator step with safe closing on error 13329module.exports = function (iterator, fn, value, ENTRIES) { 13330 try { 13331 return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); 13332 } catch (error) { 13333 iteratorClose(iterator, 'throw', error); 13334 } 13335}; 13336 13337 13338/***/ }), 13339/* 279 */ 13340/***/ (function(module, exports, __webpack_require__) { 13341 13342var $ = __webpack_require__(1); 13343var isArray = __webpack_require__(35); 13344 13345// `Array.isArray` method 13346// https://tc39.es/ecma262/#sec-array.isarray 13347$({ target: 'Array', stat: true }, { 13348 isArray: isArray 13349}); 13350 13351 13352/***/ }), 13353/* 280 */ 13354/***/ (function(module, exports, __webpack_require__) { 13355 13356"use strict"; 13357 13358var $ = __webpack_require__(1); 13359var global = __webpack_require__(0); 13360var fails = __webpack_require__(9); 13361var isConstructor = __webpack_require__(43); 13362var createProperty = __webpack_require__(53); 13363 13364var Array = global.Array; 13365 13366var ISNT_GENERIC = fails(function () { 13367 function F() { /* empty */ } 13368 return !(Array.of.call(F) instanceof F); 13369}); 13370 13371// `Array.of` method 13372// https://tc39.es/ecma262/#sec-array.of 13373// WebKit Array.of isn't generic 13374$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { 13375 of: function of(/* ...args */) { 13376 var index = 0; 13377 var argumentsLength = arguments.length;
vendor: 4,201 bytes, lines 13378-13506
13378 var result = new (isConstructor(this) ? this : Array)(argumentsLength); 13379 while (argumentsLength > index) createProperty(result, index, arguments[index++]); 13380 result.length = argumentsLength; 13381 return result; 13382 } 13383}); 13384 13385 13386/***/ }), 13387/* 281 */ 13388/***/ (function(module, exports, __webpack_require__) { 13389 13390var DESCRIPTORS = __webpack_require__(20); 13391var definePropertyModule = __webpack_require__(18); 13392var anObject = __webpack_require__(12); 13393var toIndexedObject = __webpack_require__(24); 13394var objectKeys = __webpack_require__(282); 13395 13396// `Object.defineProperties` method 13397// https://tc39.es/ecma262/#sec-object.defineproperties 13398// eslint-disable-next-line es/no-object-defineproperties -- safe 13399module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { 13400 anObject(O); 13401 var props = toIndexedObject(Properties); 13402 var keys = objectKeys(Properties); 13403 var length = keys.length; 13404 var index = 0; 13405 var key; 13406 while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]); 13407 return O; 13408}; 13409 13410 13411/***/ }), 13412/* 282 */ 13413/***/ (function(module, exports, __webpack_require__) { 13414 13415var internalObjectKeys = __webpack_require__(152); 13416var enumBugKeys = __webpack_require__(105); 13417 13418// `Object.keys` method 13419// https://tc39.es/ecma262/#sec-object.keys 13420// eslint-disable-next-line es/no-object-keys -- safe 13421module.exports = Object.keys || function keys(O) { 13422 return internalObjectKeys(O, enumBugKeys); 13423}; 13424 13425 13426/***/ }), 13427/* 283 */ 13428/***/ (function(module, exports, __webpack_require__) { 13429 13430"use strict"; 13431 13432var $ = __webpack_require__(1); 13433var global = __webpack_require__(0); 13434var fails = __webpack_require__(9); 13435var isArray = __webpack_require__(35); 13436var isObject = __webpack_require__(13); 13437var toObject = __webpack_require__(7); 13438var lengthOfArrayLike = __webpack_require__(4); 13439var createProperty = __webpack_require__(53); 13440var arraySpeciesCreate = __webpack_require__(44); 13441var arrayMethodHasSpeciesSupport = __webpack_require__(54); 13442var wellKnownSymbol = __webpack_require__(6); 13443var V8_VERSION = __webpack_require__(31); 13444 13445var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); 13446var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 13447var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; 13448var TypeError = global.TypeError; 13449 13450// We can't use this feature detection in V8 since it causes 13451// deoptimization and serious performance degradation 13452// https://github.com/zloirock/core-js/issues/679 13453var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { 13454 var array = []; 13455 array[IS_CONCAT_SPREADABLE] = false; 13456 return array.concat()[0] !== array; 13457}); 13458 13459var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); 13460 13461var isConcatSpreadable = function (O) { 13462 if (!isObject(O)) return false; 13463 var spreadable = O[IS_CONCAT_SPREADABLE]; 13464 return spreadable !== undefined ? !!spreadable : isArray(O); 13465}; 13466 13467var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; 13468 13469// `Array.prototype.concat` method 13470// https://tc39.es/ecma262/#sec-array.prototype.concat 13471// with adding support of @@isConcatSpreadable and @@species 13472$({ target: 'Array', proto: true, forced: FORCED }, { 13473 // eslint-disable-next-line no-unused-vars -- required for `.length` 13474 concat: function concat(arg) { 13475 var O = toObject(this); 13476 var A = arraySpeciesCreate(O, 0); 13477 var n = 0; 13478 var i, k, length, len, E; 13479 for (i = -1, length = arguments.length; i < length; i++) { 13480 E = i === -1 ? O : arguments[i]; 13481 if (isConcatSpreadable(E)) { 13482 len = lengthOfArrayLike(E); 13483 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 13484 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); 13485 } else { 13486 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 13487 createProperty(A, n++, E); 13488 } 13489 } 13490 A.length = n; 13491 return A; 13492 } 13493}); 13494 13495 13496/***/ }), 13497/* 284 */ 13498/***/ (function(module, exports, __webpack_require__) { 13499 13500var $ = __webpack_require__(1); 13501var copyWithin = __webpack_require__(285); 13502var addToUnscopables = __webpack_require__(8); 13503 13504// `Array.prototype.copyWithin` method 13505// https://tc39.es/ecma262/#sec-array.prototype.copywithin 13506$({ target: 'Array', proto: true }, {
vendor: 16,297 bytes, lines 13507-14042
13507 copyWithin: copyWithin 13508}); 13509 13510// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 13511addToUnscopables('copyWithin'); 13512 13513 13514/***/ }), 13515/* 285 */ 13516/***/ (function(module, exports, __webpack_require__) { 13517 13518"use strict"; 13519 13520var toObject = __webpack_require__(7); 13521var toAbsoluteIndex = __webpack_require__(51); 13522var lengthOfArrayLike = __webpack_require__(4); 13523 13524var min = Math.min; 13525 13526// `Array.prototype.copyWithin` method implementation 13527// https://tc39.es/ecma262/#sec-array.prototype.copywithin 13528// eslint-disable-next-line es/no-array-prototype-copywithin -- safe 13529module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 13530 var O = toObject(this); 13531 var len = lengthOfArrayLike(O); 13532 var to = toAbsoluteIndex(target, len); 13533 var from = toAbsoluteIndex(start, len); 13534 var end = arguments.length > 2 ? arguments[2] : undefined; 13535 var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 13536 var inc = 1; 13537 if (from < to && to < from + count) { 13538 inc = -1; 13539 from += count - 1; 13540 to += count - 1; 13541 } 13542 while (count-- > 0) { 13543 if (from in O) O[to] = O[from]; 13544 else delete O[to]; 13545 to += inc; 13546 from += inc; 13547 } return O; 13548}; 13549 13550 13551/***/ }), 13552/* 286 */ 13553/***/ (function(module, exports, __webpack_require__) { 13554 13555"use strict"; 13556 13557var $ = __webpack_require__(1); 13558var $every = __webpack_require__(25).every; 13559var arrayMethodIsStrict = __webpack_require__(26); 13560 13561var STRICT_METHOD = arrayMethodIsStrict('every'); 13562 13563// `Array.prototype.every` method 13564// https://tc39.es/ecma262/#sec-array.prototype.every 13565$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { 13566 every: function every(callbackfn /* , thisArg */) { 13567 return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13568 } 13569}); 13570 13571 13572/***/ }), 13573/* 287 */ 13574/***/ (function(module, exports, __webpack_require__) { 13575 13576var $ = __webpack_require__(1); 13577var fill = __webpack_require__(288); 13578var addToUnscopables = __webpack_require__(8); 13579 13580// `Array.prototype.fill` method 13581// https://tc39.es/ecma262/#sec-array.prototype.fill 13582$({ target: 'Array', proto: true }, { 13583 fill: fill 13584}); 13585 13586// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 13587addToUnscopables('fill'); 13588 13589 13590/***/ }), 13591/* 288 */ 13592/***/ (function(module, exports, __webpack_require__) { 13593 13594"use strict"; 13595 13596var toObject = __webpack_require__(7); 13597var toAbsoluteIndex = __webpack_require__(51); 13598var lengthOfArrayLike = __webpack_require__(4); 13599 13600// `Array.prototype.fill` method implementation 13601// https://tc39.es/ecma262/#sec-array.prototype.fill 13602module.exports = function fill(value /* , start = 0, end = @length */) { 13603 var O = toObject(this); 13604 var length = lengthOfArrayLike(O); 13605 var argumentsLength = arguments.length; 13606 var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); 13607 var end = argumentsLength > 2 ? arguments[2] : undefined; 13608 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 13609 while (endPos > index) O[index++] = value; 13610 return O; 13611}; 13612 13613 13614/***/ }), 13615/* 289 */ 13616/***/ (function(module, exports, __webpack_require__) { 13617 13618"use strict"; 13619 13620var $ = __webpack_require__(1); 13621var $filter = __webpack_require__(25).filter; 13622var arrayMethodHasSpeciesSupport = __webpack_require__(54); 13623 13624var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); 13625 13626// `Array.prototype.filter` method 13627// https://tc39.es/ecma262/#sec-array.prototype.filter 13628// with adding support of @@species 13629$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 13630 filter: function filter(callbackfn /* , thisArg */) { 13631 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13632 } 13633}); 13634 13635 13636/***/ }), 13637/* 290 */ 13638/***/ (function(module, exports, __webpack_require__) { 13639 13640"use strict"; 13641 13642var $ = __webpack_require__(1); 13643var $find = __webpack_require__(25).find; 13644var addToUnscopables = __webpack_require__(8); 13645 13646var FIND = 'find'; 13647var SKIPS_HOLES = true; 13648 13649// Shouldn't skip holes 13650if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); 13651 13652// `Array.prototype.find` method 13653// https://tc39.es/ecma262/#sec-array.prototype.find 13654$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { 13655 find: function find(callbackfn /* , that = undefined */) { 13656 return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13657 } 13658}); 13659 13660// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 13661addToUnscopables(FIND); 13662 13663 13664/***/ }), 13665/* 291 */ 13666/***/ (function(module, exports, __webpack_require__) { 13667 13668"use strict"; 13669 13670var $ = __webpack_require__(1); 13671var $findIndex = __webpack_require__(25).findIndex; 13672var addToUnscopables = __webpack_require__(8); 13673 13674var FIND_INDEX = 'findIndex'; 13675var SKIPS_HOLES = true; 13676 13677// Shouldn't skip holes 13678if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); 13679 13680// `Array.prototype.findIndex` method 13681// https://tc39.es/ecma262/#sec-array.prototype.findindex 13682$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { 13683 findIndex: function findIndex(callbackfn /* , that = undefined */) { 13684 return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13685 } 13686}); 13687 13688// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 13689addToUnscopables(FIND_INDEX); 13690 13691 13692/***/ }), 13693/* 292 */ 13694/***/ (function(module, exports, __webpack_require__) { 13695 13696"use strict"; 13697 13698var $ = __webpack_require__(1); 13699var flattenIntoArray = __webpack_require__(158); 13700var toObject = __webpack_require__(7); 13701var lengthOfArrayLike = __webpack_require__(4); 13702var toIntegerOrInfinity = __webpack_require__(34); 13703var arraySpeciesCreate = __webpack_require__(44); 13704 13705// `Array.prototype.flat` method 13706// https://tc39.es/ecma262/#sec-array.prototype.flat 13707$({ target: 'Array', proto: true }, { 13708 flat: function flat(/* depthArg = 1 */) { 13709 var depthArg = arguments.length ? arguments[0] : undefined; 13710 var O = toObject(this); 13711 var sourceLen = lengthOfArrayLike(O); 13712 var A = arraySpeciesCreate(O, 0); 13713 A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg)); 13714 return A; 13715 } 13716}); 13717 13718 13719/***/ }), 13720/* 293 */ 13721/***/ (function(module, exports, __webpack_require__) { 13722 13723"use strict"; 13724 13725var $ = __webpack_require__(1); 13726var flattenIntoArray = __webpack_require__(158); 13727var aCallable = __webpack_require__(21); 13728var toObject = __webpack_require__(7); 13729var lengthOfArrayLike = __webpack_require__(4); 13730var arraySpeciesCreate = __webpack_require__(44); 13731 13732// `Array.prototype.flatMap` method 13733// https://tc39.es/ecma262/#sec-array.prototype.flatmap 13734$({ target: 'Array', proto: true }, { 13735 flatMap: function flatMap(callbackfn /* , thisArg */) { 13736 var O = toObject(this); 13737 var sourceLen = lengthOfArrayLike(O); 13738 var A; 13739 aCallable(callbackfn); 13740 A = arraySpeciesCreate(O, 0); 13741 A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13742 return A; 13743 } 13744}); 13745 13746 13747/***/ }), 13748/* 294 */ 13749/***/ (function(module, exports, __webpack_require__) { 13750 13751"use strict"; 13752 13753var $ = __webpack_require__(1); 13754var forEach = __webpack_require__(295); 13755 13756// `Array.prototype.forEach` method 13757// https://tc39.es/ecma262/#sec-array.prototype.foreach 13758// eslint-disable-next-line es/no-array-prototype-foreach -- safe 13759$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { 13760 forEach: forEach 13761}); 13762 13763 13764/***/ }), 13765/* 295 */ 13766/***/ (function(module, exports, __webpack_require__) { 13767 13768"use strict"; 13769 13770var $forEach = __webpack_require__(25).forEach; 13771var arrayMethodIsStrict = __webpack_require__(26); 13772 13773var STRICT_METHOD = arrayMethodIsStrict('forEach'); 13774 13775// `Array.prototype.forEach` method implementation 13776// https://tc39.es/ecma262/#sec-array.prototype.foreach 13777module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { 13778 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 13779// eslint-disable-next-line es/no-array-prototype-foreach -- safe 13780} : [].forEach; 13781 13782 13783/***/ }), 13784/* 296 */ 13785/***/ (function(module, exports, __webpack_require__) { 13786 13787"use strict"; 13788 13789/* eslint-disable es/no-array-prototype-indexof -- required for testing */ 13790var $ = __webpack_require__(1); 13791var uncurryThis = __webpack_require__(2); 13792var $IndexOf = __webpack_require__(104).indexOf; 13793var arrayMethodIsStrict = __webpack_require__(26); 13794 13795var un$IndexOf = uncurryThis([].indexOf); 13796 13797var NEGATIVE_ZERO = !!un$IndexOf && 1 / un$IndexOf([1], 1, -0) < 0; 13798var STRICT_METHOD = arrayMethodIsStrict('indexOf'); 13799 13800// `Array.prototype.indexOf` method 13801// https://tc39.es/ecma262/#sec-array.prototype.indexof 13802$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, { 13803 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 13804 var fromIndex = arguments.length > 1 ? arguments[1] : undefined; 13805 return NEGATIVE_ZERO 13806 // convert -0 to +0 13807 ? un$IndexOf(this, searchElement, fromIndex) || 0 13808 : $IndexOf(this, searchElement, fromIndex); 13809 } 13810}); 13811 13812 13813/***/ }), 13814/* 297 */ 13815/***/ (function(module, exports, __webpack_require__) { 13816 13817"use strict"; 13818 13819var toIndexedObject = __webpack_require__(24); 13820var addToUnscopables = __webpack_require__(8); 13821var Iterators = __webpack_require__(52); 13822var InternalStateModule = __webpack_require__(42); 13823var defineIterator = __webpack_require__(109); 13824 13825var ARRAY_ITERATOR = 'Array Iterator'; 13826var setInternalState = InternalStateModule.set; 13827var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); 13828 13829// `Array.prototype.entries` method 13830// https://tc39.es/ecma262/#sec-array.prototype.entries 13831// `Array.prototype.keys` method 13832// https://tc39.es/ecma262/#sec-array.prototype.keys 13833// `Array.prototype.values` method 13834// https://tc39.es/ecma262/#sec-array.prototype.values 13835// `Array.prototype[@@iterator]` method 13836// https://tc39.es/ecma262/#sec-array.prototype-@@iterator 13837// `CreateArrayIterator` internal method 13838// https://tc39.es/ecma262/#sec-createarrayiterator 13839module.exports = defineIterator(Array, 'Array', function (iterated, kind) { 13840 setInternalState(this, { 13841 type: ARRAY_ITERATOR, 13842 target: toIndexedObject(iterated), // target 13843 index: 0, // next index 13844 kind: kind // kind 13845 }); 13846// `%ArrayIteratorPrototype%.next` method 13847// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next 13848}, function () { 13849 var state = getInternalState(this); 13850 var target = state.target; 13851 var kind = state.kind; 13852 var index = state.index++; 13853 if (!target || index >= target.length) { 13854 state.target = undefined; 13855 return { value: undefined, done: true }; 13856 } 13857 if (kind == 'keys') return { value: index, done: false }; 13858 if (kind == 'values') return { value: target[index], done: false }; 13859 return { value: [index, target[index]], done: false }; 13860}, 'values'); 13861 13862// argumentsList[@@iterator] is %ArrayProto_values% 13863// https://tc39.es/ecma262/#sec-createunmappedargumentsobject 13864// https://tc39.es/ecma262/#sec-createmappedargumentsobject 13865Iterators.Arguments = Iterators.Array; 13866 13867// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 13868addToUnscopables('keys'); 13869addToUnscopables('values'); 13870addToUnscopables('entries'); 13871 13872 13873/***/ }), 13874/* 298 */ 13875/***/ (function(module, exports, __webpack_require__) { 13876 13877"use strict"; 13878 13879var IteratorPrototype = __webpack_require__(160).IteratorPrototype; 13880var create = __webpack_require__(36); 13881var createPropertyDescriptor = __webpack_require__(68); 13882var setToStringTag = __webpack_require__(78); 13883var Iterators = __webpack_require__(52); 13884 13885var returnThis = function () { return this; }; 13886 13887module.exports = function (IteratorConstructor, NAME, next) { 13888 var TO_STRING_TAG = NAME + ' Iterator'; 13889 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); 13890 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); 13891 Iterators[TO_STRING_TAG] = returnThis; 13892 return IteratorConstructor; 13893}; 13894 13895 13896/***/ }), 13897/* 299 */ 13898/***/ (function(module, exports, __webpack_require__) { 13899 13900var fails = __webpack_require__(9); 13901 13902module.exports = !fails(function () { 13903 function F() { /* empty */ } 13904 F.prototype.constructor = null; 13905 // eslint-disable-next-line es/no-object-getprototypeof -- required for testing 13906 return Object.getPrototypeOf(new F()) !== F.prototype; 13907}); 13908 13909 13910/***/ }), 13911/* 300 */ 13912/***/ (function(module, exports, __webpack_require__) { 13913 13914var global = __webpack_require__(0); 13915var isCallable = __webpack_require__(5); 13916 13917var String = global.String; 13918var TypeError = global.TypeError; 13919 13920module.exports = function (argument) { 13921 if (typeof argument == 'object' || isCallable(argument)) return argument; 13922 throw TypeError("Can't set " + String(argument) + ' as a prototype'); 13923}; 13924 13925 13926/***/ }), 13927/* 301 */ 13928/***/ (function(module, exports, __webpack_require__) { 13929 13930"use strict"; 13931 13932var $ = __webpack_require__(1); 13933var uncurryThis = __webpack_require__(2); 13934var IndexedObject = __webpack_require__(41); 13935var toIndexedObject = __webpack_require__(24); 13936var arrayMethodIsStrict = __webpack_require__(26); 13937 13938var un$Join = uncurryThis([].join); 13939 13940var ES3_STRINGS = IndexedObject != Object; 13941var STRICT_METHOD = arrayMethodIsStrict('join', ','); 13942 13943// `Array.prototype.join` method 13944// https://tc39.es/ecma262/#sec-array.prototype.join 13945$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, { 13946 join: function join(separator) { 13947 return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator); 13948 } 13949}); 13950 13951 13952/***/ }), 13953/* 302 */ 13954/***/ (function(module, exports, __webpack_require__) { 13955 13956var $ = __webpack_require__(1); 13957var lastIndexOf = __webpack_require__(303); 13958 13959// `Array.prototype.lastIndexOf` method 13960// https://tc39.es/ecma262/#sec-array.prototype.lastindexof 13961// eslint-disable-next-line es/no-array-prototype-lastindexof -- required for testing 13962$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { 13963 lastIndexOf: lastIndexOf 13964}); 13965 13966 13967/***/ }), 13968/* 303 */ 13969/***/ (function(module, exports, __webpack_require__) { 13970 13971"use strict"; 13972 13973/* eslint-disable es/no-array-prototype-lastindexof -- safe */ 13974var apply = __webpack_require__(112); 13975var toIndexedObject = __webpack_require__(24); 13976var toIntegerOrInfinity = __webpack_require__(34); 13977var lengthOfArrayLike = __webpack_require__(4); 13978var arrayMethodIsStrict = __webpack_require__(26); 13979 13980var min = Math.min; 13981var $lastIndexOf = [].lastIndexOf; 13982var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; 13983var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); 13984var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; 13985 13986// `Array.prototype.lastIndexOf` method implementation 13987// https://tc39.es/ecma262/#sec-array.prototype.lastindexof 13988module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 13989 // convert -0 to +0 13990 if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0; 13991 var O = toIndexedObject(this); 13992 var length = lengthOfArrayLike(O); 13993 var index = length - 1; 13994 if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1])); 13995 if (index < 0) index = length + index; 13996 for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; 13997 return -1; 13998} : $lastIndexOf; 13999 14000 14001/***/ }), 14002/* 304 */ 14003/***/ (function(module, exports, __webpack_require__) { 14004 14005"use strict"; 14006 14007var $ = __webpack_require__(1); 14008var $map = __webpack_require__(25).map; 14009var arrayMethodHasSpeciesSupport = __webpack_require__(54); 14010 14011var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); 14012 14013// `Array.prototype.map` method 14014// https://tc39.es/ecma262/#sec-array.prototype.map 14015// with adding support of @@species 14016$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 14017 map: function map(callbackfn /* , thisArg */) { 14018 return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 14019 } 14020}); 14021 14022 14023/***/ }), 14024/* 305 */ 14025/***/ (function(module, exports, __webpack_require__) { 14026 14027"use strict"; 14028 14029var $ = __webpack_require__(1); 14030var $reduce = __webpack_require__(161).left; 14031var arrayMethodIsStrict = __webpack_require__(26); 14032var CHROME_VERSION = __webpack_require__(31); 14033var IS_NODE = __webpack_require__(55); 14034 14035var STRICT_METHOD = arrayMethodIsStrict('reduce'); 14036// Chrome 80-82 has a critical bug 14037// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 14038var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 14039 14040// `Array.prototype.reduce` method 14041// https://tc39.es/ecma262/#sec-array.prototype.reduce 14042$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {
vendor: 9,072 bytes, lines 14043-14361
14043 reduce: function reduce(callbackfn /* , initialValue */) { 14044 var length = arguments.length; 14045 return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); 14046 } 14047}); 14048 14049 14050/***/ }), 14051/* 306 */ 14052/***/ (function(module, exports, __webpack_require__) { 14053 14054"use strict"; 14055 14056var $ = __webpack_require__(1); 14057var $reduceRight = __webpack_require__(161).right; 14058var arrayMethodIsStrict = __webpack_require__(26); 14059var CHROME_VERSION = __webpack_require__(31); 14060var IS_NODE = __webpack_require__(55); 14061 14062var STRICT_METHOD = arrayMethodIsStrict('reduceRight'); 14063// Chrome 80-82 has a critical bug 14064// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 14065var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; 14066 14067// `Array.prototype.reduceRight` method 14068// https://tc39.es/ecma262/#sec-array.prototype.reduceright 14069$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, { 14070 reduceRight: function reduceRight(callbackfn /* , initialValue */) { 14071 return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 14072 } 14073}); 14074 14075 14076/***/ }), 14077/* 307 */ 14078/***/ (function(module, exports, __webpack_require__) { 14079 14080"use strict"; 14081 14082var $ = __webpack_require__(1); 14083var uncurryThis = __webpack_require__(2); 14084var isArray = __webpack_require__(35); 14085 14086var un$Reverse = uncurryThis([].reverse); 14087var test = [1, 2]; 14088 14089// `Array.prototype.reverse` method 14090// https://tc39.es/ecma262/#sec-array.prototype.reverse 14091// fix for Safari 12.0 bug 14092// https://bugs.webkit.org/show_bug.cgi?id=188794 14093$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { 14094 reverse: function reverse() { 14095 // eslint-disable-next-line no-self-assign -- dirty hack 14096 if (isArray(this)) this.length = this.length; 14097 return un$Reverse(this); 14098 } 14099}); 14100 14101 14102/***/ }), 14103/* 308 */ 14104/***/ (function(module, exports, __webpack_require__) { 14105 14106"use strict"; 14107 14108var $ = __webpack_require__(1); 14109var global = __webpack_require__(0); 14110var isArray = __webpack_require__(35); 14111var isConstructor = __webpack_require__(43); 14112var isObject = __webpack_require__(13); 14113var toAbsoluteIndex = __webpack_require__(51); 14114var lengthOfArrayLike = __webpack_require__(4); 14115var toIndexedObject = __webpack_require__(24); 14116var createProperty = __webpack_require__(53); 14117var wellKnownSymbol = __webpack_require__(6); 14118var arrayMethodHasSpeciesSupport = __webpack_require__(54); 14119var un$Slice = __webpack_require__(79); 14120 14121var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); 14122 14123var SPECIES = wellKnownSymbol('species'); 14124var Array = global.Array; 14125var max = Math.max; 14126 14127// `Array.prototype.slice` method 14128// https://tc39.es/ecma262/#sec-array.prototype.slice 14129// fallback for not array-like ES3 strings and DOM objects 14130$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 14131 slice: function slice(start, end) { 14132 var O = toIndexedObject(this); 14133 var length = lengthOfArrayLike(O); 14134 var k = toAbsoluteIndex(start, length); 14135 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 14136 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible 14137 var Constructor, result, n; 14138 if (isArray(O)) { 14139 Constructor = O.constructor; 14140 // cross-realm fallback 14141 if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) { 14142 Constructor = undefined; 14143 } else if (isObject(Constructor)) { 14144 Constructor = Constructor[SPECIES]; 14145 if (Constructor === null) Constructor = undefined; 14146 } 14147 if (Constructor === Array || Constructor === undefined) { 14148 return un$Slice(O, k, fin); 14149 } 14150 } 14151 result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); 14152 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); 14153 result.length = n; 14154 return result; 14155 } 14156}); 14157 14158 14159/***/ }), 14160/* 309 */ 14161/***/ (function(module, exports, __webpack_require__) { 14162 14163"use strict"; 14164 14165var $ = __webpack_require__(1); 14166var $some = __webpack_require__(25).some; 14167var arrayMethodIsStrict = __webpack_require__(26); 14168 14169var STRICT_METHOD = arrayMethodIsStrict('some'); 14170 14171// `Array.prototype.some` method 14172// https://tc39.es/ecma262/#sec-array.prototype.some 14173$({ target: 'Array', proto: true, forced: !STRICT_METHOD }, { 14174 some: function some(callbackfn /* , thisArg */) { 14175 return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 14176 } 14177}); 14178 14179 14180/***/ }), 14181/* 310 */ 14182/***/ (function(module, exports, __webpack_require__) { 14183 14184"use strict"; 14185 14186var $ = __webpack_require__(1); 14187var uncurryThis = __webpack_require__(2); 14188var aCallable = __webpack_require__(21); 14189var toObject = __webpack_require__(7); 14190var lengthOfArrayLike = __webpack_require__(4); 14191var toString = __webpack_require__(113); 14192var fails = __webpack_require__(9); 14193var internalSort = __webpack_require__(311); 14194var arrayMethodIsStrict = __webpack_require__(26); 14195var FF = __webpack_require__(312); 14196var IE_OR_EDGE = __webpack_require__(313); 14197var V8 = __webpack_require__(31); 14198var WEBKIT = __webpack_require__(314); 14199 14200var test = []; 14201var un$Sort = uncurryThis(test.sort); 14202var push = uncurryThis(test.push); 14203 14204// IE8- 14205var FAILS_ON_UNDEFINED = fails(function () { 14206 test.sort(undefined); 14207}); 14208// V8 bug 14209var FAILS_ON_NULL = fails(function () { 14210 test.sort(null); 14211}); 14212// Old WebKit 14213var STRICT_METHOD = arrayMethodIsStrict('sort'); 14214 14215var STABLE_SORT = !fails(function () { 14216 // feature detection can be too slow, so check engines versions 14217 if (V8) return V8 < 70; 14218 if (FF && FF > 3) return; 14219 if (IE_OR_EDGE) return true; 14220 if (WEBKIT) return WEBKIT < 603; 14221 14222 var result = ''; 14223 var code, chr, value, index; 14224 14225 // generate an array with more 512 elements (Chakra and old V8 fails only in this case) 14226 for (code = 65; code < 76; code++) { 14227 chr = String.fromCharCode(code); 14228 14229 switch (code) { 14230 case 66: case 69: case 70: case 72: value = 3; break; 14231 case 68: case 71: value = 4; break; 14232 default: value = 2; 14233 } 14234 14235 for (index = 0; index < 47; index++) { 14236 test.push({ k: chr + index, v: value }); 14237 } 14238 } 14239 14240 test.sort(function (a, b) { return b.v - a.v; }); 14241 14242 for (index = 0; index < test.length; index++) { 14243 chr = test[index].k.charAt(0); 14244 if (result.charAt(result.length - 1) !== chr) result += chr; 14245 } 14246 14247 return result !== 'DGBEFHACIJK'; 14248}); 14249 14250var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT; 14251 14252var getSortCompare = function (comparefn) { 14253 return function (x, y) { 14254 if (y === undefined) return -1; 14255 if (x === undefined) return 1; 14256 if (comparefn !== undefined) return +comparefn(x, y) || 0; 14257 return toString(x) > toString(y) ? 1 : -1; 14258 }; 14259}; 14260 14261// `Array.prototype.sort` method 14262// https://tc39.es/ecma262/#sec-array.prototype.sort 14263$({ target: 'Array', proto: true, forced: FORCED }, { 14264 sort: function sort(comparefn) { 14265 if (comparefn !== undefined) aCallable(comparefn); 14266 14267 var array = toObject(this); 14268 14269 if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn); 14270 14271 var items = []; 14272 var arrayLength = lengthOfArrayLike(array); 14273 var itemsLength, index; 14274 14275 for (index = 0; index < arrayLength; index++) { 14276 if (index in array) push(items, array[index]); 14277 } 14278 14279 internalSort(items, getSortCompare(comparefn)); 14280 14281 itemsLength = items.length; 14282 index = 0; 14283 14284 while (index < itemsLength) array[index] = items[index++]; 14285 while (index < arrayLength) delete array[index++]; 14286 14287 return array; 14288 } 14289}); 14290 14291 14292/***/ }), 14293/* 311 */ 14294/***/ (function(module, exports, __webpack_require__) { 14295 14296var arraySlice = __webpack_require__(79); 14297 14298var floor = Math.floor; 14299 14300var mergeSort = function (array, comparefn) { 14301 var length = array.length; 14302 var middle = floor(length / 2); 14303 return length < 8 ? insertionSort(array, comparefn) : merge( 14304 array, 14305 mergeSort(arraySlice(array, 0, middle), comparefn), 14306 mergeSort(arraySlice(array, middle), comparefn), 14307 comparefn 14308 ); 14309}; 14310 14311var insertionSort = function (array, comparefn) { 14312 var length = array.length; 14313 var i = 1; 14314 var element, j; 14315 14316 while (i < length) { 14317 j = i; 14318 element = array[i]; 14319 while (j && comparefn(array[j - 1], element) > 0) { 14320 array[j] = array[--j]; 14321 } 14322 if (j !== i++) array[j] = element; 14323 } return array; 14324}; 14325 14326var merge = function (array, left, right, comparefn) { 14327 var llength = left.length; 14328 var rlength = right.length; 14329 var lindex = 0; 14330 var rindex = 0; 14331 14332 while (lindex < llength || rindex < rlength) { 14333 array[lindex + rindex] = (lindex < llength && rindex < rlength) 14334 ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++] 14335 : lindex < llength ? left[lindex++] : right[rindex++]; 14336 } return array; 14337}; 14338 14339module.exports = mergeSort; 14340 14341 14342/***/ }), 14343/* 312 */ 14344/***/ (function(module, exports, __webpack_require__) { 14345 14346var userAgent = __webpack_require__(32); 14347 14348var firefox = userAgent.match(/firefox\/(\d+)/i); 14349 14350module.exports = !!firefox && +firefox[1]; 14351 14352 14353/***/ }), 14354/* 313 */ 14355/***/ (function(module, exports, __webpack_require__) { 14356 14357var UA = __webpack_require__(32); 14358 14359module.exports = /MSIE|Trident/.test(UA); 14360 14361
vendor: 6,058 bytes, lines 14362-14562
14362/***/ }), 14363/* 314 */ 14364/***/ (function(module, exports, __webpack_require__) { 14365 14366var userAgent = __webpack_require__(32); 14367 14368var webkit = userAgent.match(/AppleWebKit\/(\d+)\./); 14369 14370module.exports = !!webkit && +webkit[1]; 14371 14372 14373/***/ }), 14374/* 315 */ 14375/***/ (function(module, exports, __webpack_require__) { 14376 14377var setSpecies = __webpack_require__(114); 14378 14379// `Array[@@species]` getter 14380// https://tc39.es/ecma262/#sec-get-array-@@species 14381setSpecies('Array'); 14382 14383 14384/***/ }), 14385/* 316 */ 14386/***/ (function(module, exports, __webpack_require__) { 14387 14388"use strict"; 14389 14390var $ = __webpack_require__(1); 14391var global = __webpack_require__(0); 14392var toAbsoluteIndex = __webpack_require__(51); 14393var toIntegerOrInfinity = __webpack_require__(34); 14394var lengthOfArrayLike = __webpack_require__(4); 14395var toObject = __webpack_require__(7); 14396var arraySpeciesCreate = __webpack_require__(44); 14397var createProperty = __webpack_require__(53); 14398var arrayMethodHasSpeciesSupport = __webpack_require__(54); 14399 14400var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); 14401 14402var TypeError = global.TypeError; 14403var max = Math.max; 14404var min = Math.min; 14405var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 14406var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; 14407 14408// `Array.prototype.splice` method 14409// https://tc39.es/ecma262/#sec-array.prototype.splice 14410// with adding support of @@species 14411$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 14412 splice: function splice(start, deleteCount /* , ...items */) { 14413 var O = toObject(this); 14414 var len = lengthOfArrayLike(O); 14415 var actualStart = toAbsoluteIndex(start, len); 14416 var argumentsLength = arguments.length; 14417 var insertCount, actualDeleteCount, A, k, from, to; 14418 if (argumentsLength === 0) { 14419 insertCount = actualDeleteCount = 0; 14420 } else if (argumentsLength === 1) { 14421 insertCount = 0; 14422 actualDeleteCount = len - actualStart; 14423 } else { 14424 insertCount = argumentsLength - 2; 14425 actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart); 14426 } 14427 if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { 14428 throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); 14429 } 14430 A = arraySpeciesCreate(O, actualDeleteCount); 14431 for (k = 0; k < actualDeleteCount; k++) { 14432 from = actualStart + k; 14433 if (from in O) createProperty(A, k, O[from]); 14434 } 14435 A.length = actualDeleteCount; 14436 if (insertCount < actualDeleteCount) { 14437 for (k = actualStart; k < len - actualDeleteCount; k++) { 14438 from = k + actualDeleteCount; 14439 to = k + insertCount; 14440 if (from in O) O[to] = O[from]; 14441 else delete O[to]; 14442 } 14443 for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; 14444 } else if (insertCount > actualDeleteCount) { 14445 for (k = len - actualDeleteCount; k > actualStart; k--) { 14446 from = k + actualDeleteCount - 1; 14447 to = k + insertCount - 1; 14448 if (from in O) O[to] = O[from]; 14449 else delete O[to]; 14450 } 14451 } 14452 for (k = 0; k < insertCount; k++) { 14453 O[k + actualStart] = arguments[k + 2]; 14454 } 14455 O.length = len - actualDeleteCount + insertCount; 14456 return A; 14457 } 14458}); 14459 14460 14461/***/ }), 14462/* 317 */ 14463/***/ (function(module, exports, __webpack_require__) { 14464 14465// this method was added to unscopables after implementation 14466// in popular engines, so it's moved to a separate module 14467var addToUnscopables = __webpack_require__(8); 14468 14469// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 14470addToUnscopables('flat'); 14471 14472 14473/***/ }), 14474/* 318 */ 14475/***/ (function(module, exports, __webpack_require__) { 14476 14477// this method was added to unscopables after implementation 14478// in popular engines, so it's moved to a separate module 14479var addToUnscopables = __webpack_require__(8); 14480 14481// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 14482addToUnscopables('flatMap'); 14483 14484 14485/***/ }), 14486/* 319 */ 14487/***/ (function(module, exports, __webpack_require__) { 14488 14489var TO_STRING_TAG_SUPPORT = __webpack_require__(107); 14490var redefine = __webpack_require__(27); 14491var toString = __webpack_require__(320); 14492 14493// `Object.prototype.toString` method 14494// https://tc39.es/ecma262/#sec-object.prototype.tostring 14495if (!TO_STRING_TAG_SUPPORT) { 14496 redefine(Object.prototype, 'toString', toString, { unsafe: true }); 14497} 14498 14499 14500/***/ }), 14501/* 320 */ 14502/***/ (function(module, exports, __webpack_require__) { 14503 14504"use strict"; 14505 14506var TO_STRING_TAG_SUPPORT = __webpack_require__(107); 14507var classof = __webpack_require__(75); 14508 14509// `Object.prototype.toString` method implementation 14510// https://tc39.es/ecma262/#sec-object.prototype.tostring 14511module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 14512 return '[object ' + classof(this) + ']'; 14513}; 14514 14515 14516/***/ }), 14517/* 321 */ 14518/***/ (function(module, exports, __webpack_require__) { 14519 14520"use strict"; 14521 14522var charAt = __webpack_require__(322).charAt; 14523var toString = __webpack_require__(113); 14524var InternalStateModule = __webpack_require__(42); 14525var defineIterator = __webpack_require__(109); 14526 14527var STRING_ITERATOR = 'String Iterator'; 14528var setInternalState = InternalStateModule.set; 14529var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); 14530 14531// `String.prototype[@@iterator]` method 14532// https://tc39.es/ecma262/#sec-string.prototype-@@iterator 14533defineIterator(String, 'String', function (iterated) { 14534 setInternalState(this, { 14535 type: STRING_ITERATOR, 14536 string: toString(iterated), 14537 index: 0 14538 }); 14539// `%StringIteratorPrototype%.next` method 14540// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next 14541}, function next() { 14542 var state = getInternalState(this); 14543 var string = state.string; 14544 var index = state.index; 14545 var point; 14546 if (index >= string.length) return { value: undefined, done: true }; 14547 point = charAt(string, index); 14548 state.index += point.length; 14549 return { value: point, done: false }; 14550}); 14551 14552 14553/***/ }), 14554/* 322 */ 14555/***/ (function(module, exports, __webpack_require__) { 14556 14557var uncurryThis = __webpack_require__(2); 14558var toIntegerOrInfinity = __webpack_require__(34); 14559var toString = __webpack_require__(113); 14560var requireObjectCoercible = __webpack_require__(97); 14561 14562var charAt = uncurryThis(''.charAt);
vendor: 12,049 bytes, lines 14563-14916
14563var charCodeAt = uncurryThis(''.charCodeAt); 14564var stringSlice = uncurryThis(''.slice); 14565 14566var createMethod = function (CONVERT_TO_STRING) { 14567 return function ($this, pos) { 14568 var S = toString(requireObjectCoercible($this)); 14569 var position = toIntegerOrInfinity(pos); 14570 var size = S.length; 14571 var first, second; 14572 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 14573 first = charCodeAt(S, position); 14574 return first < 0xD800 || first > 0xDBFF || position + 1 === size 14575 || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF 14576 ? CONVERT_TO_STRING 14577 ? charAt(S, position) 14578 : first 14579 : CONVERT_TO_STRING 14580 ? stringSlice(S, position, position + 2) 14581 : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 14582 }; 14583}; 14584 14585module.exports = { 14586 // `String.prototype.codePointAt` method 14587 // https://tc39.es/ecma262/#sec-string.prototype.codepointat 14588 codeAt: createMethod(false), 14589 // `String.prototype.at` method 14590 // https://github.com/mathiasbynens/String.prototype.at 14591 charAt: createMethod(true) 14592}; 14593 14594 14595/***/ }), 14596/* 323 */ 14597/***/ (function(module, exports, __webpack_require__) { 14598 14599var global = __webpack_require__(0); 14600 14601module.exports = global; 14602 14603 14604/***/ }), 14605/* 324 */ 14606/***/ (function(module, exports, __webpack_require__) { 14607 14608"use strict"; 14609 14610var collection = __webpack_require__(325); 14611var collectionStrong = __webpack_require__(329); 14612 14613// `Map` constructor 14614// https://tc39.es/ecma262/#sec-map-objects 14615collection('Map', function (init) { 14616 return function Map() { return init(this, arguments.length ? arguments[0] : undefined); }; 14617}, collectionStrong); 14618 14619 14620/***/ }), 14621/* 325 */ 14622/***/ (function(module, exports, __webpack_require__) { 14623 14624"use strict"; 14625 14626var $ = __webpack_require__(1); 14627var global = __webpack_require__(0); 14628var uncurryThis = __webpack_require__(2); 14629var isForced = __webpack_require__(106); 14630var redefine = __webpack_require__(27); 14631var InternalMetadataModule = __webpack_require__(162); 14632var iterate = __webpack_require__(115); 14633var anInstance = __webpack_require__(116); 14634var isCallable = __webpack_require__(5); 14635var isObject = __webpack_require__(13); 14636var fails = __webpack_require__(9); 14637var checkCorrectnessOfIteration = __webpack_require__(108); 14638var setToStringTag = __webpack_require__(78); 14639var inheritIfRequired = __webpack_require__(328); 14640 14641module.exports = function (CONSTRUCTOR_NAME, wrapper, common) { 14642 var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1; 14643 var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1; 14644 var ADDER = IS_MAP ? 'set' : 'add'; 14645 var NativeConstructor = global[CONSTRUCTOR_NAME]; 14646 var NativePrototype = NativeConstructor && NativeConstructor.prototype; 14647 var Constructor = NativeConstructor; 14648 var exported = {}; 14649 14650 var fixMethod = function (KEY) { 14651 var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]); 14652 redefine(NativePrototype, KEY, 14653 KEY == 'add' ? function add(value) { 14654 uncurriedNativeMethod(this, value === 0 ? 0 : value); 14655 return this; 14656 } : KEY == 'delete' ? function (key) { 14657 return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); 14658 } : KEY == 'get' ? function get(key) { 14659 return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key); 14660 } : KEY == 'has' ? function has(key) { 14661 return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key); 14662 } : function set(key, value) { 14663 uncurriedNativeMethod(this, key === 0 ? 0 : key, value); 14664 return this; 14665 } 14666 ); 14667 }; 14668 14669 var REPLACE = isForced( 14670 CONSTRUCTOR_NAME, 14671 !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () { 14672 new NativeConstructor().entries().next(); 14673 })) 14674 ); 14675 14676 if (REPLACE) { 14677 // create collection constructor 14678 Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); 14679 InternalMetadataModule.enable(); 14680 } else if (isForced(CONSTRUCTOR_NAME, true)) { 14681 var instance = new Constructor(); 14682 // early implementations not supports chaining 14683 var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; 14684 // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false 14685 var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); 14686 // most early implementations doesn't supports iterables, most modern - not close it correctly 14687 // eslint-disable-next-line no-new -- required for testing 14688 var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); 14689 // for early implementations -0 and +0 not the same 14690 var BUGGY_ZERO = !IS_WEAK && fails(function () { 14691 // V8 ~ Chromium 42- fails only with 5+ elements 14692 var $instance = new NativeConstructor(); 14693 var index = 5; 14694 while (index--) $instance[ADDER](index, index); 14695 return !$instance.has(-0); 14696 }); 14697 14698 if (!ACCEPT_ITERABLES) { 14699 Constructor = wrapper(function (dummy, iterable) { 14700 anInstance(dummy, NativePrototype); 14701 var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); 14702 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 14703 return that; 14704 }); 14705 Constructor.prototype = NativePrototype; 14706 NativePrototype.constructor = Constructor; 14707 } 14708 14709 if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { 14710 fixMethod('delete'); 14711 fixMethod('has'); 14712 IS_MAP && fixMethod('get'); 14713 } 14714 14715 if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); 14716 14717 // weak collections should not contains .clear method 14718 if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; 14719 } 14720 14721 exported[CONSTRUCTOR_NAME] = Constructor; 14722 $({ global: true, forced: Constructor != NativeConstructor }, exported); 14723 14724 setToStringTag(Constructor, CONSTRUCTOR_NAME); 14725 14726 if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); 14727 14728 return Constructor; 14729}; 14730 14731 14732/***/ }), 14733/* 326 */ 14734/***/ (function(module, exports, __webpack_require__) { 14735 14736/* eslint-disable es/no-object-getownpropertynames -- safe */ 14737var classof = __webpack_require__(49); 14738var toIndexedObject = __webpack_require__(24); 14739var $getOwnPropertyNames = __webpack_require__(103).f; 14740var arraySlice = __webpack_require__(79); 14741 14742var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames 14743 ? Object.getOwnPropertyNames(window) : []; 14744 14745var getWindowNames = function (it) { 14746 try { 14747 return $getOwnPropertyNames(it); 14748 } catch (error) { 14749 return arraySlice(windowNames); 14750 } 14751}; 14752 14753// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window 14754module.exports.f = function getOwnPropertyNames(it) { 14755 return windowNames && classof(it) == 'Window' 14756 ? getWindowNames(it) 14757 : $getOwnPropertyNames(toIndexedObject(it)); 14758}; 14759 14760 14761/***/ }), 14762/* 327 */ 14763/***/ (function(module, exports, __webpack_require__) { 14764 14765var fails = __webpack_require__(9); 14766 14767module.exports = !fails(function () { 14768 // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing 14769 return Object.isExtensible(Object.preventExtensions({})); 14770}); 14771 14772 14773/***/ }), 14774/* 328 */ 14775/***/ (function(module, exports, __webpack_require__) { 14776 14777var isCallable = __webpack_require__(5); 14778var isObject = __webpack_require__(13); 14779var setPrototypeOf = __webpack_require__(111); 14780 14781// makes subclassing work correct for wrapped built-ins 14782module.exports = function ($this, dummy, Wrapper) { 14783 var NewTarget, NewTargetPrototype; 14784 if ( 14785 // it can work only with native `setPrototypeOf` 14786 setPrototypeOf && 14787 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 14788 isCallable(NewTarget = dummy.constructor) && 14789 NewTarget !== Wrapper && 14790 isObject(NewTargetPrototype = NewTarget.prototype) && 14791 NewTargetPrototype !== Wrapper.prototype 14792 ) setPrototypeOf($this, NewTargetPrototype); 14793 return $this; 14794}; 14795 14796 14797/***/ }), 14798/* 329 */ 14799/***/ (function(module, exports, __webpack_require__) { 14800 14801"use strict"; 14802 14803var defineProperty = __webpack_require__(18).f; 14804var create = __webpack_require__(36); 14805var redefineAll = __webpack_require__(117); 14806var bind = __webpack_require__(22); 14807var anInstance = __webpack_require__(116); 14808var iterate = __webpack_require__(115); 14809var defineIterator = __webpack_require__(109); 14810var setSpecies = __webpack_require__(114); 14811var DESCRIPTORS = __webpack_require__(20); 14812var fastKey = __webpack_require__(162).fastKey; 14813var InternalStateModule = __webpack_require__(42); 14814 14815var setInternalState = InternalStateModule.set; 14816var internalStateGetterFor = InternalStateModule.getterFor; 14817 14818module.exports = { 14819 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { 14820 var Constructor = wrapper(function (that, iterable) { 14821 anInstance(that, Prototype); 14822 setInternalState(that, { 14823 type: CONSTRUCTOR_NAME, 14824 index: create(null), 14825 first: undefined, 14826 last: undefined, 14827 size: 0 14828 }); 14829 if (!DESCRIPTORS) that.size = 0; 14830 if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP }); 14831 }); 14832 14833 var Prototype = Constructor.prototype; 14834 14835 var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); 14836 14837 var define = function (that, key, value) { 14838 var state = getInternalState(that); 14839 var entry = getEntry(that, key); 14840 var previous, index; 14841 // change existing entry 14842 if (entry) { 14843 entry.value = value; 14844 // create new entry 14845 } else { 14846 state.last = entry = { 14847 index: index = fastKey(key, true), 14848 key: key, 14849 value: value, 14850 previous: previous = state.last, 14851 next: undefined, 14852 removed: false 14853 }; 14854 if (!state.first) state.first = entry; 14855 if (previous) previous.next = entry; 14856 if (DESCRIPTORS) state.size++; 14857 else that.size++; 14858 // add to index 14859 if (index !== 'F') state.index[index] = entry; 14860 } return that; 14861 }; 14862 14863 var getEntry = function (that, key) { 14864 var state = getInternalState(that); 14865 // fast case 14866 var index = fastKey(key); 14867 var entry; 14868 if (index !== 'F') return state.index[index]; 14869 // frozen object case 14870 for (entry = state.first; entry; entry = entry.next) { 14871 if (entry.key == key) return entry; 14872 } 14873 }; 14874 14875 redefineAll(Prototype, { 14876 // `{ Map, Set }.prototype.clear()` methods 14877 // https://tc39.es/ecma262/#sec-map.prototype.clear 14878 // https://tc39.es/ecma262/#sec-set.prototype.clear 14879 clear: function clear() { 14880 var that = this; 14881 var state = getInternalState(that); 14882 var data = state.index; 14883 var entry = state.first; 14884 while (entry) { 14885 entry.removed = true; 14886 if (entry.previous) entry.previous = entry.previous.next = undefined; 14887 delete data[entry.index]; 14888 entry = entry.next; 14889 } 14890 state.first = state.last = undefined; 14891 if (DESCRIPTORS) state.size = 0; 14892 else that.size = 0; 14893 }, 14894 // `{ Map, Set }.prototype.delete(key)` methods 14895 // https://tc39.es/ecma262/#sec-map.prototype.delete 14896 // https://tc39.es/ecma262/#sec-set.prototype.delete 14897 'delete': function (key) { 14898 var that = this; 14899 var state = getInternalState(that); 14900 var entry = getEntry(that, key); 14901 if (entry) { 14902 var next = entry.next; 14903 var prev = entry.previous; 14904 delete state.index[entry.index]; 14905 entry.removed = true; 14906 if (prev) prev.next = next; 14907 if (next) next.previous = prev; 14908 if (state.first == entry) state.first = next; 14909 if (state.last == entry) state.last = prev; 14910 if (DESCRIPTORS) state.size--; 14911 else that.size--; 14912 } return !!entry; 14913 }, 14914 // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods 14915 // https://tc39.es/ecma262/#sec-map.prototype.foreach 14916 // https://tc39.es/ecma262/#sec-set.prototype.foreach
vendor: 4,955 bytes, lines 14917-15041
14917 forEach: function forEach(callbackfn /* , that = undefined */) { 14918 var state = getInternalState(this); 14919 var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined); 14920 var entry; 14921 while (entry = entry ? entry.next : state.first) { 14922 boundFunction(entry.value, entry.key, this); 14923 // revert to the last existing entry 14924 while (entry && entry.removed) entry = entry.previous; 14925 } 14926 }, 14927 // `{ Map, Set}.prototype.has(key)` methods 14928 // https://tc39.es/ecma262/#sec-map.prototype.has 14929 // https://tc39.es/ecma262/#sec-set.prototype.has 14930 has: function has(key) { 14931 return !!getEntry(this, key); 14932 } 14933 }); 14934 14935 redefineAll(Prototype, IS_MAP ? { 14936 // `Map.prototype.get(key)` method 14937 // https://tc39.es/ecma262/#sec-map.prototype.get 14938 get: function get(key) { 14939 var entry = getEntry(this, key); 14940 return entry && entry.value; 14941 }, 14942 // `Map.prototype.set(key, value)` method 14943 // https://tc39.es/ecma262/#sec-map.prototype.set 14944 set: function set(key, value) { 14945 return define(this, key === 0 ? 0 : key, value); 14946 } 14947 } : { 14948 // `Set.prototype.add(value)` method 14949 // https://tc39.es/ecma262/#sec-set.prototype.add 14950 add: function add(value) { 14951 return define(this, value = value === 0 ? 0 : value, value); 14952 } 14953 }); 14954 if (DESCRIPTORS) defineProperty(Prototype, 'size', { 14955 get: function () { 14956 return getInternalState(this).size; 14957 } 14958 }); 14959 return Constructor; 14960 }, 14961 setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) { 14962 var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; 14963 var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); 14964 var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); 14965 // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods 14966 // https://tc39.es/ecma262/#sec-map.prototype.entries 14967 // https://tc39.es/ecma262/#sec-map.prototype.keys 14968 // https://tc39.es/ecma262/#sec-map.prototype.values 14969 // https://tc39.es/ecma262/#sec-map.prototype-@@iterator 14970 // https://tc39.es/ecma262/#sec-set.prototype.entries 14971 // https://tc39.es/ecma262/#sec-set.prototype.keys 14972 // https://tc39.es/ecma262/#sec-set.prototype.values 14973 // https://tc39.es/ecma262/#sec-set.prototype-@@iterator 14974 defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) { 14975 setInternalState(this, { 14976 type: ITERATOR_NAME, 14977 target: iterated, 14978 state: getInternalCollectionState(iterated), 14979 kind: kind, 14980 last: undefined 14981 }); 14982 }, function () { 14983 var state = getInternalIteratorState(this); 14984 var kind = state.kind; 14985 var entry = state.last; 14986 // revert to the last existing entry 14987 while (entry && entry.removed) entry = entry.previous; 14988 // get next entry 14989 if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { 14990 // or finish the iteration 14991 state.target = undefined; 14992 return { value: undefined, done: true }; 14993 } 14994 // return step by kind 14995 if (kind == 'keys') return { value: entry.key, done: false }; 14996 if (kind == 'values') return { value: entry.value, done: false }; 14997 return { value: [entry.key, entry.value], done: false }; 14998 }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); 14999 15000 // `{ Map, Set }.prototype[@@species]` accessors 15001 // https://tc39.es/ecma262/#sec-get-map-@@species 15002 // https://tc39.es/ecma262/#sec-get-set-@@species 15003 setSpecies(CONSTRUCTOR_NAME); 15004 } 15005}; 15006 15007 15008/***/ }), 15009/* 330 */ 15010/***/ (function(module, exports, __webpack_require__) { 15011 15012"use strict"; 15013 15014var $ = __webpack_require__(1); 15015var IS_PURE = __webpack_require__(50); 15016var global = __webpack_require__(0); 15017var getBuiltIn = __webpack_require__(16); 15018var call = __webpack_require__(15); 15019var NativePromise = __webpack_require__(331); 15020var redefine = __webpack_require__(27); 15021var redefineAll = __webpack_require__(117); 15022var setPrototypeOf = __webpack_require__(111); 15023var setToStringTag = __webpack_require__(78); 15024var setSpecies = __webpack_require__(114); 15025var aCallable = __webpack_require__(21); 15026var isCallable = __webpack_require__(5); 15027var isObject = __webpack_require__(13); 15028var anInstance = __webpack_require__(116); 15029var inspectSource = __webpack_require__(73); 15030var iterate = __webpack_require__(115); 15031var checkCorrectnessOfIteration = __webpack_require__(108); 15032var speciesConstructor = __webpack_require__(332); 15033var task = __webpack_require__(163).set; 15034var microtask = __webpack_require__(334); 15035var promiseResolve = __webpack_require__(337); 15036var hostReportErrors = __webpack_require__(338); 15037var newPromiseCapabilityModule = __webpack_require__(165); 15038var perform = __webpack_require__(339); 15039var InternalStateModule = __webpack_require__(42); 15040var isForced = __webpack_require__(106); 15041var wellKnownSymbol = __webpack_require__(6);
vendor: 3,496 bytes, lines 15042-15125
15042var IS_BROWSER = __webpack_require__(340); 15043var IS_NODE = __webpack_require__(55); 15044var V8_VERSION = __webpack_require__(31); 15045 15046var SPECIES = wellKnownSymbol('species'); 15047var PROMISE = 'Promise'; 15048 15049var getInternalState = InternalStateModule.get; 15050var setInternalState = InternalStateModule.set; 15051var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); 15052var NativePromisePrototype = NativePromise && NativePromise.prototype; 15053var PromiseConstructor = NativePromise; 15054var PromisePrototype = NativePromisePrototype; 15055var TypeError = global.TypeError; 15056var document = global.document; 15057var process = global.process; 15058var newPromiseCapability = newPromiseCapabilityModule.f; 15059var newGenericPromiseCapability = newPromiseCapability; 15060 15061var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); 15062var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent); 15063var UNHANDLED_REJECTION = 'unhandledrejection'; 15064var REJECTION_HANDLED = 'rejectionhandled'; 15065var PENDING = 0; 15066var FULFILLED = 1; 15067var REJECTED = 2; 15068var HANDLED = 1; 15069var UNHANDLED = 2; 15070var SUBCLASSING = false; 15071 15072var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; 15073 15074var FORCED = isForced(PROMISE, function () { 15075 var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor); 15076 var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor); 15077 // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables 15078 // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 15079 // We can't detect it synchronously, so just check versions 15080 if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true; 15081 // We need Promise#finally in the pure version for preventing prototype pollution 15082 if (IS_PURE && !PromisePrototype['finally']) return true; 15083 // We can't use @@species feature detection in V8 since it causes 15084 // deoptimization and performance degradation 15085 // https://github.com/zloirock/core-js/issues/679 15086 if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false; 15087 // Detect correctness of subclassing with @@species support 15088 var promise = new PromiseConstructor(function (resolve) { resolve(1); }); 15089 var FakePromise = function (exec) { 15090 exec(function () { /* empty */ }, function () { /* empty */ }); 15091 }; 15092 var constructor = promise.constructor = {}; 15093 constructor[SPECIES] = FakePromise; 15094 SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise; 15095 if (!SUBCLASSING) return true; 15096 // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test 15097 return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT; 15098}); 15099 15100var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { 15101 PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); 15102}); 15103 15104// helpers 15105var isThenable = function (it) { 15106 var then; 15107 return isObject(it) && isCallable(then = it.then) ? then : false; 15108}; 15109 15110var notify = function (state, isReject) { 15111 if (state.notified) return; 15112 state.notified = true; 15113 var chain = state.reactions; 15114 microtask(function () { 15115 var value = state.value; 15116 var ok = state.state == FULFILLED; 15117 var index = 0; 15118 // variable length - can't use forEach 15119 while (chain.length > index) { 15120 var reaction = chain[index++]; 15121 var handler = ok ? reaction.ok : reaction.fail; 15122 var resolve = reaction.resolve; 15123 var reject = reaction.reject; 15124 var domain = reaction.domain; 15125 var result, then, exited;
vendor: 4,717 bytes, lines 15126-15281
15126 try { 15127 if (handler) { 15128 if (!ok) { 15129 if (state.rejection === UNHANDLED) onHandleUnhandled(state); 15130 state.rejection = HANDLED; 15131 } 15132 if (handler === true) result = value; 15133 else { 15134 if (domain) domain.enter(); 15135 result = handler(value); // can throw 15136 if (domain) { 15137 domain.exit(); 15138 exited = true; 15139 } 15140 } 15141 if (result === reaction.promise) { 15142 reject(TypeError('Promise-chain cycle')); 15143 } else if (then = isThenable(result)) { 15144 call(then, result, resolve, reject); 15145 } else resolve(result); 15146 } else reject(value); 15147 } catch (error) { 15148 if (domain && !exited) domain.exit(); 15149 reject(error); 15150 } 15151 } 15152 state.reactions = []; 15153 state.notified = false; 15154 if (isReject && !state.rejection) onUnhandled(state); 15155 }); 15156}; 15157 15158var dispatchEvent = function (name, promise, reason) { 15159 var event, handler; 15160 if (DISPATCH_EVENT) { 15161 event = document.createEvent('Event'); 15162 event.promise = promise; 15163 event.reason = reason; 15164 event.initEvent(name, false, true); 15165 global.dispatchEvent(event); 15166 } else event = { promise: promise, reason: reason }; 15167 if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event); 15168 else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); 15169}; 15170 15171var onUnhandled = function (state) { 15172 call(task, global, function () { 15173 var promise = state.facade; 15174 var value = state.value; 15175 var IS_UNHANDLED = isUnhandled(state); 15176 var result; 15177 if (IS_UNHANDLED) { 15178 result = perform(function () { 15179 if (IS_NODE) { 15180 process.emit('unhandledRejection', value, promise); 15181 } else dispatchEvent(UNHANDLED_REJECTION, promise, value); 15182 }); 15183 // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should 15184 state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; 15185 if (result.error) throw result.value; 15186 } 15187 }); 15188}; 15189 15190var isUnhandled = function (state) { 15191 return state.rejection !== HANDLED && !state.parent; 15192}; 15193 15194var onHandleUnhandled = function (state) { 15195 call(task, global, function () { 15196 var promise = state.facade; 15197 if (IS_NODE) { 15198 process.emit('rejectionHandled', promise); 15199 } else dispatchEvent(REJECTION_HANDLED, promise, state.value); 15200 }); 15201}; 15202 15203var bind = function (fn, state, unwrap) { 15204 return function (value) { 15205 fn(state, value, unwrap); 15206 }; 15207}; 15208 15209var internalReject = function (state, value, unwrap) { 15210 if (state.done) return; 15211 state.done = true; 15212 if (unwrap) state = unwrap; 15213 state.value = value; 15214 state.state = REJECTED; 15215 notify(state, true); 15216}; 15217 15218var internalResolve = function (state, value, unwrap) { 15219 if (state.done) return; 15220 state.done = true; 15221 if (unwrap) state = unwrap; 15222 try { 15223 if (state.facade === value) throw TypeError("Promise can't be resolved itself"); 15224 var then = isThenable(value); 15225 if (then) { 15226 microtask(function () { 15227 var wrapper = { done: false }; 15228 try { 15229 call(then, value, 15230 bind(internalResolve, wrapper, state), 15231 bind(internalReject, wrapper, state) 15232 ); 15233 } catch (error) { 15234 internalReject(wrapper, error, state); 15235 } 15236 }); 15237 } else { 15238 state.value = value; 15239 state.state = FULFILLED; 15240 notify(state, false); 15241 } 15242 } catch (error) { 15243 internalReject({ done: false }, error, state); 15244 } 15245}; 15246 15247// constructor polyfill 15248if (FORCED) { 15249 // 25.4.3.1 Promise(executor) 15250 PromiseConstructor = function Promise(executor) { 15251 anInstance(this, PromisePrototype); 15252 aCallable(executor); 15253 call(Internal, this); 15254 var state = getInternalState(this); 15255 try { 15256 executor(bind(internalResolve, state), bind(internalReject, state)); 15257 } catch (error) { 15258 internalReject(state, error); 15259 } 15260 }; 15261 PromisePrototype = PromiseConstructor.prototype; 15262 // eslint-disable-next-line no-unused-vars -- required for `.length` 15263 Internal = function Promise(executor) { 15264 setInternalState(this, { 15265 type: PROMISE, 15266 done: false, 15267 notified: false, 15268 parent: false, 15269 reactions: [], 15270 rejection: false, 15271 state: PENDING, 15272 value: undefined 15273 }); 15274 }; 15275 Internal.prototype = redefineAll(PromisePrototype, { 15276 // `Promise.prototype.then` method 15277 // https://tc39.es/ecma262/#sec-promise.prototype.then 15278 then: function then(onFulfilled, onRejected) { 15279 var state = getInternalPromiseState(this); 15280 var reactions = state.reactions; 15281 var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
vendor: 6,727 bytes, lines 15282-15488
15282 reaction.ok = isCallable(onFulfilled) ? onFulfilled : true; 15283 reaction.fail = isCallable(onRejected) && onRejected; 15284 reaction.domain = IS_NODE ? process.domain : undefined; 15285 state.parent = true; 15286 reactions[reactions.length] = reaction; 15287 if (state.state != PENDING) notify(state, false); 15288 return reaction.promise; 15289 }, 15290 // `Promise.prototype.catch` method 15291 // https://tc39.es/ecma262/#sec-promise.prototype.catch 15292 'catch': function (onRejected) { 15293 return this.then(undefined, onRejected); 15294 } 15295 }); 15296 OwnPromiseCapability = function () { 15297 var promise = new Internal(); 15298 var state = getInternalState(promise); 15299 this.promise = promise; 15300 this.resolve = bind(internalResolve, state); 15301 this.reject = bind(internalReject, state); 15302 }; 15303 newPromiseCapabilityModule.f = newPromiseCapability = function (C) { 15304 return C === PromiseConstructor || C === PromiseWrapper 15305 ? new OwnPromiseCapability(C) 15306 : newGenericPromiseCapability(C); 15307 }; 15308 15309 if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) { 15310 nativeThen = NativePromisePrototype.then; 15311 15312 if (!SUBCLASSING) { 15313 // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs 15314 redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) { 15315 var that = this; 15316 return new PromiseConstructor(function (resolve, reject) { 15317 call(nativeThen, that, resolve, reject); 15318 }).then(onFulfilled, onRejected); 15319 // https://github.com/zloirock/core-js/issues/640 15320 }, { unsafe: true }); 15321 15322 // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then` 15323 redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true }); 15324 } 15325 15326 // make `.constructor === Promise` work for native promise-based APIs 15327 try { 15328 delete NativePromisePrototype.constructor; 15329 } catch (error) { /* empty */ } 15330 15331 // make `instanceof Promise` work for native promise-based APIs 15332 if (setPrototypeOf) { 15333 setPrototypeOf(NativePromisePrototype, PromisePrototype); 15334 } 15335 } 15336} 15337 15338$({ global: true, wrap: true, forced: FORCED }, { 15339 Promise: PromiseConstructor 15340}); 15341 15342setToStringTag(PromiseConstructor, PROMISE, false, true); 15343setSpecies(PROMISE); 15344 15345PromiseWrapper = getBuiltIn(PROMISE); 15346 15347// statics 15348$({ target: PROMISE, stat: true, forced: FORCED }, { 15349 // `Promise.reject` method 15350 // https://tc39.es/ecma262/#sec-promise.reject 15351 reject: function reject(r) { 15352 var capability = newPromiseCapability(this); 15353 call(capability.reject, undefined, r); 15354 return capability.promise; 15355 } 15356}); 15357 15358$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { 15359 // `Promise.resolve` method 15360 // https://tc39.es/ecma262/#sec-promise.resolve 15361 resolve: function resolve(x) { 15362 return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); 15363 } 15364}); 15365 15366$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { 15367 // `Promise.all` method 15368 // https://tc39.es/ecma262/#sec-promise.all 15369 all: function all(iterable) { 15370 var C = this; 15371 var capability = newPromiseCapability(C); 15372 var resolve = capability.resolve; 15373 var reject = capability.reject; 15374 var result = perform(function () { 15375 var $promiseResolve = aCallable(C.resolve); 15376 var values = []; 15377 var counter = 0; 15378 var remaining = 1; 15379 iterate(iterable, function (promise) { 15380 var index = counter++; 15381 var alreadyCalled = false; 15382 remaining++; 15383 call($promiseResolve, C, promise).then(function (value) { 15384 if (alreadyCalled) return; 15385 alreadyCalled = true; 15386 values[index] = value; 15387 --remaining || resolve(values); 15388 }, reject); 15389 }); 15390 --remaining || resolve(values); 15391 }); 15392 if (result.error) reject(result.value); 15393 return capability.promise; 15394 }, 15395 // `Promise.race` method 15396 // https://tc39.es/ecma262/#sec-promise.race 15397 race: function race(iterable) { 15398 var C = this; 15399 var capability = newPromiseCapability(C); 15400 var reject = capability.reject; 15401 var result = perform(function () { 15402 var $promiseResolve = aCallable(C.resolve); 15403 iterate(iterable, function (promise) { 15404 call($promiseResolve, C, promise).then(capability.resolve, reject); 15405 }); 15406 }); 15407 if (result.error) reject(result.value); 15408 return capability.promise; 15409 } 15410}); 15411 15412 15413/***/ }), 15414/* 331 */ 15415/***/ (function(module, exports, __webpack_require__) { 15416 15417var global = __webpack_require__(0); 15418 15419module.exports = global.Promise; 15420 15421 15422/***/ }), 15423/* 332 */ 15424/***/ (function(module, exports, __webpack_require__) { 15425 15426var anObject = __webpack_require__(12); 15427var aConstructor = __webpack_require__(333); 15428var wellKnownSymbol = __webpack_require__(6); 15429 15430var SPECIES = wellKnownSymbol('species'); 15431 15432// `SpeciesConstructor` abstract operation 15433// https://tc39.es/ecma262/#sec-speciesconstructor 15434module.exports = function (O, defaultConstructor) { 15435 var C = anObject(O).constructor; 15436 var S; 15437 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S); 15438}; 15439 15440 15441/***/ }), 15442/* 333 */ 15443/***/ (function(module, exports, __webpack_require__) { 15444 15445var global = __webpack_require__(0); 15446var isConstructor = __webpack_require__(43); 15447var tryToString = __webpack_require__(70); 15448 15449var TypeError = global.TypeError; 15450 15451// `Assert: IsConstructor(argument) is true` 15452module.exports = function (argument) { 15453 if (isConstructor(argument)) return argument; 15454 throw TypeError(tryToString(argument) + ' is not a constructor'); 15455}; 15456 15457 15458/***/ }), 15459/* 334 */ 15460/***/ (function(module, exports, __webpack_require__) { 15461 15462var global = __webpack_require__(0); 15463var bind = __webpack_require__(22); 15464var getOwnPropertyDescriptor = __webpack_require__(96).f; 15465var macrotask = __webpack_require__(163).set; 15466var IS_IOS = __webpack_require__(164); 15467var IS_IOS_PEBBLE = __webpack_require__(335); 15468var IS_WEBOS_WEBKIT = __webpack_require__(336); 15469var IS_NODE = __webpack_require__(55); 15470 15471var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; 15472var document = global.document; 15473var process = global.process; 15474var Promise = global.Promise; 15475// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` 15476var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); 15477var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; 15478 15479var flush, head, last, notify, toggle, node, promise, then; 15480 15481// modern engines have queueMicrotask method 15482if (!queueMicrotask) { 15483 flush = function () { 15484 var parent, fn; 15485 if (IS_NODE && (parent = process.domain)) parent.exit(); 15486 while (head) { 15487 fn = head.fn; 15488 head = head.next;
15489 try { 15490 fn(); 15491 } catch (error) { 15492 if (head) notify(); 15493 else last = undefined; 15494 throw error; 15495 } 15496 } last = undefined; 15497 if (parent) parent.enter(); 15498 }; 15499 15500 // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 15501 // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898 15502 if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) { 15503 toggle = true; 15504 node = document.createTextNode(''); 15505 new MutationObserver(flush).observe(node, { characterData: true }); 15506 notify = function () { 15507 node.data = toggle = !toggle; 15508 }; 15509 // environments with maybe non-completely correct, but existent Promise 15510 } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) { 15511 // Promise.resolve without an argument throws an error in LG WebOS 2 15512 promise = Promise.resolve(undefined); 15513 // workaround of WebKit ~ iOS Safari 10.1 bug 15514 promise.constructor = Promise; 15515 then = bind(promise.then, promise); 15516 notify = function () { 15517 then(flush); 15518 }; 15519 // Node.js without promises 15520 } else if (IS_NODE) { 15521 notify = function () { 15522 process.nextTick(flush); 15523 }; 15524 // for other environments - macrotask based on: 15525 // - setImmediate 15526 // - MessageChannel 15527 // - window.postMessag 15528 // - onreadystatechange 15529 // - setTimeout 15530 } else { 15531 // strange IE + webpack dev server bug - use .bind(global) 15532 macrotask = bind(macrotask, global); 15533 notify = function () { 15534 macrotask(flush); 15535 }; 15536 } 15537} 15538 15539module.exports = queueMicrotask || function (fn) { 15540 var task = { fn: fn, next: undefined }; 15541 if (last) last.next = task; 15542 if (!head) { 15543 head = task; 15544 notify(); 15545 } last = task; 15546}; 15547 15548 15549/***/ }), 15550/* 335 */ 15551/***/ (function(module, exports, __webpack_require__) { 15552 15553var userAgent = __webpack_require__(32); 15554var global = __webpack_require__(0); 15555 15556module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined; 15557 15558 15559/***/ }), 15560/* 336 */ 15561/***/ (function(module, exports, __webpack_require__) { 15562 15563var userAgent = __webpack_require__(32); 15564 15565module.exports = /web0s(?!.*chrome)/i.test(userAgent); 15566 15567 15568/***/ }), 15569/* 337 */ 15570/***/ (function(module, exports, __webpack_require__) { 15571 15572var anObject = __webpack_require__(12); 15573var isObject = __webpack_require__(13); 15574var newPromiseCapability = __webpack_require__(165); 15575 15576module.exports = function (C, x) { 15577 anObject(C); 15578 if (isObject(x) && x.constructor === C) return x; 15579 var promiseCapability = newPromiseCapability.f(C); 15580 var resolve = promiseCapability.resolve; 15581 resolve(x); 15582 return promiseCapability.promise; 15583}; 15584 15585 15586/***/ }), 15587/* 338 */ 15588/***/ (function(module, exports, __webpack_require__) { 15589 15590var global = __webpack_require__(0); 15591 15592module.exports = function (a, b) { 15593 var console = global.console; 15594 if (console && console.error) { 15595 arguments.length == 1 ? console.error(a) : console.error(a, b); 15596 } 15597}; 15598 15599 15600/***/ }), 15601/* 339 */ 15602/***/ (function(module, exports) { 15603 15604module.exports = function (exec) { 15605 try { 15606 return { error: false, value: exec() }; 15607 } catch (error) { 15608 return { error: true, value: error }; 15609 } 15610}; 15611 15612 15613/***/ }), 15614/* 340 */ 15615/***/ (function(module, exports) { 15616 15617module.exports = typeof window == 'object'; 15618 15619 15620/***/ }), 15621/* 341 */ 15622/***/ (function(module, exports, __webpack_require__) { 15623 15624var $ = __webpack_require__(1); 15625var fromAsync = __webpack_require__(342); 15626 15627// `Array.fromAsync` method 15628// https://github.com/tc39/proposal-array-from-async 15629$({ target: 'Array', stat: true }, { 15630 fromAsync: fromAsync 15631}); 15632 15633 15634/***/ }), 15635/* 342 */ 15636/***/ (function(module, exports, __webpack_require__) { 15637 15638"use strict"; 15639 15640var bind = __webpack_require__(22); 15641var toObject = __webpack_require__(7); 15642var isConstructor = __webpack_require__(43); 15643var getAsyncIterator = __webpack_require__(343); 15644var getIterator = __webpack_require__(76); 15645var getIteratorMethod = __webpack_require__(77); 15646var getMethod = __webpack_require__(33); 15647var getVirtual = __webpack_require__(345); 15648var getBuiltIn = __webpack_require__(16); 15649var wellKnownSymbol = __webpack_require__(6); 15650var AsyncFromSyncIterator = __webpack_require__(166); 15651var toArray = __webpack_require__(346).toArray; 15652 15653var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); 15654var arrayIterator = getVirtual('Array').values; 15655 15656// `Array.fromAsync` method implementation 15657// https://github.com/tc39/proposal-array-from-async 15658module.exports = function fromAsync(asyncItems /* , mapfn = undefined, thisArg = undefined */) { 15659 var C = this; 15660 var argumentsLength = arguments.length; 15661 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 15662 var thisArg = argumentsLength > 2 ? arguments[2] : undefined; 15663 return new (getBuiltIn('Promise'))(function (resolve) { 15664 var O = toObject(asyncItems); 15665 if (mapfn !== undefined) mapfn = bind(mapfn, thisArg); 15666 var usingAsyncIterator = getMethod(O, ASYNC_ITERATOR); 15667 var usingSyncIterator = usingAsyncIterator ? undefined : getIteratorMethod(O) || arrayIterator; 15668 var A = isConstructor(C) ? new C() : []; 15669 var iterator = usingAsyncIterator 15670 ? getAsyncIterator(O, usingAsyncIterator) 15671 : new AsyncFromSyncIterator(getIterator(O, usingSyncIterator)); 15672 resolve(toArray(iterator, mapfn, A)); 15673 }); 15674}; 15675 15676 15677/***/ }), 15678/* 343 */ 15679/***/ (function(module, exports, __webpack_require__) { 15680 15681var call = __webpack_require__(15); 15682var AsyncFromSyncIterator = __webpack_require__(166); 15683var anObject = __webpack_require__(12); 15684var getIterator = __webpack_require__(76); 15685var getMethod = __webpack_require__(33); 15686var wellKnownSymbol = __webpack_require__(6); 15687 15688var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); 15689 15690module.exports = function (it, usingIterator) { 15691 var method = arguments.length < 2 ? getMethod(it, ASYNC_ITERATOR) : usingIterator; 15692 return method ? anObject(call(method, it)) : new AsyncFromSyncIterator(getIterator(it)); 15693}; 15694 15695 15696/***/ }), 15697/* 344 */ 15698/***/ (function(module, exports, __webpack_require__) { 15699 15700var global = __webpack_require__(0); 15701var shared = __webpack_require__(71); 15702var isCallable = __webpack_require__(5); 15703var create = __webpack_require__(36); 15704var getPrototypeOf = __webpack_require__(110); 15705var redefine = __webpack_require__(27); 15706var wellKnownSymbol = __webpack_require__(6); 15707var IS_PURE = __webpack_require__(50); 15708 15709var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; 15710var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); 15711var AsyncIterator = global.AsyncIterator; 15712var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype; 15713var AsyncIteratorPrototype, prototype; 15714 15715if (PassedAsyncIteratorPrototype) { 15716 AsyncIteratorPrototype = PassedAsyncIteratorPrototype; 15717} else if (isCallable(AsyncIterator)) { 15718 AsyncIteratorPrototype = AsyncIterator.prototype; 15719} else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) { 15720 try { 15721 // eslint-disable-next-line no-new-func -- we have no alternatives without usage of modern syntax 15722 prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')()))); 15723 if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype; 15724 } catch (error) { /* empty */ } 15725} 15726 15727if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {}; 15728else if (IS_PURE) AsyncIteratorPrototype = create(AsyncIteratorPrototype); 15729 15730if (!isCallable(AsyncIteratorPrototype[ASYNC_ITERATOR])) { 15731 redefine(AsyncIteratorPrototype, ASYNC_ITERATOR, function () { 15732 return this; 15733 }); 15734} 15735 15736module.exports = AsyncIteratorPrototype; 15737 15738 15739/***/ }), 15740/* 345 */ 15741/***/ (function(module, exports, __webpack_require__) { 15742 15743var global = __webpack_require__(0); 15744 15745module.exports = function (CONSTRUCTOR) { 15746 return global[CONSTRUCTOR].prototype; 15747}; 15748 15749 15750/***/ }), 15751/* 346 */ 15752/***/ (function(module, exports, __webpack_require__) { 15753 15754"use strict"; 15755 15756// https://github.com/tc39/proposal-iterator-helpers 15757// https://github.com/tc39/proposal-array-from-async 15758var global = __webpack_require__(0); 15759var call = __webpack_require__(15); 15760var aCallable = __webpack_require__(21); 15761var anObject = __webpack_require__(12); 15762var getBuiltIn = __webpack_require__(16); 15763var getMethod = __webpack_require__(33); 15764 15765var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 15766var TypeError = global.TypeError; 15767 15768var createMethod = function (TYPE) { 15769 var IS_TO_ARRAY = TYPE == 0; 15770 var IS_FOR_EACH = TYPE == 1; 15771 var IS_EVERY = TYPE == 2; 15772 var IS_SOME = TYPE == 3; 15773 return function (iterator, fn, target) { 15774 anObject(iterator); 15775 var Promise = getBuiltIn('Promise'); 15776 var next = aCallable(iterator.next); 15777 var index = 0; 15778 var MAPPING = fn !== undefined; 15779 if (MAPPING || !IS_TO_ARRAY) aCallable(fn); 15780 15781 return new Promise(function (resolve, reject) { 15782 var closeIteration = function (method, argument) { 15783 try { 15784 var returnMethod = getMethod(iterator, 'return'); 15785 if (returnMethod) { 15786 return Promise.resolve(call(returnMethod, iterator)).then(function () { 15787 method(argument); 15788 }, function (error) { 15789 reject(error); 15790 }); 15791 } 15792 } catch (error2) { 15793 return reject(error2); 15794 } method(argument); 15795 }; 15796 15797 var onError = function (error) { 15798 closeIteration(reject, error); 15799 }; 15800 15801 var loop = function () { 15802 try { 15803 if (IS_TO_ARRAY && (index > MAX_SAFE_INTEGER) && MAPPING) { 15804 throw TypeError('The allowed number of iterations has been exceeded'); 15805 } 15806 Promise.resolve(anObject(call(next, iterator))).then(function (step) { 15807 try { 15808 if (anObject(step).done) { 15809 if (IS_TO_ARRAY) { 15810 target.length = index; 15811 resolve(target); 15812 } else resolve(IS_SOME ? false : IS_EVERY || undefined); 15813 } else { 15814 var value = step.value; 15815 if (MAPPING) { 15816 Promise.resolve(IS_TO_ARRAY ? fn(value, index) : fn(value)).then(function (result) { 15817 if (IS_FOR_EACH) { 15818 loop(); 15819 } else if (IS_EVERY) { 15820 result ? loop() : closeIteration(resolve, false); 15821 } else if (IS_TO_ARRAY) { 15822 target[index++] = result; 15823 loop(); 15824 } else { 15825 result ? closeIteration(resolve, IS_SOME || value) : loop(); 15826 } 15827 }, onError); 15828 } else { 15829 target[index++] = value; 15830 loop(); 15831 } 15832 } 15833 } catch (error) { onError(error); } 15834 }, onError); 15835 } catch (error2) { onError(error2); } 15836 }; 15837 15838 loop(); 15839 }); 15840 }; 15841}; 15842 15843module.exports = { 15844 toArray: createMethod(0), 15845 forEach: createMethod(1), 15846 every: createMethod(2), 15847 some: createMethod(3), 15848 find: createMethod(4) 15849}; 15850 15851 15852/***/ }), 15853/* 347 */ 15854/***/ (function(module, exports, __webpack_require__) { 15855 15856// TODO: Remove from `core-js@4` 15857__webpack_require__(155); 15858 15859 15860/***/ }), 15861/* 348 */ 15862/***/ (function(module, exports, __webpack_require__) { 15863 15864"use strict"; 15865 15866// TODO: remove from `core-js@4` 15867var $ = __webpack_require__(1); 15868var $filterReject = __webpack_require__(25).filterReject; 15869var addToUnscopables = __webpack_require__(8); 15870 15871// `Array.prototype.filterOut` method 15872// https://github.com/tc39/proposal-array-filtering 15873$({ target: 'Array', proto: true }, {
vendor: 4,602 bytes, lines 15874-16034
15874 filterOut: function filterOut(callbackfn /* , thisArg */) { 15875 return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 15876 } 15877}); 15878 15879addToUnscopables('filterOut'); 15880 15881 15882/***/ }), 15883/* 349 */ 15884/***/ (function(module, exports, __webpack_require__) { 15885 15886"use strict"; 15887 15888var $ = __webpack_require__(1); 15889var $filterReject = __webpack_require__(25).filterReject; 15890var addToUnscopables = __webpack_require__(8); 15891 15892// `Array.prototype.filterReject` method 15893// https://github.com/tc39/proposal-array-filtering 15894$({ target: 'Array', proto: true }, { 15895 filterReject: function filterReject(callbackfn /* , thisArg */) { 15896 return $filterReject(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 15897 } 15898}); 15899 15900addToUnscopables('filterReject'); 15901 15902 15903/***/ }), 15904/* 350 */ 15905/***/ (function(module, exports, __webpack_require__) { 15906 15907"use strict"; 15908 15909var $ = __webpack_require__(1); 15910var $findLast = __webpack_require__(167).findLast; 15911var addToUnscopables = __webpack_require__(8); 15912 15913// `Array.prototype.findLast` method 15914// https://github.com/tc39/proposal-array-find-from-last 15915$({ target: 'Array', proto: true }, { 15916 findLast: function findLast(callbackfn /* , that = undefined */) { 15917 return $findLast(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 15918 } 15919}); 15920 15921addToUnscopables('findLast'); 15922 15923 15924/***/ }), 15925/* 351 */ 15926/***/ (function(module, exports, __webpack_require__) { 15927 15928"use strict"; 15929 15930var $ = __webpack_require__(1); 15931var $findLastIndex = __webpack_require__(167).findLastIndex; 15932var addToUnscopables = __webpack_require__(8); 15933 15934// `Array.prototype.findLastIndex` method 15935// https://github.com/tc39/proposal-array-find-from-last 15936$({ target: 'Array', proto: true }, { 15937 findLastIndex: function findLastIndex(callbackfn /* , that = undefined */) { 15938 return $findLastIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 15939 } 15940}); 15941 15942addToUnscopables('findLastIndex'); 15943 15944 15945/***/ }), 15946/* 352 */ 15947/***/ (function(module, exports, __webpack_require__) { 15948 15949"use strict"; 15950 15951var $ = __webpack_require__(1); 15952var $groupBy = __webpack_require__(353); 15953var arraySpeciesConstructor = __webpack_require__(157); 15954var addToUnscopables = __webpack_require__(8); 15955 15956// `Array.prototype.groupBy` method 15957// https://github.com/tc39/proposal-array-grouping 15958$({ target: 'Array', proto: true }, { 15959 groupBy: function groupBy(callbackfn /* , thisArg */) { 15960 var thisArg = arguments.length > 1 ? arguments[1] : undefined; 15961 return $groupBy(this, callbackfn, thisArg, arraySpeciesConstructor); 15962 } 15963}); 15964 15965addToUnscopables('groupBy'); 15966 15967 15968/***/ }), 15969/* 353 */ 15970/***/ (function(module, exports, __webpack_require__) { 15971 15972var global = __webpack_require__(0); 15973var bind = __webpack_require__(22); 15974var uncurryThis = __webpack_require__(2); 15975var IndexedObject = __webpack_require__(41); 15976var toObject = __webpack_require__(7); 15977var toPropertyKey = __webpack_require__(69); 15978var lengthOfArrayLike = __webpack_require__(4); 15979var objectCreate = __webpack_require__(36); 15980var arrayFromConstructorAndList = __webpack_require__(354); 15981 15982var Array = global.Array; 15983var push = uncurryThis([].push); 15984 15985module.exports = function ($this, callbackfn, that, specificConstructor) { 15986 var O = toObject($this); 15987 var self = IndexedObject(O); 15988 var boundFunction = bind(callbackfn, that); 15989 var target = objectCreate(null); 15990 var length = lengthOfArrayLike(self); 15991 var index = 0; 15992 var Constructor, key, value; 15993 for (;length > index; index++) { 15994 value = self[index]; 15995 key = toPropertyKey(boundFunction(value, index, O)); 15996 // in some IE10 builds, `hasOwnProperty` returns incorrect result on integer keys 15997 // but since it's a `null` prototype object, we can safely use `in` 15998 if (key in target) push(target[key], value); 15999 else target[key] = [value]; 16000 } 16001 if (specificConstructor) { 16002 Constructor = specificConstructor(O); 16003 if (Constructor !== Array) { 16004 for (key in target) target[key] = arrayFromConstructorAndList(Constructor, target[key]); 16005 } 16006 } return target; 16007}; 16008 16009 16010/***/ }), 16011/* 354 */ 16012/***/ (function(module, exports) { 16013 16014module.exports = function (Constructor, list) { 16015 var index = 0; 16016 var length = list.length; 16017 var result = new Constructor(length); 16018 while (length > index) result[index] = list[index++]; 16019 return result; 16020}; 16021 16022 16023/***/ }), 16024/* 355 */ 16025/***/ (function(module, exports, __webpack_require__) { 16026 16027var $ = __webpack_require__(1); 16028var isArray = __webpack_require__(35); 16029 16030// eslint-disable-next-line es/no-object-isfrozen -- safe 16031var isFrozen = Object.isFrozen; 16032 16033var isFrozenStringArray = function (array, allowUndefined) { 16034 if (!isFrozen || !isArray(array) || !isFrozen(array)) return false;
16035 var index = 0; 16036 var length = array.length; 16037 var element; 16038 while (index < length) { 16039 element = array[index++]; 16040 if (!(typeof element == 'string' || (allowUndefined && typeof element == 'undefined'))) { 16041 return false; 16042 } 16043 } return length !== 0; 16044}; 16045 16046// `Array.isTemplateObject` method 16047// https://github.com/tc39/proposal-array-is-template-object 16048$({ target: 'Array', stat: true }, { 16049 isTemplateObject: function isTemplateObject(value) { 16050 if (!isFrozenStringArray(value, true)) return false; 16051 var raw = value.raw; 16052 if (raw.length !== value.length || !isFrozenStringArray(raw, false)) return false; 16053 return true; 16054 } 16055}); 16056 16057 16058/***/ }), 16059/* 356 */ 16060/***/ (function(module, exports, __webpack_require__) { 16061 16062"use strict"; 16063 16064var DESCRIPTORS = __webpack_require__(20); 16065var addToUnscopables = __webpack_require__(8); 16066var toObject = __webpack_require__(7); 16067var lengthOfArrayLike = __webpack_require__(4); 16068var defineProperty = __webpack_require__(18).f; 16069 16070// `Array.prototype.lastIndex` accessor 16071// https://github.com/keithamus/proposal-array-last 16072if (DESCRIPTORS && !('lastItem' in [])) { 16073 defineProperty(Array.prototype, 'lastItem', { 16074 configurable: true, 16075 get: function lastItem() { 16076 var O = toObject(this); 16077 var len = lengthOfArrayLike(O); 16078 return len == 0 ? undefined : O[len - 1]; 16079 }, 16080 set: function lastItem(value) { 16081 var O = toObject(this); 16082 var len = lengthOfArrayLike(O); 16083 return O[len == 0 ? 0 : len - 1] = value; 16084 } 16085 }); 16086 16087 addToUnscopables('lastItem'); 16088} 16089 16090 16091/***/ }), 16092/* 357 */ 16093/***/ (function(module, exports, __webpack_require__) { 16094 16095"use strict"; 16096 16097var DESCRIPTORS = __webpack_require__(20); 16098var addToUnscopables = __webpack_require__(8); 16099var toObject = __webpack_require__(7); 16100var lengthOfArrayLike = __webpack_require__(4); 16101var defineProperty = __webpack_require__(18).f; 16102 16103// `Array.prototype.lastIndex` getter 16104// https://github.com/keithamus/proposal-array-last 16105if (DESCRIPTORS && !('lastIndex' in [])) { 16106 defineProperty(Array.prototype, 'lastIndex', { 16107 configurable: true, 16108 get: function lastIndex() { 16109 var O = toObject(this); 16110 var len = lengthOfArrayLike(O); 16111 return len == 0 ? 0 : len - 1; 16112 } 16113 }); 16114 16115 addToUnscopables('lastIndex'); 16116} 16117 16118 16119/***/ }), 16120/* 358 */ 16121/***/ (function(module, exports, __webpack_require__) { 16122 16123"use strict"; 16124 16125var $ = __webpack_require__(1); 16126var addToUnscopables = __webpack_require__(8); 16127var uniqueBy = __webpack_require__(359); 16128 16129// `Array.prototype.uniqueBy` method 16130// https://github.com/tc39/proposal-array-unique 16131$({ target: 'Array', proto: true }, { 16132 uniqueBy: uniqueBy 16133}); 16134 16135addToUnscopables('uniqueBy'); 16136 16137 16138/***/ }), 16139/* 359 */ 16140/***/ (function(module, exports, __webpack_require__) { 16141 16142"use strict"; 16143 16144var getBuiltIn = __webpack_require__(16); 16145var uncurryThis = __webpack_require__(2); 16146var aCallable = __webpack_require__(21); 16147var lengthOfArrayLike = __webpack_require__(4); 16148var toObject = __webpack_require__(7); 16149var arraySpeciesCreate = __webpack_require__(44); 16150 16151var Map = getBuiltIn('Map'); 16152var MapPrototype = Map.prototype; 16153var mapForEach = uncurryThis(MapPrototype.forEach); 16154var mapHas = uncurryThis(MapPrototype.has); 16155var mapSet = uncurryThis(MapPrototype.set); 16156var push = uncurryThis([].push); 16157 16158// `Array.prototype.uniqueBy` method 16159// https://github.com/tc39/proposal-array-unique 16160module.exports = function uniqueBy(resolver) { 16161 var that = toObject(this); 16162 var length = lengthOfArrayLike(that); 16163 var result = arraySpeciesCreate(that, 0); 16164 var map = new Map(); 16165 var resolverFunction = resolver != null ? aCallable(resolver) : function (value) { 16166 return value; 16167 }; 16168 var index, item, key; 16169 for (index = 0; index < length; index++) { 16170 item = that[index]; 16171 key = resolverFunction(item); 16172 if (!mapHas(map, key)) mapSet(map, key, item); 16173 } 16174 mapForEach(map, function (value) { 16175 push(result, value); 16176 }); 16177 return result; 16178}; 16179 16180 16181/***/ }), 16182/* 360 */ 16183/***/ (function(module, exports, __webpack_require__) { 16184 16185var __WEBPACK_AMD_DEFINE_RESULT__;(typeof navigator !== "undefined") && (function(root, factory) { 16186 if (true) { 16187 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { 16188 return factory(root); 16189 }).call(exports, __webpack_require__, exports, module), 16190 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 16191 } else {} 16192}((window || {}), function(window) { 16193 "use strict";var svgNS="http://www.w3.org/2000/svg",locationHref="",initialDefaultFrame=-999999,subframeEnabled=!0,idPrefix="",expressionsPlugin,isSafari=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),cachedColors={},bmRnd,bmPow=Math.pow,bmSqrt=Math.sqrt,bmFloor=Math.floor,bmMax=Math.max,bmMin=Math.min,BMMath={};function ProjectInterface(){return{}}!function(){var t,e=["abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","cbrt","expm1","clz32","cos","cosh","exp","floor","fround","hypot","imul","log","log1p","log2","log10","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc","E","LN10","LN2","LOG10E","LOG2E","PI","SQRT1_2","SQRT2"],r=e.length;for(t=0;t<r;t+=1)BMMath[e[t]]=Math[e[t]]}(),BMMath.random=Math.random,BMMath.abs=function(t){if("object"===typeof t&&t.length){var e,r=createSizedArray(t.length),i=t.length;for(e=0;e<i;e+=1)r[e]=Math.abs(t[e]);return r}return Math.abs(t)};var defaultCurveSegments=150,degToRads=Math.PI/180,roundCorner=.5519;function roundValues(t){bmRnd=t?Math.round:function(t){return t}}function styleDiv(t){t.style.position="absolute",t.style.top=0,t.style.left=0,t.style.display="block",t.style.transformOrigin="0 0",t.style.webkitTransformOrigin="0 0",t.style.backfaceVisibility="visible",t.style.webkitBackfaceVisibility="visible",t.style.transformStyle="preserve-3d",t.style.webkitTransformStyle="preserve-3d",t.style.mozTransformStyle="preserve-3d"}function BMEnterFrameEvent(t,e,r,i){this.type=t,this.currentTime=e,this.totalTime=r,this.direction=i<0?-1:1}function BMCompleteEvent(t,e){this.type=t,this.direction=e<0?-1:1}function BMCompleteLoopEvent(t,e,r,i){this.type=t,this.currentLoop=r,this.totalLoops=e,this.direction=i<0?-1:1}function BMSegmentStartEvent(t,e,r){this.type=t,this.firstFrame=e,this.totalFrames=r}function BMDestroyEvent(t,e){this.type=t,this.target=e}function BMRenderFrameErrorEvent(t,e){this.type="renderFrameError",this.nativeError=t,this.currentTime=e}function BMConfigErrorEvent(t){this.type="configError",this.nativeError=t}function BMAnimationConfigErrorEvent(t,e){this.type=t,this.nativeError=e}roundValues(!1);var createElementID=(F=0,function(){return idPrefix+"__lottie_element_"+(F+=1)}),F;function HSVtoRGB(t,e,r){var i,s,a,n,o,h,l,p;switch(h=r*(1-e),l=r*(1-(o=6*t-(n=Math.floor(6*t)))*e),p=r*(1-(1-o)*e),n%6){case 0:i=r,s=p,a=h;break;case 1:i=l,s=r,a=h;break;case 2:i=h,s=r,a=p;break;case 3:i=h,s=l,a=r;break;case 4:i=p,s=h,a=r;break;case 5:i=r,s=h,a=l}return[i,s,a]}function RGBtoHSV(t,e,r){var i,s=Math.max(t,e,r),a=Math.min(t,e,r),n=s-a,o=0===s?0:n/s,h=s/255;switch(s){case a:i=0;break;case t:i=e-r+n*(e<r?6:0),i/=6*n;break;case e:i=r-t+2*n,i/=6*n;break;case r:i=t-e+4*n,i/=6*n}return[i,o,h]}function addSaturationToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[1]+=e,1<r[1]?r[1]=1:r[1]<=0&&(r[1]=0),HSVtoRGB(r[0],r[1],r[2])}function addBrightnessToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[2]+=e,1<r[2]?r[2]=1:r[2]<0&&(r[2]=0),HSVtoRGB(r[0],r[1],r[2])}function addHueToRGB(t,e){var r=RGBtoHSV(255*t[0],255*t[1],255*t[2]);return r[0]+=e/360,1<r[0]?r[0]-=1:r[0]<0&&(r[0]+=1),HSVtoRGB(r[0],r[1],r[2])}var rgbToHex=function(){var t,e,i=[];for(t=0;t<256;t+=1)e=t.toString(16),i[t]=1===e.length?"0"+e:e;return function(t,e,r){return t<0&&(t=0),e<0&&(e=0),r<0&&(r=0),"#"+i[t]+i[e]+i[r]}}();function BaseEvent(){}BaseEvent.prototype={triggerEvent:function(t,e){if(this._cbs[t])for(var r=this._cbs[t],i=0;i<r.length;i+=1)r[i](e)},addEventListener:function(t,e){return this._cbs[t]||(this._cbs[t]=[]),this._cbs[t].push(e),function(){this.removeEventListener(t,e)}.bind(this)},removeEventListener:function(t,e){if(e){if(this._cbs[t]){for(var r=0,i=this._cbs[t].length;r<i;)this._cbs[t][r]===e&&(this._cbs[t].splice(r,1),r-=1,i-=1),r+=1;this._cbs[t].length||(this._cbs[t]=null)}}else this._cbs[t]=null}};var createTypedArray=function(){function r(t,e){var r,i=0,s=[];switch(t){case"int16":case"uint8c":r=1;break;default:r=1.1}for(i=0;i<e;i+=1)s.push(r);return s}return"function"==typeof Uint8ClampedArray&&"function"==typeof Float32Array?function(t,e){return"float32"===t?new Float32Array(e):"int16"===t?new Int16Array(e):"uint8c"===t?new Uint8ClampedArray(e):r(t,e)}:r}();function createSizedArray(t){return Array.apply(null,{length:t})}function createNS(t){return document.createElementNS(svgNS,t)}function createTag(t){return document.createElement(t)}function DynamicPropertyContainer(){}DynamicPropertyContainer.prototype={addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&(this.dynamicProperties.push(t),this.container.addDynamicProperty(this),this._isAnimated=!0)},iterateDynamicProperties:function(){var t;this._mdf=!1;var e=this.dynamicProperties.length;for(t=0;t<e;t+=1)this.dynamicProperties[t].getValue(),this.dynamicProperties[t]._mdf&&(this._mdf=!0)},initDynamicPropertyContainer:function(t){this.container=t,this.dynamicProperties=[],this._mdf=!1,this._isAnimated=!1}};
vendor: 23,328 bytes, line 16193
16193var getBlendMode=(Oa={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"},function(t){return Oa[t]||""}),Oa,lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"},Matrix=function(){var s=Math.cos,a=Math.sin,n=Math.tan,i=Math.round;function t(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function e(t){if(0===t)return this;var e=s(t),r=a(t);return this._t(e,-r,0,0,r,e,0,0,0,0,1,0,0,0,0,1)}function r(t){if(0===t)return this;var e=s(t),r=a(t);return this._t(1,0,0,0,0,e,-r,0,0,r,e,0,0,0,0,1)}function o(t){if(0===t)return this;var e=s(t),r=a(t);return this._t(e,0,r,0,0,1,0,0,-r,0,e,0,0,0,0,1)}function h(t){if(0===t)return this;var e=s(t),r=a(t);return this._t(e,-r,0,0,r,e,0,0,0,0,1,0,0,0,0,1)}function l(t,e){return this._t(1,e,t,1,0,0)}function p(t,e){return this.shear(n(t),n(e))}function m(t,e){var r=s(e),i=a(e);return this._t(r,i,0,0,-i,r,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,n(t),1,0,0,0,0,1,0,0,0,0,1)._t(r,-i,0,0,i,r,0,0,0,0,1,0,0,0,0,1)}function f(t,e,r){return r||0===r||(r=1),1===t&&1===e&&1===r?this:this._t(t,0,0,0,0,e,0,0,0,0,r,0,0,0,0,1)}function c(t,e,r,i,s,a,n,o,h,l,p,m,f,c,d,u){return this.props[0]=t,this.props[1]=e,this.props[2]=r,this.props[3]=i,this.props[4]=s,this.props[5]=a,this.props[6]=n,this.props[7]=o,this.props[8]=h,this.props[9]=l,this.props[10]=p,this.props[11]=m,this.props[12]=f,this.props[13]=c,this.props[14]=d,this.props[15]=u,this}function d(t,e,r){return r=r||0,0!==t||0!==e||0!==r?this._t(1,0,0,0,0,1,0,0,0,0,1,0,t,e,r,1):this}function u(t,e,r,i,s,a,n,o,h,l,p,m,f,c,d,u){var y=this.props;if(1===t&&0===e&&0===r&&0===i&&0===s&&1===a&&0===n&&0===o&&0===h&&0===l&&1===p&&0===m)return y[12]=y[12]*t+y[15]*f,y[13]=y[13]*a+y[15]*c,y[14]=y[14]*p+y[15]*d,y[15]*=u,this._identityCalculated=!1,this;var g=y[0],v=y[1],b=y[2],P=y[3],E=y[4],x=y[5],S=y[6],A=y[7],C=y[8],T=y[9],_=y[10],k=y[11],D=y[12],M=y[13],F=y[14],w=y[15];return y[0]=g*t+v*s+b*h+P*f,y[1]=g*e+v*a+b*l+P*c,y[2]=g*r+v*n+b*p+P*d,y[3]=g*i+v*o+b*m+P*u,y[4]=E*t+x*s+S*h+A*f,y[5]=E*e+x*a+S*l+A*c,y[6]=E*r+x*n+S*p+A*d,y[7]=E*i+x*o+S*m+A*u,y[8]=C*t+T*s+_*h+k*f,y[9]=C*e+T*a+_*l+k*c,y[10]=C*r+T*n+_*p+k*d,y[11]=C*i+T*o+_*m+k*u,y[12]=D*t+M*s+F*h+w*f,y[13]=D*e+M*a+F*l+w*c,y[14]=D*r+M*n+F*p+w*d,y[15]=D*i+M*o+F*m+w*u,this._identityCalculated=!1,this}function y(){return this._identityCalculated||(this._identity=!(1!==this.props[0]||0!==this.props[1]||0!==this.props[2]||0!==this.props[3]||0!==this.props[4]||1!==this.props[5]||0!==this.props[6]||0!==this.props[7]||0!==this.props[8]||0!==this.props[9]||1!==this.props[10]||0!==this.props[11]||0!==this.props[12]||0!==this.props[13]||0!==this.props[14]||1!==this.props[15]),this._identityCalculated=!0),this._identity}function g(t){for(var e=0;e<16;){if(t.props[e]!==this.props[e])return!1;e+=1}return!0}function v(t){var e;for(e=0;e<16;e+=1)t.props[e]=this.props[e];return t}function b(t){var e;for(e=0;e<16;e+=1)this.props[e]=t[e]}function P(t,e,r){return{x:t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12],y:t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13],z:t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]}}function E(t,e,r){return t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12]}function x(t,e,r){return t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13]}function S(t,e,r){return t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]}function A(){var t=this.props[0]*this.props[5]-this.props[1]*this.props[4],e=this.props[5]/t,r=-this.props[1]/t,i=-this.props[4]/t,s=this.props[0]/t,a=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/t,n=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/t,o=new Matrix;return o.props[0]=e,o.props[1]=r,o.props[4]=i,o.props[5]=s,o.props[12]=a,o.props[13]=n,o}function C(t){return this.getInverseMatrix().applyToPointArray(t[0],t[1],t[2]||0)}function T(t){var e,r=t.length,i=[];for(e=0;e<r;e+=1)i[e]=C(t[e]);return i}function _(t,e,r){var i=createTypedArray("float32",6);if(this.isIdentity())i[0]=t[0],i[1]=t[1],i[2]=e[0],i[3]=e[1],i[4]=r[0],i[5]=r[1];else{var s=this.props[0],a=this.props[1],n=this.props[4],o=this.props[5],h=this.props[12],l=this.props[13];i[0]=t[0]*s+t[1]*n+h,i[1]=t[0]*a+t[1]*o+l,i[2]=e[0]*s+e[1]*n+h,i[3]=e[0]*a+e[1]*o+l,i[4]=r[0]*s+r[1]*n+h,i[5]=r[0]*a+r[1]*o+l}return i}function k(t,e,r){return this.isIdentity()?[t,e,r]:[t*this.props[0]+e*this.props[4]+r*this.props[8]+this.props[12],t*this.props[1]+e*this.props[5]+r*this.props[9]+this.props[13],t*this.props[2]+e*this.props[6]+r*this.props[10]+this.props[14]]}function D(t,e){if(this.isIdentity())return t+","+e;var r=this.props;return Math.round(100*(t*r[0]+e*r[4]+r[12]))/100+","+Math.round(100*(t*r[1]+e*r[5]+r[13]))/100}function M(){for(var t=0,e=this.props,r="matrix3d(";t<16;)r+=i(1e4*e[t])/1e4,r+=15===t?")":",",t+=1;return r}function F(t){return t<1e-6&&0<t||-1e-6<t&&t<0?i(1e4*t)/1e4:t}function w(){var t=this.props;return"matrix("+F(t[0])+","+F(t[1])+","+F(t[4])+","+F(t[5])+","+F(t[12])+","+F(t[13])+")"}return function(){this.reset=t,this.rotate=e,this.rotateX=r,this.rotateY=o,this.rotateZ=h,this.skew=p,this.skewFromAxis=m,this.shear=l,this.scale=f,this.setTransform=c,this.translate=d,this.transform=u,this.applyToPoint=P,this.applyToX=E,this.applyToY=x,this.applyToZ=S,this.applyToPointArray=k,this.applyToTriplePoints=_,this.applyToPointStringified=D,this.toCSS=M,this.to2dCSS=w,this.clone=v,this.cloneFromProps=b,this.equals=g,this.inversePoints=T,this.inversePoint=C,this.getInverseMatrix=A,this._t=this.transform,this.isIdentity=y,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();!function(o,h){var l,p=this,m=256,f=6,c="random",d=h.pow(m,f),u=h.pow(2,52),y=2*u,g=m-1;function v(t){var e,r=t.length,n=this,i=0,s=n.i=n.j=0,a=n.S=[];for(r||(t=[r++]);i<m;)a[i]=i++;for(i=0;i<m;i++)a[i]=a[s=g&s+t[i%r]+(e=a[i])],a[s]=e;n.g=function(t){for(var e,r=0,i=n.i,s=n.j,a=n.S;t--;)e=a[i=g&i+1],r=r*m+a[g&(a[i]=a[s=g&s+e])+(a[s]=e)];return n.i=i,n.j=s,r}}function b(t,e){return e.i=t.i,e.j=t.j,e.S=t.S.slice(),e}function P(t,e){for(var r,i=t+"",s=0;s<i.length;)e[g&s]=g&(r^=19*e[g&s])+i.charCodeAt(s++);return E(e)}function E(t){return String.fromCharCode.apply(0,t)}h["seed"+c]=function(t,e,r){var i=[],s=P(function t(e,r){var i,s=[],a=typeof e;if(r&&"object"==a)for(i in e)try{s.push(t(e[i],r-1))}catch(t){}return s.length?s:"string"==a?e:e+"\0"}((e=!0===e?{entropy:!0}:e||{}).entropy?[t,E(o)]:null===t?function(){try{if(l)return E(l.randomBytes(m));var t=new Uint8Array(m);return(p.crypto||p.msCrypto).getRandomValues(t),E(t)}catch(t){var e=p.navigator,r=e&&e.plugins;return[+new Date,p,r,p.screen,E(o)]}}():t,3),i),a=new v(i),n=function(){for(var t=a.g(f),e=d,r=0;t<u;)t=(t+r)*m,e*=m,r=a.g(1);for(;y<=t;)t/=2,e/=2,r>>>=1;return(t+r)/e};return n.int32=function(){return 0|a.g(4)},n.quick=function(){return a.g(4)/4294967296},n.double=n,P(E(a.S),o),(e.pass||r||function(t,e,r,i){return i&&(i.S&&b(i,a),t.state=function(){return b(a,{})}),r?(h[c]=t,e):t})(n,s,"global"in e?e.global:this==h,e.state)},P(h.random(),o)}([],BMMath);var BezierFactory=function(){var t={getBezierEasing:function(t,e,r,i,s){var a=s||("bez_"+t+"_"+e+"_"+r+"_"+i).replace(/\./g,"p");if(o[a])return o[a];var n=new h([t,e,r,i]);return o[a]=n}},o={};var l=11,p=1/(l-1),e="function"==typeof Float32Array;function i(t,e){return 1-3*e+3*t}function s(t,e){return 3*e-6*t}function a(t){return 3*t}function m(t,e,r){return((i(e,r)*t+s(e,r))*t+a(e))*t}function f(t,e,r){return 3*i(e,r)*t*t+2*s(e,r)*t+a(e)}function h(t){this._p=t,this._mSampleValues=e?new Float32Array(l):new Array(l),this._precomputed=!1,this.get=this.get.bind(this)}return h.prototype={get:function(t){var e=this._p[0],r=this._p[1],i=this._p[2],s=this._p[3];return this._precomputed||this._precompute(),e===r&&i===s?t:0===t?0:1===t?1:m(this._getTForX(t),r,s)},_precompute:function(){var t=this._p[0],e=this._p[1],r=this._p[2],i=this._p[3];this._precomputed=!0,t===e&&r===i||this._calcSampleValues()},_calcSampleValues:function(){for(var t=this._p[0],e=this._p[2],r=0;r<l;++r)this._mSampleValues[r]=m(r*p,t,e)},_getTForX:function(t){for(var e=this._p[0],r=this._p[2],i=this._mSampleValues,s=0,a=1,n=l-1;a!==n&&i[a]<=t;++a)s+=p;var o=s+(t-i[--a])/(i[a+1]-i[a])*p,h=f(o,e,r);return.001<=h?function(t,e,r,i){for(var s=0;s<4;++s){var a=f(e,r,i);if(0===a)return e;e-=(m(e,r,i)-t)/a}return e}(t,o,e,r):0===h?o:function(t,e,r,i,s){for(var a,n,o=0;0<(a=m(n=e+(r-e)/2,i,s)-t)?r=n:e=n,1e-7<Math.abs(a)&&++o<10;);return n}(t,s,s+p,e,r)}},t}();function extendPrototype(t,e){var r,i,s=t.length;for(r=0;r<s;r+=1)for(var a in i=t[r].prototype)Object.prototype.hasOwnProperty.call(i,a)&&(e.prototype[a]=i[a])}function getDescriptor(t,e){return Object.getOwnPropertyDescriptor(t,e)}function createProxyFunction(t){function e(){}return e.prototype=t,e}function bezFunction(){var D=Math;function y(t,e,r,i,s,a){var n=t*i+e*s+r*a-s*i-a*t-r*e;return-.001<n&&n<.001}var p=function(t,e,r,i){var s,a,n,o,h,l,p=defaultCurveSegments,m=0,f=[],c=[],d=bezierLengthPool.newElement();for(n=r.length,s=0;s<p;s+=1){for(h=s/(p-1),a=l=0;a<n;a+=1)o=bmPow(1-h,3)*t[a]+3*bmPow(1-h,2)*h*r[a]+3*(1-h)*bmPow(h,2)*i[a]+bmPow(h,3)*e[a],f[a]=o,null!==c[a]&&(l+=bmPow(f[a]-c[a],2)),c[a]=f[a];l&&(m+=l=bmSqrt(l)),d.percents[s]=h,d.lengths[s]=m}return d.addedLength=m,d};function g(t){this.segmentLength=0,this.points=new Array(t)}function v(t,e){this.partialLength=t,this.point=e}var b,t=(b={},function(t,e,r,i){var s=(t[0]+"_"+t[1]+"_"+e[0]+"_"+e[1]+"_"+r[0]+"_"+r[1]+"_"+i[0]+"_"+i[1]).replace(/\./g,"p");if(!b[s]){var a,n,o,h,l,p,m,f=defaultCurveSegments,c=0,d=null;2===t.length&&(t[0]!==e[0]||t[1]!==e[1])&&y(t[0],t[1],e[0],e[1],t[0]+r[0],t[1]+r[1])&&y(t[0],t[1],e[0],e[1],e[0]+i[0],e[1]+i[1])&&(f=2);var u=new g(f);for(o=r.length,a=0;a<f;a+=1){for(m=createSizedArray(o),l=a/(f-1),n=p=0;n<o;n+=1)h=bmPow(1-l,3)*t[n]+3*bmPow(1-l,2)*l*(t[n]+r[n])+3*(1-l)*bmPow(l,2)*(e[n]+i[n])+bmPow(l,3)*e[n],m[n]=h,null!==d&&(p+=bmPow(m[n]-d[n],2));c+=p=bmSqrt(p),u.points[a]=new v(p,m),d=m}u.segmentLength=c,b[s]=u}return b[s]});function M(t,e){var r=e.percents,i=e.lengths,s=r.length,a=bmFloor((s-1)*t),n=t*e.addedLength,o=0;if(a===s-1||0===a||n===i[a])return r[a];for(var h=i[a]>n?-1:1,l=!0;l;)if(i[a]<=n&&i[a+1]>n?(o=(n-i[a])/(i[a+1]-i[a]),l=!1):a+=h,a<0||s-1<=a){if(a===s-1)return r[a];l=!1}return r[a]+(r[a+1]-r[a])*o}var F=createTypedArray("float32",8);return{getSegmentsLength:function(t){var e,r=segmentsLengthPool.newElement(),i=t.c,s=t.v,a=t.o,n=t.i,o=t._length,h=r.lengths,l=0;for(e=0;e<o-1;e+=1)h[e]=p(s[e],s[e+1],a[e],n[e+1]),l+=h[e].addedLength;return i&&o&&(h[e]=p(s[e],s[0],a[e],n[0]),l+=h[e].addedLength),r.totalLength=l,r},getNewSegment:function(t,e,r,i,s,a,n){s<0?s=0:1<s&&(s=1);var o,h=M(s,n),l=M(a=1<a?1:a,n),p=t.length,m=1-h,f=1-l,c=m*m*m,d=h*m*m*3,u=h*h*m*3,y=h*h*h,g=m*m*f,v=h*m*f+m*h*f+m*m*l,b=h*h*f+m*h*l+h*m*l,P=h*h*l,E=m*f*f,x=h*f*f+m*l*f+m*f*l,S=h*l*f+m*l*l+h*f*l,A=h*l*l,C=f*f*f,T=l*f*f+f*l*f+f*f*l,_=l*l*f+f*l*l+l*f*l,k=l*l*l;for(o=0;o<p;o+=1)F[4*o]=D.round(1e3*(c*t[o]+d*r[o]+u*i[o]+y*e[o]))/1e3,F[4*o+1]=D.round(1e3*(g*t[o]+v*r[o]+b*i[o]+P*e[o]))/1e3,F[4*o+2]=D.round(1e3*(E*t[o]+x*r[o]+S*i[o]+A*e[o]))/1e3,F[4*o+3]=D.round(1e3*(C*t[o]+T*r[o]+_*i[o]+k*e[o]))/1e3;return F},getPointInSegment:function(t,e,r,i,s,a){var n=M(s,a),o=1-n;return[D.round(1e3*(o*o*o*t[0]+(n*o*o+o*n*o+o*o*n)*r[0]+(n*n*o+o*n*n+n*o*n)*i[0]+n*n*n*e[0]))/1e3,D.round(1e3*(o*o*o*t[1]+(n*o*o+o*n*o+o*o*n)*r[1]+(n*n*o+o*n*n+n*o*n)*i[1]+n*n*n*e[1]))/1e3]},buildBezierData:t,pointOnLine2D:y,pointOnLine3D:function(t,e,r,i,s,a,n,o,h){if(0===r&&0===a&&0===h)return y(t,e,i,s,n,o);var l,p=D.sqrt(D.pow(i-t,2)+D.pow(s-e,2)+D.pow(a-r,2)),m=D.sqrt(D.pow(n-t,2)+D.pow(o-e,2)+D.pow(h-r,2)),f=D.sqrt(D.pow(n-i,2)+D.pow(o-s,2)+D.pow(h-a,2));return-1e-4<(l=m<p?f<p?p-m-f:f-m-p:m<f?f-m-p:m-p-f)&&l<1e-4}}}!function(){for(var s=0,t=["ms","moz","webkit","o"],e=0;e<t.length&&!window.requestAnimationFrame;++e)window.requestAnimationFrame=window[t[e]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[t[e]+"CancelAnimationFrame"]||window[t[e]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(t){var e=(new Date).getTime(),r=Math.max(0,16-(e-s)),i=setTimeout(function(){t(e+r)},r);return s=e+r,i}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}();var bez=bezFunction();function dataFunctionManager(){function m(t,e,r){var i,s,a,n,o,h,l=t.length;for(s=0;s<l;s+=1)if("ks"in(i=t[s])&&!i.completed){if(i.completed=!0,i.tt&&(t[s-1].td=i.tt),i.hasMask){var p=i.masksProperties;for(n=p.length,a=0;a<n;a+=1)if(p[a].pt.k.i)d(p[a].pt.k);else for(h=p[a].pt.k.length,o=0;o<h;o+=1)p[a].pt.k[o].s&&d(p[a].pt.k[o].s[0]),p[a].pt.k[o].e&&d(p[a].pt.k[o].e[0])}0===i.ty?(i.layers=f(i.refId,e),m(i.layers,e,r)):4===i.ty?c(i.shapes):5===i.ty&&u(i)}}function f(t,e){for(var r=0,i=e.length;r<i;){if(e[r].id===t)return e[r].layers.__used?JSON.parse(JSON.stringify(e[r].layers)):(e[r].layers.__used=!0,e[r].layers);r+=1}return null}function c(t){var e,r,i;for(e=t.length-1;0<=e;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)d(t[e].ks.k);else for(i=t[e].ks.k.length,r=0;r<i;r+=1)t[e].ks.k[r].s&&d(t[e].ks.k[r].s[0]),t[e].ks.k[r].e&&d(t[e].ks.k[r].e[0]);else"gr"===t[e].ty&&c(t[e].it)}function d(t){var e,r=t.i.length;for(e=0;e<r;e+=1)t.i[e][0]+=t.v[e][0],t.i[e][1]+=t.v[e][1],t.o[e][0]+=t.v[e][0],t.o[e][1]+=t.v[e][1]}function o(t,e){var r=e?e.split("."):[100,100,100];return t[0]>r[0]||!(r[0]>t[0])&&(t[1]>r[1]||!(r[1]>t[1])&&(t[2]>r[2]||!(r[2]>t[2])&&null))}var h,r=function(){var i=[4,4,14];function s(t){var e,r,i,s=t.length;for(e=0;e<s;e+=1)5===t[e].ty&&(r=t[e],void 0,i=r.t.d,r.t.d={k:[{s:i,t:0}]})}return function(t){if(o(i,t.v)&&(s(t.layers),t.assets)){var e,r=t.assets.length;for(e=0;e<r;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}(),i=(h=[4,7,99],function(t){if(t.chars&&!o(h,t.v)){var e,r,i,s,a,n=t.chars.length;for(e=0;e<n;e+=1)if(t.chars[e].data&&t.chars[e].data.shapes)for(i=(a=t.chars[e].data.shapes[0].it).length,r=0;r<i;r+=1)(s=a[r].ks.k).__converted||(d(a[r].ks.k),s.__converted=!0)}}),s=function(){var i=[4,1,9];function a(t){var e,r,i,s=t.length;for(e=0;e<s;e+=1)if("gr"===t[e].ty)a(t[e].it);else if("fl"===t[e].ty||"st"===t[e].ty)if(t[e].c.k&&t[e].c.k[0].i)for(i=t[e].c.k.length,r=0;r<i;r+=1)t[e].c.k[r].s&&(t[e].c.k[r].s[0]/=255,t[e].c.k[r].s[1]/=255,t[e].c.k[r].s[2]/=255,t[e].c.k[r].s[3]/=255),t[e].c.k[r].e&&(t[e].c.k[r].e[0]/=255,t[e].c.k[r].e[1]/=255,t[e].c.k[r].e[2]/=255,t[e].c.k[r].e[3]/=255);else t[e].c.k[0]/=255,t[e].c.k[1]/=255,t[e].c.k[2]/=255,t[e].c.k[3]/=255}function s(t){var e,r=t.length;for(e=0;e<r;e+=1)4===t[e].ty&&a(t[e].shapes)}return function(t){if(o(i,t.v)&&(s(t.layers),t.assets)){var e,r=t.assets.length;for(e=0;e<r;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}(),a=function(){var i=[4,4,18];function l(t){var e,r,i;for(e=t.length-1;0<=e;e-=1)if("sh"===t[e].ty)if(t[e].ks.k.i)t[e].ks.k.c=t[e].closed;else for(i=t[e].ks.k.length,r=0;r<i;r+=1)t[e].ks.k[r].s&&(t[e].ks.k[r].s[0].c=t[e].closed),t[e].ks.k[r].e&&(t[e].ks.k[r].e[0].c=t[e].closed);else"gr"===t[e].ty&&l(t[e].it)}function s(t){var e,r,i,s,a,n,o=t.length;for(r=0;r<o;r+=1){if((e=t[r]).hasMask){var h=e.masksProperties;for(s=h.length,i=0;i<s;i+=1)if(h[i].pt.k.i)h[i].pt.k.c=h[i].cl;else for(n=h[i].pt.k.length,a=0;a<n;a+=1)h[i].pt.k[a].s&&(h[i].pt.k[a].s[0].c=h[i].cl),h[i].pt.k[a].e&&(h[i].pt.k[a].e[0].c=h[i].cl)}4===e.ty&&l(e.shapes)}}return function(t){if(o(i,t.v)&&(s(t.layers),t.assets)){var e,r=t.assets.length;for(e=0;e<r;e+=1)t.assets[e].layers&&s(t.assets[e].layers)}}}();function u(t){0!==t.t.a.length||"m"in t.t.p||(t.singleShape=!0)}var t={completeData:function(t,e){t.__complete||(s(t),r(t),i(t),a(t),m(t.layers,t.assets,e),t.__complete=!0)}};return t.checkColors=s,t.checkChars=i,t.checkShapes=a,t.completeLayers=m,t}var dataManager=dataFunctionManager();function getFontProperties(t){for(var e=t.fStyle?t.fStyle.split(" "):[],r="normal",i="normal",s=e.length,a=0;a<s;a+=1)switch(e[a].toLowerCase()){case"italic":i="italic";break;case"bold":r="700";break;case"black":r="900";break;case"medium":r="500";break;case"regular":case"normal":r="400";break;case"light":case"thin":r="200"}return{style:i,weight:t.fWeight||r}}var FontManager=function(){var a={w:0,size:0,shapes:[]},e=[];e=e.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var i=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"],r=[65039,8205];function f(t,e){var r=createTag("span");r.setAttribute("aria-hidden",!0),r.style.fontFamily=e;var i=createTag("span");i.innerText="giItT1WQy@!-/#",r.style.position="absolute",r.style.left="-10000px",r.style.top="-10000px",r.style.fontSize="300px",r.style.fontVariant="normal",r.style.fontStyle="normal",r.style.fontWeight="normal",r.style.letterSpacing="0",r.appendChild(i),document.body.appendChild(r);var s=i.offsetWidth;return i.style.fontFamily=function(t){var e,r=t.split(","),i=r.length,s=[];for(e=0;e<i;e+=1)"sans-serif"!==r[e]&&"monospace"!==r[e]&&s.push(r[e]);return s.join(",")}(t)+", "+e,{node:i,w:s,parent:r}}function c(t,e){var r=createNS("text");r.style.fontSize="100px";var i=getFontProperties(e);return r.setAttribute("font-family",e.fFamily),r.setAttribute("font-style",i.style),r.setAttribute("font-weight",i.weight),r.textContent="1",e.fClass?(r.style.fontFamily="inherit",r.setAttribute("class",e.fClass)):r.style.fontFamily=e.fFamily,t.appendChild(r),createTag("canvas").getContext("2d").font=e.fWeight+" "+e.fStyle+" 100px "+e.fFamily,r}var t=function(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};return t.isModifier=function(t,e){var r=t.toString(16)+e.toString(16);return-1!==i.indexOf(r)},t.isZeroWidthJoiner=function(t,e){return e?t===r[0]&&e===r[1]:t===r[1]},t.isCombinedCharacter=function(t){return-1!==e.indexOf(t)},t.prototype={addChars:function(t){if(t){var e;this.chars||(this.chars=[]);var r,i,s=t.length,a=this.chars.length;for(e=0;e<s;e+=1){for(r=0,i=!1;r<a;)this.chars[r].style===t[e].style&&this.chars[r].fFamily===t[e].fFamily&&this.chars[r].ch===t[e].ch&&(i=!0),r+=1;i||(this.chars.push(t[e]),a+=1)}}},addFonts:function(t,e){if(t){if(this.chars)return this.isLoaded=!0,void(this.fonts=t.list);var r,i=t.list,s=i.length,a=s;for(r=0;r<s;r+=1){var n,o,h=!0;if(i[r].loaded=!1,i[r].monoCase=f(i[r].fFamily,"monospace"),i[r].sansCase=f(i[r].fFamily,"sans-serif"),i[r].fPath){if("p"===i[r].fOrigin||3===i[r].origin){if(0<(n=document.querySelectorAll('style[f-forigin="p"][f-family="'+i[r].fFamily+'"], style[f-origin="3"][f-family="'+i[r].fFamily+'"]')).length&&(h=!1),h){var l=createTag("style");l.setAttribute("f-forigin",i[r].fOrigin),l.setAttribute("f-origin",i[r].origin),l.setAttribute("f-family",i[r].fFamily),l.type="text/css",l.innerText="@font-face {font-family: "+i[r].fFamily+"; font-style: normal; src: url('"+i[r].fPath+"');}",e.appendChild(l)}}else if("g"===i[r].fOrigin||1===i[r].origin){for(n=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]'),o=0;o<n.length;o+=1)-1!==n[o].href.indexOf(i[r].fPath)&&(h=!1);if(h){var p=createTag("link");p.setAttribute("f-forigin",i[r].fOrigin),p.setAttribute("f-origin",i[r].origin),p.type="text/css",p.rel="stylesheet",p.href=i[r].fPath,document.body.appendChild(p)}}else if("t"===i[r].fOrigin||2===i[r].origin){for(n=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]'),o=0;o<n.length;o+=1)i[r].fPath===n[o].src&&(h=!1);if(h){var m=createTag("link");m.setAttribute("f-forigin",i[r].fOrigin),m.setAttribute("f-origin",i[r].origin),m.setAttribute("rel","stylesheet"),m.setAttribute("href",i[r].fPath),e.appendChild(m)}}}else i[r].loaded=!0,a-=1;i[r].helper=c(e,i[r]),i[r].cache={},this.fonts.push(i[r])}0===a?this.isLoaded=!0:setTimeout(this.checkLoadedFonts.bind(this),100)}else this.isLoaded=!0},getCharData:function(t,e,r){for(var i=0,s=this.chars.length;i<s;){if(this.chars[i].ch===t&&this.chars[i].style===e&&this.chars[i].fFamily===r)return this.chars[i];i+=1}return("string"==typeof t&&13!==t.charCodeAt(0)||!t)&&console&&console.warn&&!this._warned&&(this._warned=!0,console.warn("Missing character from exported characters list: ",t,e,r)),a},getFontByName:function(t){for(var e=0,r=this.fonts.length;e<r;){if(this.fonts[e].fName===t)return this.fonts[e];e+=1}return this.fonts[0]},measureText:function(t,e,r){var i=this.getFontByName(e),s=t.charCodeAt(0);if(!i.cache[s+1]){var a=i.helper;if(" "===t){a.textContent="|"+t+"|";var n=a.getComputedTextLength();a.textContent="||";var o=a.getComputedTextLength();i.cache[s+1]=(n-o)/100}else a.textContent=t,i.cache[s+1]=a.getComputedTextLength()/100}return i.cache[s+1]*r},checkLoadedFonts:function(){var t,e,r,i=this.fonts.length,s=i;for(t=0;t<i;t+=1)this.fonts[t].loaded?s-=1:"n"===this.fonts[t].fOrigin||0===this.fonts[t].origin?this.fonts[t].loaded=!0:(e=this.fonts[t].monoCase.node,r=this.fonts[t].monoCase.w,e.offsetWidth!==r?(s-=1,this.fonts[t].loaded=!0):(e=this.fonts[t].sansCase.node,r=this.fonts[t].sansCase.w,e.offsetWidth!==r&&(s-=1,this.fonts[t].loaded=!0)),this.fonts[t].loaded&&(this.fonts[t].sansCase.parent.parentNode.removeChild(this.fonts[t].sansCase.parent),this.fonts[t].monoCase.parent.parentNode.removeChild(this.fonts[t].monoCase.parent)));0!==s&&Date.now()-this.initTime<5e3?setTimeout(this.checkLoadedFontsBinded,20):setTimeout(this.setIsLoadedBinded,10)},setIsLoaded:function(){this.isLoaded=!0}},t}(),PropertyFactory=function(){var m=initialDefaultFrame,s=Math.abs;function f(t,e){var r,i=this.offsetTime;"multidimensional"===this.propType&&(r=createTypedArray("float32",this.pv.length));for(var s,a,n,o,h,l,p,m,f=e.lastIndex,c=f,d=this.keyframes.length-1,u=!0;u;){if(s=this.keyframes[c],a=this.keyframes[c+1],c===d-1&&t>=a.t-i){s.h&&(s=a),f=0;break}if(a.t-i>t){f=c;break}c<d-1?c+=1:(f=0,u=!1)}var y,g,v,b,P,E,x,S,A,C,T=a.t-i,_=s.t-i;if(s.to){s.bezierData||(s.bezierData=bez.buildBezierData(s.s,a.s||s.e,s.to,s.ti));var k=s.bezierData;if(T<=t||t<_){var D=T<=t?k.points.length-1:0;for(o=k.points[D].point.length,n=0;n<o;n+=1)r[n]=k.points[D].point[n]}else{s.__fnct?m=s.__fnct:(m=BezierFactory.getBezierEasing(s.o.x,s.o.y,s.i.x,s.i.y,s.n).get,s.__fnct=m),h=m((t-_)/(T-_));var M,F=k.segmentLength*h,w=e.lastFrame<t&&e._lastKeyframeIndex===c?e._lastAddedLength:0;for(p=e.lastFrame<t&&e._lastKeyframeIndex===c?e._lastPoint:0,u=!0,l=k.points.length;u;){if(w+=k.points[p].partialLength,0===F||0===h||p===k.points.length-1){for(o=k.points[p].point.length,n=0;n<o;n+=1)r[n]=k.points[p].point[n];break}if(w<=F&&F<w+k.points[p+1].partialLength){for(M=(F-w)/k.points[p+1].partialLength,o=k.points[p].point.length,n=0;n<o;n+=1)r[n]=k.points[p].point[n]+(k.points[p+1].point[n]-k.points[p].point[n])*M;break}p<l-1?p+=1:u=!1}
vendor: 7,364 bytes, line 16193
16193e._lastPoint=p,e._lastAddedLength=w-k.points[p].partialLength,e._lastKeyframeIndex=c}}else{var I,V,B,R,L;if(d=s.s.length,y=a.s||s.e,this.sh&&1!==s.h)if(T<=t)r[0]=y[0],r[1]=y[1],r[2]=y[2];else if(t<=_)r[0]=s.s[0],r[1]=s.s[1],r[2]=s.s[2];else{var G=N(s.s),z=N(y);g=r,v=function(t,e,r){var i,s,a,n,o,h=[],l=t[0],p=t[1],m=t[2],f=t[3],c=e[0],d=e[1],u=e[2],y=e[3];(s=l*c+p*d+m*u+f*y)<0&&(s=-s,c=-c,d=-d,u=-u,y=-y);o=1e-6<1-s?(i=Math.acos(s),a=Math.sin(i),n=Math.sin((1-r)*i)/a,Math.sin(r*i)/a):(n=1-r,r);return h[0]=n*l+o*c,h[1]=n*p+o*d,h[2]=n*m+o*u,h[3]=n*f+o*y,h}(G,z,(t-_)/(T-_)),b=v[0],P=v[1],E=v[2],x=v[3],S=Math.atan2(2*P*x-2*b*E,1-2*P*P-2*E*E),A=Math.asin(2*b*P+2*E*x),C=Math.atan2(2*b*x-2*P*E,1-2*b*b-2*E*E),g[0]=S/degToRads,g[1]=A/degToRads,g[2]=C/degToRads}else for(c=0;c<d;c+=1)1!==s.h&&(h=T<=t?1:t<_?0:(s.o.x.constructor===Array?(s.__fnct||(s.__fnct=[]),s.__fnct[c]?m=s.__fnct[c]:(I=void 0===s.o.x[c]?s.o.x[0]:s.o.x[c],V=void 0===s.o.y[c]?s.o.y[0]:s.o.y[c],B=void 0===s.i.x[c]?s.i.x[0]:s.i.x[c],R=void 0===s.i.y[c]?s.i.y[0]:s.i.y[c],m=BezierFactory.getBezierEasing(I,V,B,R).get,s.__fnct[c]=m)):s.__fnct?m=s.__fnct:(I=s.o.x,V=s.o.y,B=s.i.x,R=s.i.y,m=BezierFactory.getBezierEasing(I,V,B,R).get,s.__fnct=m),m((t-_)/(T-_)))),y=a.s||s.e,L=1===s.h?s.s[c]:s.s[c]+(y[c]-s.s[c])*h,"multidimensional"===this.propType?r[c]=L:r=L}return e.lastIndex=f,r}function N(t){var e=t[0]*degToRads,r=t[1]*degToRads,i=t[2]*degToRads,s=Math.cos(e/2),a=Math.cos(r/2),n=Math.cos(i/2),o=Math.sin(e/2),h=Math.sin(r/2),l=Math.sin(i/2);return[o*h*n+s*a*l,o*a*n+s*h*l,s*h*n-o*a*l,s*a*n-o*h*l]}function c(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,r=this.keyframes[this.keyframes.length-1].t-this.offsetTime;if(!(t===this._caching.lastFrame||this._caching.lastFrame!==m&&(this._caching.lastFrame>=r&&r<=t||this._caching.lastFrame<e&&t<e))){this._caching.lastFrame>=t&&(this._caching._lastKeyframeIndex=-1,this._caching.lastIndex=0);var i=this.interpolateValue(t,this._caching);this.pv=i}return this._caching.lastFrame=t,this.pv}function d(t){var e;if("unidimensional"===this.propType)e=t*this.mult,1e-5<s(this.v-e)&&(this.v=e,this._mdf=!0);else for(var r=0,i=this.v.length;r<i;)e=t[r]*this.mult,1e-5<s(this.v[r]-e)&&(this.v[r]=e,this._mdf=!0),r+=1}function u(){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t;this.lock=!0,this._mdf=this._isFirstFrame;var e=this.effectsSequence.length,r=this.kf?this.pv:this.data.k;for(t=0;t<e;t+=1)r=this.effectsSequence[t](r);this.setVValue(r),this._isFirstFrame=!1,this.lock=!1,this.frameId=this.elem.globalData.frameId}}function y(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function n(t,e,r,i){this.propType="unidimensional",this.mult=r||1,this.data=e,this.v=r?e.k*r:e.k,this.pv=e.k,this._mdf=!1,this.elem=t,this.container=i,this.comp=t.comp,this.k=!1,this.kf=!1,this.vel=0,this.effectsSequence=[],this._isFirstFrame=!0,this.getValue=u,this.setVValue=d,this.addEffect=y}function o(t,e,r,i){var s;this.propType="multidimensional",this.mult=r||1,this.data=e,this._mdf=!1,this.elem=t,this.container=i,this.comp=t.comp,this.k=!1,this.kf=!1,this.frameId=-1;var a=e.k.length;for(this.v=createTypedArray("float32",a),this.pv=createTypedArray("float32",a),this.vel=createTypedArray("float32",a),s=0;s<a;s+=1)this.v[s]=e.k[s]*this.mult,this.pv[s]=e.k[s];this._isFirstFrame=!0,this.effectsSequence=[],this.getValue=u,this.setVValue=d,this.addEffect=y}function h(t,e,r,i){this.propType="unidimensional",this.keyframes=e.k,this.offsetTime=t.data.st,this.frameId=-1,this._caching={lastFrame:m,lastIndex:0,value:0,_lastKeyframeIndex:-1},this.k=!0,this.kf=!0,this.data=e,this.mult=r||1,this.elem=t,this.container=i,this.comp=t.comp,this.v=m,this.pv=m,this._isFirstFrame=!0,this.getValue=u,this.setVValue=d,this.interpolateValue=f,this.effectsSequence=[c.bind(this)],this.addEffect=y}function l(t,e,r,i){var s;this.propType="multidimensional";var a,n,o,h,l=e.k.length;for(s=0;s<l-1;s+=1)e.k[s].to&&e.k[s].s&&e.k[s+1]&&e.k[s+1].s&&(a=e.k[s].s,n=e.k[s+1].s,o=e.k[s].to,h=e.k[s].ti,(2===a.length&&(a[0]!==n[0]||a[1]!==n[1])&&bez.pointOnLine2D(a[0],a[1],n[0],n[1],a[0]+o[0],a[1]+o[1])&&bez.pointOnLine2D(a[0],a[1],n[0],n[1],n[0]+h[0],n[1]+h[1])||3===a.length&&(a[0]!==n[0]||a[1]!==n[1]||a[2]!==n[2])&&bez.pointOnLine3D(a[0],a[1],a[2],n[0],n[1],n[2],a[0]+o[0],a[1]+o[1],a[2]+o[2])&&bez.pointOnLine3D(a[0],a[1],a[2],n[0],n[1],n[2],n[0]+h[0],n[1]+h[1],n[2]+h[2]))&&(e.k[s].to=null,e.k[s].ti=null),a[0]===n[0]&&a[1]===n[1]&&0===o[0]&&0===o[1]&&0===h[0]&&0===h[1]&&(2===a.length||a[2]===n[2]&&0===o[2]&&0===h[2])&&(e.k[s].to=null,e.k[s].ti=null));this.effectsSequence=[c.bind(this)],this.data=e,this.keyframes=e.k,this.offsetTime=t.data.st,this.k=!0,this.kf=!0,this._isFirstFrame=!0,this.mult=r||1,this.elem=t,this.container=i,this.comp=t.comp,this.getValue=u,this.setVValue=d,this.interpolateValue=f,this.frameId=-1;var p=e.k[0].s.length;for(this.v=createTypedArray("float32",p),this.pv=createTypedArray("float32",p),s=0;s<p;s+=1)this.v[s]=m,this.pv[s]=m;this._caching={lastFrame:m,lastIndex:0,value:createTypedArray("float32",p)},this.addEffect=y}return{getProp:function(t,e,r,i,s){var a;if(e.k.length)if("number"==typeof e.k[0])a=new o(t,e,i,s);else switch(r){case 0:a=new h(t,e,i,s);break;case 1:a=new l(t,e,i,s)}else a=new n(t,e,i,s);return a.effectsSequence.length&&s.addDynamicProperty(a),a}}}(),TransformPropertyFactory=function(){var n=[0,0];function i(t,e,r){if(this.elem=t,this.frameId=-1,this.propType="transform",this.data=e,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(r||t),e.p&&e.p.s?(this.px=PropertyFactory.getProp(t,e.p.x,0,0,this),this.py=PropertyFactory.getProp(t,e.p.y,0,0,this),e.p.z&&(this.pz=PropertyFactory.getProp(t,e.p.z,0,0,this))):this.p=PropertyFactory.getProp(t,e.p||{k:[0,0,0]},1,0,this),e.rx){if(this.rx=PropertyFactory.getProp(t,e.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(t,e.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(t,e.rz,0,degToRads,this),e.or.k[0].ti){var i,s=e.or.k.length;for(i=0;i<s;i+=1)e.or.k[i].to=null,e.or.k[i].ti=null}this.or=PropertyFactory.getProp(t,e.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(t,e.r||{k:0},0,degToRads,this);e.sk&&(this.sk=PropertyFactory.getProp(t,e.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(t,e.sa,0,degToRads,this)),this.a=PropertyFactory.getProp(t,e.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(t,e.s||{k:[100,100,100]},1,.01,this),e.o?this.o=PropertyFactory.getProp(t,e.o,0,.01,t):this.o={_mdf:!1,v:1},this._isDirty=!0,this.dynamicProperties.length||this.getValue(!0)}return i.prototype={applyToMatrix:function(t){var e=this._mdf;this.iterateDynamicProperties(),this._mdf=this._mdf||e,this.a&&t.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.s&&t.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&t.skewFromAxis(-this.sk.v,this.sa.v),this.r?t.rotate(-this.r.v):t.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.data.p.s?this.data.p.z?t.translate(this.px.v,this.py.v,-this.pz.v):t.translate(this.px.v,this.py.v,0):t.translate(this.p.v[0],this.p.v[1],-this.p.v[2])},getValue:function(t){if(this.elem.globalData.frameId!==this.frameId){if
vendor: 4,045 bytes, line 16193
16193(this._isDirty&&(this.precalculateMatrix(),this._isDirty=!1),this.iterateDynamicProperties(),this._mdf||t){var e;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1&&this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations<2&&this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.sk&&this.appliedTransformations<3&&this.v.skewFromAxis(-this.sk.v,this.sa.v),this.r&&this.appliedTransformations<4?this.v.rotate(-this.r.v):!this.r&&this.appliedTransformations<4&&this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.autoOriented){var r,i;if(e=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)i=this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t?(r=this.p.getValueAtTime((this.p.keyframes[0].t+.01)/e,0),this.p.getValueAtTime(this.p.keyframes[0].t/e,0)):this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t?(r=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/e,0),this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-.05)/e,0)):(r=this.p.pv,this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-.01)/e,this.p.offsetTime));else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){r=[],i=[];var s=this.px,a=this.py;s._caching.lastFrame+s.offsetTime<=s.keyframes[0].t?(r[0]=s.getValueAtTime((s.keyframes[0].t+.01)/e,0),r[1]=a.getValueAtTime((a.keyframes[0].t+.01)/e,0),i[0]=s.getValueAtTime(s.keyframes[0].t/e,0),i[1]=a.getValueAtTime(a.keyframes[0].t/e,0)):s._caching.lastFrame+s.offsetTime>=s.keyframes[s.keyframes.length-1].t?(r[0]=s.getValueAtTime(s.keyframes[s.keyframes.length-1].t/e,0),r[1]=a.getValueAtTime(a.keyframes[a.keyframes.length-1].t/e,0),i[0]=s.getValueAtTime((s.keyframes[s.keyframes.length-1].t-.01)/e,0),i[1]=a.getValueAtTime((a.keyframes[a.keyframes.length-1].t-.01)/e,0)):(r=[s.pv,a.pv],i[0]=s.getValueAtTime((s._caching.lastFrame+s.offsetTime-.01)/e,s.offsetTime),i[1]=a.getValueAtTime((a._caching.lastFrame+a.offsetTime-.01)/e,a.offsetTime))}else r=i=n;this.v.rotate(-Math.atan2(r[1]-i[1],r[0]-i[0]))}this.data.p&&this.data.p.s?this.data.p.z?this.v.translate(this.px.v,this.py.v,-this.pz.v):this.v.translate(this.px.v,this.py.v,0):this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}},precalculateMatrix:function(){if(!this.a.k&&(this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1,!this.s.effectsSequence.length)){if(this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2,this.sk){if(this.sk.effectsSequence.length||this.sa.effectsSequence.length)return;this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3}this.r?this.r.effectsSequence.length||(this.pre.rotate(-this.r.v),this.appliedTransformations=4):this.rz.effectsSequence.length||this.ry.effectsSequence.length||this.rx.effectsSequence.length||this.or.effectsSequence.length||(this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4)}},autoOrient:function(){}},extendPrototype([DynamicPropertyContainer],i),i.prototype.addDynamicProperty=function(t){this._addDynamicProperty(t),this.elem.addDynamicProperty(t),this._isDirty=!0},i.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty,{getTransformProperty:function(t,e,r){return new i(t,e,r)}}}();function ShapePath(){this.c=!1,this._length=0,this._maxLength=8,this.v=createSizedArray(this._maxLength),this.o=createSizedArray(this._maxLength),this.i=createSizedArray(this._maxLength)}ShapePath.prototype.setPathData=function(t,e){this.c=t,this.setLength(e);for(var r=0;r<e;)this.v[r]=pointPool.newElement(),this.o[r]=pointPool.newElement(),this.i[r]=pointPool.newElement(),r+=1},ShapePath.prototype.setLength=function(t){for(;this._maxLength<t;
vendor: 6,171 bytes, line 16193
16193)this.doubleArrayLength();this._length=t},ShapePath.prototype.doubleArrayLength=function(){this.v=this.v.concat(createSizedArray(this._maxLength)),this.i=this.i.concat(createSizedArray(this._maxLength)),this.o=this.o.concat(createSizedArray(this._maxLength)),this._maxLength*=2},ShapePath.prototype.setXYAt=function(t,e,r,i,s){var a;switch(this._length=Math.max(this._length,i+1),this._length>=this._maxLength&&this.doubleArrayLength(),r){case"v":a=this.v;break;case"i":a=this.i;break;case"o":a=this.o;break;default:a=[]}(!a[i]||a[i]&&!s)&&(a[i]=pointPool.newElement()),a[i][0]=t,a[i][1]=e},ShapePath.prototype.setTripleAt=function(t,e,r,i,s,a,n,o){this.setXYAt(t,e,"v",n,o),this.setXYAt(r,i,"o",n,o),this.setXYAt(s,a,"i",n,o)},ShapePath.prototype.reverse=function(){var t=new ShapePath;t.setPathData(this.c,this._length);var e=this.v,r=this.o,i=this.i,s=0;this.c&&(t.setTripleAt(e[0][0],e[0][1],i[0][0],i[0][1],r[0][0],r[0][1],0,!1),s=1);var a,n=this._length-1,o=this._length;for(a=s;a<o;a+=1)t.setTripleAt(e[n][0],e[n][1],i[n][0],i[n][1],r[n][0],r[n][1],a,!1),n-=1;return t};var ShapePropertyFactory=function(){var s=-999999;function t(t,e,r){var i,s,a,n,o,h,l,p,m,f=r.lastIndex,c=this.keyframes;if(t<c[0].t-this.offsetTime)i=c[0].s[0],a=!0,f=0;else if(t>=c[c.length-1].t-this.offsetTime)i=c[c.length-1].s?c[c.length-1].s[0]:c[c.length-2].e[0],a=!0;else{for(var d,u,y=f,g=c.length-1,v=!0;v&&(d=c[y],!((u=c[y+1]).t-this.offsetTime>t));)y<g-1?y+=1:v=!1;if(f=y,!(a=1===d.h)){if(t>=u.t-this.offsetTime)p=1;else if(t<d.t-this.offsetTime)p=0;else{var b;d.__fnct?b=d.__fnct:(b=BezierFactory.getBezierEasing(d.o.x,d.o.y,d.i.x,d.i.y).get,d.__fnct=b),p=b((t-(d.t-this.offsetTime))/(u.t-this.offsetTime-(d.t-this.offsetTime)))}s=u.s?u.s[0]:d.e[0]}i=d.s[0]}for(h=e._length,l=i.i[0].length,r.lastIndex=f,n=0;n<h;n+=1)for(o=0;o<l;o+=1)m=a?i.i[n][o]:i.i[n][o]+(s.i[n][o]-i.i[n][o])*p,e.i[n][o]=m,m=a?i.o[n][o]:i.o[n][o]+(s.o[n][o]-i.o[n][o])*p,e.o[n][o]=m,m=a?i.v[n][o]:i.v[n][o]+(s.v[n][o]-i.v[n][o])*p,e.v[n][o]=m}function a(){this.paths=this.localShapeCollection}function e(t){(function(t,e){if(t._length!==e._length||t.c!==e.c)return!1;var r,i=t._length;for(r=0;r<i;r+=1)if(t.v[r][0]!==e.v[r][0]||t.v[r][1]!==e.v[r][1]||t.o[r][0]!==e.o[r][0]||t.o[r][1]!==e.o[r][1]||t.i[r][0]!==e.i[r][0]||t.i[r][1]!==e.i[r][1])return!1;return!0})(this.v,t)||(this.v=shapePool.clone(t),this.localShapeCollection.releaseShapes(),this.localShapeCollection.addShape(this.v),this._mdf=!0,this.paths=this.localShapeCollection)}function r(){if(this.elem.globalData.frameId!==this.frameId)if(this.effectsSequence.length)if(this.lock)this.setVValue(this.pv);else{var t,e;this.lock=!0,this._mdf=!1,t=this.kf?this.pv:this.data.ks?this.data.ks.k:this.data.pt.k;var r=this.effectsSequence.length;for(e=0;e<r;e+=1)t=this.effectsSequence[e](t);this.setVValue(t),this.lock=!1,this.frameId=this.elem.globalData.frameId}else this._mdf=!1}function n(t,e,r){this.propType="shape",this.comp=t.comp,this.container=t,this.elem=t,this.data=e,this.k=!1,this.kf=!1,this._mdf=!1;var i=3===r?e.pt.k:e.ks.k;this.v=shapePool.clone(i),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.reset=a,this.effectsSequence=[]}function i(t){this.effectsSequence.push(t),this.container.addDynamicProperty(this)}function o(t,e,r){this.propType="shape",this.comp=t.comp,this.elem=t,this.container=t,this.offsetTime=t.data.st,this.keyframes=3===r?e.pt.k:e.ks.k,this.k=!0,this.kf=!0;var i=this.keyframes[0].s[0].i.length;this.v=shapePool.newElement(),this.v.setPathData(this.keyframes[0].s[0].c,i),this.pv=shapePool.clone(this.v),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.paths.addShape(this.v),this.lastFrame=s,this.reset=a,this._caching={lastFrame:s,lastIndex:0},this.effectsSequence=[function(){var t=this.comp.renderedFrame-this.offsetTime,e=this.keyframes[0].t-this.offsetTime,r=this.keyframes[this.keyframes.length-1].t-this.offsetTime,i=this._caching.lastFrame;return i!==s&&(i<e&&t<e||r<i&&r<t)||(this._caching.lastIndex=i<t?this._caching.lastIndex:0,this.interpolateShape(t,this.pv,this._caching)),this._caching.lastFrame=t,this.pv}.bind(this)]}n.prototype.interpolateShape=t,n.prototype.getValue=r,n.prototype.setVValue=e,n.prototype.addEffect=i,o.prototype.getValue=r,o.prototype.interpolateShape=t,o.prototype.setVValue=e,o.prototype.addEffect=i;var h=function(){var n=roundCorner;function t(t,e){this.v=shapePool.newElement(),this.v.setPathData(!0,4),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.paths=this.localShapeCollection,this.localShapeCollection.addShape(this.v),this.d=e.d,this.elem=t,this.comp=t.comp,this.frameId=-1,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertEllToPath())}return t.prototype={reset:a,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertEllToPath())},convertEllToPath:function(){var t=this.p.v[0],e=this.p.v[1],r=this.s.v[0]/2,i=this.s.v[1]/2,s=3!==this.d,a=this.v;a.v[0][0]=t,a.v[0][1]=e-i,a.v[1][0]=s?t+r:t-r,a.v[1][1]=e,a.v[2][0]=t,a.v[2][1]=e+i,a.v[3][0]=s?t-r:t+r,a.v[3][1]=e,a.i[0][0]=s?t-r*n:t+r*n,a.i[0][1]=e-i,a.i[1][0]=s?t+r:t-r,a.i[1][1]=e-i*n,a.i[2][0]=s?t+r*n:t-r*n,a.i[2][1]=e+i,a.i[3][0]=s?t-r:t+r,a.i[3][1]=e+i*n,a.o[0][0]=s?t+r*n:t-r*n,a.o[0][1]=e-i,a.o[1][0]=s?t+r:t-r,a.o[1][1]=e+i*n,a.o[2][0]=s?t-r*n:t+r*n,a.o[2][1]=e+i,a.o[3][0]=s?t-r:t+r,a.o[3][1]=e-i*n}},extendPrototype([DynamicPropertyContainer],t),t}(),l=function(){function t(t,e){this.v=shapePool.newElement(),this.v.setPathData(!0,0),this.elem=t,this.comp=t.comp,this.data=e,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),1===e.sy?(this.ir=PropertyFactory.getProp(t,e.ir,0,0,this),this.is=PropertyFactory.getProp(t,e.is,0,.01,this),this.convertToPath=this.convertStarToPath):this.convertToPath=this.convertPolygonToPath,this.pt=Pro
vendor: 15,864 bytes, line 16193
16193pertyFactory.getProp(t,e.pt,0,0,this),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,degToRads,this),this.or=PropertyFactory.getProp(t,e.or,0,0,this),this.os=PropertyFactory.getProp(t,e.os,0,.01,this),this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertToPath())}return t.prototype={reset:a,getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertToPath())},convertStarToPath:function(){var t,e,r,i,s=2*Math.floor(this.pt.v),a=2*Math.PI/s,n=!0,o=this.or.v,h=this.ir.v,l=this.os.v,p=this.is.v,m=2*Math.PI*o/(2*s),f=2*Math.PI*h/(2*s),c=-Math.PI/2;c+=this.r.v;var d=3===this.data.d?-1:1;for(t=this.v._length=0;t<s;t+=1){r=n?l:p,i=n?m:f;var u=(e=n?o:h)*Math.cos(c),y=e*Math.sin(c),g=0===u&&0===y?0:y/Math.sqrt(u*u+y*y),v=0===u&&0===y?0:-u/Math.sqrt(u*u+y*y);u+=+this.p.v[0],y+=+this.p.v[1],this.v.setTripleAt(u,y,u-g*i*r*d,y-v*i*r*d,u+g*i*r*d,y+v*i*r*d,t,!0),n=!n,c+=a*d}},convertPolygonToPath:function(){var t,e=Math.floor(this.pt.v),r=2*Math.PI/e,i=this.or.v,s=this.os.v,a=2*Math.PI*i/(4*e),n=.5*-Math.PI,o=3===this.data.d?-1:1;for(n+=this.r.v,t=this.v._length=0;t<e;t+=1){var h=i*Math.cos(n),l=i*Math.sin(n),p=0===h&&0===l?0:l/Math.sqrt(h*h+l*l),m=0===h&&0===l?0:-h/Math.sqrt(h*h+l*l);h+=+this.p.v[0],l+=+this.p.v[1],this.v.setTripleAt(h,l,h-p*a*s*o,l-m*a*s*o,h+p*a*s*o,l+m*a*s*o,t,!0),n+=r*o}this.paths.length=0,this.paths[0]=this.v}},extendPrototype([DynamicPropertyContainer],t),t}(),p=function(){function t(t,e){this.v=shapePool.newElement(),this.v.c=!0,this.localShapeCollection=shapeCollectionPool.newShapeCollection(),this.localShapeCollection.addShape(this.v),this.paths=this.localShapeCollection,this.elem=t,this.comp=t.comp,this.frameId=-1,this.d=e.d,this.initDynamicPropertyContainer(t),this.p=PropertyFactory.getProp(t,e.p,1,0,this),this.s=PropertyFactory.getProp(t,e.s,1,0,this),this.r=PropertyFactory.getProp(t,e.r,0,0,this),this.dynamicProperties.length?this.k=!0:(this.k=!1,this.convertRectToPath())}return t.prototype={convertRectToPath:function(){var t=this.p.v[0],e=this.p.v[1],r=this.s.v[0]/2,i=this.s.v[1]/2,s=bmMin(r,i,this.r.v),a=s*(1-roundCorner);this.v._length=0,2===this.d||1===this.d?(this.v.setTripleAt(t+r,e-i+s,t+r,e-i+s,t+r,e-i+a,0,!0),this.v.setTripleAt(t+r,e+i-s,t+r,e+i-a,t+r,e+i-s,1,!0),0!==s?(this.v.setTripleAt(t+r-s,e+i,t+r-s,e+i,t+r-a,e+i,2,!0),this.v.setTripleAt(t-r+s,e+i,t-r+a,e+i,t-r+s,e+i,3,!0),this.v.setTripleAt(t-r,e+i-s,t-r,e+i-s,t-r,e+i-a,4,!0),this.v.setTripleAt(t-r,e-i+s,t-r,e-i+a,t-r,e-i+s,5,!0),this.v.setTripleAt(t-r+s,e-i,t-r+s,e-i,t-r+a,e-i,6,!0),this.v.setTripleAt(t+r-s,e-i,t+r-a,e-i,t+r-s,e-i,7,!0)):(this.v.setTripleAt(t-r,e+i,t-r+a,e+i,t-r,e+i,2),this.v.setTripleAt(t-r,e-i,t-r,e-i+a,t-r,e-i,3))):(this.v.setTripleAt(t+r,e-i+s,t+r,e-i+a,t+r,e-i+s,0,!0),0!==s?(this.v.setTripleAt(t+r-s,e-i,t+r-s,e-i,t+r-a,e-i,1,!0),this.v.setTripleAt(t-r+s,e-i,t-r+a,e-i,t-r+s,e-i,2,!0),this.v.setTripleAt(t-r,e-i+s,t-r,e-i+s,t-r,e-i+a,3,!0),this.v.setTripleAt(t-r,e+i-s,t-r,e+i-a,t-r,e+i-s,4,!0),this.v.setTripleAt(t-r+s,e+i,t-r+s,e+i,t-r+a,e+i,5,!0),this.v.setTripleAt(t+r-s,e+i,t+r-a,e+i,t+r-s,e+i,6,!0),this.v.setTripleAt(t+r,e+i-s,t+r,e+i-s,t+r,e+i-a,7,!0)):(this.v.setTripleAt(t-r,e-i,t-r+a,e-i,t-r,e-i,1,!0),this.v.setTripleAt(t-r,e+i,t-r,e+i-a,t-r,e+i,2,!0),this.v.setTripleAt(t+r,e+i,t+r-a,e+i,t+r,e+i,3,!0)))},getValue:function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf&&this.convertRectToPath())},reset:a},extendPrototype([DynamicPropertyContainer],t),t}();var m={getShapeProp:function(t,e,r){var i;return 3===r||4===r?i=(3===r?e.pt:e.ks).k.length?new o(t,e,r):new n(t,e,r):5===r?i=new p(t,e):6===r?i=new h(t,e):7===r&&(i=new l(t,e)),i.k&&t.addDynamicProperty(i),i},getConstructorFunction:function(){return n},getKeyframedConstructorFunction:function(){return o}};return m}(),ShapeModifiers=(gs={},hs={},gs.registerModifier=function(t,e){hs[t]||(hs[t]=e)},gs.getModifier=function(t,e,r){return new hs[t](e,r)},gs),gs,hs;function ShapeModifier(){}function TrimModifier(){}function RoundCornersModifier(){}function PuckerAndBloatModifier(){}function RepeaterModifier(){}function ShapeCollection(){this._length=0,this._maxLength=4,this.shapes=createSizedArray(this._maxLength)}function DashProperty(t,e,r,i){var s;this.elem=t,this.frameId=-1,this.dataProps=createSizedArray(e.length),this.renderer=r,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",e.length?e.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(i);var a,n=e.length||0;for(s=0;s<n;s+=1)a=PropertyFactory.getProp(t,e[s].v,0,0,this),this.k=a.k||this.k,this.dataProps[s]={n:e[s].n,p:a};this.k||this.getValue(!0),this._isAnimated=this.k}function GradientProperty(t,e,r){this.data=e,this.c=createTypedArray("uint8c",4*e.p);var i=e.k.k[0].s?e.k.k[0].s.length-4*e.p:e.k.k.length-4*e.p;this.o=createTypedArray("float32",i),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=i,this.initDynamicPropertyContainer(r),this.prop=PropertyFactory.getProp(t,e.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(t){if(!this.closed){t.sh.container.addDynamicProperty(t.sh);var e={shape:t.sh,data:t,localShapeCollection:shapeCollectionPool.newShapeCollection()};this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated&&t.setAsAnimated()}},ShapeModifier.prototype.init=function(t,e){this.shapes=[],this.elem=t,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length?this.k=!0:this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){this.elem.globalData.frameId!==this.frameId&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties())},extendPrototype([DynamicPropertyContainer],ShapeModifier),extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(t,e){this.s=PropertyFactory.getProp(t,e.s,0,.01,this),this.e=PropertyFactory.getProp(t,e.e,0,.01,this),this.o=PropertyFactory.getProp(t,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(t){t.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(t,e,r,i,s){var a=[];e<=1?a.push({s:t,e:e}):1<=t?a.push({s:t-1,e:e-1}):(a.push({s:t,e:1}),a.push({s:0,e:e-1}));var n,o,h=[],l=a.length;for(n=0;n<l;n+=1){var p,m;if(!((o=a[n]).e*s<i||o.s*s>i+r))p=o.s*s<=i?0:(o.s*s-i)/r,m=o.e*s>=i+r?1:(o.e*s-i)/r,h.push([p,m])}return h.length||h.push([0,0]),h},TrimModifier.prototype.releasePathsData=function(t){var e,r=t.length;for(e=0;e<r;e+=1)segmentsLengthPool.release(t[e]);return t.length=0,t},TrimModifier.prototype.processShapes=function(t){var e,r,i,s;if(this._mdf||t){var a=this.o.v%360/360;if(a<0&&(a+=1),e=1<this.s.v?1+a:this.s.v<0?0+a:this.s.v+a,(r=1<this.e.v?1+a:this.e.v<0?0+a:this.e.v+a)<e){var n=e;e=r,r=n}e=1e-4*Math.round(1e4*e),r=1e-4*Math.round(1e4*r),this.sValue=e,this.eValue=r}else e=this.sValue,r=this.eValue;var o,h,l,p,m,f=this.shapes.length,c=0;if(r===e)for(s=0;s<f;s+=1)this.shapes[s].localShapeCollection.releaseShapes(),this.shapes[s].shape._mdf=!0,this.shapes[s].shape.paths=this.shapes[s].localShapeCollection,this._mdf&&(this.shapes[s].pathsData.length=0);else if(1===r&&0===e||0===r&&1===e){if(this._mdf)for(s=0;s<f;s+=1)this.shapes[s].pathsData.length=0,this.shapes[s].shape._mdf=!0}else{var d,u,y=[];for(s=0;s<f;s+=1)if((d=this.shapes[s]).shape._mdf||this._mdf||t||2===this.m){if(h=(i=d.shape.paths)._length,m=0,!d.shape._mdf&&d.pathsData.length)m=d.totalShapeLength;else{for(l=this.releasePathsData(d.pathsData),o=0;o<h;o+=1)p=bez.getSegmentsLength(i.shapes[o]),l.push(p),m+=p.totalLength;d.totalShapeLength=m,d.pathsData=l}c+=m,d.shape._mdf=!0}else d.shape.paths=d.localShapeCollection;var g,v=e,b=r,P=0;for(s=f-1;0<=s;s-=1)if((d=this.shapes[s]).shape._mdf){for((u=d.localShapeCollection).releaseShapes(),2===this.m&&1<f?(g=this.calculateShapeEdges(e,r,d.totalShapeLength,P,c),P+=d.totalShapeLength):g=[[v,b]],h=g.length,o=0;o<h;o+=1){v=g[o][0],b=g[o][1],y.length=0,b<=1?y.push({s:d.totalShapeLength*v,e:d.totalShapeLength*b}):1<=v?y.push({s:d.totalShapeLength*(v-1),e:d.totalShapeLength*(b-1)}):(y.push({s:d.totalShapeLength*v,e:d.totalShapeLength}),y.push({s:0,e:d.totalShapeLength*(b-1)}));var E=this.addShapes(d,y[0]);if(y[0].s!==y[0].e){if(1<y.length)if(d.shape.paths.shapes[d.shape.paths._length-1].c){var x=E.pop();this.addPaths(E,u),E=this.addShapes(d,y[1],x)}else this.addPaths(E,u),E=this.addShapes(d,y[1]);this.addPaths(E,u)}}d.shape.paths=u}}},TrimModifier.prototype.addPaths=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)e.addShape(t[r])},TrimModifier.prototype.addSegment=function(t,e,r,i,s,a,n){s.setXYAt(e[0],e[1],"o",a),s.setXYAt(r[0],r[1],"i",a+1),n&&s.setXYAt(t[0],t[1],"v",a),s.setXYAt(i[0],i[1],"v",a+1)},TrimModifier.prototype.addSegmentFromArray=function(t,e,r,i){e.setXYAt(t[1],t[5],"o",r),e.setXYAt(t[2],t[6],"i",r+1),i&&e.setXYAt(t[0],t[4],"v",r),e.setXYAt(t[3],t[7],"v",r+1)},TrimModifier.prototype.addShapes=function(t,e,r){var i,s,a,n,o,h,l,p,m=t.pathsData,f=t.shape.paths.shapes,c=t.shape.paths._length,d=0,u=[],y=!0;for(p=r?(o=r._length,r._length):(r=shapePool.newElement(),o=0),u.push(r),i=0;i<c;i+=1){for(h=m[i].lengths,r.c=f[i].c,a=f[i].c?h.length:h.length+1,s=1;s<a;s+=1)if(d+(n=h[s-1]).addedLength<e.s)d+=n.addedLength,r.c=!1;else{if(d>e.e){r.c=!1;break}e.s<=d&&e.e>=d+n.addedLength?(this.addSegment(f[i].v[s-1],f[i].o[s-1],f[i].i[s],f[i].v[s],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[s-1],f[i].v[s],f[i].o[s-1],f[i].i[s],(e.s-d)/n.addedLength,(e.e-d)/n.addedLength,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1),d+=n.addedLength,o+=1}if(f[i].c&&h.length){if(n=h[s-1],d<=e.e){var g=h[s-1].addedLength;e.s<=d&&e.e>=d+g?(this.addSegment(f[i].v[s-1],f[i].o[s-1],f[i].i[0],f[i].v[0],r,o,y),y=!1):(l=bez.getNewSegment(f[i].v[s-1],f[i].v[0],f[i].o[s-1],f[i].i[0],(e.s-d)/g,(e.e-d)/g,h[s-1]),this.addSegmentFromArray(l,r,o,y),y=!1,r.c=!1)}else r.c=!1;d+=n.addedLength,o+=1}if(r._length&&(r.setXYAt(r.v[p][0],r.v[p][1],"i",p),r.setXYAt(r.v[r._length-1][0],r.v[r._length-1][1],"o",r._length-1)),d>e.e)break;i<c-1&&(r=shapePool.newElement(),y=!0,u.push(r),o=0)}return u},ShapeModifiers.registerModifier("tm",TrimModifier),extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(t,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(t,e){var r,i=shapePool.newElement();i.c=t.c;var s,a,n,o,h,l,p,m,f,c,d,u,y=t._length,g=0;for(r=0;r<y;r+=1)s=t.v[r],n=t.o[r],a=t.i[r],s[0]===n[0]&&s[1]===n[1]&&s[0]===a[0]&&s[1]===a[1]?0!==r&&r!==y-1||t.c?(o=0===r?t.v[y-1]:t.v[r-1],l=(h=Math.sqrt(Math.pow(s[0]-o[0],2)+Math.pow(s[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=d=s[0]+(o[0]-s[0])*l,m=u=s[1]-(s[1]-o[1])*l,f=p-(p-s[0])*roundCorner,c=m-(m-s[1])*roundCorner,i.setTripleAt(p,m,f,c,d,u,g),g+=1,o=r===y-1?t.v[0]:t.v[r+1],l=(h=Math.sqrt(Math.pow(s[0]-o[0],2)+Math.pow(s[1]-o[1],2)))?Math.min(h/2,e)/h:0,p=f=s[0]+(o[0]-s[0])*l,m=c=s[1]+(o[1]-s[1])*l,d=p-(p-s[0])*roundCorner,u=m-(m-s[1])*roundCorner,i.setTripleAt(p,m,f,c,d,u,g)):i.setTripleAt(s[0],s[1],n[0],n[1],a[0],a[1],g):i.setTripleAt(t.v[r][0],t.v[r][1],t.o[r][0],t.o[r][1],t.i[r][0],t.i[r][1],g),g+=1;return i},RoundCornersModifier.prototype.processShapes=function(t){var e,r,i,s,a,n,o=this.shapes.length,h=this.rd.v;if(0!==h)for(r=0;r<o;r+=1){if(n=(a=this.shapes[r]).localShapeCollection,a.shape._mdf||this._mdf||t)for(n.releaseShapes(),a.shape._mdf=!0,e=a.shape.paths.shapes,s=a.shape.paths._length,i=0;i<s;i+=1)n.addShape(this.processPath(e[i],h));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},ShapeModifiers.registerModifier("rd",RoundCornersModifier),extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(t,e.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(t,e){var r=e/100,i=[0,0],s=t._length,a=0;for(a=0;a<s;a+=1)i[0]+=t.v[a][0],i[1]+=t.v[a][1];i[0]/=s,i[1]/=s;var n,o,h,l,p,m,f=shapePool.newElement();for(f.c=t.c,a=0;a<s;a+=1)n=t.v[a][0]+(i[0]-t.v[a][0])*r,o=t.v[a][1]+(i[1]-t.v[a][1])*r,h=t.o[a][0]+(i[0]-t.o[a][0])*-r,l=t.o[a][1]+(i[1]-t.o[a][1])*-r,p=t.i[a][0]+(i[0]-t.i[a][0])*-r,m=t.i[a][1]+(i[1]-t.i[a][1])*-r,f.setTripleAt(n,o,h,l,p,m,a);return f},PuckerAndBloatModifier.prototype.processShapes=function(t){var e,r,i,s,a,n,o=this.shapes.length,h=this.amount.v;if(0!==h)for(r=0;r<o;r+=1){if(n=(a=this.shapes[r]).localShapeCollection,a.shape._mdf||this._mdf||t)for(n.releaseShapes(),a.shape._mdf=!0,e=a.shape.paths.shapes,s=a.shape.paths._length,i=0;i<s;i+=1)n.addShape(this.processPath(e[i],h));a.shape.paths=a.localShapeCollection}this.dynamicProperties.length||(this._mdf=!1)},ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(t,e){this.getValue=this.processKeys,this.c=PropertyFactory.getProp(t,e.c,0,null,this),this.o=PropertyFactory.getProp(t,e.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(t,e.tr,this),this.so=PropertyFactory.getProp(t,e.tr.so,0,.01,this),this.eo=PropertyFactory.getProp(t,e.tr.eo,0,.01,this),this.data=e,this.dynamicProperties.length||this.getValue(!0),this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(t,e,r,i,s,a){var n=a?-1:1,o=i.s.v[0]+(1-i.s.v[0])*(1-s),h=i.s.v[1]+(1-i.s.v[1])*(1-s);t.translate(i.p.v[0]*n*s,i.p.v[1]*n*s,i.p.v[2]),e.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),e.rotate(-i.r.v*n*s),e.translate(i.a.v[0],i.a.v[1],i.a.v[2]),r.translate(-i.a.v[0],-i.a.v[1],i.a.v[2]),r.scale(a?1/o:o,a?1/h:h),r.translate(i.a.v[0],i.a.v[1],i.a.v[2])},RepeaterModifier.prototype.init=function(t,e,r,i){for(this.elem=t,this.arr=e,this.pos=r,this.elemsData=i,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(t),this.initModifierProperties(t,e[r]);0<r;)r-=1,this._elements.unshift(e[r]);this.dynamicProperties.length?this.k=!0:this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(t){var e,r=t.length;for(e=0;e<r;e+=1)t[e]._processed=!1,"gr"===t[e].ty&&this.resetElements(t[e].it)},RepeaterModifier.prototype.cloneElements=function(t){var e=JSON.parse(JSON.stringify(t));return this.resetElements(e),e},RepeaterModifier.prototype.changeGroupRender=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)t[r]._render=e,"gr"===t[r].ty&&this.changeGroupRender(t[r].it,e)},RepeaterModifier.prototype.processShapes=function(t){var e,r,i,s,a,n=!1;if(this._mdf||t){var o,h=Math.ceil(this.c.v);if(this._groups.length<h){for(;this._groups.length<h;){var l={it:this.cloneElements(this._elements),ty:"gr"};l.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]}
vendor: 10,079 bytes, line 16193
16193,s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,l),this._groups.splice(0,0,l),this._currentCopies+=1}this.elem.reloadShapes(),n=!0}for(i=a=0;i<=this._groups.length-1;i+=1){if(o=a<h,this._groups[i]._render=o,this.changeGroupRender(this._groups[i].it,o),!o){var p=this.elemsData[i].it,m=p[p.length-1];0!==m.transform.op.v?(m.transform.op._mdf=!0,m.transform.op.v=0):m.transform.op._mdf=!1}a+=1}this._currentCopies=h;var f=this.o.v,c=f%1,d=0<f?Math.floor(f):Math.ceil(f),u=this.pMatrix.props,y=this.rMatrix.props,g=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var v,b,P=0;if(0<f){for(;P<d;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),P+=1;c&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,c,!1),P+=c)}else if(f<0){for(;d<P;)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),P-=1;c&&(this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-c,!0),P-=c)}for(i=1===this.data.m?0:this._currentCopies-1,s=1===this.data.m?1:-1,a=this._currentCopies;a;){if(b=(r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props).length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=1===this._currentCopies?this.so.v:this.so.v+(this.eo.v-this.so.v)*(i/(this._currentCopies-1)),0!==P){for((0!==i&&1===s||i!==this._currentCopies-1&&-1===s)&&this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),this.matrix.transform(y[0],y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]),this.matrix.transform(u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15]),v=0;v<b;v+=1)r[v]=this.matrix.props[v];this.matrix.reset()}else for(this.matrix.reset(),v=0;v<b;v+=1)r[v]=this.matrix.props[v];P+=1,a-=1,i+=s}}else for(a=this._currentCopies,i=0,s=1;a;)r=(e=this.elemsData[i].it)[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,a-=1,i+=s;return n},RepeaterModifier.prototype.addShape=function(){},ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeCollection.prototype.addShape=function(t){this._length===this._maxLength&&(this.shapes=this.shapes.concat(createSizedArray(this._maxLength)),this._maxLength*=2),this.shapes[this._length]=t,this._length+=1},ShapeCollection.prototype.releaseShapes=function(){var t;for(t=0;t<this._length;t+=1)shapePool.release(this.shapes[t]);this._length=0},DashProperty.prototype.getValue=function(t){if((this.elem.globalData.frameId!==this.frameId||t)&&(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||t,this._mdf)){var e=0,r=this.dataProps.length;for("svg"===this.renderer&&(this.dashStr=""),e=0;e<r;e+=1)"o"!==this.dataProps[e].n?"svg"===this.renderer?this.dashStr+=" "+this.dataProps[e].p.v:this.dashArray[e]=this.dataProps[e].p.v:this.dashoffset[0]=this.dataProps[e].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty),GradientProperty.prototype.comparePoints=function(t,e){for(var r=0,i=this.o.length/2;r<i;){if(.01<Math.abs(t[4*r]-t[4*e+2*r]))return!1;r+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!=this.c.length/4)return!1;if(this.data.k.k[0].s)for(var t=0,e=this.data.k.k.length;t<e;){if(!this.comparePoints(this.data.k.k[t].s,this.data.p))return!1;t+=1}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(t){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||t){var e,r,i,s=4*this.data.p;for(e=0;e<s;e+=1)r=e%4==0?100:255,i=Math.round(this.prop.v[e]*r),this.c[e]!==i&&(this.c[e]=i,this._cmdf=!t);if(this.o.length)for(s=this.prop.v.length,e=4*this.data.p;e<s;e+=1)r=e%2==0?100:1,i=e%2==0?Math.round(100*this.prop.v[e]):this.prop.v[e],this.o[e-4*this.data.p]!==i&&(this.o[e-4*this.data.p]=i,this._omdf=!t);this._mdf=!t}},extendPrototype([DynamicPropertyContainer],GradientProperty);var buildShapeString=function(t,e,r,i){if(0===e)return"";var s,a=t.o,n=t.i,o=t.v,h=" M"+i.applyToPointStringified(o[0][0],o[0][1]);for(s=1;s<e;s+=1)h+=" C"+i.applyToPointStringified(a[s-1][0],a[s-1][1])+" "+i.applyToPointStringified(n[s][0],n[s][1])+" "+i.applyToPointStringified(o[s][0],o[s][1]);return r&&e&&(h+=" C"+i.applyToPointStringified(a[s-1][0],a[s-1][1])+" "+i.applyToPointStringified(n[0][0],n[0][1])+" "+i.applyToPointStringified(o[0][0],o[0][1]),h+="z"),h},audioControllerFactory=function(){function t(t){this.audios=[],this.audioFactory=t,this._volume=1,this._isMuted=!1}return t.prototype={addAudio:function(t){this.audios.push(t)},pause:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].pause()},resume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].resume()},setRate:function(t){var e,r=this.audios.length;for(e=0;e<r;e+=1)this.audios[e].setRate(t)},createAudio:function(t){return this.audioFactory?this.audioFactory(t):Howl?new Howl({src:[t]}):{isPlaying:!1,play:function(){this.isPlaying=!0},seek:function(){this.isPlaying=!1},playing:function(){},rate:function(){},setVolume:function(){}}},setAudioFactory:function(t){this.audioFactory=t},setVolume:function(t){this._volume=t,this._updateVolume()},mute:function(){this._isMuted=!0,this._updateVolume()},unmute:function(){this._isMuted=!1,this._updateVolume()},getVolume:function(){return this._volume},_updateVolume:function(){var t,e=this.audios.length;for(t=0;t<e;t+=1)this.audios[t].volume(this._volume*(this._isMuted?0:1))}},function(){return new t}}(),ImagePreloader=function(){var s=function(){var t=createTag("canvas");t.width=1,t.height=1;var e=t.getContext("2d");return e.fillStyle="rgba(0,0,0,0)",e.fillRect(0,0,1,1),t}();function t(){this.loadedAssets+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function e(){this.loadedFootagesCount+=1,this.loadedAssets===this.totalImages&&this.loadedFootagesCount===this.totalFootages&&this.imagesLoadedCb&&this.imagesLoadedCb(null)}function a(t,e,r){var i="";if(t.e)i=t.p;else if(e){var s=t.p;-1!==s.indexOf("images/")&&(s=s.split("/")[1]),i=e+s}else i=r,i+=t.u?t.u:"",i+=t.p;return i}function r(){this._imageLoaded=t.bind(this),this._footageLoaded=e.bind(this),this.testImageLoaded=function(t){var e=0,r=setInterval(function(){(t.getBBox().width||500<e)&&(this._imageLoaded(),clearInterval(r)),e+=1}.bind(this),50)}.bind(this),this.createFootageData=function(t){var e={assetData:t},r=a(t,this.assetsPath,this.path);return assetLoader.load(r,function(t){e.img=t,this._footageLoaded()}.bind(this),function(){e.img={},this._footageLoaded()}.bind(this)),e}.bind(this),this.assetsPath="",this.path="",this.totalImages=0,this.totalFootages=0,this.loadedAssets=0,this.loadedFootagesCount=0,this.imagesLoadedCb=null,this.images=[]}return r.prototype={loadAssets:function(t,e){var r;this.imagesLoadedCb=e;var i=t.length;for(r=0;r<i;r+=1)t[r].layers||(t[r].t&&"seq"!==t[r].t?3===t[r].t&&(this.totalFootages+=1,this.images.push(this.createFootageData(t[r]))):(this.totalImages+=1,this.images.push(this._createImageData(t[r]))))},setAssetsPath:function(t){this.assetsPath=t||""},setPath:function(t){this.path=t||""},loadedImages:function(){return this.totalImages===this.loadedAssets},loadedFootages:function(){return this.totalFootages===this.loadedFootagesCount},destroy:function(){this.imagesLoadedCb=null,this.images.length=0},getAsset:function(t){for(var e=0,r=this.images.length;e<r;){if(this.images[e].assetData===t)return this.images[e].img;e+=1}return null},createImgData:function(t){var e=a(t,this.assetsPath,this.path),r=createTag("img");r.crossOrigin="anonymous",r.addEventListener("load",this._imageLoaded,!1),r.addEventListener("error",function(){i.img=s,this._imageLoaded()}.bind(this),!1),r.src=e;var i={img:r,assetData:t};return i},createImageData:function(t){var e=a(t,this.assetsPath,this.path),r=createNS("image");isSafari?this.testImageLoaded(r):r.addEventListener("load",this._imageLoaded,!1),r.addEventListener("error",function(){i.img=s,this._imageLoaded()}.bind(this),!1),r.setAttributeNS("http://www.w3.org/1999/xlink","href",e),this._elementHelper.append?this._elementHelper.append(r):this._elementHelper.appendChild(r);var i={img:r,assetData:t};return i},imageLoaded:t,footageLoaded:e,setCacheType:function(t,e){this._createImageData="svg"===t?(this._elementHelper=e,this.createImageData.bind(this)):this.createImgData.bind(this)}},r}(),featureSupport=(zx={maskType:!0},(/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))&&(zx.maskType=!1),zx),zx,filtersFactory=(Ax={},Ax.createFilter=function(t,e){var r=createNS("filter");return r.setAttribute("id",t),!0!==e&&(r.setAttribute("filterUnits","objectBoundingBox"),r.setAttribute("x","0%"),r.setAttribute("y","0%"),r.setAttribute("width","100%"),r.setAttribute("height","100%")),r},Ax.createAlphaToLuminanceFilter=function(){var t=createNS("feColorMatrix");return t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),t},Ax),Ax,assetLoader=function(){function a(t){return t.response&&"object"==typeof t.response?t.response:t.response&&"string"==typeof t.response?JSON.parse(t.response):t.responseText?JSON.parse(t.responseText):null}return{load:function(t,e,r){var i,s=new XMLHttpRequest;try{s.responseType="json"}catch(t){}s.onreadystatechange=function(){if(4===s.readyState)if(200===s.status)i=a(s),e(i);else try{i=a(s),e(i)}catch(t){r&&r(t)}},s.open("GET",t,!0),s.send()}}}();function TextAnimatorProperty(t,e,r){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=t,this._renderType=e,this._elem=r,this._animators
vendor: 5,193 bytes, line 16193
16193Data=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(r)}function TextAnimatorDataProperty(t,e,r){var i={propType:!1},s=PropertyFactory.getProp,a=e.a;this.a={r:a.r?s(t,a.r,0,degToRads,r):i,rx:a.rx?s(t,a.rx,0,degToRads,r):i,ry:a.ry?s(t,a.ry,0,degToRads,r):i,sk:a.sk?s(t,a.sk,0,degToRads,r):i,sa:a.sa?s(t,a.sa,0,degToRads,r):i,s:a.s?s(t,a.s,1,.01,r):i,a:a.a?s(t,a.a,1,0,r):i,o:a.o?s(t,a.o,0,.01,r):i,p:a.p?s(t,a.p,1,0,r):i,sw:a.sw?s(t,a.sw,0,0,r):i,sc:a.sc?s(t,a.sc,1,0,r):i,fc:a.fc?s(t,a.fc,1,0,r):i,fh:a.fh?s(t,a.fh,0,0,r):i,fs:a.fs?s(t,a.fs,0,.01,r):i,fb:a.fb?s(t,a.fb,0,.01,r):i,t:a.t?s(t,a.t,0,0,r):i},this.s=TextSelectorProp.getTextSelectorProp(t,e.s,r),this.s.t=e.s.t}function LetterProps(t,e,r,i,s,a){this.o=t,this.sw=e,this.sc=r,this.fc=i,this.m=s,this.p=a,this._mdf={o:!0,sw:!!e,sc:!!r,fc:!!i,m:!0,p:!0}}function TextProperty(t,e){this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,this.data=e,this.elem=t,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),this.searchProperty()||this.completeTextData(this.currentData)}TextAnimatorProperty.prototype.searchProperties=function(){var t,e,r=this._textData.a.length,i=PropertyFactory.getProp;for(t=0;t<r;t+=1)e=this._textData.a[t],this._animatorsData[t]=new TextAnimatorDataProperty(this._elem,e,this);this._textData.p&&"m"in this._textData.p?(this._pathData={f:i(this._elem,this._textData.p.f,0,0,this),l:i(this._elem,this._textData.p.l,0,0,this),r:this._textData.p.r,m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0):this._hasMaskedPath=!1,this._moreOptions.alignment=i(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(t,e){if(this.lettersChangedFlag=e,this._mdf||this._isFirstFrame||e||this._hasMaskedPath&&this._pathData.m._mdf){this._isFirstFrame=!1;var r,i,s,a,n,o,h,l,p,m,f,c,d,u,y,g,v,b,P,E=this._moreOptions.alignment.v,x=this._animatorsData,S=this._textData,A=this.mHelper,C=this._renderType,T=this.renderedLetters.length,_=t.l;if(this._hasMaskedPath){if(P=this._pathData.m,!this._pathData.n||this._pathData._mdf){var k,D=P.v;for(this._pathData.r&&(D=D.reverse()),n={tLength:0,segments:[]},a=D._length-1,s=g=0;s<a;s+=1)k=bez.buildBezierData(D.v[s],D.v[s+1],[D.o[s][0]-D.v[s][0],D.o[s][1]-D.v[s][1]],[D.i[s+1][0]-D.v[s+1][0],D.i[s+1][1]-D.v[s+1][1]]),n.tLength+=k.segmentLength,n.segments.push(k),g+=k.segmentLength;s=a,P.v.c&&(k=bez.buildBezierData(D.v[s],D.v[0],[D.o[s][0]-D.v[s][0],D.o[s][1]-D.v[s][1]],[D.i[0][0]-D.v[0][0],D.i[0][1]-D.v[0][1]]),n.tLength+=k.segmentLength,n.segments.push(k),g+=k.segmentLength),this._pathData.pi=n}if(n=this._pathData.pi,o=this._pathData.f.v,m=1,p=!(l=f=0),u=n.segments,o<0&&P.v.c)for(n.tLength<Math.abs(o)&&(o=-Math.abs(o)%n.tLength),m=(d=u[f=u.length-1].points).length-1;o<0;)o+=d[m].partialLength,(m-=1)<0&&(m=(d=u[f-=1].points).length-1);c=(d=u[f].points)[m-1],y=(h=d[m]).partialLength}a=_.length,i=r=0;var M,F,w,I,V,B=1.2*t.finalSize*.714,R=!0;w=x.length;var L,G,z,N,O,H,j,q,W,Y,X,J,K=-1,$=o,Z=f,U=m,Q=-1,tt="",et=this.defaultPropsArray;if(2===t.j||1===t.j){var rt=0,it=0,st=2===t.j?-.5:-1,at=0,nt=!0;for(s=0;s<a;s+=1)if(_[s].n){for(rt&&(rt+=it);at<s;)_[at].animatorJustifyOffset=rt,at+=1;nt=!(rt=0)}else{for(F=0;F<w;F+=1)(M=x[F].a).t.propType&&(nt&&2===t.j&&(it+=M.t.v*st),(V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars)).length?rt+=M.t.v*V[0]*st:rt+=M.t.v*V*st);nt=!1}for(rt&&(rt+=it);at<s;)_[at].animatorJustifyOffset=rt,at+=1}for(s=0;s<a;s+=1){if(A.reset(),N=1,_[s].n)r=0,i+=t.yOffset,i+=R?1:0,o=$,R=!1,this._hasMaskedPath&&(m=U,c=(d=u[f=Z].points)[m-1],y=(h=d[m]).partialLength,l=0),J=W=X=tt="",et=this.defaultPropsArray;else{if(this._hasMaskedPath){if(Q!==_[s].line){switch(t.j){case 1:o+=g-t.lineWidths[_[s].line];break;case 2:o+=(g-t.lineWidths[_[s].line])/2}Q=_[s].line}K!==_[s].ind&&(_[K]&&(o+=_[K].extra),o+=_[s].an/2,K=_[s].ind),o+=E[0]*_[s].an*.005;var ot=0;for(F=0;F<w;F+=1)(M=x[F].a).p.propType&&((V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars)).length?ot+=M.p.v[0]*V[0]:ot+=M.p.v[0]*V),M.a.propType&&((V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars)).length?ot+=M.a.v[0]*V[0]:ot+=M.a.v[0]*V);for(p=!0;p;)o+ot<=l+y||!d?(v=(o+ot-l)/h.partialLength,G=c.point[0]+(h.point[0]-c.point[0])*v,z=c.point[1]+(h.point[1]-c.point[1])*v,A.translate(-E[0]*_[s].an*.005,-E[1]*B*.01),p=!1):d&&(l+=h.partialLength,(m+=1)>=d.length&&(m=0,d=u[f+=1]?u[f].points:P.v.c?u[f=m=0].points:(l-=h.partialLength,null)),d&&(c=h,y=(h=d[m]).partialLength));L=_[s].an/2-_[s].add,A.translate(-L,0,0)}else L=_[s].an/2-_[s].add,A.translate(-L,0,0),A.translate(-E[0]*_[s].an*.005,-E[1]*B*.01,0);for(F=0;F<w;
vendor: 7,596 bytes, line 16193
16193F+=1)(M=x[F].a).t.propType&&(V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars),0===r&&0===t.j||(this._hasMaskedPath?V.length?o+=M.t.v*V[0]:o+=M.t.v*V:V.length?r+=M.t.v*V[0]:r+=M.t.v*V));for(t.strokeWidthAnim&&(H=t.sw||0),t.strokeColorAnim&&(O=t.sc?[t.sc[0],t.sc[1],t.sc[2]]:[0,0,0]),t.fillColorAnim&&t.fc&&(j=[t.fc[0],t.fc[1],t.fc[2]]),F=0;F<w;F+=1)(M=x[F].a).a.propType&&((V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars)).length?A.translate(-M.a.v[0]*V[0],-M.a.v[1]*V[1],M.a.v[2]*V[2]):A.translate(-M.a.v[0]*V,-M.a.v[1]*V,M.a.v[2]*V));for(F=0;F<w;F+=1)(M=x[F].a).s.propType&&((V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars)).length?A.scale(1+(M.s.v[0]-1)*V[0],1+(M.s.v[1]-1)*V[1],1):A.scale(1+(M.s.v[0]-1)*V,1+(M.s.v[1]-1)*V,1));for(F=0;F<w;F+=1){if(M=x[F].a,V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars),M.sk.propType&&(V.length?A.skewFromAxis(-M.sk.v*V[0],M.sa.v*V[1]):A.skewFromAxis(-M.sk.v*V,M.sa.v*V)),M.r.propType&&(V.length?A.rotateZ(-M.r.v*V[2]):A.rotateZ(-M.r.v*V)),M.ry.propType&&(V.length?A.rotateY(M.ry.v*V[1]):A.rotateY(M.ry.v*V)),M.rx.propType&&(V.length?A.rotateX(M.rx.v*V[0]):A.rotateX(M.rx.v*V)),M.o.propType&&(V.length?N+=(M.o.v*V[0]-N)*V[0]:N+=(M.o.v*V-N)*V),t.strokeWidthAnim&&M.sw.propType&&(V.length?H+=M.sw.v*V[0]:H+=M.sw.v*V),t.strokeColorAnim&&M.sc.propType)for(q=0;q<3;q+=1)V.length?O[q]+=(M.sc.v[q]-O[q])*V[0]:O[q]+=(M.sc.v[q]-O[q])*V;if(t.fillColorAnim&&t.fc){if(M.fc.propType)for(q=0;q<3;q+=1)V.length?j[q]+=(M.fc.v[q]-j[q])*V[0]:j[q]+=(M.fc.v[q]-j[q])*V;M.fh.propType&&(j=V.length?addHueToRGB(j,M.fh.v*V[0]):addHueToRGB(j,M.fh.v*V)),M.fs.propType&&(j=V.length?addSaturationToRGB(j,M.fs.v*V[0]):addSaturationToRGB(j,M.fs.v*V)),M.fb.propType&&(j=V.length?addBrightnessToRGB(j,M.fb.v*V[0]):addBrightnessToRGB(j,M.fb.v*V))}}for(F=0;F<w;F+=1)(M=x[F].a).p.propType&&(V=x[F].s.getMult(_[s].anIndexes[F],S.a[F].s.totalChars),this._hasMaskedPath?V.length?A.translate(0,M.p.v[1]*V[0],-M.p.v[2]*V[1]):A.translate(0,M.p.v[1]*V,-M.p.v[2]*V):V.length?A.translate(M.p.v[0]*V[0],M.p.v[1]*V[1],-M.p.v[2]*V[2]):A.translate(M.p.v[0]*V,M.p.v[1]*V,-M.p.v[2]*V));if(t.strokeWidthAnim&&(W=H<0?0:H),t.strokeColorAnim&&(Y="rgb("+Math.round(255*O[0])+","+Math.round(255*O[1])+","+Math.round(255*O[2])+")"),t.fillColorAnim&&t.fc&&(X="rgb("+Math.round(255*j[0])+","+Math.round(255*j[1])+","+Math.round(255*j[2])+")"),this._hasMaskedPath){if(A.translate(0,-t.ls),A.translate(0,E[1]*B*.01+i,0),S.p.p){b=(h.point[1]-c.point[1])/(h.point[0]-c.point[0]);var ht=180*Math.atan(b)/Math.PI;h.point[0]<c.point[0]&&(ht+=180),A.rotate(-ht*Math.PI/180)}A.translate(G,z,0),o-=E[0]*_[s].an*.005,_[s+1]&&K!==_[s+1].ind&&(o+=_[s].an/2,o+=.001*t.tr*t.finalSize)}else{switch(A.translate(r,i,0),t.ps&&A.translate(t.ps[0],t.ps[1]+t.ascent,0),t.j){case 1:A.translate(_[s].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[_[s].line]),0,0);break;case 2:A.translate(_[s].animatorJustifyOffset+t.justifyOffset+(t.boxWidth-t.lineWidths[_[s].line])/2,0,0)}A.translate(0,-t.ls),A.translate(L,0,0),A.translate(E[0]*_[s].an*.005,E[1]*B*.01,0),r+=_[s].l+.001*t.tr*t.finalSize}"html"===C?tt=A.toCSS():"svg"===C?tt=A.to2dCSS():et=[A.props[0],A.props[1],A.props[2],A.props[3],A.props[4],A.props[5],A.props[6],A.props[7],A.props[8],A.props[9],A.props[10],A.props[11],A.props[12],A.props[13],A.props[14],A.props[15]],J=N}this.lettersChangedFlag=T<=s?(I=new LetterProps(J,W,Y,X,tt,et),this.renderedLetters.push(I),T+=1,!0):(I=this.renderedLetters[s]).update(J,W,Y,X,tt,et)||this.lettersChangedFlag}}},TextAnimatorProperty.prototype.getValue=function(){this._elem.globalData.frameId!==this._frameId&&(this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties())},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty),LetterProps.prototype.update=function(t,e,r,i,s,a){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1;var n=this._mdf.p=!1;return this.o!==t&&(this.o=t,n=this._mdf.o=!0),this.sw!==e&&(this.sw=e,n=this._mdf.sw=!0),this.sc!==r&&(this.sc=r,n=this._mdf.sc=!0),this.fc!==i&&(this.fc=i,n=this._mdf.fc=!0),this.m!==s&&(this.m=s,n=this._mdf.m=!0),!a.length||this.p[0]===a[0]&&this.p[1]===a[1]&&this.p[4]===a[4]&&this.p[5]===a[5]&&this.p[12]===a[12]&&this.p[13]===a[13]||(this.p=a,n=this._mdf.p=!0),n},TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},TextProperty.prototype.setCurrentData=function(t){t.__complete||this.completeTextData(t),this.currentData=t,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){return this.kf=1<this.data.d.k.length,this.kf&&this.addEffect(this.getKeyframeValue.bind(this)),this.kf},TextProperty.prototype.addEffect=function(t){this.effectsSequence.push(t),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(t){if(this.elem.globalData.frameId!==this.frameId&&this.effectsSequence.length||t){this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,r=this.keysIndex;if(this.lock)this.setCurrentData(this.currentData);else{var i;this.lock=!0,this._mdf=!1;var s=this.effectsSequence.length,a=t||this.data.d.k[this.keysIndex].s;for(i=0;i<s;i+=1)a=r!==this.keysIndex?this.effectsSequence[i](a,a.t):this.effectsSequence[i](this.currentData,a.t);e!==a&&this.setCurrentData(a),this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId}}},TextProperty.prototype.getKeyframeValue=function(){for(var t=this.data.d.k,e=this.elem.comp.renderedFrame,r=0,i=t.length;r<=i-1&&!(r===i-1||t[r+1].t>e);)r+=1;return this.keysIndex!==r&&(this.keysIndex=r),this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(t){for(var e,r,i=[],s=0,a=t.length,n=!1;s<a;)e=t.charCodeAt(s),FontManager.isCombinedCharacter(e)?i[i.length-1]+=t.charAt(s):55296<=e&&e<=56319?56320<=(r=t.charCodeAt(s+1))&&r<=57343?(n||FontManager.isModifier(e,r)?(i[i.length-1]+=t.substr(s,2),n=!1):i.push(t.substr(s,2)),s+=1):i.push(t.charAt(s)):56319<e?(r=t.charCodeAt(s+1),FontManager.isZeroWidthJoiner(e,r)?(n=!0,i[i.length-1]+=t.substr(s,2),s+=1):i.push(t.charAt(s))):FontManager.isZeroWidthJoiner(e)?(i[i.length-1]+=t.charAt(s),n=!0):i.push(t.charAt(s)),s+=1;return i},TextProperty.prototype.completeTextData=function(t){t.__complete=!0;var e,r,i,s,a,n,o,h=this.elem.globalData.fontManager,l=this.data,p=[],m=0,f=l.m.g,c=0,d=0,u=0,y=[],g=0,v=0,b=h.getFontByName(t.f),P=0,E=getFontProperties(b);t.fWeight=E.weight,t.fStyle=E.style,t.finalSize=t.s,t.finalText=this.buildFinalText(t.t),r=t.finalText.length,t.finalLineHeight=t.lh;var x,S=t.tr/1e3*t.finalSize;if(t.sz)for(var A,C,T=!0,_=t.sz[0],k=t.sz[1];T;){g=A=0,r=(C=this.buildFinalText(t.t)).length,S=t.tr/1e3*t.finalSize;var D=-1;for(e=0;e<r;e+=1)x=C[e].charCodeAt(0),i=!1," "===C[e]?D=e:13!==x&&3!==x||(i=!(g=0),A+=t.finalLineHeight||1.2*t.finalSize),_<g+(P=h.chars?(o=h.getCharData(C[e],b.fStyle,b.fFamily),i?0:o.w*t.finalSize/100):h.measureText(C[e],t.f,t.finalSize))&&" "!==C[e]?(-1===D?r+=1:e=D,A+=t.finalLineHeight||1.2*t.finalSize,C.splice(e,D===e?1:0,"\r"),D=-1,g=0):(g+=P,g+=S);A+=b.ascent*t.finalSize/100,this.canResize&&t.finalSize>this.minimumFontSize&&k<A?(t.finalSize-=1,t.finalLineHeight=t.finalSize*t.lh/t.s):(t.finalText=C,r=t.finalText.length,T=!1)}g=-S;var M,F=P=0;for(e=0;e<r;
vendor: 7,994 bytes, line 16193
16193e+=1)if(i=!1,13===(x=(M=t.finalText[e]).charCodeAt(0))||3===x?(F=0,y.push(g),v=v<g?g:v,g=-2*S,i=!(s=""),u+=1):s=M,P=h.chars?(o=h.getCharData(M,b.fStyle,h.getFontByName(t.f).fFamily),i?0:o.w*t.finalSize/100):h.measureText(s,t.f,t.finalSize)," "===M?F+=P+S:(g+=P+S+F,F=0),p.push({l:P,an:P,add:c,n:i,anIndexes:[],val:s,line:u,animatorJustifyOffset:0}),2==f){if(c+=P,""===s||" "===s||e===r-1){for(""!==s&&" "!==s||(c-=P);d<=e;)p[d].an=c,p[d].ind=m,p[d].extra=P,d+=1;m+=1,c=0}}else if(3==f){if(c+=P,""===s||e===r-1){for(""===s&&(c-=P);d<=e;)p[d].an=c,p[d].ind=m,p[d].extra=P,d+=1;c=0,m+=1}}else p[m].ind=m,p[m].extra=0,m+=1;if(t.l=p,v=v<g?g:v,y.push(g),t.sz)t.boxWidth=t.sz[0],t.justifyOffset=0;else switch(t.boxWidth=v,t.j){case 1:t.justifyOffset=-t.boxWidth;break;case 2:t.justifyOffset=-t.boxWidth/2;break;default:t.justifyOffset=0}t.lineWidths=y;var w,I,V,B,R=l.a;n=R.length;var L=[];for(a=0;a<n;a+=1){for((w=R[a]).a.sc&&(t.strokeColorAnim=!0),w.a.sw&&(t.strokeWidthAnim=!0),(w.a.fc||w.a.fh||w.a.fs||w.a.fb)&&(t.fillColorAnim=!0),B=0,V=w.s.b,e=0;e<r;e+=1)(I=p[e]).anIndexes[a]=B,(1==V&&""!==I.val||2==V&&""!==I.val&&" "!==I.val||3==V&&(I.n||" "==I.val||e==r-1)||4==V&&(I.n||e==r-1))&&(1===w.s.rn&&L.push(B),B+=1);l.a[a].s.totalChars=B;var G,z=-1;if(1===w.s.rn)for(e=0;e<r;e+=1)z!=(I=p[e]).anIndexes[a]&&(z=I.anIndexes[a],G=L.splice(Math.floor(Math.random()*L.length),1)[0]),I.anIndexes[a]=G}t.yOffset=t.finalLineHeight||1.2*t.finalSize,t.ls=t.ls||0,t.ascent=b.ascent*t.finalSize/100},TextProperty.prototype.updateDocumentData=function(t,e){e=void 0===e?this.keysIndex:e;var r=this.copyData({},this.data.d.k[e].s);r=this.copyData(r,t),this.data.d.k[e].s=r,this.recalculate(e),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(t){var e=this.data.d.k[t].s;e.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(e)},TextProperty.prototype.canResizeFont=function(t){this.canResize=t,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(t){this.minimumFontSize=Math.floor(t)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var c=Math.max,d=Math.min,u=Math.floor;function i(t,e){this._currentTextLength=-1,this.k=!1,this.data=e,this.elem=t,this.comp=t.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(t),this.s=PropertyFactory.getProp(t,e.s||{k:0},0,0,this),this.e="e"in e?PropertyFactory.getProp(t,e.e,0,0,this):{v:100},this.o=PropertyFactory.getProp(t,e.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(t,e.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(t,e.ne||{k:0},0,0,this),this.a=PropertyFactory.getProp(t,e.a,0,.01,this),this.dynamicProperties.length||this.getValue()}return i.prototype={getMult:function(t){this._currentTextLength!==this.elem.textProperty.currentData.l.length&&this.getValue();var e=0,r=0,i=1,s=1;0<this.ne.v?e=this.ne.v/100:r=-this.ne.v/100,0<this.xe.v?i=1-this.xe.v/100:s=1+this.xe.v/100;var a=BezierFactory.getBezierEasing(e,r,i,s).get,n=0,o=this.finalS,h=this.finalE,l=this.data.sh;if(2===l)n=a(n=h===o?h<=t?1:0:c(0,d(.5/(h-o)+(t-o)/(h-o),1)));else if(3===l)n=a(n=h===o?h<=t?0:1:1-c(0,d(.5/(h-o)+(t-o)/(h-o),1)));else if(4===l)h===o?n=0:(n=c(0,d(.5/(h-o)+(t-o)/(h-o),1)))<.5?n*=2:n=1-2*(n-.5),n=a(n);else if(5===l){if(h===o)n=0;else{var p=h-o,m=-p/2+(t=d(c(0,t+.5-o),h-o)),f=p/2;n=Math.sqrt(1-m*m/(f*f))}n=a(n)}else n=6===l?a(n=h===o?0:(t=d(c(0,t+.5-o),h-o),(1+Math.cos(Math.PI+2*Math.PI*t/(h-o)))/2)):(t>=u(o)&&(n=c(0,d(t-o<0?d(h,1)-(o-t):h-t,1))),a(n));return n*this.a.v},getValue:function(t){this.iterateDynamicProperties(),this._mdf=t||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,t&&2===this.data.r&&(this.e.v=this._currentTextLength);var e=2===this.data.r?1:100/this.data.totalChars,r=this.o.v/e,i=this.s.v/e+r,s=this.e.v/e+r;if(s<i){var a=i;i=s,s=a}this.finalS=i,this.finalE=s}},extendPrototype([DynamicPropertyContainer],i),{getTextSelectorProp:function(t,e,r){return new i(t,e,r)}}}(),poolFactory=function(t,e,r){var i=0,s=t,a=createSizedArray(s);return{newElement:function(){return i?a[i-=1]:e()},release:function(t){i===s&&(a=pooling.double(a),s*=2),r&&r(t),a[i]=t,i+=1}}},pooling={double:function(t){return t.concat(createSizedArray(t.length))}},pointPool=poolFactory(8,function(){return createTypedArray("float32",2)}),shapePool=(IB=poolFactory(4,function(){return new ShapePath},function(t){var e,r=t._length;for(e=0;e<r;e+=1)pointPool.release(t.v[e]),pointPool.release(t.i[e]),pointPool.release(t.o[e]),t.v[e]=null,t.i[e]=null,t.o[e]=null;t._length=0,t.c=!1}),IB.clone=function(t){var e,r=IB.newElement(),i=void 0===t._length?t.v.length:t._length;for(r.setLength(i),r.c=t.c,e=0;e<i;e+=1)r.setTripleAt(t.v[e][0],t.v[e][1],t.o[e][0],t.o[e][1],t.i[e][0],t.i[e][1],e);return r},IB),IB,shapeCollectionPool=(QB={newShapeCollection:function(){var t;t=RB?TB[RB-=1]:new ShapeCollection;return t},release:function(t){var e,r=t._length;for(e=0;e<r;e+=1)shapePool.release(t.shapes[e]);t._length=0,RB===SB&&(TB=pooling.double(TB),SB*=2);TB[RB]=t,RB+=1}},RB=0,SB=4,TB=createSizedArray(SB),QB),QB,RB,SB,TB,segmentsLengthPool=poolFactory(8,function(){return{lengths:[],totalLength:0}},function(t){var e,r=t.lengths.length;for(e=0;e<r;e+=1)bezierLengthPool.release(t.lengths[e]);t.lengths.length=0}),bezierLengthPool=poolFactory(8,function(){return{addedLength:0,percents:createTypedArray("float32",defaultCurveSegments),lengths:createTypedArray("float32",defaultCurveSegments)}}),markerParser=function(){function a(t){for(var e,r=t.split("\r\n"),i={},s=0,a=0;a<r.length;a+=1)2===(e=r[a].split(":")).length&&(i[e[0]]=e[1].trim(),s+=1);if(0===s)throw new Error;return i}return function(e){for(var t=[],r=0;r<e.length;r+=1){var i=e[r],s={time:i.tm,duration:i.dr};try{s.payload=JSON.parse(e[r].cm)}catch(t){try{s.payload=a(e[r].cm)}catch(t){s.payload={name:e[r]}}}t.push(s)}return t}}();function BaseRenderer(){}function SVGRenderer(t,e){this.animationItem=t,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var r="";if(e&&e.title){var i=createNS("title"),s=createElementID();i.setAttribute("id",s),i.textContent=e.title,this.svgElement.appendChild(i),r+=s}if(e&&e.description){var a=createNS("desc"),n=createElementID();a.setAttribute("id",n),a.textContent=e.description,this.svgElement.appendChild(a),r+=" "+n}r&&this.svgElement.setAttribute("aria-labelledby",r);var o=createNS("defs");this.svgElement.appendChild(o);var h=createNS("g");this.svgElement.appendChild(h),this.layerElement=h,this.renderConfig={preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",progressiveLoad:e&&e.progressiveLoad||!1,hideOnTransparent:!(e&&!1===e.hideOnTransparent),viewBoxOnly:e&&e.viewBoxOnly||!1,viewBoxSize:e&&e.viewBoxSize||!1,className:e&&e.className||"",id:e&&e.id||"",focusable:e&&e.focusable,filterSize:{width:e&&e.filterSize&&e.filterSize.width||"100%",height:e&&e.filterSize&&e.filterSize.height||"100%",x:e&&e.filterSize&&e.filterSize.x||"0%",y:e&&e.filterSize&&e.filterSize.y||"0%"}},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}function CanvasRenderer(t,e){this.animationItem=t,this.renderConfig={clearCanvas:!e||void 0===e.clearCanvas||e.clearCanvas,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",className:e&&e.className||"",id:e&&e.id||""},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper&&(this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1),this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=ne
vendor: 9,040 bytes, line 16193
16193w Matrix,this.completeLayers=!1,this.rendererType="canvas"}function HybridRenderer(t,e){this.animationItem=t,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(e&&!1===e.hideOnTransparent),filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}function MaskElement(t,e,r){this.data=t,this.element=e,this.globalData=r,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var i,s,a=this.globalData.defs,n=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(n),this.solidPath="";var o,h,l,p,m,f,c=this.masksProperties,d=0,u=[],y=createElementID(),g="clipPath",v="clip-path";for(i=0;i<n;i+=1)if(("a"!==c[i].mode&&"n"!==c[i].mode||c[i].inv||100!==c[i].o.k||c[i].o.x)&&(v=g="mask"),"s"!==c[i].mode&&"i"!==c[i].mode||0!==d?l=null:((l=createNS("rect")).setAttribute("fill","#ffffff"),l.setAttribute("width",this.element.comp.data.w||0),l.setAttribute("height",this.element.comp.data.h||0),u.push(l)),s=createNS("path"),"n"===c[i].mode)this.viewData[i]={op:PropertyFactory.getProp(this.element,c[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,c[i],3),elem:s,lastPath:""},a.appendChild(s);else{var b;if(d+=1,s.setAttribute("fill","s"===c[i].mode?"#000000":"#ffffff"),s.setAttribute("clip-rule","nonzero"),0!==c[i].x.k?(v=g="mask",f=PropertyFactory.getProp(this.element,c[i].x,0,null,this.element),b=createElementID(),(p=createNS("filter")).setAttribute("id",b),(m=createNS("feMorphology")).setAttribute("operator","erode"),m.setAttribute("in","SourceGraphic"),m.setAttribute("radius","0"),p.appendChild(m),a.appendChild(p),s.setAttribute("stroke","s"===c[i].mode?"#000000":"#ffffff")):f=m=null,this.storedData[i]={elem:s,x:f,expan:m,lastPath:"",lastOperator:"",filterId:b,lastRadius:0},"i"===c[i].mode){h=u.length;var P=createNS("g");for(o=0;o<h;o+=1)P.appendChild(u[o]);var E=createNS("mask");E.setAttribute("mask-type","alpha"),E.setAttribute("id",y+"_"+d),E.appendChild(s),a.appendChild(E),P.setAttribute("mask","url("+locationHref+"#"+y+"_"+d+")"),u.length=0,u.push(P)}else u.push(s);c[i].inv&&!this.solidPath&&(this.solidPath=this.createLayerSolidPath()),this.viewData[i]={elem:s,lastPath:"",op:PropertyFactory.getProp(this.element,c[i].o,0,.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,c[i],3),invRect:l},this.viewData[i].prop.k||this.drawPath(c[i],this.viewData[i].prop.v,this.viewData[i])}for(this.maskElement=createNS(g),n=u.length,i=0;i<n;i+=1)this.maskElement.appendChild(u[i]);0<d&&(this.maskElement.setAttribute("id",y),this.element.maskedElement.setAttribute(v,"url("+locationHref+"#"+y+")"),a.appendChild(this.maskElement)),this.viewData.length&&this.element.addRenderableComponent(this)}function HierarchyElement(){}function FrameElement(){}function TransformElement(){}function RenderableElement(){}function RenderableDOMElement(){}function ProcessedElement(t,e){this.elem=t,this.pos=e}function SVGStyleData(t,e){this.data=t,this.type=t.ty,this.d="",this.lvl=e,this._mdf=!1,this.closed=!0===t.hd,this.pElem=createNS("path"),this.msElem=null}function SVGShapeData(t,e,r){this.caches=[],this.styles=[],this.transformers=t,this.lStr="",this.sh=r,this.lvl=e,this._isAnimated=!!r.k;for(var i=0,s=t.length;i<s;){if(t[i].mProps.dynamicProperties.length){this._isAnimated=!0;break}i+=1}}function SVGTransformData(t,e,r){this.transform={mProps:t,op:e,container:r},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}function SVGStrokeStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},"svg",this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=r,this._isAnimated=!!this._isAnimated}function SVGFillStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.c=PropertyFactory.getProp(t,e.c,1,255,this),this.style=r}function SVGGradientFillStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.initGradientData(t,e,r)}function SVGGradientStrokeStyleData(t,e,r){this.initDynamicPropertyContainer(t),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(t,e.w,0,null,this),this.d=new DashProperty(t,e.d||{},"svg",this),this.initGradientData(t,e,r),this._isAnimated=!!this._isAnimated}function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}BaseRenderer.prototype.checkLayers=function(t){var e,r,i=this.layers.length;for(this.completeLayers=!0,e=i-1;0<=e;e-=1)this.elements[e]||(r=this.layers[e]).ip-r.st<=t-this.layers[e].st&&r.op-r.st>t-this.layers[e].st&&this.buildItem(e),this.completeLayers=!!this.elements[e]&&this.completeLayers;this.checkPendingElements()},BaseRenderer.prototype.createItem=function(t){switch(t.ty){case 2:return this.createImage(t);case 0:return this.createComp(t);case 1:return this.createSolid(t);case 3:return this.createNull(t);case 4:return this.createShape(t);case 5:return this.createText(t);case 6:return this.createAudio(t);case 13:return this.createCamera(t);case 15:return this.createFootage(t);default:return this.createNull(t)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(t){return new AudioElement(t,this.globalData,this)},BaseRenderer.prototype.createFootage=function(t){return new FootageElement(t,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)this.buildItem(t);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(t){var e;this.completeLayers=!1;var r,i=t.length,s=this.layers.length;for(e=0;e<i;e+=1)for(r=0;r<s;){if(this.layers[r].id===t[e].id){this.layers[r]=t[e];break}r+=1}},BaseRenderer.prototype.setProjectInterface=function(t){this.globalData.projectInterface=t},BaseRenderer.prototype.initItems=function(){this.globalData.progressiveLoad||this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(t,e,r){for(var i=this.elements,s=this.layers,a=0,n=s.length;a<n;)s[a].ind==e&&(i[a]&&!0!==i[a]?(r.push(i[a]),i[a].setAsParent(),void 0!==s[a].parent?this.buildElementParenting(t,s[a].parent,r):t.setHierarchy(r)):(this.buildItem(a),this.addPendingElement(t))),a+=1},BaseRenderer.prototype.addPendingElement=function(t){this.pendingElements.push(t)},BaseRenderer.prototype.searchExtraCompositions=function(t){var e,r=t.length;for(e=0;e<r;e+=1)if(t[e].xt){var i=this.createComp(t[e]);i.initExpressions(),this.globalData.projectInterface.registerComposition(i)}},BaseRenderer.prototype.setupGlobalData=function(t,e){this.globalData.fontManager=new FontManager,this.globalData.fontManager.addChars(t.chars),this.globalData.fontManager.addFonts(t.fonts,e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=t.fr,this.globalData.nm=t.nm,this.globalData.compSize={w:t.w,h:t.h}},extendPrototype([BaseRenderer],SVGRenderer),SVGRenderer.prototype.createNull=function(t){return new NullElement(t,this.globalData,this)},SVGRenderer.prototype.createShape=function(t){return new SVGShapeElement(t,this.globalData,this)},SVGRenderer.prototype.createText=function(t){return new SVGTextLottieElement(t,this.globalData,this)},SVGRenderer.prototype.createImage=function(t){return new IImageElement(t,this.globalData,this)},SVGRenderer.prototype.createComp=function(t){return new SVGCompElement(t,this.globalData,this)},SVGRenderer.prototype.createSolid=function(t){return new ISolidElement(t,this.globalData,this)},SVGRenderer.prototype.configAnimation=function(t){this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.renderConfig.viewBoxSize?this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize):this.svgElement.setAttribute("viewBox","0 0 "+t.w+" "+t.h),this.renderConfig.viewBoxOnly||(this.svgElement.setAttribute("width",t.w),this.svgElement.setAttribute("height",t.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,
161930,0)"),this.renderConfig.className&&this.svgElement.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.svgElement.setAttribute("id",this.renderConfig.id),void 0!==this.renderConfig.focusable&&this.svgElement.setAttribute("focusable",this.renderConfig.focusable),this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var e=this.globalData.defs;this.setupGlobalData(t,e),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=t;var r=createNS("clipPath"),i=createNS("rect");i.setAttribute("width",t.w),i.setAttribute("height",t.h),i.setAttribute("x",0),i.setAttribute("y",0);var s=createElementID();r.setAttribute("id",s),r.appendChild(i),this.layerElement.setAttribute("clip-path","url("+locationHref+"#"+s+")"),e.appendChild(r),this.layers=t.layers,this.elements=createSizedArray(t.layers.length)},SVGRenderer.prototype.destroy=function(){var t;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.layerElement=null,this.globalData.defs=null;var e=this.layers?this.layers.length:0;for(t=0;t<e;t+=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRenderer.prototype.updateContainerSize=function(){},SVGRenderer.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){e[t]=!0;var r=this.createItem(this.layers[t]);e[t]=r,expressionsPlugin&&(0===this.layers[t].ty&&this.globalData.projectInterface.registerComposition(r),r.initExpressions()),this.appendElementInPos(r,t),this.layers[t].tt&&(this.elements[t-1]&&!0!==this.elements[t-1]?r.setMatte(e[t-1].layerId):(this.buildItem(t-1),this.addPendingElement(r)))}},SVGRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){var t=this.pendingElements.pop();if(t.checkParenting(),t.data.tt)for(var e=0,r=this.elements.length;e<r;){if(this.elements[e]===t){t.setMatte(this.elements[e-1].layerId);break}e+=1}}},SVGRenderer.prototype.renderFrame=function(t){if(this.renderedFrame!==t&&!this.destroyed){var e;null===t?t=this.renderedFrame:this.renderedFrame=t,this.globalData.frameNum=t,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=t,this.globalData._mdf=!1;var r=this.layers.length;for(this.completeLayers||this.checkLayers(t),e=r-1;0<=e;e-=1)(this.completeLayers||this.elements[e])&&this.elements[e].prepareFrame(t-this.layers[e].st);if(this.globalData._mdf)for(e=0;e<r;e+=1)(this.completeLayers||this.elements[e])&&this.elements[e].renderFrame()}},SVGRenderer.prototype.appendElementInPos=function(t,e){var r=t.getBaseElement();if(r){for(var i,s=0;s<e;)this.elements[s]&&!0!==this.elements[s]&&this.elements[s].getBaseElement()&&(i=this.elements[s].getBaseElement()),s+=1;i?this.layerElement.insertBefore(r,i):this.layerElement.appendChild(r)}},SVGRenderer.prototype.hide=function(){this.layerElement.style.display="none"},SVGRenderer.prototype.show=function(){this.layerElement.style.display="block"},extendPrototype([BaseRenderer],CanvasRenderer),CanvasRenderer.prototype.createShape=function(t){return new CVShapeElement(t,this.globalData,this)},CanvasRenderer.prototype.createText=function(t){return new CVTextElement(t,this.globalData,this)},CanvasRenderer.prototype.createImage=function(t){return new CVImageElement(t,this.globalData,this)},CanvasRenderer.prototype.createComp=function(t){return new CVCompElement(t,this.globalData,this)},CanvasRenderer.prototype.createSolid=function(t){return new CVSolidElement(t,this.globalData,this)},CanvasRenderer.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRenderer.prototype.ctxTransform=function(t){if(1!==t[0]||0!==t[1]||0!==t[4]||1!==t[5]||0!==t[12]||0!==t[13])if(this.renderConfig.clearCanvas){this.transformMat.cloneFromProps(t);var e=this.contextData.cTr.props;this.transformMat.transform(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]),this.contextData.cTr.cloneFromProps(this.transformMat.props);var r=this.contextData.cTr.props;this.canvasContext.setTransform(r[0],r[1],r[4],r[5],r[12],r[13])}else this.canvasContext.transform(t[0],t[1],t[4],t[5],t[12],t[13])},CanvasRenderer.prototype.ctxOpacity=function(t){if(!this.renderConfig.clearCanvas)return this.canvasContext.globalAlpha*=t<0?0:t,void(this.globalData.currentGlobalAlpha=this.contextData.cO);this.contextData.cO*=t<0?0:t,this.globalData.currentGlobalAlpha!==this.contextData.cO&&(this.canvasContext.globalAlpha=this.contextData.cO,this.globalData.currentGlobalAlpha=this.contextData.cO)},CanvasRenderer.prototype.reset=function(){this.renderConfig.clearCanvas?this.contextData.reset():this.canvasContext.restore(
16193)},CanvasRenderer.prototype.save=function(t){if(this.renderConfig.clearCanvas){t&&this.canvasContext.save();var e,r=this.contextData.cTr.props;this.contextData._length<=this.contextData.cArrPos&&this.contextData.duplicate();var i=this.contextData.saved[this.contextData.cArrPos];for(e=0;e<16;e+=1)i[e]=r[e];this.contextData.savedOp[this.contextData.cArrPos]=this.contextData.cO,this.contextData.cArrPos+=1}else this.canvasContext.save()},CanvasRenderer.prototype.restore=function(t){if(this.renderConfig.clearCanvas){t&&(this.canvasContext.restore(),this.globalData.blendMode="source-over"),this.contextData.cArrPos-=1;var e,r=this.contextData.saved[this.contextData.cArrPos],i=this.contextData.cTr.props;for(e=0;e<16;e+=1)i[e]=r[e];this.canvasContext.setTransform(r[0],r[1],r[4],r[5],r[12],r[13]),r=this.contextData.savedOp[this.contextData.cArrPos],this.contextData.cO=r,this.globalData.currentGlobalAlpha!==r&&(this.canvasContext.globalAlpha=r,this.globalData.currentGlobalAlpha=r)}else this.canvasContext.restore()},CanvasRenderer.prototype.configAnimation=function(t){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var e=this.animationItem.container.style;e.width="100%",e.height="100%";var r="0px 0px 0px";e.transformOrigin=r,e.mozTransformOrigin=r,e.webkitTransformOrigin=r,e["-webkit-transform"]=r,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className&&this.animationItem.container.setAttribute("class",this.renderConfig.className),this.renderConfig.id&&this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.data=t,this.layers=t.layers,this.transformCanvas={w:t.w,h:t.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(t,document.body),this.globalData.canvasContext=this.canvasContext,(this.globalData.renderer=this).globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(t.layers.length),this.updateContainerSize()},CanvasRenderer.prototype.updateContainerSize=function(){var t,e,r,i;if(this.reset(),this.animationItem.wrapper&&this.animationItem.container?(t=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,this.animationItem.container.setAttribute("width",t*this.renderConfig.dpr),this.animationItem.container.setAttribute("height",e*this.renderConfig.dpr)):(t=this.canvasContext.canvas.width*this.renderConfig.dpr,e=this.canvasContext.canvas.height*this.renderConfig.dpr),-1!==this.renderConfig.preserveAspectRatio.indexOf("meet")||-1!==this.renderConfig.preserveAspectRatio.indexOf("slice")){var s=this.renderConfig.preserveAspectRatio.split(" "),a=s[1]||"meet",n=s[0]||"xMidYMid",o=n.substr(0,4),h=n.substr(4);r=t/e,i=this.transformCanvas.w/this.transformCanvas.h,this.transformCanvas.sy=r<i&&"meet"===a||i<r&&"slice"===a?(this.transformCanvas.sx=t/(this.transformCanvas.w/this.renderConfig.dpr),t/(this.transformCanvas.w/this.renderConfig.dpr)):(this.transformCanvas.sx=e/(this.transformCanvas.h/this.renderConfig.dpr),e/(this.transformCanvas.h/this.renderConfig.dpr)),this.transformCanvas.tx="xMid"===o&&(i<r&&"meet"===a||r<i&&"slice"===a)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))/2*this.renderConfig.dpr:"xMax"===o&&(i<r&&"meet"===a||r<i&&"slice"===a)?(t-this.transformCanvas.w*(e/this.transformCanvas.h))*this.renderConfig.dpr:0,this.transformCanvas.ty="YMid"===h&&(r<i&&"meet"===a||i<r&&"slice"===a)?(e-this.transformCanvas.h*(t/this.transformCanvas.w))/2*this.renderConfig.dpr:"YMax"===h&&(r<i&&"meet"===a||i<r&&"slice"===a)?(e-this.transformCanvas.h*(t/this.transformCanvas.w))*this.renderConfig.dpr:0}else"none"===this.renderConfig.preserveAspectRatio?(this.transformCanvas.sx=t/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=e/(this.transformCanvas.h/this.renderConfig.dpr)):(this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.t
vendor: 18,821 bytes, line 16193
16193y=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRenderer.prototype.destroy=function(){var t;for(this.renderConfig.clearCanvas&&this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),t=(this.layers?this.layers.length:0)-1;0<=t;t-=1)this.elements[t]&&this.elements[t].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRenderer.prototype.renderFrame=function(t,e){if((this.renderedFrame!==t||!0!==this.renderConfig.clearCanvas||e)&&!this.destroyed&&-1!==t){var r;this.renderedFrame=t,this.globalData.frameNum=t-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=t;var i=this.layers.length;for(this.completeLayers||this.checkLayers(t),r=0;r<i;r+=1)(this.completeLayers||this.elements[r])&&this.elements[r].prepareFrame(t-this.layers[r].st);if(this.globalData._mdf){for(!0===this.renderConfig.clearCanvas?this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h):this.save(),r=i-1;0<=r;r-=1)(this.completeLayers||this.elements[r])&&this.elements[r].renderFrame();!0!==this.renderConfig.clearCanvas&&this.restore()}}},CanvasRenderer.prototype.buildItem=function(t){var e=this.elements;if(!e[t]&&99!==this.layers[t].ty){var r=this.createItem(this.layers[t],this,this.globalData);(e[t]=r).initExpressions()}},CanvasRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},CanvasRenderer.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRenderer.prototype.show=function(){this.animationItem.container.style.display="block"},extendPrototype([BaseRenderer],HybridRenderer),HybridRenderer.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRenderer.prototype.checkPendingElements=function(){for(;this.pendingElements.length;){this.pendingElements.pop().checkParenting()}},HybridRenderer.prototype.appendElementInPos=function(t,e){var r=t.getBaseElement();if(r){var i=this.layers[e];if(i.ddd&&this.supports3d)this.addTo3dContainer(r,e);else if(this.threeDElements)this.addTo3dContainer(r,e);else{for(var s,a,n=0;n<e;)this.elements[n]&&!0!==this.elements[n]&&this.elements[n].getBaseElement&&(a=this.elements[n],s=(this.layers[n].ddd?this.getThreeDContainerByPos(n):a.getBaseElement())||s),n+=1;s?i.ddd&&this.supports3d||this.layerElement.insertBefore(r,s):i.ddd&&this.supports3d||this.layerElement.appendChild(r)}}},HybridRenderer.prototype.createShape=function(t){return this.supports3d?new HShapeElement(t,this.globalData,this):new SVGShapeElement(t,this.globalData,this)},HybridRenderer.prototype.createText=function(t){return this.supports3d?new HTextElement(t,this.globalData,this):new SVGTextLottieElement(t,this.globalData,this)},HybridRenderer.prototype.createCamera=function(t){return this.camera=new HCameraElement(t,this.globalData,this),this.camera},HybridRenderer.prototype.createImage=function(t){return this.supports3d?new HImageElement(t,this.globalData,this):new IImageElement(t,this.globalData,this)},HybridRenderer.prototype.createComp=function(t){return this.supports3d?new HCompElement(t,this.globalData,this):new SVGCompElement(t,this.globalData,this)},HybridRenderer.prototype.createSolid=function(t){return this.supports3d?new HSolidElement(t,this.globalData,this):new ISolidElement(t,this.globalData,this)},HybridRenderer.prototype.createNull=SVGRenderer.prototype.createNull,HybridRenderer.prototype.getThreeDContainerByPos=function(t){for(var e=0,r=this.threeDElements.length;e<r;){if(this.threeDElements[e].startPos<=t&&this.threeDElements[e].endPos>=t)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRenderer.prototype.createThreeDContainer=function(t,e){var r,i,s=createTag("div");styleDiv(s);var a=createTag("div");if(styleDiv(a),"3d"===e){(r=s.style).width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";var n="50% 50%";r.webkitTransformOrigin=n,r.mozTransformOrigin=n,r.transformOrigin=n;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";(i=a.style).transform=o,i.webkitTransform=o}s.appendChild(a);var h={container:a,perspectiveElem:s,startPos:t,endPos:t,type:e};return this.threeDElements.push(h),h},HybridRenderer.prototype.build3dContainers=function(){var t,e,r=this.layers.length,i="";for(t=0;t<r;t+=1)this.layers[t].ddd&&3!==this.layers[t].ty?"3d"!==i&&(i="3d",e=this.createThreeDContainer(t,"3d")):"2d"!==i&&(i="2d",e=this.createThreeDContainer(t,"2d")),e.endPos=Math.max(e.endPos,t);for(t=(r=this.threeDElements.length)-1;0<=t;t-=1)this.resizerElem.appendChild(this.threeDElements[t].perspectiveElem)},HybridRenderer.prototype.addTo3dContainer=function(t,e){for(var r=0,i=this.threeDElements.length;r<i;){if(e<=this.threeDElements[r].endPos){for(var s,a=this.threeDElements[r].startPos;a<e;)this.elements[a]&&this.elements[a].getBaseElement&&(s=this.elements[a].getBaseElement()),a+=1;s?this.threeDElements[r].container.insertBefore(t,s):this.threeDElements[r].container.appendChild(t);break}r+=1}},HybridRenderer.prototype.configAnimation=function(t){var e=createTag("div"),r=this.animationItem.wrapper,i=e.style;i.width=t.w+"px",i.height=t.h+"px",styleDiv(this.resizerElem=e),i.transformStyle="flat",i.mozTransformStyle="flat",i.webkitTransformStyle="flat",this.renderConfig.className&&e.setAttribute("class",this.renderConfig.className),r.appendChild(e),i.overflow="hidden";var s=createNS("svg");s.setAttribute("width","1"),s.setAttribute("height","1"),styleDiv(s),this.resizerElem.appendChild(s);var a=createNS("defs");s.appendChild(a),this.data=t,this.setupGlobalData(t,s),this.globalData.defs=a,this.layers=t.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRenderer.prototype.destroy=function(){var t;this.animationItem.wrapper&&(this.animationItem.wrapper.innerText=""),this.animationItem.container=null,this.globalData.defs=null;var e=this.layers?this.layers.length:0;for(t=0;t<e;t+=1)this.elements[t].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRenderer.prototype.updateContainerSize=function(){var t,e,r,i,s=this.animationItem.wrapper.offsetWidth,a=this.animationItem.wrapper.offsetHeight;i=s/a<this.globalData.compSize.w/this.globalData.compSize.h?(t=s/this.globalData.compSize.w,e=s/this.globalData.compSize.w,r=0,(a-this.globalData.compSize.h*(s/this.globalData.compSize.w))/2):(t=a/this.globalData.compSize.h,e=a/this.globalData.compSize.h,r=(s-this.globalData.compSize.w*(a/this.globalData.compSize.h))/2,0);var n=this.resizerElem.style;n.webkitTransform="matrix3d("+t+",0,0,0,0,"+e+",0,0,0,0,1,0,"+r+","+i+",0,1)",n.transform=n.webkitTransform},HybridRenderer.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRenderer.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRenderer.prototype.show=function(){this.resizerElem.style.display="block"},HybridRenderer.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var t,e=this.globalData.compSize.w,r=this.globalData.compSize.h,i=this.threeDElements.length;for(t=0;t<i;t+=1){var s=this.threeDElements[t].perspectiveElem.style;s.webkitPerspective=Math.sqrt(Math.pow(e,2)+Math.pow(r,2))+"px",s.perspective=s.webkitPerspective}}},HybridRenderer.prototype.searchExtraCompositions=function(t){var e,r=t.length,i=createTag("div");for(e=0;e<r;e+=1)if(t[e].xt){var s=this.createComp(t[e],i,this.globalData.comp,null);s.initExpressions(),this.globalData.projectInterface.registerComposition(s)}},MaskElement.prototype.getMaskProperty=function(t){return this.viewData[t].prop},MaskElement.prototype.renderFrame=function(t){var e,r=this.element.finalTransform.mat,i=this.masksProperties.length;for(e=0;e<i;e+=1)if((this.viewData[e].prop._mdf||t)&&this.drawPath(this.masksProperties[e],this.viewData[e].prop.v,this.viewData[e]),(this.viewData[e].op._mdf||t)&&this.viewData[e].elem.setAttribute("fill-opacity",this.viewData[e].op.v),"n"!==this.masksProperties[e].mode&&(this.viewData[e].invRect&&(this.element.finalTransform.mProp._mdf||t)&&this.viewData[e].invRect.setAttribute("transform",r.getInverseMatrix().to2dCSS()),this.storedData[e].x&&(this.storedData[e].x._mdf||t))){var s=this.storedData[e].expan;this.storedData[e].x.v<0?("erode"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator="erode",this.storedData[e].elem.setAttribute("filter","url("+locationHref+"#"+this.storedData[e].filterId+")")),s.setAttribute("radius",-this.storedData[e].x.v)):("dilate"!==this.storedData[e].lastOperator&&(this.storedData[e].lastOperator="dilate",this.storedData[e].elem.setAttribute("filter",null)),this.storedData[e].elem.setAttribute("stroke-width",2*this.storedData[e].x.v))}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var t="M0,0 ";return t+=" h"+this.globalData.compSize.w,t+=" v"+this.globalData.compSize.h,t+=" h-"+this.globalData.compSize.w,t+=" v-"+this.globalData.compSize.h+" "},MaskElement.prototype.drawPath=function(t,e,r){var i,s,a=" M"+e.v[0][0]+","+e.v[0][1];for(s=e._length,i=1;i<s;i+=1)a+=" C"+e.o[i-1][0]+","+e.o[i-1][1]+" "+e.i[i][0]+","+e.i[i][1]+" "+e.v[i][0]+","+e.v[i][1];if(e.c&&1<s&&(a+=" C"+e.o[i-1][0]+","+e.o[i-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1]),r.lastPath!==a){var n="";r.elem&&(e.c&&(n=t.inv?this.solidPath+a:a),r.elem.setAttribute("d",n)),r.lastPath=a}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null},HierarchyElement.prototype={initHierarchy:function(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function(t){this.hierarchy=t},setAsParent:function(){this._isParent=!0},checkParenting:function(){void 0!==this.data.parent&&this.comp.buildElementParenting(this,this.data.parent,[])}},FrameElement.prototype={initFrame:function(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function(t,e){var r,i=this.dynamicProperties.length;for(r=0;r<i;r+=1)(e||this._isParent&&"transform"===this.dynamicProperties[r].propType)&&(this.dynamicProperties[r].getValue(),this.dynamicProperties[r]._mdf&&(this.globalData._mdf=!0,this._mdf=!0))},addDynamicProperty:function(t){-1===this.dynamicProperties.indexOf(t)&&this.dynamicProperties.push(t)}},TransformElement.prototype={initTransform:function(){this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_opMdf:!1,mat:new Matrix},this.data.ao&&(this.finalTransform.mProp.autoOriented=!0),this.data.ty},renderTransform:function(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var t,e=this.finalTransform.mat,r=0,i=this.hierarchy.length;if(!this.finalTransform._matMdf)for(;r<i;){if(this.hierarchy[r].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}r+=1}if(this.finalTransform._matMdf)for(t=this.finalTransform.mProp.v.props,e.cloneFromProps(t),r=0;r<i;r+=1)t=this.hierarchy[r].finalTransform.mProp.v.props,e.transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}},globalToLocal:function(t){var e=[];e.push(this.finalTransform);for(var r,i=!0,s=this.comp;i;)s.finalTransform?(s.data.hasMask&&e.splice(0,0,s.finalTransform),s=s.comp):i=!1;var a,n=e.length;for(r=0;r<n;r+=1)a=e[r].mat.applyToPointArray(0,0,0),t=[t[0]-a[0],t[1]-a[1],0];return t},mHelper:new Matrix},RenderableElement.prototype={initRenderable:function(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function(t){-1===this.renderableComponents.indexOf(t)&&this.renderableComponents.push(t)},removeRenderableComponent:function(t){-1!==this.renderableComponents.indexOf(t)&&this.renderableComponents.splice(this.renderableComponents.indexOf(t),1)},prepareRenderableFrame:function(t){this.checkLayerLimits(t)},checkTransparency:function(){this.finalTransform.mProp.o.v<=0?!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent&&(this.isTransparent=!0,this.hide()):this.isTransparent&&(this.isTransparent=!1,this.show())},checkLayerLimits:function(t){this.data.ip-this.data.st<=t&&this.data.op-this.data.st>t?!0!==this.isInRange&&(this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()):!1!==this.isInRange&&(this.globalData._mdf=!0,this.isInRange=!1,this.hide())},renderRenderable:function(){var t,e=this.renderableComponents.length;for(t=0;t<e;t+=1)this.renderableComponents[t].renderFrame(this._isFirstFrame)},sourceRectAtTime:function(){return{top:0,left:0,width:100,height:100}},getLayerSize:function(){return 5===this.data.ty?{w:this.data.textData.width,h:this.data.textData.height}:{w:this.data.width,h:this.data.height}}},extendPrototype([RenderableElement,createProxyFunction({initElement:function(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initTransform(t,e,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function(){this.hidden||this.isInRange&&!this.isTransparent||((this.baseElement||this.layerElement).style.display="none",this.hidden=!0)},show:function(){this.isInRange&&!this.isTransparent&&(this.data.hd||((this.baseElement||this.layerElement).style.display="block"),this.hidden=!1,this._isFirstFrame=!0)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},renderInnerContent:function(){},prepareFrame:function(t){this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),this.checkTransparency()},destroy:function(){this.innerElem=null,this.destroyBaseElement()}})],RenderableDOMElement),SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1},SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0},extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData),extendPrototype([DynamicPropertyContainer],SVGFillStyleData),SVGGradientFillStyleData.prototype.initGradientData=function(t,e,r){this.o=PropertyFactory.getProp(t,e.o,0,.01,this),this.s=PropertyFactory.getProp(t,e.s,1,null,this),this.e=PropertyFactory.getProp(t,e.e,1,null,this),this.h=PropertyFactory.getProp(t,e.h||{k:0},0,.01,this),this.a=PropertyFactory.getProp(t,e.a||{k:0},0,degToRads,this),this.g=new GradientProperty(t,e.g,this),this.style=r,this.stops=[],this.setGradientData(r.pElem,e),this.setGradientOpacity(e,r),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(t,e){var r=createElementID(),i=createNS(1===e.t?"linearGradient":"radialGradient");i.setAttribute("id",r),i.setAttribute("spreadMethod","pad"),i.setAttribute("gradientUnits","userSpaceOnUse");var s,a,n,o=[];for(n=4*e.g.p,a=0;a<n;a+=4)s=createNS("stop"),i.appendChild(s),o.push(s);t.setAttribute("gf"===e.ty?"fill":"stroke","url("+locationHref+"#"+r+")"),this.gf=i,this.cst=o},SVGGradientFillStyleData.prototype.setGradientOpacity=function(t,e){if(this.g._hasOpacity&&!this.g._collapsable){var r,i,s,a=createNS("mask"),n=createNS("path");a.appendChild(n);var o=createElementID(),h=createElementID();a.setAttribute("id",h);var l=createNS(1===t.t?"linearGradient":"radialGradient");l.setAttribute("id",o),l.setAttribute("spreadMethod","pad"),l.setAttribute("gradientUnits","userSpaceOnUse"),s=t.g.k.k[0].s?t.g.k.k[0].s.length:t.g.k.k.length;var p=this.stops;for(i=4*t.g.p;i<s;i+=2)(r=createNS("stop")).setAttribute("stop-color","rgb(255,255,255)"),l.appendChild(r),p.push(r);n.setAttribute("gf"===t.ty?"fill":"stroke","url("+locationHref+"#"+o+")"),"gs"===t.ty&&(n.setAttribute("stroke-linecap",lineCapEnum[t.lc||2]),n.setAttribute("stroke-linejoin",lineJoinEnum[t.lj||2]),1===t.lj&&n.setAttribute("stroke-miterlimit",t.ml)),this.of=l,this.ms=a,this.ost=p,this.maskId=h,e.msElem=n}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData),extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);var SVGElementsRenderer=function(){var y=new Matrix,g=new Matrix;function e(t,e,r){(r||e.transform.op._mdf)&&e.transform.container.setAttribute("opacity",e.transform.op.v),(r||e.transform.mProps._mdf)&&e.transform.container.setAttribute("transform",e.transform.mProps.v.to2dCSS())}function r(t,e,r){var i,s,a,n,o,h,l,p,m,f,c,d=e.styles.length,u=e.lvl;for(h=0;h<d;h+=1){if(n=e.sh._mdf||r,e.styles[h].lvl<u){for(p=g.reset(),f=u-e.styles[h].lvl,c=e.transformers.length-1;!n&&0<f;)n=e.transformers[c].mProps._mdf||n,f-=1,c-=1;if(n)for(f=u-e.styles[h].lvl,c=e.transformers.length-1;0<f;)m=e.transformers[c].mProps.v.props,p.transform(m[0],m[1],m[2],m[3],m[4],m[5],m[6],m[7],m[8],m[9],m[10],m[11],m[12],m[13],m[14],m[15]),f-=1,c-=1}else p=y;if(s=(l=e.sh.paths)._length,n){for(a="",i=0;i<s;i+=1)(o=l.shapes[i])&&o._length&&(a+=buildShapeString(o,o._length,o.c,p));e.caches[h]=a}else a=e.caches[h];e.styles[h].d+=!0===t.hd?"":a,e.styles[h]._mdf=n||e.styles[h]._mdf}}function i(t,e,r){var i=e.style;(e.c._mdf||r)&&i.pElem.setAttribute("fill","rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r)&&i.pElem.setAttribute("fill-opacity",e.o.v)}function s(t,e,r){a(t,e,r),n(t,e,r)}function a(t,e,r){var i,s,a,n,o,h=e.gf,l=e.g._hasOpacity,p=e.s.v,m=e.e.v;if(e.o._mdf||r){var f="gf"===t.ty?"fill-opacity":"stroke-opacity";e.style.pElem.setAttribute(f,e.o.v)}if(e.s._mdf||r){var c=1===t.t?"x1":"cx",d="x1"===c?"y1":"cy";h.setAttribute(c,p[0]),h.setAttribute(d,p[1]),l&&!e.g._collapsable&&(e.of.setAttribute(c,p[0]),e.of.setAttribute(d,p[1]))}if(e.g._cmdf||r){i=e.cst;var u=e.g.c;for(a=i.length,s=0;s<a;s+=1)(n=i[s]).setAttribute("offset",u[4*s]+"%"),n.setAttribute("stop-color","rgb("+u[4*s+1]+","+u[4*s+2]+","+u[4*s+3]+")")}if(l&&(e.g._omdf||r)){var y=e.g.o;for(a=(i=e.g._collapsable?e.cst:e.ost).length,s=0;s<a;s+=1)n=i[s],e.g._collapsable||n.setAttribute("offset",y[2*s]+"%"),n.setAttribute("stop-opacity",y[2*s+1])}if(1===t.t)(e.e._mdf||r)&&(h.setAttribute("x2",m[0]),h.setAttribute("y2",m[1]),l&&!e.g._collapsable&&(e.of.setAttribute("x2",m[0]),e.of.setAttribute("y2",m[1])
vendor: 7,481 bytes, line 16193
16193));else if((e.s._mdf||e.e._mdf||r)&&(o=Math.sqrt(Math.pow(p[0]-m[0],2)+Math.pow(p[1]-m[1],2)),h.setAttribute("r",o),l&&!e.g._collapsable&&e.of.setAttribute("r",o)),e.e._mdf||e.h._mdf||e.a._mdf||r){o||(o=Math.sqrt(Math.pow(p[0]-m[0],2)+Math.pow(p[1]-m[1],2)));var g=Math.atan2(m[1]-p[1],m[0]-p[0]),v=e.h.v;1<=v?v=.99:v<=-1&&(v=-.99);var b=o*v,P=Math.cos(g+e.a.v)*b+p[0],E=Math.sin(g+e.a.v)*b+p[1];h.setAttribute("fx",P),h.setAttribute("fy",E),l&&!e.g._collapsable&&(e.of.setAttribute("fx",P),e.of.setAttribute("fy",E))}}function n(t,e,r){var i=e.style,s=e.d;s&&(s._mdf||r)&&s.dashStr&&(i.pElem.setAttribute("stroke-dasharray",s.dashStr),i.pElem.setAttribute("stroke-dashoffset",s.dashoffset[0])),e.c&&(e.c._mdf||r)&&i.pElem.setAttribute("stroke","rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r)&&i.pElem.setAttribute("stroke-opacity",e.o.v),(e.w._mdf||r)&&(i.pElem.setAttribute("stroke-width",e.w.v),i.msElem&&i.msElem.setAttribute("stroke-width",e.w.v))}return{createRenderFunction:function(t){switch(t.ty){case"fl":return i;case"gf":return a;case"gs":return s;case"st":return n;case"sh":case"el":case"rc":case"sr":return r;case"tr":return e;default:return null}}}}();function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}function CVShapeData(t,e,r,i){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var s,a=4;"rc"===e.ty?a=5:"el"===e.ty?a=6:"sr"===e.ty&&(a=7),this.sh=ShapePropertyFactory.getShapeProp(t,e,a,t);var n,o=r.length;for(s=0;s<o;s+=1)r[s].closed||(n={transforms:i.addTransformSequence(r[s].transforms),trNodes:[]},this.styledShapes.push(n),r[s].elements.push(n))}function BaseElement(){}function NullElement(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initFrame(),this.initTransform(t,e,r),this.initHierarchy()}function SVGBaseElement(){}function IShapeElement(){}function ITextElement(){}function ICompElement(){}function IImageElement(t,e,r){this.assetData=e.getAssetData(t.refId),this.initElement(t,e,r),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}function ISolidElement(t,e,r){this.initElement(t,e,r)}function AudioElement(t,e,r){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(t.refId),this.initBaseData(t,e,r),this._isPlaying=!1,this._canPlay=!1;var i=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(i),this._currentTime=0,this.globalData.audioController.addAudio(this),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function FootageElement(t,e,r){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(t.refId),this.footageData=e.imageLoader.getAsset(this.assetData),this.initBaseData(t,e,r)}function SVGCompElement(t,e,r){this.layers=t.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(t,e,r),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function SVGTextLottieElement(t,e,r){this.textSpans=[],this.renderType="svg",this.initElement(t,e,r)}function SVGShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(t,e,r),this.prevViewData=[]}function SVGTintFilter(t,e){this.filterManager=e;var r=createNS("feColorMatrix");if(r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","linearRGB"),r.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),r.setAttribute("result","f1"),t.appendChild(r),(r=createNS("feColorMatrix")).setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),r.setAttribute("result","f2"),t.appendChild(r),this.matrixFilter=r,100!==e.effectElements[2].p.v||e.effectElements[2].p.k){var i,s=createNS("feMerge");t.appendChild(s),(i=createNS("feMergeNode")).setAttribute("in","SourceGraphic"),s.appendChild(i),(i=createNS("feMergeNode")).setAttribute("in","f2"),s.appendChild(i)}}function SVGFillFilter(t,e){this.filterManager=e;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),t.appendChild(r),this.matrixFilter=r}function SVGGaussianBlurEffect(t,e){t.setAttribute("x","-100%"),t.setAttribute("y","-100%"),t.setAttribute("width","300%"),t.setAttribute("height","300%"),this.filterManager=e;var r=createNS("feGaussianBlur");t.appendChild(r),this.feGaussianBlur=r}function SVGStrokeEffect(t,e){this.initialized=!1,this.filterManager=e,this.elem=t,this.paths=[]}function SVGTritoneFilter(t,e){this.filterManager=e;var r=createNS("feColorMatrix");r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","linearRGB"),r.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),r.setAttribute("result","f1"),t.appendChild(r);var i=createNS("feComponentTransfer");i.setAttribute("color-interpolation-filters","sRGB"),t.appendChild(i),this.matrixFilter=i;var s=createNS("feFuncR");s.setAttribute("type","table"),i.appendChild(s),this.feFuncR=s;var a=createNS("feFuncG");a.setAttribute("type","table"),i.appendChild(a),this.feFuncG=a;var n=createNS("feFuncB");n.setAttribute("type","table"),i.appendChild(n),this.feFuncB=n}function SVGProLevelsFilter(t,e){this.filterManager=e;var r=this.filterManager.effectElements,i=createNS("feComponentTransfer");(r[10].p.k||0!==r[10].p.v||r[11].p.k||1!==r[11].p.v||r[12].p.k||1!==r[12].p.v||r[13].p.k||0!==r[13].p.v||r[14].p.k||1!==r[14].p.v)&&(this.feFuncR=this.createFeFunc("feFuncR",i)),(r[17].p.k||0!==r[17].p.v||r[18].p.k||1!==r[18].p.v||r[19].p.k||1!==r[19].p.v||r[20].p.k||0!==r[20].p.v||r[21].p.k||1!==r[21].p.v)&&(this.feFuncG=this.createFeFunc("feFuncG",i)),(r[24].p.k||0!==r[24].p.v||r[25].p.k||1!==r[25].p.v||r[26].p.k||1!==r[26].p.v||r[27].p.k||0!==r[27].p.v||r[28].p.k||1!==r[28].p.v)&&(this.feFuncB=this.createFeFunc("feFuncB",i)),(r[31].p.k||0!==r[31].p.v||r[32].p.k||1!==r[32].p.v||r[33].p.k||1!==r[33].p.v||r[34].p.k||0!==r[34].p.v||r[35].p.k||1!==r[35].p.v)&&(this.feFuncA=this.createFeFunc("feFuncA",i)),(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)&&(i.setAttribute("color-interpolation-filters","sRGB"),t.appendChild(i),i=createNS("feComponentTransfer")),(r[3].p.k||0!==r[3].p.v||r[4].p.k||1!==r[4].p.v||r[5].p.k||1!==r[5].p.v||r[6].p.k||0!==r[6].p.v||r[7].p.k||1!==r[7].p.v)&&(i.setAttribute("color-interpolation-filters","sRGB"),t.appendChild(i),this.feFuncRComposed=this.createFeFunc("feFuncR",i),this.feFuncGComposed=this.createFeFunc("feFuncG",i),this.feFuncBComposed=this.createFeFunc("feFuncB",i))}function SVGDropShadowEffect(t,e){var r=e.container.globalData.renderConfig.filterSize;t.setAttribute("x",r.x),t.setAttribute("y",r.y),t.setAttribute("width",r.width),t.setAttribute("height",r.height),this.filterManager=e;var i=createNS("feGaussianBlur");i.setAttribute("in","SourceAlpha"),i.setAttribute("result","drop_shadow_1"),i.setAttribute("stdDeviation","0"),this.feGaussianBlur=i,t.appendChild(i);var s=createNS("feOffset");s.setAttribute("dx","25"),s.setAttribute("dy","0"),s.setAttribute("in","drop_shadow_1"),s.setAttribute("result","drop_shadow_2"),this.feOff
16193set=s,t.appendChild(s);var a=createNS("feFlood");a.setAttribute("flood-color","#00ff00"),a.setAttribute("flood-opacity","1"),a.setAttribute("result","drop_shadow_3"),this.feFlood=a,t.appendChild(a);var n=createNS("feComposite");n.setAttribute("in","drop_shadow_3"),n.setAttribute("in2","drop_shadow_2"),n.setAttribute("operator","in"),n.setAttribute("result","drop_shadow_4"),t.appendChild(n);var o,h=createNS("feMerge");t.appendChild(h),o=createNS("feMergeNode"),h.appendChild(o),(o=createNS("feMergeNode")).setAttribute("in","SourceGraphic"),this.feMergeNode=o,this.feMerge=h,this.originalNodeAdded=!1,h.appendChild(o)}ShapeTransformManager.prototype={addTransformSequence:function(t){var e,r=t.length,i="_";for(e=0;e<r;e+=1)i+=t[e].transform.key+"_";var s=this.sequences[i];return s||(s={transforms:[].concat(t),finalTransform:new Matrix,_mdf:!1},this.sequences[i]=s,this.sequenceList.push(s)),s},processSequence:function(t,e){for(var r,i=0,s=t.transforms.length,a=e;i<s&&!e;){if(t.transforms[i].transform.mProps._mdf){a=!0;break}i+=1}if(a)for(t.finalTransform.reset(),i=s-1;0<=i;i-=1)r=t.transforms[i].transform.mProps.v.props,t.finalTransform.transform(r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11],r[12],r[13],r[14],r[15]);t._mdf=a},processSequences:function(t){var e,r=this.sequenceList.length;for(e=0;e<r;e+=1)this.processSequence(this.sequenceList[e],t)},getNewKey:function(){return this.transform_key_count+=1,"_"+this.transform_key_count}},CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated,BaseElement.prototype={checkMasks:function(){if(!this.data.hasMask)return!1;for(var t=0,e=this.data.masksProperties.length;t<e;){if("n"!==this.data.masksProperties[t].mode&&!1!==this.data.masksProperties[t].cl)return!0;t+=1}return!1},initExpressions:function(){this.layerInterface=LayerExpressionInterface(this),this.data.hasMask&&this.maskManager&&this.layerInterface.registerMaskInterface(this.maskManager);var t=EffectsExpressionInterface.createEffectsInterface(this,this.layerInterface);this.layerInterface.registerEffectsInterface(t),0===this.data.ty||this.data.xt?this.compInterface=CompExpressionInterface(this):4===this.data.ty?(this.layerInterface.shapeInterface=ShapeExpressionInterface(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface):5===this.data.ty&&(this.layerInterface.textInterface=TextExpressionInterface(this),this.layerInterface.text=this.layerInterface.textInterface)},setBlendMode:function(){var t=getBlendMode(this.data.bm);(this.baseElement||this.layerElement).style["mix-blend-mode"]=t},initBaseData:function(t,e,r){this.globalData=e,this.comp=r,this.data=t,this.layerId=createElementID(),this.data.sr||(this.data.sr=1),this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function(){return this.type},sourceRectAtTime:function(){}},NullElement.prototype.prepareFrame=function(t){this.prepareProperties(t,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement),SVGBaseElement.prototype={initRendererElement:function(){this.layerElement=createNS("g")},createContainerElements:function(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var t,e,r,i=null;if(this.data.td){if(3==this.data.td||1==this.data.td){var s=createNS("mask");s.setAttribute("id",this.layerId),s.setAttribute("mask-type",3==this.data.td?"luminance":"alpha"),s.appendChild(this.layerElement),i=s,this.globalData.defs.appendChild(s),featureSupport.maskType||1!=this.data.td||(s.setAttribute("mask-type","luminance"),t=createElementID(),e=filtersFactory.createFilter(t),this.globalData.defs.appendChild(e),e.appendChild(filtersFactory.createAlphaToLuminanceFilter()),(r=createNS("g")).appendChild(this.layerElement),i=r,s.appendChild(r),r.setAttribute("filter","url("+locationHref+"#"+t+")"))}else if(2==this.data.td){var a=createNS("mask");a.setAttribute("id",this.layerId),a.setAttribute("mask-type","alpha");var n=createNS("g");a.appendChild(n),t=createElementID(),e=filtersFactory.createFilter(t);var o=createNS("feComponentTransfer");o.setAttribute("in","SourceGraphic"),e.appendChild(o);var h=createNS("feFuncA");h.setAttribute("type","table"),h.setAttribute("tableValues","1.0 0.0"),o.appendChild(h),this.globalData.defs.appendChild(e);var l=createNS("rect");l.setAttribute("width",this.comp.data.w),l.setAttribute("height",this.comp.data.h),l.setAttribute("x","0"),l.setAttribute("y","0"),l.setAttribute("fill","#ffffff"),l.setAttribute("op
16193acity","0"),n.setAttribute("filter","url("+locationHref+"#"+t+")"),n.appendChild(l),n.appendChild(this.layerElement),i=n,featureSupport.maskType||(a.setAttribute("mask-type","luminance"),e.appendChild(filtersFactory.createAlphaToLuminanceFilter()),r=createNS("g"),n.appendChild(l),r.appendChild(this.layerElement),i=r,n.appendChild(r)),this.globalData.defs.appendChild(a)}}else this.data.tt?(this.matteElement.appendChild(this.layerElement),i=this.matteElement,this.baseElement=this.matteElement):this.baseElement=this.layerElement;if(this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0===this.data.ty&&!this.data.hd){var p=createNS("clipPath"),m=createNS("path");m.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var f=createElementID();if(p.setAttribute("id",f),p.appendChild(m),this.globalData.defs.appendChild(p),this.checkMasks()){var c=createNS("g");c.setAttribute("clip-path","url("+locationHref+"#"+f+")"),c.appendChild(this.layerElement),this.transformedElement=c,i?i.appendChild(this.transformedElement):this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+locationHref+"#"+f+")")}0!==this.data.bm&&this.setBlendMode()},renderElement:function(){this.finalTransform._matMdf&&this.transformedElement.setAttribute("transform",this.finalTransform.mat.to2dCSS()),this.finalTransform._opMdf&&this.transformedElement.setAttribute("opacity",this.finalTransform.mProp.o.v)},destroyBaseElement:function(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function(){return this.data.hd?null:this.baseElement},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this)},setMatte:function(t){this.matteElement&&this.matteElement.setAttribute("mask","url("+locationHref+"#"+t+")")}},IShapeElement.prototype={addShapeToModifiers:function(t){var e,r=this.shapeModifiers.length;for(e=0;e<r;e+=1)this.shapeModifiers[e].addShape(t)},isShapeInAnimatedModifiers:function(t){for(var e=this.shapeModifiers.length;0<e;)if(this.shapeModifiers[0].isAnimatedWithShape(t))return!0;return!1},renderModifiers:function(){if(this.shapeModifiers.length){var t,e=this.shapes.length;for(t=0;t<e;t+=1)this.shapes[t].sh.reset();for(t=(e=this.shapeModifiers.length)-1;0<=t&&!this.shapeModifiers[t].processShapes(this._isFirstFrame);t-=1);}},searchProcessedElement:function(t){for(var e=this.processedElements,r=0,i=e.length;r<i;){if(e[r].elem===t)return e[r].pos;r+=1}return 0},addProcessedElement:function(t,e){for(var r=this.processedElements,i=r.length;i;)if(r[i-=1].elem===t)return void(r[i].pos=e);r.push(new ProcessedElement(t,e))},prepareFrame:function(t){this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange)}},ITextElement.prototype.initElement=function(t,e,r){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(t,e,r),this.textProperty=new TextProperty(this,t.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(t.t,this.renderType,this),this.initTransform(t,e,r),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(t){this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),(this.textProperty._mdf||this.textProperty._isFirstFrame)&&(this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1)},ITextElement.prototype.createPathShape=function(t,e){var r,i,s=e.length,a="";for(r=0;r<s;r+=1)i=e[r].ks.k,a+=buildShapeString(i,i.i.length,!0,t);return a},ITextElement.prototype.updateDocumentData=function(t,e){this.textProperty.updateDocumentData(t,e)},ITextElement.prototype.canResizeFont=function(t){this.textProperty.canResizeFont(t)},ITextElement.prototype.setMinimumFontSize=function(t){this.textProperty.setMinimumFontSize(t)},ITextElement.prototype.applyTextPropertiesToMatrix=function(t,e,r,i,s){switch(t.ps&&e.translate(t.ps[0],t.ps[1]+t.ascent,0),e.translate(0,-t.ls,0),t.j){case 1:e.translate(t.justifyOffset+(t.boxWidth-t.lineWidths[r]),0,0);break;case 2:e.translate(t.justifyOffset+(t.boxWidth-t.lineWidths[r])/2,0,0)}e.translate(i,s,0)},ITextElement.prototype.buildColor=function(t){return"rgb("+Math.round(255*t[0])+","+Math.round(255*t[1])+","+Math.round(255*t[2])+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initTransform(t,e,r),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),!this.data.xt&&e.progressiveLoad||this.buildAllItems(),this.hide()},ICompElement.prototype.prepareFrame=function(t){if(this._mdf=!1,this.prepareRenderableFrame(t),this.prepareProperties(t,this.isInRange),this.isInRange||this.data.xt){if(this.tm._placeholder)this.renderedFrame=t/this.data.sr;else{var e=this.tm.v;e===this.data.op&&(e=this.data.op-1),this.renderedFrame=e}var r,i=this.elements.length;for(this.completeLayers||this.checkLayers(this.renderedFrame),r=i-1;0<=r;r-=1)(this.completeLayers||this.elements[r])&&(this.elements[r].prepareFrame(this.renderedFrame-this.layers[r].st),this.elements[r]._mdf&&(this._mdf=!0))}},ICompElement.prototype.renderInnerContent=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},ICompElement.prototype.setElements=function(t){this.elements=t},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var t,e=this.layers.length;for(t=0;t<e;t+=1)this.elements[t]&&this.elements[t].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()},extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var t=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect},extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var t=createNS("rect");t.setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.layerElement.appendChild(t)},AudioElement.prototype.prepareFrame=function(t){if(this.prepareRenderableFrame(t,!0),this.prepareProperties(t,!0),this.tm._placeholder)this._currentTime=t/this.data.sr;else{var e=this.tm.v;this._currentTime=e}}
vendor: 5,371 bytes, line 16193
16193,extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){this.isInRange&&this._canPlay&&(this._isPlaying?(!this.audio.playing()||.1<Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek()))&&this.audio.seek(this._currentTime/this.globalData.frameRate):(this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0))},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(t){this.audio.rate(t)},AudioElement.prototype.volume=function(t){this.audio.volume(t)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){},FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){this.layerInterface=FootageInterface(this)},FootageElement.prototype.getFootageData=function(){return this.footageData},extendPrototype([SVGRenderer,ICompElement,SVGBaseElement],SVGCompElement),extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){this.data.singleShape&&!this.globalData.fontManager.chars&&(this.textContainer=createNS("text"))},SVGTextLottieElement.prototype.buildTextContents=function(t){for(var e=0,r=t.length,i=[],s="";e<r;)t[e]===String.fromCharCode(13)||t[e]===String.fromCharCode(3)?(i.push(s),s=""):s+=t[e],e+=1;return i.push(s),i},SVGTextLottieElement.prototype.buildNewText=function(){var t,e,r=this.textProperty.currentData;this.renderedLetters=createSizedArray(r?r.l.length:0),r.fc?this.layerElement.setAttribute("fill",this.buildColor(r.fc)):this.layerElement.setAttribute("fill","rgba(0,0,0,0)"),r.sc&&(this.layerElement.setAttribute("stroke",this.buildColor(r.sc)),this.layerElement.setAttribute("stroke-width",r.sw)),this.layerElement.setAttribute("font-size",r.finalSize);var i=this.globalData.fontManager.getFontByName(r.f);if(i.fClass)this.layerElement.setAttribute("class",i.fClass);else{this.layerElement.setAttribute("font-family",i.fFamily);var s=r.fWeight,a=r.fStyle;this.layerElement.setAttribute("font-style",a),this.layerElement.setAttribute("font-weight",s)}this.layerElement.setAttribute("aria-label",r.t);var n,o=r.l||[],h=!!this.globalData.fontManager.chars;e=o.length;var l,p=this.mHelper,m="",f=this.data.singleShape,c=0,d=0,u=!0,y=.001*r.tr*r.finalSize;if(!f||h||r.sz){var g,v,b=this.textSpans.length;for(t=0;t<e;t+=1)h&&f&&0!==t||(n=t<b?this.textSpans[t]:createNS(h?"path":"text"),b<=t&&(n.setAttribute("stroke-linecap","butt"),n.setAttribute("stroke-linejoin","round"),n.setAttribute("stroke-miterlimit","4"),this.textSpans[t]=n,this.layerElement.appendChild(n)),n.style.display="inherit"),p.reset(),p.scale(r.finalSize/100,r.finalSize/100),f&&(o[t].n&&(c=-y,d+=r.yOffset,d+=u?1:0,u=!1),this.applyTextPropertiesToMatrix(r,p,o[t].line,c,d),c+=o[t].l||0,c+=y),h?(l=(g=(v=this.globalData.fontManager.getCharData(r.finalText[t],i.fStyle,this.globalData.fontManager.getFontByName(r.f).fFamily))&&v.data||{}).shapes?g.shapes[0].it:[],f?m+=this.createPathShape(p,l):n.setAttribute("d",this.createPathShape(p,l))):(f&&n.setAttribute("transform","translate("+p.props[12]+","+p.props[13]+")"),n.textContent=o[t].val,n.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"));f&&n&&n.setAttribute("d",m)}else{var P=this.textContainer,E="start";switch(r.j){case 1:E="end";break;case 2:E="middle";break;default:E="start"}P.setAttribute("text-anchor",E),P.setAttribute("letter-spacing",y);var x=this.buildTextContents(r.finalText);for(e=x.length,d=r.ps?r.ps[1]+r.ascent:0,t=0;t<e;t+=1)(n=this.textSpans[t]||createNS("tspan")).textContent=x[t],n.setAttribute("x",0),n.setAttribute("y",d),n.style.display="inherit",P.appendChild(n),this.textSpans[t]=n,d+=r.finalLineHeight;this.layerElement.appendChild(P)}for(;t<this.textSpans.length;)this.textSpans[t].style.display="none",t+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var t=this.layerElement.getBBox();this.bbox={top:t.y,left:t.x,width:t.width,height:t.height}}return this.bbox},SVGTextLottieElement.prototype.renderInnerContent=function(){if(!this.data.singleShape&&(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag)){var t,e;this._sizeChanged=!0;var r,i,s=this.textAnimator.renderedLetters,a=this.textProperty.currentData.l;for(e=a.length,t=0;t<e;t+=1)a[t].n||(r=s[t],i=this.textSpans[t],r._mdf.m&&i.setAttribute("transform",r.m),r._mdf.o&&i.setAttribute("op
16193acity",r.o),r._mdf.sw&&i.setAttribute("stroke-width",r.sw),r._mdf.sc&&i.setAttribute("stroke",r.sc),r._mdf.fc&&i.setAttribute("fill",r.fc))}},extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var t,e,r,i,s=this.shapes.length,a=this.stylesList.length,n=[],o=!1;for(r=0;r<a;r+=1){for(i=this.stylesList[r],o=!1,t=n.length=0;t<s;t+=1)-1!==(e=this.shapes[t]).styles.indexOf(i)&&(n.push(e),o=e._isAnimated||o);1<n.length&&o&&this.setShapesAsAnimated(n)}},SVGShapeElement.prototype.setShapesAsAnimated=function(t){var e,r=t.length;for(e=0;e<r;e+=1)t[e].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(t,e){var r,i=new SVGStyleData(t,e),s=i.pElem;if("st"===t.ty)r=new SVGStrokeStyleData(this,t,i);else if("fl"===t.ty)r=new SVGFillStyleData(this,t,i);else if("gf"===t.ty||"gs"===t.ty){r=new("gf"===t.ty?SVGGradientFillStyleData:SVGGradientStrokeStyleData)(this,t,i),this.globalData.defs.appendChild(r.gf),r.maskId&&(this.globalData.defs.appendChild(r.ms),this.globalData.defs.appendChild(r.of),s.setAttribute("mask","url("+locationHref+"#"+r.maskId+")"))}return"st"!==t.ty&&"gs"!==t.ty||(s.setAttribute("stroke-linecap",lineCapEnum[t.lc||2]),s.setAttribute("stroke-linejoin",lineJoinEnum[t.lj||2]),s.setAttribute("fill-opacity","0"),1===t.lj&&s.setAttribute("stroke-miterlimit",t.ml)),2===t.r&&s.setAttribute("fill-rule","evenodd"),t.ln&&s.setAttribute("id",t.ln),t.cl&&s.setAttribute("class",t.cl),t.bm&&(s.style["mix-blend-mode"]=getBlendMode(t.bm)),this.stylesList.push(i),this.addToAnimatedContents(t,r),r},SVGShapeElement.prototype.createGroupElement=function(t){var e=new ShapeGroupData;return t.ln&&e.gr.setAttribute("id",t.ln),t.cl&&e.gr.setAttribute("class",t.cl),t.bm&&(e.gr.style["mix-blend-mode"]=getBlendMode(t.bm)),e},SVGShapeElement.prototype.createTransformElement=function(t,e){var r=TransformPropertyFactory.getTransformProperty(this,t,this),i=new SVGTransformData(r,r.o,e);return this.addToAnimatedContents(t,i),i},SVGShapeElement.prototype.createShapeElement=function(t,e,r){var i=4;"rc"===t.ty?i=5:"el"===t.ty?i=6:"sr"===t.ty&&(i=7);var s=new SVGShapeData(e,r,ShapePropertyFactory.getShapeProp(this,t,i,this));return this.shapes.push(s),this.addShapeToModifiers(s),this.addToAnimatedContents(t,s),s},SVGShapeElement.prototype.addToAnimatedContents=function(t,e){for(var r=0,i=this.animatedContents.length;r<i;){if(this.animatedContents[r].element===e)return;r+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(t),element:e,data:t})},SVGShapeElement.prototype.setElementStyles=function(t){var e,r=t.styles,i=this.stylesList.length;for(e=0;e<i;e+=1)this.stylesList[e].closed||r.push(this.stylesList[e])},SVGShapeElement.prototype.reloadShapes=function(){var t;this._isFirstFrame=!0;var e=this.itemsData.length;for(t=0;t<e;t+=1)this.prevViewData[t]=this.itemsData[t];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),e=this.dynamicProperties.length,t=0;t<e;t+=1)this.dynamicProperties[t].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(t,e,r,i,s,a,n){var o,h,l,p,m,f,c=[].concat(a),d=t.length-1,u=[],y=[];for(o=d;0<=o;o-=1){if((f=this.searchProcessedElement(t[o]))?e[o]=r[f-1]:t[o]._render=n,"fl"===t[o].ty||"st"===t[o].ty||"gf"===t[o].ty||"gs"===t[o].ty)f?e[o].style.closed=!1:e[o]=this.createStyleElement(t[o],s),t[o]._render&&i.appendChild(e[o].style.pElem),u.push(e[o].style);else if("gr"===t[o].ty){if(f)for(l=e[o].it.length,h=0;h<l;h+=1)e[o].prevViewData[h]=e[o].it[h];else e[o]=this.createGroupElement(t[o]);this.searchShapes(t[o].it,e[o].it,e[o].prevViewData,e[o].gr,s+1,c,n),t[o]._render&&i.appendChild(e[o].gr)}else"tr"===t[o].ty?(f||(e[o]=this.createTransformElement(t[o],i)),p=e[o].transform,c.push(p)):"sh"===t[o].ty||"rc"===t[o].ty||"el"===t[o].ty||"sr"===t[o].ty?(f||(e[o]=this.createShapeElement(t[o],c,s)),this.setElementStyles(e[o])):"tm"===t[o].ty||"rd"===t[o].ty||"ms"===t[o].ty||"pb"===t[o].ty?(f?(m=e[o]).closed=!1:((m=ShapeModifiers.getModifier(t[o].ty)).init(this,t[o]),e[o
vendor: 4,913 bytes, line 16193
16193]=m,this.shapeModifiers.push(m)),y.push(m)):"rp"===t[o].ty&&(f?(m=e[o]).closed=!0:(m=ShapeModifiers.getModifier(t[o].ty),(e[o]=m).init(this,t,o,e),this.shapeModifiers.push(m),n=!1),y.push(m));this.addProcessedElement(t[o],o+1)}for(d=u.length,o=0;o<d;o+=1)u[o].closed=!0;for(d=y.length,o=0;o<d;o+=1)y[o].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){var t;this.renderModifiers();var e=this.stylesList.length;for(t=0;t<e;t+=1)this.stylesList[t].reset();for(this.renderShape(),t=0;t<e;t+=1)(this.stylesList[t]._mdf||this._isFirstFrame)&&(this.stylesList[t].msElem&&(this.stylesList[t].msElem.setAttribute("d",this.stylesList[t].d),this.stylesList[t].d="M0 0"+this.stylesList[t].d),this.stylesList[t].pElem.setAttribute("d",this.stylesList[t].d||"M0 0"))},SVGShapeElement.prototype.renderShape=function(){var t,e,r=this.animatedContents.length;for(t=0;t<r;t+=1)e=this.animatedContents[t],(this._isFirstFrame||e.element._isAnimated)&&!0!==e.data&&e.fn(e.data,e.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null},SVGTintFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v/100;this.matrixFilter.setAttribute("values",r[0]-e[0]+" 0 0 0 "+e[0]+" "+(r[1]-e[1])+" 0 0 0 "+e[1]+" "+(r[2]-e[2])+" 0 0 0 "+e[2]+" 0 0 0 "+i+" 0")}},SVGFillFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[2].p.v,r=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+e[0]+" 0 0 0 0 "+e[1]+" 0 0 0 0 "+e[2]+" 0 0 0 "+r+" 0")}},SVGGaussianBlurEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=.3*this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=3==r?0:e,s=2==r?0:e;this.feGaussianBlur.setAttribute("stdDeviation",i+" "+s);var a=1==this.filterManager.effectElements[2].p.v?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",a)}},SVGStrokeEffect.prototype.initialize=function(){var t,e,r,i,s=this.elem.layerElement.children||this.elem.layerElement.childNodes;for(1===this.filterManager.effectElements[1].p.v?(i=this.elem.maskManager.masksProperties.length,r=0):i=(r=this.filterManager.effectElements[0].p.v-1)+1,(e=createNS("g")).setAttribute("fill","none"),e.setAttribute("stroke-linecap","round"),e.setAttribute("stroke-dashoffset",1);r<i;r+=1)t=createNS("path"),e.appendChild(t),this.paths.push({p:t,m:r});if(3===this.filterManager.effectElements[10].p.v){var a=createNS("mask"),n=createElementID();a.setAttribute("id",n),a.setAttribute("mask-type","alpha"),a.appendChild(e),this.elem.globalData.defs.appendChild(a);var o=createNS("g");for(o.setAttribute("mask","url("+locationHref+"#"+n+")");s[0];)o.appendChild(s[0]);this.elem.layerElement.appendChild(o),this.masker=a,e.setAttribute("stroke","#fff")}else if(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v){if(2===this.filterManager.effectElements[10].p.v)for(s=this.elem.layerElement.children||this.elem.layerElement.childNodes;s.length;)this.elem.layerElement.removeChild(s[0]);this.elem.layerElement.appendChild(e),this.elem.layerElement.removeAttribute("mask"),e.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=e},SVGStrokeEffect.prototype.renderFrame=function(t){var e;this.initialized||this.initialize();var r,i,s=this.paths.length;for(e=0;e<s;e+=1)if(-1!==this.paths[e].m&&(r=this.elem.maskManager.viewData[this.paths[e].m],i=this.paths[e].p,(t||this.filterManager._mdf||r.prop._mdf)&&i.setAttribute("d",r.lastPath),t||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||r.prop._mdf)){var a;if(0!==this.filterManager.effectElements[7].p.v||100!==this.filterManager.effectElements[8].p.v){var n=.01*Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),o=.01*Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v),h=i.getTotalLength();a="0 0 0 "+h*n+" ";var l,p=h*(o-n),m=1+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01,f=Math.floor(p/m);for(l=0;l<f;l+=1)a+="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01+" ";a+="0 "+10*h+" 0 0"}else a="1 "+2*this.filterManager.effectElements[4].p.v*this.filterManager.effectElements[9].p.v*.01;i.setAttribute("stroke-dasharray",a)}if((t||this.filterManager.effectElements[4].p._mdf)&&this.pathMasker.setAttribute("stroke-width",2*this.filterManager.effectElements[4].p.v),(t||this.filterManager.effectElements[6].p._mdf)&&this.pathMasker.setAttribute("op
16193acity",this.filterManager.effectElements[6].p.v),(1===this.filterManager.effectElements[10].p.v||2===this.filterManager.effectElements[10].p.v)&&(t||this.filterManager.effectElements[3].p._mdf)){var c=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(255*c[0])+","+bmFloor(255*c[1])+","+bmFloor(255*c[2])+")")}},SVGTritoneFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,r=this.filterManager.effectElements[1].p.v,i=this.filterManager.effectElements[2].p.v,s=i[0]+" "+r[0]+" "+e[0],a=i[1]+" "+r[1]+" "+e[1],n=i[2]+" "+r[2]+" "+e[2];this.feFuncR.setAttribute("tableValues",s),this.feFuncG.setAttribute("tableValues",a),this.feFuncB.setAttribute("tableValues",n)}},SVGProLevelsFilter.prototype.createFeFunc=function(t,e){var r=createNS(t);return r.setAttribute("type","table"),e.appendChild(r),r},SVGProLevelsFilter.prototype.getTableValue=function(t,e,r,i,s){for(var a,n,o=0,h=Math.min(t,e),l=Math.max(t,e),p=Array.call(null,{length:256}),m=0,f=s-i,c=e-t;o<=256;)n=(a=o/256)<=h?c<0?s:i:l<=a?c<0?i:s:i+f*Math.pow((a-t)/c,1/r),p[m]=n,m+=1,o+=256/255;return p.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){var e,r=this.filterManager.effectElements;this.feFuncRComposed&&(t||r[3].p._mdf||r[4].p._mdf||r[5].p._mdf||r[6].p._mdf||r[7].p._mdf)&&(e=this.getTableValue(r[3].p.v,r[4].p.v,r[5].p.v,r[6].p.v,r[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e)),this.feFuncR&&(t||r[10].p._mdf||r[11].p._mdf||r[12].p._mdf||r[13].p._mdf||r[14].p._mdf)&&(e=this.getTableValue(r[10].p.v,r[11].p.v,r[12].p.v,r[13].p.v,r[14].p.v),this.feFuncR.setAttribute("tableValues",e)),this.feFuncG&&(t||r[17].p._mdf||r[18].p._mdf||r[19].p._mdf||r[20].p._mdf||r[21].p._mdf)&&(e=this.getTableValue(r[17].p.v,r[18].p.v,r[19].p.v,r[20].p.v,r[21].p.v),this.feFuncG.setAttribute("tableValues",e)),this.feFuncB&&(t||r[24].p._mdf||r[25].p._mdf||r[26].p._mdf||r[27].p._mdf||r[28].p._mdf)&&(e=this.getTableValue(r[24].p.v,r[25].p.v,r[26].p.v,r[27].p.v,r[28].p.v),this.feFuncB.setAttribute("tableValues",e)),this.feFuncA&&(t||r[31].p._mdf||r[32].p._mdf||r[33].p._mdf||r[34].p._mdf||r[35].p._mdf)&&(e=this.getTableValue(r[31].p.v,r[32].p.v,r[33].p.v,r[34].p.v,r[35].p.v),this.feFuncA.setAttribute("tableValues",e))}},SVGDropShadowEffect.prototype.renderFrame=function(t){if(t||this.filterManager._mdf){if((t||this.filterManager.effectElements[4].p._mdf)&&this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4),t||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(255*e[0]),Math.round(255*e[1]),Math.round(255*e[2])))}if((t||this.filterManager.effectElements[1].p._mdf)&&this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255),t||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var r=this.filterManager.effectElements[3].p.v,i=(this.filterManager.effectElements[2].p.v-90)*degToRads,s=r*Math.cos(i),a=r*Math.sin(i);this.feOffset.setAttribute("dx",s),this.feOffset.setAttribute("dy",a)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(t,e,r){this.initialized=!1,this.filterManager=e,this.filterElem=t,(this.elem=r).matteElement=createNS("g"),r.matteElement.appendChild(r.layerElement),r.matteElement.appendChild(r.transformedElement),r.baseElement=r.matteElement}function SVGEffects(t){var e,r,i=t.data.ef?t.data.ef.length:0,s=createElementID(),a=filtersFactory.createFilter(s,!0),n=0;for(this.filters=[],e=0;e<i;e+=1)r=null,20===t.data.ef[e].ty?(n+=1,r=new SVGTintFilter(a,t.effectsManager.effectElements[e])):21===t.data.ef[e].ty?(n+=1,r=new SVGFillFilter(a,t.effectsManager.effectElements[e])):22===t.data.ef[e].ty?r=new SVGStrokeEffect(t,t.effectsManager.effectElements[e]):23===t.data.ef[e].ty?(n+=1,r=new SVGTritoneFilter(a,t.effectsManager.effectElements[e])):24===t.data.ef[e].ty?(n+=1,r=new SVGProLevelsFilter(a,t.effectsManager.effectElements[e])):25===t.data.ef[e].ty?(n+=1,r=new SVGDropShadowEffect(a,t.effectsManager.effectElements[e])):28===t.data.ef[e].ty?r=new SVGMatte3Effect(a,t.effectsManager.effectElements[e],t):29===t.data.ef[e].ty&&(n+=1,r=new SVGGaussianBlurEffect(a,t.effectsManager.effectElements[e])),r&&this.filters.push(r);n&&(t.globalData.defs.appendChild(a),t.layerElement.setAttribute("filter","url("+locationHref+"#"+s+")")),this.filters.length&&t.addRenderableComponent(this)}function CVContextData(){var t;this.saved=[],this.cArrPos=0,this.cTr=new Matrix,this.cO=1;for(this.savedOp=createTypedArray("float32",15),t=0;t<15;t+=1)this.saved[t]=createTypedArray("float32",16);this._length=15}function CVBaseElement(){}function CVImageElement(t,e,r){this.assetData=e.getAssetData(t.refId),this.img=e.imageLoader.getAsset(this.assetData),this.initElement(t,e,r)}function CVCompElement(t,e,r){this.completeLayers=!1,this.layers=t.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(t,e,r),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function CVMaskElement(t,e){var r;this.data=t,this.element=e,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var i=this.masksProperties.length,s=!1;for(r=0;r<i;r+=1)"n"!==this.masksProperties[r].mode&&(s=!0),this.viewData[r]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[r],3);(this.hasMasks=s)&&this.element.addRenderableComponent(this)}function CVShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(t,e,r)}function CVSolidElement(t,e,r){this.initElement(t,e,r)}function CVTextElement(t,e,r){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(t,e,r)}function CVEffects(){}function HBaseElement(){}function HSolidElement(t,e,r){this.initElement(t,e,r)}function HCompElement(t,e,r){this.layers=t.layers,this.supports3d=!t.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(t,e,r),this.tm=t.tm?PropertyFactory.getProp(this,t.tm,0,e.frameRate,this):{_placeholder:!0}}function HShapeElement(t,e,r){this.shapes=[],this.shapesData=t.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(t,e,r),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}function HTextElement(t,e,r){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(t,e,r)}function HImageElement(t,e,r){this.assetData=e.getAssetData(t.refId),this.initElement(t,e,r)}function HCameraElement(t,e,r){this.initFrame(),this.initBaseData(t,e,r),this.initHierarchy();var i=PropertyFactory.getProp;if(this.pe=i(this,t.pe,0,0,this),t.ks.p.s?(this.px=i(this,t.ks.p.x,1,0,this),this.py=i(this,t.ks.p.y,1,0,this),this.pz=i(this,t.ks.p.z,1,0,this)):this.p=i(this,t.ks.p,1,0,this),t.ks.a&&(this.a=i(this,t.ks.a,1,0,this)),t.ks.or.k.length&&t.ks.or.k[0].to){var s,a=t.ks.or.k.length;for(s=0;s<a;s+=1)t.ks.or.k[s].to=null,t.ks.or.k[s].ti=null}this.or=i(this,t.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=i(this,t.ks.rx,0,degToRads,this),this.ry=i(this,t.ks.ry,0,degToRads,this),this.rz=i(this,t.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=ne
vendor: 4,425 bytes, line 16193
16193w Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}function HEffects(){}SVGMatte3Effect.prototype.findSymbol=function(t){for(var e=0,r=_svgMatteSymbols.length;e<r;){if(_svgMatteSymbols[e]===t)return _svgMatteSymbols[e];e+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(t,e){var r=t.layerElement.parentNode;if(r){for(var i,s=r.children,a=0,n=s.length;a<n&&s[a]!==t.layerElement;)a+=1;a<=n-2&&(i=s[a+1]);var o=createNS("use");o.setAttribute("href","#"+e),i?r.insertBefore(o,i):r.appendChild(o)}},SVGMatte3Effect.prototype.setElementAsMask=function(t,e){if(!this.findSymbol(e)){var r=createElementID(),i=createNS("mask");i.setAttribute("id",e.layerId),i.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(e);var s=t.globalData.defs;s.appendChild(i);var a=createNS("symbol");a.setAttribute("id",r),this.replaceInParent(e,r),a.appendChild(e.layerElement),s.appendChild(a);var n=createNS("use");n.setAttribute("href","#"+r),i.appendChild(n),e.data.hd=!1,e.show()}t.setMatte(e.layerId)},SVGMatte3Effect.prototype.initialize=function(){for(var t=this.filterManager.effectElements[0].p.v,e=this.elem.comp.elements,r=0,i=e.length;r<i;)e[r]&&e[r].data.ind===t&&this.setElementAsMask(this.elem,e[r]),r+=1;this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){this.initialized||this.initialize()},SVGEffects.prototype.renderFrame=function(t){var e,r=this.filters.length;for(e=0;e<r;e+=1)this.filters[e].renderFrame(t)},CVContextData.prototype.duplicate=function(){var t=2*this._length,e=this.savedOp;this.savedOp=createTypedArray("float32",t),this.savedOp.set(e);var r=0;for(r=this._length;r<t;r+=1)this.saved[r]=createTypedArray("float32",16);this._length=t},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.cO=1},CVBaseElement.prototype={createElements:function(){},initRendererElement:function(){},createContainerElements:function(){this.canvasContext=this.globalData.canvasContext,this.renderableEffectsManager=new CVEffects(this)},createContent:function(){},setBlendMode:function(){var t=this.globalData;if(t.blendMode!==this.data.bm){t.blendMode=this.data.bm;var e=getBlendMode(this.data.bm);t.canvasContext.globalCompositeOperation=e}},createRenderableComponents:function(){this.maskManager=new CVMaskElement(this.data,this)},hideElement:function(){this.hidden||this.isInRange&&!this.isTransparent||(this.hidden=!0)},showElement:function(){this.isInRange&&!this.isTransparent&&(this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0)},renderFrame:function(){if(!this.hidden&&!this.data.hd){this.renderTransform(),this.renderRenderable(),this.setBlendMode();var t=0===this.data.ty;this.globalData.renderer.save(t),this.globalData.renderer.ctxTransform(this.finalTransform.mat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.mProp.o.v),this.renderInnerContent(),this.globalData.renderer.restore(t),this.maskManager.hasMasks&&this.globalData.renderer.restore(!0),this._isFirstFrame&&(this._isFirstFrame=!1)}},destroy:function(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement,extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var t=createTag("canvas");t.width=this.assetData.w,t.height=this.assetData.h;var e,r,i=t.getContext("2d"),s=this.img.width,a=this.img.height,n=s/a,o=this.assetData.w/this.assetData.h,h=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;o<n&&"xMidYMid slice"===h||n<o&&"xMidYMid slice"!==h?e=(r=a)*o:r=(e=s)/o,i.drawImage(this.img,(s-e)/2,(a-r)/2,e,r,0,0,this.assetData.w,this.assetData.h),this.img=t}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null},extendPrototype([CanvasRenderer,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var t,e=this.canvasContext;
vendor: 4,255 bytes, line 16193
16193for(e.beginPath(),e.moveTo(0,0),e.lineTo(this.data.w,0),e.lineTo(this.data.w,this.data.h),e.lineTo(0,this.data.h),e.lineTo(0,0),e.clip(),t=this.layers.length-1;0<=t;t-=1)(this.completeLayers||this.elements[t])&&this.elements[t].renderFrame()},CVCompElement.prototype.destroy=function(){var t;for(t=this.layers.length-1;0<=t;t-=1)this.elements[t]&&this.elements[t].destroy();this.layers=null,this.elements=null},CVMaskElement.prototype.renderFrame=function(){if(this.hasMasks){var t,e,r,i,s=this.element.finalTransform.mat,a=this.element.canvasContext,n=this.masksProperties.length;for(a.beginPath(),t=0;t<n;t+=1)if("n"!==this.masksProperties[t].mode){var o;this.masksProperties[t].inv&&(a.moveTo(0,0),a.lineTo(this.element.globalData.compSize.w,0),a.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),a.lineTo(0,this.element.globalData.compSize.h),a.lineTo(0,0)),i=this.viewData[t].v,e=s.applyToPointArray(i.v[0][0],i.v[0][1],0),a.moveTo(e[0],e[1]);var h=i._length;for(o=1;o<h;o+=1)r=s.applyToTriplePoints(i.o[o-1],i.i[o],i.v[o]),a.bezierCurveTo(r[0],r[1],r[2],r[3],r[4],r[5]);r=s.applyToTriplePoints(i.o[o-1],i.i[0],i.v[0]),a.bezierCurveTo(r[0],r[1],r[2],r[3],r[4],r[5])}this.element.globalData.renderer.save(!0),a.clip()}},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null},extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(t,e){var r={data:t,type:t.ty,preTransforms:this.transformsManager.addTransformSequence(e),transforms:[],elements:[],closed:!0===t.hd},i={};if("fl"===t.ty||"st"===t.ty?(i.c=PropertyFactory.getProp(this,t.c,1,255,this),i.c.k||(r.co="rgb("+bmFloor(i.c.v[0])+","+bmFloor(i.c.v[1])+","+bmFloor(i.c.v[2])+")")):"gf"!==t.ty&&"gs"!==t.ty||(i.s=PropertyFactory.getProp(this,t.s,1,null,this),i.e=PropertyFactory.getProp(this,t.e,1,null,this),i.h=PropertyFactory.getProp(this,t.h||{k:0},0,.01,this),i.a=PropertyFactory.getProp(this,t.a||{k:0},0,degToRads,this),i.g=new GradientProperty(this,t.g,this)),i.o=PropertyFactory.getProp(this,t.o,0,.01,this),"st"===t.ty||"gs"===t.ty){if(r.lc=lineCapEnum[t.lc||2],r.lj=lineJoinEnum[t.lj||2],1==t.lj&&(r.ml=t.ml),i.w=PropertyFactory.getProp(this,t.w,0,null,this),i.w.k||(r.wi=i.w.v),t.d){var s=new DashProperty(this,t.d,"canvas",this);i.d=s,i.d.k||(r.da=i.d.dashArray,r.do=i.d.dashoffset[0])}}else r.r=2===t.r?"evenodd":"nonzero";return this.stylesList.push(r),i.style=r,i},CVShapeElement.prototype.createGroupElement=function(){return{it:[],prevViewData:[]}},CVShapeElement.prototype.createTransformElement=function(t){return{transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,t.o,0,.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,t,this)}}},CVShapeElement.prototype.createShapeElement=function(t){var e=new CVShapeData(this,t,this.stylesList,this.transformsManager);return this.shapes.push(e),this.addShapeToModifiers(e),e},CVShapeElement.prototype.reloadShapes=function(){var t;this._isFirstFrame=!0;var e=this.itemsData.length;for(t=0;t<e;t+=1)this.prevViewData[t]=this.itemsData[t];for(this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),e=this.dynamicProperties.length,t=0;t<e;t+=1)this.dynamicProperties[t].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(t){var e,r=this.stylesList.length;for(e=0;e<r;e+=1)this.stylesList[e].closed||this.stylesList[e].transforms.push(t)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var t,e=this.stylesList.length;for(t=0;t<e;t+=1)this.stylesList[t].closed||this.stylesList[t].transforms.pop()},CVShapeElement.prototype.closeStyles=function(t){var e,r=t.length;for(e=0;e<r;
vendor: 2,649 bytes, line 16193
16193e+=1)t[e].closed=!0},CVShapeElement.prototype.searchShapes=function(t,e,r,i,s){var a,n,o,h,l,p,m=t.length-1,f=[],c=[],d=[].concat(s);for(a=m;0<=a;a-=1){if((h=this.searchProcessedElement(t[a]))?e[a]=r[h-1]:t[a]._shouldRender=i,"fl"===t[a].ty||"st"===t[a].ty||"gf"===t[a].ty||"gs"===t[a].ty)h?e[a].style.closed=!1:e[a]=this.createStyleElement(t[a],d),f.push(e[a].style);else if("gr"===t[a].ty){if(h)for(o=e[a].it.length,n=0;n<o;n+=1)e[a].prevViewData[n]=e[a].it[n];else e[a]=this.createGroupElement(t[a]);this.searchShapes(t[a].it,e[a].it,e[a].prevViewData,i,d)}else"tr"===t[a].ty?(h||(p=this.createTransformElement(t[a]),e[a]=p),d.push(e[a]),this.addTransformToStyleList(e[a])):"sh"===t[a].ty||"rc"===t[a].ty||"el"===t[a].ty||"sr"===t[a].ty?h||(e[a]=this.createShapeElement(t[a])):"tm"===t[a].ty||"rd"===t[a].ty||"pb"===t[a].ty?(h?(l=e[a]).closed=!1:((l=ShapeModifiers.getModifier(t[a].ty)).init(this,t[a]),e[a]=l,this.shapeModifiers.push(l)),c.push(l)):"rp"===t[a].ty&&(h?(l=e[a]).closed=!0:(l=ShapeModifiers.getModifier(t[a].ty),(e[a]=l).init(this,t,a,e),this.shapeModifiers.push(l),i=!1),c.push(l));this.addProcessedElement(t[a],a+1)}for(this.removeTransformFromStyleList(),this.closeStyles(f),m=c.length,a=0;a<m;a+=1)c[a].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(t,e){(t._opMdf||e.op._mdf||this._isFirstFrame)&&(e.opacity=t.opacity,e.opacity*=e.op.v,e._opMdf=!0)},CVShapeElement.prototype.drawLayer=function(){var t,e,r,i,s,a,n,o,h,l=this.stylesList.length,p=this.globalData.renderer,m=this.globalData.canvasContext;for(t=0;t<l;t+=1)if(("st"!==(o=(h=this.stylesList[t]).type)&&"gs"!==o||0!==h.wi)&&h.data._shouldRender&&0!==h.coOp&&0!==this.globalData.currentGlobalAlpha){for(p.save(),a=h.elements,"st"===o||"gs"===o?(m.strokeStyle="st"===o?h.co:h.grd,m.lineWidth=h.wi,m.lineCap=h.lc,m.lineJoin=h.lj,m.miterLimit=h.ml||0):m.fillStyle="fl"===o?h.co:h.grd,p.ctxOpacity(h.coOp),"st"!==o&&"gs"!==o&&m.beginPath(),p.ctxTransform(h.preTransforms.finalTransform.props),r=a.length,e=0;e<r;e+=1){for("st"!==o&&"gs"!==o||(m.beginPath(),h.da&&(m.setLineDash(h.da),m.lineDashOffset=h.do)),s=(n=a[e].trNodes).length,i=0;i<s;i+=1)"m"===n[i].t?m.moveTo(n[i].p[0],n[i].p[1]):"c"===n[i].t?m.bezierCurveTo(n[i].pts[0],n[i].pts[1],n[i].pts[2],n[i].pts[3],n[i].pts[4],n[i].pts[5]):m.closePath();"st"!==o&&"gs"!==o||(m.stroke(),h.da&&m.setLineDash(this.dashResetter))}
vendor: 23,540 bytes, line 16193
16193"st"!==o&&"gs"!==o&&m.fill(h.r),p.restore()}},CVShapeElement.prototype.renderShape=function(t,e,r,i){var s,a;for(a=t,s=e.length-1;0<=s;s-=1)"tr"===e[s].ty?(a=r[s].transform,this.renderShapeTransform(t,a)):"sh"===e[s].ty||"el"===e[s].ty||"rc"===e[s].ty||"sr"===e[s].ty?this.renderPath(e[s],r[s]):"fl"===e[s].ty?this.renderFill(e[s],r[s],a):"st"===e[s].ty?this.renderStroke(e[s],r[s],a):"gf"===e[s].ty||"gs"===e[s].ty?this.renderGradientFill(e[s],r[s],a):"gr"===e[s].ty?this.renderShape(a,e[s].it,r[s].it):e[s].ty;i&&this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(t,e){if(this._isFirstFrame||e._mdf||t.transforms._mdf){var r,i,s,a=t.trNodes,n=e.paths,o=n._length;a.length=0;var h=t.transforms.finalTransform;for(s=0;s<o;s+=1){var l=n.shapes[s];if(l&&l.v){for(i=l._length,r=1;r<i;r+=1)1===r&&a.push({t:"m",p:h.applyToPointArray(l.v[0][0],l.v[0][1],0)}),a.push({t:"c",pts:h.applyToTriplePoints(l.o[r-1],l.i[r],l.v[r])});1===i&&a.push({t:"m",p:h.applyToPointArray(l.v[0][0],l.v[0][1],0)}),l.c&&i&&(a.push({t:"c",pts:h.applyToTriplePoints(l.o[r-1],l.i[0],l.v[0])}),a.push({t:"z"}))}}t.trNodes=a}},CVShapeElement.prototype.renderPath=function(t,e){if(!0!==t.hd&&t._shouldRender){var r,i=e.styledShapes.length;for(r=0;r<i;r+=1)this.renderStyledShape(e.styledShapes[r],e.sh)}},CVShapeElement.prototype.renderFill=function(t,e,r){var i=e.style;(e.c._mdf||this._isFirstFrame)&&(i.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r._opMdf||this._isFirstFrame)&&(i.coOp=e.o.v*r.opacity)},CVShapeElement.prototype.renderGradientFill=function(t,e,r){var i,s=e.style;if(!s.grd||e.g._mdf||e.s._mdf||e.e._mdf||1!==t.t&&(e.h._mdf||e.a._mdf)){var a,n=this.globalData.canvasContext,o=e.s.v,h=e.e.v;if(1===t.t)i=n.createLinearGradient(o[0],o[1],h[0],h[1]);else{var l=Math.sqrt(Math.pow(o[0]-h[0],2)+Math.pow(o[1]-h[1],2)),p=Math.atan2(h[1]-o[1],h[0]-o[0]),m=e.h.v;1<=m?m=.99:m<=-1&&(m=-.99);var f=l*m,c=Math.cos(p+e.a.v)*f+o[0],d=Math.sin(p+e.a.v)*f+o[1];i=n.createRadialGradient(c,d,0,o[0],o[1],l)}var u=t.g.p,y=e.g.c,g=1;for(a=0;a<u;a+=1)e.g._hasOpacity&&e.g._collapsable&&(g=e.g.o[2*a+1]),i.addColorStop(y[4*a]/100,"rgba("+y[4*a+1]+","+y[4*a+2]+","+y[4*a+3]+","+g+")");s.grd=i}s.coOp=e.o.v*r.opacity},CVShapeElement.prototype.renderStroke=function(t,e,r){var i=e.style,s=e.d;s&&(s._mdf||this._isFirstFrame)&&(i.da=s.dashArray,i.do=s.dashoffset[0]),(e.c._mdf||this._isFirstFrame)&&(i.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")"),(e.o._mdf||r._opMdf||this._isFirstFrame)&&(i.coOp=e.o.v*r.opacity),(e.w._mdf||this._isFirstFrame)&&(i.wi=e.w.v)},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){var t=this.canvasContext;t.fillStyle=this.data.sc,t.fillRect(0,0,this.data.sw,this.data.sh)},extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var t=this.textProperty.currentData;this.renderedLetters=createSizedArray(t.l?t.l.length:0);var e=!1;t.fc?(e=!0,this.values.fill=this.buildColor(t.fc)):this.values.fill="rgba(0,0,0,0)",this.fill=e;var r=!1;t.sc&&(r=!0,this.values.stroke=this.buildColor(t.sc),this.values.sWidth=t.sw);var i,s,a,n,o,h,l,p,m,f,c,d,u=this.globalData.fontManager.getFontByName(t.f),y=t.l,g=this.mHelper;this.stroke=r,this.values.fValue=t.finalSize+"px "+this.globalData.fontManager.getFontByName(t.f).fFamily,s=t.finalText.length;var v=this.data.singleShape,b=.001*t.tr*t.finalSize,P=0,E=0,x=!0,S=0;for(i=0;i<s;i+=1){for(n=(a=this.globalData.fontManager.getCharData(t.finalText[i],u.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily))&&a.data||{},g.reset(),v&&y[i].n&&(P=-b,E+=t.yOffset,E+=x?1:0,x=!1),m=(l=n.shapes?n.shapes[0].it:[]).length,g.scale(t.finalSize/100,t.finalSize/100),v&&this.applyTextPropertiesToMatrix(t,g,y[i].line,P,E),c=createSizedArray(m),p=0;p<m;p+=1){for(h=l[p].ks.k.i.length,f=l[p].ks.k,d=[],o=1;o<h;o+=1)1===o&&d.push(g.applyToX(f.v[0][0],f.v[0][1],0),g.applyToY(f.v[0][0],f.v[0][1],0)),d.push(g.applyToX(f.o[o-1][0],f.o[o-1][1],0),g.applyToY(f.o[o-1][0],f.o[o-1][1],0),g.applyToX(f.i[o][0],f.i[o][1],0),g.applyToY(f.i[o][0],f.i[o][1],0),g.applyToX(f.v[o][0],f.v[o][1],0),g.applyToY(f.v[o][0],f.v[o][1],0));d.push(g.applyToX(f.o[o-1][0],f.o[o-1][1],0),g.applyToY(f.o[o-1][0],f.o[o-1][1],0),g.applyToX(f.i[0][0],f.i[0][1],0),g.applyToY(f.i[0][0],f.i[0][1],0),g.applyToX(f.v[0][0],f.v[0][1],0),g.applyToY(f.v[0][0],f.v[0][1],0)),c[p]=d}v&&(P+=y[i].l,P+=b),this.textSpans[S]?this.textSpans[S].elem=c:this.textSpans[S]={elem:c},S+=1}},CVTextElement.prototype.renderInnerContent=function(){var t,e,r,i,s,a,n=this.canvasContext;n.font=this.values.fValue,n.lineCap="butt",n.lineJoin="miter",n.miterLimit=4,this.data.singleShape||this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var o,h=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;e=l.length;var p,m,f=null,c=null,d=null;for(t=0;t<e;t+=1)if(!l[t].n){if((o=h[t])&&(this.globalData.renderer.save(),this.globalData.renderer.ctxTransform(o.p),this.globalData.renderer.ctxOpacity(o.o)),this.fill){for(o&&o.fc?f!==o.fc&&(f=o.fc,n.fillStyle=o.fc):f!==this.values.fill&&(f=this.values.fill,n.fillStyle=this.values.fill),i=(p=this.textSpans[t].elem).length,this.globalData.canvasContext.beginPath(),r=0;r<i;r+=1)for(a=(m=p[r]).length,this.globalData.canvasContext.moveTo(m[0],m[1]),s=2;s<a;s+=6)this.globalData.canvasContext.bezierCurveTo(m[s],m[s+1],m[s+2],m[s+3],m[s+4],m[s+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.fill()}if(this.stroke){for(o&&o.sw?d!==o.sw&&(d=o.sw,n.lineWidth=o.sw):d!==this.values.sWidth&&(d=this.values.sWidth,n.lineWidth=this.values.sWidth),o&&o.sc?c!==o.sc&&(c=o.sc,n.strokeStyle=o.sc):c!==this.values.stroke&&(c=this.values.stroke,n.strokeStyle=this.values.stroke),i=(p=this.textSpans[t].elem).length,this.globalData.canvasContext.beginPath(),r=0;r<i;r+=1)for(a=(m=p[r]).length,this.globalData.canvasContext.moveTo(m[0],m[1]),s=2;s<a;s+=6)this.globalData.canvasContext.bezierCurveTo(m[s],m[s+1],m[s+2],m[s+3],m[s+4],m[s+5]);this.globalData.canvasContext.closePath(),this.globalData.canvasContext.stroke()}o&&this.globalData.renderer.restore()}},CVEffects.prototype.renderFrame=function(){},HBaseElement.prototype={checkBlendMode:function(){},initRendererElement:function(){this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask?(this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement)):this.layerElement=this.baseElement,styleDiv(this.baseElement)},createContainerElements:function(){this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln&&this.layerElement.setAttribute("id",this.data.ln),this.data.cl&&this.layerElement.setAttribute("class",this.data.cl),0!==this.data.bm&&this.setBlendMode()},renderElement:function(){var t=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var e=this.finalTransform.mat.toCSS();t.transform=e,t.webkitTransform=e}this.finalTransform._opMdf&&(t.opacity=this.finalTransform.mProp.o.v)},renderFrame:function(){this.data.hd||this.hidden||(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame&&(this._isFirstFrame=!1))},destroy:function(){this.layerElement=null,this.transformedElement=null,this.matteElement&&(this.matteElement=null),this.maskManager&&(this.maskManager.destroy(),this.maskManager=null)},createRenderableComponents:function(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function(){},setMatte:function(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=HybridRenderer.prototype.buildElementParenting,extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var t;this.data.hasMask?((t=createNS("rect")).setAttribute("width",this.data.sw),t.setAttribute("height",this.data.sh),t.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh)):((t=createTag("div")).style.width=this.data.sw+"px",t.style.height=this.data.sh+"px",t.style.backgroundColor=this.data.sc),this.layerElement.appendChild(t)},extendPrototype([HybridRenderer,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){this._createBaseContainerElements(),this.data.hasMask?(this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement):this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(t,e){for(var r,i=0;i<e;)this.elements[i]&&this.elements[i].getBaseElement&&(r=this.elements[i].getBaseElement()),i+=1;r?this.layerElement.insertBefore(t,r):this.layerElement.appendChild(t)},extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var t;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),t=this.svgElement;else{t=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;t.setAttribute("width",e.w),t.setAttribute("height",e.h),t.appendChild(this.shapesContainer),this.layerElement.appendChild(t)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=t},HShapeElement.prototype.getTransformedPoint=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)e=t[r].mProps.v.applyToPointArray(e[0],e[1],0);return e},HShapeElement.prototype.calculateShapeBoundingBox=function(t,e){var r,i,s,a,n,o=t.sh.v,h=t.transformers,l=o._length;if(!(l<=1)){for(r=0;r<l-1;r+=1)i=this.getTransformedPoint(h,o.v[r]),s=this.getTransformedPoint(h,o.o[r]),a=this.getTransformedPoint(h,o.i[r+1]),n=this.getTransformedPoint(h,o.v[r+1]),this.checkBounds(i,s,a,n,e);o.c&&(i=this.getTransformedPoint(h,o.v[r]),s=this.getTransformedPoint(h,o.o[r]),a=this.getTransformedPoint(h,o.i[0]),n=this.getTransformedPoint(h,o.v[0]),this.checkBounds(i,s,a,n,e))}},HShapeElement.prototype.checkBounds=function(t,e,r,i,s){this.getBoundsOfCurve(t,e,r,i);var a=this.shapeBoundingBox;s.x=bmMin(a.left,s.x),s.xMax=bmMax(a.right,s.xMax),s.y=bmMin(a.top,s.y),s.yMax=bmMax(a.bottom,s.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(t,e,r,i){for(var s,a,n,o,h,l,p,m=[[t[0],i[0]],[t[1],i[1]]],f=0;f<2;++f)a=6*t[f]-12*e[f]+6*r[f],s=-3*t[f]+9*e[f]-9*r[f]+3*i[f],n=3*e[f]-3*t[f],a|=0,n|=0,0===(s|=0)&&0===a||(0===s?0<(o=-n/a)&&o<1&&m[f].push(this.calculateF(o,t,e,r,i,f)):0<=(h=a*a-4*n*s)&&(0<(l=(-a+bmSqrt(h))/(2*s))&&l<1&&m[f].push(this.calculateF(l,t,e,r,i,f)),0<(p=(-a-bmSqrt(h))/(2*s))&&p<1&&m[f].push(this.calculateF(p,t,e,r,i,f))));this.shapeBoundingBox.left=bmMin.apply(null,m[0]),this.shapeBoundingBox.top=bmMin.apply(null,m[1]),this.shapeBoundingBox.right=bmMax.apply(null,m[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,m[1])},HShapeElement.prototype.calculateF=function(t,e,r,i,s,a){return bmPow(1-t,3)*e[a]+3*bmPow(1-t,2)*t*r[a]+3*(1-t)*bmPow(t,2)*i[a]+bmPow(t,3)*s[a]},HShapeElement.prototype.calculateBoundingBox=function(t,e){var r,i=t.length;for(r=0;r<i;r+=1)t[r]&&t[r].sh?this.calculateShapeBoundingBox(t[r],e):t[r]&&t[r].it&&this.calculateBoundingBox(t[r].it,e)},HShapeElement.prototype.currentBoxContains=function(t){return this.currentBBox.x<=t.x&&this.currentBBox.y<=t.y&&this.currentBBox.width+this.currentBBox.x>=t.x+t.width&&this.currentBBox.height+this.currentBBox.y>=t.y+t.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var t=this.tempBoundingBox,e=999999;if(t.x=e,t.xMax=-e,t.y=e,t.yMax=-e,this.calculateBoundingBox(this.itemsData,t),t.width=t.xMax<t.x?0:t.xMax-t.x,t.height=t.yMax<t.y?0:t.yMax-t.y,this.currentBoxContains(t))return;var r=!1;if(this.currentBBox.w!==t.width&&(this.currentBBox.w=t.width,this.shapeCont.setAttribute("width",t.width),r=!0),this.currentBBox.h!==t.height&&(this.currentBBox.h=t.height,this.shapeCont.setAttribute("height",t.height),r=!0),r||this.currentBBox.x!==t.x||this.currentBBox.y!==t.y){this.currentBBox.w=t.width,this.currentBBox.h=t.height,this.currentBBox.x=t.x,this.currentBBox.y=t.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var i=this.shapeCont.style,s="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";i.transform=s,i.webkitTransform=s}}},extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var t=createNS("g");this.maskedElement.appendChild(t),this.innerElem=t}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var t=this.textProperty.currentData;this.renderedLetters=createSizedArray(t.l?t.l.length:0);var e=this.innerElem.style,r=t.fc?this.buildColor(t.fc):"rgba(0,0,0,0)";e.fill=r,e.color=r,t.sc&&(e.stroke=this.buildColor(t.sc),e.strokeWidth=t.sw+"px");var i,s,a=this.globalData.fontManager.getFontByName(t.f);if(!this.globalData.fontManager.chars)if(e.fontSize=t.finalSize+"px",e.lineHeight=t.finalSize+"px",a.fClass)this.innerElem.className=a.fClass;else{e.fontFamily=a.fFamily;var n=t.fWeight,o=t.fStyle;e.fontStyle=o,e.fontWeight=n}var h,l,p,m=t.l;s=m.length;var f,c=this.mHelper,d="",u=0;for(i=0;i<s;i+=1){if(this.globalData.fontManager.chars?(this.textPaths[u]?h=this.textPaths[u]:((h=createNS("path")).setAttribute("stroke-linecap",lineCapEnum[1]),h.setAttribute("stroke-linejoin",lineJoinEnum[2]),h.setAttribute("stroke-miterlimit","4")),this.isMasked||(this.textSpans[u]?p=(l=this.textSpans[u]).children[0]:((l=createTag("div")).style.lineHeight=0,(p=createNS("svg")).appendChild(h),styleDiv(l)))):this.isMasked?h=this.textPaths[u]?this.textPaths[u]:createNS("text"):this.textSpans[u]?(l=this.textSpans[u],h=this.textPaths[u]):(styleDiv(l=createTag("span")),styleDiv(h=createTag("span")),l.appendChild(h)),this.globalData.fontManager.chars){var y,g=this.globalData.fontManager.getCharData(t.finalText[i],a.fStyle,this.globalData.fontManager.getFontByName(t.f).fFamily);if(y=g?g.data:null,c.reset(),y&&y.shapes&&(f=y.shapes[0].it,c.scale(t.finalSize/100,t.finalSize/100),d=this.createPathShape(c,f),h.setAttribute("d",d)),this.isMasked)this.innerElem.appendChild(h);else{if(this.innerElem.appendChild(l),y&&y.shapes){document.body.appendChild(p);var v=p.getBBox();p.setAttribute("width",v.width+2),p.setAttribute("height",v.height+2),p.setAttribute("viewBox",v.x-1+" "+(v.y-1)+" "+(v.width+2)+" "+(v.height+2));var b=p.style,P="translate("+(v.x-1)+"px,"+(v.y-1)+"px)";b.transform=P,b.webkitTransform=P,m[i].yOffset=v.y-1}else p.setAttribute("width",1),p.setAttribute("height",1);l.appendChild(p)}}else if(h.textContent=m[i].val,h.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),this.isMasked)this.innerElem.appendChild(h);else{this.innerElem.appendChild(l);var E=h.style,x="translate3d(0,"+-t.finalSize/1.2+"px,0)";E.transform=x,E.webkitTransform=x}this.isMasked?this.textSpans[u]=h:this.textSpans[u]=l,this.textSpans[u].style.display="block",this.textPaths[u]=h,u+=1}for(;u<this.textSpans.length;)this.textSpans[u].style.display="none",u+=1},HTextElement.prototype.renderInnerContent=function(){var t;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),t=this.svgElement.style;var e="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";t.transform=e,t.webkitTransform=e}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){var r,i,s,a,n,o=0,h=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;for(i=l.length,r=0;r<i;r+=1)l[r].n?o+=1:(a=this.textSpans[r],n=this.textPaths[r],s=h[o],o+=1,s._mdf.m&&(this.isMasked?a.setAttribute("transform",s.m):(a.style.webkitTransform=s.m,a.style.transform=s.m)),a.style.opacity=s.o,s.sw&&s._mdf.sw&&n.setAttribute("stroke-width",s.sw),s.sc&&s._mdf.sc&&n.setAttribute("stroke",s.sc),s.fc&&s._mdf.fc&&(n.setAttribute("fill",s.fc),n.style.color=s.fc));if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var p=this.innerElem.getBBox();this.currentBBox.w!==p.width&&(this.currentBBox.w=p.width,this.svgElement.setAttribute("width",p.width)),this.currentBBox.h!==p.height&&(this.currentBBox.h=p.height,this.svgElement.setAttribute("height",p.height));if(this.currentBBox.w!==p.width+2||this.currentBBox.h!==p.height+2||this.currentBBox.x!==p.x-1||this.currentBBox.y!==p.y-1){this.currentBBox.w=p.width+2,this.currentBBox.h=p.height+2,this.currentBBox.x=p.x-1,this.currentBBox.y=p.y-1,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),t=this.svgElement.style;var m="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";t.transform=m,t.webkitTransform=m}}}},extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var t=this.globalData.getAssetsPath(this.assetData),e=new Image;this.data.hasMask?(this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",t),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h)):this.layerElement.appendChild(e),e.crossOrigin="anonymous",e.src=t,this.data.ln&&this.baseElement.setAttribute("id",this.data.ln)},extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var t,e,r,i,s=this.comp.threeDElements.length;for(t=0;t<s;t+=1)if("3d"===(e=this.comp.threeDElements[t]).type){r=e.perspectiveElem.style,i=e.container.style;var a=this.pe.v+"px",n="0px 0px 0px",o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.perspective=a,r.webkitPerspective=a,i.transformOrigin=n,i.mozTransformOrigin=n,i.webkitTransformOrigin=n,r.transform=o,r.webkitTransform=o}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var t,e,r=this._isFirstFrame;if(this.hierarchy)for(e=this.hierarchy.length,t=0;t<e;t+=1)r=this.hierarchy[t].finalTransform.mProp._mdf||r;if(r||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy)for(t=e=this.hierarchy.length-1;0<=t;t-=1){var i=this.hierarchy[t].finalTransform.mProp;this.mat.translate(-i.p.v[0],-i.p.v[1],i.p.v[2]),this.mat.rotateX(-i.or.v[0]).rotateY(-i.or.v[1]).rotateZ(i.or.v[2]),this.mat.rotateX(-i.rx.v).rotateY(-i.ry.v).rotateZ(i.rz.v),this.mat.scale(1/i.s.v[0],1/i.s.v[1],1/i.s.v[2]),this.mat.translate(i.a.v[0],i.a.v[1],i.a.v[2])}if(this.p?this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]):this.mat.translate(-this.px.v,-this.py.v,this.pz.v),this.a){var s;s=this.p?[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]]:[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var a=Math.sqrt(Math.pow(s[0],2)+Math.pow(s[1],2)+Math.pow(s[2],2)),n=[s[0]/a,s[1]/a,s[2]/a],o=Math.sqrt(n[2]*n[2]+n[0]*n[0]),h=Math.atan2(n[1],o),l=Math.atan2(n[0],-n[2]);this.mat.rotateY(l).rotateX(-h)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var p=!this._prevMat.equals(this.mat);if((p||this.pe._mdf)&&this.comp.threeDElements){var m,f,c;for(e=this.comp.threeDElements.length,t=0;t<e;t+=1)if("3d"===(m=this.comp.threeDElements[t]).type){if(p){var d=this.mat.toCSS();(c=m.container.style).transform=d,c.webkitTransform=d}this.pe._mdf&&((f=m.perspectiveElem.style).perspective=this.pe.v+"px",f.webkitPerspective=this.pe.v+"px")}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(t){this.prepareProperties(t,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null},HEffects.prototype.renderFrame=function(){};var animationManager=function(){var t={},s=[],i=0,a=0,n=0,o=!0,h=!1;function r(t){for(var e=0,r=t.target;e<a;)s[e].animation===r&&(s.splice(e,1),e-=1,a-=1,r.isPaused||m()),e+=1}function l(t,e){if(!t)return null;for(var r=0;r<a;){if(s[r].elem===t&&null!==s[r].elem)return s[r].animation;r+=1}var i=new AnimationItem;return f(i,t),i.setData(t,e),i}function p(){n+=1,d()}function m(){n-=1}function f(t,e){t.addEventListener("destroy",r),t.addEventListener("_active",p),t.addEventListener("_idle",m),s.push({elem:e,animation:t}),a+=1}function c(t){var e,r=t-i;for(e=0;e<a;e+=1)s[e].animation.advanceTime(r);i=t,n&&!h?window.requestAnimationFrame(c):o=!0}function e(t){i=t,window.requestAnimationFrame(c)}function d(){!h&&n&&o&&(window.requestAnimationFrame(e),o=!1)}return t.registerAnimation=l,t.loadAnimation=function(t){var e=new AnimationItem;return f(e,null),e.setParams(t),e},t.setSpeed=function(t,e){var r;for(r=0;r<a;r+=1)s[r].animation.setSpeed(t,e)},t.setDirection=function(t,e){var r;for(r=0;r<a;r+=1)s[r].animation.setDirection(t,e)},t.play=function(t){var e;
16193for(e=0;e<a;e+=1)s[e].animation.play(t)},t.pause=function(t){var e;for(e=0;e<a;e+=1)s[e].animation.pause(t)},t.stop=function(t){var e;for(e=0;e<a;e+=1)s[e].animation.stop(t)},t.togglePause=function(t){var e;for(e=0;e<a;e+=1)s[e].animation.togglePause(t)},t.searchAnimations=function(t,e,r){var i,s=[].concat([].slice.call(document.getElementsByClassName("lottie")),[].slice.call(document.getElementsByClassName("bodymovin"))),a=s.length;for(i=0;i<a;i+=1)r&&s[i].setAttribute("data-bm-type",r),l(s[i],t);if(e&&0===a){r||(r="svg");var n=document.getElementsByTagName("body")[0];n.innerText="";var o=createTag("div");o.style.width="100%",o.style.height="100%",o.setAttribute("data-bm-type",r),n.appendChild(o),l(o,t)}},t.resize=function(){var t;for(t=0;t<a;t+=1)s[t].animation.resize()},t.goToAndStop=function(t,e,r){var i;for(i=0;i<a;i+=1)s[i].animation.goToAndStop(t,e,r)},t.destroy=function(t){var e;for(e=a-1;0<=e;e-=1)s[e].animation.destroy(t)},t.freeze=function(){h=!0},t.unfreeze=function(){h=!1,d()},t.setVolume=function(t,e){var r;for(r=0;r<a;r+=1)s[r].animation.setVolume(t,e)},t.mute=function(t){var e;for(e=0;e<a;e+=1)s[e].animation.mute(t)},t.unmute=function(t){var e;for(e=0;e<a;e+=1)s[e].animation.unmute(t)},t.getRegisteredAnimations=function(){var t,e=s.length,r=[];for(t=0;t<e;t+=1)r.push(s[t].animation);return r},t}(),AnimationItem=function(){this._cbs=[],this.name="",this.path="",this.isLoaded=!1,this.currentFrame=0,this.currentRawFrame=0,this.firstFrame=0,this.totalFrames=0,this.frameRate=0,this.frameMult=0,this.playSpeed=1,this.playDirection=1,this.playCount=0,this.animationData={},this.assets=[],this.isPaused=!0,this.autoplay=!1,this.loop=!0,this.renderer=null,this.animationID=createElementID(),this.assetsPath="",this.timeCompleted=0,this.segmentPos=0,this.isSubframeEnabled=subframeEnabled,this.segments=[],this._idle=!0,this._completedLoop=!1,this.projectInterface=ProjectInterface(),this.imagePreloader=new ImagePreloader,this.audioController=audioControllerFactory(),this.markers=[]};extendPrototype([BaseEvent],AnimationItem),AnimationItem.prototype.setParams=function(t){(t.wrapper||t.container)&&(this.wrapper=t.wrapper||t.container);var e="svg";switch(t.animType?e=t.animType:t.renderer&&(e=t.renderer),e){case"canvas":this.renderer=new CanvasRenderer(this,t.rendererSettings);break;case"svg":this.renderer=new SVGRenderer(this,t.rendererSettings);break;default:this.renderer=new HybridRenderer(this,t.rendererSettings)}this.imagePreloader.setCacheType(e,this.renderer.globalData.defs),this.renderer.setProjectInterface(this.projectInterface),this.animType=e,""===t.loop||null===t.loop||void 0===t.loop||!0===t.loop?this.loop=!0:!1===t.loop?this.loop=!1:this.loop=parseInt(t.loop,10),this.autoplay=!("autoplay"in t)||t.autoplay,this.name=t.name?t.name:"",this.autoloadSegments=!Object.prototype.hasOwnProperty.call(t,"autoloadSegments")||t.autoloadSegments,this.assetsPath=t.assetsPath,this.initialSegment=t.initialSegment,t.audioFactory&&this.audioController.setAudioFactory(t.audioFactory),t.animationData?this.configAnimation(t.animationData):t.path&&(-1!==t.path.lastIndexOf("\\")?this.path=t.path.substr(0,t.path.lastIndexOf("\\")+1):this.path=t.path.substr(0,t.path.lastIndexOf("/")+1),this.fileName=t.path.substr(t.path.lastIndexOf("/")+1),this.fileName=this.fileName.substr(0,this.fileName.lastIndexOf(".json")),assetLoader.load(t.path,this.configAnimation.bind(this),function(){this.trigger("data_failed")}.bind(this)))},AnimationItem.prototype.setData=function(t,e){e&&"object"!=typeof e&&(e=JSON.parse(e));var r={wrapper:t,animationData:e},i=t.attributes;r.path=i.getNamedItem("data-animation-path")?i.getNamedItem("data-animation-path").value:i.getNamedItem("data-bm-path")?i.getNamedItem("data-bm-path").value:i.getNamedItem("bm-path")?i.getNamedItem("bm-path").value:"",r.animType=i.getNamedItem("data-anim-type")?i.getNamedItem("data-anim-type").value:i.getNamedItem("data-bm-type")?i.getNamedItem("data-bm-type").value:i.getNamedItem("bm-type")?i.getNamedItem("bm-type").value:i.getNamedItem("data-bm-renderer")?i.getNamedItem("data-bm-renderer").value:i.getNamedItem("bm-renderer")?i.getNamedItem("bm-renderer").value:"canvas";var s=i.getNamedItem("data-anim-loop")?i.getNamedItem("data-anim-loop").value:i.getNamedItem("data-bm-loop")?i.getNamedItem("data-bm-loop").value:i.getNamedItem("bm-loop")?i.getNamedItem("bm-loop").value:"";"false"===s?r.loop=!1:"true"===s?r.loop=!0:""!==s&&(r.loop=parseInt(s,10));
vendor: 4,566 bytes, line 16193
16193var a=i.getNamedItem("data-anim-autoplay")?i.getNamedItem("data-anim-autoplay").value:i.getNamedItem("data-bm-autoplay")?i.getNamedItem("data-bm-autoplay").value:!i.getNamedItem("bm-autoplay")||i.getNamedItem("bm-autoplay").value;r.autoplay="false"!==a,r.name=i.getNamedItem("data-name")?i.getNamedItem("data-name").value:i.getNamedItem("data-bm-name")?i.getNamedItem("data-bm-name").value:i.getNamedItem("bm-name")?i.getNamedItem("bm-name").value:"","false"===(i.getNamedItem("data-anim-prerender")?i.getNamedItem("data-anim-prerender").value:i.getNamedItem("data-bm-prerender")?i.getNamedItem("data-bm-prerender").value:i.getNamedItem("bm-prerender")?i.getNamedItem("bm-prerender").value:"")&&(r.prerender=!1),this.setParams(r)},AnimationItem.prototype.includeLayers=function(t){t.op>this.animationData.op&&(this.animationData.op=t.op,this.totalFrames=Math.floor(t.op-this.animationData.ip));var e,r,i=this.animationData.layers,s=i.length,a=t.layers,n=a.length;for(r=0;r<n;r+=1)for(e=0;e<s;){if(i[e].id===a[r].id){i[e]=a[r];break}e+=1}if((t.chars||t.fonts)&&(this.renderer.globalData.fontManager.addChars(t.chars),this.renderer.globalData.fontManager.addFonts(t.fonts,this.renderer.globalData.defs)),t.assets)for(s=t.assets.length,e=0;e<s;e+=1)this.animationData.assets.push(t.assets[e]);this.animationData.__complete=!1,dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),this.renderer.includeLayers(t.layers),expressionsPlugin&&expressionsPlugin.initExpressions(this),this.loadNextSegment()},AnimationItem.prototype.loadNextSegment=function(){var t=this.animationData.segments;if(!t||0===t.length||!this.autoloadSegments)return this.trigger("data_ready"),void(this.timeCompleted=this.totalFrames);var e=t.shift();this.timeCompleted=e.time*this.frameRate;var r=this.path+this.fileName+"_"+this.segmentPos+".json";this.segmentPos+=1,assetLoader.load(r,this.includeLayers.bind(this),function(){this.trigger("data_failed")}.bind(this))},AnimationItem.prototype.loadSegments=function(){this.animationData.segments||(this.timeCompleted=this.totalFrames),this.loadNextSegment()},AnimationItem.prototype.imagesLoaded=function(){this.trigger("loaded_images"),this.checkLoaded()},AnimationItem.prototype.preloadImages=function(){this.imagePreloader.setAssetsPath(this.assetsPath),this.imagePreloader.setPath(this.path),this.imagePreloader.loadAssets(this.animationData.assets,this.imagesLoaded.bind(this))},AnimationItem.prototype.configAnimation=function(t){if(this.renderer)try{this.animationData=t,this.initialSegment?(this.totalFrames=Math.floor(this.initialSegment[1]-this.initialSegment[0]),this.firstFrame=Math.round(this.initialSegment[0])):(this.totalFrames=Math.floor(this.animationData.op-this.animationData.ip),this.firstFrame=Math.round(this.animationData.ip)),this.renderer.configAnimation(t),t.assets||(t.assets=[]),this.assets=this.animationData.assets,this.frameRate=this.animationData.fr,this.frameMult=this.animationData.fr/1e3,this.renderer.searchExtraCompositions(t.assets),this.markers=markerParser(t.markers||[]),this.trigger("config_ready"),this.preloadImages(),this.loadSegments(),this.updaFrameModifier(),this.waitForFontsLoaded(),this.isPaused&&this.audioController.pause()}catch(t){this.triggerConfigError(t)}},AnimationItem.prototype.waitForFontsLoaded=function(){this.renderer&&(this.renderer.globalData.fontManager.isLoaded?this.checkLoaded():setTimeout(this.waitForFontsLoaded.bind(this),20))},AnimationItem.prototype.checkLoaded=function(){!this.isLoaded&&this.renderer.globalData.fontManager.isLoaded&&(this.imagePreloader.loadedImages()||"canvas"!==this.renderer.rendererType)&&this.imagePreloader.loadedFootages()&&(this.isLoaded=!0,dataManager.completeData(this.animationData,this.renderer.globalData.fontManager),expressionsPlugin&&expressionsPlugin.initExpressions(this),this.renderer.initItems(),setTimeout(function(){this.trigger("DOMLoaded")}.bind(this),0),this.gotoFrame(),this.autoplay&&this.play())},AnimationItem.prototype.resize=function(){this.renderer.updateContainerSize()},AnimationItem.prototype.setSubframe=function(t){this.isSubframeEnabled=!!t},AnimationItem.prototype.gotoFrame=function(){this.currentFrame=this.isSubframeEnabled?this.currentRawFrame:~~this.currentRawFrame,this.timeCompleted!==this.totalFrames&&this.currentFrame>this.timeCompleted&&(this.currentFrame=this.timeCompleted),this.trigger("enterFrame"),this.renderFrame()},AnimationItem.prototype.renderFrame=function(){if(!1!==this.isLoaded&&this.renderer)try{this.renderer.renderFrame(this.currentFrame+this.firstFrame)}
vendor: 5,249 bytes, line 16193
16193catch(t){this.triggerRenderFrameError(t)}},AnimationItem.prototype.play=function(t){t&&this.name!==t||!0===this.isPaused&&(this.isPaused=!1,this.audioController.resume(),this._idle&&(this._idle=!1,this.trigger("_active")))},AnimationItem.prototype.pause=function(t){t&&this.name!==t||!1===this.isPaused&&(this.isPaused=!0,this._idle=!0,this.trigger("_idle"),this.audioController.pause())},AnimationItem.prototype.togglePause=function(t){t&&this.name!==t||(!0===this.isPaused?this.play():this.pause())},AnimationItem.prototype.stop=function(t){t&&this.name!==t||(this.pause(),this.playCount=0,this._completedLoop=!1,this.setCurrentRawFrameValue(0))},AnimationItem.prototype.getMarkerData=function(t){for(var e,r=0;r<this.markers.length;r+=1)if((e=this.markers[r]).payload&&e.payload.name===t)return e;return null},AnimationItem.prototype.goToAndStop=function(t,e,r){if(!r||this.name===r){var i=Number(t);if(isNaN(i)){var s=this.getMarkerData(t);s&&this.goToAndStop(s.time,!0)}else e?this.setCurrentRawFrameValue(t):this.setCurrentRawFrameValue(t*this.frameModifier);this.pause()}},AnimationItem.prototype.goToAndPlay=function(t,e,r){if(!r||this.name===r){var i=Number(t);if(isNaN(i)){var s=this.getMarkerData(t);s&&(s.duration?this.playSegments([s.time,s.time+s.duration],!0):this.goToAndStop(s.time,!0))}else this.goToAndStop(i,e,r);this.play()}},AnimationItem.prototype.advanceTime=function(t){if(!0!==this.isPaused&&!1!==this.isLoaded){var e=this.currentRawFrame+t*this.frameModifier,r=!1;e>=this.totalFrames-1&&0<this.frameModifier?this.loop&&this.playCount!==this.loop?e>=this.totalFrames?(this.playCount+=1,this.checkSegments(e%this.totalFrames)||(this.setCurrentRawFrameValue(e%this.totalFrames),this._completedLoop=!0,this.trigger("loopComplete"))):this.setCurrentRawFrameValue(e):this.checkSegments(e>this.totalFrames?e%this.totalFrames:0)||(r=!0,e=this.totalFrames-1):e<0?this.checkSegments(e%this.totalFrames)||(!this.loop||this.playCount--<=0&&!0!==this.loop?(r=!0,e=0):(this.setCurrentRawFrameValue(this.totalFrames+e%this.totalFrames),this._completedLoop?this.trigger("loopComplete"):this._completedLoop=!0)):this.setCurrentRawFrameValue(e),r&&(this.setCurrentRawFrameValue(e),this.pause(),this.trigger("complete"))}},AnimationItem.prototype.adjustSegment=function(t,e){this.playCount=0,t[1]<t[0]?(0<this.frameModifier&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(-1)),this.totalFrames=t[0]-t[1],this.timeCompleted=this.totalFrames,this.firstFrame=t[1],this.setCurrentRawFrameValue(this.totalFrames-.001-e)):t[1]>t[0]&&(this.frameModifier<0&&(this.playSpeed<0?this.setSpeed(-this.playSpeed):this.setDirection(1)),this.totalFrames=t[1]-t[0],this.timeCompleted=this.totalFrames,this.firstFrame=t[0],this.setCurrentRawFrameValue(.001+e)),this.trigger("segmentStart")},AnimationItem.prototype.setSegment=function(t,e){var r=-1;this.isPaused&&(this.currentRawFrame+this.firstFrame<t?r=t:this.currentRawFrame+this.firstFrame>e&&(r=e-t)),this.firstFrame=t,this.totalFrames=e-t,this.timeCompleted=this.totalFrames,-1!==r&&this.goToAndStop(r,!0)},AnimationItem.prototype.playSegments=function(t,e){if(e&&(this.segments.length=0),"object"==typeof t[0]){var r,i=t.length;for(r=0;r<i;r+=1)this.segments.push(t[r])}else this.segments.push(t);this.segments.length&&e&&this.adjustSegment(this.segments.shift(),0),this.isPaused&&this.play()},AnimationItem.prototype.resetSegments=function(t){this.segments.length=0,this.segments.push([this.animationData.ip,this.animationData.op]),t&&this.checkSegments(0)},AnimationItem.prototype.checkSegments=function(t){return!!this.segments.length&&(this.adjustSegment(this.segments.shift(),t),!0)},AnimationItem.prototype.destroy=function(t){t&&this.name!==t||!this.renderer||(this.renderer.destroy(),this.imagePreloader.destroy(),this.trigger("destroy"),this._cbs=null,this.onEnterFrame=null,this.onLoopComplete=null,this.onComplete=null,this.onSegmentStart=null,this.onDestroy=null,this.renderer=null,this.renderer=null,this.imagePreloader=null,this.projectInterface=null)},AnimationItem.prototype.setCurrentRawFrameValue=function(t){this.currentRawFrame=t,this.gotoFrame()},AnimationItem.prototype.setSpeed=function(t){this.playSpeed=t,this.updaFrameModifier()},AnimationItem.prototype.setDirection=function(t){this.playDirection=t<0?-1:1,this.updaFrameModifier()},AnimationItem.prototype.setVolume=function(t,e){e&&this.name!==e||this.audioController.setVolume(t)},AnimationItem.prototype.getVolume=function(){return this.audioController.getVolume()},AnimationItem.prototype.mute=function(t){t&&this.name!==t||this.audioController.mute()},AnimationItem.prototype.unmute=function(t){t&&this.name!==t||this.audioController.unmute()},AnimationItem.prototype.updaFrameModifier=function(){this.frameModifier=this.frameMult*this.playSpeed*this.playDirection,this.audioController.setRate(this.playSpeed*this.playDirection)},AnimationItem.prototype.getPath=function(){return this.path},AnimationItem.prototype.getAssetsPath=function(t){var e="";if(t.e)e=t.p;else if(this.assetsPath){var r=t.p;-1!==r.indexOf("images/")&&(r=r.split("/")[1]),e=this.assetsPath+r}else e=this.path,e+=t.u?t.u:"",e+=t.p;return e},AnimationItem.prototype.getAssetData=function(t){for(var e=0,r=this.assets.length;e<r;
vendor: 5,282 bytes, line 16193
16193){if(t===this.assets[e].id)return this.assets[e];e+=1}return null},AnimationItem.prototype.hide=function(){this.renderer.hide()},AnimationItem.prototype.show=function(){this.renderer.show()},AnimationItem.prototype.getDuration=function(t){return t?this.totalFrames:this.totalFrames/this.frameRate},AnimationItem.prototype.trigger=function(t){if(this._cbs&&this._cbs[t])switch(t){case"enterFrame":this.triggerEvent(t,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameModifier));break;case"loopComplete":this.triggerEvent(t,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult));break;case"complete":this.triggerEvent(t,new BMCompleteEvent(t,this.frameMult));break;case"segmentStart":this.triggerEvent(t,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames));break;case"destroy":this.triggerEvent(t,new BMDestroyEvent(t,this));break;default:this.triggerEvent(t)}"enterFrame"===t&&this.onEnterFrame&&this.onEnterFrame.call(this,new BMEnterFrameEvent(t,this.currentFrame,this.totalFrames,this.frameMult)),"loopComplete"===t&&this.onLoopComplete&&this.onLoopComplete.call(this,new BMCompleteLoopEvent(t,this.loop,this.playCount,this.frameMult)),"complete"===t&&this.onComplete&&this.onComplete.call(this,new BMCompleteEvent(t,this.frameMult)),"segmentStart"===t&&this.onSegmentStart&&this.onSegmentStart.call(this,new BMSegmentStartEvent(t,this.firstFrame,this.totalFrames)),"destroy"===t&&this.onDestroy&&this.onDestroy.call(this,new BMDestroyEvent(t,this))},AnimationItem.prototype.triggerRenderFrameError=function(t){var e=new BMRenderFrameErrorEvent(t,this.currentFrame);this.triggerEvent("error",e),this.onError&&this.onError.call(this,e)},AnimationItem.prototype.triggerConfigError=function(t){var e=new BMConfigErrorEvent(t,this.currentFrame);this.triggerEvent("error",e),this.onError&&this.onError.call(this,e)};var Expressions=(EY={},EY.initExpressions=function(t){var e=0,r=[];function i(){var t,e=r.length;for(t=0;t<e;t+=1)r[t].release();r.length=0}t.renderer.compInterface=CompExpressionInterface(t.renderer),t.renderer.globalData.projectInterface.registerComposition(t.renderer),t.renderer.globalData.pushExpression=function(){e+=1},t.renderer.globalData.popExpression=function(){0==(e-=1)&&i()},t.renderer.globalData.registerExpressionProperty=function(t){-1===r.indexOf(t)&&r.push(t)}},EY),EY;expressionsPlugin=Expressions;var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null;function $bm_isInstanceOfArray(t){return t.constructor===Array||t.constructor===Float32Array}function isNumerable(t,e){return"number"===t||"boolean"===t||"string"===t||e instanceof Number}function $bm_neg(t){var e=typeof t;if("number"===e||"boolean"===e||t instanceof Number)return-t;if($bm_isInstanceOfArray(t)){var r,i=t.length,s=[];for(r=0;r<i;r+=1)s[r]=-t[r];return s}return t.propType?t.v:-t}var easeInBez=BezierFactory.getBezierEasing(.333,0,.833,.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(.167,.167,.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(.33,0,.667,1,"easeInOut").get;function sum(t,e){var r=typeof t,i=typeof e;if("string"===r||"string"===i)return t+e;if(isNumerable(r,t)&&isNumerable(i,e))return t+e;if($bm_isInstanceOfArray(t)&&isNumerable(i,e))return(t=t.slice(0))[0]+=e,t;if(isNumerable(r,t)&&$bm_isInstanceOfArray(e))return(e=e.slice(0))[0]=t+e[0],e;if($bm_isInstanceOfArray(t)&&$bm_isInstanceOfArray(e)){for(var s=0,a=t.length,n=e.length,o=[];s<a||s<n;)("number"==typeof t[s]||t[s]instanceof Number)&&("number"==typeof e[s]||e[s]instanceof Number)?o[s]=t[s]+e[s]:o[s]=void 0===e[s]?t[s]:t[s]||e[s],s+=1;return o}return 0}var add=sum;function sub(t,e){var r=typeof t,i=typeof e;if(isNumerable(r,t)&&isNumerable(i,e))return"string"===r&&(t=parseInt(t,10)),"string"===i&&(e=parseInt(e,10)),t-e;if($bm_isInstanceOfArray(t)&&isNumerable(i,e))return(t=t.slice(0))[0]-=e,t;if(isNumerable(r,t)&&$bm_isInstanceOfArray(e))return(e=e.slice(0))[0]=t-e[0],e;if($bm_isInstanceOfArray(t)&&$bm_isInstanceOfArray(e)){for(var s=0,a=t.length,n=e.length,o=[];s<a||s<n;)("number"==typeof t[s]||t[s]instanceof Number)&&("number"==typeof e[s]||e[s]instanceof Number)?o[s]=t[s]-e[s]:o[s]=void 0===e[s]?t[s]:t[s]||e[s],s+=1;return o}return 0}function mul(t,e){var r,i,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&isNumerable(n,e))return t*e;if($bm_isInstanceOfArray(t)&&isNumerable(n,e)){for(s=t.length,r=createTypedArray("float32",s),i=0;i<s;i+=1)r[i]=t[i]*e;return r}if(isNumerable(a,t)&&$bm_isInstanceOfArray(e)){for(s=e.length,r=createTypedArray("float32",s),i=0;i<s;i+=1)r[i]=t*e[i];return r}return 0}function div(t,e){var r,i,s,a=typeof t,n=typeof e;if(isNumerable(a,t)&&isNumerable(n,e))return t/e;if($bm_isInstanceOfArray(t)&&isNumerable(n,e)){for(s=t.length,r=createTypedArray("float32",s),i=0;i<s;i+=1)r[i]=t[i]/e;return r}if(isNumerable(a,t)&&$bm_isInstanceOfArray(e)){for(s=e.length,r=createTypedArray("float32",s),i=0;i<s;i+=1)r[i]=t/e[i];return r}return 0}function mod(t,e){return"string"==typeof t&&(t=parseInt(t,10)),"string"==typeof e&&(e=parseInt(e,10)),t%e}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(t,e,r){if(r<e){var i=r;r=e,e=i}return Math.min(Math.max(t,e),r)}function radiansToDegrees(t){return t/degToRads}
vendor: 9,162 bytes, line 16193
16193var radians_to_degrees=radiansToDegrees;function degreesToRadians(t){return t*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(t,e){if("number"==typeof t||t instanceof Number)return e=e||0,Math.abs(t-e);var r;e||(e=helperLengthArray);var i=Math.min(t.length,e.length),s=0;for(r=0;r<i;r+=1)s+=Math.pow(e[r]-t[r],2);return Math.sqrt(s)}function normalize(t){return div(t,length(t))}function rgbToHsl(t){var e,r,i=t[0],s=t[1],a=t[2],n=Math.max(i,s,a),o=Math.min(i,s,a),h=(n+o)/2;if(n===o)r=e=0;else{var l=n-o;switch(r=.5<h?l/(2-n-o):l/(n+o),n){case i:e=(s-a)/l+(s<a?6:0);break;case s:e=(a-i)/l+2;break;case a:e=(i-s)/l+4}e/=6}return[e,r,h,t[3]]}function hue2rgb(t,e,r){return r<0&&(r+=1),1<r&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}function hslToRgb(t){var e,r,i,s=t[0],a=t[1],n=t[2];if(0===a)r=i=e=n;else{var o=n<.5?n*(1+a):n+a-n*a,h=2*n-o;e=hue2rgb(h,o,s+1/3),r=hue2rgb(h,o,s),i=hue2rgb(h,o,s-1/3)}return[e,r,i,t[3]]}function linear(t,e,r,i,s){if(void 0!==i&&void 0!==s||(i=e,s=r,e=0,r=1),r<e){var a=r;r=e,e=a}if(t<=e)return i;if(r<=t)return s;var n,o=r===e?0:(t-e)/(r-e);if(!i.length)return i+(s-i)*o;var h=i.length,l=createTypedArray("float32",h);for(n=0;n<h;n+=1)l[n]=i[n]+(s[n]-i[n])*o;return l}function random(t,e){if(void 0===e&&(void 0===t?(t=0,e=1):(e=t,t=void 0)),e.length){var r,i=e.length;t||(t=createTypedArray("float32",i));var s=createTypedArray("float32",i),a=BMMath.random();for(r=0;r<i;r+=1)s[r]=t[r]+a*(e[r]-t[r]);return s}return void 0===t&&(t=0),t+BMMath.random()*(e-t)}function createPath(t,e,r,i){var s,a=t.length,n=shapePool.newElement();n.setPathData(!!i,a);var o,h,l=[0,0];for(s=0;s<a;s+=1)o=e&&e[s]?e[s]:l,h=r&&r[s]?r[s]:l,n.setTripleAt(t[s][0],t[s][1],h[0]+t[s][0],h[1]+t[s][1],o[0]+t[s][0],o[1]+t[s][1],s,!0);return n}function initiateExpression(elem,data,property){var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=-1!==val.indexOf("random"),elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||!0!==this.data.hd,wiggle=function(t,e){var r,i,s=this.pv.length?this.pv.length:1,a=createTypedArray("float32",s);var n=Math.floor(5*time);for(i=r=0;r<n;){for(i=0;i<s;i+=1)a[i]+=-e+2*e*BMMath.random();r+=1}var o=5*time,h=o-Math.floor(o),l=createTypedArray("float32",s);if(1<s){for(i=0;i<s;i+=1)l[i]=this.pv[i]+a[i]+(-e+2*e*BMMath.random())*h;return l}return this.pv+a[0]+(-e+2*e*BMMath.random())*h}.bind(this);function loopInDuration(t,e){return loopIn(t,e,!0)}function loopOutDuration(t,e){return loopOut(t,e,!0)}thisProperty.loopIn&&(loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn),thisProperty.loopOut&&(loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut),thisProperty.smooth&&(smooth=thisProperty.smooth.bind(thisProperty)),this.getValueAtTime&&(valueAtTime=this.getValueAtTime.bind(this)),this.getVelocityAtTime&&(velocityAtTime=this.getVelocityAtTime.bind(this));var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface),time,velocity,value,text,textIndex,textTotal,selectorValue;function lookAt(t,e){var r=[e[0]-t[0],e[1]-t[1],e[2]-t[2]],i=Math.atan2(r[0],Math.sqrt(r[1]*r[1]+r[2]*r[2]))/degToRads;return[-Math.atan2(r[1],r[2])/degToRads,i,0]}function easeOut(t,e,r,i,s){return applyEase(easeOutBez,t,e,r,i,s)}function easeIn(t,e,r,i,s){return applyEase(easeInBez,t,e,r,i,s)}function ease(t,e,r,i,s){return applyEase(easeInOutBez,t,e,r,i,s)}function applyEase(t,e,r,i,s,a){void 0===s?(s=r,a=i):e=(e-r)/(i-r),1<e?e=1:e<0&&(e=0);var n=t(e);if($bm_isInstanceOfArray(s)){var o,h=s.length,l=createTypedArray("float32",h);for(o=0;o<h;o+=1)l[o]=(a[o]-s[o])*n+s[o];return l}return(a-s)*n+s}function nearestKey(t){var e,r,i,s=data.k.length;if(data.k.length&&"number"!=typeof data.k[0])if(r=-1,(t*=elem.comp.globalData.frameRate)<data.k[0].t)r=1,i=data.k[0].t;else{for(e=0;e<s-1;e+=1){if(t===data.k[e].t){r=e+1,i=data.k[e].t;break}if(t>data.k[e].t&&t<data.k[e+1].t){i=t-data.k[e].t>data.k[e+1].t-t?(r=e+2,data.k[e+1].t):(r=e+1,data.k[e].t);break}}-1===r&&(r=e+1,i=data.k[e].t)}else i=r=0;var a={};return a.index=r,a.time=i/elem.comp.globalData.frameRate,a}function key(t){var e,r,i;if(!data.k.length||"number"==typeof data.k[0])throw new Error("The property has no keyframe at index "+t);t-=1,e={time:data.k[t].t/elem.comp.globalData.frameRate,value:[]};var s=Object.prototype.hasOwnProperty.call(data.k[t],"s")?data.k[t].s:data.k[t-1].e;for(i=s.length,r=0;r<i;r+=1)e[r]=s[r],e.value[r]=s[r];return e}function framesToTime(t,e){return e||(e=elem.comp.globalData.frameRate),t/e}function timeToFrames(t,e){return t||0===t||(t=time),e||(e=elem.comp.globalData.frameRate),t*e}function seedRandom(t){BMMath.seedrandom(randSeed+t)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(t,e){return"string"==typeof value?void 0===e?value.substring(t):value.substring(t,e):""}function substr(t,e){return"string"==typeof value?void 0===e?value.substr(t):value.substr(t,e):""}function posterizeTime(t){time=0===t?0:Math.floor(time*t)/t,value=valueAtTime(time)}var index=elem.data.ind,hasParent=!(!elem.hierarchy||!elem.hierarchy.length),parent,randSeed=Math.floor(1e6*Math.random()),globalData=elem.globalData;function executeExpression(t){return value=t,_needsRandom&&seedRandom(randSeed),this.frameExpressionId===elem.globalData.frameId&&"textSelector"!==this.propType?value:("textSelector"===this.propType&&(textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue),thisLayer||(text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp),transform||(transform=elem.layerInterface("ADBE Transform Group"),($bm_transform=transform)&&(anchorPoint=transform.anchorPoint)),4!==elemType||content||(content=thisLayer("ADBE Root Vectors Group")),effect||(effect=thisLayer(4)),(hasParent=!(!elem.hierarchy||!elem.hierarchy.length))&&!parent&&(parent=elem.hierarchy[0].layerInterface),time=this.comp.renderedFrame/this.comp.globalData.frameRate,needsVelocity&&(velocity=velocityAtTime(time)),expression_function(),this.frameExpressionId=elem.globalData.frameId,"shape"===scoped_bm_rt.propType&&(scoped_bm_rt=scoped_bm_rt.v),scoped_bm_rt)}return executeExpression}return ob.initiateExpression=initiateExpression,ob}(),expressionHelpers={searchExpressions:function(t,e,r){e.x&&(r.k=!0,r.x=!0,r.initiateExpression=ExpressionManager.initiateExpression,r.effectsSequence.push(r.initiateExpression(t,e,r).bind(r)))},getSpeedAtTime:function(t){var e=this.getValueAtTime(t),r=this.getValueAtTime(t+-.01),i=0;if(e.length){var s;for(s=0;s<e.length;s+=1)i+=Math.pow(r[s]-e[s],2);i=100*Math.sqrt(i)}else i=0;return i},getVelocityAtTime:function(t){if(void 0!==this.vel)return this.vel;var e,r,i=this.getValueAtTime(t),s=this.getValueAtTime(t+-.001);if(i.length)for(e=createTypedArray("float32",i.length),r=0;r<i.length;r+=1)e[r]=(s[r]-i[r])/-.001;else e=(s-i)/-.001;return e},getValueAtTime:function(t){return t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastFrame&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<t?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(t,this._cachingAtTime),this._cachingAtTime.lastFrame=t),this._cachingAtTime.value},getStaticValueAtTime:function(){return this.pv},setGroupProperty:function(t){this.propertyGroup=t}};!function(){function o(t,e,r){if(!this.k||!this.keyframes)return this.pv;t=t?t.toLowerCase():"";var i,s,a,n,o,h=this.comp.renderedFrame,l=this.keyframes,p=l[l.length-1].t;if(h<=p)return this.pv;if(r?s=p-(i=e?Math.abs(p-this.elem.comp.globalData.frameRate*e):Math.max(0,p-this.elem.data.ip)):((!e||e>l.length-1)&&(e=l.length-1),i=p-(s=l[l.length-1-e].t)),"pingpong"===t){if(Math.floor((h-s)/i)%2!=0)return this.getValueAtTime((i-(h-s)%i+s)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var m=this.getValueAtTime(s/this.comp.globalData.frameRate,0),f=this.getValueAtTime(p/this.comp.globalData.frameRate,0),c=this.getValueAtTime(((h-s)%i+s)/this.comp.globalData.frameRate,0),d=Math.floor((h-s)/i);if(this.pv.length){for(n=(o=new Array(m.length)).length,a=0;a<n;
vendor: 18,987 bytes, line 16193
16193a+=1)o[a]=(f[a]-m[a])*d+c[a];return o}return(f-m)*d+c}if("continue"===t){var u=this.getValueAtTime(p/this.comp.globalData.frameRate,0),y=this.getValueAtTime((p-.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(n=(o=new Array(u.length)).length,a=0;a<n;a+=1)o[a]=u[a]+(u[a]-y[a])*((h-p)/this.comp.globalData.frameRate)/5e-4;return o}return u+(h-p)/.001*(u-y)}}return this.getValueAtTime(((h-s)%i+s)/this.comp.globalData.frameRate,0)}function h(t,e,r){if(!this.k)return this.pv;t=t?t.toLowerCase():"";var i,s,a,n,o,h=this.comp.renderedFrame,l=this.keyframes,p=l[0].t;if(p<=h)return this.pv;if(r?s=p+(i=e?Math.abs(this.elem.comp.globalData.frameRate*e):Math.max(0,this.elem.data.op-p)):((!e||e>l.length-1)&&(e=l.length-1),i=(s=l[e].t)-p),"pingpong"===t){if(Math.floor((p-h)/i)%2==0)return this.getValueAtTime(((p-h)%i+p)/this.comp.globalData.frameRate,0)}else{if("offset"===t){var m=this.getValueAtTime(p/this.comp.globalData.frameRate,0),f=this.getValueAtTime(s/this.comp.globalData.frameRate,0),c=this.getValueAtTime((i-(p-h)%i+p)/this.comp.globalData.frameRate,0),d=Math.floor((p-h)/i)+1;if(this.pv.length){for(n=(o=new Array(m.length)).length,a=0;a<n;a+=1)o[a]=c[a]-(f[a]-m[a])*d;return o}return c-(f-m)*d}if("continue"===t){var u=this.getValueAtTime(p/this.comp.globalData.frameRate,0),y=this.getValueAtTime((p+.001)/this.comp.globalData.frameRate,0);if(this.pv.length){for(n=(o=new Array(u.length)).length,a=0;a<n;a+=1)o[a]=u[a]+(u[a]-y[a])*(p-h)/.001;return o}return u+(u-y)*(p-h)/.001}}return this.getValueAtTime((i-((p-h)%i+p))/this.comp.globalData.frameRate,0)}function l(t,e){if(!this.k)return this.pv;if(t=.5*(t||.4),(e=Math.floor(e||5))<=1)return this.pv;var r,i,s=this.comp.renderedFrame/this.comp.globalData.frameRate,a=s-t,n=1<e?(s+t-a)/(e-1):1,o=0,h=0;for(r=this.pv.length?createTypedArray("float32",this.pv.length):0;o<e;){if(i=this.getValueAtTime(a+o*n),this.pv.length)for(h=0;h<this.pv.length;h+=1)r[h]+=i[h];else r+=i;o+=1}if(this.pv.length)for(h=0;h<this.pv.length;h+=1)r[h]/=e;else r/=e;return r}var s=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(t,e,r){var i=s(t,e,r);return i.dynamicProperties.length?i.getValueAtTime=function(t){this._transformCachingAtTime||(this._transformCachingAtTime={v:new Matrix});var e=this._transformCachingAtTime.v;if(e.cloneFromProps(this.pre.props),this.appliedTransformations<1){var r=this.a.getValueAtTime(t);e.translate(-r[0]*this.a.mult,-r[1]*this.a.mult,r[2]*this.a.mult)}if(this.appliedTransformations<2){var i=this.s.getValueAtTime(t);e.scale(i[0]*this.s.mult,i[1]*this.s.mult,i[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var s=this.sk.getValueAtTime(t),a=this.sa.getValueAtTime(t);e.skewFromAxis(-s*this.sk.mult,a*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var n=this.r.getValueAtTime(t);e.rotate(-n*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var o=this.rz.getValueAtTime(t),h=this.ry.getValueAtTime(t),l=this.rx.getValueAtTime(t),p=this.or.getValueAtTime(t);e.rotateZ(-o*this.rz.mult).rotateY(h*this.ry.mult).rotateX(l*this.rx.mult).rotateZ(-p[2]*this.or.mult).rotateY(p[1]*this.or.mult).rotateX(p[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var m=this.px.getValueAtTime(t),f=this.py.getValueAtTime(t);if(this.data.p.z){var c=this.pz.getValueAtTime(t);e.translate(m*this.px.mult,f*this.py.mult,-c*this.pz.mult)}else e.translate(m*this.px.mult,f*this.py.mult,0)}else{var d=this.p.getValueAtTime(t);e.translate(d[0]*this.p.mult,d[1]*this.p.mult,-d[2]*this.p.mult)}return e}.bind(i):i.getValueAtTime=function(){return this.v.clone(new Matrix)}.bind(i),i.setGroupProperty=expressionHelpers.setGroupProperty,i};var p=PropertyFactory.getProp;PropertyFactory.getProp=function(t,e,r,i,s){var a=p(t,e,r,i,s);a.kf?a.getValueAtTime=expressionHelpers.getValueAtTime.bind(a):a.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(a),a.setGroupProperty=expressionHelpers.setGroupProperty,a.loopOut=o,a.loopIn=h,a.smooth=l,a.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(a),a.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(a),a.numKeys=1===e.a?e.k.length:0,a.propertyIndex=e.ix;var n=0;return 0!==r&&(n=createTypedArray("float32",1===e.a?e.k[0].s.length:e.k.length)),a._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:n},expressionHelpers.searchExpressions(t,e,a),a.k&&s.addDynamicProperty(a),a};var t=ShapePropertyFactory.getConstructorFunction(),e=ShapePropertyFactory.getKeyframedConstructorFunction();function r(){}r.prototype={vertices:function(t,e){this.k&&this.getValue();var r,i=this.v;void 0!==e&&(i=this.getValueAtTime(e,0));var s=i._length,a=i[t],n=i.v,o=createSizedArray(s);for(r=0;r<s;r+=1)o[r]="i"===t||"o"===t?[a[r][0]-n[r][0],a[r][1]-n[r][1]]:[a[r][0],a[r][1]];return o},points:function(t){return this.vertices("v",t)},inTangents:function(t){return this.vertices("i",t)},outTangents:function(t){return this.vertices("o",t)},isClosed:function(){return this.v.c},pointOnPath:function(t,e){var r=this.v;void 0!==e&&(r=this.getValueAtTime(e,0)),this._segmentsLength||(this._segmentsLength=bez.getSegmentsLength(r));for(var i,s=this._segmentsLength,a=s.lengths,n=s.totalLength*t,o=0,h=a.length,l=0;o<h;){if(l+a[o].addedLength>n){var p=o,m=r.c&&o===h-1?0:o+1,f=(n-l)/a[o].addedLength;i=bez.getPointInSegment(r.v[p],r.v[m],r.o[p],r.i[m],f,a[o]);break}l+=a[o].addedLength,o+=1}return i||(i=r.c?[r.v[0][0],r.v[0][1]]:[r.v[r._length-1][0],r.v[r._length-1][1]]),i},vectorOnPath:function(t,e,r){1==t?t=this.v.c:0==t&&(t=.999);var i=this.pointOnPath(t,e),s=this.pointOnPath(t+.001,e),a=s[0]-i[0],n=s[1]-i[1],o=Math.sqrt(Math.pow(a,2)+Math.pow(n,2));return 0===o?[0,0]:"tangent"===r?[a/o,n/o]:[-n/o,a/o]},tangentOnPath:function(t,e){return this.vectorOnPath(t,e,"tangent")},normalOnPath:function(t,e){return this.vectorOnPath(t,e,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([r],t),extendPrototype([r],e),e.prototype.getValueAtTime=function(t){return this._cachingAtTime||(this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame}),t*=this.elem.globalData.frameRate,(t-=this.offsetTime)!==this._cachingAtTime.lastTime&&(this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<t?this._caching.lastIndex:0,this._cachingAtTime.lastTime=t,this.interpolateShape(t,this._cachingAtTime.shapeValue,this._cachingAtTime)),this._cachingAtTime.shapeValue},e.prototype.initiateExpression=ExpressionManager.initiateExpression;var n=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(t,e,r,i,s){var a=n(t,e,r,i,s);return a.propertyIndex=e.ix,a.lock=!1,3===r?expressionHelpers.searchExpressions(t,e.pt,a):4===r&&expressionHelpers.searchExpressions(t,e.ks,a),a.k&&t.addDynamicProperty(a),a}}(),TextProperty.prototype.getExpressionValue=function(t,e){var r=this.calculateExpression(e);if(t.t===r)return t;var i={};return this.copyData(i,t),i.t=r.toString(),i.__complete=!1,i},TextProperty.prototype.searchProperty=function(){var t=this.searchKeyframes(),e=this.searchExpressions();return this.kf=t||e,this.kf},TextProperty.prototype.searchExpressions=function(){return this.data.d.x?(this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0):null};var ShapePathInterface=function(t,e,r){var i=e.sh;function s(t){return"Shape"===t||"shape"===t||"Path"===t||"path"===t||"ADBE Vector Shape"===t||2===t?s.path:null}var a=propertyGroupFactory(s,r);return i.setGroupProperty(PropertyInterface("Path",a)),Object.defineProperties(s,{path:{get:function(){return i.k&&i.getValue(),i}},shape:{get:function(){return i.k&&i.getValue(),i}},_name:{value:t.nm},ix:{value:t.ix},propertyIndex:{value:t.ix},mn:{value:t.mn},propertyGroup:{value:r}}),s},propertyGroupFactory=function(e,r){return function(t){return(t=void 0===t?1:t)<=0?e:r(t-1)}},PropertyInterface=function(t,e){var r={_name:t};return function(t){return(t=void 0===t?1:t)<=0?r:e(t-1)}},ShapeExpressionInterface=function(){function n(t,e,r){var i,s=[],a=t?t.length:0;for(i=0;i<a;i+=1)"gr"===t[i].ty?s.push(o(t[i],e[i],r)):"fl"===t[i].ty?s.push(h(t[i],e[i],r)):"st"===t[i].ty?s.push(m(t[i],e[i],r)):"tm"===t[i].ty?s.push(f(t[i],e[i],r)):"tr"===t[i].ty||("el"===t[i].ty?s.push(d(t[i],e[i],r)):"sr"===t[i].ty?s.push(u(t[i],e[i],r)):"sh"===t[i].ty?s.push(ShapePathInterface(t[i],e[i],r)):"rc"===t[i].ty?s.push(y(t[i],e[i],r)):"rd"===t[i].ty?s.push(g(t[i],e[i],r)):"rp"===t[i].ty?s.push(v(t[i],e[i],r)):"gf"===t[i].ty?s.push(l(t[i],e[i],r)):s.push(p(t[i],e[i])));return s}function o(t,e,r){var i=function(t){switch(t){case"ADBE Vectors Group":case"Contents":case 2:return i.content;default:return i.transform}};i.propertyGroup=propertyGroupFactory(i,r);var s=function(t,e,r){var i,s=function(t){for(var e=0,r=i.length;e<r;){if(i[e]._name===t||i[e].mn===t||i[e].propertyIndex===t||i[e].ix===t||i[e].ind===t)return i[e];e+=1}return"number"==typeof t?i[t-1]:null};s.propertyGroup=propertyGroupFactory(s,r),i=n(t.it,e.it,s.propertyGroup),s.numProperties=i.length;var a=c(t.it[t.it.length-1],e.it[e.it.length-1],s.propertyGroup);return s.transform=a,s.propertyIndex=t.cix,s._name=t.nm,s}(t,e,i.propertyGroup),a=c(t.it[t.it.length-1],e.it[e.it.length-1],i.propertyGroup);return i.content=s,i.transform=a,Object.defineProperty(i,"_name",{get:function(){return t.nm}}),i.numProperties=t.np,i.propertyIndex=t.ix,i.nm=t.nm,i.mn=t.mn,i}function h(t,e,r){function i(t){return"Color"===t||"color"===t?i.color:"Opacity"===t||"opacity"===t?i.opacity:null}return Object.defineProperties(i,{color:{get:ExpressionPropertyInterface(e.c)},opacity:{get:ExpressionPropertyInterface(e.o)},_name:{value:t.nm},mn:{value:t.mn}}),e.c.setGroupProperty(PropertyInterface("Color",r)),e.o.setGroupProperty(PropertyInterface("Opacity",r)),i}function l(t,e,r){function i(t){return"Start Point"===t||"start point"===t?i.startPoint:"End Point"===t||"end point"===t?i.endPoint:"Opacity"===t||"opacity"===t?i.opacity:null}return Object.defineProperties(i,{startPoint:{get:ExpressionPropertyInterface(e.s)},endPoint:{get:ExpressionPropertyInterface(e.e)},opacity:{get:ExpressionPropertyInterface(e.o)},type:{get:function(){return"a"}},_name:{value:t.nm},mn:{value:t.mn}}),e.s.setGroupProperty(PropertyInterface("Start Point",r)),e.e.setGroupProperty(PropertyInterface("End Point",r)),e.o.setGroupProperty(PropertyInterface("Opacity",r)),i}function p(){return function(){return null}}function m(t,e,r){var i,s=propertyGroupFactory(l,r),a=propertyGroupFactory(h,s);var n,o=t.d?t.d.length:0,h={};for(i=0;i<o;i+=1)n=i,Object.defineProperty(h,t.d[n].nm,{get:ExpressionPropertyInterface(e.d.dataProps[n].p)}),e.d.dataProps[i].p.setGroupProperty(a);function l(t){return"Color"===t||"color"===t?l.color:"Opacity"===t||"opacity"===t?l.opacity:"Stroke Width"===t||"stroke width"===t?l.strokeWidth:null}return Object.defineProperties(l,{color:{get:ExpressionPropertyInterface(e.c)},opacity:{get:ExpressionPropertyInterface(e.o)},strokeWidth:{get:ExpressionPropertyInterface(e.w)},dash:{get:function(){return h}},_name:{value:t.nm},mn:{value:t.mn}}),e.c.setGroupProperty(PropertyInterface("Color",s)),e.o.setGroupProperty(PropertyInterface("Opacity",s)),e.w.setGroupProperty(PropertyInterface("Stroke Width",s)),l}function f(e,t,r){function i(t){return t===e.e.ix||"End"===t||"end"===t?i.end:t===e.s.ix?i.start:t===e.o.ix?i.offset:null}var s=propertyGroupFactory(i,r);return i.propertyIndex=e.ix,t.s.setGroupProperty(PropertyInterface("Start",s)),t.e.setGroupProperty(PropertyInterface("End",s)),t.o.setGroupProperty(PropertyInterface("Offset",s)),i.propertyIndex=e.ix,i.propertyGroup=r,Object.defineProperties(i,{start:{get:ExpressionPropertyInterface(t.s)},end:{get:ExpressionPropertyInterface(t.e)},offset:{get:ExpressionPropertyInterface(t.o)},_name:{value:e.nm}}),i.mn=e.mn,i}function c(e,t,r){function i(t){return e.a.ix===t||"Anchor Point"===t?i.anchorPoint:e.o.ix===t||"Opacity"===t?i.opacity:e.p.ix===t||"Position"===t?i.position:e.r.ix===t||"Rotation"===t||"ADBE Vector Rotation"===t?i.rotation:e.s.ix===t||"Scale"===t?i.scale:e.sk&&e.sk.ix===t||"Skew"===t?i.skew:e.sa&&e.sa.ix===t||"Skew Axis"===t?i.skewAxis:null}var s=propertyGroupFactory(i,r);return t.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",s)),t.transform.mProps.p.setGroupProperty(PropertyInterface("Position",s)),t.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",s)),t.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",s)),t.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",s)),t.transform.mProps.sk&&(t.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",s)),t.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",s))),t.transform.op.setGroupProperty(PropertyInterface("Opacity",s)),Object.defineProperties(i,{opacity:{get:ExpressionPropertyInterface(t.transform.mProps.o)},position:{get:ExpressionPropertyInterface(t.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(t.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(t.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(t.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(t.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(t.transform.mProps.sa)},_name:{value:e.nm}}),i.ty="tr",i.mn=e.mn,i.propertyGroup=r,i}function d(e,t,r){function i(t){return e.p.ix===t?i.position:e.s.ix===t?i.size:null}var s=propertyGroupFactory(i,r);i.propertyIndex=e.ix;var a="tm"===t.sh.ty?t.sh.prop:t.sh;return a.s.setGroupProperty(PropertyInterface("Size",s)),a.p.setGroupProperty(PropertyInterface("Position",s)),Object.defineProperties(i,{size:{get:ExpressionPropertyInterface(a.s)},position:{get:ExpressionPropertyInterface(a.p)},_name:{value:e.nm}}),i.mn=e.mn,i}function u(e,t,r){function i(t){return e.p.ix===t?i.position:e.r.ix===t?i.rotation:e.pt.ix===t?i.points:e.or.ix===t||"ADBE Vector Star Outer Radius"===t?i.outerRadius:e.os.ix===t?i.outerRoundness:!e.ir||e.ir.ix!==t&&"ADBE Vector Star Inner Radius"!==t?e.is&&e.is.ix===t?i.innerRoundness:null:i.innerRadius}var s=propertyGroupFactory(i,r),a="tm"===t.sh.ty?t.sh.prop:t.sh;return i.propertyIndex=e.ix,a.or.setGroupProperty(PropertyInterface("Outer Radius",s)),a.os.setGroupProperty(PropertyInterface("Outer Roundness",s)),a.pt.setGroupProperty(PropertyInterface("Points",s)),a.p.setGroupProperty(PropertyInterface("Position",s)),a.r.setGroupProperty(PropertyInterface("Rotation",s)),e.ir&&(a.ir.setGroupProperty(PropertyInterface("Inner Radius",s)),a.is.setGroupProperty(PropertyInterface("Inner Roundness",s))),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(a.p)},rotation:{get:ExpressionPropertyInterface(a.r)},points:{get:ExpressionPropertyInterface(a.pt)},outerRadius:{get:ExpressionPropertyInterface(a.or)},outerRoundness:{get:ExpressionPropertyInterface(a.os)},innerRadius:{get:ExpressionPropertyInterface(a.ir)},innerRoundness:{get:ExpressionPropertyInterface(a.is)},_name:{value:e.nm}}),i.mn=e.mn,i}function y(e,t,r){function i(t){return e.p.ix===t?i.position:e.r.ix===t?i.roundness:e.s.ix===t||"Size"===t||"ADBE Vector Rect Size"===t?i.size:null}var s=propertyGroupFactory(i,r),a="tm"===t.sh.ty?t.sh.prop:t.sh;return i.propertyIndex=e.ix,a.p.setGroupProperty(PropertyInterface("Position",s)),a.s.setGroupProperty(PropertyInterface("Size",s)),a.r.setGroupProperty(PropertyInterface("Rotation",s)),Object.defineProperties(i,{position:{get:ExpressionPropertyInterface(a.p)},roundness:{get:ExpressionPropertyInterface(a.r)},size:{get:ExpressionPropertyInterface(a.s)},_name:{value:e.nm}}),i.mn=e.mn,i}function g(e,t,r){function i(t){return e.r.ix===t||"Round Corners 1"===t?i.radius:null}var s=propertyGroupFactory(i,r),a=t;return i.propertyIndex=e.ix,a.rd.setGroupProperty(PropertyInterface("Radius",s)),Object.defineProperties(i,{radius:{get:ExpressionPropertyInterface(a.rd)},_name:{value:e.nm}}),i.mn=e.mn,i}function v(e,t,r){function i(t){return e.c.ix===t||"Copies"===t?i.copies:e.o.ix===t||"Offset"===t?i.offset:null}var s=propertyGroupFactory(i,r),a=t;return i.propertyIndex=e.ix,a.c.setGroupProperty(PropertyInterface("Copies",s)),a.o.setGroupProperty(PropertyInterface("Offset",s)),Object.defineProperties(i,{copies:{get:ExpressionPropertyInterface(a.c)},offset:{get:ExpressionPropertyInterface(a.o)},_name:{value:e.nm}}),i.mn=e.mn,i}return function(t,e,i){var s;function r(t){if("number"==typeof t)return 0===(t=void 0===t?1:t)?i:s[t-1];for(var e=0,r=s.length;e<r;){if(s[e]._name===t)return s[e];e+=1}return null}return r.propertyGroup=propertyGroupFactory(r,function(){return i}),s=n(t,e,r.propertyGroup),r.numProperties=s.length,r._name="Contents",r}}(),TextExpressionInterface=function(e){var r;function i(t){switch(t){case"ADBE Text Document":return i.sourceText;default:return null}}return Object.defineProperty(i,"sourceText",{get:function(){e.textProperty.getValue();var t=e.textProperty.currentData.t;return void 0!==t&&(e.textProperty.currentData.t=void 0,(r=new String(t)).value=t||new String(t)),r}}),i},LayerExpressionInterface=function(){function s(t){var e=new Matrix;void 0!==t?this._elem.finalTransform.mProp.getValueAtTime(t).clone(e):this._elem.finalTransform.mProp.applyToMatrix(e);return e}function a(t,e){var r=this.getMatrix(e);return r.props[12]=0,r.props[13]=0,r.props[14]=0,this.applyPoint(r,t)}function n(t,e){var r=this.getMatrix(e);return this.applyPoint(r,t)}function o(t,e){var r=this.getMatrix(e);return r.props[12]=0,r.props[13]=0,r.props[14]=0,this.invertPoint(r,t)}function h(t,e){var r=this.getMatrix(e);return this.invertPoint(r,t)}function l(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)}return t.applyToPointArray(e[0],e[1],e[2]||0)}function p(t,e){if(this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(t)}return t.inversePoint(e)}function m(t){var e=new Matrix;if(e.reset(),this._elem.finalTransform.mProp.applyToMatrix(e),this._elem.hierarchy&&this._elem.hierarchy.length){var r,i=this._elem.hierarchy.length;for(r=0;r<i;r+=1)this._elem.hierarchy[r].finalTransform.mProp.applyToMatrix(e);return e.inversePoint(t)}return e.inversePoint(t)}function f(){return[1,1,1,1]}return function(e){var r;function i(t){switch(t){case"ADBE Root Vectors Group":case"Contents":case 2:return i.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return r;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return i.effect;case"ADBE Text Properties":return i.textInterface;default:return null}}i.getMatrix=s,i.invertPoint=p,i.applyPoint=l,i.toWorld=n,i.toWorldVec=a,i.fromWorld=h,i.fromWorldVec=o,i.toComp=n,i.fromComp=m,i.sampleImage=f,i.sourceRectAtTime=e.sourceRectAtTime.bind(e);
vendor: 4,678 bytes, line 16193
16193var t=getDescriptor(r=TransformExpressionInterface((i._elem=e).finalTransform.mProp),"anchorPoint");return Object.defineProperties(i,{hasParent:{get:function(){return e.hierarchy.length}},parent:{get:function(){return e.hierarchy[0].layerInterface}},rotation:getDescriptor(r,"rotation"),scale:getDescriptor(r,"scale"),position:getDescriptor(r,"position"),opacity:getDescriptor(r,"opacity"),anchorPoint:t,anchor_point:t,transform:{get:function(){return r}},active:{get:function(){return e.isInRange}}}),i.startTime=e.data.st,i.index=e.data.ind,i.source=e.data.refId,i.height=0===e.data.ty?e.data.h:100,i.width=0===e.data.ty?e.data.w:100,i.inPoint=e.data.ip/e.comp.globalData.frameRate,i.outPoint=e.data.op/e.comp.globalData.frameRate,i._name=e.data.nm,i.registerMaskInterface=function(t){i.mask=new MaskManagerInterface(t,e)},i.registerEffectsInterface=function(t){i.effect=t},i}}(),FootageInterface=(q6=function(t){function e(t){return"Outline"===t?e.outlineInterface():null}return e._name="Outline",e.outlineInterface=function(t){var i="",s=t.getFootageData();function a(t){if(s[t])return"object"==typeof(s=s[i=t])?a:s;var e=t.indexOf(i);if(-1===e)return"";var r=parseInt(t.substr(e+i.length),10);return"object"==typeof(s=s[r])?a:s}return function(){return i="",s=t.getFootageData(),a}}(t),e},function(t){function e(t){return"Data"===t?e.dataInterface:null}return e._name="Data",e.dataInterface=q6(t),e}),q6,CompExpressionInterface=function(i){function t(t){for(var e=0,r=i.layers.length;e<r;){if(i.layers[e].nm===t||i.layers[e].ind===t)return i.elements[e].layerInterface;e+=1}return null}return Object.defineProperty(t,"_name",{value:i.data.nm}),(t.layer=t).pixelAspect=1,t.height=i.data.h||i.globalData.compSize.h,t.width=i.data.w||i.globalData.compSize.w,t.pixelAspect=1,t.frameDuration=1/i.globalData.frameRate,t.displayStartTime=0,t.numLayers=i.layers.length,t},TransformExpressionInterface=function(t){function e(t){switch(t){case"scale":case"Scale":case"ADBE Scale":case 6:return e.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return e.rotation;case"ADBE Rotate X":return e.xRotation;case"ADBE Rotate Y":return e.yRotation;case"position":case"Position":case"ADBE Position":case 2:return e.position;case"ADBE Position_0":return e.xPosition;case"ADBE Position_1":return e.yPosition;case"ADBE Position_2":return e.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return e.anchorPoint;case"opacity":case"Opacity":case 11:return e.opacity;default:return null}}var r,i,s,a;return Object.defineProperty(e,"rotation",{get:ExpressionPropertyInterface(t.r||t.rz)}),Object.defineProperty(e,"zRotation",{get:ExpressionPropertyInterface(t.rz||t.r)}),Object.defineProperty(e,"xRotation",{get:ExpressionPropertyInterface(t.rx)}),Object.defineProperty(e,"yRotation",{get:ExpressionPropertyInterface(t.ry)}),Object.defineProperty(e,"scale",{get:ExpressionPropertyInterface(t.s)}),t.p?a=ExpressionPropertyInterface(t.p):(r=ExpressionPropertyInterface(t.px),i=ExpressionPropertyInterface(t.py),t.pz&&(s=ExpressionPropertyInterface(t.pz))),Object.defineProperty(e,"position",{get:function(){return t.p?a():[r(),i(),s?s():0]}}),Object.defineProperty(e,"xPosition",{get:ExpressionPropertyInterface(t.px)}),Object.defineProperty(e,"yPosition",{get:ExpressionPropertyInterface(t.py)}),Object.defineProperty(e,"zPosition",{get:ExpressionPropertyInterface(t.pz)}),Object.defineProperty(e,"anchorPoint",{get:ExpressionPropertyInterface(t.a)}),Object.defineProperty(e,"opacity",{get:ExpressionPropertyInterface(t.o)}),Object.defineProperty(e,"skew",{get:ExpressionPropertyInterface(t.sk)}),Object.defineProperty(e,"skewAxis",{get:ExpressionPropertyInterface(t.sa)}),Object.defineProperty(e,"orientation",{get:ExpressionPropertyInterface(t.or)}),e},ProjectInterface=function(){function e(t){this.compositions.push(t)}return function(){function t(t){for(var e=0,r=this.compositions.length;e<r;){if(this.compositions[e].data&&this.compositions[e].data.nm===t)return this.compositions[e].prepareFrame&&this.compositions[e].data.xt&&this.compositions[e].prepareFrame(this.currentFrame),this.compositions[e].compInterface;e+=1}return null}return t.compositions=[],t.currentFrame=0,t.registerComposition=e,t}}(),EffectsExpressionInterface=function(){function l(s,t,e,r){function i(t){for(var e=s.ef,r=0,i=e.length;r<i;){if(t===e[r].nm||t===e[r].mn||t===e[r].ix)return 5===e[r].ty?o[r]:o[r]();r+=1}throw new Error}var a,n=propertyGroupFactory(i,e),o=[],h=s.ef.length;for(a=0;a<h;a+=1)5===s.ef[a].ty?o.push(l(s.ef[a],t.effectElements[a],t.effectElements[a].propertyGroup,r)):o.push(p(t.effectElements[a],s.ef[a].ty,r,n));
vendor: 8,885 bytes, lines 16193-16230
16193return"ADBE Color Control"===s.mn&&Object.defineProperty(i,"color",{get:function(){return o[0]()}}),Object.defineProperties(i,{numProperties:{get:function(){return s.np}},_name:{value:s.nm},propertyGroup:{value:n}}),i.enabled=0!==s.en,i.active=i.enabled,i}function p(t,e,r,i){var s=ExpressionPropertyInterface(t.p);return t.p.setGroupProperty&&t.p.setGroupProperty(PropertyInterface("",i)),function(){return 10===e?r.comp.compInterface(t.p.v):s()}}return{createEffectsInterface:function(t,e){if(t.effectsManager){var r,i=[],s=t.data.ef,a=t.effectsManager.effectElements.length;for(r=0;r<a;r+=1)i.push(l(s[r],t.effectsManager.effectElements[r],e,t));var n=t.data.ef||[],o=function(t){for(r=0,a=n.length;r<a;){if(t===n[r].nm||t===n[r].mn||t===n[r].ix)return i[r];r+=1}return null};return Object.defineProperty(o,"numProperties",{get:function(){return n.length}}),o}return null}}}(),MaskManagerInterface=function(){function t(t,e){this._mask=t,this._data=e}Object.defineProperty(t.prototype,"maskPath",{get:function(){return this._mask.prop.k&&this._mask.prop.getValue(),this._mask.prop}}),Object.defineProperty(t.prototype,"maskOpacity",{get:function(){return this._mask.op.k&&this._mask.op.getValue(),100*this._mask.op.v}});return function(e){var r,i=createSizedArray(e.viewData.length),s=e.viewData.length;for(r=0;r<s;r+=1)i[r]=new t(e.viewData[r],e.masksProperties[r]);return function(t){for(r=0;r<s;){if(e.masksProperties[r].nm===t)return i[r];r+=1}return null}}}(),ExpressionPropertyInterface=function(){var s={pv:0,v:0,mult:1},n={pv:[0,0,0],v:[0,0,0],mult:1};function o(i,s,a){Object.defineProperty(i,"velocity",{get:function(){return s.getVelocityAtTime(s.comp.currentFrame)}}),i.numKeys=s.keyframes?s.keyframes.length:0,i.key=function(t){if(!i.numKeys)return 0;var e="";e="s"in s.keyframes[t-1]?s.keyframes[t-1].s:"e"in s.keyframes[t-2]?s.keyframes[t-2].e:s.keyframes[t-2].s;var r="unidimensional"===a?new Number(e):Object.assign({},e);return r.time=s.keyframes[t-1].t/s.elem.comp.globalData.frameRate,r.value="unidimensional"===a?e[0]:e,r},i.valueAtTime=s.getValueAtTime,i.speedAtTime=s.getSpeedAtTime,i.velocityAtTime=s.getVelocityAtTime,i.propertyGroup=s.propertyGroup}function e(){return s}return function(t){return t?"unidimensional"===t.propType?function(t){t&&"pv"in t||(t=s);var e=1/t.mult,r=t.pv*e,i=new Number(r);return i.value=r,o(i,t,"unidimensional"),function(){return t.k&&t.getValue(),r=t.v*e,i.value!==r&&((i=new Number(r)).value=r,o(i,t,"unidimensional")),i}}(t):function(e){e&&"pv"in e||(e=n);var r=1/e.mult,i=e.data&&e.data.l||e.pv.length,s=createTypedArray("float32",i),a=createTypedArray("float32",i);return s.value=a,o(s,e,"multidimensional"),function(){e.k&&e.getValue();for(var t=0;t<i;t+=1)a[t]=e.v[t]*r,s[t]=a[t];return s}}(t):e}}(),TextExpressionSelectorPropFactory=function(){function r(t,e){return this.textIndex=t+1,this.textTotal=e,this.v=this.getValue()*this.mult,this.v}return function(t,e){this.pv=1,this.comp=t.comp,this.elem=t,this.mult=.01,this.propType="textSelector",this.textTotal=e.totalChars,this.selectorValue=100,this.lastValue=[1,1,1],this.k=!0,this.x=!0,this.getValue=ExpressionManager.initiateExpression.bind(this)(t,e,this),this.getMult=r,this.getVelocityAtTime=expressionHelpers.getVelocityAtTime,this.kf?this.getValueAtTime=expressionHelpers.getValueAtTime.bind(this):this.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(this),this.setGroupProperty=expressionHelpers.setGroupProperty}}(),propertyGetTextProp=TextSelectorProp.getTextSelectorProp;function SliderEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function AngleEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function ColorEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,1,0,r)}function PointEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,1,0,r)}function LayerIndexEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function MaskIndexEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function CheckboxEffect(t,e,r){this.p=PropertyFactory.getProp(e,t.v,0,0,r)}function NoValueEffect(){this.p={}}function EffectsManager(t,e){var r,i=t.ef||[];this.effectElements=[];var s,a=i.length;for(r=0;r<a;r+=1)s=new GroupEffect(i[r],e),this.effectElements.push(s)}function GroupEffect(t,e){this.init(t,e)}TextSelectorProp.getTextSelectorProp=function(t,e,r){return 1===e.t?new TextExpressionSelectorPropFactory(t,e,r):propertyGetTextProp(t,e,r)},extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(t,e){var r;this.data=t,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,s=this.data.ef.length,a=this.data.ef;for(r=0;r<s;r+=1){switch(i=null,a[r].ty){case 0:i=new SliderEffect(a[r],e,this);break;case 1:i=new AngleEffect(a[r],e,this);break;case 2:i=new ColorEffect(a[r],e,this);break;case 3:i=new PointEffect(a[r],e,this);break;case 4:case 7:i=new CheckboxEffect(a[r],e,this);break;case 10:i=new LayerIndexEffect(a[r],e,this);break;case 11:i=new MaskIndexEffect(a[r],e,this);break;case 5:i=new EffectsManager(a[r],e,this);break;default:i=new NoValueEffect(a[r],e,this)}i&&this.effectElements.push(i)}};var lottie={};function setLocationHref(t){locationHref=t}function searchAnimations(){!0===standalone?animationManager.searchAnimations(animationData,standalone,renderer):animationManager.searchAnimations()}function setSubframeRendering(t){subframeEnabled=t}function setIDPrefix(t){idPrefix=t}function loadAnimation(t){return!0===standalone&&(t.animationData=JSON.parse(animationData)),animationManager.loadAnimation(t)}function setQuality(t){if("string"==typeof t)switch(t){case"high":defaultCurveSegments=200;break;default:case"medium":defaultCurveSegments=50;break;case"low":defaultCurveSegments=10}else!isNaN(t)&&1<t&&(defaultCurveSegments=t);roundValues(!(50<=defaultCurveSegments))}function inBrowser(){return"undefined"!=typeof navigator}function installPlugin(t,e){"expressions"===t&&(expressionsPlugin=e)}function getFactory(t){switch(t){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}function checkReady(){"complete"===document.readyState&&(clearInterval(readyStateCheckInterval),searchAnimations())}function getQueryVariable(t){for(var e=queryString.split("&"),r=0;r<e.length;r+=1){var i=e[r].split("=");if(decodeURIComponent(i[0])==t)return decodeURIComponent(i[1])}return null}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocationHref,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.setIDPrefix=setIDPrefix,lottie.__getFactory=getFactory,lottie.version="5.7.13";var standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="",queryString;if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src.replace(/^[^\?]+\??/,""),renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100); 16194return lottie; 16195})); 16196 16197/***/ }), 16198/* 361 */ 16199/***/ (function(module, exports, __webpack_require__) { 16200 16201"use strict"; 16202 // @wf-will-never-add-flow-to-this-file 16203 16204/* 16205 global 16206 window, document, Event 16207*/ 16208 16209/*---------------------------------------- 16210 * objectFitPolyfill 2.3.0 16211 * 16212 * Basic, no-frills version - 16213 * Defaults to object-fit: cover and object-position: 50% 50% 16214 * 16215 * Made by Constance Chen 16216 * Released under the MIT license 16217 * 16218 * https://github.com/constancecchen/object-fit-polyfill 16219 *--------------------------------------*/ 16220 16221var _interopRequireDefault = __webpack_require__(3); 16222 16223var _typeof2 = _interopRequireDefault(__webpack_require__(37)); 16224 16225(function () { 16226 // if the page is being rendered on the server, don't continue 16227 if (typeof window === 'undefined') return; // Workaround for Edge 16+, which only implemented object-fit for <img> tags 16228 // TODO: Keep an eye on Edge to determine which version has full final support 16229 16230 var edgeVersion = window.navigator.userAgent.match(/Edge\/(\d{2})\./);
16231 var edgePartialSupport = edgeVersion ? parseInt(edgeVersion[1], 10) >= 16 : false; // If the browser does support object-fit, we don't need to continue 16232 16233 var hasSupport = 'objectFit' in document.documentElement.style !== false; 16234 16235 if (hasSupport && !edgePartialSupport) { 16236 window.objectFitPolyfill = function () { 16237 return false; 16238 }; 16239 16240 return; 16241 } 16242 /** 16243 * Check the container's parent element to make sure it will 16244 * correctly handle and clip absolutely positioned children 16245 * 16246 * @param {node} $container - parent element 16247 */ 16248 16249 16250 var checkParentContainer = function checkParentContainer($container) { 16251 var styles = window.getComputedStyle($container, null); 16252 var position = styles.getPropertyValue('position'); 16253 var overflow = styles.getPropertyValue('overflow'); 16254 var display = styles.getPropertyValue('display'); 16255 16256 if (!position || position === 'static') { 16257 $container.style.position = 'relative'; 16258 } 16259 16260 if (overflow !== 'hidden') { 16261 $container.style.overflow = 'hidden'; 16262 } // Guesstimating that people want the parent to act like full width/height wrapper here. 16263 // Mostly attempts to target <picture> elements, which default to inline. 16264 16265 16266 if (!display || display === 'inline') { 16267 $container.style.display = 'block'; 16268 } 16269 16270 if ($container.clientHeight === 0) { 16271 $container.style.height = '100%'; 16272 } // Add a CSS class hook, in case people need to override styles for any reason. 16273 16274 16275 if ($container.className.indexOf('object-fit-polyfill') === -1) { 16276 $container.className += ' object-fit-polyfill'; 16277 } 16278 }; 16279 /** 16280 * Check for pre-set max-width/height, min-width/height, 16281 * positioning, or margins, which can mess up image calculations 16282 * 16283 * @param {node} $media - img/video element 16284 */ 16285 16286 16287 var checkMediaProperties = function checkMediaProperties($media) { 16288 var styles = window.getComputedStyle($media, null); 16289 var constraints = { 16290 'max-width': 'none', 16291 'max-height': 'none', 16292 'min-width': '0px', 16293 'min-height': '0px', 16294 top: 'auto', 16295 right: 'auto', 16296 bottom: 'auto', 16297 left: 'auto', 16298 'margin-top': '0px', 16299 'margin-right': '0px', 16300 'margin-bottom': '0px', 16301 'margin-left': '0px' 16302 }; 16303 16304 for (var property in constraints) { 16305 var constraint = styles.getPropertyValue(property); 16306 16307 if (constraint !== constraints[property]) { 16308 $media.style[property] = constraints[property]; 16309 } 16310 } 16311 }; 16312 /** 16313 * Calculate & set object-fit 16314 * 16315 * @param {node} $media - img/video/picture element 16316 */ 16317 16318 16319 var objectFit = function objectFit($media) { 16320 // If necessary, make the parent container work with absolutely positioned elements 16321 var $container = $media.parentNode; 16322 checkParentContainer($container); // Check for any pre-set CSS which could mess up image calculations 16323 16324 checkMediaProperties($media); // Mathematically figure out which side needs covering, and add CSS positioning & centering 16325 16326 $media.style.position = 'absolute'; 16327 $media.style.height = '100%'; 16328 $media.style.width = 'auto'; 16329 16330 if ($media.clientWidth > $container.clientWidth) { 16331 $media.style.top = '0'; 16332 $media.style.marginTop = '0'; 16333 $media.style.left = '50%'; 16334 $media.style.marginLeft = $media.clientWidth / -2 + 'px'; 16335 } else { 16336 $media.style.width = '100%'; 16337 $media.style.height = 'auto'; 16338 $media.style.left = '0'; 16339 $media.style.marginLeft = '0'; 16340 $media.style.top = '50%'; 16341 $media.style.marginTop = $media.clientHeight / -2 + 'px'; 16342 } 16343 }; 16344 /** 16345 * Initialize plugin 16346 * 16347 * @param {node} media - Optional specific DOM node(s) to be polyfilled 16348 */ 16349 16350 16351 var objectFitPolyfill = function objectFitPolyfill(media) { 16352 if (typeof media === 'undefined' || media instanceof Event) { 16353 // If left blank, or a default event, all media on the page will be polyfilled. 16354 media = document.querySelectorAll('[data-object-fit]'); 16355 } else if (media && media.nodeName) { 16356 // If it's a single node, wrap it in an array so it works. 16357 media = [media]; 16358 } else if ((0, _typeof2["default"])(media) === 'object' && media.length && media[0].nodeName) { 16359 // If it's an array of DOM nodes (e.g. a jQuery selector), it's fine as-is. 16360 // eslint-disable-next-line no-self-assign 16361 media = media; 16362 } else { 16363 // Otherwise, if it's invalid or an incorrect type, return false to let people know. 16364 return false;
16365 } 16366 16367 for (var i = 0; i < media.length; i++) { 16368 if (!media[i].nodeName) continue; 16369 var mediaType = media[i].nodeName.toLowerCase(); 16370 16371 if (mediaType === 'img') { 16372 if (edgePartialSupport) continue; // Edge supports object-fit for images (but nothing else), so no need to polyfill 16373 16374 if (media[i].complete) { 16375 objectFit(media[i]); 16376 } else { 16377 media[i].addEventListener('load', function () { 16378 objectFit(this); 16379 }); 16380 } 16381 } else if (mediaType === 'video') { 16382 if (media[i].readyState > 0) { 16383 objectFit(media[i]); 16384 } else { 16385 media[i].addEventListener('loadedmetadata', function () { 16386 objectFit(this); 16387 }); 16388 } 16389 } else { 16390 objectFit(media[i]); 16391 } 16392 } 16393 16394 return true; 16395 }; 16396 16397 if (document.readyState === 'loading') { 16398 // Loading hasn't finished yet 16399 document.addEventListener('DOMContentLoaded', objectFitPolyfill); 16400 } else { 16401 // `DOMContentLoaded` has already fired 16402 objectFitPolyfill(); 16403 } 16404 16405 window.addEventListener('resize', objectFitPolyfill); 16406 window.objectFitPolyfill = objectFitPolyfill; 16407})(); 16408 16409/***/ }), 16410/* 362 */ 16411/***/ (function(module, exports, __webpack_require__) { 16412 16413"use strict"; 16414 // @wf-will-never-add-flow-to-this-file 16415 16416/* 16417 global 16418 window, document, $, Webflow 16419*/ 16420 16421(function () { 16422 // if the page is being rendered on the server, don't continue 16423 if (typeof window === 'undefined') return; 16424 16425 function setAllBackgroundVideoStates(shouldPlay) { 16426 if (Webflow.env('design')) { 16427 return; 16428 } // 1. set every video 16429 16430 16431 $('video').each(function () { 16432 shouldPlay && $(this).prop('autoplay') ? this.play() : this.pause(); 16433 }); // 2. set every video controller button 16434 16435 $('.w-background-video--control').each(function () { 16436 if (shouldPlay) { 16437 showPauseButton($(this)); 16438 } else { 16439 showPlayButton($(this)); 16440 } 16441 }); 16442 } 16443 16444 function showPlayButton($btn) { 16445 $btn.attr('aria-label', 'play').find('> span').each(function (i) { 16446 $(this).prop('hidden', function () { 16447 return i === 0; 16448 }); 16449 }); 16450 } 16451
16452 function showPauseButton($btn) { 16453 $btn.attr('aria-label', 'pause').find('> span').each(function (i) { 16454 $(this).prop('hidden', function () { 16455 return i === 1; 16456 }); 16457 }); 16458 } 16459 16460 $(document).ready(function () { 16461 if (window.matchMedia) { 16462 var watcher = window.matchMedia('(prefers-reduced-motion: reduce)'); 16463 16464 if (watcher.matches) { 16465 // user currently prefers reduced motion, pause all immediately 16466 setAllBackgroundVideoStates(false); 16467 } 16468 16469 watcher.addEventListener('change', function (e) { 16470 setAllBackgroundVideoStates(!e.matches); 16471 }); 16472 } 16473 16474 $(document).on('click', '.w-background-video--control', function (e) { 16475 if (Webflow.env('design')) return; 16476 var btn = $(e.currentTarget); 16477 var video = $("video#".concat(btn.attr('aria-controls'))).get(0); 16478 if (!video) return; 16479 16480 if (video.paused) { 16481 var play = video.play(); 16482 showPauseButton(btn); // IE does not return a promise from .play() 16483 16484 if (play && typeof play["catch"] === 'function') { 16485 play["catch"](function () { 16486 // something went wrong and it's not playing 16487 showPlayButton(btn); 16488 }); 16489 } 16490 } else { 16491 video.pause(); 16492 showPlayButton(btn); 16493 } 16494 }); 16495 }); 16496})(); 16497 16498/***/ }), 16499/* 363 */ 16500/***/ (function(module, exports, __webpack_require__) { 16501 16502"use strict"; 16503 // @wf-will-never-add-flow-to-this-file 16504 16505/* globals document, window, navigator */ 16506 16507/* eslint-disable no-var */ 16508 16509/** 16510 * Webflow: Brand pages on the subdomain 16511 */ 16512 16513var Webflow = __webpack_require__(10); 16514 16515Webflow.define('brand', module.exports = function ($) { 16516 var api = {}; 16517 var doc = document; 16518 var $html = $('html'); 16519 var $body = $('body'); 16520 var namespace = '.w-webflow-badge'; 16521 var location = window.location; 16522 var isPhantom = /PhantomJS/i.test(navigator.userAgent); 16523 var fullScreenEvents = 'fullscreenchange webkitfullscreenchange mozfullscreenchange msfullscreenchange'; 16524 var brandElement; // ----------------------------------- 16525 // Module methods 16526 16527 api.ready = function () { 16528 var shouldBrand = $html.attr('data-wf-status'); 16529 var publishedDomain = $html.attr('data-wf-domain') || ''; 16530 16531 if (/\.webflow\.io$/i.test(publishedDomain) && location.hostname !== publishedDomain) { 16532 shouldBrand = true; 16533 } 16534 16535 if (shouldBrand && !isPhantom) { 16536 brandElement = brandElement || createBadge(); 16537 ensureBrand(); 16538 setTimeout(ensureBrand, 500); 16539 $(doc).off(fullScreenEvents, onFullScreenChange).on(fullScreenEvents, onFullScreenChange); 16540 } 16541 }; 16542 16543 function onFullScreenChange() { 16544 var fullScreen = doc.fullScreen || doc.mozFullScreen || doc.webkitIsFullScreen || doc.msFullscreenElement || Boolean(doc.webkitFullscreenElement); 16545 $(brandElement).attr('style', fullScreen ? 'display: none !important;' : ''); 16546 } 16547 16548 function createBadge() { 16549 var $brand = $('<a class="w-webflow-badge"></a>').attr('href', 'https://webflow.com?utm_campaign=brandjs'); 16550 var $logoArt = $('<img>').attr('src', 'https://d3e54v103j8qbb.cloudfront.net/img/webflow-badge-icon.f67cd735e3.svg').attr('alt', '').css({ 16551 marginRight: '8px', 16552 width: '16px' 16553 }); 16554 var $logoText = $('<img>').attr('src', 'https://d1otoma47x30pg.cloudfront.net/img/webflow-badge-text.6faa6a38cd.svg').attr('alt', 'Made in Webflow'); 16555 $brand.append($logoArt, $logoText); 16556 return $brand[0]; 16557 } 16558 16559 function ensureBrand() { 16560 var found = $body.children(namespace); 16561 var match = found.length && found.get(0) === brandElement; 16562 var inEditor = Webflow.env('editor'); 16563 16564 if (match) { 16565 // Remove brand when Editor is active 16566 if (inEditor) { 16567 found.remove(); 16568 } // Exit early, brand is in place 16569 16570 16571 return; 16572 } // Remove any invalid brand elements 16573 16574 16575 if (found.length) { 16576 found.remove(); 16577 } // Append the brand (unless Editor is active) 16578 16579 16580 if (!inEditor) { 16581 $body.append(brandElement); 16582 } 16583 } // Export module 16584 16585 16586 return api; 16587}); 16588 16589/***/ }), 16590/* 364 */ 16591/***/ (function(module, exports, __webpack_require__) { 16592 16593"use strict"; 16594 // @wf-will-never-add-flow-to-this-file 16595 16596/* globals document, window, localStorage, WEBFLOW_API_HOST, WEBFLOW_DEFAULT_HOST */ 16597 16598/* eslint-disable no-var */ 16599 16600/** 16601 * Webflow: Editor loader 16602 */ 16603 16604var Webflow = __webpack_require__(10); 16605 16606Webflow.define('edit', module.exports = function ($, _, options) { 16607 options = options || {}; // Exit early in test env or when inside an iframe 16608 16609 if (Webflow.env('test') || Webflow.env('frame')) { 16610 // Allow test fixtures to continue 16611 if (!options.fixture && !inCypress()) { 16612 return { 16613 exit: 1 16614 }; 16615 } 16616 } 16617 16618 var api = {}; 16619 var $win = $(window); 16620 var $html = $(document.documentElement); 16621 var location = document.location; 16622 var hashchange = 'hashchange'; 16623 var loaded; 16624 var loadEditor = options.load || load; 16625 var hasLocalStorage = false;
16626 16627 try { 16628 // Check localStorage for editor data 16629 hasLocalStorage = localStorage && localStorage.getItem && localStorage.getItem('WebflowEditor'); 16630 } catch (e) {// SecurityError: browser storage has been disabled 16631 } 16632 16633 if (hasLocalStorage) { 16634 loadEditor(); 16635 } else if (location.search) { 16636 // Check url query for `edit` parameter or any url ending in `?edit` 16637 if (/[?&](edit)(?:[=&?]|$)/.test(location.search) || /\?edit$/.test(location.href)) { 16638 loadEditor(); 16639 } 16640 } else { 16641 // Check hash fragment to support `#hash?edit` 16642 $win.on(hashchange, checkHash).triggerHandler(hashchange); 16643 } 16644 16645 function checkHash() { 16646 if (loaded) { 16647 return; 16648 } // Load editor when hash contains `?edit` 16649 16650 16651 if (/\?edit/.test(location.hash)) { 16652 loadEditor(); 16653 } 16654 } 16655 16656 function load() { 16657 loaded = true; // Predefine global immediately to benefit Webflow.env 16658 16659 window.WebflowEditor = true; 16660 $win.off(hashchange, checkHash); 16661 checkThirdPartyCookieSupport(function (thirdPartyCookiesSupported) { 16662 $.ajax({ 16663 url: cleanSlashes("https://editor-api.webflow.com" + '/api/editor/view'), 16664 data: { 16665 siteId: $html.attr('data-wf-site') 16666 }, 16667 xhrFields: { 16668 withCredentials: true 16669 }, 16670 dataType: 'json', 16671 crossDomain: true, 16672 success: success(thirdPartyCookiesSupported) 16673 }); 16674 }); 16675 } 16676 16677 function success(thirdPartyCookiesSupported) { 16678 return function (data) { 16679 if (!data) { 16680 console.error('Could not load editor data'); 16681 return; 16682 } 16683 16684 data.thirdPartyCookiesSupported = thirdPartyCookiesSupported; 16685 getScript(prefix(data.bugReporterScriptPath), function () { 16686 getScript(prefix(data.scriptPath), function () { 16687 window.WebflowEditor(data); 16688 }); 16689 }); 16690 }; 16691 } 16692 16693 function getScript(url, done) { 16694 $.ajax({ 16695 type: 'GET', 16696 url: url, 16697 dataType: 'script', 16698 cache: true 16699 }).then(done, error); 16700 } 16701 16702 function error(jqXHR, textStatus, errorThrown) { 16703 console.error('Could not load editor script: ' + textStatus); 16704 throw errorThrown; 16705 } 16706 16707 function prefix(url) { 16708 return url.indexOf('//') >= 0 ? url : cleanSlashes("https://editor-api.webflow.com" + url); 16709 } 16710 16711 function cleanSlashes(url) { 16712 return url.replace(/([^:])\/\//g, '$1/'); 16713 } 16714 16715 function checkThirdPartyCookieSupport(callback) { 16716 var iframe = window.document.createElement('iframe'); 16717 iframe.src = "https://webflow.com" + '/site/third-party-cookie-check.html'; 16718 iframe.style.display = 'none'; 16719 iframe.sandbox = 'allow-scripts allow-same-origin'; 16720 16721 var handleMessage = function handleMessage(event) { 16722 if (event.data === 'WF_third_party_cookies_unsupported') { 16723 cleanUpCookieCheckerIframe(iframe, handleMessage); 16724 callback(false); 16725 } else if (event.data === 'WF_third_party_cookies_supported') { 16726 cleanUpCookieCheckerIframe(iframe, handleMessage); 16727 callback(true); 16728 } 16729 }; 16730 16731 iframe.onerror = function () { 16732 cleanUpCookieCheckerIframe(iframe, handleMessage); 16733 callback(false); 16734 }; 16735 16736 window.addEventListener('message', handleMessage, false); 16737 window.document.body.appendChild(iframe); 16738 } 16739 16740 function cleanUpCookieCheckerIframe(iframe, listener) { 16741 window.removeEventListener('message', listener, false); 16742 iframe.remove(); 16743 } // Export module 16744 16745 16746 return api; 16747}); 16748 16749function inCypress() { 16750 try { 16751 return window.top.__Cypress__; 16752 } catch (e) { 16753 return false; 16754 } 16755} 16756 16757/***/ }), 16758/* 365 */ 16759/***/ (function(module, exports, __webpack_require__) { 16760 16761"use strict"; 16762 // @wf-will-never-add-flow-to-this-file 16763 16764/* globals window, document */ 16765 16766/* eslint-disable no-var */ 16767 16768/** 16769 * Webflow: focus-visible 16770 */ 16771 16772var Webflow = __webpack_require__(10); 16773/* 16774 * This polyfill comes from https://github.com/WICG/focus-visible 16775 */ 16776 16777 16778Webflow.define('focus-visible', module.exports = function () { 16779 /** 16780 * Applies the :focus-visible polyfill at the given scope. 16781 * A scope in this case is either the top-level Document or a Shadow Root. 16782 * 16783 * @param {(Document|ShadowRoot)} scope 16784 * @see https://github.com/WICG/focus-visible 16785 */ 16786 function applyFocusVisiblePolyfill(scope) { 16787 var hadKeyboardEvent = true; 16788 var hadFocusVisibleRecently = false;
vendor: 4,207 bytes, lines 16789-16933
16789 var hadFocusVisibleRecentlyTimeout = null; 16790 var inputTypesAllowlist = { 16791 text: true, 16792 search: true, 16793 url: true, 16794 tel: true, 16795 email: true, 16796 password: true, 16797 number: true, 16798 date: true, 16799 month: true, 16800 week: true, 16801 time: true, 16802 datetime: true, 16803 'datetime-local': true 16804 }; 16805 /** 16806 * Helper function for legacy browsers and iframes which sometimes focus 16807 * elements like document, body, and non-interactive SVG. 16808 * @param {Element} el 16809 */ 16810 16811 function isValidFocusTarget(el) { 16812 if (el && el !== document && el.nodeName !== 'HTML' && el.nodeName !== 'BODY' && 'classList' in el && 'contains' in el.classList) { 16813 return true; 16814 } 16815 16816 return false; 16817 } 16818 /** 16819 * Computes whether the given element should automatically trigger the 16820 * `focus-visible` class being added, i.e. whether it should always match 16821 * `:focus-visible` when focused. 16822 * @param {Element} el 16823 * @return {boolean} 16824 */ 16825 16826 16827 function focusTriggersKeyboardModality(el) { 16828 var type = el.type; 16829 var tagName = el.tagName; 16830 16831 if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) { 16832 return true; 16833 } 16834 16835 if (tagName === 'TEXTAREA' && !el.readOnly) { 16836 return true; 16837 } 16838 16839 if (el.isContentEditable) { 16840 return true; 16841 } 16842 16843 return false; 16844 } 16845 16846 function addFocusVisibleAttribute(el) { 16847 if (el.getAttribute('data-wf-focus-visible')) { 16848 return; 16849 } 16850 16851 el.setAttribute('data-wf-focus-visible', 'true'); 16852 } 16853 16854 function removeFocusVisibleAttribute(el) { 16855 if (!el.getAttribute('data-wf-focus-visible')) { 16856 return; 16857 } 16858 16859 el.removeAttribute('data-wf-focus-visible'); 16860 } 16861 /** 16862 * If the most recent user interaction was via the keyboard; 16863 * and the key press did not include a meta, alt/option, or control key; 16864 * then the modality is keyboard. Otherwise, the modality is not keyboard. 16865 * Apply `focus-visible` to any current active element and keep track 16866 * of our keyboard modality state with `hadKeyboardEvent`. 16867 * @param {KeyboardEvent} e 16868 */ 16869 16870 16871 function onKeyDown(e) { 16872 if (e.metaKey || e.altKey || e.ctrlKey) { 16873 return; 16874 } 16875 16876 if (isValidFocusTarget(scope.activeElement)) { 16877 addFocusVisibleAttribute(scope.activeElement); 16878 } 16879 16880 hadKeyboardEvent = true; 16881 } 16882 /** 16883 * If at any point a user clicks with a pointing device, ensure that we change 16884 * the modality away from keyboard. 16885 * This avoids the situation where a user presses a key on an already focused 16886 * element, and then clicks on a different element, focusing it with a 16887 * pointing device, while we still think we're in keyboard modality. 16888 * @param {Event} e 16889 */ 16890 16891 16892 function onPointerDown() { 16893 hadKeyboardEvent = false; 16894 } 16895 /** 16896 * On `focus`, add the `focus-visible` class to the target if: 16897 * - the target received focus as a result of keyboard navigation, or 16898 * - the event target is an element that will likely require interaction 16899 * via the keyboard (e.g. a text box) 16900 * @param {Event} e 16901 */ 16902 16903 16904 function onFocus(e) { 16905 // Prevent IE from focusing the document or HTML element. 16906 if (!isValidFocusTarget(e.target)) { 16907 return; 16908 } 16909 16910 if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) { 16911 addFocusVisibleAttribute(e.target); 16912 } 16913 } 16914 /** 16915 * On `blur`, remove the `focus-visible` class from the target. 16916 * @param {Event} e 16917 */ 16918 16919 16920 function onBlur(e) { 16921 if (!isValidFocusTarget(e.target)) { 16922 return; 16923 } 16924 16925 if (e.target.hasAttribute('data-wf-focus-visible')) { 16926 // To detect a tab/window switch, we look for a blur event followed 16927 // rapidly by a visibility change. 16928 // If we don't see a visibility change within 100ms, it's probably a 16929 // regular focus change. 16930 hadFocusVisibleRecently = true; 16931 window.clearTimeout(hadFocusVisibleRecentlyTimeout); 16932 hadFocusVisibleRecentlyTimeout = window.setTimeout(function () { 16933 hadFocusVisibleRecently = false;
16934 }, 100); 16935 removeFocusVisibleAttribute(e.target); 16936 } 16937 } 16938 /** 16939 * If the user changes tabs, keep track of whether or not the previously 16940 * focused element had .focus-visible. 16941 * @param {Event} e 16942 */ 16943 16944 16945 function onVisibilityChange() { 16946 if (document.visibilityState === 'hidden') { 16947 // If the tab becomes active again, the browser will handle calling focus 16948 // on the element (Safari actually calls it twice). 16949 // If this tab change caused a blur on an element with focus-visible, 16950 // re-apply the class when the user switches back to the tab. 16951 if (hadFocusVisibleRecently) { 16952 hadKeyboardEvent = true; 16953 } 16954 16955 addInitialPointerMoveListeners(); 16956 } 16957 } 16958 /** 16959 * Add a group of listeners to detect usage of any pointing devices. 16960 * These listeners will be added when the polyfill first loads, and anytime 16961 * the window is blurred, so that they are active when the window regains 16962 * focus. 16963 */ 16964 16965 16966 function addInitialPointerMoveListeners() { 16967 document.addEventListener('mousemove', onInitialPointerMove); 16968 document.addEventListener('mousedown', onInitialPointerMove); 16969 document.addEventListener('mouseup', onInitialPointerMove); 16970 document.addEventListener('pointermove', onInitialPointerMove); 16971 document.addEventListener('pointerdown', onInitialPointerMove); 16972 document.addEventListener('pointerup', onInitialPointerMove); 16973 document.addEventListener('touchmove', onInitialPointerMove); 16974 document.addEventListener('touchstart', onInitialPointerMove); 16975 document.addEventListener('touchend', onInitialPointerMove); 16976 } 16977 16978 function removeInitialPointerMoveListeners() { 16979 document.removeEventListener('mousemove', onInitialPointerMove); 16980 document.removeEventListener('mousedown', onInitialPointerMove); 16981 document.removeEventListener('mouseup', onInitialPointerMove); 16982 document.removeEventListener('pointermove', onInitialPointerMove); 16983 document.removeEventListener('pointerdown', onInitialPointerMove); 16984 document.removeEventListener('pointerup', onInitialPointerMove); 16985 document.removeEventListener('touchmove', onInitialPointerMove); 16986 document.removeEventListener('touchstart', onInitialPointerMove); 16987 document.removeEventListener('touchend', onInitialPointerMove); 16988 } 16989 /** 16990 * When the polfyill first loads, assume the user is in keyboard modality. 16991 * If any event is received from a pointing device (e.g. mouse, pointer, 16992 * touch), turn off keyboard modality. 16993 * This accounts for situations where focus enters the page from the URL bar. 16994 * @param {Event} e 16995 */ 16996 16997 16998 function onInitialPointerMove(e) { 16999 // Work around a Safari quirk that fires a mousemove on <html> whenever the 17000 // window blurs, even if you're tabbing out of the page. ï\_(ãÆâ)_/ï 17001 if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') { 17002 return; 17003 } 17004 17005 hadKeyboardEvent = false; 17006 removeInitialPointerMoveListeners(); 17007 } // For some kinds of state, we are interested in changes at the global scope 17008 // only. For example, global pointer input, global key presses and global 17009 // visibility change should affect the state at every scope: 17010 17011 17012 document.addEventListener('keydown', onKeyDown, true); 17013 document.addEventListener('mousedown', onPointerDown, true); 17014 document.addEventListener('pointerdown', onPointerDown, true); 17015 document.addEventListener('touchstart', onPointerDown, true); 17016 document.addEventListener('visibilitychange', onVisibilityChange, true); 17017 addInitialPointerMoveListeners(); // For focus and blur, we specifically care about state changes in the local 17018 // scope. This is because focus / blur events that originate from within a 17019 // shadow root are not re-dispatched from the host element if it was already 17020 // the active element in its own scope: 17021 17022 scope.addEventListener('focus', onFocus, true); 17023 scope.addEventListener('blur', onBlur, true); 17024 } 17025 17026 function ready() { 17027 if (typeof document !== 'undefined') {
17028 try { 17029 // check for native support; this will throw if the selector is not considered valid 17030 document.querySelector(':focus-visible'); 17031 } catch (e) { 17032 // :focus-visible pseudo-selector is not supported natively 17033 applyFocusVisiblePolyfill(document); 17034 } 17035 } 17036 } // Export module 17037 17038 17039 return { 17040 ready: ready 17041 }; 17042}); 17043 17044/***/ }), 17045/* 366 */ 17046/***/ (function(module, exports, __webpack_require__) { 17047 17048"use strict"; 17049 // @wf-will-never-add-flow-to-this-file 17050 17051/* globals window, document */ 17052 17053/* eslint-disable no-var */ 17054 17055/** 17056 * Webflow: focus-within 17057 */ 17058 17059var Webflow = __webpack_require__(10); // polyfill based off of https://github.com/matteobad/focus-within-polyfill 17060 17061 17062Webflow.define('focus-within', module.exports = function () { 17063 /** 17064 * Calculate the entire event path. 17065 * 17066 * @param {Element} node 17067 * @return {Array} computedPath 17068 */ 17069 function computeEventPath(node) { 17070 var path = [node]; 17071 var parent = null; 17072 17073 while (parent = node.parentNode || node.host || node.defaultView) { 17074 path.push(parent); 17075 node = parent; 17076 } 17077 17078 return path; 17079 } 17080 17081 function addFocusWithinAttribute(el) { 17082 if (typeof el.getAttribute !== 'function' || el.getAttribute('data-wf-focus-within')) { 17083 return; 17084 } 17085 17086 el.setAttribute('data-wf-focus-within', 'true'); 17087 } 17088 17089 function removeFocusWithinAttribute(el) { 17090 if (typeof el.getAttribute !== 'function' || !el.getAttribute('data-wf-focus-within')) { 17091 return; 17092 } 17093 17094 el.removeAttribute('data-wf-focus-within'); 17095 } 17096 /** 17097 * Attach event listerns to initiate polyfill 17098 * @return {boolean} 17099 */ 17100 17101 17102 function loadFocusWithinPolyfill() { 17103 var handler = function handler(e) { 17104 var running; 17105 /** 17106 * Request animation frame callback. 17107 * Remove previously applied attributes. 17108 * Add new attributes. 17109 */ 17110 17111 function action() { 17112 running = false; 17113 17114 if ('blur' === e.type) { 17115 Array.prototype.slice.call(computeEventPath(e.target)).forEach(removeFocusWithinAttribute); 17116 } 17117 17118 if ('focus' === e.type) { 17119 Array.prototype.slice.call(computeEventPath(e.target)).forEach(addFocusWithinAttribute); 17120 } 17121 } 17122 17123 if (!running) { 17124 window.requestAnimationFrame(action); 17125 running = true; 17126 } 17127 }; 17128 17129 document.addEventListener('focus', handler, true); 17130 document.addEventListener('blur', handler, true); 17131 addFocusWithinAttribute(document.body); 17132 return true; 17133 } 17134 17135 function ready() { 17136 if (typeof document !== 'undefined' && document.body.hasAttribute('data-wf-focus-within')) { 17137 try { 17138 // check for native support; this will throw if the selector is not considered valid 17139 document.querySelector(':focus-within'); 17140 } catch (e) { 17141 loadFocusWithinPolyfill(); 17142 } 17143 } 17144 } // Export module 17145 17146 17147 return { 17148 ready: ready 17149 }; 17150}); 17151 17152/***/ }), 17153/* 367 */ 17154/***/ (function(module, exports, __webpack_require__) { 17155 17156"use strict"; 17157 // @wf-will-never-add-flow-to-this-file 17158 17159/* globals document, MouseEvent */ 17160 17161/* eslint-disable no-var */ 17162 17163/** 17164 * Webflow: focus 17165 */ 17166 17167var Webflow = __webpack_require__(10); 17168/* 17169 * Safari has a weird bug where it doesn't support :focus for links with hrefs, 17170 * buttons, and input[type=button|submit], so we listen for mousedown events 17171 * instead and force the element to emit a focus event in those cases. 17172 17173 * See these webkit bugs for reference: 17174 * https://bugs.webkit.org/show_bug.cgi?id=22261 17175 * https://bugs.webkit.org/show_bug.cgi?id=229895 17176 */ 17177 17178 17179Webflow.define('focus', module.exports = function () { 17180 var capturedEvents = []; 17181 var capturing = false; 17182 17183 function captureEvent(e) { 17184 if (capturing) { 17185 e.preventDefault(); 17186 e.stopPropagation(); 17187 e.stopImmediatePropagation(); 17188 capturedEvents.unshift(e); 17189 } 17190 } 17191 /* 17192 * The only mousedown events we care about here are ones emanating from 17193 * (A) anchor links with href attribute, 17194 * (B) non-disabled buttons, 17195 * (C) non-disabled textarea, 17196 * (D) non-disabled inputs of type "button", "reset", "checkbox", "radio", "submit" 17197 * (E) non-interactive elements (button, a, input, textarea, select) that have a tabindex with a numeric value 17198 * (F) audio elements 17199 * (G) video elements with controls attribute 17200 */ 17201 17202 17203 function isPolyfilledFocusEvent(e) { 17204 var el = e.target; 17205 var tag = el.tagName; 17206 return /^a$/i.test(tag) && el.href != null || // (A) 17207 /^(button|textarea)$/i.test(tag) && el.disabled !== true || // (B) (C) 17208 /^input$/i.test(tag) && /^(button|reset|submit|radio|checkbox)$/i.test(el.type) && !el.disabled || // (D)
17209 !/^(button|input|textarea|select|a)$/i.test(tag) && !Number.isNaN(Number.parseFloat(el.tabIndex)) || // (E) 17210 /^audio$/i.test(tag) || // (F) 17211 /^video$/i.test(tag) && el.controls === true // (G) 17212 ; 17213 } 17214 17215 function handler(e) { 17216 if (isPolyfilledFocusEvent(e)) { 17217 // start capturing possible out-of-order mouse events 17218 capturing = true; 17219 /* 17220 * enqueue the focus event _after_ the current batch of events, which 17221 * includes any blur events. The correct order of events is: 17222 * 17223 * [this element] MOUSEDOWN <-- this event 17224 * [previously active element] BLUR 17225 * [previously active element] FOCUSOUT 17226 * [this element] FOCUS <-- forced event 17227 * [this element] FOCUSIN <-- forced event 17228 * [this element] MOUSEUP <-- possibly captured event (it may have fired _before_ the FOCUS event) 17229 * [this element] CLICK <-- possibly captured event (it may have fired _before_ the FOCUS event) 17230 */ 17231 17232 setTimeout(function () { 17233 // stop capturing possible out-of-order mouse events 17234 capturing = false; // trigger focus event 17235 17236 e.target.focus(); // re-dispatch captured mouse events in order 17237 17238 while (capturedEvents.length > 0) { 17239 var event = capturedEvents.pop(); 17240 event.target.dispatchEvent(new MouseEvent(event.type, event)); 17241 } 17242 }, 0); 17243 } 17244 } 17245 17246 function ready() { 17247 if (typeof document !== 'undefined' && document.body.hasAttribute('data-wf-focus-within') && Webflow.env.safari) { 17248 document.addEventListener('mousedown', handler, true); 17249 document.addEventListener('mouseup', captureEvent, true); 17250 document.addEventListener('click', captureEvent, true); 17251 } 17252 } // Export module 17253 17254 17255 return { 17256 ready: ready 17257 }; 17258}); 17259 17260/***/ }), 17261/* 368 */ 17262/***/ (function(module, exports, __webpack_require__) { 17263 17264"use strict";
17265// @wf-will-never-add-flow-to-this-file 17266 17267/* globals window */ 17268 17269/* eslint-disable no-var */ 17270 17271/** 17272 * Webflow: IX Event triggers for other modules 17273 */ 17274// eslint-disable-next-line strict 17275 17276 17277var $ = window.jQuery; 17278var api = {}; 17279var eventQueue = []; 17280var namespace = '.w-ix'; 17281var eventTriggers = { 17282 reset: function reset(i, el) { 17283 el.__wf_intro = null; 17284 }, 17285 intro: function intro(i, el) { 17286 if (el.__wf_intro) { 17287 return; 17288 } 17289 17290 el.__wf_intro = true; 17291 $(el).triggerHandler(api.types.INTRO); 17292 }, 17293 outro: function outro(i, el) { 17294 if (!el.__wf_intro) { 17295 return; 17296 } 17297 17298 el.__wf_intro = null; 17299 $(el).triggerHandler(api.types.OUTRO); 17300 } 17301}; 17302api.triggers = {}; 17303api.types = { 17304 INTRO: 'w-ix-intro' + namespace, 17305 OUTRO: 'w-ix-outro' + namespace 17306}; // Trigger any events in queue + restore trigger methods 17307 17308api.init = function () { 17309 var count = eventQueue.length; 17310 17311 for (var i = 0; i < count; i++) { 17312 var memo = eventQueue[i]; 17313 memo[0](0, memo[1]); 17314 } 17315 17316 eventQueue = []; 17317 $.extend(api.triggers, eventTriggers); 17318}; // Replace all triggers with async wrapper to queue events until init 17319 17320 17321api.async = function () { 17322 for (var key in eventTriggers) { 17323 var func = eventTriggers[key]; 17324 17325 if (!eventTriggers.hasOwnProperty(key)) { 17326 continue; 17327 } // Replace trigger method with async wrapper 17328 17329 17330 api.triggers[key] = function (i, el) { 17331 eventQueue.push([func, el]); 17332 }; 17333 } 17334}; // Default triggers to async queue 17335 17336 17337api.async(); 17338module.exports = api; 17339 17340/***/ }), 17341/* 369 */ 17342/***/ (function(module, exports, __webpack_require__) { 17343 17344"use strict"; 17345 // @wf-will-never-add-flow-to-this-file 17346 17347/* eslint-disable no-var */ 17348 17349/** 17350 * Webflow: Interactions 2 17351 */ 17352 17353var Webflow = __webpack_require__(10); 17354 17355var ix2 = __webpack_require__(370); 17356 17357ix2.setEnv(Webflow.env); 17358Webflow.define('ix2', module.exports = function () { 17359 return ix2; 17360}); 17361 17362/***/ }), 17363/* 370 */ 17364/***/ (function(module, exports, __webpack_require__) { 17365 17366"use strict"; 17367 17368 17369var _interopRequireWildcard = __webpack_require__(57); 17370 17371var _interopRequireDefault = __webpack_require__(3); 17372 17373Object.defineProperty(exports, "__esModule", { 17374 value: true 17375}); 17376exports.setEnv = setEnv; 17377exports.init = init; 17378exports.destroy = destroy; 17379exports.actions = exports.store = void 0; 17380 17381__webpack_require__(371); 17382 17383var _redux = __webpack_require__(168); 17384 17385var _IX2Reducer = _interopRequireDefault(__webpack_require__(386)); 17386 17387var _IX2VanillaEngine = __webpack_require__(185); 17388 17389var actions = _interopRequireWildcard(__webpack_require__(121)); 17390 17391exports.actions = actions; // Array.includes needed for IE11 @packages/systems/ix2/shared/utils/quick-effects 17392 17393var store = (0, _redux.createStore)(_IX2Reducer["default"]); 17394exports.store = store; 17395 17396function setEnv(env) { 17397 if (env()) { 17398 (0, _IX2VanillaEngine.observeRequests)(store); 17399 } 17400} 17401 17402function init(rawData) { 17403 destroy(); 17404 (0, _IX2VanillaEngine.startEngine)({ 17405 store: store, 17406 rawData: rawData, 17407 allowEvents: true 17408 }); 17409} 17410 17411function destroy() { 17412 (0, _IX2VanillaEngine.stopEngine)(store); 17413} 17414 17415/***/ }), 17416/* 371 */ 17417/***/ (function(module, exports, __webpack_require__) { 17418 17419var parent = __webpack_require__(372); 17420 17421module.exports = parent; 17422 17423 17424/***/ }), 17425/* 372 */ 17426/***/ (function(module, exports, __webpack_require__) { 17427 17428var parent = __webpack_require__(373); 17429 17430module.exports = parent; 17431 17432 17433/***/ }), 17434/* 373 */ 17435/***/ (function(module, exports, __webpack_require__) { 17436 17437__webpack_require__(159); 17438var entryUnbind = __webpack_require__(374); 17439 17440module.exports = entryUnbind('Array', 'includes'); 17441 17442 17443/***/ }), 17444/* 374 */ 17445/***/ (function(module, exports, __webpack_require__) { 17446 17447var global = __webpack_require__(0); 17448var uncurryThis = __webpack_require__(2); 17449 17450module.exports = function (CONSTRUCTOR, METHOD) { 17451 return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]); 17452}; 17453 17454 17455/***/ }), 17456/* 375 */ 17457/***/ (function(module, __webpack_exports__, __webpack_require__) { 17458 17459"use strict"; 17460__webpack_require__.r(__webpack_exports__); 17461/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(170); 17462/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(378); 17463/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(379); 17464 17465 17466 17467 17468/** `Object#toString` result references. */ 17469var nullTag = '[object Null]',
17470 undefinedTag = '[object Undefined]'; 17471 17472/** Built-in value references. */ 17473var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; 17474 17475/** 17476 * The base implementation of `getTag` without fallbacks for buggy environments. 17477 * 17478 * @private 17479 * @param {*} value The value to query. 17480 * @returns {string} Returns the `toStringTag`. 17481 */ 17482function baseGetTag(value) { 17483 if (value == null) { 17484 return value === undefined ? undefinedTag : nullTag; 17485 } 17486 return (symToStringTag && symToStringTag in Object(value)) 17487 ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) 17488 : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value); 17489} 17490 17491/* harmony default export */ __webpack_exports__["default"] = (baseGetTag); 17492 17493 17494/***/ }), 17495/* 376 */ 17496/***/ (function(module, __webpack_exports__, __webpack_require__) { 17497 17498"use strict"; 17499__webpack_require__.r(__webpack_exports__); 17500/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(377); 17501 17502 17503/** Detect free variable `self`. */ 17504var freeSelf = typeof self == 'object' && self && self.Object === Object && self; 17505 17506/** Used as a reference to the global object. */ 17507var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"] || freeSelf || Function('return this')(); 17508 17509/* harmony default export */ __webpack_exports__["default"] = (root); 17510 17511 17512/***/ }), 17513/* 377 */ 17514/***/ (function(module, __webpack_exports__, __webpack_require__) { 17515 17516"use strict"; 17517__webpack_require__.r(__webpack_exports__); 17518/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ 17519var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; 17520 17521/* harmony default export */ __webpack_exports__["default"] = (freeGlobal); 17522 17523/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61))) 17524 17525/***/ }), 17526/* 378 */ 17527/***/ (function(module, __webpack_exports__, __webpack_require__) { 17528 17529"use strict"; 17530__webpack_require__.r(__webpack_exports__); 17531/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(170); 17532 17533 17534/** Used for built-in method references. */ 17535var objectProto = Object.prototype; 17536 17537/** Used to check objects for own properties. */ 17538var hasOwnProperty = objectProto.hasOwnProperty; 17539 17540/** 17541 * Used to resolve the 17542 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 17543 * of values. 17544 */ 17545var nativeObjectToString = objectProto.toString; 17546 17547/** Built-in value references. */ 17548var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; 17549 17550/** 17551 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 17552 * 17553 * @private 17554 * @param {*} value The value to query. 17555 * @returns {string} Returns the raw `toStringTag`. 17556 */ 17557function getRawTag(value) { 17558 var isOwn = hasOwnProperty.call(value, symToStringTag), 17559 tag = value[symToStringTag]; 17560 17561 try { 17562 value[symToStringTag] = undefined; 17563 var unmasked = true; 17564 } catch (e) {} 17565 17566 var result = nativeObjectToString.call(value); 17567 if (unmasked) { 17568 if (isOwn) { 17569 value[symToStringTag] = tag; 17570 17571 } else { 17572 delete value[symToStringTag]; 17573 } 17574 } 17575 return result; 17576} 17577 17578/* harmony default export */ __webpack_exports__["default"] = (getRawTag); 17579 17580 17581/***/ }), 17582/* 379 */ 17583/***/ (function(module, __webpack_exports__, __webpack_require__) { 17584 17585"use strict"; 17586__webpack_require__.r(__webpack_exports__); 17587/** Used for built-in method references. */ 17588var objectProto = Object.prototype; 17589 17590/** 17591 * Used to resolve the 17592 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 17593 * of values. 17594 */ 17595var nativeObjectToString = objectProto.toString; 17596 17597/** 17598 * Converts `value` to a string using `Object.prototype.toString`. 17599 * 17600 * @private 17601 * @param {*} value The value to convert. 17602 * @returns {string} Returns the converted string. 17603 */ 17604function objectToString(value) { 17605 return nativeObjectToString.call(value); 17606} 17607 17608/* harmony default export */ __webpack_exports__["default"] = (objectToString); 17609 17610 17611/***/ }), 17612/* 380 */ 17613/***/ (function(module, __webpack_exports__, __webpack_require__) { 17614 17615"use strict"; 17616__webpack_require__.r(__webpack_exports__); 17617/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(381); 17618 17619 17620/** Built-in value references. */ 17621var getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.getPrototypeOf, Object); 17622 17623/* harmony default export */ __webpack_exports__["default"] = (getPrototype); 17624 17625 17626/***/ }), 17627/* 381 */ 17628/***/ (function(module, __webpack_exports__, __webpack_require__) { 17629 17630"use strict"; 17631__webpack_require__.r(__webpack_exports__); 17632/** 17633 * Creates a unary function that invokes `func` with its argument transformed. 17634 * 17635 * @private 17636 * @param {Function} func The function to wrap. 17637 * @param {Function} transform The argument transform. 17638 * @returns {Function} Returns the new function. 17639 */ 17640function overArg(func, transform) { 17641 return function(arg) { 17642 return func(transform(arg)); 17643 }; 17644} 17645 17646/* harmony default export */ __webpack_exports__["default"] = (overArg); 17647 17648
17649/***/ }), 17650/* 382 */ 17651/***/ (function(module, __webpack_exports__, __webpack_require__) { 17652 17653"use strict"; 17654__webpack_require__.r(__webpack_exports__); 17655/** 17656 * Checks if `value` is object-like. A value is object-like if it's not `null` 17657 * and has a `typeof` result of "object". 17658 * 17659 * @static 17660 * @memberOf _ 17661 * @since 4.0.0 17662 * @category Lang 17663 * @param {*} value The value to check. 17664 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 17665 * @example 17666 * 17667 * _.isObjectLike({}); 17668 * // => true 17669 * 17670 * _.isObjectLike([1, 2, 3]); 17671 * // => true 17672 * 17673 * _.isObjectLike(_.noop); 17674 * // => false 17675 * 17676 * _.isObjectLike(null); 17677 * // => false 17678 */ 17679function isObjectLike(value) { 17680 return value != null && typeof value == 'object'; 17681} 17682 17683/* harmony default export */ __webpack_exports__["default"] = (isObjectLike); 17684 17685 17686/***/ }), 17687/* 383 */ 17688/***/ (function(module, __webpack_exports__, __webpack_require__) { 17689 17690"use strict"; 17691__webpack_require__.r(__webpack_exports__); 17692/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(385); 17693/* global window */ 17694 17695 17696var root; 17697 17698if (typeof self !== 'undefined') { 17699 root = self; 17700} else if (typeof window !== 'undefined') { 17701 root = window; 17702} else if (typeof global !== 'undefined') { 17703 root = global; 17704} else if (true) { 17705 root = module; 17706} else {} 17707 17708var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__["default"])(root); 17709/* harmony default export */ __webpack_exports__["default"] = (result); 17710 17711/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(61), __webpack_require__(384)(module))) 17712 17713/***/ }), 17714/* 384 */ 17715/***/ (function(module, exports) { 17716 17717module.exports = function(originalModule) { 17718 if (!originalModule.webpackPolyfill) { 17719 var module = Object.create(originalModule); 17720 // module.parent = undefined by default 17721 if (!module.children) module.children = []; 17722 Object.defineProperty(module, "loaded", { 17723 enumerable: true, 17724 get: function() { 17725 return module.l; 17726 } 17727 }); 17728 Object.defineProperty(module, "id", { 17729 enumerable: true, 17730 get: function() { 17731 return module.i; 17732 } 17733 }); 17734 Object.defineProperty(module, "exports", { 17735 enumerable: true 17736 }); 17737 module.webpackPolyfill = 1; 17738 } 17739 return module; 17740}; 17741 17742 17743/***/ }), 17744/* 385 */ 17745/***/ (function(module, __webpack_exports__, __webpack_require__) { 17746 17747"use strict"; 17748__webpack_require__.r(__webpack_exports__); 17749/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return symbolObservablePonyfill; }); 17750function symbolObservablePonyfill(root) { 17751 var result; 17752 var Symbol = root.Symbol; 17753 17754 if (typeof Symbol === 'function') { 17755 if (Symbol.observable) { 17756 result = Symbol.observable; 17757 } else { 17758 result = Symbol('observable'); 17759 Symbol.observable = result; 17760 } 17761 } else { 17762 result = '@@observable'; 17763 } 17764 17765 return result; 17766}; 17767 17768 17769/***/ }), 17770/* 386 */ 17771/***/ (function(module, exports, __webpack_require__) { 17772 17773"use strict"; 17774 17775 17776Object.defineProperty(exports, "__esModule", { 17777 value: true 17778}); 17779exports["default"] = void 0; 17780 17781var _redux = __webpack_require__(168); 17782 17783var _IX2DataReducer = __webpack_require__(387); 17784 17785var _IX2RequestReducer = __webpack_require__(393); 17786 17787var _IX2SessionReducer = __webpack_require__(394); 17788 17789var _shared = __webpack_require__(45); 17790 17791var _IX2InstancesReducer = __webpack_require__(411); 17792 17793var _IX2ParametersReducer = __webpack_require__(412); 17794 17795var ixElements = _shared.IX2ElementsReducer.ixElements; 17796 17797var _default = (0, _redux.combineReducers)({ 17798 ixData: _IX2DataReducer.ixData, 17799 ixRequest: _IX2RequestReducer.ixRequest, 17800 ixSession: _IX2SessionReducer.ixSession, 17801 ixElements: ixElements, 17802 ixInstances: _IX2InstancesReducer.ixInstances, 17803 ixParameters: _IX2ParametersReducer.ixParameters 17804}); 17805 17806exports["default"] = _default; 17807 17808/***/ }), 17809/* 387 */ 17810/***/ (function(module, exports, __webpack_require__) { 17811 17812"use strict"; 17813 17814 17815Object.defineProperty(exports, "__esModule", { 17816 value: true 17817}); 17818exports.ixData = void 0; 17819 17820var _constants = __webpack_require__(14); 17821 17822var IX2_RAW_DATA_IMPORTED = _constants.IX2EngineActionTypes.IX2_RAW_DATA_IMPORTED; 17823 17824var ixData = function ixData() { 17825 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Object.freeze({}); 17826 var action = arguments.length > 1 ? arguments[1] : undefined; 17827 17828 switch (action.type) {
17829 case IX2_RAW_DATA_IMPORTED: 17830 { 17831 return action.payload.ixData || Object.freeze({}); 17832 } 17833 17834 default: 17835 { 17836 return state; 17837 } 17838 } 17839}; 17840 17841exports.ixData = ixData; 17842 17843/***/ }), 17844/* 388 */ 17845/***/ (function(module, exports, __webpack_require__) { 17846 17847"use strict"; 17848 17849 17850Object.defineProperty(exports, "__esModule", { 17851 value: true 17852}); 17853exports.QuickEffectDirectionConsts = exports.QuickEffectIds = exports.EventLimitAffectedElements = exports.EventContinuousMouseAxes = exports.EventBasedOn = exports.EventAppliesTo = exports.EventTypeConsts = void 0; 17854/** 17855 * Event Type IDs 17856 */ 17857 17858var EventTypeConsts = { 17859 NAVBAR_OPEN: 'NAVBAR_OPEN', 17860 NAVBAR_CLOSE: 'NAVBAR_CLOSE', 17861 TAB_ACTIVE: 'TAB_ACTIVE', 17862 TAB_INACTIVE: 'TAB_INACTIVE', 17863 SLIDER_ACTIVE: 'SLIDER_ACTIVE', 17864 SLIDER_INACTIVE: 'SLIDER_INACTIVE', 17865 DROPDOWN_OPEN: 'DROPDOWN_OPEN', 17866 DROPDOWN_CLOSE: 'DROPDOWN_CLOSE', 17867 MOUSE_CLICK: 'MOUSE_CLICK', 17868 MOUSE_SECOND_CLICK: 'MOUSE_SECOND_CLICK', 17869 MOUSE_DOWN: 'MOUSE_DOWN', 17870 MOUSE_UP: 'MOUSE_UP', 17871 MOUSE_OVER: 'MOUSE_OVER', 17872 MOUSE_OUT: 'MOUSE_OUT', 17873 MOUSE_MOVE: 'MOUSE_MOVE', 17874 MOUSE_MOVE_IN_VIEWPORT: 'MOUSE_MOVE_IN_VIEWPORT', 17875 SCROLL_INTO_VIEW: 'SCROLL_INTO_VIEW', 17876 SCROLL_OUT_OF_VIEW: 'SCROLL_OUT_OF_VIEW', 17877 SCROLLING_IN_VIEW: 'SCROLLING_IN_VIEW', 17878 ECOMMERCE_CART_OPEN: 'ECOMMERCE_CART_OPEN', 17879 ECOMMERCE_CART_CLOSE: 'ECOMMERCE_CART_CLOSE', 17880 PAGE_START: 'PAGE_START', 17881 PAGE_FINISH: 'PAGE_FINISH', 17882 PAGE_SCROLL_UP: 'PAGE_SCROLL_UP', 17883 PAGE_SCROLL_DOWN: 'PAGE_SCROLL_DOWN', 17884 PAGE_SCROLL: 'PAGE_SCROLL' 17885}; 17886/** 17887 * Event Config Enums 17888 */ 17889 17890exports.EventTypeConsts = EventTypeConsts; 17891var EventAppliesTo = { 17892 ELEMENT: 'ELEMENT', 17893 CLASS: 'CLASS', 17894 PAGE: 'PAGE' 17895}; 17896exports.EventAppliesTo = EventAppliesTo; 17897var EventBasedOn = { 17898 ELEMENT: 'ELEMENT', 17899 VIEWPORT: 'VIEWPORT' 17900}; 17901exports.EventBasedOn = EventBasedOn; 17902var EventContinuousMouseAxes = { 17903 X_AXIS: 'X_AXIS', 17904 Y_AXIS: 'Y_AXIS' 17905}; 17906exports.EventContinuousMouseAxes = EventContinuousMouseAxes; 17907var EventLimitAffectedElements = { 17908 CHILDREN: 'CHILDREN', 17909 SIBLINGS: 'SIBLINGS', 17910 IMMEDIATE_CHILDREN: 'IMMEDIATE_CHILDREN' 17911}; 17912/** 17913 * Quick Effect Enums 17914 */ 17915 17916exports.EventLimitAffectedElements = EventLimitAffectedElements; 17917var QuickEffectIds = { 17918 FADE_EFFECT: 'FADE_EFFECT', 17919 SLIDE_EFFECT: 'SLIDE_EFFECT', 17920 GROW_EFFECT: 'GROW_EFFECT', 17921 SHRINK_EFFECT: 'SHRINK_EFFECT', 17922 SPIN_EFFECT: 'SPIN_EFFECT', 17923 FLY_EFFECT: 'FLY_EFFECT', 17924 POP_EFFECT: 'POP_EFFECT', 17925 FLIP_EFFECT: 'FLIP_EFFECT', 17926 JIGGLE_EFFECT: 'JIGGLE_EFFECT', 17927 PULSE_EFFECT: 'PULSE_EFFECT', 17928 DROP_EFFECT: 'DROP_EFFECT', 17929 BLINK_EFFECT: 'BLINK_EFFECT', 17930 BOUNCE_EFFECT: 'BOUNCE_EFFECT', 17931 FLIP_LEFT_TO_RIGHT_EFFECT: 'FLIP_LEFT_TO_RIGHT_EFFECT', 17932 FLIP_RIGHT_TO_LEFT_EFFECT: 'FLIP_RIGHT_TO_LEFT_EFFECT', 17933 RUBBER_BAND_EFFECT: 'RUBBER_BAND_EFFECT', 17934 JELLO_EFFECT: 'JELLO_EFFECT', 17935 GROW_BIG_EFFECT: 'GROW_BIG_EFFECT', 17936 SHRINK_BIG_EFFECT: 'SHRINK_BIG_EFFECT', 17937 PLUGIN_LOTTIE_EFFECT: 'PLUGIN_LOTTIE_EFFECT' 17938}; 17939/** 17940 * Quick Effect Direction Enums 17941 */ 17942 17943exports.QuickEffectIds = QuickEffectIds; 17944var QuickEffectDirectionConsts = { 17945 LEFT: 'LEFT', 17946 RIGHT: 'RIGHT', 17947 BOTTOM: 'BOTTOM', 17948 TOP: 'TOP', 17949 BOTTOM_LEFT: 'BOTTOM_LEFT', 17950 BOTTOM_RIGHT: 'BOTTOM_RIGHT', 17951 TOP_RIGHT: 'TOP_RIGHT', 17952 TOP_LEFT: 'TOP_LEFT', 17953 CLOCKWISE: 'CLOCKWISE', 17954 COUNTER_CLOCKWISE: 'COUNTER_CLOCKWISE' 17955}; 17956exports.QuickEffectDirectionConsts = QuickEffectDirectionConsts; 17957 17958/***/ }), 17959/* 389 */ 17960/***/ (function(module, exports, __webpack_require__) { 17961 17962"use strict"; 17963 17964 17965Object.defineProperty(exports, "__esModule", { 17966 value: true 17967}); 17968exports.InteractionTypeConsts = void 0; 17969var InteractionTypeConsts = { 17970 MOUSE_CLICK_INTERACTION: 'MOUSE_CLICK_INTERACTION', 17971 MOUSE_HOVER_INTERACTION: 'MOUSE_HOVER_INTERACTION', 17972 MOUSE_MOVE_INTERACTION: 'MOUSE_MOVE_INTERACTION', 17973 SCROLL_INTO_VIEW_INTERACTION: 'SCROLL_INTO_VIEW_INTERACTION', 17974 SCROLLING_IN_VIEW_INTERACTION: 'SCROLLING_IN_VIEW_INTERACTION', 17975 MOUSE_MOVE_IN_VIEWPORT_INTERACTION: 'MOUSE_MOVE_IN_VIEWPORT_INTERACTION', 17976 PAGE_IS_SCROLLING_INTERACTION: 'PAGE_IS_SCROLLING_INTERACTION', 17977 PAGE_LOAD_INTERACTION: 'PAGE_LOAD_INTERACTION', 17978 PAGE_SCROLLED_INTERACTION: 'PAGE_SCROLLED_INTERACTION', 17979 NAVBAR_INTERACTION: 'NAVBAR_INTERACTION', 17980 DROPDOWN_INTERACTION: 'DROPDOWN_INTERACTION', 17981 ECOMMERCE_CART_INTERACTION: 'ECOMMERCE_CART_INTERACTION', 17982 TAB_INTERACTION: 'TAB_INTERACTION', 17983 SLIDER_INTERACTION: 'SLIDER_INTERACTION' 17984}; 17985exports.InteractionTypeConsts = InteractionTypeConsts; 17986 17987/***/ }), 17988/* 390 */ 17989/***/ (function(module, exports, __webpack_require__) { 17990 17991"use strict"; 17992 17993 17994var _interopRequireDefault = __webpack_require__(3); 17995 17996var _defineProperty2 = _interopRequireDefault(__webpack_require__(38)); 17997 17998var _ReducedMotionTypes; 17999 18000Object.defineProperty(exports, "__esModule", { 18001 value: true 18002}); 18003exports.ReducedMotionTypes = void 0; 18004 18005var _animationActions = __webpack_require__(175); 18006 18007var _animationActions$Act = _animationActions.ActionTypeConsts, 18008 TRANSFORM_MOVE = _animationActions$Act.TRANSFORM_MOVE, 18009 TRANSFORM_SCALE = _animationActions$Act.TRANSFORM_SCALE, 18010 TRANSFORM_ROTATE = _animationActions$Act.TRANSFORM_ROTATE, 18011 TRANSFORM_SKEW = _animationActions$Act.TRANSFORM_SKEW, 18012 STYLE_SIZE = _animationActions$Act.STYLE_SIZE,
18013 STYLE_FILTER = _animationActions$Act.STYLE_FILTER; 18014/** 18015 * Reduced Motion: Action types to bypass during `prefers-reduced-motion` 18016 */ 18017 18018var ReducedMotionTypes = (_ReducedMotionTypes = {}, (0, _defineProperty2["default"])(_ReducedMotionTypes, TRANSFORM_MOVE, true), (0, _defineProperty2["default"])(_ReducedMotionTypes, TRANSFORM_SCALE, true), (0, _defineProperty2["default"])(_ReducedMotionTypes, TRANSFORM_ROTATE, true), (0, _defineProperty2["default"])(_ReducedMotionTypes, TRANSFORM_SKEW, true), (0, _defineProperty2["default"])(_ReducedMotionTypes, STYLE_SIZE, true), (0, _defineProperty2["default"])(_ReducedMotionTypes, STYLE_FILTER, true), _ReducedMotionTypes); 18019exports.ReducedMotionTypes = ReducedMotionTypes; 18020 18021/***/ }), 18022/* 391 */ 18023/***/ (function(module, exports, __webpack_require__) { 18024 18025"use strict"; 18026 18027 18028Object.defineProperty(exports, "__esModule", { 18029 value: true 18030}); 18031exports.IX2_TEST_FRAME_RENDERED = exports.IX2_MEDIA_QUERIES_DEFINED = exports.IX2_VIEWPORT_WIDTH_CHANGED = exports.IX2_ACTION_LIST_PLAYBACK_CHANGED = exp
18031orts.IX2_ELEMENT_STATE_CHANGED = exports.IX2_INSTANCE_REMOVED = exports.IX2_INSTANCE_STARTED = exports.IX2_INSTANCE_ADDED = exports.IX2_PARAMETER_CHANGED = exports.IX2_ANIMATION_FRAME_CHANGED = exports.IX2_EVENT_STATE_CHANGED = exports.IX2_EVENT_LISTENER_ADDED = exports.IX2_CLEAR_REQUESTED = exports.IX2_STOP_REQUESTED = exports.IX2_PLAYBACK_REQUESTED = exports.IX2_PREVIEW_REQUESTED = exports.IX2_SESSION_STOPPED = exports.IX2_SESSION_STARTED = exports.IX2_SESSION_INITIALIZED = exports.IX2_RAW_DATA_IMPORTED = void 0; 18032var IX2_RAW_DATA_IMPORTED = 'IX2_RAW_DATA_IMPORTED'; 18033exports.IX2_RAW_DATA_IMPORTED = IX2_RAW_DATA_IMPORTED; 18034var IX2_SESSION_INITIALIZED = 'IX2_SESSION_INITIALIZED'; 18035exports.IX2_SESSION_INITIALIZED = IX2_SESSION_INITIALIZED; 18036var IX2_SESSION_STARTED = 'IX2_SESSION_STARTED'; 18037exports.IX2_SESSION_STARTED = IX2_SESSION_STARTED; 18038var IX2_SESSION_STOPPED = 'IX2_SESSION_STOPPED'; 18039exports.IX2_SESSION_STOPPED = IX2_SESSION_STOPPED; 18040var IX2_PREVIEW_REQUESTED = 'IX2_PREVIEW_REQUESTED'; 18041exports.IX2_PREVIEW_REQUESTED = IX2_PREVIEW_REQUESTED; 18042var IX2_PLAYBACK_REQUESTED = 'IX2_PLAYBACK_REQUESTED'; 18043exports.IX2_PLAYBACK_REQUESTED = IX2_PLAYBACK_REQUESTED; 18044var IX2_STOP_REQUESTED = 'IX2_STOP_REQUESTED'; 18045exports.IX2_STOP_REQUESTED = IX2_STOP_REQUESTED; 18046var IX2_CLEAR_REQUESTED = 'IX2_CLEAR_REQUESTED'; 18047exports.IX2_CLEAR_REQUESTED = IX2_CLEAR_REQUESTED; 18048var IX2_EVENT_LISTENER_ADDED = 'IX2_EVENT_LISTENER_ADDED'; 18049exports.IX2_EVENT_LISTENER_ADDED = IX2_EVENT_LISTENER_ADDED; 18050var IX2_EVENT_STATE_CHANGED = 'IX2_EVENT_STATE_CHANGED'; 18051exports.IX2_EVENT_STATE_CHANGED = IX2_EVENT_STATE_CHANGED; 18052var IX2_ANIMATION_FRAME_CHANGED = 'IX2_ANIMATION_FRAME_CHANGED'; 18053exports.IX2_ANIMATION_FRAME_CHANGED = IX2_ANIMATION_FRAME_CHANGED; 18054var IX2_PARAMETER_CHANGED = 'IX2_PARAMETER_CHANGED'; 18055exports.IX2_PARAMETER_CHANGED = IX2_PARAMETER_CHANGED; 18056var IX2_INSTANCE_ADDED = 'IX2_INSTANCE_ADDED'; 18057exports.IX2_INSTANCE_ADDED = IX2_INSTANCE_ADDED; 18058var IX2_INSTANCE_STARTED = 'IX2_INSTANCE_STARTED'; 18059exports.IX2_INSTANCE_STARTED = IX2_INSTANCE_STARTED; 18060var IX2_INSTANCE_REMOVED = 'IX2_INSTANCE_REMOVED'; 18061exports.IX2_INSTANCE_REMOVED = IX2_INSTANCE_REMOVED; 18062var IX2_ELEMENT_STATE_CHANGED = 'IX2_ELEMENT_STATE_CHANGED'; 18063exports.IX2_ELEMENT_STATE_CHANGED = IX2_ELEMENT_STATE_CHANGED; 18064var IX2_ACTION_LIST_PLAYBACK_CHANGED = 'IX2_ACTION_LIST_PLAYBACK_CHANGED'; 18065exports.IX2_ACTION_LIST_PLAYBACK_CHANGED = IX2_ACTION_LIST_PLAYBACK_CHANGED; 18066var IX2_VIEWPORT_WIDTH_CHANGED = 'IX2_VIEWPORT_WIDTH_CHANGED'; 18067exports.IX2_VIEWPORT_WIDTH_CHANGED = IX2_VIEWPORT_WIDTH_CHANGED; 18068var IX2_MEDIA_QUERIES_DEFINED = 'IX2_MEDIA_QUERIES_DEFINED'; 18069exports.IX2_MEDIA_QUERIES_DEFINED = IX2_MEDIA_QUERIES_DEFINED; 18070var IX2_TEST_FRAME_RENDERED = 'IX2_TEST_FRAME_RENDERED'; 18071exports.IX2_TEST_FRAME_RENDERED = IX2_TEST_FRAME_RENDERED; 18072 18073/***/ }), 18074/* 392 */ 18075/***/ (function(module, exports, __webpack_require__) { 18076 18077"use strict"; 18078 18079 18080Object.defineProperty(exports, "__esModule", { 18081 value: true 18082}); 18083exports.RENDER_PLUGIN = exports.RENDER_STYLE = exports.RENDER_GENERAL = exports.RENDER_TRANSFORM = exp
18083orts.ABSTRACT_NODE = exports.PLAIN_OBJECT = exports.HTML_ELEMENT = exports.PRESERVE_3D = exports.PARENT = exports.SIBLINGS = exports.IMMEDIATE_CHILDREN = exports.CHILDREN = exports.BAR_DELIMITER = exports.COLON_DELIMITER = exports.COMMA_DELIMITER = exports.AUTO = exports.WILL_CHANGE = exports.FLEX = exports.DISPLAY = exports.COLOR = exports.BORDER_COLOR = exports.BACKGROUND = exports.BACKGROUND_COLOR = exports.HEIGHT = exports.WIDTH = exports.FILTER = exports.OPACITY = exports.SKEW_Y = exports.SKEW_X = exports.SKEW = exports.ROTATE_Z = exports.ROTATE_Y = exports.ROTATE_X = exports.SCALE_3D = exports.SCALE_Z = exports.SCALE_Y = exports.SCALE_X = exports.TRANSLATE_3D = exports.TRANSLATE_Z = exports.TRANSLATE_Y = exports.TRANSLATE_X = exports.TRANSFORM = exports.CONFIG_UNIT = exports.CONFIG_Z_UNIT = exports.CONFIG_Y_UNIT = exports.CONFIG_X_UNIT = exports.CONFIG_VALUE = exports.CONFIG_Z_VALUE = exports.CONFIG_Y_VALUE = exports.CONFIG_X_VALUE = exports.BOUNDARY_SELECTOR = exports.W_MOD_IX = exports.W_MOD_JS = exports.WF_PAGE = exports.IX2_ID_DELIMITER = void 0; 18084var IX2_ID_DELIMITER = '|'; 18085exports.IX2_ID_DELIMITER = IX2_ID_DELIMITER; 18086var WF_PAGE = 'data-wf-page'; 18087exports.WF_PAGE = WF_PAGE; 18088var W_MOD_JS = 'w-mod-js'; 18089exports.W_MOD_JS = W_MOD_JS; 18090var W_MOD_IX = 'w-mod-ix'; 18091exports.W_MOD_IX = W_MOD_IX; 18092var BOUNDARY_SELECTOR = '.w-dyn-item'; 18093exports.BOUNDARY_SELECTOR = BOUNDARY_SELECTOR; 18094var CONFIG_X_VALUE = 'xValue'; 18095exports.CONFIG_X_VALUE = CONFIG_X_VALUE; 18096var CONFIG_Y_VALUE = 'yValue'; 18097exports.CONFIG_Y_VALUE = CONFIG_Y_VALUE; 18098var CONFIG_Z_VALUE = 'zValue'; 18099exports.CONFIG_Z_VALUE = CONFIG_Z_VALUE; 18100var CONFIG_VALUE = 'value'; 18101exports.CONFIG_VALUE = CONFIG_VALUE; 18102var CONFIG_X_UNIT = 'xUnit'; 18103exports.CONFIG_X_UNIT = CONFIG_X_UNIT; 18104var CONFIG_Y_UNIT = 'yUnit'; 18105exports.CONFIG_Y_UNIT = CONFIG_Y_UNIT; 18106var CONFIG_Z_UNIT = 'zUnit'; 18107exports.CONFIG_Z_UNIT = CONFIG_Z_UNIT; 18108var CONFIG_UNIT = 'unit'; 18109exports.CONFIG_UNIT = CONFIG_UNIT; 18110var TRANSFORM = 'transform'; 18111exports.TRANSFORM = TRANSFORM; 18112var TRANSLATE_X = 'translateX'; 18113exports.TRANSLATE_X = TRANSLATE_X; 18114var TRANSLATE_Y = 'translateY'; 18115exports.TRANSLATE_Y = TRANSLATE_Y; 18116var TRANSLATE_Z = 'translateZ'; 18117exports.TRANSLATE_Z = TRANSLATE_Z; 18118var TRANSLATE_3D = 'translate3d'; 18119exports.TRANSLATE_3D = TRANSLATE_3D; 18120var SCALE_X = 'scaleX'; 18121exports.SCALE_X = SCALE_X; 18122var SCALE_Y = 'scaleY'; 18123exports.SCALE_Y = SCALE_Y; 18124var SCALE_Z = 'scaleZ'; 18125exports.SCALE_Z = SCALE_Z; 18126var SCALE_3D = 'scale3d'; 18127exports.SCALE_3D = SCALE_3D; 18128var ROTATE_X = 'rotateX'; 18129exports.ROTATE_X = ROTATE_X; 18130var ROTATE_Y = 'rotateY'; 18131exports.ROTATE_Y = ROTATE_Y; 18132var ROTATE_Z = 'rotateZ'; 18133exports.ROTATE_Z = ROTATE_Z; 18134var SKEW = 'skew'; 18135exports.SKEW = SKEW; 18136var SKEW_X = 'skewX'; 18137exports.SKEW_X = SKEW_X; 18138var SKEW_Y = 'skewY'; 18139exports.SKEW_Y = SKEW_Y; 18140var OPACITY = 'opacity'; 18141exports.OPACITY = OPACITY; 18142var FILTER = 'filter'; 18143exports.FILTER = FILTER; 18144var WIDTH = 'width'; 18145exports.WIDTH = WIDTH; 18146var HEIGHT = 'height'; 18147exports.HEIGHT = HEIGHT; 18148var BACKGROUND_COLOR = 'backgroundColor'; 18149exports.BACKGROUND_COLOR = BACKGROUND_COLOR; 18150var BACKGROUND = 'background'; 18151exports.BACKGROUND = BACKGROUND; 18152var BORDER_COLOR = 'borderColor'; 18153exports.BORDER_COLOR = BORDER_COLOR; 18154var COLOR = 'color'; 18155exports.COLOR = COLOR; 18156var DISPLAY = 'display'; 18157exports.DISPLAY = DISPLAY; 18158var FLEX = 'flex'; 18159exports.FLEX = FLEX; 18160var WILL_CHANGE = 'willChange'; 18161exports.WILL_CHANGE = WILL_CHANGE; 18162var AUTO = 'AUTO'; 18163exports.AUTO = AUTO; 18164var COMMA_DELIMITER = ','; 18165exports.COMMA_DELIMITER = COMMA_DELIMITER; 18166var COLON_DELIMITER = ':'; 18167exports.COLON_DELIMITER = COLON_DELIMITER; 18168var BAR_DELIMITER = '|'; 18169exports.BAR_DELIMITER = BAR_DELIMITER; 18170var CHILDREN = 'CHILDREN'; 18171exports.CHILDREN = CHILDREN; 18172var IMMEDIATE_CHILDREN = 'IMMEDIATE_CHILDREN'; 18173exports.IMMEDIATE_CHILDREN = IMMEDIATE_CHILDREN; 18174var SIBLINGS = 'SIBLINGS'; 18175exports.SIBLINGS = SIBLINGS; 18176var PARENT = 'PARENT'; 18177exports.PARENT = PARENT; 18178var PRESERVE_3D = 'preserve-3d'; 18179exports.PRESERVE_3D = PRESERVE_3D; 18180var HTML_ELEMENT = 'HTML_ELEMENT'; 18181exports.HTML_ELEMENT = HTML_ELEMENT; 18182var PLAIN_OBJECT = 'PLAIN_OBJECT'; 18183exports.PLAIN_OBJECT = PLAIN_OBJECT; 18184var ABSTRACT_NODE = 'ABSTRACT_NODE'; 18185exports.ABSTRACT_NODE = ABSTRACT_NODE; 18186var RENDER_TRANSFORM = 'RENDER_TRANSFORM'; 18187exports.RENDER_TRANSFORM = RENDER_TRANSFORM; 18188var RENDER_GENERAL = 'RENDER_GENERAL'; 18189exports.RENDER_GENERAL = RENDER_GENERAL; 18190var RENDER_STYLE = 'RENDER_STYLE'; 18191exports.RENDER_STYLE = RENDER_STYLE; 18192var RENDER_PLUGIN = 'RENDER_PLUGIN'; 18193exports.RENDER_PLUGIN = RENDER_PLUGIN; 18194 18195/***/ }), 18196/* 393 */ 18197/***/ (function(module, exports, __webpack_require__) { 18198 18199"use strict"; 18200 18201 18202var _interopRequireDefault2 = __webpack_require__(3); 18203 18204var _defineProperty2 = _interopRequireDefault2(__webpack_require__(38)); 18205
18206var _Object$create; 18207 18208var _interopRequireDefault = __webpack_require__(3); 18209 18210Object.defineProperty(exports, "__esModule", { 18211 value: true 18212}); 18213exports.ixRequest = void 0; 18214 18215var _extends2 = _interopRequireDefault(__webpack_require__(46)); 18216 18217var _constants = __webpack_require__(14); 18218 18219var _timm = __webpack_require__(58); 18220 18221var _constants$IX2EngineA = _constants.IX2EngineActionTypes, 18222 IX2_PREVIEW_REQUESTED = _constants$IX2EngineA.IX2_PREVIEW_REQUESTED, 18223 IX2_PLAYBACK_REQUESTED = _constants$IX2EngineA.IX2_PLAYBACK_REQUESTED, 18224 IX2_STOP_REQUESTED = _constants$IX2EngineA.IX2_STOP_REQUESTED, 18225 IX2_CLEAR_REQUESTED = _constants$IX2EngineA.IX2_CLEAR_REQUESTED; 18226var initialState = { 18227 preview: {}, 18228 playback: {}, 18229 stop: {}, 18230 clear: {} 18231}; 18232var stateKeys = Object.create(null, (_Object$create = {}, (0, _defineProperty2["default"])(_Object$create, IX2_PREVIEW_REQUESTED, { 18233 value: 'preview' 18234}), (0, _defineProperty2["default"])(_Object$create, IX2_PLAYBACK_REQUESTED, { 18235 value: 'playback' 18236}), (0, _defineProperty2["default"])(_Object$create, IX2_STOP_REQUESTED, { 18237 value: 'stop' 18238}), (0, _defineProperty2["default"])(_Object$create, IX2_CLEAR_REQUESTED, { 18239 value: 'clear' 18240}), _Object$create)); 18241 18242var ixRequest = function ixRequest() { 18243 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; 18244 var action = arguments.length > 1 ? arguments[1] : undefined; 18245 18246 if (action.type in stateKeys) { 18247 var key = [stateKeys[action.type]]; 18248 return (0, _timm.setIn)(state, [key], (0, _extends2["default"])({}, action.payload)); 18249 } 18250 18251 return state; 18252}; 18253 18254exports.ixRequest = ixRequest; 18255 18256/***/ }), 18257/* 394 */ 18258/***/ (function(module, exports, __webpack_require__) { 18259 18260"use strict"; 18261 18262 18263Object.defineProperty(exports, "__esModule", { 18264 value: true 18265}); 18266exports.ixSession = void 0; 18267 18268var _constants = __webpack_require__(14); 18269 18270var _timm = __webpack_require__(58); 18271 18272var _constants$IX2EngineA = _constants.IX2EngineActionTypes, 18273 IX2_SESSION_INITIALIZED = _constants$IX2EngineA.IX2_SESSION_INITIALIZED, 18274 IX2_SESSION_STARTED = _constants$IX2EngineA.IX2_SESSION_STARTED, 18275 IX2_TEST_FRAME_RENDERED = _constants$IX2EngineA.IX2_TEST_FRAME_RENDERED, 18276 IX2_SESSION_STOPPED = _constants$IX2EngineA.IX2_SESSION_STOPPED, 18277 IX2_EVENT_LISTENER_ADDED = _constants$IX2EngineA.IX2_EVENT_LISTENER_ADDED, 18278 IX2_EVENT_STATE_CHANGED = _constants$IX2EngineA.IX2_EVENT_STATE_CHANGED, 18279 IX2_ANIMATION_FRAME_CHANGED = _constants$IX2EngineA.IX2_ANIMATION_FRAME_CHANGED, 18280 IX2_ACTION_LIST_PLAYBACK_CHANGED = _constants$IX2EngineA.IX2_ACTION_LIST_PLAYBACK_CHANGED, 18281 IX2_VIEWPORT_WIDTH_CHANGED = _constants$IX2EngineA.IX2_VIEWPORT_WIDTH_CHANGED, 18282 IX2_MEDIA_QUERIES_DEFINED = _constants$IX2EngineA.IX2_MEDIA_QUERIES_DEFINED; 18283var initialState = { 18284 active: false, 18285 tick: 0, 18286 eventListeners: [], 18287 eventState: {}, 18288 playbackState: {}, 18289 viewportWidth: 0, 18290 mediaQueryKey: null, 18291 hasBoundaryNodes: false, 18292 hasDefinedMediaQueries: false, 18293 reducedMotion: false 18294}; 18295var TEST_FRAME_STEPS_SIZE = 20; // $FlowFixMe 18296 18297var ixSession = function ixSession() { 18298 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; 18299 var action = arguments.length > 1 ? arguments[1] : undefined; 18300 18301 switch (action.type) { 18302 case IX2_SESSION_INITIALIZED: 18303 { 18304 var _action$payload = action.payload, 18305 hasBoundaryNodes = _action$payload.hasBoundaryNodes, 18306 reducedMotion = _action$payload.reducedMotion; 18307 return (0, _timm.merge)(state, { 18308 hasBoundaryNodes: hasBoundaryNodes, 18309 reducedMotion: reducedMotion 18310 }); 18311 } 18312 18313 case IX2_SESSION_STARTED: 18314 { 18315 return (0, _timm.set)(state, 'active', true); 18316 } 18317 18318 case IX2_TEST_FRAME_RENDERED: 18319 { 18320 var _action$payload$step = action.payload.step, 18321 step = _action$payload$step === void 0 ? TEST_FRAME_STEPS_SIZE : _action$payload$step; 18322 return (0, _timm.set)(state, 'tick', state.tick + step); 18323 } 18324 18325 case IX2_SESSION_STOPPED: 18326 { 18327 return initialState; 18328 } 18329 18330 case IX2_ANIMATION_FRAME_CHANGED: 18331 { 18332 var now = action.payload.now; 18333 return (0, _timm.set)(state, 'tick', now); 18334 } 18335 18336 case IX2_EVENT_LISTENER_ADDED: 18337 { 18338 var eventListeners = (0, _timm.addLast)(state.eventListeners, action.payload); 18339 return (0, _timm.set)(state, 'eventListeners', eventListeners); 18340 } 18341 18342 case IX2_EVENT_STATE_CHANGED: 18343 { 18344 var _action$payload2 = action.payload, 18345 stateKey = _action$payload2.stateKey, 18346 newState = _action$payload2.newState; 18347 return (0, _timm.setIn)(state, ['eventState', stateKey], newState); 18348 } 18349 18350 case IX2_ACTION_LIST_PLAYBACK_CHANGED: 18351 { 18352 var _action$payload3 = action.payload, 18353 actionListId = _action$payload3.actionListId, 18354 isPlaying = _action$payload3.isPlaying; 18355 return (0, _timm.setIn)(state, ['playbackState', actionListId], isPlaying); 18356 } 18357 18358 case IX2_VIEWPORT_WIDTH_CHANGED: 18359 { 18360 var _action$payload4 = action.payload, 18361 width = _action$payload4.width, 18362 mediaQueries = _action$payload4.mediaQueries; 18363 var mediaQueryCount = mediaQueries.length; 18364 var mediaQueryKey = null; 18365 18366 for (var i = 0; i < mediaQueryCount; i++) { 18367 var _mediaQueries$i = mediaQueries[i], 18368 key = _mediaQueries$i.key, 18369 min = _mediaQueries$i.min, 18370 max = _mediaQueries$i.max; 18371 18372 if (width >= min && width <= max) { 18373 mediaQueryKey = key; 18374 break; 18375 } 18376 } 18377 18378 return (0, _timm.merge)(state, { 18379 viewportWidth: width, 18380 mediaQueryKey: mediaQueryKey 18381 }); 18382 } 18383 18384 case IX2_MEDIA_QUERIES_DEFINED: 18385 { 18386 return (0, _timm.set)(state, 'hasDefinedMediaQueries', true); 18387 } 18388 18389 default: 18390 { 18391 return state; 18392 } 18393 } 18394}; 18395 18396exports.ixSession = ixSession; 18397 18398/***/ }), 18399/* 395 */
18400/***/ (function(module, exports) { 18401 18402function _arrayWithoutHoles(arr) { 18403 if (Array.isArray(arr)) { 18404 for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { 18405 arr2[i] = arr[i]; 18406 } 18407 18408 return arr2; 18409 } 18410} 18411 18412module.exports = _arrayWithoutHoles; 18413 18414/***/ }), 18415/* 396 */ 18416/***/ (function(module, exports) { 18417 18418function _iterableToArray(iter) { 18419 if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); 18420} 18421 18422module.exports = _iterableToArray; 18423 18424/***/ }), 18425/* 397 */ 18426/***/ (function(module, exports) { 18427 18428function _nonIterableSpread() { 18429 throw new TypeError("Invalid attempt to spread non-iterable instance"); 18430} 18431 18432module.exports = _nonIterableSpread; 18433 18434/***/ }), 18435/* 398 */ 18436/***/ (function(module, exports, __webpack_require__) { 18437 18438"use strict"; 18439 18440 18441Object.defineProperty(exports, "__esModule", { 18442 value: true 18443}); 18444exports.createElementState = createElementState; 18445exports.mergeActionState = mergeActionState; 18446exports.ixElements = void 0; 18447 18448var _timm = __webpack_require__(58); 18449 18450var _constants = __webpack_require__(14); 18451 18452var _constants$IX2EngineC = _constants.IX2EngineConstants, 18453 HTML_ELEMENT = _constants$IX2EngineC.HTML_ELEMENT, 18454 PLAIN_OBJECT = _constants$IX2EngineC.PLAIN_OBJECT, 18455 ABSTRACT_NODE = _constants$IX2EngineC.ABSTRACT_NODE, 18456 CONFIG_X_VALUE = _constants$IX2EngineC.CONFIG_X_VALUE, 18457 CONFIG_Y_VALUE = _constants$IX2EngineC.CONFIG_Y_VALUE, 18458 CONFIG_Z_VALUE = _constants$IX2EngineC.CONFIG_Z_VALUE, 18459 CONFIG_VALUE = _constants$IX2EngineC.CONFIG_VALUE, 18460 CONFIG_X_UNIT = _constants$IX2EngineC.CONFIG_X_UNIT, 18461 CONFIG_Y_UNIT = _constants$IX2EngineC.CONFIG_Y_UNIT, 18462 CONFIG_Z_UNIT = _constants$IX2EngineC.CONFIG_Z_UNIT, 18463 CONFIG_UNIT = _constants$IX2EngineC.CONFIG_UNIT; 18464var _constants$IX2EngineA = _constants.IX2EngineActionTypes, 18465 IX2_SESSION_STOPPED = _constants$IX2EngineA.IX2_SESSION_STOPPED, 18466 IX2_INSTANCE_ADDED = _constants$IX2EngineA.IX2_INSTANCE_ADDED, 18467 IX2_ELEMENT_STATE_CHANGED = _constants$IX2EngineA.IX2_ELEMENT_STATE_CHANGED; 18468var initialState = {}; 18469var refState = 'refState'; 18470 18471var ixElements = function ixElements() { 18472 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; 18473 var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 18474 18475 switch (action.type) { 18476 case IX2_SESSION_STOPPED: 18477 { 18478 return initialState; 18479 } 18480 18481 case IX2_INSTANCE_ADDED: 18482 { 18483 var _action$payload = action.payload, 18484 elementId = _action$payload.elementId, 18485 ref = _action$payload.element, 18486 origin = _action$payload.origin, 18487 actionItem = _action$payload.actionItem, 18488 refType = _action$payload.refType; 18489 var actionTypeId = actionItem.actionTypeId; 18490 var newState = state; // Create new ref entry if it doesn't exist 18491 18492 if ((0, _timm.getIn)(newState, [elementId, ref]) !== ref) { 18493 newState = createElementState(newState, ref, refType, elementId, actionItem); 18494 } // Merge origin values into ref state 18495 18496 18497 return mergeActionState(newState, elementId, actionTypeId, origin, actionItem); 18498 } 18499 18500 case IX2_ELEMENT_STATE_CHANGED: 18501 { 18502 var _action$payload2 = action.payload, 18503 _elementId = _action$payload2.elementId, 18504 _actionTypeId = _action$payload2.actionTypeId, 18505 current = _action$payload2.current, 18506 _actionItem = _action$payload2.actionItem; 18507 return mergeActionState(state, _elementId, _actionTypeId, current, _actionItem); 18508 } 18509 18510 default: 18511 { 18512 return state; 18513 } 18514 } 18515}; 18516 18517exports.ixElements = ixElements; 18518 18519function createElementState(state, ref, refType, elementId, actionItem) { 18520 var refId = refType === PLAIN_OBJECT ? (0, _timm.getIn)(actionItem, ['config', 'target', 'objectId']) : null; 18521 return (0, _timm.mergeIn)(state, [elementId], { 18522 id: elementId, 18523 ref: ref, 18524 refId: refId, 18525 refType: refType 18526 }); 18527} 18528 18529function mergeActionState(state, elementId, actionTypeId, actionState, // FIXME: weak type is used 18530actionItem) { 18531 var units = pickUnits(actionItem); 18532 var mergePath = [elementId, refState, actionTypeId]; 18533 return (0, _timm.mergeIn)(state, mergePath, actionState, units); 18534} 18535 18536var valueUnitPairs = [[CONFIG_X_VALUE, CONFIG_X_UNIT], [CONFIG_Y_VALUE, CONFIG_Y_UNIT], [CONFIG_Z_VALUE, CONFIG_Z_UNIT], [CONFIG_VALUE, CONFIG_UNIT]]; // FIXME: weak type is used 18537// eslint-disable-next-line flowtype/no-weak-types 18538 18539function pickUnits(actionItem) { 18540 var config = actionItem.config; 18541 return valueUnitPairs.reduce(function (result, pair) { 18542 var valueKey = pair[0]; 18543 var unitKey = pair[1]; 18544 var configValue = config[valueKey]; 18545 var configUnit = config[unitKey]; 18546 18547 if (configValue != null && configUnit != null) { 18548 result[unitKey] = configUnit; 18549 } 18550 18551 return result; 18552 }, {}); 18553} 18554 18555/***/ }), 18556/* 399 */ 18557/***/ (function(module, exports, __webpack_require__) { 18558 18559"use strict"; 18560 18561 18562Object.defineProperty(exports, "__esModule", { 18563 value: true 18564}); 18565exports.clearPlugin = exports.renderPlugin = exports.createPluginInstance = exports.getPluginDestination = exports.getPluginOrigin = exports.getPluginDuration = exports.getPluginConfig = void 0; 18566/* eslint-env browser */ 18567// $FlowFixMe 18568 18569var getPluginConfig = function getPluginConfig(actionItemConfig) { 18570 return actionItemConfig.value; 18571}; // $FlowFixMe 18572 18573 18574exports.getPluginConfig = getPluginConfig; 18575 18576var getPluginDuration = function getPluginDuration(element, actionItem) { 18577 if (actionItem.config.duration !== 'auto') { 18578 return null; 18579 } 18580 18581 var duration = parseFloat(element.getAttribute('data-duration')); 18582 18583 if (duration > 0) { 18584 return duration * 1000; 18585 } 18586 18587 return parseFloat(element.getAttribute('data-default-duration')) * 1000; 18588}; // $FlowFixMe 18589 18590 18591exports.getPluginDuration = getPluginDuration; 18592 18593var getPluginOrigin = function getPluginOrigin(refState) { 18594 return refState || { 18595 value: 0 18596 }; 18597}; // $FlowFixMe 18598 18599 18600exports.getPluginOrigin = getPluginOrigin; 18601 18602var getPluginDestination = function getPluginDestination(actionItemConfig) { 18603 return { 18604 value: actionItemConfig.value 18605 }; 18606}; // $FlowFixMe 18607 18608 18609exports.getPluginDestination = getPluginDestination; 18610 18611var createPluginInstance = function createPluginInstance(element) { 18612 var instance = window.Webflow.require('lottie').createInstance(element); 18613 18614 instance.stop(); 18615 instance.setSubframe(true); 18616 return instance; 18617}; // $FlowFixMe 18618 18619 18620exports.createPluginInstance = createPluginInstance; 18621 18622var renderPlugin = function renderPlugin(pluginInstance, refState, actionItem) { 18623 if (!pluginInstance) { 18624 return; 18625 } 18626 18627 var percent = refState[actionItem.actionTypeId].value / 100; 18628 pluginInstance.goToFrame(pluginInstance.frames * percent); 18629}; // $FlowFixMe 18630 18631 18632exports.renderPlugin = renderPlugin; 18633 18634var clearPlugin = function clearPlugin(element) { 18635 var instance = window.Webflow.require('lottie').createInstance(element); 18636 18637 instance.stop(); 18638}; 18639 18640exports.clearPlugin = clearPlugin; 18641 18642/***/ }), 18643/* 400 */ 18644/***/ (function(module, exports, __webpack_require__) { 18645 18646"use strict"; 18647 18648 18649var _interopRequireDefault2 = __webpack_require__(3); 18650 18651var _typeof2 = _interopRequireDefault2(__webpack_require__(37)); 18652 18653var _defineProperty2 = _interopRequireDefault2(__webpack_require__(38)); 18654
18655var _Object$freeze, _Object$freeze2, _transformDefaults; 18656 18657var _interopRequireDefault = __webpack_require__(3); 18658 18659Object.defineProperty(exports, "__esModule", { 18660 value: true 18661}); 18662exports.getInstanceId = getInstanceId; 18663exports.getElementId = getElementId; 18664exports.reifyState = reifyState; 18665exports.observeStore = observeStore; 18666exports.getAffectedElements = getAffectedElements; 18667exports.getComputedStyle = getComputedStyle; 18668exports.getInstanceOrigin = getInstanceOrigin; 18669exports.getDestinationValues = getDestinationValues; 18670exports.getRenderType = getRenderType; 18671exports.getStyleProp = getStyleProp; 18672exports.renderHTMLElement = renderHTMLElement; 18673exports.clearAllStyles = clearAllStyles; 18674exports.cleanupHTMLElement = cleanupHTMLElement; 18675exports.getMaxDurationItemIndex = getMaxDurationItemIndex; 18676exports.getActionListProgress = getActionListProgress; 18677exports.reduceListToGroup = reduceListToGroup; 18678exports.shouldNamespaceEventParameter = shouldNamespaceEventParameter; 18679exports.getNamespacedParameterId = getNamespacedParameterId; 18680exports.shouldAllowMediaQuery = shouldAllowMediaQuery; 18681exports.mediaQueriesEqual = mediaQueriesEqual; 18682exports.stringifyTarget = stringifyTarget; 18683Object.defineProperty(exports, "shallowEqual", { 18684 enumerable: true, 18685 get: function get() { 18686 return _shallowEqual["default"]; 18687 } 18688}); 18689exports.getItemConfigByKey = void 0; 18690 18691var _defaultTo = _interopRequireDefault(__webpack_require__(401)); 18692 18693var _reduce = _interopRequireDefault(__webpack_require__(402)); 18694 18695var _findLast = _interopRequireDefault(__webpack_require__(408)); 18696 18697var _timm = __webpack_require__(58); 18698 18699var _constants = __webpack_require__(14); 18700 18701var _shallowEqual = _interopRequireDefault(__webpack_require__(410)); 18702 18703var _IX2EasingUtils = __webpack_require__(180); 18704 18705var _IX2VanillaPlugins = __webpack_require__(182); 18706 18707var _IX2BrowserSupport = __webpack_require__(120); 18708/* eslint-env browser */ 18709 18710 18711var _constants$IX2EngineC = _constants.IX2EngineConstants, 18712 BACKGROUND = _constants$IX2EngineC.BACKGROUND, 18713 TRANSFORM = _constants$IX2EngineC.TRANSFORM, 18714 TRANSLATE_3D = _constants$IX2EngineC.TRANSLATE_3D, 18715 SCALE_3D = _constants$IX2EngineC.SCALE_3D, 18716 ROTATE_X = _constants$IX2EngineC.ROTATE_X, 18717 ROTATE_Y = _constants$IX2EngineC.ROTATE_Y, 18718 ROTATE_Z = _constants$IX2EngineC.ROTATE_Z, 18719 SKEW = _constants$IX2EngineC.SKEW, 18720 PRESERVE_3D = _constants$IX2EngineC.PRESERVE_3D, 18721 FLEX = _constants$IX2EngineC.FLEX, 18722 OPACITY = _constants$IX2EngineC.OPACITY, 18723 FILTER = _constants$IX2EngineC.FILTER, 18724 WIDTH = _constants$IX2EngineC.WIDTH, 18725 HEIGHT = _constants$IX2EngineC.HEIGHT, 18726 BACKGROUND_COLOR = _constants$IX2EngineC.BACKGROUND_COLOR, 18727 BORDER_COLOR = _constants$IX2EngineC.BORDER_COLOR, 18728 COLOR = _constants$IX2EngineC.COLOR, 18729 CHILDREN = _constants$IX2EngineC.CHILDREN, 18730 IMMEDIATE_CHILDREN = _constants$IX2EngineC.IMMEDIATE_CHILDREN, 18731 SIBLINGS = _constants$IX2EngineC.SIBLINGS, 18732 PARENT = _constants$IX2EngineC.PARENT, 18733 DISPLAY = _constants$IX2EngineC.DISPLAY, 18734 WILL_CHANGE = _constants$IX2EngineC.WILL_CHANGE, 18735 AUTO = _constants$IX2EngineC.AUTO, 18736 COMMA_DELIMITER = _constants$IX2EngineC.COMMA_DELIMITER, 18737 COLON_DELIMITER = _constants$IX2EngineC.COLON_DELIMITER, 18738 BAR_DELIMITER = _constants$IX2EngineC.BAR_DELIMITER, 18739 RENDER_TRANSFORM = _constants$IX2EngineC.RENDER_TRANSFORM, 18740 RENDER_GENERAL = _constants$IX2EngineC.RENDER_GENERAL, 18741 RENDER_STYLE = _constants$IX2EngineC.RENDER_STYLE, 18742 RENDER_PLUGIN = _constants$IX2EngineC.RENDER_PLUGIN; 18743var _constants$ActionType = _constants.ActionTypeConsts, 18744 TRANSFORM_MOVE = _constants$ActionType.TRANSFORM_MOVE, 18745 TRANSFORM_SCALE = _constants$ActionType.TRANSFORM_SCALE, 18746 TRANSFORM_ROTATE = _constants$ActionType.TRANSFORM_ROTATE, 18747 TRANSFORM_SKEW = _constants$ActionType.TRANSFORM_SKEW, 18748 STYLE_OPACITY = _constants$ActionType.STYLE_OPACITY, 18749 STYLE_FILTER = _constants$ActionType.STYLE_FILTER, 18750 STYLE_SIZE = _constants$ActionType.STYLE_SIZE,
18751 STYLE_BACKGROUND_COLOR = _constants$ActionType.STYLE_BACKGROUND_COLOR, 18752 STYLE_BORDER = _constants$ActionType.STYLE_BORDER, 18753 STYLE_TEXT_COLOR = _constants$ActionType.STYLE_TEXT_COLOR, 18754 GENERAL_DISPLAY = _constants$ActionType.GENERAL_DISPLAY; 18755var OBJECT_VALUE = 'OBJECT_VALUE'; 18756 18757var trim = function trim(v) { 18758 return v.trim(); 18759}; 18760 18761var colorStyleProps = Object.freeze((_Object$freeze = {}, (0, _defineProperty2["default"])(_Object$freeze, STYLE_BACKGROUND_COLOR, BACKGROUND_COLOR), (0, _defineProperty2["default"])(_Object$freeze, STYLE_BORDER, BORDER_COLOR), (0, _defineProperty2["default"])(_Object$freeze, STYLE_TEXT_COLOR, COLOR), _Object$freeze)); 18762var willChangeProps = Object.freeze((_Object$freeze2 = {}, (0, _defineProperty2["default"])(_Object$freeze2, _IX2BrowserSupport.TRANSFORM_PREFIXED, TRANSFORM), (0, _defineProperty2["default"])(_Object$freeze2, BACKGROUND_COLOR, BACKGROUND), (0, _defineProperty2["default"])(_Object$freeze2, OPACITY, OPACITY), (0, _defineProperty2["default"])(_Object$freeze2, FILTER, FILTER), (0, _defineProperty2["default"])(_Object$freeze2, WIDTH, WIDTH), (0, _defineProperty2["default"])(_Object$freeze2, HEIGHT, HEIGHT), _Object$freeze2)); 18763var objectCache = {}; 18764var instanceCount = 1; 18765 18766function getInstanceId() { 18767 return 'i' + instanceCount++; 18768} 18769 18770var elementCount = 1; // $FlowFixMe 18771 18772function getElementId(ixElements, ref) { 18773 // TODO: optimize element lookup 18774 for (var key in ixElements) { 18775 var ixEl = ixElements[key]; 18776 18777 if (ixEl && ixEl.ref === ref) { 18778 return ixEl.id; 18779 } 18780 } 18781 18782 return 'e' + elementCount++; 18783} // $FlowFixMe 18784 18785 18786function reifyState() { 18787 var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, 18788 events = _ref2.events, 18789 actionLists = _ref2.actionLists, 18790 site = _ref2.site; 18791 18792 var eventTypeMap = (0, _reduce["default"])(events, function (result, event) { 18793 var eventTypeId = event.eventTypeId; 18794 18795 if (!result[eventTypeId]) { 18796 result[eventTypeId] = {}; 18797 } 18798 18799 result[eventTypeId][event.id] = event; 18800 return result; 18801 }, {}); 18802 var mediaQueries = site && site.mediaQueries; 18803 var mediaQueryKeys = []; 18804 18805 if (mediaQueries) { 18806 mediaQueryKeys = mediaQueries.map(function (mq) { 18807 return mq.key; 18808 }); 18809 } else { 18810 mediaQueries = []; 18811 console.warn("IX2 missing mediaQueries in site data"); 18812 } 18813 18814 return { 18815 ixData: { 18816 events: events, 18817 actionLists: actionLists, 18818 eventTypeMap: eventTypeMap, 18819 mediaQueries: mediaQueries, 18820 mediaQueryKeys: mediaQueryKeys 18821 } 18822 }; 18823} 18824 18825var strictEqual = function strictEqual(a, b) { 18826 return a === b; 18827}; // $FlowFixMe 18828 18829 18830function observeStore(_ref3) { 18831 var store = _ref3.store, 18832 select = _ref3.select, 18833 onChange = _ref3.onChange, 18834 _ref3$comparator = _ref3.comparator, 18835 comparator = _ref3$comparator === void 0 ? strictEqual : _ref3$comparator; 18836 var getState = store.getState, 18837 subscribe = store.subscribe; 18838 var unsubscribe = subscribe(handleChange); 18839 var currentState = select(getState()); 18840 18841 function handleChange() { 18842 var nextState = select(getState()); 18843 18844 if (nextState == null) { 18845 unsubscribe(); 18846 return; 18847 } 18848 18849 if (!comparator(nextState, currentState)) { 18850 currentState = nextState; 18851 onChange(currentState, store); 18852 } 18853 } 18854 18855 return unsubscribe; 18856} 18857 18858function normalizeTarget(target) { 18859 var type = (0, _typeof2["default"])(target); 18860 18861 if (type === 'string') { 18862 return { 18863 id: target 18864 }; 18865 } else if (target != null && type === 'object') { 18866 var id = target.id, 18867 objectId = target.objectId, 18868 selector = target.selector, 18869 selectorGuids = target.selectorGuids, 18870 appliesTo = target.appliesTo, 18871 useEventTarget = target.useEventTarget; 18872 return { 18873 id: id, 18874 objectId: objectId, 18875 selector: selector, 18876 selectorGuids: selectorGuids, 18877 appliesTo: appliesTo, 18878 useEventTarget: useEventTarget 18879 }; 18880 } 18881 18882 return {}; 18883} 18884 18885function getAffectedElements(_ref4) { 18886 var config = _ref4.config, 18887 event = _ref4.event, 18888 eventTarget = _ref4.eventTarget, 18889 elementRoot = _ref4.elementRoot, 18890 elementApi = _ref4.elementApi; 18891 18892 var _ref, _event$action, _event$action$config; 18893 18894 if (!elementApi) { 18895 throw new Error('IX2 missing elementApi'); 18896 } 18897 18898 var targets = config.targets; 18899 18900 if (Array.isArray(targets) && targets.length > 0) { 18901 return targets.reduce(function (accumulator, target) { 18902 return accumulator.concat(getAffectedElements({ 18903 config: { 18904 target: target 18905 }, 18906 event: event, 18907 eventTarget: eventTarget, 18908 elementRoot: elementRoot, 18909 elementApi: elementApi 18910 })); 18911 }, []); 18912 } 18913 18914 var getValidDocument = elementApi.getValidDocument, 18915 getQuerySelector = elementApi.getQuerySelector, 18916 queryDocument = elementApi.queryDocument, 18917 getChildElements = elementApi.getChildElements,
18918 getSiblingElements = elementApi.getSiblingElements, 18919 matchSelector = elementApi.matchSelector, 18920 elementContains = elementApi.elementContains, 18921 isSiblingNode = elementApi.isSiblingNode; 18922 var target = config.target; 18923 18924 if (!target) { 18925 return []; 18926 } 18927 18928 var _normalizeTarget = normalizeTarget(target), 18929 id = _normalizeTarget.id, 18930 objectId = _normalizeTarget.objectId, 18931 selector = _normalizeTarget.selector, 18932 selectorGuids = _normalizeTarget.selectorGuids, 18933 appliesTo = _normalizeTarget.appliesTo, 18934 useEventTarget = _normalizeTarget.useEventTarget; 18935 18936 if (objectId) { 18937 var ref = objectCache[objectId] || (objectCache[objectId] = {}); 18938 return [ref]; 18939 } 18940 18941 if (appliesTo === _constants.EventAppliesTo.PAGE) { 18942 var doc = getValidDocument(id); 18943 return doc ? [doc] : []; 18944 } 18945 18946 var overrides = (_ref = event === null || event === void 0 ? void 0 : (_event$action = event.action) === null || _event$action === void 0 ? void 0 : (_event$action$config = _event$action.config) === null || _event$action$config === void 0 ? void 0 : _event$action$config.affectedElements) !== null && _ref !== void 0 ? _ref : {}; 18947 var override = overrides[id || selector] || {}; 18948 var validOverride = Boolean(override.id || override.selector); 18949 var limitAffectedElements; 18950 var baseSelector; 18951 var finalSelector; 18952 var eventTargetSelector = event && getQuerySelector(normalizeTarget(event.target)); 18953 18954 if (validOverride) { 18955 limitAffectedElements = override.limitAffectedElements; 18956 baseSelector = eventTargetSelector; 18957 finalSelector = getQuerySelector(override); 18958 } else { 18959 // pass in selectorGuids as well for server-side rendering. 18960 baseSelector = finalSelector = getQuerySelector({ 18961 id: id, 18962 selector: selector, 18963 selectorGuids: selectorGuids 18964 }); 18965 } 18966 18967 if (event && useEventTarget) { 18968 // eventTarget is not defined when this function is called in a clear request, so find 18969 // all target elements associated with the event data, and return affected elements. 18970 var eventTargets = eventTarget && (finalSelector || useEventTarget === true) ? [eventTarget] : queryDocument(eventTargetSelector); 18971 18972 if (finalSelector) { 18973 if (useEventTarget === PARENT) { 18974 return queryDocument(finalSelector).filter(function (parentElement) { 18975 return eventTargets.some(function (targetElement) { 18976 return elementContains(parentElement, targetElement); 18977 }); 18978 }); 18979 } 18980 18981 if (useEventTarget === CHILDREN) { 18982 return queryDocument(finalSelector).filter(function (childElement) { 18983 return eventTargets.some(function (targetElement) { 18984 return elementContains(targetElement, childElement); 18985 }); 18986 }); 18987 } 18988 18989 if (useEventTarget === SIBLINGS) { 18990 return queryDocument(finalSelector).filter(function (siblingElement) { 18991 return eventTargets.some(function (targetElement) { 18992 return isSiblingNode(targetElement, siblingElement); 18993 }); 18994 }); 18995 } 18996 } 18997 18998 return eventTargets; 18999 } 19000 19001 if (baseSelector == null || finalSelector == null) { 19002 return []; 19003 } 19004 19005 if (_IX2BrowserSupport.IS_BROWSER_ENV && elementRoot) { 19006 return queryDocument(finalSelector).filter(function (element) { 19007 return elementRoot.contains(element); 19008 }); 19009 } 19010 19011 if (limitAffectedElements === CHILDREN) { 19012 return queryDocument(baseSelector, finalSelector); 19013 } else if (limitAffectedElements === IMMEDIATE_CHILDREN) { 19014 return getChildElements(queryDocument(baseSelector)).filter(matchSelector(finalSelector)); 19015 } else if (limitAffectedElements === SIBLINGS) { 19016 return getSiblingElements(queryDocument(baseSelector)).filter(matchSelector(finalSelector)); 19017 } else { 19018 return queryDocument(finalSelector); 19019 } 19020} // $FlowFixMe 19021 19022 19023function getComputedStyle(_ref5) { 19024 var element = _ref5.element, 19025 actionItem = _ref5.actionItem; 19026 19027 if (!_IX2BrowserSupport.IS_BROWSER_ENV) { 19028 return {}; 19029 } 19030 19031 var actionTypeId = actionItem.actionTypeId; 19032 19033 switch (actionTypeId) { 19034 case STYLE_SIZE: 19035 case STYLE_BACKGROUND_COLOR: 19036 case STYLE_BORDER: 19037 case STYLE_TEXT_COLOR: 19038 case GENERAL_DISPLAY: 19039 return window.getComputedStyle(element); 19040 19041 default: 19042 return {}; 19043 } 19044} 19045 19046var pxValueRegex = /px/; 19047 19048var getFilterDefaults = function getFilterDefaults(actionState, filters) { 19049 return filters.reduce(function (result, filter) { 19050 if (result[filter.type] == null) { 19051 result[filter.type] = filterDefaults[filter.type]; 19052 } 19053 19054 return result; 19055 }, actionState || {}); 19056}; 19057 19058function getInstanceOrigin( // $FlowFixMe 19059element) { 19060 var refState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 19061 var computedStyle = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; 19062 var // $FlowFixMe 19063 actionItem = arguments.length > 3 ? arguments[3] : undefined; 19064 var // $FlowFixMe 19065 elementApi = arguments.length > 4 ? arguments[4] : undefined;
19066 var getStyle = elementApi.getStyle; 19067 var actionTypeId = actionItem.actionTypeId, 19068 config = actionItem.config; 19069 19070 if ((0, _IX2VanillaPlugins.isPluginType)(actionTypeId)) { 19071 // $FlowFixMe 19072 return (0, _IX2VanillaPlugins.getPluginOrigin)(actionTypeId)(refState[actionTypeId]); 19073 } 19074 19075 switch (actionTypeId) { 19076 case TRANSFORM_MOVE: 19077 case TRANSFORM_SCALE: 19078 case TRANSFORM_ROTATE: 19079 case TRANSFORM_SKEW: 19080 return refState[actionTypeId] || transformDefaults[actionTypeId]; 19081 19082 case STYLE_FILTER: 19083 return getFilterDefaults(refState[actionTypeId], actionItem.config.filters); 19084 19085 case STYLE_OPACITY: 19086 return { 19087 value: (0, _defaultTo["default"])(parseFloat(getStyle(element, OPACITY)), 1.0) 19088 }; 19089 19090 case STYLE_SIZE: 19091 { 19092 var inlineWidth = getStyle(element, WIDTH); 19093 var inlineHeight = getStyle(element, HEIGHT); 19094 var widthValue; 19095 var heightValue; // When destination unit is 'AUTO', ensure origin values are in px 19096 19097 if (config.widthUnit === AUTO) { 19098 widthValue = pxValueRegex.test(inlineWidth) ? parseFloat(inlineWidth) : parseFloat(computedStyle.width); 19099 } else { 19100 widthValue = (0, _defaultTo["default"])(parseFloat(inlineWidth), parseFloat(computedStyle.width)); 19101 } 19102 19103 if (config.heightUnit === AUTO) { 19104 heightValue = pxValueRegex.test(inlineHeight) ? parseFloat(inlineHeight) : parseFloat(computedStyle.height); 19105 } else { 19106 heightValue = (0, _defaultTo["default"])(parseFloat(inlineHeight), parseFloat(computedStyle.height)); 19107 } 19108 19109 return { 19110 widthValue: widthValue, 19111 heightValue: heightValue 19112 }; 19113 } 19114 19115 case STYLE_BACKGROUND_COLOR: 19116 case STYLE_BORDER: 19117 case STYLE_TEXT_COLOR: 19118 return parseColor({ 19119 element: element, 19120 actionTypeId: actionTypeId, 19121 computedStyle: computedStyle, 19122 getStyle: getStyle 19123 }); 19124 19125 case GENERAL_DISPLAY: 19126 return { 19127 value: (0, _defaultTo["default"])(getStyle(element, DISPLAY), computedStyle.display) 19128 }; 19129 19130 case OBJECT_VALUE: 19131 return refState[actionTypeId] || { 19132 value: 0 19133 }; 19134 19135 default: 19136 return; 19137 } 19138} 19139 19140var reduceFilters = function reduceFilters(result, filter) { 19141 if (filter) { 19142 result[filter.type] = filter.value || 0; 19143 } 19144 19145 return result; 19146}; // $FlowFixMe 19147 19148 19149var getItemConfigByKey = function getItemConfigByKey(actionTypeId, key, config) { 19150 if ((0, _IX2VanillaPlugins.isPluginType)(actionTypeId)) { 19151 // $FlowFixMe 19152 return (0, _IX2VanillaPlugins.getPluginConfig)(actionTypeId)(config, key); 19153 } 19154 19155 switch (actionTypeId) { 19156 case STYLE_FILTER: 19157 { 19158 var filter = (0, _findLast["default"])(config.filters, function (_ref6) { 19159 var type = _ref6.type; 19160 return type === key; 19161 }); 19162 return filter ? filter.value : 0; 19163 } 19164 19165 default: 19166 return config[key]; 19167 } 19168}; // $FlowFixMe 19169 19170 19171exports.getItemConfigByKey = getItemConfigByKey; 19172 19173function getDestinationValues(_ref7) { 19174 var element = _ref7.element, 19175 actionItem = _ref7.actionItem, 19176 elementApi = _ref7.elementApi; 19177 var actionTypeId = actionItem.actionTypeId; 19178 19179 if ((0, _IX2VanillaPlugins.isPluginType)(actionTypeId)) { 19180 // $FlowFixMe 19181 return (0, _IX2VanillaPlugins.getPluginDestination)(actionTypeId)(actionItem.config); 19182 } 19183 19184 switch (actionTypeId) { 19185 case TRANSFORM_MOVE: 19186 case TRANSFORM_SCALE: 19187 case TRANSFORM_ROTATE: 19188 case TRANSFORM_SKEW: 19189 { 19190 var _actionItem$config = actionItem.config, 19191 xValue = _actionItem$config.xValue, 19192 yValue = _actionItem$config.yValue, 19193 zValue = _actionItem$config.zValue; 19194 return { 19195 xValue: xValue, 19196 yValue: yValue, 19197 zValue: zValue 19198 }; 19199 } 19200 19201 case STYLE_SIZE: 19202 {
19203 var getStyle = elementApi.getStyle, 19204 setStyle = elementApi.setStyle, 19205 getProperty = elementApi.getProperty; 19206 var _actionItem$config2 = actionItem.config, 19207 widthUnit = _actionItem$config2.widthUnit, 19208 heightUnit = _actionItem$config2.heightUnit; 19209 var _actionItem$config3 = actionItem.config, 19210 widthValue = _actionItem$config3.widthValue, 19211 heightValue = _actionItem$config3.heightValue; 19212 19213 if (!_IX2BrowserSupport.IS_BROWSER_ENV) { 19214 return { 19215 widthValue: widthValue, 19216 heightValue: heightValue 19217 }; 19218 } 19219 19220 if (widthUnit === AUTO) { 19221 var temp = getStyle(element, WIDTH); 19222 setStyle(element, WIDTH, ''); 19223 widthValue = getProperty(element, 'offsetWidth'); 19224 setStyle(element, WIDTH, temp); 19225 } 19226 19227 if (heightUnit === AUTO) { 19228 var _temp = getStyle(element, HEIGHT); 19229 19230 setStyle(element, HEIGHT, ''); 19231 heightValue = getProperty(element, 'offsetHeight'); 19232 setStyle(element, HEIGHT, _temp); 19233 } 19234 19235 return { 19236 widthValue: widthValue, 19237 heightValue: heightValue 19238 }; 19239 } 19240 19241 case STYLE_BACKGROUND_COLOR: 19242 case STYLE_BORDER: 19243 case STYLE_TEXT_COLOR: 19244 { 19245 var _actionItem$config4 = actionItem.config, 19246 rValue = _actionItem$config4.rValue, 19247 gValue = _actionItem$config4.gValue, 19248 bValue = _actionItem$config4.bValue, 19249 aValue = _actionItem$config4.aValue; 19250 return { 19251 rValue: rValue, 19252 gValue: gValue, 19253 bValue: bValue, 19254 aValue: aValue 19255 }; 19256 } 19257 19258 case STYLE_FILTER: 19259 { 19260 return actionItem.config.filters.reduce(reduceFilters, {}); 19261 } 19262 19263 default: 19264 { 19265 var value = actionItem.config.value; 19266 return { 19267 value: value 19268 }; 19269 } 19270 } 19271} // $FlowFixMe 19272 19273 19274function getRenderType(actionTypeId) { 19275 if (/^TRANSFORM_/.test(actionTypeId)) { 19276 return RENDER_TRANSFORM; 19277 } 19278 19279 if (/^STYLE_/.test(actionTypeId)) { 19280 return RENDER_STYLE; 19281 } 19282 19283 if (/^GENERAL_/.test(actionTypeId)) { 19284 return RENDER_GENERAL; 19285 } 19286 19287 if (/^PLUGIN_/.test(actionTypeId)) { 19288 return RENDER_PLUGIN; 19289 } 19290} // $FlowFixMe 19291 19292 19293function getStyleProp(renderType, actionTypeId) { 19294 return renderType === RENDER_STYLE ? actionTypeId.replace('STYLE_', '').toLowerCase() : null; 19295} 19296 19297function renderHTMLElement( // $FlowFixMe 19298element, // $FlowFixMe 19299refState, // $FlowFixMe 19300actionState, // $FlowFixMe 19301eventId, // $FlowFixMe 19302actionItem, // $FlowFixMe 19303styleProp, // $FlowFixMe 19304elementApi, // $FlowFixMe 19305renderType, // $FlowFixMe 19306pluginInstance) { 19307 switch (renderType) { 19308 case RENDER_TRANSFORM: 19309 { 19310 return renderTransform(element, refState, actionState, actionItem, elementApi); 19311 } 19312 19313 case RENDER_STYLE: 19314 { 19315 return renderStyle(element, refState, actionState, actionItem, styleProp, elementApi); 19316 } 19317 19318 case RENDER_GENERAL: 19319 { 19320 return renderGeneral(element, actionItem, elementApi); 19321 } 19322 19323 case RENDER_PLUGIN: 19324 { 19325 var actionTypeId = actionItem.actionTypeId; 19326 19327 if ((0, _IX2VanillaPlugins.isPluginType)(actionTypeId)) { 19328 // $FlowFixMe 19329 return (0, _IX2VanillaPlugins.renderPlugin)(actionTypeId)(pluginInstance, refState, actionItem); 19330 } 19331 } 19332 } 19333} 19334 19335var transformDefaults = (_transformDefaults = {}, (0, _defineProperty2["default"])(_transformDefaults, TRANSFORM_MOVE, Object.freeze({ 19336 xValue: 0, 19337 yValue: 0, 19338 zValue: 0 19339})), (0, _defineProperty2["default"])(_transformDefaults, TRANSFORM_SCALE, Object.freeze({ 19340 xValue: 1, 19341 yValue: 1, 19342 zValue: 1 19343})), (0, _defineProperty2["default"])(_transformDefaults, TRANSFORM_ROTATE, Object.freeze({ 19344 xValue: 0, 19345 yValue: 0, 19346 zValue: 0 19347})), (0, _defineProperty2["default"])(_transformDefaults, TRANSFORM_SKEW, Object.freeze({ 19348 xValue: 0, 19349 yValue: 0 19350})), _transformDefaults); 19351var filterDefaults = Object.freeze({ 19352 blur: 0, 19353 'hue-rotate': 0, 19354 invert: 0, 19355 grayscale: 0, 19356 saturate: 100, 19357 sepia: 0, 19358 contrast: 100, 19359 brightness: 100 19360}); 19361 19362var getFilterUnit = function getFilterUnit(filterType, actionItemConfig) { 19363 var filter = (0, _findLast["default"])(actionItemConfig.filters, function (_ref8) { 19364 var type = _ref8.type; 19365 return type === filterType; 19366 }); 19367 19368 if (filter && filter.unit) { 19369 return filter.unit; 19370 } 19371 19372 switch (filterType) { 19373 case 'blur': 19374 return 'px'; 19375 19376 case 'hue-rotate': 19377 return 'deg'; 19378 19379 default: 19380 return '%'; 19381 } 19382}; 19383 19384var transformKeys = Object.keys(transformDefaults); 19385 19386function renderTransform(element, refState, actionState, actionItem, elementApi) { 19387 var newTransform = transformKeys.map(function (actionTypeId) { 19388 var defaults = transformDefaults[actionTypeId]; 19389 19390 var _ref9 = refState[actionTypeId] || {}, 19391 _ref9$xValue = _ref9.xValue, 19392 xValue = _ref9$xValue === void 0 ? defaults.xValue : _ref9$xValue, 19393 _ref9$yValue = _ref9.yValue, 19394 yValue = _ref9$yValue === void 0 ? defaults.yValue : _ref9$yValue, 19395 _ref9$zValue = _ref9.zValue, 19396 zValue = _ref9$zValue === void 0 ? defaults.zValue : _ref9$zValue, 19397 _ref9$xUnit = _ref9.xUnit, 19398 xUnit = _ref9$xUnit === void 0 ? '' : _ref9$xUnit, 19399 _ref9$yUnit = _ref9.yUnit, 19400 yUnit = _ref9$yUnit === void 0 ? '' : _ref9$yUnit, 19401 _ref9$zUnit = _ref9.zUnit, 19402 zUnit = _ref9$zUnit === void 0 ? '' : _ref9$zUnit; 19403 19404 switch (actionTypeId) { 19405 case TRANSFORM_MOVE: 19406 return "".concat(TRANSLATE_3D, "(").concat(xValue).concat(xUnit, ", ").concat(yValue).concat(yUnit, ", ").concat(zValue).concat(zUnit, ")"); 19407 19408 case TRANSFORM_SCALE:
19409 return "".concat(SCALE_3D, "(").concat(xValue).concat(xUnit, ", ").concat(yValue).concat(yUnit, ", ").concat(zValue).concat(zUnit, ")"); 19410 19411 case TRANSFORM_ROTATE: 19412 return "".concat(ROTATE_X, "(").concat(xValue).concat(xUnit, ") ").concat(ROTATE_Y, "(").concat(yValue).concat(yUnit, ") ").concat(ROTATE_Z, "(").concat(zValue).concat(zUnit, ")"); 19413 19414 case TRANSFORM_SKEW: 19415 return "".concat(SKEW, "(").concat(xValue).concat(xUnit, ", ").concat(yValue).concat(yUnit, ")"); 19416 19417 default: 19418 return ''; 19419 } 19420 }).join(' '); 19421 var setStyle = elementApi.setStyle; 19422 addWillChange(element, _IX2BrowserSupport.TRANSFORM_PREFIXED, elementApi); 19423 setStyle(element, _IX2BrowserSupport.TRANSFORM_PREFIXED, newTransform); // Set transform-style: preserve-3d 19424 19425 if (hasDefined3dTransform(actionItem, actionState)) { 19426 setStyle(element, _IX2BrowserSupport.TRANSFORM_STYLE_PREFIXED, PRESERVE_3D); 19427 } 19428} 19429 19430function renderFilter(element, actionState, actionItemConfig, elementApi) { 19431 var filterValue = (0, _reduce["default"])(actionState, function (result, value, type) { 19432 return "".concat(result, " ").concat(type, "(").concat(value).concat(getFilterUnit(type, actionItemConfig), ")"); 19433 }, ''); 19434 var setStyle = elementApi.setStyle; 19435 addWillChange(element, FILTER, elementApi); 19436 setStyle(element, FILTER, filterValue); 19437} 19438 19439function hasDefined3dTransform(_ref10, _ref11) { 19440 var actionTypeId = _ref10.actionTypeId; 19441 var xValue = _ref11.xValue, 19442 yValue = _ref11.yValue, 19443 zValue = _ref11.zValue; 19444 // TRANSLATE_Z 19445 return actionTypeId === TRANSFORM_MOVE && zValue !== undefined || // SCALE_Z 19446 actionTypeId === TRANSFORM_SCALE && zValue !== undefined || // ROTATE_X or ROTATE_Y 19447 actionTypeId === TRANSFORM_ROTATE && (xValue !== undefined || yValue !== undefined); 19448} 19449 19450var paramCapture = '\\(([^)]+)\\)'; 19451var rgbValidRegex = /^rgb/; 19452var rgbMatchRegex = RegExp("rgba?".concat(paramCapture)); 19453 19454function getFirstMatch(regex, value) { 19455 var match = regex.exec(value); 19456 return match ? match[1] : ''; 19457} 19458 19459function parseColor(_ref12) { 19460 var element = _ref12.element, 19461 actionTypeId = _ref12.actionTypeId, 19462 computedStyle = _ref12.computedStyle, 19463 getStyle = _ref12.getStyle; 19464 var prop = colorStyleProps[actionTypeId]; 19465 var inlineValue = getStyle(element, prop); 19466 var value = rgbValidRegex.test(inlineValue) ? inlineValue : computedStyle[prop]; 19467 var matches = getFirstMatch(rgbMatchRegex, value).split(COMMA_DELIMITER); 19468 return { 19469 rValue: (0, _defaultTo["default"])(parseInt(matches[0], 10), 255), 19470 gValue: (0, _defaultTo["default"])(parseInt(matches[1], 10), 255), 19471 bValue: (0, _defaultTo["default"])(parseInt(matches[2], 10), 255), 19472 aValue: (0, _defaultTo["default"])(parseFloat(matches[3]), 1) 19473 }; 19474} 19475
19476function renderStyle(element, refState, actionState, actionItem, styleProp, elementApi) { 19477 var setStyle = elementApi.setStyle; 19478 var actionTypeId = actionItem.actionTypeId, 19479 config = actionItem.config; 19480 19481 switch (actionTypeId) { 19482 case STYLE_SIZE: 19483 { 19484 var _actionItem$config5 = actionItem.config, 19485 _actionItem$config5$w = _actionItem$config5.widthUnit, 19486 widthUnit = _actionItem$config5$w === void 0 ? '' : _actionItem$config5$w, 19487 _actionItem$config5$h = _actionItem$config5.heightUnit, 19488 heightUnit = _actionItem$config5$h === void 0 ? '' : _actionItem$config5$h; 19489 var widthValue = actionState.widthValue, 19490 heightValue = actionState.heightValue; 19491 19492 if (widthValue !== undefined) { 19493 if (widthUnit === AUTO) { 19494 widthUnit = 'px'; 19495 } 19496 19497 addWillChange(element, WIDTH, elementApi); 19498 setStyle(element, WIDTH, widthValue + widthUnit); 19499 } 19500 19501 if (heightValue !== undefined) { 19502 if (heightUnit === AUTO) { 19503 heightUnit = 'px'; 19504 } 19505 19506 addWillChange(element, HEIGHT, elementApi); 19507 setStyle(element, HEIGHT, heightValue + heightUnit); 19508 } 19509 19510 break; 19511 } 19512 19513 case STYLE_FILTER: 19514 { 19515 renderFilter(element, actionState, config, elementApi); 19516 break; 19517 } 19518 19519 case STYLE_BACKGROUND_COLOR: 19520 case STYLE_BORDER: 19521 case STYLE_TEXT_COLOR: 19522 { 19523 var prop = colorStyleProps[actionTypeId]; 19524 var rValue = Math.round(actionState.rValue); 19525 var gValue = Math.round(actionState.gValue); 19526 var bValue = Math.round(actionState.bValue); 19527 var aValue = actionState.aValue; 19528 addWillChange(element, prop, elementApi); 19529 setStyle(element, prop, aValue >= 1 ? "rgb(".concat(rValue, ",").concat(gValue, ",").concat(bValue, ")") : "rgba(".concat(rValue, ",").concat(gValue, ",").concat(bValue, ",").concat(aValue, ")")); 19530 break; 19531 } 19532 19533 default: 19534 { 19535 var _config$unit = config.unit, 19536 unit = _config$unit === void 0 ? '' : _config$unit; 19537 addWillChange(element, styleProp, elementApi); 19538 setStyle(element, styleProp, actionState.value + unit); 19539 break; 19540 } 19541 } 19542} 19543 19544function renderGeneral(element, actionItem, elementApi) { 19545 var setStyle = elementApi.setStyle; 19546 19547 switch (actionItem.actionTypeId) { 19548 case GENERAL_DISPLAY: 19549 { 19550 var value = actionItem.config.value; 19551 19552 if (value === FLEX && _IX2BrowserSupport.IS_BROWSER_ENV) { 19553 setStyle(element, DISPLAY, _IX2BrowserSupport.FLEX_PREFIXED); 19554 } else { 19555 setStyle(element, DISPLAY, value); 19556 } 19557 19558 return; 19559 } 19560 } 19561} 19562 19563function addWillChange(element, prop, elementApi) { 19564 if (!_IX2BrowserSupport.IS_BROWSER_ENV) { 19565 return; 19566 } 19567 19568 var validProp = willChangeProps[prop]; 19569 19570 if (!validProp) { 19571 return; 19572 } 19573
19574 var getStyle = elementApi.getStyle, 19575 setStyle = elementApi.setStyle; 19576 var value = getStyle(element, WILL_CHANGE); 19577 19578 if (!value) { 19579 setStyle(element, WILL_CHANGE, validProp); 19580 return; 19581 } 19582 19583 var values = value.split(COMMA_DELIMITER).map(trim); 19584 19585 if (values.indexOf(validProp) === -1) { 19586 setStyle(element, WILL_CHANGE, values.concat(validProp).join(COMMA_DELIMITER)); 19587 } 19588} 19589 19590function removeWillChange(element, prop, elementApi) { 19591 if (!_IX2BrowserSupport.IS_BROWSER_ENV) { 19592 return; 19593 } 19594 19595 var validProp = willChangeProps[prop]; 19596 19597 if (!validProp) { 19598 return; 19599 } 19600 19601 var getStyle = elementApi.getStyle, 19602 setStyle = elementApi.setStyle; 19603 var value = getStyle(element, WILL_CHANGE); 19604 19605 if (!value || value.indexOf(validProp) === -1) { 19606 return; 19607 } 19608 19609 setStyle(element, WILL_CHANGE, value.split(COMMA_DELIMITER).map(trim).filter(function (v) { 19610 return v !== validProp; 19611 }).join(COMMA_DELIMITER)); 19612} // $FlowFixMe 19613 19614 19615function clearAllStyles(_ref13) { 19616 var store = _ref13.store, 19617 elementApi = _ref13.elementApi; 19618 19619 var _store$getState = store.getState(), 19620 ixData = _store$getState.ixData; 19621 19622 var _ixData$events = ixData.events, 19623 events = _ixData$events === void 0 ? {} : _ixData$events, 19624 _ixData$actionLists = ixData.actionLists, 19625 actionLists = _ixData$actionLists === void 0 ? {} : _ixData$actionLists; 19626 Object.keys(events).forEach(function (eventId) { 19627 var event = events[eventId]; 19628 var config = event.action.config; 19629 var actionListId = config.actionListId; 19630 var actionList = actionLists[actionListId]; 19631 19632 if (actionList) { 19633 clearActionListStyles({ 19634 actionList: actionList, 19635 event: event, 19636 elementApi: elementApi 19637 }); 19638 } 19639 }); 19640 Object.keys(actionLists).forEach(function (actionListId) { 19641 clearActionListStyles({ 19642 actionList: actionLists[actionListId], 19643 elementApi: elementApi 19644 }); 19645 }); 19646} // $FlowFixMe 19647 19648 19649function clearActionListStyles(_ref14) { 19650 var _ref14$actionList = _ref14.actionList, 19651 actionList = _ref14$actionList === void 0 ? {} : _ref14$actionList, 19652 event = _ref14.event, 19653 elementApi = _ref14.elementApi; 19654 var actionItemGroups = actionList.actionItemGroups, 19655 continuousParameterGroups = actionList.continuousParameterGroups; 19656 actionItemGroups && actionItemGroups.forEach(function (actionGroup) { 19657 clearActionGroupStyles({ 19658 actionGroup: actionGroup, 19659 event: event, 19660 elementApi: elementApi 19661 }); 19662 }); 19663 continuousParameterGroups && continuousParameterGroups.forEach(function (paramGroup) { 19664 var continuousActionGroups = paramGroup.continuousActionGroups; 19665 continuousActionGroups.forEach(function (actionGroup) { 19666 clearActionGroupStyles({ 19667 actionGroup: actionGroup, 19668 event: event, 19669 elementApi: elementApi 19670 }); 19671 }); 19672 }); 19673} 19674 19675function clearActionGroupStyles(_ref15) { 19676 var actionGroup = _ref15.actionGroup, 19677 event = _ref15.event, 19678 elementApi = _ref15.elementApi; 19679 var actionItems = actionGroup.actionItems; 19680 actionItems.forEach(function (_ref16) { 19681 var actionTypeId = _ref16.actionTypeId, 19682 config = _ref16.config; 19683 var clearElement; 19684 19685 if ((0, _IX2VanillaPlugins.isPluginType)(actionTypeId)) { 19686 clearElement = (0, _IX2VanillaPlugins.clearPlugin)(actionTypeId); 19687 } else { 19688 clearElement = processElementByType({ 19689 effect: clearStyleProp, 19690 actionTypeId: actionTypeId, 19691 elementApi: elementApi 19692 }); 19693 } 19694 19695 getAffectedElements({ 19696 config: config, 19697 event: event, 19698 elementApi: elementApi 19699 }
19699).forEach(clearElement); 19700 }); 19701} // $FlowFixMe 19702 19703 19704function cleanupHTMLElement(element, actionItem, elementApi) { 19705 var setStyle = elementApi.setStyle, 19706 getStyle = elementApi.getStyle; 19707 var actionTypeId = actionItem.actionTypeId; 19708 19709 if (actionTypeId === STYLE_SIZE) { 19710 var config = actionItem.config; 19711 19712 if (config.widthUnit === AUTO) { 19713 setStyle(element, WIDTH, ''); 19714 } 19715 19716 if (config.heightUnit === AUTO) { 19717 setStyle(element, HEIGHT, ''); 19718 } 19719 } 19720 19721 if (getStyle(element, WILL_CHANGE)) { 19722 processElementByType({ 19723 effect: removeWillChange, 19724 actionTypeId: actionTypeId, 19725 elementApi: elementApi 19726 })(element); 19727 } 19728} 19729 19730var processElementByType = function processElementByType(_ref17) { 19731 var effect = _ref17.effect, 19732 actionTypeId = _ref17.actionTypeId, 19733 elementApi = _ref17.elementApi; 19734 return function (element) { 19735 switch (actionTypeId) { 19736 case TRANSFORM_MOVE: 19737 case TRANSFORM_SCALE: 19738 case TRANSFORM_ROTATE: 19739 case TRANSFORM_SKEW: 19740 effect(element, _IX2BrowserSupport.TRANSFORM_PREFIXED, elementApi); 19741 break; 19742 19743 case STYLE_FILTER: 19744 effect(element, FILTER, elementApi); 19745 break; 19746 19747 case STYLE_OPACITY: 19748 effect(element, OPACITY, elementApi); 19749 break; 19750 19751 case STYLE_SIZE: 19752 19753 effect(element, WIDTH, elementApi); 19754 effect(element, HEIGHT, elementApi); 19755 break; 19756 19757 case STYLE_BACKGROUND_COLOR: 19758 case STYLE_BORDER: 19759 case STYLE_TEXT_COLOR: 19760 effect(element, colorStyleProps[actionTypeId], elementApi); 19761 break; 19762 19763 case GENERAL_DISPLAY: 19764 effect(element, DISPLAY, elementApi); 19765 break; 19766 } 19767 }; 19768}; 19769 19770function clearStyleProp(element, prop, elementApi) { 19771 var setStyle = elementApi.setStyle; 19772 removeWillChange(element, prop, elementApi); 19773 setStyle(element, prop, ''); // Clear transform-style: preserve-3d 19774 19775 if (prop === _IX2BrowserSupport.TRANSFORM_PREFIXED) { 19776 setStyle(element, _IX2BrowserSupport.TRANSFORM_STYLE_PREFIXED, ''); 19777 } 19778} // $FlowFixMe 19779 19780 19781function getMaxDurationItemIndex(actionItems) { 19782 var maxDuration = 0; 19783 var resultIndex = 0; 19784 actionItems.forEach(function (actionItem, index) { 19785 var config = actionItem.config; 19786 var total = config.delay + config.duration; 19787 19788 if (total >= maxDuration) { 19789 maxDuration = total; 19790 resultIndex = index; 19791 } 19792 }); 19793 return resultIndex; 19794} // $FlowFixMe 19795 19796 19797function getActionListProgress(actionList, instance) { 19798 var actionItemGroups = actionList.actionItemGroups, 19799 useFirstGroupAsInitialState = actionList.useFirstGroupAsInitialState; 19800 var instanceItem = instance.actionItem, 19801 _instance$verboseTime = instance.verboseTimeElapsed, 19802 verboseTimeElapsed = _instance$verboseTime === void 0 ? 0 : _instance$verboseTime; 19803 var totalDuration = 0; 19804 var elapsedDuration = 0; 19805 actionItemGroups.forEach(function (group, index) { 19806 if (useFirstGroupAsInitialState && index === 0) { 19807 return; 19808 } 19809 19810 var actionItems = group.actionItems; 19811 var carrierItem = actionItems[getMaxDurationItemIndex(actionItems)]; 19812 var config = carrierItem.config, 19813 actionTypeId = carrierItem.actionTypeId; 19814 19815 if (instanceItem.id === carrierItem.id) { 19816 elapsedDuration = totalDuration + verboseTimeElapsed; 19817 } 19818 19819 var duration = getRenderType(actionTypeId) === RENDER_GENERAL ? 0 : config.duration; 19820 totalDuration += config.delay + duration; 19821 }); 19822 return totalDuration > 0 ? (0, _IX2EasingUtils.optimizeFloat)(elapsedDuration / totalDuration) : 0; 19823} // $FlowFixMe 19824 19825 19826function reduceListToGroup(_ref18) { 19827 var actionList = _ref18.actionList, 19828 actionItemId = _ref18.actionItemId, 19829 rawData = _ref18.rawData; 19830 var actionItemGroups = actionList.actionItemGroups, 19831 continuousParameterGroups = actionList.continuousParameterGroups; 19832 var newActionItems = []; 19833 19834 var takeItemUntilMatch = function takeItemUntilMatch(actionItem) { 19835 newActionItems.push((0, _timm.mergeIn)(actionItem, ['config'], { 19836 delay: 0, 19837 duration: 0 19838 })); 19839 return actionItem.id === actionItemId; 19840 }; 19841 19842 actionItemGroups && actionItemGroups.some(function (_ref19) { 19843 var actionItems = _ref19.actionItems; 19844 return actionItems.some(takeItemUntilMatch); 19845 }); 19846 continuousParameterGroups && continuousParameterGroups.some(function (paramGroup) { 19847 var continuousActionGroups = paramGroup.continuousActionGroups; 19848 return continuousActionGroups.some(function (_ref20) { 19849 var actionItems = _ref20.actionItems; 19850 return actionItems.some(takeItemUntilMatch); 19851 }); 19852 }); 19853 return (0, _timm.setIn)(rawData, ['actionLists'], (0, _defineProperty2["default"])({}, actionList.id, { 19854 id: actionList.id, 19855 actionItemGroups: [{ 19856 actionItems: newActionItems 19857 }] 19858 })); 19859} // $FlowFixMe 19860 19861 19862function shouldNamespaceEventParameter(eventTypeId, _ref22) { 19863 var basedOn = _ref22.basedOn; 19864 return eventTypeId === _constants.EventTypeConsts.SCROLLING_IN_VIEW && (basedOn === _constants.EventBasedOn.ELEMENT || basedOn == null) || eventTypeId === _constants.EventTypeConsts.MOUSE_MOVE && basedOn === _constants.EventBasedOn.ELEMENT; 19865} 19866 19867function getNamespacedParameterId(eventStateKey, continuousParameterGroupId) { 19868 var namespacedParameterId = eventStateKey + COLON_DELIMITER + continuousParameterGroupId; 19869 return namespacedParameterId; 19870} // $FlowFixMe 19871 19872 19873function shouldAllowMediaQuery(mediaQueries, mediaQueryKey) { 19874 // During design mode, current media query key does not exist 19875 if (mediaQueryKey == null) { 19876 return true; 19877 } 19878 19879 return mediaQueries.indexOf(mediaQueryKey) !== -1; 19880} // $FlowFixMe 19881 19882 19883function mediaQueriesEqual(listA, listB) { 19884 return (0, _shallowEqual["default"])(listA && listA.sort(), listB && listB.sort()); 19885} // $FlowFixMe 19886 19887 19888function stringifyTarget(target) { 19889 if (typeof target === 'string') { 19890 return target; 19891 } 19892 19893 var _target$id = target.id, 19894 id = _target$id === void 0 ? '' : _target$id, 19895 _target$selector = target.selector, 19896 selector = _target$selector === void 0 ? '' : _target$selector, 19897 _target$useEventTarge = target.useEventTarget, 19898 useEventTarget = _target$useEventTarge === void 0 ? '' : _target$useEventTarge; 19899 return id + BAR_DELIMITER + selector + BAR_DELIMITER + useEventTarget; 19900} 19901 19902/***/ }), 19903/* 401 */
vendor: 9,326 bytes, lines 19904-20237
19904/***/ (function(module, exports) { 19905 19906/** 19907 * Checks `value` to determine whether a default value should be returned in 19908 * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, 19909 * or `undefined`. 19910 * 19911 * @static 19912 * @memberOf _ 19913 * @since 4.14.0 19914 * @category Util 19915 * @param {*} value The value to check. 19916 * @param {*} defaultValue The default value. 19917 * @returns {*} Returns the resolved value. 19918 * @example 19919 * 19920 * _.defaultTo(1, 10); 19921 * // => 1 19922 * 19923 * _.defaultTo(undefined, 10); 19924 * // => 10 19925 */ 19926function defaultTo(value, defaultValue) { 19927 return (value == null || value !== value) ? defaultValue : value; 19928} 19929 19930module.exports = defaultTo; 19931 19932 19933/***/ }), 19934/* 402 */ 19935/***/ (function(module, exports, __webpack_require__) { 19936 19937var arrayReduce = __webpack_require__(403), 19938 baseEach = __webpack_require__(183), 19939 baseIteratee = __webpack_require__(28), 19940 baseReduce = __webpack_require__(407), 19941 isArray = __webpack_require__(11); 19942 19943/** 19944 * Reduces `collection` to a value which is the accumulated result of running 19945 * each element in `collection` thru `iteratee`, where each successive 19946 * invocation is supplied the return value of the previous. If `accumulator` 19947 * is not given, the first element of `collection` is used as the initial 19948 * value. The iteratee is invoked with four arguments: 19949 * (accumulator, value, index|key, collection). 19950 * 19951 * Many lodash methods are guarded to work as iteratees for methods like 19952 * `_.reduce`, `_.reduceRight`, and `_.transform`. 19953 * 19954 * The guarded methods are: 19955 * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, 19956 * and `sortBy` 19957 * 19958 * @static 19959 * @memberOf _ 19960 * @since 0.1.0 19961 * @category Collection 19962 * @param {Array|Object} collection The collection to iterate over. 19963 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 19964 * @param {*} [accumulator] The initial value. 19965 * @returns {*} Returns the accumulated value. 19966 * @see _.reduceRight 19967 * @example 19968 * 19969 * _.reduce([1, 2], function(sum, n) { 19970 * return sum + n; 19971 * }, 0); 19972 * // => 3 19973 * 19974 * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { 19975 * (result[value] || (result[value] = [])).push(key); 19976 * return result; 19977 * }, {}); 19978 * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) 19979 */ 19980function reduce(collection, iteratee, accumulator) { 19981 var func = isArray(collection) ? arrayReduce : baseReduce, 19982 initAccum = arguments.length < 3; 19983 19984 return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach); 19985} 19986 19987module.exports = reduce; 19988 19989 19990/***/ }), 19991/* 403 */ 19992/***/ (function(module, exports) { 19993 19994/** 19995 * A specialized version of `_.reduce` for arrays without support for 19996 * iteratee shorthands. 19997 * 19998 * @private 19999 * @param {Array} [array] The array to iterate over. 20000 * @param {Function} iteratee The function invoked per iteration. 20001 * @param {*} [accumulator] The initial value. 20002 * @param {boolean} [initAccum] Specify using the first element of `array` as 20003 * the initial value. 20004 * @returns {*} Returns the accumulated value. 20005 */ 20006function arrayReduce(array, iteratee, accumulator, initAccum) { 20007 var index = -1, 20008 length = array == null ? 0 : array.length; 20009 20010 if (initAccum && length) { 20011 accumulator = array[++index]; 20012 } 20013 while (++index < length) { 20014 accumulator = iteratee(accumulator, array[index], index, array); 20015 } 20016 return accumulator; 20017} 20018 20019module.exports = arrayReduce; 20020 20021 20022/***/ }), 20023/* 404 */ 20024/***/ (function(module, exports, __webpack_require__) { 20025 20026var createBaseFor = __webpack_require__(405); 20027 20028/** 20029 * The base implementation of `baseForOwn` which iterates over `object` 20030 * properties returned by `keysFunc` and invokes `iteratee` for each property. 20031 * Iteratee functions may exit iteration early by explicitly returning `false`. 20032 * 20033 * @private 20034 * @param {Object} object The object to iterate over. 20035 * @param {Function} iteratee The function invoked per iteration. 20036 * @param {Function} keysFunc The function to get the keys of `object`. 20037 * @returns {Object} Returns `object`. 20038 */ 20039var baseFor = createBaseFor(); 20040 20041module.exports = baseFor; 20042 20043 20044/***/ }), 20045/* 405 */ 20046/***/ (function(module, exports) { 20047 20048/** 20049 * Creates a base function for methods like `_.forIn` and `_.forOwn`. 20050 * 20051 * @private 20052 * @param {boolean} [fromRight] Specify iterating from right to left. 20053 * @returns {Function} Returns the new base function. 20054 */ 20055function createBaseFor(fromRight) { 20056 return function(object, iteratee, keysFunc) { 20057 var index = -1, 20058 iterable = Object(object), 20059 props = keysFunc(object), 20060 length = props.length; 20061 20062 while (length--) { 20063 var key = props[fromRight ? length : ++index]; 20064 if (iteratee(iterable[key], key, iterable) === false) { 20065 break; 20066 } 20067 } 20068 return object; 20069 }; 20070} 20071 20072module.exports = createBaseFor; 20073 20074 20075/***/ }), 20076/* 406 */ 20077/***/ (function(module, exports, __webpack_require__) { 20078 20079var isArrayLike = __webpack_require__(40); 20080 20081/** 20082 * Creates a `baseEach` or `baseEachRight` function. 20083 * 20084 * @private 20085 * @param {Function} eachFunc The function to iterate over a collection. 20086 * @param {boolean} [fromRight] Specify iterating from right to left. 20087 * @returns {Function} Returns the new base function. 20088 */ 20089function createBaseEach(eachFunc, fromRight) { 20090 return function(collection, iteratee) { 20091 if (collection == null) { 20092 return collection; 20093 } 20094 if (!isArrayLike(collection)) { 20095 return eachFunc(collection, iteratee); 20096 } 20097 var length = collection.length, 20098 index = fromRight ? length : -1, 20099 iterable = Object(collection); 20100 20101 while ((fromRight ? index-- : ++index < length)) { 20102 if (iteratee(iterable[index], index, iterable) === false) { 20103 break; 20104 } 20105 } 20106 return collection; 20107 }; 20108} 20109 20110module.exports = createBaseEach; 20111 20112 20113/***/ }), 20114/* 407 */ 20115/***/ (function(module, exports) { 20116 20117/** 20118 * The base implementation of `_.reduce` and `_.reduceRight`, without support 20119 * for iteratee shorthands, which iterates over `collection` using `eachFunc`. 20120 * 20121 * @private 20122 * @param {Array|Object} collection The collection to iterate over. 20123 * @param {Function} iteratee The function invoked per iteration. 20124 * @param {*} accumulator The initial value. 20125 * @param {boolean} initAccum Specify using the first or last element of 20126 * `collection` as the initial value. 20127 * @param {Function} eachFunc The function to iterate over `collection`. 20128 * @returns {*} Returns the accumulated value. 20129 */ 20130function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { 20131 eachFunc(collection, function(value, index, collection) { 20132 accumulator = initAccum 20133 ? (initAccum = false, value) 20134 : iteratee(accumulator, value, index, collection); 20135 }); 20136 return accumulator; 20137} 20138 20139module.exports = baseReduce; 20140 20141 20142/***/ }), 20143/* 408 */ 20144/***/ (function(module, exports, __webpack_require__) { 20145 20146var createFind = __webpack_require__(177), 20147 findLastIndex = __webpack_require__(409); 20148 20149/** 20150 * This method is like `_.find` except that it iterates over elements of 20151 * `collection` from right to left. 20152 * 20153 * @static 20154 * @memberOf _ 20155 * @since 2.0.0 20156 * @category Collection 20157 * @param {Array|Object} collection The collection to inspect. 20158 * @param {Function} [predicate=_.identity] The function invoked per iteration. 20159 * @param {number} [fromIndex=collection.length-1] The index to search from. 20160 * @returns {*} Returns the matched element, else `undefined`. 20161 * @example 20162 * 20163 * _.findLast([1, 2, 3, 4], function(n) { 20164 * return n % 2 == 1; 20165 * }); 20166 * // => 3 20167 */ 20168var findLast = createFind(findLastIndex); 20169 20170module.exports = findLast; 20171 20172 20173/***/ }), 20174/* 409 */ 20175/***/ (function(module, exports, __webpack_require__) { 20176 20177var baseFindIndex = __webpack_require__(127), 20178 baseIteratee = __webpack_require__(28), 20179 toInteger = __webpack_require__(145); 20180 20181/* Built-in method references for those with the same name as other `lodash` methods. */ 20182var nativeMax = Math.max, 20183 nativeMin = Math.min; 20184 20185/** 20186 * This method is like `_.findIndex` except that it iterates over elements 20187 * of `collection` from right to left. 20188 * 20189 * @static 20190 * @memberOf _ 20191 * @since 2.0.0 20192 * @category Array 20193 * @param {Array} array The array to inspect. 20194 * @param {Function} [predicate=_.identity] The function invoked per iteration. 20195 * @param {number} [fromIndex=array.length-1] The index to search from. 20196 * @returns {number} Returns the index of the found element, else `-1`. 20197 * @example 20198 * 20199 * var users = [ 20200 * { 'user': 'barney', 'active': true }, 20201 * { 'user': 'fred', 'active': false }, 20202 * { 'user': 'pebbles', 'active': false } 20203 * ]; 20204 * 20205 * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); 20206 * // => 2 20207 * 20208 * // The `_.matches` iteratee shorthand. 20209 * _.findLastIndex(users, { 'user': 'barney', 'active': true }); 20210 * // => 0 20211 * 20212 * // The `_.matchesProperty` iteratee shorthand. 20213 * _.findLastIndex(users, ['active', false]); 20214 * // => 2 20215 * 20216 * // The `_.property` iteratee shorthand. 20217 * _.findLastIndex(users, 'active'); 20218 * // => 0 20219 */ 20220function findLastIndex(array, predicate, fromIndex) { 20221 var length = array == null ? 0 : array.length; 20222 if (!length) { 20223 return -1; 20224 } 20225 var index = length - 1; 20226 if (fromIndex !== undefined) { 20227 index = toInteger(fromIndex); 20228 index = fromIndex < 0 20229 ? nativeMax(length + index, 0) 20230 : nativeMin(index, length - 1); 20231 } 20232 return baseFindIndex(array, baseIteratee(predicate, 3), index, true); 20233} 20234 20235module.exports = findLastIndex; 20236 20237
20238/***/ }), 20239/* 410 */ 20240/***/ (function(module, exports, __webpack_require__) { 20241 20242"use strict"; 20243 20244 20245var _interopRequireDefault = __webpack_require__(3); 20246 20247var _typeof2 = _interopRequireDefault(__webpack_require__(37)); 20248 20249Object.defineProperty(exports, "__esModule", { 20250 value: true 20251}); 20252exports["default"] = void 0; // from https://github.com/acdlite/recompose/blob/master/src/packages/recompose/shallowEqual.js 20253 20254/** 20255 * Copyright (c) 2013-present, Facebook, Inc. 20256 * 20257 * This source code is licensed under the MIT license found in the 20258 * LICENSE file in the root directory of this source tree. 20259 * 20260 * @providesModule shallowEqual 20261 * @typechecks 20262 */ 20263 20264/* eslint-disable no-self-compare */ 20265 20266var hasOwnProperty = Object.prototype.hasOwnProperty; 20267/** 20268 * inlined Object.is polyfill to avoid requiring consumers ship their own 20269 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is 20270 */ 20271 20272function is(x, y) { 20273 // SameValue algorithm 20274 if (x === y) { 20275 // Steps 1-5, 7-10 20276 // Steps 6.b-6.e: +0 != -0 20277 // Added the nonzero y check to make Flow happy, but it is redundant 20278 return x !== 0 || y !== 0 || 1 / x === 1 / y; 20279 } // Step 6.a: NaN == NaN 20280 20281 20282 return x !== x && y !== y; 20283} 20284/** 20285 * Performs equality by iterating through keys on an object and returning false 20286 * when any key has values which are not strictly equal between the arguments. 20287 * Returns true when the values of all keys are strictly equal. 20288 */ 20289 20290 20291function shallowEqual(objA, objB) { 20292 if (is(objA, objB)) { 20293 return true; 20294 } 20295 20296 if ((0, _typeof2["default"])(objA) !== 'object' || objA === null || (0, _typeof2["default"])(objB) !== 'object' || objB === null) { 20297 return false; 20298 } 20299 20300 var keysA = Object.keys(objA); 20301 var keysB = Object.keys(objB); 20302 20303 if (keysA.length !== keysB.length) { 20304 return false; 20305 } // Test for A's keys different from B. 20306 20307 20308 for (var i = 0; i < keysA.length; i++) { 20309 if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { 20310 return false; 20311 } 20312 } 20313 20314 return true; 20315} 20316 20317var _default = shallowEqual; 20318exports["default"] = _default; 20319 20320/***/ }), 20321/* 411 */ 20322/***/ (function(module, exports, __webpack_require__) { 20323 20324"use strict"; 20325 20326 20327Object.defineProperty(exports, "__esModule", { 20328 value: true 20329}); 20330exports.ixInstances = void 0; 20331 20332var _constants = __webpack_require__(14); 20333 20334var _shared = __webpack_require__(45); 20335 20336var _timm = __webpack_require__(58); 20337/* eslint-env browser */ 20338 20339 20340var _constants$IX2EngineA = _constants.IX2EngineActionTypes, 20341 IX2_RAW_DATA_IMPORTED = _constants$IX2EngineA.IX2_RAW_DATA_IMPORTED, 20342 IX2_SESSION_STOPPED = _constants$IX2EngineA.IX2_SESSION_STOPPED, 20343 IX2_INSTANCE_ADDED = _constants$IX2EngineA.IX2_INSTANCE_ADDED, 20344 IX2_INSTANCE_STARTED = _constants$IX2EngineA.IX2_INSTANCE_STARTED, 20345 IX2_INSTANCE_REMOVED = _constants$IX2EngineA.IX2_INSTANCE_REMOVED, 20346 IX2_ANIMATION_FRAME_CHANGED = _constants$IX2EngineA.IX2_ANIMATION_FRAME_CHANGED; 20347var _shared$IX2EasingUtil = _shared.IX2EasingUtils, 20348 optimizeFloat = _shared$IX2EasingUtil.optimizeFloat, 20349 applyEasing = _shared$IX2EasingUtil.applyEasing, 20350 createBezierEasing = _shared$IX2EasingUtil.createBezierEasing; 20351var RENDER_GENERAL = _constants.IX2EngineConstants.RENDER_GENERAL; 20352var _shared$IX2VanillaUti = _shared.IX2VanillaUtils, 20353 getItemConfigByKey = _shared$IX2VanillaUti.getItemConfigByKey, 20354 getRenderType = _shared$IX2VanillaUti.getRenderType, 20355 getStyleProp = _shared$IX2VanillaUti.getStyleProp; 20356
20357var continuousInstance = function continuousInstance(state, action) { 20358 var lastPosition = state.position, 20359 parameterId = state.parameterId, 20360 actionGroups = state.actionGroups, 20361 destinationKeys = state.destinationKeys, 20362 smoothing = state.smoothing, 20363 restingValue = state.restingValue, 20364 actionTypeId = state.actionTypeId, 20365 customEasingFn = state.customEasingFn, 20366 skipMotion = state.skipMotion, 20367 skipToValue = state.skipToValue; 20368 var parameters = action.payload.parameters; 20369 var velocity = Math.max(1 - smoothing, 0.01); 20370 var paramValue = parameters[parameterId]; 20371 20372 if (paramValue == null) { 20373 velocity = 1; 20374 paramValue = restingValue; 20375 } 20376 20377 var nextPosition = Math.max(paramValue, 0) || 0; 20378 var positionDiff = optimizeFloat(nextPosition - lastPosition); 20379 var position = skipMotion ? skipToValue : optimizeFloat(lastPosition + positionDiff * velocity); 20380 var keyframePosition = position * 100; 20381 20382 if (position === lastPosition && state.current) { 20383 return state; 20384 } 20385 20386 var fromActionItem; 20387 var toActionItem; 20388 var positionOffset; 20389 var positionRange; 20390 20391 for (var i = 0, length = actionGroups.length; i < length; i++) { 20392 var _actionGroups$i = actionGroups[i], 20393 keyframe = _actionGroups$i.keyframe, 20394 actionItems = _actionGroups$i.actionItems; 20395 20396 if (i === 0) { 20397 fromActionItem = actionItems[0]; 20398 } 20399 20400 if (keyframePosition >= keyframe) { 20401 fromActionItem = actionItems[0]; 20402 var nextGroup = actionGroups[i + 1]; 20403 var hasNextItem = nextGroup && keyframePosition !== keyframe; 20404 toActionItem = hasNextItem ? nextGroup.actionItems[0] : null; 20405 20406 if (hasNextItem) { 20407 positionOffset = keyframe / 100; 20408 positionRange = (nextGroup.keyframe - keyframe) / 100; 20409 } 20410 } 20411 } 20412 20413 var current = {}; 20414 20415 if (fromActionItem && !toActionItem) { 20416 for (var _i = 0, _length = destinationKeys.length; _i < _length; _i++) { 20417 var key = destinationKeys[_i]; 20418 current[key] = getItemConfigByKey(actionTypeId, key, fromActionItem.config); 20419 } 20420 } else if (fromActionItem && toActionItem && positionOffset !== undefined && positionRange !== undefined) { 20421 var localPosition = (position - positionOffset) / positionRange; 20422 var easing = fromActionItem.config.easing; 20423 var eased = applyEasing(easing, localPosition, customEasingFn); 20424 20425 for (var _i2 = 0, _length2 = destinationKeys.length; _i2 < _length2; _i2++) { 20426 var _key = destinationKeys[_i2]; 20427 var fromVal = getItemConfigByKey(actionTypeId, _key, fromActionItem.config); 20428 var toVal = getItemConfigByKey(actionTypeId, _key, toActionItem.config); // $FlowFixMe ââ¬â toVal and fromVal could potentially be null, need to update type higher to determine number 20429 20430 var diff = toVal - fromVal; // $FlowFixMe 20431 20432 var value = diff * eased + fromVal; 20433 current[_key] = value; 20434 } 20435 } 20436 20437 return (0, _timm.merge)(state, { 20438 position: position, 20439 current: current 20440 }); 20441}; 20442 20443var timedInstance = function timedInstance(state, action) { 20444 var _state = state, 20445 active = _state.active, 20446 origin = _state.origin, 20447 start = _state.start, 20448 immediate = _state.immediate, 20449 renderType = _state.renderType, 20450 verbose = _state.verbose, 20451 actionItem = _state.actionItem, 20452 destination = _state.destination, 20453 destinationKeys = _state.destinationKeys, 20454 pluginDuration = _state.pluginDuration, 20455 instanceDelay = _state.instanceDelay, 20456 customEasingFn = _state.customEasingFn, 20457 skipMotion = _state.skipMotion; 20458 var easing = actionItem.config.easing; 20459 var _actionItem$config = actionItem.config, 20460 duration = _actionItem$config.duration, 20461 delay = _actionItem$config.delay; 20462 20463 if (pluginDuration != null) { 20464 duration = pluginDuration; 20465 } 20466 20467 delay = instanceDelay != null ? instanceDelay : delay; 20468 20469 if (renderType === RENDER_GENERAL) { 20470 duration = 0; 20471 } else if (immediate || skipMotion) { 20472 duration = delay = 0; 20473 } 20474 20475 var now = action.payload.now; 20476 20477 if (active && origin) { 20478 var delta = now - (start + delay); 20479 20480 if (verbose) { 20481 var verboseDelta = now - start; 20482 var verboseDuration = duration + delay; 20483 var verbosePosition = optimizeFloat(Math.min(Math.max(0, verboseDelta / verboseDuration), 1)); 20484 state = (0, _timm.set)(state, 'verboseTimeElapsed', verboseDuration * verbosePosition); 20485 } 20486 20487 if (delta < 0) { 20488 return state; 20489 } 20490 20491 var position = optimizeFloat(Math.min(Math.max(0, delta / duration), 1)); 20492 var eased = applyEasing(easing, position, customEasingFn); 20493 var newProps = {}; 20494 var current = null; 20495 20496 if (destinationKeys.length) { 20497 current = destinationKeys.reduce(function (result, key) { 20498 var destValue = destination[key]; 20499 var originVal = parseFloat(origin[key]) || 0; 20500 var diff = parseFloat(destValue) - originVal; 20501 var value = diff * eased + originVal; 20502 result[key] = value; 20503 return result; 20504 }, {}); 20505 } 20506 20507 newProps.current = current; 20508 newProps.position = position; 20509 20510 if (position === 1) { 20511 newProps.active = false;
20512 newProps.complete = true; 20513 } 20514 20515 return (0, _timm.merge)(state, newProps); 20516 } 20517 20518 return state; 20519}; 20520 20521var ixInstances = function ixInstances() { 20522 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Object.freeze({}); 20523 var action = arguments.length > 1 ? arguments[1] : undefined; 20524 20525 switch (action.type) { 20526 case IX2_RAW_DATA_IMPORTED: 20527 { 20528 return action.payload.ixInstances || Object.freeze({}); 20529 } 20530 20531 case IX2_SESSION_STOPPED: 20532 { 20533 return Object.freeze({}); 20534 } 20535 20536 case IX2_INSTANCE_ADDED: 20537 { 20538 var _action$payload = action.payload, 20539 instanceId = _action$payload.instanceId, 20540 elementId = _action$payload.elementId, 20541 actionItem = _action$payload.actionItem, 20542 eventId = _action$payload.eventId, 20543 eventTarget = _action$payload.eventTarget, 20544 eventStateKey = _action$payload.eventStateKey, 20545 actionListId = _action$payload.actionListId, 20546 groupIndex = _action$payload.groupIndex, 20547 isCarrier = _action$payload.isCarrier, 20548 origin = _action$payload.origin, 20549 destination = _action$payload.destination, 20550 immediate = _action$payload.immediate, 20551 verbose = _action$payload.verbose, 20552 continuous = _action$payload.continuous, 20553 parameterId = _action$payload.parameterId, 20554 actionGroups = _action$payload.actionGroups, 20555 smoothing = _action$payload.smoothing, 20556 restingValue = _action$payload.restingValue, 20557 pluginInstance = _action$payload.pluginInstance, 20558 pluginDuration = _action$payload.pluginDuration, 20559 instanceDelay = _action$payload.instanceDelay, 20560 skipMotion = _action$payload.skipMotion, 20561 skipToValue = _action$payload.skipToValue; 20562 var actionTypeId = actionItem.actionTypeId; 20563 var renderType = getRenderType(actionTypeId); 20564 var styleProp = getStyleProp(renderType, actionTypeId); 20565 var destinationKeys = Object.keys(destination).filter(function (key) { 20566 return destination[key] != null; 20567 }); 20568 var easing = actionItem.config.easing; 20569 return (0, _timm.set)(state, instanceId, { 20570 id: instanceId, 20571 elementId: elementId, 20572 active: false, 20573 position: 0, 20574 start: 0, 20575 origin: origin, 20576 destination: destination, 20577 destinationKeys: destinationKeys, 20578 immediate: immediate, 20579 verbose: verbose, 20580 current: null, 20581 actionItem: actionItem, 20582 actionTypeId: actionTypeId, 20583 eventId: eventId, 20584 eventTarget: eventTarget, 20585 eventStateKey: eventStateKey, 20586 actionListId: actionListId, 20587 groupIndex: groupIndex, 20588 renderType: renderType, 20589 isCarrier: isCarrier, 20590 styleProp: styleProp, 20591 continuous: continuous, 20592 parameterId: parameterId, 20593 actionGroups: actionGroups, 20594 smoothing: smoothing, 20595 restingValue: restingValue, 20596 pluginInstance: pluginInstance, 20597 pluginDuration: pluginDuration, 20598 instanceDelay: instanceDelay, 20599 skipMotion: skipMotion, 20600 skipToValue: skipToValue, 20601 customEasingFn: Array.isArray(easing) && easing.length === 4 ? createBezierEasing(easing) : undefined 20602 }); 20603 } 20604 20605 case IX2_INSTANCE_STARTED: 20606 { 20607 var _action$payload2 = action.payload, 20608 _instanceId = _action$payload2.instanceId, 20609 time = _action$payload2.time; 20610 return (0, _timm.mergeIn)(state, [_instanceId], { 20611 active: true, 20612 complete: false, 20613 start: time 20614 }); 20615 } 20616 20617 case IX2_INSTANCE_REMOVED: 20618 { 20619 var _instanceId2 = action.payload.instanceId; 20620 20621 if (!state[_instanceId2]) { 20622 return state; 20623 } 20624 20625 var newState = {}; 20626 var keys = Object.keys(state); 20627 var length = keys.length; 20628 20629 for (var i = 0; i < length; i++) { 20630 var key = keys[i]; 20631 20632 if (key !== _instanceId2) { 20633 newState[key] = state[key]; 20634 } 20635 } 20636 20637 return newState; 20638 } 20639 20640 case IX2_ANIMATION_FRAME_CHANGED: 20641 { 20642 var _newState = state; 20643 20644 var _keys = Object.keys(state); 20645 20646 var _length3 = _keys.length; 20647 20648 for (var _i3 = 0; _i3 < _length3; _i3++) { 20649 var _key2 = _keys[_i3]; 20650 var instance = state[_key2]; 20651 var reducer = instance.continuous ? continuousInstance : timedInstance; 20652 _newState = (0, _timm.set)(_newState, _key2, reducer(instance, action)); 20653 } 20654 20655 return _newState; 20656 } 20657 20658 default: 20659 { 20660 return state; 20661 } 20662 } 20663}; 20664 20665exports.ixInstances = ixInstances; 20666 20667/***/ }), 20668/* 412 */ 20669/***/ (function(module, exports, __webpack_require__) { 20670 20671"use strict"; 20672 20673 20674 20675Object.defineProperty(exports, "__esModule", { 20676 value: true 20677}); 20678exports.ixParameters = void 0; 20679 20680var _constants = __webpack_require__(14); 20681 20682var _constants$IX2EngineA = _constants.IX2EngineActionTypes,
20683 IX2_RAW_DATA_IMPORTED = _constants$IX2EngineA.IX2_RAW_DATA_IMPORTED, 20684 IX2_SESSION_STOPPED = _constants$IX2EngineA.IX2_SESSION_STOPPED, 20685 IX2_PARAMETER_CHANGED = _constants$IX2EngineA.IX2_PARAMETER_CHANGED; // prettier-ignore 20686 20687var ixParameters = function ixParameters() { 20688 var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { 20689 /*mutable flat state*/ 20690 }; 20691 var action = arguments.length > 1 ? arguments[1] : undefined; 20692 20693 switch (action.type) { 20694 case IX2_RAW_DATA_IMPORTED: 20695 { 20696 return action.payload.ixParameters || { 20697 /*mutable flat state*/ 20698 }; 20699 } 20700 20701 case IX2_SESSION_STOPPED: 20702 { 20703 return { 20704 /*mutable flat state*/ 20705 }; 20706 } 20707 20708 case IX2_PARAMETER_CHANGED: 20709 { 20710 var _action$payload = action.payload, 20711 key = _action$payload.key, 20712 value = _action$payload.value; 20713 state[key] = value; 20714 return state; 20715 } 20716 20717 default: 20718 { 20719 return state; 20720 } 20721 } 20722}; 20723 20724exports.ixParameters = ixParameters; 20725 20726/***/ }), 20727/* 413 */ 20728/***/ (function(module, exports) { 20729 20730function _objectWithoutPropertiesLoose(source, excluded) { 20731 if (source == null) return {}; 20732 var target = {}; 20733 var sourceKeys = Object.keys(source); 20734 var key, i; 20735 20736 for (i = 0; i < sourceKeys.length; i++) { 20737 key = sourceKeys[i]; 20738 if (excluded.indexOf(key) >= 0) continue; 20739 target[key] = source[key]; 20740 } 20741 20742 return target; 20743} 20744 20745module.exports = _objectWithoutPropertiesLoose; 20746 20747/***/ }), 20748/* 414 */ 20749/***/ (function(module, exports, __webpack_require__) { 20750 20751var baseKeys = __webpack_require__(88), 20752 getTag = __webpack_require__(90), 20753 isArrayLike = __webpack_require__(40), 20754 isString = __webpack_require__(415), 20755 stringSize = __webpack_require__(416); 20756 20757/** `Object#toString` result references. */ 20758var mapTag = '[object Map]', 20759 setTag = '[object Set]'; 20760 20761/** 20762 * Gets the size of `collection` by returning its length for array-like 20763 * values or the number of own enumerable string keyed properties for objects. 20764 * 20765 * @static 20766 * @memberOf _ 20767 * @since 0.1.0 20768 * @category Collection 20769 * @param {Array|Object|string} collection The collection to inspect. 20770 * @returns {number} Returns the collection size. 20771 * @example 20772 * 20773 * _.size([1, 2, 3]); 20774 * // => 3 20775 * 20776 * _.size({ 'a': 1, 'b': 2 }); 20777 * // => 2 20778 * 20779 * _.size('pebbles'); 20780 * // => 7 20781 */ 20782function size(collection) { 20783 if (collection == null) { 20784 return 0; 20785 } 20786 if (isArrayLike(collection)) { 20787 return isString(collection) ? stringSize(collection) : collection.length; 20788 } 20789 var tag = getTag(collection); 20790 if (tag == mapTag || tag == setTag) { 20791 return collection.size; 20792 } 20793 return baseKeys(collection).length; 20794} 20795 20796module.exports = size; 20797 20798 20799/***/ }), 20800/* 415 */ 20801/***/ (function(module, exports, __webpack_require__) { 20802 20803var baseGetTag = __webpack_require__(39), 20804 isArray = __webpack_require__(11), 20805 isObjectLike = __webpack_require__(30); 20806 20807/** `Object#toString` result references. */ 20808var stringTag = '[object String]'; 20809 20810/** 20811 * Checks if `value` is classified as a `String` primitive or object. 20812 * 20813 * @static 20814 * @since 0.1.0 20815 * @memberOf _ 20816 * @category Lang 20817 * @param {*} value The value to check. 20818 * @returns {boolean} Returns `true` if `value` is a string, else `false`. 20819 * @example 20820 * 20821 * _.isString('abc'); 20822 * // => true 20823 * 20824 * _.isString(1); 20825 * // => false 20826 */ 20827function isString(value) { 20828 return typeof value == 'string' || 20829 (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); 20830} 20831 20832module.exports = isString; 20833 20834 20835/***/ }), 20836/* 416 */ 20837/***/ (function(module, exports, __webpack_require__) { 20838 20839var asciiSize = __webpack_require__(417), 20840 hasUnicode = __webpack_require__(418), 20841 unicodeSize = __webpack_require__(419); 20842 20843/** 20844 * Gets the number of symbols in `string`. 20845 * 20846 * @private 20847 * @param {string} string The string to inspect. 20848 * @returns {number} Returns the string size. 20849 */ 20850function stringSize(string) { 20851 return hasUnicode(string) 20852 ? unicodeSize(string) 20853 : asciiSize(string); 20854} 20855 20856module.exports = stringSize; 20857 20858 20859/***/ }), 20860/* 417 */ 20861/***/ (function(module, exports, __webpack_require__) { 20862 20863var baseProperty = __webpack_require__(144); 20864 20865/** 20866 * Gets the size of an ASCII `string`. 20867 * 20868 * @private 20869 * @param {string} string The string inspect. 20870 * @returns {number} Returns the string size. 20871 */ 20872var asciiSize = baseProperty('length'); 20873 20874module.exports = asciiSize; 20875 20876 20877/***/ }), 20878/* 418 */
vendor: 2,921 bytes, lines 20879-20968
20879/***/ (function(module, exports) { 20880 20881/** Used to compose unicode character classes. */ 20882var rsAstralRange = '\\ud800-\\udfff', 20883 rsComboMarksRange = '\\u0300-\\u036f', 20884 reComboHalfMarksRange = '\\ufe20-\\ufe2f', 20885 rsComboSymbolsRange = '\\u20d0-\\u20ff', 20886 rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, 20887 rsVarRange = '\\ufe0e\\ufe0f'; 20888 20889/** Used to compose unicode capture groups. */ 20890var rsZWJ = '\\u200d'; 20891 20892/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ 20893var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); 20894 20895/** 20896 * Checks if `string` contains Unicode symbols. 20897 * 20898 * @private 20899 * @param {string} string The string to inspect. 20900 * @returns {boolean} Returns `true` if a symbol is found, else `false`. 20901 */ 20902function hasUnicode(string) { 20903 return reHasUnicode.test(string); 20904} 20905 20906module.exports = hasUnicode; 20907 20908 20909/***/ }), 20910/* 419 */ 20911/***/ (function(module, exports) { 20912 20913/** Used to compose unicode character classes. */ 20914var rsAstralRange = '\\ud800-\\udfff', 20915 rsComboMarksRange = '\\u0300-\\u036f', 20916 reComboHalfMarksRange = '\\ufe20-\\ufe2f', 20917 rsComboSymbolsRange = '\\u20d0-\\u20ff', 20918 rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, 20919 rsVarRange = '\\ufe0e\\ufe0f'; 20920 20921/** Used to compose unicode capture groups. */ 20922var rsAstral = '[' + rsAstralRange + ']', 20923 rsCombo = '[' + rsComboRange + ']', 20924 rsFitz = '\\ud83c[\\udffb-\\udfff]', 20925 rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', 20926 rsNonAstral = '[^' + rsAstralRange + ']', 20927 rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', 20928 rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', 20929 rsZWJ = '\\u200d'; 20930 20931/** Used to compose unicode regexes. */ 20932var reOptMod = rsModifier + '?', 20933 rsOptVar = '[' + rsVarRange + ']?', 20934 rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', 20935 rsSeq = rsOptVar + reOptMod + rsOptJoin, 20936 rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; 20937 20938/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ 20939var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); 20940 20941/** 20942 * Gets the size of a Unicode `string`. 20943 * 20944 * @private 20945 * @param {string} string The string inspect. 20946 * @returns {number} Returns the string size. 20947 */ 20948function unicodeSize(string) { 20949 var result = reUnicode.lastIndex = 0; 20950 while (reUnicode.test(string)) { 20951 ++result; 20952 } 20953 return result; 20954} 20955 20956module.exports = unicodeSize; 20957 20958 20959/***/ }), 20960/* 420 */ 20961/***/ (function(module, exports, __webpack_require__) { 20962 20963var baseIteratee = __webpack_require__(28), 20964 negate = __webpack_require__(421), 20965 pickBy = __webpack_require__(422); 20966 20967/** 20968 * The opposite of `_.pickBy`;
20968 this method creates an object composed of 20969 * the own and inherited enumerable string keyed properties of `object` that 20970 * `predicate` doesn't return truthy for. The predicate is invoked with two 20971 * arguments: (value, key). 20972 * 20973 * @static 20974 * @memberOf _ 20975 * @since 4.0.0 20976 * @category Object 20977 * @param {Object} object The source object. 20978 * @param {Function} [predicate=_.identity] The function invoked per property. 20979 * @returns {Object} Returns the new object. 20980 * @example 20981 * 20982 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 20983 * 20984 * _.omitBy(object, _.isNumber); 20985 * // => { 'b': '2' } 20986 */ 20987function omitBy(object, predicate) { 20988 return pickBy(object, negate(baseIteratee(predicate))); 20989} 20990 20991module.exports = omitBy; 20992 20993 20994/***/ }), 20995/* 421 */ 20996/***/ (function(module, exports) { 20997 20998/** Error message constants. */ 20999var FUNC_ERROR_TEXT = 'Expected a function'; 21000 21001/** 21002 * Creates a function that negates the result of the predicate `func`. The 21003 * `func` predicate is invoked with the `this` binding and arguments of the 21004 * created function. 21005 * 21006 * @static 21007 * @memberOf _ 21008 * @since 3.0.0 21009 * @category Function 21010 * @param {Function} predicate The predicate to negate. 21011 * @returns {Function} Returns the new negated function. 21012 * @example 21013 * 21014 * function isEven(n) { 21015 * return n % 2 == 0; 21016 * } 21017 * 21018 * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); 21019 * // => [1, 3, 5] 21020 */ 21021function negate(predicate) { 21022 if (typeof predicate != 'function') { 21023 throw new TypeError(FUNC_ERROR_TEXT); 21024 } 21025 return function() { 21026 var args = arguments; 21027 switch (args.length) { 21028 case 0: return !predicate.call(this); 21029 case 1: return !predicate.call(this, args[0]); 21030 case 2: return !predicate.call(this, args[0], args[1]); 21031 case 3: return !predicate.call(this, args[0], args[1], args[2]); 21032 } 21033 return !predicate.apply(this, args); 21034 }; 21035} 21036 21037module.exports = negate; 21038 21039 21040/***/ }), 21041/* 422 */ 21042/***/ (function(module, exports, __webpack_require__) { 21043 21044var arrayMap = __webpack_require__(143), 21045 baseIteratee = __webpack_require__(28), 21046 basePickBy = __webpack_require__(423), 21047 getAllKeysIn = __webpack_require__(426); 21048 21049/**
21050 * Creates an object composed of the `object` properties `predicate` returns 21051 * truthy for. The predicate is invoked with two arguments: (value, key). 21052 * 21053 * @static 21054 * @memberOf _ 21055 * @since 4.0.0 21056 * @category Object 21057 * @param {Object} object The source object. 21058 * @param {Function} [predicate=_.identity] The function invoked per property. 21059 * @returns {Object} Returns the new object. 21060 * @example 21061 * 21062 * var object = { 'a': 1, 'b': '2', 'c': 3 }; 21063 * 21064 * _.pickBy(object, _.isNumber); 21065 * // => { 'a': 1, 'c': 3 } 21066 */ 21067function pickBy(object, predicate) { 21068 if (object == null) { 21069 return {}; 21070 } 21071 var props = arrayMap(getAllKeysIn(object), function(prop) { 21072 return [prop]; 21073 }); 21074 predicate = baseIteratee(predicate); 21075 return basePickBy(object, props, function(value, path) { 21076 return predicate(value, path[0]); 21077 }); 21078} 21079 21080module.exports = pickBy; 21081 21082 21083/***/ }), 21084/* 423 */ 21085/***/ (function(module, exports, __webpack_require__) { 21086 21087var baseGet = __webpack_require__(92), 21088 baseSet = __webpack_require__(424), 21089 castPath = __webpack_require__(66); 21090 21091/** 21092 * The base implementation of `_.pickBy` without support for iteratee shorthands. 21093 * 21094 * @private 21095 * @param {Object} object The source object. 21096 * @param {string[]} paths The property paths to pick. 21097 * @param {Function} predicate The function invoked per property. 21098 * @returns {Object} Returns the new object. 21099 */ 21100function basePickBy(object, paths, predicate) { 21101 var index = -1, 21102 length = paths.length, 21103 result = {}; 21104 21105 while (++index < length) { 21106 var path = paths[index], 21107 value = baseGet(object, path); 21108 21109 if (predicate(value, path)) { 21110 baseSet(result, castPath(path, object), value); 21111 } 21112 } 21113 return result; 21114} 21115 21116module.exports = basePickBy; 21117 21118 21119/***/ }), 21120/* 424 */ 21121/***/ (function(module, exports, __webpack_require__) { 21122 21123var assignValue = __webpack_require__(425), 21124 castPath = __webpack_require__(66), 21125 isIndex = __webpack_require__(85), 21126 isObject = __webpack_require__(23), 21127 toKey = __webpack_require__(48); 21128 21129/** 21130 * The base implementation of `_.set`. 21131 * 21132 * @private 21133 * @param {Object} object The object to modify. 21134 * @param {Array|string} path The path of the property to set. 21135 * @param {*} value The value to set. 21136 * @param {Function} [customizer] The function to customize path creation. 21137 * @returns {Object} Returns `object`. 21138 */ 21139function baseSet(object, path, value, customizer) { 21140 if (!isObject(object)) { 21141 return object; 21142 } 21143 path = castPath(path, object); 21144 21145 var index = -1, 21146 length = path.length, 21147 lastIndex = length - 1, 21148 nested = object; 21149 21150 while (nested != null && ++index < length) { 21151 var key = toKey(path[index]), 21152 newValue = value; 21153 21154 if (key === '__proto__' || key === 'constructor' || key === 'prototype') { 21155 return object; 21156 } 21157 21158 if (index != lastIndex) { 21159 var objValue = nested[key]; 21160 newValue = customizer ? customizer(objValue, key, nested) : undefined; 21161 if (newValue === undefined) { 21162 newValue = isObject(objValue) 21163 ? objValue 21164 : (isIndex(path[index + 1]) ? [] : {}); 21165 } 21166 } 21167 assignValue(nested, key, newValue); 21168 nested = nested[key]; 21169 } 21170 return object; 21171} 21172 21173module.exports = baseSet; 21174 21175 21176/***/ }), 21177/* 425 */ 21178/***/ (function(module, exports, __webpack_require__) { 21179 21180var baseAssignValue = __webpack_require__(186), 21181 eq = __webpack_require__(80); 21182 21183/** Used for built-in method references. */ 21184var objectProto = Object.prototype; 21185 21186/** Used to check objects for own properties. */ 21187var hasOwnProperty = objectProto.hasOwnProperty; 21188 21189/** 21190 * Assigns `value` to `key` of `object` if the existing value is not equivalent 21191 * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) 21192 * for equality comparisons. 21193 * 21194 * @private 21195 * @param {Object} object The object to modify. 21196 * @param {string} key The key of the property to assign. 21197 * @param {*} value The value to assign. 21198 */ 21199function assignValue(object, key, value) { 21200 var objValue = object[key]; 21201 if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || 21202 (value === undefined && !(key in object))) { 21203 baseAssignValue(object, key, value); 21204 } 21205} 21206 21207module.exports = assignValue; 21208 21209 21210/***/ }), 21211/* 426 */ 21212/***/ (function(module, exports, __webpack_require__) { 21213 21214var baseGetAllKeys = __webpack_require__(134), 21215 getSymbolsIn = __webpack_require__(427), 21216 keysIn = __webpack_require__(429); 21217 21218/** 21219 * Creates an array of own and inherited enumerable property names and 21220 * symbols of `object`. 21221 * 21222 * @private 21223 * @param {Object} object The object to query. 21224 * @returns {Array} Returns the array of property names and symbols. 21225 */ 21226function getAllKeysIn(object) { 21227 return baseGetAllKeys(object, keysIn, getSymbolsIn); 21228} 21229 21230module.exports = getAllKeysIn; 21231 21232 21233/***/ }), 21234/* 427 */ 21235/***/ (function(module, exports, __webpack_require__) { 21236 21237var arrayPush = __webpack_require__(83), 21238 getPrototype = __webpack_require__(428), 21239 getSymbols = __webpack_require__(135), 21240 stubArray = __webpack_require__(136); 21241 21242/* Built-in method references for those with the same name as other `lodash` methods. */ 21243var nativeGetSymbols = Object.getOwnPropertySymbols; 21244 21245/** 21246 * Creates an array of the own and inherited enumerable symbols of `object`. 21247 * 21248 * @private 21249 * @param {Object} object The object to query. 21250 * @returns {Array} Returns the array of symbols. 21251 */ 21252var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { 21253 var result = []; 21254 while (object) {
vendor: 8,851 bytes, lines 21255-21613
21255 arrayPush(result, getSymbols(object)); 21256 object = getPrototype(object); 21257 } 21258 return result; 21259}; 21260 21261module.exports = getSymbolsIn; 21262 21263 21264/***/ }), 21265/* 428 */ 21266/***/ (function(module, exports, __webpack_require__) { 21267 21268var overArg = __webpack_require__(139); 21269 21270/** Built-in value references. */ 21271var getPrototype = overArg(Object.getPrototypeOf, Object); 21272 21273module.exports = getPrototype; 21274 21275 21276/***/ }), 21277/* 429 */ 21278/***/ (function(module, exports, __webpack_require__) { 21279 21280var arrayLikeKeys = __webpack_require__(137), 21281 baseKeysIn = __webpack_require__(430), 21282 isArrayLike = __webpack_require__(40); 21283 21284/** 21285 * Creates an array of the own and inherited enumerable property names of `object`. 21286 * 21287 * **Note:** Non-object values are coerced to objects. 21288 * 21289 * @static 21290 * @memberOf _ 21291 * @since 3.0.0 21292 * @category Object 21293 * @param {Object} object The object to query. 21294 * @returns {Array} Returns the array of property names. 21295 * @example 21296 * 21297 * function Foo() { 21298 * this.a = 1; 21299 * this.b = 2; 21300 * } 21301 * 21302 * Foo.prototype.c = 3; 21303 * 21304 * _.keysIn(new Foo); 21305 * // => ['a', 'b', 'c'] (iteration order is not guaranteed) 21306 */ 21307function keysIn(object) { 21308 return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); 21309} 21310 21311module.exports = keysIn; 21312 21313 21314/***/ }), 21315/* 430 */ 21316/***/ (function(module, exports, __webpack_require__) { 21317 21318var isObject = __webpack_require__(23), 21319 isPrototype = __webpack_require__(89), 21320 nativeKeysIn = __webpack_require__(431); 21321 21322/** Used for built-in method references. */ 21323var objectProto = Object.prototype; 21324 21325/** Used to check objects for own properties. */ 21326var hasOwnProperty = objectProto.hasOwnProperty; 21327 21328/** 21329 * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. 21330 * 21331 * @private 21332 * @param {Object} object The object to query. 21333 * @returns {Array} Returns the array of property names. 21334 */ 21335function baseKeysIn(object) { 21336 if (!isObject(object)) { 21337 return nativeKeysIn(object); 21338 } 21339 var isProto = isPrototype(object), 21340 result = []; 21341 21342 for (var key in object) { 21343 if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { 21344 result.push(key); 21345 } 21346 } 21347 return result; 21348} 21349 21350module.exports = baseKeysIn; 21351 21352 21353/***/ }), 21354/* 431 */ 21355/***/ (function(module, exports) { 21356 21357/** 21358 * This function is like 21359 * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) 21360 * except that it includes inherited enumerable properties. 21361 * 21362 * @private 21363 * @param {Object} object The object to query. 21364 * @returns {Array} Returns the array of property names. 21365 */ 21366function nativeKeysIn(object) { 21367 var result = []; 21368 if (object != null) { 21369 for (var key in Object(object)) { 21370 result.push(key); 21371 } 21372 } 21373 return result; 21374} 21375 21376module.exports = nativeKeysIn; 21377 21378 21379/***/ }), 21380/* 432 */ 21381/***/ (function(module, exports, __webpack_require__) { 21382 21383var baseKeys = __webpack_require__(88), 21384 getTag = __webpack_require__(90), 21385 isArguments = __webpack_require__(65), 21386 isArray = __webpack_require__(11), 21387 isArrayLike = __webpack_require__(40), 21388 isBuffer = __webpack_require__(84), 21389 isPrototype = __webpack_require__(89), 21390 isTypedArray = __webpack_require__(86); 21391 21392/** `Object#toString` result references. */ 21393var mapTag = '[object Map]', 21394 setTag = '[object Set]'; 21395 21396/** Used for built-in method references. */ 21397var objectProto = Object.prototype; 21398 21399/** Used to check objects for own properties. */ 21400var hasOwnProperty = objectProto.hasOwnProperty; 21401 21402/** 21403 * Checks if `value` is an empty object, collection, map, or set. 21404 * 21405 * Objects are considered empty if they have no own enumerable string keyed 21406 * properties. 21407 * 21408 * Array-like values such as `arguments` objects, arrays, buffers, strings, or 21409 * jQuery-like collections are considered empty if they have a `length` of `0`. 21410 * Similarly, maps and sets are considered empty if they have a `size` of `0`. 21411 * 21412 * @static 21413 * @memberOf _ 21414 * @since 0.1.0 21415 * @category Lang 21416 * @param {*} value The value to check. 21417 * @returns {boolean} Returns `true` if `value` is empty, else `false`. 21418 * @example 21419 * 21420 * _.isEmpty(null); 21421 * // => true 21422 * 21423 * _.isEmpty(true); 21424 * // => true 21425 * 21426 * _.isEmpty(1); 21427 * // => true 21428 * 21429 * _.isEmpty([1, 2, 3]); 21430 * // => false 21431 * 21432 * _.isEmpty({ 'a': 1 }); 21433 * // => false 21434 */ 21435function isEmpty(value) { 21436 if (value == null) { 21437 return true; 21438 } 21439 if (isArrayLike(value) && 21440 (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || 21441 isBuffer(value) || isTypedArray(value) || isArguments(value))) { 21442 return !value.length; 21443 } 21444 var tag = getTag(value); 21445 if (tag == mapTag || tag == setTag) { 21446 return !value.size; 21447 } 21448 if (isPrototype(value)) { 21449 return !baseKeys(value).length; 21450 } 21451 for (var key in value) { 21452 if (hasOwnProperty.call(value, key)) { 21453 return false; 21454 } 21455 } 21456 return true; 21457} 21458 21459module.exports = isEmpty; 21460 21461 21462/***/ }), 21463/* 433 */ 21464/***/ (function(module, exports, __webpack_require__) { 21465 21466var baseAssignValue = __webpack_require__(186), 21467 baseForOwn = __webpack_require__(184), 21468 baseIteratee = __webpack_require__(28); 21469 21470/** 21471 * Creates an object with the same keys as `object` and values generated 21472 * by running each own enumerable string keyed property of `object` thru 21473 * `iteratee`. The iteratee is invoked with three arguments: 21474 * (value, key, object). 21475 * 21476 * @static 21477 * @memberOf _ 21478 * @since 2.4.0 21479 * @category Object 21480 * @param {Object} object The object to iterate over. 21481 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 21482 * @returns {Object} Returns the new mapped object. 21483 * @see _.mapKeys 21484 * @example 21485 * 21486 * var users = { 21487 * 'fred': { 'user': 'fred', 'age': 40 }, 21488 * 'pebbles': { 'user': 'pebbles', 'age': 1 } 21489 * }; 21490 * 21491 * _.mapValues(users, function(o) { return o.age; }); 21492 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) 21493 * 21494 * // The `_.property` iteratee shorthand. 21495 * _.mapValues(users, 'age'); 21496 * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) 21497 */ 21498function mapValues(object, iteratee) { 21499 var result = {}; 21500 iteratee = baseIteratee(iteratee, 3); 21501 21502 baseForOwn(object, function(value, key, object) { 21503 baseAssignValue(result, key, iteratee(value, key, object)); 21504 }); 21505 return result; 21506} 21507 21508module.exports = mapValues; 21509 21510 21511/***/ }), 21512/* 434 */ 21513/***/ (function(module, exports, __webpack_require__) { 21514 21515var arrayEach = __webpack_require__(435), 21516 baseEach = __webpack_require__(183), 21517 castFunction = __webpack_require__(436), 21518 isArray = __webpack_require__(11); 21519 21520/** 21521 * Iterates over elements of `collection` and invokes `iteratee` for each element. 21522 * The iteratee is invoked with three arguments: (value, index|key, collection). 21523 * Iteratee functions may exit iteration early by explicitly returning `false`. 21524 * 21525 * **Note:** As with other "Collections" methods, objects with a "length" 21526 * property are iterated like arrays. To avoid this behavior use `_.forIn` 21527 * or `_.forOwn` for object iteration. 21528 * 21529 * @static 21530 * @memberOf _ 21531 * @since 0.1.0 21532 * @alias each 21533 * @category Collection 21534 * @param {Array|Object} collection The collection to iterate over. 21535 * @param {Function} [iteratee=_.identity] The function invoked per iteration. 21536 * @returns {Array|Object} Returns `collection`. 21537 * @see _.forEachRight 21538 * @example 21539 * 21540 * _.forEach([1, 2], function(value) { 21541 * console.log(value); 21542 * }); 21543 * // => Logs `1` then `2`. 21544 * 21545 * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { 21546 * console.log(key); 21547 * }); 21548 * // => Logs 'a' then 'b' (iteration order is not guaranteed). 21549 */ 21550function forEach(collection, iteratee) { 21551 var func = isArray(collection) ? arrayEach : baseEach; 21552 return func(collection, castFunction(iteratee)); 21553} 21554 21555module.exports = forEach; 21556 21557 21558/***/ }), 21559/* 435 */ 21560/***/ (function(module, exports) { 21561 21562/** 21563 * A specialized version of `_.forEach` for arrays without support for 21564 * iteratee shorthands. 21565 * 21566 * @private 21567 * @param {Array} [array] The array to iterate over. 21568 * @param {Function} iteratee The function invoked per iteration. 21569 * @returns {Array} Returns `array`. 21570 */ 21571function arrayEach(array, iteratee) { 21572 var index = -1, 21573 length = array == null ? 0 : array.length; 21574 21575 while (++index < length) { 21576 if (iteratee(array[index], index, array) === false) { 21577 break; 21578 } 21579 } 21580 return array; 21581} 21582 21583module.exports = arrayEach; 21584 21585 21586/***/ }), 21587/* 436 */ 21588/***/ (function(module, exports, __webpack_require__) { 21589 21590var identity = __webpack_require__(94); 21591 21592/** 21593 * Casts `value` to `identity` if it's not a function. 21594 * 21595 * @private 21596 * @param {*} value The value to inspect. 21597 * @returns {Function} Returns cast function. 21598 */ 21599function castFunction(value) { 21600 return typeof value == 'function' ? value : identity; 21601} 21602 21603module.exports = castFunction; 21604 21605 21606/***/ }), 21607/* 437 */ 21608/***/ (function(module, exports, __webpack_require__) { 21609 21610var debounce = __webpack_require__(438), 21611 isObject = __webpack_require__(23); 21612 21613/** Error message constants. */
vendor: 9,978 bytes, lines 21614-21928
21614var FUNC_ERROR_TEXT = 'Expected a function'; 21615 21616/** 21617 * Creates a throttled function that only invokes `func` at most once per 21618 * every `wait` milliseconds. The throttled function comes with a `cancel` 21619 * method to cancel delayed `func` invocations and a `flush` method to 21620 * immediately invoke them. Provide `options` to indicate whether `func` 21621 * should be invoked on the leading and/or trailing edge of the `wait` 21622 * timeout. The `func` is invoked with the last arguments provided to the 21623 * throttled function. Subsequent calls to the throttled function return the 21624 * result of the last `func` invocation. 21625 * 21626 * **Note:** If `leading` and `trailing` options are `true`, `func` is 21627 * invoked on the trailing edge of the timeout only if the throttled function 21628 * is invoked more than once during the `wait` timeout. 21629 * 21630 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 21631 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 21632 * 21633 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 21634 * for details over the differences between `_.throttle` and `_.debounce`. 21635 * 21636 * @static 21637 * @memberOf _ 21638 * @since 0.1.0 21639 * @category Function 21640 * @param {Function} func The function to throttle. 21641 * @param {number} [wait=0] The number of milliseconds to throttle invocations to. 21642 * @param {Object} [options={}] The options object. 21643 * @param {boolean} [options.leading=true] 21644 * Specify invoking on the leading edge of the timeout. 21645 * @param {boolean} [options.trailing=true] 21646 * Specify invoking on the trailing edge of the timeout. 21647 * @returns {Function} Returns the new throttled function. 21648 * @example 21649 * 21650 * // Avoid excessively updating the position while scrolling. 21651 * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); 21652 * 21653 * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. 21654 * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); 21655 * jQuery(element).on('click', throttled); 21656 * 21657 * // Cancel the trailing throttled invocation. 21658 * jQuery(window).on('popstate', throttled.cancel); 21659 */ 21660function throttle(func, wait, options) { 21661 var leading = true, 21662 trailing = true; 21663 21664 if (typeof func != 'function') { 21665 throw new TypeError(FUNC_ERROR_TEXT); 21666 } 21667 if (isObject(options)) { 21668 leading = 'leading' in options ? !!options.leading : leading; 21669 trailing = 'trailing' in options ? !!options.trailing : trailing; 21670 } 21671 return debounce(func, wait, { 21672 'leading': leading, 21673 'maxWait': wait, 21674 'trailing': trailing 21675 }); 21676} 21677 21678module.exports = throttle; 21679 21680 21681/***/ }), 21682/* 438 */ 21683/***/ (function(module, exports, __webpack_require__) { 21684 21685var isObject = __webpack_require__(23), 21686 now = __webpack_require__(439), 21687 toNumber = __webpack_require__(95); 21688 21689/** Error message constants. */ 21690var FUNC_ERROR_TEXT = 'Expected a function'; 21691 21692/* Built-in method references for those with the same name as other `lodash` methods. */ 21693var nativeMax = Math.max, 21694 nativeMin = Math.min; 21695 21696/** 21697 * Creates a debounced function that delays invoking `func` until after `wait` 21698 * milliseconds have elapsed since the last time the debounced function was 21699 * invoked. The debounced function comes with a `cancel` method to cancel 21700 * delayed `func` invocations and a `flush` method to immediately invoke them. 21701 * Provide `options` to indicate whether `func` should be invoked on the 21702 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked 21703 * with the last arguments provided to the debounced function. Subsequent 21704 * calls to the debounced function return the result of the last `func` 21705 * invocation. 21706 * 21707 * **Note:** If `leading` and `trailing` options are `true`, `func` is 21708 * invoked on the trailing edge of the timeout only if the debounced function 21709 * is invoked more than once during the `wait` timeout. 21710 * 21711 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 21712 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 21713 * 21714 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 21715 * for details over the differences between `_.debounce` and `_.throttle`. 21716 * 21717 * @static 21718 * @memberOf _ 21719 * @since 0.1.0 21720 * @category Function 21721 * @param {Function} func The function to debounce. 21722 * @param {number} [wait=0] The number of milliseconds to delay. 21723 * @param {Object} [options={}] The options object. 21724 * @param {boolean} [options.leading=false] 21725 * Specify invoking on the leading edge of the timeout. 21726 * @param {number} [options.maxWait] 21727 * The maximum time `func` is allowed to be delayed before it's invoked. 21728 * @param {boolean} [options.trailing=true] 21729 * Specify invoking on the trailing edge of the timeout. 21730 * @returns {Function} Returns the new debounced function. 21731 * @example 21732 * 21733 * // Avoid costly calculations while the window size is in flux. 21734 * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); 21735 * 21736 * // Invoke `sendMail` when clicked, debouncing subsequent calls. 21737 * jQuery(element).on('click', _.debounce(sendMail, 300, { 21738 * 'leading': true, 21739 * 'trailing': false 21740 * })); 21741 * 21742 * // Ensure `batchLog` is invoked once after 1 second of debounced calls. 21743 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); 21744 * var source = new EventSource('/stream'); 21745 * jQuery(source).on('message', debounced); 21746 * 21747 * // Cancel the trailing debounced invocation. 21748 * jQuery(window).on('popstate', debounced.cancel); 21749 */ 21750function debounce(func, wait, options) { 21751 var lastArgs, 21752 lastThis, 21753 maxWait, 21754 result, 21755 timerId, 21756 lastCallTime, 21757 lastInvokeTime = 0, 21758 leading = false, 21759 maxing = false, 21760 trailing = true; 21761 21762 if (typeof func != 'function') { 21763 throw new TypeError(FUNC_ERROR_TEXT); 21764 } 21765 wait = toNumber(wait) || 0; 21766 if (isObject(options)) { 21767 leading = !!options.leading; 21768 maxing = 'maxWait' in options; 21769 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; 21770 trailing = 'trailing' in options ? !!options.trailing : trailing; 21771 } 21772 21773 function invokeFunc(time) { 21774 var args = lastArgs, 21775 thisArg = lastThis; 21776 21777 lastArgs = lastThis = undefined; 21778 lastInvokeTime = time; 21779 result = func.apply(thisArg, args); 21780 return result; 21781 } 21782 21783 function leadingEdge(time) { 21784 // Reset any `maxWait` timer. 21785 lastInvokeTime = time; 21786 // Start the timer for the trailing edge. 21787 timerId = setTimeout(timerExpired, wait); 21788 // Invoke the leading edge. 21789 return leading ? invokeFunc(time) : result; 21790 } 21791 21792 function remainingWait(time) { 21793 var timeSinceLastCall = time - lastCallTime, 21794 timeSinceLastInvoke = time - lastInvokeTime, 21795 timeWaiting = wait - timeSinceLastCall; 21796 21797 return maxing 21798 ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) 21799 : timeWaiting; 21800 } 21801 21802 function shouldInvoke(time) { 21803 var timeSinceLastCall = time - lastCallTime, 21804 timeSinceLastInvoke = time - lastInvokeTime; 21805 21806 // Either this is the first call, activity has stopped and we're at the 21807 // trailing edge, the system time has gone backwards and we're treating 21808 // it as the trailing edge, or we've hit the `maxWait` limit. 21809 return (lastCallTime === undefined || (timeSinceLastCall >= wait) || 21810 (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); 21811 } 21812 21813 function timerExpired() { 21814 var time = now(); 21815 if (shouldInvoke(time)) { 21816 return trailingEdge(time); 21817 } 21818 // Restart the timer. 21819 timerId = setTimeout(timerExpired, remainingWait(time)); 21820 } 21821 21822 function trailingEdge(time) { 21823 timerId = undefined; 21824 21825 // Only invoke if we have `lastArgs` which means `func` has been 21826 // debounced at least once. 21827 if (trailing && lastArgs) { 21828 return invokeFunc(time); 21829 } 21830 lastArgs = lastThis = undefined; 21831 return result; 21832 } 21833 21834 function cancel() { 21835 if (timerId !== undefined) { 21836 clearTimeout(timerId); 21837 } 21838 lastInvokeTime = 0; 21839 lastArgs = lastCallTime = lastThis = timerId = undefined; 21840 } 21841 21842 function flush() { 21843 return timerId === undefined ? result : trailingEdge(now()); 21844 } 21845 21846 function debounced() { 21847 var time = now(), 21848 isInvoking = shouldInvoke(time); 21849 21850 lastArgs = arguments; 21851 lastThis = this; 21852 lastCallTime = time; 21853 21854 if (isInvoking) { 21855 if (timerId === undefined) { 21856 return leadingEdge(lastCallTime); 21857 } 21858 if (maxing) { 21859 // Handle invocations in a tight loop. 21860 clearTimeout(timerId); 21861 timerId = setTimeout(timerExpired, wait); 21862 return invokeFunc(lastCallTime); 21863 } 21864 } 21865 if (timerId === undefined) { 21866 timerId = setTimeout(timerExpired, wait); 21867 } 21868 return result; 21869 } 21870 debounced.cancel = cancel; 21871 debounced.flush = flush; 21872 return debounced; 21873} 21874 21875module.exports = debounce; 21876 21877 21878/***/ }), 21879/* 439 */ 21880/***/ (function(module, exports, __webpack_require__) { 21881 21882var root = __webpack_require__(19); 21883 21884/** 21885 * Gets the timestamp of the number of milliseconds that have elapsed since 21886 * the Unix epoch (1 January 1970 00:00:00 UTC). 21887 * 21888 * @static 21889 * @memberOf _ 21890 * @since 2.4.0 21891 * @category Date 21892 * @returns {number} Returns the timestamp. 21893 * @example 21894 * 21895 * _.defer(function(stamp) { 21896 * console.log(_.now() - stamp); 21897 * }, _.now()); 21898 * // => Logs the number of milliseconds it took for the deferred invocation. 21899 */ 21900var now = function() { 21901 return root.Date.now(); 21902}; 21903 21904module.exports = now; 21905 21906 21907/***/ }), 21908/* 440 */ 21909/***/ (function(module, exports, __webpack_require__) { 21910 21911"use strict"; 21912 21913 21914var _interopRequireDefault = __webpack_require__(3); 21915 21916var _typeof2 = _interopRequireDefault(__webpack_require__(37)); 21917 21918Object.defineProperty(exports, "__esModule", { 21919 value: true 21920}); 21921exports.setStyle = setStyle; 21922exports.getStyle = getStyle; 21923exports.getProperty = getProperty; 21924exports.matchSelector = matchSelector; 21925exports.getQuerySelector = getQuerySelector; 21926exports.getValidDocument = getValidDocument; 21927exports.queryDocument = queryDocument; 21928exports.elementContains = elementContains;
21929exports.isSiblingNode = isSiblingNode; 21930exports.getChildElements = getChildElements; 21931exports.getSiblingElements = getSiblingElements; 21932exports.getRefType = getRefType; 21933exports.getClosestElement = void 0; 21934 21935var _shared = __webpack_require__(45); 21936 21937var _constants = __webpack_require__(14); 21938/* eslint-env browser */ 21939 21940 21941var ELEMENT_MATCHES = _shared.IX2BrowserSupport.ELEMENT_MATCHES; 21942var _constants$IX2EngineC = _constants.IX2EngineConstants, 21943 IX2_ID_DELIMITER = _constants$IX2EngineC.IX2_ID_DELIMITER, 21944 HTML_ELEMENT = _constants$IX2EngineC.HTML_ELEMENT, 21945 PLAIN_OBJECT = _constants$IX2EngineC.PLAIN_OBJECT, 21946 WF_PAGE = _constants$IX2EngineC.WF_PAGE; 21947 21948function setStyle(element, prop, value) { 21949 // $FlowIgnore ââ¬â flow complains that prop should be a number. Will need to update upstream 21950 element.style[prop] = value; 21951} 21952 21953function getStyle(element, prop) { 21954 // $FlowIgnore ââ¬â flow complains that prop should be a number. Will need to update upstream 21955 return element.style[prop]; 21956} 21957 21958function getProperty(element, prop) { 21959 // $FlowIgnore ââ¬â flow complains that prop should be a number. Will need to update upstream 21960 return element[prop]; 21961} 21962 21963function matchSelector(selector) { 21964 // $FlowIgnore ââ¬â ELEMENT_MATCHES is the name of the method on the element's prototype depending on browser 21965 return function (element) { 21966 return element[ELEMENT_MATCHES](selector); 21967 }; 21968} 21969 21970function getQuerySelector(_ref) { 21971 var id = _ref.id, 21972 selector = _ref.selector; 21973 21974 if (id) { 21975 var nodeId = id; 21976 21977 if (id.indexOf(IX2_ID_DELIMITER) !== -1) { 21978 var pair = id.split(IX2_ID_DELIMITER); 21979 var pageId = pair[0]; 21980 nodeId = pair[1]; // Short circuit query if we're on the wrong page 21981 // $FlowIgnore ââ¬â if documentElement is null crash 21982 21983 if (pageId !== document.documentElement.getAttribute(WF_PAGE)) { 21984 return null; 21985 } 21986 } 21987 21988 return "[data-w-id=\"".concat(nodeId, "\"], [data-w-id^=\"").concat(nodeId, "_instance\"]"); 21989 } 21990 21991 return selector; 21992} 21993 21994function getValidDocument(pageId) { 21995 if (pageId == null || // $FlowIgnore ââ¬â if documentElement is null crash 21996 pageId === document.documentElement.getAttribute(WF_PAGE)) { 21997 return document; 21998 } 21999 22000 return null; 22001} 22002 22003function queryDocument(baseSelector, descendantSelector) { 22004 return Array.prototype.slice.call(document.querySelectorAll(descendantSelector ? baseSelector + ' ' + descendantSelector : baseSelector)); 22005} 22006 22007function elementContains(parent, child) { 22008 return parent.contains(child); 22009} 22010 22011function isSiblingNode(a, b) { 22012 return a !== b && a.parentNode === b.parentNode; 22013} 22014 22015function getChildElements(sourceElements) { 22016 var childElements = []; 22017 22018 for (var i = 0, _ref2 = sourceElements || [], length = _ref2.length; i < length; i++) { 22019 var children = sourceElements[i].children; 22020 var childCount = children.length; 22021 22022 if (!childCount) { 22023 continue; 22024 } 22025 22026 for (var j = 0; j < childCount; j++) { 22027 childElements.push(children[j]); 22028 } 22029 } 22030 22031 return childElements; 22032} // $FlowFixMe 22033 22034 22035function getSiblingElements() { 22036 var sourceElements = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; 22037 var elements = []; 22038 var parentCache = []; 22039 22040 for (var i = 0, length = sourceElements.length; i < length; i++) { 22041 var parentNode = sourceElements[i].parentNode; 22042 22043 if (!parentNode || !parentNode.children || !parentNode.children.length) { 22044 continue; 22045 } 22046 22047 if (parentCache.indexOf(parentNode) !== -1) { 22048 continue; 22049 } 22050 22051 parentCache.push(parentNode); 22052 var el = parentNode.firstElementChild; 22053 22054 while (el != null) { 22055 if (sourceElements.indexOf(el) === -1) { 22056 elements.push(el); 22057 } 22058 22059 el = el.nextElementSibling; 22060 } 22061 } 22062 22063 return elements; 22064} 22065 22066var getClosestElement = Element.prototype.closest ? function (element, selector) { 22067 // $FlowIgnore ââ¬â ELEMENT_MATCHES is the name of the method on the element's prototype depending on browser 22068 if (!document.documentElement.contains(element)) { 22069 return null; 22070 } 22071 22072 return element.closest(selector); 22073} : function (element, selector) { 22074 // $FlowIgnore ââ¬â if documentElement is null crash 22075 if (!document.documentElement.contains(element)) { 22076 return null; 22077 } 22078 22079 var el = element; 22080 22081 do { 22082 // $FlowIgnore ââ¬â if documentElement is null crash 22083 if (el[ELEMENT_MATCHES] && el[ELEMENT_MATCHES](selector)) { 22084 return el; 22085 } 22086 22087 el = el.parentNode; 22088 } while (el != null); 22089 22090 return null; 22091}; 22092exports.getClosestElement = getClosestElement; 22093 22094function getRefType(ref) { 22095 if (ref != null && (0, _typeof2["default"])(ref) == 'object') { 22096 return ref instanceof Element ? HTML_ELEMENT : PLAIN_OBJECT; 22097 } 22098 22099 return null; 22100} 22101 22102/***/ }), 22103/* 441 */ 22104/***/ (function(module, exports, __webpack_require__) { 22105 22106"use strict"; 22107 22108 22109var _interopRequireDefault2 = __webpack_require__(3); 22110 22111var _defineProperty2 = _interopRequireDefault2(__webpack_require__(38)); 22112 22113var _typeof2 = _interopRequireDefault2(__webpack_require__(37)); 22114 22115var _default2; 22116 22117var _interopRequireDefault = __webpack_require__(3); 22118 22119Object.defineProperty(exports, "__esModule", { 22120 value: true 22121}); 22122exports["default"] = void 0; 22123 22124var _extends2 = _interopRequireDefault(__webpack_require__(46)); 22125 22126var _flow = _interopRequireDefault(__webpack_require__(442)); 22127 22128var _get = _interopRequireDefault(__webpack_require__(91)); 22129 22130var _clamp = _interopRequireDefault(__webpack_require__(461)); 22131 22132var _constants = __webpack_require__(14); 22133 22134var _IX2VanillaEngine = __webpack_require__(185); 22135 22136var _IX2EngineActions = __webpack_require__(121); 22137 22138var _shared = __webpack_require__(45); 22139/* eslint-env browser */ 22140 22141 22142var _constants$EventTypeC = _constants.EventTypeConsts, 22143 MOUSE_CLICK = _constants$EventTypeC.MOUSE_CLICK, 22144 MOUSE_SECOND_CLICK = _constants$EventTypeC.MOUSE_SECOND_CLICK, 22145 MOUSE_DOWN = _constants$EventTypeC.MOUSE_DOWN, 22146 MOUSE_UP = _constants$EventTypeC.MOUSE_UP, 22147 MOUSE_OVER = _constants$EventTypeC.MOUSE_OVER, 22148 MOUSE_OUT = _constants$EventTypeC.MOUSE_OUT, 22149 DROPDOWN_CLOSE = _constants$EventTypeC.DROPDOWN_CLOSE, 22150 DROPDOWN_OPEN = _constants$EventTypeC.DROPDOWN_OPEN, 22151 SLIDER_ACTIVE = _constants$EventTypeC.SLIDER_ACTIVE, 22152 SLIDER_INACTIVE = _constants$EventTypeC.SLIDER_INACTIVE, 22153 TAB_ACTIVE = _constants$EventTypeC.TAB_ACTIVE, 22154 TAB_INACTIVE = _constants$EventTypeC.TAB_INACTIVE, 22155 NAVBAR_CLOSE = _constants$EventTypeC.NAVBAR_CLOSE, 22156 NAVBAR_OPEN = _constants$EventTypeC.NAVBAR_OPEN, 22157 MOUSE_MOVE = _constants$EventTypeC.MOUSE_MOVE, 22158 PAGE_SCROLL_DOWN = _constants$EventTypeC.PAGE_SCROLL_DOWN, 22159 SCROLL_INTO_VIEW = _constants$EventTypeC.SCROLL_INTO_VIEW,
22160 SCROLL_OUT_OF_VIEW = _constants$EventTypeC.SCROLL_OUT_OF_VIEW, 22161 PAGE_SCROLL_UP = _constants$EventTypeC.PAGE_SCROLL_UP, 22162 SCROLLING_IN_VIEW = _constants$EventTypeC.SCROLLING_IN_VIEW, 22163 PAGE_FINISH = _constants$EventTypeC.PAGE_FINISH, 22164 ECOMMERCE_CART_CLOSE = _constants$EventTypeC.ECOMMERCE_CART_CLOSE, 22165 ECOMMERCE_CART_OPEN = _constants$EventTypeC.ECOMMERCE_CART_OPEN, 22166 PAGE_START = _constants$EventTypeC.PAGE_START, 22167 PAGE_SCROLL = _constants$EventTypeC.PAGE_SCROLL; 22168var COMPONENT_ACTIVE = 'COMPONENT_ACTIVE'; 22169var COMPONENT_INACTIVE = 'COMPONENT_INACTIVE'; 22170var COLON_DELIMITER = _constants.IX2EngineConstants.COLON_DELIMITER; 22171var getNamespacedParameterId = _shared.IX2VanillaUtils.getNamespacedParameterId; 22172 22173var composableFilter = function composableFilter(predicate) { 22174 return function (options) { 22175 if ((0, _typeof2["default"])(options) === 'object' && predicate(options)) { 22176 return true; 22177 } 22178 22179 return options; 22180 }; 22181}; 22182 22183var isElement = composableFilter(function (_ref) { 22184 var element = _ref.element, 22185 nativeEvent = _ref.nativeEvent; 22186 return element === nativeEvent.target; 22187}); 22188var containsElement = composableFilter(function (_ref2) { 22189 var element = _ref2.element, 22190 nativeEvent = _ref2.nativeEvent; 22191 return element.contains(nativeEvent.target); 22192}); 22193var isOrContainsElement = (0, _flow["default"])([isElement, containsElement]); 22194 22195var getAutoStopEvent = function getAutoStopEvent(store, autoStopEventId) { 22196 if (autoStopEventId) { 22197 var _store$getState = store.getState(), 22198 ixData = _store$getState.ixData; 22199 22200 var events = ixData.events; 22201 var eventToStop = events[autoStopEventId]; 22202 22203 if (eventToStop && !AUTO_STOP_DISABLED_EVENTS[eventToStop.eventTypeId]) { 22204 return eventToStop; 22205 } 22206 } 22207 22208 return null; 22209}; 22210 22211var hasAutoStopEvent = function hasAutoStopEvent(_ref3) { 22212 var store = _ref3.store, 22213 event = _ref3.event; 22214 var eventAction = event.action; 22215 var autoStopEventId = eventAction.config.autoStopEventId; 22216 return Boolean(getAutoStopEvent(store, autoStopEventId)); 22217}; 22218 22219var actionGroupCreator = function actionGroupCreator(_ref4, state) { 22220 var store = _ref4.store, 22221 event = _ref4.event, 22222 element = _ref4.element, 22223 eventStateKey = _ref4.eventStateKey; 22224 var eventAction = event.action, 22225 eventId = event.id; 22226 var _eventAction$config = eventAction.config, 22227 actionListId = _eventAction$config.actionListId, 22228 autoStopEventId = _eventAction$config.autoStopEventId; 22229 var eventToStop = getAutoStopEvent(store, autoStopEventId); 22230 22231 if (eventToStop) { 22232 (0, _IX2VanillaEngine.stopActionGroup)({ 22233 store: store, 22234 eventId: autoStopEventId, 22235 eventTarget: element, 22236 eventStateKey: autoStopEventId + COLON_DELIMITER + eventStateKey.split(COLON_DELIMITER)[1], 22237 actionListId: (0, _get["default"])(eventToStop, 'action.config.actionListId') 22238 }); 22239 } 22240 22241 (0, _IX2VanillaEngine.stopActionGroup)({ 22242 store: store, 22243 eventId: eventId, 22244 eventTarget: element, 22245 eventStateKey: eventStateKey, 22246 actionListId: actionListId 22247 }); 22248 (0, _IX2VanillaEngine.startActionGroup)({ 22249 store: store, 22250 eventId: eventId, 22251 eventTarget: element, 22252 eventStateKey: eventStateKey, 22253 actionListId: actionListId 22254 }); 22255 return state; 22256}; // $FlowFixMe 22257 22258 22259var withFilter = function withFilter(filter, handler) { 22260 return function (options, state) { 22261 return (// $FlowFixMe 22262 filter(options, state) === true ? handler(options, state) : state 22263 ); 22264 }; 22265}; 22266 22267var baseActionGroupOptions = { 22268 handler: withFilter(isOrContainsElement, actionGroupCreator) 22269}; 22270var baseActivityActionGroupOptions = (0, _extends2["default"])({}, baseActionGroupOptions, { 22271 types: [COMPONENT_ACTIVE, COMPONENT_INACTIVE].join(' ') 22272}); 22273var SCROLL_EVENT_TYPES = [{ 22274 target: window, 22275 types: 'resize orientationchange', 22276 throttle: true 22277}, { 22278 target: document, 22279 types: 'scroll wheel readystatechange IX2_PAGE_UPDATE', 22280 throttle: true 22281}]; 22282var MOUSE_OVER_OUT_TYPES = 'mouseover mouseout'; 22283var baseScrollActionGroupOptions = { 22284 types: SCROLL_EVENT_TYPES 22285}; 22286var AUTO_STOP_DISABLED_EVENTS = { 22287 PAGE_START: PAGE_START, 22288 PAGE_FINISH: PAGE_FINISH 22289}; 22290 22291var getDocumentState = function () { 22292 var supportOffset = window.pageXOffset !== undefined; 22293 var isCSS1Compat = document.compatMode === 'CSS1Compat'; 22294 var rootElement = isCSS1Compat ? document.documentElement : document.body; 22295 return function () { 22296 return { 22297 // $FlowFixMe 22298 scrollLeft: supportOffset ? window.pageXOffset : rootElement.scrollLeft, 22299 // $FlowFixMe 22300 scrollTop: supportOffset ? window.pageYOffset : rootElement.scrollTop, 22301 // required to remove elasticity in Safari scrolling. 22302 stiffScrollTop: (0, _clamp["default"])( // $FlowFixMe 22303 supportOffset ? window.pageYOffset : rootElement.scrollTop, 0, // $FlowFixMe 22304 rootElement.scrollHeight - window.innerHeight), 22305 // $FlowFixMe 22306 scrollWidth: rootElement.scrollWidth, 22307 // $FlowFixMe 22308 scrollHeight: rootElement.scrollHeight, 22309 // $FlowFixMe 22310 clientWidth: rootElement.clientWidth, 22311 // $FlowFixMe 22312 clientHeight: rootElement.clientHeight, 22313 innerWidth: window.innerWidth, 22314 innerHeight: window.innerHeight 22315 }; 22316 }; 22317}(); 22318 22319var areBoxesIntersecting = function areBoxesIntersecting(a, b) { 22320 return !(a.left > b.right || a.right < b.left || a.top > b.bottom || a.bottom < b.top); 22321}; 22322 22323var isElementHovered = function isElementHovered(_ref5) { 22324 var element = _ref5.element, 22325 nativeEvent = _ref5.nativeEvent; 22326 var type = nativeEvent.type, 22327 target = nativeEvent.target, 22328 relatedTarget = nativeEvent.relatedTarget; 22329 var containsTarget = element.contains(target); 22330 22331 if (type === 'mouseover' && containsTarget) { 22332 return true; 22333 } 22334 22335 var containsRelated = element.contains(relatedTarget); 22336 22337 if (type === 'mouseout' && containsTarget && containsRelated) { 22338 return true; 22339 } 22340 22341 return false;
22342}; 22343 22344var isElementVisible = function isElementVisible(options) { 22345 var element = options.element, 22346 config = options.event.config; 22347 22348 var _getDocumentState = getDocumentState(), 22349 clientWidth = _getDocumentState.clientWidth, 22350 clientHeight = _getDocumentState.clientHeight; 22351 22352 var scrollOffsetValue = config.scrollOffsetValue; 22353 var scrollOffsetUnit = config.scrollOffsetUnit; 22354 var isPX = scrollOffsetUnit === 'PX'; 22355 var offsetPadding = isPX ? scrollOffsetValue : clientHeight * (scrollOffsetValue || 0) / 100; 22356 return areBoxesIntersecting(element.getBoundingClientRect(), { 22357 left: 0, 22358 top: offsetPadding, 22359 right: clientWidth, 22360 bottom: clientHeight - offsetPadding 22361 }); 22362}; 22363 22364var whenComponentActiveChange = function whenComponentActiveChange(handler) { 22365 return function (options, oldState) { 22366 var type = options.nativeEvent.type; // prettier-ignore 22367 22368 var isActive = [COMPONENT_ACTIVE, COMPONENT_INACTIVE].indexOf(type) !== -1 ? type === COMPONENT_ACTIVE : oldState.isActive; 22369 var newState = (0, _extends2["default"])({}, oldState, { 22370 isActive: isActive 22371 }); 22372 22373 if (!oldState || newState.isActive !== oldState.isActive) { 22374 return handler(options, newState) || newState; 22375 } 22376 22377 return newState; 22378 }; 22379}; 22380 22381var whenElementHoverChange = function whenElementHoverChange(handler) { 22382 return function (options, oldState) { 22383 var newState = { 22384 elementHovered: isElementHovered(options) 22385 }; 22386 22387 if (oldState ? newState.elementHovered !== oldState.elementHovered : newState.elementHovered) { 22388 return handler(options, newState) || newState; 22389 } 22390 22391 return newState; 22392 }; 22393}; // $FlowFixMe 22394 22395 22396var whenElementVisibiltyChange = function whenElementVisibiltyChange(handler) { 22397 return function (options, oldState) { 22398 var newState = (0, _extends2["default"])({}, oldState, { 22399 elementVisible: isElementVisible(options) 22400 }); 22401 22402 if (oldState ? newState.elementVisible !== oldState.elementVisible : newState.elementVisible) { 22403 return handler(options, newState) || newState; 22404 } 22405 22406 return newState; 22407 }; 22408}; // $FlowFixMe 22409 22410 22411var whenScrollDirectionChange = function whenScrollDirectionChange(handler) { 22412 return function (options) { 22413 var oldState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; 22414 22415 var _getDocumentState2 = getDocumentState(), 22416 scrollTop = _getDocumentState2.stiffScrollTop, 22417 scrollHeight = _getDocumentState2.scrollHeight, 22418 innerHeight = _getDocumentState2.innerHeight; 22419 22420 var _options$event = options.event, 22421 config = _options$event.config, 22422 eventTypeId = _options$event.eventTypeId; 22423 var scrollOffsetValue = config.scrollOffsetValue, 22424 scrollOffsetUnit = config.scrollOffsetUnit; 22425 var isPX = scrollOffsetUnit === 'PX'; 22426 var scrollHeightBounds = scrollHeight - innerHeight; // percent top since innerHeight may change for mobile devices which also changes the scrollTop value. 22427 22428 var percentTop = Number((scrollTop / scrollHeightBounds).toFixed(2)); // no state change 22429 22430 if (oldState && oldState.percentTop === percentTop) { 22431 return oldState; 22432 } 22433 22434 var scrollTopPadding = (isPX ? scrollOffsetValue : innerHeight * (scrollOffsetValue || 0) / 100) / scrollHeightBounds; 22435 var scrollingDown; 22436 var scrollDirectionChanged; 22437 var anchorTop = 0; 22438 22439 if (oldState) { 22440 scrollingDown = percentTop > oldState.percentTop; 22441 scrollDirectionChanged = oldState.scrollingDown !== scrollingDown; 22442 anchorTop = scrollDirectionChanged ? percentTop : oldState.anchorTop; 22443 } 22444 22445 var inBounds = eventTypeId === PAGE_SCROLL_DOWN ? percentTop >= anchorTop + scrollTopPadding : percentTop <= anchorTop - scrollTopPadding; 22446 var newState = (0, _extends2["default"])({}, oldState, { 22447 percentTop: percentTop, 22448 inBounds: inBounds, 22449 anchorTop: anchorTop, 22450 scrollingDown: scrollingDown 22451 }); 22452 22453 if (oldState && inBounds && (scrollDirectionChanged || newState.inBounds !== oldState.inBounds)) { 22454 return handler(options, newState) || newState; 22455 } 22456 22457 return newState; 22458 }; 22459}; 22460 22461var pointIntersects = function pointIntersects(point, rect) { 22462 return point.left > rect.left && point.left < rect.right && point.top > rect.top && point.top < rect.bottom; 22463}; 22464 22465var whenPageLoadFinish = function whenPageLoadFinish(handler) { 22466 return function (options, oldState) { 22467 var newState = { 22468 finished: document.readyState === 'complete' 22469 }; 22470 22471 if (newState.finished && !(oldState && oldState.finshed)) { 22472 handler(options); 22473 } 22474 22475 return newState; 22476 }; 22477}; 22478 22479var whenPageLoadStart = function whenPageLoadStart(handler) { 22480 return function (options, oldState) { 22481 var newState = { 22482 started: true 22483 }; 22484 22485 if (!oldState) { 22486 handler(options); 22487 } 22488 22489 return newState; 22490 }; 22491}; 22492 22493var whenClickCountChange = function whenClickCountChange(handler) { 22494 return function (options) { 22495 var oldState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { 22496 clickCount: 0 22497 }; 22498 var newState = { 22499 clickCount: oldState.clickCount % 2 + 1 22500 }; 22501 22502 if (newState.clickCount !== oldState.clickCount) { 22503 return handler(options, newState) || newState; 22504 } 22505 22506 return newState; 22507 }; 22508}; 22509 22510var getComponentActiveOptions = function getComponentActiveOptions() { 22511 var allowNestedChildrenEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; 22512 return (0, _extends2["default"])({}, baseActivityActionGroupOptions, { 22513 handler: withFilter(allowNestedChildrenEvents ? isOrContainsElement : isElement, whenComponentActiveChange(function (options, state) { 22514 return state.isActive ? baseActionGroupOptions.handler(options, state) : state; 22515 })) 22516 }); 22517}; 22518 22519var getComponentInactiveOptions = function getComponentInactiveOptions() { 22520 var allowNestedChildrenEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; 22521 return (0, _extends2["default"])({}, baseActivityActionGroupOptions, { 22522 handler: withFilter(allowNestedChildrenEvents ? isOrContainsElement : isElement, whenComponentActiveChange(function (options, state) { 22523 return !state.isActive ? baseActionGroupOptions.handler(options, state) : state; 22524 })) 22525 }); 22526}; 22527 22528var scrollIntoOutOfViewOptions = (0, _extends2["default"])({}, baseScrollActionGroupOptions, { 22529 handler: whenElementVisibiltyChange(function (options, state) { 22530 var elementVisible = state.elementVisible; 22531 var event = options.event, 22532 store = options.store; 22533 22534 var _store$getState2 = store.getState(), 22535 ixData = _store$getState2.ixData; 22536 22537 var events = ixData.events; // trigger the handler only once if only one of SCROLL_INTO or SCROLL_OUT_OF event types 22538 // are registered. 22539 22540 if (!events[event.action.config.autoStopEventId] && state.triggered) { 22541 return state; 22542 } 22543 22544 if (event.eventTypeId === SCROLL_INTO_VIEW === elementVisible) { 22545 actionGroupCreator(options); 22546 return (0, _extends2["default"])({}, state, { 22547 triggered: true 22548 }); 22549 } else { 22550 return state; 22551 } 22552 }) 22553}); 22554var MOUSE_OUT_ROUND_THRESHOLD = 0.05; 22555 22556var _default = (_default2 = {}, (0, _defineProperty2["default"])(_default2, SLIDER_ACTIVE, getComponentActiveOptions()), (0, _defineProperty2["default"])(_default2, SLIDER_INACTIVE, getComponentInactiveOptions()), (0, _defineProperty2["default"])(_default2, DROPDOWN_OPEN, getComponentActiveOptions()), (0, _defineProperty2["default"])(_default2, DROPDOWN_CLOSE, getComponentInactiveOptions()), (0, _defineProperty2["default"])(_default2, NAVBAR_OPEN, getComponentActiveOptions(false)), (0, _defineProperty2["default"])(_default2, NAVBAR_CLOSE, getComponentInactiveOptions(false)), (0, _defineProperty2["default"])(_default2, TAB_ACTIVE, getComponentActiveOptions()), (0, _defineProperty2["default"])(_default2, TAB_INACTIVE, getComponentInactiveOptions()), (0, _defineProperty2["default"])(_default2, ECOMMERCE_CART_OPEN, { 22557 types: 'ecommerce-cart-open', 22558 handler: withFilter(isOrContainsElement, actionGroupCreator) 22559}), (0, _defineProperty2["default"])(_default2, ECOMMERCE_CART_CLOSE, { 22560 types: 'ecommerce-cart-close', 22561 handler: withFilter(isOrContainsElement, actionGroupCreator) 22562}), (0, _defineProperty2["default"])(_default2, MOUSE_CLICK, { 22563 types: 'click', 22564 handler: withFilter(isOrContainsElement, whenClickCountChange(function (options, _ref6) { 22565 var clickCount = _ref6.clickCount; 22566 22567 if (hasAutoStopEvent(options)) { 22568 clickCount === 1 && actionGroupCreator(options); 22569 } else { 22570 actionGroupCreator(options); 22571 } 22572 })) 22573}), (0, _defineProperty2["default"])(_default2, MOUSE_SECOND_CLICK, { 22574 types: 'click', 22575 handler: withFilter(isOrContainsElement, whenClickCountChange(function (options, _ref7) { 22576 var clickCount = _ref7.clickCount; 22577 22578 if (clickCount === 2) { 22579 actionGroupCreator(options); 22580 } 22581 })) 22582}), (0, _defineProperty2["default"])(_default2, MOUSE_DOWN, (0, _extends2["default"])({}, baseActionGroupOptions, { 22583 types: 'mousedown' 22584})), (0, _defineProperty2["default"])(_default2, MOUSE_UP, (0, _extends2["default"])({}, baseActionGroupOptions, { 22585 types: 'mouseup' 22586})), (0, _defineProperty2["default"])(_default2, MOUSE_OVER, { 22587 types: MOUSE_OVER_OUT_TYPES, 22588 handler: withFilter(isOrContainsElement, whenElementHoverChange(function (options, state) { 22589 if (state.elementHovered) { 22590 actionGroupCreator(options); 22591 } 22592 })) 22593}), (0, _defineProperty2["default"])(_default2, MOUSE_OUT, { 22594 types: MOUSE_OVER_OUT_TYPES, 22595 handler: withFilter(isOrContainsElement, whenElementHoverChange(function (options, state) { 22596 if (!state.elementHovered) { 22597 actionGroupCreator(options); 22598 } 22599 })) 22600}), (0, _defineProperty2["default"])(_default2, MOUSE_MOVE, { 22601 types: 'mousemove mouseout scroll', 22602 handler: function handler( // $FlowFixMe 22603 _ref8) { 22604 var store = _ref8.store, 22605 element = _ref8.element, 22606 eventConfig = _ref8.eventConfig, 22607 nativeEvent = _ref8.nativeEvent, 22608 eventStateKey = _ref8.eventStateKey; 22609 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { 22610 clientX: 0, 22611 clientY: 0, 22612 pageX: 0, 22613 pageY: 0 22614 }; 22615 var basedOn = eventConfig.basedOn, 22616 selectedAxis = eventConfig.selectedAxis, 22617 continuousParameterGroupId = eventConfig.continuousParameterGroupId, 22618 reverse = eventConfig.reverse, 22619 _eventConfig$restingS = eventConfig.restingState, 22620 restingState = _eventConfig$restingS === void 0 ? 0 : _eventConfig$restingS; 22621 var _nativeEvent$clientX = nativeEvent.clientX, 22622 clientX = _nativeEvent$clientX === void 0 ? state.clientX : _nativeEvent$clientX, 22623 _nativeEvent$clientY = nativeEvent.clientY, 22624 clientY = _nativeEvent$clientY === void 0 ? state.clientY : _nativeEvent$clientY,
22625 _nativeEvent$pageX = nativeEvent.pageX, 22626 pageX = _nativeEvent$pageX === void 0 ? state.pageX : _nativeEvent$pageX, 22627 _nativeEvent$pageY = nativeEvent.pageY, 22628 pageY = _nativeEvent$pageY === void 0 ? state.pageY : _nativeEvent$pageY; 22629 var isXAxis = selectedAxis === 'X_AXIS'; 22630 var isMouseOut = nativeEvent.type === 'mouseout'; 22631 var value = restingState / 100; 22632 var namespacedParameterId = continuousParameterGroupId; 22633 var elementHovered = false; 22634 22635 switch (basedOn) { 22636 case _constants.EventBasedOn.VIEWPORT: 22637 { 22638 value = isXAxis ? Math.min(clientX, window.innerWidth) / window.innerWidth : Math.min(clientY, window.innerHeight) / window.innerHeight; 22639 break; 22640 } 22641 22642 case _constants.EventBasedOn.PAGE: 22643 { 22644 var _getDocumentState3 = getDocumentState(), 22645 scrollLeft = _getDocumentState3.scrollLeft, 22646 scrollTop = _getDocumentState3.scrollTop, 22647 scrollWidth = _getDocumentState3.scrollWidth, 22648 scrollHeight = _getDocumentState3.scrollHeight; 22649 22650 value = isXAxis ? Math.min(scrollLeft + pageX, scrollWidth) / scrollWidth : Math.min(scrollTop + pageY, scrollHeight) / scrollHeight; 22651 break; 22652 } 22653 22654 case _constants.EventBasedOn.ELEMENT: 22655 default: 22656 { 22657 namespacedParameterId = getNamespacedParameterId(eventStateKey, continuousParameterGroupId); 22658 var isMouseEvent = nativeEvent.type.indexOf('mouse') === 0; // Use isOrContainsElement for mouse events since they are fired from the target 22659 22660 if (isMouseEvent && isOrContainsElement({ 22661 element: element, 22662 nativeEvent: nativeEvent 22663 }) !== true) { 22664 break; 22665 } 22666 22667 var rect = element.getBoundingClientRect(); 22668 var left = rect.left, 22669 top = rect.top, 22670 width = rect.width, 22671 height = rect.height; // Otherwise we'll need to calculate the mouse position from the previous handler state 22672 // against the target element's rect 22673 22674 if (!isMouseEvent && !pointIntersects({ 22675 left: clientX, 22676 top: clientY 22677 }, rect)) { 22678 break; 22679 } 22680 22681 elementHovered = true; 22682 value = isXAxis ? (clientX - left) / width : (clientY - top) / height; 22683 break; 22684 } 22685 } // cover case where the event is a mouse out, but the value is not quite at 100% 22686 22687 22688 if (isMouseOut && (value > 1 - MOUSE_OUT_ROUND_THRESHOLD || value < MOUSE_OUT_ROUND_THRESHOLD)) { 22689 value = Math.round(value); 22690 } // Only update based on element if the mouse is moving over or has just left the element 22691 22692 22693 if (basedOn !== _constants.EventBasedOn.ELEMENT || elementHovered || // $FlowFixMe 22694 elementHovered !== state.elementHovered) { 22695 value = reverse ? 1 - value : value; 22696 store.dispatch((0, _IX2EngineActions.parameterChanged)(namespacedParameterId, value)); 22697 } 22698 22699 return { 22700 elementHovered: elementHovered, 22701 clientX: clientX, 22702 clientY: clientY, 22703 pageX: pageX, 22704 pageY: pageY 22705 }; 22706 } 22707}), (0, _defineProperty2["default"])(_default2, PAGE_SCROLL, { 22708 types: SCROLL_EVENT_TYPES, 22709 // $FlowFixMe 22710 handler: function handler(_ref9) { 22711 var store = _ref9.store, 22712 eventConfig = _ref9.eventConfig; 22713 var continuousParameterGroupId = eventConfig.continuousParameterGroupId, 22714 reverse = eventConfig.reverse; 22715 22716 var _getDocumentState4 = getDocumentState(), 22717 scrollTop = _getDocumentState4.scrollTop, 22718 scrollHeight = _getDocumentState4.scrollHeight, 22719 clientHeight = _getDocumentState4.clientHeight; 22720 22721 var value = scrollTop / (scrollHeight - clientHeight); 22722 value = reverse ? 1 - value : value; 22723 store.dispatch((0, _IX2EngineActions.parameterChanged)(continuousParameterGroupId, value)); 22724 } 22725}), (0, _defineProperty2["default"])(_default2, SCROLLING_IN_VIEW, { 22726 types: SCROLL_EVENT_TYPES, 22727 handler: function handler( // $FlowFixMe 22728 _ref10) { 22729 var element = _ref10.element, 22730 store = _ref10.store, 22731 eventConfig = _ref10.eventConfig, 22732 eventStateKey = _ref10.eventStateKey; 22733 var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { 22734 scrollPercent: 0 22735 }; 22736 22737 var _getDocumentState5 = getDocumentState(), 22738 scrollLeft = _getDocumentState5.scrollLeft, 22739 scrollTop = _getDocumentState5.scrollTop, 22740 scrollWidth = _getDocumentState5.scrollWidth, 22741 scrollHeight = _getDocumentState5.scrollHeight, 22742 visibleHeight = _getDocumentState5.clientHeight; 22743 22744 var basedOn = eventConfig.basedOn, 22745 selectedAxis = eventConfig.selectedAxis, 22746 continuousParameterGroupId = eventConfig.continuousParameterGroupId, 22747 startsEntering = eventConfig.startsEntering, 22748 startsExiting = eventConfig.startsExiting, 22749 addEndOffset = eventConfig.addEndOffset, 22750 addStartOffset = eventConfig.addStartOffset, 22751 _eventConfig$addOffse = eventConfig.addOffsetValue, 22752 addOffsetValue = _eventConfig$addOffse === void 0 ? 0 : _eventConfig$addOffse, 22753 _eventConfig$endOffse = eventConfig.endOffsetValue, 22754 endOffsetValue = _eventConfig$endOffse === void 0 ? 0 : _eventConfig$endOffse; 22755 var isXAxis = selectedAxis === 'X_AXIS'; 22756 22757 if (basedOn === _constants.EventBasedOn.VIEWPORT) { 22758 var value = isXAxis ? scrollLeft / scrollWidth : scrollTop / scrollHeight; 22759 22760 if (value !== state.scrollPercent) { 22761 store.dispatch((0, _IX2EngineActions.parameterChanged)(continuousParameterGroupId, value)); 22762 } 22763 22764 return { 22765 scrollPercent: value 22766 }; 22767 } else { 22768 var namespacedParameterId = getNamespacedParameterId(eventStateKey, continuousParameterGroupId); 22769 var elementRect = element.getBoundingClientRect(); 22770 var offsetStartPerc = (addStartOffset ? addOffsetValue : 0) / 100; 22771 var offsetEndPerc = (addEndOffset ? endOffsetValue : 0) / 100; // flip the offset percentages depending on start / exit type 22772 22773 offsetStartPerc = startsEntering ? offsetStartPerc : 1 - offsetStartPerc; 22774 offsetEndPerc = startsExiting ? offsetEndPerc : 1 - offsetEndPerc; 22775 var offsetElementTop = elementRect.top + Math.min(elementRect.height * offsetStartPerc, visibleHeight); 22776 var offsetElementBottom = elementRect.top + elementRect.height * offsetEndPerc; 22777 var offsetHeight = offsetElementBottom - offsetElementTop; 22778 var fixedScrollHeight = Math.min(visibleHeight + offsetHeight, scrollHeight); 22779 var fixedScrollTop = Math.min(Math.max(0, visibleHeight - offsetElementTop), fixedScrollHeight); 22780 var fixedScrollPerc = fixedScrollTop / fixedScrollHeight; 22781 22782 if (fixedScrollPerc !== state.scrollPercent) { 22783 store.dispatch((0, _IX2EngineActions.parameterChanged)(namespacedParameterId, fixedScrollPerc)); 22784 } 22785 22786 return { 22787 scrollPercent: fixedScrollPerc 22788 }; 22789 } 22790 } 22791}), (0, _defineProperty2["default"])(_default2, SCROLL_INTO_VIEW, scrollIntoOutOfViewOptions), (0, _defineProperty2["default"])(_default2, SCROLL_OUT_OF_V
22791IEW, scrollIntoOutOfViewOptions), (0, _defineProperty2["default"])(_default2, PAGE_SCROLL_DOWN, (0, _extends2["default"])({}, baseScrollActionGroupOptions, { 22792 handler: whenScrollDirectionChange(function (options, state) { 22793 if (state.scrollingDown) { 22794 actionGroupCreator(options); 22795 } 22796 }) 22797})), (0, _defineProperty2["default"])(_default2, PAGE_SCROLL_UP, (0, _extends2["default"])({}, baseScrollActionGroupOptions, { 22798 handler: whenScrollDirectionChange(function (options, state) { 22799 if (!state.scrollingDown) { 22800 actionGroupCreator(options); 22801 } 22802 }) 22803})), (0, _defineProperty2["default"])(_default2, PAGE_FINISH, { 22804 types: 'readystatechange IX2_PAGE_UPDATE', 22805 handler: withFilter(isElement, whenPageLoadFinish(actionGroupCreator)) 22806}), (0, _defineProperty2["default"])(_default2, PAGE_START, { 22807 types: 'readystatechange IX2_PAGE_UPDATE', 22808 handler: withFilter(isElement, whenPageLoadStart(actionGroupCreator)) 22809}), _default2); 22810 22811exports["default"] = _default; 22812 22813/***/ }), 22814/* 442 */ 22815/***/ (function(module, exports, __webpack_require__) { 22816
vendor: 4,746 bytes, lines 22817-22996
22817var createFlow = __webpack_require__(443); 22818 22819/** 22820 * Creates a function that returns the result of invoking the given functions 22821 * with the `this` binding of the created function, where each successive 22822 * invocation is supplied the return value of the previous. 22823 * 22824 * @static 22825 * @memberOf _ 22826 * @since 3.0.0 22827 * @category Util 22828 * @param {...(Function|Function[])} [funcs] The functions to invoke. 22829 * @returns {Function} Returns the new composite function. 22830 * @see _.flowRight 22831 * @example 22832 * 22833 * function square(n) { 22834 * return n * n; 22835 * } 22836 * 22837 * var addSquare = _.flow([_.add, square]); 22838 * addSquare(1, 2); 22839 * // => 9 22840 */ 22841var flow = createFlow(); 22842 22843module.exports = flow; 22844 22845 22846/***/ }), 22847/* 443 */ 22848/***/ (function(module, exports, __webpack_require__) { 22849 22850var LodashWrapper = __webpack_require__(122), 22851 flatRest = __webpack_require__(444), 22852 getData = __webpack_require__(189), 22853 getFuncName = __webpack_require__(190), 22854 isArray = __webpack_require__(11), 22855 isLaziable = __webpack_require__(457); 22856 22857/** Error message constants. */ 22858var FUNC_ERROR_TEXT = 'Expected a function'; 22859 22860/** Used to compose bitmasks for function metadata. */ 22861var WRAP_CURRY_FLAG = 8, 22862 WRAP_PARTIAL_FLAG = 32, 22863 WRAP_ARY_FLAG = 128, 22864 WRAP_REARG_FLAG = 256; 22865 22866/** 22867 * Creates a `_.flow` or `_.flowRight` function. 22868 * 22869 * @private 22870 * @param {boolean} [fromRight] Specify iterating from right to left. 22871 * @returns {Function} Returns the new flow function. 22872 */ 22873function createFlow(fromRight) { 22874 return flatRest(function(funcs) { 22875 var length = funcs.length, 22876 index = length, 22877 prereq = LodashWrapper.prototype.thru; 22878 22879 if (fromRight) { 22880 funcs.reverse(); 22881 } 22882 while (index--) { 22883 var func = funcs[index]; 22884 if (typeof func != 'function') { 22885 throw new TypeError(FUNC_ERROR_TEXT); 22886 } 22887 if (prereq && !wrapper && getFuncName(func) == 'wrapper') { 22888 var wrapper = new LodashWrapper([], true); 22889 } 22890 } 22891 index = wrapper ? index : length; 22892 while (++index < length) { 22893 func = funcs[index]; 22894 22895 var funcName = getFuncName(func), 22896 data = funcName == 'wrapper' ? getData(func) : undefined; 22897 22898 if (data && isLaziable(data[0]) && 22899 data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && 22900 !data[4].length && data[9] == 1 22901 ) { 22902 wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); 22903 } else { 22904 wrapper = (func.length == 1 && isLaziable(func)) 22905 ? wrapper[funcName]() 22906 : wrapper.thru(func); 22907 } 22908 } 22909 return function() { 22910 var args = arguments, 22911 value = args[0]; 22912 22913 if (wrapper && args.length == 1 && isArray(value)) { 22914 return wrapper.plant(value).value(); 22915 } 22916 var index = 0, 22917 result = length ? funcs[index].apply(this, args) : value; 22918 22919 while (++index < length) { 22920 result = funcs[index].call(this, result); 22921 } 22922 return result; 22923 }; 22924 }); 22925} 22926 22927module.exports = createFlow; 22928 22929 22930/***/ }), 22931/* 444 */ 22932/***/ (function(module, exports, __webpack_require__) { 22933 22934var flatten = __webpack_require__(445), 22935 overRest = __webpack_require__(448), 22936 setToString = __webpack_require__(450); 22937 22938/** 22939 * A specialized version of `baseRest` which flattens the rest array. 22940 * 22941 * @private 22942 * @param {Function} func The function to apply a rest parameter to. 22943 * @returns {Function} Returns the new function. 22944 */ 22945function flatRest(func) { 22946 return setToString(overRest(func, undefined, flatten), func + ''); 22947} 22948 22949module.exports = flatRest; 22950 22951 22952/***/ }), 22953/* 445 */ 22954/***/ (function(module, exports, __webpack_require__) { 22955 22956var baseFlatten = __webpack_require__(446); 22957 22958/** 22959 * Flattens `array` a single level deep. 22960 * 22961 * @static 22962 * @memberOf _ 22963 * @since 0.1.0 22964 * @category Array 22965 * @param {Array} array The array to flatten. 22966 * @returns {Array} Returns the new flattened array. 22967 * @example 22968 * 22969 * _.flatten([1, [2, [3, [4]], 5]]); 22970 * // => [1, 2, [3, [4]], 5] 22971 */ 22972function flatten(array) { 22973 var length = array == null ? 0 : array.length; 22974 return length ? baseFlatten(array, 1) : []; 22975} 22976 22977module.exports = flatten; 22978 22979 22980/***/ }), 22981/* 446 */ 22982/***/ (function(module, exports, __webpack_require__) { 22983 22984var arrayPush = __webpack_require__(83), 22985 isFlattenable = __webpack_require__(447); 22986 22987/** 22988 * The base implementation of `_.flatten` with support for restricting flattening. 22989 * 22990 * @private 22991 * @param {Array} array The array to flatten. 22992 * @param {number} depth The maximum recursion depth. 22993 * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. 22994 * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. 22995 * @param {Array} [result=[]] The initial result value. 22996 * @returns {Array} Returns the new flattened array.
vendor: 4,492 bytes, lines 22997-23168
22997 */ 22998function baseFlatten(array, depth, predicate, isStrict, result) { 22999 var index = -1, 23000 length = array.length; 23001 23002 predicate || (predicate = isFlattenable); 23003 result || (result = []); 23004 23005 while (++index < length) { 23006 var value = array[index]; 23007 if (depth > 0 && predicate(value)) { 23008 if (depth > 1) { 23009 // Recursively flatten arrays (susceptible to call stack limits). 23010 baseFlatten(value, depth - 1, predicate, isStrict, result); 23011 } else { 23012 arrayPush(result, value); 23013 } 23014 } else if (!isStrict) { 23015 result[result.length] = value; 23016 } 23017 } 23018 return result; 23019} 23020 23021module.exports = baseFlatten; 23022 23023 23024/***/ }), 23025/* 447 */ 23026/***/ (function(module, exports, __webpack_require__) { 23027 23028var Symbol = __webpack_require__(47), 23029 isArguments = __webpack_require__(65), 23030 isArray = __webpack_require__(11); 23031 23032/** Built-in value references. */ 23033var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; 23034 23035/** 23036 * Checks if `value` is a flattenable `arguments` object or array. 23037 * 23038 * @private 23039 * @param {*} value The value to check. 23040 * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. 23041 */ 23042function isFlattenable(value) { 23043 return isArray(value) || isArguments(value) || 23044 !!(spreadableSymbol && value && value[spreadableSymbol]); 23045} 23046 23047module.exports = isFlattenable; 23048 23049 23050/***/ }), 23051/* 448 */ 23052/***/ (function(module, exports, __webpack_require__) { 23053 23054var apply = __webpack_require__(449); 23055 23056/* Built-in method references for those with the same name as other `lodash` methods. */ 23057var nativeMax = Math.max; 23058 23059/** 23060 * A specialized version of `baseRest` which transforms the rest array. 23061 * 23062 * @private 23063 * @param {Function} func The function to apply a rest parameter to. 23064 * @param {number} [start=func.length-1] The start position of the rest parameter. 23065 * @param {Function} transform The rest array transform. 23066 * @returns {Function} Returns the new function. 23067 */ 23068function overRest(func, start, transform) { 23069 start = nativeMax(start === undefined ? (func.length - 1) : start, 0); 23070 return function() { 23071 var args = arguments, 23072 index = -1, 23073 length = nativeMax(args.length - start, 0), 23074 array = Array(length); 23075 23076 while (++index < length) { 23077 array[index] = args[start + index]; 23078 } 23079 index = -1; 23080 var otherArgs = Array(start + 1); 23081 while (++index < start) { 23082 otherArgs[index] = args[index]; 23083 } 23084 otherArgs[start] = transform(array); 23085 return apply(func, this, otherArgs); 23086 }; 23087} 23088 23089module.exports = overRest; 23090 23091 23092/***/ }), 23093/* 449 */ 23094/***/ (function(module, exports) { 23095 23096/** 23097 * A faster alternative to `Function#apply`, this function invokes `func` 23098 * with the `this` binding of `thisArg` and the arguments of `args`. 23099 * 23100 * @private 23101 * @param {Function} func The function to invoke. 23102 * @param {*} thisArg The `this` binding of `func`. 23103 * @param {Array} args The arguments to invoke `func` with. 23104 * @returns {*} Returns the result of `func`. 23105 */ 23106function apply(func, thisArg, args) { 23107 switch (args.length) { 23108 case 0: return func.call(thisArg); 23109 case 1: return func.call(thisArg, args[0]); 23110 case 2: return func.call(thisArg, args[0], args[1]); 23111 case 3: return func.call(thisArg, args[0], args[1], args[2]); 23112 } 23113 return func.apply(thisArg, args); 23114} 23115 23116module.exports = apply; 23117 23118 23119/***/ }), 23120/* 450 */ 23121/***/ (function(module, exports, __webpack_require__) { 23122 23123var baseSetToString = __webpack_require__(451), 23124 shortOut = __webpack_require__(453); 23125 23126/** 23127 * Sets the `toString` method of `func` to return `string`. 23128 * 23129 * @private 23130 * @param {Function} func The function to modify. 23131 * @param {Function} string The `toString` result. 23132 * @returns {Function} Returns `func`. 23133 */ 23134var setToString = shortOut(baseSetToString); 23135 23136module.exports = setToString; 23137 23138 23139/***/ }), 23140/* 451 */ 23141/***/ (function(module, exports, __webpack_require__) { 23142 23143var constant = __webpack_require__(452), 23144 defineProperty = __webpack_require__(187), 23145 identity = __webpack_require__(94); 23146 23147/** 23148 * The base implementation of `setToString` without support for hot loop shorting. 23149 * 23150 * @private 23151 * @param {Function} func The function to modify. 23152 * @param {Function} string The `toString` result. 23153 * @returns {Function} Returns `func`. 23154 */ 23155var baseSetToString = !defineProperty ? identity : function(func, string) { 23156 return defineProperty(func, 'toString', { 23157 'configurable': true, 23158 'enumerable': false, 23159 'value': constant(string), 23160 'writable': true 23161 }); 23162}; 23163 23164module.exports = baseSetToString; 23165 23166 23167/***/ }), 23168/* 452 */
vendor: 7,240 bytes, lines 23169-23402
23169/***/ (function(module, exports) { 23170 23171/** 23172 * Creates a function that returns `value`. 23173 * 23174 * @static 23175 * @memberOf _ 23176 * @since 2.4.0 23177 * @category Util 23178 * @param {*} value The value to return from the new function. 23179 * @returns {Function} Returns the new constant function. 23180 * @example 23181 * 23182 * var objects = _.times(2, _.constant({ 'a': 1 })); 23183 * 23184 * console.log(objects); 23185 * // => [{ 'a': 1 }, { 'a': 1 }] 23186 * 23187 * console.log(objects[0] === objects[1]); 23188 * // => true 23189 */ 23190function constant(value) { 23191 return function() { 23192 return value; 23193 }; 23194} 23195 23196module.exports = constant; 23197 23198 23199/***/ }), 23200/* 453 */ 23201/***/ (function(module, exports) { 23202 23203/** Used to detect hot functions by number of calls within a span of milliseconds. */ 23204var HOT_COUNT = 800, 23205 HOT_SPAN = 16; 23206 23207/* Built-in method references for those with the same name as other `lodash` methods. */ 23208var nativeNow = Date.now; 23209 23210/** 23211 * Creates a function that'll short out and invoke `identity` instead 23212 * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` 23213 * milliseconds. 23214 * 23215 * @private 23216 * @param {Function} func The function to restrict. 23217 * @returns {Function} Returns the new shortable function. 23218 */ 23219function shortOut(func) { 23220 var count = 0, 23221 lastCalled = 0; 23222 23223 return function() { 23224 var stamp = nativeNow(), 23225 remaining = HOT_SPAN - (stamp - lastCalled); 23226 23227 lastCalled = stamp; 23228 if (remaining > 0) { 23229 if (++count >= HOT_COUNT) { 23230 return arguments[0]; 23231 } 23232 } else { 23233 count = 0; 23234 } 23235 return func.apply(undefined, arguments); 23236 }; 23237} 23238 23239module.exports = shortOut; 23240 23241 23242/***/ }), 23243/* 454 */ 23244/***/ (function(module, exports, __webpack_require__) { 23245 23246var WeakMap = __webpack_require__(140); 23247 23248/** Used to store function metadata. */ 23249var metaMap = WeakMap && new WeakMap; 23250 23251module.exports = metaMap; 23252 23253 23254/***/ }), 23255/* 455 */ 23256/***/ (function(module, exports) { 23257 23258/** 23259 * This method returns `undefined`. 23260 * 23261 * @static 23262 * @memberOf _ 23263 * @since 2.3.0 23264 * @category Util 23265 * @example 23266 * 23267 * _.times(2, _.noop); 23268 * // => [undefined, undefined] 23269 */ 23270function noop() { 23271 // No operation performed. 23272} 23273 23274module.exports = noop; 23275 23276 23277/***/ }), 23278/* 456 */ 23279/***/ (function(module, exports) { 23280 23281/** Used to lookup unminified function names. */ 23282var realNames = {}; 23283 23284module.exports = realNames; 23285 23286 23287/***/ }), 23288/* 457 */ 23289/***/ (function(module, exports, __webpack_require__) { 23290 23291var LazyWrapper = __webpack_require__(124), 23292 getData = __webpack_require__(189), 23293 getFuncName = __webpack_require__(190), 23294 lodash = __webpack_require__(458); 23295 23296/** 23297 * Checks if `func` has a lazy counterpart. 23298 * 23299 * @private 23300 * @param {Function} func The function to check. 23301 * @returns {boolean} Returns `true` if `func` has a lazy counterpart, 23302 * else `false`. 23303 */ 23304function isLaziable(func) { 23305 var funcName = getFuncName(func), 23306 other = lodash[funcName]; 23307 23308 if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { 23309 return false; 23310 } 23311 if (func === other) { 23312 return true; 23313 } 23314 var data = getData(other); 23315 return !!data && func === data[0]; 23316} 23317 23318module.exports = isLaziable; 23319 23320 23321/***/ }), 23322/* 458 */ 23323/***/ (function(module, exports, __webpack_require__) { 23324 23325var LazyWrapper = __webpack_require__(124), 23326 LodashWrapper = __webpack_require__(122), 23327 baseLodash = __webpack_require__(123), 23328 isArray = __webpack_require__(11), 23329 isObjectLike = __webpack_require__(30), 23330 wrapperClone = __webpack_require__(459); 23331 23332/** Used for built-in method references. */ 23333var objectProto = Object.prototype; 23334 23335/** Used to check objects for own properties. */ 23336var hasOwnProperty = objectProto.hasOwnProperty; 23337 23338/** 23339 * Creates a `lodash` object which wraps `value` to enable implicit method 23340 * chain sequences. Methods that operate on and return arrays, collections, 23341 * and functions can be chained together. Methods that retrieve a single value 23342 * or may return a primitive value will automatically end the chain sequence 23343 * and return the unwrapped value. Otherwise, the value must be unwrapped 23344 * with `_#value`. 23345 * 23346 * Explicit chain sequences, which must be unwrapped with `_#value`, may be 23347 * enabled using `_.chain`. 23348 * 23349 * The execution of chained methods is lazy, that is, it's deferred until 23350 * `_#value` is implicitly or explicitly called. 23351 * 23352 * Lazy evaluation allows several methods to support shortcut fusion. 23353 * Shortcut fusion is an optimization to merge iteratee calls; this avoids 23354 * the creation of intermediate arrays and can greatly reduce the number of 23355 * iteratee executions. Sections of a chain sequence qualify for shortcut 23356 * fusion if the section is applied to an array and iteratees accept only 23357 * one argument. The heuristic for whether a section qualifies for shortcut 23358 * fusion is subject to change. 23359 * 23360 * Chaining is supported in custom builds as long as the `_#value` method is 23361 * directly or indirectly included in the build. 23362 * 23363 * In addition to lodash methods, wrappers have `Array` and `String` methods. 23364 * 23365 * The wrapper `Array` methods are: 23366 * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` 23367 * 23368 * The wrapper `String` methods are: 23369 * `replace` and `split` 23370 * 23371 * The wrapper methods that support shortcut fusion are: 23372 * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, 23373 * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, 23374 * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` 23375 * 23376 * The chainable wrapper methods are: 23377 * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, 23378 * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, 23379 * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, 23380 * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, 23381 * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, 23382 * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, 23383 * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, 23384 * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, 23385 * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, 23386 * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, 23387 * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, 23388 * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, 23389 * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, 23390 * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, 23391 * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, 23392 * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, 23393 * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, 23394 * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, 23395 * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, 23396 * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, 23397 * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, 23398 * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, 23399 * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, 23400 * `zipObject`, `zipObjectDeep`, and `zipWith` 23401 * 23402 * The wrapper methods that are **not** chainable by default are:
23403 * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, 23404 * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, 23405 * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, 23406 * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, 23407 * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, 23408 * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, 23409 * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, 23410 * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, 23411 * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, 23412 * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, 23413 * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, 23414 * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, 23415 * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, 23416 * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, 23417 * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, 23418 * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, 23419 * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, 23420 * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, 23421 * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, 23422 * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, 23423 * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, 23424 * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, 23425 * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, 23426 * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, 23427 * `upperFirst`, `value`, and `words` 23428 * 23429 * @name _ 23430 * @constructor 23431 * @category Seq 23432 * @param {*} value The value to wrap in a `lodash` instance. 23433 * @returns {Object} Returns the new `lodash` wrapper instance. 23434 * @example 23435 * 23436 * function square(n) { 23437 * return n * n; 23438 * } 23439 * 23440 * var wrapped = _([1, 2, 3]); 23441 * 23442 * // Returns an unwrapped value. 23443 * wrapped.reduce(_.add); 23444 * // => 6 23445 * 23446 * // Returns a wrapped value. 23447 * var squares = wrapped.map(square); 23448 * 23449 * _.isArray(squares); 23450 * // => false 23451 * 23452 * _.isArray(squares.value()); 23453 * // => true 23454 */ 23455function lodash(value) { 23456 if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { 23457 if (value instanceof LodashWrapper) { 23458 return value; 23459 } 23460 if (hasOwnProperty.call(value, '__wrapped__')) { 23461 return wrapperClone(value); 23462 } 23463 } 23464 return new LodashWrapper(value); 23465} 23466 23467// Ensure wrappers are instances of `baseLodash`. 23468lodash.prototype = baseLodash.prototype; 23469lodash.prototype.constructor = lodash; 23470 23471module.exports = lodash; 23472 23473 23474/***/ }), 23475/* 459 */ 23476/***/ (function(module, exports, __webpack_require__) { 23477 23478var LazyWrapper = __webpack_require__(124), 23479 LodashWrapper = __webpack_require__(122), 23480 copyArray = __webpack_require__(460); 23481 23482/** 23483 * Creates a clone of `wrapper`. 23484 * 23485 * @private 23486 * @param {Object} wrapper The wrapper to clone. 23487 * @returns {Object} Returns the cloned wrapper. 23488 */ 23489function wrapperClone(wrapper) { 23490 if (wrapper instanceof LazyWrapper) { 23491 return wrapper.clone(); 23492 } 23493 var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); 23494 result.__actions__ = copyArray(wrapper.__actions__); 23495 result.__index__ = wrapper.__index__; 23496 result.__values__ = wrapper.__values__; 23497 return result; 23498} 23499 23500module.exports = wrapperClone; 23501 23502 23503/***/ }), 23504/* 460 */ 23505/***/ (function(module, exports) { 23506 23507/** 23508 * Copies the values of `source` to `array`. 23509 * 23510 * @private 23511 * @param {Array} source The array to copy values from. 23512 * @param {Array} [array=[]] The array to copy values to. 23513 * @returns {Array} Returns `array`. 23514 */ 23515function copyArray(source, array) { 23516 var index = -1, 23517 length = source.length; 23518 23519 array || (array = Array(length)); 23520 while (++index < length) { 23521 array[index] = source[index]; 23522 } 23523 return array; 23524} 23525 23526module.exports = copyArray; 23527 23528 23529/***/ }), 23530/* 461 */ 23531/***/ (function(module, exports, __webpack_require__) { 23532 23533var baseClamp = __webpack_require__(462), 23534 toNumber = __webpack_require__(95); 23535 23536/** 23537 * Clamps `number` within the inclusive `lower` and `upper` bounds. 23538 * 23539 * @static 23540 * @memberOf _ 23541 * @since 4.0.0 23542 * @category Number 23543 * @param {number} number The number to clamp. 23544 * @param {number} [lower] The lower bound. 23545 * @param {number} upper The upper bound. 23546 * @returns {number} Returns the clamped number. 23547 * @example 23548 * 23549 * _.clamp(-10, -5, 5); 23550 * // => -5 23551 * 23552 * _.clamp(10, -5, 5); 23553 * // => 5 23554 */ 23555function clamp(number, lower, upper) { 23556 if (upper === undefined) { 23557 upper = lower; 23558 lower = undefined; 23559 } 23560 if (upper !== undefined) { 23561 upper = toNumber(upper); 23562 upper = upper === upper ? upper : 0; 23563 } 23564 if (lower !== undefined) { 23565 lower = toNumber(lower); 23566 lower = lower === lower ? lower : 0; 23567 } 23568 return baseClamp(toNumber(number), lower, upper); 23569} 23570 23571module.exports = clamp; 23572 23573 23574/***/ }), 23575/* 462 */
23576/***/ (function(module, exports) { 23577 23578/** 23579 * The base implementation of `_.clamp` which doesn't coerce arguments. 23580 * 23581 * @private 23582 * @param {number} number The number to clamp. 23583 * @param {number} [lower] The lower bound. 23584 * @param {number} upper The upper bound. 23585 * @returns {number} Returns the clamped number. 23586 */ 23587function baseClamp(number, lower, upper) { 23588 if (number === number) { 23589 if (upper !== undefined) { 23590 number = number <= upper ? number : upper; 23591 } 23592 if (lower !== undefined) { 23593 number = number >= lower ? number : lower; 23594 } 23595 } 23596 return number; 23597} 23598 23599module.exports = baseClamp; 23600 23601 23602/***/ }), 23603/* 463 */ 23604/***/ (function(module, exports, __webpack_require__) { 23605 23606"use strict"; 23607 // @wf-will-never-add-flow-to-this-file 23608 23609/* globals window, document */ 23610 23611/* eslint-disable no-var */ 23612 23613/** 23614 * Webflow: Auto-select links to current page or section 23615 */ 23616 23617var Webflow = __webpack_require__(10); 23618 23619Webflow.define('links', module.exports = function ($, _) { 23620 var api = {}; 23621 var $win = $(window); 23622 var designer; 23623 var inApp = Webflow.env(); 23624 var location = window.location; 23625 var tempLink = document.createElement('a'); 23626 var linkCurrent = 'w--current'; 23627 var indexPage = /index\.(html|php)$/; 23628 var dirList = /\/$/; 23629 var anchors; 23630 var slug; // ----------------------------------- 23631 // Module methods 23632 23633 api.ready = api.design = api.preview = init; // ----------------------------------- 23634 // Private methods 23635 23636 function init() { 23637 designer = inApp && Webflow.env('design'); 23638 slug = Webflow.env('slug') || location.pathname || ''; // Reset scroll listener, init anchors 23639 23640 Webflow.scroll.off(scroll); 23641 anchors = []; // Test all links for a selectable href 23642 23643 var links = document.links; 23644 23645 for (var i = 0; i < links.length; ++i) { 23646 select(links[i]); 23647 } // Listen for scroll if any anchors exist 23648 23649 23650 if (anchors.length) { 23651 Webflow.scroll.on(scroll); 23652 scroll(); 23653 } 23654 } 23655 23656 function select(link) { 23657 var href = designer && link.getAttribute('href-disabled') || link.getAttribute('href'); 23658 tempLink.href = href; // Ignore any hrefs with a colon to safely avoid all uri schemes 23659 23660 if (href.indexOf(':') >= 0) { 23661 return; 23662 } 23663 23664 var $link = $(link); // Check for all links with hash (eg (this-host)(/this-path)#section) to this page 23665 23666 if (tempLink.hash.length > 1 && tempLink.host + tempLink.pathname === location.host + location.pathname) { 23667 // Ignore any hrefs with Google Translate type hash 23668 // Example: jQuery can't parse $('#googtrans(en|es)') 23669 // https://forum.webflow.com/t/dropdown-menus-not-working-on-site/87140 23670 if (!/^#[a-zA-Z0-9\-\_]+$/.test(tempLink.hash)) { 23671 return; 23672 } 23673 23674 var $section = $(tempLink.hash); 23675 $section.length && anchors.push({ 23676 link: $link, 23677 sec: $section, 23678 active: false 23679 }); 23680 return; 23681 } // Ignore empty # links 23682 23683 23684 if (href === '#' || href === '') { 23685 return; 23686 } // Determine whether the link should be selected 23687 23688 23689 var match = tempLink.href === location.href || href === slug || indexPage.test(href) && dirList.test(slug); 23690 setClass($link, linkCurrent, match); 23691 } 23692 23693 function scroll() { 23694 var viewTop = $win.scrollTop(); 23695 var viewHeight = $win.height(); // Check each anchor for a section in view 23696 23697 _.each(anchors, function (anchor) { 23698 var $link = anchor.link; 23699 var $section = anchor.sec; 23700 var top = $section.offset().top; 23701 var height = $section.outerHeight(); 23702 var offset = viewHeight * 0.5; 23703 var active = $section.is(':visible') && top + height - offset >= viewTop && top + offset <= viewTop + viewHeight; 23704 23705 if (anchor.active === active) { 23706 return; 23707 } 23708 23709 anchor.active = active; 23710 setClass($link, linkCurrent, active); 23711 }); 23712 } 23713 23714 function setClass($elem, className, add) { 23715 var exists = $elem.hasClass(className); 23716 23717 if (add && exists) { 23718 return; 23719 } 23720 23721 if (!add && !exists) { 23722 return; 23723 } 23724 23725 add ? $elem.addClass(className) : $elem.removeClass(className); 23726 } // Export module 23727 23728 23729 return api; 23730}); 23731 23732/***/ }), 23733/* 464 */ 23734/***/ (function(module, exports, __webpack_require__) { 23735 23736"use strict"; 23737 // @wf-will-never-add-flow-to-this-file 23738 23739/* globals window, document */ 23740 23741/* eslint-disable no-var */ 23742 23743/** 23744 * Webflow: Smooth scroll 23745 */ 23746 23747var Webflow = __webpack_require__(10); 23748 23749Webflow.define('scroll', module.exports = function ($) { 23750 /** 23751 * A collection of namespaced events found in this module.
23752 * Namespaced events encapsulate our code, and make it safer and easier 23753 * for designers to apply custom code overrides. 23754 * @see https://api.jquery.com/on/#event-names 23755 * @typedef {Object.<string>} NamespacedEventsCollection 23756 */ 23757 var NS_EVENTS = { 23758 WF_CLICK_EMPTY: 'click.wf-empty-link', 23759 WF_CLICK_SCROLL: 'click.wf-scroll' 23760 }; 23761 var loc = window.location; 23762 var history = inIframe() ? null : window.history; 23763 var $win = $(window); 23764 var $doc = $(document); 23765 var $body = $(document.body); 23766 23767 var animate = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) { 23768 window.setTimeout(fn, 15); 23769 }; 23770 23771 var rootTag = Webflow.env('editor') ? '.w-editor-body' : 'body'; 23772 var headerSelector = 'header, ' + rootTag + ' > .header, ' + rootTag + ' > .w-nav:not([data-no-scroll])'; 23773 var emptyHrefSelector = 'a[href="#"]'; 23774 /** 23775 * Select only links whose href: 23776 * - contains a # 23777 * - is not one of our namespaced TabLink elements 23778 * - is not _only_ a # 23779 */ 23780 23781 var localHrefSelector = 'a[href*="#"]:not(.w-tab-link):not(' + emptyHrefSelector + ')'; 23782 var scrollTargetOutlineCSS = '.wf-force-outline-none[tabindex="-1"]:focus{outline:none;}'; 23783 var focusStylesEl = document.createElement('style'); 23784 focusStylesEl.appendChild(document.createTextNode(scrollTargetOutlineCSS)); 23785 23786 function inIframe() { 23787 try { 23788 return Boolean(window.frameElement); 23789 } catch (e) { 23790 return true; 23791 } 23792 } 23793 23794 var validHash = /^#[a-zA-Z0-9][\w:.-]*$/; 23795 /** 23796 * Determine if link navigates to current page 23797 * @param {HTMLAnchorElement} link 23798 */ 23799 23800 function linksToCurrentPage(link) { 23801 return validHash.test(link.hash) && link.host + link.pathname === loc.host + loc.pathname; 23802 } 23803 /** 23804 * Check if the designer has indicated that this page should 23805 * have no scroll animation, or if the end user has set 23806 * prefers-reduced-motion in their OS 23807 */ 23808 23809 23810 var reducedMotionMediaQuery = typeof window.matchMedia === 'function' && window.matchMedia('(prefers-reduced-motion: reduce)'); 23811 23812 function reducedMotionEnabled() { 23813 return document.body.getAttribute('data-wf-scroll-motion') === 'none' || reducedMotionMediaQuery.matches; 23814 } 23815 23816 function setFocusable($el, action) { 23817 var initialTabindex; 23818 23819 switch (action) { 23820 case 'add': 23821 initialTabindex = $el.attr('tabindex'); 23822 23823 if (initialTabindex) { 23824 $el.attr('data-wf-tabindex-swap', initialTabindex); 23825 } else { 23826 $el.attr('tabindex', '-1'); 23827 } 23828 23829 break; 23830 23831 case 'remove': 23832 initialTabindex = $el.attr('data-wf-tabindex-swap'); 23833 23834 if (initialTabindex) { 23835 $el.attr('tabindex', initialTabindex); 23836 $el.removeAttr('data-wf-tabindex-swap'); 23837 } else { 23838 $el.removeAttr('tabindex'); 23839 } 23840 23841 break; 23842 } 23843 23844 $el.toggleClass('wf-force-outline-none', action === 'add'); 23845 } 23846 /** 23847 * Determine if we should execute custom scroll 23848 */ 23849 23850 23851 function validateScroll(evt) { 23852 var target = evt.currentTarget; 23853 23854 if ( // Bail if in Designer 23855 Webflow.env('design') || // Ignore links being used by jQuery mobile 23856 window.$.mobile && /(?:^|\s)ui-link(?:$|\s)/.test(target.className)) { 23857 return; 23858 } 23859 23860 var hash = linksToCurrentPage(target) ? target.hash : ''; 23861 if (hash === '') return; 23862 var $el = $(hash); 23863 23864 if (!$el.length) { 23865 return; 23866 } 23867 23868 if (evt) { 23869 evt.preventDefault(); 23870 evt.stopPropagation(); 23871 } 23872 23873 updateHistory(hash, evt); 23874 window.setTimeout(function () { 23875 scroll($el, function setFocus() { 23876 setFocusable($el, 'add'); 23877 $el.get(0).focus({ 23878 preventScroll: true 23879 }); 23880 setFocusable($el, 'remove'); 23881 }); 23882 }, evt ? 0 : 300); 23883 } 23884 23885 function updateHistory(hash) { 23886 // Push new history state 23887 if (loc.hash !== hash && history && history.pushState && // Navigation breaks Chrome when the protocol is `file:`. 23888 !(Webflow.env.chrome && loc.protocol === 'file:')) { 23889 var oldHash = history.state && history.state.hash; 23890 23891 if (oldHash !== hash) { 23892 history.pushState({ 23893 hash: hash 23894 }, '', hash); 23895 } 23896 } 23897 } 23898 23899 function scroll($targetEl, cb) { 23900 var start = $win.scrollTop(); 23901 var end = calculateScrollEndPosition($targetEl); 23902 if (start === end) return; 23903 var duration = calculateScrollDuration($targetEl, start, end); 23904 var clock = Date.now(); 23905 23906 var step = function step() {
23907 var elapsed = Date.now() - clock; 23908 window.scroll(0, getY(start, end, elapsed, duration)); 23909 23910 if (elapsed <= duration) { 23911 animate(step); 23912 } else if (typeof cb === 'function') { 23913 cb(); 23914 } 23915 }; 23916 23917 animate(step); 23918 } 23919 23920 function calculateScrollEndPosition($targetEl) { 23921 // If a fixed header exists, offset for the height 23922 var $header = $(headerSelector); 23923 var offsetY = $header.css('position') === 'fixed' ? $header.outerHeight() : 0; 23924 var end = $targetEl.offset().top - offsetY; // If specified, scroll so that the element ends up in the middle of the viewport 23925 23926 if ($targetEl.data('scroll') === 'mid') { 23927 var available = $win.height() - offsetY; 23928 var elHeight = $targetEl.outerHeight(); 23929 23930 if (elHeight < available) { 23931 end -= Math.round((available - elHeight) / 2); 23932 } 23933 } 23934 23935 return end; 23936 } 23937 23938 function calculateScrollDuration($targetEl, start, end) { 23939 if (reducedMotionEnabled()) return 0; 23940 var mult = 1; // Check for custom time multiplier on the body and the scroll target 23941 23942 $body.add($targetEl).each(function (_, el) { 23943 var time = parseFloat(el.getAttribute('data-scroll-time')); 23944 23945 if (!isNaN(time) && time >= 0) { 23946 mult = time; 23947 } 23948 }); 23949 return (472.143 * Math.log(Math.abs(start - end) + 125) - 2000) * mult; 23950 } 23951 23952 function getY(start, end, elapsed, duration) { 23953 if (elapsed > duration) { 23954 return end; 23955 } 23956 23957 return start + (end - start) * ease(elapsed / duration); 23958 } 23959 23960 function ease(t) { 23961 return t < 0.5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1; 23962 } 23963 23964 function ready() { 23965 var WF_CLICK_EMPTY = NS_EVENTS.WF_CLICK_EMPTY, 23966 WF_CLICK_SCROLL = NS_EVENTS.WF_CLICK_SCROLL; 23967 $doc.on(WF_CLICK_SCROLL, localHrefSelector, validateScroll); 23968 /** 23969 * Prevent empty hash links from triggering scroll. 23970 * Legacy feature to preserve: use the default "#" link 23971 * to trigger an interaction, and do not want the page 23972 * to scroll to the top. 23973 */ 23974 23975 $doc.on(WF_CLICK_EMPTY, emptyHrefSelector, function (e) { 23976 e.preventDefault(); 23977 }); 23978 document.head.insertBefore(focusStylesEl, document.head.firstChild); 23979 } // Export module 23980 23981 23982 return { 23983 ready: ready 23984 }; 23985}); 23986 23987/***/ }), 23988/* 465 */ 23989/***/ (function(module, exports, __webpack_require__) { 23990 23991"use strict"; 23992 // @wf-will-never-add-flow-to-this-file 23993 23994/* globals document, window */ 23995 23996/* eslint-disable no-var */ 23997 23998/** 23999 * Webflow: Touch events 24000 * Supports legacy 'tap' event 24001 * Adds a 'swipe' event to desktop and mobile 24002 */ 24003 24004var Webflow = __webpack_require__(10); 24005 24006Webflow.define('touch', module.exports = function ($) { 24007 var api = {}; 24008 var getSelection = window.getSelection; // Delegate all legacy 'tap' events to 'click' 24009 24010 $.event.special.tap = { 24011 bindType: 'click', 24012 delegateType: 'click' 24013 }; 24014 24015 api.init = function (el) { 24016 el = typeof el === 'string' ? $(el).get(0) : el; 24017 return el ? new Touch(el) : null; 24018 }; 24019 24020 function Touch(el) { 24021 var active = false; 24022 var useTouch = false; 24023 var thresholdX = Math.min(Math.round(window.innerWidth * 0.04), 40); 24024 var startX; 24025 var lastX; 24026 el.addEventListener('touchstart', start, false); 24027 el.addEventListener('touchmove', move, false); 24028 el.addEventListener('touchend', end, false); 24029 el.addEventListener('touchcancel', cancel, false); 24030 el.addEventListener('mousedown', start, false); 24031 el.addEventListener('mousemove', move, false); 24032 el.addEventListener('mouseup', end, false); 24033 el.addEventListener('mouseout', cancel, false); 24034 24035 function start(evt) { 24036 // We donââ¬â¢t handle multi-touch events yet. 24037 var touches = evt.touches; 24038 24039 if (touches && touches.length > 1) { 24040 return; 24041 } 24042 24043 active = true; 24044 24045 if (touches) { 24046 useTouch = true; 24047 startX = touches[0].clientX; 24048 } else { 24049 startX = evt.clientX; 24050 } 24051 24052 lastX = startX; 24053 } 24054 24055 function move(evt) { 24056 if (!active) { 24057 return; 24058 } 24059 24060 if (useTouch && evt.type === 'mousemove') { 24061 evt.preventDefault(); 24062 evt.stopPropagation(); 24063 return; 24064 } 24065 24066 var touches = evt.touches; 24067 var x = touches ? touches[0].clientX : evt.clientX; 24068 var velocityX = x - lastX; 24069 lastX = x; // Allow swipes while pointer is down, but prevent them during text selection 24070 24071 if (Math.abs(velocityX) > thresholdX && getSelection && String(getSelection()) === '') { 24072 triggerEvent('swipe', evt, { 24073 direction: velocityX > 0 ? 'right' : 'left' 24074 }); 24075 cancel(); 24076 } 24077 } 24078 24079 function end(evt) { 24080 if (!active) { 24081 return; 24082 } 24083 24084 active = false;
24085 24086 if (useTouch && evt.type === 'mouseup') { 24087 evt.preventDefault(); 24088 evt.stopPropagation(); 24089 useTouch = false; 24090 return; 24091 } 24092 } 24093 24094 function cancel() { 24095 active = false; 24096 } 24097 24098 function destroy() { 24099 el.removeEventListener('touchstart', start, false); 24100 el.removeEventListener('touchmove', move, false); 24101 el.removeEventListener('touchend', end, false); 24102 el.removeEventListener('touchcancel', cancel, false); 24103 el.removeEventListener('mousedown', start, false); 24104 el.removeEventListener('mousemove', move, false); 24105 el.removeEventListener('mouseup', end, false); 24106 el.removeEventListener('mouseout', cancel, false); 24107 el = null; 24108 } // Public instance methods 24109 24110 24111 this.destroy = destroy; 24112 } // Wrap native event to supoprt preventdefault + stopPropagation 24113 24114 24115 function triggerEvent(type, evt, data) { 24116 var newEvent = $.Event(type, { 24117 originalEvent: evt 24118 }); 24119 $(evt.target).trigger(newEvent, data); 24120 } // Listen for touch events on all nodes by default. 24121 24122 24123 api.instance = api.init(document); // Export module 24124 24125 return api; 24126}); 24127 24128/***/ }), 24129/* 466 */ 24130/***/ (function(module, exports, __webpack_require__) { 24131 24132"use strict"; 24133 // @wf-will-never-add-flow-to-this-file 24134 24135/* globals window, document */ 24136 24137/* eslint-disable no-var */ 24138 24139/** 24140 * Webflow: Dropdown component 24141 */ 24142 24143var Webflow = __webpack_require__(10); 24144 24145var IXEvents = __webpack_require__(56); 24146 24147var KEY_CODES = { 24148 ARROW_LEFT: 37, 24149 ARROW_UP: 38, 24150 ARROW_RIGHT: 39, 24151 ARROW_DOWN: 40, 24152 ESCAPE: 27, 24153 SPACE: 32, 24154 ENTER: 13, 24155 HOME: 36, 24156 END: 35 24157}; 24158var FORCE_CLOSE = true; 24159/** 24160 * This pattern matches links that begin with a `#` AND have some alphanumeric 24161 * characters after it, including also hyphens and underscores 24162 * 24163 * Matches: 24164 * #foo 24165 * #999 24166 * #foo-bar_baz 24167 * 24168 * Does not match: 24169 * # 24170 */ 24171 24172var INTERNAL_PAGE_LINK_HASHES_PATTERN = /^#[a-zA-Z0-9\-_]+$/; 24173Webflow.define('dropdown', module.exports = function ($, _) { 24174 var debounce = _.debounce; 24175 var api = {}; 24176 var inApp = Webflow.env(); 24177 var inPreview = false; 24178 var inDesigner; 24179 var touch = Webflow.env.touch; 24180 var namespace = '.w-dropdown'; 24181 var openStateClassName = 'w--open'; 24182 var ix = IXEvents.triggers; 24183 var defaultZIndex = 900; // @dropdown-depth 24184 24185 var focusOutEvent = 'focusout' + namespace; 24186 var keydownEvent = 'keydown' + namespace; 24187 var mouseEnterEvent = 'mouseenter' + namespace; 24188 var mouseMoveEvent = 'mousemove' + namespace; 24189 var mouseLeaveEvent = 'mouseleave' + namespace; 24190 var mouseUpEvent = (touch ? 'click' : 'mouseup') + namespace; 24191 var closeEvent = 'w-close' + namespace; 24192 var settingEvent = 'setting' + namespace; 24193 var $doc = $(document); 24194 var $dropdowns; // ----------------------------------- 24195 // Module methods 24196 24197 api.ready = init; 24198 24199 api.design = function () { 24200 // Close all when returning from preview 24201 if (inPreview) { 24202 closeAll(); 24203 } 24204 24205 inPreview = false; 24206 init(); 24207 }; 24208 24209 api.preview = function () { 24210 inPreview = true; 24211 init(); 24212 }; // ----------------------------------- 24213 // Private methods 24214 24215 24216 function init() { 24217 inDesigner = inApp && Webflow.env('design'); // Find all instances on the page 24218 24219 $dropdowns = $doc.find(namespace); 24220 $dropdowns.each(build); 24221 } 24222 24223 function build(i, el) { 24224 var $el = $(el); // Store state in data 24225 24226 var data = $.data(el, namespace); 24227 24228 if (!data) { 24229 data = $.data(el, namespace, { 24230 open: false, 24231 el: $el, 24232 config: {}, 24233 selectedIdx: -1 24234 }); 24235 } 24236 24237 data.toggle = data.el.children('.w-dropdown-toggle'); 24238 data.list = data.el.children('.w-dropdown-list'); 24239 data.links = data.list.find('a:not(.w-dropdown .w-dropdown a)'); 24240 data.complete = complete(data); 24241 data.mouseLeave = makeMouseLeaveHandler(data); 24242 data.mouseUpOutside = outside(data); 24243 data.mouseMoveOutside = moveOutside(data); // Set config from data attributes 24244 24245 configure(data); // Store the IDs of the toggle button & list 24246 24247 var toggleId = data.toggle.attr('id'); 24248 var listId = data.list.attr('id'); // If user did not provide toggle ID, set it 24249 24250 if (!toggleId) { 24251 toggleId = 'w-dropdown-toggle-' + i; 24252 } // If user did not provide list ID, set it 24253 24254 24255 if (!listId) { 24256 listId = 'w-dropdown-list-' + i; 24257 } // Add attributes to toggle element 24258 24259 24260 data.toggle.attr('id', toggleId); 24261 data.toggle.attr('aria-controls', listId); 24262 data.toggle.attr('aria-haspopup', 'menu'); 24263 data.toggle.attr('aria-expanded', 'false'); // Hide toggle icon from ATs 24264 24265 data.toggle.find('.w-icon-dropdown-toggle').attr('aria-hidden', 'true'); // If toggle element is not a button 24266 24267 if (data.toggle.prop('tagName') !== 'BUTTON') { 24268 // Give it an appropriate role 24269 data.toggle.attr('role', 'button'); // And give it a tabindex if user has not provided one 24270 24271 if (!data.toggle.attr('tabindex')) { 24272 data.toggle.attr('tabindex', '0'); 24273 } 24274 } // Add attributes to list element 24275 24276 24277 data.list.attr('id', listId); 24278 data.list.attr('aria-labelledby', toggleId); 24279 data.links.each(function (idx, link) { 24280 /** 24281 * In macOS Safari, links don't take focus on click unless they have 24282 * a tabindex. Without this, the dropdown will break. 24283 * @see https://gist.github.com/cvrebert/68659d0333a578d75372 24284 */ 24285 if (!link.hasAttribute('tabindex')) link.setAttribute('tabindex', '0'); // We want to close the drop down if the href links somewhere internally 24286 // to the page 24287 24288 if (INTERNAL_PAGE_LINK_HASHES_PATTERN.test(link.hash)) { 24289 link.addEventListener('click', close.bind(null, data)); 24290 } 24291 }); // Remove old events 24292 24293 data.el.off(namespace); 24294 data.toggle.off(namespace); 24295 24296 if (data.nav) { 24297 data.nav.off(namespace); 24298 } 24299 24300 var initialToggler = makeToggler(data, FORCE_CLOSE); 24301 24302 if (inDesigner) { 24303 data.el.on(settingEvent, makeSettingEventHandler(data)); 24304 } 24305 24306 if (!inDesigner) { 24307 // Close in preview mode and clean the data.hovering state 24308 if (inApp) { 24309 data.hovering = false;
24310 close(data); 24311 } 24312 24313 if (data.config.hover) { 24314 data.toggle.on(mouseEnterEvent, makeMouseEnterHandler(data)); 24315 } 24316 24317 data.el.on(closeEvent, initialToggler); 24318 data.el.on(keydownEvent, makeDropdownKeydownHandler(data)); 24319 data.el.on(focusOutEvent, makeDropdownFocusOutHandler(data)); 24320 data.toggle.on(mouseUpEvent, initialToggler); 24321 data.toggle.on(keydownEvent, makeToggleKeydownHandler(data)); 24322 data.nav = data.el.closest('.w-nav'); 24323 data.nav.on(closeEvent, initialToggler); 24324 } 24325 } 24326 /** 24327 * Mutate the data object with a new config property 24328 */ 24329 24330 24331 function configure(data) { 24332 // Determine if z-index should be managed 24333 var zIndex = Number(data.el.css('z-index')); 24334 data.manageZ = zIndex === defaultZIndex || zIndex === defaultZIndex + 1; 24335 data.config = { 24336 hover: data.el.attr('data-hover') === 'true' && !touch, 24337 delay: data.el.attr('data-delay') 24338 }; 24339 } 24340 24341 function makeSettingEventHandler(data) { 24342 return function (evt, options) { 24343 options = options || {}; 24344 configure(data); 24345 options.open === true && open(data, true); 24346 options.open === false && close(data, { 24347 immediate: true 24348 }); 24349 }; 24350 } 24351 24352 function makeToggler(data, forceClose) { 24353 return debounce(function (evt) { 24354 if (data.open || evt && evt.type === 'w-close') { 24355 return close(data, { 24356 forceClose: forceClose 24357 }); 24358 } 24359 24360 open(data); 24361 }); 24362 } 24363 24364 function open(data) { 24365 if (data.open) { 24366 return; 24367 } 24368 24369 closeOthers(data); 24370 data.open = true; 24371 data.list.addClass(openStateClassName); 24372 data.toggle.addClass(openStateClassName); 24373 data.toggle.attr('aria-expanded', 'true'); // ARIA 24374 24375 ix.intro(0, data.el[0]); 24376 Webflow.redraw.up(); // Increase z-index to keep above other managed dropdowns 24377 24378 data.manageZ && data.el.css('z-index', defaultZIndex + 1); // Listen for click outside events 24379 24380 var isEditor = Webflow.env('editor'); 24381 24382 if (!inDesigner) { 24383 $doc.on(mouseUpEvent, data.mouseUpOutside); 24384 } 24385 24386 if (data.hovering && !isEditor) { 24387 data.el.on(mouseLeaveEvent, data.mouseLeave); 24388 } 24389 24390 if (data.hovering && isEditor) { 24391 $doc.on(mouseMoveEvent, data.mouseMoveOutside); 24392 } // Clear previous delay 24393 24394 24395 window.clearTimeout(data.delayId); 24396 } 24397 24398 function close(data) { 24399 var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, 24400 immediate = _ref.immediate, 24401 forceClose = _ref.forceClose; 24402 24403 if (!data.open) { 24404 return; 24405 } // Do not close hover-based menus if currently hovering 24406 24407 24408 if (data.config.hover && data.hovering && !forceClose) { 24409 return; 24410 } 24411 24412 data.toggle.attr('aria-expanded', 'false'); 24413 data.open = false; 24414 var config = data.config; 24415 ix.outro(0, data.el[0]); // Stop listening for click outside events 24416 24417 $doc.off(mouseUpEvent, data.mouseUpOutside); 24418 $doc.off(mouseMoveEvent, data.mouseMoveOutside); 24419 data.el.off(mouseLeaveEvent, data.mouseLeave); // Clear previous delay 24420 24421 window.clearTimeout(data.delayId); // Skip delay during immediate 24422 24423 if (!config.delay || immediate) { 24424 return data.complete(); 24425 } // Optionally wait for delay before close 24426 24427 24428 data.delayId = window.setTimeout(data.complete, config.delay); 24429 } 24430 24431 function closeAll() { 24432 $doc.find(namespace).each(function (i, el) { 24433 $(el).triggerHandler(closeEvent); 24434 }); 24435 } 24436 24437 function closeOthers(data) { 24438 var self = data.el[0]; 24439 $dropdowns.each(function (i, other) { 24440 var $other = $(other); 24441 24442 if ($other.is(self) || $other.has(self).length) { 24443 return; 24444 } 24445 24446 $other.triggerHandler(closeEvent); 24447 }); 24448 } 24449 24450 function outside(data) { 24451 // Unbind previous click handler if it exists 24452 if (data.mouseUpOutside) { 24453 $doc.off(mouseUpEvent, data.mouseUpOutside); 24454 } // Close menu when clicked outside 24455 24456 24457 return debounce(function (evt) { 24458 if (!data.open) { 24459 return; 24460 } 24461 24462 var $target = $(evt.target); 24463 24464 if ($target.closest('.w-dropdown-toggle').length) { 24465 return; 24466 } 24467 24468 var isEventOutsideDropdowns = $.inArray(data.el[0], $target.parents(namespace)) === -1; 24469 var isEditor = Webflow.env('editor'); 24470 24471 if (isEventOutsideDropdowns) { 24472 if (isEditor) { 24473 var isEventOnDetachedSvg = $target.parents().length === 1 && $target.parents('svg').length === 1; 24474 var isEventOnHoverControls = $target.parents('.w-editor-bem-EditorHoverControls').length; 24475 24476 if (isEventOnDetachedSvg || isEventOnHoverControls) { 24477 return; 24478 } 24479 } 24480 24481 close(data); 24482 } 24483 }); 24484 } 24485 24486 function complete(data) { 24487 return function () { 24488 data.list.removeClass(openStateClassName); 24489 data.toggle.removeClass(openStateClassName); // Reset z-index for managed dropdowns 24490 24491 data.manageZ && data.el.css('z-index', ''); 24492 }; 24493 } 24494 24495 function makeMouseEnterHandler(data) { 24496 return function () { 24497 data.hovering = true; 24498 open(data); 24499 }; 24500 } 24501 24502 function makeMouseLeaveHandler(data) { 24503 return function () { 24504 data.hovering = false; // We do not want the list to close upon mouseleave 24505 // if one of the links has focus 24506 24507 if (!data.links.is(':focus')) { 24508 close(data); 24509 } 24510 }; 24511 } 24512 24513 function moveOutside(data) { 24514 return debounce(function (evt) { 24515 if (!data.open) { 24516 return; 24517 } 24518 24519 var $target = $(evt.target); 24520 var isEventOutsideDropdowns = $.inArray(data.el[0], $target.parents(namespace)) === -1; 24521 24522 if (isEventOutsideDropdowns) { 24523 var isEventOnHoverControls = $target.parents('.w-editor-bem-EditorHoverControls').length; 24524 var isEventOnHoverToolbar = $target.parents('.w-editor-bem-RTToolbar').length; 24525 var $editorOverlay = $('.w-editor-bem-EditorOverlay'); 24526 var isDropdownInEdition = $editorOverlay.find('.w-editor-edit-outline').length || $editorOverlay.find('.w-editor-bem-RTToolbar').length; 24527 24528 if (isEventOnHoverControls || isEventOnHoverToolbar || isDropdownInEdition) { 24529 return; 24530 } 24531 24532 data.hovering = false;
24533 close(data); 24534 } 24535 }); 24536 } 24537 24538 function makeDropdownKeydownHandler(data) { 24539 return function (evt) { 24540 // Don't respond to keyboard in designer or if the list is not open 24541 if (inDesigner || !data.open) { 24542 return; 24543 } // Realign selectedIdx with the menu item that is currently in focus. 24544 // We need this because we do not track the `Tab` key activity! 24545 24546 24547 data.selectedIdx = data.links.index(document.activeElement); // Evaluate item-selection logic 24548 24549 switch (evt.keyCode) { 24550 case KEY_CODES.HOME: 24551 { 24552 if (!data.open) return; 24553 data.selectedIdx = 0; 24554 focusSelectedLink(data); 24555 return evt.preventDefault(); 24556 } 24557 24558 case KEY_CODES.END: 24559 { 24560 if (!data.open) return; 24561 data.selectedIdx = data.links.length - 1; 24562 focusSelectedLink(data); 24563 return evt.preventDefault(); 24564 } 24565 24566 case KEY_CODES.ESCAPE: 24567 { 24568 close(data); 24569 data.toggle.focus(); 24570 return evt.stopPropagation(); 24571 } 24572 24573 case KEY_CODES.ARROW_RIGHT: 24574 case KEY_CODES.ARROW_DOWN: 24575 { 24576 data.selectedIdx = Math.min(data.links.length - 1, data.selectedIdx + 1); 24577 focusSelectedLink(data); 24578 return evt.preventDefault(); 24579 } 24580 24581 case KEY_CODES.ARROW_LEFT: 24582 case KEY_CODES.ARROW_UP: 24583 { 24584 data.selectedIdx = Math.max(-1, data.selectedIdx - 1); 24585 focusSelectedLink(data); 24586 return evt.preventDefault(); 24587 } 24588 } 24589 }; 24590 } 24591 24592 function focusSelectedLink(data) { 24593 if (data.links[data.selectedIdx]) { 24594 data.links[data.selectedIdx].focus(); 24595 } 24596 } 24597 24598 function makeToggleKeydownHandler(data) { 24599 // We want to close immediately 24600 // if interacting via keyboard 24601 var toggler = makeToggler(data, FORCE_CLOSE); 24602 return function (evt) { 24603 if (inDesigner) return; // If the menu is not open, we don't want 24604 // the up or Down arrows to do anything 24605 24606 if (!data.open) { 24607 switch (evt.keyCode) { 24608 case KEY_CODES.ARROW_UP: 24609 case KEY_CODES.ARROW_DOWN: 24610 { 24611 return evt.stopPropagation(); 24612 } 24613 } 24614 } 24615 24616 switch (evt.keyCode) { 24617 case KEY_CODES.SPACE: 24618 case KEY_CODES.ENTER: 24619 { 24620 toggler(); 24621 evt.stopPropagation(); 24622 return evt.preventDefault(); 24623 } 24624 } 24625 }; 24626 } 24627 24628 function makeDropdownFocusOutHandler(data) { 24629 return debounce(function (evt) { 24630 var relatedTarget = evt.relatedTarget, 24631 target = evt.target; 24632 var menuEl = data.el[0]; 24633 /** 24634 * Close menu 24635 * With focusout events, the `relatedTarget` is the element that will next receive focus. 24636 * @see: https://developer.mozilla.org/en-US/docs/Web/API/FocusEvent/relatedTarget 24637 */ 24638 24639 var menuContainsFocus = menuEl.contains(relatedTarget) || menuEl.contains(target); 24640 24641 if (!menuContainsFocus) { 24642 close(data); 24643 } 24644 24645 return evt.stopPropagation(); 24646 }); 24647 } // Export module 24648 24649 24650 return api; 24651}); 24652 24653/***/ }), 24654/* 467 */ 24655/***/ (function(module, exports, __webpack_require__) { 24656 24657"use strict"; 24658 // @wf-will-never-add-flow-to-this-file 24659 24660/* globals 24661 window, 24662 document, 24663 FormData, 24664 WEBFLOW_FORM_API_HOST, 24665 WEBFLOW_FORM_OLDIE_HOST 24666*/ 24667 24668/* eslint-disable no-var */ 24669 24670/** 24671 * Webflow: Forms 24672 */ 24673 24674var _interopRequireDefault = __webpack_require__(3); 24675 24676var _slicedToArray2 = _interopRequireDefault(__webpack_require__(468)); 24677 24678var Webflow = __webpack_require__(10); 24679 24680Webflow.define('forms', module.exports = function ($, _) { 24681 var api = {}; 24682 var $doc = $(document); 24683 var $forms; 24684 var loc = window.location; 24685 var retro = window.XDomainRequest && !window.atob; 24686 var namespace = '.w-form'; 24687 var siteId; 24688 var emailField = /e(-)?mail/i; 24689 var emailValue = /^\S+@\S+$/; 24690 var alert = window.alert; 24691 var inApp = Webflow.env(); 24692 var listening; 24693 var formUrl; 24694 var signFileUrl; // MailChimp domains: list-manage.com + mirrors 24695 24696 var chimpRegex = /list-manage[1-9]?.com/i; 24697 24698 var disconnected = _.debounce(function () { 24699 alert('Oops! This page has improperly configured forms. Please contact your website administrator to fix this issue.'); 24700 }, 100); 24701 24702 api.ready = api.design = api.preview = function () { 24703 // Init forms 24704 init(); // Wire document events on published site only once 24705 24706 if (!inApp && !listening) { 24707 addListeners(); 24708 } 24709 }; 24710
24711 function init() { 24712 siteId = $('html').attr('data-wf-site'); 24713 formUrl = "https://webflow.com" + '/api/v1/form/' + siteId; // Work around same-protocol IE XDR limitation - without this IE9 and below forms won't submit 24714 24715 if (retro && formUrl.indexOf("https://webflow.com") >= 0) { 24716 formUrl = formUrl.replace("https://webflow.com", "http://formdata.webflow.com"); 24717 } 24718 24719 signFileUrl = "".concat(formUrl, "/signFile"); 24720 $forms = $(namespace + ' form'); 24721 24722 if (!$forms.length) { 24723 return; 24724 } 24725 24726 $forms.each(build); 24727 } 24728 24729 function build(i, el) { 24730 // Store form state using namespace 24731 var $el = $(el); 24732 var data = $.data(el, namespace); 24733 24734 if (!data) { 24735 data = $.data(el, namespace, { 24736 form: $el 24737 }); 24738 } // data.form 24739 24740 24741 reset(data); 24742 var wrap = $el.closest('div.w-form'); 24743 data.done = wrap.find('> .w-form-done'); 24744 data.fail = wrap.find('> .w-form-fail'); 24745 data.fileUploads = wrap.find('.w-file-upload'); 24746 data.fileUploads.each(function (j) { 24747 initFileUpload(j, data); 24748 }); // Accessiblity fixes 24749 24750 var formName = data.form.attr('aria-label') || data.form.attr('data-name') || 'Form'; 24751 24752 if (!data.done.attr('aria-label')) { 24753 data.form.attr('aria-label', formName); 24754 } 24755 24756 data.done.attr('tabindex', '-1'); 24757 data.done.attr('role', 'region'); 24758 24759 if (!data.done.attr('aria-label')) { 24760 data.done.attr('aria-label', formName + ' success'); 24761 } 24762 24763 data.fail.attr('tabindex', '-1'); 24764 data.fail.attr('role', 'region'); 24765 24766 if (!data.fail.attr('aria-label')) { 24767 data.fail.attr('aria-label', formName + ' failure'); 24768 } 24769 24770 var action = data.action = $el.attr('action'); 24771 data.handler = null; 24772 data.redirect = $el.attr('data-redirect'); // MailChimp form 24773 24774 if (chimpRegex.test(action)) { 24775 data.handler = submitMailChimp; 24776 return; 24777 } // Custom form action 24778 24779 24780 if (action) { 24781 return; 24782 } // Webflow forms for hosting accounts 24783 24784 24785 if (siteId) { 24786 data.handler = typeof hostedSubmitWebflow === 'function' ? hostedSubmitWebflow : exportedSubmitWebflow; 24787 return; 24788 } // Alert for disconnected Webflow forms 24789 24790 24791 disconnected(); 24792 } 24793 24794 function addListeners() { 24795 listening = true; // Handle form submission for Webflow forms 24796 24797 $doc.on('submit', namespace + ' form', function (evt) { 24798 var data = $.data(this, namespace); 24799 24800 if (data.handler) { 24801 data.evt = evt; 24802 data.handler(data); 24803 } 24804 }); // handle checked ui for custom checkbox and radio button 24805 24806 var CHECKBOX_CLASS_NAME = '.w-checkbox-input'; 24807 var RADIO_INPUT_CLASS_NAME = '.w-radio-input'; 24808 var CHECKED_CLASS = 'w--redirected-checked'; 24809 var FOCUSED_CLASS = 'w--redirected-focus'; 24810 var FOCUSED_VISIBLE_CLASS = 'w--redirected-focus-visible'; 24811 var focusVisibleSelectors = ':focus-visible, [data-wf-focus-visible]'; 24812 var CUSTOM_CONTROLS = [['checkbox', CHECKBOX_CLASS_NAME], ['radio', RADIO_INPUT_CLASS_NAME]]; 24813 $doc.on('change', namespace + " form input[type=\"checkbox\"]:not(" + CHECKBOX_CLASS_NAME + ')', function (evt) { 24814 $(evt.target).siblings(CHECKBOX_CLASS_NAME).toggleClass(CHECKED_CLASS); 24815 }); 24816 $doc.on('change', namespace + " form input[type=\"radio\"]", function (evt) { 24817 $("input[name=\"".concat(evt.target.name, "\"]:not(").concat(CHECKBOX_CLASS_NAME, ")")).map(function (i, el) { 24818 return $(el).siblings(RADIO_INPUT_CLASS_NAME).removeClass(CHECKED_CLASS); 24819 }); 24820 var $target = $(evt.target); 24821 24822 if (!$target.hasClass('w-radio-input')) { 24823 $target.siblings(RADIO_INPUT_CLASS_NAME).addClass(CHECKED_CLASS); 24824 } 24825 }); 24826 CUSTOM_CONTROLS.forEach(function (_ref) { 24827 var _ref2 = (0, _slicedToArray2["default"])(_ref, 2), 24828 controlType = _ref2[0], 24829 customControlClassName = _ref2[1]; 24830 24831 $doc.on('focus', namespace + " form input[type=\"".concat(controlType, "\"]:not(") + customControlClassName + ')', function (evt) { 24832 $(evt.target).siblings(customControlClassName).addClass(FOCUSED_CLASS); 24833 $(evt.target).filter(focusVisibleSelectors).siblings(customControlClassName).addClass(FOCUSED_VISIBLE_CLASS); 24834 }); 24835 $doc.on('blur', namespace + " form input[type=\"".concat(controlType, "\"]:not(") + customControlClassName + ')', function (evt) { 24836 $(evt.target).siblings(customControlClassName).removeClass("".concat(FOCUSED_CLASS, " ").concat(FOCUSED_VISIBLE_CLASS)); 24837 }); 24838 }); 24839 } // Reset data common to all submit handlers 24840 24841 24842 function reset(data) { 24843 var btn = data.btn = data.form.find(':input[type="submit"]'); 24844 data.wait = data.btn.attr('data-wait') || null; 24845 data.success = false;
24846 btn.prop('disabled', false); 24847 data.label && btn.val(data.label); 24848 } // Disable submit button 24849 24850 24851 function disableBtn(data) { 24852 var btn = data.btn; 24853 var wait = data.wait; 24854 btn.prop('disabled', true); // Show wait text and store previous label 24855 24856 if (wait) { 24857 data.label = btn.val(); 24858 btn.val(wait); 24859 } 24860 } // Find form fields, validate, and set value pairs 24861 24862 24863 function findFields(form, result) { 24864 var status = null; 24865 result = result || {}; // The ":input" selector is a jQuery shortcut to select all inputs, selects, textareas 24866 24867 form.find(':input:not([type="submit"]):not([type="file"])').each(function (i, el) { 24868 var field = $(el); 24869 var type = field.attr('type'); 24870 var name = field.attr('data-name') || field.attr('name') || 'Field ' + (i + 1); 24871 var value = field.val(); 24872 24873 if (type === 'checkbox') { 24874 value = field.is(':checked'); 24875 } else if (type === 'radio') { 24876 // Radio group value already processed 24877 if (result[name] === null || typeof result[name] === 'string') { 24878 return; 24879 } 24880 24881 value = form.find('input[name="' + field.attr('name') + '"]:checked').val() || null; 24882 } 24883 24884 if (typeof value === 'string') { 24885 value = $.trim(value); 24886 } 24887 24888 result[name] = value; 24889 status = status || getStatus(field, type, name, value); 24890 }); 24891 return status; 24892 } 24893 24894 function findFileUploads(form) { 24895 var result = {}; 24896 form.find(':input[type="file"]').each(function (i, el) { 24897 var field = $(el); 24898 var name = field.attr('data-name') || field.attr('name') || 'File ' + (i + 1); 24899 var value = field.attr('data-value'); 24900 24901 if (typeof value === 'string') { 24902 value = $.trim(value); 24903 } 24904 24905 result[name] = value; 24906 }); 24907 return result; 24908 } 24909 24910 var trackingCookieNameMap = { 24911 _mkto_trk: 'marketo' // __hstc: 'hubspot', 24912 24913 }; 24914 24915 function collectEnterpriseTrackingCookies() { 24916 var cookies = document.cookie.split('; ').reduce(function (acc, cookie) { 24917 var splitCookie = cookie.split('='); 24918 var name = splitCookie[0]; 24919 24920 if (name in trackingCookieNameMap) { 24921 var mappedName = trackingCookieNameMap[name]; 24922 var value = splitCookie.slice(1).join('='); 24923 acc[mappedName] = value; 24924 } 24925 24926 return acc; 24927 }, {}); 24928 return cookies; 24929 } 24930 24931 function getStatus(field, type, name, value) { 24932 var status = null; 24933 24934 if (type === 'password') { 24935 status = 'Passwords cannot be submitted.'; 24936 } else if (field.attr('required')) { 24937 if (!value) { 24938 status = 'Please fill out the required field: ' + name; 24939 } else if (emailField.test(field.attr('type'))) { 24940 if (!emailValue.test(value)) { 24941 status = 'Please enter a valid email address for: ' + name; 24942 } 24943 } 24944 } else if (name === 'g-recaptcha-response' && !value) { 24945 status = 'Please confirm youââ¬â¢re not a robot.'; 24946 } 24947 24948 return status; 24949 } 24950 24951 function exportedSubmitWebflow(data) { 24952 preventDefault(data); 24953 afterSubmit(data); 24954 } 24955 /* WEBFLOW_HOSTED_BLOCK:START */ 24956 // Submit form to Webflow 24957 24958 24959 function hostedSubmitWebflow(data) { 24960 reset(data); 24961 var form = data.form; 24962 var payload = { 24963 name: form.attr('data-name') || form.attr('name') || 'Untitled Form', 24964 source: loc.href, 24965 test: Webflow.env(), 24966 fields: {}, 24967 fileUploads: {}, 24968 dolphin: /pass[\s-_]?(word|code)|secret|login|credentials/i.test(form.html()), 24969 trackingCookies: collectEnterpriseTrackingCookies() 24970 }; 24971 var wfFlow = form.attr('data-wf-flow'); 24972 24973 if (wfFlow) { 24974 payload.wfFlow = wfFlow; 24975 } 24976 24977 preventDefault(data); // Find & populate all fields 24978 24979 var status = findFields(form, payload.fields); 24980 24981 if (status) { 24982 return alert(status); 24983 } 24984 24985 payload.fileUploads = findFileUploads(form); // Disable submit button 24986 24987 disableBtn(data); // Read site ID 24988 // NOTE: If this site is exported, the HTML tag must retain the data-wf-site attribute for forms to work 24989 24990 if (!siteId) { 24991 afterSubmit(data); 24992 return; 24993 } 24994 24995 $.ajax({ 24996 url: formUrl, 24997 type: 'POST', 24998 data: payload, 24999 dataType: 'json', 25000 crossDomain: true 25001 }).done(function (response) { 25002 if (response && response.code === 200) { 25003 data.success = true; 25004 } 25005 25006 afterSubmit(data); 25007 }).fail(function () { 25008 afterSubmit(data); 25009 }); 25010 } 25011 /* WEBFLOW_HOSTED_BLOCK:END */ 25012 // Submit form to MailChimp 25013 25014 25015 function submitMailChimp(data) { 25016 reset(data); 25017 var form = data.form; 25018 var payload = {}; // Skip Ajax submission if http/s mismatch, fallback to POST instead 25019 25020 if (/^https/.test(loc.href) && !/^https/.test(data.action)) { 25021 form.attr('method', 'post'); 25022 return; 25023 } 25024 25025 preventDefault(data); // Find & populate all fields 25026 25027 var status = findFields(form, payload); 25028 25029 if (status) { 25030 return alert(status); 25031 } // Disable submit button 25032 25033 25034 disableBtn(data); // Use special format for MailChimp params 25035 25036 var fullName; 25037 25038 _.each(payload, function (value, key) { 25039 if (emailField.test(key)) { 25040 payload.EMAIL = value; 25041 } 25042 25043 if (/^((full[ _-]?)?name)$/i.test(key)) { 25044 fullName = value; 25045 } 25046 25047 if (/^(first[ _-]?name)$/i.test(key)) { 25048 payload.FNAME = value; 25049 } 25050 25051 if (/^(last[ _-]?name)$/i.test(key)) { 25052 payload.LNAME = value; 25053 } 25054 }); 25055 25056 if (fullName && !payload.FNAME) { 25057 fullName = fullName.split(' '); 25058 payload.FNAME = fullName[0]; 25059 payload.LNAME = payload.LNAME || fullName[1]; 25060 } // Use the (undocumented) MailChimp jsonp api 25061 25062 25063 var url = data.action.replace('/post?', '/post-json?') + '&c=?'; // Add special param to prevent bot signups 25064 25065 var userId = url.indexOf('u=') + 2; 25066 userId = url.substring(userId, url.indexOf('&', userId)); 25067 var listId = url.indexOf('id=') + 3; 25068 listId = url.substring(listId, url.indexOf('&', listId)); 25069 payload['b_' + userId + '_' + listId] = ''; 25070 $.ajax({ 25071 url: url, 25072 data: payload, 25073 dataType: 'jsonp' 25074 }).done(function (resp) { 25075 data.success = resp.result === 'success' || /already/.test(resp.msg); 25076 25077 if (!data.success) { 25078 console.info('MailChimp error: ' + resp.msg); 25079 } 25080 25081 afterSubmit(data); 25082 }).fail(function () { 25083 afterSubmit(data); 25084 }); 25085 } // Common callback which runs after all Ajax submissions 25086 25087 25088 function afterSubmit(data) { 25089 var form = data.form; 25090 var redirect = data.redirect; 25091 var success = data.success; // Redirect to a success url if defined 25092 25093 if (success && redirect) { 25094 Webflow.location(redirect); 25095 return; 25096 } // Show or hide status divs 25097 25098 25099 data.done.toggle(success); 25100 data.fail.toggle(!success); 25101 25102 if (success) { 25103 data.done.focus(); 25104 } else { 25105 data.fail.focus(); 25106 } // Hide form on success 25107 25108 25109 form.toggle(!success); // Reset data and enable submit button 25110 25111 reset(data); 25112 } 25113 25114 function preventDefault(data) { 25115 data.evt && data.evt.preventDefault(); 25116 data.evt = null; 25117 } 25118 25119 function initFileUpload(i, form) { 25120 if (!form.fileUploads || !form.fileUploads[i]) { 25121 return; 25122 } 25123 25124 var file; 25125 var $el = $(form.fileUploads[i]); 25126 var $defaultWrap = $el.find('> .w-file-upload-default'); 25127 var $uploadingWrap = $el.find('> .w-file-upload-uploading'); 25128 var $successWrap = $el.find('> .w-file-upload-success'); 25129 var $errorWrap = $el.find('> .w-file-upload-error'); 25130 var $input = $defaultWrap.find('.w-file-upload-input'); 25131 var $label = $defaultWrap.find('.w-file-upload-label'); 25132 var $labelChildren = $label.children(); 25133 var $errorMsgEl = $errorWrap.find('.w-file-upload-error-msg'); 25134 var $fileEl = $successWrap.find('.w-file-upload-file'); 25135 var $removeEl = $successWrap.find('.w-file-remove-link'); 25136 var $fileNameEl = $fileEl.find('.w-file-upload-file-name'); 25137 var sizeErrMsg = $errorMsgEl.attr('data-w-size-error'); 25138 var typeErrMsg = $errorMsgEl.attr('data-w-type-error'); 25139 var genericErrMsg = $errorMsgEl.attr('data-w-generic-error'); // Accessiblity fixes 25140 // The file upload Input is not stylable by the designer, so we are 25141 // going to pretend the Label is the input. ï\_(ãÆâ)_/ï 25142 25143 $label.on('click keydown', function (e) { 25144 if (e.type === 'keydown' && e.which !== 13 && e.which !== 32) { 25145 return; 25146 } 25147 25148 e.preventDefault(); 25149 $input.click(); 25150 }); // Both of these are added through CSS 25151 25152 $label.find('.w-icon-file-upload-icon').attr('aria-hidden', 'true'); 25153 $removeEl.find('.w-icon-file-upload-remove').attr('aria-hidden', 'true'); 25154 25155 if (!inApp) { 25156 $removeEl.on('click keydown', function (e) { 25157 if (e.type === 'keydown') { 25158 if (e.which !== 13 && e.which !== 32) { 25159 return; 25160 } 25161 25162 e.preventDefault(); 25163 } 25164 25165 $input.removeAttr('data-value'); 25166 $input.val(''); 25167 $fileNameEl.html(''); 25168 $defaultWrap.toggle(true); 25169 $successWrap.toggle(false); 25170 $label.focus(); 25171 }); 25172 $input.on('change', function (e) { 25173 file = e.target && e.target.files && e.target.files[0]; 25174 25175 if (!file) { 25176 return; 25177 } // Show uploading 25178 25179 25180 $defaultWrap.toggle(false); 25181 $errorWrap.toggle(false); 25182 $uploadingWrap.toggle(true); 25183 $uploadingWrap.focus(); // Set filename 25184 25185 $fileNameEl.text(file.name); // Disable submit button 25186 25187 if (!isUploading()) { 25188 disableBtn(form); 25189 } 25190 25191 form.fileUploads[i].uploading = true; 25192 signFile(file, afterSign); 25193 }); // Setting input width 1px and height equal label 25194 // This is so the browser required error will show up 25195 25196 var height = $label.outerHeight(); 25197 $input.height(height); 25198 $input.width(1); 25199 } else { 25200 $input.on('click', function (e) { 25201 e.preventDefault(); 25202 }); 25203 $label.on('click', function (e) { 25204 e.preventDefault(); 25205 }); 25206 $labelChildren.on('click', function (e) { 25207 e.preventDefault(); 25208 }); 25209 } 25210 25211 function parseError(err) { 25212 var errorMsg = err.responseJSON && err.responseJSON.msg; 25213 var userError = genericErrMsg; 25214 25215 if (typeof errorMsg === 'string' && errorMsg.indexOf('InvalidFileTypeError') === 0) { 25216 userError = typeErrMsg; 25217 } else if (typeof errorMsg === 'string' && errorMsg.indexOf('MaxFileSizeError') === 0) { 25218 userError = sizeErrMsg; 25219 } 25220 25221 $errorMsgEl.text(userError); 25222 $input.removeAttr('data-value'); 25223 $input.val(''); 25224 $uploadingWrap.toggle(false); 25225 $defaultWrap.toggle(true); 25226 $errorWrap.toggle(true); 25227 $errorWrap.focus(); 25228 form.fileUploads[i].uploading = false;
25229 25230 if (!isUploading()) { 25231 reset(form); 25232 } 25233 } 25234 25235 function afterSign(err, data) { 25236 if (err) { 25237 return parseError(err); 25238 } 25239 25240 var fileName = data.fileName; 25241 var postData = data.postData; 25242 var fileId = data.fileId; 25243 var s3Url = data.s3Url; 25244 $input.attr('data-value', fileId); 25245 uploadS3(s3Url, postData, file, fileName, afterUpload); 25246 } 25247 25248 function afterUpload(err) { 25249 if (err) { 25250 return parseError(err); 25251 } // Show success 25252 25253 25254 $uploadingWrap.toggle(false); 25255 $successWrap.css('display', 'inline-block'); 25256 $successWrap.focus(); 25257 form.fileUploads[i].uploading = false; 25258 25259 if (!isUploading()) { 25260 reset(form); 25261 } 25262 } 25263 25264 function isUploading() { 25265 var uploads = form.fileUploads && form.fileUploads.toArray() || []; 25266 return uploads.some(function (value) { 25267 return value.uploading; 25268 }); 25269 } 25270 } 25271 25272 function signFile(file, cb) { 25273 var payload = { 25274 name: file.name, 25275 size: file.size 25276 }; 25277 $.ajax({ 25278 type: 'POST', 25279 url: signFileUrl, 25280 data: payload, 25281 dataType: 'json', 25282 crossDomain: true 25283 }).done(function (data) { 25284 cb(null, data); 25285 }).fail(function (err) { 25286 cb(err); 25287 }); 25288 } 25289 25290 function uploadS3(url, data, file, fileName, cb) { 25291 var formData = new FormData(); 25292 25293 for (var k in data) { 25294 formData.append(k, data[k]); 25295 } 25296 25297 formData.append('file', file, fileName); 25298 $.ajax({ 25299 type: 'POST', 25300 url: url, 25301 data: formData, 25302 processData: false, 25303 contentType: false 25304 }).done(function () { 25305 cb(null); 25306 }).fail(function (err) { 25307 cb(err); 25308 }); 25309 } // Export module 25310 25311 25312 return api; 25313}); 25314 25315/***/ }), 25316/* 468 */ 25317/***/ (function(module, exports, __webpack_require__) { 25318 25319var arrayWithHoles = __webpack_require__(469); 25320 25321var iterableToArrayLimit = __webpack_require__(470); 25322 25323var nonIterableRest = __webpack_require__(471); 25324 25325function _slicedToArray(arr, i) { 25326 return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest(); 25327} 25328 25329module.exports = _slicedToArray; 25330 25331/***/ }), 25332/* 469 */ 25333/***/ (function(module, exports) { 25334 25335function _arrayWithHoles(arr) { 25336 if (Array.isArray(arr)) return arr; 25337} 25338 25339module.exports = _arrayWithHoles; 25340 25341/***/ }), 25342/* 470 */ 25343/***/ (function(module, exports) { 25344 25345function _iterableToArrayLimit(arr, i) { 25346 var _arr = []; 25347 var _n = true; 25348 var _d = false; 25349 var _e = undefined; 25350 25351 try { 25352 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 25353 _arr.push(_s.value); 25354 25355 if (i && _arr.length === i) break; 25356 } 25357 } catch (err) { 25358 _d = true; 25359 _e = err; 25360 } finally { 25361 try { 25362 if (!_n && _i["return"] != null) _i["return"](); 25363 } finally { 25364 if (_d) throw _e; 25365 } 25366 } 25367 25368 return _arr; 25369} 25370 25371module.exports = _iterableToArrayLimit; 25372 25373/***/ }), 25374/* 471 */ 25375/***/ (function(module, exports) { 25376 25377function _nonIterableRest() { 25378 throw new TypeError("Invalid attempt to destructure non-iterable instance"); 25379} 25380 25381module.exports = _nonIterableRest; 25382 25383/***/ }), 25384/* 472 */ 25385/***/ (function(module, exports, __webpack_require__) { 25386 25387"use strict"; 25388 // @wf-will-never-add-flow-to-this-file 25389 25390/* globals window, document */ 25391 25392/* eslint-disable no-var */ 25393 25394/** 25395 * Webflow: Navbar component 25396 */ 25397 25398var Webflow = __webpack_require__(10); 25399 25400var IXEvents = __webpack_require__(56); 25401 25402var KEY_CODES = { 25403 ARROW_LEFT: 37, 25404 ARROW_UP: 38, 25405 ARROW_RIGHT: 39, 25406 ARROW_DOWN: 40, 25407 ESCAPE: 27, 25408 SPACE: 32, 25409 ENTER: 13, 25410 HOME: 36, 25411 END: 35 25412}; 25413Webflow.define('navbar', module.exports = function ($, _) { 25414 var api = {}; 25415 var tram = $.tram; 25416 var $win = $(window); 25417 var $doc = $(document); 25418 var debounce = _.debounce; 25419 var $body; 25420 var $navbars; 25421 var designer; 25422 var inEditor; 25423 var inApp = Webflow.env(); 25424 var overlay = '<div class="w-nav-overlay" data-wf-ignore />'; 25425 var namespace = '.w-nav'; 25426 var navbarOpenedButton = 'w--open'; 25427 var navbarOpenedDropdown = 'w--nav-dropdown-open'; 25428 var navbarOpenedDropdownToggle = 'w--nav-dropdown-toggle-open'; 25429 var navbarOpenedDropdownList = 'w--nav-dropdown-list-open'; 25430 var navbarOpenedLink = 'w--nav-link-open'; 25431 var ix = IXEvents.triggers; 25432 var menuSibling = $(); // ----------------------------------- 25433 // Module methods 25434 25435 api.ready = api.design = api.preview = init; 25436 25437 api.destroy = function () { 25438 menuSibling = $(); 25439 removeListeners(); 25440 25441 if ($navbars && $navbars.length) { 25442 $navbars.each(teardown); 25443 } 25444 }; // ----------------------------------- 25445 // Private methods 25446 25447
25448 function init() { 25449 designer = inApp && Webflow.env('design'); 25450 inEditor = Webflow.env('editor'); 25451 $body = $(document.body); // Find all instances on the page 25452 25453 $navbars = $doc.find(namespace); 25454 25455 if (!$navbars.length) { 25456 return; 25457 } 25458 25459 $navbars.each(build); // Wire events 25460 25461 removeListeners(); 25462 addListeners(); 25463 } 25464 25465 function removeListeners() { 25466 Webflow.resize.off(resizeAll); 25467 } 25468 25469 function addListeners() { 25470 Webflow.resize.on(resizeAll); 25471 } 25472 25473 function resizeAll() { 25474 $navbars.each(resize); 25475 } 25476 25477 function build(i, el) { 25478 var $el = $(el); // Store state in data 25479 25480 var data = $.data(el, namespace); 25481 25482 if (!data) { 25483 data = $.data(el, namespace, { 25484 open: false, 25485 el: $el, 25486 config: {}, 25487 selectedIdx: -1 25488 }); 25489 } 25490 25491 data.menu = $el.find('.w-nav-menu'); 25492 data.links = data.menu.find('.w-nav-link'); 25493 data.dropdowns = data.menu.find('.w-dropdown'); 25494 data.dropdownToggle = data.menu.find('.w-dropdown-toggle'); 25495 data.dropdownList = data.menu.find('.w-dropdown-list'); 25496 data.button = $el.find('.w-nav-button'); 25497 data.container = $el.find('.w-container'); 25498 data.overlayContainerId = 'w-nav-overlay-' + i; 25499 data.outside = outside(data); // If the brand links exists and is set to link to the homepage, the 25500 // default setting, then add an aria-label 25501 25502 var navBrandLink = $el.find('.w-nav-brand'); 25503 25504 if (navBrandLink && navBrandLink.attr('href') === '/' && navBrandLink.attr('aria-label') == null) { 25505 navBrandLink.attr('aria-label', 'home'); 25506 } // VoiceOver bug, when items that disallow user selection are focused 25507 // VoiceOver gets confused and scrolls to the end of the page. ï\_(ãÆâ)_/ï 25508 25509 25510 data.button.attr('style', '-webkit-user-select: text;'); // Add attributes to toggle element 25511 25512 if (data.button.attr('aria-label') == null) { 25513 data.button.attr('aria-label', 'menu'); 25514 } 25515 25516 data.button.attr('role', 'button'); 25517 data.button.attr('tabindex', '0'); 25518 data.button.attr('aria-controls', data.overlayContainerId); 25519 data.button.attr('aria-haspopup', 'menu'); 25520 data.button.attr('aria-expanded', 'false'); // Remove old events 25521 25522 data.el.off(namespace); 25523 data.button.off(namespace); 25524 data.menu.off(namespace); // Set config from data attributes 25525 25526 configure(data); // Add events based on mode 25527 25528 if (designer) { 25529 removeOverlay(data); 25530 data.el.on('setting' + namespace, handler(data)); 25531 } else { 25532 addOverlay(data); 25533 data.button.on('click' + namespace, toggle(data)); 25534 data.menu.on('click' + namespace, 'a', navigate(data)); 25535 data.button.on('keydown' + namespace, makeToggleButtonKeyboardHandler(data)); 25536 data.el.on('keydown' + namespace, makeLinksKeyboardHandler(data)); 25537 } // Trigger initial resize 25538 25539 25540 resize(i, el); 25541 } 25542 25543 function teardown(i, el) { 25544 var data = $.data(el, namespace); 25545 25546 if (data) { 25547 removeOverlay(data); 25548 $.removeData(el, namespace); 25549 } 25550 } 25551 25552 function removeOverlay(data) { 25553 if (!data.overlay) { 25554 return; 25555 } 25556 25557 close(data, true); 25558 data.overlay.remove(); 25559 data.overlay = null; 25560 } 25561 25562 function addOverlay(data) { 25563 if (data.overlay) { 25564 return; 25565 } 25566 25567 data.overlay = $(overlay).appendTo(data.el); 25568 data.overlay.attr('id', data.overlayContainerId); 25569 data.parent = data.menu.parent(); 25570 close(data, true); 25571 } 25572 25573 function configure(data) { 25574 var config = {}; 25575 var old = data.config || {}; // Set config options from data attributes 25576 25577 var animation = config.animation = data.el.attr('data-animation') || 'default'; 25578 config.animOver = /^over/.test(animation); 25579 config.animDirect = /left$/.test(animation) ? -1 : 1; // Re-open menu if the animation type changed 25580 25581 if (old.animation !== animation) { 25582 data.open && _.defer(reopen, data); 25583 } 25584 25585 config.easing = data.el.attr('data-easing') || 'ease'; 25586 config.easing2 = data.el.attr('data-easing2') || 'ease'; 25587 var duration = data.el.attr('data-duration'); 25588 config.duration = duration != null ? Number(duration) : 400; 25589 config.docHeight = data.el.attr('data-doc-height'); // Store config in data 25590 25591 data.config = config; 25592 } 25593 25594 function handler(data) { 25595 return function (evt, options) { 25596 options = options || {}; 25597 var winWidth = $win.width(); 25598 configure(data); 25599 options.open === true && open(data, true); 25600 options.open === false && close(data, true); // Reopen if media query changed after setting 25601 25602 data.open && _.defer(function () { 25603 if (winWidth !== $win.width()) { 25604 reopen(data); 25605 } 25606 }); 25607 }; 25608 } 25609 25610 function makeToggleButtonKeyboardHandler(data) { 25611 return function (evt) { 25612 switch (evt.keyCode) { 25613 case KEY_CODES.SPACE: 25614 case KEY_CODES.ENTER: 25615 { 25616 // Toggle returns a function 25617 toggle(data)(); 25618 evt.preventDefault(); 25619 return evt.stopPropagation(); 25620 } 25621 25622 case KEY_CODES.ESCAPE: 25623 { 25624 close(data); 25625 evt.preventDefault(); 25626 return evt.stopPropagation(); 25627 } 25628 25629 case KEY_CODES.ARROW_RIGHT: 25630 case KEY_CODES.ARROW_DOWN: 25631 case KEY_CODES.HOME: 25632 case KEY_CODES.END: 25633 { 25634 if (!data.open) { 25635 evt.preventDefault(); 25636 return evt.stopPropagation(); 25637 } 25638 25639 if (evt.keyCode === KEY_CODES.END) { 25640 data.selectedIdx = data.links.length - 1; 25641 } else { 25642 data.selectedIdx = 0; 25643 } 25644 25645 focusSelectedLink(data); 25646 evt.preventDefault(); 25647 return evt.stopPropagation(); 25648 } 25649 } 25650 }; 25651 } 25652 25653 function makeLinksKeyboardHandler(data) { 25654 return function (evt) { 25655 if (!data.open) { 25656 return; 25657 } // Realign selectedIdx with the menu item that is currently in focus. 25658 // We need this because we do not track the `Tab` key activity! 25659 25660 25661 data.selectedIdx = data.links.index(document.activeElement); 25662 25663 switch (evt.keyCode) { 25664 case KEY_CODES.HOME: 25665 case KEY_CODES.END: 25666 { 25667 if (evt.keyCode === KEY_CODES.END) { 25668 data.selectedIdx = data.links.length - 1; 25669 } else { 25670 data.selectedIdx = 0; 25671 } 25672 25673 focusSelectedLink(data); 25674 evt.preventDefault(); 25675 return evt.stopPropagation(); 25676 } 25677 25678 case KEY_CODES.ESCAPE: 25679 { 25680 close(data); // Focus toggle button 25681 25682 data.button.focus(); 25683 evt.preventDefault(); 25684 return evt.stopPropagation(); 25685 } 25686 25687 case KEY_CODES.ARROW_LEFT: 25688 case KEY_CODES.ARROW_UP: 25689 {
25690 data.selectedIdx = Math.max(-1, data.selectedIdx - 1); 25691 focusSelectedLink(data); 25692 evt.preventDefault(); 25693 return evt.stopPropagation(); 25694 } 25695 25696 case KEY_CODES.ARROW_RIGHT: 25697 case KEY_CODES.ARROW_DOWN: 25698 { 25699 data.selectedIdx = Math.min(data.links.length - 1, data.selectedIdx + 1); 25700 focusSelectedLink(data); 25701 evt.preventDefault(); 25702 return evt.stopPropagation(); 25703 } 25704 } 25705 }; 25706 } 25707 25708 function focusSelectedLink(data) { 25709 if (data.links[data.selectedIdx]) { 25710 var selectedElement = data.links[data.selectedIdx]; 25711 selectedElement.focus(); 25712 navigate(selectedElement); 25713 } 25714 } 25715 25716 function reopen(data) { 25717 if (!data.open) { 25718 return; 25719 } 25720 25721 close(data, true); 25722 open(data, true); 25723 } 25724 25725 function toggle(data) { 25726 // Debounce toggle to wait for accurate open state 25727 return debounce(function () { 25728 data.open ? close(data) : open(data); 25729 }); 25730 } 25731 25732 function navigate(data) { 25733 return function (evt) { 25734 var link = $(this); 25735 var href = link.attr('href'); // Avoid late clicks on touch devices 25736 25737 if (!Webflow.validClick(evt.currentTarget)) { 25738 evt.preventDefault(); 25739 return; 25740 } // Close when navigating to an in-page anchor 25741 25742 25743 if (href && href.indexOf('#') === 0 && data.open) { 25744 close(data); 25745 } 25746 }; 25747 } 25748 25749 function outside(data) { 25750 // Unbind previous click handler if it exists 25751 if (data.outside) { 25752 $doc.off('click' + namespace, data.outside); 25753 } 25754 25755 return function (evt) { 25756 var $target = $(evt.target); // Ignore clicks on Editor overlay UI 25757 25758 if (inEditor && $target.closest('.w-editor-bem-EditorOverlay').length) { 25759 return; 25760 } // Close menu when clicked outside, debounced to wait for state 25761 25762 25763 outsideDebounced(data, $target); 25764 }; 25765 } 25766 25767 var outsideDebounced = debounce(function (data, $target) { 25768 if (!data.open) { 25769 return; 25770 } 25771 25772 var menu = $target.closest('.w-nav-menu'); 25773 25774 if (!data.menu.is(menu)) { 25775 close(data); 25776 } 25777 }); 25778 25779 function resize(i, el) { 25780 var data = $.data(el, namespace);
25780 // Check for collapsed state based on button display 25781 25782 var collapsed = data.collapsed = data.button.css('display') !== 'none'; // Close menu if button is no longer visible (and not in designer) 25783 25784 if (data.open && !collapsed && !designer) { 25785 close(data, true); 25786 } // Set max-width of links + dropdowns to match container 25787 25788 25789 if (data.container.length) { 25790 var updateEachMax = updateMax(data); 25791 data.links.each(updateEachMax); 25792 data.dropdowns.each(updateEachMax); 25793 } // If currently open, update height to match body 25794 25795 25796 if (data.open) { 25797 setOverlayHeight(data); 25798 } 25799 } 25800 25801 var maxWidth = 'max-width'; 25802 25803 function updateMax(data) { 25804 // Set max-width of each element to match container 25805 var containMax = data.container.css(maxWidth); 25806 25807 if (containMax === 'none') { 25808 containMax = ''; 25809 } 25810 25811 return function (i, link) { 25812 link = $(link); 25813 link.css(maxWidth, ''); // Don't set the max-width if an upstream value exists 25814 25815 if (link.css(maxWidth) === 'none') { 25816 link.css(maxWidth, containMax); 25817 } 25818 }; 25819 } 25820 25821 function addMenuOpen(i, el) { 25822 el.setAttribute('data-nav-menu-open', ''); 25823 } 25824 25825 function removeMenuOpen(i, el) { 25826 el.removeAttribute('data-nav-menu-open'); 25827 } 25828 25829 function open(data, immediate) { 25830 if (data.open) { 25831 return; 25832 } 25833 25834 data.open = true; 25835 data.menu.each(addMenuOpen); 25836 data.links.addClass(navbarOpenedLink); 25837 data.dropdowns.addClass(navbarOpenedDropdown); 25838 data.dropdownToggle.addClass(navbarOpenedDropdownToggle); 25839 data.dropdownList.addClass(navbarOpenedDropdownList); 25840 data.button.addClass(navbarOpenedButton); 25841 var config = data.config; 25842 var animation = config.animation; 25843 25844 if (animation === 'none' || !tram.support.transform || config.duration <= 0) { 25845 immediate = true; 25846 } 25847 25848 var bodyHeight = setOverlayHeight(data); 25849 var menuHeight = data.menu.outerHeight(true); 25850 var menuWidth = data.menu.outerWidth(true); 25851 var navHeight = data.el.height(); 25852 var navbarEl = data.el[0]; 25853 resize(0, navbarEl); 25854 ix.intro(0, navbarEl); 25855 Webflow.redraw.up(); // Listen for click outside events 25856 25857 if (!designer) { 25858 $doc.on('click' + namespace, data.outside); 25859 } // No transition for immediate 25860 25861 25862 if (immediate) { 25863 complete(); 25864 return; 25865 } 25866 25867 var transConfig = 'transform ' + config.duration + 'ms ' + config.easing; // Add menu to overlay 25868 25869 if (data.overlay) { 25870 menuSibling = data.menu.prev(); 25871 data.overlay.show().append(data.menu); 25872 } // Over left/right 25873 25874 25875 if (config.animOver) { 25876 tram(data.menu).add(transConfig).set({ 25877 x: config.animDirect * menuWidth, 25878 height: bodyHeight 25879 }).start({ 25880 x: 0 25881 }).then(complete); 25882 data.overlay && data.overlay.width(menuWidth); 25883 return; 25884 } // Drop Down 25885 25886 25887 var offsetY = navHeight + menuHeight; 25888 tram(data.menu).add(transConfig).set({ 25889 y: -offsetY 25890 }).start({ 25891 y: 0 25892 }).then(complete); 25893 25894 function complete() { 25895 data.button.attr('aria-expanded', 'true'); 25896 } 25897 } 25898 25899 function setOverlayHeight(data) { 25900 var config = data.config; 25901 var bodyHeight = config.docHeight ? $doc.height() : $body.height(); 25902 25903 if (config.animOver) { 25904 data.menu.height(bodyHeight); 25905 } else if (data.el.css('position') !== 'fixed') { 25906 bodyHeight -= data.el.outerHeight(true); 25907 } 25908 25909 data.overlay && data.overlay.height(bodyHeight); 25910 return bodyHeight; 25911 } 25912 25913 function close(data, immediate) { 25914 if (!data.open) { 25915 return; 25916 } 25917 25918 data.open = false; 25919 data.button.removeClass(navbarOpenedButton); 25920 var config = data.config; 25921 25922 if (config.animation === 'none' || !tram.support.transform || config.duration <= 0) { 25923 immediate = true; 25924 } 25925 25926 ix.outro(0, data.el[0]); // Stop listening for click outside events 25927 25928 $doc.off('click' + namespace, data.outside); 25929 25930 if (immediate) { 25931 tram(data.menu).stop(); 25932 complete(); 25933 return; 25934 } 25935 25936 var transConfig = 'transform ' + config.duration + 'ms ' + config.easing2; 25937 var menuHeight = data.menu.outerHeight(true); 25938 var menuWidth = data.menu.outerWidth(true); 25939 var navHeight = data.el.height(); // Over left/right 25940 25941 if (config.animOver) { 25942 tram(data.menu).add(transConfig).start({ 25943 x: menuWidth * config.animDirect 25944 }).then(complete); 25945 return; 25946 } // Drop Down 25947 25948 25949 var offsetY = navHeight + menuHeight; 25950 tram(data.menu).add(transConfig).start({ 25951 y: -offsetY 25952 }).then(complete); 25953 25954 function complete() { 25955 data.menu.height(''); 25956 tram(data.menu).set({ 25957 x: 0, 25958 y: 0 25959 }); 25960 data.menu.each(removeMenuOpen); 25961 data.links.removeClass(navbarOpenedLink); 25962 data.dropdowns.removeClass(navbarOpenedDropdown); 25963 data.dropdownToggle.removeClass(navbarOpenedDropdownToggle); 25964 data.dropdownList.removeClass(navbarOpenedDropdownList); 25965 25966 if (data.overlay && data.overlay.children().length) { 25967 // Move menu back to parent at the original location 25968 menuSibling.length ? data.menu.insertAfter(menuSibling) : data.menu.prependTo(data.parent); 25969 data.overlay.attr('style', '').hide(); 25970 } // Trigger event so other components can hook in (dropdown) 25971 25972 25973 data.el.triggerHandler('w-close'); 25974 data.button.attr('aria-expanded', 'false'); 25975 } 25976 } // Export module 25977 25978 25979 return api; 25980}); 25981 25982/***/ }), 25983/* 473 */ 25984/***/ (function(module, exports, __webpack_require__) { 25985 25986"use strict"; 25987 // @wf-will-never-add-flow-to-this-file 25988 25989/* global window, document */ 25990 25991/* eslint-disable no-var */ 25992 25993/** 25994 * Webflow: Slider component 25995 */ 25996 25997var Webflow = __webpack_require__(10); 25998 25999var IXEvents = __webpack_require__(56); 26000 26001var KEY_CODES = { 26002 ARROW_LEFT: 37, 26003 ARROW_UP: 38, 26004 ARROW_RIGHT: 39, 26005 ARROW_DOWN: 40, 26006 SPACE: 32, 26007 ENTER: 13, 26008 HOME: 36, 26009 END: 35 26010}; 26011var FOCUSABLE_SELECTOR = 'a[href], area[href], [role="button"], input, select, textarea, button, iframe, object, embed, *[tabindex], *[contenteditable]'; 26012Webflow.define('slider', module.exports = function ($, _) { 26013 var api = {}; 26014 var tram = $.tram; 26015 var $doc = $(document); 26016 var $sliders; 26017 var designer; 26018 var inApp = Webflow.env(); 26019 var namespace = '.w-slider'; 26020 var dot = '<div class="w-slider-dot" data-wf-ignore />'; 26021 var ariaLiveLabelHtml = '<div aria-live="off" aria-atomic="true" class="w-slider-aria-label" data-wf-ignore />'; 26022 var forceShow = 'w-slider-force-show'; 26023 var ix = IXEvents.triggers; 26024 var fallback; 26025 var inRedraw = false; // ----------------------------------- 26026 // Module methods 26027 26028 api.ready = function () { 26029 designer = Webflow.env('design'); 26030 init(); 26031 }; 26032 26033 api.design = function () { 26034 designer = true; // Helps slider init on Designer load. 26035 26036 setTimeout(init, 1000); 26037 }; 26038 26039 api.preview = function () { 26040 designer = false;
26041 init(); 26042 }; 26043 26044 api.redraw = function () { 26045 inRedraw = true; 26046 init(); 26047 inRedraw = false; 26048 }; 26049 26050 api.destroy = removeListeners; // ----------------------------------- 26051 // Private methods 26052 26053 function init() { 26054 // Find all sliders on the page 26055 $sliders = $doc.find(namespace); 26056 26057 if (!$sliders.length) { 26058 return; 26059 } 26060 26061 $sliders.each(build); 26062 26063 if (fallback) { 26064 return; 26065 } 26066 26067 removeListeners(); 26068 addListeners(); 26069 } 26070 26071 function removeListeners() { 26072 Webflow.resize.off(renderAll); 26073 Webflow.redraw.off(api.redraw); 26074 } 26075 26076 function addListeners() { 26077 Webflow.resize.on(renderAll); 26078 Webflow.redraw.on(api.redraw); 26079 } 26080 26081 function renderAll() { 26082 $sliders.filter(':visible').each(render); 26083 } 26084 26085 function build(i, el) { 26086 var $el = $(el); // Store slider state in data 26087 26088 var data = $.data(el, namespace); 26089 26090 if (!data) { 26091 data = $.data(el, namespace, { 26092 index: 0, 26093 depth: 1, 26094 hasFocus: { 26095 keyboard: false, 26096 mouse: false 26097 }, 26098 el: $el, 26099 config: {} 26100 }); 26101 } 26102 26103 data.mask = $el.children('.w-slider-mask'); 26104 data.left = $el.children('.w-slider-arrow-left'); 26105 data.right = $el.children('.w-slider-arrow-right'); 26106 data.nav = $el.children('.w-slider-nav'); 26107 data.slides = data.mask.children('.w-slide'); 26108 data.slides.each(ix.reset); 26109 26110 if (inRedraw) { 26111 data.maskWidth = 0; 26112 } 26113 26114 if ($el.attr('role') === undefined) { 26115 $el.attr('role', 'region'); 26116 } 26117 26118 if ($el.attr('aria-label') === undefined) { 26119 $el.attr('aria-label', 'carousel'); 26120 } // Store the ID of the slider slide view mask 26121 26122 26123 var slideViewId = data.mask.attr('id'); // If user did not provide an ID, set it 26124 26125 if (!slideViewId) { 26126 slideViewId = 'w-slider-mask-' + i; 26127 data.mask.attr('id', slideViewId); 26128 } // Create aria live label 26129 26130 26131 if (!designer && !data.ariaLiveLabel) { 26132 data.ariaLiveLabel = $(ariaLiveLabelHtml).appendTo(data.mask); 26133 } // Add attributes to left/right buttons 26134 26135 26136 data.left.attr('role', 'button'); 26137 data.left.attr('tabindex', '0'); 26138 data.left.attr('aria-controls', slideViewId); 26139 26140 if (data.left.attr('aria-label') === undefined) { 26141 data.left.attr('aria-label', 'previous slide'); 26142 } 26143 26144 data.right.attr('role', 'button'); 26145 data.right.attr('tabindex', '0'); 26146 data.right.attr('aria-controls', slideViewId); 26147 26148 if (data.right.attr('aria-label') === undefined) { 26149 data.right.attr('aria-label', 'next slide'); 26150 } // Disable in old browsers 26151 26152 26153 if (!tram.support.transform) { 26154 data.left.hide(); 26155 data.right.hide(); 26156 data.nav.hide(); 26157 fallback = true; 26158 return; 26159 } // Remove old events 26160 26161 26162 data.el.off(namespace); 26163 data.left.off(namespace); 26164 data.right.off(namespace); 26165 data.nav.off(namespace); // Set config from data attributes 26166 26167 configure(data); // Add events based on mode 26168 26169 if (designer) { 26170 data.el.on('setting' + namespace, handler(data)); 26171 stopTimer(data); 26172 data.hasTimer = false; 26173 } else { 26174 data.el.on('swipe' + namespace, handler(data)); 26175 data.left.on('click' + namespace, previousFunction(data)); 26176 data.right.on('click' + namespace, next(data)); 26177 data.left.on('keydown' + namespace, keyboardSlideButtonsFunction(data, previousFunction)); 26178 data.right.on('keydown' + namespace, keyboardSlideButtonsFunction(data, next)); // Listen to nav keyboard events 26179 26180 data.nav.on('keydown' + namespace, '> div', handler(data)); // Start timer if autoplay is true, only once 26181 26182 if (data.config.autoplay && !data.hasTimer) { 26183 data.hasTimer = true; 26184 data.timerCount = 1; 26185 startTimer(data); 26186 } 26187 26188 data.el.on('mouseenter' + namespace, hasFocus(data, true, 'mouse')); 26189 data.el.on('focusin' + namespace, hasFocus(data, true, 'keyboard')); 26190 data.el.on('mouseleave' + namespace, hasFocus(data, false, 'mouse')); 26191 data.el.on('focusout' + namespace, hasFocus(data, false, 'keyboard')); 26192 } // Listen to nav click events 26193 26194 26195 data.nav.on('click' + namespace, '> div', handler(data)); // Remove gaps from formatted html (for inline-blocks) 26196 26197 if (!inApp) { 26198 data.mask.contents().filter(function () { 26199 return this.nodeType === 3; 26200 }).remove(); 26201 } // If slider or any parent is hidden, temporarily show for measurements (https://github.com/webflow/webflow/issues/24921) 26202 26203 26204 var $elHidden = $el.filter(':hidden'); 26205 $elHidden.addClass(forceShow); 26206 var $elHiddenParents = $el.parents(':hidden'); 26207 $elHiddenParents.addClass(forceShow); // Run first render 26208 26209 if (!inRedraw) { 26210 render(i, el); 26211 } // If slider or any parent is hidden, reset after temporarily showing for measurements 26212 26213 26214 $elHidden.removeClass(forceShow); 26215 $elHiddenParents.removeClass(forceShow); 26216 } 26217 26218 function configure(data) { 26219 var config = {}; 26220 config.crossOver = 0; // Set config options from data attributes 26221 26222 config.animation = data.el.attr('data-animation') || 'slide'; 26223 26224 if (config.animation === 'outin') { 26225 config.animation = 'cross'; 26226 config.crossOver = 0.5; 26227 } 26228 26229 config.easing = data.el.attr('data-easing') || 'ease'; 26230 var duration = data.el.attr('data-duration'); 26231 config.duration = duration != null ? parseInt(duration, 10) : 500; 26232 26233 if (isAttrTrue(data.el.attr('data-infinite'))) { 26234 config.infinite = true; 26235 } 26236 26237 if (isAttrTrue(data.el.attr('data-disable-swipe'))) { 26238 config.disableSwipe = true; 26239 } 26240 26241 if (isAttrTrue(data.el.attr('data-hide-arrows'))) { 26242 config.hideArrows = true; 26243 } else if (data.config.hideArrows) { 26244 data.left.show(); 26245 data.right.show(); 26246 } 26247 26248 if (isAttrTrue(data.el.attr('data-autoplay'))) {
26249 config.autoplay = true; 26250 config.delay = parseInt(data.el.attr('data-delay'), 10) || 2000; 26251 config.timerMax = parseInt(data.el.attr('data-autoplay-limit'), 10); // Disable timer on first touch or mouse down 26252 26253 var touchEvents = 'mousedown' + namespace + ' touchstart' + namespace; 26254 26255 if (!designer) { 26256 data.el.off(touchEvents).one(touchEvents, function () { 26257 stopTimer(data); 26258 }); 26259 } 26260 } // Use edge buffer to help calculate page count 26261 26262 26263 var arrowWidth = data.right.width(); 26264 config.edge = arrowWidth ? arrowWidth + 40 : 100; // Store config in data 26265 26266 data.config = config; 26267 } 26268 26269 function isAttrTrue(value) { 26270 return value === '1' || value === 'true'; 26271 } 26272 26273 function hasFocus(data, focusIn, eventType) { 26274 return function (evt) { 26275 if (!focusIn) { 26276 // Prevent Focus Out if moving to another element in the slider 26277 if ($.contains(data.el.get(0), evt.relatedTarget)) { 26278 return; 26279 } 26280 26281 data.hasFocus[eventType] = focusIn; // Prevent Aria live change if focused by other input 26282 26283 if (data.hasFocus.mouse && eventType === 'keyboard' || data.hasFocus.keyboard && eventType === 'mouse') { 26284 return; 26285 } 26286 } else { 26287 data.hasFocus[eventType] = focusIn; 26288 } 26289 26290 if (focusIn) { 26291 data.ariaLiveLabel.attr('aria-live', 'polite'); 26292 26293 if (data.hasTimer) { 26294 stopTimer(data); 26295 } 26296 } else { 26297 data.ariaLiveLabel.attr('aria-live', 'off'); 26298 26299 if (data.hasTimer) { 26300 startTimer(data); 26301 } 26302 } 26303 26304 return; 26305 }; 26306 } 26307 26308 function keyboardSlideButtonsFunction(data, directionFunction) { 26309 return function (evt) { 26310 switch (evt.keyCode) { 26311 case KEY_CODES.SPACE: 26312 case KEY_CODES.ENTER: 26313 { 26314 // DirectionFunction returns a function 26315 directionFunction(data)(); 26316 evt.preventDefault(); 26317 return evt.stopPropagation(); 26318 } 26319 } 26320 }; 26321 } 26322 26323 function previousFunction(data) { 26324 return function () { 26325 change(data, { 26326 index: data.index - 1, 26327 vector: -1 26328 }); 26329 }; 26330 } 26331 26332 function next(data) { 26333 return function () { 26334 change(data, { 26335 index: data.index + 1, 26336 vector: 1 26337 }); 26338 }; 26339 } 26340 26341 function select(data, value) { 26342 // Select page based on slide element index 26343 var found = null; 26344 26345 if (value === data.slides.length) { 26346 init(); 26347 layout(data); // Rebuild and find new slides 26348 } 26349 26350 _.each(data.anchors, function (anchor, index) { 26351 $(anchor.els).each(function (i, el) { 26352 if ($(el).index() === value) { 26353 found = index; 26354 } 26355 }); 26356 }); 26357 26358 if (found != null) { 26359 change(data, { 26360 index: found, 26361 immediate: true 26362 }); 26363 } 26364 } 26365 26366 function startTimer(data) { 26367 stopTimer(data); 26368 var config = data.config; 26369 var timerMax = config.timerMax; 26370 26371 if (timerMax && data.timerCount++ > timerMax) { 26372 return; 26373 } 26374 26375 data.timerId = window.setTimeout(function () { 26376 if (data.timerId == null || designer) { 26377 return; 26378 } 26379 26380 next(data)(); 26381 startTimer(data); 26382 }, config.delay); 26383 } 26384 26385 function stopTimer(data) { 26386 window.clearTimeout(data.timerId); 26387 data.timerId = null; 26388 } 26389 26390 function handler(data) { 26391 return function (evt, options) { 26392 options = options || {}; 26393 var config = data.config; // Designer settings 26394 26395 if (designer && evt.type === 'setting') { 26396 if (options.select === 'prev') { 26397 return previousFunction(data)(); 26398 } 26399 26400 if (options.select === 'next') { 26401 return next(data)(); 26402 } 26403 26404 configure(data); 26405 layout(data); 26406 26407 if (options.select == null) { 26408 return; 26409 } 26410 26411 select(data, options.select); 26412 return; 26413 } // Swipe event 26414 26415 26416 if (evt.type === 'swipe') { 26417 if (config.disableSwipe) { 26418 return; 26419 } 26420 26421 if (Webflow.env('editor')) { 26422 return; 26423 } 26424 26425 if (options.direction === 'left') { 26426 return next(data)(); 26427 } 26428 26429 if (options.direction === 'right') { 26430 return previousFunction(data)(); 26431 } 26432 26433 return; 26434 } // Page buttons 26435 26436 26437 if (data.nav.has(evt.target).length) { 26438 var index = $(evt.target).index(); 26439 26440 if (evt.type === 'click') { 26441 change(data, { 26442 index: index 26443 }); 26444 } 26445 26446 if (evt.type === 'keydown') { 26447 switch (evt.keyCode) { 26448 case KEY_CODES.ENTER: 26449 case KEY_CODES.SPACE: 26450 { 26451 change(data, { 26452 index: index 26453 }); 26454 evt.preventDefault(); 26455 break; 26456 } 26457 26458 case KEY_CODES.ARROW_LEFT: 26459 case KEY_CODES.ARROW_UP: 26460 { 26461 focusDot(data.nav, Math.max(index - 1, 0)); 26462 evt.preventDefault(); 26463 break; 26464 } 26465 26466 case KEY_CODES.ARROW_RIGHT: 26467 case KEY_CODES.ARROW_DOWN: 26468 { 26469 focusDot(data.nav, Math.min(index + 1, data.pages)); 26470 evt.preventDefault(); 26471 break; 26472 } 26473 26474 case KEY_CODES.HOME: 26475 { 26476 focusDot(data.nav, 0); 26477 evt.preventDefault(); 26478 break; 26479 } 26480 26481 case KEY_CODES.END: 26482 { 26483 focusDot(data.nav, data.pages); 26484 evt.preventDefault(); 26485 break; 26486 } 26487 26488 default: 26489 { 26490 return; 26491 } 26492 } 26493 } 26494 } 26495 }; 26496 } 26497 26498 function focusDot($nav, index) { 26499 // Focus nav dot; don't change class to active 26500 var $active = $nav.children().eq(index).focus(); 26501 $nav.children().not($active); 26502 } 26503 26504 function change(data, options) { 26505 options = options || {}; 26506 var config = data.config; 26507 var anchors = data.anchors; // Set new index 26508 26509 data.previous = data.index; 26510 var index = options.index; 26511 var shift = {}; 26512 26513 if (index < 0) { 26514 index = anchors.length - 1; 26515 26516 if (config.infinite) { 26517 // Shift first slide to the end 26518 shift.x = -data.endX; 26519 shift.from = 0; 26520 shift.to = anchors[0].width; 26521 } 26522 } else if (index >= anchors.length) { 26523 index = 0; 26524 26525 if (config.infinite) { 26526 // Shift last slide to the start
26527 shift.x = anchors[anchors.length - 1].width; 26528 shift.from = -anchors[anchors.length - 1].x; 26529 shift.to = shift.from - shift.x; 26530 } 26531 } 26532 26533 data.index = index; // Select nav dot; set class active 26534 26535 var $active = data.nav.children().eq(index).addClass('w-active').attr('aria-pressed', 'true').attr('tabindex', '0'); 26536 data.nav.children().not($active).removeClass('w-active').attr('aria-pressed', 'false').attr('tabindex', '-1'); // Hide arrows 26537 26538 if (config.hideArrows) { 26539 data.index === anchors.length - 1 ? data.right.hide() : data.right.show(); 26540 data.index === 0 ? data.left.hide() : data.left.show(); 26541 } // Get page offset from anchors 26542 26543 26544 var lastOffsetX = data.offsetX || 0; 26545 var offsetX = data.offsetX = -anchors[data.index].x; 26546 var resetConfig = { 26547 x: offsetX, 26548 opacity: 1, 26549 visibility: '' 26550 }; // Transition slides 26551 26552 var targets = $(anchors[data.index].els); 26553 var prevTargs = $(anchors[data.previous] && anchors[data.previous].els); 26554 var others = data.slides.not(targets); 26555 var animation = config.animation; 26556 var easing = config.easing; 26557 var duration = Math.round(config.duration); 26558 var vector = options.vector || (data.index > data.previous ? 1 : -1); 26559 var fadeRule = 'opacity ' + duration + 'ms ' + easing; 26560 var slideRule = 'transform ' + duration + 'ms ' + easing; // Make active slides' content focusable 26561 26562 targets.find(FOCUSABLE_SELECTOR).removeAttr('tabindex'); 26563 targets.removeAttr('aria-hidden'); // Voiceover bug: Sometimes descendants are still visible, so hide everything... 26564 26565 targets.find('*').removeAttr('aria-hidden'); // Prevent focus on inactive slides' content 26566 26567 others.find(FOCUSABLE_SELECTOR).attr('tabindex', '-1'); 26568 others.attr('aria-hidden', 'true'); // Voiceover bug: Sometimes descendants are still visible, so hide everything... 26569 26570 others.find('*').attr('aria-hidden', 'true'); // Trigger IX events 26571 26572 if (!designer) { 26573 targets.each(ix.intro); 26574 others.each(ix.outro); 26575 } // Set immediately after layout changes (but not during redraw) 26576 26577 26578 if (options.immediate && !inRedraw) { 26579 tram(targets).set(resetConfig); 26580 resetOthers(); 26581 return; 26582 } // Exit early if index is unchanged 26583 26584 26585 if (data.index === data.previous) { 26586 return; 26587 } // Announce slide change to screen reader 26588 26589 26590 if (!designer) { 26591 data.ariaLiveLabel.text("Slide ".concat(index + 1, " of ").concat(anchors.length, ".")); 26592 } // Cross Fade / Out-In 26593 26594 26595 if (animation === 'cross') { 26596 var reduced = Math.round(duration - duration * config.crossOver); 26597 var wait = Math.round(duration - reduced); 26598 fadeRule = 'opacity ' + reduced + 'ms ' + easing; 26599 tram(prevTargs).set({ 26600 visibility: '' 26601 }).add(fadeRule).start({ 26602 opacity: 0 26603 }); 26604 tram(targets).set({ 26605 visibility: '', 26606 x: offsetX, 26607 opacity: 0, 26608 zIndex: data.depth++ 26609 }).add(fadeRule).wait(wait).then({ 26610 opacity: 1 26611 }).then(resetOthers); 26612 return; 26613 } // Fade Over 26614 26615 26616 if (animation === 'fade') { 26617 tram(prevTargs).set({ 26618 visibility: '' 26619 }).stop(); 26620 tram(targets).set({ 26621 visibility: '', 26622 x: offsetX, 26623 opacity: 0, 26624 zIndex: data.depth++ 26625 }).add(fadeRule).start({ 26626 opacity: 1 26627 }).then(resetOthers); 26628 return; 26629 } // Slide Over 26630 26631 26632 if (animation === 'over') { 26633 resetConfig = { 26634 x: data.endX 26635 }; 26636 tram(prevTargs).set({ 26637 visibility: '' 26638 }).stop(); 26639 tram(targets).set({ 26640 visibility: '', 26641 zIndex: data.depth++, 26642 x: offsetX + anchors[data.index].width * vector 26643 }).add(slideRule).start({ 26644 x: offsetX 26645 }).then(resetOthers); 26646 return; 26647 } // Slide - infinite scroll 26648 26649 26650 if (config.infinite && shift.x) { 26651 tram(data.slides.not(prevTargs)).set({ 26652 visibility: '', 26653 x: shift.x 26654 }).add(slideRule).start({ 26655 x: offsetX 26656 }); 26657 tram(prevTargs).set({ 26658 visibility: '', 26659 x: shift.from 26660 }).add(slideRule).start({ 26661 x: shift.to 26662 }); 26663 data.shifted = prevTargs; 26664 } else { 26665 if (config.infinite && data.shifted) { 26666 tram(data.shifted).set({ 26667 visibility: '', 26668 x: lastOffsetX 26669 }); 26670 data.shifted = null; 26671 } // Slide - basic scroll 26672 26673 26674 tram(data.slides).set({ 26675 visibility: '' 26676 }).add(slideRule).start({ 26677 x: offsetX 26678 }); 26679 } // Helper to move others out of view 26680 26681 26682 function resetOthers() { 26683 targets = $(anchors[data.index].els); 26684 others = data.slides.not(targets); 26685 26686 if (animation !== 'slide') { 26687 resetConfig.visibility = 'hidden'; 26688 } 26689 26690 tram(others).set(resetConfig); 26691 } 26692 } 26693 26694 function render(i, el) { 26695 var data = $.data(el, namespace); 26696 26697 if (!data) { 26698 return; 26699 } 26700 26701 if (maskChanged(data)) { 26702 return layout(data); 26703 } 26704 26705 if (designer && slidesChanged(data)) { 26706 layout(data); 26707 } 26708 } 26709 26710 function layout(data) { 26711 // Determine page count from width of slides 26712 var pages = 1; 26713 var offset = 0; 26714 var anchor = 0; 26715 var width = 0; 26716 var maskWidth = data.maskWidth; 26717 var threshold = maskWidth - data.config.edge; 26718 26719 if (threshold < 0) { 26720 threshold = 0; 26721 } 26722 26723 data.anchors = [{ 26724 els: [], 26725 x: 0, 26726 width: 0 26727 }]; 26728 data.slides.each(function (i, el) { 26729 if (anchor - offset > threshold) { 26730 pages++; 26731 offset += maskWidth; // Store page anchor for transition 26732 26733 data.anchors[pages - 1] = { 26734 els: [], 26735 x: anchor, 26736 width: 0 26737 }; 26738 } // Set next anchor using current width + margin 26739 26740 26741 width = $(el).outerWidth(true); 26742 anchor += width; 26743 data.anchors[pages - 1].width += width; 26744 data.anchors[pages - 1].els.push(el); 26745 var ariaLabel = i + 1 + ' of ' + data.slides.length; 26746 $(el).attr('aria-label', ariaLabel); 26747 $(el).attr('role', 'group'); 26748 }); 26749 data.endX = anchor; // Build dots if nav exists and needs updating 26750 26751 if (designer) { 26752 data.pages = null; 26753 } 26754 26755 if (data.nav.length && data.pages !== pages) { 26756 data.pages = pages; 26757 buildNav(data); 26758 } // Make sure index is still within range and call change handler 26759 26760 26761 var index = data.index; 26762 26763 if (index >= pages) { 26764 index = pages - 1; 26765 } 26766 26767 change(data, { 26768 immediate: true, 26769 index: index 26770 }); 26771 } 26772 26773 function buildNav(data) { 26774 var dots = []; 26775 var $dot; 26776 var spacing = data.el.attr('data-nav-spacing'); 26777 26778 if (spacing) { 26779 spacing = parseFloat(spacing) + 'px'; 26780 } 26781 26782 for (var i = 0, len = data.pages; i < len; i++) { 26783 $dot = $(dot); 26784 $dot.attr('aria-label', 'Show slide ' + (i + 1) + ' of ' + len).attr('aria-pressed', 'false').attr('role', 'button').attr('tabindex', '-1'); 26785 26786 if (data.nav.hasClass('w-num')) { 26787 $dot.text(i + 1); 26788 } 26789 26790 if (spacing != null) { 26791 $dot.css({ 26792 'margin-left': spacing, 26793 'margin-right': spacing 26794 }); 26795 } 26796 26797 dots.push($dot); 26798 } 26799 26800 data.nav.empty().append(dots); 26801 } 26802 26803 function maskChanged(data) { 26804 var maskWidth = data.mask.width(); 26805 26806 if (data.maskWidth !== maskWidth) { 26807 data.maskWidth = maskWidth; 26808 return true; 26809 } 26810 26811 return false;
26812 } 26813 26814 function slidesChanged(data) { 26815 var slidesWidth = 0; 26816 data.slides.each(function (i, el) { 26817 slidesWidth += $(el).outerWidth(true); 26818 }); 26819 26820 if (data.slidesWidth !== slidesWidth) { 26821 data.slidesWidth = slidesWidth; 26822 return true; 26823 } 26824 26825 return false; 26826 } // Export module 26827 26828 26829 return api; 26830}); 26831 26832/***/ }), 26833/* 474 */ 26834/***/ (function(module, exports, __webpack_require__) { 26835 26836"use strict"; 26837 // @wf-will-never-add-flow-to-this-file 26838 26839/* global document window */ 26840 26841/* eslint-disable no-var */ 26842 26843/** 26844 * Webflow: Tabs component 26845 */ 26846 26847var Webflow = __webpack_require__(10); 26848 26849var IXEvents = __webpack_require__(56); 26850 26851Webflow.define('tabs', module.exports = function ($) { 26852 var api = {}; 26853 var tram = $.tram; 26854 var $doc = $(document); 26855 var $tabs; 26856 var design; 26857 var env = Webflow.env; 26858 var safari = env.safari; 26859 var inApp = env(); 26860 var tabAttr = 'data-w-tab'; 26861 var paneAttr = 'data-w-pane'; 26862 var namespace = '.w-tabs'; 26863 var linkCurrent = 'w--current'; 26864 var tabActive = 'w--tab-active'; 26865 var ix = IXEvents.triggers; 26866 var inRedraw = false; // ----------------------------------- 26867 // Module methods 26868 26869 api.ready = api.design = api.preview = init; 26870 26871 api.redraw = function () { 26872 inRedraw = true; 26873 init(); 26874 inRedraw = false; 26875 }; 26876 26877 api.destroy = function () { 26878 $tabs = $doc.find(namespace); 26879 26880 if (!$tabs.length) { 26881 return; 26882 } 26883 26884 $tabs.each(resetIX); 26885 removeListeners(); 26886 }; // ----------------------------------- 26887 // Private methods 26888 26889 26890 function init() { 26891 design = inApp && Webflow.env('design'); // Find all instances on the page 26892 26893 $tabs = $doc.find(namespace); 26894 26895 if (!$tabs.length) { 26896 return; 26897 } 26898 26899 $tabs.each(build); 26900 26901 if (Webflow.env('preview') && !inRedraw) { 26902 $tabs.each(resetIX); 26903 } 26904 26905 removeListeners(); 26906 addListeners(); 26907 } 26908 26909 function removeListeners() { 26910 Webflow.redraw.off(api.redraw); 26911 } 26912 26913 function addListeners() { 26914 Webflow.redraw.on(api.redraw); 26915 } 26916 26917 function resetIX(i, el) { 26918 var data = $.data(el, namespace); 26919 26920 if (!data) { 26921 return; 26922 } 26923 26924 data.links && data.links.each(ix.reset); 26925 data.panes && data.panes.each(ix.reset); 26926 } 26927 26928 function build(i, el) { 26929 var widgetHash = namespace.substr(1) + '-' + i; 26930 var $el = $(el); // Store state in data 26931 26932 var data = $.data(el, namespace); 26933 26934 if (!data) { 26935 data = $.data(el, namespace, { 26936 el: $el, 26937 config: {} 26938 }); 26939 } 26940 26941 data.current = null; 26942 data.tabIdentifier = widgetHash + '-' + tabAttr; 26943 data.paneIdentifier = widgetHash + '-' + paneAttr; 26944 data.menu = $el.children('.w-tab-menu'); 26945 data.links = data.menu.children('.w-tab-link'); 26946 data.content = $el.children('.w-tab-content'); 26947 data.panes = data.content.children('.w-tab-pane'); // Remove old events 26948 26949 data.el.off(namespace); 26950 data.links.off(namespace); // This role is necessary in the ARIA spec 26951 26952 data.menu.attr('role', 'tablist'); // Set all tabs unfocusable 26953 26954 data.links.attr('tabindex', '-1'); // Set config from data attributes 26955 26956 configure(data); // Wire up events when not in design mode 26957 26958 if (!design) { 26959 data.links.on('click' + namespace, linkSelect(data)); 26960 data.links.on('keydown' + namespace, handleLinkKeydown(data)); // Trigger first intro event from current tab 26961 26962 var $link = data.links.filter('.' + linkCurrent); 26963 var tab = $link.attr(tabAttr); 26964 tab && changeTab(data, { 26965 tab: tab, 26966 immediate: true 26967 }); 26968 } 26969 } 26970 26971 function configure(data) { 26972 var config = {}; // Set config options from data attributes 26973 26974 config.easing = data.el.attr('data-easing') || 'ease'; 26975 var intro = parseInt(data.el.attr('data-duration-in'), 10); // eslint-disable-next-line no-self-compare 26976 26977 intro = config.intro = intro === intro ? intro : 0; 26978 var outro = parseInt(data.el.attr('data-duration-out'), 10); // eslint-disable-next-line no-self-compare 26979 26980 outro = config.outro = outro === outro ? outro : 0; 26981 config.immediate = !intro && !outro; // Store config in data 26982 26983 data.config = config; 26984 } 26985 26986 function getActiveTabIdx(data) { 26987 var tab = data.current; 26988 return Array.prototype.findIndex.call(data.links, function (t) { 26989 return t.getAttribute(tabAttr) === tab; 26990 }, null); 26991 } 26992 26993 function linkSelect(data) { 26994 return function (evt) { 26995 evt.preventDefault(); 26996 var tab = evt.currentTarget.getAttribute(tabAttr); 26997 tab && changeTab(data, { 26998 tab: tab 26999 }); 27000 }; 27001 } 27002 27003 function handleLinkKeydown(data) { 27004 return function (evt) { 27005 var currentIdx = getActiveTabIdx(data); 27006 var keyName = evt.key; 27007 var keyMap = { 27008 ArrowLeft: currentIdx - 1, 27009 ArrowUp: currentIdx - 1, 27010 ArrowRight: currentIdx + 1, 27011 ArrowDown: currentIdx + 1, 27012 End: data.links.length - 1, 27013 Home: 0 27014 }; // Bail out of function if this key is not 27015 // involved in tab management 27016 27017 if (!(keyName in keyMap)) return; 27018 evt.preventDefault(); 27019 var nextIdx = keyMap[keyName]; // go back to end of tabs if we wrap past the start 27020 27021 if (nextIdx === -1) { 27022 nextIdx = data.links.length - 1; 27023 } // go back to start if we wrap past the last tab 27024 27025 27026 if (nextIdx === data.links.length) { 27027 nextIdx = 0; 27028 } 27029 27030 var tabEl = data.links[nextIdx]; 27031 var tab = tabEl.getAttribute(tabAttr); 27032 tab && changeTab(data, { 27033 tab: tab 27034 }); 27035 }; 27036 } 27037 27038 function changeTab(data, options) { 27039 options = options || {}; 27040 var config = data.config; 27041 var easing = config.easing; 27042 var tab = options.tab; // Don't select the same tab twice 27043 27044 if (tab === data.current) { 27045 return; 27046 } 27047 27048 data.current = tab; 27049 /** 27050 * The currently active tab. 27051 * Will be referenced to manage focus after 27052 * TabLink attributes are changed 27053 * @type {HTMLAnchorElement} 27054 */ 27055 27056 var currentTab; // Select the current link 27057 27058 data.links.each(function (i, el) { 27059 var $el = $(el); // Add important attributes at build time. 27060 27061 if (options.immediate || config.immediate) { 27062 // Store corresponding pane for reference. 27063 var pane = data.panes[i]; // IDs are necessary for ARIA relationships, 27064 // so if the user did not create one, we create one 27065 // using our generated identifier 27066 27067 if (!el.id) { 27068 el.id = data.tabIdentifier + '-' + i; 27069 } 27070 27071 if (!pane.id) { 27072 pane.id = data.paneIdentifier + '-' + i; 27073 } 27074 27075 el.href = '#' + pane.id; // Tab elements must take this role 27076 27077 el.setAttribute('role', 'tab'); // Tab elements must reference the unique ID of the panel 27078 // that they control 27079 27080 el.setAttribute('aria-controls', pane.id); // Tab elements must report that they are not selected 27081 // by default 27082 27083 el.setAttribute('aria-selected', 'false'); // Panes must take on the `Tabpanel` role 27084 27085 pane.setAttribute('role', 'tabpanel'); // Elements with tabpanel role must be labelled by 27086 // their controlling tab 27087 27088 pane.setAttribute('aria-labelledby', el.id); 27089 } 27090 27091 if (el.getAttribute(tabAttr) === tab) { 27092 // This is the current tab. Store it. 27093 currentTab = el; 27094 $el.addClass(linkCurrent).removeAttr('tabindex').attr({ 27095 'aria-selected': 'true' 27096 }).each(ix.intro); 27097 } else if ($el.hasClass(linkCurrent)) { 27098 $el.removeClass(linkCurrent).attr({ 27099 tabindex: '-1', 27100 'aria-selected': 'false' 27101 }).each(ix.outro); 27102 } 27103 }); // Find the new tab panes and keep track of previous 27104 27105 var targets = []; 27106 var previous = []; 27107 data.panes.each(function (i, el) { 27108 var $el = $(el); 27109 27110 if (el.getAttribute(tabAttr) === tab) { 27111 targets.push(el); 27112 } else if ($el.hasClass(tabActive)) { 27113 previous.push(el); 27114 } 27115 }); 27116 var $targets = $(targets); 27117 var $previous = $(previous); // Switch tabs immediately and bypass transitions 27118 27119 if (options.immediate || config.immediate) { 27120 $targets.addClass(tabActive).each(ix.intro); 27121 $previous.removeClass(tabActive); // Redraw to benefit components in the hidden tab pane 27122 // But only if not currently in the middle of a redraw 27123 27124 if (!inRedraw) { 27125 Webflow.redraw.up(); 27126 } 27127 27128 return; 27129 } // Focus if this is not the on-page-load call to `changeTab` 27130 else { 27131 // Backwards compatible hack to prevent focus from scrolling 27132 var x = window.scrollX; 27133 var y = window.scrollY; 27134 currentTab.focus(); 27135 window.scrollTo(x, y); 27136 } // Fade out the currently active tab before intro 27137 27138 27139 if ($previous.length && config.outro) { 27140 $previous.each(ix.outro); 27141 tram($previous).add('opacity ' + config.outro + 'ms ' + easing, { 27142 fallback: safari 27143 }).start({ 27144 opacity: 0 27145 }).then(function () { 27146 return fadeIn(config, $previous, $targets); 27147 }); 27148 } else { 27149 // Skip the outro and play intro 27150 fadeIn(config, $previous, $targets); 27151 } 27152 } // Fade in the new target 27153 27154 27155 function fadeIn(config, $previous, $targets) { 27156 // Clear previous active class + styles touched by tram
27157 // We cannot remove the whole inline style because it could be dynamically bound 27158 $previous.removeClass(tabActive).css({ 27159 opacity: '', 27160 transition: '', 27161 transform: '', 27162 width: '', 27163 height: '' 27164 }); // Add active class to new target 27165 27166 $targets.addClass(tabActive).each(ix.intro); 27167 Webflow.redraw.up(); // Set opacity immediately if intro is zero 27168 27169 if (!config.intro) { 27170 return tram($targets).set({ 27171 opacity: 1 27172 }); 27173 } // Otherwise fade in opacity 27174 27175 27176 tram($targets).set({ 27177 opacity: 0 27178 }).redraw().add('opacity ' + config.intro + 'ms ' + config.easing, { 27179 fallback: safari 27180 }).start({ 27181 opacity: 1 27182 }); 27183 } // Export module 27184 27185 27186 return api; 27187}); 27188 27189/***/ }) 27190/******/ ]);/** 27191 * ---------------------------------------------------------------------- 27192 * Webflow: Interactions 2.0: Init 27193 */ 27194Webflow.require('ix2').init( 27195{"events":{"e-85":{"id":"e-85","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-46","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-86"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c15acf40643f|5161cb86-9693-c560-e39d-9e953d52b5f4","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c15acf40643f|5161cb86-9693-c560-e39d-9e953d52b5f4","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":40,"scrollOffsetUnit":"PX","delay":null,"direction":null,"effectIn":null},"createdOn":1600026112317},"e-87":{"id":"e-87","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-46","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-88"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".move-in-delay-0","originalId":"626892a65ef7c15acf40643f|4ec00d36-c58b-766d-d445-baa6c9a29b0e","appliesTo":"CLASS"},"targets":[{"selector":".move-in-delay-0","originalId":"626892a65ef7c15acf40643f|4ec00d36-c58b-766d-d445-baa6c9a29b0e","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1600027081396},"e-89":{"id":"e-89","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-47","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-90"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".move-in-delay-1","originalId":"626892a65ef7c13a734064df|cb37c809-f9bb-ed7f-887e-a0945507a0fa","appliesTo":"CLASS"},"targets":[{"selector":".move-in-delay-1","originalId":"626892a65ef7c13a734064df|cb37c809-f9bb-ed7f-887e-a0945507a0fa","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1600028311219},"e-91":{"id":"e-91","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-48","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-92"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".move-in-delay-2","originalId":"626892a65ef7c13a734064df|2007cce3-276c-40d3-e760-49c4aa760dff","appliesTo":"CLASS"},"targets":[{"selector":".move-in-delay-2","originalId":"626892a65ef7c13a734064df|2007cce3-276c-40d3-e760-49c4aa760dff","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1600028510906},"e-93":{"id":"e-93","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-49","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-94"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".move-in-delay-3","originalId":"626892a65ef7c13a734064df|4d2d62e4-116b-8461-174b-842859ebc4bb","appliesTo":"CLASS"},"targets":[{"selector":".move-in-delay-3","originalId":"626892a65ef7c13a734064df|4d2d62e4-116b-8461-174b-842859ebc4bb","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1600028985310},"e-95":{"id":"e-95","name":"","animationType":"custom","eventTypeId":"SCROLL_INTO_VIEW","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-50","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-96"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".fade-in-delay-0","originalId":"626892a65ef7c13a734064df|21edcfe1-0e1a-f339-9f2e-1ce4134efa51","appliesTo":"CLASS"},"targets":[{"selector":".fade-in-delay-0","originalId":"626892a65ef7c13a734064df|21edcfe1-0e1a-f339-9f2e-1ce4134efa51","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":0,"scrollOffsetUnit":"%","delay":null,"direction":null,"effectIn":null},"createdOn":1600036021210},"e-97":{"id":"e-97","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-51","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".decorated-image-bottom-right-image.elevation-6","originalId":"ae87664f-625f-a4c7-3878-666ad3cc3196","appliesTo":"CLASS"},"targets":[{"selector":".decorated-image-bottom-right-image.elevation-6","originalId":"ae87664f-625f-a4c7-3878-666ad3cc3196","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-51-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600036698471}
27195,"e-99":{"id":"e-99","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-52","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-image","originalId":"ae87664f-625f-a4c7-3878-666ad3cc3196","appliesTo":"CLASS"},"targets":[{"selector":".parallax-image","originalId":"ae87664f-625f-a4c7-3878-666ad3cc3196","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-52-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600036909744},"e-100":{"id":"e-100","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-51","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-down-1x","originalId":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d","appliesTo":"CLASS"},"targets":[{"selector":".parallax-down-1x","originalId":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-51-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600037626607},"e-105":{"id":"e-105","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-54","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-up-1x","originalId":"626892a65ef7c13a734064df|194a0814-3b94-d56b-97b2-4de458f855fa","appliesTo":"CLASS"},"targets":[{"selector":".parallax-up-1x","originalId":"626892a65ef7c13a734064df|194a0814-3b94-d56b-97b2-4de458f855fa","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-54-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600043283551},"e-106":{"id":"e-106","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-52","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-down-0-5x","originalId":"626892a65ef7c13a734064df|ce290d6e-983b-4332-a6eb-e68fefd642d8","appliesTo":"CLASS"},"targets":[{"selector":".parallax-down-0-5x","originalId":"626892a65ef7c13a734064df|ce290d6e-983b-4332-a6eb-e68fefd642d8","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-52-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600043568415},"e-107":{"id":"e-107","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-55","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-up-0-5x","originalId":"626892a65ef7c13a734064df|de436b6a-31a9-a2a0-fd2e-21de55e80a0c","appliesTo":"CLASS"},"targets":[{"selector":".parallax-up-0-5x","originalId":"626892a65ef7c13a734064df|de436b6a-31a9-a2a0-fd2e-21de55e80a0c","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-55-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600043640648},"e-108":{"id":"e-108","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-56","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".parallax-down-2x","originalId":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d","appliesTo":"CLASS"},"targets":[{"selector":".parallax-down-2x","originalId":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-56-p","smoothing":80,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1600043715550},"e-122":{"id":"e-122","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-66","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-123"}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c16a6d4064bc|f1d569bb-ce5c-20b9-6215-f94cbf63297e","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c16a6d4064bc|f1d569bb-ce5c-20b9-6215-f94cbf63297e","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1631848033115},"e-124":{"id":"e-124","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-67","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-125"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".modal-overlay","originalId":"626892a65ef7c16a6d4064bc|81d3d64b-cce4-b2d1-9764-9ac1afad07da","appliesTo":"CLASS"},"targets":[{"selector":".modal-overlay","originalId":"626892a65ef7c16a6d4064bc|81d3d64b-cce4-b2d1-9764-9ac1afad07da","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1631848252010},"e-126":{"id":"e-126","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-67","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-127"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".close-modal","originalId":"626892a65ef7c16a6d4064bc|aeb2c8a8-41da-7331-e7e9-7eca54a49186","appliesTo":"CLASS"},"targets":[{"selector":".close-modal","originalId":"626892a65ef7c16a6d4064bc|aeb2c8a8-41da-7331-e7e9-7eca54a49186","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1631848760757}
27195,"e-128":{"id":"e-128","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-67","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-129"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".icon-button.close-modal","originalId":"626892a65ef7c16a6d4064bc|dcab8174-7916-e6b8-aaa8-5d6fab5248dc","appliesTo":"CLASS"},"targets":[{"selector":".icon-button.close-modal","originalId":"626892a65ef7c16a6d4064bc|dcab8174-7916-e6b8-aaa8-5d6fab5248dc","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1631849199449},"e-130":{"id":"e-130","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-68","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-131"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".sticky-section-header","originalId":"626892a65ef7c151934064db|d5d9e46f-75d3-322c-5894-846b1db3b352","appliesTo":"CLASS"},"targets":[{"selector":".sticky-section-header","originalId":"626892a65ef7c151934064db|d5d9e46f-75d3-322c-5894-846b1db3b352","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1632160530159},"e-131":{"id":"e-131","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-69","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-130"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".sticky-section-header","originalId":"626892a65ef7c151934064db|d5d9e46f-75d3-322c-5894-846b1db3b352","appliesTo":"CLASS"},"targets":[{"selector":".sticky-section-header","originalId":"626892a65ef7c151934064db|d5d9e46f-75d3-322c-5894-846b1db3b352","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1632160530164},"e-136":{"id":"e-136","name":"","animationType":"custom","eventTypeId":"MOUSE_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-73","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-137"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".faq-wrapper","originalId":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4","appliesTo":"CLASS"},"targets":[{"selector":".faq-wrapper","originalId":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1632445871309},"e-137":{"id":"e-137","name":"","animationType":"custom","eventTypeId":"MOUSE_SECOND_CLICK","action":{"id":"","actionTypeId":"GENERAL_START_ACTION","config":{"delay":0,"easing":"","duration":0,"actionListId":"a-74","affectedElements":{},"playInReverse":false,"autoStopEventId":"e-136"}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".faq-wrapper","originalId":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4","appliesTo":"CLASS"},"targets":[{"selector":".faq-wrapper","originalId":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4","appliesTo":"CLASS"}],"config":{"loop":false,"playInReverse":false,"scrollOffsetValue":null,"scrollOffsetUnit":null,"delay":null,"direction":null,"effectIn":null},"createdOn":1632445871311},"e-142":{"id":"e-142","name":"","animationType":"custom","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c151934064db","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c151934064db","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1632791693508}
27195,"e-143":{"id":"e-143","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-57","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-wrapper","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a7","appliesTo":"CLASS"},"targets":[{"selector":".image-wrapper","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a7","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-57-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642373640673},"e-144":{"id":"e-144","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-77","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-decoration","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a8","appliesTo":"CLASS"},"targets":[{"selector":".image-decoration","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a8","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-77-p","smoothing":75,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642373685367}
27195,"e-145":{"id":"e-145","name":"","animationType":"preset","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-75","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c151934064db|c5d52678-88e1-600e-a8d2-dda1613db3ca","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c151934064db|c5d52678-88e1-600e-a8d2-dda1613db3ca","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-75-p","selectedAxis":"X_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":50,"restingState":50},{"continuousParameterGroupId":"a-75-p-2","selectedAxis":"Y_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":50,"restingState":50}],"createdOn":1642374206771},"e-146":{"id":"e-146","name":"","animationType":"custom","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-78","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c1125b406478|045595cb-b7a8-d551-2fa9-752d8071c2f1","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c1125b406478|045595cb-b7a8-d551-2fa9-752d8071c2f1","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-78-p","selectedAxis":"X_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":80,"restingState":50},{"continuousParameterGroupId":"a-78-p-2","selectedAxis":"Y_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":80,"restingState":50}],"createdOn":1642375547414},"e-147":{"id":"e-147","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-79","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-decoration-2","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a8","appliesTo":"CLASS"},"targets":[{"selector":".image-decoration-2","originalId":"aca0d9d6-18b2-100e-ef19-85730ce477a8","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-79-p","smoothing":75,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642373685367},"e-148":{"id":"e-148","name":"","animationType":"custom","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c1cdfb40649c","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c1cdfb40649c","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642391040423},"e-149":{"id":"e-149","name":"","animationType":"preset","eventTypeId":"MOUSE_MOVE","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-75","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c1c2ac4064ae|1fe40e74-6fc8-8525-b0c0-74d45bd249dc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c1c2ac4064ae|1fe40e74-6fc8-8525-b0c0-74d45bd249dc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-75-p","selectedAxis":"X_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":50,"restingState":50},{"continuousParameterGroupId":"a-75-p-2","selectedAxis":"Y_AXIS","basedOn":"ELEMENT","reverse":false,"smoothing":50,"restingState":50}],"createdOn":1642392211069},"e-152":{"id":"e-152","name":"","animationType":"preset","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-80","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-wrapper","originalId":"626892a65ef7c15acf40643f|387564a6-a7ba-d4d6-6484-11c9ba1512d4","appliesTo":"CLASS"},"targets":[{"selector":".image-wrapper","originalId":"626892a65ef7c15acf40643f|387564a6-a7ba-d4d6-6484-11c9ba1512d4","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-80-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642397959092},"e-153":{"id":"e-153","name":"","animationType":"preset","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-81","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-decoration","originalId":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5","appliesTo":"CLASS"},"targets":[{"selector":".image-decoration","originalId":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-81-p","smoothing":75,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642397959092},"e-154":{"id":"e-154","name":"","animationType":"preset","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-82","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"selector":".image-decoration-2","originalId":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5","appliesTo":"CLASS"},"targets":[{"selector":".image-decoration-2","originalId":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5","appliesTo":"CLASS"}],"config":[{"continuousParameterGroupId":"a-82-p","smoothing":75,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642397959092},"e-155":{"id":"e-155","name":"","animationType":"custom","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c15acf40643f","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c15acf40643f","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1642529510684},"e-156":{"id":"e-156","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-83","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c15acf40643f|3cf9ce47-9c89-50a2-0f81-1e2cfb1706d5","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c15acf40643f|3cf9ce47-9c89-50a2-0f81-1e2cfb1706d5","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-83-p","smoothing":70,"startsEntering":false,"addStartOffset":false,"addOffsetValue":50,"startsExiting":true,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1643593890115},"e-157":{"id":"e-157","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-83","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c15acf40643f|e15d8d06-10f5-a400-cf33-f1d93f77f268","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c15acf40643f|e15d8d06-10f5-a400-cf33-f1d93f77f268","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-83-p","smoothing":70,"startsEntering":false,"addStartOffset":false,"addOffsetValue":50,"startsExiting":true,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1643594038188},"e-158":{"id":"e-158","name":"","animationType":"custom","eventTypeId":"SCROLLING_IN_VIEW","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-83","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c15acf40643f|fca10acb-7c26-7523-197d-5e53e390d4bc","appliesTo":"ELEMENT","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c15acf40643f|fca10acb-7c26-7523-197d-5e53e390d4bc","appliesTo":"ELEMENT","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-83-p","smoothing":70,"startsEntering":false,"addStartOffset":false,"addOffsetValue":50,"startsExiting":true,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1643594086263},"e-159":{"id":"e-159","name":"","animationType":"custom","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"626892a65ef7c1196e4064e5","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"626892a65ef7c1196e4064e5","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1643943590601},"e-160":{"id":"e-160","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"6268efa1f4315be170d4b37a","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"6268efa1f4315be170d4b37a","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1651044258088},"e-161":{"id":"e-161","name":"","animationType":"preset","eventTypeId":"PAGE_SCROLL","action":{"id":"","actionTypeId":"GENERAL_CONTINUOUS_ACTION","config":{"actionListId":"a-76","affectedElements":{},"duration":0}},"mediaQueries":["main","medium","small","tiny"],"target":{"id":"6268f00ec4c1b084e81ed126","appliesTo":"PAGE","styleBlockIds":[]},"targets":[{"id":"6268f00ec4c1b084e81ed126","appliesTo":"PAGE","styleBlockIds":[]}],"config":[{"continuousParameterGroupId":"a-76-p","smoothing":50,"startsEntering":true,"addStartOffset":false,"addOffsetValue":50,"startsExiting":false,"addEndOffset":false,"endOffsetValue":50}],"createdOn":1651044367314}},"actionLists":{"a-46":{"id":"a-46","title":"Animation - Move In - Delay 0","actionItemGroups":[{"actionItems":[{"id":"a-46-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":32,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-46-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-46-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":200,"easing":[0.25,0.25,0,1.003],"duration":400,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":0,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-46-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":200,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1600026120393},"a-47":{"id":"a-47","title":"Animation - Move In - Delay 1","actionItemGroups":[{"actionItems":[{"id":"a-47-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":32,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-47-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-47-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":300,"easing":[0.25,0.25,0,1.003],"duration":400,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":0,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-47-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":300,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1600026120393},"a-48":{"id":"a-48","title":"Animation - Move In - Delay 2","actionItemGroups":[{"actionItems":[{"id":"a-48-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":32,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-48-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-48-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":400,"easing":[0.25,0.25,0,1.003],"duration":400,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":0,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-48-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":400,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1600026120393},"a-49":{"id":"a-49","title":"Animation - Move In - Delay 3","actionItemGroups":[{"actionItems":[{"id":"a-49-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":32,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-49-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-49-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":500,"easing":[0.25,0.25,0,1.003],"duration":400,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"yValue":0,"xUnit":"PX","yUnit":"PX","zUnit":"PX"}},{"id":"a-49-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":500,"easing":"","duration":300,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|f550888e-3aa4-9d2d-fb84-fcbffb2c2e9e"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1600026120393},"a-50":{"id":"a-50","title":"Animation - Fade In - Delay 0","actionItemGroups":[{"actionItems":[{"id":"a-50-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|21edcfe1-0e1a-f339-9f2e-1ce4134efa51"},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-50-n-2","actionTypeId":"STYLE_OPACITY","config":{"delay":200,"easing":"","duration":400,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|21edcfe1-0e1a-f339-9f2e-1ce4134efa51"},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1600036027300},"a-51":{"id":"a-51","title":"Parallax - Down - 1x","continuousParameterGroups":[{"id":"a-51-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-51-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":
27195"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":-10,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-51-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":10,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600036702657},"a-52":{"id":"a-52","title":"Parallax - Down - 0.5x","continuousParameterGroups":[{"id":"a-52-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-52-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":-5,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-52-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":5,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600036702657},"a-54":{"id":"a-54","title":"Parallax - Up - 1x","continuousParameterGroups":[{"id":"a-54-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-54-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":10,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-54-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":-10,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600036702657},"a-55":{"id":"a-55","title":"Parallax - Up - 0.5x","continuousParameterGroups":[{"id":"a-55-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-55-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":5,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-55-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"ae87664f-625f-a4c7-3878-666ad3cc3196"},"yValue":-5,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600036702657},"a-56":{"id":"a-56","title":"Parallax - Down - 2x","continuousParameterGroups":[{"id":"a-56-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-56-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d"},"yValue":-20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-56-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d"},"yValue":20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600043729114},"a-66":{"id":"a-66","title":"Open modal","actionItemGroups":[{"actionItems":[{"id":"a-66-n","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":"none"}},{"id":"a-66-n-3","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-66-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":"flex"}}]},{"actionItems":[{"id":"a-66-n-4","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":200,"target":{"selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":1,"unit":""}}]}],"useFirstGroupAsInitialState":true,"createdOn":1631848063301},"a-67":{"id":"a-67","title":"Close modal","actionItemGroups":[{"actionItems":[{"id":"a-67-n","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":200,"target":{"useEventTarget":"PARENT","selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":0,"unit":""}}]},{"actionItems":[{"id":"a-67-n-2","actionTypeId":"GENERAL_DISPLAY","config":{"delay":0,"easing":"","duration":0,"target":{"useEventTarget":"PARENT","selector":".modal","selectorGuids":["852fc665-3bbe-83de-68cd-73f57c64fc29"]},"value":"none"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1631848259928},"a-68":{"id":"a-68","title":"Open section accordion","actionItemGroups":[{"actionItems":[{"id":"a-68-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"SIBLINGS","selector":".section-accordion-content","selectorGuids":["cd62d00f-5554-bd99-6377-6b8fa1263b09"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-68-n-3","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc"]},"zValue":-45,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}}]},{"actionItems":[{"id":"a-68-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"easeInOut","duration":300,"target":{"useEventTarget":"SIBLINGS","selector":".section-accordion-content","selectorGuids":["cd62d00f-5554-bd99-6377-6b8fa1263b09"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-68-n-4","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"easeInOut","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc"]},"zValue":0,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}}]}],"useFirstGroupAsInitialState":true,"createdOn":1632160532979},"a-69":{"id":"a-69","title":"Close section accordion","actionItemGroups":[{"actionItems":[{"id":"a-69-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"easeInOut","duration":300,"target":{"useEventTarget":"SIBLINGS","selector":".section-accordion-content","selectorGuids":["cd62d00f-5554-bd99-6377-6b8fa1263b09"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-69-n-2","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"easeInOut","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc"]},"zValue":-45,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}}]}],"useFirstGroupAsInitialState":false,"createdOn":1632160532979},"a-73":{"id":"a-73","title":"FAQ expand","actionItemGroups":[{"actionItems":[{"id":"a-73-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".faq-content","selectorGuids":["71bfc8d2-c9e6-c3ad-b21c-16640d9728e5"]}
27195,"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-73-n-5","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon.small","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc","607fdfec-0c35-3df5-e0e0-7d2f58f1320e"]},"zValue":-45,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}},{"id":"a-73-n-3","actionTypeId":"STYLE_BACKGROUND_COLOR","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4"},"globalSwatchId":"","rValue":34,"bValue":62,"gValue":48,"aValue":0}}]},{"actionItems":[{"id":"a-73-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".faq-content","selectorGuids":["71bfc8d2-c9e6-c3ad-b21c-16640d9728e5"]},"widthUnit":"PX","heightUnit":"AUTO","locked":false}},{"id":"a-73-n-6","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"ease","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon.small","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc","607fdfec-0c35-3df5-e0e0-7d2f58f1320e"]},"zValue":0,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}},{"id":"a-73-n-4","actionTypeId":"STYLE_BACKGROUND_COLOR","config":{"delay":0,"easing":"","duration":200,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4"},"globalSwatchId":"e66407a4","rValue":34,"bValue":62,"gValue":48,"aValue":1}}]}],"useFirstGroupAsInitialState":true,"createdOn":1632445875560},"a-74":{"id":"a-74","title":"FAQ collapse","actionItemGroups":[{"actionItems":[{"id":"a-74-n-4","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"ease","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".faq-content","selectorGuids":["71bfc8d2-c9e6-c3ad-b21c-16640d9728e5"]},"heightValue":0,"widthUnit":"PX","heightUnit":"px","locked":false}},{"id":"a-74-n-5","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"ease","duration":200,"target":{"useEventTarget":"CHILDREN","selector":".ui-icon.small","selectorGuids":["ee40d249-5148-3978-97f8-a0af6bbb52fc","607fdfec-0c35-3df5-e0e0-7d2f58f1320e"]},"zValue":-45,"xUnit":"DEG","yUnit":"DEG","zUnit":"deg"}},{"id":"a-74-n-6","actionTypeId":"STYLE_BACKGROUND_COLOR","config":{"delay":0,"easing":"","duration":200,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|d3b3bab3-b02e-0d06-ea39-05db21a47cb4"},"globalSwatchId":"","rValue":34,"bValue":62,"gValue":48,"aValue":0}}]}],"useFirstGroupAsInitialState":false,"createdOn":1632445875560},"a-76":{"id":"a-76","title":"Show nav button on scroll","continuousParameterGroups":[{"id":"a-76-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-76-n","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".nav-cta","selectorGuids":["800abee9-4c78-9724-4af1-283592f9d488"]},"widthValue":0,"widthUnit":"%","heightUnit":"PX","locked":false}}]},{"keyframe":1,"actionItems":[{"id":"a-76-n-5","actionTypeId":"STYLE_BACKGROUND_COLOR","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".navigation","selectorGuids":["4ffe378f-974a-8dde-c204-f0690bf16ff7"]},"globalSwatchId":"","rValue":0,"bValue":0,"gValue":0,"aValue":0}},{"id":"a-76-n-7","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".icon-button.scroll-arrow","selectorGuids":["80aed2b4-77f5-19f6-7f87-73614ffac04d","9309c310-e645-1303-1474-ff105f80e6c6"]},"value":1,"unit":""}}]},{"keyframe":1.01,"actionItems":[{"id":"a-76-n-6","actionTypeId":"STYLE_BACKGROUND_COLOR","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".navigation","selectorGuids":["4ffe378f-974a-8dde-c204-f0690bf16ff7"]},"globalSwatchId":"a22c05ba","rValue":27,"bValue":49,"gValue":38,"aValue":1}},{"id":"a-76-n-8","actionTypeId":"STYLE_OPACITY","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".icon-button.scroll-arrow","selectorGuids":["80aed2b4-77f5-19f6-7f87-73614ffac04d","9309c310-e645-1303-1474-ff105f80e6c6"]},"value":0,"unit":""}}]},{"keyframe":4,"actionItems":[{"id":"a-76-n-3","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".nav-cta","selectorGuids":["800abee9-4c78-9724-4af1-283592f9d488"]},"widthValue":0,"widthUnit":"%","heightUnit":"PX","locked":false}}]},{"keyframe":4.1,"actionItems":[{"id":"a-76-n-4","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".nav-cta","selectorGuids":["800abee9-4c78-9724-4af1-283592f9d488"]},"widthValue":100,"widthUnit":"%","heightUnit":"PX","locked":false}}]},{"keyframe":100,"actionItems":[{"id":"a-76-n-2","actionTypeId":"STYLE_SIZE","config":{"delay":0,"easing":"","duration":500,"target":{"selector":".nav-cta","selectorGuids":["800abee9-4c78-9724-4af1-283592f9d488"]},"widthValue":100,"widthUnit":"%","heightUnit":"PX","locked":false}}]}]}],"createdOn":1632791570532},"a-57":{"id":"a-57","title":"Parallax - Up - 2x","continuousParameterGroups":[{"id":"a-57-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-57-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d"},"yValue":20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-57-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c13a734064df|9f70e810-b120-e632-d462-db9c00f23d2d"},"yValue":-20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600043729114},"a-77":{"id":"a-77","title":"Image Decoration Parallax","continuousParameterGroups":[{"id":"a-77-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-77-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"aca0d9d6-18b2-100e-ef19-85730ce477a8"},"xValue":16,"yValue":24,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-77-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"aca0d9d6-18b2-100e-ef19-85730ce477a8"},"xValue":16,"yValue":8,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]}]}],"createdOn":1642373724474},"a-75":{"id":"a-75","title":"iPhone 3D perspective","continuousParameterGroups":[{"id":"a-75-p","type":"MOUSE_X","parameterLabel":"Mouse X","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-75-n","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".iphone-mockup-wrapper._3d-perspective","selectorGuids":["12fff0d8-5dce-f1e3-8003-a192301a68b6","27d9a610-d3ed-862a-826a-d60f2b667bc8"]},"xValue":null,"yValue":-45,"zValue":10,"xUnit":"deg","yUnit":"deg","zUnit":"deg"}}]},{"keyframe":100,"actionItems":[{"id":"a-75-n-2","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".iphone-mockup-wrapper._3d-perspective","selectorGuids":["12fff0d8-5dce-f1e3-8003-a192301a68b6","27d9a610-d3ed-862a-826a-d60f2b667bc8"]},"xValue":null,"yValue":-15,"zValue":10,"xUnit":"deg","yUnit":"deg","zUnit":"deg"}}]}]},{"id":"a-75-p-2","type":"MOUSE_Y","parameterLabel":"Mouse Y","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-75-n-3","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".iphone-mockup-wrapper._3d-perspective","selectorGuids":["12fff0d8-5dce-f1e3-8003-a192301a68b6","27d9a610-d3ed-862a-826a-d60f2b667bc8"]},"xValue":14,"zValue":null,"xUnit":"deg","yUnit":"DEG","zUnit":"deg"}}]},{"keyframe":100,"actionItems":[{"id":"a-75-n-4","actionTypeId":"TRANSFORM_ROTATE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".iphone-mockup-wrapper._3d-perspective","selectorGuids":["12fff0d8-5dce-f1e3-8003-a192301a68b6","27d9a610-d3ed-862a-826a-d60f2b667bc8"]},"xValue":6,"zValue":null,"xUnit":"deg","yUnit":"DEG","zUnit":"deg"}}]}]}],"createdOn":1632699463986},"a-78":{"id":"a-78","title":"404 Cursor Movement","continuousParameterGroups":[{"id":"a-78-p","type":"MOUSE_X","parameterLabel":"Mouse X","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-78-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":"._404-cursor","selectorGuids":["8a1b3fde-4acb-4e1d-0c24-997609bf9283"]},"xValue":0,"xUnit":"vw","yUnit":"PX","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-78-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":"._404-cursor","selectorGuids":["8a1b3fde-4acb-4e1d-0c24-997609bf9283"]},"xValue":100,"xUnit":"vw","yUnit":"PX","zUnit":"PX"}}]}]},{"id":"a-78-p-2","type":"MOUSE_Y","parameterLabel":"Mouse Y","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-78-n-3","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":"._404-cursor","selectorGuids":["8a1b3fde-4acb-4e1d-0c24-997609bf9283"]},"yValue":0,"xUnit":"PX","yUnit":"vh","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-78-n-4","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":"._404-cursor","selectorGuids":["8a1b3fde-4acb-4e1d-0c24-997609bf9283"]},"yValue":100,"xUnit":"PX","yUnit":"vh","zUnit":"PX"}}]}]}],"createdOn":1642375551066},"a-79":{"id":"a-79","title":"Image Decoration Parallax 2","continuousParameterGroups":[{"id":"a-79-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-79-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"aca0d9d6-18b2-100e-ef19-85730ce477a8"},"xValue":16,"yValue":24,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-79-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"aca0d9d6-18b2-100e-ef19-85730ce477a8"},"xValue":16,"yValue":8,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]}]}],"createdOn":1642373724474},"a-80":{"id":"a-80","title":"Parallax - Up - 2x 2","continuousParameterGroups":[{"id":"a-80-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-80-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|9f70e8
2719510-b120-e632-d462-db9c00f23d2d"},"yValue":20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-80-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|9f70e810-b120-e632-d462-db9c00f23d2d"},"yValue":-20,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1600043729114},"a-81":{"id":"a-81","title":"Image Decoration Parallax 3","continuousParameterGroups":[{"id":"a-81-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-81-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5"},"xValue":16,"yValue":24,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-81-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5"},"xValue":16,"yValue":8,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]}]}],"createdOn":1642373724474},"a-82":{"id":"a-82","title":"Image Decoration Parallax 4","continuousParameterGroups":[{"id":"a-82-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-82-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5"},"xValue":16,"yValue":24,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-82-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":true,"id":"626892a65ef7c15acf40643f|deafb146-5e18-f281-9d90-cae7f4e748f5"},"xValue":16,"yValue":8,"xUnit":"px","yUnit":"px","zUnit":"PX"}}]}]}],"createdOn":1642373724474},"a-83":{"id":"a-83","title":"Theme Screenshot Parallax","continuousParameterGroups":[{"id":"a-83-p","type":"SCROLL_PROGRESS","parameterLabel":"Scroll","continuousActionGroups":[{"keyframe":0,"actionItems":[{"id":"a-83-n","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".image","selectorGuids":["3d474955-cea4-ef78-4ee9-4918853cac8e"]},"yValue":0,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]},{"keyframe":100,"actionItems":[{"id":"a-83-n-2","actionTypeId":"TRANSFORM_MOVE","config":{"delay":0,"easing":"","duration":500,"target":{"useEventTarget":"CHILDREN","selector":".image","selectorGuids":["3d474955-cea4-ef78-4ee9-4918853cac8e"]},"yValue":-58.5,"xUnit":"PX","yUnit":"%","zUnit":"PX"}}]}]}],"createdOn":1643593905688}},"site":{"mediaQueries":[{"key":"main","min":992,"max":10000},{"key":"medium","min":768,"max":991},{"key":"small","min":480,"max":767},{"key":"tiny","min":0,"max":479}]}} 27196);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.