PageSourceSearch

https://remont-tnvd.com/js/gallery/main.js?v=1727679708

js remont-tnvd.com collected 2026-10-07 02:59:27 UTC 610,449 bytes, 16,892 lines download raw bytes

vendor: 91 bytes, lines 1-4
1/******/ (() => { // webpackBootstrap
2/******/ 	var __webpack_modules__ = ({
3
4/***/ "./src/
4js/_components.js":
5/*!*******************************!*\
6  !*** ./src/js/_components.js ***!
7  \*******************************/
8/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
10"use strict";
11__webpack_require__.r(__webpack_exports__);
12/* harmony import */ var _components_select_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/select.js */ "./src/js/components/select.js");
13/* harmony import */ var _components_select_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_components_select_js__WEBPACK_IMPORTED_MODULE_0__);
14/* harmony import */ var _components_sliders_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/sliders.js */ "./src/js/components/sliders.js");
15/* harmony import */ var _components_gallery_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/gallery.js */ "./src/js/components/gallery.js");
16/* harmony import */ var _components_gallery_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_components_gallery_js__WEBPACK_IMPORTED_MODULE_3__);
17
18
19
20
21
22/***/ }),
23
24/***/ "./src/js/_functions.js":
25/*!******************************!*\
26  !*** ./src/js/_functions.js ***!
27  \******************************/
28/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
29
30"use strict";
31__webpack_require__.r(__webpack_exports__);
32/* harmony import */ var _functions_mobile_check__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./functions/mobile-check */ "./src/js/functions/mobile-check.js");
33// /* harmony import */ var graph_modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! graph-modal */ "./node_modules/graph-modal/src/graph-modal.js");
34/* harmony import */ var smooth_scroll__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! smooth-scroll */ "./node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js");
35/* harmony import */ var smooth_scroll__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(smooth_scroll__WEBPACK_IMPORTED_MODULE_2__);
36// Данный файл - лишь собрание подключений готовых компонентов.
37// Рекомендуется создавать отдельный файл в папке components и подключать все там
38// Определение операционной системы на мобильных
39
40// console.log((0,_functions_mobile_check__WEBPACK_IMPORTED_MODULE_0__.mobileCheck)()); // Определение ширины экрана
41// import { isMobile, isTablet, isDesktop } from './functions/check-viewport';
42// if (isDesktop()) {
43//   console.log('...')
44// }
45// Троттлинг функции (для ресайза, ввода в инпут, скролла и т.д.)
46// import { throttle } from './functions/throttle';
47// let yourFunc = () => { console.log('throttle') };
48// let func = throttle(yourFunc);
49// window.addEventListener('resize', func);
50// Фикс фулскрин-блоков
51// import './functions/fix-fullheight';
52// Реализация бургер-меню
53// import { burger } from './functions/burger';
54// Реализация остановки скролла (не забудьте вызвать функцию)
55// import { disableScroll } from './functions/disable-scroll';
56// Реализация включения скролла (не забудьте вызвать функцию)
57// import { enableScroll } from './functions/enable-scroll';
58// Реализация модального окна
59
60
61// const modal = new graph_modal__WEBPACK_IMPORTED_MODULE_1__["default"](); // Реализация табов
62// import GraphTabs from 'graph-tabs';
63// const tabs = new GraphTabs('tab');
64// Получение высоты шапки сайта (не забудьте вызвать функцию)
65// import { getHeaderHeight } from './functions/header-height';
66// Подключение плагина кастом-скролла
67// import 'simplebar';
68// Подключение плагина для позиционирования тултипов
69// import { createPopper, right} from '@popperjs/core';
70// createPopper(el, tooltip, {
71//   placement: 'right'
72// });
73// Подключение свайпера
74// import Swiper, { Navigation, Pagination } from 'swiper';
75// Swiper.use([Navigation, Pagination]);
76// const swiper = new Swiper(el, {
77//   slidesPerView: 'auto',
78// });
79// Подключение анимаций по скроллу
80// import AOS from 'aos';
81// AOS.init();
82// Подключение параллакса блоков при скролле
83// import Rellax from 'rellax';
84// const rellax = new Rellax('.rellax');
85// Подключение плавной прокрутки к якорям
86
87
88const scroll = new (smooth_scroll__WEBPACK_IMPORTED_MODULE_2___default())('a[href*="#"]'); // Подключение событий свайпа на мобильных
89// import 'swiped-events';
90// document.addEventListener('swiped', function(e) {
91//   console.log(e.target);
92//   console.log(e.detail);
93//   console.log(e.detail.dir);
94// });
95// import { validateForms } from './functions/validate-forms';
96// const rules1 = [...];
97// const afterForm = () => {
98//   console.log('Произошла отправка, тут можно писать любые действия');
99// };
100// validateForms('.form-1', rules1, afterForm);
101
102/***/ }),
103
104/***/ "./src/js/_vars.js":
105/*!*************************!*\
106  !*** ./src/js/_vars.js ***!
107  \*************************/
108/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
109
110"use strict";
111__webpack_require__.r(__webpack_exports__);
112/* harmony export */ __webpack_require__.d(__webpack_exports__, {
113/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
114/* harmony export */ });
115/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
116  windowEl: window,
117  documentEl: document,
118  htmlEl: document.documentElement,
119  bodyEl: document.body
120});
121
122/***/ }),
123
124/***/ "./src/js/_vendor.js":
125/*!***************************!*\
126  !*** ./src/js/_vendor.js ***!
127  \***************************/
128/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
129
130"use strict";
131__webpack_require__.r(__webpack_exports__);
132/* harmony import */ var _vendor_focus_visible_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vendor/focus-visible.js */ "./src/js/vendor/focus-visible.js");
133/* harmony import */ var _vendor_focus_visible_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_vendor_focus_visible_js__WEBPACK_IMPORTED_MODULE_0__);
134/* harmony import */ var _vendor_choices_min_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vendor/choices.min.js */ "./src/js/vendor/choices.min.js");
135/* harmony import */ var _vendor_choices_min_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_vendor_choices_min_js__WEBPACK_IMPORTED_MODULE_1__);
136
137
138
139/***/ }),
140
141/***/ "./src/js/components/gallery.js":
142/*!**************************************!*\
143  !*** ./src/js/components/gallery.js ***!
144  \**************************************/
145/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
146
147/////////// подключение галереи
148__webpack_require__(/*! fslightbox */ "./node_modules/fslightbox/index.js");
149
150/***/ }),
151
152
153
154
155/***/ "./src/js/components/select.js":
156/*!*************************************!*\
157  !*** ./src/js/components/select.js ***!
158  \*************************************/
159/***/ (() => {
160
161//select
162const multiDefault = () => {
163  const elements = document.querySelectorAll('.multi-default');
164  elements.forEach(el => {
165    const choices = new Choices(el, {
166      // searchEnabled: false,
167      noResultsText: 'Ничего не найдено'
168    });
169  });
170};
171
172multiDefault();
173
174/***/ }),
175
176/***/ "./src/js/components/sliders.js":
177/*!**************************************!*\
178  !*** ./src/js/components/sliders.js ***!
179  \**************************************/
180/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
181
182"use strict";
183__webpack_require__.r(__webpack_exports__);
184/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ "./node_modules/swiper/swiper.esm.js");
185///////////// подключение слайдеров
186
187swiper__WEBPACK_IMPORTED_MODULE_0__["default"].use([swiper__WEBPACK_IMPORTED_MODULE_0__.Navigation, swiper__WEBPACK_IMPORTED_MODULE_0__.Pagination]);
188const slider1 = document.querySelector('.gallery-slider');
189let mySwiper1 = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](slider1, {
190  slidesPerView: 1,
191  spaceBetween: 30,
192  loop: true,
193  pagination: {
194  	el: '.gallery__inner .swiper-pagination',
195  	clickable: true,
196  },
197  watchSlidesVisibility: true,
198  // autoplay: {
199  // 	delay: 5000,
200  // },
201  navigation: {
202    nextEl: '.gallery__swiper-button-next',
203    prevEl: '.gallery__swiper-button-prev'
204  },
205  breakpoints: {
206    320: {
207      slidesPerView: 1
208    },
209    480 : {
210      slidesPerView: 1
211    },
212    768: {
213      slidesPerView: 2
214    },
215    1025: {
216      slidesPerView: 3
217    }
218  }
219});
220const slider2 = document.querySelector('.video-slider');
221let mySwiper2 = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](slider2, {
222  slidesPerView: 1,
223  spaceBetween: 30,
224  loop: true,
225  // pagination: {
226  // 	el: '.swiper-pagination',
227  // 	clickable: true,
228  // },
229  // autoplay: {
230  // 	delay: 5000,
231  // },
232  navigation: {
233    nextEl: '.video__swiper-button-next',
234    prevEl: '.video__swiper-button-prev'
235  },
236  breakpoints: {
237    1350: {
238      slidesPerView: 3
239    },
240    768: {
241      slidesPerView: 2
242    }
243  }
244});
245      const slider3 = document.querySelector('.mark-slider');
246      let mySwiper3 = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](slider3, {
247        slidesPerView: 1,
248        spaceBetween: 30,
249        loop: true,
250        // pagination: {
251        // 	el: '.swiper-pagination',
252        // 	clickable: true,
253        // },
254        // autoplay: {
255        // 	delay: 5000,
256        // },
257        navigation: {
258          nextEl: '.mark__swiper-button-next',
259          prevEl: '.mark__swiper-button-prev'
260        },
261        breakpoints: {
262          1350: {
263            slidesPerView: 6
264          },
265          900: {
266            slidesPerView: 5
267          },
268          700: {
269            slidesPerView: 3
270          },
271          500: {
272            slidesPerView: 2
273          },
274          350: {
275            slidesPerView: 2
276          }
277
278        }
279      });
280
281      const slider4 = document.querySelector('.mark-mobile-slider');
282      let mySwiper4 = new swiper__WEBPACK_IMPORTED_MODULE_0__["default"](slider4, {
283        slidesPerView: 1,
284        spaceBetween: 30,
285        loop: true,
286        // pagination: {
287        // 	el: '.swiper-pagination',
288        // 	clickable: true,
289        // },
290        // autoplay: {
291        // 	delay: 5000,
292        // },
293        navigation: {
294          nextEl: '.mark_mobile__swiper-button-next',
295          prevEl: '.mark_mobile__swiper-button-prev'
296        },
297        breakpoints: {
298          1350: {
299            slidesPerView: 5
300          },
301          900: {
302            slidesPerView: 4
303          },
304          700: {
305            slidesPerView: 3
306          },
307          300: {
308            slidesPerView: 2
309          }
310        }
311      });
312/***/ }),
313
314/***/ "./src/js/functions/mobile-check.js":
315/*!******************************************!*\
316  !*** ./src/js/functions/mobile-check.js ***!
317  \******************************************/
318/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
319
320"use strict";
321__webpack_require__.r(__webpack_exports__);
322/* harmony export */ __webpack_require__.d(__webpack_exports__, {
323/* harmony export */   "mobileCheck": () => (/* binding */ mobileCheck)
324/* harmony export */ });
325/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../_vars */ "./src/js/_vars.js");
326
327const mobileCheck = () => {
328  const userAgent = navigator.userAgent || navigator.vendor || window.opera;
329
330  if (/android/i.test(userAgent)) {
331    _vars__WEBPACK_IMPORTED_MODULE_0__["default"].htmlEl.classList.add('page--android');
332    return "Android";
333  }
334
335  if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
336    _vars__WEBPACK_IMPORTED_MODULE_0__["default"].htmlEl.classList.add('page--ios');
337    return "iOS";
338  }
339
340  return "unknown";
341};
342
343/***/ }),
344
345/***/ "./src/js/vendor/choices.min.js":
346/*!**************************************!*\
347  !*** ./src/js/vendor/choices.min.js ***!
348  \**************************************/
349/***/ (() => {
350
351/*! choices.js v9.0.1 | © 2019 Josh Johnson | https://github.com/jshjohnson/Choices#readme */
352window.Choices = function (e) {
353  var t = {};
354
355  function i(n) {
356    if (t[n]) return t[n].exports;
357    var r = t[n] = {
358      i: n,
359      l: !1,
360      exports: {}
361    };
362    return e[n].call(r.exports, r, r.exports, i), r.l = !0, r.exports;
363  }
364
365  return i.m = e, i.c = t, i.d = function (e, t, n) {
366    i.o(e, t) || Object.defineProperty(e, t, {
367      enumerable: !0,
368      get: n
369    });
370  }, i.r = function (e) {
371    "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
372      value: "Module"
373    }), Object.defineProperty(e, "__esModule", {
374      value: !0
375    });
376  }, i.t = function (e, t) {
377    if (1 & t && (e = i(e)), 8 & t) return e;
378    if (4 & t && "object" == typeof e && e && e.__esModule) return e;
379    var n = Object.create(null);
380    if (i.r(n), Object.defineProperty(n, "default", {
381      enumerable: !0,
382      value: e
383    }), 2 & t && "string" != typeof e) for (var r in e) i.d(n, r, function (t) {
384      return e[t];
385    }.bind(null, r));
386    return n;
387  }, i.n = function (e) {
388    var t = e && e.__esModule ? function () {
389      return e.default;
390    } : function () {
391      return e;
392    };
393    return i.d(t, "a", t), t;
394  }, i.o = function (e, t) {
395    return Object.prototype.hasOwnProperty.call(e, t);
396  }, i.p = "/public/assets/scripts/", i(i.s = 7);
397}([function (e, t, i) {
398  "use strict";
399
400  Object.defineProperty(t, "__esModule", {
401    value: !0
402  });
403  var n = i(1);
404  t.DEFAULT_CLASSNAMES = {
405    containerOuter: "choices",
406    containerInner: "choices__inner",
407    input: "choices__input",
408    inputCloned: "choices__input--cloned",
409    list: "choices__list",
410    listItems: "choices__list--multiple",
411    listSingle: "choices__list--single",
412    listDropdown: "choices__list--dropdown",
413    item: "choices__item",
414    itemSelectable: "choices__item--selectable",
415    itemDisabled: "choices__item--disabled",
416    itemChoice: "choices__item--choice",
417    placeholder: "choices__placeholder",
418    group: "choices__group",
419    groupHeading: "choices__heading",
420    button: "choices__button",
421    activeState: "is-active",
422    focusState: "is-focused",
423    openState: "is-open",
424    disabledState: "is-disabled",
425    highlightedState: "is-highlighted",
426    selectedState: "is-selected",
427    flippedState: "is-flipped",
428    loadingState: "is-loading",
429    noResults: "has-no-results",
430    noChoices: "has-no-choices"
431  }, t.DEFAULT_CONFIG = {
432    items: [],
433    choices: [],
434    silent: !1,
435    renderChoiceLimit: -1,
436    maxItemCount: -1,
437    addItems: !0,
438    addItemFilter: null,
439    removeItems: !0,
440    removeItemButton: !1,
441    editItems: !1,
442    duplicateItemsAllowed: !0,
443    delimiter: ",",
444    paste: !0,
445    searchEnabled: !0,
446    searchChoices: !0,
447    searchFloor: 1,
448    searchResultLimit: 4,
449    searchFields: ["label", "value"],
450    position: "auto",
451    resetScrollPosition: !0,
452    shouldSort: !0,
453    shouldSortItems: !1,
454    sorter: n.sortByAlpha,
455    placeholder: !0,
456    placeholderValue: null,
457    searchPlaceholderValue: null,
458    prependValue: null,
459    appendValue: null,
460    renderSelectedChoices: "auto",
461    loadingText: "Loading...",
462    noResultsText: "No results found",
463    noChoicesText: "No choices to choose from",
464    itemSelectText: "Press to select",
465    uniqueItemText: "Only unique values can be added",
466    customAddItemText: "Only values matching specific conditions can be added",
467    addItemText: function (e) {
468      return 'Press Enter to add <b>"' + n.sanitise(e) + '"</b>';
469    },
470    maxItemText: function (e) {
471      return "Only " + e + " values can be added";
472    },
473    valueComparer: function (e, t) {
474      return e === t;
475    },
476    fuseOptions: {
477      includeScore: !0
478    },
479    callbackOnInit: null,
480    callbackOnCreateTemplates: null,
481    classNames: t.DEFAULT_CLASSNAMES
482  }, t.EVENTS = {
483    showDropdown: "showDropdown",
484    hideDropdown: "hideDropdown",
485    change: "change",
486    choice: "choice",
487    search: "search",
488    addItem: "addItem",
489    removeItem: "removeItem",
490    highlightItem: "highlightItem",
491    highlightChoice: "highlightChoice",
492    unhighlightItem: "unhighlightItem"
493  }, t.ACTION_TYPES = {
494    ADD_CHOICE: "ADD_CHOICE",
495    FILTER_CHOICES: "FILTER_CHOICES",
496    ACTIVATE_CHOICES: "ACTIVATE_CHOICES",
497    CLEAR_CHOICES: "CLEAR_CHOICES",
498    ADD_GROUP: "ADD_GROUP",
499    ADD_ITEM: "ADD_ITEM",
500    REMOVE_ITEM: "REMOVE_ITEM",
501    HIGHLIGHT_ITEM: "HIGHLIGHT_ITEM",
502    CLEAR_ALL: "CLEAR_ALL",
503    RESET_TO: "RESET_TO",
504    SET_IS_LOADING: "SET_IS_LOADING"
505  }, t.KEY_CODES = {
506    BACK_KEY: 46,
507    DELETE_KEY: 8,
508    ENTER_KEY: 13,
509    A_KEY: 65,
510    ESC_KEY: 27,
511    UP_KEY: 38,
512    DOWN_KEY: 40,
513    PAGE_UP_KEY: 33,
514    PAGE_DOWN_KEY: 34
515  }, t.TEXT_TYPE = "text", t.SELECT_ONE_TYPE = "select-one", t.SELECT_MULTIPLE_TYPE = "select-multiple", t.SCROLLING_SPEED = 4;
516}, function (e, t, i) {
517  "use strict";
518
519  var n;
520  Object.defineProperty(t, "__esModule", {
521    value: !0
522  }), t.getRandomNumber = function (e, t) {
523    return Math.floor(Math.random() * (t - e) + e);
524  }, t.generateChars = function (e) {
525    return Array.from({
526      length: e
527    }, function () {
528      return t.getRandomNumber(0, 36).toString(36);
529    }).join("");
530  }, t.generateId = function (e, i) {
531    var n = e.id || e.name && e.name + "-" + t.generateChars(2) || t.generateChars(4);
532    return n = i + "-" + (n = n.replace(/(:|\.|\[|\]|,)/g, ""));
533  }, t.getType = function (e) {
534    return Object.prototype.toString.call(e).slice(8, -1);
535  }, t.isType = function (e, i) {
536    return null != i && t.getType(i) === e;
537  }, t.wrap = function (e, t) {
538    return void 0 === t && (t = document.createElement("div")), e.nextSibling ? e.parentNode && e.parentNode.insertBefore(t, e.nextSibling) : e.parentNode && e.parentNode.appendChild(t), t.appendChild(e);
539  }, t.getAdjacentEl = function (e, t, i) {
540    void 0 === i && (i = 1);
541
542    for (var n = (i > 0 ? "next" : "previous") + "ElementSibling", r = e[n]; r;) {
543      if (r.matches(t)) return r;
544      r = r[n];
545    }
546
547    return r;
548  }, t.isScrolledIntoView = function (e, t, i) {
549    return void 0 === i && (i = 1), !!e && (i > 0 ? t.scrollTop + t.offsetHeight >= e.offsetTop + e.offsetHeight : e.offsetTop >= t.scrollTop);
550  }, t.sanitise = function (e) {
551    return "string" != typeof e ? e : e.replace(/&/g, "&amp;").replace(/>/g, "&rt;").replace(/</g, "&lt;").replace(/"/g, "&quot;");
552  }, t.strToEl = (n = document.createElement("div"), function (e) {
553    var t = e.trim();
554    n.innerHTML = t;
555
556    for (var i = n.children[0]; n.firstChild;) n.removeChild(n.firstChild);
557
558    return i;
559  }), t.sortByAlpha = function (e, t) {
560    var i = e.value,
561        n = e.label,
562        r = void 0 === n ? i : n,
563        o = t.value,
564        s = t.label,
565        a = void 0 === s ? o : s;
566    return r.localeCompare(a, [], {
567      sensitivity: "base",
568      ignorePunctuation: !0,
569      numeric: !0
570    });
571  }, t.sortByScore = function (e, t) {
572    var i = e.score,
573        n = void 0 === i ? 0 : i,
574        r = t.score;
575    return n - (void 0 === r ? 0 : r);
576  }, t.dispatchEvent = function (e, t, i) {
577    void 0 === i && (i = null);
578    var n = new CustomEvent(t, {
579      detail: i,
580      bubbles: !0,
581      cancelable: !0
582    });
583    return e.dispatchEvent(n);
584  }, t.existsInArray = function (e, t, i) {
585    return void 0 === i && (i = "value"), e.some(function (e) {
586      return "string" == typeof t ? e[i] === t.trim() : e[i] === t;
587    });
588  }, t.cloneObject = function (e) {
589    return JSON.parse(JSON.stringify(e));
590  }, t.diff = function (e, t) {
591    var i = Object.keys(e).sort(),
592        n = Object.keys(t).sort();
593    return i.filter(function (e) {
594      return n.indexOf(e) < 0;
595    });
596  };
597}, function (e, t, i) {
598  "use strict";
599
600  (function (e, n) {
601    var r,
602        o = i(6);
603    r = "undefined" != typeof self ? self : "undefined" != typeof window ? window : void 0 !== e ? e : n;
604    var s = Object(o.a)(r);
605    t.a = s;
606  }).call(this, i(12), i(13)(e));
607}, function (e, t, i) {
608  "use strict";
609
610  i.r(t), i.d(t, "__DO_NOT_USE__ActionTypes", function () {
611    return o;
612  }), i.d(t, "applyMiddleware", function () {
613    return v;
614  }), i.d(t, "bindActionCreators", function () {
615    return h;
616  }), i.d(t, "combineReducers", function () {
617    return l;
618  }), i.d(t, "compose", function () {
619    return m;
620  }), i.d(t, "createStore", function () {
621    return a;
622  });
623
624  var n = i(2),
625      r = function () {
626    return Math.random().toString(36).substring(7).split("").join(".");
627  },
628      o = {
629    INIT: "@@redux/INIT" + r(),
630    REPLACE: "@@redux/REPLACE" + r(),
631    PROBE_UNKNOWN_ACTION: function () {
632      return "@@redux/PROBE_UNKNOWN_ACTION" + r();
633    }
634  };
635
636  function s(e) {
637    if ("object" != typeof e || null === e) return !1;
638
639    for (var t = e; null !== Object.getPrototypeOf(t);) t = Object.getPrototypeOf(t);
640
641    return Object.getPrototypeOf(e) === t;
642  }
643
644  function a(e, t, i) {
645    var r;
646    if ("function" == typeof t && "function" == typeof i || "function" == typeof i && "function" == typeof arguments[3]) throw new Error("It looks like you are passing several store enhancers to createStore(
646). This is not supported. Instead, compose them together to a single function.");
647
648    if ("function" == typeof t && void 0 === i && (i = t, t = void 0), void 0 !== i) {
649      if ("function" != typeof i) throw new Error("Expected the enhancer to be a function.");
650      return i(a)(e, t);
651    }
652
653    if ("function" != typeof e) throw new Error("Expected the reducer to be a function.");
654    var c = e,
655        l = t,
656        u = [],
657        h = u,
658        d = !1;
659
660    function p() {
661      h === u && (h = u.slice());
662    }
663
664    function f() {
665      if (d) throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");
666      return l;
667    }
668
669    function m(e) {
670      if ("function" != typeof e) throw new Error("Expected the listener to be a function.");
671      if (d) throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");
672      var t = !0;
673      return p(), h.push(e), function () {
674        if (t) {
675          if (d) throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.");
676          t = !1, p();
677          var i = h.indexOf(e);
678          h.splice(i, 1);
679        }
680      };
681    }
682
683    function v(e) {
684      if (!s(e)) throw new Error("Actions must be plain objects. Use custom middleware for async actions.");
685      if (void 0 === e.type) throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');
686      if (d) throw new Error("Reducers may not dispatch actions.");
687
688      try {
689        d = !0, l = c(l, e);
690      } finally {
691        d = !1;
692      }
693
694      for (var t = u = h, i = 0; i < t.length; i++) {
695        (0, t[i])();
696      }
697
698      return e;
699    }
700
701    return v({
702      type: o.INIT
703    }), (r = {
704      dispatch: v,
705      subscribe: m,
706      getState: f,
707      replaceReducer: function (e) {
708        if ("function" != typeof e) throw new Error("Expected the nextReducer to be a function.");
709        c = e, v({
710          type: o.REPLACE
711        });
712      }
713    })[n.a] = function () {
714      var e,
715          t = m;
716      return (e = {
717        subscribe: function (e) {
718          if ("object" != typeof e || null === e) throw new TypeError("Expected the observer to be an object.");
719
720          function i() {
721            e.next && e.next(f());
722          }
723
724          return i(), {
725            unsubscribe: t(i)
726          };
727        }
728      })[n.a] = function () {
729        return this;
730      }, e;
731    }, r;
732  }
733
734  function c(e, t) {
735    var i = t && t.type;
736    return "Given " + (i && 'action "' + String(i) + '"' || "an action") + ', reducer "' + e + '" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.';
737  }
738
739  function l(e) {
740    for (var t = Object.keys(e), i = {}, n = 0; n < t.length; n++) {
741      var r = t[n];
742      0, "function" == typeof e[r] && (i[r] = e[r]);
743    }
744
745    var s,
746        a = Object.keys(i);
747
748    try {
749      !function (e) {
750        Object.keys(e).forEach(function (t) {
751          var i = e[t];
752          if (void 0 === i(void 0, {
753            type: o.INIT
754          })) throw new Error('Reducer "' + t + "\" 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. If you don't want to set a value for this reducer, you can use null instead of undefined.");
755          if (void 0 === i(void 0, {
756            type: o.PROBE_UNKNOWN_ACTION()
757          })) throw new Error('Reducer "' + t + "\" returned undefined when probed with a random type. Don't try to handle " + o.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, but can be null.');
758        });
759      }(i);
760    } catch (e) {
761      s = e;
762    }
763
764    return function (e, t) {
765      if (void 0 === e && (e = {}), s) throw s;
766
767      for (var n = !1, r = {}, o = 0; o < a.length; o++) {
768        var l = a[o],
769            u = i[l],
770            h = e[l],
771            d = u(h, t);
772
773        if (void 0 === d) {
774          var p = c(l, t);
775          throw new Error(p);
776        }
777
778        r[l] = d, n = n || d !== h;
779      }
780
781      return n ? r : e;
782    };
783  }
784
785  function u(e, t) {
786    return function () {
787      return t(e.apply(this, arguments));
788    };
789  }
790
791  function h(e, t) {
792    if ("function" == typeof e) return u(e, t);
793    if ("object" != typeof e || null === e) throw new Error("bindActionCreators expected an object or a function, instead received " + (null === e ? "null" : typeof e) + '. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');
794    var i = {};
795
796    for (var n in e) {
797      var r = e[n];
798      "function" == typeof r && (i[n] = u(r, t));
799    }
800
801    return i;
802  }
803
804  function d(e, t, i) {
805    return t in e ? Object.defineProperty(e, t, {
806      value: i,
807      enumerable: !0,
808      configurable: !0,
809      writable: !0
810    }) : e[t] = i, e;
811  }
812
813  function p(e, t) {
814    var i = Object.keys(e);
815    return Object.getOwnPropertySymbols && i.push.apply(i, Object.getOwnPropertySymbols(e)), t && (i = i.filter(function (t) {
816      return Object.getOwnPropertyDescriptor(e, t).enumerable;
817    })), i;
818  }
819
820  function f(e) {
821    for (var t = 1; t < arguments.length; t++) {
822      var i = null != arguments[t] ? arguments[t] : {};
823      t % 2 ? p(i, !0).forEach(function (t) {
824        d(e, t, i[t]);
825      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) : p(i).forEach(function (t) {
826        Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t));
827      });
828    }
829
830    return e;
831  }
832
833  function m() {
834    for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++) t[i] = arguments[i];
835
836    return 0 === t.length ? function (e) {
837      return e;
838    } : 1 === t.length ? t[0] : t.reduce(function (e, t) {
839      return function () {
840        return e(t.apply(void 0, arguments));
841      };
842    });
843  }
844
845  function v() {
846    for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++) t[i] = arguments[i];
847
848    return function (e) {
849      return function () {
850        var i = e.apply(void 0, arguments),
851            n = function () {
852          throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.");
853        },
854            r = {
855          getState: i.getState,
856          dispatch: function () {
857            return n.apply(void 0, arguments);
858          }
859        },
860            o = t.map(function (e) {
861          return e(r);
862        });
863
864        return f({}, i, {
865          dispatch: n = m.apply(void 0, o)(i.dispatch)
866        });
867      };
868    };
869  }
870}, function (e, t, i) {
871  "use strict";
872
873  var n = this && this.__importDefault || function (e) {
874    return e && e.__esModule ? e : {
875      default: e
876    };
877  };
878
879  Object.defineProperty(t, "__esModule", {
880    value: !0
881  });
882  var r = i(3),
883      o = n(i(14)),
884      s = n(i(15)),
885      a = n(i(16)),
886      c = n(i(17)),
887      l = i(1);
888  t.defaultState = {
889    groups: [],
890    items: [],
891    choices: [],
892    loading: !1
893  };
894  var u = r.combineReducers({
895    items: o.default,
896    groups: s.default,
897    choices: a.default,
898    loading: c.default
899  });
900
901  t.default = function (e, i) {
902    var n = e;
903    if ("CLEAR_ALL" === i.type) n = t.defaultState;else if ("RESET_TO" === i.type) return l.cloneObject(i.state);
904    return u(n, i);
905  };
906}, function (e, t, i) {
907  "use strict";
908
909  Object.defineProperty(t, "__esModule", {
910    value: !0
911  });
912
913  var n = i(1),
914      r = function () {
915    function e(e) {
916      var t = e.element,
917          i = e.classNames;
918      if (this.element = t, this.classNames = i, !(t instanceof HTMLInputElement || t instanceof HTMLSelectElement)) throw new TypeError("Invalid element passed");
919      this.isDisabled = !1;
920    }
921
922    return Object.defineProperty(e.prototype, "isActive", {
923      get: function () {
924        return "active" === this.element.dataset.choice;
925      },
926      enumerable: !0,
927      configurable: !0
928    }), Object.defineProperty(e.prototype, "dir", {
929      get: function () {
930        return this.element.dir;
931      },
932      enumerable: !0,
933      configurable: !0
934    }), Object.defineProperty(e.prototype, "value", {
935      get: function () {
936        return this.element.value;
937      },
938      set: function (e) {
939        this.element.value = e;
940      },
941      enumerable: !0,
942      configurable: !0
943    }), e.prototype.conceal = function () {
944      this.element.classList.add(this.classNames.input), this.element.hidden = !0, this.element.tabIndex = -1;
945      var e = this.element.getAttribute("style");
946      e && this.element.setAttribute("data-choice-orig-style", e), this.element.setAttribute("data-choice", "active");
947    }, e.prototype.reveal = function () {
948      this.element.classList.remove(this.classNames.input), this.element.hidden = !1, this.element.removeAttribute("tabindex");
949      var e = this.element.getAttribute("data-choice-orig-style");
950      e ? (this.element.removeAttribute("data-choice-orig-style"), this.element.setAttribute("style", e)) : this.element.removeAttribute("style"), this.element.removeAttribute("data-choice"), this.element.value = this.element.value;
951    }, e.prototype.enable = function () {
952      this.element.removeAttribute("disabled"), this.element.disabled = !1, this.isDisabled = !1;
953    }, e.prototype.disable = function () {
954      this.element.setAttribute("disabled", ""), this.element.disabled = !0, this.isDisabled = !0;
955    }, e.prototype.triggerEvent = function (e, t) {
956      n.dispatchEvent(this.element, e, t);
957    }, e;
958  }();
959
960  t.default = r;
961}, function (e, t, i) {
962  "use strict";
963
964  function n(e) {
965    var t,
966        i = e.Symbol;
967    return "function" == typeof i ? i.observable ? t = i.observable : (t = i("observable"), i.observable = t) : t = "@@observable", t;
968  }
969
970  i.d(t, "a", function () {
971    return n;
972  });
973}, function (e, t, i) {
974  e.exports = i(8);
975}, function (e, t, i) {
976  "use strict";
977
978  var n = this && this.__spreadArrays || function () {
979    for (var e = 0, t = 0, i = arguments.length; t < i; t++) e += arguments[t].length;
980
981    var n = Array(e),
982        r = 0;
983
984    for (t = 0; t < i; t++) for (var o = arguments[t], s = 0, a = o.length; s < a; s++, r++) n[r] = o[s];
985
986    return n;
987  },
988      r = this && this.__importDefault || function (e) {
989    return e && e.__esModule ? e : {
990      default: e
991    };
992  };
993
994  Object.defineProperty(t, "__esModule", {
995    value: !0
996  });
997
998  var o = r(i(9)),
999      s = r(i(10)),
1000      a = r(i(11)),
1001      c = i(18),
1002      l = i(0),
1003      u = r(i(25)),
1004      h = i(26),
1005      d = i(27),
1006      p = i(28),
1007      f = i(29),
1008      m = i(1),
1009      v = i(4),
1010      _ = "-ms-scroll-limit" in document.documentElement.style && "-ms-ime-align" in document.documentElement.style,
1011      g = {},
1012      y = function () {
1013    function e(t, i) {
1014      var r = this;
1015      void 0 === t && (t = "[data-choice]"), void 0 === i && (i = {}), this.config = s.default.all([l.DEFAULT_CONFIG, e.defaults.options, i], {
1016        arrayMerge: function (e, t) {
1017          return n(t);
1018        }
1019      });
1020      var o = m.diff(this.config, l.DEFAULT_CONFIG);
1021      o.length && console.warn("Unknown config option(s) passed", o.join(", "));
1022      var u = "string" == typeof t ? document.querySelector(t) : t;
1023      if (!(u instanceof HTMLInputElement || u instanceof HTMLSelectElement)) throw TypeError("Expected one of the following types text|select-one|select-multiple");
1024
1025      if (this._isTextElement = u.type === l.TEXT_TYPE, this._isSelectOneElement = u.type === l.SELECT_ONE_TYPE, this._isSelectMultipleElement = u.type === l.SELECT_MULTIPLE_TYPE, this._isSelectElement = this._isSelectOneElement || this._isSelectMultipleElement, this.config.searchEnabled = this._isSelectMultipleElement || this.config.searchEnabled, ["auto", "always"].includes("" + this.config.renderSelectedChoices) || (this.config.renderSelectedChoices = "auto"), i.addItemFilter && "function" != typeof i.addItemFilter) {
1026        var h = i.addItemFilter instanceof RegExp ? i.addItemFilter : new RegExp(i.addItemFilter);
1027        this.config.addItemFilter = h.test.bind(h);
1028      }
1029
1030      if (this._isTextElement ? this.passedElement = new c.WrappedInput({
1031        element: u,
1032        classNames: this.config.classNames,
1033        delimiter: this.config.delimiter
1034      }) : this.passedElement = new c.WrappedSelect({
1035        element: u,
1036        classNames: this.config.classNames,
1037        template: function (e) {
1038          return r._templates.option(e);
1039        }
1040      }), this.initialised = !1, this._store = new a.default(), this._initialState = v.defaultState, this._currentState = v.defaultState, this._prevState = v.defaultState, this._currentValue = "", this._canSearch = !!this.config.searchEnabled, this._isScrollingOnIe = !1, this._highlightPosition = 0, this._wasTap = !0, this._placeholderValue = this._generatePlaceholderValue(), this._baseId = m.generateId(this.passedElement.element, "choices-"), this._direction = this.passedElement.dir, !this._direction) {
1041        var d = window.getComputedStyle(this.passedElement.element).direction;
1042        d !== window.getComputedStyle(document.documentElement).direction && (this._direction = d);
1043      }
1044
1045      if (this._idNames = {
1046        itemChoice: "item-choice"
1047      }, this._isSelectElement && (this._presetGroups = this.passedElement.optionGroups, this._presetOptions = this.passedElement.options), this._presetChoices = this.config.choices, this._presetItems = this.config.items, this.passedElement.value && this._isTextElement) {
1048        var p = this.passedElement.value.split(this.config.delimiter);
1049        this._presetItems = this._presetItems.concat(p);
1050      }
1051
1052      if (this.passedElement.options && this.passedElement.options.forEach(function (e) {
1053        r._presetChoices.push({
1054          value: e.value,
1055          label: e.innerHTML,
1056          selected: !!e.selected,
1057          disabled: e.disabled || e.parentNode.disabled,
1058          placeholder: "" === e.value || e.hasAttribute("placeholder"),
1059          customProperties: e.dataset["custom-properties"]
1060        });
1061      }), this._render = this._render.bind(this), this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this), this._onKeyUp = this._onKeyUp.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onClick = this._onClick.bind(this), this._onTouchMove = this._onTouchMove.bind(this), this._onTouchEnd = this._onTouchEnd.bind(this), this._onMouseDown = this._onMouseDown.bind(this), this._onMouseOver = this._onMouseOver.bind(this), this._onFormReset = this._onFormReset.bind(this), this._onSelectKey = this._onSelectKey.bind(this), this._onEnterKey = this._onEnterKey.bind(this), this._onEscapeKey = this._onEscapeKey.bind(this), this._onDirectionKey = this._onDirectionKey.bind(this), this._onDeleteKey = this._onDeleteKey.bind(this), this.passedElement.isActive) return this.config.silent || console.warn("Trying to initialise Choices on element already initialised", {
1062        element: t
1063      }
1063), void (this.initialised = !0);
1064      this.init();
1065    }
1066
1067    return Object.defineProperty(e, "defaults", {
1068      get: function () {
1069        return Object.preventExtensions({
1070          get options() {
1071            return g;
1072          },
1073
1074          get templates() {
1075            return u.default;
1076          }
1077
1078        });
1079      },
1080      enumerable: !0,
1081      configurable: !0
1082    }), e.prototype.init = function () {
1083      if (!this.initialised) {
1084        this._createTemplates(), this._createElements(), this._createStructure(), this._store.subscribe(this._render), this._render(), this._addEventListeners(), (!this.config.addItems || this.passedElement.element.hasAttribute("disabled")) && this.disable(), this.initialised = !0;
1085        var e = this.config.callbackOnInit;
1086        e && "function" == typeof e && e.call(this);
1087      }
1088    }, e.prototype.destroy = function () {
1089      this.initialised && (this._removeEventListeners(), this.passedElement.reveal(), this.containerOuter.unwrap(this.passedElement.element), this.clearStore(), this._isSelectElement && (this.passedElement.options = this._presetOptions), this._templates = u.default, this.initialised = !1);
1090    }, e.prototype.enable = function () {
1091      return this.passedElement.isDisabled && this.passedElement.enable(), this.containerOuter.isDisabled && (this._addEventListeners(), this.input.enable(), this.containerOuter.enable()), this;
1092    }, e.prototype.disable = function () {
1093      return this.passedElement.isDisabled || this.passedElement.disable(), this.containerOuter.isDisabled || (this._removeEventListeners(), this.input.disable(), this.containerOuter.disable()), this;
1094    }, e.prototype.highlightItem = function (e, t) {
1095      if (void 0 === t && (t = !0), !e || !e.id) return this;
1096      var i = e.id,
1097          n = e.groupId,
1098          r = void 0 === n ? -1 : n,
1099          o = e.value,
1100          s = void 0 === o ? "" : o,
1101          a = e.label,
1102          c = void 0 === a ? "" : a,
1103          u = r >= 0 ? this._store.getGroupById(r) : null;
1104      return this._store.dispatch(d.highlightItem(i, !0)), t && this.passedElement.triggerEvent(l.EVENTS.highlightItem, {
1105        id: i,
1106        value: s,
1107        label: c,
1108        groupValue: u && u.value ? u.value : null
1109      }), this;
1110    }, e.prototype.unhighlightItem = function (e) {
1111      if (!e || !e.id) return this;
1112      var t = e.id,
1113          i = e.groupId,
1114          n = void 0 === i ? -1 : i,
1115          r = e.value,
1116          o = void 0 === r ? "" : r,
1117          s = e.label,
1118          a = void 0 === s ? "" : s,
1119          c = n >= 0 ? this._store.getGroupById(n) : null;
1120      return this._store.dispatch(d.highlightItem(t, !1)), this.passedElement.triggerEvent(l.EVENTS.highlightItem, {
1121        id: t,
1122        value: o,
1123        label: a,
1124        groupValue: c && c.value ? c.value : null
1125      }), this;
1126    }, e.prototype.highlightAll = function () {
1127      var e = this;
1128      return this._store.items.forEach(function (t) {
1129        return e.highlightItem(t);
1130      }), this;
1131    }, e.prototype.unhighlightAll = function () {
1132      var e = this;
1133      return this._store.items.forEach(function (t) {
1134        return e.unhighlightItem(t);
1135      }), this;
1136    }, e.prototype.removeActiveItemsByValue = function (e) {
1137      var t = this;
1138      return this._store.activeItems.filter(function (t) {
1139        return t.value === e;
1140      }
1140).forEach(function (e) {
1141        return t._removeItem(e);
1142      }), this;
1143    }, e.prototype.removeActiveItems = function (e) {
1144      var t = this;
1145      return this._store.activeItems.filter(function (t) {
1146        return t.id !== e;
1147      }).forEach(function (e) {
1148        return t._removeItem(e);
1149      }), this;
1150    }, e.prototype.removeHighlightedItems = function (e) {
1151      var t = this;
1152      return void 0 === e && (e = !1), this._store.highlightedActiveItems.forEach(function (i) {
1153        t._removeItem(i), e && t._triggerChange(i.value);
1154      }), this;
1155    }, e.prototype.showDropdown = function (e) {
1156      var t = this;
1157      return this.dropdown.isActive ? this : (requestAnimationFrame(function () {
1158        t.dropdown.show(), t.containerOuter.open(t.dropdown.distanceFromTopWindow), !e && t._canSearch && t.input.focus(), t.passedElement.triggerEvent(l.EVENTS.showDropdown, {});
1159      }), this);
1160    }, e.prototype.hideDropdown = function (e) {
1161      var t = this;
1162      return this.dropdown.isActive ? (requestAnimationFrame(function () {
1163        t.dropdown.hide(), t.containerOuter.close(), !e && t._canSearch && (t.input.removeActiveDescendant(), t.input.blur()), t.passedElement.triggerEvent(l.EVENTS.hideDropdown, {});
1164      }), this) : this;
1165    }, e.prototype.getValue = function (e) {
1166      void 0 === e && (e = !1);
1167
1168      var t = this._store.activeItems.reduce(function (t, i) {
1169        var n = e ? i.value : i;
1170        return t.push(n), t;
1171      }, []);
1172
1173      return this._isSelectOneElement ? t[0] : t;
1174    }, e.prototype.setValue = function (e) {
1175      var t = this;
1176      return this.initialised ? (e.forEach(function (e) {
1177        return t._setChoiceOrItem(e);
1178      }), this) : this;
1179    }, e.prototype.setChoiceByValue = function (e) {
1180      var t = this;
1181      return !this.initialised || this._isTextElement ? this : ((Array.isArray(e) ? e : [e]).forEac
1181h(function (e) {
1182        return t._findAndSelectChoiceByValue(e);
1183      }), this);
1184    }, e.prototype.setChoices = function (e, t, i, n) {
1185      var r = this;
1186      if (void 0 === e && (e = []), void 0 === t && (t = "value"), void 0 === i && (i = "label"), void 0 === n && (n = !1), !this.initialised) throw new ReferenceError("setChoices was called on a non-initialized instance of Choices");
1187      if (!this._isSelectElement) throw new TypeError("setChoices can't be used with INPUT based Choices");
1188      if ("string" != typeof t || !t) throw new TypeError("value parameter must be a name of 'value' field in passed objects");
1189
1190      if (n && this.clearChoices(), "function" == typeof e) {
1191        var o = e(this);
1192        if ("function" == typeof Promise && o instanceof Promise) return new Promise(function (e) {
1193          return requestAnimationFrame(e);
1194        }).then(function () {
1195          return r._handleLoadingState(!0);
1196        }).then(function () {
1197          return o;
1198        }).then(function (e) {
1199          return r.setChoices(e, t, i, n);
1200        }).catch(function (e) {
1201          r.config.silent || console.error(e);
1202        }).then(function () {
1203          return r._handleLoadingState(!1);
1204        }).then(function () {
1205          return r;
1206        });
1207        if (!Array.isArray(o)) throw new TypeError(".setChoices first argument function must return either array of choices or Promise, got: " + typeof o);
1208        return this.setChoices(o, t, i, !1);
1209      }
1210
1211      if (!Array.isArray(e)) throw new TypeError(".setChoices must be called either with array of choices with a function resulting into Promise of array of choices");
1212      return this.containerOuter.removeLoadingState(), this._startLoading(), e.forEach(function (e) {
1213        if (e.choices) r._addGroup({
1214          id: e.id ? parseInt("" + e.id, 10) : null,
1215          group: e,
1216          valueKey: t,
1217          labelKey: i
1218        });else {
1219          var n = e;
1220
1221          r._addChoice({
1222            value: n[t],
1223            label: n[i],
1224            isSelected: !!n.selected,
1225            isDisabled: !!n.disabled,
1226            placeholder: !!n.placeholder,
1227            customProperties: n.customProperties
1228          });
1229        }
1230      }), this._stopLoading(), this;
1231    }, e.prototype.clearChoices = function () {
1232      return this._store.dispatch(h.clearChoices()), this;
1233    }, e.prototype.clearStore = function () {
1234      return this._store.dispatch(f.clearAll()), this;
1235    }, e.prototype.clearInput = function () {
1236      var e = !this._isSelectOneElement;
1237      return this.input.clear(e), !this._isTextElement && this._canSearch && (this._isSearching = !1, this._store.dispatch(h.activateChoices(!0))), this;
1238    }, e.prototype._render = function () {
1239      if (!this._store.isLoading()) {
1240        this._currentState = this._store.state;
1241        var e = this._currentState.choices !== this._prevState.choices || this._currentState.groups !== this._prevState.groups || this._currentState.items !== this._prevState.items,
1242            t = this._isSelectElement,
1243            i = this._currentState.items !== this._prevState.items;
1244        e && (t && this._renderChoices(), i && this._renderItems(), this._prevState = this._currentState);
1245      }
1246    }, e.prototype._renderChoices = function () {
1247      var e = this,
1248          t = this._store,
1249          i = t.activeGroups,
1250          n = t.activeChoices,
1251          r = document.createDocumentFragment();
1252
1253      if (this.choiceList.clear(), this.config.resetScrollPosition && requestAnimationFrame(function () {
1254        return e.choiceList.scrollToTop();
1255      }), i.length >= 1 && !this._isSearching) {
1256        var o = n.filter(function (e) {
1257          return !0 === e.placeholder && -1 === e.groupId;
1258        });
1259        o.length >= 1 && (r = this._createChoicesFragment(o, r)), r = this._createGroupsFragment(i, n, r);
1260      } else n.length >= 1 && (r = this._createChoicesFragment(n, r));
1261
1262      if (r.childNodes && r.childNodes.length > 0) {
1263        var s = this._store.activeItems,
1264            a = this._canAddItem(s, this.input.value);
1265
1266        if (a.response) this.choiceList.append(r), this._highlightChoice();else {
1267          var c = this._getTemplate("notice", a.notice);
1268
1269          this.choiceList.append(c);
1270        }
1271      } else {
1272        var l = void 0;
1273        c = void 0;
1274        this._isSearching ? (c = "function" == typeof this.config.noResultsText ? this.config.noResultsText() : this.config.noResultsText, l = this._getTemplate("notice", c, "no-results")) : (c = "function" == typeof this.config.noChoicesText ? this.config.noChoicesText() : this.config.noChoicesText, l = this._getTemplate("notice", c, "no-choices")), this.choiceList.append(l);
1275      }
1276    }, e.prototype._renderItems = function () {
1277      var e = this._store.activeItems || [];
1278      this.itemList.clear();
1279
1280      var t = this._createItemsFragment(e);
1281
1282      t.childNodes && this.itemList.append(t);
1283    }, e.prototype._createGroupsFragment = function (e, t, i) {
1284      var n = this;
1285      void 0 === i && (i = document.createDocumentFragment());
1286      return this.config.shouldSort && e.sort(this.config.sorter), e.forEach(function (e) {
1287        var r = function (e) {
1288          return t.filter(function (t) {
1289            return n._isSelectOneElement ? t.groupId === e.id : t.groupId === e.id && ("always" === n.config.render
1289SelectedChoices || !t.selected);
1290          });
1291        }(e);
1292
1293        if (r.length >= 1) {
1294          var o = n._getTemplate("choiceGroup", e);
1295
1296          i.appendChild(o), n._createChoicesFragment(r, i, !0);
1297        }
1298      }), i;
1299    }, e.prototype._createChoicesFragment = function (e, t, i) {
1300      var r = this;
1301      void 0 === t && (t = document.createDocumentFragment()), void 0 === i && (i = !1);
1302
1303      var o = this.config,
1304          s = o.renderSelectedChoices,
1305          a = o.searchResultLimit,
1306          c = o.renderChoiceLimit,
1307          l = this._isSearching ? m.sortByScore : this.config.sorter,
1308          u = function (e) {
1309        if ("auto" !== s || r._isSelectOneElement || !e.selected) {
1310          var i = r._getTemplate("choice", e, r.config.itemSelectText);
1311
1312          t.appendChild(i);
1313        }
1314      },
1315          h = e;
1316
1317      "auto" !== s || this._isSelectOneElement || (h = e.filter(function (e) {
1318        return !e.selected;
1319      }));
1320      var d = h.reduce(function (e, t) {
1321        return t.placeholder ? e.placeholderChoices.push(t) : e.normalChoices.push(t), e;
1322      }, {
1323        placeholderChoices: [],
1324        normalChoices: []
1325      }),
1326          p = d.placeholderChoices,
1327          f = d.normalChoices;
1328      (this.config.shouldSort || this._isSearching) && f.sort(l);
1329
1330      var v = h.length,
1331          _ = this._isSelectOneElement ? n(p, f) : f;
1332
1333      this._isSearching ? v = a : c && c > 0 && !i && (v = c);
1334
1335      for (var g = 0; g < v; g += 1) _[g] && u(_[g]);
1336
1337      return t;
1338    }, e.prototype._createItemsFragment = function (e, t) {
1339      var i = this;
1340      void 0 === t && (t = document.createDocumentFragment());
1341      var n = this.config,
1342          r = n.shouldSortItems,
1343          o = n.sorter,
1344          s = n.removeItemButton;
1345      r && !this._isSelectOneElement && e.sort(o), this._isTextElement ? this.passedElement.value = e.map(function (e) {
1346        return e.value;
1347      }).join(this.config.delimiter) : this.passedElement.options = e;
1348      return e.forEach(function (e) {
1349        var n = i._getTemplate("item", e, s);
1350
1351        t.appendChild(n);
1352      }), t;
1353    }, e.prototype._triggerChange = function (e) {
1354      null != e && this.passedElement.triggerEvent(l.EVENTS.change, {
1355        value: e
1356      });
1357    }, e.prototype._selectPlaceholderChoice = function (e) {
1358      this._addItem({
1359        value: e.value,
1360        label: e.label,
1361        choiceId: e.id,
1362        groupId: e.groupId,
1363        placeholder: e.placeholder
1364      }), this._triggerChange(e.value);
1365    }, e.prototype._handleButtonAction = function (e, t) {
1366      if (e && t && this.config.removeItems && this.config.removeItemButton) {
1367        var i = t.parentNode && t.parentNode.dataset.id,
1368            n = i && e.find(function (e) {
1369          return e.id === parseInt(i, 10);
1370        });
1371        n && (this._removeItem(n), this._triggerChange(n.value), this._isSelectOneElement && this._store.placeholderChoice && this._selectPlaceholderChoice(this._store.placeholderChoice));
1372      }
1373    }, e.prototype._handleItemAction = function (e, t, i) {
1374      var n = this;
1375
1376      if (void 0 === i && (i = !1), e && t && this.config.removeItems && !this._isSelectOneElement) {
1377        var r = t.dataset.id;
1378        e.forEach(function (e) {
1379          e.id !== parseInt("" + r, 10) || e.highlighted ? !i && e.highlighted && n.unhighlightItem(e) : n.highlightItem(e);
1380        }), this.input.focus();
1381      }
1382    }, e.prototype._handleChoiceAction = function (e, t) {
1383      if (e && t) {
1384        var i = t.dataset.id,
1385            n = i && this._store.getChoiceById(i);
1386
1387        if (n) {
1388          var r = e[0] && e[0].keyCode ? e[0].keyCode : void 0,
1389              o = this.dropdown.isActive;
1390          if (n.keyCode = r, this.passedElement.triggerEvent(l.EVENTS.choice, {
1391            choice: n
1392          }), !n.selected && !n.disabled) this._canAddItem(e, n.value).response && (this._addItem({
1393            value: n.value,
1394            label: n.label,
1395            choiceId: n.id,
1396            groupId: n.groupId,
1397            customProperties: n.customProperties,
1398            placeholder: n.placeholder,
1399            keyCode: n.keyCode
1400          }), this._triggerChange(n.value));
1401          this.clearInput(), o && this._isSelectOneElement && (this.hideDropdown(!0), this.containerOuter.focus());
1402        }
1403      }
1404    }, e.prototype._handleBackspace = function (e) {
1405      if (this.config.removeItems && e) {
1406        var t = e[e.length - 1],
1407            i = e.some(function (e) {
1408          return e.highlighted;
1409        });
1410        this.config.editItems && !i && t ? (this.input.value = t.value, this.input.setWidth(), this._removeItem(t), this._triggerChange(t.value)) : (i || this.highlightItem(t, !1), this.removeHighlightedItems(!0));
1411      }
1412    }, e.prototype._startLoading = function () {
1413      this._store.dispatch(f.setIsLoading(!0));
1414    }, e.prototype._stopLoading = function () {
1415      this._store.dispatch(f.setIsLoading(!1));
1416    }, e.prototype._handleLoadingState = function (e) {
1417      void 0 === e && (e = !0);
1418      var t = this.itemList.getChild("." + this.config.classNames.placeholder);
1419      e ? (this.disable(), this.containerOuter.addLoadingState(), this._isSelectOneElement ? t ? t.innerHTML = this.config.loadingText : (t = this._getTemplate("placeholder", this.config.loadingText)) && this.itemList.append(t) : this.input.placeholder = this.config.loadingText) : (this.enable(), this.containerOuter.removeLoadingState(), this._isSelectOneElement ? t && (t.innerHTML = this._placeholderValue || "") : this.input.placeholder = this._placeholderValue || "");
1420    }, e.prototype._handleSearch = function (e) {
1421      if (e && this.input.isFocussed) {
1422        var t = this._store.choices,
1423            i = this.config,
1424            n = i.searchFloor,
1425            r = i.searchChoices,
1426            o = t.some(function (e) {
1427          return !e.active;
1428        });
1429
1430        if (e && e.length >= n) {
1431          var s = r ? this._searchChoices(e) : 0;
1432          this.passedElement.triggerEvent(l.EVENTS.search, {
1433            value: e,
1434            resultCount: s
1435          });
1436        } else o && (this._isSearching = !1, this._store.dispatch(h.activateChoices(!0)));
1437      }
1438    }, e.prototype._canAddItem = function (e, t) {
1439      var i = !0,
1440          n = "function" == typeof this.config.addItemText ? this.config.addItemText(t) : this.config.addItemText;
1441
1442      if (!this._isSelectOneElement) {
1443        var r = m.existsInArray(e, t);
1444        this.config.maxItemCount > 0 && this.config.maxItemCount <= e.length && (i = !1, n = "function" == typeof this.config.maxItemText ? this.config.maxItemText(this.config.maxItemCount) : this.config.maxItemText), !this.config.duplicateItemsAllowed && r && i && (i = !1, n = "function" == typeof this.config.uniqueItemText ? this.config.uniqueItemText(t) : this.config.uniqueItemText), this._isTextElement && this.config.addItems && i && "function" == typeof this.config.addItemFilter && !this.config.addItemFilter(t) && (i = !1, n = "function" == typeof this.config.customAddItemText ? this.config.customAddItemText(t) : this.config.customAddItemText);
1445      }
1446
1447      return {
1448        response: i,
1449        notice: n
1450      };
1451    }, e.prototype._searchChoices = function (e) {
1452      var t = "string" == typeof e ? e.trim() : e,
1453          i = "string" == typeof this._currentValue ? this._currentValue.trim() : this._currentValue;
1454      if (t.length < 1 && t === i + " ") return 0;
1455      var r = this._store.searchableChoices,
1456          s = t,
1457          a = n(this.config.searchFields),
1458          c = Object.assign(this.config.fuseOptions, {
1459        keys: a,
1460        includeMatches: !0
1461      }),
1462          l = new o.default(r, c).search(s);
1463      return this._currentValue = t, this._highlightPosition = 0, this._isSearching = !0, this._store.dispatch(h.filterChoices(l)), l.length;
1464    }, e.prototype._addEventListeners = function () {
1465      var e = document.documentElement;
1466      e.addEventListener("touchend", this._onTouchEnd, !0), this.containerOuter.element.addEventListener("keydown", this._onKeyDown, !0), this.containerOuter.element.addEventListener("mousedown", this._onMouseDown, !0), e.addEventListener("click", this._onClick, {
1467        passive: !0
1468      }), e.addEventListener("touchmove", this._onTouchMove, {
1469        passive: !0
1470      }), this.dropdown.element.addEventListener("mouseover", this._onMouseOver, {
1471        passive: !0
1472      }), this._isSelectOneElement && (this.containerOuter.element.addEventListener("focus", this._onFocus, {
1473        passive: !0
1474      }), this.containerOuter.element.addEventListener("blur", this._onBlur, {
1475        passive: !0
1476      })), this.input.element.addEventListener("keyup", this._onKeyUp, {
1477        passive: !0
1478      }), this.input.element.addEventListener("focus", this._onFocus, {
1479        passive: !0
1480      }), this.input.element.addEventListener("blur", this._onBlur, {
1481        passive: !0
1482      }), this.input.element.form && this.input.element.form.addEventListener("reset", this._onFormReset, {
1483        passive: !0
1484      }), this.input.addEventListeners();
1485    }, e.prototype._removeEventListeners = function () {
1486      var e = document.documentElement;
1487      e.removeEventListener("touchend", this._onTouchEnd, !0), this.containerOuter.element.removeEventListener("keydown", this._onKeyDown, !0), this.containerOuter.element.removeEventListener("mousedown", this._onMouseDown, !0), e.removeEventListener("click", this._onClick), e.removeEventListener("touchmove", this._onTouchMove), this.dropdown.element.removeEventListener("mouseover", this._onMouseOver), this._isSelectOneElement && (this.containerOuter.element.removeEventListener("focus", this._onFocus), this.containerOuter.element.removeEventListener("blur", this._onBlur)), this.input.element.removeEventListener("keyup", this._onKeyUp), this.input.element.removeEventListener("focus", this._onFocus), this.input.element.removeEventListener("blur", this._onBlur), this.input.element.form && this.input.element.form.removeEventListener("reset", this._onFormReset), this.input.removeEventListeners();
1488    }, e.prototype._onKeyDown = function (e) {
1489      var t = e.keyCode,
1490          i = this._store.activeItems,
1491          n = this.input.isFocussed,
1492          r = this.dropdown.isActive,
1493          o = this.itemList.hasChildren(),
1494          s = String.fromCharCode(t),
1495          a = /[a-zA-Z0-9-_ ]/.test(s),
1496          c = l.KEY_CODES.BACK_KEY,
1497          u = l.KEY_CODES.DELETE_KEY,
1498          h = l.KEY_CODES.ENTER_KEY,
1499          d = l.KEY_CODES.A_KEY,
1500          p = l.KEY_CODES.ESC_KEY,
1501          f = l.KEY_CODES.UP_KEY,
1502          m = l.KEY_CODES.DOWN_KEY,
1503          v = l.KEY_CODES.PAGE_UP_KEY,
1504          _ = l.KEY_CODES.PAGE_DOWN_KEY;
1505
1506      switch (this._isTextElement || r || !a || (this.showDropdown(), this.input.isFocussed || (this.input.value += s.toLowerCase())), t) {
1507        case d:
1508          return this._onSelectKey(e, o);
1509
1510        case h:
1511          return this._onEnterKey(e, i, r);
1512
1513        case p:
1514          return this._onEscapeKey(r);
1515
1516        case f:
1517        case v:
1518        case m:
1519        case _:
1520          return this._onDirectionKey(e, r);
1521
1522        case u:
1523        case c:
1524          return this._onDeleteKey(e, i, n);
1525      }
1526    }, e.prototype._onKeyUp = function (e) {
1527      var t = e.target,
1528          i = e.keyCode,
1529          n = this.input.value,
1530          r = this._store.activeItems,
1531          o = this._canAddItem(r, n),
1532          s = l.KEY_CODES.BACK_KEY,
1533          a = l.KEY_CODES.DELETE_KEY;
1534
1535      if (this._isTextElement) {
1536        if (o.notice && n) {
1537          var c = this._getTemplate("notice", o.notice);
1538
1539          this.dropdown.element.innerHTML = c.outerHTML, this.showDropdown(!0);
1540        } else this.hideDropdown(!0);
1541      } else {
1542        var u = (i === s || i === a) && t && !t.value,
1543            d = !this._isTextElement && this._isSearching,
1544            p = this._canSearch && o.response;
1545        u && d ? (this._isSearching = !1, this._store.dispatch(h.activateChoices(!0))) : p && this._handleSearch(this.input.value);
1546      }
1547
1548      this._canSearch = this.config.searchEnabled;
1549    }, e.prototype._onSelectKey = function (e, t) {
1550      var i = e.ctrlKey,
1551          n = e.metaKey;
1552      (i || n) && t && (this._canSearch = !1, this.config.removeItems && !this.input.value && this.input.element === document.activeElement && this.highlightAll());
1553    }, e.prototype._onEnterKey = function (e, t, i) {
1554      var n = e.target,
1555          r = l.KEY_CODES.ENTER_KEY,
1556          o = n && n.hasAttribute("data-button");
1557
1558      if (this._isTextElement && n && n.value) {
1559        var s = this.input.value;
1560        this._canAddItem(t, s).response && (this.hideDropdown(!0), this._addItem({
1561          value: s
1562        }), this._triggerChange(s), this.clearInput());
1563      }
1564
1565      if (o && (this._handleButtonAction(t, n), e.preventDefault()), i) {
1566        var a = this.dropdown.getChild("." + this.config.classNames.highlightedState);
1567        a && (t[0] && (t[0].keyCode = r), this._handleChoiceAction(t, a)), e.preventDefault();
1568      } else this._isSelectOneElement && (this.showDropdown(), e.preventDefault());
1569    }, e.prototype._onEscapeKey = function (e) {
1570      e && (this.hideDropdown(!0), this.containerOuter.focus());
1571    }, e.prototype._onDirectionKey = function (e, t) {
1572      var i = e.keyCode,
1573          n = e.metaKey,
1574          r = l.KEY_CODES.DOWN_KEY,
1575          o = l.KEY_CODES.PAGE_UP_KEY,
1576          s = l.KEY_CODES.PAGE_DOWN_KEY;
1577
1578      if (t || this._isSelectOneElement) {
1579        this.showDropdown(), this._canSearch = !1;
1580        var a = i === r || i === s ? 1 : -1,
1581            c = void 0;
1582        if (n || i === s || i === o) c = a > 0 ? this.dropdown.element.querySelector("[data-choice-selectable]:last-of-type") : this.dropdown.element.querySelector("[data-choice-selectable]");else {
1583          var u = this.dropdown.element.querySelector("." + this.config.classNames.highlightedState);
1584          c = u ? m.getAdjacentEl(u, "[data-choice-selectable]", a) : this.dropdown.element.querySelector("[data-choice-selectable]");
1585        }
1586        c && (m.isScrolledIntoView(c, this.choiceList.element, a) || this.choiceList.scrollToChildElement(c, a), this._highlightChoice(c)), e.preventDefault();
1587      }
1588    }, e.prototype._onDeleteKey = function (e, t, i) {
1589      var n = e.target;
1590      this._isSelectOneElement || n.value || !i || (this._handleBackspace(t), e.preventDefault());
1591    }, e.prototype._onTouchMove = function () {
1592      this._wasTap && (this._wasTap = !1);
1593    }, e.prototype._onTouchEnd = function (e) {
1594      var t = (e || e.touches[0]).target;
1595      this._wasTap && this.containerOuter.element.contains(t) && ((t === this.containerOuter.element || t === this.containerInner.element) && (this._isTextElement ? this.input.focus() : this._isSelectMultipleElement && this.showDropdown()), e.stopPropagation());
1596      this._wasTap = !0;
1597    }, e.prototype._onMouseDown = function (e) {
1598      var t = e.target;
1599
1600      if (t instanceof HTMLElement) {
1601        if (_ && this.choiceList.element.contains(t)) {
1602          var i = this.choiceList.element.firstElementChild,
1603              n = "ltr" === this._direction ? e.offsetX >= i.offsetWidth : e.offsetX < i.offsetLeft;
1604          this._isScrollingOnIe = n;
1605        }
1606
1607        if (t !== this.input.element) {
1608          var r = t.closest("[data-button],[data-item],[data-choice]");
1609
1610          if (r instanceof HTMLElement) {
1611            var o = e.shiftKey,
1612                s = this._store.activeItems,
1613                a = r.dataset;
1614            "button" in a ? this._handleButtonAction(s, r) : "item" in a ? this._handleItemAction(s, r, o) : "choice" in a && this._handleChoiceAction(s, r);
1615          }
1616
1617          e.preventDefault();
1618        }
1619      }
1620    }, e.prototype._onMouseOver = function (e) {
1621      var t = e.target;
1622      t instanceof HTMLElement && "choice" in t.dataset && this._highlightChoice(t);
1623    }, e.prototype._onClick = function (e) {
1624      var t = e.target;
1625      this.containerOuter.element.contains(t) ? this.dropdown.isActive || this.containerOuter.isDisabled ? this._isSelectOneElement && t !== this.input.element && !this.dropdown.element.contains(t) && this.hideDropdown() : this._isTextElement ? document.activeElement !== this.input.element && this.input.focus() : (this.showDropdown(), this.containerOuter.focus()) : (this._store.hig
1625hlightedActiveItems.length > 0 && this.unhighlightAll(), this.containerOuter.removeFocusState(), this.hideDropdown(!0));
1626    }, e.prototype._onFocus = function (e) {
1627      var t,
1628          i = this,
1629          n = e.target;
1630      n && this.containerOuter.element.contains(n) && ((t = {})[l.TEXT_TYPE] = function () {
1631        n === i.input.element && i.containerOuter.addFocusState();
1632      }, t[l.SELECT_ONE_TYPE] = function () {
1633        i.containerOuter.addFocusState(), n === i.input.element && i.showDropdown(!0);
1634      }, t[l.SELECT_MULTIPLE_TYPE] = function () {
1635        n === i.input.element && (i.showDropdown(!0), i.containerOuter.addFocusState());
1636      }, t)[this.passedElement.element.type]();
1637    }, e.prototype._onBlur = function (e) {
1638      var t,
1639          i = this,
1640          n = e.target;
1641
1642      if (n && this.containerOuter.element.contains(n) && !this._isScrollingOnIe) {
1643        var r = this._store.activeItems.some(function (e) {
1644          return e.highlighted;
1645        });
1646
1647        ((t = {})[l.TEXT_TYPE] = function () {
1648          n === i.input.element && (i.containerOuter.removeFocusState(), r && i.unhighlightAll(), i.hideDropdown(!0));
1649        }, t[l.SELECT_ONE_TYPE] = function () {
1650          i.containerOuter.removeFocusState(), (n === i.input.element || n === i.containerOuter.element && !i._canSearch) && i.hideDropdown(!0);
1651        }, t[l.SELECT_MULTIPLE_TYPE] = function () {
1652          n === i.input.element && (i.containerOuter.removeFocusState(), i.hideDropdown(!0), r && i.unhighlightAll());
1653        }, t)[this.passedElement.element.type]();
1654      } else this._isScrollingOnIe = !1, this.input.element.focus();
1655    }, e.prototype._onFormReset = function () {
1656      this._store.dispatch(f.resetTo(this._initialState));
1657    }, e.prototype._highlightChoice = function (e) {
1658      var t = this;
1659      void 0 === e && (e = null);
1660      var i = Array.from(this.dropdown.element.querySelectorAll("[data-choice-selectable]"));
1661
1662      if (i.length) {
1663        var n = e;
1664        Array.from(this.dropdown.element.querySelectorAll("." + this.config.classNames.highlightedState)).forEach(function (e) {
1665          e.classList.remove(t.config.classNames.highlightedState), e.setAttribute("aria-selected", "false");
1666        }), n ? this._highlightPosition = i.indexOf(n) : (n = i.length > this._highlightPosition ? i[this._highlightPosition] : i[i.length - 1]) || (n = i[0]), n.classList.add(this.config.classNames.highlightedState), n.setAttribute("aria-selected", "true"), this.passedElement.triggerEvent(l.EVENTS.highlightChoice, {
1667          el: n
1668        }), this.dropdown.isActive && (this.input.setActiveDescendant(n.id), this.containerOuter.setActiveDescendant(n.id));
1669      }
1670    }, e.prototype._addItem = function (e) {
1671      var t = e.value,
1672          i = e.label,
1673          n = void 0 === i ? null : i,
1674          r = e.choiceId,
1675          o = void 0 === r ? -1 : r,
1676          s = e.groupId,
1677          a = void 0 === s ? -1 : s,
1678          c = e.customProperties,
1679          u = void 0 === c ? {} : c,
1680          h = e.placeholder,
1681          p = void 0 !== h && h,
1682          f = e.keyCode,
1683          m = void 0 === f ? -1 : f,
1684          v = "string" == typeof t ? t.trim() : t,
1685          _ = this._store.items,
1686          g = n || v,
1687          y = o || -1,
1688          b = a >= 0 ? this._store.getGroupById(a) : null,
1689          E = _ ? _.length + 1 : 1;
1690      this.config.prependValue && (v = this.config.prependValue + v.toString()), this.config.appendValue && (v += this.config.appendValue.toString()), this._store.dispatch(d.addItem({
1691        value: v,
1692        label: g,
1693        id: E,
1694        choiceId: y,
1695        groupId: a,
1696        customProperties: u,
1697        placeholder: p,
1698        keyCode: m
1699      })), this._isSelectOneElement && this.removeActiveItems(E), this.passedElement.triggerEvent(l.EVENTS.addItem, {
1700        id: E,
1701        value: v,
1702        label: g,
1703        customProperties: u,
1704        groupValue: b && b.value ? b.value : null,
1705        keyCode: m
1706      });
1707    }, e.prototype._removeItem = function (e) {
1708      var t = e.id,
1709          i = e.value,
1710          n = e.label,
1711          r = e.customProperties,
1712          o = e.choiceId,
1713          s = e.groupId,
1714          a = s && s >= 0 ? this._store.getGroupById(s) : null;
1715      t && o && (this._store.dispatch(d.removeItem(t, o)), this.passedElement.triggerEvent(l.EVENTS.removeItem, {
1716        id: t,
1717        value: i,
1718        label: n,
1719        customProperties: r,
1720        groupValue: a && a.value ? a.value : null
1721      }));
1722    }, e.prototype._addChoice = function (e) {
1723      var t = e.value,
1724          i = e.label,
1725          n = void 0 === i ? null : i,
1726          r = e.isSelected,
1727          o = void 0 !== r && r,
1728          s = e.isDisabled,
1729          a = void 0 !== s && s,
1730          c = e.groupId,
1731          l = void 0 === c ? -1 : c,
1732          u = e.customProperties,
1733          d = void 0 === u ? {} : u,
1734          p = e.placeholder,
1735          f = void 0 !== p && p,
1736          m = e.keyCode,
1737          v = void 0 === m ? -1 : m;
1738
1739      if (null != t) {
1740        var _ = this._store.choices,
1741            g = n || t,
1742            y = _ ? _.length + 1 : 1,
1743            b = this._baseId + "-" + this._idNames.itemChoice + "-" + y;
1744        this._store.dispatch(h.addChoice({
1745          id: y,
1746          groupId: l,
1747          elementId: b,
1748          value: t,
1749          label: g,
1750          disabled: a,
1751          customProperties: d,
1752          placeholder: f,
1753          keyCode: v
1754        })), o && this._addItem({
1755          value: t,
1756          label: g,
1757          choiceId: y,
1758          customProperties: d,
1759          placeholder: f,
1760          keyCode: v
1761        });
1762      }
1763    }, e.prototype._addGroup = function (e) {
1764      var t = this,
1765          i = e.group,
1766          n = e.id,
1767          r = e.valueKey,
1768          o = void 0 === r ? "value" : r,
1769          s = e.labelKey,
1770          a = void 0 === s ? "label" : s,
1771          c = m.isType("Object", i) ? i.choices : Array.from(i.getElementsByTagName("OPTION")),
1772          l = n || Math.floor(new Date().valueOf() * Math.random()),
1773          u = !!i.disabled && i.disabled;
1774
1775      if (c) {
1776        this._store.dispatch(p.addGroup({
1777          value: i.label,
1778          id: l,
1779          active: !0,
1780          disabled: u
1781        }));
1782
1783        c.forEach(function (e) {
1784          var i = e.disabled || e.parentNode && e.parentNode.disabled;
1785
1786          t._addChoice({
1787            value: e[o],
1788            label: m.isType("Object", e) ? e[a] : e.innerHTML,
1789            isSelected: e.selected,
1790            isDisabled: i,
1791            groupId: l,
1792            customProperties: e.customProperties,
1793            placeholder: e.placeholder
1794          });
1795        });
1796      } else this._store.dispatch(p.addGroup({
1797        value: i.label,
1798        id: i.id,
1799        active: !1,
1800        disabled: i.disabled
1801      }));
1802    }, e.prototype._getTemplate = function (e) {
1803      for (var t, i = [], r = 1; r < arguments.length; r++) i[r - 1] = arguments[r];
1804
1805      var o = this.config.classNames;
1806      return (t = this._templates[e]).call.apply(t, n([this, o], i));
1807    }, e.prototype._createTemplates = function () {
1808      var e = this.config.callbackOnCreateTemplates,
1809          t = {};
1810      e && "function" == typeof e && (t = e.call(this, m.strToEl)), this._templates = s.default(u.default, t);
1811    }, e.prototype._createElements = function () {
1812      this.containerOuter = new c.Container({
1813        element: this._getTemplate("containerOuter", this._direction, this._isSelectElement, this._isSelectOneElement, this.config.searchEnabled, this.passedElement.element.type),
1814        classNames: this.config.classNames,
1815        type: this.passedElement.element.type,
1816        position: this.config.position
1817      }), this.containerInner = new c.Container({
1818        element: this._getTemplate("containerInner"),
1819        classNames: this.config.classNames,
1820        type: this.passedElement.element.type,
1821        position: this.config.position
1822      }), this.input = new c.Input({
1823        element: this._getTemplate("input", this._placeholderValue),
1824        classNames: this.config.classNames,
1825        type: this.passedElement.element.type,
1826        preventPaste: !this.config.paste
1827      }), this.choiceList = new c.List({
1828        element: this._getTemplate("choiceList", this._isSelectOneElement)
1829      }), this.itemList = new c.List({
1830        element: this._getTemplate("itemList", this._isSelectOneElement)
1831      }), this.dropdown = new c.Dropdown({
1832        element: this._getTemplate("dropdown"),
1833        classNames: this.config.classNames,
1834        type: this.passedElement.element.type
1835      });
1836    }, e.prototype._createStructure = function () {
1837      this.passedElement.conceal(), this.containerInner.wrap(this.passedElement.element), this.containerOuter.wrap(this.containerInner.element), this._isSelectOneElement ? this.input.placeholder = this.config.searchPlaceholderValue || "" : this._placeholderValue && (this.input.placeholder = this._placeholderValue, this.input.setWidth()), this.containerOuter.element.appendChild(this.containerInner.element), this.containerOuter.element.appendChild(this.dropdown.element), this.containerInner.element.appendChild(this.itemList.element), this._isTextElement || this.dropdown.element.appendChild(this.choiceList.element), this._isSelectOneElement ? this.config.searchEnabled && this.dropdown.element.insertBefore(this.input.element, this.dropdown.element.firstChild) : this.containerInner.element.appendChild(this.input.element), this._isSelectElement && (this._highlightPosition = 0, this._isSearching = !1, this._startLoading(), this._presetGroups.length ? this._addPredefinedGroups(this._presetGroups) : this._addPredefinedChoices(this._presetChoices), this._stopLoading()), this._isTextElement && this._addPredefinedItems(this._presetItems);
1838    }, e.prototype._addPredefinedGroups = function (e) {
1839      var t = this,
1840          i = this.passedElement.placeholderOption;
1841      i && i.parentNode && "SELECT" === i.parentNode.tagName && this._addChoice({
1842        value: i.value,
1843        label: i.innerHTML,
1844        isSelected: i.selected,
1845        isDisabled: i.disabled,
1846        placeholder: !0
1847      }), e.forEach(function (e) {
1848        return t._addGroup({
1849          group: e,
1850          id: e.id || null
1851        });
1852      });
1853    }, e.prototype._addPredefinedChoices = function (e) {
1854      var t = this;
1855      this.config.shouldSort && e.sort(this.config.sorter);
1856      var i = e.some(function (e) {
1857        return e.selected;
1858      }),
1859          n = e.findIndex(function (e) {
1860        return void 0 === e.disabled || !e.disabled;
1861      });
1862      e.forEach(function (e, r) {
1863        var o = e.value,
1864            s = void 0 === o ? "" : o,
1865            a = e.label,
1866            c = e.customProperties,
1867            l = e.placeholder;
1868        if (t._isSelectElement) {
1869          if (e.choices) t._addGroup({
1870            group: e,
1871            id: e.id || null
1872          });else {
1873            var u = !!(t._isSelectOneElement && !i && r === n) || e.selected,
1874                h = e.disabled;
1875            t._addChoice({
1876              value: s,
1877              label: a,
1878              isSelected: !!u,
1879              isDisabled: !!h,
1880              placeholder: !!l,
1881              customProperties: c
1882            });
1883          }
1884        } else t._addChoice({
1885          value: s,
1886          label: a,
1887          isSelected: !!e.selected,
1888          isDisabled: !!e.disabled,
1889          placeholder: !!e.placeholder,
1890          customProperties: c
1891        });
1892      });
1893    }, e.prototype._addPredefinedItems = function (e) {
1894      var t = this;
1895      e.forEach(function (e) {
1896        "object" == typeof e && e.value && t._addItem({
1897          value: e.value,
1898          label: e.label,
1899          choiceId: e.id,
1900          customProperties: e.customProperties,
1901          placeholder: e.placeholder
1902        }), "string" == typeof e && t._addItem({
1903          value: e
1904        });
1905      });
1906    }, e.prototype._setChoiceOrItem = function (e) {
1907      var t = this;
1908      ({
1909        object: function () {
1910          e.value && (t._isTextElement ? t._addItem({
1911            value: e.value,
1912            label: e.label,
1913            choiceId: e.id,
1914            customProperties: e.customProperties,
1915            placeholder: e.placeholder
1916          }) : t._addChoice({
1917            value: e.value,
1918            label: e.label,
1919            isSelected: !0,
1920            isDisabled: !1,
1921            customProperties: e.customProperties,
1922            placeholder: e.placeholder
1923          }));
1924        },
1925        string: function () {
1926          t._isTextElement ? t._addItem({
1927            value: e
1928          }) : t._addChoice({
1929            value: e,
1930            label: e,
1931            isSelected: !0,
1932            isDisabled: !1
1933          });
1934        }
1935      })[m.getType(e).toLowerCase()]();
1936    }, e.prototype._findAndSelectChoiceByValue = function (e) {
1937      var t = this,
1938          i = this._store.choices.find(function (i) {
1939        return t.config.valueComparer(i.value, e);
1940      });
1941
1942      i && !i.selected && this._addItem({
1943        value: i.value,
1944        label: i.label,
1945        choiceId: i.id,
1946        groupId: i.groupId,
1947        customProperties: i.customProperties,
1948        placeholder: i.placeholder,
1949        keyCode: i.keyCode
1950      });
1951    }, e.prototype._generatePlaceholderValue = function () {
1952      if (this._isSelectElement) {
1953        var e = this.passedElement.placeholderOption;
1954        return e ? e.text : null;
1955      }
1956
1957      var t = this.config,
1958          i = t.placeholder,
1959          n = t.placeholderValue,
1960          r = this.passedElement.element.dataset;
1961
1962      if (i) {
1963        if (n) return n;
1964        if (r.placeholder) return r.placeholder;
1965      }
1966
1967      return null;
1968    }, e;
1969  }();
1970
1971  t.default = y;
1972}, function (e, t, i) {
1973  /*!
1974   * Fuse.js v3.4.6 - Lightweight fuzzy-search (http://fusejs.io)
1975   *
1976   * Copyright (c) 2012-2017 Kirollos Risk (http://kiro.me)
1977   * All Rights Reserved. Apache Software License 2.0
1978   *
1979   * http://www.apache.org/licenses/LICENSE-2.0
1980   */
1981  e.exports = function (e) {
1982    var t = {};
1983
1984    function i(n) {
1985      if (t[n]) return t[n].exports;
1986      var r = t[n] = {
1987        i: n,
1988        l: !1,
1989        exports: {}
1990      };
1991      return e[n].call(r.exports, r, r.exports, i), r.l = !0, r.exports;
1992    }
1993
1994    return i.m = e, i.c = t, i.d = function (e, t, n) {
1995      i.o(e, t) || Object.defineProperty(e, t, {
1996        enumerable: !0,
1997        get: n
1998      });
1999    }, i.r = function (e) {
2000      "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
2001        value: "Module"
2002      }), Object.defineProperty(e, "__esModule", {
2003        value: !0
2004      });
2005    }, i.t = function (e, t) {
2006      if (1 & t && (e = i(e)), 8 & t) return e;
2007      if (4 & t && "object" == typeof e && e && e.__esModule) return e;
2008      var n = Object.create(null);
2009      if (i.r(n), Object.defineProperty(n, "default", {
2010        enumerable: !0,
2011        value: e
2012      }), 2 & t && "string" != typeof e) for (var r in e) i.d(n, r, function (t) {
2013        return e[t];
2014      }.bind(null, r));
2015      return n;
2016    }, i.n = function (e) {
2017      var t = e && e.__esModule ? function () {
2018        return e.default;
2019      } : function () {
2020        return e;
2021      };
2022      return i.d(t, "a", t), t;
2023    }, i.o = function (e, t) {
2024      return Object.prototype.hasOwnProperty.call(e, t);
2025    }, i.p = "", i(i.s = 1);
2026  }([function (e, t) {
2027    e.exports = function (e) {
2028      return Array.isArray ? Array.isArray(e) : "[object Array]" === Object.prototype.toString.call(e);
2029    };
2030  }, function (e, t, i) {
2031    function n(e) {
2032      return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) {
2033        return typeof e;
2034      } : function (e) {
2035        return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e;
2036      })(e);
2037    }
2038
2039    function r(e, t) {
2040      for (var i = 0; i < t.length; i++) {
2041        var n = t[i];
2042        n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
2043      }
2044    }
2045
2046    var o = i(2),
2047        s = i(8),
2048        a = i(0),
2049        c = function () {
2050      function e(t, i) {
2051        var n = i.location,
2052            r = void 0 === n ? 0 : n,
2053            o = i.distance,
2054            a = void 0 === o ? 100 : o,
2055            c = i.threshold,
2056            l = void 0 === c ? .6 : c,
2057            u = i.maxPatternLength,
2058            h = void 0 === u ? 32 : u,
2059            d = i.caseSensitive,
2060            p = void 0 !== d && d,
2061            f = i.tokenSeparator,
2062            m = void 0 === f ? / +/g : f,
2063            v = i.findAllMatches,
2064            _ = void 0 !== v && v,
2065            g = i.minMatchCharLength,
2066            y = void 0 === g ? 1 : g,
2067            b = i.id,
2068            E = void 0 === b ? null : b,
2069            S = i.keys,
2070            I = void 0 === S ? [] : S,
2071            O = i.shouldSort,
2072            C = void 0 === O || O,
2073            T = i.getFn,
2074            w = void 0 === T ? s : T,
2075            A = i.sortFn,
2076            L = void 0 === A ? function (e, t) {
2077          return e.score - t.score;
2078        } : A,
2079            P = i.tokenize,
2080            D = void 0 !== P && P,
2081            x = i.matchAllTokens,
2082            N = void 0 !== x && x,
2083            M = i.includeMatches,
2084            j = void 0 !== M && M,
2085            k = i.includeScore,
2086            F = void 0 !== k && k,
2087            K = i.verbose,
2088            R = void 0 !== K && K;
2089
2090        !function (e, t) {
2091          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
2092        }(this, e), this.options = {
2093          location: r,
2094          distance: a,
2095          threshold: l,
2096          maxPatternLength: h,
2097          isCaseSensitive: p,
2098          tokenSeparator: m,
2099          findAllMatches: _,
2100          minMatchCharLength: y,
2101          id: E,
2102          keys: I,
2103          includeMatches: j,
2104          includeScore: F,
2105          shouldSort: C,
2106          getFn: w,
2107          sortFn: L,
vendor: 8,110 bytes, lines 2108-2358
2108          verbose: R,
2109          tokenize: D,
2110          matchAllTokens: N
2111        }, this.setCollection(t);
2112      }
2113
2114      var t, i;
2115      return t = e, (i = [{
2116        key: "setCollection",
2117        value: function (e) {
2118          return this.list = e, e;
2119        }
2120      }, {
2121        key: "search",
2122        value: function (e) {
2123          var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {
2124            limit: !1
2125          };
2126
2127          this._log('---------\nSearch pattern: "'.concat(e, '"'));
2128
2129          var i = this._prepareSearchers(e),
2130              n = i.tokenSearchers,
2131              r = i.fullSearcher,
2132              o = this._search(n, r),
2133              s = o.weights,
2134              a = o.results;
2135
2136          return this._computeScore(s, a), this.options.shouldSort && this._sort(a), t.limit && "number" == typeof t.limit && (a = a.slice(0, t.limit)), this._format(a);
2137        }
2138      }, {
2139        key: "_prepareSearchers",
2140        value: function () {
2141          var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "",
2142              t = [];
2143          if (this.options.tokenize) for (var i = e.split(this.options.tokenSeparator), n = 0, r = i.length; n < r; n += 1) t.push(new o(i[n], this.options));
2144          return {
2145            tokenSearchers: t,
2146            fullSearcher: new o(e, this.options)
2147          };
2148        }
2149      }, {
2150        key: "_search",
2151        value: function () {
2152          var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [],
2153              t = arguments.length > 1 ? arguments[1] : void 0,
2154              i = this.list,
2155              n = {},
2156              r = [];
2157
2158          if ("string" == typeof i[0]) {
2159            for (var o = 0, s = i.length; o < s; o += 1) this._analyze({
2160              key: "",
2161              value: i[o],
2162              record: o,
2163              index: o
2164            }, {
2165              resultMap: n,
2166              results: r,
2167              tokenSearchers: e,
2168              fullSearcher: t
2169            });
2170
2171            return {
2172              weights: null,
2173              results: r
2174            };
2175          }
2176
2177          for (var a = {}, c = 0, l = i.length; c < l; c += 1) for (var u = i[c], h = 0, d = this.options.keys.length; h < d; h += 1) {
2178            var p = this.options.keys[h];
2179
2180            if ("string" != typeof p) {
2181              if (a[p.name] = {
2182                weight: 1 - p.weight || 1
2183              }, p.weight <= 0 || p.weight > 1) throw new Error("Key weight has to be > 0 and <= 1");
2184              p = p.name;
2185            } else a[p] = {
2186              weight: 1
2187            };
2188
2189            this._analyze({
2190              key: p,
2191              value: this.options.getFn(u, p),
2192              record: u,
2193              index: c
2194            }, {
2195              resultMap: n,
2196              results: r,
2197              tokenSearchers: e,
2198              fullSearcher: t
2199            });
2200          }
2201
2202          return {
2203            weights: a,
2204            results: r
2205          };
2206        }
2207      }, {
2208        key: "_analyze",
2209        value: function (e, t) {
2210          var i = e.key,
2211              n = e.arrayIndex,
2212              r = void 0 === n ? -1 : n,
2213              o = e.value,
2214              s = e.record,
2215              c = e.index,
2216              l = t.tokenSearchers,
2217              u = void 0 === l ? [] : l,
2218              h = t.fullSearcher,
2219              d = void 0 === h ? [] : h,
2220              p = t.resultMap,
2221              f = void 0 === p ? {} : p,
2222              m = t.results,
2223              v = void 0 === m ? [] : m;
2224
2225          if (null != o) {
2226            var _ = !1,
2227                g = -1,
2228                y = 0;
2229
2230            if ("string" == typeof o) {
2231              this._log("\nKey: ".concat("" === i ? "-" : i));
2232
2233              var b = d.search(o);
2234
2235              if (this._log('Full text: "'.concat(o, '", score: ').concat(b.score)), this.options.tokenize) {
2236                for (var E = o.split(this.options.tokenSeparator), S = [], I = 0; I < u.length; I += 1) {
2237                  var O = u[I];
2238
2239                  this._log('\nPattern: "'.concat(O.pattern, '"'));
2240
2241                  for (var C = !1, T = 0; T < E.length; T += 1) {
2242                    var w = E[T],
2243                        A = O.search(w),
2244                        L = {};
2245                    A.isMatch ? (L[w] = A.score, _ = !0, C = !0, S.push(A.score)) : (L[w] = 1, this.options.matchAllTokens || S.push(1)), this._log('Token: "'.concat(w, '", score: ').concat(L[w]));
2246                  }
2247
2248                  C && (y += 1);
2249                }
2250
2251                g = S[0];
2252
2253                for (var P = S.length, D = 1; D < P; D += 1) g += S[D];
2254
2255                g /= P, this._log("Token score average:", g);
2256              }
2257
2258              var x = b.score;
2259              g > -1 && (x = (x + g) / 2), this._log("Score average:", x);
2260              var N = !this.options.tokenize || !this.options.matchAllTokens || y >= u.length;
2261
2262              if (this._log("\nCheck Matches: ".concat(N)), (_ || b.isMatch) && N) {
2263                var M = f[c];
2264                M ? M.output.push({
2265                  key: i,
2266                  arrayIndex: r,
2267                  value: o,
2268                  score: x,
2269                  matchedIndices: b.matchedIndices
2270                }) : (f[c] = {
2271                  item: s,
2272                  output: [{
2273                    key: i,
2274                    arrayIndex: r,
2275                    value: o,
2276                    score: x,
2277                    matchedIndices: b.matchedIndices
2278                  }]
2279                }, v.push(f[c]));
2280              }
2281            } else if (a(o)) for (var j = 0, k = o.length; j < k; j += 1) this._analyze({
2282              key: i,
2283              arrayIndex: j,
2284              value: o[j],
2285              record: s,
2286              index: c
2287            }, {
2288              resultMap: f,
2289              results: v,
2290              tokenSearchers: u,
2291              fullSearcher: d
2292            });
2293          }
2294        }
2295      }, {
2296        key: "_computeScore",
2297        value: function (e, t) {
2298          this._log("\n\nComputing score:\n");
2299
2300          for (var i = 0, n = t.length; i < n; i += 1) {
2301            for (var r = t[i].output, o = r.length, s = 1, a = 1, c = 0; c < o; c += 1) {
2302              var l = e ? e[r[c].key].weight : 1,
2303                  u = (1 === l ? r[c].score : r[c].score || .001) * l;
2304              1 !== l ? a = Math.min(a, u) : (r[c].nScore = u, s *= u);
2305            }
2306
2307            t[i].score = 1 === a ? s : a, this._log(t[i]);
2308          }
2309        }
2310      }, {
2311        key: "_sort",
2312        value: function (e) {
2313          this._log("\n\nSorting...."), e.sort(this.options.sortFn);
2314        }
2315      }, {
2316        key: "_format",
2317        value: function (e) {
2318          var t = [];
2319
2320          if (this.options.verbose) {
2321            var i = [];
2322            this._log("\n\nOutput:\n\n", JSON.stringify(e, function (e, t) {
2323              if ("object" === n(t) && null !== t) {
2324                if (-1 !== i.indexOf(t)) return;
2325                i.push(t);
2326              }
2327
2328              return t;
2329            })), i = null;
2330          }
2331
2332          var r = [];
2333          this.options.includeMatches && r.push(function (e, t) {
2334            var i = e.output;
2335            t.matches = [];
2336
2337            for (var n = 0, r = i.length; n < r; n += 1) {
2338              var o = i[n];
2339
2340              if (0 !== o.matchedIndices.length) {
2341                var s = {
2342                  indices: o.matchedIndices,
2343                  value: o.value
2344                };
2345                o.key && (s.key = o.key), o.hasOwnProperty("arrayIndex") && o.arrayIndex > -1 && (s.arrayIndex = o.arrayIndex), t.matches.push(s);
2346              }
2347            }
2348          }), this.options.includeScore && r.push(function (e, t) {
2349            t.score = e.score;
2350          });
2351
2352          for (var o = 0, s = e.length; o < s; o += 1) {
2353            var a = e[o];
2354
2355            if (this.options.id && (a.item = this.options.getFn(a.item, this.options.id)[0]), r.length) {
2356              for (var c = {
2357                item: a.item
2358              }, l = 0, u = r.length; l < u;
2358 l += 1) r[l](a, c);
2359
2360              t.push(c);
2361            } else t.push(a.item);
2362          }
2363
2364          return t;
2365        }
2366      }, {
2367        key: "_log",
2368        value: function () {
2369          var e;
2370          this.options.verbose && (e = console).log.apply(e, arguments);
2371        }
2372      }]) && r(t.prototype, i), e;
2373    }();
2374
2375    e.exports = c;
2376  }, function (e, t, i) {
2377    function n(e, t) {
2378      for (var i = 0; i < t.length; i++) {
2379        var n = t[i];
2380        n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);
2381      }
2382    }
2383
2384    var r = i(3),
2385        o = i(4),
2386        s = i(7),
2387        a = function () {
2388      function e(t, i) {
2389        var n = i.location,
2390            r = void 0 === n ? 0 : n,
2391            o = i.distance,
2392            a = void 0 === o ? 100 : o,
2393            c = i.threshold,
2394            l = void 0 === c ? .6 : c,
2395            u = i.maxPatternLength,
2396            h = void 0 === u ? 32 : u,
2397            d = i.isCaseSensitive,
2398            p = void 0 !== d && d,
2399            f = i.tokenSeparator,
2400            m = void 0 === f ? / +/g : f,
2401            v = i.findAllMatches,
2402            _ = void 0 !== v && v,
2403            g = i.minMatchCharLength,
2404            y = void 0 === g ? 1 : g;
2405
2406        !function (e, t) {
2407          if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function");
2408        }(this, e), this.options = {
2409          location: r,
2410          distance: a,
2411          threshold: l,
2412          maxPatternLength: h,
2413          isCaseSensitive: p,
2414          tokenSeparator: m,
2415          findAllMatches: _,
2416          minMatchCharLength: y
2417        }, this.pattern = this.options.isCaseSensitive ? t : t.toLowerCase(), this.pattern.length <= h && (this.patternAlphabet = s(this.pattern));
2418      }
2419
2420      var t, i;
2421      return t = e, (i = [{
2422        key: "search",
2423        value: function (e) {
2424          if (this.options.isCaseSensitive || (e = e.toLowerCase()), this.pattern === e) return {
2425            isMatch: !0,
2426            score: 0,
2427            matchedIndices: [[0, e.length - 1]]
2428          };
2429          var t = this.options,
2430              i = t.maxPatternLength,
2431              n = t.tokenSeparator;
2432          if (this.pattern.length > i) return r(e, this.pattern, n);
2433          var s = this.options,
2434              a = s.location,
2435              c = s.distance,
2436              l = s.threshold,
2437              u = s.findAllMatches,
2438              h = s.minMatchCharLength;
2439          return o(e, this.pattern, this.patternAlphabet, {
2440            location: a,
2441            distance: c,
2442            threshold: l,
2443            findAllMatches: u,
2444            minMatchCharLength: h
2445          });
2446        }
2447      }]) && n(t.prototype, i), e;
2448    }();
2449
2450    e.exports = a;
2451  }, function (e, t) {
2452    var i = /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g;
2453
2454    e.exports = function (e, t) {
2455      var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : / +/g,
2456          r = new RegExp(t.replace(i, "\\$&").replace(n, "|")),
2457          o = e.match(r),
2458          s = !!o,
2459          a = [];
2460      if (s) for (var c = 0, l = o.length; c < l; c += 1) {
2461        var u = o[c];
2462        a.push([e.indexOf(u), u.length - 1]);
2463      }
2464      return {
2465        score: s ? .5 : 1,
2466        isMatch: s,
2467        matchedIndices: a
2468      };
2469    };
2470  }, function (e, t, i) {
2471    var n = i(5),
2472        r = i(6);
2473
2474    e.exports = function (e, t, i, o) {
2475      for (var s = o.location, a = void 0 === s ? 0 : s, c = o.distance, l = void 0 === c ? 100 : c, u = o.threshold, h = void 0 === u ? .6 : u, d = o.findAllMatches, p = void 0 !== d && d, f = o.minMatchCharLength, m = void 0 === f ? 1 : f, v = a, _ = e.length, g = h, y = e.indexOf(t, v), b = t.length, E = [], S = 0; S < _; S += 1) E[S] = 0;
2476
2477      if (-1 !== y) {
2478        var I = n(t, {
2479          errors: 0,
2480          currentLocation: y,
2481          expectedLocation: v,
2482          distance: l
2483        });
2484
2485        if (g = Math.min(I, g), -1 !== (y = e.lastIndexOf(t, v + b))) {
2486          var O = n(t, {
2487            errors: 0,
2488            currentLocation: y,
2489            expectedLocation: v,
2490            distance: l
2491          });
2492          g = Math.min(O, g);
2493        }
2494      }
2495
2496      y = -1;
2497
2498      for (var C = [], T = 1, w = b + _, A = 1 << (b <= 31 ? b - 1 : 30), L = 0; L < b; L += 1) {
2499        for (var P = 0, D = w; P < D;) n(t, {
2500          errors: L,
2501          currentLocation: v + D,
2502          expectedLocation: v,
2503          distance: l
2504        }) <= g ? P = D : w = D, D = Math.floor((w - P) / 2 + P);
2505
2506        w = D;
2507        var x = Math.max(1, v - D + 1),
2508            N = p ? _ : Math.min(v + D, _) + b,
2509            M = Array(N + 2);
2510        M[N + 1] = (1 << L) - 1;
2511
2512        for (var j = N; j >= x; j -= 1) {
2513          var k = j - 1,
2514              F = i[e.charAt(k)];
2515
2516          if (F && (E[k] = 1), M[j] = (M[j + 1] << 1 | 1) & F, 0 !== L && (M[j] |= (C[j + 1] | C[j]) << 1 | 1 | C[j + 1]), M[j] & A && (T = n(t, {
2517            errors: L,
2518            currentLocation: k,
2519            expectedLocation: v,
2520            distance: l
2521          })) <= g) {
2522            if (g = T, (y = k) <= v) break;
2523            x = Math.max(1, 2 * v - y);
2524          }
2525        }
2526
2527        if (n(t, {
2528          errors: L + 1,
2529          currentLocation: v,
2530          expectedLocation: v,
2531          distance: l
2532        }) > g) break;
2533        C = M;
2534      }
2535
2536      return {
2537        isMatch: y >= 0,
2538        score: 0 === T ? .001 : T,
2539        matchedIndices: r(E, m)
2540      };
2541    };
2542  }, function (e, t) {
2543    e.exports = function (e, t) {
2544      var i = t.errors,
2545          n = void 0 === i ? 0 : i,
2546          r = t.currentLocation,
2547          o = void 0 === r ? 0 : r,
2548          s = t.expectedLocation,
2549          a = void 0 === s ? 0 : s,
2550          c = t.distance,
2551          l = void 0 === c ? 100 : c,
2552          u = n / e.length,
2553          h = Math.abs(a - o);
2554      return l ? u + h / l : h ? 1 : u;
2555    };
2556  }, function (e, t) {
2557    e.exports = function () {
2558      for (var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1, i = [], n = -1, r = -1, o = 0, s = e.length; o < s; o += 1) {
2559        var a = e[o];
2560        a && -1 === n ? n = o : a || -1 === n || ((r = o - 1) - n + 1 >= t && i.push([n, r]), n = -1);
2561      }
2562
2563      return e[o - 1] && o - n >= t && i.push([n, o - 1]), i;
2564    };
2565  }, function (e, t) {
2566    e.exports = function (e) {
2567      for (var t = {}, i = e.length, n = 0; n < i; n += 1) t[e.charAt(n)] = 0;
2568
2569      for (var r = 0; r < i; r += 1) t[e.charAt(r)] |= 1 << i - r - 1;
2570
2571      return t;
2572    };
2573  }, function (e, t, i) {
2574    var n = i(0);
2575
2576    e.exports = function (e, t) {
2577      return function e(t, i, r) {
2578        if (i) {
2579          var o = i.indexOf("."),
2580              s = i,
2581              a = null;
2582          -1 !== o && (s = i.slice(0, o), a = i.slice(o + 1));
2583          var c = t[s];
2584          if (null != c) if (a || "string" != typeof c && "number" != typeof c) {
2585            if (n(c)) for (var l = 0, u = c.length; l < u; l += 1) e(c[l], a, r);else a && e(c, a, r);
2586          } else r.push(c.toString());
2587        } else r.push(t);
2588
2589        return r;
2590      }(e, t, []);
2591    };
2592  }]);
2593}, function (e, t, i) {
2594  "use strict";
2595
2596  var n = function (e) {
2597    return function (e) {
2598      return !!e && "object" == typeof e;
2599    }(e) && !function (e) {
2600      var t = Object.prototype.toString.call(e);
2601      return "[object RegExp]" === t || "[object Date]" === t || function (e) {
2602        return e.$$typeof === r;
2603      }(e);
2604    }(e);
2605  };
2606
2607  var r = "function" == typeof Symbol && Symbol.for ? Symbol.for("react.element") : 60103;
2608
2609  function o(e, t) {
2610    return !1 !== t.clone && t.isMergeableObject(e) ? l((i = e, Array.isArray(i) ? [] : {}), e, t) : e;
2611    var i;
2612  }
2613
2614  function s(e, t, i) {
2615    return e.concat(t).map(function (e) {
2616      return o(e, i);
2617    });
2618  }
2619
2620  function a(e) {
2621    return Object.keys(e).concat(function (e) {
2622      return Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols(e).filter(function (t) {
2623        return e.propertyIsEnumerable(t);
2624      }) : [];
2625    }(e));
2626  }
2627
2628  function c(e, t, i) {
2629    var n = {};
2630    return i.isMergeableObject(e) && a(e).forEach(function (t) {
2631      n[t] = o(e[t], i);
2632    }), a(t).forEach(function (r) {
2633      (function (e, t) {
2634        try {
2635          return t in e && !(Object.hasOwnProperty.call(e, t) && Object.propertyIsEnumerable.call(e, t));
2636        } catch (e) {
2637          return !1;
2638        }
2639      })(e, r) || (i.isMergeableObject(t[r]) && e[r] ? n[r] = function (e, t) {
2640        if (!t.customMerge) return l;
2641        var i = t.customMerge(e);
2642        return "function" == typeof i ? i : l;
2643      }(r, i)(e[r], t[r], i) : n[r] = o(t[r], i));
2644    }), n;
2645  }
2646
2647  function l(e, t, i) {
2648    (i = i || {}).arrayMerge = i.arrayMerge || s, i.isMergeableObject = i.isMergeableObject || n, i.cloneUnlessOtherwiseSpecified = o;
2649    var r = Array.isArray(t);
2650    return r === Array.isArray(e) ? r ? i.arrayMerge(e, t, i) : c(e, t, i) : o(t, i);
2651  }
2652
2653  l.all = function (e, t) {
2654    if (!Array.isArray(e)) throw new Error("first argument should be an array");
2655    return e.reduce(function (e, i) {
2656      return l(e, i, t);
2657    }, {});
2658  };
2659
2660  var u = l;
2661  e.exports = u;
2662}, function (e, t, i) {
2663  "use strict";
2664
2665  var n = this && this.__spreadArrays || function () {
2666    for (var e = 0, t = 0, i = arguments.length; t < i; t++) e += arguments[t].length;
2667
2668    var n = Array(e),
2669        r = 0;
2670
2671    for (t = 0; t < i; t++) for (var o = arguments[t], s = 0, a = o.length; s < a; s++, r++) n[r] = o[s];
2672
2673    return n;
2674  },
2675      r = this && this.__importDefault || function (e) {
2676    return e && e.__esModule ? e : {
2677      default: e
2678    };
2679  };
2680
2681  Object.defineProperty(t, "__esModule", {
2682    value: !0
2683  });
2684
2685  var o = i(3),
2686      s = r(i(4)),
2687      a = function () {
2688    function e() {
2689      this._store = o.createStore(s.default, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());
2690    }
2691
2692    return e.prototype.subscribe = function (e) {
2693      this._store.subscribe(e);
2694    }, e.prototype.dispatch = function (e) {
2695      this._store.dispatch(e);
2696    }, Object.defineProperty(e.prototype, "state", {
2697      get: function () {
2698        return this._store.getState();
2699      },
2700      enumerable: !0,
2701      configurable: !0
2702    }), Object.defineProperty(e.prototype, "items", {
2703      get: function () {
2704        return this.state.items;
2705      },
2706      enumerable: !0,
2707      configurable: !0
2708    }), Object.defineProperty(e.prototype, "activeItems", {
2709      get: function () {
2710        return this.items.filter(function (e) {
2711          return !0 === e.active;
2712        });
2713      },
2714      enumerable: !0,
2715      configurable: !0
2716    }), Object.defineProperty(e.prototype, "highlightedActiveItems", {
2717      get: function () {
2718        return this.items.filter(function (e) {
2719          return e.active && e.highlighted;
2720        });
2721      },
2722      enumerable: !0,
2723      configurable: !0
2724    }), Object.defineProperty(e.prototype, "choices", {
2725      get: function () {
2726        return this.state.choices;
2727      },
2728      enumerable: !0,
2729      configurable: !0
2730    }), Object.defineProperty(e.prototype, "activeChoices", {
2731      get: function () {
2732        return this.choices.filter(function (e) {
2733          return !0 === e.active;
2734        });
2735      },
2736      enumerable: !0,
2737      configurable: !0
2738    }), Object.defineProperty(e.prototype, "selectableChoices", {
2739      get: function () {
2740        return this.choices.filter(function (e) {
2741          return !0 !== e.disabled;
2742        });
2743      },
2744      enumerable: !0,
2745      configurable: !0
2746    }), Object.defineProperty(e.prototype, "searchableChoices", {
2747      get: function () {
2748        return this.selectableChoices.filter(function (e) {
2749          return !0 !== e.placeholder;
2750        });
2751      },
2752      enumerable: !0,
2753      configurable: !0
2754    }), Object.defineProperty(e.prototype, "placeholderChoice", {
2755      get: function () {
2756        return n(this.choices).reverse().find(function (e) {
2757          return !0 === e.placeholder;
2758        });
2759      },
2760      enumerable: !0,
2761      configurable: !0
2762    }), Object.defineProperty(e.prototype, "groups", {
2763      get: function () {
2764        return this.state.groups;
2765      },
2766      enumerable: !0,
2767      configurable: !0
2768    }), Object.defineProperty(e.prototype, "activeGroups", {
2769      get: function () {
2770        var e = this.groups,
2771            t = this.choices;
2772        return e.filter(function (e) {
2773          var i = !0 === e.active && !1 === e.disabled,
2774              n = t.some(function (e) {
2775            return !0 === e.active && !1 === e.disabled;
2776          });
2777          return i && n;
2778        }, []);
2779      },
2780      enumerable: !0,
2781      configurable: !0
2782    }), e.prototype.isLoading = function () {
2783      return this.state.loading;
2784    }, e.prototype.getChoiceById = function (e) {
2785      return this.activeChoices.find(function (t) {
2786        return t.id === parseInt(e, 10);
2787      });
2788    }, e.prototype.getGroupById = function (e) {
2789      return this.groups.find(function (t) {
2790        return t.id === e;
2791      });
2792    }, e;
2793  }();
2794
2795  t.default = a;
2796}, function (e, t) {
2797  var i;
2798
2799  i = function () {
2800    return this;
2801  }();
2802
2803  try {
2804    i = i || new Function("return this")();
2805  } catch (e) {
2806    "object" == typeof window && (i = window);
2807  }
2808
2809  e.exports = i;
2810}, function (e, t) {
2811  e.exports = function (e) {
2812    if (!e.webpackPolyfill) {
2813      var t = Object.create(e);
2814      t.children || (t.children = []), Object.defineProperty(t, "loaded", {
2815        enumerable: !0,
2816        get: function () {
2817          return t.l;
2818        }
2819      }), Object.defineProperty(t, "id", {
2820        enumerable: !0,
2821        get: function () {
2822          return t.i;
2823        }
2824      }), Object.defineProperty(t, "exports", {
2825        enumerable: !0
2826      }), t.webpackPolyfill = 1;
2827    }
2828
2829    return t;
2830  };
2831}, function (e, t, i) {
2832  "use strict";
2833
2834  var n = this && this.__spreadArrays || function () {
2835    for (var e = 0, t = 0, i = arguments.length; t < i; t++) e += arguments[t].length;
2836
2837    var n = Array(e),
2838        r = 0;
2839
2840    for (t = 0; t < i; t++) for (var o = arguments[t], s = 0, a = o.length; s < a; s++, r++) n[r] = o[s];
2841
2842    return n;
2843  };
2844
2845  Object.defineProperty(t, "__esModule", {
2846    value: !0
2847  }), t.defaultState = [], t.default = function (e, i) {
2848    switch (void 0 === e && (e = t.defaultState), i.type) {
2849      case "ADD_ITEM":
2850        var r = i;
2851        return n(e, [{
2852          id: r.id,
2853          choiceId: r.choiceId,
2854          groupId: r.groupId,
2855          value: r.value,
2856          label: r.label,
2857          active: !0,
2858          highlighted: !1,
2859          customProperties: r.customProperties,
2860          placeholder: r.placeholder || !1,
2861          keyCode: null
2862        }]).map(function (e) {
2863          var t = e;
2864          return t.highlighted = !1, t;
2865        });
2866
2867      case "REMOVE_ITEM":
2868        return e.map(function (e) {
2869          var t = e;
2870          return t.id === i.id && (t.active = !1), t;
2871        });
2872
2873      case "HIGHLIGHT_ITEM":
2874        var o = i;
2875        return e.map(function (e) {
2876          var t = e;
2877          return t.id === o.id && (t.highlighted = o.highlighted), t;
2878        });
2879
2880      default:
2881        return e;
2882    }
2883  };
2884}, function (e, t, i) {
2885  "use strict";
2886
2887  var n = this && this.__spreadArrays || function () {
2888    for (var e = 0, t = 0, i = arguments.length; t < i; t++) e += arguments[t].length;
2889
2890    var n = Array(e),
2891        r = 0;
2892
2893    for (t = 0; t < i; t++) for (var o = arguments[t], s = 0, a = o.length; s < a; s++, r++) n[r] = o[s];
2894
2895    return n;
2896  };
2897
2898  Object.defineProperty(t, "__esModule", {
2899    value: !0
2900  }), t.defaultState = [], t.default = function (e, i) {
2901    switch (void 0 === e && (e = t.defaultState), i.type) {
2902      case "ADD_GROUP":
2903        var r = i;
2904        return n(e, [{
2905          id: r.id,
2906          value: r.value,
2907          active: r.active,
2908          disabled: r.disabled
2909        }]);
2910
2911      case "CLEAR_CHOICES":
2912        return [];
2913
2914      default:
2915        return e;
2916    }
2917  };
2918}, function (e, t, i) {
2919  "use strict";
2920
2921  var n = this && this.__spreadArrays || function () {
2922    for (var e = 0, t = 0, i = arguments.length; t < i; t++) e += arguments[t].length;
2923
2924    var n = Array(e),
2925        r = 0;
2926
2927    for (t = 0; t < i; t++) for (var o = arguments[t], s = 0, a = o.length; s < a; s++, r++) n[r] = o[s];
2928
2929    return n;
2930  };
2931
2932  Object.defineProperty(t, "__esModule", {
2933    value: !0
2934  }), t.defaultState = [], t.default = function (e, i) {
2935    switch (void 0 === e && (e = t.defaultState), i.type) {
2936      case "ADD_CHOICE":
2937        var r = i,
2938            o = {
2939          id: r.id,
2940          elementId: r.elementId,
2941          groupId: r.groupId,
2942          value: r.value,
2943          label: r.label || r.value,
2944          disabled: r.disabled || !1,
2945          selected: !1,
2946          active: !0,
2947          score: 9999,
2948          customProperties: r.customProperties,
2949          placeholder: r.placeholder || !1
2950        };
2951        return n(e, [o]);
2952
2953      case "ADD_ITEM":
2954        var s = i;
2955        return s.choiceId > -1 ? e.map(function (e) {
2956          var t = e;
2957          return t.id === parseInt("" + s.choiceId, 10) && (t.selected = !0), t;
2958        }) : e;
2959
2960      case "REMOVE_ITEM":
2961        var a = i;
2962        return a.choiceId && a.choiceId > -1 ? e.map(function (e) {
2963          var t = e;
2964          return t.id === parseInt("" + a.choiceId, 10) && (t.selected = !1), t;
2965        }) : e;
2966
2967      case "FILTER_CHOICES":
2968        var c = i;
2969        return e.map(function (e) {
2970          var t = e;
2971          return t.active = c.results.some(function (e) {
2972            var i = e.item,
2973                n = e.score;
2974            return i.id === t.id && (t.score = n, !0);
2975          }), t;
2976        });
2977
2978      case "ACTIVATE_CHOICES":
2979        var l = i;
2980        return e.map(function (e) {
2981          var t = e;
2982          return t.active = l.active, t;
2983        });
2984
2985      case "CLEAR_CHOICES":
2986        return t.defaultState;
2987
2988      default:
2989        return e;
2990    }
2991  };
2992}, function (e, t, i) {
2993  "use strict";
2994
2995  Object.defineProperty(t, "__esModule", {
2996    value: !0
2997  }), t.defaultState = !1;
2998
2999  t.default = function (e, i) {
3000    switch (void 0 === e && (e = t.defaultState), i.type) {
3001      case "SET_IS_LOADING":
3002        return i.isLoading;
3003
3004      default:
3005        return e;
3006    }
3007  };
3008}, function (e, t, i) {
3009  "use strict";
3010
3011  var n = this && this.__importDefault || function (e) {
3012    return e && e.__esModule ? e : {
3013      default: e
3014    };
3015  };
3016
3017  Object.defineProperty(t, "__esModule", {
3018    value: !0
3019  });
3020  var r = n(i(19));
3021  t.Dropdown = r.default;
3022  var o = n(i(20));
3023  t.Container = o.default;
3024  var s = n(i(21));
3025  t.Input = s.default;
3026  var a = n(i(22));
3027  t.List = a.default;
3028  var c = n(i(23));
3029  t.WrappedInput = c.default;
3030  var l = n(i(24));
3031  t.WrappedSelect = l.default;
3032}, function (e, t, i) {
3033  "use strict";
3034
3035  Object.defineProperty(t, "__esModule", {
3036    value: !0
3037  });
3038
3039  var n = function () {
3040    function e(e) {
3041      var t = e.element,
3042          i = e.type,
3043          n = e.classNames;
3044      this.element = t, this.classNames = n, this.type = i, this.isActive = !1;
3045    }
3046
3047    return Object.defineProperty(e.prototype, "distanceFromTopWindow", {
3048      get: function () {
3049        return this.element.getBoundingClientRect().bottom;
3050      },
3051      enumerable: !0,
3052      configurable: !0
3053    }), e.prototype.getChild = function (e) {
3054      return this.element.querySelector(e);
3055    }, e.prototype.show = function () {
3056      return this.element.classList.add(this.classNames.activeState), this.element.setAttribute("aria-expanded", "true"), this.isActive = !0, this;
3057    }, e.prototype.hide = function () {
3058      return this.element.classList.remove(this.classNames.activeState), this.element.setAttribute("aria-expanded", "false"), this.isActive = !1, this;
3059    }, e;
3060  }();
3061
3062  t.default = n;
3063}, function (e, t, i) {
3064  "use strict";
3065
3066  Object.defineProperty(t, "__esModule", {
3067    value: !0
3068  });
3069
3070  var n = i(1),
3071      r = i(0),
3072      o = function () {
3073    function e(e) {
3074      var t = e.element,
3075          i = e.type,
3076          n = e.classNames,
3077          r = e.position;
3078      this.element = t, this.classNames = n, this.type = i, this.position = r, this.isOpen = !1, this.isFlipped = !1, this.isFocussed = !1, this.isDisabled = !1, this.isLoading = !1, this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this);
3079    }
3080
3081    return e.prototype.addEventListeners = function () {
3082      this.element.addEventListener("focus", this._onFocus), this.element.addEventListener("blur", this._onBlur);
3083    }, e.prototype.removeEventListeners = function () {
3084      this.element.removeEventListener("focus", this._onFocus), this.element.removeEventListener("blur", this._onBlur);
3085    }, e.prototype.shouldFlip = function (e) {
3086      if ("number" != typeof e) return !1;
3087      var t = !1;
3088      return "auto" === this.position ? t = !window.matchMedia("(min-height: " + (e + 1) + "px)").matches : "top" === this.position && (t = !0), t;
3089    }, e.prototype.setActiveDescendant = function (e) {
3090      this.element.setAttribute("aria-activedescendant", e);
3091    }, e.prototype.removeActiveDescendant = function () {
3092      this.element.removeAttribute("aria-activedescendant");
3093    }, e.prototype.open = function (e) {
3094      this.element.classList.add(this.classNames.openState), this.element.setAttribute("aria-expanded", "true"), this.isOpen = !0, this.shouldFlip(e) && (this.element.classList.add(this.classNames.flippedState), this.isFlipped = !0);
3095    }, e.prototype.close = function () {
3096      this.element.classList.remove(this.classNames.openState), this.element.setAttribute("aria-expanded", "false"), this.removeActiveDescendant(), this.isOpen = !1, this.isFlipped && (this.element.classList.remove(this.classNames.flippedState), this.isFlipped = !1);
3097    }, e.prototype.focus = function () {
3098      this.isFocussed || this.element.focus();
3099    }, e.prototype.addFocusState = function () {
3100      this.element.classList.add(this.classNames.focusState);
3101    }, e.prototype.removeFocusState = function () {
3102      this.element.classList.remove(this.classNames.focusState);
3103    }, e.prototype.enable = function () {
3104      this.element.classList.remove(this.classNames.disabledState), this.element.removeAttribute("aria-disabled"), this.type === r.SELECT_ONE_TYPE && this.element.setAttribute("tabindex", "0"), this.isDisabled = !1;
3105    }, e.prototype.disable = function () {
3106      this.element.classList.add(this.classNames.disabledState), this.element.setAttribute("aria-disabled", "true"), this.type === r.SELECT_ONE_TYPE && this.element.setAttribute("tabindex", "-1"), this.isDisabled = !0;
3107    }, e.prototype.wrap = function (e) {
3108      n.wrap(e, this.element);
3109    }, e.prototype.unwrap = function (e) {
3110      this.element.parentNode && (this.element.parentNode.insertBefore(e, this.element), this.element.parentNode.removeChild(this.element));
3111    }, e.prototype.addLoadingState = function () {
3112      this.element.classList.add(this.classNames.loadingState), this.element.setAttribute("aria-busy", "true"), this.isLoading = !0;
3113    }, e.prototype.removeLoadingState = function () {
3114      this.element.classList.remove(this.classNames.loadingState), this.element.removeAttribute("aria-busy"), this.isLoading = !1;
3115    }, e.prototype._onFocus = function () {
3116      this.isFocussed = !0;
3117    }, e.prototype._onBlur = function () {
3118      this.isFocussed = !1;
3119    }, e;
3120  }();
3121
3122  t.default = o;
3123}, function (e, t, i) {
3124  "use strict";
3125
3126  Object.defineProperty(t, "__esModule", {
3127    value: !0
3128  });
3129
3130  var n = i(1),
3131      r = i(0),
3132      o = function () {
3133    function e(e) {
3134      var t = e.element,
3135          i = e.type,
3136          n = e.classNames,
3137          r = e.preventPaste;
3138      this.element = t, this.type = i, this.classNames = n, this.preventPaste = r, this.isFocussed = this.element.isEqualNode(document.activeElement), this.isDisabled = t.disabled, this._onPaste = this._onPaste.bind(this), this._onInput = this._onInput.bind(this), this._onFocus = this._onFocus.bind(this), this._onBlur = this._onBlur.bind(this);
3139    }
3140
3141    return Object.defineProperty(e.prototype, "placeholder", {
3142      set: function (e) {
3143        this.element.placeholder = e;
3144      },
3145      enumerable: !0,
3146      configurable: !0
3147    }), Object.defineProperty(e.prototype, "value", {
3148      get: function () {
3149        return n.sanitise(this.element.value);
3150      },
3151      set: function (e) {
3152        this.element.value = e;
3153      },
3154      enumerable: !0,
3155      configurable: !0
3156    }), e.prototype.addEventListeners = function () {
3157      this.element.addEventListener("paste", this._onPaste), this.element.addEventListener("input", this._onInput, {
3158        passive: !0
3159      }), this.element.addEventListener("focus", this._onFocus, {
3160        passive: !0
3161      }), this.element.addEventListener("blur", this._onBlur, {
3162        passive: !0
3163      });
3164    }, e.prototype.removeEventListeners = function () {
3165      this.element.removeEventListener("input", this._onInput), this.element.removeEventListener("paste", this._onPaste), this.element.removeEventListener("focus", this._onFocus), this.element.removeEventListener("blur", this._onBlur);
3166    }, e.prototype.enable = function () {
3167      this.element.removeAttribute("disabled"), this.isDisabled = !1;
3168    }, e.prototype.disable = function () {
3169      this.element.setAttribute("disabled", ""), this.isDisabled = !0;
3170    }
3170, e.prototype.focus = function () {
3171      this.isFocussed || this.element.focus();
3172    }, e.prototype.blur = function () {
3173      this.isFocussed && this.element.blur();
3174    }, e.prototype.clear = function (e) {
3175      return void 0 === e && (e = !0), this.element.value && (this.element.value = ""), e && this.setWidth(), this;
3176    }, e.prototype.setWidth = function () {
3177      var e = this.element,
3178          t = e.style,
3179          i = e.value,
3180          n = e.placeholder;
3181      t.minWidth = n.length + 1 + "ch", t.width = i.length + 1 + "ch";
3182    }, e.prototype.setActiveDescendant = function (e) {
3183      this.element.setAttribute("aria-activedescendant", e);
3184    }, e.prototype.removeActiveDescendant = function () {
3185      this.element.removeAttribute("aria-activedescendant");
3186    }, e.prototype._onInput = function () {
3187      this.type !== r.SELECT_ONE_TYPE && this.setWidth();
3188    }, e.prototype._onPaste = function (e) {
3189      this.preventPaste && e.preventDefault();
3190    }, e.prototype._onFocus = function () {
3191      this.isFocussed = !0;
3192    }, e.prototype._onBlur = function () {
3193      this.isFocussed = !1;
3194    }, e;
3195  }();
3196
3197  t.default = o;
3198}, function (e, t, i) {
3199  "use strict";
3200
3201  Object.defineProperty(t, "__esModule", {
3202    value: !0
3203  });
3204
3205  var n = i(0),
3206      r = function () {
3207    function e(e) {
3208      var t = e.element;
3209      this.element = t, this.scrollPos = this.element.scrollTop, this.height = this.element.offsetHeight;
3210    }
3211
3212    return e.prototype.clear = function () {
3213      this.element.innerHTML = "";
3214    }, e.prototype.append = function (e) {
3215      this.element.appendChild(e);
3216    }, e.prototype.getChild = function (e) {
3217      return this.element.querySelector(e);
3218    }, e.prototype.hasChildren = function () {
3219      return this.element.hasChildNodes();
3220    }, e.prototype.scrollToTop = function () {
3221      this.element.scrollTop = 0;
3222    }, e.prototype.scrollToChildElement = function (e, t) {
3223      var i = this;
3224
3225      if (e) {
3226        var n = this.element.offsetHeight,
3227            r = this.element.scrollTop + n,
3228            o = e.offsetHeight,
3229            s = e.offsetTop + o,
3230            a = t > 0 ? this.element.scrollTop + s - r : e.offsetTop;
3231        requestAnimationFrame(function () {
3232          i._animateScroll(a, t);
3233        });
3234      }
3235    }, e.prototype._scrollDown = function (e, t, i) {
3236      var n = (i - e) / t,
3237          r = n > 1 ? n : 1;
3238      this.element.scrollTop = e + r;
3239    }, e.prototype._scrollUp = function (e, t, i) {
3240      var n = (e - i) / t,
3241          r = n > 1 ? n : 1;
3242      this.element.scrollTop = e - r;
3243    }, e.prototype._animateScroll = function (e, t) {
3244      var i = this,
3245          r = n.SCROLLING_SPEED,
3246          o = this.element.scrollTop,
3247          s = !1;
3248      t > 0 ? (this._scrollDown(o, r, e), o < e && (s = !0)) : (this._scrollUp(o, r, e), o > e && (s = !0)), s && requestAnimationFrame(function () {
3249        i._animateScroll(e, t);
3250      });
3251    }, e;
3252  }();
3253
3254  t.default = r;
3255}, function (e, t, i) {
3256  "use strict";
3257
3258  var n,
3259      r = this && this.__extends || (n = function (e, t) {
3260    return (n = Object.setPrototypeOf || {
3261      __proto__: []
3262    } instanceof Array && function (e, t) {
3263      e.__proto__ = t;
3264    } || function (e, t) {
3265      for (var i in t) t.hasOwnProperty(i) && (e[i] = t[i]);
3266    })(e, t);
3267  }, function (e, t) {
3268    function i() {
3269      this.constructor = e;
3270    }
3271
3272    n(e, t), e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype, new i());
3273  }),
3274      o = this && this.__importDefault || function (e) {
3275    return e && e.__esModule ? e : {
3276      default: e
3277    };
3278  };
3279
3280  Object.defineProperty(t, "__esModule", {
3281    value: !0
3282  });
3283
3284  var s = function (e) {
3285    function t(t) {
3286      var i = t.element,
3287          n = t.classNames,
3288          r = t.delimiter,
3289          o = e.call(this, {
3290        element: i,
3291        classNames: n
3292      }) || this;
3293      return o.delimiter = r, o;
3294    }
3295
3296    return r(t, e), Object.defineProperty(t.prototype, "value", {
3297      get: function () {
3298        return this.element.value;
3299      },
3300      set: function (e) {
3301        this.element.setAttribute("value", e), this.element.value = e;
3302      },
3303      enumerable: !0,
3304      configurable: !0
3305    }), t;
3306  }(o(i(5)).default);
3307
3308  t.default = s;
3309}, function (e, t, i) {
3310  "use strict";
3311
3312  var n,
3313      r = this && this.__extends || (n = function (e, t) {
3314    return (n = Object.setPrototypeOf || {
3315      __proto__: []
3316    } instanceof Array && function (e, t) {
3317      e.__proto__ = t;
3318    } || function (e, t) {
3319      for (var i in t) t.hasOwnProperty(i) && (e[i] = t[i]);
3320    })(e, t);
3321  }, function (e, t) {
3322    function i() {
3323      this.constructor = e;
3324    }
3325
3326    n(e, t), e.prototype = null === t ? Object.create(t) : (i.prototype = t.prototype, new i());
3327  }),
3328      o = this && this.__importDefault || function (e) {
3329    return e && e.__esModule ? e : {
3330      default: e
3331    };
3332  };
3333
3334  Object.defineProperty(t, "__esModule", {
3335    value: !0
3336  });
3337
3338  var s = function (e) {
3339    function t(t) {
3340      var i = t.element,
3341          n = t.classNames,
3342          r = t.template,
3343          o = e.call(this, {
3344        element: i,
3345        classNames: n
3346      }) || this;
3347      return o.template = r, o;
3348    }
3349
3350    return r(t, e), Object.defineProperty(t.prototype, "placeholderOption", {
3351      get: function () {
3352        return this.element.querySelector('option[value=""]') || this.element.querySelector("option[placeholder]");
3353      },
3354      enumerable: !0,
3355      configurable: !0
3356    }), Object.defineProperty(t.prototype, "optionGroups", {
3357      get: function () {
3358        return Array.from(this.element.getElementsByTagName("OPTGROUP"));
3359      },
3360      enumerable: !0,
3361      configurable: !0
3362    }), Object.defineProperty(t.prototype, "options", {
3363      get: function () {
3364        return Array.from(this.element.options);
3365      },
3366      set: function (e) {
3367        var t = this,
3368            i = document.createDocumentFragment();
3369        e.forEach(function (e) {
3370          return n = e, r = t.template(n), void i.appendChild(r);
3371          var n, r;
3372        }), this.appendDocFragment(i);
3373      },
3374      enumerable: !0,
3375      configurable: !0
3376    }), t.prototype.appendDocFragment = function (e) {
3377      this.element.innerHTML = "", this.element.appendChild(e);
3378    }, t;
3379  }(o(i(5)).default);
3380
3381  t.default = s;
3382}, function (e, t, i) {
3383  "use strict";
3384
3385  Object.defineProperty(t, "__esModule", {
3386    value: !0
3387  });
3388  var n = {
3389    containerOuter: function (e, t, i, n, r, o) {
3390      var s = e.containerOuter,
3391          a = Object.assign(document.createElement("div"), {
3392        className: s
3393      });
3394      return a.dataset.type = o, t && (a.dir = t), n && (a.tabIndex = 0), i && (a.setAttribute("role", r ? "combobox" : "listbox"), r && a.setAttribute("aria-autocomplete", "list")), a.setAttribute("aria-haspopup", "true"), a.setAttribute("aria-expanded", "false"), a;
3395    },
3396    containerInner: function (e) {
3397      var t = e.containerInner;
3398      return Object.assign(document.createElement("div"), {
3399        className: t
3400      });
3401    },
3402    itemList: function (e, t) {
3403      var i = e.list,
3404          n = e.listSingle,
3405          r = e.listItems;
3406      return Object.assign(document.createElement("div"), {
3407        className: i + " " + (t ? n : r)
3408      });
3409    },
3410    placeholder: function (e, t) {
3411      var i = e.placeholder;
3412      return Object.assign(document.createElement("div"), {
3413        className: i,
3414        innerHTML: t
3415      });
3416    },
3417    item: function (e, t, i) {
3418      var n = e.item,
3419          r = e.button,
3420          o = e.highlightedState,
3421          s = e.itemSelectable,
3422          a = e.placeholder,
3423          c = t.id,
3424          l = t.value,
3425          u = t.label,
3426          h = t.customProperties,
3427          d = t.active,
3428          p = t.disabled,
3429          f = t.highlighted,
3430          m = t.placeholder,
3431          v = Object.assign(document.createElement("div"), {
3432        className: n,
3433        innerHTML: u
3434      });
3435
3436      if (Object.assign(v.dataset, {
3437        item: "",
3438        id: c,
3439        value: l,
3440        customProperties: h
3441      }), d && v.setAttribute("aria-selected", "true"), p && v.setAttribute("aria-disabled", "true"), m && v.classList.add(a), v.classList.add(f ? o : s), i) {
3442        p && v.classList.remove(s), v.dataset.deletable = "";
3443
3444        var _ = Object.assign(document.createElement("button"), {
3445          type: "button",
3446          className: r,
3447          innerHTML: "Remove item"
3448        });
3449
3450        _.setAttribute("aria-label", "Remove item: '" + l + "'"), _.dataset.button = "", v.appendChild(_);
3451      }
3452
3453      return v;
3454    },
3455    choiceList: function (e, t) {
3456      var i = e.list,
3457          n = Object.assign(document.createElement("div"), {
3458        className: i
3459      });
3460      return t || n.setAttribute("aria-multiselectable", "true"), n.setAttribute("role", "listbox"), n;
3461    },
3462    choiceGroup: function (e, t) {
3463      var i = e.group,
3464          n = e.groupHeading,
3465          r = e.itemDisabled,
3466          o = t.id,
3467          s = t.value,
3468          a = t.disabled,
3469          c = Object.assign(document.createElement("div"), {
3470        className: i + " " + (a ? r : "")
3471      });
3472      return c.setAttribute("role", "group"), Object.assign(c.dataset, {
3473        group: "",
3474        id: o,
3475        value: s
3476      }), a && c.setAttribute("aria-disabled", "true"), c.appendChild(Object.assign(document.createElement("div"), {
3477        className: n,
3478        innerHTML: s
3479      })), c;
3480    },
3481    choice: function (e, t, i) {
3482      var n = e.item,
3483          r = e.itemChoice,
3484          o = e.itemSelectable,
3485          s = e.selectedState,
3486          a = e.itemDisabled,
3487          c = e.placeholder,
3488          l = t.id,
3489          u = t.value,
3490          h = t.label,
3491          d = t.groupId,
3492          p = t.elementId,
3493          f = t.disabled,
3494          m = t.selected,
3495          v = t.placeholder,
3496          _ = Object.assign(document.createElement("div"), {
3497        id: p,
3498        innerHTML: h,
3499        className: n + " " + r
3500      });
3501
3502      return m && _.classList.add(s), v && _.classList.add(c), _.setAttribute("role", d && d > 0 ? "treeitem" : "option"), Object.assign(_.dataset, {
3503        choice: "",
3504        id: l,
3505        value: u,
3506        selectText: i
3507      }), f ? (_.classList.add(a), _.dataset.choiceDisabled = "", _.setAttribute("aria-disabled", "true")) : (_.classList.add(o), _.dataset.choiceSelectable = ""), _;
3508    },
3509    input: function (e, t) {
3510      var i = e.input,
3511          n = e.inputCloned,
3512          r = Object.assign(document.createElement("input"), {
3513        type: "text",
3514        className: i + " " + n,
3515        autocomplete: "off",
3516        autocapitalize: "off",
3517        spellcheck: !1
3518      });
3519      return r.setAttribute("role", "textbox"), r.setAttribute("aria-autocomplete", "list"), r.setAttribute("aria-label", t), r;
3520    },
3521    dropdown: function (e) {
3522      var t = e.list,
3523          i = e.listDropdown,
3524          n = document.createElement("div");
3525      return n.classList.add(t, i), n.setAttribute("aria-expanded", "false"), n;
3526    },
3527    notice: function (e, t, i) {
3528      var n = e.item,
3529          r = e.itemChoice,
3530          o = e.noResults,
3531          s = e.noChoices;
3532      void 0 === i && (i = "");
3533      var a = [n, r];
3534      return "no-choices" === i ? a.push(s) : "no-results" === i && a.push(o), Object.assign(document.createElement("div"), {
3535        innerHTML: t,
3536        className: a.join(" ")
3537      });
3538    },
3539    option: function (e) {
3540      var t = e.label,
3541          i = e.value,
3542          n = e.customProperties,
3543          r = e.active,
3544          o = e.disabled,
3545          s = new Option(t, i, !1, r);
3546      return n && (s.dataset.customProperties = "" + n), s.disabled = !!o, s;
3547    }
3548  };
3549  t.default = n;
3550}, function (e, t, i) {
3551  "use strict";
3552
3553  Object.defineProperty(t, "__esModule", {
3554    value: !0
3555  });
3556  var n = i(0);
3557  t.addChoice = function (e) {
3558    var t = e.value,
3559        i = e.label,
3560        r = e.id,
3561        o = e.groupId,
3562        s = e.disabled,
3563        a = e.elementId,
3564        c = e.customProperties,
3565        l = e.placeholder,
3566        u = e.keyCode;
3567    return {
3568      type: n.ACTION_TYPES.ADD_CHOICE,
3569      value: t,
3570      label: i,
3571      id: r,
3572      groupId: o,
3573      disabled: s,
3574      elementId: a,
3575      customProperties: c,
3576      placeholder: l,
3577      keyCode: u
3578    };
3579  }, t.filterChoices = function (e) {
3580    return {
3581      type: n.ACTION_TYPES.FILTER_CHOICES,
3582      results: e
3583    };
3584  }, t.activateChoices = function (e) {
3585    return void 0 === e && (e = !0), {
3586      type: n.ACTION_TYPES.ACTIVATE_CHOICES,
3587      active: e
3588    };
3589  }, t.clearChoices = function () {
3590    return {
3591      type: n.ACTION_TYPES.CLEAR_CHOICES
3592    };
3593  };
3594}, function (e, t, i) {
3595  "use strict";
3596
3597  Object.defineProperty(t, "__esModule", {
3598    value: !0
3599  });
3600  var n = i(0);
3601  t.addItem = function (e) {
3602    var t = e.value,
3603        i = e.label,
3604        r = e.id,
3605        o = e.choiceId,
3606        s = e.groupId,
3607        a = e.customProperties,
3608        c = e.placeholder,
3609        l = e.keyCode;
3610    return {
3611      type: n.ACTION_TYPES.ADD_ITEM,
3612      value: t,
3613      label: i,
3614      id: r,
3615      choiceId: o,
3616      groupId: s,
3617      customProperties: a,
3618      placeholder: c,
3619      keyCode: l
3620    };
3621  }, t.removeItem = function (e, t) {
3622    return {
3623      type: n.ACTION_TYPES.REMOVE_ITEM,
3624      id: e,
3625      choiceId: t
3626    };
3627  }, t.highlightItem = function (e, t) {
3628    return {
3629      type: n.ACTION_TYPES.HIGHLIGHT_ITEM,
3630      id: e,
3631      highlighted: t
3632    };
3633  };
3634}, function (e, t, i) {
3635  "use strict";
3636
3637  Object.defineProperty(t, "__esModule", {
3638    value: !0
3639  });
3640  var n = i(0);
3641
3642  t.addGroup = function (e) {
3643    var t = e.value,
3644        i = e.id,
3645        r = e.active,
3646        o = e.disabled;
3647    return {
3648      type: n.ACTION_TYPES.ADD_GROUP,
3649      value: t,
3650      id: i,
3651      active: r,
3652      disabled: o
3653    };
3654  };
3655}, function (e, t, i) {
3656  "use strict";
3657
3658  Object.defineProperty(t, "__esModule", {
3659    value: !0
3660  });
3661  var n = i(0);
3662  t.clearAll = function () {
3663    return {
3664      type: n.ACTION_TYPES.CLEAR_ALL
3665    };
3666  }, t.resetTo = function (e) {
3667    return {
3668      type: n.ACTION_TYPES.RESET_TO,
3669      state: e
3670    };
3671  }, t.setIsLoading = function (e) {
3672    return {
3673      type: n.ACTION_TYPES.SET_IS_LOADING,
3674      isLoading: e
3675    };
3676  };
3677}]).default;
3678
3679/***/ }),
3680
vendor: 4,909 bytes, lines 3681-3855
3681/***/ "./src/js/vendor/focus-visible.js":
3682/*!****************************************!*\
3683  !*** ./src/js/vendor/focus-visible.js ***!
3684  \****************************************/
3685/***/ (() => {
3686
3687/**
3688 * Applies the :focus-visible polyfill at the given scope.
3689 * A scope in this case is either the top-level Document or a Shadow Root.
3690 *
3691 * @param {(Document|ShadowRoot)} scope
3692 * @see https://github.com/WICG/focus-visible
3693 */
3694function applyFocusVisiblePolyfill(scope) {
3695  var hadKeyboardEvent = true;
3696  var hadFocusVisibleRecently = false;
3697  var hadFocusVisibleRecentlyTimeout = null;
3698  var inputTypesAllowlist = {
3699    text: true,
3700    search: true,
3701    url: true,
3702    tel: true,
3703    email: true,
3704    password: true,
3705    number: true,
3706    date: true,
3707    month: true,
3708    week: true,
3709    time: true,
3710    datetime: true,
3711    'datetime-local': true
3712  };
3713  /**
3714   * Helper function for legacy browsers and iframes which sometimes focus
3715   * elements like document, body, and non-interactive SVG.
3716   * @param {Element} el
3717   */
3718
3719  function isValidFocusTarget(el) {
3720    if (el && el !== document && el.nodeName !== 'HTML' && el.nodeName !== 'BODY' && 'classList' in el && 'contains' in el.classList) {
3721      return true;
3722    }
3723
3724    return false;
3725  }
3726  /**
3727   * Computes whether the given element should automatically trigger the
3728   * `focus-visible` class being added, i.e. whether it should always match
3729   * `:focus-visible` when focused.
3730   * @param {Element} el
3731   * @return {boolean}
3732   */
3733
3734
3735  function focusTriggersKeyboardModality(el) {
3736    var type = el.type;
3737    var tagName = el.tagName;
3738
3739    if (tagName === 'INPUT' && inputTypesAllowlist[type] && !el.readOnly) {
3740      return true;
3741    }
3742
3743    if (tagName === 'TEXTAREA' && !el.readOnly) {
3744      return true;
3745    }
3746
3747    if (el.isContentEditable) {
3748      return true;
3749    }
3750
3751    return false;
3752  }
3753  /**
3754   * Add the `focus-visible` class to the given element if it was not added by
3755   * the author.
3756   * @param {Element} el
3757   */
3758
3759
3760  function addFocusVisibleClass(el) {
3761    if (el.classList.contains('focus-visible')) {
3762      return;
3763    }
3764
3765    el.classList.add('focus-visible');
3766    el.setAttribute('data-focus-visible-added', '');
3767  }
3768  /**
3769   * Remove the `focus-visible` class from the given element if it was not
3770   * originally added by the author.
3771   * @param {Element} el
3772   */
3773
3774
3775  function removeFocusVisibleClass(el) {
3776    if (!el.hasAttribute('data-focus-visible-added')) {
3777      return;
3778    }
3779
3780    el.classList.remove('focus-visible');
3781    el.removeAttribute('data-focus-visible-added');
3782  }
3783  /**
3784   * If the most recent user interaction was via the keyboard;
3785   * and the key press did not include a meta, alt/option, or control key;
3786   * then the modality is keyboard. Otherwise, the modality is not keyboard.
3787   * Apply `focus-visible` to any current active element and keep track
3788   * of our keyboard modality state with `hadKeyboardEvent`.
3789   * @param {KeyboardEvent} e
3790   */
3791
3792
3793  function onKeyDown(e) {
3794    if (e.metaKey || e.altKey || e.ctrlKey) {
3795      return;
3796    }
3797
3798    if (isValidFocusTarget(scope.activeElement)) {
3799      addFocusVisibleClass(scope.activeElement);
3800    }
3801
3802    hadKeyboardEvent = true;
3803  }
3804  /**
3805   * If at any point a user clicks with a pointing device, ensure that we change
3806   * the modality away from keyboard.
3807   * This avoids the situation where a user presses a key on an already focused
3808   * element, and then clicks on a different element, focusing it with a
3809   * pointing device, while we still think we're in keyboard modality.
3810   * @param {Event} e
3811   */
3812
3813
3814  function onPointerDown(e) {
3815    hadKeyboardEvent = false;
3816  }
3817  /**
3818   * On `focus`, add the `focus-visible` class to the target if:
3819   * - the target received focus as a result of keyboard navigation, or
3820   * - the event target is an element that will likely require interaction
3821   *   via the keyboard (e.g. a text box)
3822   * @param {Event} e
3823   */
3824
3825
3826  function onFocus(e) {
3827    // Prevent IE from focusing the document or HTML element.
3828    if (!isValidFocusTarget(e.target)) {
3829      return;
3830    }
3831
3832    if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {
3833      addFocusVisibleClass(e.target);
3834    }
3835  }
3836  /**
3837   * On `blur`, remove the `focus-visible` class from the target.
3838   * @param {Event} e
3839   */
3840
3841
3842  function onBlur(e) {
3843    if (!isValidFocusTarget(e.target)) {
3844      return;
3845    }
3846
3847    if (e.target.classList.contains('focus-visible') || e.target.hasAttribute('data-focus-visible-added')) {
3848      // To detect a tab/window switch, we look for a blur event followed
3849      // rapidly by a visibility change.
3850      // If we don't see a visibility change within 100ms, it's probably a
3851      // regular focus change.
3852      hadFocusVisibleRecently = true;
3853      window.clearTimeout(hadFocusVisibleRecentlyTimeout);
3854      hadFocusVisibleRecentlyTimeout = window.setTimeout(function () {
3855        hadFocusVisibleRecently = false;
vendor: 5,973 bytes, lines 3856-3992
3856      }, 100);
3857      removeFocusVisibleClass(e.target);
3858    }
3859  }
3860  /**
3861   * If the user changes tabs, keep track of whether or not the previously
3862   * focused element had .focus-visible.
3863   * @param {Event} e
3864   */
3865
3866
3867  function onVisibilityChange(e) {
3868    if (document.visibilityState === 'hidden') {
3869      // If the tab becomes active again, the browser will handle calling focus
3870      // on the element (Safari actually calls it twice).
3871      // If this tab change caused a blur on an element with focus-visible,
3872      // re-apply the class when the user switches back to the tab.
3873      if (hadFocusVisibleRecently) {
3874        hadKeyboardEvent = true;
3875      }
3876
3877      addInitialPointerMoveListeners();
3878    }
3879  }
3880  /**
3881   * Add a group of listeners to detect usage of any pointing devices.
3882   * These listeners will be added when the polyfill first loads, and anytime
3883   * the window is blurred, so that they are active when the window regains
3884   * focus.
3885   */
3886
3887
3888  function addInitialPointerMoveListeners() {
3889    document.addEventListener('mousemove', onInitialPointerMove);
3890    document.addEventListener('mousedown', onInitialPointerMove);
3891    document.addEventListener('mouseup', onInitialPointerMove);
3892    document.addEventListener('pointermove', onInitialPointerMove);
3893    document.addEventListener('pointerdown', onInitialPointerMove);
3894    document.addEventListener('pointerup', onInitialPointerMove);
3895    document.addEventListener('touchmove', onInitialPointerMove);
3896    document.addEventListener('touchstart', onInitialPointerMove);
3897    document.addEventListener('touchend', onInitialPointerMove);
3898  }
3899
3900  function removeInitialPointerMoveListeners() {
3901    document.removeEventListener('mousemove', onInitialPointerMove);
3902    document.removeEventListener('mousedown', onInitialPointerMove);
3903    document.removeEventListener('mouseup', onInitialPointerMove);
3904    document.removeEventListener('pointermove', onInitialPointerMove);
3905    document.removeEventListener('pointerdown', onInitialPointerMove);
3906    document.removeEventListener('pointerup', onInitialPointerMove);
3907    document.removeEventListener('touchmove', onInitialPointerMove);
3908    document.removeEventListener('touchstart', onInitialPointerMove);
3909    document.removeEventListener('touchend', onInitialPointerMove);
3910  }
3911  /**
3912   * When the polfyill first loads, assume the user is in keyboard modality.
3913   * If any event is received from a pointing device (e.g. mouse, pointer,
3914   * touch), turn off keyboard modality.
3915   * This accounts for situations where focus enters the page from the URL bar.
3916   * @param {Event} e
3917   */
3918
3919
3920  function onInitialPointerMove(e) {
3921    // Work around a Safari quirk that fires a mousemove on <html> whenever the
3922    // window blurs, even if you're tabbing out of the page. ¯\_(ツ)_/¯
3923    if (e.target.nodeName && e.target.nodeName.toLowerCase() === 'html') {
3924      return;
3925    }
3926
3927    hadKeyboardEvent = false;
3928    removeInitialPointerMoveListeners();
3929  } // For some kinds of state, we are interested in changes at the global scope
3930  // only. For example, global pointer input, global key presses and global
3931  // visibility change should affect the state at every scope:
3932
3933
3934  document.addEventListener('keydown', onKeyDown, true);
3935  document.addEventListener('mousedown', onPointerDown, true);
3936  document.addEventListener('pointerdown', onPointerDown, true);
3937  document.addEventListener('touchstart', onPointerDown, true);
3938  document.addEventListener('visibilitychange', onVisibilityChange, true);
3939  addInitialPointerMoveListeners(); // For focus and blur, we specifically care about state changes in the local
3940  // scope. This is because focus / blur events that originate from within a
3941  // shadow root are not re-dispatched from the host element if it was already
3942  // the active element in its own scope:
3943
3944  scope.addEventListener('focus', onFocus, true);
3945  scope.addEventListener('blur', onBlur, true); // We detect that a node is a ShadowRoot by ensuring that it is a
3946  // DocumentFragment and also has a host property. This check covers native
3947  // implementation and polyfill implementation transparently. If we only cared
3948  // about the native implementation, we could just check if the scope was
3949  // an instance of a ShadowRoot.
3950
3951  if (scope.nodeType === Node.DOCUMENT_FRAGMENT_NODE && scope.host) {
3952    // Since a ShadowRoot is a special kind of DocumentFragment, it does not
3953    // have a root element to add a class to. So, we add this attribute to the
3954    // host element instead:
3955    scope.host.setAttribute('data-js-focus-visible', '');
3956  } else if (scope.nodeType === Node.DOCUMENT_NODE) {
3957    document.documentElement.classList.add('js-focus-visible');
3958    document.documentElement.setAttribute('data-js-focus-visible', '');
3959  }
3960} // It is important to wrap all references to global window and document in
3961// these checks to support server-side rendering use cases
3962// @see https://github.com/WICG/focus-visible/issues/199
3963
3964
3965if (typeof window !== 'undefined' && typeof document !== 'undefined') {
3966  // Make the polyfill helper globally available. This can be used as a signal
3967  // to interested libraries that wish to coordinate with the polyfill for e.g.,
3968  // applying the polyfill to a shadow root:
3969  window.applyFocusVisiblePolyfill = applyFocusVisiblePolyfill; // Notify interested libraries of the polyfill's presence, in case the
3970  // polyfill was loaded lazily:
3971
3972  var event;
3973
3974  try {
3975    event = new CustomEvent('focus-visible-polyfill-ready');
3976  } catch (error) {
3977    // IE11 does not support using CustomEvent as a constructor directly:
3978    event = document.createEvent('CustomEvent');
3979    event.initCustomEvent('focus-visible-polyfill-ready', false, false, {});
3980  }
3981
3982  window.dispatchEvent(event);
3983}
3984
3985if (typeof document !== 'undefined') {
3986  // Apply the polyfill to the global document, so that no JavaScript
3987  // coordination is required to use the polyfill in the top-level document:
3988  applyFocusVisiblePolyfill(document);
3989}
3990
3991/***/ }),
3992
vendor: 36,980 bytes, lines 3993-4204
3993/***/ "./node_modules/fslightbox/index.js":
3994/*!******************************************!*\
3995  !*** ./node_modules/fslightbox/index.js ***!
3996  \******************************************/
3997/***/ ((module) => {
3998
3999!function(e,t){if(true)module.exports=t();else { var o, n; }}(window,(function(){return function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);var o,r="fslightbox-",i="".concat(r,"styles"),s="".concat(r,"cursor-grabbing"),c="".concat(r,"full-dimension"),a="".concat(r,"flex-centered"),l="".concat(r,"open"),u="".concat(r,"transform-transition"),d="".concat(r,"absoluted"),p="".concat(r,"slide-btn"),f="".concat(p,"-container"),h="".concat(r,"fade-in"),m="".concat(r,"fade-out"),g=h+"-strong",v=m+"-strong",b="".concat(r,"opacity-"),x="".concat(b,"1"),y="".concat(r,"source");function S(e){return(S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}"object"===("undefined"==typeof document?"undefined":S(document))&&((o=document.createElement("style")).className=i,o.appendChild(document.createTextNode(".fslightbox-absoluted{position:absolute;top:0;left:0}.fslightbox-fade-in{animation:fslightbox-fade-in .3s cubic-bezier(0,0,.7,1)}.fslightbox-fade-out{animation:fslightbox-fade-out .3s ease}.fslightbox-fade-in-strong{animation:fslightbox-fade-in-strong .3s cubic-bezier(0,0,.7,1)}.fslightbox-fade-out-strong{animation:fslightbox-fade-out-strong .3s ease}@keyframes fslightbox-fade-in{from{opacity:.65}to{opacity:1}}@keyframes fslightbox-fade-out{from{opacity:.35}to{opacity:0}}@keyframes fslightbox-fade-in-strong{from{opacity:.3}to{opacity:1}}@keyframes fslightbox-fade-out-strong{from{opacity:1}to{opacity:0}}.fslightbox-cursor-grabbing{cursor:grabbing}.fslightbox-full-dimension{width:100%;height:100%}.fslightbox-open{overflow:hidden;height:100%}.fslightbox-flex-centered{display:flex;justify-content:center;align-items:center}.fslightbox-opacity-0{opacity:0!important}.fslightbox-opacity-1{opacity:1!important}.fslightbox-scrollbarfix{padding-right:17px}.fslightbox-transform-transition{transition:transform .3s}.fslightbox-container{font-family:Arial,sans-serif;position:fixed;top:0;left:0;background:linear-gradient(rgba(30,30,30,.9),#000 1810%);touch-action:pinch-zoom;z-index:1000000000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fslightbox-container *{box-sizing:border-box}.fslightbox-svg-path{transition:fill .15s ease;fill:#ddd}.fslightbox-nav{height:45px;width:100%;position:absolute;top:0;left:0}.fslightbox-slide-number-container{display:flex;justify-content:center;align-items:center;position:relative;height:100%;font-size:15px;color:#d7d7d7;z-index:0;max-width:55px;text-align:left}.fslightbox-slide-number-container .fslightbox-flex-centered{height:100%}.fslightbox-slash{display:block;margin:0 5px;width:1px;height:12px;transform:rotate(15deg);background:#fff}.fslightbox-toolbar{position:absolute;z-index:3;right:0;top:0;height:100%;display:flex;background:rgba(35,35,35,.65)}.fslightbox-toolbar-button{height:100%;width:45px;cursor:pointer}.fslightbox-toolbar-button:hover .fslightbox-svg-path{fill:#fff}.fslightbox-slide-btn-container{display:flex;align-items:center;padding:12px 12px 12px 6px;position:absolute;top:50%;cursor:pointer;z-index:3;transform:translateY(-50%)}@media (min-width:476px){.fslightbox-slide-btn-container{padding:22px 22px 22px 6px}}@media (min-width:768px){.fslightbox-slide-btn-container{padding:30px 30px 30px 6px}}.fslightbox-slide-btn-container:hover .fslightbox-svg-path{fill:#f1f1f1}.fslightbox-slide-btn{padding:9px;font-size:26px;background:rgba(35,35,35,.65)}@media (min-width:768px){.fslightbox-slide-btn{padding:10px}}@media (min-width:1600px){.fslightbox-slide-btn{padding:11px}}.fslightbox-slide-btn-container-previous{left:0}@media (max-width:475.99px){.fslightbox-slide-btn-container-previous{padding-left:3px}}.fslightbox-slide-btn-container-next{right:0;padding-left:12px;padding-right:3px}@media (min-width:476px){.fslightbox-slide-btn-container-next{padding-left:22px}}@media (min-width:768px){.fslightbox-slide-btn-container-next{padding-left:30px}}@media (min-width:476px){.fslightbox-slide-btn-container-next{padding-right:6px}}.fslightbox-down-event-detector{position:absolute;z-index:1}.fslightbox-slide-swiping-hoverer{z-index:4}.fslightbox-invalid-file-wrapper{font-size:22px;color:#eaebeb;margin:auto}.fslightbox-video{object-fit:cover}.fslightbox-youtube-iframe{border:0}.fslightbox-loader{display:block;margin:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:67px;height:67px}.fslightbox-loader div{box-sizing:border-box;display:block;position:absolute;width:54px;height:54px;margin:6px;border:5px solid;border-color:#999 transparent transparent transparent;border-radius:50%;animation:fslightbox-loader 1.2s cubic-bezier(.5,0,.5,1) infinite}.fslightbox-loader div:nth-child(1){animation-delay:-.45s}.fslightbox-loader div:nth-child(2){animation-delay:-.3s}.fslightbox-loader div:nth-child(3){animation-delay:-.15s}@keyframes fslightbox-loader{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.fslightbox-source{position:relative;z-index:2;opacity:0}")),document.head.appendChild(o));function w(e){var t,n=e.props,o=0,r={};this.getSourceTypeFromLocalStorageByUrl=function(e){return t[e]?t[e]:i(e)},this.handleReceivedSourceTypeForUrl=function(e,n){!1===r[n]&&(o--,"invalid"!==e?r[n]=e:delete r[n],0===o&&(!function(e,t){for(var n in t)e[n]=t[n]}(t,r),localStorage.setItem("fslightbox-types",JSON.stringify(t))))};var i=function(e){o++,r[e]=!1};n.disableLocalStorage?(this.getSourceTypeFromLocalStorageByUrl=function(){},this.handleReceivedSourceTypeForUrl=function(){}):(t=JSON.parse(localStorage.getItem("fslightbox-types")))||(t={},this.getSourceTypeFromLocalStorageByUrl=i)}function L(e,t,n,o){var r=e.data,i=e.elements.sources,s=n/o,c=0;this.adjustSize=function(){if((c=r.maxSourceWidth/s)<r.maxSourceHeight)return n<r.maxSourceWidth&&(c=o),a();c=o>r.maxSourceHeight?r.maxSourceHeight:o,a()};var a=function(){i[t].style.width=c*s+"px",i[t].style.height=c+"px"}}function C(e,t){var n=this,o=e.collections.sourceSizers,r=e.elements,i=r.sourceAnimationWrappers,s=r.sourceMainWrappers,c=r.sources,a=e.resolve;function l(e,n){o[t]=a(L,[t,e,n]),o[t].adjustSize()}this.runActions=function(e,o){c[t].classList.add(x),i[t].classList.add(g),s[t].removeChild(s[t].firstChild),l(e,o),n.runActions=l}}function F(e,t){var n,o=this,r=e.elements.sources,i=e.props,s=(0,e.resolve)(C,[t]);this.handleImageLoad=function(e){var t=e.target,n=t.naturalWidth,o=t.naturalHeight;s.runActions(n,o)},this.handleVideoLoad=function(e){var t=e.target,o=t.videoWidth,r=t.videoHeight;n=!0,s.runActions(o,r)},this.handleNotMetaDatedVideoLoad=function(){n||o.handleYoutubeLoad()},this.handleYoutubeLoad=function(){var e=1920,t=1080;i.maxYoutubeDimensions&&(e=i.maxYoutubeDimensions.width,t=i.maxYoutubeDimensions.height),s.runActions(e,t)},this.handleCustomLoad=function(){setTimeout((function(){var e=r[t];s.runActions(e.offsetWidth,e.offsetHeight)}))}}function A(e,t,n){var o=e.elements.sources,r=e.props.customClasses,i=r[t]?r[t]:"";o[t].className=n+" "+i}function I(e,t){var n=e.elements.sources,o=e.props.customAttributes;for(var r in o[t])n[t].setAttribute(r,o[t][r])}function T(e,t){var n=e.collections.sourceLoadHandlers,o=e.elements,r=o.sources,i=o.sourceAnimationWrappers,s=e.props.sources;r[t]=document.createElement("img"),A(e,t,y),r[t].src=s[t],r[t].onload=n[t].handleImageLoad,I(e,t),i[t].appendChild(r[t])}function E(e,t){var n=e.collections.sourceLoadHandlers,o=e.elements,r=o.sources,i=o.sourceAnimationWrappers,s=e.props,c=s.sources,a=s.videosPosters;r[t]=document.createElement("video"),A(e,t,y),r[t].src=c[t],r[t].onloadedmetadata=function(e){n[t].handleVideoLoad(e)},r[t].controls=!0,I(e,t),a[t]&&(r[t].poster=a[t]);var l=document.createElement("source");l.src=c[t],r[t].appendChild(l),setTimeout(n[t].handleNotMetaDatedVideoLoad,3e3),i[t].appendChild(r[t])}function N(e,t){var n=e.collections.sourceLoadHandlers,o=e.elements,i=o.sources,s=o.sourceAnimationWrappers,c=e.props.sources;i[t]=document.createElement("iframe"),A(e,t,"".concat(y," ").concat(r,"youtube-iframe")),i[t].src="https://www.youtube.com/embed/".concat(c[t].match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/)[2],"?enablejsapi=1"),i[t].allowFullscreen=!0,I(e,t),s[t].appendChild(i[t]),n[t].handleYoutubeLoad()}function W(e,t){var n=e.collections.sourceLoadHandlers,o=e.elements,r=o.sources,i=o.sourceAnimationWrappers,s=e.props.sources;r[t]=s[t],A(e,t,"".concat(r[t].className," ").concat(y)),i[t].appendChild(r[t]),n[t].handleCustomLoad()}function z(e,t){var n=e.elements,o=n.sources,i=n.sourceAnimationWrappers,s=n.sourceMainWrappers;e.props.sources;o[t]=document.createElement("div"),o[t].className="".concat(r,"invalid-file-wrapper ").concat(a),o[t].innerHTML="Invalid source",i[t].classList.add(g),i[t].appendChild(o[t]),s[t].removeChild(s[t].firstChild)}function M(e){var t=e.collections,n=t.sourceLoadHandlers,o=t.sourcesRenderFunctions,r=e.core.sourceDisplayFacade,i=e.resolve;this.runActionsForSourceTypeAndIndex=function(t,s){var c;switch("invalid"!==t&&(n[s]=i(F,[s])),t){case"image":c=T;break;case"video":c=E;break;case"youtube":c=N;break;case"custom":c=W;break;default:c=z}o[s]=function(){return c(e,s)},r.displaySourcesWhichShouldBeDisplayed()}}function P(){var e,t,n,o={isUrlYoutubeOne:function(e){var t=document.createElement("a");return t.href=e,"www.youtube.com"===t.hostname},getTypeFromResponseContentType:function(e){return e.slice(0,e.indexOf("/"))}};function r(){if(4!==n.readyState){if(2===n.readyState){var e;switch(o.getTypeFromResponseContentType(n.getResponseHeader("content-type"))){case"image":e="image";break;case"video":e="video";break;default:e="invalid"}n.onreadystatechange=null,n.abort(),t(e)}}else t("invalid")}this.setUrlToCheck=function(t){e=t},this.getSourceType=function(i){if(o.isUrlYoutubeOne(e))return i("youtube");t=i,(n=new XMLHttpRequest).onreadystatechange=r,n.open("GET",e,!0),n.send()}}function H(e,t,n){var o=e.props,r=o.types,i=o.type,s=o.sources,c=e.resolve;this.getTypeSetByClientForIndex=function(e){var t;return r&&r[e]?t=r[e]:i&&(t=i),t},this.retrieveTypeWithXhrForIndex=function(e){var o=c(P);o.setUrlToCheck(s[e]),o.getSourceType((function(o){t.handleReceivedSourceTypeForUrl(o,s[e]),n.runActionsForSourceTypeAndIndex(o,e)}))}}function k(e,t){var n=e.componentsServices.hideSourceLoaderIfNotYetCollection,o=e.elements,r=o.sourceWrappersContainer,i=o.sourceMainWrappers;i[t]=document.createElement("div"),i[t].className="".concat(d," ").concat(c," ").concat(a),i[t].innerHTML='<div class="fslightbox-loader"><div></div><div></div><div></div><div></div></div>';var s=i[t].firstChild;n[t]=function(){i[t].contains(s)&&i[t].removeChild(s)},r.appendChild(i[t]),function(e,t){var n=e.elements,o=n.sourceMainWrappers,r=n.sourceAnimationWrappers;r[t]=document.createElement("div"),o[t].appendChild(r[t])}(e,t)}function O(e,t,n,o){var i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttributeNS(null,"width",t),i.setAttributeNS(null,"height",t),i.setAttributeNS(null,"viewBox",n);var s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttributeNS(null,"class","".concat(r,"svg-path")),s.setAttributeNS(null,"d",o),i.appendChild(s),e.appendChild(i),i}function R(e,t){var n=document.createElement("div");return n.className="".concat(r,"toolbar-button ").concat(a),n.title=t,e.appendChild(n),n}function D(e,t){var n=document.createElement("div");n.className="".concat(r,"toolbar"),t.appendChild(n),function(e,t){var n=e.componentsServices,o=e.core.fullscreenToggler,r=e.data,i="M4.5 11H3v4h4v-1.5H4.5V11zM3 7h1.5V4.5H7V3H3v4zm10.5 6.5H11V15h4v-4h-1.5v2.5zM11 3v1.5h2.5V7H15V3h-4z",s=R(t);s.title="Enter fullscreen";var c=O(s,"20px","0 0 18 18",i);n.enterFullscreen=function(){r.isFullscreenOpen=!0,s.title="Exit fullscreen",c.setAttributeNS(null,"width","24px"),c.setAttributeNS(null,"height","24px"),c.setAttributeNS(null,"viewBox","0 0 950 1024"),c.firstChild.setAttributeNS(null,"d","M682 342h128v84h-212v-212h84v128zM598 810v-212h212v84h-128v128h-84zM342 342v-128h84v212h-212v-84h128zM214 682v-84h212v212h-84v-128h-128z")},n.exitFullscreen=function(){r.isFullscreenOpen=!1,s.title="Enter fullscreen",c.setAttributeNS(null,"width","20px"),c.setAttributeNS(null,"height","20px"),c.setAttributeNS(null,"viewBox","0 0 18 18"),c.firstChild.setAttributeNS(null,"d",i)},s.onclick=function(){r.isFullscreenOpen?o.exitFullscreen():o.enterFullscreen()}}(e,n),function(e,t){var n=R(t,"Close");n.onclick=e.core.lightboxCloser.closeLightbox,O(n,"20px","0 0 24 24","M 4.7070312 3.2929688 L 3.2929688 4.7070312 L 10.585938 12 L 3.2929688 19.292969 L 4.7070312 20.707031 L 12 13.414062 L 19.292969 20.707031 L 20.707031 19.292969 L 13.414062 12 L 20.707031 4.7070312 L 19.292969 3.2929688 L 12 10.585938 L 4.7070312 3.2929688 z")}(e,n)}function j(e){var t=e.props.sources,n=e.elements.container,o=document.createElement("div");o.className="".concat(r,"nav"),n.appendChild(o),D(e,o),t.length>1&&function(e,t){var n=e.componentsServices,o=e.props.sources,i=(e.stageIndexes,document.createElement("div"));i.className="".concat(r,"slide-number-container");var s=document.createElement("div");s.className=a;var c=document.createElement("span");n.setSlideNumber=function(e){return c.innerHTML=e};var l=document.createElement("span");l.className="".concat(r,"slash");var u=document.createElement("div");u.innerHTML=o.length,i.appendChild(s),s.appendChild(c),s.appendChild(l),s.appendChild(u),t.appendChild(i),setTimeout((function(){s.offsetWidth>55&&(i.style.justifyContent="flex-start")}))}(e,o)}function X(e,t){var n=this,o=e.elements.sourceMainWrappers,r=e.props,i=0;this.byValue=function(e){return i=e,n},this.negative=function(){s(-c())},this.zero=function(){s(0)},this.positive=function(){s(c())};var s=function(e){o[t].style.transform="translateX(".concat(e+i,"px)"),i=0},c=function(){return(1+r.slideDistance)*innerWidth}}function B(e,t,n,o){var r=e.elements.container,i=n.charAt(0).toUpperCase()+n.slice(1),s=document.createElement("div");s.className="".concat(f," ").concat(f,"-").concat(n),s.title="".concat(i," slide"),s.onclick=t,function(e,t){var n=document.createElement("div");n.className="".concat(p," ").concat(a),O(n,"20px","0 0 20 20",t),e.appendChild(n)}(s,o),r.appendChild(s)}function U(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function V(e){var t=this,n=e.core,o=n.eventsDispatcher,r=n.fullscreenToggler,i=n.globalEventsController,s=n.scrollbarRecompensor,c=e.data,a=e.elements,u=e.props,d=e.sourcePointerProps;this.isLightboxFadingOut=!1,this.runActions=function(){t.isLightboxFadingOut=!0,a.container.classList.add(v),i.removeListeners(),u.exitFullscreenOnClose&&c.isFullscreenOpen&&r.exitFullscreen(),setTimeout((function(){t.isLightboxFadingOut=!1,d.isPointering=!1,a.container.classList.remove(v),document.documentElement.classList.remove(l),s.removeRecompense(),document.body.removeChild(a.container),o.dispatch("onClose")}),270)}}function Y(e){var t,n,o,r=e.collections.sourceMainWrappersTransformers,i=e.componentsServices,s=e.core,c=s.classFacade,a=s.slideIndexChanger,l=s.sourceDisplayFacade,d=s.stageManager,p=e.elements.sourceAnimationWrappers,f=e.stageIndexes,v=(t=function(){c.removeFromEachElementClassIfContains("sourceAnimationWrappers",m)},n=300,o=[],function(){o.push(!0),setTimeout((function(){o.pop(),o.length||t()}),n)});a.changeTo=function(e){f.current=e,d.updateStageIndexes(),i.setSlideNumber(e+1),l.displaySourcesWhichShouldBeDisplayed()},a.jumpTo=function(e){var t=f.current;a.changeTo(e),c.removeFromEachElementClassIfContains("sourceMainWrappers",u),U(p[t],g),U(p[t],h),p[t].classList.add(m),U(p[e],g),U(p[e],m),p[e].classList.add(h),v(),r[e].zero(),setTimeout((function(){t!==f.current&&r[t].negative()}),270)}}function _(e){var t=e.core,n=t.lightboxCloser,o=t.fullscreenToggler,r=t.slideChangeFacade;this.listener=function(e){switch(e.key){case"Escape":n.closeLightbox();break;case"ArrowLeft":r.changeToPrevious();break;case"ArrowRight":r.changeToNext();break;case"F11":e.preventDefault(),o.enterFullscreen()}}}function q(e){var t=e.collections.sourceMainWrappersTransformers,n=e.elements,o=e.sourcePointerProps,r=e.stageIndexes;function i(e,n){t[e].byValue(o.swipedX)[n]()}this.runActionsForEvent=function(e){var t,c,a;n.container.contains(n.slideSwipingHoverer)||n.container.appendChild(n.slideSwipingHoverer),t=n.container,c=s,(a=t.classList).contains(c)||a.add(c),o.swipedX=e.screenX-o.downScreenX,i(r.current,"zero"),void 0!==r.previous&&o.swipedX>0?i(r.previous,"negative"):void 0!==r.next&&o.swipedX<0&&i(r.next,"positive")}}function J(e){var t=e.props.sources,n=e.resolve,o=e.sourcePointerProps,r=n(q);1===t.length?this.listener=function(){o.swipedX=1}:this.listener=function(e){o.isPointering&&r.runActionsForEvent(e)}}function G(e){var t=e.collections.sourceMainWrappersTransformers,n=e.core.slideIndexChanger,o=e.elements.sourceMainWrappers,r=e.stageIndexes;this.runPositiveSwipedXActions=function(){void 0===r.previous||(i("positive"),n.changeTo(r.previous)),i("zero")},this.runNegativeSwipedXActions=function(){void 0===r.next||(i("negative"),n.changeTo(r.next)),i("zero")};var i=function(e){o[r.current].classList.add(u),t[r.current][e]()}}function $(e,t){e.contains(t)&&e.removeChild(t)}function K(e){var t=e.core.lightboxCloser,n=e.elements,o=e.resolve,r=e.sourcePointerProps,i=o(G);this.runNoSwipeActions=function(){$(n.container,n.slideSwipingHoverer),r.isSourceDownEventTarget||t.closeLightbox(),r.isPointering=!1},this.runActions=function(){r.swipedX>0?i.runPositiveSwipedXActions():i.runNegativeSwipedXActions(),$(n.container,n.slideSwipingHoverer),n.container.classList.remove(s),r.isPointering=!1}}function Q(e){var t=e.resolve,n=e.sourcePointerProps,o=t(K);this.listener=function(){n.isPointering&&(n.swipedX?o.runActions():o.runNoSwipeActions())}}function Z(e){var t,n,o;n=(t=e).core.classFacade,o=t.elements,n.removeFromEachElementClassIfContains=function(e,t){for(var n=0;n<o[e].length;n++)U(o[e][n],t)},function(e){var t=e.core.eventsDispatcher,n=e.props;t.dispatch=function(e){n[e]&&n[e]()}}(e),function(e){var t=e.componentsServices,n=e.core.fullscreenToggler;n.enterFullscreen=function(){t.enterFullscreen();var e=document.documentElement;e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullscreen?e.webkitRequestFullscreen():e.msRequestFullscreen&&e.msRequestFullscreen()},n.exitFullscreen=function(){t.exitFullscreen(),document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitExitFullscreen?document.webkitExitFullscreen():document.msExitFullscreen&&document.msExitFullscreen()}}(e),function(e){var t=e.core,n=t.globalEventsController,o=t.windowResizeActioner,r=e.resolve,i=r(_),s=r(J),c=r(Q);n.attachListeners=function(){document.addEventListener("pointermove",s.listener),document.addEventListener("pointerup",c.listener),addEventListener("resize",o.runActions),document.addEventListener("keydown",i.listener)},n.removeListeners=function(){document.removeEventListener("pointermove",s.listener),document.removeEventListener("pointerup",c.listener),removeEventListener("resize",o.runActions),document.removeEventListener("keydown",i.listener)}}(e),function(e){var t=e.core.lightboxCloser,n=(0,e.resolve)(V);t.closeLightbox=function(){n.isLightboxFadingOut||n.runActions()}}(e),ne(e),function(e){var t=e.data,n=e.core.scrollbarRecompensor;function o(){document.body.offsetHeight>innerHeight&&(document.body.style.marginRight=t.scrollbarWidth+"px")}n.addRecompense=function(){"complete"===document.readyState?o():addEventListener("load",(function(){o(),n.addRecompense=o}))},n.removeRecompense=function(){document.body.style.removeProperty("margin-right")}}(e),function(e){var t=e.core,n=t.slideChangeFacade,o=t.slideIndexChanger,r=t.stageManager;e.props.sources.length>1?(n.changeToPrevious=function(){o.jumpTo(r.getPreviousSlideIndex())},n.changeToNext=function(){o.jumpTo(r.getNextSlideIndex())}):(n.changeToPrevious=function(){},n.changeToNext=function(){})}(e),Y(e),function(e){var t=e.core,n=t.classFacade,o=t.sourcesPointerDown,r=e.elements.sources,i=e.sourcePointerProps,s=e.stageIndexes;o.listener=function(e){"VIDEO"!==e.target.tagName&&e.preventDefault(),i.isPointering=!0,i.downScreenX=e.screenX,i.swipedX=0;var t=r[s.current];t&&t.contains(e.target)?i.isSourceDownEventTarget=!0:i.isSourceDownEventTarget=!1,n.removeFromEachElementClassIfContains("sourceMainWrappers",u)}}(e),function(e){var t=e.collections.sourcesRenderFunctions,n=e.core.sourceDisplayFacade,o=e.props,r=e.stageIndexes;function i(e){t[e]&&(t[e](),delete t[e])}n.displaySourcesWhichShouldBeDisplayed=function(){if(o.loadOnlyCurrentSource)i(r.current);else for(var e in r)i(r[e])}}(e),function(e){var t=e.stageIndexes,n=e.core.stageManager,o=e.props.sources.length-1;n.getPreviousSlideIndex=function(){return 0===t.current?o:t.current-1},n.getNextSlideIndex=function(){return t.current===o?0:t.current+1},n.updateStageIndexes=0===o?function(){}:1===o?function(){0===t.current?(t.next=1,delete t.previous):(t.previous=0,delete t.next)}:function(){t.previous=n.getPreviousSlideIndex(),t.next=n.getNextSlideIndex()},n.isSourceInStage=o<=2?function(){return!0}:function(e){var n=t.current;if(0===n&&e===o||n===o&&0===e)return!0;var r=n-e;return-1===r||0===r||1===r}}(e),function(e){var t=e.collections,n=t.sourceMainWrappersTransformers,o=t.sourceSizers,r=e.core.windowResizeActioner,i=e.data,s=e.elements.sourceMainWrappers,c=e.props,a=e.stageIndexes;r.runActions=function(){innerWidth<992?i.maxSourceWidth=innerWidth:i.maxSourceWidth=.9*innerWidth,i.maxSourceHeight=.9*innerHeight;for(var e=0;e<c.sources.length;e++)U(s[e],u),e!==a.current&&n[e].negative(),o[e]&&o[e].adjustSize()}}(e)}function ee(e){var t=e.props.disableLocalStorage;if(!t){var n=localStorage.getItem("fslightbox-scrollbar-width");if(n)return n}var o=function(){var e=document.createElement("div"),t=e.style;return t.visibility="hidden",t.width="100px",t.msOverflowStyle="scrollbar",t.overflow="scroll",e}(),r=function(){var e=document.createElement("div");return e.style.width="100%",e}();document.body.appendChild(o);var i=o.offsetWidth;o.appendChild(r);var s=r.offsetWidth;document.body.removeChild(o);var c=i-s;return t||localStorage.setItem("fslightbox-scrollbar-width",c.toString()),c}function te(e){var t=e.core.eventsDispatcher,n=e.data,o=e.elements,i=e.props.sources;n.isInitialized=!0,n.scrollbarWidth=ee(e),function(e){for(var t=e.collections.sourceMainWrappersTransformers,n=e.props.sources,o=e.resolve,r=0;r<n.length;r++)t[r]=o(X,[r])}(e),Z(e),o.container=document.createElement("div"),o.container.className="".concat(r,"container ").concat(c," ").concat(g),function(e){var t=e.elements;t.slideSwipingHoverer=document.createElement("div"),t.slideSwipingHoverer.className="".concat(r,"slide-swiping-hoverer ").concat(c," ").concat(d)}(e),j(e),function(e){var t=e.core.sourcesPointerDown,n=e.elements,o=e.props.sources,r=document.createElement("div");r.className="".concat(d," ").concat(c),n.container.appendChild(r),r.addEventListener("pointerdown",t.listener),n.sourceWrappersContainer=r;for(var i=0;i<o.length;i++)k(e,i)}(e),i.length>1&&function(e){var t=e.core.slideChangeFacade;B(e,t.changeToPrevious,"previous","M18.271,9.212H3.615l4.184-4.184c0.306-0.306,0.306-0.801,0-1.107c-0.306-0.306-0.801-0.306-1.107,0L1.21,9.403C1.194,9.417,1.174,9.421,1.158,9.437c-0.181,0.181-0.242,0.425-0.209,0.66c0.005,0.038,0.012,0.071,0.022,0.109c0.028,0.098,0.075,0.188,0.142,0.271c0.021,0.026,0.021,0.061,0.045,0.085c0.015,0.016,0.034,0.02,0.05,0.033l5.484,5.483c0.306,0.307,0.801,0.307,1.107,0c0.306-0.305,0.306-0.801,0-1.105l-4.184-4.185h14.656c0.436,0,0.788-0.353,0.788-0.788S18.707,9.212,18.271,9.212z"),B(e,t.changeToNext,"next","M1.729,9.212h14.656l-4.184-4.184c-0.307-0.306-0.307-0.801,0-1.107c0.305-0.306,0.801-0.306,1.106,0l5.481,5.482c0.018,0.014,0.037,0.019,0.053,0.034c0.181,0.181,0.242,0.425,0.209,0.66c-0.004,0.038-0.012,0.071-0.021,0.109c-0.028,0.098-0.075,0.188-0.143,0.271c-0.021,0.026-0.021,0.061-0.045,0.085c-0.015,0.016-0.034,0.02-0.051,0.033l-5.483,5.483c-0.306,0.307-0.802,0.307-1.106,0c-0.307-0.305-0.307-0.801,0-1.105l4.184-4.185H1.729c-0.436,0-0.788-0.353-0.788-0.788S1.293,9.212,1.729,9.212z")}(e),function(e){for(var t=e.props.sources,n=e.resolve,o=n(w),r=n(M),i=n(H,[o,r]),s=0;s<t.length;s++)if("string"==typeof t[s]){var c=i.getTypeSetByClientForIndex(s);if(c)r.runActionsForSourceTypeAndIndex(c,s);else{var a=o.getSourceTypeFromLocalStorageByUrl(t[s]);a?r.runActionsForSourceTypeAndIndex(a,s):i.retrieveTypeWithXhrForIndex(s)}}else r.runActionsForSourceTypeAndIndex("custom",s)}(e),t.dispatch("onInit")}function ne(e){var t=e.collections.sourceMainWrappersTransformers,n=e.componentsServices,o=e.core,r=o.eventsDispatcher,i=o.lightboxOpener,s=o.globalEventsController,c=o.scrollbarRecompensor,a=o.sourceDisplayFacade,u=o.stageManager,d=o.windowResizeActioner,p=e.data,f=e.elements,h=e.stageIndexes;i.open=function(){var o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;h.current=o,p.isInitialized?r.dispatch("onShow"):te(e),u.updateStageIndexes(),a.displaySourcesWhichShouldBeDisplayed(),n.setSlideNumber(o+1),document.body.appendChild(f.container),document.documentElement.classList.add(l),c.addRecompense(),s.attachListeners(),d.runActions(),t[h.current].zero(),r.dispatch("onOpen")}}function oe(e,t,n){return(oe=re()?Reflect.construct:function(e,t,n){var o=[null];o.push.apply(o,t);var r=new(Function.bind.apply(e,o));return n&&ie(r,n.prototype),r}).apply(null,arguments)}function re(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function ie(e,t){return(ie=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function se(e){return function(e){if(Array.isArray(e))return ce(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return ce(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ce(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ce(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function ae(){for(var e=document.getElementsByTagName("a"),t=function(t){if(!e[t].hasAttribute("data-fslightbox"))return"continue";var n=e[t].getAttribute("data-fslightbox"),o=e[t].getAttribute("href");fsLightboxInstances[n]||(fsLightboxInstances[n]=new FsLightbox);var r=null;"#"===o.charAt(0)?(r=document.getElementById(o.substring(1)).cloneNode(!0)).removeAttribute("id"):r=o,fsLightboxInstances[n].props.sources.push(r),fsLightboxInstances[n].elements.a.push(e[t]);var i=fsLightboxInstances[n].props.sources.length-1;e[t].onclick=function(e){e.preventDefault(),fsLightboxInstances[n].open(i)},d("types","data-type"),d("videosPosters","data-video-poster"),d("customClasses","data-class"),d("customClasses","data-custom-class");for(var s=["href","data-fslightbox","data-type","data-video-poster","data-class","data-custom-class"],c=e[t].attributes,a=fsLightboxInstances[n].props.customAttributes,l=0;l<c.length;l++)if(-1===s.indexOf(c[l].name)&&"data-"===c[l].name.substr(0,5)){a[i]||(a[i]={});var u=c[l].name.substr(5);a[i][u]=c[l].value}function d(o,r){e[t].hasAttribute(r)&&(fsLightboxInstances[n].props[o][i]=e[t].getAttribute(r))}},n=0;n<e.length;n++)t(n);var o=Object.keys(fsLightboxInstances);window.fsLightbox=fsLightboxInstances[o[o.length-1]]}window.FsLightbox=function(){var e=this;this.props={sources:[],customAttributes:[],customClasses:[],types:[],videosPosters:[],slideDistance:.3},this.data={isInitialized:!1,isFullscreenOpen:!1,maxSourceWidth:0,maxSourceHeight:0,scrollbarWidth:0},this.sourcePointerProps={downScreenX:null,isPointering:!1,isSourceDownEventTarget:!1,swipedX:0},this.stageIndexes={},this.elements={a:[],container:null,slideSwipingHoverer:null,sourceWrappersContainer:null,sources:[],sourceMainWrappers:[],sourceAnimationWrappers:[]},this.componentsServices={enterFullscreen:null,exitFullscreen:null,hideSourceLoaderIfNotYetCollection:[],setSlideNumber:function(){}},this.resolve=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return n.unshift(e),oe(t,se(n))},this.collections={sourceMainWrappersTransformers:[],sourceLoadHandlers:[],sourcesRenderFunctions:[],sourceSizers:[]},this.core={classFacade:{},eventsDispatcher:{},fullscreenToggler:{},globalEventsController:{},lightboxCloser:{},lightboxOpener:{},lightboxUpdater:{},scrollbarRecompensor:{},slideChangeFacade:{},slideIndexChanger:{},sourcesPointerDown:{},sourceDisplayFacade:{},stageManager:{},windowResizeActioner:{}},ne(this),this.open=function(t){return e.core.lightboxOpener.open(t)},this.close=function(){return e.core.lightboxCloser.closeLightbox()}},window.fsLightboxInstances={},ae(),window.refreshFsLightbox=function(){for(var e in fsLightboxInstances){var t=fsLightboxInstances[e].props;fsLightboxInstances[e]=new FsLightbox,fsLightboxInstances[e].props=t,fsLightboxInstances[e].props.sources=[],fsLightboxInstances[e].elements.a=[]}ae()}}])}));
4000
4001/***/ }),
4002
4003// /***/ "./node_modules/graph-modal/src/graph-modal.js":
4004// /*!*****************************************************!*\
4005//   !*** ./node_modules/graph-modal/src/graph-modal.js ***!
4006//   \*****************************************************/
4007// /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4008//
4009// "use strict";
4010// __webpack_require__.r(__webpack_exports__);
4011// /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4012// /* harmony export */   "default": () => (/* binding */ GraphModal)
4013// /* harmony export */ });
4014// class GraphModal {
4015//   constructor(options) {
4016//     let defaultOptions = {
4017//       isOpen: () => {},
4018//       isClose: () => {},
4019//     }
4020//     this.options = Object.assign(defaultOptions, options);
4021//     this.modal = document.querySelector('.graph-modal');
4022//     this.speed = 300;
4023//     this.animation = 'fade';
4024//     this._reOpen = false;
4025//     this._nextContainer = false;
4026//     this.modalContainer = false;
4027//     this.isOpen = false;
4028//     this.previousActiveElement = false;
4029//     this._focusElements = [
4030//       'a[href]',
4031//       'input',
4032//       'select',
4033//       'textarea',
4034//       'button',
4035//       'iframe',
4036//       '[contenteditable]',
4037//       '[tabindex]:not([tabindex^="-"])'
4038//     ];
4039//     this._fixBlocks = document.querySelectorAll('.fix-block');
4040//     this.events();
4041//   }
4042//
4043//   events() {
4044//     if (this.modal) {
4045//       document.addEventListener('click', function (e) {
4046//         const clickedElement = e.target.closest(`[data-graph-path]`);
4047//         if (clickedElement) {
4048//           let target = clickedElement.dataset.graphPath;
4049//           let animation = clickedElement.dataset.graphAnimation;
4050//           let speed = clickedElement.dataset.graphSpeed;
4051//           this.animation = animation ? animation : 'fade';
4052//           this.speed = speed ? parseInt(speed) : 300;
4053//           this._nextContainer = document.querySelector(`[data-graph-target="${target}"]`);
4054//           this.open();
4055//           return;
4056//         }
4057//
4058//         if (e.target.closest('.js-modal-close')) {
4059//           this.close();
4060//           return;
4061//         }
4062//       }.bind(this));
4063//
4064//       window.addEventListener('keydown', function (e) {
4065//         if (e.keyCode == 27 && this.isOpen) {
4066//           this.close();
4067//         }
4068//
4069//         if (e.which == 9 && this.isOpen) {
4070//           this.focusCatch(e);
4071//           return;
4072//         }
4073//       }.bind(this));
4074//
4075//       document.addEventListener('click', function (e) {
4076//         if (e.target.classList.contains('graph-modal') && e.target.classList.contains("is-open")) {
4077//           this.close();
4078//         }
4079//       }.bind(this));
4080//     }
4081//
4082//   }
4083//
4084//   open(selector) {
4085//     this.previousActiveElement = document.activeElement;
4086//
4087//     if (this.isOpen) {
4088//       this.reOpen = true;
4089//       this.close();
4090//       return;
4091//     }
4092//
4093//     this.modalContainer = this._nextContainer;
4094//
4095//     if (selector) {
4096//       this.modalContainer = document.querySelector(`[data-graph-target="${selector}"]`);
4097//     }
4098//
4099//     this.modalContainer.scrollTo(0, 0)
4100//
4101//     this.modal.style.setProperty('--transition-time', `${this.speed / 1000}s`);
4102//     this.modal.classList.add('is-open');
4103//
4104//     document.body.style.scrollBehavior = 'auto';
4105//     document.documentElement.style.scrollBehavior = 'auto';
4106//
4107//     this.disableScroll();
4108//
4109//     this.modalContainer.classList.add('graph-modal-open');
4110//     this.modalContainer.classList.add(this.animation);
4111//
4112//     setTimeout(() => {
4113//       this.options.isOpen(this);
4114//       this.modalContainer.classList.add('animate-open');
4115//       this.isOpen = true;
4116//       this.focusTrap();
4117//     }, this.speed);
4118//   }
4119//
4120//   close() {
4121//     if (this.modalContainer) {
4122//       this.modalContainer.classList.remove('animate-open');
4123//       this.modalContainer.classList.remove(this.animation);
4124//       this.modal.classList.remove('is-open');
4125//       this.modalContainer.classList.remove('graph-modal-open');
4126//
4127//       this.enableScroll();
4128//
4129//       document.body.style.scrollBehavior = 'auto';
4130//       document.documentElement.style.scrollBehavior = 'auto';
4131//
4132//       this.options.isClose(this);
4133//       this.isOpen = false;
4134//       this.focusTrap();
4135//
4136//       if (this.reOpen) {
4137//         this.reOpen = false;
4138//         this.open();
4139//       }
4140//     }
4141//   }
4142//
4143//   focusCatch(e) {
4144//     const nodes = this.modalContainer.querySelectorAll(this._focusElements);
4145//     const nodesArray = Array.prototype.slice.call(nodes);
4146//     const focusedItemIndex = nodesArray.indexOf(document.activeElement)
4147//     if (e.shiftKey && focusedItemIndex === 0) {
4148//       nodesArray[nodesArray.length - 1].focus();
4149//       e.preventDefault();
4150//     }
4151//     if (!e.shiftKey && focusedItemIndex === nodesArray.length - 1) {
4152//       nodesArray[0].focus();
4153//       e.preventDefault();
4154//     }
4155//   }
4156//
4157//   focusTrap() {
4158//     const nodes = this.modalContainer.querySelectorAll(this._focusElements);
4159//     if (this.isOpen) {
4160//       if (nodes.length) nodes[0].focus();
4161//     } else {
4162//       this.previousActiveElement.focus();
4163//     }
4164//   }
4165//
4166//   disableScroll() {
4167//     let pagePosition = window.scrollY;
4168//     this.lockPadding();
4169//     document.body.classList.add('disable-scroll');
4170//     document.body.dataset.position = pagePosition;
4171//     document.body.style.top = -pagePosition + 'px';
4172//   }
4173//
4174//   enableScroll() {
4175//     let pagePosition = parseInt(document.body.dataset.position, 10);
4176//     this.unlockPadding();
4177//     document.body.style.top = 'auto';
4178//     document.body.classList.remove('disable-scroll');
4179//     window.scrollTo({
4180//       top: pagePosition,
4181//       left: 0
4182//     });
4183//     document.body.removeAttribute('data-position');
4184//   }
4185//
4186//   lockPadding() {
4187//     let paddingOffset = window.innerWidth - document.body.offsetWidth + 'px';
4188//     this._fixBlocks.forEach((el) => {
4189//       el.style.paddingRight = paddingOffset;
4190//     });
4191//     document.body.style.paddingRight = paddingOffset;
4192//   }
4193//
4194//   unlockPadding() {
4195//     this._fixBlocks.forEach((el) => {
4196//       el.style.paddingRight = '0px';
4197//     });
4198//     document.body.style.paddingRight = '0px';
4199//   }
4200// }
4201//
4202//
4203// /***/ }),
4204
vendor: 7,142 bytes, lines 4205-4216
4205/***/ "./node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js":
4206/*!************************************************************************!*\
4207  !*** ./node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js ***!
4208  \************************************************************************/
4209/***/ (function(module, exports, __webpack_require__) {
4210
4211var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */
4212window.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t,n=(this.document||this.ownerDocument).querySelectorAll(e),o=this;do{for(t=n.length;0<=--t&&n.item(t)!==o;);}while(t<0&&(o=o.parentElement));return o}),(function(){if("function"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e})(),(function(){for(var r=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var n=(new Date).getTime(),o=Math.max(0,16-(n-r)),a=window.setTimeout((function(){e(n+o)}),o);return r=n+o,a}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(e){clearTimeout(e)})})(),(function(e,t){ true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function(){return t(e)}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
4213		__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):0})("undefined"!=typeof __webpack_require__.g?__webpack_require__.g:"undefined"!=typeof window?window:this,(function(M){"use strict";var q={ignore:"[data-scroll-ignore]",header:null,topOnEmptyHash:!0,speed:500,speedAsDuration:!1,durationMax:null,durationMin:null,clip:!0,offset:0,easing:"easeInOutCubic",customEasing:null,updateURL:!0,popstate:!0,emitEvents:!0},I=function(){var n={};return Array.prototype.forEach.call(arguments,(function(e){for(var t in e){if(!e.hasOwnProperty(t))return;n[t]=e[t]}})),n},r=function(e){"#"===e.charAt(0)&&(e=e.substr(1));for(var t,n=String(e),o=n.length,a=-1,r="",i=n.charCodeAt(0);++a<o;){if(0===(t=n.charCodeAt(a)))throw new InvalidCharacterError("Invalid character: the input contains U+0000.");1<=t&&t<=31||127==t||0===a&&48<=t&&t<=57||1===a&&48<=t&&t<=57&&45===i?r+="\\"+t.toString(16)+" ":r+=128<=t||45===t||95===t||48<=t&&t<=57||65<=t&&t<=90||97<=t&&t<=122?n.charAt(a):"\\"+n.charAt(a)}return"#"+r},F=function(){return Math.max(document.body.scrollHeight,document.documentElement.scrollHeight,document.body.offsetHeight,document.documentElement.offsetHeight,document.body.clientHeight,document.documentElement.clientHeight)},L=function(e){return e?(t=e,parseInt(M.getComputedStyle(t).height,10)+e.offsetTop):0;var t},x=function(e,t,n){0===e&&document.body.focus(),n||(e.focus(),document.activeElement!==e&&(e.setAttribute("tabindex","-1"),e.focus(),e.style.outline="none"),M.scrollTo(0,t))},H=function(e,t,n,o){if(t.emitEvents&&"function"==typeof M.CustomEvent){var a=new CustomEvent(e,{bubbles:!0,detail:{anchor:n,toggle:o}});document.dispatchEvent(a)}};return function(o,e){var b,a,A,O,C={};C.cancelScroll=function(e){cancelAnimationFrame(O),O=null,e||H("scrollCancel",b)},C.animateScroll=function(a,r,e){C.cancelScroll();var i=I(b||q,e||{}),c="[object Number]"===Object.prototype.toString.call(a),t=c||!a.tagName?null:a;if(c||t){var s=M.pageYOffset;i.header&&!A&&(A=document.querySelector(i.header));var n,o,u,l,m,d,f,h,p=L(A),g=c?a:(function(e,t,n,o){var a=0;if(e.offsetParent)for(;a+=e.offsetTop,e=e.offsetParent;);return a=Math.max(a-t-n,0),o&&(a=Math.min(a,F()-M.innerHeight)),a})(t,p,parseInt("function"==typeof i.offset?i.offset(a,r):i.offset,10),i.clip),y=g-s,v=F(),w=0,S=(n=y,u=(o=i).speedAsDuration?o.speed:Math.abs(n/1e3*o.speed),o.durationMax&&u>o.durationMax?o.durationMax:o.durationMin&&u<o.durationMin?o.durationMin:parseInt(u,10)),E=function(e){var t,n,o;l||(l=e),w+=e-l,d=s+y*(n=m=1<(m=0===S?0:w/S)?1:m,"easeInQuad"===(t=i).easing&&(o=n*n),"easeOutQuad"===t.easing&&(o=n*(2-n)),"easeInOutQuad"===t.easing&&(o=n<.5?2*n*n:(4-2*n)*n-1),"easeInCubic"===t.easing&&(o=n*n*n),"easeOutCubic"===t.easing&&(o=--n*n*n+1),"easeInOutCubic"===t.easing&&(o=n<.5?4*n*n*n:(n-1)*(2*n-2)*(2*n-2)+1),"easeInQuart"===t.easing&&(o=n*n*n*n),"easeOutQuart"===t.easing&&(o=1- --n*n*n*n),"easeInOutQuart"===t.easing&&(o=n<.5?8*n*n*n*n:1-8*--n*n*n*n),"easeInQuint"===t.easing&&(o=n*n*n*n*n),"easeOutQuint"===t.easing&&(o=1+--n*n*n*n*n),"easeInOutQuint"===t.easing&&(o=n<.5?16*n*n*n*n*n:1+16*--n*n*n*n*n),t.customEasing&&(o=t.customEasing(n)),o||n),M.scrollTo(0,Math.floor(d)),(function(e,t){var n=M.pageYOffset;if(e==t||n==t||(s<t&&M.innerHeight+n)>=v)return C.cancelScroll(!0),x(a,t,c),H("scrollStop",i,a,r),!(O=l=null)})(d,g)||(O=M.requestAnimationFrame(E),l=e)};0===M.pageYOffset&&M.scrollTo(0,0),f=a,h=i,c||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:f.id},document.title,f===document.documentElement?"#top":"#"+f.id),"matchMedia"in M&&M.matchMedia("(prefers-reduced-motion)").matches?x(a,Math.floor(g),!1):(H("scrollStart",i,a,r),C.cancelScroll(!0),M.requestAnimationFrame(E))}};var t=function(e){if(!e.defaultPrevented&&!(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)&&"closest"in e.target&&(a=e.target.closest(o))&&"a"===a.tagName.toLowerCase()&&!e.target.closest(b.ignore)&&a.hostname===M.location.hostname&&a.pathname===M.location.pathname&&/#/.test(a.href)){var t,n;try{t=r(decodeURIComponent(a.hash))}catch(e){t=r(a.hash)}if("#"===t){if(!b.topOnEmptyHash)return;n=document.documentElement}else n=document.querySelector(t);(n=n||"#top"!==t?n:document.documentElement)&&(e.preventDefault(),(function(e){if(history.replaceState&&e.updateURL&&!history.state){var t=M.location.hash;t=t||"",history.replaceState({smoothScroll:JSON.stringify(e),anchor:t||M.pageYOffset},document.title,t||M.location.href)}})(b),C.animateScroll(n,a))}},n=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(b)){var t=history.state.anchor;"string"==typeof t&&t&&!(t=document.querySelector(r(history.state.anchor)))||C.animateScroll(t,null,{updateURL:!1})}};C.destroy=function(){b&&(document.removeEventListener("click",t,!1),M.removeEventListener("popstate",n,!1),C.cancelScroll(),O=A=a=b=null)};return (function(){if(!("querySelector"in document&&"addEventListener"in M&&"requestAnimationFrame"in M&&"closest"in M.Element.prototype))throw"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.";C.destroy(),b=I(q,e||{}),A=b.header?document.querySelector(b.header):null,document.addEventListener("click",t,!1),b.updateURL&&b.popstate&&M.addEventListener("popstate",n,!1)})(),C}}));
4214
4215/***/ }),
4216
vendor: 41,238 bytes, lines 4217-5798
4217/***/ "./node_modules/dom7/dom7.esm.js":
4218/*!***************************************!*\
4219  !*** ./node_modules/dom7/dom7.esm.js ***!
4220  \***************************************/
4221/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
4222
4223"use strict";
4224__webpack_require__.r(__webpack_exports__);
4225/* harmony export */ __webpack_require__.d(__webpack_exports__, {
4226/* harmony export */   "$": () => (/* binding */ $),
4227/* harmony export */   "add": () => (/* binding */ add),
4228/* harmony export */   "addClass": () => (/* binding */ addClass),
4229/* harmony export */   "animate": () => (/* binding */ animate),
4230/* harmony export */   "animationEnd": () => (/* binding */ animationEnd),
4231/* harmony export */   "append": () => (/* binding */ append),
4232/* harmony export */   "appendTo": () => (/* binding */ appendTo),
4233/* harmony export */   "attr": () => (/* binding */ attr),
4234/* harmony export */   "blur": () => (/* binding */ blur),
4235/* harmony export */   "change": () => (/* binding */ change),
4236/* harmony export */   "children": () => (/* binding */ children),
4237/* harmony export */   "click": () => (/* binding */ click),
4238/* harmony export */   "closest": () => (/* binding */ closest),
4239/* harmony export */   "css": () => (/* binding */ css),
4240/* harmony export */   "data": () => (/* binding */ data),
4241/* harmony export */   "dataset": () => (/* binding */ dataset),
4242/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
4243/* harmony export */   "detach": () => (/* binding */ detach),
4244/* harmony export */   "each": () => (/* binding */ each),
4245/* harmony export */   "empty": () => (/* binding */ empty),
4246/* harmony export */   "eq": () => (/* binding */ eq),
4247/* harmony export */   "filter": () => (/* binding */ filter),
4248/* harmony export */   "find": () => (/* binding */ find),
4249/* harmony export */   "focus": () => (/* binding */ focus),
4250/* harmony export */   "focusin": () => (/* binding */ focusin),
4251/* harmony export */   "focusout": () => (/* binding */ focusout),
4252/* harmony export */   "hasClass": () => (/* binding */ hasClass),
4253/* harmony export */   "height": () => (/* binding */ height),
4254/* harmony export */   "hide": () => (/* binding */ hide),
4255/* harmony export */   "html": () => (/* binding */ html),
4256/* harmony export */   "index": () => (/* binding */ index),
4257/* harmony export */   "insertAfter": () => (/* binding */ insertAfter),
4258/* harmony export */   "insertBefore": () => (/* binding */ insertBefore),
4259/* harmony export */   "is": () => (/* binding */ is),
4260/* harmony export */   "keydown": () => (/* binding */ keydown),
4261/* harmony export */   "keypress": () => (/* binding */ keypress),
4262/* harmony export */   "keyup": () => (/* binding */ keyup),
4263/* harmony export */   "mousedown": () => (/* binding */ mousedown),
4264/* harmony export */   "mouseenter": () => (/* binding */ mouseenter),
4265/* harmony export */   "mouseleave": () => (/* binding */ mouseleave),
4266/* harmony export */   "mousemove": () => (/* binding */ mousemove),
4267/* harmony export */   "mouseout": () => (/* binding */ mouseout),
4268/* harmony export */   "mouseover": () => (/* binding */ mouseover),
4269/* harmony export */   "mouseup": () => (/* binding */ mouseup),
4270/* harmony export */   "next": () => (/* binding */ next),
4271/* harmony export */   "nextAll": () => (/* binding */ nextAll),
4272/* harmony export */   "off": () => (/* binding */ off),
4273/* harmony export */   "offset": () => (/* binding */ offset),
4274/* harmony export */   "on": () => (/* binding */ on),
4275/* harmony export */   "once": () => (/* binding */ once),
4276/* harmony export */   "outerHeight": () => (/* binding */ outerHeight),
4277/* harmony export */   "outerWidth": () => (/* binding */ outerWidth),
4278/* harmony export */   "parent": () => (/* binding */ parent),
4279/* harmony export */   "parents": () => (/* binding */ parents),
4280/* harmony export */   "prepend": () => (/* binding */ prepend),
4281/* harmony export */   "prependTo": () => (/* binding */ prependTo),
4282/* harmony export */   "prev": () => (/* binding */ prev),
4283/* harmony export */   "prevAll": () => (/* binding */ prevAll),
4284/* harmony export */   "prop": () => (/* binding */ prop),
4285/* harmony export */   "remove": () => (/* binding */ remove),
4286/* harmony export */   "removeAttr": () => (/* binding */ removeAttr),
4287/* harmony export */   "removeClass": () => (/* binding */ removeClass),
4288/* harmony export */   "removeData": () => (/* binding */ removeData),
4289/* harmony export */   "resize": () => (/* binding */ resize),
4290/* harmony export */   "scroll": () => (/* binding */ scroll),
4291/* harmony export */   "scrollLeft": () => (/* binding */ scrollLeft),
4292/* harmony export */   "scrollTo": () => (/* binding */ scrollTo),
4293/* harmony export */   "scrollTop": () => (/* binding */ scrollTop),
4294/* harmony export */   "show": () => (/* binding */ show),
4295/* harmony export */   "siblings": () => (/* binding */ siblings),
4296/* harmony export */   "stop": () => (/* binding */ stop),
4297/* harmony export */   "styles": () => (/* binding */ styles),
4298/* harmony export */   "submit": () => (/* binding */ submit),
4299/* harmony export */   "text": () => (/* binding */ text),
4300/* harmony export */   "toggleClass": () => (/* binding */ toggleClass),
4301/* harmony export */   "touchend": () => (/* binding */ touchend),
4302/* harmony export */   "touchmove": () => (/* binding */ touchmove),
4303/* harmony export */   "touchstart": () => (/* binding */ touchstart),
4304/* harmony export */   "transform": () => (/* binding */ transform),
4305/* harmony export */   "transition": () => (/* binding */ transition),
4306/* harmony export */   "transitionEnd": () => (/* binding */ transitionEnd),
4307/* harmony export */   "trigger": () => (/* binding */ trigger),
4308/* harmony export */   "val": () => (/* binding */ val),
4309/* harmony export */   "value": () => (/* binding */ value),
4310/* harmony export */   "width": () => (/* binding */ width)
4311/* harmony export */ });
4312/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
4313/**
4314 * Dom7 4.0.4
4315 * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
4316 * https://framework7.io/docs/dom7.html
4317 *
4318 * Copyright 2022, Vladimir Kharlampidi
4319 *
4320 * Licensed under MIT
4321 *
4322 * Released on: January 11, 2022
4323 */
4324
4325
4326/* eslint-disable no-proto */
4327function makeReactive(obj) {
4328  const proto = obj.__proto__;
4329  Object.defineProperty(obj, '__proto__', {
4330    get() {
4331      return proto;
4332    },
4333
4334    set(value) {
4335      proto.__proto__ = value;
4336    }
4337
4338  });
4339}
4340
4341class Dom7 extends Array {
4342  constructor(items) {
4343    if (typeof items === 'number') {
4344      super(items);
4345    } else {
4346      super(...(items || []));
4347      makeReactive(this);
4348    }
4349  }
4350
4351}
4352
4353function arrayFlat(arr = []) {
4354  const res = [];
4355  arr.forEach(el => {
4356    if (Array.isArray(el)) {
4357      res.push(...arrayFlat(el));
4358    } else {
4359      res.push(el);
4360    }
4361  });
4362  return res;
4363}
4364function arrayFilter(arr, callback) {
4365  return Array.prototype.filter.call(arr, callback);
4366}
4367function arrayUnique(arr) {
4368  const uniqueArray = [];
4369
4370  for (let i = 0; i < arr.length; i += 1) {
4371    if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
4372  }
4373
4374  return uniqueArray;
4375}
4376function toCamelCase(string) {
4377  return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());
4378}
4379
4380// eslint-disable-next-line
4381
4382function qsa(selector, context) {
4383  if (typeof selector !== 'string') {
4384    return [selector];
4385  }
4386
4387  const a = [];
4388  const res = context.querySelectorAll(selector);
4389
4390  for (let i = 0; i < res.length; i += 1) {
4391    a.push(res[i]);
4392  }
4393
4394  return a;
4395}
4396
4397function $(selector, context) {
4398  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4399  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
4400  let arr = [];
4401
4402  if (!context && selector instanceof Dom7) {
4403    return selector;
4404  }
4405
4406  if (!selector) {
4407    return new Dom7(arr);
4408  }
4409
4410  if (typeof selector === 'string') {
4411    const html = selector.trim();
4412
4413    if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {
4414      let toCreate = 'div';
4415      if (html.indexOf('<li') === 0) toCreate = 'ul';
4416      if (html.indexOf('<tr') === 0) toCreate = 'tbody';
4417      if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';
4418      if (html.indexOf('<tbody') === 0) toCreate = 'table';
4419      if (html.indexOf('<option') === 0) toCreate = 'select';
4420      const tempParent = document.createElement(toCreate);
4421      tempParent.innerHTML = html;
4422
4423      for (let i = 0; i < tempParent.childNodes.length; i += 1) {
4424        arr.push(tempParent.childNodes[i]);
4425      }
4426    } else {
4427      arr = qsa(selector.trim(), context || document);
4428    } // arr = qsa(selector, document);
4429
4430  } else if (selector.nodeType || selector === window || selector === document) {
4431    arr.push(selector);
4432  } else if (Array.isArray(selector)) {
4433    if (selector instanceof Dom7) return selector;
4434    arr = selector;
4435  }
4436
4437  return new Dom7(arrayUnique(arr));
4438}
4439
4440$.fn = Dom7.prototype;
4441
4442// eslint-disable-next-line
4443
4444function addClass(...classes) {
4445  const classNames = arrayFlat(classes.map(c => c.split(' ')));
4446  this.forEach(el => {
4447    el.classList.add(...classNames);
4448  });
4449  return this;
4450}
4451
4452function removeClass(...classes) {
4453  const classNames = arrayFlat(classes.map(c => c.split(' ')));
4454  this.forEach(el => {
4455    el.classList.remove(...classNames);
4456  });
4457  return this;
4458}
4459
4460function toggleClass(...classes) {
4461  const classNames = arrayFlat(classes.map(c => c.split(' ')));
4462  this.forEach(el => {
4463    classNames.forEach(className => {
4464      el.classList.toggle(className);
4465    });
4466  });
4467}
4468
4469function hasClass(...classes) {
4470  const classNames = arrayFlat(classes.map(c => c.split(' ')));
4471  return arrayFilter(this, el => {
4472    return classNames.filter(className => el.classList.contains(className)).length > 0;
4473  }).length > 0;
4474}
4475
4476function attr(attrs, value) {
4477  if (arguments.length === 1 && typeof attrs === 'string') {
4478    // Get attr
4479    if (this[0]) return this[0].getAttribute(attrs);
4480    return undefined;
4481  } // Set attrs
4482
4483
4484  for (let i = 0; i < this.length; i += 1) {
4485    if (arguments.length === 2) {
4486      // String
4487      this[i].setAttribute(attrs, value);
4488    } else {
4489      // Object
4490      for (const attrName in attrs) {
4491        this[i][attrName] = attrs[attrName];
4492        this[i].setAttribute(attrName, attrs[attrName]);
4493      }
4494    }
4495  }
4496
4497  return this;
4498}
4499
4500function removeAttr(attr) {
4501  for (let i = 0; i < this.length; i += 1) {
4502    this[i].removeAttribute(attr);
4503  }
4504
4505  return this;
4506}
4507
4508function prop(props, value) {
4509  if (arguments.length === 1 && typeof props === 'string') {
4510    // Get prop
4511    if (this[0]) return this[0][props];
4512  } else {
4513    // Set props
4514    for (let i = 0; i < this.length; i += 1) {
4515      if (arguments.length === 2) {
4516        // String
4517        this[i][props] = value;
4518      } else {
4519        // Object
4520        for (const propName in props) {
4521          this[i][propName] = props[propName];
4522        }
4523      }
4524    }
4525
4526    return this;
4527  }
4528
4529  return this;
4530}
4531
4532function data(key, value) {
4533  let el;
4534
4535  if (typeof value === 'undefined') {
4536    el = this[0];
4537    if (!el) return undefined; // Get value
4538
4539    if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {
4540      return el.dom7ElementDataStorage[key];
4541    }
4542
4543    const dataKey = el.getAttribute(`data-${key}`);
4544
4545    if (dataKey) {
4546      return dataKey;
4547    }
4548
4549    return undefined;
4550  } // Set value
4551
4552
4553  for (let i = 0; i < this.length; i += 1) {
4554    el = this[i];
4555    if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};
4556    el.dom7ElementDataStorage[key] = value;
4557  }
4558
4559  return this;
4560}
4561
4562function removeData(key) {
4563  for (let i = 0; i < this.length; i += 1) {
4564    const el = this[i];
4565
4566    if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {
4567      el.dom7ElementDataStorage[key] = null;
4568      delete el.dom7ElementDataStorage[key];
4569    }
4570  }
4571}
4572
4573function dataset() {
4574  const el = this[0];
4575  if (!el) return undefined;
4576  const dataset = {}; // eslint-disable-line
4577
4578  if (el.dataset) {
4579    for (const dataKey in el.dataset) {
4580      dataset[dataKey] = el.dataset[dataKey];
4581    }
4582  } else {
4583    for (let i = 0; i < el.attributes.length; i += 1) {
4584      const attr = el.attributes[i];
4585
4586      if (attr.name.indexOf('data-') >= 0) {
4587        dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;
4588      }
4589    }
4590  }
4591
4592  for (const key in dataset) {
4593    if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;
4594  }
4595
4596  return dataset;
4597}
4598
4599function val(value) {
4600  if (typeof value === 'undefined') {
4601    // get value
4602    const el = this[0];
4603    if (!el) return undefined;
4604
4605    if (el.multiple && el.nodeName.toLowerCase() === 'select') {
4606      const values = [];
4607
4608      for (let i = 0; i < el.selectedOptions.length; i += 1) {
4609        values.push(el.selectedOptions[i].value);
4610      }
4611
4612      return values;
4613    }
4614
4615    return el.value;
4616  } // set value
4617
4618
4619  for (let i = 0; i < this.length; i += 1) {
4620    const el = this[i];
4621
4622    if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {
4623      for (let j = 0; j < el.options.length; j += 1) {
4624        el.options[j].selected = value.indexOf(el.options[j].value) >= 0;
4625      }
4626    } else {
4627      el.value = value;
4628    }
4629  }
4630
4631  return this;
4632}
4633
4634function value(value) {
4635  return this.val(value);
4636}
4637
4638function transform(transform) {
4639  for (let i = 0; i < this.length; i += 1) {
4640    this[i].style.transform = transform;
4641  }
4642
4643  return this;
4644}
4645
4646function transition(duration) {
4647  for (let i = 0; i < this.length; i += 1) {
4648    this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;
4649  }
4650
4651  return this;
4652}
4653
4654function on(...args) {
4655  let [eventType, targetSelector, listener, capture] = args;
4656
4657  if (typeof args[1] === 'function') {
4658    [eventType, listener, capture] = args;
4659    targetSelector = undefined;
4660  }
4661
4662  if (!capture) capture = false;
4663
4664  function handleLiveEvent(e) {
4665    const target = e.target;
4666    if (!target) return;
4667    const eventData = e.target.dom7EventData || [];
4668
4669    if (eventData.indexOf(e) < 0) {
4670      eventData.unshift(e);
4671    }
4672
4673    if ($(target).is(targetSelector)) listener.apply(target, eventData);else {
4674      const parents = $(target).parents(); // eslint-disable-line
4675
4676      for (let k = 0; k < parents.length; k += 1) {
4677        if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);
4678      }
4679    }
4680  }
4681
4682  function handleEvent(e) {
4683    const eventData = e && e.target ? e.target.dom7EventData || [] : [];
4684
4685    if (eventData.indexOf(e) < 0) {
4686      eventData.unshift(e);
4687    }
4688
4689    listener.apply(this, eventData);
4690  }
4691
4692  const events = eventType.split(' ');
4693  let j;
4694
4695  for (let i = 0; i < this.length; i += 1) {
4696    const el = this[i];
4697
4698    if (!targetSelector) {
4699      for (j = 0; j < events.length; j += 1) {
4700        const event = events[j];
4701        if (!el.dom7Listeners) el.dom7Listeners = {};
4702        if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];
4703        el.dom7Listeners[event].push({
4704          listener,
4705          proxyListener: handleEvent
4706        });
4707        el.addEventListener(event, handleEvent, capture);
4708      }
4709    } else {
4710      // Live events
4711      for (j = 0; j < events.length; j += 1) {
4712        const event = events[j];
4713        if (!el.dom7LiveListeners) el.dom7LiveListeners = {};
4714        if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];
4715        el.dom7LiveListeners[event].push({
4716          listener,
4717          proxyListener: handleLiveEvent
4718        });
4719        el.addEventListener(event, handleLiveEvent, capture);
4720      }
4721    }
4722  }
4723
4724  return this;
4725}
4726
4727function off(...args) {
4728  let [eventType, targetSelector, listener, capture] = args;
4729
4730  if (typeof args[1] === 'function') {
4731    [eventType, listener, capture] = args;
4732    targetSelector = undefined;
4733  }
4734
4735  if (!capture) capture = false;
4736  const events = eventType.split(' ');
4737
4738  for (let i = 0; i < events.length; i += 1) {
4739    const event = events[i];
4740
4741    for (let j = 0; j < this.length; j += 1) {
4742      const el = this[j];
4743      let handlers;
4744
4745      if (!targetSelector && el.dom7Listeners) {
4746        handlers = el.dom7Listeners[event];
4747      } else if (targetSelector && el.dom7LiveListeners) {
4748        handlers = el.dom7LiveListeners[event];
4749      }
4750
4751      if (handlers && handlers.length) {
4752        for (let k = handlers.length - 1; k >= 0; k -= 1) {
4753          const handler = handlers[k];
4754
4755          if (listener && handler.listener === listener) {
4756            el.removeEventListener(event, handler.proxyListener, capture);
4757            handlers.splice(k, 1);
4758          } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {
4759            el.removeEventListener(event, handler.proxyListener, capture);
4760            handlers.splice(k, 1);
4761          } else if (!listener) {
4762            el.removeEventListener(event, handler.proxyListener, capture);
4763            handlers.splice(k, 1);
4764          }
4765        }
4766      }
4767    }
4768  }
4769
4770  return this;
4771}
4772
4773function once(...args) {
4774  const dom = this;
4775  let [eventName, targetSelector, listener, capture] = args;
4776
4777  if (typeof args[1] === 'function') {
4778    [eventName, listener, capture] = args;
4779    targetSelector = undefined;
4780  }
4781
4782  function onceHandler(...eventArgs) {
4783    listener.apply(this, eventArgs);
4784    dom.off(eventName, targetSelector, onceHandler, capture);
4785
4786    if (onceHandler.dom7proxy) {
4787      delete onceHandler.dom7proxy;
4788    }
4789  }
4790
4791  onceHandler.dom7proxy = listener;
4792  return dom.on(eventName, targetSelector, onceHandler, capture);
4793}
4794
4795function trigger(...args) {
4796  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4797  const events = args[0].split(' ');
4798  const eventData = args[1];
4799
4800  for (let i = 0; i < events.length; i += 1) {
4801    const event = events[i];
4802
4803    for (let j = 0; j < this.length; j += 1) {
4804      const el = this[j];
4805
4806      if (window.CustomEvent) {
4807        const evt = new window.CustomEvent(event, {
4808          detail: eventData,
4809          bubbles: true,
4810          cancelable: true
4811        });
4812        el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);
4813        el.dispatchEvent(evt);
4814        el.dom7EventData = [];
4815        delete el.dom7EventData;
4816      }
4817    }
4818  }
4819
4820  return this;
4821}
4822
4823function transitionEnd(callback) {
4824  const dom = this;
4825
4826  function fireCallBack(e) {
4827    if (e.target !== this) return;
4828    callback.call(this, e);
4829    dom.off('transitionend', fireCallBack);
4830  }
4831
4832  if (callback) {
4833    dom.on('transitionend', fireCallBack);
4834  }
4835
4836  return this;
4837}
4838
4839function animationEnd(callback) {
4840  const dom = this;
4841
4842  function fireCallBack(e) {
4843    if (e.target !== this) return;
4844    callback.call(this, e);
4845    dom.off('animationend', fireCallBack);
4846  }
4847
4848  if (callback) {
4849    dom.on('animationend', fireCallBack);
4850  }
4851
4852  return this;
4853}
4854
4855function width() {
4856  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4857
4858  if (this[0] === window) {
4859    return window.innerWidth;
4860  }
4861
4862  if (this.length > 0) {
4863    return parseFloat(this.css('width'));
4864  }
4865
4866  return null;
4867}
4868
4869function outerWidth(includeMargins) {
4870  if (this.length > 0) {
4871    if (includeMargins) {
4872      const styles = this.styles();
4873      return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));
4874    }
4875
4876    return this[0].offsetWidth;
4877  }
4878
4879  return null;
4880}
4881
4882function height() {
4883  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4884
4885  if (this[0] === window) {
4886    return window.innerHeight;
4887  }
4888
4889  if (this.length > 0) {
4890    return parseFloat(this.css('height'));
4891  }
4892
4893  return null;
4894}
4895
4896function outerHeight(includeMargins) {
4897  if (this.length > 0) {
4898    if (includeMargins) {
4899      const styles = this.styles();
4900      return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));
4901    }
4902
4903    return this[0].offsetHeight;
4904  }
4905
4906  return null;
4907}
4908
4909function offset() {
4910  if (this.length > 0) {
4911    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4912    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
4913    const el = this[0];
4914    const box = el.getBoundingClientRect();
4915    const body = document.body;
4916    const clientTop = el.clientTop || body.clientTop || 0;
4917    const clientLeft = el.clientLeft || body.clientLeft || 0;
4918    const scrollTop = el === window ? window.scrollY : el.scrollTop;
4919    const scrollLeft = el === window ? window.scrollX : el.scrollLeft;
4920    return {
4921      top: box.top + scrollTop - clientTop,
4922      left: box.left + scrollLeft - clientLeft
4923    };
4924  }
4925
4926  return null;
4927}
4928
4929function hide() {
4930  for (let i = 0; i < this.length; i += 1) {
4931    this[i].style.display = 'none';
4932  }
4933
4934  return this;
4935}
4936
4937function show() {
4938  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4939
4940  for (let i = 0; i < this.length; i += 1) {
4941    const el = this[i];
4942
4943    if (el.style.display === 'none') {
4944      el.style.display = '';
4945    }
4946
4947    if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {
4948      // Still not visible
4949      el.style.display = 'block';
4950    }
4951  }
4952
4953  return this;
4954}
4955
4956function styles() {
4957  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4958  if (this[0]) return window.getComputedStyle(this[0], null);
4959  return {};
4960}
4961
4962function css(props, value) {
4963  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
4964  let i;
4965
4966  if (arguments.length === 1) {
4967    if (typeof props === 'string') {
4968      // .css('width')
4969      if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);
4970    } else {
4971      // .css({ width: '100px' })
4972      for (i = 0; i < this.length; i += 1) {
4973        for (const prop in props) {
4974          this[i].style[prop] = props[prop];
4975        }
4976      }
4977
4978      return this;
4979    }
4980  }
4981
4982  if (arguments.length === 2 && typeof props === 'string') {
4983    // .css('width', '100px')
4984    for (i = 0; i < this.length; i += 1) {
4985      this[i].style[props] = value;
4986    }
4987
4988    return this;
4989  }
4990
4991  return this;
4992}
4993
4994function each(callback) {
4995  if (!callback) return this;
4996  this.forEach((el, index) => {
4997    callback.apply(el, [el, index]);
4998  });
4999  return this;
5000}
5001
5002function filter(callback) {
5003  const result = arrayFilter(this, callback);
5004  return $(result);
5005}
5006
5007function html(html) {
5008  if (typeof html === 'undefined') {
5009    return this[0] ? this[0].innerHTML : null;
5010  }
5011
5012  for (let i = 0; i < this.length; i += 1) {
5013    this[i].innerHTML = html;
5014  }
5015
5016  return this;
5017}
5018
5019function text(text) {
5020  if (typeof text === 'undefined') {
5021    return this[0] ? this[0].textContent.trim() : null;
5022  }
5023
5024  for (let i = 0; i < this.length; i += 1) {
5025    this[i].textContent = text;
5026  }
5027
5028  return this;
5029}
5030
5031function is(selector) {
5032  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
5033  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5034  const el = this[0];
5035  let compareWith;
5036  let i;
5037  if (!el || typeof selector === 'undefined') return false;
5038
5039  if (typeof selector === 'string') {
5040    if (el.matches) return el.matches(selector);
5041    if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);
5042    if (el.msMatchesSelector) return el.msMatchesSelector(selector);
5043    compareWith = $(selector);
5044
5045    for (i = 0; i < compareWith.length; i += 1) {
5046      if (compareWith[i] === el) return true;
5047    }
5048
5049    return false;
5050  }
5051
5052  if (selector === document) {
5053    return el === document;
5054  }
5055
5056  if (selector === window) {
5057    return el === window;
5058  }
5059
5060  if (selector.nodeType || selector instanceof Dom7) {
5061    compareWith = selector.nodeType ? [selector] : selector;
5062
5063    for (i = 0; i < compareWith.length; i += 1) {
5064      if (compareWith[i] === el) return true;
5065    }
5066
5067    return false;
5068  }
5069
5070  return false;
5071}
5072
5073function index() {
5074  let child = this[0];
5075  let i;
5076
5077  if (child) {
5078    i = 0; // eslint-disable-next-line
5079
5080    while ((child = child.previousSibling) !== null) {
5081      if (child.nodeType === 1) i += 1;
5082    }
5083
5084    return i;
5085  }
5086
5087  return undefined;
5088}
5089
5090function eq(index) {
5091  if (typeof index === 'undefined') return this;
5092  const length = this.length;
5093
5094  if (index > length - 1) {
5095    return $([]);
5096  }
5097
5098  if (index < 0) {
5099    const returnIndex = length + index;
5100    if (returnIndex < 0) return $([]);
5101    return $([this[returnIndex]]);
5102  }
5103
5104  return $([this[index]]);
5105}
5106
5107function append(...els) {
5108  let newChild;
5109  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5110
5111  for (let k = 0; k < els.length; k += 1) {
5112    newChild = els[k];
5113
5114    for (let i = 0; i < this.length; i += 1) {
5115      if (typeof newChild === 'string') {
5116        const tempDiv = document.createElement('div');
5117        tempDiv.innerHTML = newChild;
5118
5119        while (tempDiv.firstChild) {
5120          this[i].appendChild(tempDiv.firstChild);
5121        }
5122      } else if (newChild instanceof Dom7) {
5123        for (let j = 0; j < newChild.length; j += 1) {
5124          this[i].appendChild(newChild[j]);
5125        }
5126      } else {
5127        this[i].appendChild(newChild);
5128      }
5129    }
5130  }
5131
5132  return this;
5133}
5134
5135function appendTo(parent) {
5136  $(parent).append(this);
5137  return this;
5138}
5139
5140function prepend(newChild) {
5141  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
5142  let i;
5143  let j;
5144
5145  for (i = 0; i < this.length; i += 1) {
5146    if (typeof newChild === 'string') {
5147      const tempDiv = document.createElement('div');
5148      tempDiv.innerHTML = newChild;
5149
5150      for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
5151        this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
5152      }
5153    } else if (newChild instanceof Dom7) {
5154      for (j = 0; j < newChild.length; j += 1) {
5155        this[i].insertBefore(newChild[j], this[i].childNodes[0]);
5156      }
5157    } else {
5158      this[i].insertBefore(newChild, this[i].childNodes[0]);
5159    }
5160  }
5161
5162  return this;
5163}
5164
5165function prependTo(parent) {
5166  $(parent).prepend(this);
5167  return this;
5168}
5169
5170function insertBefore(selector) {
5171  const before = $(selector);
5172
5173  for (let i = 0; i < this.length; i += 1) {
5174    if (before.length === 1) {
5175      before[0].parentNode.insertBefore(this[i], before[0]);
5176    } else if (before.length > 1) {
5177      for (let j = 0; j < before.length; j += 1) {
5178        before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);
5179      }
5180    }
5181  }
5182}
5183
5184function insertAfter(selector) {
5185  const after = $(selector);
5186
5187  for (let i = 0; i < this.length; i += 1) {
5188    if (after.length === 1) {
5189      after[0].parentNode.insertBefore(this[i], after[0].nextSibling);
5190    } else if (after.length > 1) {
5191      for (let j = 0; j < after.length; j += 1) {
5192        after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);
5193      }
5194    }
5195  }
5196}
5197
5198function next(selector) {
5199  if (this.length > 0) {
5200    if (selector) {
5201      if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {
5202        return $([this[0].nextElementSibling]);
5203      }
5204
5205      return $([]);
5206    }
5207
5208    if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);
5209    return $([]);
5210  }
5211
5212  return $([]);
5213}
5214
5215function nextAll(selector) {
5216  const nextEls = [];
5217  let el = this[0];
5218  if (!el) return $([]);
5219
5220  while (el.nextElementSibling) {
5221    const next = el.nextElementSibling; // eslint-disable-line
5222
5223    if (selector) {
5224      if ($(next).is(selector)) nextEls.push(next);
5225    } else nextEls.push(next);
5226
5227    el = next;
5228  }
5229
5230  return $(nextEls);
5231}
5232
5233function prev(selector) {
5234  if (this.length > 0) {
5235    const el = this[0];
5236
5237    if (selector) {
5238      if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {
5239        return $([el.previousElementSibling]);
5240      }
5241
5242      return $([]);
5243    }
5244
5245    if (el.previousElementSibling) return $([el.previousElementSibling]);
5246    return $([]);
5247  }
5248
5249  return $([]);
5250}
5251
5252function prevAll(selector) {
5253  const prevEls = [];
5254  let el = this[0];
5255  if (!el) return $([]);
5256
5257  while (el.previousElementSibling) {
5258    const prev = el.previousElementSibling; // eslint-disable-line
5259
5260    if (selector) {
5261      if ($(prev).is(selector)) prevEls.push(prev);
5262    } else prevEls.push(prev);
5263
5264    el = prev;
5265  }
5266
5267  return $(prevEls);
5268}
5269
5270function siblings(selector) {
5271  return this.nextAll(selector).add(this.prevAll(selector));
5272}
5273
5274function parent(selector) {
5275  const parents = []; // eslint-disable-line
5276
5277  for (let i = 0; i < this.length; i += 1) {
5278    if (this[i].parentNode !== null) {
5279      if (selector) {
5280        if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);
5281      } else {
5282        parents.push(this[i].parentNode);
5283      }
5284    }
5285  }
5286
5287  return $(parents);
5288}
5289
5290function parents(selector) {
5291  const parents = []; // eslint-disable-line
5292
5293  for (let i = 0; i < this.length; i += 1) {
5294    let parent = this[i].parentNode; // eslint-disable-line
5295
5296    while (parent) {
5297      if (selector) {
5298        if ($(parent).is(selector)) parents.push(parent);
5299      } else {
5300        parents.push(parent);
5301      }
5302
5303      parent = parent.parentNode;
5304    }
5305  }
5306
5307  return $(parents);
5308}
5309
5310function closest(selector) {
5311  let closest = this; // eslint-disable-line
5312
5313  if (typeof selector === 'undefined') {
5314    return $([]);
5315  }
5316
5317  if (!closest.is(selector)) {
5318    closest = closest.parents(selector).eq(0);
5319  }
5320
5321  return closest;
5322}
5323
5324function find(selector) {
5325  const foundElements = [];
5326
5327  for (let i = 0; i < this.length; i += 1) {
5328    const found = this[i].querySelectorAll(selector);
5329
5330    for (let j = 0; j < found.length; j += 1) {
5331      foundElements.push(found[j]);
5332    }
5333  }
5334
5335  return $(foundElements);
5336}
5337
5338function children(selector) {
5339  const children = []; // eslint-disable-line
5340
5341  for (let i = 0; i < this.length; i += 1) {
5342    const childNodes = this[i].children;
5343
5344    for (let j = 0; j < childNodes.length; j += 1) {
5345      if (!selector || $(childNodes[j]).is(selector)) {
5346        children.push(childNodes[j]);
5347      }
5348    }
5349  }
5350
5351  return $(children);
5352}
5353
5354function remove() {
5355  for (let i = 0; i < this.length; i += 1) {
5356    if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);
5357  }
5358
5359  return this;
5360}
5361
5362function detach() {
5363  return this.remove();
5364}
5365
5366function add(...els) {
5367  const dom = this;
5368  let i;
5369  let j;
5370
5371  for (i = 0; i < els.length; i += 1) {
5372    const toAdd = $(els[i]);
5373
5374    for (j = 0; j < toAdd.length; j += 1) {
5375      dom.push(toAdd[j]);
5376    }
5377  }
5378
5379  return dom;
5380}
5381
5382function empty() {
5383  for (let i = 0; i < this.length; i += 1) {
5384    const el = this[i];
5385
5386    if (el.nodeType === 1) {
5387      for (let j = 0; j < el.childNodes.length; j += 1) {
5388        if (el.childNodes[j].parentNode) {
5389          el.childNodes[j].parentNode.removeChild(el.childNodes[j]);
5390        }
5391      }
5392
5393      el.textContent = '';
5394    }
5395  }
5396
5397  return this;
5398}
5399
5400// eslint-disable-next-line
5401
5402function scrollTo(...args) {
5403  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
5404  let [left, top, duration, easing, callback] = args;
5405
5406  if (args.length === 4 && typeof easing === 'function') {
5407    callback = easing;
5408    [left, top, duration, callback, easing] = args;
5409  }
5410
5411  if (typeof easing === 'undefined') easing = 'swing';
5412  return this.each(function animate() {
5413    const el = this;
5414    let currentTop;
5415    let currentLeft;
5416    let maxTop;
5417    let maxLeft;
5418    let newTop;
5419    let newLeft;
5420    let scrollTop; // eslint-disable-line
5421
5422    let scrollLeft; // eslint-disable-line
5423
5424    let animateTop = top > 0 || top === 0;
5425    let animateLeft = left > 0 || left === 0;
5426
5427    if (typeof easing === 'undefined') {
5428      easing = 'swing';
5429    }
5430
5431    if (animateTop) {
5432      currentTop = el.scrollTop;
5433
5434      if (!duration) {
5435        el.scrollTop = top;
5436      }
5437    }
5438
5439    if (animateLeft) {
5440      currentLeft = el.scrollLeft;
5441
5442      if (!duration) {
5443        el.scrollLeft = left;
5444      }
5445    }
5446
5447    if (!duration) return;
5448
5449    if (animateTop) {
5450      maxTop = el.scrollHeight - el.offsetHeight;
5451      newTop = Math.max(Math.min(top, maxTop), 0);
5452    }
5453
5454    if (animateLeft) {
5455      maxLeft = el.scrollWidth - el.offsetWidth;
5456      newLeft = Math.max(Math.min(left, maxLeft), 0);
5457    }
5458
5459    let startTime = null;
5460    if (animateTop && newTop === currentTop) animateTop = false;
5461    if (animateLeft && newLeft === currentLeft) animateLeft = false;
5462
5463    function render(time = new Date().getTime()) {
5464      if (startTime === null) {
5465        startTime = time;
5466      }
5467
5468      const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
5469      const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;
5470      let done;
5471      if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);
5472      if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);
5473
5474      if (animateTop && newTop > currentTop && scrollTop >= newTop) {
5475        el.scrollTop = newTop;
5476        done = true;
5477      }
5478
5479      if (animateTop && newTop < currentTop && scrollTop <= newTop) {
5480        el.scrollTop = newTop;
5481        done = true;
5482      }
5483
5484      if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {
5485        el.scrollLeft = newLeft;
5486        done = true;
5487      }
5488
5489      if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {
5490        el.scrollLeft = newLeft;
5491        done = true;
5492      }
5493
5494      if (done) {
5495        if (callback) callback();
5496        return;
5497      }
5498
5499      if (animateTop) el.scrollTop = scrollTop;
5500      if (animateLeft) el.scrollLeft = scrollLeft;
5501      window.requestAnimationFrame(render);
5502    }
5503
5504    window.requestAnimationFrame(render);
5505  });
5506} // scrollTop(top, duration, easing, callback) {
5507
5508
5509function scrollTop(...args) {
5510  let [top, duration, easing, callback] = args;
5511
5512  if (args.length === 3 && typeof easing === 'function') {
5513    [top, duration, callback, easing] = args;
5514  }
5515
5516  const dom = this;
5517
5518  if (typeof top === 'undefined') {
5519    if (dom.length > 0) return dom[0].scrollTop;
5520    return null;
5521  }
5522
5523  return dom.scrollTo(undefined, top, duration, easing, callback);
5524}
5525
5526function scrollLeft(...args) {
5527  let [left, duration, easing, callback] = args;
5528
5529  if (args.length === 3 && typeof easing === 'function') {
5530    [left, duration, callback, easing] = args;
5531  }
5532
5533  const dom = this;
5534
5535  if (typeof left === 'undefined') {
5536    if (dom.length > 0) return dom[0].scrollLeft;
5537    return null;
5538  }
5539
5540  return dom.scrollTo(left, undefined, duration, easing, callback);
5541}
5542
5543// eslint-disable-next-line
5544
5545function animate(initialProps, initialParams) {
5546  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
5547  const els = this;
5548  const a = {
5549    props: Object.assign({}, initialProps),
5550    params: Object.assign({
5551      duration: 300,
5552      easing: 'swing' // or 'linear'
5553
5554      /* Callbacks
5555      begin(elements)
5556      complete(elements)
5557      progress(elements, complete, remaining, start, tweenValue)
5558      */
5559
5560    }, initialParams),
5561    elements: els,
5562    animating: false,
5563    que: [],
5564
5565    easingProgress(easing, progress) {
5566      if (easing === 'swing') {
5567        return 0.5 - Math.cos(progress * Math.PI) / 2;
5568      }
5569
5570      if (typeof easing === 'function') {
5571        return easing(progress);
5572      }
5573
5574      return progress;
5575    },
5576
5577    stop() {
5578      if (a.frameId) {
5579        window.cancelAnimationFrame(a.frameId);
5580      }
5581
5582      a.animating = false;
5583      a.elements.each(el => {
5584        const element = el;
5585        delete element.dom7AnimateInstance;
5586      });
5587      a.que = [];
5588    },
5589
5590    done(complete) {
5591      a.animating = false;
5592      a.elements.each(el => {
5593        const element = el;
5594        delete element.dom7AnimateInstance;
5595      });
5596      if (complete) complete(els);
5597
5598      if (a.que.length > 0) {
5599        const que = a.que.shift();
5600        a.animate(que[0], que[1]);
5601      }
5602    },
5603
5604    animate(props, params) {
5605      if (a.animating) {
5606        a.que.push([props, params]);
5607        return a;
5608      }
5609
5610      const elements = []; // Define & Cache Initials & Units
5611
5612      a.elements.each((el, index) => {
5613        let initialFullValue;
5614        let initialValue;
5615        let unit;
5616        let finalValue;
5617        let finalFullValue;
5618        if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;
5619        elements[index] = {
5620          container: el
5621        };
5622        Object.keys(props).forEach(prop => {
5623          initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');
5624          initialValue = parseFloat(initialFullValue);
5625          unit = initialFullValue.replace(initialValue, '');
5626          finalValue = parseFloat(props[prop]);
5627          finalFullValue = props[prop] + unit;
5628          elements[index][prop] = {
5629            initialFullValue,
5630            initialValue,
5631            unit,
5632            finalValue,
5633            finalFullValue,
5634            currentValue: initialValue
5635          };
5636        });
5637      });
5638      let startTime = null;
5639      let time;
5640      let elementsDone = 0;
5641      let propsDone = 0;
5642      let done;
5643      let began = false;
5644      a.animating = true;
5645
5646      function render() {
5647        time = new Date().getTime();
5648        let progress;
5649        let easeProgress; // let el;
5650
5651        if (!began) {
5652          began = true;
5653          if (params.begin) params.begin(els);
5654        }
5655
5656        if (startTime === null) {
5657          startTime = time;
5658        }
5659
5660        if (params.progress) {
5661          // eslint-disable-next-line
5662          params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);
5663        }
5664
5665        elements.forEach(element => {
5666          const el = element;
5667          if (done || el.done) return;
5668          Object.keys(props).forEach(prop => {
5669            if (done || el.done) return;
5670            progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);
5671            easeProgress = a.easingProgress(params.easing, progress);
5672            const {
5673              initialValue,
5674              finalValue,
5675              unit
5676            } = el[prop];
5677            el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);
5678            const currentValue = el[prop].currentValue;
5679
5680            if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {
5681              el.container.style[prop] = finalValue + unit;
5682              propsDone += 1;
5683
5684              if (propsDone === Object.keys(props).length) {
5685                el.done = true;
5686                elementsDone += 1;
5687              }
5688
5689              if (elementsDone === elements.length) {
5690                done = true;
5691              }
5692            }
5693
5694            if (done) {
5695              a.done(params.complete);
5696              return;
5697            }
5698
5699            el.container.style[prop] = currentValue + unit;
5700          });
5701        });
5702        if (done) return; // Then call
5703
5704        a.frameId = window.requestAnimationFrame(render);
5705      }
5706
5707      a.frameId = window.requestAnimationFrame(render);
5708      return a;
5709    }
5710
5711  };
5712
5713  if (a.elements.length === 0) {
5714    return els;
5715  }
5716
5717  let animateInstance;
5718
5719  for (let i = 0; i < a.elements.length; i += 1) {
5720    if (a.elements[i].dom7AnimateInstance) {
5721      animateInstance = a.elements[i].dom7AnimateInstance;
5722    } else a.elements[i].dom7AnimateInstance = a;
5723  }
5724
5725  if (!animateInstance) {
5726    animateInstance = a;
5727  }
5728
5729  if (initialProps === 'stop') {
5730    animateInstance.stop();
5731  } else {
5732    animateInstance.animate(a.props, a.params);
5733  }
5734
5735  return els;
5736}
5737
5738function stop() {
5739  const els = this;
5740
5741  for (let i = 0; i < els.length; i += 1) {
5742    if (els[i].dom7AnimateInstance) {
5743      els[i].dom7AnimateInstance.stop();
5744    }
5745  }
5746}
5747
5748const noTrigger = 'resize scroll'.split(' ');
5749
5750function shortcut(name) {
5751  function eventHandler(...args) {
5752    if (typeof args[0] === 'undefined') {
5753      for (let i = 0; i < this.length; i += 1) {
5754        if (noTrigger.indexOf(name) < 0) {
5755          if (name in this[i]) this[i][name]();else {
5756            $(this[i]).trigger(name);
5757          }
5758        }
5759      }
5760
5761      return this;
5762    }
5763
5764    return this.on(name, ...args);
5765  }
5766
5767  return eventHandler;
5768}
5769
5770const click = shortcut('click');
5771const blur = shortcut('blur');
5772const focus = shortcut('focus');
5773const focusin = shortcut('focusin');
5774const focusout = shortcut('focusout');
5775const keyup = shortcut('keyup');
5776const keydown = shortcut('keydown');
5777const keypress = shortcut('keypress');
5778const submit = shortcut('submit');
5779const change = shortcut('change');
5780const mousedown = shortcut('mousedown');
5781const mousemove = shortcut('mousemove');
5782const mouseup = shortcut('mouseup');
5783const mouseenter = shortcut('mouseenter');
5784const mouseleave = shortcut('mouseleave');
5785const mouseout = shortcut('mouseout');
5786const mouseover = shortcut('mouseover');
5787const touchstart = shortcut('touchstart');
5788const touchend = shortcut('touchend');
5789const touchmove = shortcut('touchmove');
5790const resize = shortcut('resize');
5791const scroll = shortcut('scroll');
5792
5793/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ($);
5794
5795
5796
5797/***/ }),
5798
vendor: 3,943 bytes, lines 5799-5965
5799/***/ "./node_modules/ssr-window/ssr-window.esm.js":
5800/*!***************************************************!*\
5801  !*** ./node_modules/ssr-window/ssr-window.esm.js ***!
5802  \***************************************************/
5803/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5804
5805"use strict";
5806__webpack_require__.r(__webpack_exports__);
5807/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5808/* harmony export */   "extend": () => (/* binding */ extend),
5809/* harmony export */   "getDocument": () => (/* binding */ getDocument),
5810/* harmony export */   "getWindow": () => (/* binding */ getWindow),
5811/* harmony export */   "ssrDocument": () => (/* binding */ ssrDocument),
5812/* harmony export */   "ssrWindow": () => (/* binding */ ssrWindow)
5813/* harmony export */ });
5814/**
5815 * SSR Window 4.0.2
5816 * Better handling for window object in SSR environment
5817 * https://github.com/nolimits4web/ssr-window
5818 *
5819 * Copyright 2021, Vladimir Kharlampidi
5820 *
5821 * Licensed under MIT
5822 *
5823 * Released on: December 13, 2021
5824 */
5825/* eslint-disable no-param-reassign */
5826function isObject(obj) {
5827    return (obj !== null &&
5828        typeof obj === 'object' &&
5829        'constructor' in obj &&
5830        obj.constructor === Object);
5831}
5832function extend(target = {}, src = {}) {
5833    Object.keys(src).forEach((key) => {
5834        if (typeof target[key] === 'undefined')
5835            target[key] = src[key];
5836        else if (isObject(src[key]) &&
5837            isObject(target[key]) &&
5838            Object.keys(src[key]).length > 0) {
5839            extend(target[key], src[key]);
5840        }
5841    });
5842}
5843
5844const ssrDocument = {
5845    body: {},
5846    addEventListener() { },
5847    removeEventListener() { },
5848    activeElement: {
5849        blur() { },
5850        nodeName: '',
5851    },
5852    querySelector() {
5853        return null;
5854    },
5855    querySelectorAll() {
5856        return [];
5857    },
5858    getElementById() {
5859        return null;
5860    },
5861    createEvent() {
5862        return {
5863            initEvent() { },
5864        };
5865    },
5866    createElement() {
5867        return {
5868            children: [],
5869            childNodes: [],
5870            style: {},
5871            setAttribute() { },
5872            getElementsByTagName() {
5873                return [];
5874            },
5875        };
5876    },
5877    createElementNS() {
5878        return {};
5879    },
5880    importNode() {
5881        return null;
5882    },
5883    location: {
5884        hash: '',
5885        host: '',
5886        hostname: '',
5887        href: '',
5888        origin: '',
5889        pathname: '',
5890        protocol: '',
5891        search: '',
5892    },
5893};
5894function getDocument() {
5895    const doc = typeof document !== 'undefined' ? document : {};
5896    extend(doc, ssrDocument);
5897    return doc;
5898}
5899
5900const ssrWindow = {
5901    document: ssrDocument,
5902    navigator: {
5903        userAgent: '',
5904    },
5905    location: {
5906        hash: '',
5907        host: '',
5908        hostname: '',
5909        href: '',
5910        origin: '',
5911        pathname: '',
5912        protocol: '',
5913        search: '',
5914    },
5915    history: {
5916        replaceState() { },
5917        pushState() { },
5918        go() { },
5919        back() { },
5920    },
5921    CustomEvent: function CustomEvent() {
5922        return this;
5923    },
5924    addEventListener() { },
5925    removeEventListener() { },
5926    getComputedStyle() {
5927        return {
5928            getPropertyValue() {
5929                return '';
5930            },
5931        };
5932    },
5933    Image() { },
5934    Date() { },
5935    screen: {},
5936    setTimeout() { },
5937    clearTimeout() { },
5938    matchMedia() {
5939        return {};
5940    },
5941    requestAnimationFrame(callback) {
5942        if (typeof setTimeout === 'undefined') {
5943            callback();
5944            return null;
5945        }
5946        return setTimeout(callback, 0);
5947    },
5948    cancelAnimationFrame(id) {
5949        if (typeof setTimeout === 'undefined') {
5950            return;
5951        }
5952        clearTimeout(id);
5953    },
5954};
5955function getWindow() {
5956    const win = typeof window !== 'undefined' ? window : {};
5957    extend(win, ssrWindow);
5958    return win;
5959}
5960
5961
5962
5963
5964/***/ }),
5965
vendor: 1,852 bytes, lines 5966-6020
5966/***/ "./node_modules/swiper/core/breakpoints/getBreakpoint.js":
5967/*!***************************************************************!*\
5968  !*** ./node_modules/swiper/core/breakpoints/getBreakpoint.js ***!
5969  \***************************************************************/
5970/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
5971
5972"use strict";
5973__webpack_require__.r(__webpack_exports__);
5974/* harmony export */ __webpack_require__.d(__webpack_exports__, {
5975/* harmony export */   "default": () => (/* binding */ getBreakpoint)
5976/* harmony export */ });
5977/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
5978
5979function getBreakpoint(breakpoints, base = 'window', containerEl) {
5980  if (!breakpoints || base === 'container' && !containerEl) return undefined;
5981  let breakpoint = false;
5982  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
5983  const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;
5984  const points = Object.keys(breakpoints).map(point => {
5985    if (typeof point === 'string' && point.indexOf('@') === 0) {
5986      const minRatio = parseFloat(point.substr(1));
5987      const value = currentHeight * minRatio;
5988      return {
5989        value,
5990        point
5991      };
5992    }
5993
5994    return {
5995      value: point,
5996      point
5997    };
5998  });
5999  points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
6000
6001  for (let i = 0; i < points.length; i += 1) {
6002    const {
6003      point,
6004      value
6005    } = points[i];
6006
6007    if (base === 'window') {
6008      if (window.matchMedia(`(min-width: ${value}px)`).matches) {
6009        breakpoint = point;
6010      }
6011    } else if (value <= containerEl.clientWidth) {
6012      breakpoint = point;
6013    }
6014  }
6015
6016  return breakpoint || 'max';
6017}
6018
6019/***/ }),
6020
vendor: 1,146 bytes, lines 6021-6042
6021/***/ "./node_modules/swiper/core/breakpoints/index.js":
6022/*!*******************************************************!*\
6023  !*** ./node_modules/swiper/core/breakpoints/index.js ***!
6024  \*******************************************************/
6025/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6026
6027"use strict";
6028__webpack_require__.r(__webpack_exports__);
6029/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6030/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6031/* harmony export */ });
6032/* harmony import */ var _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setBreakpoint.js */ "./node_modules/swiper/core/breakpoints/setBreakpoint.js");
6033/* harmony import */ var _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getBreakpoint.js */ "./node_modules/swiper/core/breakpoints/getBreakpoint.js");
6034
6035
6036/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
6037  setBreakpoint: _setBreakpoint_js__WEBPACK_IMPORTED_MODULE_0__["default"],
6038  getBreakpoint: _getBreakpoint_js__WEBPACK_IMPORTED_MODULE_1__["default"]
6039});
6040
6041/***/ }),
6042
vendor: 3,316 bytes, lines 6043-6129
6043/***/ "./node_modules/swiper/core/breakpoints/setBreakpoint.js":
6044/*!***************************************************************!*\
6045  !*** ./node_modules/swiper/core/breakpoints/setBreakpoint.js ***!
6046  \***************************************************************/
6047/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6048
6049"use strict";
6050__webpack_require__.r(__webpack_exports__);
6051/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6052/* harmony export */   "default": () => (/* binding */ setBreakpoint)
6053/* harmony export */ });
6054/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
6055
6056
6057const isGridEnabled = (swiper, params) => {
6058  return swiper.grid && params.grid && params.grid.rows > 1;
6059};
6060
6061function setBreakpoint() {
6062  const swiper = this;
6063  const {
6064    activeIndex,
6065    initialized,
6066    loopedSlides = 0,
6067    params,
6068    $el
6069  } = swiper;
6070  const breakpoints = params.breakpoints;
6071  if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters
6072
6073  const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);
6074  if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
6075  const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
6076  const breakpointParams = breakpointOnlyParams || swiper.originalParams;
6077  const wasMultiRow = isGridEnabled(swiper, params);
6078  const isMultiRow = isGridEnabled(swiper, breakpointParams);
6079  const wasEnabled = params.enabled;
6080
6081  if (wasMultiRow && !isMultiRow) {
6082    $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);
6083    swiper.emitContainerClasses();
6084  } else if (!wasMultiRow && isMultiRow) {
6085    $el.addClass(`${params.containerModifierClass}grid`);
6086
6087    if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {
6088      $el.addClass(`${params.containerModifierClass}grid-column`);
6089    }
6090
6091    swiper.emitContainerClasses();
6092  }
6093
6094  const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;
6095  const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);
6096
6097  if (directionChanged && initialized) {
6098    swiper.changeDirection();
6099  }
6100
6101  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(swiper.params, breakpointParams);
6102  const isEnabled = swiper.params.enabled;
6103  Object.assign(swiper, {
6104    allowTouchMove: swiper.params.allowTouchMove,
6105    allowSlideNext: swiper.params.allowSlideNext,
6106    allowSlidePrev: swiper.params.allowSlidePrev
6107  });
6108
6109  if (wasEnabled && !isEnabled) {
6110    swiper.disable();
6111  } else if (!wasEnabled && isEnabled) {
6112    swiper.enable();
6113  }
6114
6115  swiper.currentBreakpoint = breakpoint;
6116  swiper.emit('_beforeBreakpoint', breakpointParams);
6117
6118  if (needsReLoop && initialized) {
6119    swiper.loopDestroy();
6120    swiper.loopCreate();
6121    swiper.updateSlides();
6122    swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);
6123  }
6124
6125  swiper.emit('breakpoint', breakpointParams);
6126}
6127
6128/***/ }),
6129
vendor: 1,521 bytes, lines 6130-6181
6130/***/ "./node_modules/swiper/core/check-overflow/index.js":
6131/*!**********************************************************!*\
6132  !*** ./node_modules/swiper/core/check-overflow/index.js ***!
6133  \**********************************************************/
6134/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6135
6136"use strict";
6137__webpack_require__.r(__webpack_exports__);
6138/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6139/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6140/* harmony export */ });
6141function checkOverflow() {
6142  const swiper = this;
6143  const {
6144    isLocked: wasLocked,
6145    params
6146  } = swiper;
6147  const {
6148    slidesOffsetBefore
6149  } = params;
6150
6151  if (slidesOffsetBefore) {
6152    const lastSlideIndex = swiper.slides.length - 1;
6153    const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;
6154    swiper.isLocked = swiper.size > lastSlideRightEdge;
6155  } else {
6156    swiper.isLocked = swiper.snapGrid.length === 1;
6157  }
6158
6159  if (params.allowSlideNext === true) {
6160    swiper.allowSlideNext = !swiper.isLocked;
6161  }
6162
6163  if (params.allowSlidePrev === true) {
6164    swiper.allowSlidePrev = !swiper.isLocked;
6165  }
6166
6167  if (wasLocked && wasLocked !== swiper.isLocked) {
6168    swiper.isEnd = false;
6169  }
6170
6171  if (wasLocked !== swiper.isLocked) {
6172    swiper.emit(swiper.isLocked ? 'lock' : 'unlock');
6173  }
6174}
6175
6176/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
6177  checkOverflow
6178});
6179
6180/***/ }),
6181
vendor: 1,845 bytes, lines 6182-6247
6182/***/ "./node_modules/swiper/core/classes/addClasses.js":
6183/*!********************************************************!*\
6184  !*** ./node_modules/swiper/core/classes/addClasses.js ***!
6185  \********************************************************/
6186/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6187
6188"use strict";
6189__webpack_require__.r(__webpack_exports__);
6190/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6191/* harmony export */   "default": () => (/* binding */ addClasses)
6192/* harmony export */ });
6193function prepareClasses(entries, prefix) {
6194  const resultClasses = [];
6195  entries.forEach(item => {
6196    if (typeof item === 'object') {
6197      Object.keys(item).forEach(classNames => {
6198        if (item[classNames]) {
6199          resultClasses.push(prefix + classNames);
6200        }
6201      });
6202    } else if (typeof item === 'string') {
6203      resultClasses.push(prefix + item);
6204    }
6205  });
6206  return resultClasses;
6207}
6208
6209function addClasses() {
6210  const swiper = this;
6211  const {
6212    classNames,
6213    params,
6214    rtl,
6215    $el,
6216    device,
6217    support
6218  } = swiper; // prettier-ignore
6219
6220  const suffixes = prepareClasses(['initialized', params.direction, {
6221    'pointer-events': !support.touch
6222  }, {
6223    'free-mode': swiper.params.freeMode && params.freeMode.enabled
6224  }, {
6225    'autoheight': params.autoHeight
6226  }, {
6227    'rtl': rtl
6228  }, {
6229    'grid': params.grid && params.grid.rows > 1
6230  }, {
6231    'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
6232  }, {
6233    'android': device.android
6234  }, {
6235    'ios': device.ios
6236  }, {
6237    'css-mode': params.cssMode
6238  }, {
6239    'centered': params.cssMode && params.centeredSlides
6240  }], params.containerModifierClass);
6241  classNames.push(...suffixes);
6242  $el.addClass([...classNames].join(' '));
6243  swiper.emitContainerClasses();
6244}
6245
6246/***/ }),
6247
vendor: 1,107 bytes, lines 6248-6269
6248/***/ "./node_modules/swiper/core/classes/index.js":
6249/*!***************************************************!*\
6250  !*** ./node_modules/swiper/core/classes/index.js ***!
6251  \***************************************************/
6252/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6253
6254"use strict";
6255__webpack_require__.r(__webpack_exports__);
6256/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6257/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6258/* harmony export */ });
6259/* harmony import */ var _addClasses_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./addClasses.js */ "./node_modules/swiper/core/classes/addClasses.js");
6260/* harmony import */ var _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./removeClasses.js */ "./node_modules/swiper/core/classes/removeClasses.js");
6261
6262
6263/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
6264  addClasses: _addClasses_js__WEBPACK_IMPORTED_MODULE_0__["default"],
6265  removeClasses: _removeClasses_js__WEBPACK_IMPORTED_MODULE_1__["default"]
6266});
6267
6268/***/ }),
6269
vendor: 753 bytes, lines 6270-6292
6270/***/ "./node_modules/swiper/core/classes/removeClasses.js":
6271/*!***********************************************************!*\
6272  !*** ./node_modules/swiper/core/classes/removeClasses.js ***!
6273  \***********************************************************/
6274/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6275
6276"use strict";
6277__webpack_require__.r(__webpack_exports__);
6278/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6279/* harmony export */   "default": () => (/* binding */ removeClasses)
6280/* harmony export */ });
6281function removeClasses() {
6282  const swiper = this;
6283  const {
6284    $el,
6285    classNames
6286  } = swiper;
6287  $el.removeClass(classNames.join(' '));
6288  swiper.emitContainerClasses();
6289}
6290
6291/***/ }),
6292
vendor: 21,809 bytes, lines 6293-6938
6293/***/ "./node_modules/swiper/core/core.js":
6294/*!******************************************!*\
6295  !*** ./node_modules/swiper/core/core.js ***!
6296  \******************************************/
6297/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6298
6299"use strict";
6300__webpack_require__.r(__webpack_exports__);
6301/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6302/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6303/* harmony export */ });
6304/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
6305/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
6306/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
6307/* harmony import */ var _shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../shared/get-support.js */ "./node_modules/swiper/shared/get-support.js");
6308/* harmony import */ var _shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../shared/get-device.js */ "./node_modules/swiper/shared/get-device.js");
6309/* harmony import */ var _shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../shared/get-browser.js */ "./node_modules/swiper/shared/get-browser.js");
6310/* harmony import */ var _modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/resize/resize.js */ "./node_modules/swiper/core/modules/resize/resize.js");
6311/* harmony import */ var _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/observer/observer.js */ "./node_modules/swiper/core/modules/observer/observer.js");
6312/* harmony import */ var _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./events-emitter.js */ "./node_modules/swiper/core/events-emitter.js");
6313/* harmony import */ var _update_index_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./update/index.js */ "./node_modules/swiper/core/update/index.js");
6314/* harmony import */ var _translate_index_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./translate/index.js */ "./node_modules/swiper/core/translate/index.js");
6315/* harmony import */ var _transition_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./transition/index.js */ "./node_modules/swiper/core/transition/index.js");
6316/* harmony import */ var _slide_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./slide/index.js */ "./node_modules/swiper/core/slide/index.js");
6317/* harmony import */ var _loop_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./loop/index.js */ "./node_modules/swiper/core/loop/index.js");
6318/* harmony import */ var _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./grab-cursor/index.js */ "./node_modules/swiper/core/grab-cursor/index.js");
6319/* harmony import */ var _events_index_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./events/index.js */ "./node_modules/swiper/core/events/index.js");
6320/* harmony import */ var _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./breakpoints/index.js */ "./node_modules/swiper/core/breakpoints/index.js");
6321/* harmony import */ var _classes_index_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./classes/index.js */ "./node_modules/swiper/core/classes/index.js");
6322/* harmony import */ var _images_index_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./images/index.js */ "./node_modules/swiper/core/images/index.js");
6323/* harmony import */ var _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./check-overflow/index.js */ "./node_modules/swiper/core/check-overflow/index.js");
6324/* harmony import */ var _defaults_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./defaults.js */ "./node_modules/swiper/core/defaults.js");
6325/* harmony import */ var _moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./moduleExtendParams.js */ "./node_modules/swiper/core/moduleExtendParams.js");
6326/* eslint no-param-reassign: "off" */
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349const prototypes = {
6350  eventsEmitter: _events_emitter_js__WEBPACK_IMPORTED_MODULE_8__["default"],
6351  update: _update_index_js__WEBPACK_IMPORTED_MODULE_9__["default"],
6352  translate: _translate_index_js__WEBPACK_IMPORTED_MODULE_10__["default"],
6353  transition: _transition_index_js__WEBPACK_IMPORTED_MODULE_11__["default"],
6354  slide: _slide_index_js__WEBPACK_IMPORTED_MODULE_12__["default"],
6355  loop: _loop_index_js__WEBPACK_IMPORTED_MODULE_13__["default"],
6356  grabCursor: _grab_cursor_index_js__WEBPACK_IMPORTED_MODULE_14__["default"],
6357  events: _events_index_js__WEBPACK_IMPORTED_MODULE_15__["default"],
6358  breakpoints: _breakpoints_index_js__WEBPACK_IMPORTED_MODULE_16__["default"],
6359  checkOverflow: _check_overflow_index_js__WEBPACK_IMPORTED_MODULE_19__["default"],
6360  classes: _classes_index_js__WEBPACK_IMPORTED_MODULE_17__["default"],
6361  images: _images_index_js__WEBPACK_IMPORTED_MODULE_18__["default"]
6362};
6363const extendedDefaults = {};
6364
6365class Swiper {
6366  constructor(...args) {
6367    let el;
6368    let params;
6369
6370    if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {
6371      params = args[0];
6372    } else {
6373      [el, params] = args;
6374    }
6375
6376    if (!params) params = {};
6377    params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params);
6378    if (el && !params.el) params.el = el;
6379
6380    if (params.el && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).length > 1) {
6381      const swipers = [];
6382      (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el).each(containerEl => {
6383        const newParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params, {
6384          el: containerEl
6385        });
6386        swipers.push(new Swiper(newParams));
6387      });
6388      return swipers;
6389    } // Swiper Instance
6390
6391
6392    const swiper = this;
6393    swiper.__swiper__ = true;
6394    swiper.support = (0,_shared_get_support_js__WEBPACK_IMPORTED_MODULE_3__.getSupport)();
6395    swiper.device = (0,_shared_get_device_js__WEBPACK_IMPORTED_MODULE_4__.getDevice)({
6396      userAgent: params.userAgent
6397    });
6398    swiper.browser = (0,_shared_get_browser_js__WEBPACK_IMPORTED_MODULE_5__.getBrowser)();
6399    swiper.eventsListeners = {};
6400    swiper.eventsAnyListeners = [];
6401    swiper.modules = [...swiper.__modules__];
6402
6403    if (params.modules && Array.isArray(params.modules)) {
6404      swiper.modules.push(...params.modules);
6405    }
6406
6407    const allModulesParams = {};
6408    swiper.modules.forEach(mod => {
6409      mod({
6410        swiper,
6411        extendParams: (0,_moduleExtendParams_js__WEBPACK_IMPORTED_MODULE_21__["default"])(params, allModulesParams),
6412        on: swiper.on.bind(swiper),
6413        once: swiper.once.bind(swiper),
6414        off: swiper.off.bind(swiper),
6415        emit: swiper.emit.bind(swiper)
6416      });
6417    }); // Extend defaults with modules params
6418
6419    const swiperParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"], allModulesParams); // Extend defaults with passed params
6420
6421    swiper.params = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiperParams, extendedDefaults, params);
6422    swiper.originalParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, swiper.params);
6423    swiper.passedParams = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)({}, params); // add event listeners
6424
6425    if (swiper.params && swiper.params.on) {
6426      Object.keys(swiper.params.on).forEach(eventName => {
6427        swiper.on(eventName, swiper.params.on[eventName]);
6428      });
6429    }
6430
6431    if (swiper.params && swiper.params.onAny) {
6432      swiper.onAny(swiper.params.onAny);
6433    } // Save Dom lib
6434
6435
6436    swiper.$ = _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"]; // Extend Swiper
6437
6438    Object.assign(swiper, {
6439      enabled: swiper.params.enabled,
6440      el,
6441      // Classes
6442      classNames: [],
6443      // Slides
6444      slides: (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(),
6445      slidesGrid: [],
6446      snapGrid: [],
6447      slidesSizesGrid: [],
6448
6449      // isDirection
6450      isHorizontal() {
6451        return swiper.params.direction === 'horizontal';
6452      },
6453
6454      isVertical() {
6455        return swiper.params.direction === 'vertical';
6456      },
6457
6458      // Indexes
6459      activeIndex: 0,
6460      realIndex: 0,
6461      //
6462      isBeginning: true,
6463      isEnd: false,
6464      // Props
6465      translate: 0,
6466      previousTranslate: 0,
6467      progress: 0,
6468      velocity: 0,
6469      animating: false,
6470      // Locks
6471      allowSlideNext: swiper.params.allowSlideNext,
6472      allowSlidePrev: swiper.params.allowSlidePrev,
6473      // Touch Events
6474      touchEvents: function touchEvents() {
6475        const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];
6476        const desktop = ['pointerdown', 'pointermove', 'pointerup'];
6477        swiper.touchEventsTouch = {
6478          start: touch[0],
6479          move: touch[1],
6480          end: touch[2],
6481          cancel: touch[3]
6482        };
6483        swiper.touchEventsDesktop = {
6484          start: desktop[0],
6485          move: desktop[1],
6486          end: desktop[2]
6487        };
6488        return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;
6489      }(),
6490      touchEventsData: {
6491        isTouched: undefined,
6492        isMoved: undefined,
6493        allowTouchCallbacks: undefined,
6494        touchStartTime: undefined,
6495        isScrolling: undefined,
6496        currentTranslate: undefined,
6497        startTranslate: undefined,
6498        allowThresholdMove: undefined,
6499        // Form elements to match
6500        focusableElements: swiper.params.focusableElements,
6501        // Last click time
6502        lastClickTime: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
6503        clickTimeout: undefined,
6504        // Velocities
6505        velocities: [],
6506        allowMomentumBounce: undefined,
6507        isTouchEvent: undefined,
6508        startMoving: undefined
6509      },
6510      // Clicks
6511      allowClick: true,
6512      // Touches
6513      allowTouchMove: swiper.params.allowTouchMove,
6514      touches: {
6515        startX: 0,
6516        startY: 0,
6517        currentX: 0,
6518        currentY: 0,
6519        diff: 0
6520      },
6521      // Images
6522      imagesToLoad: [],
6523      imagesLoaded: 0
6524    });
6525    swiper.emit('_swiper'); // Init
6526
6527    if (swiper.params.init) {
6528      swiper.init();
6529    } // Return app instance
6530
6531
6532    return swiper;
6533  }
6534
6535  enable() {
6536    const swiper = this;
6537    if (swiper.enabled) return;
6538    swiper.enabled = true;
6539
6540    if (swiper.params.grabCursor) {
6541      swiper.setGrabCursor();
6542    }
6543
6544    swiper.emit('enable');
6545  }
6546
6547  disable() {
6548    const swiper = this;
6549    if (!swiper.enabled) return;
6550    swiper.enabled = false;
6551
6552    if (swiper.params.grabCursor) {
6553      swiper.unsetGrabCursor();
6554    }
6555
6556    swiper.emit('disable');
6557  }
6558
6559  setProgress(progress, speed) {
6560    const swiper = this;
6561    progress = Math.min(Math.max(progress, 0), 1);
6562    const min = swiper.minTranslate();
6563    const max = swiper.maxTranslate();
6564    const current = (max - min) * progress + min;
6565    swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);
6566    swiper.updateActiveIndex();
6567    swiper.updateSlidesClasses();
6568  }
6569
6570  emitContainerClasses() {
6571    const swiper = this;
6572    if (!swiper.params._emitClasses || !swiper.el) return;
6573    const cls = swiper.el.className.split(' ').filter(className => {
6574      return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;
6575    });
6576    swiper.emit('_containerClasses', cls.join(' '));
6577  }
6578
6579  getSlideClasses(slideEl) {
6580    const swiper = this;
6581    return slideEl.className.split(' ').filter(className => {
6582      return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;
6583    }).join(' ');
6584  }
6585
6586  emitSlidesClasses() {
6587    const swiper = this;
6588    if (!swiper.params._emitClasses || !swiper.el) return;
6589    const updates = [];
6590    swiper.slides.each(slideEl => {
6591      const classNames = swiper.getSlideClasses(slideEl);
6592      updates.push({
6593        slideEl,
6594        classNames
6595      });
6596      swiper.emit('_slideClass', slideEl, classNames);
6597    });
6598    swiper.emit('_slideClasses', updates);
6599  }
6600
6601  slidesPerViewDynamic(view = 'current', exact = false) {
6602    const swiper = this;
6603    const {
6604      params,
6605      slides,
6606      slidesGrid,
6607      slidesSizesGrid,
6608      size: swiperSize,
6609      activeIndex
6610    } = swiper;
6611    let spv = 1;
6612
6613    if (params.centeredSlides) {
6614      let slideSize = slides[activeIndex].swiperSlideSize;
6615      let breakLoop;
6616
6617      for (let i = activeIndex + 1; i < slides.length; i += 1) {
6618        if (slides[i] && !breakLoop) {
6619          slideSize += slides[i].swiperSlideSize;
6620          spv += 1;
6621          if (slideSize > swiperSize) breakLoop = true;
6622        }
6623      }
6624
6625      for (let i = activeIndex - 1; i >= 0; i -= 1) {
6626        if (slides[i] && !breakLoop) {
6627          slideSize += slides[i].swiperSlideSize;
6628          spv += 1;
6629          if (slideSize > swiperSize) breakLoop = true;
6630        }
6631      }
6632    } else {
6633      // eslint-disable-next-line
6634      if (view === 'current') {
6635        for (let i = activeIndex + 1; i < slides.length; i += 1) {
6636          const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
6637
6638          if (slideInView) {
6639            spv += 1;
6640          }
6641        }
6642      } else {
6643        // previous
6644        for (let i = activeIndex - 1; i >= 0; i -= 1) {
6645          const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
6646
6647          if (slideInView) {
6648            spv += 1;
6649          }
6650        }
6651      }
6652    }
6653
6654    return spv;
6655  }
6656
6657  update() {
6658    const swiper = this;
6659    if (!swiper || swiper.destroyed) return;
6660    const {
6661      snapGrid,
6662      params
6663    } = swiper; // Breakpoints
6664
6665    if (params.breakpoints) {
6666      swiper.setBreakpoint();
6667    }
6668
6669    swiper.updateSize();
6670    swiper.updateSlides();
6671    swiper.updateProgress();
6672    swiper.updateSlidesClasses();
6673
6674    function setTranslate() {
6675      const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;
6676      const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());
6677      swiper.setTranslate(newTranslate);
6678      swiper.updateActiveIndex();
6679      swiper.updateSlidesClasses();
6680    }
6681
6682    let translated;
6683
6684    if (swiper.params.freeMode && swiper.params.freeMode.enabled) {
6685      setTranslate();
6686
6687      if (swiper.params.autoHeight) {
6688        swiper.updateAutoHeight();
6689      }
6690    } else {
6691      if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {
6692        translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
6693      } else {
6694        translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
6695      }
6696
6697      if (!translated) {
6698        setTranslate();
6699      }
6700    }
6701
6702    if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
6703      swiper.checkOverflow();
6704    }
6705
6706    swiper.emit('update');
6707  }
6708
6709  changeDirection(newDirection, needUpdate = true) {
6710    const swiper = this;
6711    const currentDirection = swiper.params.direction;
6712
6713    if (!newDirection) {
6714      // eslint-disable-next-line
6715      newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';
6716    }
6717
6718    if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {
6719      return swiper;
6720    }
6721
6722    swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);
6723    swiper.emitContainerClasses();
6724    swiper.params.direction = newDirection;
6725    swiper.slides.each(slideEl => {
6726      if (newDirection === 'vertical') {
6727        slideEl.style.width = '';
6728      } else {
6729        slideEl.style.height = '';
6730      }
6731    });
6732    swiper.emit('changeDirection');
6733    if (needUpdate) swiper.update();
6734    return swiper;
6735  }
6736
6737  mount(el) {
6738    const swiper = this;
6739    if (swiper.mounted) return true; // Find el
6740
6741    const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el || swiper.params.el);
6742    el = $el[0];
6743
6744    if (!el) {
6745      return false;
6746    }
6747
6748    el.swiper = swiper;
6749
6750    const getWrapperSelector = () => {
6751      return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;
6752    };
6753
6754    const getWrapper = () => {
6755      if (el && el.shadowRoot && el.shadowRoot.querySelector) {
6756        const res = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items
6757
6758        res.children = options => $el.children(options);
6759
6760        return res;
6761      }
6762
6763      return $el.children(getWrapperSelector());
6764    }; // Find Wrapper
6765
6766
6767    let $wrapperEl = getWrapper();
6768
6769    if ($wrapperEl.length === 0 && swiper.params.createElements) {
6770      const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
6771      const wrapper = document.createElement('div');
6772      $wrapperEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(wrapper);
6773      wrapper.className = swiper.params.wrapperClass;
6774      $el.append(wrapper);
6775      $el.children(`.${swiper.params.slideClass}`).each(slideEl => {
6776        $wrapperEl.append(slideEl);
6777      });
6778    }
6779
6780    Object.assign(swiper, {
6781      $el,
6782      el,
6783      $wrapperEl,
6784      wrapperEl: $wrapperEl[0],
6785      mounted: true,
6786      // RTL
6787      rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',
6788      rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),
6789      wrongRTL: $wrapperEl.css('display') === '-webkit-box'
6790    });
6791    return true;
6792  }
6793
6794  init(el) {
6795    const swiper = this;
6796    if (swiper.initialized) return swiper;
6797    const mounted = swiper.mount(el);
6798    if (mounted === false) return swiper;
6799    swiper.emit('beforeInit'); // Set breakpoint
6800
6801    if (swiper.params.breakpoints) {
6802      swiper.setBreakpoint();
6803    } // Add Classes
6804
6805
6806    swiper.addClasses(); // Create loop
6807
6808    if (swiper.params.loop) {
6809      swiper.loopCreate();
6810    } // Update size
6811
6812
6813    swiper.updateSize(); // Update slides
6814
6815    swiper.updateSlides();
6816
6817    if (swiper.params.watchOverflow) {
6818      swiper.checkOverflow();
6819    } // Set Grab Cursor
6820
6821
6822    if (swiper.params.grabCursor && swiper.enabled) {
6823      swiper.setGrabCursor();
6824    }
6825
6826    if (swiper.params.preloadImages) {
6827      swiper.preloadImages();
6828    } // Slide To Initial Slide
6829
6830
6831    if (swiper.params.loop) {
6832      swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);
6833    } else {
6834      swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);
6835    } // Attach events
6836
6837
6838    swiper.attachEvents(); // Init Flag
6839
6840    swiper.initialized = true; // Emit
6841
6842    swiper.emit('init');
6843    swiper.emit('afterInit');
6844    return swiper;
6845  }
6846
6847  destroy(deleteInstance = true, cleanStyles = true) {
6848    const swiper = this;
6849    const {
6850      params,
6851      $el,
6852      $wrapperEl,
6853      slides
6854    } = swiper;
6855
6856    if (typeof swiper.params === 'undefined' || swiper.destroyed) {
6857      return null;
6858    }
6859
6860    swiper.emit('beforeDestroy'); // Init Flag
6861
6862    swiper.initialized = false; // Detach events
6863
6864    swiper.detachEvents(); // Destroy loop
6865
6866    if (params.loop) {
6867      swiper.loopDestroy();
6868    } // Cleanup styles
6869
6870
6871    if (cleanStyles) {
6872      swiper.removeClasses();
6873      $el.removeAttr('style');
6874      $wrapperEl.removeAttr('style');
6875
6876      if (slides && slides.length) {
6877        slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');
6878      }
6879    }
6880
6881    swiper.emit('destroy'); // Detach emitter events
6882
6883    Object.keys(swiper.eventsListeners).forEach(eventName => {
6884      swiper.off(eventName);
6885    });
6886
6887    if (deleteInstance !== false) {
6888      swiper.$el[0].swiper = null;
6889      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.deleteProps)(swiper);
6890    }
6891
6892    swiper.destroyed = true;
6893    return null;
6894  }
6895
6896  static extendDefaults(newDefaults) {
6897    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.extend)(extendedDefaults, newDefaults);
6898  }
6899
6900  static get extendedDefaults() {
6901    return extendedDefaults;
6902  }
6903
6904  static get defaults() {
6905    return _defaults_js__WEBPACK_IMPORTED_MODULE_20__["default"];
6906  }
6907
6908  static installModule(mod) {
6909    if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
6910    const modules = Swiper.prototype.__modules__;
6911
6912    if (typeof mod === 'function' && modules.indexOf(mod) < 0) {
6913      modules.push(mod);
6914    }
6915  }
6916
6917  static use(module) {
6918    if (Array.isArray(module)) {
6919      module.forEach(m => Swiper.installModule(m));
6920      return Swiper;
6921    }
6922
6923    Swiper.installModule(module);
6924    return Swiper;
6925  }
6926
6927}
6928
6929Object.keys(prototypes).forEach(prototypeGroup => {
6930  Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {
6931    Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
6932  });
6933});
6934Swiper.use([_modules_resize_resize_js__WEBPACK_IMPORTED_MODULE_6__["default"], _modules_observer_observer_js__WEBPACK_IMPORTED_MODULE_7__["default"]]);
6935/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Swiper);
6936
6937/***/ }),
6938
vendor: 3,698 bytes, lines 6939-7074
6939/***/ "./node_modules/swiper/core/defaults.js":
6940/*!**********************************************!*\
6941  !*** ./node_modules/swiper/core/defaults.js ***!
6942  \**********************************************/
6943/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
6944
6945"use strict";
6946__webpack_require__.r(__webpack_exports__);
6947/* harmony export */ __webpack_require__.d(__webpack_exports__, {
6948/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
6949/* harmony export */ });
6950/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
6951  init: true,
6952  direction: 'horizontal',
6953  touchEventsTarget: 'wrapper',
6954  initialSlide: 0,
6955  speed: 300,
6956  cssMode: false,
6957  updateOnWindowResize: true,
6958  resizeObserver: true,
6959  nested: false,
6960  createElements: false,
6961  enabled: true,
6962  focusableElements: 'input, select, option, textarea, button, video, label',
6963  // Overrides
6964  width: null,
6965  height: null,
6966  //
6967  preventInteractionOnTransition: false,
6968  // ssr
6969  userAgent: null,
6970  url: null,
6971  // To support iOS's swipe-to-go-back gesture (when being used in-app).
6972  edgeSwipeDetection: false,
6973  edgeSwipeThreshold: 20,
6974  // Autoheight
6975  autoHeight: false,
6976  // Set wrapper width
6977  setWrapperSize: false,
6978  // Virtual Translate
6979  virtualTranslate: false,
6980  // Effects
6981  effect: 'slide',
6982  // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
6983  // Breakpoints
6984  breakpoints: undefined,
6985  breakpointsBase: 'window',
6986  // Slides grid
6987  spaceBetween: 0,
6988  slidesPerView: 1,
6989  slidesPerGroup: 1,
6990  slidesPerGroupSkip: 0,
6991  slidesPerGroupAuto: false,
6992  centeredSlides: false,
6993  centeredSlidesBounds: false,
6994  slidesOffsetBefore: 0,
6995  // in px
6996  slidesOffsetAfter: 0,
6997  // in px
6998  normalizeSlideIndex: true,
6999  centerInsufficientSlides: false,
7000  // Disable swiper and hide navigation when container not overflow
7001  watchOverflow: true,
7002  // Round length
7003  roundLengths: false,
7004  // Touches
7005  touchRatio: 1,
7006  touchAngle: 45,
7007  simulateTouch: true,
7008  shortSwipes: true,
7009  longSwipes: true,
7010  longSwipesRatio: 0.5,
7011  longSwipesMs: 300,
7012  followFinger: true,
7013  allowTouchMove: true,
7014  threshold: 0,
7015  touchMoveStopPropagation: false,
7016  touchStartPreventDefault: true,
7017  touchStartForcePreventDefault: false,
7018  touchReleaseOnEdges: false,
7019  // Unique Navigation Elements
7020  uniqueNavElements: true,
7021  // Resistance
7022  resistance: true,
7023  resistanceRatio: 0.85,
7024  // Progress
7025  watchSlidesProgress: false,
7026  // Cursor
7027  grabCursor: false,
7028  // Clicks
7029  preventClicks: true,
7030  preventClicksPropagation: true,
7031  slideToClickedSlide: false,
7032  // Images
7033  preloadImages: true,
7034  updateOnImagesReady: true,
7035  // loop
7036  loop: false,
7037  loopAdditionalSlides: 0,
7038  loopedSlides: null,
7039  loopFillGroupWithBlank: false,
7040  loopPreventsSlide: true,
7041  // rewind
7042  rewind: false,
7043  // Swiping/no swiping
7044  allowSlidePrev: true,
7045  allowSlideNext: true,
7046  swipeHandler: null,
7047  // '.swipe-handler',
7048  noSwiping: true,
7049  noSwipingClass: 'swiper-no-swiping',
7050  noSwipingSelector: null,
7051  // Passive Listeners
7052  passiveListeners: true,
7053  // NS
7054  containerModifierClass: 'swiper-',
7055  // NEW
7056  slideClass: 'swiper-slide',
7057  slideBlankClass: 'swiper-slide-invisible-blank',
7058  slideActiveClass: 'swiper-slide-active',
7059  slideDuplicateActiveClass: 'swiper-slide-duplicate-active',
7060  slideVisibleClass: 'swiper-slide-visible',
7061  slideDuplicateClass: 'swiper-slide-duplicate',
7062  slideNextClass: 'swiper-slide-next',
7063  slideDuplicateNextClass: 'swiper-slide-duplicate-next',
7064  slidePrevClass: 'swiper-slide-prev',
7065  slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',
7066  wrapperClass: 'swiper-wrapper',
7067  // Callbacks
7068  runCallbacksOnInit: true,
7069  // Internals
7070  _emitClasses: false
7071});
7072
7073/***/ }),
7074
vendor: 3,523 bytes, lines 7075-7196
7075/***/ "./node_modules/swiper/core/events-emitter.js":
7076/*!****************************************************!*\
7077  !*** ./node_modules/swiper/core/events-emitter.js ***!
7078  \****************************************************/
7079/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7080
7081"use strict";
7082__webpack_require__.r(__webpack_exports__);
7083/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7084/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7085/* harmony export */ });
7086/* eslint-disable no-underscore-dangle */
7087/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
7088  on(events, handler, priority) {
7089    const self = this;
7090    if (typeof handler !== 'function') return self;
7091    const method = priority ? 'unshift' : 'push';
7092    events.split(' ').forEach(event => {
7093      if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
7094      self.eventsListeners[event][method](handler);
7095    });
7096    return self;
7097  },
7098
7099  once(events, handler, priority) {
7100    const self = this;
7101    if (typeof handler !== 'function') return self;
7102
7103    function onceHandler(...args) {
7104      self.off(events, onceHandler);
7105
7106      if (onceHandler.__emitterProxy) {
7107        delete onceHandler.__emitterProxy;
7108      }
7109
7110      handler.apply(self, args);
7111    }
7112
7113    onceHandler.__emitterProxy = handler;
7114    return self.on(events, onceHandler, priority);
7115  },
7116
7117  onAny(handler, priority) {
7118    const self = this;
7119    if (typeof handler !== 'function') return self;
7120    const method = priority ? 'unshift' : 'push';
7121
7122    if (self.eventsAnyListeners.indexOf(handler) < 0) {
7123      self.eventsAnyListeners[method](handler);
7124    }
7125
7126    return self;
7127  },
7128
7129  offAny(handler) {
7130    const self = this;
7131    if (!self.eventsAnyListeners) return self;
7132    const index = self.eventsAnyListeners.indexOf(handler);
7133
7134    if (index >= 0) {
7135      self.eventsAnyListeners.splice(index, 1);
7136    }
7137
7138    return self;
7139  },
7140
7141  off(events, handler) {
7142    const self = this;
7143    if (!self.eventsListeners) return self;
7144    events.split(' ').forEach(event => {
7145      if (typeof handler === 'undefined') {
7146        self.eventsListeners[event] = [];
7147      } else if (self.eventsListeners[event]) {
7148        self.eventsListeners[event].forEach((eventHandler, index) => {
7149          if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {
7150            self.eventsListeners[event].splice(index, 1);
7151          }
7152        });
7153      }
7154    });
7155    return self;
7156  },
7157
7158  emit(...args) {
7159    const self = this;
7160    if (!self.eventsListeners) return self;
7161    let events;
7162    let data;
7163    let context;
7164
7165    if (typeof args[0] === 'string' || Array.isArray(args[0])) {
7166      events = args[0];
7167      data = args.slice(1, args.length);
7168      context = self;
7169    } else {
7170      events = args[0].events;
7171      data = args[0].data;
7172      context = args[0].context || self;
7173    }
7174
7175    data.unshift(context);
7176    const eventsArray = Array.isArray(events) ? events : events.split(' ');
7177    eventsArray.forEach(event => {
7178      if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
7179        self.eventsAnyListeners.forEach(eventHandler => {
7180          eventHandler.apply(context, [event, ...data]);
7181        });
7182      }
7183
7184      if (self.eventsListeners && self.eventsListeners[event]) {
7185        self.eventsListeners[event].forEach(eventHandler => {
7186          eventHandler.apply(context, data);
7187        });
7188      }
7189    });
7190    return self;
7191  }
7192
7193});
7194
7195/***/ }),
7196
vendor: 4,561 bytes, lines 7197-7314
7197/***/ "./node_modules/swiper/core/events/index.js":
7198/*!**************************************************!*\
7199  !*** ./node_modules/swiper/core/events/index.js ***!
7200  \**************************************************/
7201/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7202
7203"use strict";
7204__webpack_require__.r(__webpack_exports__);
7205/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7206/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7207/* harmony export */ });
7208/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
7209/* harmony import */ var _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./onTouchStart.js */ "./node_modules/swiper/core/events/onTouchStart.js");
7210/* harmony import */ var _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onTouchMove.js */ "./node_modules/swiper/core/events/onTouchMove.js");
7211/* harmony import */ var _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./onTouchEnd.js */ "./node_modules/swiper/core/events/onTouchEnd.js");
7212/* harmony import */ var _onResize_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./onResize.js */ "./node_modules/swiper/core/events/onResize.js");
7213/* harmony import */ var _onClick_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./onClick.js */ "./node_modules/swiper/core/events/onClick.js");
7214/* harmony import */ var _onScroll_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./onScroll.js */ "./node_modules/swiper/core/events/onScroll.js");
7215
7216
7217
7218
7219
7220
7221
7222let dummyEventAttached = false;
7223
7224function dummyEventListener() {}
7225
7226const events = (swiper, method) => {
7227  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
7228  const {
7229    params,
7230    touchEvents,
7231    el,
7232    wrapperEl,
7233    device,
7234    support
7235  } = swiper;
7236  const capture = !!params.nested;
7237  const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
7238  const swiperMethod = method; // Touch Events
7239
7240  if (!support.touch) {
7241    el[domMethod](touchEvents.start, swiper.onTouchStart, false);
7242    document[domMethod](touchEvents.move, swiper.onTouchMove, capture);
7243    document[domMethod](touchEvents.end, swiper.onTouchEnd, false);
7244  } else {
7245    const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {
7246      passive: true,
7247      capture: false
7248    } : false;
7249    el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);
7250    el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {
7251      passive: false,
7252      capture
7253    } : capture);
7254    el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);
7255
7256    if (touchEvents.cancel) {
7257      el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);
7258    }
7259  } // Prevent Links Clicks
7260
7261
7262  if (params.preventClicks || params.preventClicksPropagation) {
7263    el[domMethod]('click', swiper.onClick, true);
7264  }
7265
7266  if (params.cssMode) {
7267    wrapperEl[domMethod]('scroll', swiper.onScroll);
7268  } // Resize handler
7269
7270
7271  if (params.updateOnWindowResize) {
7272    swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
7273  } else {
7274    swiper[swiperMethod]('observerUpdate', _onResize_js__WEBPACK_IMPORTED_MODULE_4__["default"], true);
7275  }
7276};
7277
7278function attachEvents() {
7279  const swiper = this;
7280  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
7281  const {
7282    params,
7283    support
7284  } = swiper;
7285  swiper.onTouchStart = _onTouchStart_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper);
7286  swiper.onTouchMove = _onTouchMove_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper);
7287  swiper.onTouchEnd = _onTouchEnd_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper);
7288
7289  if (params.cssMode) {
7290    swiper.onScroll = _onScroll_js__WEBPACK_IMPORTED_MODULE_6__["default"].bind(swiper);
7291  }
7292
7293  swiper.onClick = _onClick_js__WEBPACK_IMPORTED_MODULE_5__["default"].bind(swiper);
7294
7295  if (support.touch && !dummyEventAttached) {
7296    document.addEventListener('touchstart', dummyEventListener);
7297    dummyEventAttached = true;
7298  }
7299
7300  events(swiper, 'on');
7301}
7302
7303function detachEvents() {
7304  const swiper = this;
7305  events(swiper, 'off');
7306}
7307
7308/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
7309  attachEvents,
7310  detachEvents
7311});
7312
7313/***/ }),
7314
vendor: 853 bytes, lines 7315-7341
7315/***/ "./node_modules/swiper/core/events/onClick.js":
7316/*!****************************************************!*\
7317  !*** ./node_modules/swiper/core/events/onClick.js ***!
7318  \****************************************************/
7319/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7320
7321"use strict";
7322__webpack_require__.r(__webpack_exports__);
7323/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7324/* harmony export */   "default": () => (/* binding */ onClick)
7325/* harmony export */ });
7326function onClick(e) {
7327  const swiper = this;
7328  if (!swiper.enabled) return;
7329
7330  if (!swiper.allowClick) {
7331    if (swiper.params.preventClicks) e.preventDefault();
7332
7333    if (swiper.params.preventClicksPropagation && swiper.animating) {
7334      e.stopPropagation();
7335      e.stopImmediatePropagation();
7336    }
7337  }
7338}
7339
7340/***/ }),
7341
vendor: 1,627 bytes, lines 7342-7398
7342/***/ "./node_modules/swiper/core/events/onResize.js":
7343/*!*****************************************************!*\
7344  !*** ./node_modules/swiper/core/events/onResize.js ***!
7345  \*****************************************************/
7346/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7347
7348"use strict";
7349__webpack_require__.r(__webpack_exports__);
7350/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7351/* harmony export */   "default": () => (/* binding */ onResize)
7352/* harmony export */ });
7353function onResize() {
7354  const swiper = this;
7355  const {
7356    params,
7357    el
7358  } = swiper;
7359  if (el && el.offsetWidth === 0) return; // Breakpoints
7360
7361  if (params.breakpoints) {
7362    swiper.setBreakpoint();
7363  } // Save locks
7364
7365
7366  const {
7367    allowSlideNext,
7368    allowSlidePrev,
7369    snapGrid
7370  } = swiper; // Disable locks on resize
7371
7372  swiper.allowSlideNext = true;
7373  swiper.allowSlidePrev = true;
7374  swiper.updateSize();
7375  swiper.updateSlides();
7376  swiper.updateSlidesClasses();
7377
7378  if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {
7379    swiper.slideTo(swiper.slides.length - 1, 0, false, true);
7380  } else {
7381    swiper.slideTo(swiper.activeIndex, 0, false, true);
7382  }
7383
7384  if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
7385    swiper.autoplay.run();
7386  } // Return locks after resize
7387
7388
7389  swiper.allowSlidePrev = allowSlidePrev;
7390  swiper.allowSlideNext = allowSlideNext;
7391
7392  if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
7393    swiper.checkOverflow();
7394  }
7395}
7396
7397/***/ }),
7398
vendor: 1,440 bytes, lines 7399-7447
7399/***/ "./node_modules/swiper/core/events/onScroll.js":
7400/*!*****************************************************!*\
7401  !*** ./node_modules/swiper/core/events/onScroll.js ***!
7402  \*****************************************************/
7403/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7404
7405"use strict";
7406__webpack_require__.r(__webpack_exports__);
7407/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7408/* harmony export */   "default": () => (/* binding */ onScroll)
7409/* harmony export */ });
7410function onScroll() {
7411  const swiper = this;
7412  const {
7413    wrapperEl,
7414    rtlTranslate,
7415    enabled
7416  } = swiper;
7417  if (!enabled) return;
7418  swiper.previousTranslate = swiper.translate;
7419
7420  if (swiper.isHorizontal()) {
7421    swiper.translate = -wrapperEl.scrollLeft;
7422  } else {
7423    swiper.translate = -wrapperEl.scrollTop;
7424  } // eslint-disable-next-line
7425
7426
7427  if (swiper.translate === -0) swiper.translate = 0;
7428  swiper.updateActiveIndex();
7429  swiper.updateSlidesClasses();
7430  let newProgress;
7431  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
7432
7433  if (translatesDiff === 0) {
7434    newProgress = 0;
7435  } else {
7436    newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
7437  }
7438
7439  if (newProgress !== swiper.progress) {
7440    swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);
7441  }
7442
7443  swiper.emit('setTranslate', swiper.translate, false);
7444}
7445
7446/***/ }),
7447
vendor: 4,848 bytes, lines 7448-7606
7448/***/ "./node_modules/swiper/core/events/onTouchEnd.js":
7449/*!*******************************************************!*\
7450  !*** ./node_modules/swiper/core/events/onTouchEnd.js ***!
7451  \*******************************************************/
7452/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7453
7454"use strict";
7455__webpack_require__.r(__webpack_exports__);
7456/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7457/* harmony export */   "default": () => (/* binding */ onTouchEnd)
7458/* harmony export */ });
7459/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
7460
7461function onTouchEnd(event) {
7462  const swiper = this;
7463  const data = swiper.touchEventsData;
7464  const {
7465    params,
7466    touches,
7467    rtlTranslate: rtl,
7468    slidesGrid,
7469    enabled
7470  } = swiper;
7471  if (!enabled) return;
7472  let e = event;
7473  if (e.originalEvent) e = e.originalEvent;
7474
7475  if (data.allowTouchCallbacks) {
7476    swiper.emit('touchEnd', e);
7477  }
7478
7479  data.allowTouchCallbacks = false;
7480
7481  if (!data.isTouched) {
7482    if (data.isMoved && params.grabCursor) {
7483      swiper.setGrabCursor(false);
7484    }
7485
7486    data.isMoved = false;
7487    data.startMoving = false;
7488    return;
7489  } // Return Grab Cursor
7490
7491
7492  if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
7493    swiper.setGrabCursor(false);
7494  } // Time diff
7495
7496
7497  const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
7498  const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click
7499
7500  if (swiper.allowClick) {
7501    const pathTree = e.path || e.composedPath && e.composedPath();
7502    swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);
7503    swiper.emit('tap click', e);
7504
7505    if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
7506      swiper.emit('doubleTap doubleClick', e);
7507    }
7508  }
7509
7510  data.lastClickTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
7511  (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
7512    if (!swiper.destroyed) swiper.allowClick = true;
7513  });
7514
7515  if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {
7516    data.isTouched = false;
7517    data.isMoved = false;
7518    data.startMoving = false;
7519    return;
7520  }
7521
7522  data.isTouched = false;
7523  data.isMoved = false;
7524  data.startMoving = false;
7525  let currentPos;
7526
7527  if (params.followFinger) {
7528    currentPos = rtl ? swiper.translate : -swiper.translate;
7529  } else {
7530    currentPos = -data.currentTranslate;
7531  }
7532
7533  if (params.cssMode) {
7534    return;
7535  }
7536
7537  if (swiper.params.freeMode && params.freeMode.enabled) {
7538    swiper.freeMode.onTouchEnd({
7539      currentPos
7540    });
7541    return;
7542  } // Find current slide
7543
7544
7545  let stopIndex = 0;
7546  let groupSize = swiper.slidesSizesGrid[0];
7547
7548  for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {
7549    const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
7550
7551    if (typeof slidesGrid[i + increment] !== 'undefined') {
7552      if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {
7553        stopIndex = i;
7554        groupSize = slidesGrid[i + increment] - slidesGrid[i];
7555      }
7556    } else if (currentPos >= slidesGrid[i]) {
7557      stopIndex = i;
7558      groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
7559    }
7560  } // Find current slide size
7561
7562
7563  const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
7564  const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
7565
7566  if (timeDiff > params.longSwipesMs) {
7567    // Long touches
7568    if (!params.longSwipes) {
7569      swiper.slideTo(swiper.activeIndex);
7570      return;
7571    }
7572
7573    if (swiper.swipeDirection === 'next') {
7574      if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
7575    }
7576
7577    if (swiper.swipeDirection === 'prev') {
7578      if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);
7579    }
7580  } else {
7581    // Short swipes
7582    if (!params.shortSwipes) {
7583      swiper.slideTo(swiper.activeIndex);
7584      return;
7585    }
7586
7587    const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);
7588
7589    if (!isNavButtonTarget) {
7590      if (swiper.swipeDirection === 'next') {
7591        swiper.slideTo(stopIndex + increment);
7592      }
7593
7594      if (swiper.swipeDirection === 'prev') {
7595        swiper.slideTo(stopIndex);
7596      }
7597    } else if (e.target === swiper.navigation.nextEl) {
7598      swiper.slideTo(stopIndex + increment);
7599    } else {
7600      swiper.slideTo(stopIndex);
7601    }
7602  }
7603}
7604
7605/***/ }),
7606
vendor: 7,731 bytes, lines 7607-7845
7607/***/ "./node_modules/swiper/core/events/onTouchMove.js":
7608/*!********************************************************!*\
7609  !*** ./node_modules/swiper/core/events/onTouchMove.js ***!
7610  \********************************************************/
7611/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7612
7613"use strict";
7614__webpack_require__.r(__webpack_exports__);
7615/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7616/* harmony export */   "default": () => (/* binding */ onTouchMove)
7617/* harmony export */ });
7618/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
7619/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
7620/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
7621
7622
7623
7624function onTouchMove(event) {
7625  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
7626  const swiper = this;
7627  const data = swiper.touchEventsData;
7628  const {
7629    params,
7630    touches,
7631    rtlTranslate: rtl,
7632    enabled
7633  } = swiper;
7634  if (!enabled) return;
7635  let e = event;
7636  if (e.originalEvent) e = e.originalEvent;
7637
7638  if (!data.isTouched) {
7639    if (data.startMoving && data.isScrolling) {
7640      swiper.emit('touchMoveOpposite', e);
7641    }
7642
7643    return;
7644  }
7645
7646  if (data.isTouchEvent && e.type !== 'touchmove') return;
7647  const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);
7648  const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;
7649  const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;
7650
7651  if (e.preventedByNestedSwiper) {
7652    touches.startX = pageX;
7653    touches.startY = pageY;
7654    return;
7655  }
7656
7657  if (!swiper.allowTouchMove) {
7658    // isMoved = true;
7659    swiper.allowClick = false;
7660
7661    if (data.isTouched) {
7662      Object.assign(touches, {
7663        startX: pageX,
7664        startY: pageY,
7665        currentX: pageX,
7666        currentY: pageY
7667      });
7668      data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
7669    }
7670
7671    return;
7672  }
7673
7674  if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
7675    if (swiper.isVertical()) {
7676      // Vertical
7677      if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {
7678        data.isTouched = false;
7679        data.isMoved = false;
7680        return;
7681      }
7682    } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {
7683      return;
7684    }
7685  }
7686
7687  if (data.isTouchEvent && document.activeElement) {
7688    if (e.target === document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).is(data.focusableElements)) {
7689      data.isMoved = true;
7690      swiper.allowClick = false;
7691      return;
7692    }
7693  }
7694
7695  if (data.allowTouchCallbacks) {
7696    swiper.emit('touchMove', e);
7697  }
7698
7699  if (e.targetTouches && e.targetTouches.length > 1) return;
7700  touches.currentX = pageX;
7701  touches.currentY = pageY;
7702  const diffX = touches.currentX - touches.startX;
7703  const diffY = touches.currentY - touches.startY;
7704  if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;
7705
7706  if (typeof data.isScrolling === 'undefined') {
7707    let touchAngle;
7708
7709    if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {
7710      data.isScrolling = false;
7711    } else {
7712      // eslint-disable-next-line
7713      if (diffX * diffX + diffY * diffY >= 25) {
7714        touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;
7715        data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;
7716      }
7717    }
7718  }
7719
7720  if (data.isScrolling) {
7721    swiper.emit('touchMoveOpposite', e);
7722  }
7723
7724  if (typeof data.startMoving === 'undefined') {
7725    if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {
7726      data.startMoving = true;
7727    }
7728  }
7729
7730  if (data.isScrolling) {
7731    data.isTouched = false;
7732    return;
7733  }
7734
7735  if (!data.startMoving) {
7736    return;
7737  }
7738
7739  swiper.allowClick = false;
7740
7741  if (!params.cssMode && e.cancelable) {
7742    e.preventDefault();
7743  }
7744
7745  if (params.touchMoveStopPropagation && !params.nested) {
7746    e.stopPropagation();
7747  }
7748
7749  if (!data.isMoved) {
7750    if (params.loop && !params.cssMode) {
7751      swiper.loopFix();
7752    }
7753
7754    data.startTranslate = swiper.getTranslate();
7755    swiper.setTransition(0);
7756
7757    if (swiper.animating) {
7758      swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');
7759    }
7760
7761    data.allowMomentumBounce = false; // Grab Cursor
7762
7763    if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {
7764      swiper.setGrabCursor(true);
7765    }
7766
7767    swiper.emit('sliderFirstMove', e);
7768  }
7769
7770  swiper.emit('sliderMove', e);
7771  data.isMoved = true;
7772  let diff = swiper.isHorizontal() ? diffX : diffY;
7773  touches.diff = diff;
7774  diff *= params.touchRatio;
7775  if (rtl) diff = -diff;
7776  swiper.swipeDirection = diff > 0 ? 'prev' : 'next';
7777  data.currentTranslate = diff + data.startTranslate;
7778  let disableParentSwiper = true;
7779  let resistanceRatio = params.resistanceRatio;
7780
7781  if (params.touchReleaseOnEdges) {
7782    resistanceRatio = 0;
7783  }
7784
7785  if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {
7786    disableParentSwiper = false;
7787    if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;
7788  } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
7789    disableParentSwiper = false;
7790    if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;
7791  }
7792
7793  if (disableParentSwiper) {
7794    e.preventedByNestedSwiper = true;
7795  } // Directions locks
7796
7797
7798  if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {
7799    data.currentTranslate = data.startTranslate;
7800  }
7801
7802  if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {
7803    data.currentTranslate = data.startTranslate;
7804  }
7805
7806  if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
7807    data.currentTranslate = data.startTranslate;
7808  } // Threshold
7809
7810
7811  if (params.threshold > 0) {
7812    if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
7813      if (!data.allowThresholdMove) {
7814        data.allowThresholdMove = true;
7815        touches.startX = touches.currentX;
7816        touches.startY = touches.currentY;
7817        data.currentTranslate = data.startTranslate;
7818        touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;
7819        return;
7820      }
7821    } else {
7822      data.currentTranslate = data.startTranslate;
7823      return;
7824    }
7825  }
7826
7827  if (!params.followFinger || params.cssMode) return; // Update active index in free mode
7828
7829  if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {
7830    swiper.updateActiveIndex();
7831    swiper.updateSlidesClasses();
7832  }
7833
7834  if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {
7835    swiper.freeMode.onTouchMove();
7836  } // Update progress
7837
7838
7839  swiper.updateProgress(data.currentTranslate); // Update translate
7840
7841  swiper.setTranslate(data.currentTranslate);
7842}
7843
7844/***/ }),
7845
vendor: 5,322 bytes, lines 7846-7976
7846/***/ "./node_modules/swiper/core/events/onTouchStart.js":
7847/*!*********************************************************!*\
7848  !*** ./node_modules/swiper/core/events/onTouchStart.js ***!
7849  \*********************************************************/
7850/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7851
7852"use strict";
7853__webpack_require__.r(__webpack_exports__);
7854/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7855/* harmony export */   "default": () => (/* binding */ onTouchStart)
7856/* harmony export */ });
7857/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
7858/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
7859/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
7860
7861
7862 // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd
7863
7864function closestElement(selector, base = this) {
7865  function __closestFrom(el) {
7866    if (!el || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)() || el === (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)()) return null;
7867    if (el.assignedSlot) el = el.assignedSlot;
7868    const found = el.closest(selector);
7869    return found || __closestFrom(el.getRootNode().host);
7870  }
7871
7872  return __closestFrom(base);
7873}
7874
7875function onTouchStart(event) {
7876  const swiper = this;
7877  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
7878  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
7879  const data = swiper.touchEventsData;
7880  const {
7881    params,
7882    touches,
7883    enabled
7884  } = swiper;
7885  if (!enabled) return;
7886
7887  if (swiper.animating && params.preventInteractionOnTransition) {
7888    return;
7889  }
7890
7891  if (!swiper.animating && params.cssMode && params.loop) {
7892    swiper.loopFix();
7893  }
7894
7895  let e = event;
7896  if (e.originalEvent) e = e.originalEvent;
7897  let $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target);
7898
7899  if (params.touchEventsTarget === 'wrapper') {
7900    if (!$targetEl.closest(swiper.wrapperEl).length) return;
7901  }
7902
7903  data.isTouchEvent = e.type === 'touchstart';
7904  if (!data.isTouchEvent && 'which' in e && e.which === 3) return;
7905  if (!data.isTouchEvent && 'button' in e && e.button > 0) return;
7906  if (data.isTouched && data.isMoved) return; // change target el for shadow root component
7907
7908  const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';
7909
7910  if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {
7911    $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(event.path[0]);
7912  }
7913
7914  const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;
7915  const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element
7916
7917  if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {
7918    swiper.allowClick = true;
7919    return;
7920  }
7921
7922  if (params.swipeHandler) {
7923    if (!$targetEl.closest(params.swipeHandler)[0]) return;
7924  }
7925
7926  touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
7927  touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
7928  const startX = touches.currentX;
7929  const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
7930
7931  const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
7932  const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
7933
7934  if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {
7935    if (edgeSwipeDetection === 'prevent') {
7936      event.preventDefault();
7937    } else {
7938      return;
7939    }
7940  }
7941
7942  Object.assign(data, {
7943    isTouched: true,
7944    isMoved: false,
7945    allowTouchCallbacks: true,
7946    isScrolling: undefined,
7947    startMoving: undefined
7948  });
7949  touches.startX = startX;
7950  touches.startY = startY;
7951  data.touchStartTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
7952  swiper.allowClick = true;
7953  swiper.updateSize();
7954  swiper.swipeDirection = undefined;
7955  if (params.threshold > 0) data.allowThresholdMove = false;
7956
7957  if (e.type !== 'touchstart') {
7958    let preventDefault = true;
7959    if ($targetEl.is(data.focusableElements)) preventDefault = false;
7960
7961    if (document.activeElement && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {
7962      document.activeElement.blur();
7963    }
7964
7965    const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;
7966
7967    if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {
7968      e.preventDefault();
7969    }
7970  }
7971
7972  swiper.emit('touchStart', e);
7973}
7974
7975/***/ }),
7976
vendor: 1,156 bytes, lines 7977-7998
7977/***/ "./node_modules/swiper/core/grab-cursor/index.js":
7978/*!*******************************************************!*\
7979  !*** ./node_modules/swiper/core/grab-cursor/index.js ***!
7980  \*******************************************************/
7981/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
7982
7983"use strict";
7984__webpack_require__.r(__webpack_exports__);
7985/* harmony export */ __webpack_require__.d(__webpack_exports__, {
7986/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
7987/* harmony export */ });
7988/* harmony import */ var _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js");
7989/* harmony import */ var _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./unsetGrabCursor.js */ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js");
7990
7991
7992/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
7993  setGrabCursor: _setGrabCursor_js__WEBPACK_IMPORTED_MODULE_0__["default"],
7994  unsetGrabCursor: _unsetGrabCursor_js__WEBPACK_IMPORTED_MODULE_1__["default"]
7995});
7996
7997/***/ }),
7998
vendor: 1,092 bytes, lines 7999-8021
7999/***/ "./node_modules/swiper/core/grab-cursor/setGrabCursor.js":
8000/*!***************************************************************!*\
8001  !*** ./node_modules/swiper/core/grab-cursor/setGrabCursor.js ***!
8002  \***************************************************************/
8003/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8004
8005"use strict";
8006__webpack_require__.r(__webpack_exports__);
8007/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8008/* harmony export */   "default": () => (/* binding */ setGrabCursor)
8009/* harmony export */ });
8010function setGrabCursor(moving) {
8011  const swiper = this;
8012  if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;
8013  const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;
8014  el.style.cursor = 'move';
8015  el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';
8016  el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';
8017  el.style.cursor = moving ? 'grabbing' : 'grab';
8018}
8019
8020/***/ }),
8021
vendor: 880 bytes, lines 8022-8044
8022/***/ "./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js":
8023/*!*****************************************************************!*\
8024  !*** ./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js ***!
8025  \*****************************************************************/
8026/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8027
8028"use strict";
8029__webpack_require__.r(__webpack_exports__);
8030/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8031/* harmony export */   "default": () => (/* binding */ unsetGrabCursor)
8032/* harmony export */ });
8033function unsetGrabCursor() {
8034  const swiper = this;
8035
8036  if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {
8037    return;
8038  }
8039
8040  swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';
8041}
8042
8043/***/ }),
8044
vendor: 1,096 bytes, lines 8045-8066
8045/***/ "./node_modules/swiper/core/images/index.js":
8046/*!**************************************************!*\
8047  !*** ./node_modules/swiper/core/images/index.js ***!
8048  \**************************************************/
8049/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8050
8051"use strict";
8052__webpack_require__.r(__webpack_exports__);
8053/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8054/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8055/* harmony export */ });
8056/* harmony import */ var _loadImage_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loadImage.js */ "./node_modules/swiper/core/images/loadImage.js");
8057/* harmony import */ var _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./preloadImages.js */ "./node_modules/swiper/core/images/preloadImages.js");
8058
8059
8060/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
8061  loadImage: _loadImage_js__WEBPACK_IMPORTED_MODULE_0__["default"],
8062  preloadImages: _preloadImages_js__WEBPACK_IMPORTED_MODULE_1__["default"]
8063});
8064
8065/***/ }),
8066
vendor: 1,644 bytes, lines 8067-8119
8067/***/ "./node_modules/swiper/core/images/loadImage.js":
8068/*!******************************************************!*\
8069  !*** ./node_modules/swiper/core/images/loadImage.js ***!
8070  \******************************************************/
8071/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8072
8073"use strict";
8074__webpack_require__.r(__webpack_exports__);
8075/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8076/* harmony export */   "default": () => (/* binding */ loadImage)
8077/* harmony export */ });
8078/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8079/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
8080
8081
8082function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {
8083  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
8084  let image;
8085
8086  function onReady() {
8087    if (callback) callback();
8088  }
8089
8090  const isPicture = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl).parent('picture')[0];
8091
8092  if (!isPicture && (!imageEl.complete || !checkForComplete)) {
8093    if (src) {
8094      image = new window.Image();
8095      image.onload = onReady;
8096      image.onerror = onReady;
8097
8098      if (sizes) {
8099        image.sizes = sizes;
8100      }
8101
8102      if (srcset) {
8103        image.srcset = srcset;
8104      }
8105
8106      if (src) {
8107        image.src = src;
8108      }
8109    } else {
8110      onReady();
8111    }
8112  } else {
8113    // image already loaded...
8114    onReady();
8115  }
8116}
8117
8118/***/ }),
8119
vendor: 1,338 bytes, lines 8120-8152
8120/***/ "./node_modules/swiper/core/images/preloadImages.js":
8121/*!**********************************************************!*\
8122  !*** ./node_modules/swiper/core/images/preloadImages.js ***!
8123  \**********************************************************/
8124/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8125
8126"use strict";
8127__webpack_require__.r(__webpack_exports__);
8128/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8129/* harmony export */   "default": () => (/* binding */ preloadImages)
8130/* harmony export */ });
8131function preloadImages() {
8132  const swiper = this;
8133  swiper.imagesToLoad = swiper.$el.find('img');
8134
8135  function onReady() {
8136    if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;
8137    if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;
8138
8139    if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
8140      if (swiper.params.updateOnImagesReady) swiper.update();
8141      swiper.emit('imagesReady');
8142    }
8143  }
8144
8145  for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {
8146    const imageEl = swiper.imagesToLoad[i];
8147    swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);
8148  }
8149}
8150
8151/***/ }),
8152
vendor: 1,299 bytes, lines 8153-8177
8153/***/ "./node_modules/swiper/core/loop/index.js":
8154/*!************************************************!*\
8155  !*** ./node_modules/swiper/core/loop/index.js ***!
8156  \************************************************/
8157/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8158
8159"use strict";
8160__webpack_require__.r(__webpack_exports__);
8161/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8162/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8163/* harmony export */ });
8164/* harmony import */ var _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./loopCreate.js */ "./node_modules/swiper/core/loop/loopCreate.js");
8165/* harmony import */ var _loopFix_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./loopFix.js */ "./node_modules/swiper/core/loop/loopFix.js");
8166/* harmony import */ var _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./loopDestroy.js */ "./node_modules/swiper/core/loop/loopDestroy.js");
8167
8168
8169
8170/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
8171  loopCreate: _loopCreate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
8172  loopFix: _loopFix_js__WEBPACK_IMPORTED_MODULE_1__["default"],
8173  loopDestroy: _loopDestroy_js__WEBPACK_IMPORTED_MODULE_2__["default"]
8174});
8175
8176/***/ }),
8177
vendor: 3,099 bytes, lines 8178-8252
8178/***/ "./node_modules/swiper/core/loop/loopCreate.js":
8179/*!*****************************************************!*\
8180  !*** ./node_modules/swiper/core/loop/loopCreate.js ***!
8181  \*****************************************************/
8182/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8183
8184"use strict";
8185__webpack_require__.r(__webpack_exports__);
8186/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8187/* harmony export */   "default": () => (/* binding */ loopCreate)
8188/* harmony export */ });
8189/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8190/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
8191
8192
8193function loopCreate() {
8194  const swiper = this;
8195  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
8196  const {
8197    params,
8198    $wrapperEl
8199  } = swiper; // Remove duplicated slides
8200
8201  const $selector = $wrapperEl.children().length > 0 ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])($wrapperEl.children()[0].parentNode) : $wrapperEl;
8202  $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();
8203  let slides = $selector.children(`.${params.slideClass}`);
8204
8205  if (params.loopFillGroupWithBlank) {
8206    const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;
8207
8208    if (blankSlidesNum !== params.slidesPerGroup) {
8209      for (let i = 0; i < blankSlidesNum; i += 1) {
8210        const blankNode = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);
8211        $selector.append(blankNode);
8212      }
8213
8214      slides = $selector.children(`.${params.slideClass}`);
8215    }
8216  }
8217
8218  if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;
8219  swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));
8220  swiper.loopedSlides += params.loopAdditionalSlides;
8221
8222  if (swiper.loopedSlides > slides.length) {
8223    swiper.loopedSlides = slides.length;
8224  }
8225
8226  const prependSlides = [];
8227  const appendSlides = [];
8228  slides.each((el, index) => {
8229    const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el);
8230
8231    if (index < swiper.loopedSlides) {
8232      appendSlides.push(el);
8233    }
8234
8235    if (index < slides.length && index >= slides.length - swiper.loopedSlides) {
8236      prependSlides.push(el);
8237    }
8238
8239    slide.attr('data-swiper-slide-index', index);
8240  });
8241
8242  for (let i = 0; i < appendSlides.length; i += 1) {
8243    $selector.append((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));
8244  }
8245
8246  for (let i = prependSlides.length - 1; i >= 0; i -= 1) {
8247    $selector.prepend((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));
8248  }
8249}
8250
8251/***/ }),
8252
vendor: 853 bytes, lines 8253-8276
8253/***/ "./node_modules/swiper/core/loop/loopDestroy.js":
8254/*!******************************************************!*\
8255  !*** ./node_modules/swiper/core/loop/loopDestroy.js ***!
8256  \******************************************************/
8257/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8258
8259"use strict";
8260__webpack_require__.r(__webpack_exports__);
8261/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8262/* harmony export */   "default": () => (/* binding */ loopDestroy)
8263/* harmony export */ });
8264function loopDestroy() {
8265  const swiper = this;
8266  const {
8267    $wrapperEl,
8268    params,
8269    slides
8270  } = swiper;
8271  $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();
8272  slides.removeAttr('data-swiper-slide-index');
8273}
8274
8275/***/ }),
8276
vendor: 1,791 bytes, lines 8277-8331
8277/***/ "./node_modules/swiper/core/loop/loopFix.js":
8278/*!**************************************************!*\
8279  !*** ./node_modules/swiper/core/loop/loopFix.js ***!
8280  \**************************************************/
8281/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8282
8283"use strict";
8284__webpack_require__.r(__webpack_exports__);
8285/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8286/* harmony export */   "default": () => (/* binding */ loopFix)
8287/* harmony export */ });
8288function loopFix() {
8289  const swiper = this;
8290  swiper.emit('beforeLoopFix');
8291  const {
8292    activeIndex,
8293    slides,
8294    loopedSlides,
8295    allowSlidePrev,
8296    allowSlideNext,
8297    snapGrid,
8298    rtlTranslate: rtl
8299  } = swiper;
8300  let newIndex;
8301  swiper.allowSlidePrev = true;
8302  swiper.allowSlideNext = true;
8303  const snapTranslate = -snapGrid[activeIndex];
8304  const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding
8305
8306  if (activeIndex < loopedSlides) {
8307    newIndex = slides.length - loopedSlides * 3 + activeIndex;
8308    newIndex += loopedSlides;
8309    const slideChanged = swiper.slideTo(newIndex, 0, false, true);
8310
8311    if (slideChanged && diff !== 0) {
8312      swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
8313    }
8314  } else if (activeIndex >= slides.length - loopedSlides) {
8315    // Fix For Positive Oversliding
8316    newIndex = -slides.length + activeIndex + loopedSlides;
8317    newIndex += loopedSlides;
8318    const slideChanged = swiper.slideTo(newIndex, 0, false, true);
8319
8320    if (slideChanged && diff !== 0) {
8321      swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);
8322    }
8323  }
8324
8325  swiper.allowSlidePrev = allowSlidePrev;
8326  swiper.allowSlideNext = allowSlideNext;
8327  swiper.emit('loopFix');
8328}
8329
8330/***/ }),
8331
vendor: 1,921 bytes, lines 8332-8384
8332/***/ "./node_modules/swiper/core/moduleExtendParams.js":
8333/*!********************************************************!*\
8334  !*** ./node_modules/swiper/core/moduleExtendParams.js ***!
8335  \********************************************************/
8336/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8337
8338"use strict";
8339__webpack_require__.r(__webpack_exports__);
8340/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8341/* harmony export */   "default": () => (/* binding */ moduleExtendParams)
8342/* harmony export */ });
8343/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8344
8345function moduleExtendParams(params, allModulesParams) {
8346  return function extendParams(obj = {}) {
8347    const moduleParamName = Object.keys(obj)[0];
8348    const moduleParams = obj[moduleParamName];
8349
8350    if (typeof moduleParams !== 'object' || moduleParams === null) {
8351      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
8352      return;
8353    }
8354
8355    if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {
8356      params[moduleParamName] = {
8357        auto: true
8358      };
8359    }
8360
8361    if (!(moduleParamName in params && 'enabled' in moduleParams)) {
8362      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
8363      return;
8364    }
8365
8366    if (params[moduleParamName] === true) {
8367      params[moduleParamName] = {
8368        enabled: true
8369      };
8370    }
8371
8372    if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {
8373      params[moduleParamName].enabled = true;
8374    }
8375
8376    if (!params[moduleParamName]) params[moduleParamName] = {
8377      enabled: false
8378    };
8379    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.extend)(allModulesParams, obj);
8380  };
8381}
8382
8383/***/ }),
8384
vendor: 2,772 bytes, lines 8385-8474
8385/***/ "./node_modules/swiper/core/modules/observer/observer.js":
8386/*!***************************************************************!*\
8387  !*** ./node_modules/swiper/core/modules/observer/observer.js ***!
8388  \***************************************************************/
8389/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8390
8391"use strict";
8392__webpack_require__.r(__webpack_exports__);
8393/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8394/* harmony export */   "default": () => (/* binding */ Observer)
8395/* harmony export */ });
8396/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8397
8398function Observer({
8399  swiper,
8400  extendParams,
8401  on,
8402  emit
8403}) {
8404  const observers = [];
8405  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
8406
8407  const attach = (target, options = {}) => {
8408    const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;
8409    const observer = new ObserverFunc(mutations => {
8410      // The observerUpdate event should only be triggered
8411      // once despite the number of mutations.  Additional
8412      // triggers are redundant and are very costly
8413      if (mutations.length === 1) {
8414        emit('observerUpdate', mutations[0]);
8415        return;
8416      }
8417
8418      const observerUpdate = function observerUpdate() {
8419        emit('observerUpdate', mutations[0]);
8420      };
8421
8422      if (window.requestAnimationFrame) {
8423        window.requestAnimationFrame(observerUpdate);
8424      } else {
8425        window.setTimeout(observerUpdate, 0);
8426      }
8427    });
8428    observer.observe(target, {
8429      attributes: typeof options.attributes === 'undefined' ? true : options.attributes,
8430      childList: typeof options.childList === 'undefined' ? true : options.childList,
8431      characterData: typeof options.characterData === 'undefined' ? true : options.characterData
8432    });
8433    observers.push(observer);
8434  };
8435
8436  const init = () => {
8437    if (!swiper.params.observer) return;
8438
8439    if (swiper.params.observeParents) {
8440      const containerParents = swiper.$el.parents();
8441
8442      for (let i = 0; i < containerParents.length; i += 1) {
8443        attach(containerParents[i]);
8444      }
8445    } // Observe container
8446
8447
8448    attach(swiper.$el[0], {
8449      childList: swiper.params.observeSlideChildren
8450    }); // Observe wrapper
8451
8452    attach(swiper.$wrapperEl[0], {
8453      attributes: false
8454    });
8455  };
8456
8457  const destroy = () => {
8458    observers.forEach(observer => {
8459      observer.disconnect();
8460    });
8461    observers.splice(0, observers.length);
8462  };
8463
8464  extendParams({
8465    observer: false,
8466    observeParents: false,
8467    observeSlideChildren: false
8468  });
8469  on('init', init);
8470  on('destroy', destroy);
8471}
8472
8473/***/ }),
8474
vendor: 2,583 bytes, lines 8475-8557
8475/***/ "./node_modules/swiper/core/modules/resize/resize.js":
8476/*!***********************************************************!*\
8477  !*** ./node_modules/swiper/core/modules/resize/resize.js ***!
8478  \***********************************************************/
8479/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8480
8481"use strict";
8482__webpack_require__.r(__webpack_exports__);
8483/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8484/* harmony export */   "default": () => (/* binding */ Resize)
8485/* harmony export */ });
8486/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
8487
8488function Resize({
8489  swiper,
8490  on,
8491  emit
8492}) {
8493  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
8494  let observer = null;
8495
8496  const resizeHandler = () => {
8497    if (!swiper || swiper.destroyed || !swiper.initialized) return;
8498    emit('beforeResize');
8499    emit('resize');
8500  };
8501
8502  const createObserver = () => {
8503    if (!swiper || swiper.destroyed || !swiper.initialized) return;
8504    observer = new ResizeObserver(entries => {
8505      const {
8506        width,
8507        height
8508      } = swiper;
8509      let newWidth = width;
8510      let newHeight = height;
8511      entries.forEach(({
8512        contentBoxSize,
8513        contentRect,
8514        target
8515      }) => {
8516        if (target && target !== swiper.el) return;
8517        newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;
8518        newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;
8519      });
8520
8521      if (newWidth !== width || newHeight !== height) {
8522        resizeHandler();
8523      }
8524    });
8525    observer.observe(swiper.el);
8526  };
8527
8528  const removeObserver = () => {
8529    if (observer && observer.unobserve && swiper.el) {
8530      observer.unobserve(swiper.el);
8531      observer = null;
8532    }
8533  };
8534
8535  const orientationChangeHandler = () => {
8536    if (!swiper || swiper.destroyed || !swiper.initialized) return;
8537    emit('orientationchange');
8538  };
8539
8540  on('init', () => {
8541    if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {
8542      createObserver();
8543      return;
8544    }
8545
8546    window.addEventListener('resize', resizeHandler);
8547    window.addEventListener('orientationchange', orientationChangeHandler);
8548  });
8549  on('destroy', () => {
8550    removeObserver();
8551    window.removeEventListener('resize', resizeHandler);
8552    window.removeEventListener('orientationchange', orientationChangeHandler);
8553  });
8554}
8555
8556/***/ }),
8557
vendor: 2,305 bytes, lines 8558-8594
8558/***/ "./node_modules/swiper/core/slide/index.js":
8559/*!*************************************************!*\
8560  !*** ./node_modules/swiper/core/slide/index.js ***!
8561  \*************************************************/
8562/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8563
8564"use strict";
8565__webpack_require__.r(__webpack_exports__);
8566/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8567/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
8568/* harmony export */ });
8569/* harmony import */ var _slideTo_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slideTo.js */ "./node_modules/swiper/core/slide/slideTo.js");
8570/* harmony import */ var _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slideToLoop.js */ "./node_modules/swiper/core/slide/slideToLoop.js");
8571/* harmony import */ var _slideNext_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slideNext.js */ "./node_modules/swiper/core/slide/slideNext.js");
8572/* harmony import */ var _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slidePrev.js */ "./node_modules/swiper/core/slide/slidePrev.js");
8573/* harmony import */ var _slideReset_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./slideReset.js */ "./node_modules/swiper/core/slide/slideReset.js");
8574/* harmony import */ var _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./slideToClosest.js */ "./node_modules/swiper/core/slide/slideToClosest.js");
8575/* harmony import */ var _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./slideToClickedSlide.js */ "./node_modules/swiper/core/slide/slideToClickedSlide.js");
8576
8577
8578
8579
8580
8581
8582
8583/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
8584  slideTo: _slideTo_js__WEBPACK_IMPORTED_MODULE_0__["default"],
8585  slideToLoop: _slideToLoop_js__WEBPACK_IMPORTED_MODULE_1__["default"],
8586  slideNext: _slideNext_js__WEBPACK_IMPORTED_MODULE_2__["default"],
8587  slidePrev: _slidePrev_js__WEBPACK_IMPORTED_MODULE_3__["default"],
8588  slideReset: _slideReset_js__WEBPACK_IMPORTED_MODULE_4__["default"],
8589  slideToClosest: _slideToClosest_js__WEBPACK_IMPORTED_MODULE_5__["default"],
8590  slideToClickedSlide: _slideToClickedSlide_js__WEBPACK_IMPORTED_MODULE_6__["default"]
8591});
8592
8593/***/ }),
8594
vendor: 1,478 bytes, lines 8595-8638
8595/***/ "./node_modules/swiper/core/slide/slideNext.js":
8596/*!*****************************************************!*\
8597  !*** ./node_modules/swiper/core/slide/slideNext.js ***!
8598  \*****************************************************/
8599/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8600
8601"use strict";
8602__webpack_require__.r(__webpack_exports__);
8603/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8604/* harmony export */   "default": () => (/* binding */ slideNext)
8605/* harmony export */ });
8606/* eslint no-unused-vars: "off" */
8607function slideNext(speed = this.params.speed, runCallbacks = true, internal) {
8608  const swiper = this;
8609  const {
8610    animating,
8611    enabled,
8612    params
8613  } = swiper;
8614  if (!enabled) return swiper;
8615  let perGroup = params.slidesPerGroup;
8616
8617  if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
8618    perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);
8619  }
8620
8621  const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
8622
8623  if (params.loop) {
8624    if (animating && params.loopPreventsSlide) return false;
8625    swiper.loopFix(); // eslint-disable-next-line
8626
8627    swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
8628  }
8629
8630  if (params.rewind && swiper.isEnd) {
8631    return swiper.slideTo(0, speed, runCallbacks, internal);
8632  }
8633
8634  return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);
8635}
8636
8637/***/ }),
8638
vendor: 2,410 bytes, lines 8639-8715
8639/***/ "./node_modules/swiper/core/slide/slidePrev.js":
8640/*!*****************************************************!*\
8641  !*** ./node_modules/swiper/core/slide/slidePrev.js ***!
8642  \*****************************************************/
8643/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8644
8645"use strict";
8646__webpack_require__.r(__webpack_exports__);
8647/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8648/* harmony export */   "default": () => (/* binding */ slidePrev)
8649/* harmony export */ });
8650/* eslint no-unused-vars: "off" */
8651function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {
8652  const swiper = this;
8653  const {
8654    params,
8655    animating,
8656    snapGrid,
8657    slidesGrid,
8658    rtlTranslate,
8659    enabled
8660  } = swiper;
8661  if (!enabled) return swiper;
8662
8663  if (params.loop) {
8664    if (animating && params.loopPreventsSlide) return false;
8665    swiper.loopFix(); // eslint-disable-next-line
8666
8667    swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
8668  }
8669
8670  const translate = rtlTranslate ? swiper.translate : -swiper.translate;
8671
8672  function normalize(val) {
8673    if (val < 0) return -Math.floor(Math.abs(val));
8674    return Math.floor(val);
8675  }
8676
8677  const normalizedTranslate = normalize(translate);
8678  const normalizedSnapGrid = snapGrid.map(val => normalize(val));
8679  let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
8680
8681  if (typeof prevSnap === 'undefined' && params.cssMode) {
8682    let prevSnapIndex;
8683    snapGrid.forEach((snap, snapIndex) => {
8684      if (normalizedTranslate >= snap) {
8685        // prevSnap = snap;
8686        prevSnapIndex = snapIndex;
8687      }
8688    });
8689
8690    if (typeof prevSnapIndex !== 'undefined') {
8691      prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
8692    }
8693  }
8694
8695  let prevIndex = 0;
8696
8697  if (typeof prevSnap !== 'undefined') {
8698    prevIndex = slidesGrid.indexOf(prevSnap);
8699    if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
8700
8701    if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {
8702      prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;
8703      prevIndex = Math.max(prevIndex, 0);
8704    }
8705  }
8706
8707  if (params.rewind && swiper.isBeginning) {
8708    return swiper.slideTo(swiper.slides.length - 1, speed, runCallbacks, internal);
8709  }
8710
8711  return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
8712}
8713
8714/***/ }),
8715
vendor: 772 bytes, lines 8716-8734
8716/***/ "./node_modules/swiper/core/slide/slideReset.js":
8717/*!******************************************************!*\
8718  !*** ./node_modules/swiper/core/slide/slideReset.js ***!
8719  \******************************************************/
8720/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8721
8722"use strict";
8723__webpack_require__.r(__webpack_exports__);
8724/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8725/* harmony export */   "default": () => (/* binding */ slideReset)
8726/* harmony export */ });
8727/* eslint no-unused-vars: "off" */
8728function slideReset(speed = this.params.speed, runCallbacks = true, internal) {
8729  const swiper = this;
8730  return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
8731}
8732
8733/***/ }),
8734
vendor: 6,514 bytes, lines 8735-8930
8735/***/ "./node_modules/swiper/core/slide/slideTo.js":
8736/*!***************************************************!*\
8737  !*** ./node_modules/swiper/core/slide/slideTo.js ***!
8738  \***************************************************/
8739/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8740
8741"use strict";
8742__webpack_require__.r(__webpack_exports__);
8743/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8744/* harmony export */   "default": () => (/* binding */ slideTo)
8745/* harmony export */ });
8746/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8747
8748function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {
8749  if (typeof index !== 'number' && typeof index !== 'string') {
8750    throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`);
8751  }
8752
8753  if (typeof index === 'string') {
8754    /**
8755     * The `index` argument converted from `string` to `number`.
8756     * @type {number}
8757     */
8758    const indexAsNumber = parseInt(index, 10);
8759    /**
8760     * Determines whether the `index` argument is a valid `number`
8761     * after being converted from the `string` type.
8762     * @type {boolean}
8763     */
8764
8765    const isValidNumber = isFinite(indexAsNumber);
8766
8767    if (!isValidNumber) {
8768      throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);
8769    } // Knowing that the converted `index` is a valid number,
8770    // we can update the original argument's value.
8771
8772
8773    index = indexAsNumber;
8774  }
8775
8776  const swiper = this;
8777  let slideIndex = index;
8778  if (slideIndex < 0) slideIndex = 0;
8779  const {
8780    params,
8781    snapGrid,
8782    slidesGrid,
8783    previousIndex,
8784    activeIndex,
8785    rtlTranslate: rtl,
8786    wrapperEl,
8787    enabled
8788  } = swiper;
8789
8790  if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {
8791    return false;
8792  }
8793
8794  const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
8795  let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
8796  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
8797
8798  if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {
8799    swiper.emit('beforeSlideChangeStart');
8800  }
8801
8802  const translate = -snapGrid[snapIndex]; // Update progress
8803
8804  swiper.updateProgress(translate); // Normalize slideIndex
8805
8806  if (params.normalizeSlideIndex) {
8807    for (let i = 0; i < slidesGrid.length; i += 1) {
8808      const normalizedTranslate = -Math.floor(translate * 100);
8809      const normalizedGrid = Math.floor(slidesGrid[i] * 100);
8810      const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
8811
8812      if (typeof slidesGrid[i + 1] !== 'undefined') {
8813        if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {
8814          slideIndex = i;
8815        } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {
8816          slideIndex = i + 1;
8817        }
8818      } else if (normalizedTranslate >= normalizedGrid) {
8819        slideIndex = i;
8820      }
8821    }
8822  } // Directions locks
8823
8824
8825  if (swiper.initialized && slideIndex !== activeIndex) {
8826    if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {
8827      return false;
8828    }
8829
8830    if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {
8831      if ((activeIndex || 0) !== slideIndex) return false;
8832    }
8833  }
8834
8835  let direction;
8836  if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index
8837
8838  if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {
8839    swiper.updateActiveIndex(slideIndex); // Update Height
8840
8841    if (params.autoHeight) {
8842      swiper.updateAutoHeight();
8843    }
8844
8845    swiper.updateSlidesClasses();
8846
8847    if (params.effect !== 'slide') {
8848      swiper.setTranslate(translate);
8849    }
8850
8851    if (direction !== 'reset') {
8852      swiper.transitionStart(runCallbacks, direction);
8853      swiper.transitionEnd(runCallbacks, direction);
8854    }
8855
8856    return false;
8857  }
8858
8859  if (params.cssMode) {
8860    const isH = swiper.isHorizontal();
8861    const t = rtl ? translate : -translate;
8862
8863    if (speed === 0) {
8864      const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
8865
8866      if (isVirtual) {
8867        swiper.wrapperEl.style.scrollSnapType = 'none';
8868        swiper._immediateVirtual = true;
8869      }
8870
8871      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;
8872
8873      if (isVirtual) {
8874        requestAnimationFrame(() => {
8875          swiper.wrapperEl.style.scrollSnapType = '';
8876          swiper._swiperImmediateVirtual = false;
8877        });
8878      }
8879    } else {
8880      if (!swiper.support.smoothScroll) {
8881        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
8882          swiper,
8883          targetPosition: t,
8884          side: isH ? 'left' : 'top'
8885        });
8886        return true;
8887      }
8888
8889      wrapperEl.scrollTo({
8890        [isH ? 'left' : 'top']: t,
8891        behavior: 'smooth'
8892      });
8893    }
8894
8895    return true;
8896  }
8897
8898  swiper.setTransition(speed);
8899  swiper.setTranslate(translate);
8900  swiper.updateActiveIndex(slideIndex);
8901  swiper.updateSlidesClasses();
8902  swiper.emit('beforeTransitionStart', speed, internal);
8903  swiper.transitionStart(runCallbacks, direction);
8904
8905  if (speed === 0) {
8906    swiper.transitionEnd(runCallbacks, direction);
8907  } else if (!swiper.animating) {
8908    swiper.animating = true;
8909
8910    if (!swiper.onSlideToWrapperTransitionEnd) {
8911      swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
8912        if (!swiper || swiper.destroyed) return;
8913        if (e.target !== this) return;
8914        swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
8915        swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
8916        swiper.onSlideToWrapperTransitionEnd = null;
8917        delete swiper.onSlideToWrapperTransitionEnd;
8918        swiper.transitionEnd(runCallbacks, direction);
8919      };
8920    }
8921
8922    swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);
8923    swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);
8924  }
8925
8926  return true;
8927}
8928
8929/***/ }),
8930
vendor: 2,436 bytes, lines 8931-8985
8931/***/ "./node_modules/swiper/core/slide/slideToClickedSlide.js":
8932/*!***************************************************************!*\
8933  !*** ./node_modules/swiper/core/slide/slideToClickedSlide.js ***!
8934  \***************************************************************/
8935/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8936
8937"use strict";
8938__webpack_require__.r(__webpack_exports__);
8939/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8940/* harmony export */   "default": () => (/* binding */ slideToClickedSlide)
8941/* harmony export */ });
8942/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
8943/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
8944
8945
8946function slideToClickedSlide() {
8947  const swiper = this;
8948  const {
8949    params,
8950    $wrapperEl
8951  } = swiper;
8952  const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;
8953  let slideToIndex = swiper.clickedIndex;
8954  let realIndex;
8955
8956  if (params.loop) {
8957    if (swiper.animating) return;
8958    realIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);
8959
8960    if (params.centeredSlides) {
8961      if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {
8962        swiper.loopFix();
8963        slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();
8964        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
8965          swiper.slideTo(slideToIndex);
8966        });
8967      } else {
8968        swiper.slideTo(slideToIndex);
8969      }
8970    } else if (slideToIndex > swiper.slides.length - slidesPerView) {
8971      swiper.loopFix();
8972      slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`).eq(0).index();
8973      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
8974        swiper.slideTo(slideToIndex);
8975      });
8976    } else {
8977      swiper.slideTo(slideToIndex);
8978    }
8979  } else {
8980    swiper.slideTo(slideToIndex);
8981  }
8982}
8983
8984/***/ }),
8985
vendor: 1,955 bytes, lines 8986-9031
8986/***/ "./node_modules/swiper/core/slide/slideToClosest.js":
8987/*!**********************************************************!*\
8988  !*** ./node_modules/swiper/core/slide/slideToClosest.js ***!
8989  \**********************************************************/
8990/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
8991
8992"use strict";
8993__webpack_require__.r(__webpack_exports__);
8994/* harmony export */ __webpack_require__.d(__webpack_exports__, {
8995/* harmony export */   "default": () => (/* binding */ slideToClosest)
8996/* harmony export */ });
8997/* eslint no-unused-vars: "off" */
8998function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {
8999  const swiper = this;
9000  let index = swiper.activeIndex;
9001  const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
9002  const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
9003  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
9004
9005  if (translate >= swiper.snapGrid[snapIndex]) {
9006    // The current translate is on or after the current snap index, so the choice
9007    // is between the current index and the one after it.
9008    const currentSnap = swiper.snapGrid[snapIndex];
9009    const nextSnap = swiper.snapGrid[snapIndex + 1];
9010
9011    if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
9012      index += swiper.params.slidesPerGroup;
9013    }
9014  } else {
9015    // The current translate is before the current snap index, so the choice
9016    // is between the current index and the one before it.
9017    const prevSnap = swiper.snapGrid[snapIndex - 1];
9018    const currentSnap = swiper.snapGrid[snapIndex];
9019
9020    if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
9021      index -= swiper.params.slidesPerGroup;
9022    }
9023  }
9024
9025  index = Math.max(index, 0);
9026  index = Math.min(index, swiper.slidesGrid.length - 1);
9027  return swiper.slideTo(index, speed, runCallbacks, internal);
9028}
9029
9030/***/ }),
9031
vendor: 839 bytes, lines 9032-9055
9032/***/ "./node_modules/swiper/core/slide/slideToLoop.js":
9033/*!*******************************************************!*\
9034  !*** ./node_modules/swiper/core/slide/slideToLoop.js ***!
9035  \*******************************************************/
9036/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9037
9038"use strict";
9039__webpack_require__.r(__webpack_exports__);
9040/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9041/* harmony export */   "default": () => (/* binding */ slideToLoop)
9042/* harmony export */ });
9043function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {
9044  const swiper = this;
9045  let newIndex = index;
9046
9047  if (swiper.params.loop) {
9048    newIndex += swiper.loopedSlides;
9049  }
9050
9051  return swiper.slideTo(newIndex, speed, runCallbacks, internal);
9052}
9053
9054/***/ }),
9055
vendor: 1,406 bytes, lines 9056-9080
9056/***/ "./node_modules/swiper/core/transition/index.js":
9057/*!******************************************************!*\
9058  !*** ./node_modules/swiper/core/transition/index.js ***!
9059  \******************************************************/
9060/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9061
9062"use strict";
9063__webpack_require__.r(__webpack_exports__);
9064/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9065/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9066/* harmony export */ });
9067/* harmony import */ var _setTransition_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./setTransition.js */ "./node_modules/swiper/core/transition/setTransition.js");
9068/* harmony import */ var _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./transitionStart.js */ "./node_modules/swiper/core/transition/transitionStart.js");
9069/* harmony import */ var _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./transitionEnd.js */ "./node_modules/swiper/core/transition/transitionEnd.js");
9070
9071
9072
9073/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
9074  setTransition: _setTransition_js__WEBPACK_IMPORTED_MODULE_0__["default"],
9075  transitionStart: _transitionStart_js__WEBPACK_IMPORTED_MODULE_1__["default"],
9076  transitionEnd: _transitionEnd_js__WEBPACK_IMPORTED_MODULE_2__["default"]
9077});
9078
9079/***/ }),
9080
vendor: 803 bytes, lines 9081-9103
9081/***/ "./node_modules/swiper/core/transition/setTransition.js":
9082/*!**************************************************************!*\
9083  !*** ./node_modules/swiper/core/transition/setTransition.js ***!
9084  \**************************************************************/
9085/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9086
9087"use strict";
9088__webpack_require__.r(__webpack_exports__);
9089/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9090/* harmony export */   "default": () => (/* binding */ setTransition)
9091/* harmony export */ });
9092function setTransition(duration, byController) {
9093  const swiper = this;
9094
9095  if (!swiper.params.cssMode) {
9096    swiper.$wrapperEl.transition(duration);
9097  }
9098
9099  swiper.emit('setTransition', duration, byController);
9100}
9101
9102/***/ }),
9103
vendor: 1,285 bytes, lines 9104-9150
9104/***/ "./node_modules/swiper/core/transition/transitionEmit.js":
9105/*!***************************************************************!*\
9106  !*** ./node_modules/swiper/core/transition/transitionEmit.js ***!
9107  \***************************************************************/
9108/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9109
9110"use strict";
9111__webpack_require__.r(__webpack_exports__);
9112/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9113/* harmony export */   "default": () => (/* binding */ transitionEmit)
9114/* harmony export */ });
9115function transitionEmit({
9116  swiper,
9117  runCallbacks,
9118  direction,
9119  step
9120}) {
9121  const {
9122    activeIndex,
9123    previousIndex
9124  } = swiper;
9125  let dir = direction;
9126
9127  if (!dir) {
9128    if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';
9129  }
9130
9131  swiper.emit(`transition${step}`);
9132
9133  if (runCallbacks && activeIndex !== previousIndex) {
9134    if (dir === 'reset') {
9135      swiper.emit(`slideResetTransition${step}`);
9136      return;
9137    }
9138
9139    swiper.emit(`slideChangeTransition${step}`);
9140
9141    if (dir === 'next') {
9142      swiper.emit(`slideNextTransition${step}`);
9143    } else {
9144      swiper.emit(`slidePrevTransition${step}`);
9145    }
9146  }
9147}
9148
9149/***/ }),
9150
vendor: 1,110 bytes, lines 9151-9181
9151/***/ "./node_modules/swiper/core/transition/transitionEnd.js":
9152/*!**************************************************************!*\
9153  !*** ./node_modules/swiper/core/transition/transitionEnd.js ***!
9154  \**************************************************************/
9155/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9156
9157"use strict";
9158__webpack_require__.r(__webpack_exports__);
9159/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9160/* harmony export */   "default": () => (/* binding */ transitionEnd)
9161/* harmony export */ });
9162/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js");
9163
9164function transitionEnd(runCallbacks = true, direction) {
9165  const swiper = this;
9166  const {
9167    params
9168  } = swiper;
9169  swiper.animating = false;
9170  if (params.cssMode) return;
9171  swiper.setTransition(0);
9172  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
9173    swiper,
9174    runCallbacks,
9175    direction,
9176    step: 'End'
9177  });
9178}
9179
9180/***/ }),
9181
vendor: 1,133 bytes, lines 9182-9215
9182/***/ "./node_modules/swiper/core/transition/transitionStart.js":
9183/*!****************************************************************!*\
9184  !*** ./node_modules/swiper/core/transition/transitionStart.js ***!
9185  \****************************************************************/
9186/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9187
9188"use strict";
9189__webpack_require__.r(__webpack_exports__);
9190/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9191/* harmony export */   "default": () => (/* binding */ transitionStart)
9192/* harmony export */ });
9193/* harmony import */ var _transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./transitionEmit.js */ "./node_modules/swiper/core/transition/transitionEmit.js");
9194
9195function transitionStart(runCallbacks = true, direction) {
9196  const swiper = this;
9197  const {
9198    params
9199  } = swiper;
9200  if (params.cssMode) return;
9201
9202  if (params.autoHeight) {
9203    swiper.updateAutoHeight();
9204  }
9205
9206  (0,_transitionEmit_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
9207    swiper,
9208    runCallbacks,
9209    direction,
9210    step: 'Start'
9211  });
9212}
9213
9214/***/ }),
9215
vendor: 1,259 bytes, lines 9216-9252
9216/***/ "./node_modules/swiper/core/translate/getTranslate.js":
9217/*!************************************************************!*\
9218  !*** ./node_modules/swiper/core/translate/getTranslate.js ***!
9219  \************************************************************/
9220/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9221
9222"use strict";
9223__webpack_require__.r(__webpack_exports__);
9224/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9225/* harmony export */   "default": () => (/* binding */ getSwiperTranslate)
9226/* harmony export */ });
9227/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
9228
9229function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {
9230  const swiper = this;
9231  const {
9232    params,
9233    rtlTranslate: rtl,
9234    translate,
9235    $wrapperEl
9236  } = swiper;
9237
9238  if (params.virtualTranslate) {
9239    return rtl ? -translate : translate;
9240  }
9241
9242  if (params.cssMode) {
9243    return translate;
9244  }
9245
9246  let currentTranslate = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.getTranslate)($wrapperEl[0], axis);
9247  if (rtl) currentTranslate = -currentTranslate;
9248  return currentTranslate || 0;
9249}
9250
9251/***/ }),
9252
vendor: 1,869 bytes, lines 9253-9283
9253/***/ "./node_modules/swiper/core/translate/index.js":
9254/*!*****************************************************!*\
9255  !*** ./node_modules/swiper/core/translate/index.js ***!
9256  \*****************************************************/
9257/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9258
9259"use strict";
9260__webpack_require__.r(__webpack_exports__);
9261/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9262/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9263/* harmony export */ });
9264/* harmony import */ var _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getTranslate.js */ "./node_modules/swiper/core/translate/getTranslate.js");
9265/* harmony import */ var _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./setTranslate.js */ "./node_modules/swiper/core/translate/setTranslate.js");
9266/* harmony import */ var _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./minTranslate.js */ "./node_modules/swiper/core/translate/minTranslate.js");
9267/* harmony import */ var _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./maxTranslate.js */ "./node_modules/swiper/core/translate/maxTranslate.js");
9268/* harmony import */ var _translateTo_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./translateTo.js */ "./node_modules/swiper/core/translate/translateTo.js");
9269
9270
9271
9272
9273
9274/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
9275  getTranslate: _getTranslate_js__WEBPACK_IMPORTED_MODULE_0__["default"],
9276  setTranslate: _setTranslate_js__WEBPACK_IMPORTED_MODULE_1__["default"],
9277  minTranslate: _minTranslate_js__WEBPACK_IMPORTED_MODULE_2__["default"],
9278  maxTranslate: _maxTranslate_js__WEBPACK_IMPORTED_MODULE_3__["default"],
9279  translateTo: _translateTo_js__WEBPACK_IMPORTED_MODULE_4__["default"]
9280});
9281
9282/***/ }),
9283
vendor: 661 bytes, lines 9284-9300
9284/***/ "./node_modules/swiper/core/translate/maxTranslate.js":
9285/*!************************************************************!*\
9286  !*** ./node_modules/swiper/core/translate/maxTranslate.js ***!
9287  \************************************************************/
9288/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9289
9290"use strict";
9291__webpack_require__.r(__webpack_exports__);
9292/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9293/* harmony export */   "default": () => (/* binding */ maxTranslate)
9294/* harmony export */ });
9295function maxTranslate() {
9296  return -this.snapGrid[this.snapGrid.length - 1];
9297}
9298
9299/***/ }),
9300
vendor: 638 bytes, lines 9301-9317
9301/***/ "./node_modules/swiper/core/translate/minTranslate.js":
9302/*!************************************************************!*\
9303  !*** ./node_modules/swiper/core/translate/minTranslate.js ***!
9304  \************************************************************/
9305/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9306
9307"use strict";
9308__webpack_require__.r(__webpack_exports__);
9309/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9310/* harmony export */   "default": () => (/* binding */ minTranslate)
9311/* harmony export */ });
9312function minTranslate() {
9313  return -this.snapGrid[0];
9314}
9315
9316/***/ }),
9317
vendor: 1,731 bytes, lines 9318-9379
9318/***/ "./node_modules/swiper/core/translate/setTranslate.js":
9319/*!************************************************************!*\
9320  !*** ./node_modules/swiper/core/translate/setTranslate.js ***!
9321  \************************************************************/
9322/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9323
9324"use strict";
9325__webpack_require__.r(__webpack_exports__);
9326/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9327/* harmony export */   "default": () => (/* binding */ setTranslate)
9328/* harmony export */ });
9329function setTranslate(translate, byController) {
9330  const swiper = this;
9331  const {
9332    rtlTranslate: rtl,
9333    params,
9334    $wrapperEl,
9335    wrapperEl,
9336    progress
9337  } = swiper;
9338  let x = 0;
9339  let y = 0;
9340  const z = 0;
9341
9342  if (swiper.isHorizontal()) {
9343    x = rtl ? -translate : translate;
9344  } else {
9345    y = translate;
9346  }
9347
9348  if (params.roundLengths) {
9349    x = Math.floor(x);
9350    y = Math.floor(y);
9351  }
9352
9353  if (params.cssMode) {
9354    wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;
9355  } else if (!params.virtualTranslate) {
9356    $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);
9357  }
9358
9359  swiper.previousTranslate = swiper.translate;
9360  swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress
9361
9362  let newProgress;
9363  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
9364
9365  if (translatesDiff === 0) {
9366    newProgress = 0;
9367  } else {
9368    newProgress = (translate - swiper.minTranslate()) / translatesDiff;
9369  }
9370
9371  if (newProgress !== progress) {
9372    swiper.updateProgress(translate);
9373  }
9374
9375  swiper.emit('setTranslate', swiper.translate, byController);
9376}
9377
9378/***/ }),
9379
vendor: 3,369 bytes, lines 9380-9479
9380/***/ "./node_modules/swiper/core/translate/translateTo.js":
9381/*!***********************************************************!*\
9382  !*** ./node_modules/swiper/core/translate/translateTo.js ***!
9383  \***********************************************************/
9384/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9385
9386"use strict";
9387__webpack_require__.r(__webpack_exports__);
9388/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9389/* harmony export */   "default": () => (/* binding */ translateTo)
9390/* harmony export */ });
9391/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
9392
9393function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {
9394  const swiper = this;
9395  const {
9396    params,
9397    wrapperEl
9398  } = swiper;
9399
9400  if (swiper.animating && params.preventInteractionOnTransition) {
9401    return false;
9402  }
9403
9404  const minTranslate = swiper.minTranslate();
9405  const maxTranslate = swiper.maxTranslate();
9406  let newTranslate;
9407  if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress
9408
9409  swiper.updateProgress(newTranslate);
9410
9411  if (params.cssMode) {
9412    const isH = swiper.isHorizontal();
9413
9414    if (speed === 0) {
9415      wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;
9416    } else {
9417      if (!swiper.support.smoothScroll) {
9418        (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.animateCSSModeScroll)({
9419          swiper,
9420          targetPosition: -newTranslate,
9421          side: isH ? 'left' : 'top'
9422        });
9423        return true;
9424      }
9425
9426      wrapperEl.scrollTo({
9427        [isH ? 'left' : 'top']: -newTranslate,
9428        behavior: 'smooth'
9429      });
9430    }
9431
9432    return true;
9433  }
9434
9435  if (speed === 0) {
9436    swiper.setTransition(0);
9437    swiper.setTranslate(newTranslate);
9438
9439    if (runCallbacks) {
9440      swiper.emit('beforeTransitionStart', speed, internal);
9441      swiper.emit('transitionEnd');
9442    }
9443  } else {
9444    swiper.setTransition(speed);
9445    swiper.setTranslate(newTranslate);
9446
9447    if (runCallbacks) {
9448      swiper.emit('beforeTransitionStart', speed, internal);
9449      swiper.emit('transitionStart');
9450    }
9451
9452    if (!swiper.animating) {
9453      swiper.animating = true;
9454
9455      if (!swiper.onTranslateToWrapperTransitionEnd) {
9456        swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
9457          if (!swiper || swiper.destroyed) return;
9458          if (e.target !== this) return;
9459          swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
9460          swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
9461          swiper.onTranslateToWrapperTransitionEnd = null;
9462          delete swiper.onTranslateToWrapperTransitionEnd;
9463
9464          if (runCallbacks) {
9465            swiper.emit('transitionEnd');
9466          }
9467        };
9468      }
9469
9470      swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);
9471      swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);
9472    }
9473  }
9474
9475  return true;
9476}
9477
9478/***/ }),
9479
vendor: 3,015 bytes, lines 9480-9522
9480/***/ "./node_modules/swiper/core/update/index.js":
9481/*!**************************************************!*\
9482  !*** ./node_modules/swiper/core/update/index.js ***!
9483  \**************************************************/
9484/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9485
9486"use strict";
9487__webpack_require__.r(__webpack_exports__);
9488/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9489/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
9490/* harmony export */ });
9491/* harmony import */ var _updateSize_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./updateSize.js */ "./node_modules/swiper/core/update/updateSize.js");
9492/* harmony import */ var _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./updateSlides.js */ "./node_modules/swiper/core/update/updateSlides.js");
9493/* harmony import */ var _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./updateAutoHeight.js */ "./node_modules/swiper/core/update/updateAutoHeight.js");
9494/* harmony import */ var _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./updateSlidesOffset.js */ "./node_modules/swiper/core/update/updateSlidesOffset.js");
9495/* harmony import */ var _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./updateSlidesProgress.js */ "./node_modules/swiper/core/update/updateSlidesProgress.js");
9496/* harmony import */ var _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./updateProgress.js */ "./node_modules/swiper/core/update/updateProgress.js");
9497/* harmony import */ var _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./updateSlidesClasses.js */ "./node_modules/swiper/core/update/updateSlidesClasses.js");
9498/* harmony import */ var _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./updateActiveIndex.js */ "./node_modules/swiper/core/update/updateActiveIndex.js");
9499/* harmony import */ var _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./updateClickedSlide.js */ "./node_modules/swiper/core/update/updateClickedSlide.js");
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
9510  updateSize: _updateSize_js__WEBPACK_IMPORTED_MODULE_0__["default"],
9511  updateSlides: _updateSlides_js__WEBPACK_IMPORTED_MODULE_1__["default"],
9512  updateAutoHeight: _updateAutoHeight_js__WEBPACK_IMPORTED_MODULE_2__["default"],
9513  updateSlidesOffset: _updateSlidesOffset_js__WEBPACK_IMPORTED_MODULE_3__["default"],
9514  updateSlidesProgress: _updateSlidesProgress_js__WEBPACK_IMPORTED_MODULE_4__["default"],
9515  updateProgress: _updateProgress_js__WEBPACK_IMPORTED_MODULE_5__["default"],
9516  updateSlidesClasses: _updateSlidesClasses_js__WEBPACK_IMPORTED_MODULE_6__["default"],
9517  updateActiveIndex: _updateActiveIndex_js__WEBPACK_IMPORTED_MODULE_7__["default"],
9518  updateClickedSlide: _updateClickedSlide_js__WEBPACK_IMPORTED_MODULE_8__["default"]
9519});
9520
9521/***/ }),
9522
vendor: 2,607 bytes, lines 9523-9606
9523/***/ "./node_modules/swiper/core/update/updateActiveIndex.js":
9524/*!**************************************************************!*\
9525  !*** ./node_modules/swiper/core/update/updateActiveIndex.js ***!
9526  \**************************************************************/
9527/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9528
9529"use strict";
9530__webpack_require__.r(__webpack_exports__);
9531/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9532/* harmony export */   "default": () => (/* binding */ updateActiveIndex)
9533/* harmony export */ });
9534function updateActiveIndex(newActiveIndex) {
9535  const swiper = this;
9536  const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;
9537  const {
9538    slidesGrid,
9539    snapGrid,
9540    params,
9541    activeIndex: previousIndex,
9542    realIndex: previousRealIndex,
9543    snapIndex: previousSnapIndex
9544  } = swiper;
9545  let activeIndex = newActiveIndex;
9546  let snapIndex;
9547
9548  if (typeof activeIndex === 'undefined') {
9549    for (let i = 0; i < slidesGrid.length; i += 1) {
9550      if (typeof slidesGrid[i + 1] !== 'undefined') {
9551        if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {
9552          activeIndex = i;
9553        } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {
9554          activeIndex = i + 1;
9555        }
9556      } else if (translate >= slidesGrid[i]) {
9557        activeIndex = i;
9558      }
9559    } // Normalize slideIndex
9560
9561
9562    if (params.normalizeSlideIndex) {
9563      if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;
9564    }
9565  }
9566
9567  if (snapGrid.indexOf(translate) >= 0) {
9568    snapIndex = snapGrid.indexOf(translate);
9569  } else {
9570    const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
9571    snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
9572  }
9573
9574  if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
9575
9576  if (activeIndex === previousIndex) {
9577    if (snapIndex !== previousSnapIndex) {
9578      swiper.snapIndex = snapIndex;
9579      swiper.emit('snapIndexChange');
9580    }
9581
9582    return;
9583  } // Get real index
9584
9585
9586  const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);
9587  Object.assign(swiper, {
9588    snapIndex,
9589    realIndex,
9590    previousIndex,
9591    activeIndex
9592  });
9593  swiper.emit('activeIndexChange');
9594  swiper.emit('snapIndexChange');
9595
9596  if (previousRealIndex !== realIndex) {
9597    swiper.emit('realIndexChange');
9598  }
9599
9600  if (swiper.initialized || swiper.params.runCallbacksOnInit) {
9601    swiper.emit('slideChange');
9602  }
9603}
9604
9605/***/ }),
9606
vendor: 2,101 bytes, lines 9607-9669
9607/***/ "./node_modules/swiper/core/update/updateAutoHeight.js":
9608/*!*************************************************************!*\
9609  !*** ./node_modules/swiper/core/update/updateAutoHeight.js ***!
9610  \*************************************************************/
9611/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9612
9613"use strict";
9614__webpack_require__.r(__webpack_exports__);
9615/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9616/* harmony export */   "default": () => (/* binding */ updateAutoHeight)
9617/* harmony export */ });
9618function updateAutoHeight(speed) {
9619  const swiper = this;
9620  const activeSlides = [];
9621  const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
9622  let newHeight = 0;
9623  let i;
9624
9625  if (typeof speed === 'number') {
9626    swiper.setTransition(speed);
9627  } else if (speed === true) {
9628    swiper.setTransition(swiper.params.speed);
9629  }
9630
9631  const getSlideByIndex = index => {
9632    if (isVirtual) {
9633      return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];
9634    }
9635
9636    return swiper.slides.eq(index)[0];
9637  }; // Find slides currently in view
9638
9639
9640  if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {
9641    if (swiper.params.centeredSlides) {
9642      swiper.visibleSlides.each(slide => {
9643        activeSlides.push(slide);
9644      });
9645    } else {
9646      for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
9647        const index = swiper.activeIndex + i;
9648        if (index > swiper.slides.length && !isVirtual) break;
9649        activeSlides.push(getSlideByIndex(index));
9650      }
9651    }
9652  } else {
9653    activeSlides.push(getSlideByIndex(swiper.activeIndex));
9654  } // Find new height from highest slide in view
9655
9656
9657  for (i = 0; i < activeSlides.length; i += 1) {
9658    if (typeof activeSlides[i] !== 'undefined') {
9659      const height = activeSlides[i].offsetHeight;
9660      newHeight = height > newHeight ? height : newHeight;
9661    }
9662  } // Update Height
9663
9664
9665  if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);
9666}
9667
9668/***/ }),
9669
vendor: 1,786 bytes, lines 9670-9720
9670/***/ "./node_modules/swiper/core/update/updateClickedSlide.js":
9671/*!***************************************************************!*\
9672  !*** ./node_modules/swiper/core/update/updateClickedSlide.js ***!
9673  \***************************************************************/
9674/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9675
9676"use strict";
9677__webpack_require__.r(__webpack_exports__);
9678/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9679/* harmony export */   "default": () => (/* binding */ updateClickedSlide)
9680/* harmony export */ });
9681/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
9682
9683function updateClickedSlide(e) {
9684  const swiper = this;
9685  const params = swiper.params;
9686  const slide = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(e).closest(`.${params.slideClass}`)[0];
9687  let slideFound = false;
9688  let slideIndex;
9689
9690  if (slide) {
9691    for (let i = 0; i < swiper.slides.length; i += 1) {
9692      if (swiper.slides[i] === slide) {
9693        slideFound = true;
9694        slideIndex = i;
9695        break;
9696      }
9697    }
9698  }
9699
9700  if (slide && slideFound) {
9701    swiper.clickedSlide = slide;
9702
9703    if (swiper.virtual && swiper.params.virtual.enabled) {
9704      swiper.clickedIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slide).attr('data-swiper-slide-index'), 10);
9705    } else {
9706      swiper.clickedIndex = slideIndex;
9707    }
9708  } else {
9709    swiper.clickedSlide = undefined;
9710    swiper.clickedIndex = undefined;
9711    return;
9712  }
9713
9714  if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {
9715    swiper.slideToClickedSlide();
9716  }
9717}
9718
9719/***/ }),
9720
vendor: 1,792 bytes, lines 9721-9784
9721/***/ "./node_modules/swiper/core/update/updateProgress.js":
9722/*!***********************************************************!*\
9723  !*** ./node_modules/swiper/core/update/updateProgress.js ***!
9724  \***********************************************************/
9725/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9726
9727"use strict";
9728__webpack_require__.r(__webpack_exports__);
9729/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9730/* harmony export */   "default": () => (/* binding */ updateProgress)
9731/* harmony export */ });
9732function updateProgress(translate) {
9733  const swiper = this;
9734
9735  if (typeof translate === 'undefined') {
9736    const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line
9737
9738    translate = swiper && swiper.translate && swiper.translate * multiplier || 0;
9739  }
9740
9741  const params = swiper.params;
9742  const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
9743  let {
9744    progress,
9745    isBeginning,
9746    isEnd
9747  } = swiper;
9748  const wasBeginning = isBeginning;
9749  const wasEnd = isEnd;
9750
9751  if (translatesDiff === 0) {
9752    progress = 0;
9753    isBeginning = true;
9754    isEnd = true;
9755  } else {
9756    progress = (translate - swiper.minTranslate()) / translatesDiff;
9757    isBeginning = progress <= 0;
9758    isEnd = progress >= 1;
9759  }
9760
9761  Object.assign(swiper, {
9762    progress,
9763    isBeginning,
9764    isEnd
9765  });
9766  if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);
9767
9768  if (isBeginning && !wasBeginning) {
9769    swiper.emit('reachBeginning toEdge');
9770  }
9771
9772  if (isEnd && !wasEnd) {
9773    swiper.emit('reachEnd toEdge');
9774  }
9775
9776  if (wasBeginning && !isBeginning || wasEnd && !isEnd) {
9777    swiper.emit('fromEdge');
9778  }
9779
9780  swiper.emit('progress', progress);
9781}
9782
9783/***/ }),
9784
vendor: 1,523 bytes, lines 9785-9831
9785/***/ "./node_modules/swiper/core/update/updateSize.js":
9786/*!*******************************************************!*\
9787  !*** ./node_modules/swiper/core/update/updateSize.js ***!
9788  \*******************************************************/
9789/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9790
9791"use strict";
9792__webpack_require__.r(__webpack_exports__);
9793/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9794/* harmony export */   "default": () => (/* binding */ updateSize)
9795/* harmony export */ });
9796function updateSize() {
9797  const swiper = this;
9798  let width;
9799  let height;
9800  const $el = swiper.$el;
9801
9802  if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {
9803    width = swiper.params.width;
9804  } else {
9805    width = $el[0].clientWidth;
9806  }
9807
9808  if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {
9809    height = swiper.params.height;
9810  } else {
9811    height = $el[0].clientHeight;
9812  }
9813
9814  if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {
9815    return;
9816  } // Subtract paddings
9817
9818
9819  width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);
9820  height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);
9821  if (Number.isNaN(width)) width = 0;
9822  if (Number.isNaN(height)) height = 0;
9823  Object.assign(swiper, {
9824    width,
9825    height,
9826    size: swiper.isHorizontal() ? width : height
9827  });
9828}
9829
9830/***/ }),
9831
vendor: 10,870 bytes, lines 9832-10155
9832/***/ "./node_modules/swiper/core/update/updateSlides.js":
9833/*!*********************************************************!*\
9834  !*** ./node_modules/swiper/core/update/updateSlides.js ***!
9835  \*********************************************************/
9836/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
9837
9838"use strict";
9839__webpack_require__.r(__webpack_exports__);
9840/* harmony export */ __webpack_require__.d(__webpack_exports__, {
9841/* harmony export */   "default": () => (/* binding */ updateSlides)
9842/* harmony export */ });
9843/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
9844
9845function updateSlides() {
9846  const swiper = this;
9847
9848  function getDirectionLabel(property) {
9849    if (swiper.isHorizontal()) {
9850      return property;
9851    } // prettier-ignore
9852
9853
9854    return {
9855      'width': 'height',
9856      'margin-top': 'margin-left',
9857      'margin-bottom ': 'margin-right',
9858      'margin-left': 'margin-top',
9859      'margin-right': 'margin-bottom',
9860      'padding-left': 'padding-top',
9861      'padding-right': 'padding-bottom',
9862      'marginRight': 'marginBottom'
9863    }[property];
9864  }
9865
9866  function getDirectionPropertyValue(node, label) {
9867    return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);
9868  }
9869
9870  const params = swiper.params;
9871  const {
9872    $wrapperEl,
9873    size: swiperSize,
9874    rtlTranslate: rtl,
9875    wrongRTL
9876  } = swiper;
9877  const isVirtual = swiper.virtual && params.virtual.enabled;
9878  const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;
9879  const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);
9880  const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;
9881  let snapGrid = [];
9882  const slidesGrid = [];
9883  const slidesSizesGrid = [];
9884  let offsetBefore = params.slidesOffsetBefore;
9885
9886  if (typeof offsetBefore === 'function') {
9887    offsetBefore = params.slidesOffsetBefore.call(swiper);
9888  }
9889
9890  let offsetAfter = params.slidesOffsetAfter;
9891
9892  if (typeof offsetAfter === 'function') {
9893    offsetAfter = params.slidesOffsetAfter.call(swiper);
9894  }
9895
9896  const previousSnapGridLength = swiper.snapGrid.length;
9897  const previousSlidesGridLength = swiper.slidesGrid.length;
9898  let spaceBetween = params.spaceBetween;
9899  let slidePosition = -offsetBefore;
9900  let prevSlideSize = 0;
9901  let index = 0;
9902
9903  if (typeof swiperSize === 'undefined') {
9904    return;
9905  }
9906
9907  if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {
9908    spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;
9909  }
9910
9911  swiper.virtualSize = -spaceBetween; // reset margins
9912
9913  if (rtl) slides.css({
9914    marginLeft: '',
9915    marginBottom: '',
9916    marginTop: ''
9917  });else slides.css({
9918    marginRight: '',
9919    marginBottom: '',
9920    marginTop: ''
9921  }); // reset cssMode offsets
9922
9923  if (params.centeredSlides && params.cssMode) {
9924    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', '');
9925    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', '');
9926  }
9927
9928  const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
9929
9930  if (gridEnabled) {
9931    swiper.grid.initSlides(slidesLength);
9932  } // Calc slides
9933
9934
9935  let slideSize;
9936  const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {
9937    return typeof params.breakpoints[key].slidesPerView !== 'undefined';
9938  }).length > 0;
9939
9940  for (let i = 0; i < slidesLength; i += 1) {
9941    slideSize = 0;
9942    const slide = slides.eq(i);
9943
9944    if (gridEnabled) {
9945      swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);
9946    }
9947
9948    if (slide.css('display') === 'none') continue; // eslint-disable-line
9949
9950    if (params.slidesPerView === 'auto') {
9951      if (shouldResetSlideSize) {
9952        slides[i].style[getDirectionLabel('width')] = ``;
9953      }
9954
9955      const slideStyles = getComputedStyle(slide[0]);
9956      const currentTransform = slide[0].style.transform;
9957      const currentWebKitTransform = slide[0].style.webkitTransform;
9958
9959      if (currentTransform) {
9960        slide[0].style.transform = 'none';
9961      }
9962
9963      if (currentWebKitTransform) {
9964        slide[0].style.webkitTransform = 'none';
9965      }
9966
9967      if (params.roundLengths) {
9968        slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);
9969      } else {
9970        // eslint-disable-next-line
9971        const width = getDirectionPropertyValue(slideStyles, 'width');
9972        const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');
9973        const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');
9974        const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');
9975        const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');
9976        const boxSizing = slideStyles.getPropertyValue('box-sizing');
9977
9978        if (boxSizing && boxSizing === 'border-box') {
9979          slideSize = width + marginLeft + marginRight;
9980        } else {
9981          const {
9982            clientWidth,
9983            offsetWidth
9984          } = slide[0];
9985          slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);
9986        }
9987      }
9988
9989      if (currentTransform) {
9990        slide[0].style.transform = currentTransform;
9991      }
9992
9993      if (currentWebKitTransform) {
9994        slide[0].style.webkitTransform = currentWebKitTransform;
9995      }
9996
9997      if (params.roundLengths) slideSize = Math.floor(slideSize);
9998    } else {
9999      slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;
10000      if (params.roundLengths) slideSize = Math.floor(slideSize);
10001
10002      if (slides[i]) {
10003        slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;
10004      }
10005    }
10006
10007    if (slides[i]) {
10008      slides[i].swiperSlideSize = slideSize;
10009    }
10010
10011    slidesSizesGrid.push(slideSize);
10012
10013    if (params.centeredSlides) {
10014      slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
10015      if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
10016      if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
10017      if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
10018      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
10019      if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
10020      slidesGrid.push(slidePosition);
10021    } else {
10022      if (params.roundLengths) slidePosition = Math.floor(slidePosition);
10023      if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);
10024      slidesGrid.push(slidePosition);
10025      slidePosition = slidePosition + slideSize + spaceBetween;
10026    }
10027
10028    swiper.virtualSize += slideSize + spaceBetween;
10029    prevSlideSize = slideSize;
10030    index += 1;
10031  }
10032
10033  swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
10034
10035  if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {
10036    $wrapperEl.css({
10037      width: `${swiper.virtualSize + params.spaceBetween}px`
10038    });
10039  }
10040
10041  if (params.setWrapperSize) {
10042    $wrapperEl.css({
10043      [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`
10044    });
10045  }
10046
10047  if (gridEnabled) {
10048    swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);
10049  } // Remove last grid elements depending on width
10050
10051
10052  if (!params.centeredSlides) {
10053    const newSlidesGrid = [];
10054
10055    for (let i = 0; i < snapGrid.length; i += 1) {
10056      let slidesGridItem = snapGrid[i];
10057      if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
10058
10059      if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
10060        newSlidesGrid.push(slidesGridItem);
10061      }
10062    }
10063
10064    snapGrid = newSlidesGrid;
10065
10066    if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {
10067      snapGrid.push(swiper.virtualSize - swiperSize);
10068    }
10069  }
10070
10071  if (snapGrid.length === 0) snapGrid = [0];
10072
10073  if (params.spaceBetween !== 0) {
10074    const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');
10075    slides.filter((_, slideIndex) => {
10076      if (!params.cssMode) return true;
10077
10078      if (slideIndex === slides.length - 1) {
10079        return false;
10080      }
10081
10082      return true;
10083    }).css({
10084      [key]: `${spaceBetween}px`
10085    });
10086  }
10087
10088  if (params.centeredSlides && params.centeredSlidesBounds) {
10089    let allSlidesSize = 0;
10090    slidesSizesGrid.forEach(slideSizeValue => {
10091      allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
10092    });
10093    allSlidesSize -= params.spaceBetween;
10094    const maxSnap = allSlidesSize - swiperSize;
10095    snapGrid = snapGrid.map(snap => {
10096      if (snap < 0) return -offsetBefore;
10097      if (snap > maxSnap) return maxSnap + offsetAfter;
10098      return snap;
10099    });
10100  }
10101
10102  if (params.centerInsufficientSlides) {
10103    let allSlidesSize = 0;
10104    slidesSizesGrid.forEach(slideSizeValue => {
10105      allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
10106    });
10107    allSlidesSize -= params.spaceBetween;
10108
10109    if (allSlidesSize < swiperSize) {
10110      const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
10111      snapGrid.forEach((snap, snapIndex) => {
10112        snapGrid[snapIndex] = snap - allSlidesOffset;
10113      });
10114      slidesGrid.forEach((snap, snapIndex) => {
10115        slidesGrid[snapIndex] = snap + allSlidesOffset;
10116      });
10117    }
10118  }
10119
10120  Object.assign(swiper, {
10121    slides,
10122    snapGrid,
10123    slidesGrid,
10124    slidesSizesGrid
10125  });
10126
10127  if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {
10128    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);
10129    (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.setCSSProperty)(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);
10130    const addToSnapGrid = -swiper.snapGrid[0];
10131    const addToSlidesGrid = -swiper.slidesGrid[0];
10132    swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);
10133    swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);
10134  }
10135
10136  if (slidesLength !== previousSlidesLength) {
10137    swiper.emit('slidesLengthChange');
10138  }
10139
10140  if (snapGrid.length !== previousSnapGridLength) {
10141    if (swiper.params.watchOverflow) swiper.checkOverflow();
10142    swiper.emit('snapGridLengthChange');
10143  }
10144
10145  if (slidesGrid.length !== previousSlidesGridLength) {
10146    swiper.emit('slidesGridLengthChange');
10147  }
10148
10149  if (params.watchSlidesProgress) {
10150    swiper.updateSlidesOffset();
10151  }
10152}
10153
10154/***/ }),
10155
vendor: 3,316 bytes, lines 10156-10233
10156/***/ "./node_modules/swiper/core/update/updateSlidesClasses.js":
10157/*!****************************************************************!*\
10158  !*** ./node_modules/swiper/core/update/updateSlidesClasses.js ***!
10159  \****************************************************************/
10160/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10161
10162"use strict";
10163__webpack_require__.r(__webpack_exports__);
10164/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10165/* harmony export */   "default": () => (/* binding */ updateSlidesClasses)
10166/* harmony export */ });
10167function updateSlidesClasses() {
10168  const swiper = this;
10169  const {
10170    slides,
10171    params,
10172    $wrapperEl,
10173    activeIndex,
10174    realIndex
10175  } = swiper;
10176  const isVirtual = swiper.virtual && params.virtual.enabled;
10177  slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);
10178  let activeSlide;
10179
10180  if (isVirtual) {
10181    activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`);
10182  } else {
10183    activeSlide = slides.eq(activeIndex);
10184  } // Active classes
10185
10186
10187  activeSlide.addClass(params.slideActiveClass);
10188
10189  if (params.loop) {
10190    // Duplicate to all looped slides
10191    if (activeSlide.hasClass(params.slideDuplicateClass)) {
10192      $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
10193    } else {
10194      $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`).addClass(params.slideDuplicateActiveClass);
10195    }
10196  } // Next Slide
10197
10198
10199  let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);
10200
10201  if (params.loop && nextSlide.length === 0) {
10202    nextSlide = slides.eq(0);
10203    nextSlide.addClass(params.slideNextClass);
10204  } // Prev Slide
10205
10206
10207  let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);
10208
10209  if (params.loop && prevSlide.length === 0) {
10210    prevSlide = slides.eq(-1);
10211    prevSlide.addClass(params.slidePrevClass);
10212  }
10213
10214  if (params.loop) {
10215    // Duplicate to all looped slides
10216    if (nextSlide.hasClass(params.slideDuplicateClass)) {
10217      $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
10218    } else {
10219      $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${nextSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicateNextClass);
10220    }
10221
10222    if (prevSlide.hasClass(params.slideDuplicateClass)) {
10223      $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
10224    } else {
10225      $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${prevSlide.attr('data-swiper-slide-index')}"]`).addClass(params.slideDuplicatePrevClass);
10226    }
10227  }
10228
10229  swiper.emitSlidesClasses();
10230}
10231
10232/***/ }),
10233
vendor: 843 bytes, lines 10234-10255
10234/***/ "./node_modules/swiper/core/update/updateSlidesOffset.js":
10235/*!***************************************************************!*\
10236  !*** ./node_modules/swiper/core/update/updateSlidesOffset.js ***!
10237  \***************************************************************/
10238/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10239
10240"use strict";
10241__webpack_require__.r(__webpack_exports__);
10242/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10243/* harmony export */   "default": () => (/* binding */ updateSlidesOffset)
10244/* harmony export */ });
10245function updateSlidesOffset() {
10246  const swiper = this;
10247  const slides = swiper.slides;
10248
10249  for (let i = 0; i < slides.length; i += 1) {
10250    slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;
10251  }
10252}
10253
10254/***/ }),
10255
vendor: 2,575 bytes, lines 10256-10314
10256/***/ "./node_modules/swiper/core/update/updateSlidesProgress.js":
10257/*!*****************************************************************!*\
10258  !*** ./node_modules/swiper/core/update/updateSlidesProgress.js ***!
10259  \*****************************************************************/
10260/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10261
10262"use strict";
10263__webpack_require__.r(__webpack_exports__);
10264/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10265/* harmony export */   "default": () => (/* binding */ updateSlidesProgress)
10266/* harmony export */ });
10267/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
10268
10269function updateSlidesProgress(translate = this && this.translate || 0) {
10270  const swiper = this;
10271  const params = swiper.params;
10272  const {
10273    slides,
10274    rtlTranslate: rtl,
10275    snapGrid
10276  } = swiper;
10277  if (slides.length === 0) return;
10278  if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();
10279  let offsetCenter = -translate;
10280  if (rtl) offsetCenter = translate; // Visible Slides
10281
10282  slides.removeClass(params.slideVisibleClass);
10283  swiper.visibleSlidesIndexes = [];
10284  swiper.visibleSlides = [];
10285
10286  for (let i = 0; i < slides.length; i += 1) {
10287    const slide = slides[i];
10288    let slideOffset = slide.swiperSlideOffset;
10289
10290    if (params.cssMode && params.centeredSlides) {
10291      slideOffset -= slides[0].swiperSlideOffset;
10292    }
10293
10294    const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);
10295    const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);
10296    const slideBefore = -(offsetCenter - slideOffset);
10297    const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
10298    const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;
10299
10300    if (isVisible) {
10301      swiper.visibleSlides.push(slide);
10302      swiper.visibleSlidesIndexes.push(i);
10303      slides.eq(i).addClass(params.slideVisibleClass);
10304    }
10305
10306    slide.progress = rtl ? -slideProgress : slideProgress;
10307    slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;
10308  }
10309
10310  swiper.visibleSlides = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.visibleSlides);
10311}
10312
10313/***/ }),
10314
vendor: 9,405 bytes, lines 10315-10624
10315/***/ "./node_modules/swiper/modules/a11y/a11y.js":
10316/*!**************************************************!*\
10317  !*** ./node_modules/swiper/modules/a11y/a11y.js ***!
10318  \**************************************************/
10319/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10320
10321"use strict";
10322__webpack_require__.r(__webpack_exports__);
10323/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10324/* harmony export */   "default": () => (/* binding */ A11y)
10325/* harmony export */ });
10326/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js");
10327/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
10328
10329
10330function A11y({
10331  swiper,
10332  extendParams,
10333  on
10334}) {
10335  extendParams({
10336    a11y: {
10337      enabled: true,
10338      notificationClass: 'swiper-notification',
10339      prevSlideMessage: 'Previous slide',
10340      nextSlideMessage: 'Next slide',
10341      firstSlideMessage: 'This is the first slide',
10342      lastSlideMessage: 'This is the last slide',
10343      paginationBulletMessage: 'Go to slide {{index}}',
10344      slideLabelMessage: '{{index}} / {{slidesLength}}',
10345      containerMessage: null,
10346      containerRoleDescriptionMessage: null,
10347      itemRoleDescriptionMessage: null,
10348      slideRole: 'group'
10349    }
10350  });
10351  let liveRegion = null;
10352
10353  function notify(message) {
10354    const notification = liveRegion;
10355    if (notification.length === 0) return;
10356    notification.html('');
10357    notification.html(message);
10358  }
10359
10360  function getRandomNumber(size = 16) {
10361    const randomChar = () => Math.round(16 * Math.random()).toString(16);
10362
10363    return 'x'.repeat(size).replace(/x/g, randomChar);
10364  }
10365
10366  function makeElFocusable($el) {
10367    $el.attr('tabIndex', '0');
10368  }
10369
10370  function makeElNotFocusable($el) {
10371    $el.attr('tabIndex', '-1');
10372  }
10373
10374  function addElRole($el, role) {
10375    $el.attr('role', role);
10376  }
10377
10378  function addElRoleDescription($el, description) {
10379    $el.attr('aria-roledescription', description);
10380  }
10381
10382  function addElControls($el, controls) {
10383    $el.attr('aria-controls', controls);
10384  }
10385
10386  function addElLabel($el, label) {
10387    $el.attr('aria-label', label);
10388  }
10389
10390  function addElId($el, id) {
10391    $el.attr('id', id);
10392  }
10393
10394  function addElLive($el, live) {
10395    $el.attr('aria-live', live);
10396  }
10397
10398  function disableEl($el) {
10399    $el.attr('aria-disabled', true);
10400  }
10401
10402  function enableEl($el) {
10403    $el.attr('aria-disabled', false);
10404  }
10405
10406  function onEnterOrSpaceKey(e) {
10407    if (e.keyCode !== 13 && e.keyCode !== 32) return;
10408    const params = swiper.params.a11y;
10409    const $targetEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target);
10410
10411    if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {
10412      if (!(swiper.isEnd && !swiper.params.loop)) {
10413        swiper.slideNext();
10414      }
10415
10416      if (swiper.isEnd) {
10417        notify(params.lastSlideMessage);
10418      } else {
10419        notify(params.nextSlideMessage);
10420      }
10421    }
10422
10423    if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {
10424      if (!(swiper.isBeginning && !swiper.params.loop)) {
10425        swiper.slidePrev();
10426      }
10427
10428      if (swiper.isBeginning) {
10429        notify(params.firstSlideMessage);
10430      } else {
10431        notify(params.prevSlideMessage);
10432      }
10433    }
10434
10435    if (swiper.pagination && $targetEl.is((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass))) {
10436      $targetEl[0].click();
10437    }
10438  }
10439
10440  function updateNavigation() {
10441    if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;
10442    const {
10443      $nextEl,
10444      $prevEl
10445    } = swiper.navigation;
10446
10447    if ($prevEl && $prevEl.length > 0) {
10448      if (swiper.isBeginning) {
10449        disableEl($prevEl);
10450        makeElNotFocusable($prevEl);
10451      } else {
10452        enableEl($prevEl);
10453        makeElFocusable($prevEl);
10454      }
10455    }
10456
10457    if ($nextEl && $nextEl.length > 0) {
10458      if (swiper.isEnd) {
10459        disableEl($nextEl);
10460        makeElNotFocusable($nextEl);
10461      } else {
10462        enableEl($nextEl);
10463        makeElFocusable($nextEl);
10464      }
10465    }
10466  }
10467
10468  function hasPagination() {
10469    return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;
10470  }
10471
10472  function hasClickablePagination() {
10473    return hasPagination() && swiper.params.pagination.clickable;
10474  }
10475
10476  function updatePagination() {
10477    const params = swiper.params.a11y;
10478    if (!hasPagination()) return;
10479    swiper.pagination.bullets.each(bulletEl => {
10480      const $bulletEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(bulletEl);
10481
10482      if (swiper.params.pagination.clickable) {
10483        makeElFocusable($bulletEl);
10484
10485        if (!swiper.params.pagination.renderBullet) {
10486          addElRole($bulletEl, 'button');
10487          addElLabel($bulletEl, params.paginationBulletMessage.replace(/\{\{index\}\}/, $bulletEl.index() + 1));
10488        }
10489      }
10490
10491      if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {
10492        $bulletEl.attr('aria-current', 'true');
10493      } else {
10494        $bulletEl.removeAttr('aria-current');
10495      }
10496    });
10497  }
10498
10499  const initNavEl = ($el, wrapperId, message) => {
10500    makeElFocusable($el);
10501
10502    if ($el[0].tagName !== 'BUTTON') {
10503      addElRole($el, 'button');
10504      $el.on('keydown', onEnterOrSpaceKey);
10505    }
10506
10507    addElLabel($el, message);
10508    addElControls($el, wrapperId);
10509  };
10510
10511  function init() {
10512    const params = swiper.params.a11y;
10513    swiper.$el.append(liveRegion); // Container
10514
10515    const $containerEl = swiper.$el;
10516
10517    if (params.containerRoleDescriptionMessage) {
10518      addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);
10519    }
10520
10521    if (params.containerMessage) {
10522      addElLabel($containerEl, params.containerMessage);
10523    } // Wrapper
10524
10525
10526    const $wrapperEl = swiper.$wrapperEl;
10527    const wrapperId = $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`;
10528    const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';
10529    addElId($wrapperEl, wrapperId);
10530    addElLive($wrapperEl, live); // Slide
10531
10532    if (params.itemRoleDescriptionMessage) {
10533      addElRoleDescription((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.itemRoleDescriptionMessage);
10534    }
10535
10536    addElRole((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.slides), params.slideRole);
10537    const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length;
10538    swiper.slides.each((slideEl, index) => {
10539      const $slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl);
10540      const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;
10541      const ariaLabelMessage = params.slideLabelMessage.replace(/\{\{index\}\}/, slideIndex + 1).replace(/\{\{slidesLength\}\}/, slidesLength);
10542      addElLabel($slideEl, ariaLabelMessage);
10543    }); // Navigation
10544
10545    let $nextEl;
10546    let $prevEl;
10547
10548    if (swiper.navigation && swiper.navigation.$nextEl) {
10549      $nextEl = swiper.navigation.$nextEl;
10550    }
10551
10552    if (swiper.navigation && swiper.navigation.$prevEl) {
10553      $prevEl = swiper.navigation.$prevEl;
10554    }
10555
10556    if ($nextEl && $nextEl.length) {
10557      initNavEl($nextEl, wrapperId, params.nextSlideMessage);
10558    }
10559
10560    if ($prevEl && $prevEl.length) {
10561      initNavEl($prevEl, wrapperId, params.prevSlideMessage);
10562    } // Pagination
10563
10564
10565    if (hasClickablePagination()) {
10566      swiper.pagination.$el.on('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);
10567    }
10568  }
10569
10570  function destroy() {
10571    if (liveRegion && liveRegion.length > 0) liveRegion.remove();
10572    let $nextEl;
10573    let $prevEl;
10574
10575    if (swiper.navigation && swiper.navigation.$nextEl) {
10576      $nextEl = swiper.navigation.$nextEl;
10577    }
10578
10579    if (swiper.navigation && swiper.navigation.$prevEl) {
10580      $prevEl = swiper.navigation.$prevEl;
10581    }
10582
10583    if ($nextEl) {
10584      $nextEl.off('keydown', onEnterOrSpaceKey);
10585    }
10586
10587    if ($prevEl) {
10588      $prevEl.off('keydown', onEnterOrSpaceKey);
10589    } // Pagination
10590
10591
10592    if (hasClickablePagination()) {
10593      swiper.pagination.$el.off('keydown', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);
10594    }
10595  }
10596
10597  on('beforeInit', () => {
10598    liveRegion = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<span class="${swiper.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`);
10599  });
10600  on('afterInit', () => {
10601    if (!swiper.params.a11y.enabled) return;
10602    init();
10603    updateNavigation();
10604  });
10605  on('toEdge', () => {
10606    if (!swiper.params.a11y.enabled) return;
10607    updateNavigation();
10608  });
10609  on('fromEdge', () => {
10610    if (!swiper.params.a11y.enabled) return;
10611    updateNavigation();
10612  });
10613  on('paginationUpdate', () => {
10614    if (!swiper.params.a11y.enabled) return;
10615    updatePagination();
10616  });
10617  on('destroy', () => {
10618    if (!swiper.params.a11y.enabled) return;
10619    destroy();
10620  });
10621}
10622
10623/***/ }),
10624
vendor: 6,774 bytes, lines 10625-10862
10625/***/ "./node_modules/swiper/modules/autoplay/autoplay.js":
10626/*!**********************************************************!*\
10627  !*** ./node_modules/swiper/modules/autoplay/autoplay.js ***!
10628  \**********************************************************/
10629/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10630
10631"use strict";
10632__webpack_require__.r(__webpack_exports__);
10633/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10634/* harmony export */   "default": () => (/* binding */ Autoplay)
10635/* harmony export */ });
10636/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
10637/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
10638/* eslint no-underscore-dangle: "off" */
10639
10640/* eslint no-use-before-define: "off" */
10641
10642
10643function Autoplay({
10644  swiper,
10645  extendParams,
10646  on,
10647  emit
10648}) {
10649  let timeout;
10650  swiper.autoplay = {
10651    running: false,
10652    paused: false
10653  };
10654  extendParams({
10655    autoplay: {
10656      enabled: false,
10657      delay: 3000,
10658      waitForTransition: true,
10659      disableOnInteraction: true,
10660      stopOnLastSlide: false,
10661      reverseDirection: false,
10662      pauseOnMouseEnter: false
10663    }
10664  });
10665
10666  function run() {
10667    const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);
10668    let delay = swiper.params.autoplay.delay;
10669
10670    if ($activeSlideEl.attr('data-swiper-autoplay')) {
10671      delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;
10672    }
10673
10674    clearTimeout(timeout);
10675    timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.nextTick)(() => {
10676      let autoplayResult;
10677
10678      if (swiper.params.autoplay.reverseDirection) {
10679        if (swiper.params.loop) {
10680          swiper.loopFix();
10681          autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
10682          emit('autoplay');
10683        } else if (!swiper.isBeginning) {
10684          autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
10685          emit('autoplay');
10686        } else if (!swiper.params.autoplay.stopOnLastSlide) {
10687          autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);
10688          emit('autoplay');
10689        } else {
10690          stop();
10691        }
10692      } else if (swiper.params.loop) {
10693        swiper.loopFix();
10694        autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
10695        emit('autoplay');
10696      } else if (!swiper.isEnd) {
10697        autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
10698        emit('autoplay');
10699      } else if (!swiper.params.autoplay.stopOnLastSlide) {
10700        autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);
10701        emit('autoplay');
10702      } else {
10703        stop();
10704      }
10705
10706      if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) {
10707        run();
10708      }
10709    }, delay);
10710  }
10711
10712  function start() {
10713    if (typeof timeout !== 'undefined') return false;
10714    if (swiper.autoplay.running) return false;
10715    swiper.autoplay.running = true;
10716    emit('autoplayStart');
10717    run();
10718    return true;
10719  }
10720
10721  function stop() {
10722    if (!swiper.autoplay.running) return false;
10723    if (typeof timeout === 'undefined') return false;
10724
10725    if (timeout) {
10726      clearTimeout(timeout);
10727      timeout = undefined;
10728    }
10729
10730    swiper.autoplay.running = false;
10731    emit('autoplayStop');
10732    return true;
10733  }
10734
10735  function pause(speed) {
10736    if (!swiper.autoplay.running) return;
10737    if (swiper.autoplay.paused) return;
10738    if (timeout) clearTimeout(timeout);
10739    swiper.autoplay.paused = true;
10740
10741    if (speed === 0 || !swiper.params.autoplay.waitForTransition) {
10742      swiper.autoplay.paused = false;
10743      run();
10744    } else {
10745      ['transitionend', 'webkitTransitionEnd'].forEach(event => {
10746        swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);
10747      });
10748    }
10749  }
10750
10751  function onVisibilityChange() {
10752    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10753
10754    if (document.visibilityState === 'hidden' && swiper.autoplay.running) {
10755      pause();
10756    }
10757
10758    if (document.visibilityState === 'visible' && swiper.autoplay.paused) {
10759      run();
10760      swiper.autoplay.paused = false;
10761    }
10762  }
10763
10764  function onTransitionEnd(e) {
10765    if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;
10766    if (e.target !== swiper.$wrapperEl[0]) return;
10767    ['transitionend', 'webkitTransitionEnd'].forEach(event => {
10768      swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
10769    });
10770    swiper.autoplay.paused = false;
10771
10772    if (!swiper.autoplay.running) {
10773      stop();
10774    } else {
10775      run();
10776    }
10777  }
10778
10779  function onMouseEnter() {
10780    if (swiper.params.autoplay.disableOnInteraction) {
10781      stop();
10782    } else {
10783      pause();
10784    }
10785
10786    ['transitionend', 'webkitTransitionEnd'].forEach(event => {
10787      swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
10788    });
10789  }
10790
10791  function onMouseLeave() {
10792    if (swiper.params.autoplay.disableOnInteraction) {
10793      return;
10794    }
10795
10796    swiper.autoplay.paused = false;
10797    run();
10798  }
10799
10800  function attachMouseEvents() {
10801    if (swiper.params.autoplay.pauseOnMouseEnter) {
10802      swiper.$el.on('mouseenter', onMouseEnter);
10803      swiper.$el.on('mouseleave', onMouseLeave);
10804    }
10805  }
10806
10807  function detachMouseEvents() {
10808    swiper.$el.off('mouseenter', onMouseEnter);
10809    swiper.$el.off('mouseleave', onMouseLeave);
10810  }
10811
10812  on('init', () => {
10813    if (swiper.params.autoplay.enabled) {
10814      start();
10815      const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10816      document.addEventListener('visibilitychange', onVisibilityChange);
10817      attachMouseEvents();
10818    }
10819  });
10820  on('beforeTransitionStart', (_s, speed, internal) => {
10821    if (swiper.autoplay.running) {
10822      if (internal || !swiper.params.autoplay.disableOnInteraction) {
10823        swiper.autoplay.pause(speed);
10824      } else {
10825        stop();
10826      }
10827    }
10828  });
10829  on('sliderFirstMove', () => {
10830    if (swiper.autoplay.running) {
10831      if (swiper.params.autoplay.disableOnInteraction) {
10832        stop();
10833      } else {
10834        pause();
10835      }
10836    }
10837  });
10838  on('touchEnd', () => {
10839    if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {
10840      run();
10841    }
10842  });
10843  on('destroy', () => {
10844    detachMouseEvents();
10845
10846    if (swiper.autoplay.running) {
10847      stop();
10848    }
10849
10850    const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
10851    document.removeEventListener('visibilitychange', onVisibilityChange);
10852  });
10853  Object.assign(swiper.autoplay, {
10854    pause,
10855    run,
10856    start,
10857    stop
10858  });
10859}
10860
10861/***/ }),
10862
vendor: 6,402 bytes, lines 10863-11068
10863/***/ "./node_modules/swiper/modules/controller/controller.js":
10864/*!**************************************************************!*\
10865  !*** ./node_modules/swiper/modules/controller/controller.js ***!
10866  \**************************************************************/
10867/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
10868
10869"use strict";
10870__webpack_require__.r(__webpack_exports__);
10871/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10872/* harmony export */   "default": () => (/* binding */ Controller)
10873/* harmony export */ });
10874/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
10875/* eslint no-bitwise: ["error", { "allow": [">>"] }] */
10876
10877function Controller({
10878  swiper,
10879  extendParams,
10880  on
10881}) {
10882  extendParams({
10883    controller: {
10884      control: undefined,
10885      inverse: false,
10886      by: 'slide' // or 'container'
10887
10888    }
10889  });
10890  swiper.controller = {
10891    control: undefined
10892  };
10893
10894  function LinearSpline(x, y) {
10895    const binarySearch = function search() {
10896      let maxIndex;
10897      let minIndex;
10898      let guess;
10899      return (array, val) => {
10900        minIndex = -1;
10901        maxIndex = array.length;
10902
10903        while (maxIndex - minIndex > 1) {
10904          guess = maxIndex + minIndex >> 1;
10905
10906          if (array[guess] <= val) {
10907            minIndex = guess;
10908          } else {
10909            maxIndex = guess;
10910          }
10911        }
10912
10913        return maxIndex;
10914      };
10915    }();
10916
10917    this.x = x;
10918    this.y = y;
10919    this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:
10920    // (x1,y1) is the known point before given value,
10921    // (x3,y3) is the known point after given value.
10922
10923    let i1;
10924    let i3;
10925
10926    this.interpolate = function interpolate(x2) {
10927      if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):
10928
10929      i3 = binarySearch(this.x, x2);
10930      i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:
10931      // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
10932
10933      return (x2 - this.x[i1]) * (this.y[i3] - this.y[i1]) / (this.x[i3] - this.x[i1]) + this.y[i1];
10934    };
10935
10936    return this;
10937  } // xxx: for now i will just save one spline function to to
10938
10939
10940  function getInterpolateFunction(c) {
10941    if (!swiper.controller.spline) {
10942      swiper.controller.spline = swiper.params.loop ? new LinearSpline(swiper.slidesGrid, c.slidesGrid) : new LinearSpline(swiper.snapGrid, c.snapGrid);
10943    }
10944  }
10945
10946  function setTranslate(_t, byController) {
10947    const controlled = swiper.controller.control;
10948    let multiplier;
10949    let controlledTranslate;
10950    const Swiper = swiper.constructor;
10951
10952    function setControlledTranslate(c) {
10953      // this will create an Interpolate function based on the snapGrids
10954      // x is the Grid of the scrolled scroller and y will be the controlled scroller
10955      // it makes sense to create this only once and recall it for the interpolation
10956      // the function does a lot of value caching for performance
10957      const translate = swiper.rtlTranslate ? -swiper.translate : swiper.translate;
10958
10959      if (swiper.params.controller.by === 'slide') {
10960        getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
10961        // but it did not work out
10962
10963        controlledTranslate = -swiper.controller.spline.interpolate(-translate);
10964      }
10965
10966      if (!controlledTranslate || swiper.params.controller.by === 'container') {
10967        multiplier = (c.maxTranslate() - c.minTranslate()) / (swiper.maxTranslate() - swiper.minTranslate());
10968        controlledTranslate = (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
10969      }
10970
10971      if (swiper.params.controller.inverse) {
10972        controlledTranslate = c.maxTranslate() - controlledTranslate;
10973      }
10974
10975      c.updateProgress(controlledTranslate);
10976      c.setTranslate(controlledTranslate, swiper);
10977      c.updateActiveIndex();
10978      c.updateSlidesClasses();
10979    }
10980
10981    if (Array.isArray(controlled)) {
10982      for (let i = 0; i < controlled.length; i += 1) {
10983        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
10984          setControlledTranslate(controlled[i]);
10985        }
10986      }
10987    } else if (controlled instanceof Swiper && byController !== controlled) {
10988      setControlledTranslate(controlled);
10989    }
10990  }
10991
10992  function setTransition(duration, byController) {
10993    const Swiper = swiper.constructor;
10994    const controlled = swiper.controller.control;
10995    let i;
10996
10997    function setControlledTransition(c) {
10998      c.setTransition(duration, swiper);
10999
11000      if (duration !== 0) {
11001        c.transitionStart();
11002
11003        if (c.params.autoHeight) {
11004          (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.nextTick)(() => {
11005            c.updateAutoHeight();
11006          });
11007        }
11008
11009        c.$wrapperEl.transitionEnd(() => {
11010          if (!controlled) return;
11011
11012          if (c.params.loop && swiper.params.controller.by === 'slide') {
11013            c.loopFix();
11014          }
11015
11016          c.transitionEnd();
11017        });
11018      }
11019    }
11020
11021    if (Array.isArray(controlled)) {
11022      for (i = 0; i < controlled.length; i += 1) {
11023        if (controlled[i] !== byController && controlled[i] instanceof Swiper) {
11024          setControlledTransition(controlled[i]);
11025        }
11026      }
11027    } else if (controlled instanceof Swiper && byController !== controlled) {
11028      setControlledTransition(controlled);
11029    }
11030  }
11031
11032  function removeSpline() {
11033    if (!swiper.controller.control) return;
11034
11035    if (swiper.controller.spline) {
11036      swiper.controller.spline = undefined;
11037      delete swiper.controller.spline;
11038    }
11039  }
11040
11041  on('beforeInit', () => {
11042    swiper.controller.control = swiper.params.controller.control;
11043  });
11044  on('update', () => {
11045    removeSpline();
11046  });
11047  on('resize', () => {
11048    removeSpline();
11049  });
11050  on('observerUpdate', () => {
11051    removeSpline();
11052  });
11053  on('setTranslate', (_s, translate, byController) => {
11054    if (!swiper.controller.control) return;
11055    swiper.controller.setTranslate(translate, byController);
11056  });
11057  on('setTransition', (_s, duration, byController) => {
11058    if (!swiper.controller.control) return;
11059    swiper.controller.setTransition(duration, byController);
11060  });
11061  Object.assign(swiper.controller, {
11062    setTranslate,
11063    setTransition
11064  });
11065}
11066
11067/***/ }),
11068
vendor: 5,318 bytes, lines 11069-11211
11069/***/ "./node_modules/swiper/modules/effect-cards/effect-cards.js":
11070/*!******************************************************************!*\
11071  !*** ./node_modules/swiper/modules/effect-cards/effect-cards.js ***!
11072  \******************************************************************/
11073/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11074
11075"use strict";
11076__webpack_require__.r(__webpack_exports__);
11077/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11078/* harmony export */   "default": () => (/* binding */ EffectCards)
11079/* harmony export */ });
11080/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
11081/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11082/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
11083/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
11084
11085
11086
11087
11088function EffectCards({
11089  swiper,
11090  extendParams,
11091  on
11092}) {
11093  extendParams({
11094    cardsEffect: {
11095      slideShadows: true,
11096      transformEl: null
11097    }
11098  });
11099
11100  const setTranslate = () => {
11101    const {
11102      slides,
11103      activeIndex
11104    } = swiper;
11105    const params = swiper.params.cardsEffect;
11106    const {
11107      startTranslate,
11108      isTouched
11109    } = swiper.touchEventsData;
11110    const currentTranslate = swiper.translate;
11111
11112    for (let i = 0; i < slides.length; i += 1) {
11113      const $slideEl = slides.eq(i);
11114      const slideProgress = $slideEl[0].progress;
11115      const progress = Math.min(Math.max(slideProgress, -4), 4);
11116      let offset = $slideEl[0].swiperSlideOffset;
11117
11118      if (swiper.params.centeredSlides && !swiper.params.cssMode) {
11119        swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);
11120      }
11121
11122      if (swiper.params.centeredSlides && swiper.params.cssMode) {
11123        offset -= slides[0].swiperSlideOffset;
11124      }
11125
11126      let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
11127      let tY = 0;
11128      const tZ = -100 * Math.abs(progress);
11129      let scale = 1;
11130      let rotate = -2 * progress;
11131      let tXAdd = 8 - Math.abs(progress) * 0.75;
11132      const isSwipeToNext = (i === activeIndex || i === activeIndex - 1) && progress > 0 && progress < 1 && (isTouched || swiper.params.cssMode) && currentTranslate < startTranslate;
11133      const isSwipeToPrev = (i === activeIndex || i === activeIndex + 1) && progress < 0 && progress > -1 && (isTouched || swiper.params.cssMode) && currentTranslate > startTranslate;
11134
11135      if (isSwipeToNext || isSwipeToPrev) {
11136        const subProgress = (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
11137        rotate += -28 * progress * subProgress;
11138        scale += -0.5 * subProgress;
11139        tXAdd += 96 * subProgress;
11140        tY = `${-25 * subProgress * Math.abs(progress)}%`;
11141      }
11142
11143      if (progress < 0) {
11144        // next
11145        tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;
11146      } else if (progress > 0) {
11147        // prev
11148        tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;
11149      } else {
11150        tX = `${tX}px`;
11151      }
11152
11153      if (!swiper.isHorizontal()) {
11154        const prevY = tY;
11155        tY = tX;
11156        tX = prevY;
11157      }
11158
11159      const scaleString = progress < 0 ? `${1 + (1 - scale) * progress}` : `${1 - (1 - scale) * progress}`;
11160      const transform = `
11161        translate3d(${tX}, ${tY}, ${tZ}px)
11162        rotateZ(${rotate}deg)
11163        scale(${scaleString})
11164      `;
11165
11166      if (params.slideShadows) {
11167        // Set shadows
11168        let $shadowEl = $slideEl.find('.swiper-slide-shadow');
11169
11170        if ($shadowEl.length === 0) {
11171          $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl);
11172        }
11173
11174        if ($shadowEl.length) $shadowEl[0].style.opacity = Math.min(Math.max((Math.abs(progress) - 0.5) / 0.5, 0), 1);
11175      }
11176
11177      $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
11178      const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
11179      $targetEl.transform(transform);
11180    }
11181  };
11182
11183  const setTransition = duration => {
11184    const {
11185      transformEl
11186    } = swiper.params.cardsEffect;
11187    const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
11188    $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);
11189    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
11190      swiper,
11191      duration,
11192      transformEl
11193    });
11194  };
11195
11196  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
11197    effect: 'cards',
11198    swiper,
11199    on,
11200    setTranslate,
11201    setTransition,
11202    perspective: () => true,
11203    overwriteParams: () => ({
11204      watchSlidesProgress: true,
11205      virtualTranslate: !swiper.params.cssMode
11206    })
11207  });
11208}
11209
11210/***/ }),
11211
vendor: 5,330 bytes, lines 11212-11331
11212/***/ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js":
11213/*!**************************************************************************!*\
11214  !*** ./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js ***!
11215  \**************************************************************************/
11216/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11217
11218"use strict";
11219__webpack_require__.r(__webpack_exports__);
11220/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11221/* harmony export */   "default": () => (/* binding */ EffectCoverflow)
11222/* harmony export */ });
11223/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
11224/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11225/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
11226
11227
11228
11229function EffectCoverflow({
11230  swiper,
11231  extendParams,
11232  on
11233}) {
11234  extendParams({
11235    coverflowEffect: {
11236      rotate: 50,
11237      stretch: 0,
11238      depth: 100,
11239      scale: 1,
11240      modifier: 1,
11241      slideShadows: true,
11242      transformEl: null
11243    }
11244  });
11245
11246  const setTranslate = () => {
11247    const {
11248      width: swiperWidth,
11249      height: swiperHeight,
11250      slides,
11251      slidesSizesGrid
11252    } = swiper;
11253    const params = swiper.params.coverflowEffect;
11254    const isHorizontal = swiper.isHorizontal();
11255    const transform = swiper.translate;
11256    const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;
11257    const rotate = isHorizontal ? params.rotate : -params.rotate;
11258    const translate = params.depth; // Each slide offset from center
11259
11260    for (let i = 0, length = slides.length; i < length; i += 1) {
11261      const $slideEl = slides.eq(i);
11262      const slideSize = slidesSizesGrid[i];
11263      const slideOffset = $slideEl[0].swiperSlideOffset;
11264      const offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;
11265      let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
11266      let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0
11267
11268      let translateZ = -translate * Math.abs(offsetMultiplier);
11269      let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders
11270
11271      if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {
11272        stretch = parseFloat(params.stretch) / 100 * slideSize;
11273      }
11274
11275      let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
11276      let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
11277      let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values
11278
11279      if (Math.abs(translateX) < 0.001) translateX = 0;
11280      if (Math.abs(translateY) < 0.001) translateY = 0;
11281      if (Math.abs(translateZ) < 0.001) translateZ = 0;
11282      if (Math.abs(rotateY) < 0.001) rotateY = 0;
11283      if (Math.abs(rotateX) < 0.001) rotateX = 0;
11284      if (Math.abs(scale) < 0.001) scale = 0;
11285      const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px)  rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
11286      const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
11287      $targetEl.transform(slideTransform);
11288      $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
11289
11290      if (params.slideShadows) {
11291        // Set shadows
11292        let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
11293        let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
11294
11295        if ($shadowBeforeEl.length === 0) {
11296          $shadowBeforeEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'left' : 'top');
11297        }
11298
11299        if ($shadowAfterEl.length === 0) {
11300          $shadowAfterEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, isHorizontal ? 'right' : 'bottom');
11301        }
11302
11303        if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;
11304        if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;
11305      }
11306    }
11307  };
11308
11309  const setTransition = duration => {
11310    const {
11311      transformEl
11312    } = swiper.params.coverflowEffect;
11313    const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
11314    $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
11315  };
11316
11317  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
11318    effect: 'coverflow',
11319    swiper,
11320    on,
11321    setTranslate,
11322    setTransition,
11323    perspective: () => true,
11324    overwriteParams: () => ({
11325      watchSlidesProgress: true
11326    })
11327  });
11328}
11329
11330/***/ }),
11331
vendor: 6,169 bytes, lines 11332-11503
11332/***/ "./node_modules/swiper/modules/effect-creative/effect-creative.js":
11333/*!************************************************************************!*\
11334  !*** ./node_modules/swiper/modules/effect-creative/effect-creative.js ***!
11335  \************************************************************************/
11336/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11337
11338"use strict";
11339__webpack_require__.r(__webpack_exports__);
11340/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11341/* harmony export */   "default": () => (/* binding */ EffectCreative)
11342/* harmony export */ });
11343/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
11344/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11345/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
11346/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
11347
11348
11349
11350
11351function EffectCreative({
11352  swiper,
11353  extendParams,
11354  on
11355}) {
11356  extendParams({
11357    creativeEffect: {
11358      transformEl: null,
11359      limitProgress: 1,
11360      shadowPerProgress: false,
11361      progressMultiplier: 1,
11362      perspective: true,
11363      prev: {
11364        translate: [0, 0, 0],
11365        rotate: [0, 0, 0],
11366        opacity: 1,
11367        scale: 1
11368      },
11369      next: {
11370        translate: [0, 0, 0],
11371        rotate: [0, 0, 0],
11372        opacity: 1,
11373        scale: 1
11374      }
11375    }
11376  });
11377
11378  const getTranslateValue = value => {
11379    if (typeof value === 'string') return value;
11380    return `${value}px`;
11381  };
11382
11383  const setTranslate = () => {
11384    const {
11385      slides,
11386      $wrapperEl,
11387      slidesSizesGrid
11388    } = swiper;
11389    const params = swiper.params.creativeEffect;
11390    const {
11391      progressMultiplier: multiplier
11392    } = params;
11393    const isCenteredSlides = swiper.params.centeredSlides;
11394
11395    if (isCenteredSlides) {
11396      const margin = slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
11397      $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);
11398    }
11399
11400    for (let i = 0; i < slides.length; i += 1) {
11401      const $slideEl = slides.eq(i);
11402      const slideProgress = $slideEl[0].progress;
11403      const progress = Math.min(Math.max($slideEl[0].progress, -params.limitProgress), params.limitProgress);
11404      let originalProgress = progress;
11405
11406      if (!isCenteredSlides) {
11407        originalProgress = Math.min(Math.max($slideEl[0].originalProgress, -params.limitProgress), params.limitProgress);
11408      }
11409
11410      const offset = $slideEl[0].swiperSlideOffset;
11411      const t = [swiper.params.cssMode ? -offset - swiper.translate : -offset, 0, 0];
11412      const r = [0, 0, 0];
11413      let custom = false;
11414
11415      if (!swiper.isHorizontal()) {
11416        t[1] = t[0];
11417        t[0] = 0;
11418      }
11419
11420      let data = {
11421        translate: [0, 0, 0],
11422        rotate: [0, 0, 0],
11423        scale: 1,
11424        opacity: 1
11425      };
11426
11427      if (progress < 0) {
11428        data = params.next;
11429        custom = true;
11430      } else if (progress > 0) {
11431        data = params.prev;
11432        custom = true;
11433      } // set translate
11434
11435
11436      t.forEach((value, index) => {
11437        t[index] = `calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`;
11438      }); // set rotates
11439
11440      r.forEach((value, index) => {
11441        r[index] = data.rotate[index] * Math.abs(progress * multiplier);
11442      });
11443      $slideEl[0].style.zIndex = -Math.abs(Math.round(slideProgress)) + slides.length;
11444      const translateString = t.join(', ');
11445      const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
11446      const scaleString = originalProgress < 0 ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})` : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
11447      const opacityString = originalProgress < 0 ? 1 + (1 - data.opacity) * originalProgress * multiplier : 1 - (1 - data.opacity) * originalProgress * multiplier;
11448      const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows
11449
11450      if (custom && data.shadow || !custom) {
11451        let $shadowEl = $slideEl.children('.swiper-slide-shadow');
11452
11453        if ($shadowEl.length === 0 && data.shadow) {
11454          $shadowEl = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl);
11455        }
11456
11457        if ($shadowEl.length) {
11458          const shadowOpacity = params.shadowPerProgress ? progress * (1 / params.limitProgress) : progress;
11459          $shadowEl[0].style.opacity = Math.min(Math.max(Math.abs(shadowOpacity), 0), 1);
11460        }
11461      }
11462
11463      const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
11464      $targetEl.transform(transform).css({
11465        opacity: opacityString
11466      });
11467
11468      if (data.origin) {
11469        $targetEl.css('transform-origin', data.origin);
11470      }
11471    }
11472  };
11473
11474  const setTransition = duration => {
11475    const {
11476      transformEl
11477    } = swiper.params.creativeEffect;
11478    const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
11479    $transitionElements.transition(duration).find('.swiper-slide-shadow').transition(duration);
11480    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
11481      swiper,
11482      duration,
11483      transformEl,
11484      allSlides: true
11485    });
11486  };
11487
11488  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
11489    effect: 'creative',
11490    swiper,
11491    on,
11492    setTranslate,
11493    setTransition,
11494    perspective: () => swiper.params.creativeEffect.perspective,
11495    overwriteParams: () => ({
11496      watchSlidesProgress: true,
11497      virtualTranslate: !swiper.params.cssMode
11498    })
11499  });
11500}
11501
11502/***/ }),
11503
vendor: 6,822 bytes, lines 11504-11699
11504/***/ "./node_modules/swiper/modules/effect-cube/effect-cube.js":
11505/*!****************************************************************!*\
11506  !*** ./node_modules/swiper/modules/effect-cube/effect-cube.js ***!
11507  \****************************************************************/
11508/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11509
11510"use strict";
11511__webpack_require__.r(__webpack_exports__);
11512/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11513/* harmony export */   "default": () => (/* binding */ EffectCube)
11514/* harmony export */ });
11515/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
11516/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11517
11518
11519function EffectCube({
11520  swiper,
11521  extendParams,
11522  on
11523}) {
11524  extendParams({
11525    cubeEffect: {
11526      slideShadows: true,
11527      shadow: true,
11528      shadowOffset: 20,
11529      shadowScale: 0.94
11530    }
11531  });
11532
11533  const setTranslate = () => {
11534    const {
11535      $el,
11536      $wrapperEl,
11537      slides,
11538      width: swiperWidth,
11539      height: swiperHeight,
11540      rtlTranslate: rtl,
11541      size: swiperSize,
11542      browser
11543    } = swiper;
11544    const params = swiper.params.cubeEffect;
11545    const isHorizontal = swiper.isHorizontal();
11546    const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
11547    let wrapperRotate = 0;
11548    let $cubeShadowEl;
11549
11550    if (params.shadow) {
11551      if (isHorizontal) {
11552        $cubeShadowEl = $wrapperEl.find('.swiper-cube-shadow');
11553
11554        if ($cubeShadowEl.length === 0) {
11555          $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>');
11556          $wrapperEl.append($cubeShadowEl);
11557        }
11558
11559        $cubeShadowEl.css({
11560          height: `${swiperWidth}px`
11561        });
11562      } else {
11563        $cubeShadowEl = $el.find('.swiper-cube-shadow');
11564
11565        if ($cubeShadowEl.length === 0) {
11566          $cubeShadowEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])('<div class="swiper-cube-shadow"></div>');
11567          $el.append($cubeShadowEl);
11568        }
11569      }
11570    }
11571
11572    for (let i = 0; i < slides.length; i += 1) {
11573      const $slideEl = slides.eq(i);
11574      let slideIndex = i;
11575
11576      if (isVirtual) {
11577        slideIndex = parseInt($slideEl.attr('data-swiper-slide-index'), 10);
11578      }
11579
11580      let slideAngle = slideIndex * 90;
11581      let round = Math.floor(slideAngle / 360);
11582
11583      if (rtl) {
11584        slideAngle = -slideAngle;
11585        round = Math.floor(-slideAngle / 360);
11586      }
11587
11588      const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
11589      let tx = 0;
11590      let ty = 0;
11591      let tz = 0;
11592
11593      if (slideIndex % 4 === 0) {
11594        tx = -round * 4 * swiperSize;
11595        tz = 0;
11596      } else if ((slideIndex - 1) % 4 === 0) {
11597        tx = 0;
11598        tz = -round * 4 * swiperSize;
11599      } else if ((slideIndex - 2) % 4 === 0) {
11600        tx = swiperSize + round * 4 * swiperSize;
11601        tz = swiperSize;
11602      } else if ((slideIndex - 3) % 4 === 0) {
11603        tx = -swiperSize;
11604        tz = 3 * swiperSize + swiperSize * 4 * round;
11605      }
11606
11607      if (rtl) {
11608        tx = -tx;
11609      }
11610
11611      if (!isHorizontal) {
11612        ty = tx;
11613        tx = 0;
11614      }
11615
11616      const transform = `rotateX(${isHorizontal ? 0 : -slideAngle}deg) rotateY(${isHorizontal ? slideAngle : 0}deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
11617
11618      if (progress <= 1 && progress > -1) {
11619        wrapperRotate = slideIndex * 90 + progress * 90;
11620        if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
11621      }
11622
11623      $slideEl.transform(transform);
11624
11625      if (params.slideShadows) {
11626        // Set shadows
11627        let shadowBefore = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
11628        let shadowAfter = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
11629
11630        if (shadowBefore.length === 0) {
11631          shadowBefore = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}"></div>`);
11632          $slideEl.append(shadowBefore);
11633        }
11634
11635        if (shadowAfter.length === 0) {
11636          shadowAfter = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}"></div>`);
11637          $slideEl.append(shadowAfter);
11638        }
11639
11640        if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);
11641        if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);
11642      }
11643    }
11644
11645    $wrapperEl.css({
11646      '-webkit-transform-origin': `50% 50% -${swiperSize / 2}px`,
11647      'transform-origin': `50% 50% -${swiperSize / 2}px`
11648    });
11649
11650    if (params.shadow) {
11651      if (isHorizontal) {
11652        $cubeShadowEl.transform(`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`);
11653      } else {
11654        const shadowAngle = Math.abs(wrapperRotate) - Math.floor(Math.abs(wrapperRotate) / 90) * 90;
11655        const multiplier = 1.5 - (Math.sin(shadowAngle * 2 * Math.PI / 360) / 2 + Math.cos(shadowAngle * 2 * Math.PI / 360) / 2);
11656        const scale1 = params.shadowScale;
11657        const scale2 = params.shadowScale / multiplier;
11658        const offset = params.shadowOffset;
11659        $cubeShadowEl.transform(`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`);
11660      }
11661    }
11662
11663    const zFactor = browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;
11664    $wrapperEl.transform(`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`);
11665  };
11666
11667  const setTransition = duration => {
11668    const {
11669      $el,
11670      slides
11671    } = swiper;
11672    slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
11673
11674    if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
11675      $el.find('.swiper-cube-shadow').transition(duration);
11676    }
11677  };
11678
11679  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
11680    effect: 'cube',
11681    swiper,
11682    on,
11683    setTranslate,
11684    setTransition,
11685    perspective: () => true,
11686    overwriteParams: () => ({
11687      slidesPerView: 1,
11688      slidesPerGroup: 1,
11689      watchSlidesProgress: true,
11690      resistanceRatio: 0,
11691      spaceBetween: 0,
11692      centeredSlides: false,
11693      virtualTranslate: true
11694    })
11695  });
11696}
11697
11698/***/ }),
11699
vendor: 2,975 bytes, lines 11700-11786
11700/***/ "./node_modules/swiper/modules/effect-fade/effect-fade.js":
11701/*!****************************************************************!*\
11702  !*** ./node_modules/swiper/modules/effect-fade/effect-fade.js ***!
11703  \****************************************************************/
11704/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11705
11706"use strict";
11707__webpack_require__.r(__webpack_exports__);
11708/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11709/* harmony export */   "default": () => (/* binding */ EffectFade)
11710/* harmony export */ });
11711/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11712/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
11713/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
11714
11715
11716
11717function EffectFade({
11718  swiper,
11719  extendParams,
11720  on
11721}) {
11722  extendParams({
11723    fadeEffect: {
11724      crossFade: false,
11725      transformEl: null
11726    }
11727  });
11728
11729  const setTranslate = () => {
11730    const {
11731      slides
11732    } = swiper;
11733    const params = swiper.params.fadeEffect;
11734
11735    for (let i = 0; i < slides.length; i += 1) {
11736      const $slideEl = swiper.slides.eq(i);
11737      const offset = $slideEl[0].swiperSlideOffset;
11738      let tx = -offset;
11739      if (!swiper.params.virtualTranslate) tx -= swiper.translate;
11740      let ty = 0;
11741
11742      if (!swiper.isHorizontal()) {
11743        ty = tx;
11744        tx = 0;
11745      }
11746
11747      const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
11748      const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params, $slideEl);
11749      $targetEl.css({
11750        opacity: slideOpacity
11751      }).transform(`translate3d(${tx}px, ${ty}px, 0px)`);
11752    }
11753  };
11754
11755  const setTransition = duration => {
11756    const {
11757      transformEl
11758    } = swiper.params.fadeEffect;
11759    const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
11760    $transitionElements.transition(duration);
11761    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_2__["default"])({
11762      swiper,
11763      duration,
11764      transformEl,
11765      allSlides: true
11766    });
11767  };
11768
11769  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_0__["default"])({
11770    effect: 'fade',
11771    swiper,
11772    on,
11773    setTranslate,
11774    setTransition,
11775    overwriteParams: () => ({
11776      slidesPerView: 1,
11777      slidesPerGroup: 1,
11778      watchSlidesProgress: true,
11779      spaceBetween: 0,
11780      virtualTranslate: !swiper.params.cssMode
11781    })
11782  });
11783}
11784
11785/***/ }),
11786
vendor: 4,590 bytes, lines 11787-11906
11787/***/ "./node_modules/swiper/modules/effect-flip/effect-flip.js":
11788/*!****************************************************************!*\
11789  !*** ./node_modules/swiper/modules/effect-flip/effect-flip.js ***!
11790  \****************************************************************/
11791/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11792
11793"use strict";
11794__webpack_require__.r(__webpack_exports__);
11795/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11796/* harmony export */   "default": () => (/* binding */ EffectFlip)
11797/* harmony export */ });
11798/* harmony import */ var _shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-shadow.js */ "./node_modules/swiper/shared/create-shadow.js");
11799/* harmony import */ var _shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/effect-init.js */ "./node_modules/swiper/shared/effect-init.js");
11800/* harmony import */ var _shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/effect-target.js */ "./node_modules/swiper/shared/effect-target.js");
11801/* harmony import */ var _shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/effect-virtual-transition-end.js */ "./node_modules/swiper/shared/effect-virtual-transition-end.js");
11802
11803
11804
11805
11806function EffectFlip({
11807  swiper,
11808  extendParams,
11809  on
11810}) {
11811  extendParams({
11812    flipEffect: {
11813      slideShadows: true,
11814      limitRotation: true,
11815      transformEl: null
11816    }
11817  });
11818
11819  const setTranslate = () => {
11820    const {
11821      slides,
11822      rtlTranslate: rtl
11823    } = swiper;
11824    const params = swiper.params.flipEffect;
11825
11826    for (let i = 0; i < slides.length; i += 1) {
11827      const $slideEl = slides.eq(i);
11828      let progress = $slideEl[0].progress;
11829
11830      if (swiper.params.flipEffect.limitRotation) {
11831        progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
11832      }
11833
11834      const offset = $slideEl[0].swiperSlideOffset;
11835      const rotate = -180 * progress;
11836      let rotateY = rotate;
11837      let rotateX = 0;
11838      let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
11839      let ty = 0;
11840
11841      if (!swiper.isHorizontal()) {
11842        ty = tx;
11843        tx = 0;
11844        rotateX = -rotateY;
11845        rotateY = 0;
11846      } else if (rtl) {
11847        rotateY = -rotateY;
11848      }
11849
11850      $slideEl[0].style.zIndex = -Math.abs(Math.round(progress)) + slides.length;
11851
11852      if (params.slideShadows) {
11853        // Set shadows
11854        let shadowBefore = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');
11855        let shadowAfter = swiper.isHorizontal() ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');
11856
11857        if (shadowBefore.length === 0) {
11858          shadowBefore = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, swiper.isHorizontal() ? 'left' : 'top');
11859        }
11860
11861        if (shadowAfter.length === 0) {
11862          shadowAfter = (0,_shared_create_shadow_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params, $slideEl, swiper.isHorizontal() ? 'right' : 'bottom');
11863        }
11864
11865        if (shadowBefore.length) shadowBefore[0].style.opacity = Math.max(-progress, 0);
11866        if (shadowAfter.length) shadowAfter[0].style.opacity = Math.max(progress, 0);
11867      }
11868
11869      const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
11870      const $targetEl = (0,_shared_effect_target_js__WEBPACK_IMPORTED_MODULE_2__["default"])(params, $slideEl);
11871      $targetEl.transform(transform);
11872    }
11873  };
11874
11875  const setTransition = duration => {
11876    const {
11877      transformEl
11878    } = swiper.params.flipEffect;
11879    const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;
11880    $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);
11881    (0,_shared_effect_virtual_transition_end_js__WEBPACK_IMPORTED_MODULE_3__["default"])({
11882      swiper,
11883      duration,
11884      transformEl
11885    });
11886  };
11887
11888  (0,_shared_effect_init_js__WEBPACK_IMPORTED_MODULE_1__["default"])({
11889    effect: 'flip',
11890    swiper,
11891    on,
11892    setTranslate,
11893    setTransition,
11894    perspective: () => true,
11895    overwriteParams: () => ({
11896      slidesPerView: 1,
11897      slidesPerGroup: 1,
11898      watchSlidesProgress: true,
11899      spaceBetween: 0,
11900      virtualTranslate: !swiper.params.cssMode
11901    })
11902  });
11903}
11904
11905/***/ }),
11906
vendor: 8,637 bytes, lines 11907-12166
11907/***/ "./node_modules/swiper/modules/free-mode/free-mode.js":
11908/*!************************************************************!*\
11909  !*** ./node_modules/swiper/modules/free-mode/free-mode.js ***!
11910  \************************************************************/
11911/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
11912
11913"use strict";
11914__webpack_require__.r(__webpack_exports__);
11915/* harmony export */ __webpack_require__.d(__webpack_exports__, {
11916/* harmony export */   "default": () => (/* binding */ freeMode)
11917/* harmony export */ });
11918/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
11919
11920function freeMode({
11921  swiper,
11922  extendParams,
11923  emit,
11924  once
11925}) {
11926  extendParams({
11927    freeMode: {
11928      enabled: false,
11929      momentum: true,
11930      momentumRatio: 1,
11931      momentumBounce: true,
11932      momentumBounceRatio: 1,
11933      momentumVelocityRatio: 1,
11934      sticky: false,
11935      minimumVelocity: 0.02
11936    }
11937  });
11938
11939  function onTouchMove() {
11940    const {
11941      touchEventsData: data,
11942      touches
11943    } = swiper; // Velocity
11944
11945    if (data.velocities.length === 0) {
11946      data.velocities.push({
11947        position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],
11948        time: data.touchStartTime
11949      });
11950    }
11951
11952    data.velocities.push({
11953      position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],
11954      time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)()
11955    });
11956  }
11957
11958  function onTouchEnd({
11959    currentPos
11960  }) {
11961    const {
11962      params,
11963      $wrapperEl,
11964      rtlTranslate: rtl,
11965      snapGrid,
11966      touchEventsData: data
11967    } = swiper; // Time diff
11968
11969    const touchEndTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)();
11970    const timeDiff = touchEndTime - data.touchStartTime;
11971
11972    if (currentPos < -swiper.minTranslate()) {
11973      swiper.slideTo(swiper.activeIndex);
11974      return;
11975    }
11976
11977    if (currentPos > -swiper.maxTranslate()) {
11978      if (swiper.slides.length < snapGrid.length) {
11979        swiper.slideTo(snapGrid.length - 1);
11980      } else {
11981        swiper.slideTo(swiper.slides.length - 1);
11982      }
11983
11984      return;
11985    }
11986
11987    if (params.freeMode.momentum) {
11988      if (data.velocities.length > 1) {
11989        const lastMoveEvent = data.velocities.pop();
11990        const velocityEvent = data.velocities.pop();
11991        const distance = lastMoveEvent.position - velocityEvent.position;
11992        const time = lastMoveEvent.time - velocityEvent.time;
11993        swiper.velocity = distance / time;
11994        swiper.velocity /= 2;
11995
11996        if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
11997          swiper.velocity = 0;
11998        } // this implies that the user stopped moving a finger then released.
11999        // There would be no events with distance zero, so the last event is stale.
12000
12001
12002        if (time > 150 || (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.now)() - lastMoveEvent.time > 300) {
12003          swiper.velocity = 0;
12004        }
12005      } else {
12006        swiper.velocity = 0;
12007      }
12008
12009      swiper.velocity *= params.freeMode.momentumVelocityRatio;
12010      data.velocities.length = 0;
12011      let momentumDuration = 1000 * params.freeMode.momentumRatio;
12012      const momentumDistance = swiper.velocity * momentumDuration;
12013      let newPosition = swiper.translate + momentumDistance;
12014      if (rtl) newPosition = -newPosition;
12015      let doBounce = false;
12016      let afterBouncePosition;
12017      const bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
12018      let needsLoopFix;
12019
12020      if (newPosition < swiper.maxTranslate()) {
12021        if (params.freeMode.momentumBounce) {
12022          if (newPosition + swiper.maxTranslate() < -bounceAmount) {
12023            newPosition = swiper.maxTranslate() - bounceAmount;
12024          }
12025
12026          afterBouncePosition = swiper.maxTranslate();
12027          doBounce = true;
12028          data.allowMomentumBounce = true;
12029        } else {
12030          newPosition = swiper.maxTranslate();
12031        }
12032
12033        if (params.loop && params.centeredSlides) needsLoopFix = true;
12034      } else if (newPosition > swiper.minTranslate()) {
12035        if (params.freeMode.momentumBounce) {
12036          if (newPosition - swiper.minTranslate() > bounceAmount) {
12037            newPosition = swiper.minTranslate() + bounceAmount;
12038          }
12039
12040          afterBouncePosition = swiper.minTranslate();
12041          doBounce = true;
12042          data.allowMomentumBounce = true;
12043        } else {
12044          newPosition = swiper.minTranslate();
12045        }
12046
12047        if (params.loop && params.centeredSlides) needsLoopFix = true;
12048      } else if (params.freeMode.sticky) {
12049        let nextSlide;
12050
12051        for (let j = 0; j < snapGrid.length; j += 1) {
12052          if (snapGrid[j] > -newPosition) {
12053            nextSlide = j;
12054            break;
12055          }
12056        }
12057
12058        if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {
12059          newPosition = snapGrid[nextSlide];
12060        } else {
12061          newPosition = snapGrid[nextSlide - 1];
12062        }
12063
12064        newPosition = -newPosition;
12065      }
12066
12067      if (needsLoopFix) {
12068        once('transitionEnd', () => {
12069          swiper.loopFix();
12070        });
12071      } // Fix duration
12072
12073
12074      if (swiper.velocity !== 0) {
12075        if (rtl) {
12076          momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);
12077        } else {
12078          momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);
12079        }
12080
12081        if (params.freeMode.sticky) {
12082          // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
12083          // event, then durations can be 20+ seconds to slide one (or zero!) slides.
12084          // It's easy to see this when simulating touch with mouse events. To fix this,
12085          // limit single-slide swipes to the default slide duration. This also has the
12086          // nice side effect of matching slide speed if the user stopped moving before
12087          // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
12088          // For faster swipes, also apply limits (albeit higher ones).
12089          const moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);
12090          const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
12091
12092          if (moveDistance < currentSlideSize) {
12093            momentumDuration = params.speed;
12094          } else if (moveDistance < 2 * currentSlideSize) {
12095            momentumDuration = params.speed * 1.5;
12096          } else {
12097            momentumDuration = params.speed * 2.5;
12098          }
12099        }
12100      } else if (params.freeMode.sticky) {
12101        swiper.slideToClosest();
12102        return;
12103      }
12104
12105      if (params.freeMode.momentumBounce && doBounce) {
12106        swiper.updateProgress(afterBouncePosition);
12107        swiper.setTransition(momentumDuration);
12108        swiper.setTranslate(newPosition);
12109        swiper.transitionStart(true, swiper.swipeDirection);
12110        swiper.animating = true;
12111        $wrapperEl.transitionEnd(() => {
12112          if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;
12113          emit('momentumBounce');
12114          swiper.setTransition(params.speed);
12115          setTimeout(() => {
12116            swiper.setTranslate(afterBouncePosition);
12117            $wrapperEl.transitionEnd(() => {
12118              if (!swiper || swiper.destroyed) return;
12119              swiper.transitionEnd();
12120            });
12121          }, 0);
12122        });
12123      } else if (swiper.velocity) {
12124        emit('_freeModeNoMomentumRelease');
12125        swiper.updateProgress(newPosition);
12126        swiper.setTransition(momentumDuration);
12127        swiper.setTranslate(newPosition);
12128        swiper.transitionStart(true, swiper.swipeDirection);
12129
12130        if (!swiper.animating) {
12131          swiper.animating = true;
12132          $wrapperEl.transitionEnd(() => {
12133            if (!swiper || swiper.destroyed) return;
12134            swiper.transitionEnd();
12135          });
12136        }
12137      } else {
12138        swiper.updateProgress(newPosition);
12139      }
12140
12141      swiper.updateActiveIndex();
12142      swiper.updateSlidesClasses();
12143    } else if (params.freeMode.sticky) {
12144      swiper.slideToClosest();
12145      return;
12146    } else if (params.freeMode) {
12147      emit('_freeModeNoMomentumRelease');
12148    }
12149
12150    if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
12151      swiper.updateProgress();
12152      swiper.updateActiveIndex();
12153      swiper.updateSlidesClasses();
12154    }
12155  }
12156
12157  Object.assign(swiper, {
12158    freeMode: {
12159      onTouchMove,
12160      onTouchEnd
12161    }
12162  });
12163}
12164
12165/***/ }),
12166
vendor: 3,812 bytes, lines 12167-12296
12167/***/ "./node_modules/swiper/modules/grid/grid.js":
12168/*!**************************************************!*\
12169  !*** ./node_modules/swiper/modules/grid/grid.js ***!
12170  \**************************************************/
12171/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12172
12173"use strict";
12174__webpack_require__.r(__webpack_exports__);
12175/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12176/* harmony export */   "default": () => (/* binding */ Grid)
12177/* harmony export */ });
12178function Grid({
12179  swiper,
12180  extendParams
12181}) {
12182  extendParams({
12183    grid: {
12184      rows: 1,
12185      fill: 'column'
12186    }
12187  });
12188  let slidesNumberEvenToRows;
12189  let slidesPerRow;
12190  let numFullColumns;
12191
12192  const initSlides = slidesLength => {
12193    const {
12194      slidesPerView
12195    } = swiper.params;
12196    const {
12197      rows,
12198      fill
12199    } = swiper.params.grid;
12200    slidesPerRow = slidesNumberEvenToRows / rows;
12201    numFullColumns = Math.floor(slidesLength / rows);
12202
12203    if (Math.floor(slidesLength / rows) === slidesLength / rows) {
12204      slidesNumberEvenToRows = slidesLength;
12205    } else {
12206      slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
12207    }
12208
12209    if (slidesPerView !== 'auto' && fill === 'row') {
12210      slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, slidesPerView * rows);
12211    }
12212  };
12213
12214  const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {
12215    const {
12216      slidesPerGroup,
12217      spaceBetween
12218    } = swiper.params;
12219    const {
12220      rows,
12221      fill
12222    } = swiper.params.grid; // Set slides order
12223
12224    let newSlideOrderIndex;
12225    let column;
12226    let row;
12227
12228    if (fill === 'row' && slidesPerGroup > 1) {
12229      const groupIndex = Math.floor(i / (slidesPerGroup * rows));
12230      const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
12231      const columnsInGroup = groupIndex === 0 ? slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * rows * slidesPerGroup) / rows), slidesPerGroup);
12232      row = Math.floor(slideIndexInGroup / columnsInGroup);
12233      column = slideIndexInGroup - row * columnsInGroup + groupIndex * slidesPerGroup;
12234      newSlideOrderIndex = column + row * slidesNumberEvenToRows / rows;
12235      slide.css({
12236        '-webkit-order': newSlideOrderIndex,
12237        order: newSlideOrderIndex
12238      });
12239    } else if (fill === 'column') {
12240      column = Math.floor(i / rows);
12241      row = i - column * rows;
12242
12243      if (column > numFullColumns || column === numFullColumns && row === rows - 1) {
12244        row += 1;
12245
12246        if (row >= rows) {
12247          row = 0;
12248          column += 1;
12249        }
12250      }
12251    } else {
12252      row = Math.floor(i / slidesPerRow);
12253      column = i - row * slidesPerRow;
12254    }
12255
12256    slide.css(getDirectionLabel('margin-top'), row !== 0 ? spaceBetween && `${spaceBetween}px` : '');
12257  };
12258
12259  const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {
12260    const {
12261      spaceBetween,
12262      centeredSlides,
12263      roundLengths
12264    } = swiper.params;
12265    const {
12266      rows
12267    } = swiper.params.grid;
12268    swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
12269    swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
12270    swiper.$wrapperEl.css({
12271      [getDirectionLabel('width')]: `${swiper.virtualSize + spaceBetween}px`
12272    });
12273
12274    if (centeredSlides) {
12275      snapGrid.splice(0, snapGrid.length);
12276      const newSlidesGrid = [];
12277
12278      for (let i = 0; i < snapGrid.length; i += 1) {
12279        let slidesGridItem = snapGrid[i];
12280        if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
12281        if (snapGrid[i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);
12282      }
12283
12284      snapGrid.push(...newSlidesGrid);
12285    }
12286  };
12287
12288  swiper.grid = {
12289    initSlides,
12290    updateSlide,
12291    updateWrapperSize
12292  };
12293}
12294
12295/***/ }),
12296
vendor: 3,796 bytes, lines 12297-12408
12297/***/ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js":
12298/*!************************************************************************!*\
12299  !*** ./node_modules/swiper/modules/hash-navigation/hash-navigation.js ***!
12300  \************************************************************************/
12301/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12302
12303"use strict";
12304__webpack_require__.r(__webpack_exports__);
12305/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12306/* harmony export */   "default": () => (/* binding */ HashNavigation)
12307/* harmony export */ });
12308/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
12309/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
12310
12311
12312function HashNavigation({
12313  swiper,
12314  extendParams,
12315  emit,
12316  on
12317}) {
12318  let initialized = false;
12319  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
12320  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12321  extendParams({
12322    hashNavigation: {
12323      enabled: false,
12324      replaceState: false,
12325      watchState: false
12326    }
12327  });
12328
12329  const onHashChange = () => {
12330    emit('hashChange');
12331    const newHash = document.location.hash.replace('#', '');
12332    const activeSlideHash = swiper.slides.eq(swiper.activeIndex).attr('data-hash');
12333
12334    if (newHash !== activeSlideHash) {
12335      const newIndex = swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`).index();
12336      if (typeof newIndex === 'undefined') return;
12337      swiper.slideTo(newIndex);
12338    }
12339  };
12340
12341  const setHash = () => {
12342    if (!initialized || !swiper.params.hashNavigation.enabled) return;
12343
12344    if (swiper.params.hashNavigation.replaceState && window.history && window.history.replaceState) {
12345      window.history.replaceState(null, null, `#${swiper.slides.eq(swiper.activeIndex).attr('data-hash')}` || '');
12346      emit('hashSet');
12347    } else {
12348      const slide = swiper.slides.eq(swiper.activeIndex);
12349      const hash = slide.attr('data-hash') || slide.attr('data-history');
12350      document.location.hash = hash || '';
12351      emit('hashSet');
12352    }
12353  };
12354
12355  const init = () => {
12356    if (!swiper.params.hashNavigation.enabled || swiper.params.history && swiper.params.history.enabled) return;
12357    initialized = true;
12358    const hash = document.location.hash.replace('#', '');
12359
12360    if (hash) {
12361      const speed = 0;
12362
12363      for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
12364        const slide = swiper.slides.eq(i);
12365        const slideHash = slide.attr('data-hash') || slide.attr('data-history');
12366
12367        if (slideHash === hash && !slide.hasClass(swiper.params.slideDuplicateClass)) {
12368          const index = slide.index();
12369          swiper.slideTo(index, speed, swiper.params.runCallbacksOnInit, true);
12370        }
12371      }
12372    }
12373
12374    if (swiper.params.hashNavigation.watchState) {
12375      (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).on('hashchange', onHashChange);
12376    }
12377  };
12378
12379  const destroy = () => {
12380    if (swiper.params.hashNavigation.watchState) {
12381      (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window).off('hashchange', onHashChange);
12382    }
12383  };
12384
12385  on('init', () => {
12386    if (swiper.params.hashNavigation.enabled) {
12387      init();
12388    }
12389  });
12390  on('destroy', () => {
12391    if (swiper.params.hashNavigation.enabled) {
12392      destroy();
12393    }
12394  });
12395  on('transitionEnd _freeModeNoMomentumRelease', () => {
12396    if (initialized) {
12397      setHash();
12398    }
12399  });
12400  on('slideChange', () => {
12401    if (initialized && swiper.params.cssMode) {
12402      setHash();
12403    }
12404  });
12405}
12406
12407/***/ }),
12408
vendor: 4,714 bytes, lines 12409-12573
12409/***/ "./node_modules/swiper/modules/history/history.js":
12410/*!********************************************************!*\
12411  !*** ./node_modules/swiper/modules/history/history.js ***!
12412  \********************************************************/
12413/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12414
12415"use strict";
12416__webpack_require__.r(__webpack_exports__);
12417/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12418/* harmony export */   "default": () => (/* binding */ History)
12419/* harmony export */ });
12420/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
12421
12422function History({
12423  swiper,
12424  extendParams,
12425  on
12426}) {
12427  extendParams({
12428    history: {
12429      enabled: false,
12430      root: '',
12431      replaceState: false,
12432      key: 'slides'
12433    }
12434  });
12435  let initialized = false;
12436  let paths = {};
12437
12438  const slugify = text => {
12439    return text.toString().replace(/\s+/g, '-').replace(/[^\w-]+/g, '').replace(/--+/g, '-').replace(/^-+/, '').replace(/-+$/, '');
12440  };
12441
12442  const getPathValues = urlOverride => {
12443    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12444    let location;
12445
12446    if (urlOverride) {
12447      location = new URL(urlOverride);
12448    } else {
12449      location = window.location;
12450    }
12451
12452    const pathArray = location.pathname.slice(1).split('/').filter(part => part !== '');
12453    const total = pathArray.length;
12454    const key = pathArray[total - 2];
12455    const value = pathArray[total - 1];
12456    return {
12457      key,
12458      value
12459    };
12460  };
12461
12462  const setHistory = (key, index) => {
12463    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12464    if (!initialized || !swiper.params.history.enabled) return;
12465    let location;
12466
12467    if (swiper.params.url) {
12468      location = new URL(swiper.params.url);
12469    } else {
12470      location = window.location;
12471    }
12472
12473    const slide = swiper.slides.eq(index);
12474    let value = slugify(slide.attr('data-history'));
12475
12476    if (swiper.params.history.root.length > 0) {
12477      let root = swiper.params.history.root;
12478      if (root[root.length - 1] === '/') root = root.slice(0, root.length - 1);
12479      value = `${root}/${key}/${value}`;
12480    } else if (!location.pathname.includes(key)) {
12481      value = `${key}/${value}`;
12482    }
12483
12484    const currentState = window.history.state;
12485
12486    if (currentState && currentState.value === value) {
12487      return;
12488    }
12489
12490    if (swiper.params.history.replaceState) {
12491      window.history.replaceState({
12492        value
12493      }, null, value);
12494    } else {
12495      window.history.pushState({
12496        value
12497      }, null, value);
12498    }
12499  };
12500
12501  const scrollToSlide = (speed, value, runCallbacks) => {
12502    if (value) {
12503      for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
12504        const slide = swiper.slides.eq(i);
12505        const slideHistory = slugify(slide.attr('data-history'));
12506
12507        if (slideHistory === value && !slide.hasClass(swiper.params.slideDuplicateClass)) {
12508          const index = slide.index();
12509          swiper.slideTo(index, speed, runCallbacks);
12510        }
12511      }
12512    } else {
12513      swiper.slideTo(0, speed, runCallbacks);
12514    }
12515  };
12516
12517  const setHistoryPopState = () => {
12518    paths = getPathValues(swiper.params.url);
12519    scrollToSlide(swiper.params.speed, swiper.paths.value, false);
12520  };
12521
12522  const init = () => {
12523    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12524    if (!swiper.params.history) return;
12525
12526    if (!window.history || !window.history.pushState) {
12527      swiper.params.history.enabled = false;
12528      swiper.params.hashNavigation.enabled = true;
12529      return;
12530    }
12531
12532    initialized = true;
12533    paths = getPathValues(swiper.params.url);
12534    if (!paths.key && !paths.value) return;
12535    scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
12536
12537    if (!swiper.params.history.replaceState) {
12538      window.addEventListener('popstate', setHistoryPopState);
12539    }
12540  };
12541
12542  const destroy = () => {
12543    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12544
12545    if (!swiper.params.history.replaceState) {
12546      window.removeEventListener('popstate', setHistoryPopState);
12547    }
12548  };
12549
12550  on('init', () => {
12551    if (swiper.params.history.enabled) {
12552      init();
12553    }
12554  });
12555  on('destroy', () => {
12556    if (swiper.params.history.enabled) {
12557      destroy();
12558    }
12559  });
12560  on('transitionEnd _freeModeNoMomentumRelease', () => {
12561    if (initialized) {
12562      setHistory(swiper.params.history.key, swiper.activeIndex);
12563    }
12564  });
12565  on('slideChange', () => {
12566    if (initialized && swiper.params.cssMode) {
12567      setHistory(swiper.params.history.key, swiper.activeIndex);
12568    }
12569  });
12570}
12571
12572/***/ }),
12573
vendor: 5,194 bytes, lines 12574-12720
12574/***/ "./node_modules/swiper/modules/keyboard/keyboard.js":
12575/*!**********************************************************!*\
12576  !*** ./node_modules/swiper/modules/keyboard/keyboard.js ***!
12577  \**********************************************************/
12578/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12579
12580"use strict";
12581__webpack_require__.r(__webpack_exports__);
12582/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12583/* harmony export */   "default": () => (/* binding */ Keyboard)
12584/* harmony export */ });
12585/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
12586/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
12587/* eslint-disable consistent-return */
12588
12589
12590function Keyboard({
12591  swiper,
12592  extendParams,
12593  on,
12594  emit
12595}) {
12596  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
12597  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12598  swiper.keyboard = {
12599    enabled: false
12600  };
12601  extendParams({
12602    keyboard: {
12603      enabled: false,
12604      onlyInViewport: true,
12605      pageUpDown: true
12606    }
12607  });
12608
12609  function handle(event) {
12610    if (!swiper.enabled) return;
12611    const {
12612      rtlTranslate: rtl
12613    } = swiper;
12614    let e = event;
12615    if (e.originalEvent) e = e.originalEvent; // jquery fix
12616
12617    const kc = e.keyCode || e.charCode;
12618    const pageUpDown = swiper.params.keyboard.pageUpDown;
12619    const isPageUp = pageUpDown && kc === 33;
12620    const isPageDown = pageUpDown && kc === 34;
12621    const isArrowLeft = kc === 37;
12622    const isArrowRight = kc === 39;
12623    const isArrowUp = kc === 38;
12624    const isArrowDown = kc === 40; // Directions locks
12625
12626    if (!swiper.allowSlideNext && (swiper.isHorizontal() && isArrowRight || swiper.isVertical() && isArrowDown || isPageDown)) {
12627      return false;
12628    }
12629
12630    if (!swiper.allowSlidePrev && (swiper.isHorizontal() && isArrowLeft || swiper.isVertical() && isArrowUp || isPageUp)) {
12631      return false;
12632    }
12633
12634    if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
12635      return undefined;
12636    }
12637
12638    if (document.activeElement && document.activeElement.nodeName && (document.activeElement.nodeName.toLowerCase() === 'input' || document.activeElement.nodeName.toLowerCase() === 'textarea')) {
12639      return undefined;
12640    }
12641
12642    if (swiper.params.keyboard.onlyInViewport && (isPageUp || isPageDown || isArrowLeft || isArrowRight || isArrowUp || isArrowDown)) {
12643      let inView = false; // Check that swiper should be inside of visible area of window
12644
12645      if (swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 && swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0) {
12646        return undefined;
12647      }
12648
12649      const $el = swiper.$el;
12650      const swiperWidth = $el[0].clientWidth;
12651      const swiperHeight = $el[0].clientHeight;
12652      const windowWidth = window.innerWidth;
12653      const windowHeight = window.innerHeight;
12654      const swiperOffset = swiper.$el.offset();
12655      if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
12656      const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiperWidth, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiperHeight], [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight]];
12657
12658      for (let i = 0; i < swiperCoord.length; i += 1) {
12659        const point = swiperCoord[i];
12660
12661        if (point[0] >= 0 && point[0] <= windowWidth && point[1] >= 0 && point[1] <= windowHeight) {
12662          if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
12663
12664          inView = true;
12665        }
12666      }
12667
12668      if (!inView) return undefined;
12669    }
12670
12671    if (swiper.isHorizontal()) {
12672      if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
12673        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
12674      }
12675
12676      if ((isPageDown || isArrowRight) && !rtl || (isPageUp || isArrowLeft) && rtl) swiper.slideNext();
12677      if ((isPageUp || isArrowLeft) && !rtl || (isPageDown || isArrowRight) && rtl) swiper.slidePrev();
12678    } else {
12679      if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
12680        if (e.preventDefault) e.preventDefault();else e.returnValue = false;
12681      }
12682
12683      if (isPageDown || isArrowDown) swiper.slideNext();
12684      if (isPageUp || isArrowUp) swiper.slidePrev();
12685    }
12686
12687    emit('keyPress', kc);
12688    return undefined;
12689  }
12690
12691  function enable() {
12692    if (swiper.keyboard.enabled) return;
12693    (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).on('keydown', handle);
12694    swiper.keyboard.enabled = true;
12695  }
12696
12697  function disable() {
12698    if (!swiper.keyboard.enabled) return;
12699    (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(document).off('keydown', handle);
12700    swiper.keyboard.enabled = false;
12701  }
12702
12703  on('init', () => {
12704    if (swiper.params.keyboard.enabled) {
12705      enable();
12706    }
12707  });
12708  on('destroy', () => {
12709    if (swiper.keyboard.enabled) {
12710      disable();
12711    }
12712  });
12713  Object.assign(swiper.keyboard, {
12714    enable,
12715    disable
12716  });
12717}
12718
12719/***/ }),
12720
vendor: 10,784 bytes, lines 12721-13019
12721/***/ "./node_modules/swiper/modules/lazy/lazy.js":
12722/*!**************************************************!*\
12723  !*** ./node_modules/swiper/modules/lazy/lazy.js ***!
12724  \**************************************************/
12725/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
12726
12727"use strict";
12728__webpack_require__.r(__webpack_exports__);
12729/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12730/* harmony export */   "default": () => (/* binding */ Lazy)
12731/* harmony export */ });
12732/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
12733/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
12734
12735
12736function Lazy({
12737  swiper,
12738  extendParams,
12739  on,
12740  emit
12741}) {
12742  extendParams({
12743    lazy: {
12744      checkInView: false,
12745      enabled: false,
12746      loadPrevNext: false,
12747      loadPrevNextAmount: 1,
12748      loadOnTransitionStart: false,
12749      scrollingElement: '',
12750      elementClass: 'swiper-lazy',
12751      loadingClass: 'swiper-lazy-loading',
12752      loadedClass: 'swiper-lazy-loaded',
12753      preloaderClass: 'swiper-lazy-preloader'
12754    }
12755  });
12756  swiper.lazy = {};
12757  let scrollHandlerAttached = false;
12758  let initialImageLoaded = false;
12759
12760  function loadInSlide(index, loadInDuplicate = true) {
12761    const params = swiper.params.lazy;
12762    if (typeof index === 'undefined') return;
12763    if (swiper.slides.length === 0) return;
12764    const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
12765    const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`) : swiper.slides.eq(index);
12766    const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);
12767
12768    if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {
12769      $images.push($slideEl[0]);
12770    }
12771
12772    if ($images.length === 0) return;
12773    $images.each(imageEl => {
12774      const $imageEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(imageEl);
12775      $imageEl.addClass(params.loadingClass);
12776      const background = $imageEl.attr('data-background');
12777      const src = $imageEl.attr('data-src');
12778      const srcset = $imageEl.attr('data-srcset');
12779      const sizes = $imageEl.attr('data-sizes');
12780      const $pictureEl = $imageEl.parent('picture');
12781      swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {
12782        if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;
12783
12784        if (background) {
12785          $imageEl.css('background-image', `url("${background}")`);
12786          $imageEl.removeAttr('data-background');
12787        } else {
12788          if (srcset) {
12789            $imageEl.attr('srcset', srcset);
12790            $imageEl.removeAttr('data-srcset');
12791          }
12792
12793          if (sizes) {
12794            $imageEl.attr('sizes', sizes);
12795            $imageEl.removeAttr('data-sizes');
12796          }
12797
12798          if ($pictureEl.length) {
12799            $pictureEl.children('source').each(sourceEl => {
12800              const $source = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(sourceEl);
12801
12802              if ($source.attr('data-srcset')) {
12803                $source.attr('srcset', $source.attr('data-srcset'));
12804                $source.removeAttr('data-srcset');
12805              }
12806            });
12807          }
12808
12809          if (src) {
12810            $imageEl.attr('src', src);
12811            $imageEl.removeAttr('data-src');
12812          }
12813        }
12814
12815        $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);
12816        $slideEl.find(`.${params.preloaderClass}`).remove();
12817
12818        if (swiper.params.loop && loadInDuplicate) {
12819          const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');
12820
12821          if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
12822            const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`);
12823            loadInSlide(originalSlide.index(), false);
12824          } else {
12825            const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`);
12826            loadInSlide(duplicatedSlide.index(), false);
12827          }
12828        }
12829
12830        emit('lazyImageReady', $slideEl[0], $imageEl[0]);
12831
12832        if (swiper.params.autoHeight) {
12833          swiper.updateAutoHeight();
12834        }
12835      });
12836      emit('lazyImageLoad', $slideEl[0], $imageEl[0]);
12837    });
12838  }
12839
12840  function load() {
12841    const {
12842      $wrapperEl,
12843      params: swiperParams,
12844      slides,
12845      activeIndex
12846    } = swiper;
12847    const isVirtual = swiper.virtual && swiperParams.virtual.enabled;
12848    const params = swiperParams.lazy;
12849    let slidesPerView = swiperParams.slidesPerView;
12850
12851    if (slidesPerView === 'auto') {
12852      slidesPerView = 0;
12853    }
12854
12855    function slideExist(index) {
12856      if (isVirtual) {
12857        if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`).length) {
12858          return true;
12859        }
12860      } else if (slides[index]) return true;
12861
12862      return false;
12863    }
12864
12865    function slideIndex(slideEl) {
12866      if (isVirtual) {
12867        return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index');
12868      }
12869
12870      return (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index();
12871    }
12872
12873    if (!initialImageLoaded) initialImageLoaded = true;
12874
12875    if (swiper.params.watchSlidesProgress) {
12876      $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => {
12877        const index = isVirtual ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).attr('data-swiper-slide-index') : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(slideEl).index();
12878        loadInSlide(index);
12879      });
12880    } else if (slidesPerView > 1) {
12881      for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
12882        if (slideExist(i)) loadInSlide(i);
12883      }
12884    } else {
12885      loadInSlide(activeIndex);
12886    }
12887
12888    if (params.loadPrevNext) {
12889      if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {
12890        const amount = params.loadPrevNextAmount;
12891        const spv = slidesPerView;
12892        const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);
12893        const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides
12894
12895        for (let i = activeIndex + slidesPerView; i < maxIndex; i += 1) {
12896          if (slideExist(i)) loadInSlide(i);
12897        } // Prev Slides
12898
12899
12900        for (let i = minIndex; i < activeIndex; i += 1) {
12901          if (slideExist(i)) loadInSlide(i);
12902        }
12903      } else {
12904        const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);
12905        if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));
12906        const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);
12907        if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));
12908      }
12909    }
12910  }
12911
12912  function checkInViewOnLoad() {
12913    const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
12914    if (!swiper || swiper.destroyed) return;
12915    const $scrollElement = swiper.params.lazy.scrollingElement ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.lazy.scrollingElement) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(window);
12916    const isWindow = $scrollElement[0] === window;
12917    const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;
12918    const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;
12919    const swiperOffset = swiper.$el.offset();
12920    const {
12921      rtlTranslate: rtl
12922    } = swiper;
12923    let inView = false;
12924    if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
12925    const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];
12926
12927    for (let i = 0; i < swiperCoord.length; i += 1) {
12928      const point = swiperCoord[i];
12929
12930      if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {
12931        if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
12932
12933        inView = true;
12934      }
12935    }
12936
12937    const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {
12938      passive: true,
12939      capture: false
12940    } : false;
12941
12942    if (inView) {
12943      load();
12944      $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);
12945    } else if (!scrollHandlerAttached) {
12946      scrollHandlerAttached = true;
12947      $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);
12948    }
12949  }
12950
12951  on('beforeInit', () => {
12952    if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
12953      swiper.params.preloadImages = false;
12954    }
12955  });
12956  on('init', () => {
12957    if (swiper.params.lazy.enabled) {
12958      if (swiper.params.lazy.checkInView) {
12959        checkInViewOnLoad();
12960      } else {
12961        load();
12962      }
12963    }
12964  });
12965  on('scroll', () => {
12966    if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) {
12967      load();
12968    }
12969  });
12970  on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {
12971    if (swiper.params.lazy.enabled) {
12972      if (swiper.params.lazy.checkInView) {
12973        checkInViewOnLoad();
12974      } else {
12975        load();
12976      }
12977    }
12978  });
12979  on('transitionStart', () => {
12980    if (swiper.params.lazy.enabled) {
12981      if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) {
12982        if (swiper.params.lazy.checkInView) {
12983          checkInViewOnLoad();
12984        } else {
12985          load();
12986        }
12987      }
12988    }
12989  });
12990  on('transitionEnd', () => {
12991    if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {
12992      if (swiper.params.lazy.checkInView) {
12993        checkInViewOnLoad();
12994      } else {
12995        load();
12996      }
12997    }
12998  });
12999  on('slideChange', () => {
13000    const {
13001      lazy,
13002      cssMode,
13003      watchSlidesProgress,
13004      touchReleaseOnEdges,
13005      resistanceRatio
13006    } = swiper.params;
13007
13008    if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) {
13009      load();
13010    }
13011  });
13012  Object.assign(swiper.lazy, {
13013    load,
13014    loadInSlide
13015  });
13016}
13017
13018/***/ }),
13019
vendor: 2,177 bytes, lines 13020-13054
13020/***/ "./node_modules/swiper/modules/manipulation/manipulation.js":
13021/*!******************************************************************!*\
13022  !*** ./node_modules/swiper/modules/manipulation/manipulation.js ***!
13023  \******************************************************************/
13024/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13025
13026"use strict";
13027__webpack_require__.r(__webpack_exports__);
13028/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13029/* harmony export */   "default": () => (/* binding */ Manipulation)
13030/* harmony export */ });
13031/* harmony import */ var _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./methods/appendSlide.js */ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js");
13032/* harmony import */ var _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./methods/prependSlide.js */ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js");
13033/* harmony import */ var _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./methods/addSlide.js */ "./node_modules/swiper/modules/manipulation/methods/addSlide.js");
13034/* harmony import */ var _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./methods/removeSlide.js */ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js");
13035/* harmony import */ var _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./methods/removeAllSlides.js */ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js");
13036
13037
13038
13039
13040
13041function Manipulation({
13042  swiper
13043}) {
13044  Object.assign(swiper, {
13045    appendSlide: _methods_appendSlide_js__WEBPACK_IMPORTED_MODULE_0__["default"].bind(swiper),
13046    prependSlide: _methods_prependSlide_js__WEBPACK_IMPORTED_MODULE_1__["default"].bind(swiper),
13047    addSlide: _methods_addSlide_js__WEBPACK_IMPORTED_MODULE_2__["default"].bind(swiper),
13048    removeSlide: _methods_removeSlide_js__WEBPACK_IMPORTED_MODULE_3__["default"].bind(swiper),
13049    removeAllSlides: _methods_removeAllSlides_js__WEBPACK_IMPORTED_MODULE_4__["default"].bind(swiper)
13050  });
13051}
13052
13053/***/ }),
13054
vendor: 2,102 bytes, lines 13055-13132
13055/***/ "./node_modules/swiper/modules/manipulation/methods/addSlide.js":
13056/*!**********************************************************************!*\
13057  !*** ./node_modules/swiper/modules/manipulation/methods/addSlide.js ***!
13058  \**********************************************************************/
13059/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13060
13061"use strict";
13062__webpack_require__.r(__webpack_exports__);
13063/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13064/* harmony export */   "default": () => (/* binding */ addSlide)
13065/* harmony export */ });
13066function addSlide(index, slides) {
13067  const swiper = this;
13068  const {
13069    $wrapperEl,
13070    params,
13071    activeIndex
13072  } = swiper;
13073  let activeIndexBuffer = activeIndex;
13074
13075  if (params.loop) {
13076    activeIndexBuffer -= swiper.loopedSlides;
13077    swiper.loopDestroy();
13078    swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
13079  }
13080
13081  const baseLength = swiper.slides.length;
13082
13083  if (index <= 0) {
13084    swiper.prependSlide(slides);
13085    return;
13086  }
13087
13088  if (index >= baseLength) {
13089    swiper.appendSlide(slides);
13090    return;
13091  }
13092
13093  let newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
13094  const slidesBuffer = [];
13095
13096  for (let i = baseLength - 1; i >= index; i -= 1) {
13097    const currentSlide = swiper.slides.eq(i);
13098    currentSlide.remove();
13099    slidesBuffer.unshift(currentSlide);
13100  }
13101
13102  if (typeof slides === 'object' && 'length' in slides) {
13103    for (let i = 0; i < slides.length; i += 1) {
13104      if (slides[i]) $wrapperEl.append(slides[i]);
13105    }
13106
13107    newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;
13108  } else {
13109    $wrapperEl.append(slides);
13110  }
13111
13112  for (let i = 0; i < slidesBuffer.length; i += 1) {
13113    $wrapperEl.append(slidesBuffer[i]);
13114  }
13115
13116  if (params.loop) {
13117    swiper.loopCreate();
13118  }
13119
13120  if (!params.observer) {
13121    swiper.update();
13122  }
13123
13124  if (params.loop) {
13125    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
13126  } else {
13127    swiper.slideTo(newActiveIndex, 0, false);
13128  }
13129}
13130
13131/***/ }),
13132
vendor: 1,106 bytes, lines 13133-13173
13133/***/ "./node_modules/swiper/modules/manipulation/methods/appendSlide.js":
13134/*!*************************************************************************!*\
13135  !*** ./node_modules/swiper/modules/manipulation/methods/appendSlide.js ***!
13136  \*************************************************************************/
13137/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13138
13139"use strict";
13140__webpack_require__.r(__webpack_exports__);
13141/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13142/* harmony export */   "default": () => (/* binding */ appendSlide)
13143/* harmony export */ });
13144function appendSlide(slides) {
13145  const swiper = this;
13146  const {
13147    $wrapperEl,
13148    params
13149  } = swiper;
13150
13151  if (params.loop) {
13152    swiper.loopDestroy();
13153  }
13154
13155  if (typeof slides === 'object' && 'length' in slides) {
13156    for (let i = 0; i < slides.length; i += 1) {
13157      if (slides[i]) $wrapperEl.append(slides[i]);
13158    }
13159  } else {
13160    $wrapperEl.append(slides);
13161  }
13162
13163  if (params.loop) {
13164    swiper.loopCreate();
13165  }
13166
13167  if (!params.observer) {
13168    swiper.update();
13169  }
13170}
13171
13172/***/ }),
13173
vendor: 1,268 bytes, lines 13174-13221
13174/***/ "./node_modules/swiper/modules/manipulation/methods/prependSlide.js":
13175/*!**************************************************************************!*\
13176  !*** ./node_modules/swiper/modules/manipulation/methods/prependSlide.js ***!
13177  \**************************************************************************/
13178/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13179
13180"use strict";
13181__webpack_require__.r(__webpack_exports__);
13182/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13183/* harmony export */   "default": () => (/* binding */ prependSlide)
13184/* harmony export */ });
13185function prependSlide(slides) {
13186  const swiper = this;
13187  const {
13188    params,
13189    $wrapperEl,
13190    activeIndex
13191  } = swiper;
13192
13193  if (params.loop) {
13194    swiper.loopDestroy();
13195  }
13196
13197  let newActiveIndex = activeIndex + 1;
13198
13199  if (typeof slides === 'object' && 'length' in slides) {
13200    for (let i = 0; i < slides.length; i += 1) {
13201      if (slides[i]) $wrapperEl.prepend(slides[i]);
13202    }
13203
13204    newActiveIndex = activeIndex + slides.length;
13205  } else {
13206    $wrapperEl.prepend(slides);
13207  }
13208
13209  if (params.loop) {
13210    swiper.loopCreate();
13211  }
13212
13213  if (!params.observer) {
13214    swiper.update();
13215  }
13216
13217  swiper.slideTo(newActiveIndex, 0, false);
13218}
13219
13220/***/ }),
13221
vendor: 859 bytes, lines 13222-13245
13222/***/ "./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js":
13223/*!*****************************************************************************!*\
13224  !*** ./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js ***!
13225  \*****************************************************************************/
13226/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13227
13228"use strict";
13229__webpack_require__.r(__webpack_exports__);
13230/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13231/* harmony export */   "default": () => (/* binding */ removeAllSlides)
13232/* harmony export */ });
13233function removeAllSlides() {
13234  const swiper = this;
13235  const slidesIndexes = [];
13236
13237  for (let i = 0; i < swiper.slides.length; i += 1) {
13238    slidesIndexes.push(i);
13239  }
13240
13241  swiper.removeSlide(slidesIndexes);
13242}
13243
13244/***/ }),
13245
vendor: 1,897 bytes, lines 13246-13306
13246/***/ "./node_modules/swiper/modules/manipulation/methods/removeSlide.js":
13247/*!*************************************************************************!*\
13248  !*** ./node_modules/swiper/modules/manipulation/methods/removeSlide.js ***!
13249  \*************************************************************************/
13250/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13251
13252"use strict";
13253__webpack_require__.r(__webpack_exports__);
13254/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13255/* harmony export */   "default": () => (/* binding */ removeSlide)
13256/* harmony export */ });
13257function removeSlide(slidesIndexes) {
13258  const swiper = this;
13259  const {
13260    params,
13261    $wrapperEl,
13262    activeIndex
13263  } = swiper;
13264  let activeIndexBuffer = activeIndex;
13265
13266  if (params.loop) {
13267    activeIndexBuffer -= swiper.loopedSlides;
13268    swiper.loopDestroy();
13269    swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
13270  }
13271
13272  let newActiveIndex = activeIndexBuffer;
13273  let indexToRemove;
13274
13275  if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {
13276    for (let i = 0; i < slidesIndexes.length; i += 1) {
13277      indexToRemove = slidesIndexes[i];
13278      if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
13279      if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
13280    }
13281
13282    newActiveIndex = Math.max(newActiveIndex, 0);
13283  } else {
13284    indexToRemove = slidesIndexes;
13285    if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();
13286    if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
13287    newActiveIndex = Math.max(newActiveIndex, 0);
13288  }
13289
13290  if (params.loop) {
13291    swiper.loopCreate();
13292  }
13293
13294  if (!params.observer) {
13295    swiper.update();
13296  }
13297
13298  if (params.loop) {
13299    swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
13300  } else {
13301    swiper.slideTo(newActiveIndex, 0, false);
13302  }
13303}
13304
13305/***/ }),
13306
vendor: 15,582 bytes, lines 13307-13745
13307/***/ "./node_modules/swiper/modules/mousewheel/mousewheel.js":
13308/*!**************************************************************!*\
13309  !*** ./node_modules/swiper/modules/mousewheel/mousewheel.js ***!
13310  \**************************************************************/
13311/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13312
13313"use strict";
13314__webpack_require__.r(__webpack_exports__);
13315/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13316/* harmony export */   "default": () => (/* binding */ Mousewheel)
13317/* harmony export */ });
13318/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
13319/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
13320/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
13321/* eslint-disable consistent-return */
13322
13323
13324
13325function Mousewheel({
13326  swiper,
13327  extendParams,
13328  on,
13329  emit
13330}) {
13331  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
13332  extendParams({
13333    mousewheel: {
13334      enabled: false,
13335      releaseOnEdges: false,
13336      invert: false,
13337      forceToAxis: false,
13338      sensitivity: 1,
13339      eventsTarget: 'container',
13340      thresholdDelta: null,
13341      thresholdTime: null
13342    }
13343  });
13344  swiper.mousewheel = {
13345    enabled: false
13346  };
13347  let timeout;
13348  let lastScrollTime = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)();
13349  let lastEventBeforeSnap;
13350  const recentWheelEvents = [];
13351
13352  function normalize(e) {
13353    // Reasonable defaults
13354    const PIXEL_STEP = 10;
13355    const LINE_HEIGHT = 40;
13356    const PAGE_HEIGHT = 800;
13357    let sX = 0;
13358    let sY = 0; // spinX, spinY
13359
13360    let pX = 0;
13361    let pY = 0; // pixelX, pixelY
13362    // Legacy
13363
13364    if ('detail' in e) {
13365      sY = e.detail;
13366    }
13367
13368    if ('wheelDelta' in e) {
13369      sY = -e.wheelDelta / 120;
13370    }
13371
13372    if ('wheelDeltaY' in e) {
13373      sY = -e.wheelDeltaY / 120;
13374    }
13375
13376    if ('wheelDeltaX' in e) {
13377      sX = -e.wheelDeltaX / 120;
13378    } // side scrolling on FF with DOMMouseScroll
13379
13380
13381    if ('axis' in e && e.axis === e.HORIZONTAL_AXIS) {
13382      sX = sY;
13383      sY = 0;
13384    }
13385
13386    pX = sX * PIXEL_STEP;
13387    pY = sY * PIXEL_STEP;
13388
13389    if ('deltaY' in e) {
13390      pY = e.deltaY;
13391    }
13392
13393    if ('deltaX' in e) {
13394      pX = e.deltaX;
13395    }
13396
13397    if (e.shiftKey && !pX) {
13398      // if user scrolls with shift he wants horizontal scroll
13399      pX = pY;
13400      pY = 0;
13401    }
13402
13403    if ((pX || pY) && e.deltaMode) {
13404      if (e.deltaMode === 1) {
13405        // delta in LINE units
13406        pX *= LINE_HEIGHT;
13407        pY *= LINE_HEIGHT;
13408      } else {
13409        // delta in PAGE units
13410        pX *= PAGE_HEIGHT;
13411        pY *= PAGE_HEIGHT;
13412      }
13413    } // Fall-back if spin cannot be determined
13414
13415
13416    if (pX && !sX) {
13417      sX = pX < 1 ? -1 : 1;
13418    }
13419
13420    if (pY && !sY) {
13421      sY = pY < 1 ? -1 : 1;
13422    }
13423
13424    return {
13425      spinX: sX,
13426      spinY: sY,
13427      pixelX: pX,
13428      pixelY: pY
13429    };
13430  }
13431
13432  function handleMouseEnter() {
13433    if (!swiper.enabled) return;
13434    swiper.mouseEntered = true;
13435  }
13436
13437  function handleMouseLeave() {
13438    if (!swiper.enabled) return;
13439    swiper.mouseEntered = false;
13440  }
13441
13442  function animateSlider(newEvent) {
13443    if (swiper.params.mousewheel.thresholdDelta && newEvent.delta < swiper.params.mousewheel.thresholdDelta) {
13444      // Prevent if delta of wheel scroll delta is below configured threshold
13445      return false;
13446    }
13447
13448    if (swiper.params.mousewheel.thresholdTime && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < swiper.params.mousewheel.thresholdTime) {
13449      // Prevent if time between scrolls is below configured threshold
13450      return false;
13451    } // If the movement is NOT big enough and
13452    // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
13453    //   Don't go any further (avoid insignificant scroll movement).
13454
13455
13456    if (newEvent.delta >= 6 && (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)() - lastScrollTime < 60) {
13457      // Return false as a default
13458      return true;
13459    } // If user is scrolling towards the end:
13460    //   If the slider hasn't hit the latest slide or
13461    //   if the slider is a loop and
13462    //   if the slider isn't moving right now:
13463    //     Go to next slide and
13464    //     emit a scroll event.
13465    // Else (the user is scrolling towards the beginning) and
13466    // if the slider hasn't hit the first slide or
13467    // if the slider is a loop and
13468    // if the slider isn't moving right now:
13469    //   Go to prev slide and
13470    //   emit a scroll event.
13471
13472
13473    if (newEvent.direction < 0) {
13474      if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
13475        swiper.slideNext();
13476        emit('scroll', newEvent.raw);
13477      }
13478    } else if ((!swiper.isBeginning || swiper.params.loop) && !swiper.animating) {
13479      swiper.slidePrev();
13480      emit('scroll', newEvent.raw);
13481    } // If you got here is because an animation has been triggered so store the current time
13482
13483
13484    lastScrollTime = new window.Date().getTime(); // Return false as a default
13485
13486    return false;
13487  }
13488
13489  function releaseScroll(newEvent) {
13490    const params = swiper.params.mousewheel;
13491
13492    if (newEvent.direction < 0) {
13493      if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
13494        // Return true to animate scroll on edges
13495        return true;
13496      }
13497    } else if (swiper.isBeginning && !swiper.params.loop && params.releaseOnEdges) {
13498      // Return true to animate scroll on edges
13499      return true;
13500    }
13501
13502    return false;
13503  }
13504
13505  function handle(event) {
13506    let e = event;
13507    let disableParentSwiper = true;
13508    if (!swiper.enabled) return;
13509    const params = swiper.params.mousewheel;
13510
13511    if (swiper.params.cssMode) {
13512      e.preventDefault();
13513    }
13514
13515    let target = swiper.$el;
13516
13517    if (swiper.params.mousewheel.eventsTarget !== 'container') {
13518      target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget);
13519    }
13520
13521    if (!swiper.mouseEntered && !target[0].contains(e.target) && !params.releaseOnEdges) return true;
13522    if (e.originalEvent) e = e.originalEvent; // jquery fix
13523
13524    let delta = 0;
13525    const rtlFactor = swiper.rtlTranslate ? -1 : 1;
13526    const data = normalize(e);
13527
13528    if (params.forceToAxis) {
13529      if (swiper.isHorizontal()) {
13530        if (Math.abs(data.pixelX) > Math.abs(data.pixelY)) delta = -data.pixelX * rtlFactor;else return true;
13531      } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX)) delta = -data.pixelY;else return true;
13532    } else {
13533      delta = Math.abs(data.pixelX) > Math.abs(data.pixelY) ? -data.pixelX * rtlFactor : -data.pixelY;
13534    }
13535
13536    if (delta === 0) return true;
13537    if (params.invert) delta = -delta; // Get the scroll positions
13538
13539    let positions = swiper.getTranslate() + delta * params.sensitivity;
13540    if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
13541    if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:
13542    //     the disableParentSwiper will be true.
13543    // When loop is false:
13544    //     if the scroll positions is not on edge,
13545    //     then the disableParentSwiper will be true.
13546    //     if the scroll on edge positions,
13547    //     then the disableParentSwiper will be false.
13548
13549    disableParentSwiper = swiper.params.loop ? true : !(positions === swiper.minTranslate() || positions === swiper.maxTranslate());
13550    if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
13551
13552    if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
13553      // Register the new event in a variable which stores the relevant data
13554      const newEvent = {
13555        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
13556        delta: Math.abs(delta),
13557        direction: Math.sign(delta),
13558        raw: event
13559      }; // Keep the most recent events
13560
13561      if (recentWheelEvents.length >= 2) {
13562        recentWheelEvents.shift(); // only store the last N events
13563      }
13564
13565      const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
13566      recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:
13567      //   If direction has changed or
13568      //   if the scroll is quicker than the previous one:
13569      //     Animate the slider.
13570      // Else (this is the first time the wheel is moved):
13571      //     Animate the slider.
13572
13573      if (prevEvent) {
13574        if (newEvent.direction !== prevEvent.direction || newEvent.delta > prevEvent.delta || newEvent.time > prevEvent.time + 150) {
13575          animateSlider(newEvent);
13576        }
13577      } else {
13578        animateSlider(newEvent);
13579      } // If it's time to release the scroll:
13580      //   Return now so you don't hit the preventDefault.
13581
13582
13583      if (releaseScroll(newEvent)) {
13584        return true;
13585      }
13586    } else {
13587      // Freemode or scrollContainer:
13588      // If we recently snapped after a momentum scroll, then ignore wheel events
13589      // to give time for the deceleration to finish. Stop ignoring after 500 msecs
13590      // or if it's a new scroll (larger delta or inverse sign as last event before
13591      // an end-of-momentum snap).
13592      const newEvent = {
13593        time: (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.now)(),
13594        delta: Math.abs(delta),
13595        direction: Math.sign(delta)
13596      };
13597      const ignoreWheelEvents = lastEventBeforeSnap && newEvent.time < lastEventBeforeSnap.time + 500 && newEvent.delta <= lastEventBeforeSnap.delta && newEvent.direction === lastEventBeforeSnap.direction;
13598
13599      if (!ignoreWheelEvents) {
13600        lastEventBeforeSnap = undefined;
13601
13602        if (swiper.params.loop) {
13603          swiper.loopFix();
13604        }
13605
13606        let position = swiper.getTranslate() + delta * params.sensitivity;
13607        const wasBeginning = swiper.isBeginning;
13608        const wasEnd = swiper.isEnd;
13609        if (position >= swiper.minTranslate()) position = swiper.minTranslate();
13610        if (position <= swiper.maxTranslate()) position = swiper.maxTranslate();
13611        swiper.setTransition(0);
13612        swiper.setTranslate(position);
13613        swiper.updateProgress();
13614        swiper.updateActiveIndex();
13615        swiper.updateSlidesClasses();
13616
13617        if (!wasBeginning && swiper.isBeginning || !wasEnd && swiper.isEnd) {
13618          swiper.updateSlidesClasses();
13619        }
13620
13621        if (swiper.params.freeMode.sticky) {
13622          // When wheel scrolling starts with sticky (aka snap) enabled, then detect
13623          // the end of a momentum scroll by storing recent (N=15?) wheel events.
13624          // 1. do all N events have decreasing or same (absolute value) delta?
13625          // 2. did all N events arrive in the last M (M=500?) msecs?
13626          // 3. does the earliest event have an (absolute value) delta that's
13627          //    at least P (P=1?) larger than the most recent event's delta?
13628          // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
13629          // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
13630          // Snap immediately and ignore remaining wheel events in this scroll.
13631          // See comment above for "remaining wheel events in this scroll" determination.
13632          // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
13633          clearTimeout(timeout);
13634          timeout = undefined;
13635
13636          if (recentWheelEvents.length >= 15) {
13637            recentWheelEvents.shift(); // only store the last N events
13638          }
13639
13640          const prevEvent = recentWheelEvents.length ? recentWheelEvents[recentWheelEvents.length - 1] : undefined;
13641          const firstEvent = recentWheelEvents[0];
13642          recentWheelEvents.push(newEvent);
13643
13644          if (prevEvent && (newEvent.delta > prevEvent.delta || newEvent.direction !== prevEvent.direction)) {
13645            // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
13646            recentWheelEvents.splice(0);
13647          } else if (recentWheelEvents.length >= 15 && newEvent.time - firstEvent.time < 500 && firstEvent.delta - newEvent.delta >= 1 && newEvent.delta <= 6) {
13648            // We're at the end of the deceleration of a momentum scroll, so there's no need
13649            // to wait for more events. Snap ASAP on the next tick.
13650            // Also, because there's some remaining momentum we'll bias the snap in the
13651            // direction of the ongoing scroll because it's better UX for the scroll to snap
13652            // in the same direction as the scroll instead of reversing to snap.  Therefore,
13653            // if it's already scrolled more than 20% in the current direction, keep going.
13654            const snapToThreshold = delta > 0 ? 0.8 : 0.2;
13655            lastEventBeforeSnap = newEvent;
13656            recentWheelEvents.splice(0);
13657            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
13658              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
13659            }, 0); // no delay; move on next tick
13660          }
13661
13662          if (!timeout) {
13663            // if we get here, then we haven't detected the end of a momentum scroll, so
13664            // we'll consider a scroll "complete" when there haven't been any wheel events
13665            // for 500ms.
13666            timeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
13667              const snapToThreshold = 0.5;
13668              lastEventBeforeSnap = newEvent;
13669              recentWheelEvents.splice(0);
13670              swiper.slideToClosest(swiper.params.speed, true, undefined, snapToThreshold);
13671            }, 500);
13672          }
13673        } // Emit event
13674
13675
13676        if (!ignoreWheelEvents) emit('scroll', e); // Stop autoplay
13677
13678        if (swiper.params.autoplay && swiper.params.autoplayDisableOnInteraction) swiper.autoplay.stop(); // Return page scroll on edge positions
13679
13680        if (position === swiper.minTranslate() || position === swiper.maxTranslate()) return true;
13681      }
13682    }
13683
13684    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
13685    return false;
13686  }
13687
13688  function events(method) {
13689    let target = swiper.$el;
13690
13691    if (swiper.params.mousewheel.eventsTarget !== 'container') {
13692      target = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(swiper.params.mousewheel.eventsTarget);
13693    }
13694
13695    target[method]('mouseenter', handleMouseEnter);
13696    target[method]('mouseleave', handleMouseLeave);
13697    target[method]('wheel', handle);
13698  }
13699
13700  function enable() {
13701    if (swiper.params.cssMode) {
13702      swiper.wrapperEl.removeEventListener('wheel', handle);
13703      return true;
13704    }
13705
13706    if (swiper.mousewheel.enabled) return false;
13707    events('on');
13708    swiper.mousewheel.enabled = true;
13709    return true;
13710  }
13711
13712  function disable() {
13713    if (swiper.params.cssMode) {
13714      swiper.wrapperEl.addEventListener(event, handle);
13715      return true;
13716    }
13717
13718    if (!swiper.mousewheel.enabled) return false;
13719    events('off');
13720    swiper.mousewheel.enabled = false;
13721    return true;
13722  }
13723
13724  on('init', () => {
13725    if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
13726      disable();
13727    }
13728
13729    if (swiper.params.mousewheel.enabled) enable();
13730  });
13731  on('destroy', () => {
13732    if (swiper.params.cssMode) {
13733      enable();
13734    }
13735
13736    if (swiper.mousewheel.enabled) disable();
13737  });
13738  Object.assign(swiper.mousewheel, {
13739    enable,
13740    disable
13741  });
13742}
13743
13744/***/ }),
13745
vendor: 5,771 bytes, lines 13746-13946
13746/***/ "./node_modules/swiper/modules/navigation/navigation.js":
13747/*!**************************************************************!*\
13748  !*** ./node_modules/swiper/modules/navigation/navigation.js ***!
13749  \**************************************************************/
13750/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13751
13752"use strict";
13753__webpack_require__.r(__webpack_exports__);
13754/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13755/* harmony export */   "default": () => (/* binding */ Navigation)
13756/* harmony export */ });
13757/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
13758/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
13759
13760
13761function Navigation({
13762  swiper,
13763  extendParams,
13764  on,
13765  emit
13766}) {
13767  extendParams({
13768    navigation: {
13769      nextEl: null,
13770      prevEl: null,
13771      hideOnClick: false,
13772      disabledClass: 'swiper-button-disabled',
13773      hiddenClass: 'swiper-button-hidden',
13774      lockClass: 'swiper-button-lock'
13775    }
13776  });
13777  swiper.navigation = {
13778    nextEl: null,
13779    $nextEl: null,
13780    prevEl: null,
13781    $prevEl: null
13782  };
13783
13784  function getEl(el) {
13785    let $el;
13786
13787    if (el) {
13788      $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(el);
13789
13790      if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {
13791        $el = swiper.$el.find(el);
13792      }
13793    }
13794
13795    return $el;
13796  }
13797
13798  function toggleEl($el, disabled) {
13799    const params = swiper.params.navigation;
13800
13801    if ($el && $el.length > 0) {
13802      $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);
13803      if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;
13804
13805      if (swiper.params.watchOverflow && swiper.enabled) {
13806        $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
13807      }
13808    }
13809  }
13810
13811  function update() {
13812    // Update Navigation Buttons
13813    if (swiper.params.loop) return;
13814    const {
13815      $nextEl,
13816      $prevEl
13817    } = swiper.navigation;
13818    toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);
13819    toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);
13820  }
13821
13822  function onPrevClick(e) {
13823    e.preventDefault();
13824    if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;
13825    swiper.slidePrev();
13826  }
13827
13828  function onNextClick(e) {
13829    e.preventDefault();
13830    if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
13831    swiper.slideNext();
13832  }
13833
13834  function init() {
13835    const params = swiper.params.navigation;
13836    swiper.params.navigation = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_0__["default"])(swiper, swiper.originalParams.navigation, swiper.params.navigation, {
13837      nextEl: 'swiper-button-next',
13838      prevEl: 'swiper-button-prev'
13839    });
13840    if (!(params.nextEl || params.prevEl)) return;
13841    const $nextEl = getEl(params.nextEl);
13842    const $prevEl = getEl(params.prevEl);
13843
13844    if ($nextEl && $nextEl.length > 0) {
13845      $nextEl.on('click', onNextClick);
13846    }
13847
13848    if ($prevEl && $prevEl.length > 0) {
13849      $prevEl.on('click', onPrevClick);
13850    }
13851
13852    Object.assign(swiper.navigation, {
13853      $nextEl,
13854      nextEl: $nextEl && $nextEl[0],
13855      $prevEl,
13856      prevEl: $prevEl && $prevEl[0]
13857    });
13858
13859    if (!swiper.enabled) {
13860      if ($nextEl) $nextEl.addClass(params.lockClass);
13861      if ($prevEl) $prevEl.addClass(params.lockClass);
13862    }
13863  }
13864
13865  function destroy() {
13866    const {
13867      $nextEl,
13868      $prevEl
13869    } = swiper.navigation;
13870
13871    if ($nextEl && $nextEl.length) {
13872      $nextEl.off('click', onNextClick);
13873      $nextEl.removeClass(swiper.params.navigation.disabledClass);
13874    }
13875
13876    if ($prevEl && $prevEl.length) {
13877      $prevEl.off('click', onPrevClick);
13878      $prevEl.removeClass(swiper.params.navigation.disabledClass);
13879    }
13880  }
13881
13882  on('init', () => {
13883    init();
13884    update();
13885  });
13886  on('toEdge fromEdge lock unlock', () => {
13887    update();
13888  });
13889  on('destroy', () => {
13890    destroy();
13891  });
13892  on('enable disable', () => {
13893    const {
13894      $nextEl,
13895      $prevEl
13896    } = swiper.navigation;
13897
13898    if ($nextEl) {
13899      $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);
13900    }
13901
13902    if ($prevEl) {
13903      $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);
13904    }
13905  });
13906  on('click', (_s, e) => {
13907    const {
13908      $nextEl,
13909      $prevEl
13910    } = swiper.navigation;
13911    const targetEl = e.target;
13912
13913    if (swiper.params.navigation.hideOnClick && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($prevEl) && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(targetEl).is($nextEl)) {
13914      if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;
13915      let isHidden;
13916
13917      if ($nextEl) {
13918        isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);
13919      } else if ($prevEl) {
13920        isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);
13921      }
13922
13923      if (isHidden === true) {
13924        emit('navigationShow');
13925      } else {
13926        emit('navigationHide');
13927      }
13928
13929      if ($nextEl) {
13930        $nextEl.toggleClass(swiper.params.navigation.hiddenClass);
13931      }
13932
13933      if ($prevEl) {
13934        $prevEl.toggleClass(swiper.params.navigation.hiddenClass);
13935      }
13936    }
13937  });
13938  Object.assign(swiper.navigation, {
13939    update,
13940    init,
13941    destroy
13942  });
13943}
13944
13945/***/ }),
13946
vendor: 15,369 bytes, lines 13947-14373
13947/***/ "./node_modules/swiper/modules/pagination/pagination.js":
13948/*!**************************************************************!*\
13949  !*** ./node_modules/swiper/modules/pagination/pagination.js ***!
13950  \**************************************************************/
13951/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
13952
13953"use strict";
13954__webpack_require__.r(__webpack_exports__);
13955/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13956/* harmony export */   "default": () => (/* binding */ Pagination)
13957/* harmony export */ });
13958/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
13959/* harmony import */ var _shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/classes-to-selector.js */ "./node_modules/swiper/shared/classes-to-selector.js");
13960/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
13961
13962
13963
13964function Pagination({
13965  swiper,
13966  extendParams,
13967  on,
13968  emit
13969}) {
13970  const pfx = 'swiper-pagination';
13971  extendParams({
13972    pagination: {
13973      el: null,
13974      bulletElement: 'span',
13975      clickable: false,
13976      hideOnClick: false,
13977      renderBullet: null,
13978      renderProgressbar: null,
13979      renderFraction: null,
13980      renderCustom: null,
13981      progressbarOpposite: false,
13982      type: 'bullets',
13983      // 'bullets' or 'progressbar' or 'fraction' or 'custom'
13984      dynamicBullets: false,
13985      dynamicMainBullets: 1,
13986      formatFractionCurrent: number => number,
13987      formatFractionTotal: number => number,
13988      bulletClass: `${pfx}-bullet`,
13989      bulletActiveClass: `${pfx}-bullet-active`,
13990      modifierClass: `${pfx}-`,
13991      currentClass: `${pfx}-current`,
13992      totalClass: `${pfx}-total`,
13993      hiddenClass: `${pfx}-hidden`,
13994      progressbarFillClass: `${pfx}-progressbar-fill`,
13995      progressbarOppositeClass: `${pfx}-progressbar-opposite`,
13996      clickableClass: `${pfx}-clickable`,
13997      lockClass: `${pfx}-lock`,
13998      horizontalClass: `${pfx}-horizontal`,
13999      verticalClass: `${pfx}-vertical`
14000    }
14001  });
14002  swiper.pagination = {
14003    el: null,
14004    $el: null,
14005    bullets: []
14006  };
14007  let bulletSize;
14008  let dynamicBulletIndex = 0;
14009
14010  function isPaginationDisabled() {
14011    return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;
14012  }
14013
14014  function setSideBullets($bulletEl, position) {
14015    const {
14016      bulletActiveClass
14017    } = swiper.params.pagination;
14018    $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);
14019  }
14020
14021  function update() {
14022    // Render || Update Pagination bullets/items
14023    const rtl = swiper.rtl;
14024    const params = swiper.params.pagination;
14025    if (isPaginationDisabled()) return;
14026    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
14027    const $el = swiper.pagination.$el; // Current/Total
14028
14029    let current;
14030    const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
14031
14032    if (swiper.params.loop) {
14033      current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);
14034
14035      if (current > slidesLength - 1 - swiper.loopedSlides * 2) {
14036        current -= slidesLength - swiper.loopedSlides * 2;
14037      }
14038
14039      if (current > total - 1) current -= total;
14040      if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;
14041    } else if (typeof swiper.snapIndex !== 'undefined') {
14042      current = swiper.snapIndex;
14043    } else {
14044      current = swiper.activeIndex || 0;
14045    } // Types
14046
14047
14048    if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {
14049      const bullets = swiper.pagination.bullets;
14050      let firstIndex;
14051      let lastIndex;
14052      let midIndex;
14053
14054      if (params.dynamicBullets) {
14055        bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);
14056        $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`);
14057
14058        if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {
14059          dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);
14060
14061          if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
14062            dynamicBulletIndex = params.dynamicMainBullets - 1;
14063          } else if (dynamicBulletIndex < 0) {
14064            dynamicBulletIndex = 0;
14065          }
14066        }
14067
14068        firstIndex = Math.max(current - dynamicBulletIndex, 0);
14069        lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);
14070        midIndex = (lastIndex + firstIndex) / 2;
14071      }
14072
14073      bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' '));
14074
14075      if ($el.length > 1) {
14076        bullets.each(bullet => {
14077          const $bullet = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bullet);
14078          const bulletIndex = $bullet.index();
14079
14080          if (bulletIndex === current) {
14081            $bullet.addClass(params.bulletActiveClass);
14082          }
14083
14084          if (params.dynamicBullets) {
14085            if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
14086              $bullet.addClass(`${params.bulletActiveClass}-main`);
14087            }
14088
14089            if (bulletIndex === firstIndex) {
14090              setSideBullets($bullet, 'prev');
14091            }
14092
14093            if (bulletIndex === lastIndex) {
14094              setSideBullets($bullet, 'next');
14095            }
14096          }
14097        });
14098      } else {
14099        const $bullet = bullets.eq(current);
14100        const bulletIndex = $bullet.index();
14101        $bullet.addClass(params.bulletActiveClass);
14102
14103        if (params.dynamicBullets) {
14104          const $firstDisplayedBullet = bullets.eq(firstIndex);
14105          const $lastDisplayedBullet = bullets.eq(lastIndex);
14106
14107          for (let i = firstIndex; i <= lastIndex; i += 1) {
14108            bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);
14109          }
14110
14111          if (swiper.params.loop) {
14112            if (bulletIndex >= bullets.length) {
14113              for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {
14114                bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);
14115              }
14116
14117              bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);
14118            } else {
14119              setSideBullets($firstDisplayedBullet, 'prev');
14120              setSideBullets($lastDisplayedBullet, 'next');
14121            }
14122          } else {
14123            setSideBullets($firstDisplayedBullet, 'prev');
14124            setSideBullets($lastDisplayedBullet, 'next');
14125          }
14126        }
14127      }
14128
14129      if (params.dynamicBullets) {
14130        const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);
14131        const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;
14132        const offsetProp = rtl ? 'right' : 'left';
14133        bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);
14134      }
14135    }
14136
14137    if (params.type === 'fraction') {
14138      $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.currentClass)).text(params.formatFractionCurrent(current + 1));
14139      $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.totalClass)).text(params.formatFractionTotal(total));
14140    }
14141
14142    if (params.type === 'progressbar') {
14143      let progressbarDirection;
14144
14145      if (params.progressbarOpposite) {
14146        progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';
14147      } else {
14148        progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';
14149      }
14150
14151      const scale = (current + 1) / total;
14152      let scaleX = 1;
14153      let scaleY = 1;
14154
14155      if (progressbarDirection === 'horizontal') {
14156        scaleX = scale;
14157      } else {
14158        scaleY = scale;
14159      }
14160
14161      $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);
14162    }
14163
14164    if (params.type === 'custom' && params.renderCustom) {
14165      $el.html(params.renderCustom(swiper, current + 1, total));
14166      emit('paginationRender', $el[0]);
14167    } else {
14168      emit('paginationUpdate', $el[0]);
14169    }
14170
14171    if (swiper.params.watchOverflow && swiper.enabled) {
14172      $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);
14173    }
14174  }
14175
14176  function render() {
14177    // Render Container
14178    const params = swiper.params.pagination;
14179    if (isPaginationDisabled()) return;
14180    const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;
14181    const $el = swiper.pagination.$el;
14182    let paginationHTML = '';
14183
14184    if (params.type === 'bullets') {
14185      let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;
14186
14187      if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {
14188        numberOfBullets = slidesLength;
14189      }
14190
14191      for (let i = 0; i < numberOfBullets; i += 1) {
14192        if (params.renderBullet) {
14193          paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);
14194        } else {
14195          paginationHTML += `<${params.bulletElement} class="${params.bulletClass}"></${params.bulletElement}>`;
14196        }
14197      }
14198
14199      $el.html(paginationHTML);
14200      swiper.pagination.bullets = $el.find((0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass));
14201    }
14202
14203    if (params.type === 'fraction') {
14204      if (params.renderFraction) {
14205        paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);
14206      } else {
14207        paginationHTML = `<span class="${params.currentClass}"></span>` + ' / ' + `<span class="${params.totalClass}"></span>`;
14208      }
14209
14210      $el.html(paginationHTML);
14211    }
14212
14213    if (params.type === 'progressbar') {
14214      if (params.renderProgressbar) {
14215        paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);
14216      } else {
14217        paginationHTML = `<span class="${params.progressbarFillClass}"></span>`;
14218      }
14219
14220      $el.html(paginationHTML);
14221    }
14222
14223    if (params.type !== 'custom') {
14224      emit('paginationRender', swiper.pagination.$el[0]);
14225    }
14226  }
14227
14228  function init() {
14229    swiper.params.pagination = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_2__["default"])(swiper, swiper.originalParams.pagination, swiper.params.pagination, {
14230      el: 'swiper-pagination'
14231    });
14232    const params = swiper.params.pagination;
14233    if (!params.el) return;
14234    let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.el);
14235    if ($el.length === 0) return;
14236
14237    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {
14238      $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper
14239
14240      if ($el.length > 1) {
14241        $el = $el.filter(el => {
14242          if ((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el).parents('.swiper')[0] !== swiper.el) return false;
14243          return true;
14244        });
14245      }
14246    }
14247
14248    if (params.type === 'bullets' && params.clickable) {
14249      $el.addClass(params.clickableClass);
14250    }
14251
14252    $el.addClass(params.modifierClass + params.type);
14253    $el.addClass(params.modifierClass + swiper.params.direction);
14254
14255    if (params.type === 'bullets' && params.dynamicBullets) {
14256      $el.addClass(`${params.modifierClass}${params.type}-dynamic`);
14257      dynamicBulletIndex = 0;
14258
14259      if (params.dynamicMainBullets < 1) {
14260        params.dynamicMainBullets = 1;
14261      }
14262    }
14263
14264    if (params.type === 'progressbar' && params.progressbarOpposite) {
14265      $el.addClass(params.progressbarOppositeClass);
14266    }
14267
14268    if (params.clickable) {
14269      $el.on('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass), function onClick(e) {
14270        e.preventDefault();
14271        let index = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(this).index() * swiper.params.slidesPerGroup;
14272        if (swiper.params.loop) index += swiper.loopedSlides;
14273        swiper.slideTo(index);
14274      });
14275    }
14276
14277    Object.assign(swiper.pagination, {
14278      $el,
14279      el: $el[0]
14280    });
14281
14282    if (!swiper.enabled) {
14283      $el.addClass(params.lockClass);
14284    }
14285  }
14286
14287  function destroy() {
14288    const params = swiper.params.pagination;
14289    if (isPaginationDisabled()) return;
14290    const $el = swiper.pagination.$el;
14291    $el.removeClass(params.hiddenClass);
14292    $el.removeClass(params.modifierClass + params.type);
14293    $el.removeClass(params.modifierClass + swiper.params.direction);
14294    if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);
14295
14296    if (params.clickable) {
14297      $el.off('click', (0,_shared_classes_to_selector_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.bulletClass));
14298    }
14299  }
14300
14301  on('init', () => {
14302    init();
14303    render();
14304    update();
14305  });
14306  on('activeIndexChange', () => {
14307    if (swiper.params.loop) {
14308      update();
14309    } else if (typeof swiper.snapIndex === 'undefined') {
14310      update();
14311    }
14312  });
14313  on('snapIndexChange', () => {
14314    if (!swiper.params.loop) {
14315      update();
14316    }
14317  });
14318  on('slidesLengthChange', () => {
14319    if (swiper.params.loop) {
14320      render();
14321      update();
14322    }
14323  });
14324  on('snapGridLengthChange', () => {
14325    if (!swiper.params.loop) {
14326      render();
14327      update();
14328    }
14329  });
14330  on('destroy', () => {
14331    destroy();
14332  });
14333  on('enable disable', () => {
14334    const {
14335      $el
14336    } = swiper.pagination;
14337
14338    if ($el) {
14339      $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);
14340    }
14341  });
14342  on('lock unlock', () => {
14343    update();
14344  });
14345  on('click', (_s, e) => {
14346    const targetEl = e.target;
14347    const {
14348      $el
14349    } = swiper.pagination;
14350
14351    if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el.length > 0 && !(0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(targetEl).hasClass(swiper.params.pagination.bulletClass)) {
14352      if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;
14353      const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);
14354
14355      if (isHidden === true) {
14356        emit('paginationShow');
14357      } else {
14358        emit('paginationHide');
14359      }
14360
14361      $el.toggleClass(swiper.params.pagination.hiddenClass);
14362    }
14363  });
14364  Object.assign(swiper.pagination, {
14365    render,
14366    update,
14367    init,
14368    destroy
14369  });
14370}
14371
14372/***/ }),
14373
vendor: 4,316 bytes, lines 14374-14502
14374/***/ "./node_modules/swiper/modules/parallax/parallax.js":
14375/*!**********************************************************!*\
14376  !*** ./node_modules/swiper/modules/parallax/parallax.js ***!
14377  \**********************************************************/
14378/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
14379
14380"use strict";
14381__webpack_require__.r(__webpack_exports__);
14382/* harmony export */ __webpack_require__.d(__webpack_exports__, {
14383/* harmony export */   "default": () => (/* binding */ Parallax)
14384/* harmony export */ });
14385/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
14386
14387function Parallax({
14388  swiper,
14389  extendParams,
14390  on
14391}) {
14392  extendParams({
14393    parallax: {
14394      enabled: false
14395    }
14396  });
14397
14398  const setTransform = (el, progress) => {
14399    const {
14400      rtl
14401    } = swiper;
14402    const $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(el);
14403    const rtlFactor = rtl ? -1 : 1;
14404    const p = $el.attr('data-swiper-parallax') || '0';
14405    let x = $el.attr('data-swiper-parallax-x');
14406    let y = $el.attr('data-swiper-parallax-y');
14407    const scale = $el.attr('data-swiper-parallax-scale');
14408    const opacity = $el.attr('data-swiper-parallax-opacity');
14409
14410    if (x || y) {
14411      x = x || '0';
14412      y = y || '0';
14413    } else if (swiper.isHorizontal()) {
14414      x = p;
14415      y = '0';
14416    } else {
14417      y = p;
14418      x = '0';
14419    }
14420
14421    if (x.indexOf('%') >= 0) {
14422      x = `${parseInt(x, 10) * progress * rtlFactor}%`;
14423    } else {
14424      x = `${x * progress * rtlFactor}px`;
14425    }
14426
14427    if (y.indexOf('%') >= 0) {
14428      y = `${parseInt(y, 10) * progress}%`;
14429    } else {
14430      y = `${y * progress}px`;
14431    }
14432
14433    if (typeof opacity !== 'undefined' && opacity !== null) {
14434      const currentOpacity = opacity - (opacity - 1) * (1 - Math.abs(progress));
14435      $el[0].style.opacity = currentOpacity;
14436    }
14437
14438    if (typeof scale === 'undefined' || scale === null) {
14439      $el.transform(`translate3d(${x}, ${y}, 0px)`);
14440    } else {
14441      const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
14442      $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);
14443    }
14444  };
14445
14446  const setTranslate = () => {
14447    const {
14448      $el,
14449      slides,
14450      progress,
14451      snapGrid
14452    } = swiper;
14453    $el.children('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => {
14454      setTransform(el, progress);
14455    });
14456    slides.each((slideEl, slideIndex) => {
14457      let slideProgress = slideEl.progress;
14458
14459      if (swiper.params.slidesPerGroup > 1 && swiper.params.slidesPerView !== 'auto') {
14460        slideProgress += Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
14461      }
14462
14463      slideProgress = Math.min(Math.max(slideProgress, -1), 1);
14464      (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(slideEl).find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(el => {
14465        setTransform(el, slideProgress);
14466      });
14467    });
14468  };
14469
14470  const setTransition = (duration = swiper.params.speed) => {
14471    const {
14472      $el
14473    } = swiper;
14474    $el.find('[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]').each(parallaxEl => {
14475      const $parallaxEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(parallaxEl);
14476      let parallaxDuration = parseInt($parallaxEl.attr('data-swiper-parallax-duration'), 10) || duration;
14477      if (duration === 0) parallaxDuration = 0;
14478      $parallaxEl.transition(parallaxDuration);
14479    });
14480  };
14481
14482  on('beforeInit', () => {
14483    if (!swiper.params.parallax.enabled) return;
14484    swiper.params.watchSlidesProgress = true;
14485    swiper.originalParams.watchSlidesProgress = true;
14486  });
14487  on('init', () => {
14488    if (!swiper.params.parallax.enabled) return;
14489    setTranslate();
14490  });
14491  on('setTranslate', () => {
14492    if (!swiper.params.parallax.enabled) return;
14493    setTranslate();
14494  });
14495  on('setTransition', (_swiper, duration) => {
14496    if (!swiper.params.parallax.enabled) return;
14497    setTransition(duration);
14498  });
14499}
14500
14501/***/ }),
14502
vendor: 10,560 bytes, lines 14503-14881
14503/***/ "./node_modules/swiper/modules/scrollbar/scrollbar.js":
14504/*!************************************************************!*\
14505  !*** ./node_modules/swiper/modules/scrollbar/scrollbar.js ***!
14506  \************************************************************/
14507/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
14508
14509"use strict";
14510__webpack_require__.r(__webpack_exports__);
14511/* harmony export */ __webpack_require__.d(__webpack_exports__, {
14512/* harmony export */   "default": () => (/* binding */ Scrollbar)
14513/* harmony export */ });
14514/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
14515/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
14516/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
14517/* harmony import */ var _shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../shared/create-element-if-not-defined.js */ "./node_modules/swiper/shared/create-element-if-not-defined.js");
14518
14519
14520
14521
14522function Scrollbar({
14523  swiper,
14524  extendParams,
14525  on,
14526  emit
14527}) {
14528  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
14529  let isTouched = false;
14530  let timeout = null;
14531  let dragTimeout = null;
14532  let dragStartPos;
14533  let dragSize;
14534  let trackSize;
14535  let divider;
14536  extendParams({
14537    scrollbar: {
14538      el: null,
14539      dragSize: 'auto',
14540      hide: false,
14541      draggable: false,
14542      snapOnRelease: true,
14543      lockClass: 'swiper-scrollbar-lock',
14544      dragClass: 'swiper-scrollbar-drag'
14545    }
14546  });
14547  swiper.scrollbar = {
14548    el: null,
14549    dragEl: null,
14550    $el: null,
14551    $dragEl: null
14552  };
14553
14554  function setTranslate() {
14555    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
14556    const {
14557      scrollbar,
14558      rtlTranslate: rtl,
14559      progress
14560    } = swiper;
14561    const {
14562      $dragEl,
14563      $el
14564    } = scrollbar;
14565    const params = swiper.params.scrollbar;
14566    let newSize = dragSize;
14567    let newPos = (trackSize - dragSize) * progress;
14568
14569    if (rtl) {
14570      newPos = -newPos;
14571
14572      if (newPos > 0) {
14573        newSize = dragSize - newPos;
14574        newPos = 0;
14575      } else if (-newPos + dragSize > trackSize) {
14576        newSize = trackSize + newPos;
14577      }
14578    } else if (newPos < 0) {
14579      newSize = dragSize + newPos;
14580      newPos = 0;
14581    } else if (newPos + dragSize > trackSize) {
14582      newSize = trackSize - newPos;
14583    }
14584
14585    if (swiper.isHorizontal()) {
14586      $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);
14587      $dragEl[0].style.width = `${newSize}px`;
14588    } else {
14589      $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);
14590      $dragEl[0].style.height = `${newSize}px`;
14591    }
14592
14593    if (params.hide) {
14594      clearTimeout(timeout);
14595      $el[0].style.opacity = 1;
14596      timeout = setTimeout(() => {
14597        $el[0].style.opacity = 0;
14598        $el.transition(400);
14599      }, 1000);
14600    }
14601  }
14602
14603  function setTransition(duration) {
14604    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
14605    swiper.scrollbar.$dragEl.transition(duration);
14606  }
14607
14608  function updateSize() {
14609    if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
14610    const {
14611      scrollbar
14612    } = swiper;
14613    const {
14614      $dragEl,
14615      $el
14616    } = scrollbar;
14617    $dragEl[0].style.width = '';
14618    $dragEl[0].style.height = '';
14619    trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;
14620    divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
14621
14622    if (swiper.params.scrollbar.dragSize === 'auto') {
14623      dragSize = trackSize * divider;
14624    } else {
14625      dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
14626    }
14627
14628    if (swiper.isHorizontal()) {
14629      $dragEl[0].style.width = `${dragSize}px`;
14630    } else {
14631      $dragEl[0].style.height = `${dragSize}px`;
14632    }
14633
14634    if (divider >= 1) {
14635      $el[0].style.display = 'none';
14636    } else {
14637      $el[0].style.display = '';
14638    }
14639
14640    if (swiper.params.scrollbar.hide) {
14641      $el[0].style.opacity = 0;
14642    }
14643
14644    if (swiper.params.watchOverflow && swiper.enabled) {
14645      scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);
14646    }
14647  }
14648
14649  function getPointerPosition(e) {
14650    if (swiper.isHorizontal()) {
14651      return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;
14652    }
14653
14654    return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;
14655  }
14656
14657  function setDragPosition(e) {
14658    const {
14659      scrollbar,
14660      rtlTranslate: rtl
14661    } = swiper;
14662    const {
14663      $el
14664    } = scrollbar;
14665    let positionRatio;
14666    positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);
14667    positionRatio = Math.max(Math.min(positionRatio, 1), 0);
14668
14669    if (rtl) {
14670      positionRatio = 1 - positionRatio;
14671    }
14672
14673    const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
14674    swiper.updateProgress(position);
14675    swiper.setTranslate(position);
14676    swiper.updateActiveIndex();
14677    swiper.updateSlidesClasses();
14678  }
14679
14680  function onDragStart(e) {
14681    const params = swiper.params.scrollbar;
14682    const {
14683      scrollbar,
14684      $wrapperEl
14685    } = swiper;
14686    const {
14687      $el,
14688      $dragEl
14689    } = scrollbar;
14690    isTouched = true;
14691    dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;
14692    e.preventDefault();
14693    e.stopPropagation();
14694    $wrapperEl.transition(100);
14695    $dragEl.transition(100);
14696    setDragPosition(e);
14697    clearTimeout(dragTimeout);
14698    $el.transition(0);
14699
14700    if (params.hide) {
14701      $el.css('opacity', 1);
14702    }
14703
14704    if (swiper.params.cssMode) {
14705      swiper.$wrapperEl.css('scroll-snap-type', 'none');
14706    }
14707
14708    emit('scrollbarDragStart', e);
14709  }
14710
14711  function onDragMove(e) {
14712    const {
14713      scrollbar,
14714      $wrapperEl
14715    } = swiper;
14716    const {
14717      $el,
14718      $dragEl
14719    } = scrollbar;
14720    if (!isTouched) return;
14721    if (e.preventDefault) e.preventDefault();else e.returnValue = false;
14722    setDragPosition(e);
14723    $wrapperEl.transition(0);
14724    $el.transition(0);
14725    $dragEl.transition(0);
14726    emit('scrollbarDragMove', e);
14727  }
14728
14729  function onDragEnd(e) {
14730    const params = swiper.params.scrollbar;
14731    const {
14732      scrollbar,
14733      $wrapperEl
14734    } = swiper;
14735    const {
14736      $el
14737    } = scrollbar;
14738    if (!isTouched) return;
14739    isTouched = false;
14740
14741    if (swiper.params.cssMode) {
14742      swiper.$wrapperEl.css('scroll-snap-type', '');
14743      $wrapperEl.transition('');
14744    }
14745
14746    if (params.hide) {
14747      clearTimeout(dragTimeout);
14748      dragTimeout = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.nextTick)(() => {
14749        $el.css('opacity', 0);
14750        $el.transition(400);
14751      }, 1000);
14752    }
14753
14754    emit('scrollbarDragEnd', e);
14755
14756    if (params.snapOnRelease) {
14757      swiper.slideToClosest();
14758    }
14759  }
14760
14761  function events(method) {
14762    const {
14763      scrollbar,
14764      touchEventsTouch,
14765      touchEventsDesktop,
14766      params,
14767      support
14768    } = swiper;
14769    const $el = scrollbar.$el;
14770    const target = $el[0];
14771    const activeListener = support.passiveListener && params.passiveListeners ? {
14772      passive: false,
14773      capture: false
14774    } : false;
14775    const passiveListener = support.passiveListener && params.passiveListeners ? {
14776      passive: true,
14777      capture: false
14778    } : false;
14779    if (!target) return;
14780    const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';
14781
14782    if (!support.touch) {
14783      target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);
14784      document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);
14785      document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);
14786    } else {
14787      target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);
14788      target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);
14789      target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);
14790    }
14791  }
14792
14793  function enableDraggable() {
14794    if (!swiper.params.scrollbar.el) return;
14795    events('on');
14796  }
14797
14798  function disableDraggable() {
14799    if (!swiper.params.scrollbar.el) return;
14800    events('off');
14801  }
14802
14803  function init() {
14804    const {
14805      scrollbar,
14806      $el: $swiperEl
14807    } = swiper;
14808    swiper.params.scrollbar = (0,_shared_create_element_if_not_defined_js__WEBPACK_IMPORTED_MODULE_3__["default"])(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {
14809      el: 'swiper-scrollbar'
14810    });
14811    const params = swiper.params.scrollbar;
14812    if (!params.el) return;
14813    let $el = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(params.el);
14814
14815    if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {
14816      $el = $swiperEl.find(params.el);
14817    }
14818
14819    let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);
14820
14821    if ($dragEl.length === 0) {
14822      $dragEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(`<div class="${swiper.params.scrollbar.dragClass}"></div>`);
14823      $el.append($dragEl);
14824    }
14825
14826    Object.assign(scrollbar, {
14827      $el,
14828      el: $el[0],
14829      $dragEl,
14830      dragEl: $dragEl[0]
14831    });
14832
14833    if (params.draggable) {
14834      enableDraggable();
14835    }
14836
14837    if ($el) {
14838      $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);
14839    }
14840  }
14841
14842  function destroy() {
14843    disableDraggable();
14844  }
14845
14846  on('init', () => {
14847    init();
14848    updateSize();
14849    setTranslate();
14850  });
14851  on('update resize observerUpdate lock unlock', () => {
14852    updateSize();
14853  });
14854  on('setTranslate', () => {
14855    setTranslate();
14856  });
14857  on('setTransition', (_s, duration) => {
14858    setTransition(duration);
14859  });
14860  on('enable disable', () => {
14861    const {
14862      $el
14863    } = swiper.scrollbar;
14864
14865    if ($el) {
14866      $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);
14867    }
14868  });
14869  on('destroy', () => {
14870    destroy();
14871  });
14872  Object.assign(swiper.scrollbar, {
14873    updateSize,
14874    setTranslate,
14875    init,
14876    destroy
14877  });
14878}
14879
14880/***/ }),
14881
vendor: 8,460 bytes, lines 14882-15101
14882/***/ "./node_modules/swiper/modules/thumbs/thumbs.js":
14883/*!******************************************************!*\
14884  !*** ./node_modules/swiper/modules/thumbs/thumbs.js ***!
14885  \******************************************************/
14886/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
14887
14888"use strict";
14889__webpack_require__.r(__webpack_exports__);
14890/* harmony export */ __webpack_require__.d(__webpack_exports__, {
14891/* harmony export */   "default": () => (/* binding */ Thumb)
14892/* harmony export */ });
14893/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
14894/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
14895
14896
14897function Thumb({
14898  swiper,
14899  extendParams,
14900  on
14901}) {
14902  extendParams({
14903    thumbs: {
14904      swiper: null,
14905      multipleActiveThumbs: true,
14906      autoScrollOffset: 0,
14907      slideThumbActiveClass: 'swiper-slide-thumb-active',
14908      thumbsContainerClass: 'swiper-thumbs'
14909    }
14910  });
14911  let initialized = false;
14912  let swiperCreated = false;
14913  swiper.thumbs = {
14914    swiper: null
14915  };
14916
14917  function onThumbClick() {
14918    const thumbsSwiper = swiper.thumbs.swiper;
14919    if (!thumbsSwiper) return;
14920    const clickedIndex = thumbsSwiper.clickedIndex;
14921    const clickedSlide = thumbsSwiper.clickedSlide;
14922    if (clickedSlide && (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)) return;
14923    if (typeof clickedIndex === 'undefined' || clickedIndex === null) return;
14924    let slideToIndex;
14925
14926    if (thumbsSwiper.params.loop) {
14927      slideToIndex = parseInt((0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(thumbsSwiper.clickedSlide).attr('data-swiper-slide-index'), 10);
14928    } else {
14929      slideToIndex = clickedIndex;
14930    }
14931
14932    if (swiper.params.loop) {
14933      let currentIndex = swiper.activeIndex;
14934
14935      if (swiper.slides.eq(currentIndex).hasClass(swiper.params.slideDuplicateClass)) {
14936        swiper.loopFix(); // eslint-disable-next-line
14937
14938        swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
14939        currentIndex = swiper.activeIndex;
14940      }
14941
14942      const prevIndex = swiper.slides.eq(currentIndex).prevAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();
14943      const nextIndex = swiper.slides.eq(currentIndex).nextAll(`[data-swiper-slide-index="${slideToIndex}"]`).eq(0).index();
14944      if (typeof prevIndex === 'undefined') slideToIndex = nextIndex;else if (typeof nextIndex === 'undefined') slideToIndex = prevIndex;else if (nextIndex - currentIndex < currentIndex - prevIndex) slideToIndex = nextIndex;else slideToIndex = prevIndex;
14945    }
14946
14947    swiper.slideTo(slideToIndex);
14948  }
14949
14950  function init() {
14951    const {
14952      thumbs: thumbsParams
14953    } = swiper.params;
14954    if (initialized) return false;
14955    initialized = true;
14956    const SwiperClass = swiper.constructor;
14957
14958    if (thumbsParams.swiper instanceof SwiperClass) {
14959      swiper.thumbs.swiper = thumbsParams.swiper;
14960      Object.assign(swiper.thumbs.swiper.originalParams, {
14961        watchSlidesProgress: true,
14962        slideToClickedSlide: false
14963      });
14964      Object.assign(swiper.thumbs.swiper.params, {
14965        watchSlidesProgress: true,
14966        slideToClickedSlide: false
14967      });
14968    } else if ((0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_0__.isObject)(thumbsParams.swiper)) {
14969      const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
14970      Object.assign(thumbsSwiperParams, {
14971        watchSlidesProgress: true,
14972        slideToClickedSlide: false
14973      });
14974      swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
14975      swiperCreated = true;
14976    }
14977
14978    swiper.thumbs.swiper.$el.addClass(swiper.params.thumbs.thumbsContainerClass);
14979    swiper.thumbs.swiper.on('tap', onThumbClick);
14980    return true;
14981  }
14982
14983  function update(initial) {
14984    const thumbsSwiper = swiper.thumbs.swiper;
14985    if (!thumbsSwiper) return;
14986    const slidesPerView = thumbsSwiper.params.slidesPerView === 'auto' ? thumbsSwiper.slidesPerViewDynamic() : thumbsSwiper.params.slidesPerView;
14987    const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
14988    const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
14989
14990    if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
14991      let currentThumbsIndex = thumbsSwiper.activeIndex;
14992      let newThumbsIndex;
14993      let direction;
14994
14995      if (thumbsSwiper.params.loop) {
14996        if (thumbsSwiper.slides.eq(currentThumbsIndex).hasClass(thumbsSwiper.params.slideDuplicateClass)) {
14997          thumbsSwiper.loopFix(); // eslint-disable-next-line
14998
14999          thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;
15000          currentThumbsIndex = thumbsSwiper.activeIndex;
15001        } // Find actual thumbs index to slide to
15002
15003
15004        const prevThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();
15005        const nextThumbsIndex = thumbsSwiper.slides.eq(currentThumbsIndex).nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`).eq(0).index();
15006
15007        if (typeof prevThumbsIndex === 'undefined') {
15008          newThumbsIndex = nextThumbsIndex;
15009        } else if (typeof nextThumbsIndex === 'undefined') {
15010          newThumbsIndex = prevThumbsIndex;
15011        } else if (nextThumbsIndex - currentThumbsIndex === currentThumbsIndex - prevThumbsIndex) {
15012          newThumbsIndex = thumbsSwiper.params.slidesPerGroup > 1 ? nextThumbsIndex : currentThumbsIndex;
15013        } else if (nextThumbsIndex - currentThumbsIndex < currentThumbsIndex - prevThumbsIndex) {
15014          newThumbsIndex = nextThumbsIndex;
15015        } else {
15016          newThumbsIndex = prevThumbsIndex;
15017        }
15018
15019        direction = swiper.activeIndex > swiper.previousIndex ? 'next' : 'prev';
15020      } else {
15021        newThumbsIndex = swiper.realIndex;
15022        direction = newThumbsIndex > swiper.previousIndex ? 'next' : 'prev';
15023      }
15024
15025      if (useOffset) {
15026        newThumbsIndex += direction === 'next' ? autoScrollOffset : -1 * autoScrollOffset;
15027      }
15028
15029      if (thumbsSwiper.visibleSlidesIndexes && thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0) {
15030        if (thumbsSwiper.params.centeredSlides) {
15031          if (newThumbsIndex > currentThumbsIndex) {
15032            newThumbsIndex = newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
15033          } else {
15034            newThumbsIndex = newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
15035          }
15036        } else if (newThumbsIndex > currentThumbsIndex && thumbsSwiper.params.slidesPerGroup === 1) {// newThumbsIndex = newThumbsIndex - slidesPerView + 1;
15037        }
15038
15039        thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
15040      }
15041    } // Activate thumbs
15042
15043
15044    let thumbsToActivate = 1;
15045    const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
15046
15047    if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
15048      thumbsToActivate = swiper.params.slidesPerView;
15049    }
15050
15051    if (!swiper.params.thumbs.multipleActiveThumbs) {
15052      thumbsToActivate = 1;
15053    }
15054
15055    thumbsToActivate = Math.floor(thumbsToActivate);
15056    thumbsSwiper.slides.removeClass(thumbActiveClass);
15057
15058    if (thumbsSwiper.params.loop || thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled) {
15059      for (let i = 0; i < thumbsToActivate; i += 1) {
15060        thumbsSwiper.$wrapperEl.children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`).addClass(thumbActiveClass);
15061      }
15062    } else {
15063      for (let i = 0; i < thumbsToActivate; i += 1) {
15064        thumbsSwiper.slides.eq(swiper.realIndex + i).addClass(thumbActiveClass);
15065      }
15066    }
15067  }
15068
15069  on('beforeInit', () => {
15070    const {
15071      thumbs
15072    } = swiper.params;
15073    if (!thumbs || !thumbs.swiper) return;
15074    init();
15075    update(true);
15076  });
15077  on('slideChange update resize observerUpdate', () => {
15078    if (!swiper.thumbs.swiper) return;
15079    update();
15080  });
15081  on('setTransition', (_s, duration) => {
15082    const thumbsSwiper = swiper.thumbs.swiper;
15083    if (!thumbsSwiper) return;
15084    thumbsSwiper.setTransition(duration);
15085  });
15086  on('beforeDestroy', () => {
15087    const thumbsSwiper = swiper.thumbs.swiper;
15088    if (!thumbsSwiper) return;
15089
15090    if (swiperCreated && thumbsSwiper) {
15091      thumbsSwiper.destroy();
15092    }
15093  });
15094  Object.assign(swiper.thumbs, {
15095    init,
15096    update
15097  });
15098}
15099
15100/***/ }),
15101
vendor: 8,956 bytes, lines 15102-15408
15102/***/ "./node_modules/swiper/modules/virtual/virtual.js":
15103/*!********************************************************!*\
15104  !*** ./node_modules/swiper/modules/virtual/virtual.js ***!
15105  \********************************************************/
15106/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
15107
15108"use strict";
15109__webpack_require__.r(__webpack_exports__);
15110/* harmony export */ __webpack_require__.d(__webpack_exports__, {
15111/* harmony export */   "default": () => (/* binding */ Virtual)
15112/* harmony export */ });
15113/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
15114/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
15115
15116
15117function Virtual({
15118  swiper,
15119  extendParams,
15120  on
15121}) {
15122  extendParams({
15123    virtual: {
15124      enabled: false,
15125      slides: [],
15126      cache: true,
15127      renderSlide: null,
15128      renderExternal: null,
15129      renderExternalUpdate: true,
15130      addSlidesBefore: 0,
15131      addSlidesAfter: 0
15132    }
15133  });
15134  let cssModeTimeout;
15135  swiper.virtual = {
15136    cache: {},
15137    from: undefined,
15138    to: undefined,
15139    slides: [],
15140    offset: 0,
15141    slidesGrid: []
15142  };
15143
15144  function renderSlide(slide, index) {
15145    const params = swiper.params.virtual;
15146
15147    if (params.cache && swiper.virtual.cache[index]) {
15148      return swiper.virtual.cache[index];
15149    }
15150
15151    const $slideEl = params.renderSlide ? (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(params.renderSlide.call(swiper, slide, index)) : (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="${swiper.params.slideClass}" data-swiper-slide-index="${index}">${slide}</div>`);
15152    if (!$slideEl.attr('data-swiper-slide-index')) $slideEl.attr('data-swiper-slide-index', index);
15153    if (params.cache) swiper.virtual.cache[index] = $slideEl;
15154    return $slideEl;
15155  }
15156
15157  function update(force) {
15158    const {
15159      slidesPerView,
15160      slidesPerGroup,
15161      centeredSlides
15162    } = swiper.params;
15163    const {
15164      addSlidesBefore,
15165      addSlidesAfter
15166    } = swiper.params.virtual;
15167    const {
15168      from: previousFrom,
15169      to: previousTo,
15170      slides,
15171      slidesGrid: previousSlidesGrid,
15172      offset: previousOffset
15173    } = swiper.virtual;
15174
15175    if (!swiper.params.cssMode) {
15176      swiper.updateActiveIndex();
15177    }
15178
15179    const activeIndex = swiper.activeIndex || 0;
15180    let offsetProp;
15181    if (swiper.rtlTranslate) offsetProp = 'right';else offsetProp = swiper.isHorizontal() ? 'left' : 'top';
15182    let slidesAfter;
15183    let slidesBefore;
15184
15185    if (centeredSlides) {
15186      slidesAfter = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
15187      slidesBefore = Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
15188    } else {
15189      slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
15190      slidesBefore = slidesPerGroup + addSlidesBefore;
15191    }
15192
15193    const from = Math.max((activeIndex || 0) - slidesBefore, 0);
15194    const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
15195    const offset = (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
15196    Object.assign(swiper.virtual, {
15197      from,
15198      to,
15199      offset,
15200      slidesGrid: swiper.slidesGrid
15201    });
15202
15203    function onRendered() {
15204      swiper.updateSlides();
15205      swiper.updateProgress();
15206      swiper.updateSlidesClasses();
15207
15208      if (swiper.lazy && swiper.params.lazy.enabled) {
15209        swiper.lazy.load();
15210      }
15211    }
15212
15213    if (previousFrom === from && previousTo === to && !force) {
15214      if (swiper.slidesGrid !== previousSlidesGrid && offset !== previousOffset) {
15215        swiper.slides.css(offsetProp, `${offset}px`);
15216      }
15217
15218      swiper.updateProgress();
15219      return;
15220    }
15221
15222    if (swiper.params.virtual.renderExternal) {
15223      swiper.params.virtual.renderExternal.call(swiper, {
15224        offset,
15225        from,
15226        to,
15227        slides: function getSlides() {
15228          const slidesToRender = [];
15229
15230          for (let i = from; i <= to; i += 1) {
15231            slidesToRender.push(slides[i]);
15232          }
15233
15234          return slidesToRender;
15235        }()
15236      });
15237
15238      if (swiper.params.virtual.renderExternalUpdate) {
15239        onRendered();
15240      }
15241
15242      return;
15243    }
15244
15245    const prependIndexes = [];
15246    const appendIndexes = [];
15247
15248    if (force) {
15249      swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();
15250    } else {
15251      for (let i = previousFrom; i <= previousTo; i += 1) {
15252        if (i < from || i > to) {
15253          swiper.$wrapperEl.find(`.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`).remove();
15254        }
15255      }
15256    }
15257
15258    for (let i = 0; i < slides.length; i += 1) {
15259      if (i >= from && i <= to) {
15260        if (typeof previousTo === 'undefined' || force) {
15261          appendIndexes.push(i);
15262        } else {
15263          if (i > previousTo) appendIndexes.push(i);
15264          if (i < previousFrom) prependIndexes.push(i);
15265        }
15266      }
15267    }
15268
15269    appendIndexes.forEach(index => {
15270      swiper.$wrapperEl.append(renderSlide(slides[index], index));
15271    });
15272    prependIndexes.sort((a, b) => b - a).forEach(index => {
15273      swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
15274    });
15275    swiper.$wrapperEl.children('.swiper-slide').css(offsetProp, `${offset}px`);
15276    onRendered();
15277  }
15278
15279  function appendSlide(slides) {
15280    if (typeof slides === 'object' && 'length' in slides) {
15281      for (let i = 0; i < slides.length; i += 1) {
15282        if (slides[i]) swiper.virtual.slides.push(slides[i]);
15283      }
15284    } else {
15285      swiper.virtual.slides.push(slides);
15286    }
15287
15288    update(true);
15289  }
15290
15291  function prependSlide(slides) {
15292    const activeIndex = swiper.activeIndex;
15293    let newActiveIndex = activeIndex + 1;
15294    let numberOfNewSlides = 1;
15295
15296    if (Array.isArray(slides)) {
15297      for (let i = 0; i < slides.length; i += 1) {
15298        if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
15299      }
15300
15301      newActiveIndex = activeIndex + slides.length;
15302      numberOfNewSlides = slides.length;
15303    } else {
15304      swiper.virtual.slides.unshift(slides);
15305    }
15306
15307    if (swiper.params.virtual.cache) {
15308      const cache = swiper.virtual.cache;
15309      const newCache = {};
15310      Object.keys(cache).forEach(cachedIndex => {
15311        const $cachedEl = cache[cachedIndex];
15312        const cachedElIndex = $cachedEl.attr('data-swiper-slide-index');
15313
15314        if (cachedElIndex) {
15315          $cachedEl.attr('data-swiper-slide-index', parseInt(cachedElIndex, 10) + numberOfNewSlides);
15316        }
15317
15318        newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;
15319      });
15320      swiper.virtual.cache = newCache;
15321    }
15322
15323    update(true);
15324    swiper.slideTo(newActiveIndex, 0);
15325  }
15326
15327  function removeSlide(slidesIndexes) {
15328    if (typeof slidesIndexes === 'undefined' || slidesIndexes === null) return;
15329    let activeIndex = swiper.activeIndex;
15330
15331    if (Array.isArray(slidesIndexes)) {
15332      for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
15333        swiper.virtual.slides.splice(slidesIndexes[i], 1);
15334
15335        if (swiper.params.virtual.cache) {
15336          delete swiper.virtual.cache[slidesIndexes[i]];
15337        }
15338
15339        if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
15340        activeIndex = Math.max(activeIndex, 0);
15341      }
15342    } else {
15343      swiper.virtual.slides.splice(slidesIndexes, 1);
15344
15345      if (swiper.params.virtual.cache) {
15346        delete swiper.virtual.cache[slidesIndexes];
15347      }
15348
15349      if (slidesIndexes < activeIndex) activeIndex -= 1;
15350      activeIndex = Math.max(activeIndex, 0);
15351    }
15352
15353    update(true);
15354    swiper.slideTo(activeIndex, 0);
15355  }
15356
15357  function removeAllSlides() {
15358    swiper.virtual.slides = [];
15359
15360    if (swiper.params.virtual.cache) {
15361      swiper.virtual.cache = {};
15362    }
15363
15364    update(true);
15365    swiper.slideTo(0, 0);
15366  }
15367
15368  on('beforeInit', () => {
15369    if (!swiper.params.virtual.enabled) return;
15370    swiper.virtual.slides = swiper.params.virtual.slides;
15371    swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
15372    swiper.params.watchSlidesProgress = true;
15373    swiper.originalParams.watchSlidesProgress = true;
15374
15375    if (!swiper.params.initialSlide) {
15376      update();
15377    }
15378  });
15379  on('setTranslate', () => {
15380    if (!swiper.params.virtual.enabled) return;
15381
15382    if (swiper.params.cssMode && !swiper._immediateVirtual) {
15383      clearTimeout(cssModeTimeout);
15384      cssModeTimeout = setTimeout(() => {
15385        update();
15386      }, 100);
15387    } else {
15388      update();
15389    }
15390  });
15391  on('init update resize', () => {
15392    if (!swiper.params.virtual.enabled) return;
15393
15394    if (swiper.params.cssMode) {
15395      (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_1__.setCSSProperty)(swiper.wrapperEl, '--swiper-virtual-size', `${swiper.virtualSize}px`);
15396    }
15397  });
15398  Object.assign(swiper.virtual, {
15399    appendSlide,
15400    prependSlide,
15401    removeSlide,
15402    removeAllSlides,
15403    update
15404  });
15405}
15406
15407/***/ }),
15408
vendor: 21,662 bytes, lines 15409-16037
15409/***/ "./node_modules/swiper/modules/zoom/zoom.js":
15410/*!**************************************************!*\
15411  !*** ./node_modules/swiper/modules/zoom/zoom.js ***!
15412  \**************************************************/
15413/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
15414
15415"use strict";
15416__webpack_require__.r(__webpack_exports__);
15417/* harmony export */ __webpack_require__.d(__webpack_exports__, {
15418/* harmony export */   "default": () => (/* binding */ Zoom)
15419/* harmony export */ });
15420/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
15421/* harmony import */ var _shared_dom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../shared/dom.js */ "./node_modules/swiper/shared/dom.js");
15422/* harmony import */ var _shared_utils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../shared/utils.js */ "./node_modules/swiper/shared/utils.js");
15423
15424
15425
15426function Zoom({
15427  swiper,
15428  extendParams,
15429  on,
15430  emit
15431}) {
15432  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
15433  extendParams({
15434    zoom: {
15435      enabled: false,
15436      maxRatio: 3,
15437      minRatio: 1,
15438      toggle: true,
15439      containerClass: 'swiper-zoom-container',
15440      zoomedSlideClass: 'swiper-slide-zoomed'
15441    }
15442  });
15443  swiper.zoom = {
15444    enabled: false
15445  };
15446  let currentScale = 1;
15447  let isScaling = false;
15448  let gesturesEnabled;
15449  let fakeGestureTouched;
15450  let fakeGestureMoved;
15451  const gesture = {
15452    $slideEl: undefined,
15453    slideWidth: undefined,
15454    slideHeight: undefined,
15455    $imageEl: undefined,
15456    $imageWrapEl: undefined,
15457    maxRatio: 3
15458  };
15459  const image = {
15460    isTouched: undefined,
15461    isMoved: undefined,
15462    currentX: undefined,
15463    currentY: undefined,
15464    minX: undefined,
15465    minY: undefined,
15466    maxX: undefined,
15467    maxY: undefined,
15468    width: undefined,
15469    height: undefined,
15470    startX: undefined,
15471    startY: undefined,
15472    touchesStart: {},
15473    touchesCurrent: {}
15474  };
15475  const velocity = {
15476    x: undefined,
15477    y: undefined,
15478    prevPositionX: undefined,
15479    prevPositionY: undefined,
15480    prevTime: undefined
15481  };
15482  let scale = 1;
15483  Object.defineProperty(swiper.zoom, 'scale', {
15484    get() {
15485      return scale;
15486    },
15487
15488    set(value) {
15489      if (scale !== value) {
15490        const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;
15491        const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;
15492        emit('zoomChange', value, imageEl, slideEl);
15493      }
15494
15495      scale = value;
15496    }
15497
15498  });
15499
15500  function getDistanceBetweenTouches(e) {
15501    if (e.targetTouches.length < 2) return 1;
15502    const x1 = e.targetTouches[0].pageX;
15503    const y1 = e.targetTouches[0].pageY;
15504    const x2 = e.targetTouches[1].pageX;
15505    const y2 = e.targetTouches[1].pageY;
15506    const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
15507    return distance;
15508  } // Events
15509
15510
15511  function onGestureStart(e) {
15512    const support = swiper.support;
15513    const params = swiper.params.zoom;
15514    fakeGestureTouched = false;
15515    fakeGestureMoved = false;
15516
15517    if (!support.gestures) {
15518      if (e.type !== 'touchstart' || e.type === 'touchstart' && e.targetTouches.length < 2) {
15519        return;
15520      }
15521
15522      fakeGestureTouched = true;
15523      gesture.scaleStart = getDistanceBetweenTouches(e);
15524    }
15525
15526    if (!gesture.$slideEl || !gesture.$slideEl.length) {
15527      gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`);
15528      if (gesture.$slideEl.length === 0) gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
15529      gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
15530      gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
15531      gesture.maxRatio = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
15532
15533      if (gesture.$imageWrapEl.length === 0) {
15534        gesture.$imageEl = undefined;
15535        return;
15536      }
15537    }
15538
15539    if (gesture.$imageEl) {
15540      gesture.$imageEl.transition(0);
15541    }
15542
15543    isScaling = true;
15544  }
15545
15546  function onGestureChange(e) {
15547    const support = swiper.support;
15548    const params = swiper.params.zoom;
15549    const zoom = swiper.zoom;
15550
15551    if (!support.gestures) {
15552      if (e.type !== 'touchmove' || e.type === 'touchmove' && e.targetTouches.length < 2) {
15553        return;
15554      }
15555
15556      fakeGestureMoved = true;
15557      gesture.scaleMove = getDistanceBetweenTouches(e);
15558    }
15559
15560    if (!gesture.$imageEl || gesture.$imageEl.length === 0) {
15561      if (e.type === 'gesturechange') onGestureStart(e);
15562      return;
15563    }
15564
15565    if (support.gestures) {
15566      zoom.scale = e.scale * currentScale;
15567    } else {
15568      zoom.scale = gesture.scaleMove / gesture.scaleStart * currentScale;
15569    }
15570
15571    if (zoom.scale > gesture.maxRatio) {
15572      zoom.scale = gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
15573    }
15574
15575    if (zoom.scale < params.minRatio) {
15576      zoom.scale = params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
15577    }
15578
15579    gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);
15580  }
15581
15582  function onGestureEnd(e) {
15583    const device = swiper.device;
15584    const support = swiper.support;
15585    const params = swiper.params.zoom;
15586    const zoom = swiper.zoom;
15587
15588    if (!support.gestures) {
15589      if (!fakeGestureTouched || !fakeGestureMoved) {
15590        return;
15591      }
15592
15593      if (e.type !== 'touchend' || e.type === 'touchend' && e.changedTouches.length < 2 && !device.android) {
15594        return;
15595      }
15596
15597      fakeGestureTouched = false;
15598      fakeGestureMoved = false;
15599    }
15600
15601    if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
15602    zoom.scale = Math.max(Math.min(zoom.scale, gesture.maxRatio), params.minRatio);
15603    gesture.$imageEl.transition(swiper.params.speed).transform(`translate3d(0,0,0) scale(${zoom.scale})`);
15604    currentScale = zoom.scale;
15605    isScaling = false;
15606    if (zoom.scale === 1) gesture.$slideEl = undefined;
15607  }
15608
15609  function onTouchStart(e) {
15610    const device = swiper.device;
15611    if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
15612    if (image.isTouched) return;
15613    if (device.android && e.cancelable) e.preventDefault();
15614    image.isTouched = true;
15615    image.touchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;
15616    image.touchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;
15617  }
15618
15619  function onTouchMove(e) {
15620    const zoom = swiper.zoom;
15621    if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
15622    swiper.allowClick = false;
15623    if (!image.isTouched || !gesture.$slideEl) return;
15624
15625    if (!image.isMoved) {
15626      image.width = gesture.$imageEl[0].offsetWidth;
15627      image.height = gesture.$imageEl[0].offsetHeight;
15628      image.startX = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'x') || 0;
15629      image.startY = (0,_shared_utils_js__WEBPACK_IMPORTED_MODULE_2__.getTranslate)(gesture.$imageWrapEl[0], 'y') || 0;
15630      gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
15631      gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
15632      gesture.$imageWrapEl.transition(0);
15633    } // Define if we need image drag
15634
15635
15636    const scaledWidth = image.width * zoom.scale;
15637    const scaledHeight = image.height * zoom.scale;
15638    if (scaledWidth < gesture.slideWidth && scaledHeight < gesture.slideHeight) return;
15639    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
15640    image.maxX = -image.minX;
15641    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
15642    image.maxY = -image.minY;
15643    image.touchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX;
15644    image.touchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY;
15645
15646    if (!image.isMoved && !isScaling) {
15647      if (swiper.isHorizontal() && (Math.floor(image.minX) === Math.floor(image.startX) && image.touchesCurrent.x < image.touchesStart.x || Math.floor(image.maxX) === Math.floor(image.startX) && image.touchesCurrent.x > image.touchesStart.x)) {
15648        image.isTouched = false;
15649        return;
15650      }
15651
15652      if (!swiper.isHorizontal() && (Math.floor(image.minY) === Math.floor(image.startY) && image.touchesCurrent.y < image.touchesStart.y || Math.floor(image.maxY) === Math.floor(image.startY) && image.touchesCurrent.y > image.touchesStart.y)) {
15653        image.isTouched = false;
15654        return;
15655      }
15656    }
15657
15658    if (e.cancelable) {
15659      e.preventDefault();
15660    }
15661
15662    e.stopPropagation();
15663    image.isMoved = true;
15664    image.currentX = image.touchesCurrent.x - image.touchesStart.x + image.startX;
15665    image.currentY = image.touchesCurrent.y - image.touchesStart.y + image.startY;
15666
15667    if (image.currentX < image.minX) {
15668      image.currentX = image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
15669    }
15670
15671    if (image.currentX > image.maxX) {
15672      image.currentX = image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
15673    }
15674
15675    if (image.currentY < image.minY) {
15676      image.currentY = image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
15677    }
15678
15679    if (image.currentY > image.maxY) {
15680      image.currentY = image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
15681    } // Velocity
15682
15683
15684    if (!velocity.prevPositionX) velocity.prevPositionX = image.touchesCurrent.x;
15685    if (!velocity.prevPositionY) velocity.prevPositionY = image.touchesCurrent.y;
15686    if (!velocity.prevTime) velocity.prevTime = Date.now();
15687    velocity.x = (image.touchesCurrent.x - velocity.prevPositionX) / (Date.now() - velocity.prevTime) / 2;
15688    velocity.y = (image.touchesCurrent.y - velocity.prevPositionY) / (Date.now() - velocity.prevTime) / 2;
15689    if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2) velocity.x = 0;
15690    if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2) velocity.y = 0;
15691    velocity.prevPositionX = image.touchesCurrent.x;
15692    velocity.prevPositionY = image.touchesCurrent.y;
15693    velocity.prevTime = Date.now();
15694    gesture.$imageWrapEl.transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);
15695  }
15696
15697  function onTouchEnd() {
15698    const zoom = swiper.zoom;
15699    if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
15700
15701    if (!image.isTouched || !image.isMoved) {
15702      image.isTouched = false;
15703      image.isMoved = false;
15704      return;
15705    }
15706
15707    image.isTouched = false;
15708    image.isMoved = false;
15709    let momentumDurationX = 300;
15710    let momentumDurationY = 300;
15711    const momentumDistanceX = velocity.x * momentumDurationX;
15712    const newPositionX = image.currentX + momentumDistanceX;
15713    const momentumDistanceY = velocity.y * momentumDurationY;
15714    const newPositionY = image.currentY + momentumDistanceY; // Fix duration
15715
15716    if (velocity.x !== 0) momentumDurationX = Math.abs((newPositionX - image.currentX) / velocity.x);
15717    if (velocity.y !== 0) momentumDurationY = Math.abs((newPositionY - image.currentY) / velocity.y);
15718    const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
15719    image.currentX = newPositionX;
15720    image.currentY = newPositionY; // Define if we need image drag
15721
15722    const scaledWidth = image.width * zoom.scale;
15723    const scaledHeight = image.height * zoom.scale;
15724    image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
15725    image.maxX = -image.minX;
15726    image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
15727    image.maxY = -image.minY;
15728    image.currentX = Math.max(Math.min(image.currentX, image.maxX), image.minX);
15729    image.currentY = Math.max(Math.min(image.currentY, image.maxY), image.minY);
15730    gesture.$imageWrapEl.transition(momentumDuration).transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);
15731  }
15732
15733  function onTransitionEnd() {
15734    const zoom = swiper.zoom;
15735
15736    if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
15737      if (gesture.$imageEl) {
15738        gesture.$imageEl.transform('translate3d(0,0,0) scale(1)');
15739      }
15740
15741      if (gesture.$imageWrapEl) {
15742        gesture.$imageWrapEl.transform('translate3d(0,0,0)');
15743      }
15744
15745      zoom.scale = 1;
15746      currentScale = 1;
15747      gesture.$slideEl = undefined;
15748      gesture.$imageEl = undefined;
15749      gesture.$imageWrapEl = undefined;
15750    }
15751  }
15752
15753  function zoomIn(e) {
15754    const zoom = swiper.zoom;
15755    const params = swiper.params.zoom;
15756
15757    if (!gesture.$slideEl) {
15758      if (e && e.target) {
15759        gesture.$slideEl = (0,_shared_dom_js__WEBPACK_IMPORTED_MODULE_1__["default"])(e.target).closest(`.${swiper.params.slideClass}`);
15760      }
15761
15762      if (!gesture.$slideEl) {
15763        if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
15764          gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);
15765        } else {
15766          gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
15767        }
15768      }
15769
15770      gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
15771      gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
15772    }
15773
15774    if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;
15775
15776    if (swiper.params.cssMode) {
15777      swiper.wrapperEl.style.overflow = 'hidden';
15778      swiper.wrapperEl.style.touchAction = 'none';
15779    }
15780
15781    gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);
15782    let touchX;
15783    let touchY;
15784    let offsetX;
15785    let offsetY;
15786    let diffX;
15787    let diffY;
15788    let translateX;
15789    let translateY;
15790    let imageWidth;
15791    let imageHeight;
15792    let scaledWidth;
15793    let scaledHeight;
15794    let translateMinX;
15795    let translateMinY;
15796    let translateMaxX;
15797    let translateMaxY;
15798    let slideWidth;
15799    let slideHeight;
15800
15801    if (typeof image.touchesStart.x === 'undefined' && e) {
15802      touchX = e.type === 'touchend' ? e.changedTouches[0].pageX : e.pageX;
15803      touchY = e.type === 'touchend' ? e.changedTouches[0].pageY : e.pageY;
15804    } else {
15805      touchX = image.touchesStart.x;
15806      touchY = image.touchesStart.y;
15807    }
15808
15809    zoom.scale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
15810    currentScale = gesture.$imageWrapEl.attr('data-swiper-zoom') || params.maxRatio;
15811
15812    if (e) {
15813      slideWidth = gesture.$slideEl[0].offsetWidth;
15814      slideHeight = gesture.$slideEl[0].offsetHeight;
15815      offsetX = gesture.$slideEl.offset().left + window.scrollX;
15816      offsetY = gesture.$slideEl.offset().top + window.scrollY;
15817      diffX = offsetX + slideWidth / 2 - touchX;
15818      diffY = offsetY + slideHeight / 2 - touchY;
15819      imageWidth = gesture.$imageEl[0].offsetWidth;
15820      imageHeight = gesture.$imageEl[0].offsetHeight;
15821      scaledWidth = imageWidth * zoom.scale;
15822      scaledHeight = imageHeight * zoom.scale;
15823      translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
15824      translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
15825      translateMaxX = -translateMinX;
15826      translateMaxY = -translateMinY;
15827      translateX = diffX * zoom.scale;
15828      translateY = diffY * zoom.scale;
15829
15830      if (translateX < translateMinX) {
15831        translateX = translateMinX;
15832      }
15833
15834      if (translateX > translateMaxX) {
15835        translateX = translateMaxX;
15836      }
15837
15838      if (translateY < translateMinY) {
15839        translateY = translateMinY;
15840      }
15841
15842      if (translateY > translateMaxY) {
15843        translateY = translateMaxY;
15844      }
15845    } else {
15846      translateX = 0;
15847      translateY = 0;
15848    }
15849
15850    gesture.$imageWrapEl.transition(300).transform(`translate3d(${translateX}px, ${translateY}px,0)`);
15851    gesture.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${zoom.scale})`);
15852  }
15853
15854  function zoomOut() {
15855    const zoom = swiper.zoom;
15856    const params = swiper.params.zoom;
15857
15858    if (!gesture.$slideEl) {
15859      if (swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual) {
15860        gesture.$slideEl = swiper.$wrapperEl.children(`.${swiper.params.slideActiveClass}`);
15861      } else {
15862        gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
15863      }
15864
15865      gesture.$imageEl = gesture.$slideEl.find(`.${params.containerClass}`).eq(0).find('picture, img, svg, canvas, .swiper-zoom-target').eq(0);
15866      gesture.$imageWrapEl = gesture.$imageEl.parent(`.${params.containerClass}`);
15867    }
15868
15869    if (!gesture.$imageEl || gesture.$imageEl.length === 0 || !gesture.$imageWrapEl || gesture.$imageWrapEl.length === 0) return;
15870
15871    if (swiper.params.cssMode) {
15872      swiper.wrapperEl.style.overflow = '';
15873      swiper.wrapperEl.style.touchAction = '';
15874    }
15875
15876    zoom.scale = 1;
15877    currentScale = 1;
15878    gesture.$imageWrapEl.transition(300).transform('translate3d(0,0,0)');
15879    gesture.$imageEl.transition(300).transform('translate3d(0,0,0) scale(1)');
15880    gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);
15881    gesture.$slideEl = undefined;
15882  } // Toggle Zoom
15883
15884
15885  function zoomToggle(e) {
15886    const zoom = swiper.zoom;
15887
15888    if (zoom.scale && zoom.scale !== 1) {
15889      // Zoom Out
15890      zoomOut();
15891    } else {
15892      // Zoom In
15893      zoomIn(e);
15894    }
15895  }
15896
15897  function getListeners() {
15898    const support = swiper.support;
15899    const passiveListener = swiper.touchEvents.start === 'touchstart' && support.passiveListener && swiper.params.passiveListeners ? {
15900      passive: true,
15901      capture: false
15902    } : false;
15903    const activeListenerWithCapture = support.passiveListener ? {
15904      passive: false,
15905      capture: true
15906    } : true;
15907    return {
15908      passiveListener,
15909      activeListenerWithCapture
15910    };
15911  }
15912
15913  function getSlideSelector() {
15914    return `.${swiper.params.slideClass}`;
15915  }
15916
15917  function toggleGestures(method) {
15918    const {
15919      passiveListener
15920    } = getListeners();
15921    const slideSelector = getSlideSelector();
15922    swiper.$wrapperEl[method]('gesturestart', slideSelector, onGestureStart, passiveListener);
15923    swiper.$wrapperEl[method]('gesturechange', slideSelector, onGestureChange, passiveListener);
15924    swiper.$wrapperEl[method]('gestureend', slideSelector, onGestureEnd, passiveListener);
15925  }
15926
15927  function enableGestures() {
15928    if (gesturesEnabled) return;
15929    gesturesEnabled = true;
15930    toggleGestures('on');
15931  }
15932
15933  function disableGestures() {
15934    if (!gesturesEnabled) return;
15935    gesturesEnabled = false;
15936    toggleGestures('off');
15937  } // Attach/Detach Events
15938
15939
15940  function enable() {
15941    const zoom = swiper.zoom;
15942    if (zoom.enabled) return;
15943    zoom.enabled = true;
15944    const support = swiper.support;
15945    const {
15946      passiveListener,
15947      activeListenerWithCapture
15948    } = getListeners();
15949    const slideSelector = getSlideSelector(); // Scale image
15950
15951    if (support.gestures) {
15952      swiper.$wrapperEl.on(swiper.touchEvents.start, enableGestures, passiveListener);
15953      swiper.$wrapperEl.on(swiper.touchEvents.end, disableGestures, passiveListener);
15954    } else if (swiper.touchEvents.start === 'touchstart') {
15955      swiper.$wrapperEl.on(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);
15956      swiper.$wrapperEl.on(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);
15957      swiper.$wrapperEl.on(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);
15958
15959      if (swiper.touchEvents.cancel) {
15960        swiper.$wrapperEl.on(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);
15961      }
15962    } // Move image
15963
15964
15965    swiper.$wrapperEl.on(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture);
15966  }
15967
15968  function disable() {
15969    const zoom = swiper.zoom;
15970    if (!zoom.enabled) return;
15971    const support = swiper.support;
15972    zoom.enabled = false;
15973    const {
15974      passiveListener,
15975      activeListenerWithCapture
15976    } = getListeners();
15977    const slideSelector = getSlideSelector(); // Scale image
15978
15979    if (support.gestures) {
15980      swiper.$wrapperEl.off(swiper.touchEvents.start, enableGestures, passiveListener);
15981      swiper.$wrapperEl.off(swiper.touchEvents.end, disableGestures, passiveListener);
15982    } else if (swiper.touchEvents.start === 'touchstart') {
15983      swiper.$wrapperEl.off(swiper.touchEvents.start, slideSelector, onGestureStart, passiveListener);
15984      swiper.$wrapperEl.off(swiper.touchEvents.move, slideSelector, onGestureChange, activeListenerWithCapture);
15985      swiper.$wrapperEl.off(swiper.touchEvents.end, slideSelector, onGestureEnd, passiveListener);
15986
15987      if (swiper.touchEvents.cancel) {
15988        swiper.$wrapperEl.off(swiper.touchEvents.cancel, slideSelector, onGestureEnd, passiveListener);
15989      }
15990    } // Move image
15991
15992
15993    swiper.$wrapperEl.off(swiper.touchEvents.move, `.${swiper.params.zoom.containerClass}`, onTouchMove, activeListenerWithCapture);
15994  }
15995
15996  on('init', () => {
15997    if (swiper.params.zoom.enabled) {
15998      enable();
15999    }
16000  });
16001  on('destroy', () => {
16002    disable();
16003  });
16004  on('touchStart', (_s, e) => {
16005    if (!swiper.zoom.enabled) return;
16006    onTouchStart(e);
16007  });
16008  on('touchEnd', (_s, e) => {
16009    if (!swiper.zoom.enabled) return;
16010    onTouchEnd(e);
16011  });
16012  on('doubleTap', (_s, e) => {
16013    if (!swiper.animating && swiper.params.zoom.enabled && swiper.zoom.enabled && swiper.params.zoom.toggle) {
16014      zoomToggle(e);
16015    }
16016  });
16017  on('transitionEnd', () => {
16018    if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
16019      onTransitionEnd();
16020    }
16021  });
16022  on('slideChange', () => {
16023    if (swiper.zoom.enabled && swiper.params.zoom.enabled && swiper.params.cssMode) {
16024      onTransitionEnd();
16025    }
16026  });
16027  Object.assign(swiper.zoom, {
16028    enable,
16029    disable,
16030    in: zoomIn,
16031    out: zoomOut,
16032    toggle: zoomToggle
16033  });
16034}
16035
16036/***/ }),
16037
vendor: 735 bytes, lines 16038-16055
16038/***/ "./node_modules/swiper/shared/classes-to-selector.js":
16039/*!***********************************************************!*\
16040  !*** ./node_modules/swiper/shared/classes-to-selector.js ***!
16041  \***********************************************************/
16042/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16043
16044"use strict";
16045__webpack_require__.r(__webpack_exports__);
16046/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16047/* harmony export */   "default": () => (/* binding */ classesToSelector)
16048/* harmony export */ });
16049function classesToSelector(classes = '') {
16050  return `.${classes.trim().replace(/([\.:!\/])/g, '\\$1') // eslint-disable-line
16051  .replace(/ /g, '.')}`;
16052}
16053
16054/***/ }),
16055
vendor: 1,429 bytes, lines 16056-16093
16056/***/ "./node_modules/swiper/shared/create-element-if-not-defined.js":
16057/*!*********************************************************************!*\
16058  !*** ./node_modules/swiper/shared/create-element-if-not-defined.js ***!
16059  \*********************************************************************/
16060/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16061
16062"use strict";
16063__webpack_require__.r(__webpack_exports__);
16064/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16065/* harmony export */   "default": () => (/* binding */ createElementIfNotDefined)
16066/* harmony export */ });
16067/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
16068
16069function createElementIfNotDefined(swiper, originalParams, params, checkProps) {
16070  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
16071
16072  if (swiper.params.createElements) {
16073    Object.keys(checkProps).forEach(key => {
16074      if (!params[key] && params.auto === true) {
16075        let element = swiper.$el.children(`.${checkProps[key]}`)[0];
16076
16077        if (!element) {
16078          element = document.createElement('div');
16079          element.className = checkProps[key];
16080          swiper.$el.append(element);
16081        }
16082
16083        params[key] = element;
16084        originalParams[key] = element;
16085      }
16086    });
16087  }
16088
16089  return params;
16090}
16091
16092/***/ }),
16093
vendor: 1,203 bytes, lines 16094-16121
16094/***/ "./node_modules/swiper/shared/create-shadow.js":
16095/*!*****************************************************!*\
16096  !*** ./node_modules/swiper/shared/create-shadow.js ***!
16097  \*****************************************************/
16098/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16099
16100"use strict";
16101__webpack_require__.r(__webpack_exports__);
16102/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16103/* harmony export */   "default": () => (/* binding */ createShadow)
16104/* harmony export */ });
16105/* harmony import */ var _dom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.js */ "./node_modules/swiper/shared/dom.js");
16106
16107function createShadow(params, $slideEl, side) {
16108  const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;
16109  const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;
16110  let $shadowEl = $shadowContainer.children(`.${shadowClass}`);
16111
16112  if (!$shadowEl.length) {
16113    $shadowEl = (0,_dom_js__WEBPACK_IMPORTED_MODULE_0__["default"])(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`);
16114    $shadowContainer.append($shadowEl);
16115  }
16116
16117  return $shadowEl;
16118}
16119
16120/***/ }),
16121
vendor: 2,855 bytes, lines 16122-16182
16122/***/ "./node_modules/swiper/shared/dom.js":
16123/*!*******************************************!*\
16124  !*** ./node_modules/swiper/shared/dom.js ***!
16125  \*******************************************/
16126/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16127
16128"use strict";
16129__webpack_require__.r(__webpack_exports__);
16130/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16131/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
16132/* harmony export */ });
16133/* harmony import */ var dom7__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dom7 */ "./node_modules/dom7/dom7.esm.js");
16134
16135const Methods = {
16136  addClass: dom7__WEBPACK_IMPORTED_MODULE_0__.addClass,
16137  removeClass: dom7__WEBPACK_IMPORTED_MODULE_0__.removeClass,
16138  hasClass: dom7__WEBPACK_IMPORTED_MODULE_0__.hasClass,
16139  toggleClass: dom7__WEBPACK_IMPORTED_MODULE_0__.toggleClass,
16140  attr: dom7__WEBPACK_IMPORTED_MODULE_0__.attr,
16141  removeAttr: dom7__WEBPACK_IMPORTED_MODULE_0__.removeAttr,
16142  transform: dom7__WEBPACK_IMPORTED_MODULE_0__.transform,
16143  transition: dom7__WEBPACK_IMPORTED_MODULE_0__.transition,
16144  on: dom7__WEBPACK_IMPORTED_MODULE_0__.on,
16145  off: dom7__WEBPACK_IMPORTED_MODULE_0__.off,
16146  trigger: dom7__WEBPACK_IMPORTED_MODULE_0__.trigger,
16147  transitionEnd: dom7__WEBPACK_IMPORTED_MODULE_0__.transitionEnd,
16148  outerWidth: dom7__WEBPACK_IMPORTED_MODULE_0__.outerWidth,
16149  outerHeight: dom7__WEBPACK_IMPORTED_MODULE_0__.outerHeight,
16150  styles: dom7__WEBPACK_IMPORTED_MODULE_0__.styles,
16151  offset: dom7__WEBPACK_IMPORTED_MODULE_0__.offset,
16152  css: dom7__WEBPACK_IMPORTED_MODULE_0__.css,
16153  each: dom7__WEBPACK_IMPORTED_MODULE_0__.each,
16154  html: dom7__WEBPACK_IMPORTED_MODULE_0__.html,
16155  text: dom7__WEBPACK_IMPORTED_MODULE_0__.text,
16156  is: dom7__WEBPACK_IMPORTED_MODULE_0__.is,
16157  index: dom7__WEBPACK_IMPORTED_MODULE_0__.index,
16158  eq: dom7__WEBPACK_IMPORTED_MODULE_0__.eq,
16159  append: dom7__WEBPACK_IMPORTED_MODULE_0__.append,
16160  prepend: dom7__WEBPACK_IMPORTED_MODULE_0__.prepend,
16161  next: dom7__WEBPACK_IMPORTED_MODULE_0__.next,
16162  nextAll: dom7__WEBPACK_IMPORTED_MODULE_0__.nextAll,
16163  prev: dom7__WEBPACK_IMPORTED_MODULE_0__.prev,
16164  prevAll: dom7__WEBPACK_IMPORTED_MODULE_0__.prevAll,
16165  parent: dom7__WEBPACK_IMPORTED_MODULE_0__.parent,
16166  parents: dom7__WEBPACK_IMPORTED_MODULE_0__.parents,
16167  closest: dom7__WEBPACK_IMPORTED_MODULE_0__.closest,
16168  find: dom7__WEBPACK_IMPORTED_MODULE_0__.find,
16169  children: dom7__WEBPACK_IMPORTED_MODULE_0__.children,
16170  filter: dom7__WEBPACK_IMPORTED_MODULE_0__.filter,
16171  remove: dom7__WEBPACK_IMPORTED_MODULE_0__.remove
16172};
16173Object.keys(Methods).forEach(methodName => {
16174  Object.defineProperty(dom7__WEBPACK_IMPORTED_MODULE_0__.$.fn, methodName, {
16175    value: Methods[methodName],
16176    writable: true
16177  });
16178});
16179/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dom7__WEBPACK_IMPORTED_MODULE_0__.$);
16180
16181/***/ }),
16182
vendor: 1,419 bytes, lines 16183-16227
16183/***/ "./node_modules/swiper/shared/effect-init.js":
16184/*!***************************************************!*\
16185  !*** ./node_modules/swiper/shared/effect-init.js ***!
16186  \***************************************************/
16187/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16188
16189"use strict";
16190__webpack_require__.r(__webpack_exports__);
16191/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16192/* harmony export */   "default": () => (/* binding */ effectInit)
16193/* harmony export */ });
16194function effectInit(params) {
16195  const {
16196    effect,
16197    swiper,
16198    on,
16199    setTranslate,
16200    setTransition,
16201    overwriteParams,
16202    perspective
16203  } = params;
16204  on('beforeInit', () => {
16205    if (swiper.params.effect !== effect) return;
16206    swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);
16207
16208    if (perspective && perspective()) {
16209      swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
16210    }
16211
16212    const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
16213    Object.assign(swiper.params, overwriteParamsResult);
16214    Object.assign(swiper.originalParams, overwriteParamsResult);
16215  });
16216  on('setTranslate', () => {
16217    if (swiper.params.effect !== effect) return;
16218    setTranslate();
16219  });
16220  on('setTransition', (_s, duration) => {
16221    if (swiper.params.effect !== effect) return;
16222    setTransition(duration);
16223  });
16224}
16225
16226/***/ }),
16227
vendor: 812 bytes, lines 16228-16251
16228/***/ "./node_modules/swiper/shared/effect-target.js":
16229/*!*****************************************************!*\
16230  !*** ./node_modules/swiper/shared/effect-target.js ***!
16231  \*****************************************************/
16232/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16233
16234"use strict";
16235__webpack_require__.r(__webpack_exports__);
16236/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16237/* harmony export */   "default": () => (/* binding */ effectTarget)
16238/* harmony export */ });
16239function effectTarget(effectParams, $slideEl) {
16240  if (effectParams.transformEl) {
16241    return $slideEl.find(effectParams.transformEl).css({
16242      'backface-visibility': 'hidden',
16243      '-webkit-backface-visibility': 'hidden'
16244    });
16245  }
16246
16247  return $slideEl;
16248}
16249
16250/***/ }),
16251
vendor: 1,529 bytes, lines 16252-16300
16252/***/ "./node_modules/swiper/shared/effect-virtual-transition-end.js":
16253/*!*********************************************************************!*\
16254  !*** ./node_modules/swiper/shared/effect-virtual-transition-end.js ***!
16255  \*********************************************************************/
16256/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16257
16258"use strict";
16259__webpack_require__.r(__webpack_exports__);
16260/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16261/* harmony export */   "default": () => (/* binding */ effectVirtualTransitionEnd)
16262/* harmony export */ });
16263function effectVirtualTransitionEnd({
16264  swiper,
16265  duration,
16266  transformEl,
16267  allSlides
16268}) {
16269  const {
16270    slides,
16271    activeIndex,
16272    $wrapperEl
16273  } = swiper;
16274
16275  if (swiper.params.virtualTranslate && duration !== 0) {
16276    let eventTriggered = false;
16277    let $transitionEndTarget;
16278
16279    if (allSlides) {
16280      $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;
16281    } else {
16282      $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);
16283    }
16284
16285    $transitionEndTarget.transitionEnd(() => {
16286      if (eventTriggered) return;
16287      if (!swiper || swiper.destroyed) return;
16288      eventTriggered = true;
16289      swiper.animating = false;
16290      const triggerEvents = ['webkitTransitionEnd', 'transitionend'];
16291
16292      for (let i = 0; i < triggerEvents.length; i += 1) {
16293        $wrapperEl.trigger(triggerEvents[i]);
16294      }
16295    });
16296  }
16297}
16298
16299/***/ }),
16300
vendor: 1,234 bytes, lines 16301-16341
16301/***/ "./node_modules/swiper/shared/get-browser.js":
16302/*!***************************************************!*\
16303  !*** ./node_modules/swiper/shared/get-browser.js ***!
16304  \***************************************************/
16305/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16306
16307"use strict";
16308__webpack_require__.r(__webpack_exports__);
16309/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16310/* harmony export */   "getBrowser": () => (/* binding */ getBrowser)
16311/* harmony export */ });
16312/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
16313
16314let browser;
16315
16316function calcBrowser() {
16317  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16318
16319  function isSafari() {
16320    const ua = window.navigator.userAgent.toLowerCase();
16321    return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;
16322  }
16323
16324  return {
16325    isSafari: isSafari(),
16326    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)
16327  };
16328}
16329
16330function getBrowser() {
16331  if (!browser) {
16332    browser = calcBrowser();
16333  }
16334
16335  return browser;
16336}
16337
16338
16339
16340/***/ }),
16341
vendor: 2,407 bytes, lines 16342-16414
16342/***/ "./node_modules/swiper/shared/get-device.js":
16343/*!**************************************************!*\
16344  !*** ./node_modules/swiper/shared/get-device.js ***!
16345  \**************************************************/
16346/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16347
16348"use strict";
16349__webpack_require__.r(__webpack_exports__);
16350/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16351/* harmony export */   "getDevice": () => (/* binding */ getDevice)
16352/* harmony export */ });
16353/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
16354/* harmony import */ var _get_support_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-support.js */ "./node_modules/swiper/shared/get-support.js");
16355
16356
16357let deviceCached;
16358
16359function calcDevice({
16360  userAgent
16361} = {}) {
16362  const support = (0,_get_support_js__WEBPACK_IMPORTED_MODULE_1__.getSupport)();
16363  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16364  const platform = window.navigator.platform;
16365  const ua = userAgent || window.navigator.userAgent;
16366  const device = {
16367    ios: false,
16368    android: false
16369  };
16370  const screenWidth = window.screen.width;
16371  const screenHeight = window.screen.height;
16372  const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
16373
16374  let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
16375  const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
16376  const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
16377  const windows = platform === 'Win32';
16378  let macos = platform === 'MacIntel'; // iPadOs 13 fix
16379
16380  const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];
16381
16382  if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {
16383    ipad = ua.match(/(Version)\/([\d.]+)/);
16384    if (!ipad) ipad = [0, 1, '13_0_0'];
16385    macos = false;
16386  } // Android
16387
16388
16389  if (android && !windows) {
16390    device.os = 'android';
16391    device.android = true;
16392  }
16393
16394  if (ipad || iphone || ipod) {
16395    device.os = 'ios';
16396    device.ios = true;
16397  } // Export object
16398
16399
16400  return device;
16401}
16402
16403function getDevice(overrides = {}) {
16404  if (!deviceCached) {
16405    deviceCached = calcDevice(overrides);
16406  }
16407
16408  return deviceCached;
16409}
16410
16411
16412
16413/***/ }),
16414
vendor: 1,735 bytes, lines 16415-16470
16415/***/ "./node_modules/swiper/shared/get-support.js":
16416/*!***************************************************!*\
16417  !*** ./node_modules/swiper/shared/get-support.js ***!
16418  \***************************************************/
16419/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16420
16421"use strict";
16422__webpack_require__.r(__webpack_exports__);
16423/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16424/* harmony export */   "getSupport": () => (/* binding */ getSupport)
16425/* harmony export */ });
16426/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
16427
16428let support;
16429
16430function calcSupport() {
16431  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16432  const document = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getDocument)();
16433  return {
16434    smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,
16435    touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),
16436    passiveListener: function checkPassiveListener() {
16437      let supportsPassive = false;
16438
16439      try {
16440        const opts = Object.defineProperty({}, 'passive', {
16441          // eslint-disable-next-line
16442          get() {
16443            supportsPassive = true;
16444          }
16445
16446        });
16447        window.addEventListener('testPassiveListener', null, opts);
16448      } catch (e) {// No support
16449      }
16450
16451      return supportsPassive;
16452    }(),
16453    gestures: function checkGestures() {
16454      return 'ongesturestart' in window;
16455    }()
16456  };
16457}
16458
16459function getSupport() {
16460  if (!support) {
16461    support = calcSupport();
16462  }
16463
16464  return support;
16465}
16466
16467
16468
16469/***/ }),
16470
vendor: 6,975 bytes, lines 16471-16690
16471/***/ "./node_modules/swiper/shared/utils.js":
16472/*!*********************************************!*\
16473  !*** ./node_modules/swiper/shared/utils.js ***!
16474  \*********************************************/
16475/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16476
16477"use strict";
16478__webpack_require__.r(__webpack_exports__);
16479/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16480/* harmony export */   "animateCSSModeScroll": () => (/* binding */ animateCSSModeScroll),
16481/* harmony export */   "deleteProps": () => (/* binding */ deleteProps),
16482/* harmony export */   "extend": () => (/* binding */ extend),
16483/* harmony export */   "getComputedStyle": () => (/* binding */ getComputedStyle),
16484/* harmony export */   "getTranslate": () => (/* binding */ getTranslate),
16485/* harmony export */   "isObject": () => (/* binding */ isObject),
16486/* harmony export */   "nextTick": () => (/* binding */ nextTick),
16487/* harmony export */   "now": () => (/* binding */ now),
16488/* harmony export */   "setCSSProperty": () => (/* binding */ setCSSProperty)
16489/* harmony export */ });
16490/* harmony import */ var ssr_window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ssr-window */ "./node_modules/ssr-window/ssr-window.esm.js");
16491
16492
16493function deleteProps(obj) {
16494  const object = obj;
16495  Object.keys(object).forEach(key => {
16496    try {
16497      object[key] = null;
16498    } catch (e) {// no getter for object
16499    }
16500
16501    try {
16502      delete object[key];
16503    } catch (e) {// something got wrong
16504    }
16505  });
16506}
16507
16508function nextTick(callback, delay = 0) {
16509  return setTimeout(callback, delay);
16510}
16511
16512function now() {
16513  return Date.now();
16514}
16515
16516function getComputedStyle(el) {
16517  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16518  let style;
16519
16520  if (window.getComputedStyle) {
16521    style = window.getComputedStyle(el, null);
16522  }
16523
16524  if (!style && el.currentStyle) {
16525    style = el.currentStyle;
16526  }
16527
16528  if (!style) {
16529    style = el.style;
16530  }
16531
16532  return style;
16533}
16534
16535function getTranslate(el, axis = 'x') {
16536  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16537  let matrix;
16538  let curTransform;
16539  let transformMatrix;
16540  const curStyle = getComputedStyle(el, null);
16541
16542  if (window.WebKitCSSMatrix) {
16543    curTransform = curStyle.transform || curStyle.webkitTransform;
16544
16545    if (curTransform.split(',').length > 6) {
16546      curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');
16547    } // Some old versions of Webkit choke when 'none' is passed; pass
16548    // empty string instead in this case
16549
16550
16551    transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);
16552  } else {
16553    transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');
16554    matrix = transformMatrix.toString().split(',');
16555  }
16556
16557  if (axis === 'x') {
16558    // Latest Chrome and webkits Fix
16559    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix
16560    else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers
16561    else curTransform = parseFloat(matrix[4]);
16562  }
16563
16564  if (axis === 'y') {
16565    // Latest Chrome and webkits Fix
16566    if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix
16567    else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers
16568    else curTransform = parseFloat(matrix[5]);
16569  }
16570
16571  return curTransform || 0;
16572}
16573
16574function isObject(o) {
16575  return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';
16576}
16577
16578function isNode(node) {
16579  // eslint-disable-next-line
16580  if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {
16581    return node instanceof HTMLElement;
16582  }
16583
16584  return node && (node.nodeType === 1 || node.nodeType === 11);
16585}
16586
16587function extend(...args) {
16588  const to = Object(args[0]);
16589  const noExtend = ['__proto__', 'constructor', 'prototype'];
16590
16591  for (let i = 1; i < args.length; i += 1) {
16592    const nextSource = args[i];
16593
16594    if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {
16595      const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);
16596
16597      for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {
16598        const nextKey = keysArray[nextIndex];
16599        const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
16600
16601        if (desc !== undefined && desc.enumerable) {
16602          if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
16603            if (nextSource[nextKey].__swiper__) {
16604              to[nextKey] = nextSource[nextKey];
16605            } else {
16606              extend(to[nextKey], nextSource[nextKey]);
16607            }
16608          } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
16609            to[nextKey] = {};
16610
16611            if (nextSource[nextKey].__swiper__) {
16612              to[nextKey] = nextSource[nextKey];
16613            } else {
16614              extend(to[nextKey], nextSource[nextKey]);
16615            }
16616          } else {
16617            to[nextKey] = nextSource[nextKey];
16618          }
16619        }
16620      }
16621    }
16622  }
16623
16624  return to;
16625}
16626
16627function setCSSProperty(el, varName, varValue) {
16628  el.style.setProperty(varName, varValue);
16629}
16630
16631function animateCSSModeScroll({
16632  swiper,
16633  targetPosition,
16634  side
16635}) {
16636  const window = (0,ssr_window__WEBPACK_IMPORTED_MODULE_0__.getWindow)();
16637  const startPosition = -swiper.translate;
16638  let startTime = null;
16639  let time;
16640  const duration = swiper.params.speed;
16641  swiper.wrapperEl.style.scrollSnapType = 'none';
16642  window.cancelAnimationFrame(swiper.cssModeFrameID);
16643  const dir = targetPosition > startPosition ? 'next' : 'prev';
16644
16645  const isOutOfBound = (current, target) => {
16646    return dir === 'next' && current >= target || dir === 'prev' && current <= target;
16647  };
16648
16649  const animate = () => {
16650    time = new Date().getTime();
16651
16652    if (startTime === null) {
16653      startTime = time;
16654    }
16655
16656    const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
16657    const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;
16658    let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);
16659
16660    if (isOutOfBound(currentPosition, targetPosition)) {
16661      currentPosition = targetPosition;
16662    }
16663
16664    swiper.wrapperEl.scrollTo({
16665      [side]: currentPosition
16666    });
16667
16668    if (isOutOfBound(currentPosition, targetPosition)) {
16669      swiper.wrapperEl.style.overflow = 'hidden';
16670      swiper.wrapperEl.style.scrollSnapType = '';
16671      setTimeout(() => {
16672        swiper.wrapperEl.style.overflow = '';
16673        swiper.wrapperEl.scrollTo({
16674          [side]: currentPosition
16675        });
16676      });
16677      window.cancelAnimationFrame(swiper.cssModeFrameID);
16678      return;
16679    }
16680
16681    swiper.cssModeFrameID = window.requestAnimationFrame(animate);
16682  };
16683
16684  animate();
16685}
16686
16687
16688
16689/***/ }),
16690
vendor: 9,382 bytes, lines 16691-16790
16691/***/ "./node_modules/swiper/swiper.esm.js":
16692/*!*******************************************!*\
16693  !*** ./node_modules/swiper/swiper.esm.js ***!
16694  \*******************************************/
16695/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
16696
16697"use strict";
16698__webpack_require__.r(__webpack_exports__);
16699/* harmony export */ __webpack_require__.d(__webpack_exports__, {
16700/* harmony export */   "A11y": () => (/* reexport safe */ _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__["default"]),
16701/* harmony export */   "Autoplay": () => (/* reexport safe */ _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__["default"]),
16702/* harmony export */   "Controller": () => (/* reexport safe */ _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__["default"]),
16703/* harmony export */   "EffectCards": () => (/* reexport safe */ _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__["default"]),
16704/* harmony export */   "EffectCoverflow": () => (/* reexport safe */ _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__["default"]),
16705/* harmony export */   "EffectCreative": () => (/* reexport safe */ _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__["default"]),
16706/* harmony export */   "EffectCube": () => (/* reexport safe */ _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__["default"]),
16707/* harmony export */   "EffectFade": () => (/* reexport safe */ _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__["default"]),
16708/* harmony export */   "EffectFlip": () => (/* reexport safe */ _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__["default"]),
16709/* harmony export */   "FreeMode": () => (/* reexport safe */ _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__["default"]),
16710/* harmony export */   "Grid": () => (/* reexport safe */ _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__["default"]),
16711/* harmony export */   "HashNavigation": () => (/* reexport safe */ _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__["default"]),
16712/* harmony export */   "History": () => (/* reexport safe */ _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__["default"]),
16713/* harmony export */   "Keyboard": () => (/* reexport safe */ _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__["default"]),
16714/* harmony export */   "Lazy": () => (/* reexport safe */ _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__["default"]),
16715/* harmony export */   "Manipulation": () => (/* reexport safe */ _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__["default"]),
16716/* harmony export */   "Mousewheel": () => (/* reexport safe */ _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__["default"]),
16717/* harmony export */   "Navigation": () => (/* reexport safe */ _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__["default"]),
16718/* harmony export */   "Pagination": () => (/* reexport safe */ _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__["default"]),
16719/* harmony export */   "Parallax": () => (/* reexport safe */ _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__["default"]),
16720/* harmony export */   "Scrollbar": () => (/* reexport safe */ _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__["default"]),
16721/* harmony export */   "Swiper": () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"]),
16722/* harmony export */   "Thumbs": () => (/* reexport safe */ _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__["default"]),
16723/* harmony export */   "Virtual": () => (/* reexport safe */ _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__["default"]),
16724/* harmony export */   "Zoom": () => (/* reexport safe */ _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__["default"]),
16725/* harmony export */   "default": () => (/* reexport safe */ _core_core_js__WEBPACK_IMPORTED_MODULE_0__["default"])
16726/* harmony export */ });
16727/* harmony import */ var _core_core_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/core.js */ "./node_modules/swiper/core/core.js");
16728/* harmony import */ var _modules_virtual_virtual_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./modules/virtual/virtual.js */ "./node_modules/swiper/modules/virtual/virtual.js");
16729/* harmony import */ var _modules_keyboard_keyboard_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./modules/keyboard/keyboard.js */ "./node_modules/swiper/modules/keyboard/keyboard.js");
16730/* harmony import */ var _modules_mousewheel_mousewheel_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./modules/mousewheel/mousewheel.js */ "./node_modules/swiper/modules/mousewheel/mousewheel.js");
16731/* harmony import */ var _modules_navigation_navigation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./modules/navigation/navigation.js */ "./node_modules/swiper/modules/navigation/navigation.js");
16732/* harmony import */ var _modules_pagination_pagination_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./modules/pagination/pagination.js */ "./node_modules/swiper/modules/pagination/pagination.js");
16733/* harmony import */ var _modules_scrollbar_scrollbar_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./modules/scrollbar/scrollbar.js */ "./node_modules/swiper/modules/scrollbar/scrollbar.js");
16734/* harmony import */ var _modules_parallax_parallax_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./modules/parallax/parallax.js */ "./node_modules/swiper/modules/parallax/parallax.js");
16735/* harmony import */ var _modules_zoom_zoom_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./modules/zoom/zoom.js */ "./node_modules/swiper/modules/zoom/zoom.js");
16736/* harmony import */ var _modules_lazy_lazy_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/lazy/lazy.js */ "./node_modules/swiper/modules/lazy/lazy.js");
16737/* harmony import */ var _modules_controller_controller_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/controller/controller.js */ "./node_modules/swiper/modules/controller/controller.js");
16738/* harmony import */ var _modules_a11y_a11y_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/a11y/a11y.js */ "./node_modules/swiper/modules/a11y/a11y.js");
16739/* harmony import */ var _modules_history_history_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/history/history.js */ "./node_modules/swiper/modules/history/history.js");
16740/* harmony import */ var _modules_hash_navigation_hash_navigation_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modules/hash-navigation/hash-navigation.js */ "./node_modules/swiper/modules/hash-navigation/hash-navigation.js");
16741/* harmony import */ var _modules_autoplay_autoplay_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/autoplay/autoplay.js */ "./node_modules/swiper/modules/autoplay/autoplay.js");
16742/* harmony import */ var _modules_thumbs_thumbs_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/thumbs/thumbs.js */ "./node_modules/swiper/modules/thumbs/thumbs.js");
16743/* harmony import */ var _modules_free_mode_free_mode_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./modules/free-mode/free-mode.js */ "./node_modules/swiper/modules/free-mode/free-mode.js");
16744/* harmony import */ var _modules_grid_grid_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./modules/grid/grid.js */ "./node_modules/swiper/modules/grid/grid.js");
16745/* harmony import */ var _modules_manipulation_manipulation_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./modules/manipulation/manipulation.js */ "./node_modules/swiper/modules/manipulation/manipulation.js");
16746/* harmony import */ var _modules_effect_fade_effect_fade_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./modules/effect-fade/effect-fade.js */ "./node_modules/swiper/modules/effect-fade/effect-fade.js");
16747/* harmony import */ var _modules_effect_cube_effect_cube_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./modules/effect-cube/effect-cube.js */ "./node_modules/swiper/modules/effect-cube/effect-cube.js");
16748/* harmony import */ var _modules_effect_flip_effect_flip_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./modules/effect-flip/effect-flip.js */ "./node_modules/swiper/modules/effect-flip/effect-flip.js");
16749/* harmony import */ var _modules_effect_coverflow_effect_coverflow_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./modules/effect-coverflow/effect-coverflow.js */ "./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js");
16750/* harmony import */ var _modules_effect_creative_effect_creative_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./modules/effect-creative/effect-creative.js */ "./node_modules/swiper/modules/effect-creative/effect-creative.js");
16751/* harmony import */ var _modules_effect_cards_effect_cards_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./modules/effect-cards/effect-cards.js */ "./node_modules/swiper/modules/effect-cards/effect-cards.js");
16752/**
16753 * Swiper 7.4.1
16754 * Most modern mobile touch slider and framework with hardware accelerated transitions
16755 * https://swiperjs.com
16756 *
16757 * Copyright 2014-2021 Vladimir Kharlampidi
16758 *
16759 * Released under the MIT License
16760 *
16761 * Released on: December 24, 2021
16762 */
16763
16764
16765
16766
16767
16768
16769
16770
16771
16772
16773
16774
16775
16776
16777
16778
16779
16780
16781
16782
16783
16784
16785
16786
16787
16788
16789
16790/***/ })
vendor: 3,934 bytes, lines 16790-16892
16790
16791
16792/******/ 	});
16793/************************************************************************/
16794/******/ 	// The module cache
16795/******/ 	var __webpack_module_cache__ = {};
16796/******/
16797/******/ 	// The require function
16798/******/ 	function __webpack_require__(moduleId) {
16799/******/ 		// Check if module is in cache
16800/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
16801/******/ 		if (cachedModule !== undefined) {
16802/******/ 			return cachedModule.exports;
16803/******/ 		}
16804/******/ 		// Create a new module (and put it into the cache)
16805/******/ 		var module = __webpack_module_cache__[moduleId] = {
16806/******/ 			// no module.id needed
16807/******/ 			// no module.loaded needed
16808/******/ 			exports: {}
16809/******/ 		};
16810/******/
16811/******/ 		// Execute the module function
16812/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
16813/******/
16814/******/ 		// Return the exports of the module
16815/******/ 		return module.exports;
16816/******/ 	}
16817/******/
16818/************************************************************************/
16819/******/ 	/* webpack/runtime/compat get default export */
16820/******/ 	(() => {
16821/******/ 		// getDefaultExport function for compatibility with non-harmony modules
16822/******/ 		__webpack_require__.n = (module) => {
16823/******/ 			var getter = module && module.__esModule ?
16824/******/ 				() => (module['default']) :
16825/******/ 				() => (module);
16826/******/ 			__webpack_require__.d(getter, { a: getter });
16827/******/ 			return getter;
16828/******/ 		};
16829/******/ 	})();
16830/******/
16831/******/ 	/* webpack/runtime/define property getters */
16832/******/ 	(() => {
16833/******/ 		// define getter functions for harmony exports
16834/******/ 		__webpack_require__.d = (exports, definition) => {
16835/******/ 			for(var key in definition) {
16836/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
16837/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
16838/******/ 				}
16839/******/ 			}
16840/******/ 		};
16841/******/ 	})();
16842/******/
16843/******/ 	/* webpack/runtime/global */
16844/******/ 	(() => {
16845/******/ 		__webpack_require__.g = (function() {
16846/******/ 			if (typeof globalThis === 'object') return globalThis;
16847/******/ 			try {
16848/******/ 				return this || new Function('return this')();
16849/******/ 			} catch (e) {
16850/******/ 				if (typeof window === 'object') return window;
16851/******/ 			}
16852/******/ 		})();
16853/******/ 	})();
16854/******/
16855/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
16856/******/ 	(() => {
16857/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
16858/******/ 	})();
16859/******/
16860/******/ 	/* webpack/runtime/make namespace object */
16861/******/ 	(() => {
16862/******/ 		// define __esModule on exports
16863/******/ 		__webpack_require__.r = (exports) => {
16864/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
16865/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
16866/******/ 			}
16867/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
16868/******/ 		};
16869/******/ 	})();
16870/******/
16871/************************************************************************/
16872var __webpack_exports__ = {};
16873// This entry need to be wrapped in an IIFE because it need to be in strict mode.
16874(() => {
16875"use strict";
16876/*!************************!*\
16877  !*** ./src/js/main.js ***!
16878  \************************/
16879__webpack_require__.r(__webpack_exports__);
16880/* harmony import */ var _vendor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_vendor */ "./src/js/_vendor.js");
16881/* harmony import */ var _vars__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_vars */ "./src/js/_vars.js");
16882/* harmony import */ var _functions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_functions */ "./src/js/_functions.js");
16883/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_components */ "./src/js/_components.js");
16884
16885
16886
16887
16888})();
16889
16890/******/ })()
16891;
16892

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.