PageSourceSearch

https://nihoniryou-h.jp/assets/js/swiper-bundle.min.js

js nihoniryou-h.jp collected 2026-10-06 08:15:58 UTC 241,306 bytes, 7,117 lines download raw bytes

vendor: 16,384 bytes, lines 1-548
1/**
2 * Swiper 8.3.2
3 * Most modern mobile touch slider and framework with hardware accelerated transitions
4 * https://swiperjs.com
5 *
6 * Copyright 2014-2022 Vladimir Kharlampidi
7 *
8 * Released under the MIT License
9 *
10 * Released on: July 26, 2022
11 */
12
13!(function (e, t) {
14  "object" == typeof exports && "undefined" != typeof module
15    ? (module.exports = t())
16    : "function" == typeof define && define.amd
17    ? define(t)
18    : ((e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper =
19        t());
20})(this, function () {
21  "use strict";
22  function e(e) {
23    return (
24      null !== e &&
25      "object" == typeof e &&
26      "constructor" in e &&
27      e.constructor === Object
28    );
29  }
30  function t(s, a) {
31    void 0 === s && (s = {}),
32      void 0 === a && (a = {}),
33      Object.keys(a).forEach((i) => {
34        void 0 === s[i]
35          ? (s[i] = a[i])
36          : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]);
37      });
38  }
39  const s = {
40    body: {},
41    addEventListener() {},
42    removeEventListener() {},
43    activeElement: { blur() {}, nodeName: "" },
44    querySelector: () => null,
45    querySelectorAll: () => [],
46    getElementById: () => null,
47    createEvent: () => ({ initEvent() {} }),
48    createElement: () => ({
49      children: [],
50      childNodes: [],
51      style: {},
52      setAttribute() {},
53      getElementsByTagName: () => [],
54    }),
55    createElementNS: () => ({}),
56    importNode: () => null,
57    location: {
58      hash: "",
59      host: "",
60      hostname: "",
61      href: "",
62      origin: "",
63      pathname: "",
64      protocol: "",
65      search: "",
66    },
67  };
68  function a() {
69    const e = "undefined" != typeof document ? document : {};
70    return t(e, s), e;
71  }
72  const i = {
73    document: s,
74    navigator: { userAgent: "" },
75    location: {
76      hash: "",
77      host: "",
78      hostname: "",
79      href: "",
80      origin: "",
81      pathname: "",
82      protocol: "",
83      search: "",
84    },
85    history: { replaceState() {}, pushState() {}, go() {}, back() {} },
86    CustomEvent: function () {
87      return this;
88    },
89    addEventListener() {},
90    removeEventListener() {},
91    getComputedStyle: () => ({ getPropertyValue: () => "" }),
92    Image() {},
93    Date() {},
94    screen: {},
95    setTimeout() {},
96    clearTimeout() {},
97    matchMedia: () => ({}),
98    requestAnimationFrame: (e) =>
99      "undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0),
100    cancelAnimationFrame(e) {
101      "undefined" != typeof setTimeout && clearTimeout(e);
102    },
103  };
104  function r() {
105    const e = "undefined" != typeof window ? window : {};
106    return t(e, i), e;
107  }
108  class n extends Array {
109    constructor(e) {
110      "number" == typeof e
111        ? super(e)
112        : (super(...(e || [])),
113          (function (e) {
114            const t = e.__proto__;
115            Object.defineProperty(e, "__proto__", {
116              get: () => t,
117              set(e) {
118                t.__proto__ = e;
119              },
120            });
121          })(this));
122    }
123  }
124  function l(e) {
125    void 0 === e && (e = []);
126    const t = [];
127    return (
128      e.forEach((e) => {
129        Array.isArray(e) ? t.push(...l(e)) : t.push(e);
130      }),
131      t
132    );
133  }
134  function o(e, t) {
135    return Array.prototype.filter.call(e, t);
136  }
137  function d(e, t) {
138    const s = r(),
139      i = a();
140    let l = [];
141    if (!t && e instanceof n) return e;
142    if (!e) return new n(l);
143    if ("string" == typeof e) {
144      const s = e.trim();
145      if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) {
146        let e = "div";
147        0 === s.indexOf("<li") && (e = "ul"),
148          0 === s.indexOf("<tr") && (e = "tbody"),
149          (0 !== s.indexOf("<td") && 0 !== s.indexOf("<th")) || (e = "tr"),
150          0 === s.indexOf("<tbody") && (e = "table"),
151          0 === s.indexOf("<option") && (e = "select");
152        const t = i.createElement(e);
153        t.innerHTML = s;
154        for (let e = 0; e < t.childNodes.length; e += 1)
155          l.push(t.childNodes[e]);
156      } else
157        l = (function (e, t) {
158          if ("string" != typeof e) return [e];
159          const s = [],
160            a = t.querySelectorAll(e);
161          for (let e = 0; e < a.length; e += 1) s.push(a[e]);
162          return s;
163        })(e.trim(), t || i);
164    } else if (e.nodeType || e === s || e === i) l.push(e);
165    else if (Array.isArray(e)) {
166      if (e instanceof n) return e;
167      l = e;
168    }
169    return new n(
170      (function (e) {
171        const t = [];
172        for (let s = 0; s < e.length; s += 1)
173          -1 === t.indexOf(e[s]) && t.push(e[s]);
174        return t;
175      })(l)
176    );
177  }
178  d.fn = n.prototype;
179  const c = {
180    addClass: function () {
181      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
182        t[s] = arguments[s];
183      const a = l(t.map((e) => e.split(" ")));
184      return (
185        this.forEach((e) => {
186          e.classList.add(...a);
187        }),
188        this
189      );
190    },
191    removeClass: function () {
192      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
193        t[s] = arguments[s];
194      const a = l(t.map((e) => e.split(" ")));
195      return (
196        this.forEach((e) => {
197          e.classList.remove(...a);
198        }),
199        this
200      );
201    },
202    hasClass: function () {
203      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
204        t[s] = arguments[s];
205      const a = l(t.map((e) => e.split(" ")));
206      return (
207        o(this, (e) => a.filter((t) => e.classList.contains(t)).length > 0)
208          .length > 0
209      );
210    },
211    toggleClass: function () {
212      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
213        t[s] = arguments[s];
214      const a = l(t.map((e) => e.split(" ")));
215      this.forEach((e) => {
216        a.forEach((t) => {
217          e.classList.toggle(t);
218        });
219      });
220    },
221    attr: function (e, t) {
222      if (1 === arguments.length && "string" == typeof e)
223        return this[0] ? this[0].getAttribute(e) : void 0;
224      for (let s = 0; s < this.length; s += 1)
225        if (2 === arguments.length) this[s].setAttribute(e, t);
226        else
227          for (const t in e) (this[s][t] = e[t]), this[s].setAttribute(t, e[t]);
228      return this;
229    },
230    removeAttr: function (e) {
231      for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
232      return this;
233    },
234    transform: function (e) {
235      for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
236      return this;
237    },
238    transition: function (e) {
239      for (let t = 0; t < this.length; t += 1)
240        this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e;
241      return this;
242    },
243    on: function () {
244      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
245        t[s] = arguments[s];
246      let [a, i, r, n] = t;
247      function l(e) {
248        const t = e.target;
249        if (!t) return;
250        const s = e.target.dom7EventData || [];
251        if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i))) r.apply(t, s);
252        else {
253          const e = d(t).parents();
254          for (let t = 0; t < e.length; t += 1)
255            d(e[t]).is(i) && r.apply(e[t], s);
256        }
257      }
258      function o(e) {
259        const t = (e && e.target && e.target.dom7EventData) || [];
260        t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t);
261      }
262      "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
263        n || (n = !1);
264      const c = a.split(" ");
265      let p;
266      for (let e = 0; e < this.length; e += 1) {
267        const t = this[e];
268        if (i)
269          for (p = 0; p < c.length; p += 1) {
270            const e = c[p];
271            t.dom7LiveListeners || (t.dom7LiveListeners = {}),
272              t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []),
273              t.dom7LiveListeners[e].push({ listener: r, proxyListener: l }),
274              t.addEventListener(e, l, n);
275          }
276        else
277          for (p = 0; p < c.length; p += 1) {
278            const e = c[p];
279            t.dom7Listeners || (t.dom7Listeners = {}),
280              t.dom7Listeners[e] || (t.dom7Listeners[e] = []),
281              t.dom7Listeners[e].push({ listener: r, proxyListener: o }),
282              t.addEventListener(e, o, n);
283          }
284      }
285      return this;
286    },
287    off: function () {
288      for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)
289        t[s] = arguments[s];
290      let [a, i, r, n] = t;
291      "function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
292        n || (n = !1);
293      const l = a.split(" ");
294      for (let e = 0; e < l.length; e += 1) {
295        const t = l[e];
296        for (let e = 0; e < this.length; e += 1) {
297          const s = this[e];
298          let a;
299          if (
300            (!i && s.dom7Listeners
301              ? (a = s.dom7Listeners[t])
302              : i && s.dom7LiveListeners && (a = s.dom7LiveListeners[t]),
303            a && a.length)
304          )
305            for (let e = a.length - 1; e >= 0; e -= 1) {
306              const i = a[e];
307              (r && i.listener === r) ||
308              (r &&
309                i.listener &&
310                i.listener.dom7proxy &&
311                i.listener.dom7proxy === r)
312                ? (s.removeEventListener(t, i.proxyListener, n), a.splice(e, 1))
313                : r ||
314                  (s.removeEventListener(t, i.proxyListener, n),
315                  a.splice(e, 1));
316            }
317        }
318      }
319      return this;
320    },
321    trigger: function () {
322      const e = r();
323      for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++)
324        s[a] = arguments[a];
325      const i = s[0].split(" "),
326        n = s[1];
327      for (let t = 0; t < i.length; t += 1) {
328        const a = i[t];
329        for (let t = 0; t < this.length; t += 1) {
330          const i = this[t];
331          if (e.CustomEvent) {
332            const t = new e.CustomEvent(a, {
333              detail: n,
334              bubbles: !0,
335              cancelable: !0,
336            });
337            (i.dom7EventData = s.filter((e, t) => t > 0)),
338              i.dispatchEvent(t),
339              (i.dom7EventData = []),
340              delete i.dom7EventData;
341          }
342        }
343      }
344      return this;
345    },
346    transitionEnd: function (e) {
347      const t = this;
348      return (
349        e &&
350          t.on("transitionend", function s(a) {
351            a.target === this && (e.call(this, a), t.off("transitionend", s));
352          }),
353        this
354      );
355    },
356    outerWidth: function (e) {
357      if (this.length > 0) {
358        if (e) {
359          const e = this.styles();
360          return (
361            this[0].offsetWidth +
362            parseFloat(e.getPropertyValue("margin-right")) +
363            parseFloat(e.getPropertyValue("margin-left"))
364          );
365        }
366        return this[0].offsetWidth;
367      }
368      return null;
369    },
370    outerHeight: function (e) {
371      if (this.length > 0) {
372        if (e) {
373          const e = this.styles();
374          return (
375            this[0].offsetHeight +
376            parseFloat(e.getPropertyValue("margin-top")) +
377            parseFloat(e.getPropertyValue("margin-bottom"))
378          );
379        }
380        return this[0].offsetHeight;
381      }
382      return null;
383    },
384    styles: function () {
385      const e = r();
386      return this[0] ? e.getComputedStyle(this[0], null) : {};
387    },
388    offset: function () {
389      if (this.length > 0) {
390        const e = r(),
391          t = a(),
392          s = this[0],
393          i = s.getBoundingClientRect(),
394          n = t.body,
395          l = s.clientTop || n.clientTop || 0,
396          o = s.clientLeft || n.clientLeft || 0,
397          d = s === e ? e.scrollY : s.scrollTop,
398          c = s === e ? e.scrollX : s.scrollLeft;
399        return { top: i.top + d - l, left: i.left + c - o };
400      }
401      return null;
402    },
403    css: function (e, t) {
404      const s = r();
405      let a;
406      if (1 === arguments.length) {
407        if ("string" != typeof e) {
408          for (a = 0; a < this.length; a += 1)
409            for (const t in e) this[a].style[t] = e[t];
410          return this;
411        }
412        if (this[0])
413          return s.getComputedStyle(this[0], null).getPropertyValue(e);
414      }
415      if (2 === arguments.length && "string" == typeof e) {
416        for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
417        return this;
418      }
419      return this;
420    },
421    each: function (e) {
422      return e
423        ? (this.forEach((t, s) => {
424            e.apply(t, [t, s]);
425          }),
426          this)
427        : this;
428    },
429    html: function (e) {
430      if (void 0 === e) return this[0] ? this[0].innerHTML : null;
431      for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
432      return this;
433    },
434    text: function (e) {
435      if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
436      for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
437      return this;
438    },
439    is: function (e) {
440      const t = r(),
441        s = a(),
442        i = this[0];
443      let l, o;
444      if (!i || void 0 === e) return !1;
445      if ("string" == typeof e) {
446        if (i.matches) return i.matches(e);
447        if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
448        if (i.msMatchesSelector) return i.msMatchesSelector(e);
449        for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0;
450        return !1;
451      }
452      if (e === s) return i === s;
453      if (e === t) return i === t;
454      if (e.nodeType || e instanceof n) {
455        for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1)
456          if (l[o] === i) return !0;
457        return !1;
458      }
459      return !1;
460    },
461    index: function () {
462      let e,
463        t = this[0];
464      if (t) {
465        for (e = 0; null !== (t = t.previousSibling); )
466          1 === t.nodeType && (e += 1);
467        return e;
468      }
469    },
470    eq: function (e) {
471      if (void 0 === e) return this;
472      const t = this.length;
473      if (e > t - 1) return d([]);
474      if (e < 0) {
475        const s = t + e;
476        return d(s < 0 ? [] : [this[s]]);
477      }
478      return d([this[e]]);
479    },
480    append: function () {
481      let e;
482      const t = a();
483      for (let s = 0; s < arguments.length; s += 1) {
484        e = s < 0 || arguments.length <= s ? void 0 : arguments[s];
485        for (let s = 0; s < this.length; s += 1)
486          if ("string" == typeof e) {
487            const a = t.createElement("div");
488            for (a.innerHTML = e; a.firstChild; )
489              this[s].appendChild(a.firstChild);
490          } else if (e instanceof n)
491            for (let t = 0; t < e.length; t += 1) this[s].appendChild(e[t]);
492          else this[s].appendChild(e);
493      }
494      return this;
495    },
496    prepend: function (e) {
497      const t = a();
498      let s, i;
499      for (s = 0; s < this.length; s += 1)
500        if ("string" == typeof e) {
501          const a = t.createElement("div");
502          for (a.innerHTML = e, i = a.childNodes.length - 1; i >= 0; i -= 1)
503            this[s].insertBefore(a.childNodes[i], this[s].childNodes[0]);
504        } else if (e instanceof n)
505          for (i = 0; i < e.length; i += 1)
506            this[s].insertBefore(e[i], this[s].childNodes[0]);
507        else this[s].insertBefore(e, this[s].childNodes[0]);
508      return this;
509    },
510    next: function (e) {
511      return this.length > 0
512        ? e
513          ? this[0].nextElementSibling && d(this[0].nextElementSibling).is(e)
514            ? d([this[0].nextElementSibling])
515            : d([])
516          : this[0].nextElementSibling
517          ? d([this[0].nextElementSibling])
518          : d([])
519        : d([]);
520    },
521    nextAll: function (e) {
522      const t = [];
523      let s = this[0];
524      if (!s) return d([]);
525      for (; s.nextElementSibling; ) {
526        const a = s.nextElementSibling;
527        e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
528      }
529      return d(t);
530    },
531    prev: function (e) {
532      if (this.length > 0) {
533        const t = this[0];
534        return e
535          ? t.previousElementSibling && d(t.previousElementSibling).is(e)
536            ? d([t.previousElementSibling])
537            : d([])
538          : t.previousElementSibling
539          ? d([t.previousElementSibling])
540          : d([]);
541      }
542      return d([]);
543    },
544    prevAll: function (e) {
545      const t = [];
546      let s = this[0];
547      if (!s) return d([]);
548      for (; s.previousElementSibling
548; ) {
549        const a = s.previousElementSibling;
550        e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
551      }
552      return d(t);
553    },
554    parent: function (e) {
555      const t = [];
556      for (let s = 0; s < this.length; s += 1)
557        null !== this[s].parentNode &&
558          (e
559            ? d(this[s].parentNode).is(e) && t.push(this[s].parentNode)
560            : t.push(this[s].parentNode));
561      return d(t);
562    },
563    parents: function (e) {
564      const t = [];
565      for (let s = 0; s < this.length; s += 1) {
566        let a = this[s].parentNode;
567        for (; a; ) e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode);
568      }
569      return d(t);
570    },
571    closest: function (e) {
572      let t = this;
573      return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
574    },
575    find: function (e) {
576      const t = [];
577      for (let s = 0; s < this.length; s += 1) {
578        const a = this[s].querySelectorAll(e);
579        for (let e = 0; e < a.length; e += 1) t.push(a[e]);
580      }
581      return d(t);
582    },
583    children: function (e) {
584      const t = [];
585      for (let s = 0; s < this.length; s += 1) {
586        const a = this[s].children;
587        for (let s = 0; s < a.length; s += 1)
588          (e && !d(a[s]).is(e)) || t.push(a[s]);
589      }
590      return d(t);
591    },
592    filter: function (e) {
593      return d(o(this, e));
594    },
595    remove: function () {
596      for (let e = 0; e < this.length; e += 1)
597        this[e].parentNode && this[e].parentNode.removeChild(this[e]);
598      return this;
599    },
600  };
601  function p(e, t) {
602    return void 0 === t && (t = 0), setTimeout(e, t);
603  }
604  function u() {
605    return Date.now();
606  }
607  function h(e, t) {
608    void 0 === t && (t = "x");
609    const s = r();
610    let a, i, n;
611    const l = (function (e) {
612      const t = r();
613      let s;
614      return (
615        t.getComputedStyle && (s = t.getComputedStyle(e, null)),
616        !s && e.currentStyle && (s = e.currentStyle),
617        s || (s = e.style),
618        s
619      );
620    })(e);
621    return (
622      s.WebKitCSSMatrix
623        ? ((i = l.transform || l.webkitTransform),
624          i.split(",").length > 6 &&
625            (i = i
626              .split(", ")
627              .map((e) => e.replace(",", "."))
628              .join(", ")),
629          (n = new s.WebKitCSSMatrix("none" === i ? "" : i)))
630        : ((n =
631            l.MozTransform ||
632            l.OTransform ||
633            l.MsTransform ||
634            l.msTransform ||
635            l.transform ||
636            l
637              .getPropertyValue("transform")
638              .replace("translate(", "matrix(1, 0, 0, 1,")),
639          (a = n.toString().split(","))),
640      "x" === t &&
641        (i = s.WebKitCSSMatrix
642          ? n.m41
643          : 16 === a.length
644          ? parseFloat(a[12])
645          : parseFloat(a[4])),
646      "y" === t &&
647        (i = s.WebKitCSSMatrix
648          ? n.m42
649          : 16 === a.length
650          ? parseFloat(a[13])
651          : parseFloat(a[5])),
652      i || 0
653    );
654  }
655  function m(e) {
656    return (
657      "object" == typeof e &&
658      null !== e &&
659      e.constructor &&
660      "Object" === Object.prototype.toString.call(e).slice(8, -1)
661    );
662  }
663  function f(e) {
664    return "undefined" != typeof window && void 0 !== window.HTMLElement
665      ? e instanceof HTMLElement
666      : e && (1 === e.nodeType || 11 === e.nodeType);
667  }
668  function g() {
669    const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),
670      t = ["__proto__", "constructor", "prototype"];
671    for (let s = 1; s < arguments.length; s += 1) {
672      const a = s < 0 || arguments.length <= s ? void 0 : arguments[s];
673      if (null != a && !f(a)) {
674        const s = Object.keys(Object(a)).filter((e) => t.indexOf(e) < 0);
675        for (let t = 0, i = s.length; t < i; t += 1) {
676          const i = s[t],
677            r = Object.getOwnPropertyDescriptor(a, i);
678          void 0 !== r &&
679            r.enumerable &&
680            (m(e[i]) && m(a[i])
681              ? a[i].__swiper__
682                ? (e[i] = a[i])
683                : g(e[i], a[i])
684              : !m(e[i]) && m(a[i])
685              ? ((e[i] = {}), a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i]))
686              : (e[i] = a[i]));
687        }
688      }
689    }
690    return e;
691  }
692  function v(e, t, s) {
693    e.style.setProperty(t, s);
694  }
695  function w(e) {
696    let { swiper: t, targetPosition: s, side: a } = e;
697    const i = r(),
698      n = -t.translate;
699    let l,
700      o = null;
701    const d = t.params.speed;
702    (t.wrapperEl.style.scrollSnapType = "none"),
703      i.cancelAnimationFrame(t.cssModeFrameID);
704    const c = s > n ? "next" : "prev",
705      p = (e, t) => ("next" === c && e >= t) || ("prev" === c && e <= t),
706      u = () => {
707        (l = new Date().getTime()), null === o && (o = l);
708        const e = Math.max(Math.min((l - o) / d, 1), 0),
709          r = 0.5 - Math.cos(e * Math.PI) / 2;
710        let c = n + r * (s - n);
711        if ((p(c, s) && (c = s), t.wrapperEl.scrollTo({ [a]: c }), p(c, s)))
712          return (
713            (t.wrapperEl.style.overflow = "hidden"),
714            (t.wrapperEl.style.scrollSnapType = ""),
715            setTimeout(() => {
716              (t.wrapperEl.style.overflow = ""),
717                t.wrapperEl.scrollTo({ [a]: c });
718            }),
719            void i.cancelAnimationFrame(t.cssModeFrameID)
720          );
721        t.cssModeFrameID = i.requestAnimationFrame(u);
722      };
723    u();
724  }
725  let b, x, y;
726  function E() {
727    return (
728      b ||
729        (b = (function () {
730          const e = r(),
731            t = a();
732          return {
733            smoothScroll:
734              t.documentElement && "scrollBehavior" in t.documentElement.style,
735            touch: !!(
736              "ontouchstart" in e ||
737              (e.DocumentTouch && t instanceof e.DocumentTouch)
738            ),
739            passiveListener: (function () {
740              let t = !1;
741              try {
742                const s = Object.defineProperty({}, "passive", {
743                  get() {
744                    t = !0;
745                  },
746                });
747                e.addEventListener("testPassiveListener", null, s);
748              } catch (e) {}
749              return t;
750            })(),
751            gestures: "ongesturestart" in e,
752          };
753        })()),
754      b
755    );
756  }
757  function C(e) {
758    return (
759      void 0 === e && (e = {}),
760      x ||
761        (x = (function (e) {
762          let { userAgent: t } = void 0 === e ? {} : e;
763          const s = E(),
764            a = r(),
765            i = a.navigator.platform,
766            n = t || a.navigator.userAgent,
767            l = { ios: !1, android: !1 },
768            o = a.screen.width,
769            d = a.screen.height,
770            c = n.match(/(Android);?[\s\/]+([\d.]+)?/);
771          let p = n.match(/(iPad).*OS\s([\d_]+)/);
772          const u = n.match(/(iPod)(.*OS\s([\d_]+))?/),
773            h = !p && n.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
774            m = "Win32" === i;
775          let f = "MacIntel" === i;
776          return (
777            !p &&
778              f &&
779              s.touch &&
780              [
781                "1024x1366",
782                "1366x1024",
783                "834x1194",
784                "1194x834",
785                "834x1112",
786                "1112x834",
787                "768x1024",
788                "1024x768",
789                "820x1180",
790                "1180x820",
791                "810x1080",
792                "1080x810",
793              ].indexOf(`${o}x${d}`) >= 0 &&
794              ((p = n.match(/(Version)\/([\d.]+)/)),
795              p || (p = [0, 1, "13_0_0"]),
796              (f = !1)),
797            c && !m && ((l.os = "android"), (l.android = !0)),
798            (p || h || u) && ((l.os = "ios"), (l.ios = !0)),
799            l
800          );
801        })(e)),
802      x
803    );
804  }
805  function T() {
806    return (
807      y ||
808        (y = (function () {
809          const e = r();
810          return {
811            isSafari: (function () {
812              const t = e.navigator.userAgent.toLowerCase();
813              return (
814                t.indexOf("safari") >= 0 &&
815                t.indexOf("chrome") < 0 &&
816                t.indexOf("android") < 0
817              );
818            })(),
819            isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
820              e.navigator.userAgent
821            ),
822          };
823        })()),
824      y
825    );
826  }
827  Object.keys(c).forEach((e) => {
828    Object.defineProperty(d.fn, e, { value: c[e], writable: !0 });
829  });
830  var $ = {
831    on(e, t, s) {
832      const a = this;
833      if (!a.eventsListeners || a.destroyed) return a;
834      if ("function" != typeof t) return a;
835      const i = s ? "unshift" : "push";
836      return (
837        e.split(" ").forEach((e) => {
838          a.eventsListeners[e] || (a.eventsListeners[e] = []),
839            a.eventsListeners[e][i](t);
840        }),
841        a
842      );
843    },
844    once(e, t, s) {
845      const a = this;
846      if (!a.eventsListeners || a.destroyed) return a;
847      if ("function" != typeof t) return a;
848      function i() {
849        a.off(e, i), i.__emitterProxy && delete i.__emitterProxy;
850        for (var s = arguments.length, r = new Array(s), n = 0; n < s; n++)
851          r[n] = arguments[n];
852        t.apply(a, r);
853      }
854      return (i.__emitterProxy = t), a.on(e, i, s);
855    },
856    onAny(e, t) {
857      const s = this;
858      if (!s.eventsListeners || s.destroyed) return s;
859      if ("function" != typeof e) return s;
860      const a = t ? "unshift" : "push";
861      return (
862        s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s
863      );
864    },
865    offAny(e) {
866      const t = this;
867      if (!t.eventsListeners || t.destroyed) return t;
868      if (!t.eventsAnyListeners) return t;
869      const s = t.eventsAnyListeners.indexOf(e);
870      return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
871    },
872    off(e, t) {
873      const s = this;
874      return !s.eventsListeners || s.destroyed
875        ? s
876        : s.eventsListeners
877        ? (e.split(" ").forEach((e) => {
878            void 0 === t
879              ? (s.eventsListeners[e] = [])
880              : s.eventsListeners[e] &&
881                s.eventsListeners[e].forEach((a, i) => {
882                  (a === t || (a.__emitterProxy && a.__emitterProxy === t)) &&
883                    s.eventsListeners[e].splice(i, 1);
884                });
885          }),
886          s)
887        : s;
888    },
889    emit() {
890      const e = this;
891      if (!e.eventsListeners || e.destroyed) return e;
892      if (!e.eventsListeners) return e;
893      let t, s, a;
894      for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++)
895        r[n] = arguments[n];
896      "string" == typeof r[0] || Array.isArray(r[0])
897        ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))
898        : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),
899        s.unshift(a);
900      return (
901        (Array.isArray(t) ? t : t.split(" ")).forEach((t) => {
902          e.eventsAnyListeners &&
903            e.eventsAnyListeners.length &&
904            e.eventsAnyListeners.forEach((e) => {
905              e.apply(a, [t, ...s]);
906            }),
907            e.eventsListeners &&
908              e.eventsListeners[t] &&
909              e.eventsListeners[t].forEach((e) => {
910                e.apply(a, s);
911              });
912        }),
913        e
914      );
915    },
916  };
917  var S = {
918    updateSize: function () {
919      const e = this;
920      let t, s;
921      const a = e.$el;
922      (t =
923        void 0 !== e.params.width && null !== e.params.width
924          ? e.params.width
925          : a[0].clientWidth),
926        (s =
927          void 0 !== e.params.height && null !== e.params.height
928            ? e.params.height
929            : a[0].clientHeight),
930        (0 === t && e.isHorizontal()) ||
931          (0 === s && e.isVertical()) ||
932          ((t =
933            t -
934            parseInt(a.css("padding-left") || 0, 10) -
935            parseInt(a.css("padding-right") || 0, 10)),
936          (s =
937            s -
938            parseInt(a.css("padding-top") || 0, 10) -
939            parseInt(a.css("padding-bottom") || 0, 10)),
940          Number.isNaN(t) && (t = 0),
941          Number.isNaN(s) && (s = 0),
942          Object.assign(e, {
943            width: t,
944            height: s,
945            size: e.isHorizontal() ? t : s,
946          }));
947    },
948    updateSlides: function () {
949      const e = this;
950      function t(t) {
951        return e.isHorizontal()
952          ? t
953          : {
954              width: "height",
955              "margin-top": "margin-left",
956              "margin-bottom ": "margin-right",
957              "margin-left": "margin-top",
958              "margin-right": "margin-bottom",
959              "padding-left": "padding-top",
960              "padding-right": "padding-bottom",
961              marginRight: "marginBottom",
962            }[t];
963      }
964      function s(e, s) {
965        return parseFloat(e.getPropertyValue(t(s)) || 0);
966      }
967      const a = e.params,
968        { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e,
969        o = e.virtual && a.virtual.enabled,
970        d = o ? e.virtual.slides.length : e.slides.length,
971        c = i.children(`.${e.params.slideClass}`),
972        p = o ? e.virtual.slides.length : c.length;
973      let u = [];
974      const h = [],
975        m = [];
976      let f = a.slidesOffsetBefore;
977      "function" == typeof f && (f = a.slidesOffsetBefore.call(e));
978      let g = a.slidesOffsetAfter;
979      "function" == typeof g && (g = a.slidesOffsetAfter.call(e));
980      const w = e.snapGrid.length,
981        b = e.slidesGrid.length;
982      let x = a.spaceBetween,
983        y = -f,
984        E = 0,
985        C = 0;
986      if (void 0 === r) return;
987      "string" == typeof x &&
988        x.indexOf("%") >= 0 &&
989        (x = (parseFloat(x.replace("%", "")) / 100) * r),
990        (e.virtualSize = -x),
991        n
992          ? c.css({ marginLeft: "", marginBottom: "", marginTop: "" })
993          : c.css({ marginRight: "", marginBottom: "", marginTop: "" }),
994        a.centeredSlides &&
995          a.cssMode &&
996          (v(e.wrapperEl, "--swiper-centered-offset-before", ""),
997          v(e.wrapperEl, "--swiper-centered-offset-after", ""));
998      const T = a.grid && a.grid.rows > 1 && e.grid;
999      let $;
1000      T && e.grid.initSlides(p);
1001      const S =
1002        "auto" === a.slidesPerView &&
1003        a.breakpoints &&
1004        Object.keys(a.breakpoints).filter(
1005          (e) => void 0 !== a.breakpoints[e].slidesPerView
1006        ).length > 0;
1007      for (let i = 0; i < p; i += 1) {
1008        $ = 0;
1009        const n = c.eq(i);
1010        if (
1011          (T && e.grid.updateSlide(i, n, p, t), "none" !== n.css("display"))
1012        ) {
1013          if ("auto" === a.slidesPerView) {
1014            S && (c[i].style[t("width")] = "");
1015            const r = getComputedStyle(n[0]),
1016              l = n[0].style.transform,
1017              o = n[0].style.webkitTransform;
1018            if (
1019              (l && (n[0].style.transform = "none"),
1020              o && (n[0].style.webkitTransform = "none"),
1021              a.roundLengths)
1022            )
1023              $ = e.isHorizontal() ? n.outerWidth(!0) : n.outerHeight(!0);
1024            else {
1025              const e = s(r, "width"),
1026                t = s(r, "padding-left"),
1027                a = s(r, "padding-right"),
1028                i = s(r, "margin-left"),
1029                l = s(r, "margin-right"),
1030                o = r.getPropertyValue("box-sizing");
1031              if (o && "border-box" === o) $ = e + i + l;
1032              else {
1033                const { clientWidth: s, offsetWidth: r } = n[0];
1034                $ = e + t + a + i + l + (r - s);
1035              }
1036            }
1037            l && (n[0].style.transform = l),
1038              o && (n[0].style.webkitTransform = o),
1039              a.roundLengths && ($ = Math.floor($));
1040          } else
1041            ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView),
1042              a.roundLengths && ($ = Math.floor($)),
1043              c[i] && (c[i].style[t("width")] = `${$}px`);
1044          c[i] && (c[i].swiperSlideSize = $),
1045            m.push($),
1046            a.centeredSlides
1047              ? ((y = y + $ / 2 + E / 2 + x),
1048                0 === E && 0 !== i && (y = y - r / 2 - x),
1049                0 === i && (y = y - r / 2 - x),
1050                Math.abs(y) < 0.001 && (y = 0),
1051                a.roundLengths && (y = Math.floor(y)),
1052                C % a.slidesPerGroup == 0 && u.push(y),
1053                h.push(y))
1054              : (a.roundLengths && (y = Math.floor(y)),
1055                (C - Math.min(e.params.slidesPerGroupSkip, C)) %
1056                  e.params.slidesPerGroup ==
1057                  0 && u.push(y),
1058                h.push(y),
1059                (y = y + $ + x)),
1060            (e.virtualSize += $ + x),
1061            (E = $),
1062            (C += 1);
1063        }
1064      }
1065      if (
1066        ((e.virtualSize = Math.max(e.virtualSize, r) + g),
1067        n &&
1068          l &&
1069          ("slide" === a.effect || "coverflow" === a.effect) &&
1070          i.css({ width: `${e.virtualSize + a.spaceBetween}px` }),
1071        a.setWrapperSize &&
1072          i.css({ [t("width")]: `${e.virtualSize + a.spaceBetween}px` }),
1073        T && e.grid.updateWrapperSize($, u, t),
1074        !a.centeredSlides)
1075      ) {
1076        const t = [];
1077        for (let s = 0; s < u.length; s += 1) {
1078          let i = u[s];
1079          a.roundLengths && (i = Math.floor(i)),
1080            u[s] <= e.virtualSize - r && t.push(i);
1081        }
1082        (u = t),
1083          Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 &&
1084            u.push(e.virtualSize - r);
1085      }
1086      if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) {
1087        const s = e.isHorizontal() && n ? "marginLeft" : t("marginRight");
1088        c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({
1089          [s]: `${x}px`,
1090        });
1091      }
1092      if (a.centeredSlides && a.centeredSlidesBounds) {
1093        let e = 0;
1094        m.forEach((t) => {
1095          e += t + (a.spaceBetween ? a.spaceBetween : 0);
1096        }),
1097          (e -= a.spaceBetween);
1098        const t = e - r;
1099        u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e));
1100      }
1101      if (a.centerInsufficientSlides) {
1102        let e = 0;
1103        if (
1104          (m.forEach((t) => {
1105            e += t + (a.spaceBetween ? a.spaceBetween : 0);
1106          }),
1107          (e -= a.spaceBetween),
1108          e < r)
1109        ) {
1110          const t = (r - e) / 2;
1111          u.forEach((e, s) => {
1112            u[s] = e - t;
1113          }),
1114            h.forEach((e, s) => {
1115              h[s] = e + t;
1116            });
1117        }
1118      }
1119      if (
1120        (Object.assign(e, {
1121          slides: c,
1122          snapGrid: u,
1123          slidesGrid: h,
1124          slidesSizesGrid: m,
1125        }),
1126        a.centeredSlides && a.cssMode && !a.centeredSlidesBounds)
1127      ) {
1128        v(e.wrapperEl, "--swiper-centered-offset-before", -u[0] + "px"),
1129          v(
1130            e.wrapperEl,
1131            "--swiper-centered-offset-after",
1132            e.size / 2 - m[m.length - 1] / 2 + "px"
1133          );
1134        const t = -e.snapGrid[0],
1135          s = -e.slidesGrid[0];
1136        (e.snapGrid = e.snapGrid.map((e) => e + t)),
1137          (e.slidesGrid = e.slidesGrid.map((e) => e + s));
1138      }
1139      if (
1140        (p !== d && e.emit("slidesLengthChange"),
1141        u.length !== w &&
1142          (e.params.watchOverflow && e.checkOverflow(),
1143          e.emit("snapGridLengthChange")),
1144        h.length !== b && e.emit("slidesGridLengthChange"),
1145        a.watchSlidesProgress && e.updateSlidesOffset(),
1146        !(o || a.cssMode || ("slide" !== a.effect && "fade" !== a.effect)))
1147      ) {
1148        const t = `${a.containerModifierClass}backface-hidden`,
1149          s = e.$el.hasClass(t);
1150        p <= a.maxBackfaceHiddenSlides
1151          ? s || e.$el.addClass(t)
1152          : s && e.$el.removeClass(t);
1153      }
1154    },
1155    updateAutoHeight: function (e) {
1156      const t = this,
1157        s = [],
1158        a = t.virtual && t.params.virtual.enabled;
1159      let i,
1160        r = 0;
1161      "number" == typeof e
1162        ? t.setTransition(e)
1163        : !0 === e && t.setTransition(t.params.speed);
1164      const n = (e) =>
1165        a
1166          ? t.slides.filter(
1167              (t) =>
1168                parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e
1169            )[0]
1170          : t.slides.eq(e)[0];
1171      if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
1172        if (t.params.centeredSlides)
1173          (t.visibleSlides || d([])).each((e) => {
1174            s.push(e);
1175          });
1176        else
1177          for (i = 0;
1177 i < Math.ceil(t.params.slidesPerView); i += 1) {
1178            const e = t.activeIndex + i;
1179            if (e > t.slides.length && !a) break;
1180            s.push(n(e));
1181          }
1182      else s.push(n(t.activeIndex));
1183      for (i = 0; i < s.length; i += 1)
1184        if (void 0 !== s[i]) {
1185          const e = s[i].offsetHeight;
1186          r = e > r ? e : r;
1187        }
1188      (r || 0 === r) && t.$wrapperEl.css("height", `${r}px`);
1189    },
1190    updateSlidesOffset: function () {
1191      const e = this,
1192        t = e.slides;
1193      for (let s = 0; s < t.length; s += 1)
1194        t[s].swiperSlideOffset = e.isHorizontal()
1195          ? t[s].offsetLeft
1196          : t[s].offsetTop;
1197    },
1198    updateSlidesProgress: function (e) {
1199      void 0 === e && (e = (this && this.translate) || 0);
1200      const t = this,
1201        s = t.params,
1202        { slides: a, rtlTranslate: i, snapGrid: r } = t;
1203      if (0 === a.length) return;
1204      void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
1205      let n = -e;
1206      i && (n = e),
1207        a.removeClass(s.slideVisibleClass),
1208        (t.visibleSlidesIndexes = []),
1209        (t.visibleSlides = []);
1210      for (let e = 0; e < a.length; e += 1) {
1211        const l = a[e];
1212        let o = l.swiperSlideOffset;
1213        s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset);
1214        const d =
1215            (n + (s.centeredSlides ? t.minTranslate() : 0) - o) /
1216            (l.swiperSlideSize + s.spaceBetween),
1217          c =
1218            (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - o) /
1219            (l.swiperSlideSize + s.spaceBetween),
1220          p = -(n - o),
1221          u = p + t.slidesSizesGrid[e];
1222        ((p >= 0 && p < t.size - 1) ||
1223          (u > 1 && u <= t.size) ||
1224          (p <= 0 && u >= t.size)) &&
1225          (t.visibleSlides.push(l),
1226          t.visibleSlidesIndexes.push(e),
1227          a.eq(e).addClass(s.slideVisibleClass)),
1228          (l.progress = i ? -d : d),
1229          (l.originalProgress = i ? -c : c);
1230      }
1231      t.visibleSlides = d(t.visibleSlides);
1232    },
1233    updateProgress: function (e) {
1234      const t = this;
1235      if (void 0 === e) {
1236        const s = t.rtlTranslate ? -1 : 1;
1237        e = (t && t.translate && t.translate * s) || 0;
1238      }
1239      const s = t.params,
1240        a = t.maxTranslate() - t.minTranslate();
1241      let { progress: i, isBeginning: r, isEnd: n } = t;
1242      const l = r,
1243        o = n;
1244      0 === a
1245        ? ((i = 0), (r = !0), (n = !0))
1246        : ((i = (e - t.minTranslate()) / a), (r = i <= 0), (n = i >= 1)),
1247        Object.assign(t, { progress: i, isBeginning: r, isEnd: n }),
1248        (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&
1249          t.updateSlidesProgress(e),
1250        r && !l && t.emit("reachBeginning toEdge"),
1251        n && !o && t.emit("reachEnd toEdge"),
1252        ((l && !r) || (o && !n)) && t.emit("fromEdge"),
1253        t.emit("progress", i);
1254    },
1255    updateSlidesClasses: function () {
1256      const e = this,
1257        {
1258          slides: t,
1259          params: s,
1260          $wrapperEl: a,
1261          activeIndex: i,
1262          realIndex: r,
1263        } = e,
1264        n = e.virtual && s.virtual.enabled;
1265      let l;
1266      t.removeClass(
1267        `${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`
1268      ),
1269        (l = n
1270          ? e.$wrapperEl.find(
1271              `.${s.slideClass}[data-swiper-slide-index="${i}"]`
1272            )
1273          : t.eq(i)),
1274        l.addClass(s.slideActiveClass),
1275        s.loop &&
1276          (l.hasClass(s.slideDuplicateClass)
1277            ? a
1278                .children(
1279                  `.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`
1280                )
1281                .addClass(s.slideDuplicateActiveClass)
1282            : a
1283                .children(
1284                  `.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`
1285                )
1286                .addClass(s.slideDuplicateActiveClass));
1287      let o = l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);
1288      s.loop && 0 === o.length && ((o = t.eq(0)), o.addClass(s.slideNextClass));
1289      let d = l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);
1290      s.loop &&
1291        0 === d.length &&
1292        ((d = t.eq(-1)), d.addClass(s.slidePrevClass)),
1293        s.loop &&
1294          (o.hasClass(s.slideDuplicateClass)
1295            ? a
1296                .children(
1297                  `.${s.slideClass}:not(.${
1298                    s.slideDuplicateClass
1299                  })[data-swiper-slide-index="${o.attr(
1300                    "data-swiper-slide-index"
1301                  )}"]`
1302                )
1303                .addClass(s.slideDuplicateNextClass)
1304            : a
1305                .children(
1306                  `.${s.slideClass}.${
1307                    s.slideDuplicateClass
1308                  }[data-swiper-slide-index="${o.attr(
1309                    "data-swiper-slide-index"
1310                  )}"]`
1311                )
1312                .addClass(s.slideDuplicateNextClass),
1313          d.hasClass(s.slideDuplicateClass)
1314            ? a
1315                .children(
1316                  `.${s.slideClass}:not(.${
1317                    s.slideDuplicateClass
1318                  })[data-swiper-slide-index="${d.attr(
1319                    "data-swiper-slide-index"
1320                  )}"]`
1321                )
1322                .addClass(s.slideDuplicatePrevClass)
1323            : a
1324                .children(
1325                  `.${s.slideClass}.${
1326                    s.slideDuplicateClass
1327                  }[data-swiper-slide-index="${d.attr(
1328                    "data-swiper-slide-index"
1329                  )}"]`
1330                )
1331                .addClass(s.slideDuplicatePrevClass)),
1332        e.emitSlidesClasses();
1333    },
1334    updateActiveIndex: function (e) {
1335      const t = this,
1336        s = t.rtlTranslate ? t.translate : -t.translate,
1337        {
1338          slidesGrid: a,
1339          snapGrid: i,
1340          params: r,
1341          activeIndex: n,
1342          realIndex: l,
1343          snapIndex: o,
1344        } = t;
1345      let d,
1346        c = e;
1347      if (void 0 === c) {
1348        for (let e = 0; e < a.length; e += 1)
1349          void 0 !== a[e + 1]
1350            ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2
1351              ? (c = e)
1352              : s >= a[e] && s < a[e + 1] && (c = e + 1)
1353            : s >= a[e] && (c = e);
1354        r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0);
1355      }
1356      if (i.indexOf(s) >= 0) d = i.indexOf(s);
1357      else {
1358        const e = Math.min(r.slidesPerGroupSkip, c);
1359        d = e + Math.floor((c - e) / r.slidesPerGroup);
1360      }
1361      if ((d >= i.length && (d = i.length - 1), c === n))
1362        return void (d !== o && ((t.snapIndex = d), t.emit("snapIndexChange")));
1363      const p = parseInt(
1364        t.slides.eq(c).attr("data-swiper-slide-index") || c,
1365        10
1366      );
1367      Object.assign(t, {
1368        snapIndex: d,
1369        realIndex: p,
1370        previousIndex: n,
1371        activeIndex: c,
1372      }),
1373        t.emit("activeIndexChange"),
1374        t.emit("snapIndexChange"),
1375        l !== p && t.emit("realIndexChange"),
1376        (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange");
1377    },
1378    updateClickedSlide: function (e) {
1379      const t = this,
1380        s = t.params,
1381        a = d(e).closest(`.${s.slideClass}`)[0];
1382      let i,
1383        r = !1;
1384      if (a)
1385        for (let e = 0; e < t.slides.length; e += 1)
1386          if (t.slides[e] === a) {
1387            (r = !0), (i = e);
1388            break;
1389          }
1390      if (!a || !r)
1391        return (t.clickedSlide = void 0), void (t.clickedIndex = void 0);
1392      (t.clickedSlide = a),
1393        t.virtual && t.params.virtual.enabled
1394          ? (t.clickedIndex = parseInt(
1395              d(a).attr("data-swiper-slide-index"),
1396              10
1397            ))
1398          : (t.clickedIndex = i),
1399        s.slideToClickedSlide &&
1400          void 0 !== t.clickedIndex &&
1401          t.clickedIndex !== t.activeIndex &&
1402          t.slideToClickedSlide();
1403    },
1404  };
1405  var M = {
1406    getTranslate: function (e) {
1407      void 0 === e && (e = this.isHorizontal() ? "x" : "y");
1408      const { params: t, rtlTranslate: s, translate: a, $wrapperEl: i } = this;
1409      if (t.virtualTranslate) return s ? -a : a;
1410      if (t.cssMode) return a;
1411      let r = h(i[0], e);
1412      return s && (r = -r), r || 0;
1413    },
1414    setTranslate: function (e, t) {
1415      const s = this,
1416        {
1417          rtlTranslate: a,
1418          params: i,
1419          $wrapperEl: r,
1420          wrapperEl: n,
1421          progress: l,
1422        } = s;
1423      let o,
1424        d = 0,
1425        c = 0;
1426      s.isHorizontal() ? (d = a ? -e : e) : (c = e),
1427        i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))),
1428        i.cssMode
1429          ? (n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal()
1430              ? -d
1431              : -c)
1432          : i.virtualTranslate ||
1433            r.transform(`translate3d(${d}px, ${c}px, 0px)`),
1434        (s.previousTranslate = s.translate),
1435        (s.translate = s.isHorizontal() ? d : c);
1436      const p = s.maxTranslate() - s.minTranslate();
1437      (o = 0 === p ? 0 : (e - s.minTranslate()) / p),
1438        o !== l && s.updateProgress(e),
1439        s.emit("setTranslate", s.translate, t);
1440    },
1441    minTranslate: function () {
1442      return -this.snapGrid[0];
1443    },
1444    maxTranslate: function () {
1445      return -this.snapGrid[this.snapGrid.length - 1];
1446    },
1447    translateTo: function (e, t, s, a, i) {
1448      void 0 === e && (e = 0),
1449        void 0 === t && (t = this.params.speed),
1450        void 0 === s && (s = !0),
1451        void 0 === a && (a = !0);
1452      const r = this,
1453        { params: n, wrapperEl: l } = r;
1454      if (r.animating && n.preventInteractionOnTransition) return !1;
1455      const o = r.minTranslate(),
1456        d = r.maxTranslate();
1457      let c;
1458      if (
1459        ((c = a && e > o ? o : a && e < d ? d : e),
1460        r.updateProgress(c),
1461        n.cssMode)
1462      ) {
1463        const e = r.isHorizontal();
1464        if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
1465        else {
1466          if (!r.support.smoothScroll)
1467            return (
1468              w({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }), !0
1469            );
1470          l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" });
1471        }
1472        return !0;
1473      }
1474      return (
1475        0 === t
1476          ? (r.setTransition(0),
1477            r.setTranslate(c),
1478            s &&
1479              (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd")))
1480          : (r.setTransition(t),
1481            r.setTranslate(c),
1482            s &&
1483              (r.emit("beforeTransitionStart", t, i),
1484              r.emit("transitionStart")),
1485            r.animating ||
1486              ((r.animating = !0),
1487              r.onTranslateToWrapperTransitionEnd ||
1488                (r.onTranslateToWrapperTransitionEnd = function (e) {
1489                  r &&
1490                    !r.destroyed &&
1491                    e.target === this &&
1492                    (r.$wrapperEl[0].removeEventListener(
1493                      "transitionend",
1494                      r.onTranslateToWrapperTransitionEnd
1495                    ),
1496                    r.$wrapperEl[0].removeEventListener(
1497                      "webkitTransitionEnd",
1498                      r.onTranslateToWrapperTransitionEnd
1499                    ),
1500                    (r.onTranslateToWrapperTransitionEnd = null),
1501                    delete r.onTranslateToWrapperTransitionEnd,
1502                    s && r.emit("transitionEnd"));
1503                }),
1504              r.$wrapperEl[0].addEventListener(
1505                "transitionend",
1506                r.onTranslateToWrapperTransitionEnd
1507              ),
1508              r.$wrapperEl[0].addEventListener(
1509                "webkitTransitionEnd",
1510                r.onTranslateToWrapperTransitionEnd
1511              ))),
1512        !0
1513      );
1514    },
1515  };
1516  function P(e) {
1517    let { swiper: t, runCallbacks: s, direction: a, step: i } = e;
1518    const { activeIndex: r, previousIndex: n } = t;
1519    let l = a;
1520    if (
1521      (l || (l = r > n ? "next" : r < n ? "prev" : "reset"),
1522      t.emit(`transition${i}`),
1523      s && r !== n)
1524    ) {
1525      if ("reset" === l) return void t.emit(`slideResetTransition${i}`);
1526      t.emit(`slideChangeTransition${i}`),
1527        "next" === l
1528          ? t.emit(`slideNextTransition${i}`)
1529          : t.emit(`slidePrevTransition${i}`);
1530    }
1531  }
1532  var k = {
1533    slideTo: function (e, t, s, a, i) {
1534      if (
1535        (void 0 === e && (e = 0),
1536        void 0 === t && (t = this.params.speed),
1537        void 0 === s && (s = !0),
1538        "number" != typeof e && "string" != typeof e)
1539      )
1540        throw new Error(
1541          `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`
1542        );
1543      if ("string" == typeof e) {
1544        const t = parseInt(e, 10);
1545        if (!isFinite(t))
1546          throw new Error(
1547            `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
1548          );
1549        e = t;
1550      }
1551      const r = this;
1552      let n = e;
1553      n < 0 && (n = 0);
1554      const {
1555        params: l,
1556        snapGrid: o,
1557        slidesGrid: d,
1558        previousIndex: c,
1559        activeIndex: p,
1560        rtlTranslate: u,
1561        wrapperEl: h,
1562        enabled: m,
1563      } = r;
1564      if ((r.animating && l.preventInteractionOnTransition) || (!m && !a && !i))
1565        return !1;
1566      const f = Math.min(r.params.slidesPerGroupSkip, n);
1567      let g = f + Math.floor((n - f) / r.params.slidesPerGroup);
1568      g >= o.length && (g = o.length - 1),
1569        (p || l.initialSlide || 0) === (c || 0) &&
1570          s &&
1571          r.emit("beforeSlideChangeStart");
1572      const v = -o[g];
1573      if ((r.updateProgress(v), l.normalizeSlideIndex))
1574        for (let e = 0; e < d.length; e += 1) {
1575          const t = -Math.floor(100 * v),
1576            s = Math.floor(100 * d[e]),
1577            a = Math.floor(100 * d[e + 1]);
1578          void 0 !== d[e + 1]
1579            ? t >= s && t < a - (a - s) / 2
1580              ? (n = e)
1581              : t >= s && t < a && (n = e + 1)
1582            : t >= s && (n = e);
1583        }
1584      if (r.initialized && n !== p) {
1585        if (!r.allowSlideNext && v < r.translate && v < r.minTranslate())
1586          return !1;
1587        if (
1588          !r.allowSlidePrev &&
1589          v > r.translate &&
1590          v > r.maxTranslate() &&
1591          (p || 0) !== n
1592        )
1593          return !1;
1594      }
1595      let b;
1596      if (
1597        ((b = n > p ? "next" : n < p ? "prev" : "reset"),
1598        (u && -v === r.translate) || (!u && v === r.translate))
1599      )
1600        return (
1601          r.updateActiveIndex(n),
1602          l.autoHeight && r.updateAutoHeight(),
1603          r.updateSlidesClasses(),
1604          "slide" !== l.effect && r.setTranslate(v),
1605          "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)),
1606          !1
1607        );
1608      if (l.cssMode) {
1609        const e = r.isHorizontal(),
1610          s = u ? v : -v;
1611        if (0 === t) {
1612          const t = r.virtual && r.params.virtual.enabled;
1613          t &&
1614            ((r.wrapperEl.style.scrollSnapType = "none"),
1615            (r._immediateVirtual = !0)),
1616            (h[e ? "scrollLeft" : "scrollTop"] = s),
1617            t &&
1618              requestAnimationFrame(() => {
1619                (r.wrapperEl.style.scrollSnapType = ""),
1620                  (r._swiperImmediateVirtual = !1);
1621              });
1622        } else {
1623          if (!r.support.smoothScroll)
1624            return (
1625              w({ swiper: r, targetPosition: s, side: e ? "left" : "top" }), !0
1626            );
1627          h.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" });
1628        }
1629        return !0;
1630      }
1631      return (
1632        r.setTransition(t),
1633        r.setTranslate(v),
1634        r.updateActiveIndex(n),
1635        r.updateSlidesClasses(),
1636        r.emit("beforeTransitionStart", t, a),
1637        r.transitionStart(s, b),
1638        0 === t
1639          ? r.transitionEnd(s, b)
1640          : r.animating ||
1641            ((r.animating = !0),
1642            r.onSlideToWrapperTransitionEnd ||
1643              (r.onSlideToWrapperTransitionEnd = function (e) {
1644                r &&
1645                  !r.destroyed &&
1646                  e.target === this &&
1647                  (r.$wrapperEl[0].removeEventListener(
1648                    "transitionend",
1649                    r.onSlideToWrapperTransitionEnd
1650                  ),
1651                  r.$wrapperEl[0].removeEventListener(
1652                    "webkitTransitionEnd",
1653                    r.onSlideToWrapperTransitionEnd
1654                  ),
1655                  (r.onSlideToWrapperTransitionEnd = null),
1656                  delete r.onSlideToWrapperTransitionEnd,
1657                  r.transitionEnd(s, b));
1658              }),
1659            r.$wrapperEl[0].addEventListener(
1660              "transitionend",
1661              r.onSlideToWrapperTransitionEnd
1662            ),
1663            r.$wrapperEl[0].addEventListener(
1664              "webkitTransitionEnd",
1665              r.onSlideToWrapperTransitionEnd
1666            )),
1667        !0
1668      );
1669    },
1670    slideToLoop: function (e, t, s, a) {
1671      if (
1672        (void 0 === e && (e = 0),
1673        void 0 === t && (t = this.params.speed),
1674        void 0 === s && (s = !0),
1675        "string" == typeof e)
1676      ) {
1677        const t = parseInt(e, 10);
1678        if (!isFinite(t))
1679          throw new Error(
1680            `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
1681          );
1682        e = t;
1683      }
1684      const i = this;
1685      let r = e;
1686      return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a);
1687    },
1688    slideNext: function (e, t, s) {
1689      void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1690      const a = this,
1691        { animating: i, enabled: r, params: n } = a;
1692      if (!r) return a;
1693      let l = n.slidesPerGroup;
1694      "auto" === n.slidesPerView &&
1695        1 === n.slidesPerGroup &&
1696        n.slidesPerGroupAuto &&
1697        (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
1698      const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l;
1699      if (n.loop) {
1700        if (i && n.loopPreventsSlide) return !1;
1701        a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1702      }
1703      return n.rewind && a.isEnd
1704        ? a.slideTo(0, e, t, s)
1705        : a.slideTo(a.activeIndex + o, e, t, s);
1706    },
1707    slidePrev: function (e, t, s) {
1708      void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
1709      const a = this,
1710        {
1711          params: i,
1712          animating: r,
1713          snapGrid: n,
1714          slidesGrid: l,
1715          rtlTranslate: o,
1716          enabled: d,
1717        } = a;
1718      if (!d) return a;
1719      if (i.loop) {
1720        if (r && i.loopPreventsSlide) return !1;
1721        a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1722      }
1723      function c(e) {
1724        return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1725      }
1726      const p = c(o ? a.translate : -a.translate),
1727        u = n.map((e) => c(e));
1728      let h = n[u.indexOf(p) - 1];
1729      if (void 0 === h && i.cssMode) {
1730        let e;
1731        n.forEach((t, s) => {
1732          p >= t && (e = s);
1733        }),
1734          void 0 !== e && (h = n[e > 0 ? e - 1 : e]);
1735      }
1736      let m = 0;
1737      if (
1738        (void 0 !== h &&
1739          ((m = l.indexOf(h)),
1740          m < 0 && (m = a.activeIndex - 1),
1741          "auto" === i.slidesPerView &&
1742            1 === i.slidesPerGroup &&
1743            i.slidesPerGroupAuto &&
1744            ((m = m - a.slidesPerViewDynamic("previous", !0) + 1),
1745            (m = Math.max(m, 0)))),
1746        i.rewind && a.isBeginning)
1747      ) {
1748        const i =
1749          a.params.virtual && a.params.virtual.enabled && a.virtual
1750            ? a.virtual.slides.length - 1
1751            : a.slides.length - 1;
1752        return a.slideTo(i, e, t, s);
1753      }
1754      return a.slideTo(m, e, t, s);
1755    },
1756    slideReset: function (e, t, s) {
1757      return (
1758        void 0 === e && (e = this.params.speed),
1759        void 0 === t && (t = !0),
1760        this.slideTo(this.activeIndex, e, t, s)
1761      );
1762    },
1763    slideToClosest: function (e, t, s, a) {
1764      void 0 === e && (e = this.params.speed),
1765        void 0 === t && (t = !0),
1766        void 0 === a && (a = 0.5);
1767      const i = this;
1768      let r = i.activeIndex;
1769      const n = Math.min(i.params.slidesPerGroupSkip, r),
1770        l = n + Math.floor((r - n) / i.params.slidesPerGroup),
1771        o = i.rtlTranslate ? i.translate : -i.translate;
1772      if (o >= i.snapGrid[l]) {
1773        const e = i.snapGrid[l];
1774        o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup);
1775      } else {
1776        const e = i.snapGrid[l - 1];
1777        o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup);
1778      }
1779      return (
1780        (r = Math.max(r, 0)),
1781        (r = Math.min(r, i.slidesGrid.length - 1)),
1782        i.slideTo(r, e, t, s)
1783      );
1784    },
1785    slideToClickedSlide: function () {
1786      const e = this,
1787        { params: t, $wrapperEl: s } = e,
1788        a =
1789          "auto" === t.slidesPerView
1790            ? e.slidesPerViewDynamic()
1791            : t.slidesPerView;
1792      let i,
1793        r = e.clickedIndex;
1794      if (t.loop) {
1795        if (e.animating) return;
1796        (i = parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10)),
1797          t.centeredSlides
1798            ? r < e.loopedSlides - a / 2 ||
1799              r > e.slides.length - e.loopedSlides + a / 2
1800              ? (e.loopFix(),
1801                (r = s
1802                  .children(
1803                    `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
1804                  )
1805                  .eq(0)
1806                  .index()),
1807                p(() => {
1808                  e.slideTo(r);
1809                }))
1810              : e.slideTo(r)
1811            : r > e.slides.length - a
1812            ? (e.loopFix(),
1813              (r = s
1814                .children(
1815                  `.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`
1816                )
1817                .eq(0)
1818                .index()),
1819              p(() => {
1820                e.slideTo(r);
1821              }))
1822            : e.slideTo(r);
1823      } else e.slideTo(r);
1824    },
1825  };
1826  var z = {
1827    loopCreate: function () {
1828      const e = this,
1829        t = a(),
1830        { params: s, $wrapperEl: i } = e,
1831        r = i.children().length > 0 ? d(i.children()[0].parentNode) : i;
1832      r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
1833      let n = r.children(`.${s.slideClass}`);
1834      if (s.loopFillGroupWithBlank) {
1835        const e = s.slidesPerGroup - (n.length % s.slidesPerGroup);
1836        if (e !== s.slidesPerGroup) {
1837          for (let a = 0; a < e; a += 1) {
1838            const e = d(t.createElement("div")).addClass(
1839              `${s.slideClass} ${s.slideBlankClass}`
1840            );
1841            r.append(e);
1842          }
1843          n = r.children(`.${s.slideClass}`);
1844        }
1845      }
1846      "auto" !== s.slidesPerView ||
1847        s.loopedSlides ||
1848        (s.loopedSlides = n.length),
1849        (e.loopedSlides = Math.ceil(
1850          parseFloat(s.loopedSlides || s.slidesPerView, 10)
1851        )),
1852        (e.loopedSlides += s.loopAdditionalSlides),
1853        e.loopedSlides > n.length &&
1854          e.params.loopedSlidesLimit &&
1855          (e.loopedSlides = n.length);
1856      const l = [],
1857        o = [];
1858      n.each((e, t) => {
1859        d(e).attr("data-swiper-slide-index", t);
1860      });
1861      for (let t = 0; t < e.loopedSlides; t += 1) {
1862        const e = t - Math.floor(t / n.length) * n.length;
1863        o.push(n.eq(e)[0]), l.unshift(n.eq(n.length - e - 1)[0]);
1864      }
1865      for (let e = 0; e < o.length; e += 1)
1866        r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1867      for (let e = l.length - 1; e >= 0; e -= 1)
1868        r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1869    },
1870    loopFix: function () {
1871      const e = this;
1872      e.emit("beforeLoopFix");
1873      const {
1874        activeIndex: t,
1875        slides: s,
1876        loopedSlides: a,
1877        allowSlidePrev: i,
1878        allowSlideNext: r,
1879        snapGrid: n,
1880        rtlTranslate: l,
1881      } = e;
1882      let o;
1883      (e.allowSlidePrev = !0), (e.allowSlideNext = !0);
1884      const d = -n[t] - e.getTranslate();
1885      if (t < a) {
1886        (o = s.length - 3 * a + t), (o += a);
1887        e.slideTo(o, 0, !1, !0) &&
1888          0 !== d &&
1889          e.setTranslate((l ? -e.translate : e.translate) - d);
1890      } else if (t >= s.length - a) {
1891        (o = -s.length + t + a), (o += a);
1892        e.slideTo(o, 0, !1, !0) &&
1893          0 !== d &&
1894          e.setTranslate((l ? -e.translate : e.translate) - d);
1895      }
1896      (e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit("loopFix");
1897    },
1898    loopDestroy: function () {
1899      const { $wrapperEl: e, params: t, slides: s } = this;
1900      e
1901        .children(
1902          `.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`
1903        )
1904        .remove(),
1905        s.removeAttr("data-swiper-slide-index");
1906    },
1907  };
1908  function L(e) {
1909    const t = this,
1910      s = a(),
1911      i = r(),
1912      n = t.touchEventsData,
1913      { params: l, touches: o, enabled: c } = t;
1914    if (!c) return;
1915    if (t.animating && l.preventInteractionOnTransition) return;
1916    !t.animating && l.cssMode && l.loop && t.loopFix();
1917    let p = e;
1918    p.originalEvent && (p = p.originalEvent);
1919    let h = d(p.target);
1920    if ("wrapper" === l.touchEventsTarget && !h.closest(t.wrapperEl).length)
1921      return;
1922    if (
1923      ((n.isTouchEvent = "touchstart" === p.type),
1924      !n.isTouchEvent && "which" in p && 3 === p.which)
1925    )
1926      return;
1927    if (!n.isTouchEvent && "button" in p && p.button > 0) return;
1928    if (n.isTouched && n.isMoved) return;
1929    !!l.noSwipingClass &&
1930      "" !== l.noSwipingClass &&
1931      p.target &&
1932      p.target.shadowRoot &&
1933      e.path &&
1934      e.path[0] &&
1935      (h = d(e.path[0]));
1936    const m = l.noSwipingSelector
1937        ? l.noSwipingSelector
1938        : `.${l.noSwipingClass}`,
1939      f = !(!p.target || !p.target.shadowRoot);
1940    if (
1941      l.noSwiping &&
1942      (f
1943        ? (function (e, t) {
1944            return (
1945              void 0 === t && (t = this),
1946              (function t(s) {
1947                if (!s || s === a() || s === r()) return null;
1948                s.assignedSlot && (s = s.assignedSlot);
1949                const i = s.closest(e);
1950                return i || s.getRootNode ? i || t(s.getRootNode().host) : null;
1951              })(t)
1952            );
1953          })(m, h[0])
1954        : h.closest(m)[0])
1955    )
1956      return void (t.allowClick = !0);
1957    if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return;
1958    (o.currentX = "touchstart" === p.type ? p.targetTouches[0].pageX : p.pageX),
1959      (o.currentY =
1960        "touchstart" === p.type ? p.targetTouches[0].pageY : p.pageY);
1961    const g = o.currentX,
1962      v = o.currentY,
1963      w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,
1964      b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold;
1965    if (w && (g <= b || g >= i.innerWidth - b)) {
1966      if ("prevent" !== w) return;
1967      e.preventDefault();
1968    }
1969    if (
1970      (Object.assign(n, {
1971        isTouched: !0,
1972        isMoved: !1,
1973        allowTouchCallbacks: !0,
1974        isScrolling: void 0,
1975        startMoving: void 0,
1976      }),
1977      (o.startX = g),
1978      (o.startY = v),
1979      (n.touchStartTime = u()),
1980      (t.allowClick = !0),
1981      t.updateSize(),
1982      (t.swipeDirection = void 0),
1983      l.threshold > 0 && (n.allowThresholdMove = !1),
1984      "touchstart" !== p.type)
1985    ) {
1986      let e = !0;
1987      h.is(n.focusableElements) &&
1988        ((e = !1), "SELECT" === h[0].nodeName && (n.isTouched = !1)),
1989        s.activeElement &&
1990          d(s.activeElement).is(n.focusableElements) &&
1991          s.activeElement !== h[0] &&
1992          s.activeElement.blur();
1993      const a = e && t.allowTouchMove && l.touchStartPreventDefault;
1994      (!l.touchStartForcePreventDefault && !a) ||
1995        h[0].isContentEditable ||
1996        p.preventDefault();
1997    }
1998    t.params.freeMode &&
1999      t.params.freeMode.enabled &&
2000      t.freeMode &&
2001      t.animating &&
2002      !l.cssMode &&
2003      t.freeMode.onTouchStart(),
2004      t.emit("touchStart", p);
2005  }
2006  function O(e) {
2007    const t = a(),
2008      s = this,
2009      i = s.touchEventsData,
2010      { params: r, touches: n, rtlTranslate: l, enabled: o } = s;
2011    if (!o) return;
2012    let c = e;
2013    if ((c.originalEvent && (c = c.originalEvent), !i.isTouched))
2014      return void (
2015        i.startMoving &&
2016        i.isScrolling &&
2017        s.emit("touchMoveOpposite", c)
2018      );
2019    if (i.isTouchEvent && "touchmove" !== c.type) return;
2020    const p =
2021        "touchmove" === c.type &&
2022        c.targetTouches &&
2023        (c.targetTouches[0] || c.changedTouches[0]),
2024      h = "touchmove" === c.type ? p.pageX : c.pageX,
2025      m = "touchmove" === c.type ? p.pageY : c.pageY;
2026    if (c.preventedByNestedSwiper) return (n.startX = h), void (n.startY = m);
2027    if (!s.allowTouchMove)
2028      return (
2029        d(c.target).is(i.focusableElements) || (s.allowClick = !1),
2030        void (
2031          i.isTouched &&
2032          (Object.assign(n, { startX: h, startY: m, currentX: h, currentY: m }),
2033          (i.touchStartTime = u()))
2034        )
2035      );
2036    if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)
2037      if (s.isVertical()) {
2038        if (
2039          (m < n.startY && s.translate <= s.maxTranslate()) ||
2040          (m > n.startY && s.translate >= s.minTranslate())
2041        )
2042          return (i.isTouched = !1), void (i.isMoved = !1);
2043      } else if (
2044        (h < n.startX && s.translate <= s.maxTranslate()) ||
2045        (h > n.startX && s.translate >= s.minTranslate())
2046      )
2047        return;
2048    if (
2049      i.isTouchEvent &&
2050      t.activeElement &&
2051      c.target === t.activeElement &&
2052      d(c.target).is(i.focusableElements)
2053    )
2054      return (i.isMoved = !0), void (s.allowClick = !1);
2055    if (
2056      (i.allowTouchCallbacks && s.emit("touchMove", c),
2057      c.targetTouches && c.targetTouches.length > 1)
2058    )
2059      return;
2060    (n.currentX = h), (n.currentY = m);
2061    const f = n.currentX - n.startX,
2062      g = n.currentY - n.startY;
2063    if (s.params.threshold && Math.sqrt(f ** 2 + g ** 2) < s.params.threshold)
2064      return;
2065    if (void 0 === i.isScrolling) {
2066      let e;
2067      (s.isHorizontal() && n.currentY === n.startY) ||
2068      (s.isVertical() && n.currentX === n.startX)
2069        ? (i.isScrolling = !1)
2070        : f * f + g * g >= 25 &&
2071          ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI),
2072          (i.isScrolling = s.isHorizontal()
2073            ? e > r.touchAngle
2074            : 90 - e > r.touchAngle));
2075    }
2076    if (
2077      (i.isScrolling && s.emit("touchMoveOpposite", c),
2078      void 0 === i.startMoving &&
2079        ((n.currentX === n.startX && n.currentY === n.startY) ||
2080          (i.startMoving = !0)),
2081      i.isScrolling)
2082    )
2083      return void (i.isTouched = !1);
2084    if (!i.startMoving) return;
2085    (s.allowClick = !1),
2086      !r.cssMode && c.cancelable && c.preventDefault(),
2087      r.touchMoveStopPropagation && !r.nested && c.stopPropagation(),
2088      i.isMoved ||
2089        (r.loop && !r.cssMode && s.loopFix(),
2090        (i.startTranslate = s.getTranslate()),
2091        s.setTransition(0),
2092        s.animating &&
2093          s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),
2094        (i.allowMomentumBounce = !1),
2095        !r.grabCursor ||
2096          (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||
2097          s.setGrabCursor(!0),
2098        s.emit("sliderFirstMove", c)),
2099      s.emit("sliderMove", c),
2100      (i.isMoved = !0);
2101    let v = s.isHorizontal() ? f : g;
2102    (n.diff = v),
2103      (v *= r.touchRatio),
2104      l && (v = -v),
2105      (s.swipeDirection = v > 0 ? "prev" : "next"),
2106      (i.currentTranslate = v + i.startTranslate);
2107    let w = !0,
2108      b = r.resistanceRatio;
2109    if (
2110      (r.touchReleaseOnEdges && (b = 0),
2111      v > 0 && i.currentTranslate > s.minTranslate()
2112        ? ((w = !1),
2113          r.resistance &&
2114            (i.currentTranslate =
2115              s.minTranslate() -
2116              1 +
2117              (-s.minTranslate() + i.startTranslate + v) ** b))
2118        : v < 0 &&
2119          i.currentTranslate < s.maxTranslate() &&
2120          ((w = !1),
2121          r.resistance &&
2122            (i.currentTranslate =
2123              s.maxTranslate() +
2124              1 -
2125              (s.maxTranslate() - i.startTranslate - v) ** b)),
2126      w && (c.preventedByNestedSwiper = !0),
2127      !s.allowSlideNext &&
2128        "next" === s.swipeDirection &&
2129        i.currentTranslate < i.startTranslate &&
2130        (i.currentTranslate = i.startTranslate),
2131      !s.allowSlidePrev &&
2132        "prev" === s.swipeDirection &&
2133        i.currentTranslate > i.startTranslate &&
2134        (i.currentTranslate = i.startTranslate),
2135      s.allowSlidePrev ||
2136        s.allowSlideNext ||
2137        (i.currentTranslate = i.startTranslate),
2138      r.threshold > 0)
2139    ) {
2140      if (!(Math.abs(v) > r.threshold || i.allowThresholdMove))
2141        return void (i.currentTranslate = i.startTranslate);
2142      if (!i.allowThresholdMove)
2143        return (
2144          (i.allowThresholdMove = !0),
2145          (n.startX = n.currentX),
2146          (n.startY = n.currentY),
2147          (i.currentTranslate = i.startTranslate),
2148          void (n.diff = s.isHorizontal()
2149            ? n.currentX - n.startX
2150            : n.currentY - n.startY)
2151        );
2152    }
2153    r.followFinger &&
2154      !r.cssMode &&
2155      (((r.freeMode && r.freeMode.enabled && s.freeMode) ||
2156        r.watchSlidesProgress) &&
2157        (s.updateActiveIndex(), s.updateSlidesClasses()),
2158      s.params.freeMode &&
2159        r.freeMode.enabled &&
2160        s.freeMode &&
2161        s.freeMode.onTouchMove(),
2162      s.updateProgress(i.currentTranslate),
2163      s.setTranslate(i.currentTranslate));
2164  }
2165  function I(e) {
2166    const t = this,
2167      s = t.touchEventsData,
2168      { params: a, touches: i, rtlTranslate: r, slidesGrid: n, enabled: l } = t;
2169    if (!l) return;
2170    let o = e;
2171    if (
2172      (o.originalEvent && (o = o.originalEvent),
2173      s.allowTouchCallbacks && t.emit("touchEnd", o),
2174      (s.allowTouchCallbacks = !1),
2175      !s.isTouched)
2176    )
2177      return (
2178        s.isMoved && a.grabCursor && t.setGrabCursor(!1),
2179        (s.isMoved = !1),
2180        void (s.startMoving = !1)
2181      );
2182    a.grabCursor &&
2183      s.isMoved &&
2184      s.isTouched &&
2185      (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&
2186      t.setGrabCursor(!1);
2187    const d = u(),
2188      c = d - s.touchStartTime;
2189    if (t.allowClick) {
2190      const e = o.path || (o.composedPath && o.composedPath());
2191      t.updateClickedSlide((e && e[0]) || o.target),
2192        t.emit("tap click", o),
2193        c < 300 &&
2194          d - s.lastClickTime < 300 &&
2195          t.emit("doubleTap doubleClick", o);
2196    }
2197    if (
2198      ((s.lastClickTime = u()),
2199      p(() => {
2200        t.destroyed || (t.allowClick = !0);
2201      }),
2202      !s.isTouched ||
2203        !s.isMoved ||
2204        !t.swipeDirection ||
2205        0 === i.diff ||
2206        s.currentTranslate === s.startTranslate)
2207    )
2208      return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1);
2209    let h;
2210    if (
2211      ((s.isTouched = !1),
2212      (s.isMoved = !1),
2213      (s.startMoving = !1),
2214      (h = a.followFinger
2215        ? r
2216          ? t.translate
2217          : -t.translate
2218        : -s.currentTranslate),
2219      a.cssMode)
2220    )
2221      return;
2222    if (t.params.freeMode && a.freeMode.enabled)
2223      return void t.freeMode.onTouchEnd({ currentPos: h });
2224    let m = 0,
2225      f = t.slidesSizesGrid[0];
2226    for (
2227      let e = 0;
2228      e < n.length;
2229      e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup
2230    ) {
2231      const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
2232      void 0 !== n[e + t]
2233        ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e]))
2234        : h >= n[e] && ((m = e), (f = n[n.length - 1] - n[n.length - 2]));
2235    }
2236    let g = null,
2237      v = null;
2238    a.rewind &&
2239      (t.isBeginning
2240        ? (v =
2241            t.params.virtual && t.params.virtual.enabled && t.virtual
2242              ? t.virtual.slides.length - 1
2243              : t.slides.length - 1)
2244        : t.isEnd && (g = 0));
2245    const w = (h - n[m]) / f,
2246      b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
2247    if (c > a.longSwipesMs) {
2248      if (!a.longSwipes) return void t.slideTo(t.activeIndex);
2249      "next" === t.swipeDirection &&
2250        (w >= a.longSwipesRatio
2251          ? t.slideTo(a.rewind && t.isEnd ? g : m + b)
2252          : t.slideTo(m)),
2253        "prev" === t.swipeDirection &&
2254          (w > 1 - a.longSwipesRatio
2255            ? t.slideTo(m + b)
2256            : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio
2257            ? t.slideTo(v)
2258            : t.slideTo(m));
2259    } else {
2260      if (!a.shortSwipes) return void t.slideTo(t.activeIndex);
2261      t.navigation &&
2262      (o.target === t.navigation.nextEl || o.target === t.navigation.prevEl)
2263        ? o.target === t.navigation.nextEl
2264          ? t.slideTo(m + b)
2265          : t.slideTo(m)
2266        : ("next" === t.swipeDirection && t.slideTo(null !== g ? g : m + b),
2267          "prev" === t.swipeDirection && t.slideTo(null !== v ? v : m));
2268    }
2269  }
2270  function A() {
2271    const e = this,
2272      { params: t, el: s } = e;
2273    if (s && 0 === s.offsetWidth) return;
2274    t.breakpoints && e.setBreakpoint();
2275    const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e;
2276    (e.allowSlideNext = !0),
2277      (e.allowSlidePrev = !0),
2278      e.updateSize(),
2279      e.updateSlides(),
2280      e.updateSlidesClasses(),
2281      ("auto" === t.slidesPerView || t.slidesPerView > 1) &&
2282      e.isEnd &&
2283      !e.isBeginning &&
2284      !e.params.centeredSlides
2285        ? e.slideTo(e.slides.length - 1, 0, !1, !0)
2286        : e.slideTo(e.activeIndex, 0, !1, !0),
2287      e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(),
2288      (e.allowSlidePrev = i),
2289      (e.allowSlideNext = a),
2290      e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
2291  }
2292  function D(e) {
2293    const t = this;
2294    t.enabled &&
2295      (t.allowClick ||
2296        (t.params.preventClicks && e.preventDefault(),
2297        t.params.preventClicksPropagation &&
2298          t.animating &&
2299          (e.stopPropagation(), e.stopImmediatePropagation())));
2300  }
2301  function G() {
2302    const e = this,
2303      { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
2304    if (!a) return;
2305    let i;
2306    (e.previousTranslate = e.translate),
2307      e.isHorizontal()
2308        ? (e.translate = -t.scrollLeft)
2309        : (e.translate = -t.scrollTop),
2310      0 === e.translate && (e.translate = 0),
2311      e.updateActiveIndex(),
2312      e.updateSlidesClasses();
2313    const r = e.maxTranslate() - e.minTranslate();
2314    (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),
2315      i !== e.progress && e.updateProgress(s ? -e.translate : e.translate),
2316      e.emit("setTranslate", e.translate, !1);
2317  }
2318  let N = !1;
2319  function B() {}
2320  const H = (e, t) => {
2321    const s = a(),
2322      {
2323        params: i,
2324        touchEvents: r,
2325        el: n,
2326        wrapperEl: l,
2327        device: o,
2328        support: d,
2329      } = e,
2330      c = !!i.nested,
2331      p = "on" === t ? "addEventListener" : "removeEventListener",
2332      u = t;
2333    if (d.touch) {
2334      const t = !(
2335        "touchstart" !== r.start ||
2336        !d.passiveListener ||
2337        !i.passiveListeners
2338      ) && { passive: !0, capture: !1 };
2339      n[p](r.start, e.onTouchStart, t),
2340        n[p](
2341          r.move,
2342          e.onTouchMove,
2343          d.passiveListener ? { passive: !1, capture: c } : c
2344        ),
2345        n[p](r.end, e.onTouchEnd, t),
2346        r.cancel && n[p](r.cancel, e.onTouchEnd, t);
2347    } else
2348      n[p](r.start, e.onTouchStart, !1),
2349        s[p](r.move, e.onTouchMove, c),
2350        s[p](r.end, e.onTouchEnd, !1);
2351    (i.preventClicks || i.preventClicksPropagation) &&
2352      n[p]("click", e.onClick, !0),
2353      i.cssMode && l[p]("scroll", e.onScroll),
2354      i.updateOnWindowResize
2355        ? e[u](
2356            o.ios || o.android
2357              ? "resize orientationchange observerUpdate"
2358              : "resize observerUpdate",
2359            A,
2360            !0
2361          )
2362        : e[u]("observerUpdate", A, !0);
2363  };
2364  var X = {
2365    attachEvents: function () {
2366      const e = this,
2367        t = a(),
2368        { params: s, support: i } = e;
2369      (e.onTouchStart = L.bind(e)),
2370        (e.onTouchMove = O.bind(e)),
2371        (e.onTouchEnd = I.bind(e)),
2372        s.cssMode && (e.onScroll = G.bind(e)),
2373        (e.onClick = D.bind(e)),
2374        i.touch && !N && (t.addEventListener("touchstart", B), (N = !0)),
2375        H(e, "on");
2376    },
2377    detachEvents: function () {
2378      H(this, "off");
2379    },
2380  };
2381  const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1;
2382  var R = {
2383    addClasses: function () {
2384      const e = this,
2385        { classNames: t, params: s, rtl: a, $el: i, device: r, support: n } = e,
2386        l = (function (e, t) {
2387          const s = [];
2388          return (
2389            e.forEach((e) => {
2390              "object" == typeof e
2391                ? Object.keys(e).forEach((a) => {
2392                    e[a] && s.push(t + a);
2393                  })
2394                : "string" == typeof e && s.push(t + e);
2395            }),
2396            s
2397          );
2398        })(
2399          [
2400            "initialized",
2401            s.direction,
2402            { "pointer-events": !n.touch },
2403            { "free-mode": e.params.freeMode && s.freeMode.enabled },
2404            { autoheight: s.autoHeight },
2405            { rtl: a },
2406            { grid: s.grid && s.grid.rows > 1 },
2407            {
2408              "grid-column":
2409                s.grid && s.grid.rows > 1 && "column" === s.grid.fill,
2410            },
2411            { android: r.android },
2412            { ios: r.ios },
2413            { "css-mode": s.cssMode },
2414            { centered: s.cssMode && s.centeredSlides },
2415            { "watch-progress": s.watchSlidesProgress },
2416          ],
2417          s.containerModifierClass
2418        );
2419      t.push(...l), i.addClass([...t].join(" ")), e.emitContainerClasses();
2420    },
2421    removeClasses: function () {
2422      const { $el: e, classNames: t } = this;
2423      e.removeClass(t.join(" ")), this.emitContainerClasses();
2424    },
2425  };
2426  var W = {
2427    init: !0,
2428    direction: "horizontal",
2429    touchEventsTarget: "wrapper",
2430    initialSlide: 0,
2431    speed: 300,
2432    cssMode: !1,
2433    updateOnWindowResize: !0,
2434    resizeObserver: !0,
2435    nested: !1,
2436    createElements: !1,
2437    enabled: !0,
2438    focusableElements: "input, select, option, textarea, button, video, label",
2439    width: null,
2440    height: null,
2441    preventInteractionOnTransition: !1,
2442    userAgent: null,
2443    url: null,
2444    edgeSwipeDetection: !1,
2445    edgeSwipeThreshold: 20,
2446    autoHeight: !1,
2447    setWrapperSize: !1,
2448    virtualTranslate: !1,
2449    effect: "slide",
2450    breakpoints: void 0,
2451    breakpointsBase: "window",
2452    spaceBetween: 0,
2453    slidesPerView: 1,
2454    slidesPerGroup: 1,
2455    slidesPerGroupSkip: 0,
2456    slidesPerGroupAuto: !1,
2457    centeredSlides: !1,
2458    centeredSlidesBounds: !1,
2459    slidesOffsetBefore: 0,
2460    slidesOffsetAfter: 0,
2461    normalizeSlideIndex: !0,
2462    centerInsufficientSlides: !1,
2463    watchOverflow: !0,
2464    roundLengths: !1,
2465    touchRatio: 1,
2466    touchAngle: 45,
2467    simulateTouch: !0,
2468    shortSwipes: !0,
2469    longSwipes: !0,
2470    longSwipesRatio: 0.5,
2471    longSwipesMs: 300,
2472    followFinger: !0,
2473    allowTouchMove: !0,
2474    threshold: 0,
2475    touchMoveStopPropagation: !1,
2476    touchStartPreventDefault: !0,
2477    touchStartForcePreventDefault: !1,
2478    touchReleaseOnEdges: !1,
2479    uniqueNavElements: !0,
2480    resistance: !0,
2481    resistanceRatio: 0.85,
2482    watchSlidesProgress: !1,
2483    grabCursor: !1,
2484    preventClicks: !0,
2485    preventClicksPropagation: !0,
2486    slideToClickedSlide: !1,
2487    preloadImages: !0,
2488    updateOnImagesReady: !0,
2489    loop: !1,
2490    loopAdditionalSlides: 0,
2491    loopedSlides: null,
2492    loopedSlidesLimit: !0,
2493    loopFillGroupWithBlank: !1,
2494    loopPreventsSlide: !0,
2495    rewind: !1,
2496    allowSlidePrev: !0,
2497    allowSlideNext: !0,
2498    swipeHandler: null,
2499    noSwiping: !0,
2500    noSwipingClass: "swiper-no-swiping",
2501    noSwipingSelector: null,
2502    passiveListeners: !0,
2503    maxBackfaceHiddenSlides: 10,
2504    containerModifierClass: "swiper-",
2505    slideClass: "swiper-slide",
2506    slideBlankClass: "swiper-slide-invisible-blank",
2507    slideActiveClass: "swiper-slide-active",
2508    slideDuplicateActiveClass: "swiper-slide-duplicate-active",
2509    slideVisibleClass: "swiper-slide-visible",
2510    slideDuplicateClass: "swiper-slide-duplicate",
2511    slideNextClass: "swiper-slide-next",
2512    slideDuplicateNextClass: "swiper-slide-duplicate-next",
2513    slidePrevClass: "swiper-slide-prev",
2514    slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
2515    wrapperClass: "swiper-wrapper",
2516    runCallbacksOnInit: !0,
2517    _emitClasses: !1,
2518  };
2519  function j(e, t) {
2520    return function (s) {
2521      void 0 === s && (s = {});
2522      const a = Object.keys(s)[0],
2523        i = s[a];
2524      "object" == typeof i && null !== i
2525        ? (["navigation", "pagination", "scrollbar"].indexOf(a) >= 0 &&
2526            !0 === e[a] &&
2527            (e[a] = { auto: !0 }),
2528          a in e && "enabled" in i
2529            ? (!0 === e[a] && (e[a] = { enabled: !0 }),
2530              "object" != typeof e[a] ||
2531                "enabled" in e[a] ||
2532                (e[a].enabled = !0),
2533              e[a] || (e[a] = { enabled: !1 }),
2534              g(t, s))
2535            : g(t, s))
2536        : g(t, s);
2537    };
2538  }
2539  const q = {
2540      eventsEmitter: $,
2541      update: S,
2542      translate: M,
2543      transition: {
2544        setTransition: function (e, t) {
2545          const s = this;
2546          s.params.cssMode || s.$wrapperEl.transition(e),
2547            s.emit("setTransition", e, t);
2548        },
2549        transitionStart: function (e, t) {
2550          void 0 === e && (e = !0);
2551          const s = this,
2552            { params: a } = s;
2553          a.cssMode ||
2554            (a.autoHeight && s.updateAutoHeight(),
2555            P({ swiper: s, runCallbacks: e, direction: t, step: "Start" }));
2556        },
2557        transitionEnd: function (e, t) {
2558          void 0 === e && (e = !0);
2559          const s = this,
2560            { params: a } = s;
2561          (s.animating = !1),
2562            a.cssMode ||
2563              (s.setTransition(0),
2564              P({ swiper: s, runCallbacks: e, direction: t, step: "End" }));
2565        },
2566      },
2567      slide: k,
2568      loop: z,
2569      grabCursor: {
2570        setGrabCursor: function (e) {
2571          const t = this;
2572          if (
2573            t.support.touch ||
2574            !t.params.simulateTouch ||
2575            (t.params.watchOverflow && t.isLocked) ||
2576            t.params.cssMode
2577          )
2578            return;
2579          const s =
2580            "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
2581          (s.style.cursor = "move"), (s.style.cursor = e ? "grabbing" : "grab");
2582        },
2583        unsetGrabCursor: function () {
2584          const e = this;
2585          e.support.touch ||
2586            (e.params.watchOverflow && e.isLocked) ||
2587            e.params.cssMode ||
2588            (e[
2589              "container" === e.params.touchEventsTarget ? "el" : "wrapperEl"
2590            ].style.cursor = "");
2591        },
2592      },
2593      events: X,
2594      breakpoints: {
2595        setBreakpoint: function () {
2596          const e = this,
2597            {
2598              activeIndex: t,
2599              initialized: s,
2600              loopedSlides: a = 0,
2601              params: i,
2602              $el: r,
2603            } = e,
2604            n = i.breakpoints;
2605          if (!n || (n && 0 === Object.keys(n).length)) return;
2606          const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el);
2607          if (!l || e.currentBreakpoint === l) return;
2608          const o = (l in n ? n[l] : void 0) || e.originalParams,
2609            d = Y(e, i),
2610            c = Y(e, o),
2611            p = i.enabled;
2612          d && !c
2613            ? (r.removeClass(
2614                `${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`
2615              ),
2616              e.emitContainerClasses())
2617            : !d &&
2618              c &&
2619              (r.addClass(`${i.containerModifierClass}grid`),
2620              ((o.grid.fill && "column" === o.grid.fill) ||
2621                (!o.grid.fill && "column" === i.grid.fill)) &&
2622                r.addClass(`${i.containerModifierClass}grid-column`),
2623              e.emitContainerClasses()),
2624            ["navigation", "pagination", "scrollbar"].forEach((t) => {
2625              const s = i[t] && i[t].enabled,
2626                a = o[t] && o[t].enabled;
2627              s && !a && e[t].disable(), !s && a && e[t].enable();
2628            });
2629          const u = o.direction && o.direction !== i.direction,
2630            h = i.loop && (o.slidesPerView !== i.slidesPerView || u);
2631          u && s && e.changeDirection(), g(e.params, o);
2632          const m = e.params.enabled;
2633          Object.assign(e, {
2634            allowTouchMove: e.params.allowTouchMove,
2635            allowSlideNext: e.params.allowSlideNext,
2636            allowSlidePrev: e.params.allowSlidePrev,
2637          }),
2638            p && !m ? e.disable() : !p && m && e.enable(),
2639            (e.currentBreakpoint = l),
2640            e.emit("_beforeBreakpoint", o),
2641            h &&
2642              s &&
2643              (e.loopDestroy(),
2644              e.loopCreate(),
2645              e.updateSlides(),
2646              e.slideTo(t - a + e.loopedSlides, 0, !1)),
2647            e.emit("breakpoint", o);
2648        },
2649        getBreakpoint: function (e, t, s) {
2650          if ((void 0 === t && (t = "window"), !e || ("container" === t && !s)))
2651            return;
2652          let a = !1;
2653          const i = r(),
2654            n = "window" === t ? i.innerHeight : s.clientHeight,
2655            l = Object.keys(e).map((e) => {
2656              if ("string" == typeof e && 0 === e.indexOf("@")) {
2657                const t = parseFloat(e.substr(1));
2658                return { value: n * t, point: e };
2659              }
2660              return { value: e, point: e };
2661            });
2662          l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
2663          for (let e = 0; e < l.length; e += 1) {
2664            const { point: r, value: n } = l[e];
2665            "window" === t
2666              ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r)
2667              : n <= s.clientWidth && (a = r);
2668          }
2669          return a || "max";
2670        },
2671      },
2672      checkOverflow: {
2673        checkOverflow: function () {
2674          const e = this,
2675            { isLocked: t, params: s } = e,
2676            { slidesOffsetBefore: a } = s;
2677          if (a) {
2678            const t = e.slides.length - 1,
2679              s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
2680            e.isLocked = e.size > s;
2681          } else e.isLocked = 1 === e.snapGrid.length;
2682          !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
2683            !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
2684            t && t !== e.isLocked && (e.isEnd = !1),
2685            t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
2686        },
2687      },
2688      classes: R,
2689      images: {
2690        loadImage: function (e, t, s, a, i, n) {
2691          const l = r();
2692          let o;
2693          function c() {
2694            n && n();
2695          }
2696          d(e).parent("picture")[0] || (e.complete && i)
2697            ? c()
2698            : t
2699            ? ((o = new l.Image()),
2700              (o.onload = c),
2701              (o.onerror = c),
2702              a && (o.sizes = a),
2703              s && (o.srcset = s),
2704              t && (o.src = t))
2705            : c();
2706        },
2707        preloadImages: function () {
2708          const e = this;
2709          function t() {
2710            null != e &&
2711              e &&
2712              !e.destroyed &&
2713              (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1),
2714              e.imagesLoaded === e.imagesToLoad.length &&
2715                (e.params.updateOnImagesReady && e.update(),
2716                e.emit("imagesReady")));
2717          }
2718          e.imagesToLoad = e.$el.find("img");
2719          for (let s = 0; s < e.imagesToLoad.length; s += 1) {
2720            const a = e.imagesToLoad[s];
2721            e.loadImage(
2722              a,
2723              a.currentSrc || a.getAttribute("src"),
2724              a.srcset || a.getAttribute("srcset"),
2725              a.sizes || a.getAttribute("sizes"),
2726              !0,
2727              t
2728            );
2729          }
2730        },
2731      },
2732    },
2733    _ = {};
2734  class V {
2735    constructor() {
2736      let e, t;
2737      for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++)
2738        a[i] = arguments[i];
2739      if (
2740        (1 === a.length &&
2741        a[0].constructor &&
2742        "Object" === Object.prototype.toString.call(a[0]).slice(8, -1)
2743          ? (t = a[0])
2744          : ([e, t] = a),
2745        t || (t = {}),
2746        (t = g({}, t)),
2747        e && !t.el && (t.el = e),
2748        t.el && d(t.el).length > 1)
2749      ) {
2750        const e = [];
2751        return (
2752          d(t.el).each((s) => {
2753            const a = g({}, t, { el: s });
2754            e.push(new V(a));
2755          }),
2756          e
2757        );
2758      }
2759      const r = this;
2760      (r.__swiper__ = !0),
2761        (r.support = E()),
2762        (r.device = C({ userAgent: t.userAgent })),
2763        (r.browser = T()),
2764        (r.eventsListeners = {}),
2765        (r.eventsAnyListeners = []),
2766        (r.modules = [...r.__modules__]),
2767        t.modules && Array.isArray(t.modules) && r.modules.push(...t.modules);
2768      const n = {};
2769      r.modules.forEach((e) => {
2770        e({
2771          swiper: r,
2772          extendParams: j(t, n),
2773          on: r.on.bind(r),
2774          once: r.once.bind(r),
2775          off: r.off.bind(r),
2776          emit: r.emit.bind(r),
2777        });
2778      });
2779      const l = g({}, W, n);
2780      return (
2781        (r.params = g({}, l, _, t)),
2782        (r.originalParams = g({}, r.params)),
2783        (r.passedParams = g({}, t)),
2784        r.params &&
2785          r.params.on &&
2786          Object.keys(r.params.on).forEach((e) => {
2787            r.on(e, r.params.on[e]);
2788          }),
2789        r.params && r.params.onAny && r.onAny(r.params.onAny),
2790        (r.$ = d),
2791        Object.assign(r, {
2792          enabled: r.params.enabled,
2793          el: e,
2794          classNames: [],
2795          slides: d(),
2796          slidesGrid: [],
2797          snapGrid: [],
2798          slidesSizesGrid: [],
2799          isHorizontal: () => "horizontal" === r.params.direction,
2800          isVertical: () => "vertical" === r.params.direction,
2801          activeIndex: 0,
2802          realIndex: 0,
2803          isBeginning: !0,
2804          isEnd: !1,
2805          translate: 0,
2806          previousTranslate: 0,
2807          progress: 0,
2808          velocity: 0,
2809          animating: !1,
2810          allowSlideNext: r.params.allowSlideNext,
2811          allowSlidePrev: r.params.allowSlidePrev,
2812          touchEvents: (function () {
2813            const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
2814              t = ["pointerdown", "pointermove", "pointerup"];
2815            return (
2816              (r.touchEventsTouch = {
2817                start: e[0],
2818                move: e[1],
2819                end: e[2],
2820                cancel: e[3],
2821              }),
2822              (r.touchEventsDesktop = { start: t[0], move: t[1], end: t[2] }),
2823              r.support.touch || !r.params.simulateTouch
2824                ? r.touchEventsTouch
2825                : r.touchEventsDesktop
2826            );
2827          })(),
2828          touchEventsData: {
2829            isTouched: void 0,
2830            isMoved: void 0,
2831            allowTouchCallbacks: void 0,
2832            touchStartTime: void 0,
2833            isScrolling: void 0,
2834            currentTranslate: void 0,
2835            startTranslate: void 0,
2836            allowThresholdMove: void 0,
2837            focusableElements: r.params.focusableElements,
2838            lastClickTime: u(),
2839            clickTimeout: void 0,
2840            velocities: [],
2841            allowMomentumBounce: void 0,
2842            isTouchEvent: void 0,
2843            startMoving: void 0,
2844          },
2845          allowClick: !0,
2846          allowTouchMove: r.params.allowTouchMove,
2847          touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
2848          imagesToLoad: [],
2849          imagesLoaded: 0,
2850        }),
2851        r.emit("_swiper"),
2852        r.params.init && r.init(),
2853        r
2854      );
2855    }
2856    enable() {
2857      const e = this;
2858      e.enabled ||
2859        ((e.enabled = !0),
2860        e.params.grabCursor && e.setGrabCursor(),
2861        e.emit("enable"));
2862    }
2863    disable() {
2864      const e = this;
2865      e.enabled &&
2866        ((e.enabled = !1),
2867        e.params.grabCursor && e.unsetGrabCursor(),
2868        e.emit("disable"));
2869    }
2870    setProgress(e, t) {
2871      const s = this;
2872      e = Math.min(Math.max(e, 0), 1);
2873      const a = s.minTranslate(),
2874        i = (s.maxTranslate() - a) * e + a;
2875      s.translateTo(i, void 0 === t ? 0 : t),
2876        s.updateActiveIndex(),
2877        s.updateSlidesClasses();
2878    }
2879    emitContainerClasses() {
2880      const e = this;
2881      if (!e.params._emitClasses || !e.el) return;
2882      const t = e.el.className
2883        .split(" ")
2884        .filter(
2885          (t) =>
2886            0 === t.indexOf("swiper") ||
2887            0 === t.indexOf(e.params.containerModifierClass)
2888        );
2889      e.emit("_containerClasses", t.join(" "));
2890    }
2891    getSlideClasses(e) {
2892      const t = this;
2893      return t.destroyed
2894        ? ""
2895        : e.className
2896            .split(" ")
2897            .filter(
2898              (e) =>
2899                0 === e.indexOf("swiper-slide") ||
2900                0 === e.indexOf(t.params.slideClass)
2901            )
2902            .join(" ");
2903    }
2904    emitSlidesClasses() {
2905      const e = this;
2906      if (!e.params._emitClasses || !e.el) return;
2907      const t = [];
2908      e.slides.each((s) => {
2909        const a = e.getSlideClasses(s);
2910        t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a);
2911      }),
2912        e.emit("_slideClasses", t);
2913    }
2914    slidesPerViewDynamic(e, t) {
2915      void 0 === e && (e = "current"), void 0 === t && (t = !1);
2916      const {
2917        params: s,
2918        slides: a,
2919        slidesGrid: i,
2920        slidesSizesGrid: r,
2921        size: n,
2922        activeIndex: l,
2923      } = this;
2924      let o = 1;
2925      if (s.centeredSlides) {
2926        let e,
2927          t = a[l].swiperSlideSize;
2928        for (let s = l + 1; s < a.length; s += 1)
2929          a[s] &&
2930            !e &&
2931            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
2932        for (let s = l - 1; s >= 0; s -= 1)
2933          a[s] &&
2934            !e &&
2935            ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
2936      } else if ("current" === e)
2937        for (let e = l + 1; e < a.length; e += 1) {
2938          (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
2939        }
2940      else
2941        for (let e = l - 1; e >= 0; e -= 1) {
2942          i[l] - i[e] < n && (o += 1);
2943        }
2944      return o;
2945    }
2946    update() {
2947      const e = this;
2948      if (!e || e.destroyed) return;
2949      const { snapGrid: t, params: s } = e;
2950      function a() {
2951        const t = e.rtlTranslate ? -1 * e.translate : e.translate,
2952          s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
2953        e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses();
2954      }
2955      let i;
2956      s.breakpoints && e.setBreakpoint(),
2957        e.updateSize(),
2958        e.updateSlides(),
2959        e.updateProgress(),
2960        e.updateSlidesClasses(),
2961        e.params.freeMode && e.params.freeMode.enabled
2962          ? (a(), e.params.autoHeight && e.updateAutoHeight())
2963          : ((i =
2964              ("auto" === e.params.slidesPerView ||
2965                e.params.slidesPerView > 1) &&
2966              e.isEnd &&
2967              !e.params.centeredSlides
2968                ? e.slideTo(e.slides.length - 1, 0, !1, !0)
2969                : e.slideTo(e.activeIndex, 0, !1, !0)),
2970            i || a()),
2971        s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
2972        e.emit("update");
2973    }
2974    changeDirection(e, t) {
2975      void 0 === t && (t = !0);
2976      const s = this,
2977        a = s.params.direction;
2978      return (
2979        e || (e = "horizontal" === a ? "vertical" : "horizontal"),
2980        e === a ||
2981          ("horizontal" !== e && "vertical" !== e) ||
2982          (s.$el
2983            .removeClass(`${s.params.containerModifierClass}${a}`)
2984            .addClass(`${s.params.containerModifierClass}${e}`),
2985          s.emitContainerClasses(),
2986          (s.params.direction = e),
2987          s.slides.each((t) => {
2988            "vertical" === e ? (t.style.width = "") : (t.style.height = "");
2989          }),
2990          s.emit("changeDirection"),
2991          t && s.update()),
2992        s
2993      );
2994    }
2995    changeLanguageDirection(e) {
2996      const t = this;
2997      (t.rtl && "rtl" === e) ||
2998        (!t.rtl && "ltr" === e) ||
2999        ((t.rtl = "rtl" === e),
3000        (t.rtlTranslate = "horizontal" === t.params.direction && t.rtl),
3001        t.rtl
3002          ? (t.$el.addClass(`${t.params.containerModifierClass}rtl`),
3003            (t.el.dir = "rtl"))
3004          : (t.$el.removeClass(`${t.params.containerModifierClass}rtl`),
3005            (t.el.dir = "ltr")),
3006        t.update());
3007    }
3008    mount(e) {
3009      const t = this;
3010      if (t.mounted) return !0;
3011      const s = d(e || t.params.el);
3012      if (!(e = s[0])) return !1;
3013      e.swiper = t;
3014      const i = () =>
3015        `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
3016      let r = (() => {
3017        if (e && e.shadowRoot && e.shadowRoot.querySelector) {
3018          const t = d(e.shadowRoot.querySelector(i()));
3019          return (t.children = (e) => s.children(e)), t;
3020        }
3021        return s.children ? s.children(i()) : d(s).children(i());
3022      })();
3023      if (0 === r.length && t.params.createElements) {
3024        const e = a().createElement("div");
3025        (r = d(e)),
3026          (e.className = t.params.wrapperClass),
3027          s.append(e),
3028          s.children(`.${t.params.slideClass}`).each((e) => {
3029            r.append(e);
3030          });
3031      }
3032      return (
3033        Object.assign(t, {
3034          $el: s,
3035          el: e,
3036          $wrapperEl: r,
3037          wrapperEl: r[0],
3038          mounted: !0,
3039          rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"),
3040          rtlTranslate:
3041            "horizontal" === t.params.direction &&
3042            ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")),
3043          wrongRTL: "-webkit-box" === r.css("display"),
3044        }),
3045        !0
3046      );
3047    }
3048    init(e) {
3049      const t = this;
3050      if (t.initialized) return t;
3051      return (
3052        !1 === t.mount(e) ||
3053          (t.emit("beforeInit"),
3054          t.params.breakpoints && t.setBreakpoint(),
3055          t.addClasses(),
3056          t.params.loop && t.loopCreate(),
3057          t.updateSize(),
3058          t.updateSlides(),
3059          t.params.watchOverflow && t.checkOverflow(),
3060          t.params.grabCursor && t.enabled && t.setGrabCursor(),
3061          t.params.preloadImages && t.preloadImages(),
3062          t.params.loop
3063            ? t.slideTo(
3064                t.params.initialSlide + t.loopedSlides,
3065                0,
3066                t.params.runCallbacksOnInit,
3067                !1,
3068                !0
3069              )
3070            : t.slideTo(
3071                t.params.initialSlide,
3072                0,
3073                t.params.runCallbacksOnInit,
3074                !1,
3075                !0
3076              ),
3077          t.attachEvents(),
3078          (t.initialized = !0),
3079          t.emit("init"),
3080          t.emit("afterInit")),
3081        t
3082      );
3083    }
3084    destroy(e, t) {
3085      void 0 === e && (e = !0), void 0 === t && (t = !0);
3086      const s = this,
3087        { params: a, $el: i, $wrapperEl: r, slides: n } = s;
3088      return (
3089        void 0 === s.params ||
3090          s.destroyed ||
3091          (s.emit("beforeDestroy"),
3092          (s.initialized = !1),
3093          s.detachEvents(),
3094          a.loop && s.loopDestroy(),
3095          t &&
3096            (s.removeClasses(),
3097            i.removeAttr("style"),
3098            r.removeAttr("style"),
3099            n &&
3100              n.length &&
3101              n
3102                .removeClass(
3103                  [
3104                    a.slideVisibleClass,
3105                    a.slideActiveClass,
3106                    a.slideNextClass,
3107                    a.slidePrevClass,
3108                  ].join(" ")
3109                )
3110                .removeAttr("style")
3111                .removeAttr("data-swiper-slide-index")),
3112          s.emit("destroy"),
3113          Object.keys(s.eventsListeners).forEach((e) => {
3114            s.off(e);
3115          }),
3116          !1 !== e &&
3117            ((s.$el[0].swiper = null),
3118            (function (e) {
3119              const t = e;
3120              Object.keys(t).forEach((e) => {
3121                try {
3122                  t[e] = null;
3123                } catch (e) {}
3124                try {
3125                  delete t[e];
3126                } catch (e) {}
3127              });
3128            })(s)),
3129          (s.destroyed = !0)),
3130        null
3131      );
3132    }
3133    static extendDefaults(e) {
3134      g(_, e);
3135    }
3136    static get extendedDefaults() {
3137      return _;
3138    }
3139    static get defaults() {
3140      return W;
3141    }
3142    static installModule(e) {
3143      V.prototype.__modules__ || (V.prototype.__modules__ = []);
3144      const t = V.prototype.__modules__;
3145      "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
3146    }
3147    static use(e) {
3148      return Array.isArray(e)
3149        ? (e.forEach((e) => V.installModule(e)), V)
3150        : (V.installModule(e), V);
3151    }
3152  }
3153  function F(e, t, s, i) {
3154    const r = a();
3155    return (
3156      e.params.createElements &&
3157        Object.keys(i).forEach((a) => {
3158          if (!s[a] && !0 === s.auto) {
3159            let n = e.$el.children(`.${i[a]}`)[0];
3160            n ||
3161              ((n = r.createElement("div")),
3162              (n.className = i[a]),
3163              e.$el.append(n)),
3164              (s[a] = n),
3165              (t[a] = n);
3166          }
3167        }),
3168      s
3169    );
3170  }
3171  function U(e) {
3172    return (
3173      void 0 === e && (e = ""),
3174      `.${e
3175        .trim()
3176        .replace(/([\.:!\/])/g, "\\$1")
3177        .replace(/ /g, ".")}`
3178    );
3179  }
3180  function K(e) {
3181    const t = this,
3182      { $wrapperEl: s, params: a } = t;
3183    if ((a.loop && t.loopDestroy(), "object" == typeof e && "length" in e))
3184      for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]);
3185    else s.append(e);
3186    a.loop && t.loopCreate(), a.observer || t.update();
3187  }
3188  function Z(e) {
3189    const t = this,
3190      { params: s, $wrapperEl: a, activeIndex: i } = t;
3191    s.loop && t.loopDestroy();
3192    let r = i + 1;
3193    if ("object" == typeof e && "length" in e) {
3194      for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
3195      r = i + e.length;
3196    } else a.prepend(e);
3197    s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1);
3198  }
3199  function Q(e, t) {
3200    const s = this,
3201      { $wrapperEl: a, params: i, activeIndex: r } = s;
3202    let n = r;
3203    i.loop &&
3204      ((n -= s.loopedSlides),
3205      s.loopDestroy(),
3206      (s.slides = a.children(`.${i.slideClass}`)));
3207    const l = s.slides.length;
3208    if (e <= 0) return void s.prependSlide(t);
3209    if (e >= l) return void s.appendSlide(t);
3210    let o = n > e ? n + 1 : n;
3211    const d = [];
3212    for (let t = l - 1; t >= e; t -= 1) {
3213      const e = s.slides.eq(t);
3214      e.remove(), d.unshift(e);
3215    }
3216    if ("object" == typeof t && "length" in t) {
3217      for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
3218      o = n > e ? n + t.length : n;
3219    } else a.append(t);
3220    for (let e = 0; e < d.length; e += 1) a.append(d[e]);
3221    i.loop && s.loopCreate(),
3222      i.observer || s.update(),
3223      i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
3224  }
3225  function J(e) {
3226    const t = this,
3227      { params: s, $wrapperEl: a, activeIndex: i } = t;
3228    let r = i;
3229    s.loop &&
3230      ((r -= t.loopedSlides),
3231      t.loopDestroy(),
3232      (t.slides = a.children(`.${s.slideClass}`)));
3233    let n,
3234      l = r;
3235    if ("object" == typeof e && "length" in e) {
3236      for (let s = 0; s < e.length; s += 1)
3237        (n = e[s]), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1);
3238      l = Math.max(l, 0);
3239    } else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = Math.max(l, 0));
3240    s.loop && t.loopCreate(),
3241      s.observer || t.update(),
3242      s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1);
3243  }
3244  function ee() {
3245    const e = this,
3246      t = [];
3247    for (let s = 0; s < e.slides.length; s += 1) t.push(s);
3248    e.removeSlide(t);
3249  }
3250  function te(e) {
3251    const {
3252      effect: t,
3253      swiper: s,
3254      on: a,
3255      setTranslate: i,
3256      setTransition: r,
3257      overwriteParams: n,
3258      perspective: l,
3259      recreateShadows: o,
3260      getEffectParams: d,
3261    } = e;
3262    let c;
3263    a("beforeInit", () => {
3264      if (s.params.effect !== t) return;
3265      s.classNames.push(`${s.params.containerModifierClass}${t}`),
3266        l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
3267      const e = n ? n() : {};
3268      Object.assign(s.params, e), Object.assign(s.originalParams, e);
3269    }),
3270      a("setTranslate", () => {
3271        s.params.effect === t && i();
3272      }),
3273      a("setTransition", (e, a) => {
3274        s.params.effect === t && r(a);
3275      }),
3276      a("transitionEnd", () => {
3277        if (s.params.effect === t && o) {
3278          if (!d || !d().slideShadows) return;
3279          s.slides.each((e) => {
3280            s.$(e)
3281              .find(
3282                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
3283              )
3284              .remove();
3285          }),
3286            o();
3287        }
3288      }),
3289      a("virtualUpdate", () => {
3290        s.params.effect === t &&
3291          (s.slides.length || (c = !0),
3292          requestAnimationFrame(() => {
3293            c && s.slides && s.slides.length && (i(), (c = !1));
3294          }));
3295      });
3296  }
3297  function se(e, t) {
3298    return e.transformEl
3299      ? t
3300          .find(e.transformEl)
3301          .css({
3302            "backface-visibility": "hidden",
3303            "-webkit-backface-visibility": "hidden",
3304          })
3305      : t;
3306  }
3307  function ae(e) {
3308    let { swiper: t, duration: s, transformEl: a, allSlides: i } = e;
3309    const { slides: r, activeIndex: n, $wrapperEl: l } = t;
3310    if (t.params.virtualTranslate && 0 !== s) {
3311      let e,
3312        s = !1;
3313      (e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)),
3314        e.transitionEnd(() => {
3315          if (s) return;
3316          if (!t || t.destroyed) return;
3317          (s = !0), (t.animating = !1);
3318          const e = ["webkitTransitionEnd", "transitionend"];
3319          for (let t = 0; t < e.length; t += 1) l.trigger(e[t]);
3320        });
3321    }
3322  }
3323  function ie(e, t, s) {
3324    const a = "swiper-slide-shadow" + (s ? `-${s}` : ""),
3325      i = e.transformEl ? t.find(e.transformEl) : t;
3326    let r = i.children(`.${a}`);
3327    return (
3328      r.length ||
3329        ((r = d(`<div class="swiper-slide-shadow${s ? `-${s}` : ""}"></div>`)),
3330        i.append(r)),
3331      r
3332    );
3333  }
3334  Object.keys(q).forEach((e) => {
3335    Object.keys(q[e]).forEach((t) => {
3336      V.prototype[t] = q[e][t];
3337    });
3338  }),
3339    V.use([
3340      function (e) {
3341        let { swiper: t, on: s, emit: a } = e;
3342        const i = r();
3343        let n = null,
3344          l = null;
3345        const o = () => {
3346            t &&
3347              !t.destroyed &&
3348              t.initialized &&
3349              (a("beforeResize"), a("resize"));
3350          },
3351          d = () => {
3352            t && !t.destroyed && t.initialized && a("orientationchange");
3353          };
3354        s("init", () => {
3355          t.params.resizeObserver && void 0 !== i.ResizeObserver
3356            ? t &&
3357              !t.destroyed &&
3358              t.initialized &&
3359              ((n = new ResizeObserver((e) => {
3360                l = i.requestAnimationFrame(() => {
3361                  const { width: s, height: a } = t;
3362                  let i = s,
3363                    r = a;
3364                  e.forEach((e) => {
3365                    let { contentBoxSize: s, contentRect: a, target: n } = e;
3366                    (n && n !== t.el) ||
3367                      ((i = a ? a.width : (s[0] || s).inlineSize),
3368                      (r = a ? a.height : (s[0] || s).blockSize));
3369                  }),
3370                    (i === s && r === a) || o();
3371                });
3372              })),
3373              n.observe(t.el))
3374            : (i.addEventListener("resize", o),
3375              i.addEventListener("orientationchange", d));
3376        }),
3377          s("destroy", () => {
3378            l && i.cancelAnimationFrame(l),
3379              n && n.unobserve && t.el && (n.unobserve(t.el), (n = null)),
3380              i.removeEventListener("resize", o),
3381              i.removeEventListener("orientationchange", d);
3382          });
3383      },
3384      function (e) {
3385        let { swiper: t, extendParams: s, on: a, emit: i } = e;
3386        const n = [],
3387          l = r(),
3388          o = function (e, t) {
3389            void 0 === t && (t = {});
3390            const s = new (l.MutationObserver || l.WebkitMutationObserver)(
3391              (e) => {
3392                if (1 === e.length) return void i("observerUpdate", e[0]);
3393                const t = function () {
3394                  i("observerUpdate", e[0]);
3395                };
3396                l.requestAnimationFrame
3397                  ? l.requestAnimationFrame(t)
3398                  : l.setTimeout(t, 0);
3399              }
3400            );
3401            s.observe(e, {
3402              attributes: void 0 === t.attributes || t.attributes,
3403              childList: void 0 === t.childList || t.childList,
3404              characterData: void 0 === t.characterData || t.characterData,
3405            }),
3406              n.push(s);
3407          };
3408        s({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
3409          a("init", () => {
3410            if (t.params.observer) {
3411              if (t.params.observeParents) {
3412                const e = t.$el.parents();
3413                for (let t = 0; t < e.length; t += 1) o(e[t]);
3414              }
3415              o(t.$el[0], { childList: t.params.observeSlideChildren }),
3416                o(t.$wrapperEl[0], { attributes: !1 });
3417            }
3418          }),
3419          a("destroy", () => {
3420            n.forEach((e) => {
3421              e.disconnect();
3422            }),
3423              n.splice(0, n.length);
3424          });
3425      },
3426    ]);
3427  const re = [
3428    function (e) {
3429      let t,
3430        { swiper: s, extendParams: a, on: i, emit: r } = e;
3431      function n(e, t) {
3432        const a = s.params.virtual;
3433        if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
3434        const i = a.renderSlide
3435          ? d(a.renderSlide.call(s, e, t))
3436          : d(
3437              `<div class="${s.params.slideClass}" data-swiper-slide-index="${t}">${e}</div>`
3438            );
3439        return (
3440          i.attr("data-swiper-slide-index") ||
3441            i.attr("data-swiper-slide-index", t),
3442          a.cache && (s.virtual.cache[t] = i),
3443          i
3444        );
3445      }
3446      function l(e) {
3447        const {
3448            slidesPerView: t,
3449            slidesPerGroup: a,
3450            centeredSlides: i,
3451          } = s.params,
3452          { addSlidesBefore: l, addSlidesAfter: o } = s.params.virtual,
3453          { from: d, to: c, slides: p, slidesGrid: u, offset: h } = s.virtual;
3454        s.params.cssMode || s.updateActiveIndex();
3455        const m = s.activeIndex || 0;
3456        let f, g, v;
3457        (f = s.rtlTranslate ? "right" : s.isHorizontal() ? "left" : "top"),
3458          i
3459            ? ((g = Math.floor(t / 2) + a + o), (v = Math.floor(t / 2) + a + l))
3460            : ((g = t + (a - 1) + o), (v = a + l));
3461        const w = Math.max((m || 0) - v, 0),
3462          b = Math.min((m || 0) + g, p.length - 1),
3463          x = (s.slidesGrid[w] || 0) - (s.slidesGrid[0] || 0);
3464        function y() {
3465          s.updateSlides(),
3466            s.updateProgress(),
3467            s.updateSlidesClasses(),
3468            s.lazy && s.params.lazy.enabled && s.lazy.load(),
3469            r("virtualUpdate");
3470        }
3471        if (
3472          (Object.assign(s.virtual, {
3473            from: w,
3474            to: b,
3475            offset: x,
3476            slidesGrid: s.slidesGrid,
3477          }),
3478          d === w && c === b && !e)
3479        )
3480          return (
3481            s.slidesGrid !== u && x !== h && s.slides.css(f, `${x}px`),
3482            s.updateProgress(),
3483            void r("virtualUpdate")
3484          );
3485        if (s.params.virtual.renderExternal)
3486          return (
3487            s.params.virtual.renderExternal.call(s, {
3488              offset: x,
3489              from: w,
3490              to: b,
3491              slides: (function () {
3492                const e = [];
3493                for (let t = w; t <= b; t += 1) e.push(p[t]);
3494                return e;
3495              })(),
3496            }),
3497            void (s.params.virtual.renderExternalUpdate
3498              ? y()
3499              : r("virtualUpdate"))
3500          );
3501        const E = [],
3502          C = [];
3503        if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove();
3504        else
3505          for (let e = d; e <= c; e += 1)
3506            (e < w || e > b) &&
3507              s.$wrapperEl
3508                .find(`.${s.params.slideClass}[data-swiper-slide-index="${e}"]`)
3509                .remove();
3510        for (let t = 0; t < p.length; t += 1)
3511          t >= w &&
3512            t <= b &&
3513            (void 0 === c || e
3514              ? C.push(t)
3515              : (t > c && C.push(t), t < d && E.push(t)));
3516        C.forEach((e) => {
3517          s.$wrapperEl.append(n(p[e], e));
3518        }),
3519          E.sort((e, t) => t - e).forEach((e) => {
3520            s.$wrapperEl.prepend(n(p[e], e));
3521          }),
3522          s.$wrapperEl.children(".swiper-slide").css(f, `${x}px`),
3523          y();
3524      }
3525      a({
3526        virtual: {
3527          enabled: !1,
3528          slides: [],
3529          cache: !0,
3530          renderSlide: null,
3531          renderExternal: null,
3532          renderExternalUpdate: !0,
3533          addSlidesBefore: 0,
3534          addSlidesAfter: 0,
3535        },
3536      }),
3537        (s.virtual = {
3538          cache: {},
3539          from: void 0,
3540          to: void 0,
3541          slides: [],
3542          offset: 0,
3543          slidesGrid: [],
3544        }),
3545        i("beforeInit", () => {
3546          s.params.virtual.enabled &&
3547            ((s.virtual.slides = s.params.virtual.slides),
3548            s.classNames.push(`${s.params.containerModifierClass}virtual`),
3549            (s.params.watchSlidesProgress = !0),
3550            (s.originalParams.watchSlidesProgress = !0),
3551            s.params.initialSlide || l());
3552        }),
3553        i("setTranslate", () => {
3554          s.params.virtual.enabled &&
3555            (s.params.cssMode && !s._immediateVirtual
3556              ? (clearTimeout(t),
3557                (t = setTimeout(() => {
3558                  l();
3559                }, 100)))
3560              : l());
3561        }),
3562        i("init update resize", () => {
3563          s.params.virtual.enabled &&
3564            s.params.cssMode &&
3565            v(s.wrapperEl, "--swiper-virtual-size", `${s.virtualSize}px`);
3566        }),
3567        Object.assign(s.virtual, {
3568          appendSlide: function (e) {
3569            if ("object" == typeof e && "length" in e)
3570              for (let t = 0; t < e.length; t += 1)
3571                e[t] && s.virtual.slides.push(e[t]);
3572            else s.virtual.slides.push(e);
3573            l(!0);
3574          },
3575          prependSlide: function (e) {
3576            const t = s.activeIndex;
3577            let a = t + 1,
3578              i = 1;
3579            if (Array.isArray(e)) {
3580              for (let t = 0; t < e.length; t += 1)
3581                e[t] && s.virtual.slides.unshift(e[t]);
3582              (a = t + e.length), (i = e.length);
3583            } else s.virtual.slides.unshift(e);
3584            if (s.params.virtual.cache) {
3585              const e = s.virtual.cache,
3586                t = {};
3587              Object.keys(e).forEach((s) => {
3588                const a = e[s],
3589                  r = a.attr("data-swiper-slide-index");
3590                r && a.attr("data-swiper-slide-index", parseInt(r, 10) + i),
3591                  (t[parseInt(s, 10) + i] = a);
3592              }),
3593                (s.virtual.cache = t);
3594            }
3595            l(!0), s.slideTo(a, 0);
3596          },
3597          removeSlide: function (e) {
3598            if (null == e) return;
3599            let t = s.activeIndex;
3600            if (Array.isArray(e))
3601              for (let a = e.length - 1; a >= 0; a -= 1)
3602                s.virtual.slides.splice(e[a], 1),
3603                  s.params.virtual.cache && delete s.virtual.cache[e[a]],
3604                  e[a] < t && (t -= 1),
3605                  (t = Math.max(t, 0));
3606            else
3607              s.virtual.slides.splice(e, 1),
3608                s.params.virtual.cache && delete s.virtual.cache[e],
3609                e < t && (t -= 1),
3610                (t = Math.max(t, 0));
3611            l(!0), s.slideTo(t, 0);
3612          },
3613          removeAllSlides: function () {
3614            (s.virtual.slides = []),
3615              s.params.virtual.cache && (s.virtual.cache = {}),
3616              l(!0),
3617              s.slideTo(0, 0);
3618          },
3619          update: l,
3620        });
3621    },
3622    function (e) {
3623      let { swiper: t, extendParams: s, on: i, emit: n } = e;
3624      const l = a(),
3625        o = r();
3626      function c(e) {
3627        if (!t.enabled) return;
3628        const { rtlTranslate: s } = t;
3629        let a = e;
3630        a.originalEvent && (a = a.originalEvent);
3631        const i = a.keyCode || a.charCode,
3632          r = t.params.keyboard.pageUpDown,
3633          d = r && 33 === i,
3634          c = r && 34 === i,
3635          p = 37 === i,
3636          u = 39 === i,
3637          h = 38 === i,
3638          m = 40 === i;
3639        if (
3640          !t.allowSlideNext &&
3641          ((t.isHorizontal() && u) || (t.isVertical() && m) || c)
3642        )
3643          return !1;
3644        if (
3645          !t.allowSlidePrev &&
3646          ((t.isHorizontal() && p) || (t.isVertical() && h) || d)
3647        )
3648          return !1;
3649        if (
3650          !(
3651            a.shiftKey ||
3652            a.altKey ||
3653            a.ctrlKey ||
3654            a.metaKey ||
3655            (l.activeElement &&
3656              l.activeElement.nodeName &&
3657              ("input" === l.activeElement.nodeName.toLowerCase() ||
3658                "textarea" === l.activeElement.nodeName.toLowerCase()))
3659          )
3660        ) {
3661          if (
3662            t.params.keyboard.onlyInViewport &&
3663            (d || c || p || u || h || m)
3664          ) {
3665            let e = !1;
3666            if (
3667              t.$el.parents(`.${t.params.slideClass}`).length > 0 &&
3668              0 === t.$el.parents(`.${t.params.slideActiveClass}`).length
3669            )
3670              return;
3671            const a = t.$el,
3672              i = a[0].clientWidth,
3673              r = a[0].clientHeight,
3674              n = o.innerWidth,
3675              l = o.innerHeight,
3676              d = t.$el.offset();
3677            s && (d.left -= t.$el[0].scrollLeft);
3678            const c = [
3679              [d.left, d.top],
3680              [d.left + i, d.top],
3681              [d.left, d.top + r],
3682              [d.left + i, d.top + r],
3683            ];
3684            for (let t = 0; t < c.length; t += 1) {
3685              const s = c[t];
3686              if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) {
3687                if (0 === s[0] && 0 === s[1]) continue;
3688                e = !0;
3689              }
3690            }
3691            if (!e) return;
3692          }
3693          t.isHorizontal()
3694            ? ((d || c || p || u) &&
3695                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3696              (((c || u) && !s) || ((d || p) && s)) && t.slideNext(),
3697              (((d || p) && !s) || ((c || u) && s)) && t.slidePrev())
3698            : ((d || c || h || m) &&
3699                (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)),
3700              (c || m) && t.slideNext(),
3701              (d || h) && t.slidePrev()),
3702            n("keyPress", i);
3703        }
3704      }
3705      function p() {
3706        t.keyboard.enabled ||
3707          (d(l).on("keydown", c), (t.keyboard.enabled = !0));
3708      }
3709      function u() {
3710        t.keyboard.enabled &&
3711          (d(l).off("keydown", c), (t.keyboard.enabled = !1));
3712      }
3713      (t.keyboard = { enabled: !1 }),
3714        s({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
3715        i("init", () => {
3716          t.params.keyboard.enabled && p();
3717        }),
3718        i("destroy", () => {
3719          t.keyboard.enabled && u();
3720        }),
3721        Object.assign(t.keyboard, { enable: p, disable: u });
3722    },
3723    function (e) {
3724      let { swiper: t, extendParams: s, on: a, emit: i } = e;
3725      const n = r();
3726      let l;
3727      s({
3728        mousewheel: {
3729          enabled: !1,
3730          releaseOnEdges: !1,
3731          invert: !1,
3732          forceToAxis: !1,
3733          sensitivity: 1,
3734          eventsTarget: "container",
3735          thresholdDelta: null,
3736          thresholdTime: null,
3737        },
3738      }),
3739        (t.mousewheel = { enabled: !1 });
3740      let o,
3741        c = u();
3742      const h = [];
3743      function m() {
3744        t.enabled && (t.mouseEntered = !0);
3745      }
3746      function f() {
3747        t.enabled && (t.mouseEntered = !1);
3748      }
3749      function g(e) {
3750        return (
3751          !(
3752            t.params.mousewheel.thresholdDelta &&
3753            e.delta < t.params.mousewheel.thresholdDelta
3754          ) &&
3755          !(
3756            t.params.mousewheel.thresholdTime &&
3757            u() - c < t.params.mousewheel.thresholdTime
3758          ) &&
3759          ((e.delta >= 6 && u() - c < 60) ||
3760            (e.direction < 0
3761              ? (t.isEnd && !t.params.loop) ||
3762                t.animating ||
3763                (t.slideNext(), i("scroll", e.raw))
3764              : (t.isBeginning && !t.params.loop) ||
3765                t.animating ||
3766                (t.slidePrev(), i("scroll", e.raw)),
3767            (c = new n.Date().getTime()),
3768            !1))
3769        );
3770      }
3771      function v(e) {
3772        let s = e,
3773          a = !0;
3774        if (!t.enabled) return;
3775        const r = t.params.mousewheel;
3776        t.params.cssMode && s.preventDefault();
3777        let n = t.$el;
3778        if (
3779          ("container" !== t.params.mousewheel.eventsTarget &&
3780            (n = d(t.params.mousewheel.eventsTarget)),
3781          !t.mouseEntered && !n[0].contains(s.target) && !r.releaseOnEdges)
3782        )
3783          return !0;
3784        s.originalEvent && (s = s.originalEvent);
3785        let c = 0;
3786        const m = t.rtlTranslate ? -1 : 1,
3787          f = (function (e) {
3788            let t = 0,
3789              s = 0,
3790              a = 0,
3791              i = 0;
3792            return (
3793              "detail" in e && (s = e.detail),
3794              "wheelDelta" in e && (s = -e.wheelDelta / 120),
3795              "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120),
3796              "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
3797              "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)),
3798              (a = 10 * t),
3799              (i = 10 * s),
3800              "deltaY" in e && (i = e.deltaY),
3801              "deltaX" in e && (a = e.deltaX),
3802              e.shiftKey && !a && ((a = i), (i = 0)),
3803              (a || i) &&
3804                e.deltaMode &&
3805                (1 === e.deltaMode
3806                  ? ((a *= 40), (i *= 40))
3807                  : ((a *= 800), (i *= 800))),
3808              a && !t && (t = a < 1 ? -1 : 1),
3809              i && !s && (s = i < 1 ? -1 : 1),
3810              { spinX: t, spinY: s, pixelX: a, pixelY: i }
3811            );
3812          })(s);
3813        if (r.forceToAxis)
3814          if (t.isHorizontal()) {
3815            if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY))) return !0;
3816            c = -f.pixelX * m;
3817          } else {
3818            if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX))) return !0;
3819            c = -f.pixelY;
3820          }
3821        else
3822          c =
3823            Math.abs(f.pixelX) > Math.abs(f.pixelY) ? -f.pixelX * m : -f.pixelY;
3824        if (0 === c) return !0;
3825        r.invert && (c = -c);
3826        let v = t.getTranslate() + c * r.sensitivity;
3827        if (
3828          (v >= t.minTranslate() && (v = t.minTranslate()),
3829          v <= t.maxTranslate() && (v = t.maxTranslate()),
3830          (a =
3831            !!t.params.loop ||
3832            !(v === t.minTranslate() || v === t.maxTranslate())),
3833          a && t.params.nested && s.stopPropagation(),
3834          t.params.freeMode && t.params.freeMode.enabled)
3835        ) {
3836          const e = { time: u(), delta: Math.abs(c), direction: Math.sign(c) },
3837            a =
3838              o &&
3839              e.time < o.time + 500 &&
3840              e.delta <= o.delta &&
3841              e.direction === o.direction;
3842          if (!a) {
3843            (o = void 0), t.params.loop && t.loopFix();
3844            let n = t.getTranslate() + c * r.sensitivity;
3845            const d = t.isBeginning,
3846              u = t.isEnd;
3847            if (
3848              (n >= t.minTranslate() && (n = t.minTranslate()),
3849              n <= t.maxTranslate() && (n = t.maxTranslate()),
3850              t.setTransition(0),
3851              t.setTranslate(n),
3852              t.updateProgress(),
3853              t.updateActiveIndex(),
3854              t.updateSlidesClasses(),
3855              ((!d && t.isBeginning) || (!u && t.isEnd)) &&
3856                t.updateSlidesClasses(),
3857              t.params.freeMode.sticky)
3858            ) {
3859              clearTimeout(l), (l = void 0), h.length >= 15 && h.shift();
3860              const s = h.length ? h[h.length - 1] : void 0,
3861                a = h[0];
3862              if (
3863                (h.push(e),
3864                s && (e.delta > s.delta || e.direction !== s.direction))
3865              )
3866                h.splice(0);
3867              else if (
3868                h.length >= 15 &&
3869                e.time - a.time < 500 &&
3870                a.delta - e.delta >= 1 &&
3871                e.delta <= 6
3872              ) {
3873                const s = c > 0 ? 0.8 : 0.2;
3874                (o = e),
3875                  h.splice(0),
3876                  (l = p(() => {
3877                    t.slideToClosest(t.params.speed, !0, void 0, s);
3878                  }, 0));
3879              }
3880              l ||
3881                (l = p(() => {
3882                  (o = e),
3883                    h.splice(0),
3884                    t.slideToClosest(t.params.speed, !0, void 0, 0.5);
3885                }, 500));
3886            }
3887            if (
3888              (a || i("scroll", s),
3889              t.params.autoplay &&
3890                t.params.autoplayDisableOnInteraction &&
3891                t.autoplay.stop(),
3892              n === t.minTranslate() || n === t.maxTranslate())
3893            )
3894              return !0;
3895          }
3896        } else {
3897          const s = {
3898            time: u(),
3899            delta: Math.abs(c),
3900            direction: Math.sign(c),
3901            raw: e,
3902          };
3903          h.length >= 2 && h.shift();
3904          const a = h.length ? h[h.length - 1] : void 0;
3905          if (
3906            (h.push(s),
3907            a
3908              ? (s.direction !== a.direction ||
3909                  s.delta > a.delta ||
3910                  s.time > a.time + 150) &&
3911                g(s)
3912              : g(s),
3913            (function (e) {
3914              const s = t.params.mousewheel;
3915              if (e.direction < 0) {
3916                if (t.isEnd && !t.params.loop && s.releaseOnEdges) return !0;
3917              } else if (t.isBeginning && !t.params.loop && s.releaseOnEdges)
3918                return !0;
3919              return !1;
3920            })(s))
3921          )
3922            return !0;
3923        }
3924        return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1;
3925      }
3926      function w(e) {
3927        let s = t.$el;
3928        "container" !== t.params.mousewheel.eventsTarget &&
3929          (s = d(t.params.mousewheel.eventsTarget)),
3930          s[e]("mouseenter", m),
3931          s[e]("mouseleave", f),
3932          s[e]("wheel", v);
3933      }
3934      function b() {
3935        return t.params.cssMode
3936          ? (t.wrapperEl.removeEventListener("wheel", v), !0)
3937          : !t.mousewheel.enabled && (w("on"), (t.mousewheel.enabled = !0), !0);
3938      }
3939      function x() {
3940        return t.params.cssMode
3941          ? (t.wrapperEl.addEventListener(event, v), !0)
3942          : !!t.mousewheel.enabled &&
3943              (w("off"), (t.mousewheel.enabled = !1), !0);
3944      }
3945      a("init", () => {
3946        !t.params.mousewheel.enabled && t.params.cssMode && x(),
3947          t.params.mousewheel.enabled && b();
3948      }),
3949        a("destroy", () => {
3950          t.params.cssMode && b(), t.mousewheel.enabled && x();
3951        }),
3952        Object.assign(t.mousewheel, { enable: b, disable: x });
3953    },
3954    function (e) {
3955      let { swiper: t, extendParams: s, on: a, emit: i } = e;
3956      function r(e) {
3957        let s;
3958        return (
3959          e &&
3960            ((s = d(e)),
3961            t.params.uniqueNavElements &&
3962              "string" == typeof e &&
3963              s.length > 1 &&
3964              1 === t.$el.find(e).length &&
3965              (s = t.$el.find(e))),
3966          s
3967        );
3968      }
3969      function n(e, s) {
3970        const a = t.params.navigation;
3971        e &&
3972          e.length > 0 &&
3973          (e[s ? "addClass" : "removeClass"](a.disabledClass),
3974          e[0] && "BUTTON" === e[0].tagName && (e[0].disabled = s),
3975          t.params.watchOverflow &&
3976            t.enabled &&
3977            e[t.isLocked ? "addClass" : "removeClass"](a.lockClass));
3978      }
3979      function l() {
3980        if (t.params.loop) return;
3981        const { $nextEl: e, $prevEl: s } = t.navigation;
3982        n(s, t.isBeginning && !t.params.rewind),
3983          n(e, t.isEnd && !t.params.rewind);
3984      }
3985      function o(e) {
3986        e.preventDefault(),
3987          (!t.isBeginning || t.params.loop || t.params.rewind) &&
3988            (t.slidePrev(), i("navigationPrev"));
3989      }
3990      function c(e) {
3991        e.preventDefault(),
3992          (!t.isEnd || t.params.loop || t.params.rewind) &&
3993            (t.slideNext(), i("navigationNext"));
3994      }
3995      function p() {
3996        const e = t.params.navigation;
3997        if (
3998          ((t.params.naviga
3998tion = F(
3999            t,
4000            t.originalParams.navigation,
4001            t.params.navigation,
4002            { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" }
4003          )),
4004          !e.nextEl && !e.prevEl)
4005        )
4006          return;
4007        const s = r(e.nextEl),
4008          a = r(e.prevEl);
4009        s && s.length > 0 && s.on("click", c),
4010          a && a.length > 0 && a.on("click", o),
4011          Object.assign(t.navigation, {
4012            $nextEl: s,
4013            nextEl: s && s[0],
4014            $prevEl: a,
4015            prevEl: a && a[0],
4016          }),
4017          t.enabled ||
4018            (s && s.addClass(e.lockClass), a && a.addClass(e.lockClass));
4019      }
4020      function u() {
4021        const { $nextEl: e, $prevEl: s } = t.navigation;
4022        e &&
4023          e.length &&
4024          (e.off("click", c), e.removeClass(t.params.navigation.disabledClass)),
4025          s &&
4026            s.length &&
4027            (s.off("click", o),
4028            s.removeClass(t.params.navigation.disabledClass));
4029      }
4030      s({
4031        navigation: {
4032          nextEl: null,
4033          prevEl: null,
4034          hideOnClick: !1,
4035          disabledClass: "swiper-button-disabled",
4036          hiddenClass: "swiper-button-hidden",
4037          lockClass: "swiper-button-lock",
4038          navigationDisabledClass: "swiper-navigation-disabled",
4039        },
4040      }),
4041        (t.navigation = {
4042          nextEl: null,
4043          $nextEl: null,
4044          prevEl: null,
4045          $prevEl: null,
4046        }),
4047        a("init", () => {
4048          !1 === t.params.navigation.enabled ? h() : (p(), l());
4049        }),
4050        a("toEdge fromEdge lock unlock", () => {
4051          l();
4052        }),
4053        a("destroy", () => {
4054          u();
4055        }),
4056        a("enable disable", () => {
4057          const { $nextEl: e, $prevEl: s } = t.navigation;
4058          e &&
4059            e[t.enabled ? "removeClass" : "addClass"](
4060              t.params.navigation.lockClass
4061            ),
4062            s &&
4063              s[t.enabled ? "removeClass" : "addClass"](
4064                t.params.navigation.lockClass
4065              );
4066        }),
4067        a("click", (e, s) => {
4068          const { $nextEl: a, $prevEl: r } = t.navigation,
4069            n = s.target;
4070          if (t.params.navigation.hideOnClick && !d(n).is(r) && !d(n).is(a)) {
4071            if (
4072              t.pagination &&
4073              t.params.pagination &&
4074              t.params.pagination.clickable &&
4075              (t.pagination.el === n || t.pagination.el.contains(n))
4076            )
4077              return;
4078            let e;
4079            a
4080              ? (e = a.hasClass(t.params.navigation.hiddenClass))
4081              : r && (e = r.hasClass(t.params.navigation.hiddenClass)),
4082              i(!0 === e ? "navigationShow" : "navigationHide"),
4083              a && a.toggleClass(t.params.navigation.hiddenClass),
4084              r && r.toggleClass(t.params.navigation.hiddenClass);
4085          }
4086        });
4087      const h = () => {
4088        t.$el.addClass(t.params.navigation.navigationDisabledClass), u();
4089      };
4090      Object.assign(t.navigation, {
4091        enable: () => {
4092          t.$el.removeClass(t.params.navigation.navigationDisabledClass),
4093            p(),
4094            l();
4095        },
4096        disable: h,
4097        update: l,
4098        init: p,
4099        destroy: u,
4100      });
4101    },
4102    function (e) {
4103      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4104      const r = "swiper-pagination";
4105      let n;
4106      s({
4107        pagination: {
4108          el: null,
4109          bulletElement: "span",
4110          clickable: !1,
4111          hideOnClick: !1,
4112          renderBullet: null,
4113          renderProgressbar: null,
4114          renderFraction: null,
4115          renderCustom: null,
4116          progressbarOpposite: !1,
4117          type: "bullets",
4118          dynamicBullets: !1,
4119          dynamicMainBullets: 1,
4120          formatFractionCurrent: (e) => e,
4121          formatFractionTotal: (e) => e,
4122          bulletClass: `${r}-bullet`,
4123          bulletActiveClass: `${r}-bullet-active`,
4124          modifierClass: `${r}-`,
4125          currentClass: `${r}-current`,
4126          totalClass: `${r}-total`,
4127          hiddenClass: `${r}-hidden`,
4128          progressbarFillClass: `${r}-progressbar-fill`,
4129          progressbarOppositeClass: `${r}-progressbar-opposite`,
4130          clickableClass: `${r}-clickable`,
4131          lockClass: `${r}-lock`,
4132          horizontalClass: `${r}-horizontal`,
4133          verticalClass: `${r}-vertical`,
4134          paginationDisabledClass: `${r}-disabled`,
4135        },
4136      }),
4137        (t.pagination = { el: null, $el: null, bullets: [] });
4138      let l = 0;
4139      function o() {
4140        return (
4141          !t.params.pagination.el ||
4142          !t.pagination.el ||
4143          !t.pagination.$el ||
4144          0 === t.pagination.$el.length
4145        );
4146      }
4147      function c(e, s) {
4148        const { bulletActiveClass: a } = t.params.pagination;
4149        e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`);
4150      }
4151      function p() {
4152        const e = t.rtl,
4153          s = t.params.pagination;
4154        if (o()) return;
4155        const a =
4156            t.virtual && t.params.virtual.enabled
4157              ? t.virtual.slides.length
4158              : t.slides.length,
4159          r = t.pagination.$el;
4160        let p;
4161        const u = t.params.loop
4162          ? Math.ceil((a - 2 * t.loopedSlides) / t.params.slidesPerGroup)
4163          : t.snapGrid.length;
4164        if (
4165          (t.params.loop
4166            ? ((p = Math.ceil(
4167                (t.activeIndex - t.loopedSlides) / t.params.slidesPerGroup
4168              )),
4169              p > a - 1 - 2 * t.loopedSlides && (p -= a - 2 * t.loopedSlides),
4170              p > u - 1 && (p -= u),
4171              p < 0 && "bullets" !== t.params.paginationType && (p = u + p))
4172            : (p = void 0 !== t.snapIndex ? t.snapIndex : t.activeIndex || 0),
4173          "bullets" === s.type &&
4174            t.pagination.bullets &&
4175            t.pagination.bullets.length > 0)
4176        ) {
4177          const a = t.pagination.bullets;
4178          let i, o, u;
4179          if (
4180            (s.dynamicBullets &&
4181              ((n = a
4182                .eq(0)
4183                [t.isHorizontal() ? "outerWidth" : "outerHeight"](!0)),
4184              r.css(
4185                t.isHorizontal() ? "width" : "height",
4186                n * (s.dynamicMainBullets + 4) + "px"
4187              ),
4188              s.dynamicMainBullets > 1 &&
4189                void 0 !== t.previousIndex &&
4190                ((l += p - (t.previousIndex - t.loopedSlides || 0)),
4191                l > s.dynamicMainBullets - 1
4192                  ? (l = s.dynamicMainBullets - 1)
4193                  : l < 0 && (l = 0)),
4194              (i = Math.max(p - l, 0)),
4195              (o = i + (Math.min(a.length, s.dynamicMainBullets) - 1)),
4196              (u = (o + i) / 2)),
4197            a.removeClass(
4198              ["", "-next", "-next-next", "-prev", "-prev-prev", "-main"]
4199                .map((e) => `${s.bulletActiveClass}${e}`)
4200                .join(" ")
4201            ),
4202            r.length > 1)
4203          )
4204            a.each((e) => {
4205              const t = d(e),
4206                a = t.index();
4207              a === p && t.addClass(s.bulletActiveClass),
4208                s.dynamicBullets &&
4209                  (a >= i &&
4210                    a <= o &&
4211                    t.addClass(`${s.bulletActiveClass}-main`),
4212                  a === i && c(t, "prev"),
4213                  a === o && c(t, "next"));
4214            });
4215          else {
4216            const e = a.eq(p),
4217              r = e.index();
4218            if ((e.addClass(s.bulletActiveClass), s.dynamicBullets)) {
4219              const e = a.eq(i),
4220                n = a.eq(o);
4221              for (let e = i; e <= o; e += 1)
4222                a.eq(e).addClass(`${s.bulletActiveClass}-main`);
4223              if (t.params.loop)
4224                if (r >= a.length) {
4225                  for (let e = s.dynamicMainBullets; e >= 0; e -= 1)
4226                    a.eq(a.length - e).addClass(`${s.bulletActiveClass}-main`);
4227                  a.eq(a.length - s.dynamicMainBullets - 1).addClass(
4228                    `${s.bulletActiveClass}-prev`
4229                  );
4230                } else c(e, "prev"), c(n, "next");
4231              else c(e, "prev"), c(n, "next");
4232            }
4233          }
4234          if (s.dynamicBullets) {
4235            const i = Math.min(a.length, s.dynamicMainBullets + 4),
4236              r = (n * i - n) / 2 - u * n,
4237              l = e ? "right" : "left";
4238            a.css(t.isHorizontal() ? l : "top", `${r}px`);
4239          }
4240        }
4241        if (
4242          ("fraction" === s.type &&
4243            (r.find(U(s.currentClass)).text(s.formatFractionCurrent(p + 1)),
4244            r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),
4245          "progressbar" === s.type)
4246        ) {
4247          let e;
4248          e = s.progressbarOpposite
4249            ? t.isHorizontal()
4250              ? "vertical"
4251              : "horizontal"
4252            : t.isHorizontal()
4253            ? "horizontal"
4254            : "vertical";
4255          const a = (p + 1) / u;
4256          let i = 1,
4257            n = 1;
4258          "horizontal" === e ? (i = a) : (n = a),
4259            r
4260              .find(U(s.progressbarFillClass))
4261              .transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${n})`)
4262              .transition(t.params.speed);
4263        }
4264        "custom" === s.type && s.renderCustom
4265          ? (r.html(s.renderCustom(t, p + 1, u)), i("paginationRender", r[0]))
4266          : i("paginationUpdate", r[0]),
4267          t.params.watchOverflow &&
4268            t.enabled &&
4269            r[t.isLocked ? "addClass" : "removeClass"](s.lockClass);
4270      }
4271      function u() {
4272        const e = t.params.pagination;
4273        if (o()) return;
4274        const s =
4275            t.virtual && t.params.virtual.enabled
4276              ? t.virtual.slides.length
4277              : t.slides.length,
4278          a = t.pagination.$el;
4279        let r = "";
4280        if ("bullets" === e.type) {
4281          let i = t.params.loop
4282            ? Math.ceil((s - 2 * t.loopedSlides) / t.params.slidesPerGroup)
4283            : t.snapGrid.length;
4284          t.params.freeMode &&
4285            t.params.freeMode.enabled &&
4286            !t.params.loop &&
4287            i > s &&
4288            (i = s);
4289          for (let s = 0; s < i; s += 1)
4290            e.renderBullet
4291              ? (r += e.renderBullet.call(t, s, e.bulletClass))
4292              : (r += `<${e.bulletElement} class="${e.bulletClass}"></${e.bulletElement}>`);
4293          a.html(r), (t.pagination.bullets = a.find(U(e.bulletClass)));
4294        }
4295        "fraction" === e.type &&
4296          ((r = e.renderFraction
4297            ? e.renderFraction.call(t, e.currentClass, e.totalClass)
4298            : `<span class="${e.currentClass}"></span> / <span class="${e.totalClass}"></span>`),
4299          a.html(r)),
4300          "progressbar" === e.type &&
4301            ((r = e.renderProgressbar
4302              ? e.renderProgressbar.call(t, e.progressbarFillClass)
4303              : `<span class="${e.progressbarFillClass}"></span>`),
4304            a.html(r)),
4305          "custom" !== e.type && i("paginationRender", t.pagination.$el[0]);
4306      }
4307      function h() {
4308        t.params.pagination = F(
4309          t,
4310          t.originalParams.pagination,
4311          t.params.pagination,
4312          { el: "swiper-pagination" }
4313        );
4314        const e = t.params.pagination;
4315        if (!e.el) return;
4316        let s = d(e.el);
4317        0 !== s.length &&
4318          (t.params.uniqueNavElements &&
4319            "string" == typeof e.el &&
4320            s.length > 1 &&
4321            ((s = t.$el.find(e.el)),
4322            s.length > 1 &&
4323              (s = s.filter((e) => d(e).parents(".swiper")[0] === t.el))),
4324          "bullets" === e.type && e.clickable && s.addClass(e.clickableClass),
4325          s.addClass(e.modifierClass + e.type),
4326          s.addClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass),
4327          "bullets" === e.type &&
4328            e.dynamicBullets &&
4329            (s.addClass(`${e.modifierClass}${e.type}-dynamic`),
4330            (l = 0),
4331            e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)),
4332          "progressbar" === e.type &&
4333            e.progressbarOpposite &&
4334            s.addClass(e.progressbarOppositeClass),
4335          e.clickable &&
4336            s.on("click", U(e.bulletClass), function (e) {
4337              e.preventDefault();
4338              let s = d(this).index() * t.params.slidesPerGroup;
4339              t.params.loop && (s += t.loopedSlides), t.slideTo(s);
4340            }),
4341          Object.assign(t.pagination, { $el: s, el: s[0] }),
4342          t.enabled || s.addClass(e.lockClass));
4343      }
4344      function m() {
4345        const e = t.params.pagination;
4346        if (o()) return;
4347        const s = t.pagination.$el;
4348        s.removeClass(e.hiddenClass),
4349          s.removeClass(e.modifierClass + e.type),
4350          s.removeClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass),
4351          t.pagination.bullets &&
4352            t.pagination.bullets.removeClass &&
4353            t.pagination.bullets.removeClass(e.bulletActiveClass),
4354          e.clickable && s.off("click", U(e.bulletClass));
4355      }
4356      a("init", () => {
4357        !1 === t.params.pagination.enabled ? f() : (h(), u(), p());
4358      }),
4359        a("activeIndexChange", () => {
4360          (t.params.loop || void 0 === t.snapIndex) && p();
4361        }),
4362        a("snapIndexChange", () => {
4363          t.params.loop || p();
4364        }),
4365        a("slidesLengthChange", () => {
4366          t.params.loop && (u(), p());
4367        }),
4368        a("snapGridLengthChange", () => {
4369          t.params.loop || (u(), p());
4370        }),
4371        a("destroy", () => {
4372          m();
4373        }),
4374        a("enable disable", () => {
4375          const { $el: e } = t.pagination;
4376          e &&
4377            e[t.enabled ? "removeClass" : "addClass"](
4378              t.params.pagination.lockClass
4379            );
4380        }),
4381        a("lock unlock", () => {
4382          p();
4383        }),
4384        a("click", (e, s) => {
4385          const a = s.target,
4386            { $el: r } = t.pagination;
4387          if (
4388            t.params.pagination.el &&
4389            t.params.pagination.hideOnClick &&
4390            r &&
4391            r.length > 0 &&
4392            !d(a).hasClass(t.params.pagination.bulletClass)
4393          ) {
4394            if (
4395              t.navigation &&
4396              ((t.navigation.nextEl && a === t.navigation.nextEl) ||
4397                (t.navigation.prevEl && a === t.navigation.prevEl))
4398            )
4399              return;
4400            const e = r.hasClass(t.params.pagination.hiddenClass);
4401            i(!0 === e ? "paginationShow" : "paginationHide"),
4402              r.toggleClass(t.params.pagination.hiddenClass);
4403          }
4404        });
4405      const f = () => {
4406        t.$el.addClass(t.params.pagination.paginationDisabledClass),
4407          t.pagination.$el &&
4408            t.pagination.$el.addClass(
4409              t.params.pagination.paginationDisabledClass
4410            ),
4411          m();
4412      };
4413      Object.assign(t.pagination, {
4414        enable: () => {
4415          t.$el.removeClass(t.params.pagination.paginationDisabledClass),
4416            t.pagination.$el &&
4417              t.pagination.$el.removeClass(
4418                t.params.pagination.paginationDisabledClass
4419              ),
4420            h(),
4421            u(),
4422            p();
4423        },
4424        disable: f,
4425        render: u,
4426        update: p,
4427        init: h,
4428        destroy: m,
4429      });
4430    },
4431    function (e) {
4432      let { swiper: t, extendParams: s, on: i, emit: r }
4432 = e;
4433      const n = a();
4434      let l,
4435        o,
4436        c,
4437        u,
4438        h = !1,
4439        m = null,
4440        f = null;
4441      function g() {
4442        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4443        const { scrollbar: e, rtlTranslate: s, progress: a } = t,
4444          { $dragEl: i, $el: r } = e,
4445          n = t.params.scrollbar;
4446        let l = o,
4447          d = (c - o) * a;
4448        s
4449          ? ((d = -d),
4450            d > 0 ? ((l = o - d), (d = 0)) : -d + o > c && (l = c + d))
4451          : d < 0
4452          ? ((l = o + d), (d = 0))
4453          : d + o > c && (l = c - d),
4454          t.isHorizontal()
4455            ? (i.transform(`translate3d(${d}px, 0, 0)`),
4456              (i[0].style.width = `${l}px`))
4457            : (i.transform(`translate3d(0px, ${d}px, 0)`),
4458              (i[0].style.height = `${l}px`)),
4459          n.hide &&
4460            (clearTimeout(m),
4461            (r[0].style.opacity = 1),
4462            (m = setTimeout(() => {
4463              (r[0].style.opacity = 0), r.transition(400);
4464            }, 1e3)));
4465      }
4466      function v() {
4467        if (!t.params.scrollbar.el || !t.scrollbar.el) return;
4468        const { scrollbar: e } = t,
4469          { $dragEl: s, $el: a } = e;
4470        (s[0].style.width = ""),
4471          (s[0].style.height = ""),
4472          (c = t.isHorizontal() ? a[0].offsetWidth : a[0].offsetHeight),
4473          (u =
4474            t.size /
4475            (t.virtualSize +
4476              t.params.slidesOffsetBefore -
4477              (t.params.centeredSlides ? t.snapGrid[0] : 0))),
4478          (o =
4479            "auto" === t.params.scrollbar.dragSize
4480              ? c * u
4481              : parseInt(t.params.scrollbar.dragSize, 10)),
4482          t.isHorizontal()
4483            ? (s[0].style.width = `${o}px`)
4484            : (s[0].style.height = `${o}px`),
4485          (a[0].style.display = u >= 1 ? "none" : ""),
4486          t.params.scrollbar.hide && (a[0].style.opacity = 0),
4487          t.params.watchOverflow &&
4488            t.enabled &&
4489            e.$el[t.isLocked ? "addClass" : "removeClass"](
4490              t.params.scrollbar.lockClass
4491            );
4492      }
4493      function w(e) {
4494        return t.isHorizontal()
4495          ? "touchstart" === e.type || "touchmove" === e.type
4496            ? e.targetTouches[0].clientX
4497            : e.clientX
4498          : "touchstart" === e.type || "touchmove" === e.type
4499          ? e.targetTouches[0].clientY
4500          : e.clientY;
4501      }
4502      function b(e) {
4503        const { scrollbar: s, rtlTranslate: a } = t,
4504          { $el: i } = s;
4505        let r;
4506        (r =
4507          (w(e) -
4508            i.offset()[t.isHorizontal() ? "left" : "top"] -
4509            (null !== l ? l : o / 2)) /
4510          (c - o)),
4511          (r = Math.max(Math.min(r, 1), 0)),
4512          a && (r = 1 - r);
4513        const n = t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r;
4514        t.updateProgress(n),
4515          t.setTranslate(n),
4516          t.updateActiveIndex(),
4517          t.updateSlidesClasses();
4518      }
4519      function x(e) {
4520        const s = t.params.scrollbar,
4521          { scrollbar: a, $wrapperEl: i } = t,
4522          { $el: n, $dragEl: o } = a;
4523        (h = !0),
4524          (l =
4525            e.target === o[0] || e.target === o
4526              ? w(e) -
4527                e.target.getBoundingClientRect()[
4528                  t.isHorizontal() ? "left" : "top"
4529                ]
4530              : null),
4531          e.preventDefault(),
4532          e.stopPropagation(),
4533          i.transition(100),
4534          o.transition(100),
4535          b(e),
4536          clearTimeout(f),
4537          n.transition(0),
4538          s.hide && n.css("opacity", 1),
4539          t.params.cssMode && t.$wrapperEl.css("scroll-snap-type", "none"),
4540          r("scrollbarDragStart", e);
4541      }
4542      function y(e) {
4543        const { scrollbar: s, $wrapperEl: a } = t,
4544          { $el: i, $dragEl: n } = s;
4545        h &&
4546          (e.preventDefault ? e.preventDefault() : (e.returnValue = !1),
4547          b(e),
4548          a.transition(0),
4549          i.transition(0),
4550          n.transition(0),
4551          r("scrollbarDragMove", e));
4552      }
4553      function E(e) {
4554        const s = t.params.scrollbar,
4555          { scrollbar: a, $wrapperEl: i } = t,
4556          { $el: n } = a;
4557        h &&
4558          ((h = !1),
4559          t.params.cssMode &&
4560            (t.$wrapperEl.css("scroll-snap-type", ""), i.transition("")),
4561          s.hide &&
4562            (clearTimeout(f),
4563            (f = p(() => {
4564              n.css("opacity", 0), n.transition(400);
4565            }, 1e3))),
4566          r("scrollbarDragEnd", e),
4567          s.snapOnRelease && t.slideToClosest());
4568      }
4569      function C(e) {
4570        const {
4571            scrollbar: s,
4572            touchEventsTouch: a,
4573            touchEventsDesktop: i,
4574            params: r,
4575            support: l,
4576          } = t,
4577          o = s.$el;
4578        if (!o) return;
4579        const d = o[0],
4580          c = !(!l.passiveListener || !r.passiveListeners) && {
4581            passive: !1,
4582            capture: !1,
4583          },
4584          p = !(!l.passiveListener || !r.passiveListeners) && {
4585            passive: !0,
4586            capture: !1,
4587          };
4588        if (!d) return;
4589        const u = "on" === e ? "addEventListener" : "removeEventListener";
4590        l.touch
4591          ? (d[u](a.start, x, c), d[u](a.move, y, c), d[u](a.end, E, p))
4592          : (d[u](i.start, x, c), n[u](i.move, y, c), n[u](i.end, E, p));
4593      }
4594      function T() {
4595        const { scrollbar: e, $el: s } = t;
4596        t.params.scrollbar = F(
4597          t,
4598          t.originalParams.scrollbar,
4599          t.params.scrollbar,
4600          { el: "swiper-scrollbar" }
4601        );
4602        const a = t.params.scrollbar;
4603        if (!a.el) return;
4604        let i = d(a.el);
4605        t.params.uniqueNavElements &&
4606          "string" == typeof a.el &&
4607          i.length > 1 &&
4608          1 === s.find(a.el).length &&
4609          (i = s.find(a.el)),
4610          i.addClass(t.isHorizontal() ? a.horizontalClass : a.verticalClass);
4611        let r = i.find(`.${t.params.scrollbar.dragClass}`);
4612        0 === r.length &&
4613          ((r = d(`<div class="${t.params.scrollbar.dragClass}"></div>`)),
4614          i.append(r)),
4615          Object.assign(e, { $el: i, el: i[0], $dragEl: r, dragEl: r[0] }),
4616          a.draggable && t.params.scrollbar.el && t.scrollbar.el && C("on"),
4617          i &&
4618            i[t.enabled ? "removeClass" : "addClass"](
4619              t.params.scrollbar.lockClass
4620            );
4621      }
4622      function $() {
4623        const e = t.params.scrollbar,
4624          s = t.scrollbar.$el;
4625        s &&
4626          s.removeClass(t.isHorizontal() ? e.horizontalClass : e.verticalClass),
4627          t.params.scrollbar.el && t.scrollbar.el && C("off");
4628      }
4629      s({
4630        scrollbar: {
4631          el: null,
4632          dragSize: "auto",
4633          hide: !1,
4634          draggable: !1,
4635          snapOnRelease: !0,
4636          lockClass: "swiper-scrollbar-lock",
4637          dragClass: "swiper-scrollbar-drag",
4638          scrollbarDisabledClass: "swiper-scrollbar-disabled",
4639          horizontalClass: "swiper-scrollbar-horizontal",
4640          verticalClass: "swiper-scrollbar-vertical",
4641        },
4642      }),
4643        (t.scrollbar = { el: null, dragEl: null, $el: null, $dragEl: null }),
4644        i("init", () => {
4645          !1 === t.params.scrollbar.enabled ? S() : (T(), v(), g());
4646        }),
4647        i("update resize observerUpdate lock unlock", () => {
4648          v();
4649        }),
4650        i("setTranslate", () => {
4651          g();
4652        }),
4653        i("setTransition", (e, s) => {
4654          !(function (e) {
4655            t.params.scrollbar.el &&
4656              t.scrollbar.el &&
4657              t.scrollbar.$dragEl.transition(e);
4658          })(s);
4659        }),
4660        i("enable disable", () => {
4661          const { $el: e } = t.scrollbar;
4662          e &&
4663            e[t.enabled ? "removeClass" : "addClass"](
4664              t.params.scrollbar.lockClass
4665            );
4666        }),
4667        i("destroy", () => {
4668          $();
4669        });
4670      const S = () => {
4671        t.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),
4672          t.scrollbar.$el &&
4673            t.scrollbar.$el.addClass(t.params.scrollbar.scrollbarDisabledClass),
4674          $();
4675      };
4676      Object.assign(t.scrollbar, {
4677        enable: () => {
4678          t.$el.removeClass(t.params.scrollbar.scrollbarDisabledClass),
4679            t.scrollbar.$el &&
4680              t.scrollbar.$el.removeClass(
4681                t.params.scrollbar.scrollbarDisabledClass
4682              ),
4683            T(),
4684            v(),
4685            g();
4686        },
4687        disable: S,
4688        updateSize: v,
4689        setTranslate: g,
4690        init: T,
4691        destroy: $,
4692      });
4693    },
4694    function (e) {
4695      let { swiper: t, extendParams: s, on: a } = e;
4696      s({ parallax: { enabled: !1 } });
4697      const i = (e, s) => {
4698          const { rtl: a } = t,
4699            i = d(e),
4700            r = a ? -1 : 1,
4701            n = i.attr("data-swiper-parallax") || "0";
4702          let l = i.attr("data-swiper-parallax-x"),
4703            o = i.attr("data-swiper-parallax-y");
4704          const c = i.attr("data-swiper-parallax-scale"),
4705            p = i.attr("data-swiper-parallax-opacity");
4706          if (
4707            (l || o
4708              ? ((l = l || "0"), (o = o || "0"))
4709              : t.isHorizontal()
4710              ? ((l = n), (o = "0"))
4711              : ((o = n), (l = "0")),
4712            (l =
4713              l.indexOf("%") >= 0
4714                ? parseInt(l, 10) * s * r + "%"
4715                : l * s * r + "px"),
4716            (o =
4717              o.indexOf("%") >= 0 ? parseInt(o, 10) * s + "%" : o * s + "px"),
4718            null != p)
4719          ) {
4720            const e = p - (p - 1) * (1 - Math.abs(s));
4721            i[0].style.opacity = e;
4722          }
4723          if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`);
4724          else {
4725            const e = c - (c - 1) * (1 - Math.abs(s));
4726            i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`);
4727          }
4728        },
4729        r = () => {
4730          const { $el: e, slides: s, progress: a, snapGrid: r } = t;
4731          e
4732            .children(
4733              "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4734            )
4735            .each((e) => {
4736              i(e, a);
4737            }),
4738            s.each((e, s) => {
4739              let n = e.progress;
4740              t.params.slidesPerGroup > 1 &&
4741                "auto" !== t.params.slidesPerView &&
4742                (n += Math.ceil(s / 2) - a * (r.length - 1)),
4743                (n = Math.min(Math.max(n, -1), 1)),
4744                d(e)
4745                  .find(
4746                    "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4747                  )
4748                  .each((e) => {
4749                    i(e, n);
4750                  });
4751            });
4752        };
4753      a("beforeInit", () => {
4754        t.params.parallax.enabled &&
4755          ((t.params.watchSlidesProgress = !0),
4756          (t.originalParams.watchSlidesProgress = !0));
4757      }),
4758        a("init", () => {
4759          t.params.parallax.enabled && r();
4760        }),
4761        a("setTranslate", () => {
4762          t.params.parallax.enabled && r();
4763        }),
4764        a("setTransition", (e, s) => {
4765          t.params.parallax.enabled &&
4766            (function (e) {
4767              void 0 === e && (e = t.params.speed);
4768              const { $el: s } = t;
4769              s.find(
4770                "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
4771              ).each((t) => {
4772                const s = d(t);
4773                let a =
4774                  parseInt(s.attr("data-swiper-parallax-duration"), 10) || e;
4775                0 === e && (a = 0), s.transition(a);
4776              });
4777            })(s);
4778        });
4779    },
4780    function (e) {
4781      let { swiper: t, extendParams: s, on: a, emit: i } = e;
4782      const n = r();
4783      s({
4784        zoom: {
4785          enabled: !1,
4786          maxRatio: 3,
4787          minRatio: 1,
4788          toggle: !0,
4789          containerClass: "swiper-zoom-container",
4790          zoomedSlideClass: "swiper-slide-zoomed",
4791        },
4792      }),
4793        (t.zoom = { enabled: !1 });
4794      let l,
4795        o,
4796        c,
4797        p = 1,
4798        u = !1;
4799      const m = {
4800          $slideEl: void 0,
4801          slideWidth: void 0,
4802          slideHeight: void 0,
4803          $imageEl: void 0,
4804          $imageWrapEl: void 0,
4805          maxRatio: 3,
4806        },
4807        f = {
4808          isTouched: void 0,
4809          isMoved: void 0,
4810          currentX: void 0,
4811          currentY: void 0,
4812          minX: void 0,
4813          minY: void 0,
4814          maxX: void 0,
4815          maxY: void 0,
4816          width: void 0,
4817          height: void 0,
4818          startX: void 0,
4819          startY: void 0,
4820          touchesStart: {},
4821          touchesCurrent: {},
4822        },
4823        g = {
4824          x: void 0,
4825          y: void 0,
4826          prevPositionX: void 0,
4827          prevPositionY: void 0,
4828          prevTime: void 0,
4829        };
4830      let v = 1;
4831      function w(e) {
4832        if (e.targetTouches.length < 2) return 1;
4833        const t = e.targetTouches[0].pageX,
4834          s = e.targetTouches[0].pageY,
4835          a = e.targetTouches[1].pageX,
4836          i = e.targetTouches[1].pageY;
4837        return Math.sqrt((a - t) ** 2 + (i - s) ** 2);
4838      }
4839      function b(e) {
4840        const s = t.support,
4841          a = t.params.zoom;
4842        if (((o = !1), (c = !1), !s.gestures)) {
4843          if (
4844            "touchstart" !== e.type ||
4845            ("touchstart" === e.type && e.targetTouches.length < 2)
4846          )
4847            return;
4848          (o = !0), (m.scaleStart = w(e));
4849        }
4850        (m.$slideEl && m.$slideEl.length) ||
4851        ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),
4852        0 === m.$slideEl.length && (m.$slideEl = t.slides.eq(t.activeIndex)),
4853        (m.$imageEl = m.$slideEl
4854          .find(`.${a.containerClass}`)
4855          .eq(0)
4856          .find("picture, img, svg, canvas, .swiper-zoom-target")
4857          .eq(0)),
4858        (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)),
4859        (m.maxRatio = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
4860        0 !== m.$imageWrapEl.length)
4861          ? (m.$imageEl && m.$imageEl.transition(0), (u = !0))
4862          : (m.$imageEl = void 0);
4863      }
4864      function x(e) {
4865        const s = t.support,
4866          a = t.params.zoom,
4867          i = t.zoom;
4868        if (!s.gestures) {
4869          if (
4870            "touchmove" !== e.type ||
4871            ("touchmove" === e.type && e.targetTouches.length < 2)
4872          )
4873            return;
4874          (c = !0), (m.scaleMove = w(e));
4875        }
4876        m.$imageEl && 0 !== m.$imageEl.length
4877          ? (s.gestures
4878              ? (i.scale = e.scale * p)
4879              : (i.scale = (m.scaleMove / m.scaleStart) * p),
4880            i.scale > m.maxRatio &&
4881              (i.scale = m.maxRatio - 1 + (i.scale - m.maxRatio + 1) ** 0.5),
4882            i.scale < a.minRatio &&
4883              (i.scale = a.minRatio + 1 - (a.minRatio - i.scale + 1) ** 0.5),
4884            m.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`))
4885          : "gesturechange" === e.type && b(e);
4886      }
4887      function y(e) {
4888        const s = t.device,
4889          a = t.support,
4890          i = t.params.zoom,
4891          r = t.zoom;
4892        if (!a.gestures) {
4893          if (!o || !c) return;
4894          if (
4895            "touchend" !== e.type ||
4896            ("touchend" === e.type && e.changedTouches.length < 2 && !s.android)
4897          )
4898            return;
4899          (o = !1), (c = !1);
4900        }
4901        m.$imageEl &&
4902          0 !== m.$imageEl.length &&
4903          ((r.scale = Math.max(Math.min(r.scale, m.maxRatio), i.minRatio)),
4904          m.$imageEl
4905            .transition(t.params.speed)
4906            .transform(`translate3d(0,0,0) scale(${r.scale})`),
4907          (p = r.scale),
4908          (u = !1),
4909          1 === r.scale && (m.$slideEl = void 0));
4910      }
4911      function E(e) {
4912        const s = t.zoom;
4913        if (!m.$imageEl || 0 === m.$imageEl.length) return;
4914        if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return;
4915        f.isMoved ||
4916          ((f.width = m.$imageEl[0].offsetWidth),
4917          (f.height = m.$imageEl[0].offsetHeight),
4918          (f.startX = h(m.$imageWrapEl[0], "x") || 0),
4919          (f.startY = h(m.$imageWrapEl[0], "y") || 0),
4920          (m.slideWidth = m.$slideEl[0].offsetWidth),
4921          (m.slideHeight = m.$slideEl[0].offsetHeight),
4922          m.$imageWrapEl.transition(0));
4923        const a = f.width * s.scale,
4924          i = f.height * s.scale;
4925        if (!(a < m.slideWidth && i < m.slideHeight)) {
4926          if (
4927            ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)),
4928            (f.maxX = -f.minX),
4929            (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)),
4930            (f.maxY = -f.minY),
4931            (f.touchesCurrent.x =
4932              "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX),
4933            (f.touchesCurrent.y =
4934              "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY),
4935            !f.isMoved && !u)
4936          ) {
4937            if (
4938              t.isHorizontal() &&
4939              ((Math.floor(f.minX) === Math.floor(f.startX) &&
4940                f.touchesCurrent.x < f.touchesStart.x) ||
4941                (Math.floor(f.maxX) === Math.floor(f.startX) &&
4942                  f.touchesCurrent.x > f.touchesStart.x))
4943            )
4944              return void (f.isTouched = !1);
4945            if (
4946              !t.isHorizontal() &&
4947              ((Math.floor(f.minY) === Math.floor(f.startY) &&
4948                f.touchesCurrent.y < f.touchesStart.y) ||
4949                (Math.floor(f.maxY) === Math.floor(f.startY) &&
4950                  f.touchesCurrent.y > f.touchesStart.y))
4951            )
4952              return void (f.isTouched = !1);
4953          }
4954          e.cancelable && e.preventDefault(),
4955            e.stopPropagation(),
4956            (f.isMoved = !0),
4957            (f.currentX = f.touchesCurrent.x - f.touchesStart.x + f.startX),
4958            (f.currentY = f.touchesCurrent.y - f.touchesStart.y + f.startY),
4959            f.currentX < f.minX &&
4960              (f.currentX = f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8),
4961            f.currentX > f.maxX &&
4962              (f.currentX = f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8),
4963            f.currentY < f.minY &&
4964              (f.currentY = f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8),
4965            f.currentY > f.maxY &&
4966              (f.currentY = f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8),
4967            g.prevPositionX || (g.prevPositionX = f.touchesCurrent.x),
4968            g.prevPositionY || (g.prevPositionY = f.touchesCurrent.y),
4969            g.prevTime || (g.prevTime = Date.now()),
4970            (g.x =
4971              (f.touchesCurrent.x - g.prevPositionX) /
4972              (Date.now() - g.prevTime) /
4973              2),
4974            (g.y =
4975              (f.touchesCurrent.y - g.prevPositionY) /
4976              (Date.now() - g.prevTime) /
4977              2),
4978            Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 && (g.x = 0),
4979            Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 && (g.y = 0),
4980            (g.prevPositionX = f.touchesCurrent.x),
4981            (g.prevPositionY = f.touchesCurrent.y),
4982            (g.prevTime = Date.now()),
4983            m.$imageWrapEl.transform(
4984              `translate3d(${f.currentX}px, ${f.currentY}px,0)`
4985            );
4986        }
4987      }
4988      function C() {
4989        const e = t.zoom;
4990        m.$slideEl &&
4991          t.previousIndex !== t.activeIndex &&
4992          (m.$imageEl && m.$imageEl.transform("translate3d(0,0,0) scale(1)"),
4993          m.$imageWrapEl && m.$imageWrapEl.transform("translate3d(0,0,0)"),
4994          (e.scale = 1),
4995          (p = 1),
4996          (m.$slideEl = void 0),
4997          (m.$imageEl = void 0),
4998          (m.$imageWrapEl = void 0));
4999      }
5000      function T(e) {
5001        const s = t.zoom,
5002          a = t.params.zoom;
5003        if (
5004          (m.$slideEl ||
5005            (e &&
5006              e.target &&
5007              (m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),
5008            m.$slideEl ||
5009              (t.params.virtual && t.params.virtual.enabled && t.virtual
5010                ? (m.$slideEl = t.$wrapperEl.children(
5011                    `.${t.params.slideActiveClass}`
5012                  ))
5013                : (m.$slideEl = t.slides.eq(t.activeIndex))),
5014            (m.$imageEl = m.$slideEl
5015              .find(`.${a.containerClass}`)
5016              .eq(0)
5017              .find("picture, img, svg, canvas, .swiper-zoom-target")
5018              .eq(0)),
5019            (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`))),
5020          !m.$imageEl ||
5021            0 === m.$imageEl.length ||
5022            !m.$imageWrapEl ||
5023            0 === m.$imageWrapEl.length)
5024        )
5025          return;
5026        let i, r, l, o, c, u, h, g, v, w, b, x, y, E, C, T, $, S;
5027        t.params.cssMode &&
5028          ((t.wrapperEl.style.overflow = "hidden"),
5029          (t.wrapperEl.style.touchAction = "none")),
5030          m.$slideEl.addClass(`${a.zoomedSlideClass}`),
5031          void 0 === f.touchesStart.x && e
5032            ? ((i =
5033                "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX),
5034              (r = "touchend" === e.type ? e.changedTouches[0].pageY : e.pageY))
5035            : ((i = f.touchesStart.x), (r = f.touchesStart.y)),
5036          (s.scale = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
5037          (p = m.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
5038          e
5039            ? (($ = m.$slideEl[0].offsetWidth),
5040              (S = m.$slideEl[0].offsetHeight),
5041              (l = m.$slideEl.offset().left + n.scrollX),
5042              (o = m.$slideEl.offset().top + n.scrollY),
5043              (c = l + $ / 2 - i),
5044              (u = o + S / 2 - r),
5045              (v = m.$imageEl[0].offsetWidth),
5046              (w = m.$imageEl[0].offsetHeight),
5047              (b = v * s.scale),
5048              (x = w * s.scale),
5049              (y = Math.min($ / 2 - b / 2, 0)),
5050              (E = Math.min(S / 2 - x / 2, 0)),
5051              (C = -y),
5052              (T = -E),
5053              (h = c * s.scale),
5054              (g = u * s.scale),
5055              h < y && (h = y),
5056              h > C && (h = C),
5057              g < E && (g = E),
5058              g > T && (g = T))
5059            : ((h = 0), (g = 0)),
5060          m.$imageWrapEl
5061            .transition(300)
5062            .transform(`translate3d(${h}px, ${g}px,0)`),
5063          m.$imageEl
5064            .transition(300)
5065            .transform(`translate3d(0,0,0) scale(${s.scale})`);
5066      }
5067      function $() {
5068        const e = t.zoom,
5069          s = t.params.zoom;
5070        m.$slideEl ||
5071          (t.params.virtual && t.params.virtual.enabled && t.virtual
5072            ? (m.$slideEl = t.$wrapperEl.children(
5073                `.${t.params.slideActiveClass}`
5074              ))
5075            : (m.$slideEl = t.slides.eq(t.activeIndex)),
5076          (m.$imageEl = m.$slideEl
5077            .find(`.${s.containerClass}`)
5078            .eq(0)
5079            .find("picture, img, svg, canvas, .swiper-zoom-target")
5080            .eq(0)),
5081          (m.$imageWrapEl = m.$imageEl.parent(`.${s.containerClass}`))),
5082          m.$imageEl &&
5083            0 !== m.$imageEl.length &&
5084            m.$imageWrapEl &&
5085            0 !== m.$imageWrapEl.length &&
5086            (t.params.cssMode &&
5087              ((t.wrapperEl.style.overflow = ""),
5088              (t.wrapperEl.style.touchAction = "")),
5089            (e.scale = 1),
5090            (p = 1),
5091            m.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),
5092            m.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),
5093            m.$slideEl.removeClass(`${s.zoomedSlideClass}`),
5094            (m.$slideEl = void 0));
5095      }
5096      function S(e) {
5097        const s = t.zoom;
5098        s.scale && 1 !== s.scale ? $() : T(e);
5099      }
5100      function M() {
5101        const e = t.support;
5102        return {
5103          passiveListener: !(
5104            "touchstart" !== t.touchEvents.start ||
5105            !e.passiveListener ||
5106            !t.params.passiveListeners
5107          ) && { passive: !0, capture: !1 },
5108          activeListenerWithCapture: !e.passiveListener || {
5109            passive: !1,
5110            capture: !0,
5111          },
5112        };
5113      }
5114      function P() {
5115        return `.${t.params.slideClass}`;
5116      }
5117      function k(e) {
5118        const { passiveListener: s } = M(),
5119          a = P();
5120        t.$wrapperEl[e]("gesturestart", a, b, s),
5121          t.$wrapperEl[e]("gesturechange", a, x, s),
5122          t.$wrapperEl[e]("gestureend", a, y, s);
5123      }
5124      function z() {
5125        l || ((l = !0), k("on"));
5126      }
5127      function L() {
5128        l && ((l = !1), k("off"));
5129      }
5130      function O() {
5131        const e = t.zoom;
5132        if (e.enabled) return;
5133        e.enabled = !0;
5134        const s = t.support,
5135          { passiveListener: a, activeListenerWithCapture: i } = M(),
5136          r = P();
5137        s.gestures
5138          ? (t.$wrapperEl.on(t.touchEvents.start, z, a),
5139            t.$wrapperEl.on(t.touchEvents.end, L, a))
5140          : "touchstart" === t.touchEvents.start &&
5141            (t.$wrapperEl.on(t.touchEvents.start, r, b, a),
5142            t.$wrapperEl.on(t.touchEvents.move, r, x, i),
5143            t.$wrapperEl.on(t.touchEvents.end, r, y, a),
5144            t.touchEvents.cancel &&
5145              t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)),
5146          t.$wrapperEl.on(
5147            t.touchEvents.move,
5148            `.${t.params.zoom.containerClass}`,
5149            E,
5150            i
5151          );
5152      }
5153      function I() {
5154        const e = t.zoom;
5155        if (!e.enabled) return;
5156        const s = t.support;
5157        e.enabled = !1;
5158        const { passiveListener: a, activeListenerWithCapture: i } = M(),
5159          r = P();
5160        s.gestures
5161          ? (t.$wrapperEl.off(t.touchEvents.start, z, a),
5162            t.$wrapperEl.off(t.touchEvents.end, L, a))
5163          : "touchstart" === t.touchEvents.start &&
5164            (t.$wrapperEl.off(t.touchEvents.start, r, b, a),
5165            t.$wrapperEl.off(t.touchEvents.move, r, x, i),
5166            t.$wrapperEl.off(t.touchEvents.end, r, y, a),
5167            t.touchEvents.cancel &&
5168              t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)),
5169          t.$wrapperEl.off(
5170            t.touchEvents.move,
5171            `.${t.params.zoom.containerClass}`,
5172            E,
5173            i
5174          );
5175      }
5176      Object.defineProperty(t.zoom, "scale", {
5177        get: () => v,
5178        set(e) {
5179          if (v !== e) {
5180            const t = m.$imageEl ? m.$imageEl[0] : void 0,
5181              s = m.$slideEl ? m.$slideEl[0] : void 0;
5182            i("zoomChange", e, t, s);
5183          }
5184          v = e;
5185        },
5186      }),
5187        a("init", () => {
5188          t.params.zoom.enabled && O();
5189        }),
5190        a("destroy", () => {
5191          I();
5192        }),
5193        a("touchStart", (e, s) => {
5194          t.zoom.enabled &&
5195            (function (e) {
5196              const s = t.device;
5197              m.$imageEl &&
5198                0 !== m.$imageEl.length &&
5199                (f.isTouched ||
5200                  (s.android && e.cancelable && e.preventDefault(),
5201                  (f.isTouched = !0),
5202                  (f.touchesStart.x =
5203                    "touchstart" === e.type
5204                      ? e.targetTouches[0].pageX
5205                      : e.pageX),
5206                  (f.touchesStart.y =
5207                    "touchstart" === e.type
5208                      ? e.targetTouches[0].pageY
5209                      : e.pageY)));
5210            })(s);
5211        }),
5212        a("touchEnd", (e, s) => {
5213          t.zoom.enabled &&
5214            (function () {
5215              const e = t.zoom;
5216              if (!m.$imageEl || 0 === m.$imageEl.length) return;
5217              if (!f.isTouched || !f.isMoved)
5218                return (f.isTouched = !1), void (f.isMoved = !1);
5219              (f.isTouched = !1), (f.isMoved = !1);
5220              let s = 300,
5221                a = 300;
5222              const i = g.x * s,
5223                r = f.currentX + i,
5224                n = g.y * a,
5225                l = f.currentY + n;
5226              0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)),
5227                0 !== g.y && (a = Math.abs((l - f.currentY) / g.y));
5228              const o = Math.max(s, a);
5229              (f.currentX = r), (f.currentY = l);
5230              const d = f.width * e.scale,
5231                c = f.height * e.scale;
5232              (f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)),
5233                (f.maxX = -f.minX),
5234                (f.minY = Math.min(m.slideHeight / 2 - c / 2, 0)),
5235                (f.maxY = -f.minY),
5236                (f.currentX = Math.max(Math.min(f.currentX, f.maxX), f.minX)),
5237                (f.currentY = Math.max(Math.min(f.currentY, f.maxY), f.minY)),
5238                m.$imageWrapEl
5239                  .transition(o)
5240                  .transform(`translate3d(${f.currentX}px, ${f.currentY}px,0)`);
5241            })();
5242        }),
5243        a("doubleTap", (e, s) => {
5244          !t.animating &&
5245            t.params.zoom.enabled &&
5246            t.zoom.enabled &&
5247            t.params.zoom.toggle &&
5248            S(s);
5249        }),
5250        a("transitionEnd", () => {
5251          t.zoom.enabled && t.params.zoom.enabled && C();
5252        }),
5253        a("slideChange", () => {
5254          t.zoom.enabled && t.params.zoom.enabled && t.params.cssMode && C();
5255        }),
5256        Object.assign(t.zoom, {
5257          enable: O,
5258          disable: I,
5259          in: T,
5260          out: $,
5261          toggle: S,
5262        });
5263    },
5264    function (e) {
5265      let { swiper: t, extendParams: s, on: a, emit: i } = e;
5266      s({
5267        lazy: {
5268          checkInView: !1,
5269          enabled: !1,
5270          loadPrevNext: !1,
5271          loadPrevNextAmount: 1,
5272          loadOnTransitionStart: !1,
5273          scrollingElement: "",
5274          elementClass: "swiper-lazy",
5275          loadingClass: "swiper-lazy-loading",
5276          loadedClass: "swiper-lazy-loaded",
5277          preloaderClass: "swiper-lazy-preloader",
5278        },
5279      }),
5280        (t.lazy = {});
5281      let n = !1,
5282        l = !1;
5283      function o(e, s) {
5284        void 0 === s && (s = !0);
5285        const a = t.params.lazy;
5286        if (void 0 === e) return;
5287        if (0 === t.slides.length) return;
5288        const r =
5289            t.virtual && t.params.virtual.enabled
5290              ? t.$wrapperEl.children(
5291                  `.${t.params.slideClass}[data-swiper-slide-index="${e}"]`
5292                )
5293              : t.slides.eq(e),
5294          n = r.find(
5295            `.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`
5296          );
5297        !r.hasClass(a.elementClass) ||
5298          r.hasClass(a.loadedClass) ||
5299          r.hasClass(a.loadingClass) ||
5300          n.push(r[0]),
5301          0 !== n.length &&
5302            n.each((e) => {
5303              const n = d(e);
5304              n.addClass(a.loadingClass);
5305              const l = n.attr("data-background"),
5306                c = n.attr("data-src"),
5307                p = n.attr("data-srcset"),
5308                u = n.attr("data-sizes"),
5309                h = n.parent("picture");
5310              t.loadImage(n[0], c || l, p, u, !1, () => {
5311                if (null != t && t && (!t || t.params) && !t.destroyed) {
5312                  if (
5313                    (l
5314                      ? (n.css("background-image", `url("${l}")`),
5315                        n.removeAttr("data-background"))
5316                      : (p &&
5317                          (n.attr("srcset", p), n.removeAttr("data-srcset")),
5318                        u && (n.attr("sizes", u), n.removeAttr("data-sizes")),
5319                        h.length &&
5320                          h.children("source").each((e) => {
5321                            const t = d(e);
5322                            t.attr("data-srcset") &&
5323                              (t.attr("srcset", t.attr("data-srcset")),
5324                              t.removeAttr("data-srcset"));
5325                          }),
5326                        c && (n.attr("src", c), n.removeAttr("data-src"))),
5327                    n.addClass(a.loadedClass).removeClass(a.loadingClass),
5328                    r.find(`.${a.preloaderClass}`).remove(),
5329                    t.params.loop && s)
5330                  ) {
5331                    const e = r.attr("data-swiper-slide-index");
5332                    if (r.hasClass(t.params.slideDuplicateClass)) {
5333                      o(
5334                        t.$wrapperEl
5335                          .children(
5336                            `[data-swiper-slide-index="${e}"]:not(.${t.params.slideDuplicateClass})`
5337                          )
5338                          .index(),
5339                        !1
5340                      );
5341                    } else {
5342                      o(
5343                        t.$wrapperEl
5344                          .children(
5345                            `.${t.params.slideDuplicateClass}[data-swiper-slide-index="${e}"]`
5346                          )
5347                          .index(),
5348                        !1
5349                      );
5350                    }
5351                  }
5352                  i("lazyImageReady", r[0], n[0]),
5353                    t.params.autoHeight && t.updateAutoHeight();
5354                }
5355              }),
5356                i("lazyImageLoad", r[0], n[0]);
5357            });
5358      }
5359      function c() {
5360        const { $wrapperEl: e, params: s, slides: a, activeIndex: i } = t,
5361          r = t.virtual && s.virtual.enabled,
5362          n = s.lazy;
5363        let c = s.slidesPerView;
5364        function p(t) {
5365          if (r) {
5366            if (
5367              e.children(`.${s.slideClass}[data-swiper-slide-index="${t}"]`)
5368                .length
5369            )
5370              return !0;
5371          } else if (a[t]) return !0;
5372          return !1;
5373        }
5374        function u(e) {
5375          return r ? d(e).attr("data-swiper-slide-index") : d(e).index();
5376        }
5377        if (
5378          ("auto" === c && (c = 0), l || (l = !0), t.params.watchSlidesProgress)
5379        )
5380          e.children(`.${s.slideVisibleClass}`).each((e) => {
5381            o(r ? d(e).attr("data-swiper-slide-index") : d(e).index());
5382          });
5383        else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e);
5384        else o(i);
5385        if (n.loadPrevNext)
5386          if (c > 1 || (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)) {
5387            const e = n.loadPrevNextAmount,
5388              t = Math.ceil(c),
5389              s = Math.min(i + t + Math.max(e, t), a.length),
5390              r = Math.max(i - Math.max(t, e), 0);
5391            for (let e = i + t; e < s; e += 1) p(e) && o(e);
5392            for (let e = r; e < i; e += 1) p(e) && o(e);
5393          } else {
5394            const t = e.children(`.${s.slideNextClass}`);
5395            t.length > 0 && o(u(t));
5396            const a = e.children(`.${s.slidePrevClass}`);
5397            a.length > 0 && o(u(a));
5398          }
5399      }
5400      function p() {
5401        const e = r();
5402        if (!t || t.destroyed) return;
5403        const s = t.params.lazy.scrollingElement
5404            ? d(t.params.lazy.scrollingElement)
5405            : d(e),
5406          a = s[0] === e,
5407          i = a ? e.innerWidth : s[0].offsetWidth,
5408          l = a ? e.innerHeight : s[0].offsetHeight,
5409          o = t.$el.offset(),
5410          { rtlTranslate: u } = t;
5411        let h = !1;
5412        u && (o.left -= t.$el[0].scrollLeft);
5413        const m = [
5414          [o.left, o.top],
5415          [o.left + t.width, o.top],
5416          [o.left, o.top + t.height],
5417          [o.left + t.width, o.top + t.height],
5418        ];
5419        for (let e = 0; e < m.length; e += 1) {
5420          const t = m[e];
5421          if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) {
5422            if (0 === t[0] && 0 === t[1]) continue;
5423            h = !0;
5424          }
5425        }
5426        const f = !(
5427          "touchstart" !== t.touchEvents.start ||
5428          !t.support.passiveListener ||
5429          !t.params.passiveListeners
5430        ) && { passive: !0, capture: !1 };
5431        h
5432          ? (c(), s.off("scroll", p, f))
5433          : n || ((n = !0), s.on("scroll", p, f));
5434      }
5435      a("beforeInit", () => {
5436        t.params.lazy.enabled &&
5437          t.params.preloadImages &&
5438          (t.params.preloadImages = !1);
5439      }),
5440        a("init", () => {
5441          t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c());
5442        }),
5443        a("scroll", () => {
5444          t.params.freeMode &&
5445            t.params.freeMode.enabled &&
5446            !t.params.freeMode.sticky &&
5447            c();
5448        }),
5449        a("scrollbarDragMove resize _freeModeNoMomentumRelease", () => {
5450          t.params.lazy.enabled && (t.params.lazy.checkInView ? p() : c());
5451        }),
5452        a("transitionStart", () => {
5453          t.params.lazy.enabled &&
5454            (t.params.lazy.loadOnTransitionStart ||
5455              (!t.params.lazy.loadOnTransitionStart && !l)) &&
5456            (t.params.lazy.checkInView ? p() : c());
5457        }),
5458        a("transitionEnd", () => {
5459          t.params.lazy.enabled &&
5460            !t.params.lazy.loadOnTransitionStart &&
5461            (t.params.lazy.checkInView ? p() : c());
5462        }),
5463        a("slideChange", () => {
5464          const {
5465            lazy: e,
5466            cssMode: s,
5467            watchSlidesProgress: a,
5468            touchReleaseOnEdges: i,
5469            resistanceRatio: r,
5470          } = t.params;
5471          e.enabled && (s || (a && (i || 0 === r))) && c();
5472        }),
5473        a("destroy", () => {
5474          t.$el &&
5475            t.$el
5476              .find(`.${t.params.lazy.loadingClass}`)
5477              .removeClass(t.params.lazy.loadingClass);
5478        }),
5479        Object.assign(t.lazy, { load: c, loadInSlide: o });
5480    },
5481    function (e) {
5482      let { swiper: t, extendParams: s, on: a } = e;
5483      function i(e, t) {
5484        const s = (function () {
5485          let e, t, s;
5486          return (a, i) => {
5487            for (t = -1, e = a.length; e - t > 1; )
5488              (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
5489            return e;
5490          };
5491        })();
5492        let a, i;
5493        return (
5494          (this.x = e),
5495          (this.y = t),
5496          (this.lastIndex = e.length - 1),
5497          (this.interpolate = function (e) {
5498            return e
5499              ? ((i = s(this.x, e)),
5500                (a = i - 1),
5501                ((e - this.x[a]) * (this.y[i] - this.y[a])) /
5502                  (this.x[i] - this.x[a]) +
5503                  this.y[a])
5504              : 0;
5505          }),
5506          this
5507        );
5508      }
5509      function r() {
5510        t.controller.control &&
5511          t.controller.spline &&
5512          ((t.controller.spline = void 0), delete t.controller.spline);
5513      }
5514      s({ controller: { control: void 0, inverse: !1, by: "slide" } }),
5515        (t.controller = { control: void 0 }),
5516        a("beforeInit", () => {
5517          t.controller.control = t.params.controller.control;
5518        }),
5519        a("update", () => {
5520          r();
5521        }),
5522        a("resize", () => {
5523          r();
5524        }),
5525        a("observerUpdate", () => {
5526          r();
5527        }),
5528        a("setTranslate", (e, s, a) => {
5529          t.controller.control && t.controller.setTranslate(s, a);
5530        }),
5531        a("setTransition", (e, s, a) => {
5532          t.controller.control && t.controller.setTransition(s, a);
5533        }),
5534        Object.assign(t.controller, {
5535          setTranslate: function (e, s) {
5536            const a = t.controller.control;
5537            let r, n;
5538            const l = t.constructor;
5539            function o(e) {
5540              const s = t.rtlTranslate ? -t.translate : t.translate;
5541              "slide" === t.params.controller.by &&
5542                (!(function (e) {
5543                  t.controller.spline ||
5544                    (t.controller.spline = t.params.loop
5545                      ? new i(t.slidesGrid, e.slidesGrid)
5546                      : new i(t.snapGrid, e.snapGrid));
5547                })(e),
5548                (n = -t.controller.spline.interpolate(-s))),
5549                (n && "container" !== t.params.controller.by) ||
5550                  ((r =
5551                    (e.maxTranslate() - e.minTranslate()) /
5552                    (t.maxTranslate() - t.minTranslate())),
5553                  (n = (s - t.minTranslate()) * r + e.minTranslate())),
5554                t.params.controller.inverse && (n = e.maxTranslate() - n),
5555                e.updateProgress(n),
5556                e.setTranslate(n, t),
5557                e.updateActiveIndex(),
5558                e.updateSlidesClasses();
5559            }
5560            if (Array.isArray(a))
5561              for (let e = 0; e < a.length; e += 1)
5562                a[e] !== s && a[e] instanceof l && o(a[e]);
5563            else a instanceof l && s !== a && o(a);
5564          },
5565          setTransition: function (e, s) {
5566            const a = t.constructor,
5567              i = t.controller.control;
5568            let r;
5569            function n(s) {
5570              s.setTransition(e, t),
5571                0 !== e &&
5572                  (s.transitionStart(),
5573                  s.params.autoHeight &&
5574                    p(() => {
5575                      s.updateAutoHeight();
5576                    }),
5577                  s.$wrapperEl.transitionEnd(() => {
5578                    i &&
5579                      (s.params.loop &&
5580                        "slide" === t.params.controller.by &&
5581                        s.loopFix(),
5582                      s.transitionEnd());
5583                  }));
5584            }
5585            if (Array.isArray(i))
5586              for (r = 0; r < i.length; r += 1)
5587                i[r] !== s && i[r] instanceof a && n(i[r]);
5588            else i instanceof a && s !== i && n(i);
5589          },
5590        });
5591    },
5592    function (e) {
5593      let { swiper: t, extendParams: s, on: a } = e;
5594      s({
5595        a11y: {
5596          enabled: !0,
5597          notificationClass: "swiper-notification",
5598          prevSlideMessage: "Previous slide",
5599          nextSlideMessage: "Next slide",
5600          firstSlideMessage: "This is the first slide",
5601          lastSlideMessage: "This is the last slide",
5602          paginationBulletMessage: "Go to slide {{index}}",
5603          slideLabelMessage: "{{index}} / {{slidesLength}}",
5604          containerMessage: null,
5605          containerRoledescMessage: null,
5606          itemRoledescMessage: null,
5607          slideRole: "group",
5608          id: null,
5609        },
5610      });
5611      let i = null;
5612      function r(e) {
5613        const t = i;
5614        0 !== t.length && (t.html(""), t.html(e));
5615      }
5616      function n(e) {
5617        e.attr("tabIndex", "0");
5618      }
5619      function l(e) {
5620        e.attr("tabIndex", "-1");
5621      }
5622      function o(e, t) {
5623        e.attr("role", t);
5624      }
5625      function c(e, t) {
5626        e.attr("aria-roledesc", t);
5627      }
5628      function p(e, t) {
5629        e.attr("aria-label", t);
5630      }
5631      function u(e) {
5632        e.attr("aria-disabled", !0);
5633      }
5634      function h(e) {
5635        e.attr("aria-disabled", !1);
5636      }
5637      function m(e) {
5638        if (13 !== e.keyCode && 32 !== e.keyCode) return;
5639        const s = t.params.a11y,
5640          a = d(e.target);
5641        t.navigation &&
5642          t.navigation.$nextEl &&
5643          a.is(t.navigation.$nextEl) &&
5644          ((t.isEnd && !t.params.loop) || t.slideNext(),
5645          t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)),
5646          t.navigation &&
5647            t.navigation.$prevEl &&
5648            a.is(t.navigation.$prevEl) &&
5649            ((t.isBeginning && !t.params.loop) || t.slidePrev(),
5650            t.isBeginning ? r(s.firstSlideMessage) : r(s.prevSlideMessage)),
5651          t.pagination &&
5652            a.is(U(t.params.pagination.bulletClass)) &&
5653            a[0].click();
5654      }
5655      function f() {
5656        return (
5657          t.pagination && t.pagination.bullets && t.pagination.bullets.length
5658        );
5659      }
5660      function g() {
5661        return f() && t.params.pagination.clickable;
5662      }
5663      const v = (e, t, s) => {
5664          n(e),
5665            "BUTTON" !== e[0].tagName && (o(e, "button"), e.on("key
5665down", m)),
5666            p(e, s),
5667            (function (e, t) {
5668              e.attr("aria-controls", t);
5669            })(e, t);
5670        },
5671        w = (e) => {
5672          const s = e.target.closest(`.${t.params.slideClass}`);
5673          if (!s || !t.slides.includes(s)) return;
5674          const a = t.slides.indexOf(s) === t.activeIndex,
5675            i =
5676              t.params.watchSlidesProgress &&
5677              t.visibleSlides &&
5678              t.visibleSlides.includes(s);
5679          a ||
5680            i ||
5681            (t.isHorizontal() ? (t.el.scrollLeft = 0) : (t.el.scrollTop = 0),
5682            t.slideTo(t.slides.indexOf(s), 0));
5683        },
5684        b = () => {
5685          const e = t.params.a11y;
5686          e.itemRoledescMessage && c(d(t.slides), e.itemRoledescMessage),
5687            e.slideRole && o(d(t.slides), e.slideRole);
5688          const s = t.params.loop
5689            ? t.slides.filter(
5690                (e) => !e.classList.contains(t.params.slideDuplicateClass)
5691              ).length
5692            : t.slides.length;
5693          e.slideLabelMessage &&
5694            t.slides.each((a, i) => {
5695              const r = d(a),
5696                n = t.params.loop
5697                  ? parseInt(r.attr("data-swiper-slide-index"), 10)
5698                  : i;
5699              p(
5700                r,
5701                e.slideLabelMessage
5702                  .replace(/\{\{index\}\}/, n + 1)
5703                  .replace(/\{\{slidesLength\}\}/, s)
5704              );
5705            });
5706        },
5707        x = () => {
5708          const e = t.params.a11y;
5709          t.$el.append(i);
5710          const s = t.$el;
5711          e.containerRoledescMessage && c(s, e.containerRoledescMessage),
5712            e.containerMessage && p(s, e.containerMessage);
5713          const a = t.$wrapperEl,
5714            r =
5715              e.id ||
5716              a.attr("id") ||
5717              `swiper-wrapper-${
5718                ((n = 16),
5719                void 0 === n && (n = 16),
5720                "x"
5721                  .repeat(n)
5722                  .replace(/x/g, () =>
5723                    Math.round(16 * Math.random()).toString(16)
5724                  ))
5725              }`;
5726          var n;
5727          const l =
5728            t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite";
5729          var o;
5730          let d, u;
5731          (o = r),
5732            a.attr("id", o),
5733            (function (e, t) {
5734              e.attr("aria-live", t);
5735            })(a, l),
5736            b(),
5737            t.navigation && t.navigation.$nextEl && (d = t.navigation.$nextEl),
5738            t.navigation && t.navigation.$prevEl && (u = t.navigation.$prevEl),
5739            d && d.length && v(d, r, e.nextSlideMessage),
5740            u && u.length && v(u, r, e.prevSlideMessage),
5741            g() &&
5742              t.pagination.$el.on(
5743                "keydown",
5744                U(t.params.pagination.bulletClass),
5745                m
5746              ),
5747            t.$el.on("focus", w, !0);
5748        };
5749      a("beforeInit", () => {
5750        i = d(
5751          `<span class="${t.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`
5752        );
5753      }),
5754        a("afterInit", () => {
5755          t.params.a11y.enabled && x();
5756        }),
5757        a(
5758          "slidesLengthChange snapGridLengthChange slidesGridLengthChange",
5759          () => {
5760            t.params.a11y.enabled && b();
5761          }
5762        ),
5763        a("fromEdge toEdge afterInit lock unlock", () => {
5764          t.params.a11y.enabled &&
5765            (function () {
5766              if (t.params.loop || t.params.rewind || !t.navigation) return;
5767              const { $nextEl: e, $prevEl: s } = t.navigation;
5768              s &&
5769                s.length > 0 &&
5770                (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))),
5771                e && e.length > 0 && (t.isEnd ? (u(e), l(e)) : (h(e), n(e)));
5772            })();
5773        }),
5774        a("paginationUpdate", () => {
5775          t.params.a11y.enabled &&
5776            (function () {
5777              const e = t.params.a11y;
5778              f() &&
5779                t.pagination.bullets.each((s) => {
5780                  const a = d(s);
5781                  t.params.pagination.clickable &&
5782                    (n(a),
5783                    t.params.pagination.renderBullet ||
5784                      (o(a, "button"),
5785                      p(
5786                        a,
5787                        e.paginationBulletMessage.replace(
5788                          /\{\{index\}\}/,
5789                          a.index() + 1
5790                        )
5791                      ))),
5792                    a.is(`.${t.params.pagination.bulletActiveClass}`)
5793                      ? a.attr("aria-current", "true")
5794                      : a.removeAttr("aria-current");
5795                });
5796            })();
5797        }),
5798        a("destroy", () => {
5799          t.params.a11y.enabled &&
5800            (function () {
5801              let e, s;
5802              i && i.length > 0 && i.remove(),
5803                t.navigation &&
5804                  t.navigation.$nextEl &&
5805                  (e = t.navigation.$nextEl),
5806                t.navigation &&
5807                  t.navigation.$prevEl &&
5808                  (s = t.navigation.$prevEl),
5809                e && e.off("keydown", m),
5810                s && s.off("keydown", m),
5811                g() &&
5812                  t.pagination.$el.off(
5813                    "keydown",
5814                    U(t.params.pagination.bulletClass),
5815                    m
5816                  ),
5817                t.$el.off("focus", w, !0);
5818            })();
5819        });
5820    },
5821    function (e) {
5822      let { swiper: t, extendParams: s, on: a } = e;
5823      s({
5824        history: {
5825          enabled: !1,
5826          root: "",
5827          replaceState: !1,
5828          key: "slides",
5829          keepQuery: !1,
5830        },
5831      });
5832      let i = !1,
5833        n = {};
5834      const l = (e) =>
5835          e
5836            .toString()
5837            .replace(/\s+/g, "-")
5838            .replace(/[^\w-]+/g, "")
5839            .replace(/--+/g, "-")
5840            .replace(/^-+/, "")
5841            .replace(/-+$/, ""),
5842        o = (e) => {
5843          const t = r();
5844          let s;
5845          s = e ? new URL(e) : t.location;
5846          const a = s.pathname
5847              .slice(1)
5848              .split("/")
5849              .filter((e) => "" !== e),
5850            i = a.length;
5851          return { key: a[i - 2], value: a[i - 1] };
5852        },
5853        d = (e, s) => {
5854          const a = r();
5855          if (!i || !t.params.history.enabled) return;
5856          let n;
5857          n = t.params.url ? new URL(t.params.url) : a.location;
5858          const o = t.slides.eq(s);
5859          let d = l(o.attr("data-history"));
5860          if (t.params.history.root.length > 0) {
5861            let s = t.params.history.root;
5862            "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)),
5863              (d = `${s}/${e}/${d}`);
5864          } else n.pathname.includes(e) || (d = `${e}/${d}
5864`);
5865          t.params.history.keepQuery && (d += n.search);
5866          const c = a.history.state;
5867          (c && c.value === d) ||
5868            (t.params.history.replaceState
5869              ? a.history.replaceState({ value: d }, null, d)
5870              : a.history.pushState({ value: d }, null, d));
5871        },
5872        c = (e, s, a) => {
5873          if (s)
5874            for (let i = 0, r = t.slides.length; i < r; i += 1) {
5875              const r = t.slides.eq(i);
5876              if (
5877                l(r.attr("data-history")) === s &&
5878                !r.hasClass(t.params.slideDuplicateClass)
5879              ) {
5880                const s = r.index();
5881                t.slideTo(s, e, a);
5882              }
5883            }
5884          else t.slideTo(0, e, a);
5885        },
5886        p = () => {
5887          (n = o(t.params.url)), c(t.params.speed, n.value, !1);
5888        };
5889      a("init", () => {
5890        t.params.history.enabled &&
5891          (() => {
5892            const e = r();
5893            if (t.params.history) {
5894              if (!e.history || !e.history.pushState)
5895                return (
5896                  (t.params.history.enabled = !1),
5897                  void (t.params.hashNavigation.enabled = !0)
5898                );
5899              (i = !0),
5900                (n = o(t.params.url)),
5901                (n.key || n.value) &&
5902                  (c(0, n.value, t.params.runCallbacksOnInit),
5903                  t.params.history.replaceState ||
5904                    e.addEventListener("popstate", p));
5905            }
5906          })();
5907      }),
5908        a("destroy", () => {
5909          t.params.history.enabled &&
5910            (() => {
5911              const e = r();
5912              t.params.history.replaceState ||
5913                e.removeEventListener("popstate", p);
5914            })();
5915        }),
5916        a("transitionEnd _freeModeNoMomentumRelease", () => {
5917          i && d(t.params.history.key, t.activeIndex);
5918        }),
5919        a("slideChange", () => {
5920          i && t.params.cssMode && d(t.params.history.key, t.activeIndex);
5921        });
5922    },
5923    function (e) {
5924      let { swiper: t, extendParams: s, emit: i, on: n } = e,
5925        l = !1;
5926      const o = a(),
5927        c = r();
5928      s({ hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } });
5929      const p = () => {
5930          i("hashChange");
5931          const e = o.location.hash.replace("#", "");
5932          if (e !== t.slides.eq(t.activeIndex).attr("data-hash")) {
5933            const s = t.$wrapperEl
5934              .children(`.${t.params.slideClass}[data-hash="${e}"]`)
5935              .index();
5936            if (void 0 === s) return;
5937            t.slideTo(s);
5938          }
5939        },
5940        u = () => {
5941          if (l && t.params.hashNavigation.enabled)
5942            if (
5943              t.params.hashNavigation.replaceState &&
5944              c.history &&
5945              c.history.replaceState
5946            )
5947              c.history.replaceState(
5948                null,
5949                null,
5950                `#${t.slides.eq(t.activeIndex).attr("data-hash")}` || ""
5951              ),
5952                i("hashSet");
5953            else {
5954              const e = t.slides.eq(t.activeIndex),
5955                s = e.attr("data-hash") || e.attr("data-history");
5956              (o.location.hash = s || ""), i("hashSet");
5957            }
5958        };
5959      n("init", () => {
5960        t.params.hashNavigation.enabled &&
5961          (() => {
5962            if (
5963              !t.params.hashNavigation.enabled ||
5964              (t.params.history && t.params.history.enabled)
5965            )
5966              return;
5967            l = !0;
5968            const e = o.location.hash.replace("#", "");
5969            if (e) {
5970              const s = 0;
5971              for (let a = 0, i = t.slides.length; a < i; a += 1) {
5972                const i = t.slides.eq(a);
5973                if (
5974                  (i.attr("data-hash") || i.attr("data-history")) === e &&
5975                  !i.hasClass(t.params.slideDuplicateClass)
5976                ) {
5977                  const e = i.index();
5978                  t.slideTo(e, s, t.params.runCallbacksOnInit, !0);
5979                }
5980              }
5981            }
5982            t.params.hashNavigation.watchState && d(c).on("hashchange", p);
5983          })();
5984      }),
5985        n("destroy", () => {
5986          t.params.hashNavigation.enabled &&
5987            t.params.hashNavigation.watchState &&
5988            d(c).off("hashchange", p);
5989        }),
5990        n("transitionEnd _freeModeNoMomentumRelease", () => {
5991          l && u();
5992        }),
5993        n("slideChange", () => {
5994          l && t.params.cssMode && u();
5995        });
5996    },
5997    function (e) {
5998      let t,
5999        { swiper: s, extendParams: i, on: r, emit: n } = e;
6000      function l() {
6001        if (!s.size)
6002          return (s.autoplay.running = !1), void (s.autoplay.paused = !1);
6003        const e = s.slides.eq(s.activeIndex);
6004        let a = s.params.autoplay.delay;
6005        e.attr("data-swiper-autoplay") &&
6006          (a = e.attr("data-swiper-autoplay") || s.params.autoplay.delay),
6007          clearTimeout(t),
6008          (t = p(() => {
6009            let e;
6010            s.params.autoplay.reverseDirection
6011              ? s.params.loop
6012                ? (s.loopFix(),
6013                  (e = s.slidePrev(s.params.speed, !0, !0)),
6014                  n("autoplay"))
6015                : s.isBeginning
6016                ? s.params.autoplay.stopOnLastSlide
6017                  ? d()
6018                  : ((e = s.slideTo(
6019                      s.slides.length - 1,
6020                      s.params.speed,
6021                      !0,
6022                      !0
6023                    )),
6024                    n("autoplay"))
6025                : ((e = s.slidePrev(s.params.speed, !0, !0)), n("autoplay"))
6026              : s.params.loop
6027              ? (s.loopFix(),
6028                (e = s.slideNext(s.params.speed, !0, !0)),
6029                n("autoplay"))
6030              : s.isEnd
6031              ? s.params.autoplay.stopOnLastSlide
6032                ? d()
6033                : ((e = s.slideTo(0, s.params.speed, !0, !0)), n("autoplay"))
6034              : ((e = s.slideNext(s.params.speed, !0, !0)), n("autoplay")),
6035              ((s.params.cssMode && s.autoplay.running) || !1 === e) && l();
6036          }, a));
6037      }
6038      function o() {
6039        return (
6040          void 0 === t &&
6041          !s.autoplay.running &&
6042          ((s.autoplay.running = !0), n("autoplayStart"), l(), !0)
6043        );
6044      }
6045      function d() {
6046        return (
6047          !!s.autoplay.running &&
6048          void 0 !== t &&
6049          (t && (clearTimeout(t), (t = void 0)),
6050          (s.autoplay.running = !1),
6051          n("autoplayStop"),
6052          !0)
6053        );
6054      }
6055      function c(e) {
6056        s.autoplay.running &&
6057          (s.autoplay.paused ||
6058            (t && clearTimeout(t),
6059            (s.autoplay.paused = !0),
6060            0 !== e && s.params.autoplay.waitForTransition
6061              ? ["transitionend", "webkitTransitionEnd"].forEach((e) => {
6062                  s.$wrapperEl[0].addEventListener(e, h);
6063                })
6064              : ((s.autoplay.paused = !1), l())));
6065      }
6066      function u() {
6067        const e = a();
6068        "hidden" === e.visibilityState && s.autoplay.running && c(),
6069          "visible" === e.visibilityState &&
6070            s.autoplay.paused &&
6071            (l(), (s.autoplay.paused = !1));
6072      }
6073      function h(e) {
6074        s &&
6075          !s.destroyed &&
6076          s.$wrapperEl &&
6077          e.target === s.$wrapperEl[0] &&
6078          (["transitionend", "webkitTransitionEnd"].forEach((e) => {
6079            s.$wrapperEl[0].removeEventListener(e, h);
6080          }),
6081          (s.autoplay.paused = !1),
6082          s.autoplay.running ? l() : d());
6083      }
6084      function m() {
6085        s.params.autoplay.disableOnInteraction
6086          ? d()
6087          : (n("autoplayPause"), c()),
6088          ["transitionend", "webkitTransitionEnd"].forEach((e) => {
6089            s.$wrapperEl[0].removeEventListener(e, h);
6090          });
6091      }
6092      function f() {
6093        s.params.autoplay.disableOnInteraction ||
6094          ((s.autoplay.paused = !1), n("autoplayResume"), l());
6095      }
6096      (s.autoplay = { running: !1, paused: !1 }),
6097        i({
6098          autoplay: {
6099            enabled: !1,
6100            delay: 3e3,
6101            waitForTransition: !0,
6102            disableOnInteraction: !0,
6103            stopOnLastSlide: !1,
6104            reverseDirection: !1,
6105            pauseOnMouseEnter: !1,
6106          },
6107        }),
6108        r("init", () => {
6109          if (s.params.autoplay.enabled) {
6110            o();
6111            a().addEventListener("visibilitychange", u),
6112              s.params.autoplay.pauseOnMouseEnter &&
6113                (s.$el.on("mouseenter", m), s.$el.on("mouseleave", f));
6114          }
6115        }),
6116        r("beforeTransitionStart", (e, t, a) => {
6117          s.autoplay.running &&
6118            (a || !s.params.autoplay.disableOnInteraction
6119              ? s.autoplay.pause(t)
6120              : d());
6121        }),
6122        r("sliderFirstMove", () => {
6123          s.autoplay.running &&
6124            (s.params.autoplay.disableOnInteraction ? d() : c());
6125        }),
6126        r("touchEnd", () => {
6127          s.params.cssMode &&
6128            s.autoplay.paused &&
6129            !s.params.autoplay.disableOnInteraction &&
6130            l();
6131        }),
6132        r("destroy", () => {
6133          s.$el.off("mouseenter", m),
6134            s.$el.off("mouseleave", f),
6135            s.autoplay.running && d();
6136          a().removeEventListener("visibilitychange", u);
6137        }),
6138        Object.assign(s.autoplay, { pause: c, run: l, start: o, stop: d });
6139    },
6140    function (e) {
6141      let { swiper: t, extendParams: s, on: a } = e;
6142      s({
6143        thumbs: {
6144          swiper: null,
6145          multipleActiveThumbs: !0,
6146          autoScrollOffset: 0,
6147          slideThumbActiveClass: "swiper-slide-thumb-active",
6148          thumbsContainerClass: "swiper-thumbs",
6149        },
6150      });
6151      let i = !1,
6152        r = !1;
6153      function n() {
6154        const e = t.thumbs.swiper;
6155        if (!e || e.destroyed) return;
6156        const s = e.clickedIndex,
6157          a = e.clickedSlide;
6158        if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass)) return;
6159        if (null == s) return;
6160        let i;
6161        if (
6162          ((i = e.params.loop
6163            ? parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10)
6164            : s),
6165          t.params.loop)
6166        ) {
6167          let e = t.activeIndex;
6168          t.slides.eq(e).hasClass(t.params.slideDuplicateClass) &&
6169            (t.loopFix(),
6170            (t._clientLeft = t.$wrapperEl[0].clientLeft),
6171            (e = t.activeIndex));
6172          const s = t.slides
6173              .eq(e)
6174              .prevAll(`[data-swiper-slide-index="${i}"]`)
6175              .eq(0)
6176              .index(),
6177            a = t.slides
6178              .eq(e)
6179              .nextAll(`[data-swiper-slide-index="${i}"]`)
6180              .eq(0)
6181              .index();
6182          i = void 0 === s ? a : void 0 === a ? s : a - e < e - s ? a : s;
6183        }
6184        t.slideTo(i);
6185      }
6186      function l() {
6187        const { thumbs: e } = t.params;
6188        if (i) return !1;
6189        i = !0;
6190        const s = t.constructor;
6191        if (e.swiper instanceof s)
6192          (t.thumbs.swiper = e.swiper),
6193            Object.assign(t.thumbs.swiper.originalParams, {
6194              watchSlidesProgress: !0,
6195              slideToClickedSlide: !1,
6196            }),
6197            Object.assign(t.thumbs.swiper.params, {
6198              watchSlidesProgress: !0,
6199              slideToClickedSlide: !1,
6200            });
6201        else if (m(e.swiper)) {
6202          const a = Object.assign({}, e.swiper);
6203          Object.assign(a, {
6204            watchSlidesProgress: !0,
6205            slideToClickedSlide: !1,
6206          }),
6207            (t.thumbs.swiper = new s(a)),
6208            (r = !0);
6209        }
6210        return (
6211          t.thumbs.swiper.$el.addClass(t.params.thumbs.thumbsContainerClass),
6212          t.thumbs.swiper.on("tap", n),
6213          !0
6214        );
6215      }
6216      function o(e) {
6217        const s = t.thumbs.swiper;
6218        if (!s || s.destroyed) return;
6219        const a =
6220          "auto" === s.params.slidesPerView
6221            ? s.slidesPerViewDynamic()
6222            : s.params.slidesPerView;
6223        let i = 1;
6224        const r = t.params.thumbs.slideThumbActiveClass;
6225        if (
6226          (t.params.slidesPerView > 1 &&
6227            !t.params.centeredSlides &&
6228            (i = t.params.slidesPerView),
6229          t.params.thumbs.multipleActiveThumbs || (i = 1),
6230          (i = Math.floor(i)),
6231          s.slides.removeClass(r),
6232          s.params.loop || (s.params.virtual && s.params.virtual.enabled))
6233        )
6234          for (let e = 0; e < i; e += 1)
6235            s.$wrapperEl
6236              .children(`[data-swiper-slide-index="${t.realIndex + e}"]`)
6237              .addClass(r);
6238        else
6239          for (let e = 0; e < i; e += 1)
6240            s.slides.eq(t.realIndex + e).addClass(r);
6241        const n = t.params.thumbs.autoScrollOffset,
6242          l = n && !s.params.loop;
6243        if (t.realIndex !== s.realIndex || l) {
6244          let i,
6245            r,
6246            o = s.activeIndex;
6247          if (s.params.loop) {
6248            s.slides.eq(o).hasClass(s.params.slideDuplicateClass) &&
6249              (s.loopFix(),
6250              (s._clientLeft = s.$wrapperEl[0].clientLeft),
6251              (o = s.activeIndex));
6252            const e = s.slides
6253                .eq(o)
6254                .prevAll(`[data-swiper-slide-index="${t.realIndex}"]`)
6255                .eq(0)
6256                .index(),
6257              a = s.slides
6258                .eq(o)
6259                .nextAll(`[data-swiper-slide-index="${t.realIndex}"]`)
6260                .eq(0)
6261                .index();
6262            (i =
6263              void 0 === e
6264                ? a
6265                : void 0 === a
6266                ? e
6267                : a - o == o - e
6268                ? s.params.slidesPerGroup > 1
6269                  ? a
6270                  : o
6271                : a - o < o - e
6272                ? a
6273                : e),
6274              (r = t.activeIndex > t.previousIndex ? "next" : "prev");
6275          } else (i = t.realIndex), (r = i > t.previousIndex ? "next" : "prev");
6276          l && (i += "next" === r ? n : -1 * n),
6277            s.visibleSlidesIndexes &&
6278              s.visibleSlidesIndexes.indexOf(i) < 0 &&
6279              (s.params.centeredSlides
6280                ? (i =
6281                    i > o
6282                      ? i - Math.floor(a / 2) + 1
6283                      : i + Math.floor(a / 2) - 1)
6284                : i > o && s.params.slidesPerGroup,
6285              s.slideTo(i, e ? 0 : void 0));
6286        }
6287      }
6288      (t.thumbs = { swiper: null }),
6289        a("beforeInit", () => {
6290          const { thumbs: e } = t.params;
6291          e && e.swiper && (l(), o(!0));
6292        }),
6293        a("slideChange update resize observerUpdate", () => {
6294          o();
6295        }),
6296        a("setTransition", (e, s) => {
6297          const a = t.thumbs.swiper;
6298          a && !a.destroyed && a.setTransition(s);
6299        }),
6300        a("beforeDestroy", () => {
6301          const e = t.thumbs.swiper;
6302          e && !e.destroyed && r && e.destroy();
6303        }),
6304        Object.assign(t.thumbs, { init: l, update: o });
6305    },
6306    function (e) {
6307      let { swiper: t, extendParams: s, emit: a, once: i } = e;
6308      s({
6309        freeMode: {
6310          enabled: !1,
6311          momentum: !0,
6312          momentumRatio: 1,
6313          momentumBounce: !0,
6314          momentumBounceRatio: 1,
6315          momentumVelocityRatio: 1,
6316          sticky: !1,
6317          minimumVelocity: 0.02,
6318        },
6319      }),
6320        Object.assign(t, {
6321          freeMode: {
6322            onTouchStart: function () {
6323              const e = t.getTranslate();
6324              t.setTranslate(e),
6325                t.setTransition(0),
6326                (t.touchEventsData.velocities.length = 0),
6327                t.freeMode.onTouchEnd({
6328                  currentPos: t.rtl ? t.translate : -t.translate,
6329                });
6330            },
6331            onTouchMove: function () {
6332              const { touchEventsData: e, touches: s } = t;
6333              0 === e.velocities.length &&
6334                e.velocities.push({
6335                  position: s[t.isHorizontal() ? "startX" : "startY"],
6336                  time: e.touchStartTime,
6337                }),
6338                e.velocities.push({
6339                  position: s[t.isHorizontal() ? "currentX" : "currentY"],
6340                  time: u(),
6341                });
6342            },
6343            onTouchEnd: function (e) {
6344              let { currentPos: s } = e;
6345              const {
6346                  params: r,
6347                  $wrapperEl: n,
6348                  rtlTranslate: l,
6349                  snapGrid: o,
6350                  touchEventsData: d,
6351                } = t,
6352                c = u() - d.touchStartTime;
6353              if (s < -t.minTranslate()) t.slideTo(t.activeIndex);
6354              else if (s > -t.maxTranslate())
6355                t.slides.length < o.length
6356                  ? t.slideTo(o.length - 1)
6357                  : t.slideTo(t.slides.length - 1);
6358              else {
6359                if (r.freeMode.momentum) {
6360                  if (d.velocities.length > 1) {
6361                    const e = d.velocities.pop(),
6362                      s = d.velocities.pop(),
6363                      a = e.position - s.position,
6364                      i = e.time - s.time;
6365                    (t.velocity = a / i),
6366                      (t.velocity /= 2),
6367                      Math.abs(t.velocity) < r.freeMode.minimumVelocity &&
6368                        (t.velocity = 0),
6369                      (i > 150 || u() - e.time > 300) && (t.velocity = 0);
6370                  } else t.velocity = 0;
6371                  (t.velocity *= r.freeMode.momentumVelocityRatio),
6372                    (d.velocities.length = 0);
6373                  let e = 1e3 * r.freeMode.momentumRatio;
6374                  const s = t.velocity * e;
6375                  let c = t.translate + s;
6376                  l && (c = -c);
6377                  let p,
6378                    h = !1;
6379                  const m =
6380                    20 * Math.abs(t.velocity) * r.freeMode.momentumBounceRatio;
6381                  let f;
6382                  if (c < t.maxTranslate())
6383                    r.freeMode.momentumBounce
6384                      ? (c + t.maxTranslate() < -m &&
6385                          (c = t.maxTranslate() - m),
6386                        (p = t.maxTranslate()),
6387                        (h = !0),
6388                        (d.allowMomentumBounce = !0))
6389                      : (c = t.maxTranslate()),
6390                      r.loop && r.centeredSlides && (f = !0);
6391                  else if (c > t.minTranslate())
6392                    r.freeMode.momentumBounce
6393                      ? (c - t.minTranslate() > m && (c = t.minTranslate() + m),
6394                        (p = t.minTranslate()),
6395                        (h = !0),
6396                        (d.allowMomentumBounce = !0))
6397                      : (c = t.minTranslate()),
6398                      r.loop && r.centeredSlides && (f = !0);
6399                  else if (r.freeMode.sticky) {
6400                    let e;
6401                    for (let t = 0; t < o.length; t += 1)
6402                      if (o[t] > -c) {
6403                        e = t;
6404                        break;
6405                      }
6406                    (c =
6407                      Math.abs(o[e] - c) < Math.abs(o[e - 1] - c) ||
6408                      "next" === t.swipeDirection
6409                        ? o[e]
6410                        : o[e - 1]),
6411                      (c = -c);
6412                  }
6413                  if (
6414                    (f &&
6415                      i("transitionEnd", () => {
6416                        t.loopFix();
6417                      }),
6418                    0 !== t.velocity)
6419                  ) {
6420                    if (
6421                      ((e = l
6422                        ? Math.abs((-c - t.translate) / t.velocity)
6423                        : Math.abs((c - t.translate) / t.velocity)),
6424                      r.freeMode.sticky)
6425                    ) {
6426                      const s = Math.abs((l ? -c : c) - t.translate),
6427                        a = t.slidesSizesGrid[t.activeIndex];
6428                      e =
6429                        s < a
6430                          ? r.speed
6431                          : s < 2 * a
6432                          ? 1.5 * r.speed
6433                          : 2.5 * r.speed;
6434                    }
6435                  } else if (r.freeMode.sticky) return void t.slideToClosest();
6436                  r.freeMode.momentumBounce && h
6437                    ? (t.updateProgress(p),
6438                      t.setTransition(e),
6439                      t.setTranslate(c),
6440                      t.transitionStart(!0, t.swipeDirection),
6441                      (t.animating = !0),
6442                      n.transitionEnd(() => {
6443                        t &&
6444                          !t.destroyed &&
6445                          d.allowMomentumBounce &&
6446                          (a("momentumBounce"),
6447                          t.setTransition(r.speed),
6448                          setTimeout(() => {
6449                            t.setTranslate(p),
6450                              n.transitionEnd(() => {
6451                                t && !t.destroyed && t.transitionEnd();
6452                              });
6453                          }, 0));
6454                      }))
6455                    : t.velocity
6456                    ? (a("_freeModeNoMomentumRelease"),
6457                      t.updateProgress(c),
6458                      t.setTransition(e),
6459                      t.setTranslate(c),
6460                      t.transitionStart(!0, t.swipeDirection),
6461                      t.animating ||
6462                        ((t.animating = !0),
6463                        n.transitionEnd(() => {
6464                          t && !t.destroyed && t.transitionEnd();
6465                        })))
6466                    : t.updateProgress(c),
6467                    t.updateActiveIndex(),
6468                    t.updateSlidesClasses();
6469                } else {
6470                  if (r.freeMode.sticky) return void t.slideToClosest();
6471                  r.freeMode && a("_freeModeNoMomentumRelease");
6472                }
6473                (!r.freeMode.momentum || c >= r.longSwipesMs) &&
6474                  (t.updateProgress(),
6475                  t.updateActiveIndex(),
6476                  t.updateSlidesClasses());
6477              }
6478            },
6479          },
6480        });
6481    },
6482    function (e) {
6483      let t,
6484        s,
6485        a,
6486        { swiper: i, extendParams: r } = e;
6487      r({ grid: { rows: 1, fill: "column" } }),
6488        (i.grid = {
6489          initSlides: (e) => {
6490            const { slidesPerView: r } = i.params,
6491              { rows: n, fill: l } = i.params.grid;
6492            (s = t / n),
6493              (a = Math.floor(e / n)),
6494              (t = Math.floor(e / n) === e / n ? e : Math.ceil(e / n) * n),
6495              "auto" !== r && "row" === l && (t = Math.max(t, r * n));
6496          },
6497          updateSlide: (e, r, n, l) => {
6498            const { slidesPerGroup: o, spaceBetween: d } = i.params,
6499              { rows: c, fill: p } = i.params.grid;
6500            let u, h, m;
6501            if ("row" === p && o > 1) {
6502              const s = Math.floor(e / (o * c)),
6503                a = e - c * o * s,
6504                i = 0 === s ? o : Math.min(Math.ceil((n - s * c * o) / c), o);
6505              (m = Math.floor(a / i)),
6506                (h = a - m * i + s * o),
6507                (u = h + (m * t) / c),
6508                r.css({ "-webkit-order": u, order: u });
6509            } else
6510              "column" === p
6511                ? ((h = Math.floor(e / c)),
6512                  (m = e - h * c),
6513                  (h > a || (h === a && m === c - 1)) &&
6514                    ((m += 1), m >= c && ((m = 0), (h += 1))))
6515                : ((m = Math.floor(e / s)), (h = e - m * s));
6516            r.css(l("margin-top"), 0 !== m ? d && `${d}px` : "");
6517          },
6518          updateWrapperSize: (e, s, a) => {
6519            const {
6520                spaceBetween: r,
6521                centeredSlides: n,
6522                roundLengths: l,
6523              } = i.params,
6524              { rows: o } = i.params.grid;
6525            if (
6526              ((i.virtualSize = (e + r) * t),
6527              (i.virtualSize = Math.ceil(i.virtualSize / o) - r),
6528              i.$wrapperEl.css({ [a("width")]: `${i.virtualSize + r}px` }),
6529              n)
6530            ) {
6531              s.splice(0, s.length);
6532              const e = [];
6533              for (let t = 0; t < s.length; t += 1) {
6534                let a = s[t];
6535                l && (a = Math.floor(a)),
6536                  s[t] < i.virtualSize + s[0] && e.push(a);
6537              }
6538              s.push(...e);
6539            }
6540          },
6541        });
6542    },
6543    function (e) {
6544      let { swiper: t } = e;
6545      Object.assign(t, {
6546        appendSlide: K.bind(t),
6547        prependSlide: Z.bind(t),
6548        addSlide: Q.bind(t),
6549        removeSlide: J.bind(t),
6550        removeAllSlides: ee.bind(t),
6551      });
6552    },
6553    function (e) {
6554      let { swiper: t, extendParams: s, on: a } = e;
6555      s({ fadeEffect: { crossFade: !1, transformEl: null } }),
6556        te({
6557          effect: "fade",
6558          swiper: t,
6559          on: a,
6560          setTranslate: () => {
6561            const { slides: e } = t,
6562              s = t.params.fadeEffect;
6563            for (let a = 0; a < e.length; a += 1) {
6564              const e = t.slides.eq(a);
6565              let i = -e[0].swiperSlideOffset;
6566              t.params.virtualTranslate || (i -= t.translate);
6567              let r = 0;
6568              t.isHorizontal() || ((r = i), (i = 0));
6569              const n = t.params.fadeEffect.crossFade
6570                ? Math.max(1 - Math.abs(e[0].progress), 0)
6571                : 1 + Math.min(Math.max(e[0].progress, -1), 0);
6572              se(s, e)
6573                .css({ opacity: n })
6574                .transform(`translate3d(${i}px, ${r}px, 0px)`);
6575            }
6576          },
6577          setTransition: (e) => {
6578            const { transformEl: s } = t.params.fadeEffect;
6579            (s ? t.slides.find(s) : t.slides).transition(e),
6580              ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 });
6581          },
6582          overwriteParams: () => ({
6583            slidesPerView: 1,
6584            slidesPerGroup: 1,
6585            watchSlidesProgress: !0,
6586            spaceBetween: 0,
6587            virtualTranslate: !t.params.cssMode,
6588          }),
6589        });
6590    },
6591    function (e) {
6592      let { swiper: t, extendParams: s, on: a } = e;
6593      s({
6594        cubeEffect: {
6595          slideShadows: !0,
6596          shadow: !0,
6597          shadowOffset: 20,
6598          shadowScale: 0.94,
6599        },
6600      });
6601      const i = (e, t, s) => {
6602        let a = s
6603            ? e.find(".swiper-slide-shadow-left")
6604            : e.find(".swiper-slide-shadow-top"),
6605          i = s
6606            ? e.find(".swiper-slide-shadow-right")
6607            : e.find(".swiper-slide-shadow-bottom");
6608        0 === a.length &&
6609          ((a = d(
6610            `<div class="swiper-slide-shadow-${s ? "left" : "top"}"></div>`
6611          )),
6612          e.append(a)),
6613          0 === i.length &&
6614            ((i = d(
6615              `<div class="swiper-slide-shadow-${
6616                s ? "right" : "bottom"
6617              }"></div>`
6618            )),
6619            e.append(i)),
6620          a.length && (a[0].style.opacity = Math.max(-t, 0)),
6621          i.length && (i[0].style.opacity = Math.max(t, 0));
6622      };
6623      te({
6624        effect: "cube",
6625        swiper: t,
6626        on: a,
6627        setTranslate: () => {
6628          const {
6629              $el: e,
6630              $wrapperEl: s,
6631              slides: a,
6632              width: r,
6633              height: n,
6634              rtlTranslate: l,
6635              size: o,
6636              browser: c,
6637            } = t,
6638            p = t.params.cubeEffect,
6639            u = t.isHorizontal(),
6640            h = t.virtual && t.params.virtual.enabled;
6641          let m,
6642            f = 0;
6643          p.shadow &&
6644            (u
6645              ? ((m = s.find(".swiper-cube-shadow")),
6646                0 === m.length &&
6647                  ((m = d('<div class="swiper-cube-shadow"></div>')),
6648                  s.append(m)),
6649                m.css({ height: `${r}px` }))
6650              : ((m = e.find(".swiper-cube-shadow")),
6651                0 === m.length &&
6652                  ((m = d('<div class="swiper-cube-shadow"></div>')),
6653                  e.append(m))));
6654          for (let e = 0; e < a.length; e += 1) {
6655            const t = a.eq(e);
6656            let s = e;
6657            h && (s = parseInt(t.attr("data-swiper-slide-index"), 10));
6658            let r = 90 * s,
6659              n = Math.floor(r / 360);
6660            l && ((r = -r), (n = Math.floor(-r / 360)));
6661            const d = Math.max(Math.min(t[0].progress, 1), -1);
6662            let c = 0,
6663              m = 0,
6664              g = 0;
6665            s % 4 == 0
6666              ? ((c = 4 * -n * o), (g = 0))
6667              : (s - 1) % 4 == 0
6668              ? ((c = 0), (g = 4 * -n * o))
6669              : (s - 2) % 4 == 0
6670              ? ((c = o + 4 * n * o), (g = o))
6671              : (s - 3) % 4 == 0 && ((c = -o), (g = 3 * o + 4 * o * n)),
6672              l && (c = -c),
6673              u || ((m = c), (c = 0));
6674            const v = `rotateX(${u ? 0 : -r}deg) rotateY(${
6675              u ? r : 0
6676            }deg) translate3d(${c}
6676px, ${m}px, ${g}px)`;
6677            d <= 1 &&
6678              d > -1 &&
6679              ((f = 90 * s + 90 * d), l && (f = 90 * -s - 90 * d)),
6680              t.transform(v),
6681              p.slideShadows && i(t, d, u);
6682          }
6683          if (
6684            (s.css({
6685              "-webkit-transform-origin": `50% 50% -${o / 2}px`,
6686              "transform-origin": `50% 50% -${o / 2}px`,
6687            }),
6688            p.shadow)
6689          )
6690            if (u)
6691              m.transform(
6692                `translate3d(0px, ${r / 2 + p.shadowOffset}px, ${
6693                  -r / 2
6694                }px) rotateX(90deg) rotateZ(0deg) scale(${p.shadowScale})`
6695              );
6696            else {
6697              const e = Math.abs(f) - 90 * Math.floor(Math.abs(f) / 90),
6698                t =
6699                  1.5 -
6700                  (Math.sin((2 * e * Math.PI) / 360) / 2 +
6701                    Math.cos((2 * e * Math.PI) / 360) / 2),
6702                s = p.shadowScale,
6703                a = p.shadowScale / t,
6704                i = p.shadowOffset;
6705              m.transform(
6706                `scale3d(${s}, 1, ${a}) translate3d(0px, ${n / 2 + i}px, ${
6707                  -n / 2 / a
6708                }px) rotateX(-90deg)`
6709              );
6710            }
6711          const g = c.isSafari || c.isWebView ? -o / 2 : 0;
6712          s.transform(
6713            `translate3d(0px,0,${g}px) rotateX(${
6714              t.isHorizontal() ? 0 : f
6715            }deg) rotateY(${t.isHorizontal() ? -f : 0}deg)`
6716          ),
6717            s[0].style.setProperty("--swiper-cube-translate-z", `${g}px`);
6718        },
6719        setTransition: (e) => {
6720          const { $el: s, slides: a } = t;
6721          a
6722            .transition(e)
6723            .find(
6724              ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6725            )
6726            .transition(e),
6727            t.params.cubeEffect.shadow &&
6728              !t.isHorizontal() &&
6729              s.find(".swiper-cube-shadow").transition(e);
6730        },
6731        recreateShadows: () => {
6732          const e = t.isHorizontal();
6733          t.slides.each((t) => {
6734            const s = Math.max(Math.min(t.progress, 1), -1);
6735            i(d(t), s, e);
6736          });
6737        },
6738        getEffectParams: () => t.params.cubeEffect,
6739        perspective: () => !0,
6740        overwriteParams: () => ({
6741          slidesPerView: 1,
6742          slidesPerGroup: 1,
6743          watchSlidesProgress: !0,
6744          resistanceRatio: 0,
6745          spaceBetween: 0,
6746          centeredSlides: !1,
6747          virtualTranslate: !0,
6748        }),
6749      });
6750    },
6751    function (e) {
6752      let { swiper: t, extendParams: s, on: a } = e;
6753      s({
6754        flipEffect: { slideShadows: !0, limitRotation: !0, transformEl: null },
6755      });
6756      const i = (e, s, a) => {
6757        let i = t.isHorizontal()
6758            ? e.find(".swiper-slide-shadow-left")
6759            : e.find(".swiper-slide-shadow-top"),
6760          r = t.isHorizontal()
6761            ? e.find(".swiper-slide-shadow-right")
6762            : e.find(".swiper-slide-shadow-bottom");
6763        0 === i.length && (i = ie(a, e, t.isHorizontal() ? "left" : "top")),
6764          0 === r.length &&
6765            (r = ie(a, e, t.isHorizontal() ? "right" : "bottom")),
6766          i.length && (i[0].style.opacity = Math.max(-s, 0)),
6767          r.length && (r[0].style.opacity = Math.max(s, 0));
6768      };
6769      te({
6770        effect: "flip",
6771        swiper: t,
6772        on: a,
6773        setTranslate: () => {
6774          const { slides: e, rtlTranslate: s } = t,
6775            a = t.params.flipEffect;
6776          for (let r = 0; r < e.length; r += 1) {
6777            const n = e.eq(r);
6778            let l = n[0].progress;
6779            t.params.flipEffect.limitRotation &&
6780              (l = Math.max(Math.min(n[0].progress, 1), -1));
6781            const o = n[0].swiperSlideOffset;
6782            let d = -180 * l,
6783              c = 0,
6784              p = t.params.cssMode ? -o - t.translate : -o,
6785              u = 0;
6786            t.isHorizontal()
6787              ? s && (d = -d)
6788              : ((u = p), (p = 0), (c = -d), (d = 0)),
6789              (n[0].style.zIndex = -Math.abs(Math.round(l)) + e.length),
6790              a.slideShadows && i(n, l, a);
6791            const h = `translate3d(${p}px, ${u}
6791px, 0px) rotateX(${c}deg) rotateY(${d}deg)`;
6792            se(a, n).transform(h);
6793          }
6794        },
6795        setTransition: (e) => {
6796          const { transformEl: s } = t.params.flipEffect;
6797          (s ? t.slides.find(s) : t.slides)
6798            .transition(e)
6799            .find(
6800              ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6801            )
6802            .transition(e),
6803            ae({ swiper: t, duration: e, transformEl: s });
6804        },
6805        recreateShadows: () => {
6806          const e = t.params.flipEffect;
6807          t.slides.each((s) => {
6808            const a = d(s);
6809            let r = a[0].progress;
6810            t.params.flipEffect.limitRotation &&
6811              (r = Math.max(Math.min(s.progress, 1), -1)),
6812              i(a, r, e);
6813          });
6814        },
6815        getEffectParams: () => t.params.flipEffect,
6816        perspective: () => !0,
6817        overwriteParams: () => ({
6818          slidesPerView: 1,
6819          slidesPerGroup: 1,
6820          watchSlidesProgress: !0,
6821          spaceBetween: 0,
6822          virtualTranslate: !t.params.cssMode,
6823        }),
6824      });
6825    },
6826    function (e) {
6827      let { swiper: t, extendParams: s, on: a } = e;
6828      s({
6829        coverflowEffect: {
6830          rotate: 50,
6831          stretch: 0,
6832          depth: 100,
6833          scale: 1,
6834          modifier: 1,
6835          slideShadows: !0,
6836          transformEl: null,
6837        },
6838      }),
6839        te({
6840          effect: "coverflow",
6841          swiper: t,
6842          on: a,
6843          setTranslate: () => {
6844            const { width: e, height: s, slides: a, slidesSizesGrid: i } = t,
6845              r = t.params.coverflowEffect,
6846              n = t.isHorizontal(),
6847              l = t.translate,
6848              o = n ? e / 2 - l : s / 2 - l,
6849              d = n ? r.rotate : -r.rotate,
6850              c = r.depth;
6851            for (let e = 0, t = a.length; e < t; e += 1) {
6852              const t = a.eq(e),
6853                s = i[e],
6854                l = (o - t[0].swiperSlideOffset - s / 2) / s,
6855                p =
6856                  "function" == typeof r.modifier
6857                    ? r.modifier(l)
6858                    : l * r.modifier;
6859              let u = n ? d * p : 0,
6860                h = n ? 0 : d * p,
6861                m = -c * Math.abs(p),
6862                f = r.stretch;
6863              "string" == typeof f &&
6864                -1 !== f.indexOf("%") &&
6865                (f = (parseFloat(r.stretch) / 100) * s);
6866              let g = n ? 0 : f * p,
6867                v = n ? f * p : 0,
6868                w = 1 - (1 - r.scale) * Math.abs(p);
6869              Math.abs(v) < 0.001 && (v = 0),
6870                Math.abs(g) < 0.001 && (g = 0),
6871                Math.abs(m) < 0.001 && (m = 0),
6872                Math.abs(u) < 0.001 && (u = 0),
6873                Math.abs(h) < 0.001 && (h = 0),
6874                Math.abs(w) < 0.001 && (w = 0);
6875              const b = `translate3d(${v}px,${g}px,${m}px)  rotateX(${h}deg) rotateY(${u}deg) scale(${w})`;
6876              if (
6877                (se(r, t).transform(b),
6878                (t[0].style.zIndex = 1 - Math.abs(Math.round(p))),
6879                r.slideShadows)
6880              ) {
6881                let e = n
6882                    ? t.find(".swiper-slide-shadow-left")
6883                    : t.find(".swiper-slide-shadow-top"),
6884                  s = n
6885                    ? t.find(".swiper-slide-shadow-right")
6886                    : t.find(".swiper-slide-shadow-bottom");
6887                0 === e.length && (e = ie(r, t, n ? "left" : "top")),
6888                  0 === s.length && (s = ie(r, t, n ? "right" : "bottom")),
6889                  e.length && (e[0].style.opacity = p > 0 ? p : 0),
6890                  s.length && (s[0].style.opacity = -p > 0 ? -p : 0);
6891              }
6892            }
6893          },
6894          setTransition: (e) => {
6895            const { transformEl: s } = t.params.coverflowEffect;
6896            (s ? t.slides.find(s) : t.slides)
6897              .transition(e)
6898              .find(
6899                ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
6900              )
6901              .transition(e);
6902          },
6903          perspective: () => !0,
6904          overwriteParams: () => ({ watchSlidesProgress: !0 }),
6905        });
6906    },
6907    function (e) {
6908      let { swiper: t, extendParams: s, on: a } = e;
6909      s({
6910        creativeEffect: {
6911          transformEl: null,
6912          limitProgress: 1,
6913          shadowPerProgress: !1,
6914          progressMultiplier: 1,
6915          perspective: !0,
6916          prev: {
6917            translate: [0, 0, 0],
6918            rotate: [0, 0, 0],
6919            opacity: 1,
6920            scale: 1,
6921          },
6922          next: {
6923            translate: [0, 0, 0],
6924            rotate: [0, 0, 0],
6925            opacity: 1,
6926            scale: 1,
6927          },
6928        },
6929      });
6930      const i = (e) => ("string" == typeof e ? e : `${e}px`);
6931      te({
6932        effect: "creative",
6933        swiper: t,
6934        on: a,
6935        setTranslate: () => {
6936          const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t,
6937            r = t.params.creativeEffect,
6938            { progressMultiplier: n } = r,
6939            l = t.params.centeredSlides;
6940          if (l) {
6941            const e = a[0] / 2 - t.params.slidesOffsetBefore || 0;
6942            s.transform(`translateX(calc(50% - ${e}px))`);
6943          }
6944          for (let s = 0; s < e.length; s += 1) {
6945            const a = e.eq(s),
6946              o = a[0].progress,
6947              d = Math.min(
6948                Math.max(a[0].progress, -r.limitProgress),
6949                r.limitProgress
6950              );
6951            let c = d;
6952            l ||
6953              (c = Math.min(
6954                Math.max(a[0].originalProgress, -r.limitProgress),
6955                r.limitProgress
6956              ));
6957            const p = a[0].swiperSlideOffset,
6958              u = [t.params.cssMode ? -p - t.translate : -p, 0, 0],
6959              h = [0, 0, 0];
6960            let m = !1;
6961            t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0));
6962            let f = {
6963              translate: [0, 0, 0],
6964              rotate: [0, 0, 0],
6965              scale: 1,
6966              opacity: 1,
6967            };
6968            d < 0
6969              ? ((f = r.next), (m = !0))
6970              : d > 0 && ((f = r.prev), (m = !0)),
6971              u.forEach((e, t) => {
6972                u[t] = `calc(${e}px + (${i(f.translate[t])} * ${Math.abs(
6973                  d * n
6974                )}))`;
6975              }),
6976              h.forEach((e, t) => {
6977                h[t] = f.rotate[t] * Math.abs(d * n);
6978              }),
6979              (a[0].style.zIndex = -Math.abs(Math.round(o)) + e.length);
6980            const g = u.join(", "),
6981              v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,
6982              w =
6983                c < 0
6984                  ? `scale(${1 + (1 - f.scale) * c * n})`
6985                  : `scale(${1 - (1 - f.scale) * c * n})`,
6986              b =
6987                c < 0
6988                  ? 1 + (1 - f.opacity) * c * n
6989                  : 1 - (1 - f.opacity) * c * n,
6990              x = `translate3d(${g}) ${v} ${w}`;
6991            if ((m && f.shadow) || !m) {
6992              let e = a.children(".swiper-slide-shadow");
6993              if ((0 === e.length && f.shadow && (e = ie(r, a)), e.length)) {
6994                const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d;
6995                e[0].style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
6996              }
6997            }
6998            const y = se(r, a);
6999            y.transform(x).css({ opacity: b }),
7000              f.origin && y.css("transform-origin", f.origin);
7001          }
7002        },
7003        setTransition: (e) => {
7004          const { transformEl: s } = t.params.creativeEffect;
7005          (s ? t.slides.find(s) : t.slides)
7006            .transition(e)
7007            .find(".swiper-slide-shadow")
7008            .transition(e),
7009            ae({ swiper: t, duration: e, transformEl: s, allSlides: !0 });
7010        },
7011        perspective: () => t.params.creativeEffect.perspective,
7012        overwriteParams: () => ({
7013          watchSlidesProgress: !0,
7014          virtualTranslate: !t.params.cssMode,
7015        }),
7016      });
7017    },
7018    function (e) {
7019      let { swiper: t, extendParams: s, on: a } = e;
7020      s({ cardsEffect: { slideShadows: !0, transformEl: null, rotate: !0 } }),
7021        te({
7022          effect: "cards",
7023          swiper: t,
7024          on: a,
7025          setTranslate: () => {
7026            const { slides: e, activeIndex: s } = t,
7027              a = t.params.cardsEffect,
7028              { startTranslate: i, isTouched: r } = t.touchEventsData,
7029              n = t.translate;
7030            for (let l = 0; l < e.length; l += 1) {
7031              const o = e.eq(l),
7032                d = o[0].progress,
7033                c = Math.min(Math.max(d, -4), 4);
7034              let p = o[0].swiperSlideOffset;
7035              t.params.centeredSlides &&
7036                !t.params.cssMode &&
7037                t.$wrapperEl.transform(`translateX(${t.minTranslate()}px)`),
7038                t.params.centeredSlides &&
7039                  t.params.cssMode &&
7040                  (p -= e[0].swiperSlideOffset);
7041              let u = t.params.cssMode ? -p - t.translate : -p,
7042                h = 0;
7043              const m = -100 * Math.abs(c);
7044              let f = 1,
7045                g = -2 * c,
7046                v = 8 - 0.75 * Math.abs(c);
7047              const w =
7048                  t.virtual && t.params.virtual.enabled
7049                    ? t.virtual.from + l
7050                    : l,
7051                b =
7052                  (w === s || w === s - 1) &&
7053                  c > 0 &&
7054                  c < 1 &&
7055                  (r || t.params.cssMode) &&
7056                  n < i,
7057                x =
7058                  (w === s || w === s + 1) &&
7059                  c < 0 &&
7060                  c > -1 &&
7061                  (r || t.params.cssMode) &&
7062                  n > i;
7063              if (b || x) {
7064                const e = (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) ** 0.5;
7065                (g += -28 * c * e),
7066                  (f += -0.5 * e),
7067                  (v += 96 * e),
7068                  (h = -25 * e * Math.abs(c) + "%");
7069              }
7070              if (
7071                ((u =
7072                  c < 0
7073                    ? `calc(${u}px + (${v * Math.abs(c)}%))`
7074                    : c > 0
7075                    ? `calc(${u}px + (-${v * Math.abs(c)}%))`
7076                    : `${u}px`),
7077                !t.isHorizontal())
7078              ) {
7079                const e = h;
7080                (h = u), (u = e);
7081              }
7082              const y = c < 0 ? "" + (1 + (1 - f) * c) : "" + (1 - (1 - f) * c),
7083                E = `\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${
7084                  a.rotate ? g : 0
7085                }deg)\n        scale(${y})\n      `;
7086              if (a.slideShadows) {
7087                let e = o.find(".swiper-slide-shadow");
7088                0 === e.length && (e = ie(a, o)),
7089                  e.length &&
7090                    (e[0].style.opacity = Math.min(
7091                      Math.max((Math.abs(c) - 0.5) / 0.5, 0),
7092                      1
7093                    ));
7094              }
7095              o[0].style.zIndex = -Math.abs(Math.round(d)) + e.length;
7096              se(a, o).transform(E);
7097            }
7098          },
7099          setTransition: (e) => {
7100            const { transformEl: s } = t.params.cardsEffect;
7101            (s ? t.slides.find(s) : t.slides)
7102              .transition(e)
7103              .find(".swiper-slide-shadow")
7104              .transition(e),
7105              ae({ swiper: t, duration: e, transformEl: s });
7106          },
7107          perspective: () => !0,
7108          overwriteParams: () => ({
7109            watchSlidesProgress: !0,
7110            virtualTranslate: !t.params.cssMode,
7111          }),
7112        });
7113    },
7114  ];
7115  return V.use(re), V;
7116});
7117//# sourceMappingURL=swiper-bundle.min.js.map

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.