PageSourceSearch

https://www.tedas.gov.tr/assets/vendor/swiper/swiper-bundle.min.js

js tedas.gov.tr collected 2026-09-24 23:17:43 UTC 243,134 bytes, 4,493 lines download raw bytes

1!(function (e, t) {
2    "object" == typeof exports && "undefined" != typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define(t) : ((e = "undefined" != typeof globalThis ? globalThis : e || self).Swiper = t());
3})(this, function () {
4    "use strict";
5    function e(e) {
6        return null !== e && "object" == typeof e && "constructor" in e && e.constructor === Object;
7    }
8    function t(s = {}, a = {}) {
9        Object.keys(a).forEach((i) => {
10            void 0 === s[i] ? (s[i] = a[i]) : e(a[i]) && e(s[i]) && Object.keys(a[i]).length > 0 && t(s[i], a[i]);
11        });
12    }
13    const s = {
14        body: {},
15        addEventListener() { },
16        removeEventListener() { },
17        activeElement: { blur() { }, nodeName: "" },
18        querySelector: () => null,
19        querySelectorAll: () => [],
20        getElementById: () => null,
21        createEvent: () => ({ initEvent() { } }),
22        createElement: () => ({ children: [], childNodes: [], style: {}, setAttribute() { }, getElementsByTagName: () => [] }),
23        createElementNS: () => ({}),
24        importNode: () => null,
25        location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" },
26    };
27    function a() {
28        const e = "undefined" != typeof document ? document : {};
29        return t(e, s), e;
30    }
31    const i = {
32        document: s,
33        navigator: { userAgent: "" },
34        location: { hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: "" },
35        history: { replaceState() { }, pushState() { }, go() { }, back() { } },
36        CustomEvent: function () {
37            return this;
38        },
39        addEventListener() { },
40        removeEventListener() { },
41        getComputedStyle: () => ({ getPropertyValue: () => "" }),
42        Image() { },
43        Date() { },
44        screen: {},
45        setTimeout() { },
46        clearTimeout() { },
47        matchMedia: () => ({}),
48        requestAnimationFrame: (e) => ("undefined" == typeof setTimeout ? (e(), null) : setTimeout(e, 0)),
49        cancelAnimationFrame(e) {
50            "undefined" != typeof setTimeout && clearTimeout(e);
51        },
52    };
53    function r() {
54        const e = "undefined" != typeof window ? window : {};
55        return t(e, i), e;
56    }
57    class n extends Array {
58        constructor(e) {
59            super(...(e || [])),
60                (function (e) {
61                    const t = e.__proto__;
62                    Object.defineProperty(e, "__proto__", {
63                        get: () => t,
64                        set(e) {
65                            t.__proto__ = e;
66                        },
67                    });
68                })(this);
69        }
70    }
71    function l(e = []) {
72        const t = [];
73        return (
74            e.forEach((e) => {
75                Array.isArray(e) ? t.push(...l(e)) : t.push(e);
76            }),
77            t
78        );
79    }
80    function o(e, t) {
81        return Array.prototype.filter.call(e, t);
82    }
83    function d(e, t) {
84        const s = r(),
85            i = a();
86        let l = [];
87        if (!t && e instanceof n) return e;
88        if (!e) return new n(l);
89        if ("string" == typeof e) {
90            const s = e.trim();
91            if (s.indexOf("<") >= 0 && s.indexOf(">") >= 0) {
92                let e = "div";
93                0 === s.indexOf("<li") && (e = "ul"),
94                    0 === s.indexOf("<tr") && (e = "tbody"),
95                    (0 !== s.indexOf("<td") && 0 !== s.indexOf("<th")) || (e = "tr"),
96                    0 === s.indexOf("<tbody") && (e = "table"),
97                    0 === s.indexOf("<option") && (e = "select");
98                const t = i.createElement(e);
99                t.innerHTML = s;
100                for (let e = 0; e < t.childNodes.length; e += 1) l.push(t.childNodes[e]);
101            } else
102                l = (function (e, t) {
103                    if ("string" != typeof e) return [e];
104                    const s = [],
105                        a = t.querySelectorAll(e);
106                    for (let e = 0; e < a.length; e += 1) s.push(a[e]);
107                    return s;
108                })(e.trim(), t || i);
109        } else if (e.nodeType || e === s || e === i) l.push(e);
110        else if (Array.isArray(e)) {
111            if (e instanceof n) return e;
112            l = e;
113        }
114        return new n(
115            (function (e) {
116                const t = [];
117                for (let s = 0; s < e.length; s += 1) -1 === t.indexOf(e[s]) && t.push(e[s]);
118                return t;
119            })(l)
120        );
121    }
122    d.fn = n.prototype;
123    const c = {
124        addClass: function (...e) {
125            const t = l(e.map((e) => e.split(" ")));
126            return (
127                this.forEach((e) => {
128                    e.classList.add(...t);
129                }),
130                this
131            );
132        },
133        removeClass: function (...e) {
134            const t = l(e.map((e) => e.split(" ")));
135            return (
136                this.forEach((e) => {
137                    e.classList.remove(...t);
138                }),
139                this
140            );
141        },
142        hasClass: function (...e) {
143            const t = l(e.map((e) => e.split(" ")));
144            return o(this, (e) => t.filter((t) => e.classList.contains(t)).length > 0).length > 0;
145        },
146        toggleClass: function (...e) {
147            const t = l(e.map((e) => e.split(" ")));
148            this.forEach((e) => {
149                t.forEach((t) => {
150                    e.classList.toggle(t);
151                });
152            });
153        },
154        attr: function (e, t) {
155            if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
156            for (let s = 0; s < this.length; s += 1)
157                if (2 === arguments.length) this[s].setAttribute(e, t);
158                else for (const t in e) (this[s][t] = e[t]), this[s].setAttribute(t, e[t]);
159            return this;
160        },
161        removeAttr: function (e) {
162            for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
163            return this;
164        },
165        transform: function (e) {
166            for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
167            return this;
168        },
169        transition: function (e) {
170            for (let t = 0; t < this.length; t += 1) this[t].style.transitionDuration = "string" != typeof e ? `${e}ms` : e;
171            return this;
172        },
173        on: function (...e) {
174            let [t, s, a, i] = e;
175            function r(e) {
176                const t = e.target;
177                if (!t) return;
178                const i = e.target.dom7EventData || [];
179                if ((i.indexOf(e) < 0 && i.unshift(e), d(t).is(s))) a.apply(t, i);
180                else {
181                    const e = d(t).parents();
182                    for (let t = 0; t < e.length; t += 1) d(e[t]).is(s) && a.apply(e[t], i);
183                }
184            }
185            function n(e) {
186                const t = (e && e.target && e.target.dom7EventData) || [];
187                t.indexOf(e) < 0 && t.unshift(e), a.apply(this, t);
188            }
189            "function" == typeof e[1] && (([t, a, i] = e), (s = void 0)), i || (i = !1);
190            const l = t.split(" ");
191            let o;
192            for (let e = 0; e < this.length; e += 1) {
193                const t = this[e];
194                if (s)
195                    for (o = 0; o < l.length; o += 1) {
196                        const e = l[o];
197                        t.dom7LiveListeners || (t.dom7LiveListeners = {}), t.dom7LiveListeners[e] || (t.dom7LiveListeners[e] = []), t.dom7LiveListeners[e].push({ listener: a, proxyListener: r }), t.addEventListener(e, r, i);
198                    }
199                else
200                    for (o = 0; o < l.length; o += 1) {
201                        const e = l[o];
202                        t.dom7Listeners || (t.dom7Listeners = {}), t.dom7Listeners[e] || (t.dom7Listeners[e] = []), t.dom7Listeners[e].push({ listener: a, proxyListener: n }), t.addEventListener(e, n, i);
203                    }
204            }
205            return this;
206        },
207        off: function (...e) {
208            let [t, s, a, i] = e;
209            "function" == typeof e[1] && (([t, a, i] = e), (s = void 0)), i || (i = !1);
210            const r = t.split(" ");
211            for (let e = 0; e < r.length; e += 1) {
212                const t = r[e];
213                for (let e = 0; e < this.length; e += 1) {
214                    const r = this[e];
215                    let n;
216                    if ((!s && r.dom7Listeners ? (n = r.dom7Listeners[t]) : s && r.dom7LiveListeners && (n = r.dom7LiveListeners[t]), n && n.length))
217                        for (let e = n.length - 1; e >= 0; e -= 1) {
218                            const s = n[e];
219                            (a && s.listener === a) || (a && s.listener && s.listener.dom7proxy && s.listener.dom7proxy === a)
220                                ? (r.removeEventListener(t, s.proxyListener, i), n.splice(e, 1))
221                                : a || (r.removeEventListener(t, s.proxyListener, i), n.splice(e, 1));
222                        }
223                }
224            }
225            return this;
226        },
227        trigger: function (...e) {
228            const t = r(),
229                s = e[0].split(" "),
230                a = e[1];
231            for (let i = 0; i < s.length; i += 1) {
232                const r = s[i];
233                for (let s = 0; s < this.length; s += 1) {
234                    const i = this[s];
235                    if (t.CustomEvent) {
236                        const s = new t.CustomEvent(r, { detail: a, bubbles: !0, cancelable: !0 });
237                        (i.dom7EventData = e.filter((e, t) => t > 0)), i.dispatchEvent(s), (i.dom7EventData = []), delete i.dom7EventData;
238                    }
239                }
240            }
241            return this;
242        },
243        transitionEnd: function (e) {
244            const t = this;
245            return (
246                e &&
247                t.on("transitionend", function s(a) {
248                    a.target === this && (e.call(this, a), t.off("transitionend", s));
249                }),
250                this
251            );
252        },
253        outerWidth: function (e) {
254            if (this.length > 0) {
255                if (e) {
256                    const e = this.styles();
257                    return this[0].offsetWidth + parseFloat(e.getPropertyValue("margin-right")) + parseFloat(e.getPropertyValue("margin-left"));
258                }
259                return this[0].offsetWidth;
260            }
261            return null;
262        },
263        outerHeight: function (e) {
264            if (this.length > 0) {
265                if (e) {
266                    const e = this.styles();
267                    return this[0].offsetHeight + parseFloat(e.getPropertyValue("margin-top")) + parseFloat(e.getPropertyValue("margin-bottom"));
268                }
269                return this[0].offsetHeight;
270            }
271            return null;
272        },
273        styles: function () {
274            const e = r();
275            return this[0] ? e.getComputedStyle(this[0], null) : {};
276        },
277        offset: function () {
278            if (this.length > 0) {
279                const e = r(),
280                    t = a(),
281                    s = this[0],
282                    i = s.getBoundingClientRect(),
283                    n = t.body,
284                    l = s.clientTop || n.clientTop || 0,
285                    o = s.clientLeft || n.clientLeft || 0,
286                    d = s === e ? e.scrollY : s.scrollTop,
287                    c = s === e ? e.scrollX : s.scrollLeft;
288                return { top: i.top + d - l, left: i.left + c - o };
289            }
290            return null;
291        },
292        css: function (e, t) {
293            const s = r();
294            let a;
295            if (1 === arguments.length) {
296                if ("string" != typeof e) {
297                    for (a = 0; a < this.length; a += 1) for (const t in e) this[a].style[t] = e[t];
298                    return this;
299                }
300                if (this[0]) return s.getComputedStyle(this[0], null).getPropertyValue(e);
301            }
302            if (2 === arguments.length && "string" == typeof e) {
303                for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
304                return this;
305            }
306            return this;
307        },
308        each: function (e) {
309            return e
310                ? (this.forEach((t, s) => {
311                    e.apply(t, [t, s]);
312                }),
313                    this)
314                : this;
315        },
316        html: function (e) {
317            if (void 0 === e) return this[0] ? this[0].innerHTML : null;
318            for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e;
319            return this;
320        },
321        text: function (e) {
322            if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
323            for (let t = 0; t < this.length; t += 1) this[t].textContent = e;
324            return this;
325        },
326        is: function (e) {
327            const t = r(),
328                s = a(),
329                i = this[0];
330            let l, o;
331            if (!i || void 0 === e) return !1;
332            if ("string" == typeof e) {
333                if (i.matches) return i.matches(e);
334                if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
335                if (i.msMatchesSelector) return i.msMatchesSelector(e);
336                for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0;
337                return !1;
338            }
339            if (e === s) return i === s;
340            if (e === t) return i === t;
341            if (e.nodeType || e instanceof n) {
342                for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1) if (l[o] === i) return !0;
343                return !1;
344            }
345            return !1;
346        },
347        index: function () {
348            let e,
349                t = this[0];
350            if (t) {
351                for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
352                return e;
353            }
354        },
355        eq: function (e) {
356            if (void 0 === e) return this;
357            const t = this.length;
358            if (e > t - 1) return d([]);
359            if (e < 0) {
360                const s = t + e;
361                return d(s < 0 ? [] : [this[s]]);
362            }
363            return d([this[e]]);
364        },
365        append: function (...e) {
366            let t;
367            const s = a();
368            for (let a = 0; a < e.length; a += 1) {
369                t = e[a];
370                for (let e = 0; e < this.length; e += 1)
371                    if ("string" == typeof t) {
372                        const a = s.createElement("div");
373                        for (a.innerHTML = t; a.firstChild;) this[e].appendChild(a.firstChild);
374                    } else if (t instanceof n) for (let s = 0; s < t.length; s += 1) this[e].appendChild(t[s]);
375                    else this[e].appendChild(t);
376            }
377            return this;
378        },
379        prepend: function (e) {
380            const t = a();
381            let s, i;
382            for (s = 0; s < this.length; s += 1)
383                if ("string" == typeof e) {
384                    const a = t.createElement("div");
385                    for (a.innerHTML = e, i = a.childNodes.length - 1; i >= 0; i -= 1) this[s].insertBefore(a.childNodes[i], this[s].childNodes[0]);
386                } else if (e instanceof n) for (i = 0; i < e.length; i += 1) this[s].insertBefore(e[i], this[s].childNodes[0]);
387                else this[s].insertBefore(e, this[s].childNodes[0]);
388            return this;
389        },
390        next: function (e) {
391            return this.length > 0 ? (e ? (this[0].nextElementSibling && d(this[0].nextElementSibling).is(e) ? d([this[0].nextElementSibling]) : d([])) : this[0].nextElementSibling ? d([this[0].nextElementSibling]) : d([])) : d([]);
392        },
393        nextAll: function (e) {
394            const t = [];
395            let s = this[0];
396            if (!s) return d([]);
397            for (; s.nextElementSibling;) {
398                const a = s.nextElementSibling;
399                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
400            }
401            return d(t);
402        },
403        prev: function (e) {
404            if (this.length > 0) {
405                const t = this[0];
406                return e ? (t.previousElementSibling && d(t.previousElementSibling).is(e) ? d([t.previousElementSibling]) : d([])) : t.previousElementSibling ? d([t.previousElementSibling]) : d([]);
407            }
408            return d([]);
409        },
410        prevAll: function (e) {
411            const t = [];
412            let s = this[0];
413            if (!s) return d([]);
414            for (; s.previousElementSibling;) {
415                const a = s.previousElementSibling;
416                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
417            }
418            return d(t);
419        },
420        parent: function (e) {
421            const t = [];
422            for (let s = 0; s < this.length; s += 1) null !== this[s].parentNode && (e ? d(this[s].parentNode).is(e) && t.push(this[s].parentNode) : t.push(this[s].parentNode));
423            return d(t);
424        },
425        parents: function (e) {
426            const t = [];
427            for (let s = 0; s < this.length; s += 1) {
428                let a = this[s].parentNode;
429                for (; a;) e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode);
430            }
431            return d(t);
432        },
433        closest: function (e) {
434            let t = this;
435            return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
436        },
437        find: function (e) {
438            const t = [];
439            for (let s = 0; s < this.length; s += 1) {
440                const a = this[s].querySelectorAll(e);
441                for (let e = 0; e < a.length; e += 1) t.push(a[e]);
442            }
443            return d(t);
444        },
445        children: function (e) {
446            const t = [];
447            for (let s = 0; s < this.length; s += 1) {
448                const a = this[s].children;
449                for (let s = 0; s < a.length; s += 1) (e && !d(a[s]).is(e)) || t.push(a[s]);
450            }
451            return d(t);
452        },
453        filter: function (e) {
454            return d(o(this, e));
455        },
456        remove: function () {
457            for (let e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
458            return this;
459        },
460    };
461    function p(e, t = 0) {
462        return setTimeout(e, t);
463    }
464    function u() {
465        return Date.now();
466    }
467    function h(e, t = "x") {
468        const s = r();
469        let a, i, n;
470        const l = (function (e) {
471            const t = r();
472            let s;
473            return t.getComputedStyle && (s = t.getComputedStyle(e, null)), !s && e.currentStyle && (s = e.currentStyle), s || (s = e.style), s;
474        })(e);
475        return (
476            s.WebKitCSSMatrix
477                ? ((i = l.transform || l.webkitTransform),
478                    i.split(",").length > 6 &&
479                    (i = i
480                        .split(", ")
481                        .map((e) => e.replace(",", "."))
482                        .join(", ")),
483                    (n = new s.WebKitCSSMatrix("none" === i ? "" : i)))
484                : ((n = l.MozTransform || l.OTransform || l.MsTransform || l.msTransform || l.transform || l.getPropertyValue("transform").replace("translate(", "matrix(1, 0, 0, 1,")), (a = n.toString().split(","))),
485            "x" === t && (i = s.WebKitCSSMatrix ? n.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])),
486            "y" === t && (i = s.WebKitCSSMatrix ? n.m42 : 16 === a.length ? parseFloat(a[13]) : parseFloat(a[5])),
487            i || 0
488        );
489    }
490    function m(e) {
491        return "object" == typeof e && null !== e && e.constructor && "Object" === Object.prototype.toString.call(e).slice(8, -1);
492    }
493    function f(...e) {
494        const t = Object(e[0]),
495            s = ["__proto__", "constructor", "prototype"];
496        for (let i = 1; i < e.length; i += 1) {
497            const r = e[i];
498            if (null != r && ((a = r), !("undefined" != typeof window && void 0 !== window.HTMLElement ? a instanceof HTMLElement : a && (1 === a.nodeType || 11 === a.nodeType)))) {
499                const e = Object.keys(Object(r)).filter((e) => s.indexOf(e) < 0);
500                for (let s = 0, a = e.length; s < a; s += 1) {
501                    const a = e[s],
502                        i = Object.getOwnPropertyDescriptor(r, a);
503                    void 0 !== i && i.enumerable && (m(t[a]) && m(r[a]) ? (r[a].__swiper__ ? (t[a] = r[a]) : f(t[a], r[a])) : !m(t[a]) && m(r[a]) ? ((t[a
503] = {}), r[a].__swiper__ ? (t[a] = r[a]) : f(t[a], r[a])) : (t[a] = r[a]));
504                }
505            }
506        }
507        var a;
508        return t;
509    }
510    function g(e, t, s) {
511        e.style.setProperty(t, s);
512    }
513    function v({ swiper: e, targetPosition: t, side: s }) {
514        const a = r(),
515            i = -e.translate;
516        let n,
517            l = null;
518        const o = e.params.speed;
519        (e.wrapperEl.style.scrollSnapType = "none"), a.cancelAnimationFrame(e.cssModeFrameID);
520        const d = t > i ? "next" : "prev",
521            c = (e, t) => ("next" === d && e >= t) || ("prev" === d && e <= t),
522            p = () => {
523                (n = new Date().getTime()), null === l && (l = n);
524                const r = Math.max(Math.min((n - l) / o, 1), 0),
525                    d = 0.5 - Math.cos(r * Math.PI) / 2;
526                let u = i + d * (t - i);
527                if ((c(u, t) && (u = t), e.wrapperEl.scrollTo({ [s]: u }), c(u, t)))
528                    return (
529                        (e.wrapperEl.style.overflow = "hidden"),
530                        (e.wrapperEl.style.scrollSnapType = ""),
531                        setTimeout(() => {
532                            (e.wrapperEl.style.overflow = ""), e.wrapperEl.scrollTo({ [s]: u });
533                        }),
534                        void a.cancelAnimationFrame(e.cssModeFrameID)
535                    );
536                e.cssModeFrameID = a.requestAnimationFrame(p);
537            };
538        p();
539    }
540    let w, b, x;
541    function y() {
542        return (
543            w ||
544            (w = (function () {
545                const e = r(),
546                    t = a();
547                return {
548                    smoothScroll: t.documentElement && "scrollBehavior" in t.documentElement.style,
549                    touch: !!("ontouchstart" in e || (e.DocumentTouch && t instanceof e.DocumentTouch)),
550                    passiveListener: (function () {
551                        let t = !1;
552                        try {
553                            const s = Object.defineProperty({}, "passive", {
554                                get() {
555                                    t = !0;
556                                },
557                            });
558                            e.addEventListener("testPassiveListener", null, s);
559                        } catch (e) { }
560                        return t;
561                    })(),
562                    gestures: "ongesturestart" in e,
563                };
564            })()),
565            w
566        );
567    }
568    function E(e = {}) {
569        return (
570            b ||
571            (b = (function ({ userAgent: e } = {}) {
572                const t = y(),
573                    s = r(),
574                    a = s.navigator.platform,
575                    i = e || s.navigator.userAgent,
576                    n = { ios: !1, android: !1 },
577                    l = s.screen.width,
578                    o = s.screen.height,
579                    d = i.match(/(Android);?[\s\/]+([\d.]+)?/);
580                let c = i.match(/(iPad).*OS\s([\d_]+)/);
581                const p = i.match(/(iPod)(.*OS\s([\d_]+))?/),
582                    u = !c && i.match(/(iPhone\sOS|iOS)\s([\d_]+)/),
583                    h = "Win32" === a;
584                let m = "MacIntel" === a;
585                return (
586                    !c &&
587                    m &&
588                    t.touch &&
589                    ["1024x1366", "1366x1024", "834x1194", "1194x834", "834x1112", "1112x834", "768x1024", "1024x768", "820x1180", "1180x820", "810x1080", "1080x810"].indexOf(`${l}x${o}`) >= 0 &&
590                    ((c = i.match(/(Version)\/([\d.]+)/)), c || (c = [0, 1, "13_0_0"]), (m = !1)),
591                    d && !h && ((n.os = "android"), (n.android = !0)),
592                    (c || u || p) && ((n.os = "ios"), (n.ios = !0)),
593                    n
594                );
595            })(e)),
596            b
597        );
598    }
599    function T() {
600        return (
601            x ||
602            (x = (function () {
603                const e = r();
604                return {
605                    isSafari: (function () {
606                        const t = e.navigator.userAgent.toLowerCase();
607                        return t.indexOf("safari") >= 0 && t.indexOf("chrome") < 0 && t.indexOf("android") < 0;
608                    })(),
609                    isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),
610                };
611            })()),
612            x
613        );
614    }
615    Object.keys(c).forEach((e) => {
616        Object.defineProperty(d.fn, e, { value: c[e], writable: !0 });
617    });
618    var C = {
619        on(e, t, s) {
620            const a = this;
621            if ("function" != typeof t) return a;
622            const i = s ? "unshift" : "push";
623            return (
624                e.split(" ").forEach((e) => {
625                    a.eventsListeners[e] || (a.eventsListeners[e] = []), a.eventsListeners[e][i](t);
626                }),
627                a
628            );
629        },
630        once(e, t, s) {
631            const a = this;
632            if ("function" != typeof t) return a;
633            function i(...s) {
634                a.off(e, i), i.__emitterProxy && delete i.__emitterProxy, t.apply(a, s);
635            }
636            return (i.__emitterProxy = t), a.on(e, i, s);
637        },
638        onAny(e, t) {
639            const s = this;
640            if ("function" != typeof e) return s;
641            const a = t ? "unshift" : "push";
642            return s.eventsAnyListeners.indexOf(e) < 0 && s.eventsAnyListeners[a](e), s;
643        },
644        offAny(e) {
645            const t = this;
646            if (!t.eventsAnyListeners) return t;
647            const s = t.eventsAnyListeners.indexOf(e);
648            return s >= 0 && t.eventsAnyListeners.splice(s, 1), t;
649        },
650        off(e, t) {
651            const s = this;
652            return s.eventsListeners
653                ? (e.split(" ").forEach((e) => {
654                    void 0 === t
655                        ? (s.eventsListeners[e] = [])
656                        : s.eventsListeners[e] &&
657                        s.eventsListeners[e].forEach((a, i) => {
658                            (a === t || (a.__emitterProxy && a.__emitterProxy === t)) && s.eventsListeners[e].splice(i, 1);
659                        });
660                }),
661                    s)
662                : s;
663        },
664        emit(...e) {
665            const t = this;
666            if (!t.eventsListeners) return t;
667            let s, a, i;
668            "string" == typeof e[0] || Array.isArray(e[0]) ? ((s = e[0]), (a = e.slice(1, e.length)), (i = t)) : ((s = e[0].events), (a = e[0].data), (i = e[0].context || t)), a.unshift(i);
669            return (
670                (Array.isArray(s) ? s : s.split(" ")).forEach((e) => {
671                    t.eventsAnyListeners &&
672                        t.eventsAnyListeners.length &&
673                        t.eventsAnyListeners.forEach((t) => {
674                            t.apply(i, [e, ...a]);
675                        }),
676                        t.eventsListeners &&
677                        t.eventsListeners[e] &&
678                        t.eventsListeners[e].forEach((e) => {
679                            e.apply(i, a);
680                        });
681                }),
682                t
683            );
684        },
685    };
686    function $({ swiper: e, runCallbacks: t, direction: s, step: a }) {
687        const { activeIndex: i, previousIndex: r } = e;
688        let n = s;
689        if ((n || (n = i > r ? "next" : i < r ? "prev" : "reset"), e.emit(`transition${a}`), t && i !== r)) {
690            if ("reset" === n) return void e.emit(`slideResetTransition${a}`);
691            e.emit(`slideChangeTransition${a}`), "next" === n ? e.emit(`slideNextTransition${a}`) : e.emit(`slidePrevTransition${a}`);
692        }
693    }
694    function S(e) {
695        const t = this,
696            s = a(),
697            i = r(),
698            n = t.touchEventsData,
699            { params: l, touches: o, enabled: c } = t;
700        if (!c) return;
701        if (t.animating && l.preventInteractionOnTransition) return;
702        !t.animating && l.cssMode && l.loop && t.loopFix();
703        let p = e;
704        p.originalEvent && (p = p.originalEvent);
705        let h = d(p.target);
706        if ("wrapper" === l.touchEventsTarget && !h.closest(t.wrapperEl).length) return;
707        if (((n.isTouchEvent = "touchstart" === p.type), !n.isTouchEvent && "which" in p && 3 === p.which)) return;
708        if (!n.isTouchEvent && "button" in p && p.button > 0) return;
709        if (n.isTouched && n.isMoved) return;
710        !!l.noSwipingClass && "" !== l.noSwipingClass && p.target && p.target.shadowRoot && e.path && e.path[0] && (h = d(e.path[0]));
711        const m = l.noSwipingSelector ? l.noSwipingSelector : `.${l.noSwipingClass}`,
712            f = !(!p.target || !p.target.shadowRoot);
713        if (
714            l.noSwiping &&
715            (f
716                ? (function (e, t = this) {
717                    return (function t(s) {
718                        return s && s !== a() && s !== r() ? (s.assignedSlot && (s = s.assignedSlot), s.closest(e) || t(s.getRootNode().host)) : null;
719                    })(t);
720                })(m, p.target)
721                : h.closest(m)[0])
722        )
723            return void (t.allowClick = !0);
724        if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return;
725        (o.currentX = "touchstart" === p.type ? p.targetTouches[0].pageX : p.pageX), (o.currentY = "touchstart" === p.type ? p.targetTouches[0].pageY : p.pageY);
726        const g = o.currentX,
727            v = o.currentY,
728            w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,
729            b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold;
730        if (w && (g <= b || g >= i.innerWidth - b)) {
731            if ("prevent" !== w) return;
732            e.preventDefault();
733        }
734        if (
735            (Object.assign(n, { isTouched: !0, isMoved: !1, allowTouchCallbacks: !0, isScrolling: void 0, startMoving: void 0 }),
736                (o.startX = g),
737                (o.startY = v),
738                (n.touchStartTime = u()),
739                (t.allowClick = !0),
740                t.updateSize(),
741                (t.swipeDirection = void 0),
742                l.threshold > 0 && (n.allowThresholdMove = !1),
743                "touchstart" !== p.type)
744        ) {
745            let e = !0;
746            h.is(n.focusableElements) && (e = !1), s.activeElement && d(s.activeElement).is(n.focusableElements) && s.activeElement !== h[0] && s.activeElement.blur();
747            const a = e && t.allowTouchMove && l.touchStartPreventDefault;
748            (!l.touchStartForcePreventDefault && !a) || h[0].isContentEditable || p.preventDefault();
749        }
750        t.emit("touchStart", p);
751    }
752    function M(e) {
753        const t = a(),
754            s = this,
755            i = s.touchEventsData,
756            { params: r, touches: n, rtlTranslate: l, enabled: o } = s;
757        if (!o) return;
758        let c = e;
759        if ((c.originalEvent && (c = c.originalEvent), !i.isTouched)) return void (i.startMoving && i.isScrolling && s.emit("touchMoveOpposite", c));
760        if (i.isTouchEvent && "touchmove" !== c.type) return;
761        const p = "touchmove" === c.type && c.targetTouches && (c.targetTouches[0] || c.changedTouches[0]),
762            h = "touchmove" === c.type ? p.pageX : c.pageX,
763            m = "touchmove" === c.type ? p.pageY : c.pageY;
764        if (c.preventedByNestedSwiper) return (n.startX = h), void (n.startY = m);
765        if (!s.allowTouchMove) return (s.allowClick = !1), void (i.isTouched && (Object.assign(n, { startX: h, startY: m, currentX: h, currentY: m }), (i.touchStartTime = u())));
766        if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)
767            if (s.isVertical()) {
768                if ((m < n.startY && s.translate <= s.maxTranslate()) || (m > n.startY && s.translate >= s.minTranslate())) return (i.isTouched = !1), void (i.isMoved = !1);
769            } else if ((h < n.startX && s.translate <= s.maxTranslate()) || (h > n.startX && s.translate >= s.minTranslate())) return;
770        if (i.isTouchEvent && t.activeElement && c.target === t.activeElement && d(c.target).is(i.focusableElements)) return (i.isMoved = !0), void (s.allowClick = !1);
771        if ((i.allowTouchCallbacks && s.emit("touchMove", c), c.targetTouches && c.targetTouches.length > 1)) return;
772        (n.currentX = h), (n.currentY = m);
773        const f = n.currentX - n.startX,
774            g = n.currentY - n.startY;
775        if (s.params.threshold && Math.sqrt(f ** 2 + g ** 2) < s.params.threshold) return;
776        if (void 0 === i.isScrolling) {
777            let e;
778            (s.isHorizontal() && n.currentY === n.startY) || (s.isVertical() && n.currentX === n.startX)
779                ? (i.isScrolling = !1)
780                : f * f + g * g >= 25 && ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI), (i.isScrolling = s.isHorizontal() ? e > r.touchAngle : 90 - e > r.touchAngle));
781        }
782        if ((i.isScrolling && s.emit("touchMoveOpposite", c), void 0 === i.startMoving && ((n.currentX === n.startX && n.currentY === n.startY) || (i.startMoving = !0)), i.isScrolling)) return void (i.isTouched = !1);
783        if (!i.startMoving) return;
784        (s.allowClick = !1),
785            !r.cssMode && c.cancelable && c.preventDefault(),
786            r.touchMoveStopPropagation && !r.nested && c.stopPropagation(),
787            i.isMoved ||
788            (r.loop && !r.cssMode && s.loopFix(),
789                (i.startTranslate = s.getTranslate()),
790                s.setTransition(0),
791                s.animating && s.$wrapperEl.trigger("webkitTransitionEnd transitionend"),
792                (i.allowMomentumBounce = !1),
793                !r.grabCursor || (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) || s.setGrabCursor(!0),
794                s.emit("sliderFirstMove", c)),
795            s.emit("sliderMove", c),
796            (i.isMoved = !0);
797        let v = s.isHorizontal() ? f : g;
798        (n.diff = v), (v *= r.touchRatio), l && (v = -v), (s.swipeDirection = v > 0 ? "prev" : "next"), (i.currentTranslate = v + i.startTranslate);
799        let w = !0,
800            b = r.resistanceRatio;
801        if (
802            (r.touchReleaseOnEdges && (b = 0),
803                v > 0 && i.currentTranslate > s.minTranslate()
804                    ? ((w = !1), r.resistance && (i.currentTranslate = s.minTranslate() - 1 + (-s.minTranslate() + i.startTranslate + v) ** b))
805                    : v < 0 && i.currentTranslate < s.maxTranslate() && ((w = !1), r.resistance && (i.currentTranslate = s.maxTranslate() + 1 - (s.maxTranslate() - i.startTranslate - v) ** b)),
806                w && (c.preventedByNestedSwiper = !0),
807                !s.allowSlideNext && "next" === s.swipeDirection && i.currentTranslate < i.startTranslate && (i.currentTranslate = i.startTranslate),
808                !s.allowSlidePrev && "prev" === s.swipeDirection && i.currentTranslate > i.startTranslate && (i.currentTranslate = i.startTranslate),
809                s.allowSlidePrev || s.allowSlideNext || (i.currentTranslate = i.startTranslate),
810                r.threshold > 0)
811        ) {
812            if (!(Math.abs(v) > r.threshold || i.allowThresholdMove)) return void (i.currentTranslate = i.startTranslate);
813            if (!i.allowThresholdMove)
814                return (i.allowThresholdMove = !0), (n.startX = n.currentX), (n.startY = n.currentY), (i.currentTranslate = i.startTranslate), void (n.diff = s.isHorizontal() ? n.currentX - n.startX : n.currentY - n.startY);
815        }
816        r.followFinger &&
817            !r.cssMode &&
818            (((r.freeMode && r.freeMode.enabled && s.freeMode) || r.watchSlidesProgress) && (s.updateActiveIndex(), s.updateSlidesClasses()),
819                s.params.freeMode && r.freeMode.enabled && s.freeMode && s.freeMode.onTouchMove(),
820                s.updateProgress(i.currentTranslate),
821                s.setTranslate(i.currentTranslate));
822    }
823    function P(e) {
824        const t = this,
825            s = t.touchEventsData,
826            { params: a, touches: i, rtlTranslate: r, slidesGrid: n, enabled: l } = t;
827        if (!l) return;
828        let o = e;
829        if ((o.originalEvent && (o = o.originalEvent), s.allowTouchCallbacks && t.emit("touchEnd", o), (s.allowTouchCallbacks = !1), !s.isTouched))
830            return s.isMoved && a.grabCursor && t.setGrabCursor(!1), (s.isMoved = !1), void (s.startMoving = !1);
831        a.grabCursor && s.isMoved && s.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
832        const d = u(),
833            c = d - s.touchStartTime;
834        if (
835            (t.allowClick && (t.updateClickedSlide(o), t.emit("tap click", o), c < 300 && d - s.lastClickTime < 300 && t.emit("doubleTap doubleClick", o)),
836                (s.lastClickTime = u()),
837                p(() => {
838                    t.destroyed || (t.allowClick = !0);
839                }),
840                !s.isTouched || !s.isMoved || !t.swipeDirection || 0 === i.diff || s.currentTranslate === s.startTranslate)
841        )
842            return (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1);
843        let h;
844        if (((s.isTouched = !1), (s.isMoved = !1), (s.startMoving = !1), (h = a.followFinger ? (r ? t.translate : -t.translate) : -s.currentTranslate), a.cssMode)) return;
845        if (t.params.freeMode && a.freeMode.enabled) return void t.freeMode.onTouchEnd({ currentPos: h });
846        let m = 0,
847            f = t.slidesSizesGrid[0];
848        for (let e = 0; e < n.length; e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup) {
849            const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
850            void 0 !== n[e + t] ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e])) : h >= n[e] && ((m = e), (f = n[n.length - 1] - n[n.length - 2]));
851        }
852        const g = (h - n[m]) / f,
853            v = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup;
854        if (c > a.longSwipesMs) {
855            if (!a.longSwipes) return void t.slideTo(t.activeIndex);
856            "next" === t.swipeDirection && (g >= a.longSwipesRatio ? t.slideTo(m + v) : t.slideTo(m)), "prev" === t.swipeDirection && (g > 1 - a.longSwipesRatio ? t.slideTo(m + v) : t.slideTo(m));
857        } else {
858            if (!a.shortSwipes) return void t.slideTo(t.activeIndex);
859            t.navigation && (o.target === t.navigation.nextEl || o.target === t.navigation.prevEl)
860                ? o.target === t.navigation.nextEl
861                    ? t.slideTo(m + v)
862                    : t.slideTo(m)
863                : ("next" === t.swipeDirection && t.slideTo(m + v), "prev" === t.swipeDirection && t.slideTo(m));
864        }
865    }
866    function k() {
867        const e = this,
868            { params: t, el: s } = e;
869        if (s && 0 === s.offsetWidth) return;
870        t.breakpoints && e.setBreakpoint();
871        const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e;
872        (e.allowSlideNext = !0),
873            (e.allowSlidePrev = !0),
874            e.updateSize(),
875            e.updateSlides(),
876            e.updateSlidesClasses(),
877            ("auto" === t.slidesPerView || t.slidesPerView > 1) && e.isEnd && !e.isBeginning && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0),
878            e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(),
879            (e.allowSlidePrev = i),
880            (e.allowSlideNext = a),
881            e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow();
882    }
883    function z(e) {
884        const t = this;
885        t.enabled && (t.allowClick || (t.params.preventClicks && e.preventDefault(), t.params.preventClicksPropagation && t.animating && (e.stopPropagation(), e.stopImmediatePropagation())));
886    }
887    function O() {
888        const e = this,
889            { wrapperEl: t, rtlTranslate: s, enabled: a } = e;
890        if (!a) return;
891        let i;
892        (e.previousTranslate = e.translate), e.isHorizontal() ? (e.translate = -t.scrollLeft) : (e.translate = -t.scrollTop), -0 === e.translate && (e.translate = 0), e.updateActiveIndex(), e.updateSlidesClasses();
893        const r = e.maxTranslate() - e.minTranslate();
894        (i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r), i !== e.progress && e.updateProgress(s ? -e.translate : e.translate), e.emit("setTranslate", e.translate, !1);
895    }
896    let I = !1;
897    function L() { }
898    const A = (e, t) => {
899        const s = a(),
900            { params: i, touchEvents: r, el: n, wrapperEl: l, device: o, support: d } = e,
901            c = !!i.nested,
902            p = "on" === t ? "addEventListener" : "removeEventListener",
903            u = t;
904        if (d.touch) {
905            const t = !("touchstart" !== r.start || !d.passiveListener || !i.passiveListeners) && { passive: !0, capture: !1 };
906            n[p](r.start, e.onTouchStart, t), n[p](r.move, e.onTouchMove, d.passiveListener ? { passive: !1, capture: c } : c), n[p](r.end, e.onTouchEnd, t), r.cancel && n[p](r.cancel, e.onTouchEnd, t);
907        } else n[p](r.start, e.onTouchStart, !1), s[p](r.move, e.onTouchMove, c), s[p](r.end, e.onTouchEnd, !1);
908        (i.preventClicks || i.preventClicksPropagation) && n[p]("click", e.onClick, !0),
909            i.cssMode && l[p]("scroll", e.onScroll),
910            i.updateOnWindowResize ? e[u](o.ios || o.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", k, !0) : e[u]("observerUpdate", k, !0);
911    };
912    const D = (e, t) => e.grid && t.grid && t.grid.rows > 1;
913    var G = {
914        init: !0,
915        direction: "horizontal",
916        touchEventsTarget: "wrapper",
917        initialSlide: 0,
918        speed: 300,
919        cssMode: !1,
920        updateOnWindowResize: !0,
921        resizeObserver: !0,
922        nested: !1,
923        createElements: !1,
924        enabled: !0,
925        focusableElements: "input, select, option, textarea, button, video, label",
926        width: null,
927        height: null,
928        preventInteractionOnTransition: !1,
929        userAgent: null,
930        url: null,
931        edgeSwipeDetection: !1,
932        edgeSwipeThreshold: 20,
933        autoHeight: !1,
934        setWrapperSize: !1,
935        virtualTranslate: !1,
936        effect: "slide",
937        breakpoints: void 0,
938        breakpointsBase: "window",
939        spaceBetween: 0,
940        slidesPerView: 1,
941        slidesPerGroup: 1,
942        slidesPerGroupSkip: 0,
943        slidesPerGroupAuto: !1,
944        centeredSlides: !1,
945        centeredSlidesBounds: !1,
946        slidesOffsetBefore: 0,
947        slidesOffsetAfter: 0,
948        normalizeSlideIndex: !0,
949        centerInsufficientSlides: !1,
950        watchOverflow: !0,
951        roundLengths: !1,
952        touchRatio: 1,
953        touchAngle: 45,
954        simulateTouch: !0,
955        shortSwipes: !0,
956        longSwipes: !0,
957        longSwipesRatio: 0.5,
958        longSwipesMs: 300,
959        followFinger: !0,
960        allowTouchMove: !0,
961        threshold: 0,
962        touchMoveStopPropagation: !1,
963        touchStartPreventDefault: !0,
964        touchStartForcePreventDefault: !1,
965        touchReleaseOnEdges: !1,
966        uniqueNavElements: !0,
967        resistance: !0,
968        resistanceRatio: 0.85,
969        watchSlidesProgress: !1,
970        grabCursor: !1,
971        preventClicks: !0,
972        preventClicksPropagation: !0,
973        slideToClickedSlide: !1,
974        preloadImages: !0,
975        updateOnImagesReady: !0,
976        loop: !1,
977        loopAdditionalSlides: 0,
978        loopedSlides: null,
979        loopFillGroupWithBlank: !1,
980        loopPreventsSlide: !0,
981        allowSlidePrev: !0,
982        allowSlideNext: !0,
983        swipeHandler: null,
984        noSwiping: !0,
985        noSwipingClass: "swiper-no-swiping",
986        noSwipingSelector: null,
987        passiveListeners: !0,
988        containerModifierClass: "swiper-",
989        slideClass: "swiper-slide",
990        slideBlankClass: "swiper-slide-invisible-blank",
991        slideActiveClass: "swiper-slide-active",
992        slideDuplicateActiveClass: "swiper-slide-duplicate-active",
993        slideVisibleClass: "swiper-slide-visible",
994        slideDuplicateClass: "swiper-slide-duplicate",
995        slideNextClass: "swiper-slide-next",
996        slideDuplicateNextClass: "swiper-slide-duplicate-next",
997        slidePrevClass: "swiper-slide-prev",
998        slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
999        wrapperClass: "swiper-wrapper",
1000        runCallbacksOnInit: !0,
1001        _emitClasses: !1,
1002    };
1003    function N(e, t) {
1004        return function (s = {}) {
1005            const a = Object.keys(s)[0],
1006                i = s[a];
1007            "object" == typeof i && null !== i
1008                ? (["navigation", "pagination", "scrollbar"].indexOf(a) >= 0 && !0 === e[a] && (e[a] = { auto: !0 }),
1009                    a in e && "enabled" in i ? (!0 === e[a] && (e[a] = { enabled: !0 }), "object" != typeof e[a] || "enabled" in e[a] || (e[a].enabled = !0), e[a] || (e[a] = { enabled: !1 }), f(t, s)) : f(t, s))
1010                : f(t, s);
1011        };
1012    }
1013    const B = {
1014        eventsEmitter: C,
1015        update: {
1016            updateSize: function () {
1017                const e = this;
1018                let t, s;
1019                const a = e.$el;
1020                (t = void 0 !== e.params.width && null !== e.params.width ? e.params.width : a[0].clientWidth),
1021                    (s = void 0 !== e.params.height && null !== e.params.height ? e.params.height : a[0].clientHeight),
1022                    (0 === t && e.isHorizontal()) ||
1023                    (0 === s && e.isVertical()) ||
1024                    ((t = t - parseInt(a.css("padding-left") || 0, 10) - parseInt(a.css("padding-right") || 0, 10)),
1025                        (s = s - parseInt(a.css("padding-top") || 0, 10) - parseInt(a.css("padding-bottom") || 0, 10)),
1026                        Number.isNaN(t) && (t = 0),
1027                        Number.isNaN(s) && (s = 0),
1028                        Object.assign(e, { width: t, height: s, size: e.isHorizontal() ? t : s }));
1029            },
1030            updateSlides: function () {
1031                const e = this;
1032                function t(t) {
1033                    return e.isHorizontal()
1034                        ? t
1035                        : {
1036                            width: "height",
1037                            "margin-top": "margin-left",
1038                            "margin-bottom ": "margin-right",
1039                            "margin-left": "margin-top",
1040                            "margin-right": "margin-bottom",
1041                            "padding-left": "padding-top",
1042                            "padding-right": "padding-bottom",
1043                            marginRight: "marginBottom",
1044                        }[t];
1045                }
1046                function s(e, s) {
1047                    return parseFloat(e.getPropertyValue(t(s)) || 0);
1048                }
1049                const a = e.params,
1050                    { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e,
1051                    o = e.virtual && a.virtual.enabled,
1052                    d = o ? e.virtual.slides.length : e.slides.length,
1053                    c = i.children(`.${e.params.slideClass}`),
1054                    p = o ? e.virtual.slides.length : c.length;
1055                let u = [];
1056                const h = [],
1057                    m = [];
1058                let f = a.slidesOffsetBefore;
1059                "function" == typeof f && (f = a.slidesOffsetBefore.call(e));
1060                let v = a.slidesOffsetAfter;
1061                "function" == typeof v && (v = a.slidesOffsetAfter.call(e));
1062                const w = e.snapGrid.length,
1063                    b = e.slidesGrid.length;
1064                let x = a.spaceBetween,
1065                    y = -f,
1066                    E = 0,
1067                    T = 0;
1068                if (void 0 === r) return;
1069                "string" == typeof x && x.indexOf("%") >= 0 && (x = (parseFloat(x.replace("%", "")) / 100) * r),
1070                    (e.virtualSize = -x),
1071                    n ? c.css({ marginLeft: "", marginBottom: "", marginTop: "" }) : c.css({ marginRight: "", marginBottom: "", marginTop: "" }),
1072                    a.centeredSlides && a.cssMode && (g(e.wrapperEl, "--swiper-centered-offset-before", ""), g(e.wrapperEl, "--swiper-centered-offset-after", ""));
1073                const C = a.grid && a.grid.rows > 1 && e.grid;
1074                let $;
1075                C && e.grid.initSlides(p);
1076                const S = "auto" === a.slidesPerView && a.breakpoints && Object.keys(a.breakpoints).filter((e) => void 0 !== a.breakpoints[e].slidesPerView).length > 0;
1077                for (let i = 0; i < p; i += 1) {
1078                    $ = 0;
1079                    const n = c.eq(i);
1080                    if ((C && e.grid.updateSlide(i, n, p, t), "none" !== n.css("display"))) {
1081                        if ("auto" === a.slidesPerView) {
1082                            S && (c[i].style[t("width")] = "");
1083                            const r = getComputedStyle(n[0]),
1084                                l = n[0].style.transform,
1085                                o = n[0].style.webkitTransform;
1086                            if ((l && (n[0].style.transform = "none"), o && (n[0].style.webkitTransform = "none"), a.roundLengths)) $ = e.isHorizontal() ? n.outerWidth(!0) : n.outerHeight(!0);
1087                            else {
1088                                const e = s(r, "width"),
1089                                    t = s(r, "padding-left"),
1090                                    a = s(r, "padding-right"),
1091                                    i = s(r, "margin-left"),
1092                                    l = s(r, "margin-right"),
1093                                    o = r.getPropertyValue("box-sizing");
1094                                if (o && "border-box" === o) $ = e + i + l;
1095                                else {
1096                                    const { clientWidth: s, offsetWidth: r } = n[0];
1097                                    $ = e + t + a + i + l + (r - s);
1098                                }
1099                            }
1100                            l && (n[0].style.transform = l), o && (n[0].style.webkitTransform = o), a.roundLengths && ($ = Math.floor($));
1101                        } else ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView), a.roundLengths && ($ = Math.floor($)), c[i] && (c[i].style[t("width")] = `${$}px`);
1102                        c[i] && (c[i].swiperSlideSize = $),
1103                            m.push($),
1104                            a.centeredSlides
1105                                ? ((y = y + $ / 2 + E / 2 + x),
1106                                    0 === E && 0 !== i && (y = y - r / 2 - x),
1107                                    0 === i && (y = y - r / 2 - x),
1108                                    Math.abs(y) < 0.001 && (y = 0),
1109                                    a.roundLengths && (y = Math.floor(y)),
1110                                    T % a.slidesPerGroup == 0 && u.push(y),
1111                                    h.push(y))
1112                                : (a.roundLengths && (y = Math.floor(y)), (T - Math.min(e.params.slidesPerGroupSkip, T)) % e.params.slidesPerGroup == 0 && u.push(y), h.push(y), (y = y + $ + x)),
1113                            (e.virtualSize += $ + x),
1114                            (E = $),
1115                            (T += 1);
1116                    }
1117                }
1118                if (
1119                    ((e.virtualSize = Math.max(e.virtualSize, r) + v),
1120                        n && l && ("slide" === a.effect || "coverflow" === a.effect) && i.css({ width: `${e.virtualSize + a.spaceBetween}px` }),
1121                        a.setWrapperSize && i.css({ [t("width")]: `${e.virtualSize + a.spaceBetween}px` }),
1122                        C && e.grid.updateWrapperSize($, u, t),
1123                        !a.centeredSlides)
1124                ) {
1125                    const t = [];
1126                    for (let s = 0; s < u.length; s += 1) {
1127                        let i = u[s];
1128                        a.roundLengths && (i = Math.floor(i)), u[s] <= e.virtualSize - r && t.push(i);
1129                    }
1130                    (u = t), Math.floor(e.virtualSize - r) - Math.floor(u[u.length - 1]) > 1 && u.push(e.virtualSize - r);
1131                }
1132                if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) {
1133                    const s = e.isHorizontal() && n ? "marginLeft" : t("marginRight");
1134                    c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({ [s]: `${x}px` });
1135                }
1136                if (a.centeredSlides && a.centeredSlidesBounds) {
1137                    let e = 0;
1138                    m.forEach((t) => {
1139                        e += t + (a.spaceBetween ? a.spaceBetween : 0);
1140                    }),
1141                        (e -= a.spaceBetween);
1142                    const t = e - r;
1143                    u = u.map((e) => (e < 0 ? -f : e > t ? t + v : e));
1144                }
1145                if (a.centerInsufficientSlides) {
1146                    let e = 0;
1147                    if (
1148                        (m.forEach((t) => {
1149                            e += t + (a.spaceBetween ? a.spaceBetween : 0);
1150                        }),
1151                            (e -= a.spaceBetween),
1152                            e < r)
1153                    ) {
1154                        const t = (r - e) / 2;
1155                        u.forEach((e, s) => {
1156                            u[s] = e - t;
1157                        }),
1158                            h.forEach((e, s) => {
1159                                h[s] = e + t;
1160                            });
1161                    }
1162                }
1163                if ((Object.assign(e, { slides: c, snapGrid: u, slidesGrid: h, slidesSizesGrid: m }), a.centeredSlides && a.cssMode && !a.centeredSlidesBounds)) {
1164                    g(e.wrapperEl, "--swiper-centered-offset-before", -u[0] + "px"), g(e.wrapperEl, "--swiper-centered-offset-after", e.size / 2 - m[m.length - 1] / 2 + "px");
1165                    const t = -e.snapGrid[0],
1166                        s = -e.slidesGrid[0];
1167                    (e.snapGrid = e.snapGrid.map((e) => e + t)), (e.slidesGrid = e.slidesGrid.map((e) => e + s));
1168                }
1169                p !== d && e.emit("slidesLengthChange"),
1170                    u.length !== w && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")),
1171                    h.length !== b && e.emit("slidesGridLengthChange"),
1172                    a.watchSlidesProgress && e.updateSlidesOffset();
1173            },
1174            updateAutoHeight: function (e) {
1175                const t = this,
1176                    s = [],
1177                    a = t.virtual && t.params.virtual.enabled;
1178                let i,
1179                    r = 0;
1180                "number" == typeof e ? t.setTransition(e) : !0 === e && t.setTransition(t.params.speed);
1181                const n = (e) => (a ? t.slides.filter((t) => parseInt(t.getAttribute("data-swiper-slide-index"), 10) === e)[0] : t.slides.eq(e)[0]);
1182                if ("auto" !== t.params.slidesPerView && t.params.slidesPerView > 1)
1183                    if (t.params.centeredSlides)
1184                        t.visibleSlides.each((e) => {
1185                            s.push(e);
1186                        });
1187                    else
1188                        for (i = 0;
1188 i < Math.ceil(t.params.slidesPerView); i += 1) {
1189                            const e = t.activeIndex + i;
1190                            if (e > t.slides.length && !a) break;
1191                            s.push(n(e));
1192                        }
1193                else s.push(n(t.activeIndex));
1194                for (i = 0; i < s.length; i += 1)
1195                    if (void 0 !== s[i]) {
1196                        const e = s[i].offsetHeight;
1197                        r = e > r ? e : r;
1198                    }
1199                r && t.$wrapperEl.css("height", `${r}px`);
1200            },
1201            updateSlidesOffset: function () {
1202                const e = this,
1203                    t = e.slides;
1204                for (let s = 0; s < t.length; s += 1) t[s].swiperSlideOffset = e.isHorizontal() ? t[s].offsetLeft : t[s].offsetTop;
1205            },
1206            updateSlidesProgress: function (e = (this && this.translate) || 0) {
1207                const t = this,
1208                    s = t.params,
1209                    { slides: a, rtlTranslate: i, snapGrid: r } = t;
1210                if (0 === a.length) return;
1211                void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset();
1212                let n = -e;
1213                i && (n = e), a.removeClass(s.slideVisibleClass), (t.visibleSlidesIndexes = []), (t.visibleSlides = []);
1214                for (let e = 0; e < a.length; e += 1) {
1215                    const l = a[e];
1216                    let o = l.swiperSlideOffset;
1217                    s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset);
1218                    const d = (n + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween),
1219                        c = (n - r[0] + (s.centeredSlides ? t.minTranslate() : 0) - o) / (l.swiperSlideSize + s.spaceBetween),
1220                        p = -(n - o),
1221                        u = p + t.slidesSizesGrid[e];
1222                    ((p >= 0 && p < t.size - 1) || (u > 1 && u <= t.size) || (p <= 0 && u >= t.size)) && (t.visibleSlides.push(l), t.visibleSlidesIndexes.push(e), a.eq(e).addClass(s.slideVisibleClass)),
1223                        (l.progress = i ? -d : d),
1224                        (l.originalProgress = i ? -c : c);
1225                }
1226                t.visibleSlides = d(t.visibleSlides);
1227            },
1228            updateProgress: function (e) {
1229                const t = this;
1230                if (void 0 === e) {
1231                    const s = t.rtlTranslate ? -1 : 1;
1232                    e = (t && t.translate && t.translate * s) || 0;
1233                }
1234                const s = t.params,
1235                    a = t.maxTranslate() - t.minTranslate();
1236                let { progress: i, isBeginning: r, isEnd: n } = t;
1237                const l = r,
1238                    o = n;
1239                0 === a ? ((i = 0), (r = !0), (n = !0)) : ((i = (e - t.minTranslate()) / a), (r = i <= 0), (n = i >= 1)),
1240                    Object.assign(t, { progress: i, isBeginning: r, isEnd: n }),
1241                    (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) && t.updateSlidesProgress(e),
1242                    r && !l && t.emit("reachBeginning toEdge"),
1243                    n && !o && t.emit("reachEnd toEdge"),
1244                    ((l && !r) || (o && !n)) && t.emit("fromEdge"),
1245                    t.emit("progress", i);
1246            },
1247            updateSlidesClasses: function () {
1248                const e = this,
1249                    { slides: t, params: s, $wrapperEl: a, activeIndex: i, realIndex: r } = e,
1250                    n = e.virtual && s.virtual.enabled;
1251                let l;
1252                t.removeClass(`${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`),
1253                    (l = n ? e.$wrapperEl.find(`.${s.slideClass}[data-swiper-slide-index="${i}"]`) : t.eq(i)),
1254                    l.addClass(s.slideActiveClass),
1255                    s.loop &&
1256                    (l.hasClass(s.slideDuplicateClass)
1257                        ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass)
1258                        : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${r}"]`).addClass(s.slideDuplicateActiveClass));
1259                let o = l.nextAll(`.${s.slideClass}`).eq(0).addClass(s.slideNextClass);
1260                s.loop && 0 === o.length && ((o = t.eq(0)), o.addClass(s.slideNextClass));
1261                let d = l.prevAll(`.${s.slideClass}`).eq(0).addClass(s.slidePrevClass);
1262                s.loop && 0 === d.length && ((d = t.eq(-1)), d.addClass(s.slidePrevClass)),
1263                    s.loop &&
1264                    (o.hasClass(s.slideDuplicateClass)
1265                        ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass)
1266                        : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${o.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicateNextClass),
1267                        d.hasClass(s.slideDuplicateClass)
1268                            ? a.children(`.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)
1269                            : a.children(`.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index="${d.attr("data-swiper-slide-index")}"]`).addClass(s.slideDuplicatePrevClass)),
1270                    e.emitSlidesClasses();
1271            },
1272            updateActiveIndex: function (e) {
1273                const t = this,
1274                    s = t.rtlTranslate ? t.translate : -t.translate,
1275                    { slidesGrid: a, snapGrid: i, params: r, activeIndex: n, realIndex: l, snapIndex: o } = t;
1276                let d,
1277                    c = e;
1278                if (void 0 === c) {
1279                    for (let e = 0; e < a.length; e += 1) void 0 !== a[e + 1] ? (s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2 ? (c = e) : s >= a[e] && s < a[e + 1] && (c = e + 1)) : s >= a[e] && (c = e);
1280                    r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0);
1281                }
1282                if (i.indexOf(s) >= 0) d = i.indexOf(s);
1283                else {
1284                    const e = Math.min(r.slidesPerGroupSkip, c);
1285                    d = e + Math.floor((c - e) / r.slidesPerGroup);
1286                }
1287                if ((d >= i.length && (d = i.length - 1), c === n)) return void (d !== o && ((t.snapIndex = d), t.emit("snapIndexChange")));
1288                const p = parseInt(t.slides.eq(c).attr("data-swiper-slide-index") || c, 10);
1289                Object.assign(t, { snapIndex: d, realIndex: p, previousIndex: n, activeIndex: c }),
1290                    t.emit("activeIndexChange"),
1291                    t.emit("snapIndexChange"),
1292                    l !== p && t.emit("realIndexChange"),
1293                    (t.initialized || t.params.runCallbacksOnInit) && t.emit("slideChange");
1294            },
1295            updateClickedSlide: function (e) {
1296                const t = this,
1297                    s = t.params,
1298                    a = d(e.target).closest(`.${s.slideClass}`)[0];
1299                let i,
1300                    r = !1;
1301                if (a)
1302                    for (let e = 0; e < t.slides.length; e += 1)
1303                        if (t.slides[e] === a) {
1304                            (r = !0), (i = e);
1305                            break;
1306                        }
1307                if (!a || !r) return (t.clickedSlide = void 0), void (t.clickedIndex = void 0);
1308                (t.clickedSlide = a),
1309                    t.virtual && t.params.virtual.enabled ? (t.clickedIndex = parseInt(d(a).attr("data-swiper-slide-index"), 10)) : (t.clickedIndex = i),
1310                    s.slideToClickedSlide && void 0 !== t.clickedIndex && t.clickedIndex !== t.activeIndex && t.slideToClickedSlide();
1311            },
1312        },
1313        translate: {
1314            getTranslate: function (e = this.isHorizontal() ? "x" : "y") {
1315                const { params: t, rtlTranslate: s, translate: a, $wrapperEl: i } = this;
1316                if (t.virtualTranslate) return s ? -a : a;
1317                if (t.cssMode) return a;
1318                let r = h(i[0], e);
1319                return s && (r = -r), r || 0;
1320            },
1321            setTranslate: function (e, t) {
1322                const s = this,
1323                    { rtlTranslate: a, params: i, $wrapperEl: r, wrapperEl: n, progress: l } = s;
1324                let o,
1325                    d = 0,
1326                    c = 0;
1327                s.isHorizontal() ? (d = a ? -e : e) : (c = e),
1328                    i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))),
1329                    i.cssMode ? (n[s.isHorizontal() ? "scrollLeft" : "scrollTop"] = s.isHorizontal() ? -d : -c) : i.virtualTranslate || r.transform(`translate3d(${d}px, ${c}px, 0px)`),
1330                    (s.previousTranslate = s.translate),
1331                    (s.translate = s.isHorizontal() ? d : c);
1332                const p = s.maxTranslate() - s.minTranslate();
1333                (o = 0 === p ? 0 : (e - s.minTranslate()) / p), o !== l && s.updateProgress(e), s.emit("setTranslate", s.translate, t);
1334            },
1335            minTranslate: function () {
1336                return -this.snapGrid[0];
1337            },
1338            maxTranslate: function () {
1339                return -this.snapGrid[this.snapGrid.length - 1];
1340            },
1341            translateTo: function (e = 0, t = this.params.speed, s = !0, a = !0, i) {
1342                const r = this,
1343                    { params: n, wrapperEl: l } = r;
1344                if (r.animating && n.preventInteractionOnTransition) return !1;
1345                const o = r.minTranslate(),
1346                    d = r.maxTranslate();
1347                let c;
1348                if (((c = a && e > o ? o : a && e < d ? d : e), r.updateProgress(c), n.cssMode)) {
1349                    const e = r.isHorizontal();
1350                    if (0 === t) l[e ? "scrollLeft" : "scrollTop"] = -c;
1351                    else {
1352                        if (!r.support.smoothScroll) return v({ swiper: r, targetPosition: -c, side: e ? "left" : "top" }), !0;
1353                        l.scrollTo({ [e ? "left" : "top"]: -c, behavior: "smooth" });
1354                    }
1355                    return !0;
1356                }
1357                return (
1358                    0 === t
1359                        ? (r.setTransition(0), r.setTranslate(c), s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionEnd")))
1360                        : (r.setTransition(t),
1361                            r.setTranslate(c),
1362                            s && (r.emit("beforeTransitionStart", t, i), r.emit("transitionStart")),
1363                            r.animating ||
1364                            ((r.animating = !0),
1365                                r.onTranslateToWrapperTransitionEnd ||
1366                                (r.onTranslateToWrapperTransitionEnd = function (e) {
1367                                    r &&
1368                                        !r.destroyed &&
1369                                        e.target === this &&
1370                                        (r.$wrapperEl[0].removeEventListener("transitionend", r.onTranslateToWrapperTransitionEnd),
1371                                            r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd),
1372                                            (r.onTranslateToWrapperTransitionEnd = null),
1373                                            delete r.onTranslateToWrapperTransitionEnd,
1374                                            s && r.emit("transitionEnd"));
1375                                }),
1376                                r.$wrapperEl[0].addEventListener("transitionend", r.onTranslateToWrapperTransitionEnd),
1377                                r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onTranslateToWrapperTransitionEnd))),
1378                    !0
1379                );
1380            },
1381        },
1382        transition: {
1383            setTransition: function (e, t) {
1384                const s = this;
1385                s.params.cssMode || s.$wrapperEl.transition(e), s.emit("setTransition", e, t);
1386            },
1387            transitionStart: function (e = !0, t) {
1388                const s = this,
1389                    { params: a } = s;
1390                a.cssMode || (a.autoHeight && s.updateAutoHeight(), $({ swiper: s, runCallbacks: e, direction: t, step: "Start" }));
1391            },
1392            transitionEnd: function (e = !0, t) {
1393                const s = this,
1394                    { params: a } = s;
1395                (s.animating = !1), a.cssMode || (s.setTransition(0), $({ swiper: s, runCallbacks: e, direction: t, step: "End" }));
1396            },
1397        },
1398        slide: {
1399            slideTo: function (e = 0, t = this.params.speed, s = !0, a, i) {
1400                if ("number" != typeof e && "string" != typeof e) throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`);
1401                if ("string" == typeof e) {
1402                    const t = parseInt(e, 10);
1403                    if (!isFinite(t)) throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`);
1404                    e = t;
1405                }
1406                const r = this;
1407                let n = e;
1408                n < 0 && (n = 0);
1409                const { params: l, snapGrid: o, slidesGrid: d, previousIndex: c, activeIndex: p, rtlTranslate: u, wrapperEl: h, enabled: m } = r;
1410                if ((r.animating && l.preventInteractionOnTransition) || (!m && !a && !i)) return !1;
1411                const f = Math.min(r.params.slidesPerGroupSkip, n);
1412                let g = f + Math.floor((n - f) / r.params.slidesPerGroup);
1413                g >= o.length && (g = o.length - 1), (p || l.initialSlide || 0) === (c || 0) && s && r.emit("beforeSlideChangeStart");
1414                const w = -o[g];
1415                if ((r.updateProgress(w), l.normalizeSlideIndex))
1416                    for (let e = 0; e < d.length; e += 1) {
1417                        const t = -Math.floor(100 * w),
1418                            s = Math.floor(100 * d[e]),
1419                            a = Math.floor(100 * d[e + 1]);
1420                        void 0 !== d[e + 1] ? (t >= s && t < a - (a - s) / 2 ? (n = e) : t >= s && t < a && (n = e + 1)) : t >= s && (n = e);
1421                    }
1422                if (r.initialized && n !== p) {
1423                    if (!r.allowSlideNext && w < r.translate && w < r.minTranslate()) return !1;
1424                    if (!r.allowSlidePrev && w > r.translate && w > r.maxTranslate() && (p || 0) !== n) return !1;
1425                }
1426                let b;
1427                if (((b = n > p ? "next" : n < p ? "prev" : "reset"), (u && -w === r.translate) || (!u && w === r.translate)))
1428                    return r.updateActiveIndex(n), l.autoHeight && r.updateAutoHeight(), r.updateSlidesClasses(), "slide" !== l.effect && r.setTranslate(w), "reset" !== b && (r.transitionStart(s, b), r.transitionEnd(s, b)), !1;
1429                if (l.cssMode) {
1430                    const e = r.isHorizontal(),
1431                        s = u ? w : -w;
1432                    if (0 === t) {
1433                        const t = r.virtual && r.params.virtual.enabled;
1434                        t && ((r.wrapperEl.style.scrollSnapType = "none"), (r._immediateVirtual = !0)),
1435                            (h[e ? "scrollLeft" : "scrollTop"] = s),
1436                            t &&
1437                            requestAnimationFrame(() => {
1438                                (r.wrapperEl.style.scrollSnapType = ""), (r._swiperImmediateVirtual = !1);
1439                            });
1440                    } else {
1441                        if (!r.support.smoothScroll) return v({ swiper: r, targetPosition: s, side: e ? "left" : "top" }), !0;
1442                        h.scrollTo({ [e ? "left" : "top"]: s, behavior: "smooth" });
1443                    }
1444                    return !0;
1445                }
1446                return (
1447                    0 === t
1448                        ? (r.setTransition(0), r.setTranslate(w), r.updateActiveIndex(n), r.updateSlidesClasses(), r.emit("beforeTransitionStart", t, a), r.transitionStart(s, b), r.transitionEnd(s, b))
1449                        : (r.setTransition(t),
1450                            r.setTranslate(w),
1451                            r.updateActiveIndex(n),
1452                            r.updateSlidesClasses(),
1453                            r.emit("beforeTransitionStart", t, a),
1454                            r.transitionStart(s, b),
1455                            r.animating ||
1456                            ((r.animating = !0),
1457                                r.onSlideToWrapperTransitionEnd ||
1458                                (r.onSlideToWrapperTransitionEnd = function (e) {
1459                                    r &&
1460                                        !r.destroyed &&
1461                                        e.target === this &&
1462                                        (r.$wrapperEl[0].removeEventListener("transitionend", r.onSlideToWrapperTransitionEnd),
1463                                            r.$wrapperEl[0].removeEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd),
1464                                            (r.onSlideToWrapperTransitionEnd = null),
1465                                            delete r.onSlideToWrapperTransitionEnd,
1466                                            r.transitionEnd(s, b));
1467                                }),
1468                                r.$wrapperEl[0].addEventListener("transitionend", r.onSlideToWrapperTransitionEnd),
1469                                r.$wrapperEl[0].addEventListener("webkitTransitionEnd", r.onSlideToWrapperTransitionEnd))),
1470                    !0
1471                );
1472            },
1473            slideToLoop: function (e = 0, t = this.params.speed, s = !0, a) {
1474                const i = this;
1475                let r = e;
1476                return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a);
1477            },
1478            slideNext: function (e = this.params.speed, t = !0, s) {
1479                const a = this,
1480                    { animating: i, enabled: r, params: n } = a;
1481                if (!r) return a;
1482                let l = n.slidesPerGroup;
1483                "auto" === n.slidesPerView && 1 === n.slidesPerGroup && n.slidesPerGroupAuto && (l = Math.max(a.slidesPerViewDynamic("current", !0), 1));
1484                const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l;
1485                if (n.loop) {
1486                    if (i && n.loopPreventsSlide) return !1;
1487                    a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1488                }
1489                return a.slideTo(a.activeIndex + o, e, t, s);
1490            },
1491            slidePrev: function (e = this.params.speed, t = !0, s) {
1492                const a = this,
1493                    { params: i, animating: r, snapGrid: n, slidesGrid: l, rtlTranslate: o, enabled: d } = a;
1494                if (!d) return a;
1495                if (i.loop) {
1496                    if (r && i.loopPreventsSlide) return !1;
1497                    a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft);
1498                }
1499                function c(e) {
1500                    return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e);
1501                }
1502                const p = c(o ? a.translate : -a.translate),
1503                    u = n.map((e) => c(e));
1504                let h = n[u.indexOf(p) - 1];
1505                if (void 0 === h && i.cssMode) {
1506                    let e;
1507                    n.forEach((t, s) => {
1508                        p >= t && (e = s);
1509                    }),
1510                        void 0 !== e && (h = n[e > 0 ? e - 1 : e]);
1511                }
1512                let m = 0;
1513                return (
1514                    void 0 !== h &&
1515                    ((m = l.indexOf(h)),
1516                        m < 0 && (m = a.activeIndex - 1),
1517                        "auto" === i.slidesPerView && 1 === i.slidesPerGroup && i.slidesPerGroupAuto && ((m = m - a.slidesPerViewDynamic("previous", !0) + 1), (m = Math.max(m, 0)))),
1518                    a.slideTo(m, e, t, s)
1519                );
1520            },
1521            slideReset: function (e = this.params.speed, t = !0, s) {
1522                return this.slideTo(this.activeIndex, e, t, s);
1523            },
1524            slideToClosest: function (e = this.params.speed, t = !0, s, a = 0.5) {
1525                const i = this;
1526                let r = i.activeIndex;
1527                const n = Math.min(i.params.slidesPerGroupSkip, r),
1528                    l = n + Math.floor((r - n) / i.params.slidesPerGroup),
1529                    o = i.rtlTranslate ? i.translate : -i.translate;
1530                if (o >= i.snapGrid[l]) {
1531                    const e = i.snapGrid[l];
1532                    o - e > (i.snapGrid[l + 1] - e) * a && (r += i.params.slidesPerGroup);
1533                } else {
1534                    const e = i.snapGrid[l - 1];
1535                    o - e <= (i.snapGrid[l] - e) * a && (r -= i.params.slidesPerGroup);
1536                }
1537                return (r = Math.max(r, 0)), (r = Math.min(r, i.slidesGrid.length - 1)), i.slideTo(r, e, t, s);
1538            },
1539            slideToClickedSlide: function () {
1540                const e = this,
1541                    { params: t, $wrapperEl: s } = e,
1542                    a = "auto" === t.slidesPerView ? e.slidesPerViewDynamic() : t.slidesPerView;
1543                let i,
1544                    r = e.clickedIndex;
1545                if (t.loop) {
1546                    if (e.animating) return;
1547                    (i = parseInt(d(e.clickedSlide).attr("data-swiper-slide-index"), 10)),
1548                        t.centeredSlides
1549                            ? r < e.loopedSlides - a / 2 || r > e.slides.length - e.loopedSlides + a / 2
1550                                ? (e.loopFix(),
1551                                    (r = s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index()),
1552                                    p(() => {
1553                                        e.slideTo(r);
1554                                    }))
1555                                : e.slideTo(r)
1556                            : r > e.slides.length - a
1557                                ? (e.loopFix(),
1558                                    (r = s.children(`.${t.slideClass}[data-swiper-slide-index="${i}"]:not(.${t.slideDuplicateClass})`).eq(0).index()),
1559                                    p(() => {
1560                                        e.slideTo(r);
1561                                    }))
1562                                : e.slideTo(r);
1563                } else e.slideTo(r);
1564            },
1565        },
1566        loop: {
1567            loopCreate: function () {
1568                const e = this,
1569                    t = a(),
1570                    { params: s, $wrapperEl: i } = e,
1571                    r = i.children().length > 0 ? d(i.children()[0].parentNode) : i;
1572                r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove();
1573                let n = r.children(`.${s.slideClass}`);
1574                if (s.loopFillGroupWithBlank) {
1575                    const e = s.slidesPerGroup - (n.length % s.slidesPerGroup);
1576                    if (e !== s.slidesPerGroup) {
1577                        for (let a = 0; a < e; a += 1) {
1578                            const e = d(t.createElement("div")).addClass(`${s.slideClass} ${s.slideBlankClass}`);
1579                            r.append(e);
1580                        }
1581                        n = r.children(`.${s.slideClass}`);
1582                    }
1583                }
1584                "auto" !== s.slidesPerView || s.loopedSlides || (s.loopedSlides = n.length),
1585                    (e.loopedSlides = Math.ceil(parseFloat(s.loopedSlides || s.slidesPerView, 10))),
1586                    (e.loopedSlides += s.loopAdditionalSlides),
1587                    e.loopedSlides > n.length && (e.loopedSlides = n.length);
1588                const l = [],
1589                    o = [];
1590                n.each((t, s) => {
1591                    const a = d(t);
1592                    s < e.loopedSlides && o.push(t), s < n.length && s >= n.length - e.loopedSlides && l.push(t), a.attr("data-swiper-slide-index", s);
1593                });
1594                for (let e = 0; e < o.length; e += 1) r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1595                for (let e = l.length - 1; e >= 0; e -= 1) r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass));
1596            },
1597            loopFix: function () {
1598                const e = this;
1599                e.emit("beforeLoopFix");
1600                const { activeIndex: t, slides: s, loopedSlides: a, allowSlidePrev: i, allowSlideNext: r, snapGrid: n, rtlTranslate: l } = e;
1601                let o;
1602                (e.allowSlidePrev = !0), (e.allowSlideNext = !0);
1603                const d = -n[t] - e.getTranslate();
1604                if (t < a) {
1605                    (o = s.length - 3 * a + t), (o += a);
1606                    e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d);
1607                } else if (t >= s.length - a) {
1608                    (o = -s.length + t + a), (o += a);
1609                    e.slideTo(o, 0, !1, !0) && 0 !== d && e.setTranslate((l ? -e.translate : e.translate) - d);
1610                }
1611                (e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit("loopFix");
1612            },
1613            loopDestroy: function () {
1614                const { $wrapperEl: e, params: t, slides: s } = this;
1615                e.children(`.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`).remove(), s.removeAttr("data-swiper-slide-index");
1616            },
1617        },
1618        grabCursor: {
1619            setGrabCursor: function (e) {
1620                const t = this;
1621                if (t.support.touch || !t.params.simulateTouch || (t.params.watchOverflow && t.isLocked) || t.params.cssMode) return;
1622                const s = "container" === t.params.touchEventsTarget ? t.el : t.wrapperEl;
1623                (s.style.cursor = "move"), (s.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"), (s.style.cursor = e ? "-moz-grabbin" : "-moz-grab"), (s.style.cursor = e ? "grabbing" : "grab");
1624            },
1625            unsetGrabCursor: function () {
1626                const e = this;
1627                e.support.touch || (e.params.watchOverflow && e.isLocked) || e.params.cssMode || (e["container" === e.params.touchEventsTarget ? "el" : "wrapperEl"].style.cursor = "");
1628            },
1629        },
1630        events: {
1631            attachEvents: function () {
1632                const e = this,
1633                    t = a(),
1634                    { params: s, support: i } = e;
1635                (e.onTouchStart = S.bind(e)),
1636                    (e.onTouchMove = M.bind(e)),
1637                    (e.onTouchEnd = P.bind(e)),
1638                    s.cssMode && (e.onScroll = O.bind(e)),
1639                    (e.onClick = z.bind(e)),
1640                    i.touch && !I && (t.addEventListener("touchstart", L), (I = !0)),
1641                    A(e, "on");
1642            },
1643            detachEvents: function () {
1644                A(this, "off");
1645            },
1646        },
1647        breakpoints: {
1648            setBreakpoint: function () {
1649                const e = this,
1650                    { activeIndex: t, initialized: s, loopedSlides: a = 0, params: i, $el: r } = e,
1651                    n = i.breakpoints;
1652                if (!n || (n && 0 === Object.keys(n).length)) return;
1653                const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el);
1654                if (!l || e.currentBreakpoint === l) return;
1655                const o = (l in n ? n[l] : void 0) || e.originalParams,
1656                    d = D(e, i),
1657                    c = D(e, o),
1658                    p = i.enabled;
1659                d && !c
1660                    ? (r.removeClass(`${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`), e.emitContainerClasses())
1661                    : !d &&
1662                    c &&
1663                    (r.addClass(`${i.containerModifierClass}grid`),
1664                        ((o.grid.fill && "column" === o.grid.fill) || (!o.grid.fill && "column" === i.grid.fill)) && r.addClass(`${i.containerModifierClass}grid-column`),
1665                        e.emitContainerClasses());
1666                const u = o.direction && o.direction !== i.direction,
1667                    h = i.loop && (o.slidesPerView !== i.slidesPerView || u);
1668                u && s && e.changeDirection(), f(e.params, o);
1669                const m = e.params.enabled;
1670                Object.assign(e, { allowTouchMove: e.params.allowTouchMove, allowSlideNext: e.params.allowSlideNext, allowSlidePrev: e.params.allowSlidePrev }),
1671                    p && !m ? e.disable() : !p && m && e.enable(),
1672                    (e.currentBreakpoint = l),
1673                    e.emit("_beforeBreakpoint", o),
1674                    h && s && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - a + e.loopedSlides, 0, !1)),
1675                    e.emit("breakpoint", o);
1676            },
1677            getBreakpoint: function (e, t = "window", s) {
1678                if (!e || ("container" === t && !s)) return;
1679                let a = !1;
1680                const i = r(),
1681                    n = "window" === t ? i.innerHeight : s.clientHeight,
1682                    l = Object.keys(e).map((e) => {
1683                        if ("string" == typeof e && 0 === e.indexOf("@")) {
1684                            const t = parseFloat(e.substr(1));
1685                            return { value: n * t, point: e };
1686                        }
1687                        return { value: e, point: e };
1688                    });
1689                l.sort((e, t) => parseInt(e.value, 10) - parseInt(t.value, 10));
1690                for (let e = 0; e < l.length; e += 1) {
1691                    const { point: r, value: n } = l[e];
1692                    "window" === t ? i.matchMedia(`(min-width: ${n}px)`).matches && (a = r) : n <= s.clientWidth && (a = r);
1693                }
1694                return a || "max";
1695            },
1696        },
1697        checkOverflow: {
1698            checkOverflow: function () {
1699                const e = this,
1700                    { isLocked: t, params: s } = e,
1701                    { slidesOffsetBefore: a } = s;
1702                if (a) {
1703                    const t = e.slides.length - 1,
1704                        s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a;
1705                    e.isLocked = e.size > s;
1706                } else e.isLocked = 1 === e.snapGrid.length;
1707                !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),
1708                    !0 === s.allowSlidePrev && (e.allowSlidePrev = !e.isLocked),
1709                    t && t !== e.isLocked && (e.isEnd = !1),
1710                    t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock");
1711            },
1712        },
1713        classes: {
1714            addClasses: function () {
1715                const e = this,
1716                    { classNames: t, params: s, rtl: a, $el: i, device: r, support: n } = e,
1717                    l = (function (e, t) {
1718                        const s = [];
1719                        return (
1720                            e.forEach((e) => {
1721                                "object" == typeof e
1722                                    ? Object.keys(e).forEach((a) => {
1723                                        e[a] && s.push(t + a);
1724                                    })
1725                                    : "string" == typeof e && s.push(t + e);
1726                            }),
1727                            s
1728                        );
1729                    })(
1730                        [
1731                            "initialized",
1732                            s.direction,
1733                            { "pointer-events": !n.touch },
1734                            { "free-mode": e.params.freeMode && s.freeMode.enabled },
1735                            { autoheight: s.autoHeight },
1736                            { rtl: a },
1737                            { grid: s.grid && s.grid.rows > 1 },
1738                            { "grid-column": s.grid && s.grid.rows > 1 && "column" === s.grid.fill },
1739                            { android: r.android },
1740                            { ios: r.ios },
1741                            { "css-mode": s.cssMode },
1742                            { centered: s.cssMode && s.centeredSlides },
1743                        ],
1744                        s.containerModifierClass
1745                    );
1746                t.push(...l), i.addClass([...t].join(" ")), e.emitContainerClasses();
1747            },
1748            removeClasses: function () {
1749                const { $el: e, classNames: t } = this;
1750                e.removeClass(t.join(" ")), this.emitContainerClasses();
1751            },
1752        },
1753        images: {
1754            loadImage: function (e, t, s, a, i, n) {
1755                const l = r();
1756                let o;
1757                function c() {
1758                    n && n();
1759                }
1760                d(e).parent("picture")[0] || (e.complete && i) ? c() : t ? ((o = new l.Image()), (o.onload = c), (o.onerror = c), a && (o.sizes = a), s && (o.srcset = s), t && (o.src = t)) : c();
1761            },
1762            preloadImages: function () {
1763                const e = this;
1764                function t() {
1765                    null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(
1765), e.emit("imagesReady")));
1766                }
1767                e.imagesToLoad = e.$el.find("img");
1768                for (let s = 0; s < e.imagesToLoad.length; s += 1) {
1769                    const a = e.imagesToLoad[s];
1770                    e.loadImage(a, a.currentSrc || a.getAttribute("src"), a.srcset || a.getAttribute("srcset"), a.sizes || a.getAttribute("sizes"), !0, t);
1771                }
1772            },
1773        },
1774    },
1775        X = {};
1776    class H {
1777        constructor(...e) {
1778            let t, s;
1779            if ((1 === e.length && e[0].constructor && "Object" === Object.prototype.toString.call(e[0]).slice(8, -1) ? (s = e[0]) : ([t, s] = e), s || (s = {}), (s = f({}, s)), t && !s.el && (s.el = t), s.el && d(s.el).length > 1)) {
1780                const e = [];
1781                return (
1782                    d(s.el).each((t) => {
1783                        const a = f({}, s, { el: t });
1784                        e.push(new H(a));
1785                    }),
1786                    e
1787                );
1788            }
1789            const a = this;
1790            (a.__swiper__ = !0),
1791                (a.support = y()),
1792                (a.device = E({ userAgent: s.userAgent })),
1793                (a.browser = T()),
1794                (a.eventsListeners = {}),
1795                (a.eventsAnyListeners = []),
1796                (a.modules = [...a.__modules__]),
1797                s.modules && Array.isArray(s.modules) && a.modules.push(...s.modules);
1798            const i = {};
1799            a.modules.forEach((e) => {
1800                e({ swiper: a, extendParams: N(s, i), on: a.on.bind(a), once: a.once.bind(a), off: a.off.bind(a), emit: a.emit.bind(a) });
1801            });
1802            const r = f({}, G, i);
1803            return (
1804                (a.params = f({}, r, X, s)),
1805                (a.originalParams = f({}, a.params)),
1806                (a.passedParams = f({}, s)),
1807                a.params &&
1808                a.params.on &&
1809                Object.keys(a.params.on).forEach((e) => {
1810                    a.on(e, a.params.on[e]);
1811                }),
1812                a.params && a.params.onAny && a.onAny(a.params.onAny),
1813                (a.$ = d),
1814                Object.assign(a, {
1815                    enabled: a.params.enabled,
1816                    el: t,
1817                    classNames: [],
1818                    slides: d(),
1819                    slidesGrid: [],
1820                    snapGrid: [],
1821                    slidesSizesGrid: [],
1822                    isHorizontal: () => "horizontal" === a.params.direction,
1823                    isVertical: () => "vertical" === a.params.direction,
1824                    activeIndex: 0,
1825                    realIndex: 0,
1826                    isBeginning: !0,
1827                    isEnd: !1,
1828                    translate: 0,
1829                    previousTranslate: 0,
1830                    progress: 0,
1831                    velocity: 0,
1832                    animating: !1,
1833                    allowSlideNext: a.params.allowSlideNext,
1834                    allowSlidePrev: a.params.allowSlidePrev,
1835                    touchEvents: (function () {
1836                        const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
1837                            t = ["pointerdown", "pointermove", "pointerup"];
1838                        return (
1839                            (a.touchEventsTouch = { start: e[0], move: e[1], end: e[2], cancel: e[3] }),
1840                            (a.touchEventsDesktop = { start: t[0], move: t[1], end: t[2] }),
1841                            a.support.touch || !a.params.simulateTouch ? a.touchEventsTouch : a.touchEventsDesktop
1842                        );
1843                    })(),
1844                    touchEventsData: {
1845                        isTouched: void 0,
1846                        isMoved: void 0,
1847                        allowTouchCallbacks: void 0,
1848                        touchStartTime: void 0,
1849                        isScrolling: void 0,
1850                        currentTranslate: void 0,
1851                        startTranslate: void 0,
1852                        allowThresholdMove: void 0,
1853                        focusableElements: a.params.focusableElements,
1854                        lastClickTime: u(),
1855                        clickTimeout: void 0,
1856                        velocities: [],
1857                        allowMomentumBounce: void 0,
1858                        isTouchEvent: void 0,
1859                        startMoving: void 0,
1860                    },
1861                    allowClick: !0,
1862                    allowTouchMove: a.params.allowTouchMove,
1863                    touches: { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0 },
1864                    imagesToLoad: [],
1865                    imagesLoaded: 0,
1866                }),
1867                a.emit("_swiper"),
1868                a.params.init && a.init(),
1869                a
1870            );
1871        }
1872        enable() {
1873            const e = this;
1874            e.enabled || ((e.enabled = !0), e.params.grabCursor && e.setGrabCursor(), e.emit("enable"));
1875        }
1876        disable() {
1877            const e = this;
1878            e.enabled && ((e.enabled = !1), e.params.grabCursor && e.unsetGrabCursor(), e.emit("disable"));
1879        }
1880        setProgress(e, t) {
1881            const s = this;
1882            e = Math.min(Math.max(e, 0), 1);
1883            const a = s.minTranslate(),
1884                i = (s.maxTranslate() - a) * e + a;
1885            s.translateTo(i, void 0 === t ? 0 : t), s.updateActiveIndex(), s.updateSlidesClasses();
1886        }
1887        emitContainerClasses() {
1888            const e = this;
1889            if (!e.params._emitClasses || !e.el) return;
1890            const t = e.el.className.split(" ").filter((t) => 0 === t.indexOf("swiper") || 0 === t.indexOf(e.params.containerModifierClass));
1891            e.emit("_containerClasses", t.join(" "));
1892        }
1893        getSlideClasses(e) {
1894            const t = this;
1895            return e.className
1896                .split(" ")
1897                .filter((e) => 0 === e.indexOf("swiper-slide") || 0 === e.indexOf(t.params.slideClass))
1898                .join(" ");
1899        }
1900        emitSlidesClasses() {
1901            const e = this;
1902            if (!e.params._emitClasses || !e.el) return;
1903            const t = [];
1904            e.slides.each((s) => {
1905                const a = e.getSlideClasses(s);
1906                t.push({ slideEl: s, classNames: a }), e.emit("_slideClass", s, a);
1907            }),
1908                e.emit("_slideClasses", t);
1909        }
1910        slidesPerViewDynamic(e = "current", t = !1) {
1911            const { params: s, slides: a, slidesGrid: i, slidesSizesGrid: r, size: n, activeIndex: l } = this;
1912            let o = 1;
1913            if (s.centeredSlides) {
1914                let e,
1915                    t = a[l].swiperSlideSize;
1916                for (let s = l + 1; s < a.length; s += 1) a[s] && !e && ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
1917                for (let s = l - 1; s >= 0; s -= 1) a[s] && !e && ((t += a[s].swiperSlideSize), (o += 1), t > n && (e = !0));
1918            } else if ("current" === e)
1919                for (let e = l + 1; e < a.length; e += 1) {
1920                    (t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
1921                }
1922            else
1923                for (let e = l - 1; e >= 0; e -= 1) {
1924                    i[l] - i[e] < n && (o += 1);
1925                }
1926            return o;
1927        }
1928        update() {
1929            const e = this;
1930            if (!e || e.destroyed) return;
1931            const { snapGrid: t, params: s } = e;
1932            function a() {
1933                const t = e.rtlTranslate ? -1 * e.translate : e.translate,
1934                    s = Math.min(Math.max(t, e.maxTranslate()), e.minTranslate());
1935                e.setTranslate(s), e.updateActiveIndex(), e.updateSlidesClasses();
1936            }
1937            let i;
1938            s.breakpoints && e.setBreakpoint(),
1939                e.updateSize(),
1940                e.updateSlides(),
1941                e.updateProgress(),
1942                e.updateSlidesClasses(),
1943                e.params.freeMode && e.params.freeMode.enabled
1944                    ? (a(), e.params.autoHeight && e.updateAutoHeight())
1945                    : ((i = ("auto" === e.params.slidesPerView || e.params.slidesPerView > 1) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0)), i || a()),
1946                s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),
1947                e.emit("update");
1948        }
1949        changeDirection(e, t = !0) {
1950            const s = this,
1951                a = s.params.direction;
1952            return (
1953                e || (e = "horizontal" === a ? "vertical" : "horizontal"),
1954                e === a ||
1955                ("horizontal" !== e && "vertical" !== e) ||
1956                (s.$el.removeClass(`${s.params.containerModifierClass}${a}`).addClass(`${s.params.containerModifierClass}${e}`),
1957                    s.emitContainerClasses(),
1958                    (s.params.direction = e),
1959                    s.slides.each((t) => {
1960                        "vertical" === e ? (t.style.width = "") : (t.style.height = "");
1961                    }),
1962                    s.emit("changeDirection"),
1963                    t && s.update()),
1964                s
1965            );
1966        }
1967        mount(e) {
1968            const t = this;
1969            if (t.mounted) return !0;
1970            const s = d(e || t.params.el);
1971            if (!(e = s[0])) return !1;
1972            e.swiper = t;
1973            const i = () => `.${(t.params.wrapperClass || "").trim().split(" ").join(".")}`;
1974            let r = (() => {
1975                if (e && e.shadowRoot && e.shadowRoot.querySelector) {
1976                    const t = d(e.shadowRoot.querySelector(i()));
1977                    return (t.children = (e) => s.children(e)), t;
1978                }
1979                return s.children(i());
1980            })();
1981            if (0 === r.length && t.params.createElements) {
1982                const e = a().createElement("div");
1983                (r = d(e)),
1984                    (e.className = t.params.wrapperClass),
1985                    s.append(e),
1986                    s.children(`.${t.params.slideClass}`).each((e) => {
1987                        r.append(e);
1988                    });
1989            }
1990            return (
1991                Object.assign(t, {
1992                    $el: s,
1993                    el: e,
1994                    $wrapperEl: r,
1995                    wrapperEl: r[0],
1996                    mounted: !0,
1997                    rtl: "rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction"),
1998                    rtlTranslate: "horizontal" === t.params.direction && ("rtl" === e.dir.toLowerCase() || "rtl" === s.css("direction")),
1999                    wrongRTL: "-webkit-box" === r.css("display"),
2000                }),
2001                !0
2002            );
2003        }
2004        init(e) {
2005            const t = this;
2006            if (t.initialized) return t;
2007            return (
2008                !1 === t.mount(e) ||
2009                (t.emit("beforeInit"),
2010                    t.params.breakpoints && t.setBreakpoint(),
2011                    t.addClasses(),
2012                    t.params.loop && t.loopCreate(),
2013                    t.updateSize(),
2014                    t.updateSlides(),
2015                    t.params.watchOverflow && t.checkOverflow(),
2016                    t.params.grabCursor && t.enabled && t.setGrabCursor(),
2017                    t.params.preloadImages && t.preloadImages(),
2018                    t.params.loop ? t.slideTo(t.params.initialSlide + t.loopedSlides, 0, t.params.runCallbacksOnInit, !1, !0) : t.slideTo(t.params.initialSlide, 0, t.params.runCallbacksOnInit, !1, !0),
2019                    t.attachEvents(),
2020                    (t.initialized = !0),
2021                    t.emit("init"),
2022                    t.emit("afterInit")),
2023                t
2024            );
2025        }
2026        destroy(e = !0, t = !0) {
2027            const s = this,
2028                { params: a, $el: i, $wrapperEl: r, slides: n } = s;
2029            return (
2030                void 0 === s.params ||
2031                s.destroyed ||
2032                (s.emit("beforeDestroy"),
2033                    (s.initialized = !1),
2034                    s.detachEvents(),
2035                    a.loop && s.loopDestroy(),
2036                    t &&
2037                    (s.removeClasses(),
2038                        i.removeAttr("style"),
2039                        r.removeAttr("style"),
2040                        n && n.length && n.removeClass([a.slideVisibleClass, a.slideActiveClass, a.slideNextClass, a.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),
2041                    s.emit("destroy"),
2042                    Object.keys(s.eventsListeners).forEach((e) => {
2043                        s.off(e);
2044                    }),
2045                    !1 !== e &&
2046                    ((s.$el[0].swiper = null),
2047                        (function (e) {
2048                            const t = e;
2049                            Object.keys(t).forEach((e) => {
2050                                try {
2051                                    t[e] = null;
2052                                } catch (e) { }
2053                                try {
2054                                    delete t[e];
2055                                } catch (e) { }
2056                            });
2057                        })(s)),
2058                    (s.destroyed = !0)),
2059                null
2060            );
2061        }
2062        static extendDefaults(e) {
2063            f(X, e);
2064        }
2065        static get extendedDefaults() {
2066            return X;
2067        }
2068        static get defaults() {
2069            return G;
2070        }
2071        static installModule(e) {
2072            H.prototype.__modules__ || (H.prototype.__modules__ = []);
2073            const t = H.prototype.__modules__;
2074            "function" == typeof e && t.indexOf(e) < 0 && t.push(e);
2075        }
2076        static use(e) {
2077            return Array.isArray(e) ? (e.forEach((e) => H.installModule(e)), H) : (H.installModule(e), H);
2078        }
2079    }
2080    function Y(e, t, s, i) {
2081        const r = a();
2082        return (
2083            e.params.createElements &&
2084            Object.keys(i).forEach((a) => {
2085                if (!s[a] && !0 === s.auto) {
2086                    let n = e.$el.children(`.${i[a]}`)[0];
2087                    n || ((n = r.createElement("div")), (n.className = i[a]), e.$el.append(n)), (s[a] = n), (t[a] = n);
2088                }
2089            }),
2090            s
2091        );
2092    }
2093    function W(e = "") {
2094        return `.${e
2095            .trim()
2096            .replace(/([\.:!\/])/g, "\\$1")
2097            .replace(/ /g, ".")}`;
2098    }
2099    function R(e) {
2100        const t = this,
2101            { $wrapperEl: s, params: a } = t;
2102        if ((a.loop && t.loopDestroy(), "object" == typeof e && "length" in e)) for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t]);
2103        else s.append(e);
2104        a.loop && t.loopCreate(), a.observer || t.update();
2105    }
2106    function j(e) {
2107        const t = this,
2108            { params: s, $wrapperEl: a, activeIndex: i } = t;
2109        s.loop && t.loopDestroy();
2110        let r = i + 1;
2111        if ("object" == typeof e && "length" in e) {
2112            for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
2113            r = i + e.length;
2114        } else a.prepend(e);
2115        s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1);
2116    }
2117    function _(e, t) {
2118        const s = this,
2119            { $wrapperEl: a, params: i, activeIndex: r } = s;
2120        let n = r;
2121        i.loop && ((n -= s.loopedSlides), s.loopDestroy(), (s.slides = a.children(`.${i.slideClass}`)));
2122        const l = s.slides.length;
2123        if (e <= 0) return void s.prependSlide(t);
2124        if (e >= l) return void s.appendSlide(t);
2125        let o = n > e ? n + 1 : n;
2126        const d = [];
2127        for (let t = l - 1; t >= e; t -= 1) {
2128            const e = s.slides.eq(t);
2129            e.remove(), d.unshift(e);
2130        }
2131        if ("object" == typeof t && "length" in t) {
2132            for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
2133            o = n > e ? n + t.length : n;
2134        } else a.append(t);
2135        for (let e = 0; e < d.length; e += 1) a.append(d[e]);
2136        i.loop && s.loopCreate(), i.observer || s.update(), i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1);
2137    }
2138    function V(e) {
2139        const t = this,
2140            { params: s, $wrapperEl: a, activeIndex: i } = t;
2141        let r = i;
2142        s.loop && ((r -= t.loopedSlides), t.loopDestroy(), (t.slides = a.children(`.${s.slideClass}`)));
2143        let n,
2144            l = r;
2145        if ("object" == typeof e && "length" in e) {
2146            for (let s = 0; s < e.length; s += 1) (n = e[s]), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1);
2147            l = Math.max(l, 0);
2148        } else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = Math.max(l, 0));
2149        s.loop && t.loopCreate(), s.observer || t.update(), s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1);
2150    }
2151    function q() {
2152        const e = this,
2153            t = [];
2154        for (let s = 0; s < e.slides.length; s += 1) t.push(s);
2155        e.removeSlide(t);
2156    }
2157    function F(e) {
2158        const { effect: t, swiper: s, on: a, setTranslate: i, setTransition: r, overwriteParams: n, perspective: l } = e;
2159        a("beforeInit", () => {
2160            if (s.params.effect !== t) return;
2161            s.classNames.push(`${s.params.containerModifierClass}${t}`), l && l() && s.classNames.push(`${s.params.containerModifierClass}3d`);
2162            const e = n ? n() : {};
2163            Object.assign(s.params, e), Object.assign(s.originalParams, e);
2164        }),
2165            a("setTranslate", () => {
2166                s.params.effect === t && i();
2167            }),
2168            a("setTransition", (e, a) => {
2169                s.params.effect === t && r(a);
2170            });
2171    }
2172    function U(e, t) {
2173        return e.transformEl ? t.find(e.transformEl).css({ "backface-visibility": "hidden", "-webkit-backface-visibility": "hidden" }) : t;
2174    }
2175    function K({ swiper: e, duration: t, transformEl: s, allSlides: a }) {
2176        const { slides: i, activeIndex: r, $wrapperEl: n } = e;
2177        if (e.params.virtualTranslate && 0 !== t) {
2178            let t,
2179                l = !1;
2180            (t = a ? (s ? i.find(s) : i) : s ? i.eq(r).find(s) : i.eq(r)),
2181                t.transitionEnd(() => {
2182                    if (l) return;
2183                    if (!e || e.destroyed) return;
2184                    (l = !0), (e.animating = !1);
2185                    const t = ["webkitTransitionEnd", "transitionend"];
2186                    for (let e = 0; e < t.length; e += 1) n.trigger(t[e]);
2187                });
2188        }
2189    }
2190    function Z(e, t, s) {
2191        const a = "swiper-slide-shadow" + (s ? `-${s}` : ""),
2192            i = e.transformEl ? t.find(e.transformEl) : t;
2193        let r = i.children(`.${a}`);
2194        return r.length || ((r = d(`<div class="swiper-slide-shadow${s ? `-${s}` : ""}"></div>`)), i.append(r)), r;
2195    }
2196    Object.keys(B).forEach((e) => {
2197        Object.keys(B[e]).forEach((t) => {
2198            H.prototype[t] = B[e][t];
2199        });
2200    }),
2201        H.use([
2202            function ({ swiper: e, on: t, emit: s }) {
2203                const a = r();
2204                let i = null;
2205                const n = () => {
2206                    e && !e.destroyed && e.initialized && (s("beforeResize"), s("resize"));
2207                },
2208                    l = () => {
2209                        e && !e.destroyed && e.initialized && s("orientationchange");
2210                    };
2211                t("init", () => {
2212                    e.params.resizeObserver && void 0 !== a.ResizeObserver
2213                        ? e &&
2214                        !e.destroyed &&
2215                        e.initialized &&
2216                        ((i = new ResizeObserver((t) => {
2217                            const { width: s, height: a } = e;
2218                            let i = s,
2219                                r = a;
2220                            t.forEach(({ contentBoxSize: t, contentRect: s, target: a }) => {
2221                                (a && a !== e.el) || ((i = s ? s.width : (t[0] || t).inlineSize), (r = s ? s.height : (t[0] || t).blockSize));
2222                            }),
2223                                (i === s && r === a) || n();
2224                        })),
2225                            i.observe(e.el))
2226                        : (a.addEventListener("resize", n), a.addEventListener("orientationchange", l));
2227                }),
2228                    t("destroy", () => {
2229                        i && i.unobserve && e.el && (i.unobserve(e.el), (i = null)), a.removeEventListener("resize", n), a.removeEventListener("orientationchange", l);
2230                    });
2231            },
2232            function ({ swiper: e, extendParams: t, on: s, emit: a }) {
2233                const i = [],
2234                    n = r(),
2235                    l = (e, t = {}) => {
2236                        const s = new (n.MutationObserver || n.WebkitMutationObserver)((e) => {
2237                            if (1 === e.length) return void a("observerUpdate", e[0]);
2238                            const t = function () {
2239                                a("observerUpdate", e[0]);
2240                            };
2241                            n.requestAnimationFrame ? n.requestAnimationFrame(t) : n.setTimeout(t, 0);
2242                        });
2243                        s.observe(e, { attributes: void 0 === t.attributes || t.attributes, childList: void 0 === t.childList || t.childList, characterData: void 0 === t.characterData || t.characterData }), i.push(s);
2244                    };
2245                t({ observer: !1, observeParents: !1, observeSlideChildren: !1 }),
2246                    s("init", () => {
2247                        if (e.params.observer) {
2248                            if (e.params.observeParents) {
2249                                const t = e.$el.parents();
2250                                for (let e = 0; e < t.length; e += 1) l(t[e]);
2251                            }
2252                            l(e.$el[0], { childList: e.params.observeSlideChildren }), l(e.$wrapperEl[0], { attributes: !1 });
2253                        }
2254                    }),
2255                    s("destroy", () => {
2256                        i.forEach((e) => {
2257                            e.disconnect();
2258                        }),
2259                            i.splice(0, i.length);
2260                    });
2261            },
2262        ]);
2263    const J = [
2264        function ({ swiper: e, extendParams: t, on: s }) {
2265            let a;
2266            function i(t, s) {
2267                const a = e.params.virtual;
2268                if (a.cache && e.virtual.cache[s]) return e.virtual.cache[s];
2269                const i = a.renderSlide ? d(a.renderSlide.call(e, t, s)) : d(`<div class="${e.params.slideClass}" data-swiper-slide-index="${s}">${t}</div>`);
2270                return i.attr("data-swiper-slide-index") || i.attr("data-swiper-slide-index", s), a.cache && (e.virtual.cache[s] = i), i;
2271            }
2272            function r(t) {
2273                const { slidesPerView: s, slidesPerGroup: a, centeredSlides: r } = e.params,
2274                    { addSlidesBefore: n, addSlidesAfter: l } = e.params.virtual,
2275                    { from: o, to: d, slides: c, slidesGrid: p, offset: u } = e.virtual;
2276                e.params.cssMode || e.updateActiveIndex();
2277                const h = e.activeIndex || 0;
2278                let m, f, g;
2279                (m = e.rtlTranslate ? "right" : e.isHorizontal() ? "left" : "top"), r ? ((f = Math.floor(s / 2) + a + l), (g = Math.floor(s / 2) + a + n)) : ((f = s + (a - 1) + l), (g = a + n));
2280                const v = Math.max((h || 0) - g, 0),
2281                    w = Math.min((h || 0) + f, c.length - 1),
2282                    b = (e.slidesGrid[v] || 0) - (e.slidesGrid[0] || 0);
2283                function x() {
2284                    e.updateSlides(), e.updateProgress(), e.updateSlidesClasses(), e.lazy && e.params.lazy.enabled && e.lazy.load();
2285                }
2286                if ((Object.assign(e.virtual, { from: v, to: w, offset: b, slidesGrid: e.slidesGrid }), o === v && d === w && !t)) return e.slidesGrid !== p && b !== u && e.slides.css(m, `${b}px`), void e.updateProgress();
2287                if (e.params.virtual.renderExternal)
2288                    return (
2289                        e.params.virtual.renderExternal.call(e, {
2290                            offset: b,
2291                            from: v,
2292                            to: w,
2293                            slides: (function () {
2294                                const e = [];
2295                                for (let t = v; t <= w; t += 1) e.push(c[t]);
2296                                return e;
2297                            })(),
2298                        }),
2299                        void (e.params.virtual.renderExternalUpdate && x())
2300                    );
2301                const y = [],
2302                    E = [];
2303                if (t) e.$wrapperEl.find(`.${e.params.slideClass}`).remove();
2304                else for (let t = o; t <= d; t += 1) (t < v || t > w) && e.$wrapperEl.find(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`).remove();
2305                for (let e = 0; e < c.length; e += 1) e >= v && e <= w && (void 0 === d || t ? E.push(e) : (e > d && E.push(e), e < o && y.push(e)));
2306                E.forEach((t) => {
2307                    e.$wrapperEl.append(i(c[t], t));
2308                }),
2309                    y
2310                        .sort((e, t) => t - e)
2311                        .forEach((t) => {
2312                            e.$wrapperEl.prepend(i(c[t], t));
2313                        }),
2314                    e.$wrapperEl.children(".swiper-slide").css(m, `${b}px`),
2315                    x();
2316            }
2317            t({ virtual: { enabled: !1, slides: [], cache: !0, renderSlide: null, renderExternal: null, renderExternalUpdate: !0, addSlidesBefore: 0, addSlidesAfter: 0 } }),
2318                (e.virtual = { cache: {}, from: void 0, to: void 0, slides: [], offset: 0, slidesGrid: [] }),
2319                s("beforeInit", () => {
2320                    e.params.virtual.enabled &&
2321                        ((e.virtual.slides = e.params.virtual.slides),
2322                            e.classNames.push(`${e.params.containerModifierClass}virtual`),
2323                            (e.params.watchSlidesProgress = !0),
2324                            (e.originalParams.watchSlidesProgress = !0),
2325                            e.params.initialSlide || r());
2326                }),
2327                s("setTranslate", () => {
2328                    e.params.virtual.enabled &&
2329                        (e.params.cssMode && !e._immediateVirtual
2330                            ? (clearTimeout(a),
2331                                (a = setTimeout(() => {
2332                                    r();
2333                                }, 100)))
2334                            : r());
2335                }),
2336                s("init update resize", () => {
2337                    e.params.virtual.enabled && e.params.cssMode && g(e.wrapperEl, "--swiper-virtual-size", `${e.virtualSize}px`);
2338                }),
2339                Object.assign(e.virtual, {
2340                    appendSlide: function (t) {
2341                        if ("object" == typeof t && "length" in t) for (let s = 0; s < t.length; s += 1) t[s] && e.virtual.slides.push(t[s]);
2342                        else e.virtual.slides.push(t);
2343                        r(!0);
2344                    },
2345                    prependSlide: function (t) {
2346                        const s = e.activeIndex;
2347                        let a = s + 1,
2348                            i = 1;
2349                        if (Array.isArray(t)) {
2350                            for (let s = 0; s < t.length; s += 1) t[s] && e.virtual.slides.unshift(t[s]);
2351                            (a = s + t.length), (i = t.length);
2352                        } else e.virtual.slides.unshift(t);
2353                        if (e.params.virtual.cache) {
2354                            const t = e.virtual.cache,
2355                                s = {};
2356                            Object.keys(t).forEach((e) => {
2357                                const a = t[e],
2358                                    r = a.attr("data-swiper-slide-index");
2359                                r && a.attr("data-swiper-slide-index", parseInt(r, 10) + i), (s[parseInt(e, 10) + i] = a);
2360                            }),
2361                                (e.virtual.cache = s);
2362                        }
2363                        r(!0), e.slideTo(a, 0);
2364                    },
2365                    removeSlide: function (t) {
2366                        if (null == t) return;
2367                        let s = e.activeIndex;
2368                        if (Array.isArray(t)) for (let a = t.length - 1; a >= 0; a -= 1) e.virtual.slides.splice(t[a], 1), e.params.virtual.cache && delete e.virtual.cache[t[a]], t[a] < s && (s -= 1), (s = Math.max(s, 0));
2369                        else e.virtual.slides.splice(t, 1), e.params.virtual.cache && delete e.virtual.cache[t], t < s && (s -= 1), (s = Math.max(s, 0));
2370                        r(!0), e.slideTo(s, 0);
2371                    },
2372                    removeAllSlides: function () {
2373                        (e.virtual.slides = []), e.params.virtual.cache && (e.virtual.cache = {}), r(!0), e.slideTo(0, 0);
2374                    },
2375                    update: r,
2376                });
2377        },
2378        function ({ swiper: e, extendParams: t, on: s, emit: i }) {
2379            const n = a(),
2380                l = r();
2381            function o(t) {
2382                if (!e.enabled) return;
2383                const { rtlTranslate: s } = e;
2384                let a = t;
2385                a.originalEvent && (a = a.originalEvent);
2386                const r = a.keyCode || a.charCode,
2387                    o = e.params.keyboard.pageUpDown,
2388                    d = o && 33 === r,
2389                    c = o && 34 === r,
2390                    p = 37 === r,
2391                    u = 39 === r,
2392                    h = 38 === r,
2393                    m = 40 === r;
2394                if (!e.allowSlideNext && ((e.isHorizontal() && u) || (e.isVertical() && m) || c)) return !1;
2395                if (!e.allowSlidePrev && ((e.isHorizontal() && p) || (e.isVertical() && h) || d)) return !1;
2396                if (!(a.shiftKey || a.altKey || a.ctrlKey || a.metaKey || (n.activeElement && n.activeElement.nodeName && ("input" === n.activeElement.nodeName.toLowerCase() || "textarea" === n.activeElement.nodeName.toLowerCase())))) {
2397                    if (e.params.keyboard.onlyInViewport && (d || c || p || u || h || m)) {
2398                        let t = !1;
2399                        if (e.$el.parents(`.${e.params.slideClass}`).length > 0 && 0 === e.$el.parents(`.${e.params.slideActiveClass}`).length) return;
2400                        const a = e.$el,
2401                            i = a[0].clientWidth,
2402                            r = a[0].clientHeight,
2403                            n = l.innerWidth,
2404                            o = l.innerHeight,
2405                            d = e.$el.offset();
2406                        s && (d.left -= e.$el[0].scrollLeft);
2407                        const c = [
2408                            [d.left, d.top],
2409                            [d.left + i, d.top],
2410                            [d.left, d.top + r],
2411                            [d.left + i, d.top + r],
2412                        ];
2413                        for (let e = 0; e < c.length; e += 1) {
2414                            const s = c[e];
2415                            if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= o) {
2416                                if (0 === s[0] && 0 === s[1]) continue;
2417                                t = !0;
2418                            }
2419                        }
2420                        if (!t) return;
2421                    }
2422                    e.isHorizontal()
2423                        ? ((d || c || p || u) && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (((c || u) && !s) || ((d || p) && s)) && e.slideNext(), (((d || p) && !s) || ((c || u) && s)) && e.slidePrev())
2424                        : ((d || c || h || m) && (a.preventDefault ? a.preventDefault() : (a.returnValue = !1)), (c || m) && e.slideNext(), (d || h) && e.slidePrev()),
2425                        i("keyPress", r);
2426                }
2427            }
2428            function c() {
2429                e.keyboard.enabled || (d(n).on("keydown", o), (e.keyboard.enabled = !0));
2430            }
2431            function p() {
2432                e.keyboard.enabled && (d(n).off("keydown", o), (e.keyboard.enabled = !1));
2433            }
2434            (e.keyboard = { enabled: !1 }),
2435                t({ keyboard: { enabled: !1, onlyInViewport: !0, pageUpDown: !0 } }),
2436                s("init", () => {
2437                    e.params.keyboard.enabled && c();
2438                }),
2439                s("destroy", () => {
2440                    e.keyboard.enabled && p();
2441                }),
2442                Object.assign(e.keyboard, { enable: c, disable: p });
2443        },
2444        function ({ swiper: e, extendParams: t, on: s, emit: a }) {
2445            const i = r();
2446            let n;
2447            t({ mousewheel: { enabled: !1, releaseOnEdges: !1, invert: !1, forceToAxis: !1, sensitivity: 1, eventsTarget: "container", thresholdDelta: null, thresholdTime: null } }), (e.mousewheel = { enabled: !1 });
2448            let l,
2449                o = u();
2450            const c = [];
2451            function h() {
2452                e.enabled && (e.mouseEntered = !0);
2453            }
2454            function m() {
2455                e.enabled && (e.mouseEntered = !1);
2456            }
2457            function f(t) {
2458                return (
2459                    !(e.params.mousewheel.thresholdDelta && t.delta < e.params.mousewheel.thresholdDelta) &&
2460                    !(e.params.mousewheel.thresholdTime && u() - o < e.params.mousewheel.thresholdTime) &&
2461                    ((t.delta >= 6 && u() - o < 60) ||
2462                        (t.direction < 0 ? (e.isEnd && !e.params.loop) || e.animating || (e.slideNext(), a("scroll", t.raw)) : (e.isBeginning && !e.params.loop) || e.animating || (e.slidePrev(), a("scroll", t.raw)),
2463                            (o = new i.Date().getTime()),
2464                            !1))
2465                );
2466            }
2467            function g(t) {
2468                let s = t,
2469                    i = !0;
2470                if (!e.enabled) return;
2471                const r = e.params.mousewheel;
2472                e.params.cssMode && s.preventDefault();
2473                let o = e.$el;
2474                if (("container" !== e.params.mousewheel.eventsTarget && (o = d(e.params.mousewheel.eventsTarget)), !e.mouseEntered && !o[0].contains(s.target) && !r.releaseOnEdges)) return !0;
2475                s.originalEvent && (s = s.originalEvent);
2476                let h = 0;
2477                const m = e.rtlTranslate ? -1 : 1,
2478                    g = (function (e) {
2479                        let t = 0,
2480                            s = 0,
2481                            a = 0,
2482                            i = 0;
2483                        return (
2484                            "detail" in e && (s = e.detail),
2485                            "wheelDelta" in e && (s = -e.wheelDelta / 120),
2486                            "wheelDeltaY" in e && (s = -e.wheelDeltaY / 120),
2487                            "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120),
2488                            "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((t = s), (s = 0)),
2489                            (a = 10 * t),
2490                            (i = 10 * s),
2491                            "deltaY" in e && (i = e.deltaY),
2492                            "deltaX" in e && (a = e.deltaX),
2493                            e.shiftKey && !a && ((a = i), (i = 0)),
2494                            (a || i) && e.deltaMode && (1 === e.deltaMode ? ((a *= 40), (i *= 40)) : ((a *= 800), (i *= 800))),
2495                            a && !t && (t = a < 1 ? -1 : 1),
2496                            i && !s && (s = i < 1 ? -1 : 1),
2497                            { spinX: t, spinY: s, pixelX: a, pixelY: i }
2498                        );
2499                    })(s);
2500                if (r.forceToAxis)
2501                    if (e.isHorizontal()) {
2502                        if (!(Math.abs(g.pixelX) > Math.abs(g.pixelY))) return !0;
2503                        h = -g.pixelX * m;
2504                    } else {
2505                        if (!(Math.abs(g.pixelY) > Math.abs(g.pixelX))) return !0;
2506                        h = -g.pixelY;
2507                    }
2508                else h = Math.abs(g.pixelX) > Math.abs(g.pixelY) ? -g.pixelX * m : -g.pixelY;
2509                if (0 === h) return !0;
2510                r.invert && (h = -h);
2511                let v = e.getTranslate() + h * r.sensitivity;
2512                if (
2513                    (v >= e.minTranslate() && (v = e.minTranslate()),
2514                        v <= e.maxTranslate() && (v = e.maxTranslate()),
2515                        (i = !!e.params.loop || !(v === e.minTranslate() || v === e.maxTranslate())),
2516                        i && e.params.nested && s.stopPropagation(),
2517                        e.params.freeMode && e.params.freeMode.enabled)
2518                ) {
2519                    const t = { time: u(), delta: Math.abs(h), direction: Math.sign(h) },
2520                        i = l && t.time < l.time + 500 && t.delta <= l.delta && t.direction === l.direction;
2521                    if (!i) {
2522                        (l = void 0), e.params.loop && e.loopFix();
2523                        let o = e.getTranslate() + h * r.sensitivity;
2524                        const d = e.isBeginning,
2525                            u = e.isEnd;
2526                        if (
2527                            (o >= e.minTranslate() && (o = e.minTranslate()),
2528                                o <= e.maxTranslate() && (o = e.maxTranslate()),
2529                                e.setTransition(0),
2530                                e.setTranslate(o),
2531                                e.updateProgress(),
2532                                e.updateActiveIndex(),
2533                                e.updateSlidesClasses(),
2534                                ((!d && e.isBeginning) || (!u && e.isEnd)) && e.updateSlidesClasses(),
2535                                e.params.freeMode.sticky)
2536                        ) {
2537                            clearTimeout(n), (n = void 0), c.length >= 15 && c.shift();
2538                            const s = c.length ? c[c.length - 1] : void 0,
2539                                a = c[0];
2540                            if ((c.push(t), s && (t.delta > s.delta || t.direction !== s.direction))) c.splice(0);
2541                            else if (c.length >= 15 && t.time - a.time < 500 && a.delta - t.delta >= 1 && t.delta <= 6) {
2542                                const s = h > 0 ? 0.8 : 0.2;
2543                                (l = t),
2544                                    c.splice(0),
2545                                    (n = p(() => {
2546                                        e.slideToClosest(e.params.speed, !0, void 0, s);
2547                                    }, 0));
2548                            }
2549                            n ||
2550                                (n = p(() => {
2551                                    (l = t), c.splice(0), e.slideToClosest(e.params.speed, !0, void 0, 0.5);
2552                                }, 500));
2553                        }
2554                        if ((i || a("scroll", s), e.params.autoplay && e.params.autoplayDisableOnInteraction && e.autoplay.stop(), o === e.minTranslate() || o === e.maxTranslate())) return !0;
2555                    }
2556                } else {
2557                    const s = { time: u(), delta: Math.abs(h), direction: Math.sign(h), raw: t };
2558                    c.length >= 2 && c.shift();
2559                    const a = c.length ? c[c.length - 1] : void 0;
2560                    if (
2561                        (c.push(s),
2562                            a ? (s.direction !== a.direction || s.delta > a.delta || s.time > a.time + 150) && f(s) : f(s),
2563                            (function (t) {
2564                                const s = e.params.mousewheel;
2565                                if (t.direction < 0) {
2566                                    if (e.isEnd && !e.params.loop && s.releaseOnEdges) return !0;
2567                                } else if (e.isBeginning && !e.params.loop && s.releaseOnEdges) return !0;
2568                                return !1;
2569                            })(s))
2570                    )
2571                        return !0;
2572                }
2573                return s.preventDefault ? s.preventDefault() : (s.returnValue = !1), !1;
2574            }
2575            function v(t) {
2576                let s = e.$el;
2577                "container" !== e.params.mousewheel.eventsTarget && (s = d(e.params.mousewheel.eventsTarget)), s[t]("mouseenter", h), s[t]("mouseleave", m), s[t]("wheel", g);
2578            }
2579            function w() {
2580                return e.params.cssMode ? (e.wrapperEl.removeEventListener("wheel", g), !0) : !e.mousewheel.enabled && (v("on"), (e.mousewheel.enabled = !0), !0);
2581            }
2582            function b() {
2583                return e.params.cssMode ? (e.wrapperEl.addEventListener(event, g), !0) : !!e.mousewheel.enabled && (v("off"), (e.mousewheel.enabled = !1), !0);
2584            }
2585            s("init", () => {
2586                !e.params.mousewheel.enabled && e.params.cssMode && b(), e.params.mousewheel.enabled && w();
2587            }),
2588                s("destroy", () => {
2589                    e.params.cssMode && w(), e.mousewheel.enabled && b();
2590                }),
2591                Object.assign(e.mousewheel, { enable: w, disable: b });
2592        },
2593        function ({ swiper: e, extendParams: t, on: s, emit: a }) {
2594            function i(t) {
2595                let s;
2596                return t && ((s = d(t)), e.params.uniqueNavElements && "string" == typeof t && s.length > 1 && 1 === e.$el.find(t).length && (s = e.$el.find(t))), s;
2597            }
2598            function r(t, s) {
2599                const a = e.params.navigation;
2600                t &&
2601                    t.length > 0 &&
2602                    (t[s ? "addClass" : "removeClass"](a.disabledClass), t[0] && "BUTTON" === t[0].tagName && (t[0].disabled = s), e.params.watchOverflow && e.enabled && t[e.isLocked ? "addClass" : "removeClass"](a.lockClass));
2603            }
2604            function n() {
2605                if (e.params.loop) return;
2606                const { $nextEl: t, $prevEl: s } = e.navigation;
2607                r(s, e.isBeginning), r(t, e.isEnd);
2608            }
2609            function l(t) {
2610                t.preventDefault(), (e.isBeginning && !e.params.loop) || e.slidePrev();
2611            }
2612            function o(t) {
2613                t.preventDefault(), (e.isEnd && !e.params.loop) || e.slideNext();
2614            }
2615            function c() {
2616                const t = e.params.navigation;
2617                if (((e.params.navigation = Y(e, e.originalParams.navigation, e.params.navigation, { nextEl: "swiper-button-next", prevEl: "swiper-button-prev" })), !t.nextEl && !t.prevEl)) return;
2618                const s = i(t.nextEl),
2619                    a = i(t.prevEl);
2620                s && s.length > 0 && s.on("click", o),
2621                    a && a.length > 0 && a.on("click", l),
2622                    Object.assign(e.navigation, { $nextEl: s, nextEl: s && s[0], $prevEl: a, prevEl: a && a[0] }),
2623                    e.enabled || (s && s.addClass(t.lockClass), a && a.addClass(t.lockClass));
2624            }
2625            function p() {
2626                const { $nextEl: t, $prevEl: s } = e.navigation;
2627                t && t.length && (t.off("click", o), t.removeClass(e.params.navigation.disabledClass)), s && s.length && (s.off("
2627click", l), s.removeClass(e.params.navigation.disabledClass));
2628            }
2629            t({ navigation: { nextEl: null, prevEl: null, hideOnClick: !1, disabledClass: "swiper-button-disabled", hiddenClass: "swiper-button-hidden", lockClass: "swiper-button-lock" } }),
2630                (e.navigation = { nextEl: null, $nextEl: null, prevEl: null, $prevEl: null }),
2631                s("init", () => {
2632                    c(), n();
2633                }),
2634                s("toEdge fromEdge lock unlock", () => {
2635                    n();
2636                }),
2637                s("destroy", () => {
2638                    p();
2639                }),
2640                s("enable disable", () => {
2641                    const { $nextEl: t, $prevEl: s } = e.navigation;
2642                    t && t[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass), s && s[e.enabled ? "removeClass" : "addClass"](e.params.navigation.lockClass);
2643                }),
2644                s("click", (t, s) => {
2645                    const { $nextEl: i, $prevEl: r } = e.navigation,
2646                        n = s.target;
2647                    if (e.params.navigation.hideOnClick && !d(n).is(r) && !d(n).is(i)) {
2648                        if (e.pagination && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === n || e.pagination.el.contains(n))) return;
2649                        let t;
2650                        i ? (t = i.hasClass(e.params.navigation.hiddenClass)) : r && (t = r.hasClass(e.params.navigation.hiddenClass)),
2651                            a(!0 === t ? "navigationShow" : "navigationHide"),
2652                            i && i.toggleClass(e.params.navigation.hiddenClass),
2653                            r && r.toggleClass(e.params.navigation.hiddenClass);
2654                    }
2655                }),
2656                Object.assign(e.navigation, { update: n, init: c, destroy: p });
2657        },
2658        function ({ swiper: e, extendParams: t, on: s, emit: a }) {
2659            const i = "swiper-pagination";
2660            let r;
2661            t({
2662                pagination: {
2663                    el: null,
2664                    bulletElement: "span",
2665                    clickable: !1,
2666                    hideOnClick: !1,
2667                    renderBullet: null,
2668                    renderProgressbar: null,
2669                    renderFraction: null,
2670                    renderCustom: null,
2671                    progressbarOpposite: !1,
2672                    type: "bullets",
2673                    dynamicBullets: !1,
2674                    dynamicMainBullets: 1,
2675                    formatFractionCurrent: (e) => e,
2676                    formatFractionTotal: (e) => e,
2677                    bulletClass: `${i}-bullet`,
2678                    bulletActiveClass: `${i}-bullet-active`,
2679                    modifierClass: `${i}-`,
2680                    currentClass: `${i}-current`,
2681                    totalClass: `${i}-total`,
2682                    hiddenClass: `${i}-hidden`,
2683                    progressbarFillClass: `${i}-progressbar-fill`,
2684                    progressbarOppositeClass: `${i}-progressbar-opposite`,
2685                    clickableClass: `${i}-clickable`,
2686                    lockClass: `${i}-lock`,
2687                    horizontalClass: `${i}-horizontal`,
2688                    verticalClass: `${i}-vertical`,
2689                },
2690            }),
2691                (e.pagination = { el: null, $el: null, bullets: [] });
2692            let n = 0;
2693            function l() {
2694                return !e.params.pagination.el || !e.pagination.el || !e.pagination.$el || 0 === e.pagination.$el.length;
2695            }
2696            function o(t, s) {
2697                const { bulletActiveClass: a } = e.params.pagination;
2698                t[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`);
2699            }
2700            function c() {
2701                const t = e.rtl,
2702                    s = e.params.pagination;
2703                if (l()) return;
2704                const i = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
2705                    c = e.pagination.$el;
2706                let p;
2707                const u = e.params.loop ? Math.ceil((i - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
2708                if (
2709                    (e.params.loop
2710                        ? ((p = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)),
2711                            p > i - 1 - 2 * e.loopedSlides && (p -= i - 2 * e.loopedSlides),
2712                            p > u - 1 && (p -= u),
2713                            p < 0 && "bullets" !== e.params.paginationType && (p = u + p))
2714                        : (p = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0),
2715                        "bullets" === s.type && e.pagination.bullets && e.pagination.bullets.length > 0)
2716                ) {
2717                    const a = e.pagination.bullets;
2718                    let i, l, u;
2719                    if (
2720                        (s.dynamicBullets &&
2721                            ((r = a.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0)),
2722                                c.css(e.isHorizontal() ? "width" : "height", r * (s.dynamicMainBullets + 4) + "px"),
2723                                s.dynamicMainBullets > 1 && void 0 !== e.previousIndex && ((n += p - e.previousIndex), n > s.dynamicMainBullets - 1 ? (n = s.dynamicMainBullets - 1) : n < 0 && (n = 0)),
2724                                (i = p - n),
2725                                (l = i + (Math.min(a.length, s.dynamicMainBullets) - 1)),
2726                                (u = (l + i) / 2)),
2727                            a.removeClass(["", "-next", "-next-next", "-prev", "-prev-prev", "-main"].map((e) => `${s.bulletActiveClass}${e}`).join(" ")),
2728                            c.length > 1)
2729                    )
2730                        a.each((e) => {
2731                            const t = d(e),
2732                                a = t.index();
2733                            a === p && t.addClass(s.bulletActiveClass), s.dynamicBullets && (a >= i && a <= l && t.addClass(`${s.bulletActiveClass}-main`), a === i && o(t, "prev"), a === l && o(t, "next"));
2734                        });
2735                    else {
2736                        const t = a.eq(p),
2737                            r = t.index();
2738                        if ((t.addClass(s.bulletActiveClass), s.dynamicBullets)) {
2739                            const t = a.eq(i),
2740                                n = a.eq(l);
2741                            for (let e = i; e <= l; e += 1) a.eq(e).addClass(`${s.bulletActiveClass}-main`);
2742                            if (e.params.loop)
2743                                if (r >= a.length - s.dynamicMainBullets) {
2744                                    for (let e = s.dynamicMainBullets; e >= 0; e -= 1) a.eq(a.length - e).addClass(`${s.bulletActiveClass}-main`);
2745                                    a.eq(a.length - s.dynamicMainBullets - 1).addClass(`${s.bulletActiveClass}-prev`);
2746                                } else o(t, "prev"), o(n, "next");
2747                            else o(t, "prev"), o(n, "next");
2748                        }
2749                    }
2750                    if (s.dynamicBullets) {
2751                        const i = Math.min(a.length, s.dynamicMainBullets + 4),
2752                            n = (r * i - r) / 2 - u * r,
2753                            l = t ? "right" : "left";
2754                        a.css(e.isHorizontal() ? l : "top", `${n}px`);
2755                    }
2756                }
2757                if (("fraction" === s.type && (c.find(W(s.currentClass)).text(s.formatFractionCurrent(p + 1)), c.find(W(s.totalClass)).text(s.formatFractionTotal(u))), "progressbar" === s.type)) {
2758                    let t;
2759                    t = s.progressbarOpposite ? (e.isHorizontal() ? "vertical" : "horizontal") : e.isHorizontal() ? "horizontal" : "vertical";
2760                    const a = (p + 1) / u;
2761                    let i = 1,
2762                        r = 1;
2763                    "horizontal" === t ? (i = a) : (r = a), c.find(W(s.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${i}) scaleY(${r})`).transition(e.params.speed);
2764                }
2765                "custom" === s.type && s.renderCustom ? (c.html(s.renderCustom(e, p + 1, u)), a("paginationRender", c[0])) : a("paginationUpdate", c[0]),
2766                    e.params.watchOverflow && e.enabled && c[e.isLocked ? "addClass" : "removeClass"](s.lockClass);
2767            }
2768            function p() {
2769                const t = e.params.pagination;
2770                if (l()) return;
2771                const s = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
2772                    i = e.pagination.$el;
2773                let r = "";
2774                if ("bullets" === t.type) {
2775                    let a = e.params.loop ? Math.ceil((s - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
2776                    e.params.freeMode && e.params.freeMode.enabled && !e.params.loop && a > s && (a = s);
2777                    for (let s = 0; s < a; s += 1) t.renderBullet ? (r += t.renderBullet.call(e, s, t.bulletClass)) : (r += `<${t.bulletElement} class="${t.bulletClass}"></${t.bulletElement}>`);
2778                    i.html(r), (e.pagination.bullets = i.find(W(t.bulletClass)));
2779                }
2780                "fraction" === t.type && ((r = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : `<span class="${t.currentClass}"></span> / <span class="${t.totalClass}"></span>`), i.html(r)),
2781                    "progressbar" === t.type && ((r = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : `<span class="${t.progressbarFillClass}"></span>`), i.html(r)),
2782                    "custom" !== t.type && a("paginationRender", e.pagination.$el[0]);
2783            }
2784            function u() {
2785                e.params.pagination = Y(e, e.originalParams.pagination, e.params.pagination, { el: "swiper-pagination" });
2786                const t = e.params.pagination;
2787                if (!t.el) return;
2788                let s = d(t.el);
2789                0 !== s.length &&
2790                    (e.params.uniqueNavElements && "string" == typeof t.el && s.length > 1 && ((s = e.$el.find(t.el)), s.length > 1 && (s = s.filter((t) => d(t).parents(".swiper")[0] === e.el))),
2791                        "bullets" === t.type && t.clickable && s.addClass(t.clickableClass),
2792                        s.addClass(t.modifierClass + t.type),
2793                        s.addClass(t.modifierClass + e.params.direction),
2794                        "bullets" === t.type && t.dynamicBullets && (s.addClass(`${t.modifierClass}${t.type}-dynamic`), (n = 0), t.dynamicMainBullets < 1 && (t.dynamicMainBullets = 1)),
2795                        "progressbar" === t.type && t.progressbarOpposite && s.addClass(t.progressbarOppositeClass),
2796                        t.clickable &&
2797                        s.on("click", W(t.bulletClass), function (t) {
2798                            t.preventDefault();
2799                            let s = d(this).index() * e.params.slidesPerGroup;
2800                            e.params.loop && (s += e.loopedSlides), e.slideTo(s);
2801                        }),
2802                        Object.assign(e.pagination, { $el: s, el: s[0] }),
2803                        e.enabled || s.addClass(t.lockClass));
2804            }
2805            function h() {
2806                const t = e.params.pagination;
2807                if (l()) return;
2808                const s = e.pagination.$el;
2809                s.removeClass(t.hiddenClass),
2810                    s.removeClass(t.modifierClass + t.type),
2811                    s.removeClass(t.modifierClass + e.params.direction),
2812                    e.pagination.bullets && e.pagination.bullets.removeClass && e.pagination.bullets.removeClass(t.bulletActiveClass),
2813                    t.clickable && s.off("click", W(t.bulletClass));
2814            }
2815            s("init", () => {
2816                u(), p(), c();
2817            }),
2818                s("activeIndexChange", () => {
2819                    (e.params.loop || void 0 === e.snapIndex) && c();
2820                }),
2821                s("snapIndexChange", () => {
2822                    e.params.loop || c();
2823                }),
2824                s("slidesLengthChange", () => {
2825                    e.params.loop && (p(), c());
2826                }),
2827                s("snapGridLengthChange", () => {
2828                    e.params.loop || (p(), c());
2829                }),
2830                s("destroy", () => {
2831                    h();
2832                }),
2833                s("enable disable", () => {
2834                    const { $el: t } = e.pagination;
2835                    t && t[e.enabled ? "removeClass" : "addClass"](e.params.pagination.lockClass);
2836                }),
2837                s("lock unlock", () => {
2838                    c();
2839                }),
2840                s("click", (t, s) => {
2841                    const i = s.target,
2842                        { $el: r } = e.pagination;
2843                    if (e.params.pagination.el && e.params.pagination.hideOnClick && r.length > 0 && !d(i).hasClass(e.params.pagination.bulletClass)) {
2844                        if (e.navigation && ((e.navigation.nextEl && i === e.navigation.nextEl) || (e.navigation.prevEl && i === e.navigation.prevEl))) return;
2845                        const t = r.hasClass(e.params.pagination.hiddenClass);
2846                        a(!0 === t ? "paginationShow" : "paginationHide"), r.toggleClass(e.params.pagination.hiddenClass);
2847                    }
2848                }),
2849                Object.assign(e.pagination, { render: p, update: c, init: u, destroy: h });
2850        },
2851        function ({ swiper: e, extendParams: t, on: s, emit: i }) {
2852            const r = a();
2853            let n,
2854                l,
2855                o,
2856                c,
2857                u = !1,
2858                h = null,
2859                m = null;
2860            function f() {
2861                if (!e.params.scrollbar.el || !e.scrollbar.el) return;
2862                const { scrollbar: t, rtlTranslate: s, progress: a } = e,
2863                    { $dragEl: i, $el: r } = t,
2864                    n = e.params.scrollbar;
2865                let d = l,
2866                    c = (o - l) * a;
2867                s ? ((c = -c), c > 0 ? ((d = l - c), (c = 0)) : -c + l > o && (d = o + c)) : c < 0 ? ((d = l + c), (c = 0)) : c + l > o && (d = o - c),
2868                    e.isHorizontal() ? (i.transform(`translate3d(${c}px, 0, 0)`), (i[0].style.width = `${d}px`)) : (i.transform(`translate3d(0px, ${c}px, 0)`), (i[0].style.height = `${d}px`)),
2869                    n.hide &&
2870                    (clearTimeout(h),
2871                        (r[0].style.opacity = 1),
2872                        (h = setTimeout(() => {
2873                            (r[0].style.opacity = 0), r.transition(400);
2874                        }, 1e3)));
2875            }
2876            function g() {
2877                if (!e.params.scrollbar.el || !e.scrollbar.el) return;
2878                const { scrollbar: t } = e,
2879                    { $dragEl: s, $el: a } = t;
2880                (s[0].style.width = ""),
2881                    (s[0].style.height = ""),
2882                    (o = e.isHorizontal() ? a[0].offsetWidth : a[0].offsetHeight),
2883                    (c = e.size / (e.virtualSize + e.params.slidesOffsetBefore - (e.params.centeredSlides ? e.snapGrid[0] : 0))),
2884                    (l = "auto" === e.params.scrollbar.dragSize ? o * c : parseInt(e.params.scrollbar.dragSize, 10)),
2885                    e.isHorizontal() ? (s[0].style.width = `${l}px`) : (s[0].style.height = `${l}px`),
2886                    (a[0].style.display = c >= 1 ? "none" : ""),
2887                    e.params.scrollbar.hide && (a[0].style.opacity = 0),
2888                    e.params.watchOverflow && e.enabled && t.$el[e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass);
2889            }
2890            function v(t) {
2891                return e.isHorizontal() ? ("touchstart" === t.type || "touchmove" === t.type ? t.targetTouches[0].clientX : t.clientX) : "touchstart" === t.type || "touchmove" === t.type ? t.targetTouches[0].clientY : t.clientY;
2892            }
2893            function w(t) {
2894                const { scrollbar: s, rtlTranslate: a } = e,
2895                    { $el: i } = s;
2896                let r;
2897                (r = (v(t) - i.offset()[e.isHorizontal() ? "left" : "top"] - (null !== n ? n : l / 2)) / (o - l)), (r = Math.max(Math.min(r, 1), 0
2897)), a && (r = 1 - r);
2898                const d = e.minTranslate() + (e.maxTranslate() - e.minTranslate()) * r;
2899                e.updateProgress(d), e.setTranslate(d), e.updateActiveIndex(), e.updateSlidesClasses();
2900            }
2901            function b(t) {
2902                const s = e.params.scrollbar,
2903                    { scrollbar: a, $wrapperEl: r } = e,
2904                    { $el: l, $dragEl: o } = a;
2905                (u = !0),
2906                    (n = t.target === o[0] || t.target === o ? v(t) - t.target.getBoundingClientRect()[e.isHorizontal() ? "left" : "top"] : null),
2907                    t.preventDefault(),
2908                    t.stopPropagation(),
2909                    r.transition(100),
2910                    o.transition(100),
2911                    w(t),
2912                    clearTimeout(m),
2913                    l.transition(0),
2914                    s.hide && l.css("opacity", 1),
2915                    e.params.cssMode && e.$wrapperEl.css("scroll-snap-type", "none"),
2916                    i("scrollbarDragStart", t);
2917            }
2918            function x(t) {
2919                const { scrollbar: s, $wrapperEl: a } = e,
2920                    { $el: r, $dragEl: n } = s;
2921                u && (t.preventDefault ? t.preventDefault() : (t.returnValue = !1), w(t), a.transition(0), r.transition(0), n.transition(0), i("scrollbarDragMove", t));
2922            }
2923            function y(t) {
2924                const s = e.params.scrollbar,
2925                    { scrollbar: a, $wrapperEl: r } = e,
2926                    { $el: n } = a;
2927                u &&
2928                    ((u = !1),
2929                        e.params.cssMode && (e.$wrapperEl.css("scroll-snap-type", ""), r.transition("")),
2930                        s.hide &&
2931                        (clearTimeout(m),
2932                            (m = p(() => {
2933                                n.css("opacity", 0), n.transition(400);
2934                            }, 1e3))),
2935                        i("scrollbarDragEnd", t),
2936                        s.snapOnRelease && e.slideToClosest());
2937            }
2938            function E(t) {
2939                const { scrollbar: s, touchEventsTouch: a, touchEventsDesktop: i, params: n, support: l } = e,
2940                    o = s.$el[0],
2941                    d = !(!l.passiveListener || !n.passiveListeners) && { passive: !1, capture: !1 },
2942                    c = !(!l.passiveListener || !n.passiveListeners) && { passive: !0, capture: !1 };
2943                if (!o) return;
2944                const p = "on" === t ? "addEventListener" : "removeEventListener";
2945                l.touch ? (o[p](a.start, b, d), o[p](a.move, x, d), o[p](a.end, y, c)) : (o[p](i.start, b, d), r[p](i.move, x, d), r[p](i.end, y, c));
2946            }
2947            function T() {
2948                const { scrollbar: t, $el: s } = e;
2949                e.params.scrollbar = Y(e, e.originalParams.scrollbar, e.params.scrollbar, { el: "swiper-scrollbar" });
2950                const a = e.params.scrollbar;
2951                if (!a.el) return;
2952                let i = d(a.el);
2953                e.params.uniqueNavElements && "string" == typeof a.el && i.length > 1 && 1 === s.find(a.el).length && (i = s.find(a.el));
2954                let r = i.find(`.${e.params.scrollbar.dragClass}`);
2955                0 === r.length && ((r = d(`<div class="${e.params.scrollbar.dragClass}"></div>`)), i.append(r)),
2956                    Object.assign(t, { $el: i, el: i[0], $dragEl: r, dragEl: r[0] }),
2957                    a.draggable && e.params.scrollbar.el && E("on"),
2958                    i && i[e.enabled ? "removeClass" : "addClass"](e.params.scrollbar.lockClass);
2959            }
2960            function C() {
2961                e.params.scrollbar.el && E("off");
2962            }
2963            t({ scrollbar: { el: null, dragSize: "auto", hide: !1, draggable: !1, snapOnRelease: !0, lockClass: "swiper-scrollbar-lock", dragClass: "swiper-scrollbar-drag" } }),
2964                (e.scrollbar = { el: null, dragEl: null, $el: null, $dragEl: null }),
2965                s("init", () => {
2966                    T(), g(), f();
2967                }),
2968                s("update resize observerUpdate lock unlock", () => {
2969                    g();
2970                }),
2971                s("setTranslate", () => {
2972                    f();
2973                }),
2974                s("setTransition", (t, s) => {
2975                    !(function (t) {
2976                        e.params.scrollbar.el && e.scrollbar.el && e.scrollbar.$dragEl.transition(t);
2977                    })(s);
2978                }),
2979                s("enable disable", () => {
2980                    const { $el: t } = e.scrollbar;
2981                    t && t[e.enabled ? "removeClass" : "addClass"](e.params.scrollbar.lockClass);
2982                }),
2983                s("destroy", () => {
2984                    C();
2985                }),
2986                Object.assign(e.scrollbar, { updateSize: g, setTranslate: f, init: T, destroy: C });
2987        },
2988        function ({ swiper: e, extendParams: t, on: s }) {
2989            t({ parallax: { enabled: !1 } });
2990            const a = (t, s) => {
2991                const { rtl: a } = e,
2992                    i = d(t),
2993                    r = a ? -1 : 1,
2994                    n = i.attr("data-swiper-parallax") || "0";
2995                let l = i.attr("data-swiper-parallax-x"),
2996                    o = i.attr("data-swiper-parallax-y");
2997                const c = i.attr("data-swiper-parallax-scale"),
2998                    p = i.attr("data-swiper-parallax-opacity");
2999                if (
3000                    (l || o ? ((l = l || "0"), (o = o || "0")) : e.isHorizontal() ? ((l = n), (o = "0")) : ((o = n), (l = "0")),
3001                        (l = l.indexOf("%") >= 0 ? parseInt(l, 10) * s * r + "%" : l * s * r + "px"),
3002                        (o = o.indexOf("%") >= 0 ? parseInt(o, 10) * s + "%" : o * s + "px"),
3003                        null != p)
3004                ) {
3005                    const e = p - (p - 1) * (1 - Math.abs(s));
3006                    i[0].style.opacity = e;
3007                }
3008                if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`);
3009                else {
3010                    const e = c - (c - 1) * (1 - Math.abs(s));
3011                    i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`);
3012                }
3013            },
3014                i = () => {
3015                    const { $el: t, slides: s, progress: i, snapGrid: r } = e;
3016                    t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e) => {
3017                        a(e, i);
3018                    }),
3019                        s.each((t, s) => {
3020                            let n = t.progress;
3021                            e.params.slidesPerGroup > 1 && "auto" !== e.params.slidesPerView && (n += Math.ceil(s / 2) - i * (r.length - 1)),
3022                                (n = Math.min(Math.max(n, -1), 1)),
3023                                d(t)
3024                                    .find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]")
3025                                    .each((e) => {
3026                                        a(e, n);
3027                                    });
3028                        });
3029                };
3030            s("beforeInit", () => {
3031                e.params.parallax.enabled && ((e.params.watchSlidesProgress = !0), (e.originalParams.watchSlidesProgress = !0));
3032            }),
3033                s("init", () => {
3034                    e.params.parallax.enabled && i();
3035                }),
3036                s("setTranslate", () => {
3037                    e.params.parallax.enabled && i();
3038                }),
3039                s("setTransition", (t, s) => {
3040                    e.params.parallax.enabled &&
3041                        ((t = e.params.speed) => {
3042                            const { $el: s } = e;
3043                            s.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((e) => {
3044                                const s = d(e);
3045                                let a = parseInt(s.attr("data-swiper-parallax-duration"), 10) || t;
3046                                0 === t && (a = 0), s.transition(a);
3047                            });
3048                        })(s);
3049                });
3050        },
3051        function ({ swiper: e, extendParams: t, on: s, emit: a }) {
3052            const i = r();
3053            t({ zoom: { enabled: !1, maxRatio: 3, minRatio: 1, toggle: !0, containerClass: "swiper-zoom-container", zoomedSlideClass: "swiper-slide-zoomed" } }), (e.zoom = { enabled: !1 });
3054            let n,
3055                l,
3056                o,
3057                c = 1,
3058                p = !1;
3059            const u = { $slideEl: void 0, slideWidth: void 0, slideHeight: void 0, $imageEl: void 0, $imageWrapEl: void 0, maxRatio: 3 },
3060                m = {
3061                    isTouched: void 0,
3062                    isMoved: void 0,
3063                    currentX: void 0,
3064                    currentY: void 0,
3065                    minX: void 0,
3066                    minY: void 0,
3067                    maxX: void 0,
3068                    maxY: void 0,
3069                    width: void 0,
3070                    height: void 0,
3071                    startX: void 0,
3072                    startY: void 0,
3073                    touchesStart: {},
3074                    touchesCurrent: {},
3075                },
3076                f = { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0 };
3077            let g = 1;
3078            function v(e) {
3079                if (e.targetTouches.length < 2) return 1;
3080                const t = e.targetTouches[0].pageX,
3081                    s = e.targetTouches[0].pageY,
3082                    a = e.targetTouches[1].pageX,
3083                    i = e.targetTouches[1].pageY;
3084                return Math.sqrt((a - t) ** 2 + (i - s) ** 2);
3085            }
3086            function w(t) {
3087                const s = e.support,
3088                    a = e.params.zoom;
3089                if (((l = !1), (o = !1), !s.gestures)) {
3090                    if ("touchstart" !== t.type || ("touchstart" === t.type && t.targetTouches.length < 2)) return;
3091                    (l = !0), (u.scaleStart = v(t));
3092                }
3093                (u.$slideEl && u.$slideEl.length) ||
3094                    ((u.$slideEl = d(t.target).closest(`.${e.params.slideClass}`)),
3095                        0 === u.$slideEl.length && (u.$slideEl = e.slides.eq(e.activeIndex)),
3096                        (u.$imageEl = u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0)),
3097                        (u.$imageWrapEl = u.$imageEl.parent(`.${a.containerClass}`)),
3098                        (u.maxRatio = u.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
3099                        0 !== u.$imageWrapEl.length)
3100                    ? (u.$imageEl && u.$imageEl.transition(0), (p = !0))
3101                    : (u.$imageEl = void 0);
3102            }
3103            function b(t) {
3104                const s = e.support,
3105                    a = e.params.zoom,
3106                    i = e.zoom;
3107                if (!s.gestures) {
3108                    if ("touchmove" !== t.type || ("touchmove" === t.type && t.targetTouches.length < 2)) return;
3109                    (o = !0), (u.scaleMove = v(t));
3110                }
3111                u.$imageEl && 0 !== u.$imageEl.length
3112                    ? (s.gestures ? (i.scale = t.scale * c) : (i.scale = (u.scaleMove / u.scaleStart) * c),
3113                        i.scale > u.maxRatio && (i.scale = u.maxRatio - 1 + (i.scale - u.maxRatio + 1) ** 0.5),
3114                        i.scale < a.minRatio && (i.scale = a.minRatio + 1 - (a.minRatio - i.scale + 1) ** 0.5),
3115                        u.$imageEl.transform(`translate3d(0,0,0) scale(${i.scale})`))
3116                    : "gesturechange" === t.type && w(t);
3117            }
3118            function x(t) {
3119                const s = e.device,
3120                    a = e.support,
3121                    i = e.params.zoom,
3122                    r = e.zoom;
3123                if (!a.gestures) {
3124                    if (!l || !o) return;
3125                    if ("touchend" !== t.type || ("touchend" === t.type && t.changedTouches.length < 2 && !s.android)) return;
3126                    (l = !1), (o = !1);
3127                }
3128                u.$imageEl &&
3129                    0 !== u.$imageEl.length &&
3130                    ((r.scale = Math.max(Math.min(r.scale, u.maxRatio), i.minRatio)), u.$imageEl.transition(e.params.speed).transform(`translate3d(0,
31300,0) scale(${r.scale})`), (c = r.scale), (p = !1), 1 === r.scale && (u.$slideEl = void 0));
3131            }
3132            function y(t) {
3133                const s = e.zoom;
3134                if (!u.$imageEl || 0 === u.$imageEl.length) return;
3135                if (((e.allowClick = !1), !m.isTouched || !u.$slideEl)) return;
3136                m.isMoved ||
3137                    ((m.width = u.$imageEl[0].offsetWidth),
3138                        (m.height = u.$imageEl[0].offsetHeight),
3139                        (m.startX = h(u.$imageWrapEl[0], "x") || 0),
3140                        (m.startY = h(u.$imageWrapEl[0], "y") || 0),
3141                        (u.slideWidth = u.$slideEl[0].offsetWidth),
3142                        (u.slideHeight = u.$slideEl[0].offsetHeight),
3143                        u.$imageWrapEl.transition(0));
3144                const a = m.width * s.scale,
3145                    i = m.height * s.scale;
3146                if (!(a < u.slideWidth && i < u.slideHeight)) {
3147                    if (
3148                        ((m.minX = Math.min(u.slideWidth / 2 - a / 2, 0)),
3149                            (m.maxX = -m.minX),
3150                            (m.minY = Math.min(u.slideHeight / 2 - i / 2, 0)),
3151                            (m.maxY = -m.minY),
3152                            (m.touchesCurrent.x = "touchmove" === t.type ? t.targetTouches[0].pageX : t.pageX),
3153                            (m.touchesCurrent.y = "touchmove" === t.type ? t.targetTouches[0].pageY : t.pageY),
3154                            !m.isMoved && !p)
3155                    ) {
3156                        if (e.isHorizontal() && ((Math.floor(m.minX) === Math.floor(m.startX) && m.touchesCurrent.x < m.touchesStart.x) || (Math.floor(m.maxX) === Math.floor(m.startX) && m.touchesCurrent.x > m.touchesStart.x)))
3157                            return void (m.isTouched = !1);
3158                        if (!e.isHorizontal() && ((Math.floor(m.minY) === Math.floor(m.startY) && m.touchesCurrent.y < m.touchesStart.y) || (Math.floor(m.maxY) === Math.floor(m.startY) && m.touchesCurrent.y > m.touchesStart.y)))
3159                            return void (m.isTouched = !1);
3160                    }
3161                    t.cancelable && t.preventDefault(),
3162                        t.stopPropagation(),
3163                        (m.isMoved = !0),
3164                        (m.currentX = m.touchesCurrent.x - m.touchesStart.x + m.startX),
3165                        (m.currentY = m.touchesCurrent.y - m.touchesStart.y + m.startY),
3166                        m.currentX < m.minX && (m.currentX = m.minX + 1 - (m.minX - m.currentX + 1) ** 0.8),
3167                        m.currentX > m.maxX && (m.currentX = m.maxX - 1 + (m.currentX - m.maxX + 1) ** 0.8),
3168                        m.currentY < m.minY && (m.currentY = m.minY + 1 - (m.minY - m.currentY + 1) ** 0.8),
3169                        m.currentY > m.maxY && (m.currentY = m.maxY - 1 + (m.currentY - m.maxY + 1) ** 0.8),
3170                        f.prevPositionX || (f.prevPositionX = m.touchesCurrent.x),
3171                        f.prevPositionY || (f.prevPositionY = m.touchesCurrent.y),
3172                        f.prevTime || (f.prevTime = Date.now()),
3173                        (f.x = (m.touchesCurrent.x - f.prevPositionX) / (Date.now() - f.prevTime) / 2),
3174                        (f.y = (m.touchesCurrent.y - f.prevPositionY) / (Date.now() - f.prevTime) / 2),
3175                        Math.abs(m.touchesCurrent.x - f.prevPositionX) < 2 && (f.x = 0),
3176                        Math.abs(m.touchesCurrent.y - f.prevPositionY) < 2 && (f.y = 0),
3177                        (f.prevPositionX = m.touchesCurrent.x),
3178                        (f.prevPositionY = m.touchesCurrent.y),
3179                        (f.prevTime = Date.now()),
3180                        u.$imageWrapEl.transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`);
3181                }
3182            }
3183            function E() {
3184                const t = e.zoom;
3185                u.$slideEl &&
3186                    e.previousIndex !== e.activeIndex &&
3187                    (u.$imageEl && u.$imageEl.transform("translate3d(0,0,0) scale(1)"),
3188                        u.$imageWrapEl && u.$imageWrapEl.transform("translate3d(0,
31880,0)"),
3189                        (t.scale = 1),
3190                        (c = 1),
3191                        (u.$slideEl = void 0),
3192                        (u.$imageEl = void 0),
3193                        (u.$imageWrapEl = void 0));
3194            }
3195            function T(t) {
3196                const s = e.zoom,
3197                    a = e.params.zoom;
3198                if (
3199                    (u.$slideEl ||
3200                        (t && t.target && (u.$slideEl = d(t.target).closest(`.${e.params.slideClass}`)),
3201                            u.$slideEl || (e.params.virtual && e.params.virtual.enabled && e.virtual ? (u.$slideEl = e.$wrapperEl.children(`.${e.params.slideActiveClass}`)) : (u.$slideEl = e.slides.eq(e.activeIndex))),
3202                            (u.$imageEl = u.$slideEl.find(`.${a.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0)),
3203                            (u.$imageWrapEl = u.$imageEl.parent(`.${a.containerClass}`))),
3204                        !u.$imageEl || 0 === u.$imageEl.length || !u.$imageWrapEl || 0 === u.$imageWrapEl.length)
3205                )
3206                    return;
3207                let r, n, l, o, p, h, f, g, v, w, b, x, y, E, T, C, $, S;
3208                e.params.cssMode && ((e.wrapperEl.style.overflow = "hidden"), (e.wrapperEl.style.touchAction = "none")),
3209                    u.$slideEl.addClass(`${a.zoomedSlideClass}`),
3210                    void 0 === m.touchesStart.x && t
3211                        ? ((r = "touchend" === t.type ? t.changedTouches[0].pageX : t.pageX), (n = "touchend" === t.type ? t.changedTouches[0].pageY : t.pageY))
3212                        : ((r = m.touchesStart.x), (n = m.touchesStart.y)),
3213                    (s.scale = u.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
3214                    (c = u.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio),
3215                    t
3216                        ? (($ = u.$slideEl[0].offsetWidth),
3217                            (S = u.$slideEl[0].offsetHeight),
3218                            (l = u.$slideEl.offset().left + i.scrollX),
3219                            (o = u.$slideEl.offset().top + i.scrollY),
3220                            (p = l + $ / 2 - r),
3221                            (h = o + S / 2 - n),
3222                            (v = u.$imageEl[0].offsetWidth),
3223                            (w = u.$imageEl[0].offsetHeight),
3224                            (b = v * s.scale),
3225                            (x = w * s.scale),
3226                            (y = Math.min($ / 2 - b / 2, 0)),
3227                            (E = Math.min(S / 2 - x / 2, 0)),
3228                            (T = -y),
3229                            (C = -E),
3230                            (f = p * s.scale),
3231                            (g = h * s.scale),
3232                            f < y && (f = y),
3233                            f > T && (f = T),
3234                            g < E && (g = E),
3235                            g > C && (g = C))
3236                        : ((f = 0), (g = 0)),
3237                    u.$imageWrapEl.transition(300).transform(`translate3d(${f}px, ${g}px,0)`),
3238                    u.$imageEl.transition(300).transform(`translate3d(0,0,0) scale(${s.scale})`);
3239            }
3240            function C() {
3241                const t = e.zoom,
3242                    s = e.params.zoom;
3243                u.$slideEl ||
3244                    (e.params.virtual && e.params.virtual.enabled && e.virtual ? (u.$slideEl = e.$wrapperEl.children(`.${e.params.slideActiveClass}`)) : (u.$slideEl = e.slides.eq(e.activeIndex)),
3245                        (u.$imageEl = u.$slideEl.find(`.${s.containerClass}`).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0)),
3246                        (u.$imageWrapEl = u.$imageEl.parent(`.${s.containerClass}`))),
3247                    u.$imageEl &&
3248                    0 !== u.$imageEl.length &&
3249                    u.$imageWrapEl &&
3250                    0 !== u.$imageWrapEl.length &&
3251                    (e.params.cssMode && ((e.wrapperEl.style.overflow = ""), (e.wrapperEl.style.touchAction = "")),
3252                        (t.scale = 1),
3253                        (c = 1),
3254                        u.$imageWrapEl.transition(300).transform("translate3d(0,
32540,0)"),
3255                        u.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),
3256                        u.$slideEl.removeClass(`${s.zoomedSlideClass}`),
3257                        (u.$slideEl = void 0));
3258            }
3259            function $(t) {
3260                const s = e.zoom;
3261                s.scale && 1 !== s.scale ? C() : T(t);
3262            }
3263            function S() {
3264                const t = e.support;
3265                return {
3266                    passiveListener: !("touchstart" !== e.touchEvents.start || !t.passiveListener || !e.params.passiveListeners) && { passive: !0, capture: !1 },
3267                    activeListenerWithCapture: !t.passiveListener || { passive: !1, capture: !0 },
3268                };
3269            }
3270            function M() {
3271                return `.${e.params.slideClass}`;
3272            }
3273            function P(t) {
3274                const { passiveListener: s } = S(),
3275                    a = M();
3276                e.$wrapperEl[t]("gesturestart", a, w, s), e.$wrapperEl[t]("gesturechange", a, b, s), e.$wrapperEl[t]("gestureend", a, x, s);
3277            }
3278            function k() {
3279                n || ((n = !0), P("on"));
3280            }
3281            function z() {
3282                n && ((n = !1), P("off"));
3283            }
3284            function O() {
3285                const t = e.zoom;
3286                if (t.enabled) return;
3287                t.enabled = !0;
3288                const s = e.support,
3289                    { passiveListener: a, activeListenerWithCapture: i } = S(),
3290                    r = M();
3291                s.gestures
3292                    ? (e.$wrapperEl.on(e.touchEvents.start, k, a), e.$wrapperEl.on(e.touchEvents.end, z, a))
3293                    : "touchstart" === e.touchEvents.start &&
3294                    (e.$wrapperEl.on(e.touchEvents.start, r, w, a), e.$wrapperEl.on(e.touchEvents.move, r, b, i), e.$wrapperEl.on(e.touchEvents.end, r, x, a), e.touchEvents.cancel && e.$wrapperEl.on(e.touchEvents.cancel, r, x, a)),
3295                    e.$wrapperEl.on(e.touchEvents.move, `.${e.params.zoom.containerClass}`, y, i);
3296            }
3297            function I() {
3298                const t = e.zoom;
3299                if (!t.enabled) return;
3300                const s = e.support;
3301                t.enabled = !1;
3302                const { passiveListener: a, activeListenerWithCapture: i } = S(),
3303                    r = M();
3304                s.gestures
3305                    ? (e.$wrapperEl.off(e.touchEvents.start, k, a), e.$wrapperEl.off(e.touchEvents.end, z, a))
3306                    : "touchstart" === e.touchEvents.start &&
3307                    (e.$wrapperEl.off(e.touchEvents.start, r, w, a), e.$wrapperEl.off(e.touchEvents.move, r, b, i), e.$wrapperEl.off(e.touchEvents.end, r, x, a), e.touchEvents.cancel && e.$wrapperEl.off(e.touchEvents.cancel, r, x, a)),
3308                    e.$wrapperEl.off(e.touchEvents.move, `.${e.params.zoom.containerClass}`, y, i);
3309            }
3310            Object.defineProperty(e.zoom, "scale", {
3311                get: () => g,
3312                set(e) {
3313                    if (g !== e) {
3314                        const t = u.$imageEl ? u.$imageEl[0] : void 0,
3315                            s = u.$slideEl ? u.$slideEl[0] : void 0;
3316                        a("zoomChange", e, t, s);
3317                    }
3318                    g = e;
3319                },
3320            }),
3321                s("init", () => {
3322                    e.params.zoom.enabled && O();
3323                }),
3324                s("destroy", () => {
3325                    I();
3326                }),
3327                s("touchStart", (t, s) => {
3328                    e.zoom.enabled &&
3329                        (function (t) {
3330                            const s = e.device;
3331                            u.$imageEl &&
3332                                0 !== u.$imageEl.length &&
3333                                (m.isTouched ||
3334                                    (s.android && t.cancelable && t.preventDefault(),
3335                                        (m.isTouched = !0),
3336                                        (m.touchesStart.x = "touchstart" === t.type ? t.targetTouches[0].pageX : t.pageX),
3337                                        (m.touchesStart.y = "touchstart" === t.type ? t.targetTouches[0].pageY : t.pageY)));
3338                        })(s);
3339                }),
3340                s("touchEnd", (t, s) => {
3341                    e.zoom.enabled &&
3342                        (function () {
3343                            const t = e.zoom;
3344                            if (!u.$imageEl || 0 === u.$imageEl.length) return;
3345                            if (!m.isTouched || !m.isMoved) return (m.isTouched = !1), void (m.isMoved = !1);
3346                            (m.isTouched = !1), (m.isMoved = !1);
3347                            let s = 300,
3348                                a = 300;
3349                            const i = f.x * s,
3350                                r = m.currentX + i,
3351                                n = f.y * a,
3352                                l = m.currentY + n;
3353                            0 !== f.x && (s = Math.abs((r - m.currentX) / f.x)), 0 !== f.y && (a = Math.abs((l - m.currentY) / f.y));
3354                            const o = Math.max(s, a);
3355                            (m.currentX = r), (m.currentY = l);
3356                            const d = m.width * t.scale,
3357                                c = m.height * t.scale;
3358                            (m.minX = Math.min(u.slideWidth / 2 - d / 2, 0)),
3359                                (m.maxX = -m.minX),
3360                                (m.minY = Math.min(u.slideHeight / 2 - c / 2, 0)),
3361                                (m.maxY = -m.minY),
3362                                (m.currentX = Math.max(Math.min(m.currentX, m.maxX), m.minX)),
3363                                (m.currentY = Math.max(Math.min(m.currentY, m.maxY), m.minY)),
3364                                u.$imageWrapEl.transition(o).transform(`translate3d(${m.currentX}px, ${m.currentY}px,0)`);
3365                        })();
3366                }),
3367                s("doubleTap", (t, s) => {
3368                    !e.animating && e.params.zoom.enabled && e.zoom.enabled && e.params.zoom.toggle && $(s);
3369                }),
3370                s("transitionEnd", () => {
3371                    e.zoom.enabled && e.params.zoom.enabled && E();
3372                }),
3373                s("slideChange", () => {
3374                    e.zoom.enabled && e.params.zoom.enabled && e.params.cssMode && E();
3375                }),
3376                Object.assign(e.zoom, { enable: O, disable: I, in: T, out: C, toggle: $ });
3377        },
3378        function ({ swiper: e, extendParams: t, on: s, emit: a }) {
3379            t({
3380                lazy: {
3381                    checkInView: !1,
3382                    enabled: !1,
3383                    loadPrevNext: !1,
3384                    loadPrevNextAmount: 1,
3385                    loadOnTransitionStart: !1,
3386                    scrollingElement: "",
3387                    elementClass: "swiper-lazy",
3388                    loadingClass: "swiper-lazy-loading",
3389                    loadedClass: "swiper-lazy-loaded",
3390                    preloaderClass: "swiper-lazy-preloader",
3391                },
3392            }),
3393                (e.lazy = {});
3394            let i = !1,
3395                n = !1;
3396            function l(t, s = !0) {
3397                const i = e.params.lazy;
3398                if (void 0 === t) return;
3399                if (0 === e.slides.length) return;
3400                const r = e.virtual && e.params.virtual.enabled ? e.$wrapperEl.children(`.${e.params.slideClass}[data-swiper-slide-index="${t}"]`) : e.slides.eq(t),
3401                    n = r.find(`.${i.elementClass}:not(.${i.loadedClass}):not(.${i.loadingClass})`);
3402                !r.hasClass(i.elementClass) || r.hasClass(i.loadedClass) || r.hasClass(i.loadingClass) || n.push(r[0]),
3403                    0 !== n.length &&
3404                    n.each((t) => {
3405                        const n = d(t);
3406                        n.addClass(i.loadingClass);
3407                        const o = n.attr("data-background"),
3408                            c = n.attr("data-src"),
3409                            p = n.attr("data-srcset"),
3410                            u = n.attr("data-sizes"),
3411                            h = n.parent("picture");
3412                        e.loadImage(n[0], c || o, p, u, !1, () => {
3413                            if (null != e && e && (!e || e.params) && !e.destroyed) {
3414                                if (
3415                                    (o
3416                                        ? (n.css("background-image", `url("${o}")`), n.removeAttr("data-background"))
3417                                        : (p && (n.attr("srcset", p), n.removeAttr("data-srcset")),
3418                                            u && (n.attr("sizes", u), n.removeAttr("data-sizes")),
3419                                            h.length &&
3420                                            h.children("source").each((e) => {
3421                                                const t = d(e);
3422                                                t.attr("data-srcset") && (t.attr("srcset", t.attr("data-srcset")), t.removeAttr("data-srcset"));
3423                                            }),
3424                                            c && (n.attr("src", c), n.removeAttr("data-src"))),
3425                                        n.addClass(i.loadedClass).removeClass(i.loadingClass),
3426                                        r.find(`.${i.preloaderClass}`).remove(),
3427                                        e.params.loop && s)
3428                                ) {
3429                                    const t = r.attr("data-swiper-slide-index");
3430                                    if (r.hasClass(e.params.slideDuplicateClass)) {
3431                                        l(e.$wrapperEl.children(`[data-swiper-slide-index="${t}"]:not(.${e.params.slideDuplicateClass})`).index(), !1);
3432                                    } else {
3433                                        l(e.$wrapperEl.children(`.${e.params.slideDuplicateClass}[data-swiper-slide-index="${t}"]`).index(), !1);
3434                                    }
3435                                }
3436                                a("lazyImageReady", r[0], n[0]), e.params.autoHeight && e.updateAutoHeight();
3437                            }
3438                        }),
3439                            a("lazyImageLoad", r[0], n[0]);
3440                    });
3441            }
3442            function o() {
3443                const { $wrapperEl: t, params: s, slides: a, activeIndex: i } = e,
3444                    r = e.virtual && s.virtual.enabled,
3445                    o = s.lazy;
3446                let c = s.slidesPerView;
3447                function p(e) {
3448                    if (r) {
3449                        if (t.children(`.${s.slideClass}[data-swiper-slide-index="${e}"]`).length) return !0;
3450                    } else if (a[e]) return !0;
3451                    return !1;
3452                }
3453                function u(e) {
3454                    return r ? d(e).attr("data-swiper-slide-index") : d(e).index();
3455                }
3456                if (("auto" === c && (c = 0), n || (n = !0), e.params.watchSlidesProgress))
3457                    t.children(`.${s.slideVisibleClass}`).each((e) => {
3458                        l(r ? d(e).attr("data-swiper-slide-index") : d(e).index());
3459                    });
3460                else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && l(e);
3461                else l(i);
3462                if (o.loadPrevNext)
3463                    if (c > 1 || (o.loadPrevNextAmount && o.loadPrevNextAmount > 1)) {
3464                        const e = o.loadPrevNextAmount,
3465                            t = c,
3466                            s = Math.min(i + t + Math.max(e, t), a.length),
3467                            r = Math.max(i - Math.max(t, e), 0);
3468                        for (let e = i + c; e < s; e += 1) p(e) && l(e);
3469                        for (let e = r; e < i; e += 1) p(e) && l(e);
3470                    } else {
3471                        const e = t.children(`.${s.slideNextClass}`);
3472                        e.length > 0 && l(u(e));
3473                        const a = t.children(`.${s.slidePrevClass}`);
3474                        a.length > 0 && l(u(a));
3475                    }
3476            }
3477            function c() {
3478                const t = r();
3479                if (!e || e.destroyed) return;
3480                const s = e.params.lazy.scrollingElement ? d(e.params.lazy.scrollingElement) : d(t),
3481                    a = s[0] === t,
3482                    n = a ? t.innerWidth : s[0].offsetWidth,
3483                    l = a ? t.innerHeight : s[0].offsetHeight,
3484                    p = e.$el.offset(),
3485                    { rtlTranslate: u } = e;
3486                let h = !1;
3487                u && (p.left -= e.$el[0].scrollLeft);
3488                const m = [
3489                    [p.left, p.top],
3490                    [p.left + e.width, p.top],
3491                    [p.left, p.top + e.height],
3492                    [p.left + e.width, p.top + e.height],
3493                ];
3494                for (let e = 0; e < m.length; e += 1) {
3495                    const t = m[e];
3496                    if (t[0] >= 0 && t[0] <= n && t[1] >= 0 && t[1] <= l) {
3497                        if (0 === t[0] && 0 === t[1]) continue;
3498                        h = !0;
3499                    }
3500                }
3501                const f = !("touchstart" !== e.touchEvents.start || !e.support.passiveListener || !e.params.passiveListeners) && { passive: !0, capture: !1 };
3502                h ? (o(), s.off("scroll", c, f)) : i || ((i = !0), s.on("scroll", c, f));
3503            }
3504            s("beforeInit", () => {
3505                e.params.lazy.enabled && e.params.preloadImages && (e.params.preloadImages = !1);
3506            }),
3507                s("init", () => {
3508                    e.params.lazy.enabled && (e.params.lazy.checkInView ? c() : o());
3509                }),
3510                s("scroll", () => {
3511                    e.params.freeMode && e.params.freeMode.enabled && !e.params.freeMode.sticky && o();
3512                }),
3513                s("scrollbarDragMove resize _freeModeNoMomentumRelease", () => {
3514                    e.params.lazy.enabled && (e.params.lazy.checkInView ? c() : o());
3515                }),
3516                s("transitionStart", () => {
3517                    e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || (!e.params.lazy.loadOnTransitionStart && !n)) && (e.params.lazy.checkInView ? c() : o());
3518                }),
3519                s("transitionEnd", () => {
3520                    e.params.lazy.enabled && !e.params.lazy.loadOnTransitionStart && (e.params.lazy.checkInView ? c() : o());
3521                }),
3522                s("slideChange", () => {
3523                    const { lazy: t, cssMode: s, watchSlidesProgress: a, touchReleaseOnEdges: i, resistanceRatio: r } = e.params;
3524                    t.enabled && (s || (a && (i || 0 === r))) && o();
3525                }),
3526                Object.assign(e.lazy, { load: o, loadInSlide: l });
3527        },
3528        function ({ swiper: e, extendParams: t, on: s }) {
3529            function a(e, t) {
3530                const s = (function () {
3531                    let e, t, s;
3532                    return (a, i) => {
3533                        for (t = -1, e = a.length; e - t > 1;) (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
3534                        return e;
3535                    };
3536                })();
3537                let a, i;
3538                return (
3539                    (this.x = e),
3540                    (this.y = t),
3541                    (this.lastIndex = e.length - 1),
3542                    (this.interpolate = function (e) {
3543                        return e ? ((i = s(this.x, e)), (a = i - 1), ((e - this.x[a]) * (this.y[i] - this.y[a])) / (this.x[i] - this.x[a]) + this.y[a]) : 0;
3544                    }),
3545                    this
3546                );
3547            }
3548            function i() {
3549                e.controller.control && e.controller.spline && ((e.controller.spline = void 0), delete e.controller.spline);
3550            }
3551            t({ controller: { control: void 0, inverse: !1, by: "slide" } }),
3552                (e.controller = { control: void 0 }),
3553                s("beforeInit", () => {
3554                    e.controller.control = e.params.controller.control;
3555                }),
3556                s("update", () => {
3557                    i();
3558                }),
3559                s("resize", () => {
3560                    i();
3561                }),
3562                s("observerUpdate", () => {
3563                    i();
3564                }),
3565                s("setTranslate", (t, s, a) => {
3566                    e.controller.control && e.controller.setTranslate(s, a);
3567                }),
3568                s("setTransition", (t, s, a) => {
3569                    e.controller.control && e.controller.setTransition(s, a);
3570                }),
3571                Object.assign(e.controller, {
3572                    setTranslate: function (t, s) {
3573                        const i = e.controller.control;
3574                        let r, n;
3575                        const l = e.constructor;
3576                        function o(t) {
3577                            const s = e.rtlTranslate ? -e.translate : e.translate;
3578                            "slide" === e.params.controller.by &&
3579                                (!(function (t) {
3580                                    e.controller.spline || (e.controller.spline = e.params.loop ? new a(e.slidesGrid, t.slidesGrid) : new a(e.snapGrid, t.snapGrid));
3581                                })(t),
3582                                    (n = -e.controller.spline.interpolate(-s))),
3583                                (n && "container" !== e.params.controller.by) || ((r = (t.maxTranslate() - t.minTranslate()) / (e.maxTranslate() - e.minTranslate())), (n = (s - e.minTranslate()) * r + t.minTranslate())),
3584                                e.params.controller.inverse && (n = t.maxTranslate() - n),
3585                                t.updateProgress(n),
3586                                t.setTranslate(n, e),
3587                                t.updateActiveIndex(),
3588                                t.updateSlidesClasses();
3589                        }
3590                        if (Array.isArray(i)) for (let e = 0; e < i.length; e += 1) i[e] !== s && i[e] instanceof l && o(i[e]);
3591                        else i instanceof l && s !== i && o(i);
3592                    },
3593                    setTransition: function (t, s) {
3594                        const a = e.constructor,
3595                            i = e.controller.control;
3596                        let r;
3597                        function n(s) {
3598                            s.setTransition(t, e),
3599                                0 !== t &&
3600                                (s.transitionStart(),
3601                                    s.params.autoHeight &&
3602                                    p(() => {
3603                                        s.updateAutoHeight();
3604                                    }),
3605                                    s.$wrapperEl.transitionEnd(() => {
3606                                        i && (s.params.loop && "slide" === e.params.controller.by && s.loopFix(), s.transitionEnd());
3607                                    }));
3608                        }
3609                        if (Array.isArray(i)) for (r = 0; r < i.length; r += 1) i[r] !== s && i[r] instanceof a && n(i[r]);
3610                        else i instanceof a && s !== i && n(i);
3611                    },
3612                });
3613        },
3614        function ({ swiper: e, extendParams: t, on: s }) {
3615            t({
3616                a11y: {
3617                    enabled: !0,
3618                    notificationClass: "swiper-notification",
3619                    prevSlideMessage: "Previous slide",
3620                    nextSlideMessage: "Next slide",
3621                    firstSlideMessage: "This is the first slide",
3622                    lastSlideMessage: "This is the last slide",
3623                    paginationBulletMessage: "Go to slide {{index}}",
3624                    slideLabelMessage: "{{index}} / {{slidesLength}}",
3625                    containerMessage: null,
3626                    containerRoleDescriptionMessage: null,
3627                    itemRoleDescriptionMessage: null,
3628                    slideRole: "group",
3629                },
3630            });
3631            let a = null;
3632            function i(e) {
3633                const t = a;
3634                0 !== t.length && (t.html(""), t.html(e));
3635            }
3636            function r(e) {
3637                e.attr("tabIndex", "0");
3638            }
3639            function n(e) {
3640                e.attr("tabIndex", "-1");
3641            }
3642            function l(e, t) {
3643                e.attr("role", t);
3644            }
3645            function o(e, t) {
3646                e.attr("aria-roledescription", t);
3647            }
3648            function c(e, t) {
3649                e.attr("aria-label", t);
3650            }
3651            function p(e) {
3652                e.attr("aria-disabled", !0);
3653            }
3654            function u(e) {
3655                e.attr("aria-disabled", !1);
3656            }
3657            function h(t) {
3658                if (13 !== t.keyCode && 32 !== t.keyCode) return;
3659                const s = e.params.a11y,
3660                    a = d(t.target);
3661                e.navigation && e.navigation.$nextEl && a.is(e.navigation.$nextEl) && ((e.isEnd && !e.params.loop) || e.slideNext(), e.isEnd ? i(s.lastSlideMessage) : i(s.nextSlideMessage)),
3662                    e.navigation && e.navigation.$prevEl && a.is(e.navigation.$prevEl) && ((e.isBeginning && !e.params.loop) || e.slidePrev(), e.isBeginning ? i(s.firstSlideMessage) : i(s.prevSlideMessage)),
3663                    e.pagination && a.is(W(e.params.pagination.bulletClass)) && a[0].click();
3664            }
3665            function m() {
3666                if (e.params.loop || !e.navigation) return;
3667                const { $nextEl: t, $prevEl: s } = e.navigation;
3668                s && s.length > 0 && (e.isBeginning ? (p(s), n(s)) : (u(s), r(s))), t && t.length > 0 && (e.isEnd ? (p(t), n(t)) : (u(t), r(t)));
3669            }
3670            function f() {
3671                return e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length;
3672            }
3673            const g = (e, t, s) => {
3674                r(e),
3675                    "BUTTON" !== e[0].tagName && (l(e, "button"), e.on("key
3675down", h)),
3676                    c(e, s),
3677                    (function (e, t) {
3678                        e.attr("aria-controls", t);
3679                    })(e, t);
3680            };
3681            function v() {
3682                const t = e.params.a11y;
3683                e.$el.append(a);
3684                const s = e.$el;
3685                t.containerRoleDescriptionMessage && o(s, t.containerRoleDescriptionMessage), t.containerMessage && c(s, t.containerMessage);
3686                const i = e.$wrapperEl,
3687                    r =
3688                        i.attr("id") ||
3689                        `swiper-wrapper-${(function (e = 16) {
3690                            return "x".repeat(e).replace(/x/g, () => Math.round(16 * Math.random()).toString(16));
3691                        })(16)}`,
3692                    n = e.params.autoplay && e.params.autoplay.enabled ? "off" : "polite";
3693                var p;
3694                (p = r),
3695                    i.attr("id", p),
3696                    (function (e, t) {
3697                        e.attr("aria-live", t);
3698                    })(i, n),
3699                    t.itemRoleDescriptionMessage && o(d(e.slides), t.itemRoleDescriptionMessage),
3700                    l(d(e.slides), t.slideRole);
3701                const u = e.params.loop ? e.slides.filter((t) => !t.classList.contains(e.params.slideDuplicateClass)).length : e.slides.length;
3702                let m, v;
3703                e.slides.each((s, a) => {
3704                    const i = d(s),
3705                        r = e.params.loop ? parseInt(i.attr("data-swiper-slide-index"), 10) : a;
3706                    c(i, t.slideLabelMessage.replace(/\{\{index\}\}/, r + 1).replace(/\{\{slidesLength\}\}/, u));
3707                }),
3708                    e.navigation && e.navigation.$nextEl && (m = e.navigation.$nextEl),
3709                    e.navigation && e.navigation.$prevEl && (v = e.navigation.$prevEl),
3710                    m && m.length && g(m, r, t.nextSlideMessage),
3711                    v && v.length && g(v, r, t.prevSlideMessage),
3712                    f() && e.pagination.$el.on("keydown", W(e.params.pagination.bulletClass), h);
3713            }
3714            s("beforeInit", () => {
3715                a = d(`<span class="${e.params.a11y.notificationClass}" aria-live="assertive" aria-atomic="true"></span>`);
3716            }),
3717                s("afterInit", () => {
3718                    e.params.a11y.enabled && (v(), m());
3719                }),
3720                s("toEdge", () => {
3721                    e.params.a11y.enabled && m();
3722                }),
3723                s("fromEdge", () => {
3724                    e.params.a11y.enabled && m();
3725                }),
3726                s("paginationUpdate", () => {
3727                    e.params.a11y.enabled &&
3728                        (function () {
3729                            const t = e.params.a11y;
3730                            f() &&
3731                                e.pagination.bullets.each((s) => {
3732                                    const a = d(s);
3733                                    r(a), e.params.pagination.renderBullet || (l(a, "button"), c(a, t.paginationBulletMessage.replace(/\{\{index\}\}/, a.index() + 1)));
3734                                });
3735                        })();
3736                }),
3737                s("destroy", () => {
3738                    e.params.a11y.enabled &&
3739                        (function () {
3740                            let t, s;
3741                            a && a.length > 0 && a.remove(),
3742                                e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl),
3743                                e.navigation && e.navigation.$prevEl && (s = e.navigation.$prevEl),
3744                                t && t.off("keydown", h),
3745                                s && s.off("keydown", h),
3746                                f() && e.pagination.$el.off("keydown", W(e.params.pagination.bulletClass), h);
3747                        })();
3748                });
3749        },
3750        function ({ swiper: e, extendParams: t, on: s }) {
3751            t({ history: { enabled: !1, root: "", replaceState: !1, key: "slides" } });
3752            let a = !1,
3753                i = {};
3754            const n = (e) =>
3755                e
3756                    .toString()
3757                    .replace(/\s+/g, "-")
3758                    .replace(/[^\w-]+/g, "")
3759                    .replace(/--+/g, "-")
3760                    .replace(/^-+/, "")
3761                    .replace(/-+$/, ""),
3762                l = (e) => {
3763                    const t = r();
3764                    let s;
3765                    s = e ? new URL(e) : t.location;
3766                    const a = s.pathname
3767                        .slice(1)
3768                        .split("/")
3769                        .filter((e) => "" !== e),
3770                        i = a.length;
3771                    return { key: a[i - 2], value: a[i - 1] };
3772                },
3773                o = (t, s) => {
3774                    const i = r();
3775                    if (!a || !e.params.history.enabled) return;
3776                    let l;
3777                    l = e.params.url ? new URL(e.params.url) : i.location;
3778                    const o = e.slides.eq(s);
3779                    let d = n(o.attr("data-history"));
3780                    if (e.params.history.root.length > 0) {
3781                        let s = e.params.history.root;
3782                        "/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)), (d = `${s}/${t}/${d}`);
3783                    } else l.pathname.includes(t) || (d = `${t}/${d}`);
3784                    const c = i.history.state;
3785                    (c && c.value === d) || (e.params.history.replaceState ? i.history.replaceState({ value: d }, null, d) : i.history.pushState({ value: d }, null, d));
3786                },
3787                d = (t, s, a) => {
3788                    if (s)
3789                        for (let i = 0, r = e.slides.length; i < r; i += 1) {
3790                            const r = e.slides.eq(i);
3791                            if (n(r.attr("data-history")) === s && !r.hasClass(e.params.slideDuplicateClass)) {
3792                                const s = r.index();
3793                                e.slideTo(s, t, a);
3794                            }
3795                        }
3796                    else e.slideTo(0, t, a);
3797                },
3798                c = () => {
3799                    (i = l(e.params.url)), d(e.params.speed, e.paths.value, !1);
3800                };
3801            s("init", () => {
3802                e.params.history.enabled &&
3803                    (() => {
3804                        const t = r();
3805                        if (e.params.history) {
3806                            if (!t.history || !t.history.pushState) return (e.params.history.enabled = !1), void (e.params.hashNavigation.enabled = !0);
3807                            (a = !0), (i = l(e.params.url)), (i.key || i.value) && (d(0, i.value, e.params.runCallbacksOnInit), e.params.history.replaceState || t.addEventListener("popstate", c));
3808                        }
3809                    })();
3810            }),
3811                s("destroy", () => {
3812                    e.params.history.enabled &&
3813                        (() => {
3814                            const t = r();
3815                            e.params.history.replaceState || t.removeEventListener("popstate", c);
3816                        })();
3817                }),
3818                s("transitionEnd _freeModeNoMomentumRelease", () => {
3819                    a && o(e.params.history.key, e.activeIndex);
3820                }),
3821                s("slideChange", () => {
3822                    a && e.params.cssMode && o(e.params.history.key, e.activeIndex);
3823                });
3824        },
3825        function ({ swiper: e, extendParams: t, emit: s, on: i }) {
3826            let n = !1;
3827            const l = a(),
3828                o = r();
3829            t({ hashNavigation: { enabled: !1, replaceState: !1, watchState: !1 } });
3830            const c = () => {
3831                s("hashChange");
3832                const t = l.location.hash.replace("#", "");
3833                if (t !== e.slides.eq(e.activeIndex).attr("data-hash")) {
3834                    const s = e.$wrapperEl.children(`.${e.params.slideClass}[data-hash="${t}"]`).index();
3835                    if (void 0 === s) return;
3836                    e.slideTo(s);
3837                }
3838            },
3839                p = () => {
3840                    if (n && e.params.hashNavigation.enabled)
3841                        if (e.params.hashNavigation.replaceState && o.history && o.history.replaceState) o.history.replaceState(null, null, `#${e.slides.eq(e.activeIndex).attr("data-hash")}` || ""), s("hashSet");
3842                        else {
3843                            const t = e.slides.eq(e.activeIndex),
3844                                a = t.attr("data-hash") || t.attr("data-history");
3845                            (l.location.hash = a || ""), s("hashSet");
3846                        }
3847                };
3848            i("init", () => {
3849                e.params.hashNavigation.enabled &&
3850                    (() => {
3851                        if (!e.params.hashNavigation.enabled || (e.params.history && e.params.history.enabled)) return;
3852                        n = !0;
3853                        const t = l.location.hash.replace("#", "");
3854                        if (t) {
3855                            const s = 0;
3856                            for (let a = 0, i = e.slides.length; a < i; a += 1) {
3857                                const i = e.slides.eq(a);
3858                                if ((i.attr("data-hash") || i.attr("data-history")) === t && !i.hasClass(e.params.slideDuplicateClass)) {
3859                                    const t = i.index();
3860                                    e.slideTo(t, s, e.params.runCallbacksOnInit, !0);
3861                                }
3862                            }
3863                        }
3864                        e.params.hashNavigation.watchState && d(o).on("hashchange", c);
3865                    })();
3866            }),
3867                i("destroy", () => {
3868                    e.params.hashNavigation.enabled && e.params.hashNavigation.watchState && d(o).off("hashchange", c);
3869                }),
3870                i("transitionEnd _freeModeNoMomentumRelease", () => {
3871                    n && p();
3872                }),
3873                i("slideChange", () => {
3874                    n && e.params.cssMode && p();
3875                });
3876        },
3877        function ({ swiper: e, extendParams: t, on: s, emit: i }) {
3878            let r;
3879            function n() {
3880                const t = e.slides.eq(e.activeIndex);
3881                let s = e.params.autoplay.delay;
3882                t.attr("data-swiper-autoplay") && (s = t.attr("data-swiper-autoplay") || e.params.autoplay.delay),
3883                    clearTimeout(r),
3884                    (r = p(() => {
3885                        let t;
3886                        e.params.autoplay.reverseDirection
3887                            ? e.params.loop
3888                                ? (e.loopFix(), (t = e.slidePrev(e.params.speed, !0, !0)), i("autoplay"))
3889                                : e.isBeginning
3890                                    ? e.params.autoplay.stopOnLastSlide
3891                                        ? o()
3892                                        : ((t = e.slideTo(e.slides.length - 1, e.params.speed, !0, !0)), i("autoplay"))
3893                                    : ((t = e.slidePrev(e.params.speed, !0, !0)), i("autoplay"))
3894                            : e.params.loop
3895                                ? (e.loopFix(), (t = e.slideNext(e.params.speed, !0, !0)), i("autoplay"))
3896                                : e.isEnd
3897                                    ? e.params.autoplay.stopOnLastSlide
3898                                        ? o()
3899                                        : ((t = e.slideTo(0, e.params.speed, !0, !0)), i("autoplay"))
3900                                    : ((t = e.slideNext(e.params.speed, !0, !0)), i("autoplay")),
3901                            ((e.params.cssMode && e.autoplay.running) || !1 === t) && n();
3902                    }, s));
3903            }
3904            function l() {
3905                return void 0 === r && !e.autoplay.running && ((e.autoplay.running = !0), i("autoplayStart"), n(), !0);
3906            }
3907            function o() {
3908                return !!e.autoplay.running && void 0 !== r && (r && (clearTimeout(r), (r = void 0)), (e.autoplay.running = !1), i("autoplayStop"), !0);
3909            }
3910            function d(t) {
3911                e.autoplay.running &&
3912                    (e.autoplay.paused ||
3913                        (r && clearTimeout(r),
3914                            (e.autoplay.paused = !0),
3915                            0 !== t && e.params.autoplay.waitForTransition
3916                                ? ["transitionend", "webkitTransitionEnd"].forEach((t) => {
3917                                    e.$wrapperEl[0].addEventListener(t, u);
3918                                })
3919                                : ((e.autoplay.paused = !1), n())));
3920            }
3921            function c() {
3922                const t = a();
3923                "hidden" === t.visibilityState && e.autoplay.running && d(), "visible" === t.visibilityState && e.autoplay.paused && (n(), (e.autoplay.paused = !1));
3924            }
3925            function u(t) {
3926                e &&
3927                    !e.destroyed &&
3928                    e.$wrapperEl &&
3929                    t.target === e.$wrapperEl[0] &&
3930                    (["transitionend", "webkitTransitionEnd"].forEach((t) => {
3931                        e.$wrapperEl[0].removeEventListener(t, u);
3932                    }),
3933                        (e.autoplay.paused = !1),
3934                        e.autoplay.running ? n() : o());
3935            }
3936            function h() {
3937                e.params.autoplay.disableOnInteraction ? o() : d(),
3938                    ["transitionend", "webkitTransitionEnd"].forEach((t) => {
3939                        e.$wrapperEl[0].removeEventListener(t, u);
3940                    });
3941            }
3942            function m() {
3943                e.params.autoplay.disableOnInteraction || ((e.autoplay.paused = !1), n());
3944            }
3945            (e.autoplay = { running: !1, paused: !1 }),
3946                t({ autoplay: { enabled: !1, delay: 3e3, waitForTransition: !0, disableOnInteraction: !0, stopOnLastSlide: !1, reverseDirection: !1, pauseOnMouseEnter: !1 } }),
3947                s("init", () => {
3948                    if (e.params.autoplay.enabled) {
3949                        l();
3950                        a().addEventListener("visibilitychange", c), e.params.autoplay.pauseOnMouseEnter && (e.$el.on("mouseenter", h), e.$el.on("mouseleave", m));
3951                    }
3952                }),
3953                s("beforeTransitionStart", (t, s, a) => {
3954                    e.autoplay.running && (a || !e.params.autoplay.disableOnInteraction ? e.autoplay.pause(s) : o());
3955                }),
3956                s("sliderFirstMove", () => {
3957                    e.autoplay.running && (e.params.autoplay.disableOnInteraction ? o() : d());
3958                }),
3959                s("touchEnd", () => {
3960                    e.params.cssMode && e.autoplay.paused && !e.params.autoplay.disableOnInteraction && n();
3961                }),
3962                s("destroy", () => {
3963                    e.$el.off("mouseenter", h), e.$el.off("mouseleave", m), e.autoplay.running && o();
3964                    a().removeEventListener("visibilitychange", c);
3965                }),
3966                Object.assign(e.autoplay, { pause: d, run: n, start: l, stop: o });
3967        },
3968        function ({ swiper: e, extendParams: t, on: s }) {
3969            t({ thumbs: { swiper: null, multipleActiveThumbs: !0, autoScrollOffset: 0, slideThumbActiveClass: "swiper-slide-thumb-active", thumbsContainerClass: "swiper-thumbs" } });
3970            let a = !1,
3971                i = !1;
3972            function r() {
3973                const t = e.thumbs.swiper;
3974                if (!t) return;
3975                const s = t.clickedIndex,
3976                    a = t.clickedSlide;
3977                if (a && d(a).hasClass(e.params.thumbs.slideThumbActiveClass)) return;
3978                if (null == s) return;
3979                let i;
3980                if (((i = t.params.loop ? parseInt(d(t.clickedSlide).attr("data-swiper-slide-index"), 10) : s), e.params.loop)) {
3981                    let t = e.activeIndex;
3982                    e.slides.eq(t).hasClass(e.params.slideDuplicateClass) && (e.loopFix(), (e._clientLeft = e.$wrapperEl[0].clientLeft), (t = e.activeIndex));
3983                    const s = e.slides.eq(t).prevAll(`[data-swiper-slide-index="${i}"]`).eq(0).index(),
3984                        a = e.slides.eq(t).nextAll(`[data-swiper-slide-index="${i}"]`).eq(0).index();
3985                    i = void 0 === s ? a : void 0 === a ? s : a - t < t - s ? a : s;
3986                }
3987                e.slideTo(i);
3988            }
3989            function n() {
3990                const { thumbs: t } = e.params;
3991                if (a) return !1;
3992                a = !0;
3993                const s = e.constructor;
3994                if (t.swiper instanceof s)
3995                    (e.thumbs.swiper = t.swiper),
3996                        Object.assign(e.thumbs.swiper.originalParams, { watchSlidesProgress: !0, slideToClickedSlide: !1 }),
3997                        Object.assign(e.thumbs.swiper.params, { watchSlidesProgress: !0, slideToClickedSlide: !1 });
3998                else if (m(t.swiper)) {
3999                    const a = Object.assign({}, t.swiper);
4000                    Object.assign(a, { watchSlidesProgress: !0, slideToClickedSlide: !1 }), (e.thumbs.swiper = new s(a)), (i = !0);
4001                }
4002                return e.thumbs.swiper.$el.addClass(e.params.thumbs.thumbsContainerClass), e.thumbs.swiper.on("tap", r), !0;
4003            }
4004            function l(t) {
4005                const s = e.thumbs.swiper;
4006                if (!s) return;
4007                const a = "auto" === s.params.slidesPerView ? s.slidesPerViewDynamic() : s.params.slidesPerView,
4008                    i = e.params.thumbs.autoScrollOffset,
4009                    r = i && !s.params.loop;
4010                if (e.realIndex !== s.realIndex || r) {
4011                    let n,
4012                        l,
4013                        o = s.activeIndex;
4014                    if (s.params.loop) {
4015                        s.slides.eq(o).hasClass(s.params.slideDuplicateClass) && (s.loopFix(), (s._clientLeft = s.$wrapperEl[0].clientLeft), (o = s.activeIndex));
4016                        const t = s.slides.eq(o).prevAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index(),
4017                            a = s.slides.eq(o).nextAll(`[data-swiper-slide-index="${e.realIndex}"]`).eq(0).index();
4018                        (n = void 0 === t ? a : void 0 === a ? t : a - o == o - t ? (s.params.slidesPerGroup > 1 ? a : o) : a - o < o - t ? a : t), (l = e.activeIndex > e.previousIndex ? "next" : "prev");
4019                    } else (n = e.realIndex), (l = n > e.previousIndex ? "next" : "prev");
4020                    r && (n += "next" === l ? i : -1 * i),
4021                        s.visibleSlidesIndexes &&
4022                        s.visibleSlidesIndexes.indexOf(n) < 0 &&
4023                        (s.params.centeredSlides ? (n = n > o ? n - Math.floor(a / 2) + 1 : n + Math.floor(a / 2) - 1) : n > o && s.params.slidesPerGroup, s.slideTo(n, t ? 0 : void 0));
4024                }
4025                let n = 1;
4026                const l = e.params.thumbs.slideThumbActiveClass;
4027                if (
4028                    (e.params.slidesPerView > 1 && !e.params.centeredSlides && (n = e.params.slidesPerView),
4029                        e.params.thumbs.multipleActiveThumbs || (n = 1),
4030                        (n = Math.floor(n)),
4031                        s.slides.removeClass(l),
4032                        s.params.loop || (s.params.virtual && s.params.virtual.enabled))
4033                )
4034                    for (let t = 0; t < n; t += 1) s.$wrapperEl.children(`[data-swiper-slide-index="${e.realIndex + t}"]`).addClass(l);
4035                else for (let t = 0; t < n; t += 1) s.slides.eq(e.realIndex + t).addClass(l);
4036            }
4037            (e.thumbs = { swiper: null }),
4038                s("beforeInit", () => {
4039                    const { thumbs: t } = e.params;
4040                    t && t.swiper && (n(), l(!0));
4041                }),
4042                s("slideChange update resize observerUpdate", () => {
4043                    e.thumbs.swiper && l();
4044                }),
4045                s("setTransition", (t, s) => {
4046                    const a = e.thumbs.swiper;
4047                    a && a.setTransition(s);
4048                }),
4049                s("beforeDestroy", () => {
4050                    const t = e.thumbs.swiper;
4051                    t && i && t && t.destroy();
4052                }),
4053                Object.assign(e.thumbs, { init: n, update: l });
4054        },
4055        function ({ swiper: e, extendParams: t, emit: s, once: a }) {
4056            t({ freeMode: { enabled: !1, momentum: !0, momentumRatio: 1, momentumBounce: !0, momentumBounceRatio: 1, momentumVelocityRatio: 1, sticky: !1, minimumVelocity: 0.02 } }),
4057                Object.assign(e, {
4058                    freeMode: {
4059                        onTouchMove: function () {
4060                            const { touchEventsData: t, touches: s } = e;
4061                            0 === t.velocities.length && t.velocities.push({ position: s[e.isHorizontal() ? "startX" : "startY"], time: t.touchStartTime }),
4062                                t.velocities.push({ position: s[e.isHorizontal() ? "currentX" : "currentY"], time: u() });
4063                        },
4064                        onTouchEnd: function ({ currentPos: t }) {
4065                            const { params: i, $wrapperEl: r, rtlTranslate: n, snapGrid: l, touchEventsData: o } = e,
4066                                d = u() - o.touchStartTime;
4067                            if (t < -e.minTranslate()) e.slideTo(e.activeIndex);
4068                            else if (t > -e.maxTranslate()) e.slides.length < l.length ? e.slideTo(l.length - 1) : e.slideTo(e.slides.length - 1);
4069                            else {
4070                                if (i.freeMode.momentum) {
4071                                    if (o.velocities.length > 1) {
4072                                        const t = o.velocities.pop(),
4073                                            s = o.velocities.pop(),
4074                                            a = t.position - s.position,
4075                                            r = t.time - s.time;
4076                                        (e.velocity = a / r), (e.velocity /= 2), Math.abs(e.velocity) < i.freeMode.minimumVelocity && (e.velocity = 0), (r > 150 || u() - t.time > 300) && (e.velocity = 0);
4077                                    } else e.velocity = 0;
4078                                    (e.velocity *= i.freeMode.momentumVelocityRatio), (o.velocities.length = 0);
4079                                    let t = 1e3 * i.freeMode.momentumRatio;
4080                                    const d = e.velocity * t;
4081                                    let c = e.translate + d;
4082                                    n && (c = -c);
4083                                    let p,
4084                                        h = !1;
4085                                    const m = 20 * Math.abs(e.velocity) * i.freeMode.momentumBounceRatio;
4086                                    let f;
4087                                    if (c < e.maxTranslate())
4088                                        i.freeMode.momentumBounce ? (c + e.maxTranslate() < -m && (c = e.maxTranslate() - m), (p = e.maxTranslate()), (h = !0), (o.allowMomentumBounce = !0)) : (c = e.maxTranslate()),
4089                                            i.loop && i.centeredSlides && (f = !0);
4090                                    else if (c > e.minTranslate())
4091                                        i.freeMode.momentumBounce ? (c - e.minTranslate() > m && (c = e.minTranslate() + m), (p = e.minTranslate()), (h = !0), (o.allowMomentumBounce = !0)) : (c = e.minTranslate()),
4092                                            i.loop && i.centeredSlides && (f = !0);
4093                                    else if (i.freeMode.sticky) {
4094                                        let t;
4095                                        for (let e = 0; e < l.length; e += 1)
4096                                            if (l[e] > -c) {
4097                                                t = e;
4098                                                break;
4099                                            }
4100                                        (c = Math.abs(l[t] - c) < Math.abs(l[t - 1] - c) || "next" === e.swipeDirection ? l[t] : l[t - 1]), (c = -c);
4101                                    }
4102                                    if (
4103                                        (f &&
4104                                            a("transitionEnd", () => {
4105                                                e.loopFix();
4106                                            }),
4107                                            0 !== e.velocity)
4108                                    ) {
4109                                        if (((t = n ? Math.abs((-c - e.translate) / e.velocity) : Math.abs((c - e.translate) / e.velocity)), i.freeMode.sticky)) {
4110                                            const s = Math.abs((n ? -c : c) - e.translate),
4111                                                a = e.slidesSizesGrid[e.activeIndex];
4112                                            t = s < a ? i.speed : s < 2 * a ? 1.5 * i.speed : 2.5 * i.speed;
4113                                        }
4114                                    } else if (i.freeMode.sticky) return void e.slideToClosest();
4115                                    i.freeMode.momentumBounce && h
4116                                        ? (e.updateProgress(p),
4117                                            e.setTransition(t),
4118                                            e.setTranslate(c),
4119                                            e.transitionStart(!0, e.swipeDirection),
4120                                            (e.animating = !0),
4121                                            r.transitionEnd(() => {
4122                                                e &&
4123                                                    !e.destroyed &&
4124                                                    o.allowMomentumBounce &&
4125                                                    (s("momentumBounce"),
4126                                                        e.setTransition(i.speed),
4127                                                        setTimeout(() => {
4128                                                            e.setTranslate(p),
4129                                                                r.transitionEnd(() => {
4130                                                                    e && !e.destroyed && e.transitionEnd();
4131                                                                });
4132                                                        }, 0));
4133                                            }))
4134                                        : e.velocity
4135                                            ? (s("_freeModeNoMomentumRelease"),
4136                                                e.updateProgress(c),
4137                                                e.setTransition(t),
4138                                                e.setTranslate(c),
4139                                                e.transitionStart(!0, e.swipeDirection),
4140                                                e.animating ||
4141                                                ((e.animating = !0),
4142                                                    r.transitionEnd(() => {
4143                                                        e && !e.destroyed && e.transitionEnd();
4144                                                    })))
4145                                            : e.updateProgress(c),
4146                                        e.updateActiveIndex(),
4147                                        e.updateSlidesClasses();
4148                                } else {
4149                                    if (i.freeMode.sticky) return void e.slideToClosest();
4150                                    i.freeMode && s("_freeModeNoMomentumRelease");
4151                                }
4152                                (!i.freeMode.momentum || d >= i.longSwipesMs) && (e.updateProgress(), e.updateActiveIndex(), e.updateSlidesClasses());
4153                            }
4154                        },
4155                    },
4156                });
4157        },
4158        function ({ swiper: e, extendParams: t }) {
4159            let s, a, i;
4160            t({ grid: { rows: 1, fill: "column" } }),
4161                (e.grid = {
4162                    initSlides: (t) => {
4163                        const { slidesPerView: r } = e.params,
4164                            { rows: n, fill: l } = e.params.grid;
4165                        (a = s / n), (i = Math.floor(t / n)), (s = Math.floor(t / n) === t / n ? t : Math.
4165ceil(t / n) * n), "auto" !== r && "row" === l && (s = Math.max(s, r * n));
4166                    },
4167                    updateSlide: (t, r, n, l) => {
4168                        const { slidesPerGroup: o, spaceBetween: d } = e.params,
4169                            { rows: c, fill: p } = e.params.grid;
4170                        let u, h, m;
4171                        if ("row" === p && o > 1) {
4172                            const e = Math.floor(t / (o * c)),
4173                                a = t - c * o * e,
4174                                i = 0 === e ? o : Math.min(Math.ceil((n - e * c * o) / c), o);
4175                            (m = Math.floor(a / i)), (h = a - m * i + e * o), (u = h + (m * s) / c), r.css({ "-webkit-order": u, order: u });
4176                        } else "column" === p ? ((h = Math.floor(t / c)), (m = t - h * c), (h > i || (h === i && m === c - 1)) && ((m += 1), m >= c && ((m = 0), (h += 1)))) : ((m = Math.floor(t / a)), (h = t - m * a));
4177                        r.css(l("margin-top"), 0 !== m ? d && `${d}px` : "");
4178                    },
4179                    updateWrapperSize: (t, a, i) => {
4180                        const { spaceBetween: r, centeredSlides: n, roundLengths: l } = e.params,
4181                            { rows: o } = e.params.grid;
4182                        if (((e.virtualSize = (t + r) * s), (e.virtualSize = Math.ceil(e.virtualSize / o) - r), e.$wrapperEl.css({ [i("width")]: `${e.virtualSize + r}px` }), n)) {
4183                            a.splice(0, a.length);
4184                            const t = [];
4185                            for (let s = 0; s < a.length; s += 1) {
4186                                let i = a[s];
4187                                l && (i = Math.floor(i)), a[s] < e.virtualSize + a[0] && t.push(i);
4188                            }
4189                            a.push(...t);
4190                        }
4191                    },
4192                });
4193        },
4194        function ({ swiper: e }) {
4195            Object.assign(e, { appendSlide: R.bind(e), prependSlide: j.bind(e), addSlide: _.bind(e), removeSlide: V.bind(e), removeAllSlides: q.bind(e) });
4196        },
4197        function ({ swiper: e, extendParams: t, on: s }) {
4198            t({ fadeEffect: { crossFade: !1, transformEl: null } }),
4199                F({
4200                    effect: "fade",
4201                    swiper: e,
4202                    on: s,
4203                    setTranslate: () => {
4204                        const { slides: t } = e,
4205                            s = e.params.fadeEffect;
4206                        for (let a = 0; a < t.length; a += 1) {
4207                            const t = e.slides.eq(a);
4208                            let i = -t[0].swiperSlideOffset;
4209                            e.params.virtualTranslate || (i -= e.translate);
4210                            let r = 0;
4211                            e.isHorizontal() || ((r = i), (i = 0));
4212                            const n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(t[0].progress), 0) : 1 + Math.min(Math.max(t[0].progress, -1), 0);
4213                            U(s, t).css({ opacity: n }).transform(`translate3d(${i}px, ${r}px, 0px)`);
4214                        }
4215                    },
4216                    setTransition: (t) => {
4217                        const { transformEl: s } = e.params.fadeEffect;
4218                        (s ? e.slides.find(s) : e.slides).transition(t), K({ swiper: e, duration: t, transformEl: s, allSlides: !0 });
4219                    },
4220                    overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !e.params.cssMode }),
4221                });
4222        },
4223        function ({ swiper: e, extendParams: t, on: s }) {
4224            t({ cubeEffect: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94 } }),
4225                F({
4226                    effect: "cube",
4227                    swiper: e,
4228                    on: s,
4229                    setTranslate: () => {
4230                        const { $el: t, $wrapperEl: s, slides: a, width: i, height: r, rtlTranslate: n, size: l, browser: o } = e,
4231                            c = e.params.cubeEffect,
4232                            p = e.isHorizontal(),
4233                            u = e.virtual && e.params.virtual.enabled;
4234                        let h,
4235                            m = 0;
4236                        c.shadow &&
4237                            (p
4238                                ? ((h = s.find(".swiper-cube-shadow")), 0 === h.length && ((h = d('<div class="swiper-cube-shadow"></div>')), s.append(h)), h.css({ height: `${i}px` }))
4239                                : ((h = t.find(".swiper-cube-shadow")), 0 === h.length && ((h = d('<div class="swiper-cube-shadow"></div>')), t.append(h))));
4240                        for (let e = 0; e < a.length; e += 1) {
4241                            const t = a.eq(e);
4242                            let s = e;
4243                            u && (s = parseInt(t.attr("data-swiper-slide-index"), 10));
4244                            let i = 90 * s,
4245                                r = Math.floor(i / 360);
4246                            n && ((i = -i), (r = Math.floor(-i / 360)));
4247                            const o = Math.max(Math.min(t[0].progress, 1), -1);
4248                            let h = 0,
4249                                f = 0,
4250                                g = 0;
4251                            s % 4 == 0 ? ((h = 4 * -r * l), (g = 0)) : (s - 1) % 4 == 0 ? ((h = 0), (g = 4 * -r * l)) : (s - 2) % 4 == 0 ? ((h = l + 4 * r * l), (g = l)) : (s - 3) % 4 == 0 && ((h = -l), (g = 3 * l + 4 * l * r)),
4252                                n && (h = -h),
4253                                p || ((f = h), (h = 0));
4254                            const v = `rotateX(${p ? 0 : -i}deg) rotateY(${p ? i : 0}deg) translate3d(${h}px, ${f}px, ${g}px)`;
4255                            if ((o <= 1 && o > -1 && ((m = 90 * s + 90 * o), n && (m = 90 * -s - 90 * o)), t.transform(v), c.slideShadows)) {
4256                                let e = p ? t.find(".swiper-slide-shadow-left") : t.find(".swiper-slide-shadow-top"),
4257                                    s = p ? t.find(".swiper-slide-shadow-right") : t.find(".swiper-slide-shadow-bottom");
4258                                0 === e.length && ((e = d(`<div class="swiper-slide-shadow-${p ? "left" : "top"}"></div>`)), t.append(e)),
4259                                    0 === s.length && ((s = d(`<div class="swiper-slide-shadow-${p ? "right" : "bottom"}"></div>`)), t.append(s)),
4260                                    e.length && (e[0].style.opacity = Math.max(-o, 0)),
4261                                    s.length && (s[0].style.opacity = Math.max(o, 0));
4262                            }
4263                        }
4264                        if ((s.css({ "-webkit-transform-origin": `50% 50% -${l / 2}px`, "transform-origin": `50% 50% -${l / 2}px` }), c.shadow))
4265                            if (p) h.transform(`translate3d(0px, ${i / 2 + c.shadowOffset}px, ${-i / 2}px) rotateX(90deg) rotateZ(0deg) scale(${c.shadowScale})`);
4266                            else {
4267                                const e = Math.abs(m) - 90 * Math.floor(Math.abs(m) / 90),
4268                                    t = 1.5 - (Math.sin((2 * e * Math.PI) / 360) / 2 + Math.cos((2 * e * Math.PI) / 360) / 2),
4269                                    s = c.shadowScale,
4270                                    a = c.shadowScale / t,
4271                                    i = c.shadowOffset;
4272                                h.transform(`scale3d(${s}, 1, ${a}) translate3d(0px, ${r / 2 + i}px, ${-r / 2 / a}px) rotateX(-90deg)`);
4273                            }
4274                        const f = o.isSafari || o.isWebView ? -l / 2 : 0;
4275                        s.transform(`translate3d(0px,0,${f}px) rotateX(${e.isHorizontal() ? 0 : m}deg) rotateY(${e.isHorizontal() ? -m : 0}deg)`);
4276                    },
4277                    setTransition: (t) => {
4278                        const { $el: s, slides: a } = e;
4279                        a.transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),
4280                            e.params.cubeEffect.shadow && !e.isHorizontal() && s.find(".swiper-cube-shadow").transition(t);
4281                    },
4282                    perspective: () => !0,
4283                    overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, resistanceRatio: 0, spaceBetween: 0, centeredSlides: !1, virtualTranslate: !0 }),
4284                });
4285        },
4286        function ({ swiper: e, extendParams: t, on: s }) {
4287            t({ flipEffect: { slideShadows: !0, limitRotation: !0, transformEl: null } }),
4288                F({
4289                    effect: "flip",
4290                    swiper: e,
4291                    on: s,
4292                    setTranslate: () => {
4293                        const { slides: t, rtlTranslate: s } = e,
4294                            a = e.params.flipEffect;
4295                        for (let i = 0; i < t.length; i += 1) {
4296                            const r = t.eq(i);
4297                            let n = r[0].progress;
4298                            e.params.flipEffect.limitRotation && (n = Math.max(Math.min(r[0].progress, 1), -1));
4299                            const l = r[0].swiperSlideOffset;
4300                            let o = -180 * n,
4301                                d = 0,
4302                                c = e.params.cssMode ? -l - e.translate : -l,
4303                                p = 0;
4304                            if ((e.isHorizontal() ? s && (o = -o) : ((p = c), (c = 0), (d = -o), (o = 0)), (r[0].style.zIndex = -Math.abs(Math.round(n)) + t.length), a.slideShadows)) {
4305                                let t = e.isHorizontal() ? r.find(".swiper-slide-shadow-left") : r.find(".swiper-slide-shadow-top"),
4306                                    s = e.isHorizontal() ? r.find(".swiper-slide-shadow-right") : r.find(".swiper-slide-shadow-bottom");
4307                                0 === t.length && (t = Z(a, r, e.isHorizontal() ? "left" : "top")),
4308                                    0 === s.length && (s = Z(a, r, e.isHorizontal() ? "right" : "bottom")),
4309                                    t.length && (t[0].style.opacity = Math.max(-n, 0)),
4310                                    s.length && (s[0].style.opacity = Math.max(n, 0));
4311                            }
4312                            const u = `translate3d(${c}
4312px, ${p}px, 0px) rotateX(${d}deg) rotateY(${o}deg)`;
4313                            U(a, r).transform(u);
4314                        }
4315                    },
4316                    setTransition: (t) => {
4317                        const { transformEl: s } = e.params.flipEffect;
4318                        (s ? e.slides.find(s) : e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t),
4319                            K({ swiper: e, duration: t, transformEl: s });
4320                    },
4321                    perspective: () => !0,
4322                    overwriteParams: () => ({ slidesPerView: 1, slidesPerGroup: 1, watchSlidesProgress: !0, spaceBetween: 0, virtualTranslate: !e.params.cssMode }),
4323                });
4324        },
4325        function ({ swiper: e, extendParams: t, on: s }) {
4326            t({ coverflowEffect: { rotate: 50, stretch: 0, depth: 100, scale: 1, modifier: 1, slideShadows: !0, transformEl: null } }),
4327                F({
4328                    effect: "coverflow",
4329                    swiper: e,
4330                    on: s,
4331                    setTranslate: () => {
4332                        const { width: t, height: s, slides: a, slidesSizesGrid: i } = e,
4333                            r = e.params.coverflowEffect,
4334                            n = e.isHorizontal(),
4335                            l = e.translate,
4336                            o = n ? t / 2 - l : s / 2 - l,
4337                            d = n ? r.rotate : -r.rotate,
4338                            c = r.depth;
4339                        for (let e = 0, t = a.length; e < t; e += 1) {
4340                            const t = a.eq(e),
4341                                s = i[e],
4342                                l = ((o - t[0].swiperSlideOffset - s / 2) / s) * r.modifier;
4343                            let p = n ? d * l : 0,
4344                                u = n ? 0 : d * l,
4345                                h = -c * Math.abs(l),
4346                                m = r.stretch;
4347                            "string" == typeof m && -1 !== m.indexOf("%") && (m = (parseFloat(r.stretch) / 100) * s);
4348                            let f = n ? 0 : m * l,
4349                                g = n ? m * l : 0,
4350                                v = 1 - (1 - r.scale) * Math.abs(l);
4351                            Math.abs(g) < 0.001 && (g = 0), Math.abs(f) < 0.001 && (f = 0), Math.abs(h) < 0.001 && (h = 0), Math.abs(p) < 0.001 && (p = 0), Math.abs(u) < 0.001 && (u = 0), Math.abs(v) < 0.001 && (v = 0);
4352                            const w = `translate3d(${g}px,${f}px,${h}px)  rotateX(${u}deg) rotateY(${p}deg) scale(${v})`;
4353                            if ((U(r, t).transform(w), (t[0].style.zIndex = 1 - Math.abs(Math.round(l))), r.slideShadows)) {
4354                                let e = n ? t.find(".swiper-slide-shadow-left") : t.find(".swiper-slide-shadow-top"),
4355                                    s = n ? t.find(".swiper-slide-shadow-right") : t.find(".swiper-slide-shadow-bottom");
4356                                0 === e.length && (e = Z(r, t, n ? "left" : "top")),
4357                                    0 === s.length && (s = Z(r, t, n ? "right" : "bottom")),
4358                                    e.length && (e[0].style.opacity = l > 0 ? l : 0),
4359                                    s.length && (s[0].style.opacity = -l > 0 ? -l : 0);
4360                            }
4361                        }
4362                    },
4363                    setTransition: (t) => {
4364                        const { transformEl: s } = e.params.coverflowEffect;
4365                        (s ? e.slides.find(s) : e.slides).transition(t).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(t);
4366                    },
4367                    perspective: () => !0,
4368                    overwriteParams: () => ({ watchSlidesProgress: !0 }),
4369                });
4370        },
4371        function ({ swiper: e, extendParams: t, on: s }) {
4372            t({
4373                creativeEffect: {
4374                    transformEl: null,
4375                    limitProgress: 1,
4376                    shadowPerProgress: !1,
4377                    progressMultiplier: 1,
4378                    perspective: !0,
4379                    prev: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 },
4380                    next: { translate: [0, 0, 0], rotate: [0, 0, 0], opacity: 1, scale: 1 },
4381                },
4382            });
4383            const a = (e) => ("string" == typeof e ? e : `${e}px`);
4384            F({
4385                effect: "creative",
4386                swiper: e,
4387                on: s,
4388                setTranslate: () => {
4389                    const { slides: t, $wrapperEl: s, slidesSizesGrid: i } = e,
4390                        r = e.params.creativeEffect,
4391                        { progressMultiplier: n } = r,
4392                        l = e.params.centeredSlides;
4393                    if (l) {
4394                        const t = i[0] / 2 - e.params.slidesOffsetBefore || 0;
4395                        s.transform(`translateX(calc(50% - ${t}px))`);
4396                    }
4397                    for (let s = 0; s < t.length; s += 1) {
4398                        const i = t.eq(s),
4399                            o = i[0].progress,
4400                            d = Math.min(Math.max(i[0].progress, -r.limitProgress), r.limitProgress);
4401                        let c = d;
4402                        l || (c = Math.min(Math.max(i[0].originalProgress, -r.limitProgress), r.limitProgress));
4403                        const p = i[0].swiperSlideOffset,
4404                            u = [e.params.cssMode ? -p - e.translate : -p, 0, 0],
4405                            h = [0, 0, 0];
4406                        let m = !1;
4407                        e.isHorizontal() || ((u[1] = u[0]), (u[0] = 0));
4408                        let f = { translate: [0, 0, 0], rotate: [0, 0, 0], scale: 1, opacity: 1 };
4409                        d < 0 ? ((f = r.next), (m = !0)) : d > 0 && ((f = r.prev), (m = !0)),
4410                            u.forEach((e, t) => {
4411                                u[t] = `calc(${e}px + (${a(f.translate[t])} * ${Math.abs(d * n)}))`;
4412                            }),
4413                            h.forEach((e, t) => {
4414                                h[t] = f.rotate[t] * Math.abs(d * n);
4415                            }),
4416                            (i[0].style.zIndex = -Math.abs(Math.round(o)) + t.length);
4417                        const g = u.join(", "),
4418                            v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,
4419                            w = c < 0 ? `scale(${1 + (1 - f.scale) * c * n})` : `scale(${1 - (1 - f.scale) * c * n})`,
4420                            b = c < 0 ? 1 + (1 - f.opacity) * c * n : 1 - (1 - f.opacity) * c * n,
4421                            x = `translate3d(${g}) ${v} ${w}`;
4422                        if ((m && f.shadow) || !m) {
4423                            let e = i.children(".swiper-slide-shadow");
4424                            if ((0 === e.length && f.shadow && (e = Z(r, i)), e.length)) {
4425                                const t = r.shadowPerProgress ? d * (1 / r.limitProgress) : d;
4426                                e[0].style.opacity = Math.min(Math.max(Math.abs(t), 0), 1);
4427                            }
4428                        }
4429                        const y = U(r, i);
4430                        y.transform(x).css({ opacity: b }), f.origin && y.css("transform-origin", f.origin);
4431                    }
4432                },
4433                setTransition: (t) => {
4434                    const { transformEl: s } = e.params.creativeEffect;
4435                    (s ? e.slides.find(s) : e.slides).transition(t).find(".swiper-slide-shadow").transition(t), K({ swiper: e, duration: t, transformEl: s, allSlides: !0 });
4436                },
4437                perspective: () => e.params.creativeEffect.perspective,
4438                overwriteParams: () => ({ watchSlidesProgress: !0, virtualTranslate: !e.params.cssMode }),
4439            });
4440        },
4441        function ({ swiper: e, extendParams: t, on: s }) {
4442            t({ cardsEffect: { slideShadows: !0, transformEl: null } }),
4443                F({
4444                    effect: "cards",
4445                    swiper: e,
4446                    on: s,
4447                    setTranslate: () => {
4448                        const { slides: t, activeIndex: s } = e,
4449                            a = e.params.cardsEffect,
4450                            { startTranslate: i, isTouched: r } = e.touchEventsData,
4451                            n = e.translate;
4452                        for (let l = 0; l < t.length; l += 1) {
4453                            const o = t.eq(l),
4454                                d = o[0].progress,
4455                                c = Math.min(Math.max(d, -4), 4);
4456                            let p = o[0].swiperSlideOffset;
4457                            e.params.centeredSlides && !e.params.cssMode && e.$wrapperEl.transform(`translateX(${e.minTranslate()}px)`), e.params.centeredSlides && e.params.cssMode && (p -= t[0].swiperSlideOffset);
4458                            let u = e.params.cssMode ? -p - e.translate : -p,
4459                                h = 0;
4460                            const m = -100 * Math.abs(c);
4461                            let f = 1,
4462                                g = -2 * c,
4463                                v = 8 - 0.75 * Math.abs(c);
4464                            const w = (l === s || l === s - 1) && c > 0 && c < 1 && (r || e.params.cssMode) && n < i,
4465                                b = (l === s || l === s + 1) && c < 0 && c > -1 && (r || e.params.cssMode) && n > i;
4466                            if (w || b) {
4467                                const e = (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) ** 0.5;
4468                                (g += -28 * c * e), (f += -0.5 * e), (v += 96 * e), (h = -25 * e * Math.abs(c) + "%");
4469                            }
4470                            if (((u = c < 0 ? `calc(${u}px + (${v * Math.abs(c)}%))` : c > 0 ? `calc(${u}px + (-${v * Math.abs(c)}%))` : `${u}px`), !e.isHorizontal())) {
4471                                const e = h;
4472                                (h = u), (u = e);
4473                            }
4474                            const x = `\n        translate3d(${u}, ${h}, ${m}px)\n        rotateZ(${g}deg)\n        scale(${c < 0 ? "" + (1 + (1 - f) * c) : "" + (1 - (1 - f) * c)})\n      `;
4475                            if (a.slideShadows) {
4476                                let e = o.find(".swiper-slide-shadow");
4477                                0 === e.length && (e = Z(a, o)), e.length && (e[0].style.opacity = Math.min(Math.max((Math.abs(c) - 0.5) / 0.5, 0), 1));
4478                            }
4479                            o[0].style.zIndex = -Math.abs(Math.round(d)) + t.length;
4480                            U(a, o).transform(x);
4481                        }
4482                    },
4483                    setTransition: (t) => {
4484                        const { transformEl: s } = e.params.cardsEffect;
4485                        (s ? e.slides.find(s) : e.slides).transition(t).find(".swiper-slide-shadow").transition(t), K({ swiper: e, duration: t, transformEl: s });
4486                    },
4487                    perspective: () => !0,
4488                    overwriteParams: () => ({ watchSlidesProgress: !0, virtualTranslate: !e.params.cssMode }),
4489                });
4490        },
4491    ];
4492    return H.use(J), H;
4493});

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.