PageSourceSearch

https://www.kotharitech.com/js/swiper.min.js

js kotharitech.com collected 2026-10-03 21:25:11 UTC 234,318 bytes, 6,806 lines download raw bytes

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

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.