!(function (e, t) {
"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());
})(this, function () {
"use strict";
function e(e) {
return (
null !== e &&
"object" == typeof e &&
"constructor" in e &&
e.constructor === object
);
}
function t(s, a) {
void 0 === s && (s = {}),
void 0 === a && (a = {}),
object.keys(a).foreach((i) => {
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]);
});
}
const s = {
body: {},
addeventlistener() {},
removeeventlistener() {},
activeelement: { blur() {}, nodename: "" },
queryselector: () => null,
queryselectorall: () => [],
getelementbyid: () => null,
createevent: () => ({ initevent() {} }),
createelement: () => ({
children: [],
childnodes: [],
style: {},
setattribute() {},
getelementsbytagname: () => []
}),
createelementns: () => ({}),
importnode: () => null,
location: {
hash: "",
host: "",
hostname: "",
href: "",
origin: "",
pathname: "",
protocol: "",
search: ""
}
};
function a() {
const e = "undefined" != typeof document ? document : {};
return t(e, s), e;
}
const i = {
document: s,
navigator: { useragent: "" },
location: {
hash: "",
host: "",
hostname: "",
href: "",
origin: "",
pathname: "",
protocol: "",
search: ""
},
history: { replacestate() {}, pushstate() {}, go() {}, back() {} },
customevent: function () {
return this;
},
addeventlistener() {},
removeeventlistener() {},
getcomputedstyle: () => ({ getpropertyvalue: () => "" }),
image() {},
date() {},
screen: {},
settimeout() {},
cleartimeout() {},
matchmedia: () => ({}),
requestanimationframe: (e) =>
"undefined" == typeof settimeout ? (e(), null) : settimeout(e, 0),
cancelanimationframe(e) {
"undefined" != typeof settimeout && cleartimeout(e);
}
};
function r() {
const e = "undefined" != typeof window ? window : {};
return t(e, i), e;
}
class n extends array {
constructor(e) {
"number" == typeof e
? super(e)
: (super(...(e || [])),
(function (e) {
const t = e.__proto__;
object.defineproperty(e, "__proto__", {
get: () => t,
set(e) {
t.__proto__ = e;
}
});
})(this));
}
}
function l(e) {
void 0 === e && (e = []);
const t = [];
return (
e.foreach((e) => {
array.isarray(e) ? t.push(...l(e)) : t.push(e);
}),
t
);
}
function o(e, t) {
return array.prototype.filter.call(e, t);
}
function d(e, t) {
const s = r(),
i = a();
let l = [];
if (!t && e instanceof n) return e;
if (!e) return new n(l);
if ("string" == typeof e) {
const s = e.trim();
if (s.indexof("<") >= 0 && s.indexof(">") >= 0) {
let e = "div";
0 === s.indexof("
e.split(" ")));
return (
this.foreach((e) => {
e.classlist.add(...a);
}),
this
);
},
removeclass: function () {
for (var e = arguments.length, t = new array(e), s = 0; s < e; s++)
t[s] = arguments[s];
const a = l(t.map((e) => e.split(" ")));
return (
this.foreach((e) => {
e.classlist.remove(...a);
}),
this
);
},
hasclass: function () {
for (var e = arguments.length, t = new array(e), s = 0; s < e; s++)
t[s] = arguments[s];
const a = l(t.map((e) => e.split(" ")));
return (
o(this, (e) => a.filter((t) => e.classlist.contains(t)).length > 0)
.length > 0
);
},
toggleclass: function () {
for (var e = arguments.length, t = new array(e), s = 0; s < e; s++)
t[s] = arguments[s];
const a = l(t.map((e) => e.split(" ")));
this.foreach((e) => {
a.foreach((t) => {
e.classlist.toggle(t);
});
});
},
attr: function (e, t) {
if (1 === arguments.length && "string" == typeof e)
return this[0] ? this[0].getattribute(e) : void 0;
for (let s = 0; s < this.length; s += 1)
if (2 === arguments.length) this[s].setattribute(e, t);
else
for (const t in e) (this[s][t] = e[t]), this[s].setattribute(t, e[t]);
return this;
},
removeattr: function (e) {
for (let t = 0; t < this.length; t += 1) this[t].removeattribute(e);
return this;
},
transform: function (e) {
for (let t = 0; t < this.length; t += 1) this[t].style.transform = e;
return this;
},
transition: function (e) {
for (let t = 0; t < this.length; t += 1)
this[t].style.transitionduration = "string" != typeof e ? `${e}ms` : e;
return this;
},
on: function () {
for (var e = arguments.length, t = new array(e), s = 0; s < e; s++)
t[s] = arguments[s];
let [a, i, r, n] = t;
function l(e) {
const t = e.target;
if (!t) return;
const s = e.target.dom7eventdata || [];
if ((s.indexof(e) < 0 && s.unshift(e), d(t).is(i))) r.apply(t, s);
else {
const e = d(t).parents();
for (let t = 0; t < e.length; t += 1)
d(e[t]).is(i) && r.apply(e[t], s);
}
}
function o(e) {
const t = (e && e.target && e.target.dom7eventdata) || [];
t.indexof(e) < 0 && t.unshift(e), r.apply(this, t);
}
"function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
n || (n = !1);
const c = a.split(" ");
let p;
for (let e = 0; e < this.length; e += 1) {
const t = this[e];
if (i)
for (p = 0; p < c.length; p += 1) {
const e = c[p];
t.dom7livelisteners || (t.dom7livelisteners = {}),
t.dom7livelisteners[e] || (t.dom7livelisteners[e] = []),
t.dom7livelisteners[e].push({ listener: r, proxylistener: l }),
t.addeventlistener(e, l, n);
}
else
for (p = 0; p < c.length; p += 1) {
const e = c[p];
t.dom7listeners || (t.dom7listeners = {}),
t.dom7listeners[e] || (t.dom7listeners[e] = []),
t.dom7listeners[e].push({ listener: r, proxylistener: o }),
t.addeventlistener(e, o, n);
}
}
return this;
},
off: function () {
for (var e = arguments.length, t = new array(e), s = 0; s < e; s++)
t[s] = arguments[s];
let [a, i, r, n] = t;
"function" == typeof t[1] && (([a, r, n] = t), (i = void 0)),
n || (n = !1);
const l = a.split(" ");
for (let e = 0; e < l.length; e += 1) {
const t = l[e];
for (let e = 0; e < this.length; e += 1) {
const s = this[e];
let a;
if (
(!i && s.dom7listeners
? (a = s.dom7listeners[t])
: i && s.dom7livelisteners && (a = s.dom7livelisteners[t]),
a && a.length)
)
for (let e = a.length - 1; e >= 0; e -= 1) {
const i = a[e];
(r && i.listener === r) ||
(r &&
i.listener &&
i.listener.dom7proxy &&
i.listener.dom7proxy === r)
? (s.removeeventlistener(t, i.proxylistener, n), a.splice(e, 1))
: r ||
(s.removeeventlistener(t, i.proxylistener, n),
a.splice(e, 1));
}
}
}
return this;
},
trigger: function () {
const e = r();
for (var t = arguments.length, s = new array(t), a = 0; a < t; a++)
s[a] = arguments[a];
const i = s[0].split(" "),
n = s[1];
for (let t = 0; t < i.length; t += 1) {
const a = i[t];
for (let t = 0; t < this.length; t += 1) {
const i = this[t];
if (e.customevent) {
const t = new e.customevent(a, {
detail: n,
bubbles: !0,
cancelable: !0
});
(i.dom7eventdata = s.filter((e, t) => t > 0)),
i.dispatchevent(t),
(i.dom7eventdata = []),
delete i.dom7eventdata;
}
}
}
return this;
},
transitionend: function (e) {
const t = this;
return (
e &&
t.on("transitionend", function s(a) {
a.target === this && (e.call(this, a), t.off("transitionend", s));
}),
this
);
},
outerwidth: function (e) {
if (this.length > 0) {
if (e) {
const e = this.styles();
return (
this[0].offsetwidth +
parsefloat(e.getpropertyvalue("margin-right")) +
parsefloat(e.getpropertyvalue("margin-left"))
);
}
return this[0].offsetwidth;
}
return null;
},
outerheight: function (e) {
if (this.length > 0) {
if (e) {
const e = this.styles();
return (
this[0].offsetheight +
parsefloat(e.getpropertyvalue("margin-top")) +
parsefloat(e.getpropertyvalue("margin-bottom"))
);
}
return this[0].offsetheight;
}
return null;
},
styles: function () {
const e = r();
return this[0] ? e.getcomputedstyle(this[0], null) : {};
},
offset: function () {
if (this.length > 0) {
const e = r(),
t = a(),
s = this[0],
i = s.getboundingclientrect(),
n = t.body,
l = s.clienttop || n.clienttop || 0,
o = s.clientleft || n.clientleft || 0,
d = s === e ? e.scrolly : s.scrolltop,
c = s === e ? e.scrollx : s.scrollleft;
return { top: i.top + d - l, left: i.left + c - o };
}
return null;
},
css: function (e, t) {
const s = r();
let a;
if (1 === arguments.length) {
if ("string" != typeof e) {
for (a = 0; a < this.length; a += 1)
for (const t in e) this[a].style[t] = e[t];
return this;
}
if (this[0])
return s.getcomputedstyle(this[0], null).getpropertyvalue(e);
}
if (2 === arguments.length && "string" == typeof e) {
for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
return this;
}
return this;
},
each: function (e) {
return e
? (this.foreach((t, s) => {
e.apply(t, [t, s]);
}),
this)
: this;
},
html: function (e) {
if (void 0 === e) return this[0] ? this[0].innerhtml : null;
for (let t = 0; t < this.length; t += 1) this[t].innerhtml = e;
return this;
},
text: function (e) {
if (void 0 === e) return this[0] ? this[0].textcontent.trim() : null;
for (let t = 0; t < this.length; t += 1) this[t].textcontent = e;
return this;
},
is: function (e) {
const t = r(),
s = a(),
i = this[0];
let l, o;
if (!i || void 0 === e) return !1;
if ("string" == typeof e) {
if (i.matches) return i.matches(e);
if (i.webkitmatchesselector) return i.webkitmatchesselector(e);
if (i.msmatchesselector) return i.msmatchesselector(e);
for (l = d(e), o = 0; o < l.length; o += 1) if (l[o] === i) return !0;
return !1;
}
if (e === s) return i === s;
if (e === t) return i === t;
if (e.nodetype || e instanceof n) {
for (l = e.nodetype ? [e] : e, o = 0; o < l.length; o += 1)
if (l[o] === i) return !0;
return !1;
}
return !1;
},
index: function () {
let e,
t = this[0];
if (t) {
for (e = 0; null !== (t = t.previoussibling); )
1 === t.nodetype && (e += 1);
return e;
}
},
eq: function (e) {
if (void 0 === e) return this;
const t = this.length;
if (e > t - 1) return d([]);
if (e < 0) {
const s = t + e;
return d(s < 0 ? [] : [this[s]]);
}
return d([this[e]]);
},
append: function () {
let e;
const t = a();
for (let s = 0; s < arguments.length; s += 1) {
e = s < 0 || arguments.length <= s ? void 0 : arguments[s];
for (let s = 0; s < this.length; s += 1)
if ("string" == typeof e) {
const a = t.createelement("div");
for (a.innerhtml = e; a.firstchild; )
this[s].appendchild(a.firstchild);
} else if (e instanceof n)
for (let t = 0; t < e.length; t += 1) this[s].appendchild(e[t]);
else this[s].appendchild(e);
}
return this;
},
prepend: function (e) {
const t = a();
let s, i;
for (s = 0; s < this.length; s += 1)
if ("string" == typeof e) {
const a = t.createelement("div");
for (a.innerhtml = e, i = a.childnodes.length - 1; i >= 0; i -= 1)
this[s].insertbefore(a.childnodes[i], this[s].childnodes[0]);
} else if (e instanceof n)
for (i = 0; i < e.length; i += 1)
this[s].insertbefore(e[i], this[s].childnodes[0]);
else this[s].insertbefore(e, this[s].childnodes[0]);
return this;
},
next: function (e) {
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([]);
},
nextall: function (e) {
const t = [];
let s = this[0];
if (!s) return d([]);
for (; s.nextelementsibling; ) {
const a = s.nextelementsibling;
e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
}
return d(t);
},
prev: function (e) {
if (this.length > 0) {
const t = this[0];
return e
? t.previouselementsibling && d(t.previouselementsibling).is(e)
? d([t.previouselementsibling])
: d([])
: t.previouselementsibling
? d([t.previouselementsibling])
: d([]);
}
return d([]);
},
prevall: function (e) {
const t = [];
let s = this[0];
if (!s) return d([]);
for (; s.previouselementsibling; ) {
const a = s.previouselementsibling;
e ? d(a).is(e) && t.push(a) : t.push(a), (s = a);
}
return d(t);
},
parent: function (e) {
const t = [];
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));
return d(t);
},
parents: function (e) {
const t = [];
for (let s = 0; s < this.length; s += 1) {
let a = this[s].parentnode;
for (; a; ) e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentnode);
}
return d(t);
},
closest: function (e) {
let t = this;
return void 0 === e ? d([]) : (t.is(e) || (t = t.parents(e).eq(0)), t);
},
find: function (e) {
const t = [];
for (let s = 0; s < this.length; s += 1) {
const a = this[s].queryselectorall(e);
for (let e = 0; e < a.length; e += 1) t.push(a[e]);
}
return d(t);
},
children: function (e) {
const t = [];
for (let s = 0; s < this.length; s += 1) {
const a = this[s].children;
for (let s = 0; s < a.length; s += 1)
(e && !d(a[s]).is(e)) || t.push(a[s]);
}
return d(t);
},
filter: function (e) {
return d(o(this, e));
},
remove: function () {
for (let e = 0; e < this.length; e += 1)
this[e].parentnode && this[e].parentnode.removechild(this[e]);
return this;
}
};
function p(e, t) {
return void 0 === t && (t = 0), settimeout(e, t);
}
function u() {
return date.now();
}
function h(e, t) {
void 0 === t && (t = "x");
const s = r();
let a, i, n;
const l = (function (e) {
const t = r();
let s;
return (
t.getcomputedstyle && (s = t.getcomputedstyle(e, null)),
!s && e.currentstyle && (s = e.currentstyle),
s || (s = e.style),
s
);
})(e);
return (
s.webkitcssmatrix
? ((i = l.transform || l.webkittransform),
i.split(",").length > 6 &&
(i = i
.split(", ")
.map((e) => e.replace(",", "."))
.join(", ")),
(n = new s.webkitcssmatrix("none" === i ? "" : i)))
: ((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(","))),
"x" === t &&
(i = s.webkitcssmatrix
? n.m41
: 16 === a.length
? parsefloat(a[12])
: parsefloat(a[4])),
"y" === t &&
(i = s.webkitcssmatrix
? n.m42
: 16 === a.length
? parsefloat(a[13])
: parsefloat(a[5])),
i || 0
);
}
function m(e) {
return (
"object" == typeof e &&
null !== e &&
e.constructor &&
"object" === object.prototype.tostring.call(e).slice(8, -1)
);
}
function f(e) {
return "undefined" != typeof window && void 0 !== window.htmlelement
? e instanceof htmlelement
: e && (1 === e.nodetype || 11 === e.nodetype);
}
function g() {
const e = object(arguments.length <= 0 ? void 0 : arguments[0]),
t = ["__proto__", "constructor", "prototype"];
for (let s = 1; s < arguments.length; s += 1) {
const a = s < 0 || arguments.length <= s ? void 0 : arguments[s];
if (null != a && !f(a)) {
const s = object.keys(object(a)).filter((e) => t.indexof(e) < 0);
for (let t = 0, i = s.length; t < i; t += 1) {
const i = s[t],
r = object.getownpropertydescriptor(a, i);
void 0 !== r &&
r.enumerable &&
(m(e[i]) && m(a[i])
? a[i].__swiper__
? (e[i] = a[i])
: g(e[i], a[i])
: !m(e[i]) && m(a[i])
? ((e[i] = {}), a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i]))
: (e[i] = a[i]));
}
}
}
return e;
}
function v(e, t, s) {
e.style.setproperty(t, s);
}
function w(e) {
let { swiper: t, targetposition: s, side: a } = e;
const i = r(),
n = -t.translate;
let l,
o = null;
const d = t.params.speed;
(t.wrapperel.style.scrollsnaptype = "none"),
i.cancelanimationframe(t.cssmodeframeid);
const c = s > n ? "next" : "prev",
p = (e, t) => ("next" === c && e >= t) || ("prev" === c && e <= t),
u = () => {
(l = new date().gettime()), null === o && (o = l);
const e = math.max(math.min((l - o) / d, 1), 0),
r = 0.5 - math.cos(e * math.pi) / 2;
let c = n + r * (s - n);
if ((p(c, s) && (c = s), t.wrapperel.scrollto({ [a]: c }), p(c, s)))
return (
(t.wrapperel.style.overflow = "hidden"),
(t.wrapperel.style.scrollsnaptype = ""),
settimeout(() => {
(t.wrapperel.style.overflow = ""),
t.wrapperel.scrollto({ [a]: c });
}),
void i.cancelanimationframe(t.cssmodeframeid)
);
t.cssmodeframeid = i.requestanimationframe(u);
};
u();
}
let b, x, y;
function e() {
return (
b ||
(b = (function () {
const e = r(),
t = a();
return {
smoothscroll:
t.documentelement && "scrollbehavior" in t.documentelement.style,
touch: !!(
"ontouchstart" in e ||
(e.documenttouch && t instanceof e.documenttouch)
),
passivelistener: (function () {
let t = !1;
try {
const s = object.defineproperty({}, "passive", {
get() {
t = !0;
}
});
e.addeventlistener("testpassivelistener", null, s);
} catch (e) {}
return t;
})(),
gestures: "ongesturestart" in e
};
})()),
b
);
}
function c(e) {
return (
void 0 === e && (e = {}),
x ||
(x = (function (e) {
let { useragent: t } = void 0 === e ? {} : e;
const s = e(),
a = r(),
i = a.navigator.platform,
n = t || a.navigator.useragent,
l = { ios: !1, android: !1 },
o = a.screen.width,
d = a.screen.height,
c = n.match(/(android);?[\s\/]+([\d.]+)?/);
let p = n.match(/(ipad).*os\s([\d_]+)/);
const u = n.match(/(ipod)(.*os\s([\d_]+))?/),
h = !p && n.match(/(iphone\sos|ios)\s([\d_]+)/),
m = "win32" === i;
let f = "macintel" === i;
return (
!p &&
f &&
s.touch &&
[
"1024x1366",
"1366x1024",
"834x1194",
"1194x834",
"834x1112",
"1112x834",
"768x1024",
"1024x768",
"820x1180",
"1180x820",
"810x1080",
"1080x810"
].indexof(`${o}x${d}`) >= 0 &&
((p = n.match(/(version)\/([\d.]+)/)),
p || (p = [0, 1, "13_0_0"]),
(f = !1)),
c && !m && ((l.os = "android"), (l.android = !0)),
(p || h || u) && ((l.os = "ios"), (l.ios = !0)),
l
);
})(e)),
x
);
}
function t() {
return (
y ||
(y = (function () {
const e = r();
return {
issafari: (function () {
const t = e.navigator.useragent.tolowercase();
return (
t.indexof("safari") >= 0 &&
t.indexof("chrome") < 0 &&
t.indexof("android") < 0
);
})(),
iswebview: /(iphone|ipod|ipad).*applewebkit(?!.*safari)/i.test(
e.navigator.useragent
)
};
})()),
y
);
}
object.keys(c).foreach((e) => {
object.defineproperty(d.fn, e, { value: c[e], writable: !0 });
});
var $ = {
on(e, t, s) {
const a = this;
if (!a.eventslisteners || a.destroyed) return a;
if ("function" != typeof t) return a;
const i = s ? "unshift" : "push";
return (
e.split(" ").foreach((e) => {
a.eventslisteners[e] || (a.eventslisteners[e] = []),
a.eventslisteners[e][i](t);
}),
a
);
},
once(e, t, s) {
const a = this;
if (!a.eventslisteners || a.destroyed) return a;
if ("function" != typeof t) return a;
function i() {
a.off(e, i), i.__emitterproxy && delete i.__emitterproxy;
for (var s = arguments.length, r = new array(s), n = 0; n < s; n++)
r[n] = arguments[n];
t.apply(a, r);
}
return (i.__emitterproxy = t), a.on(e, i, s);
},
onany(e, t) {
const s = this;
if (!s.eventslisteners || s.destroyed) return s;
if ("function" != typeof e) return s;
const a = t ? "unshift" : "push";
return (
s.eventsanylisteners.indexof(e) < 0 && s.eventsanylisteners[a](e), s
);
},
offany(e) {
const t = this;
if (!t.eventslisteners || t.destroyed) return t;
if (!t.eventsanylisteners) return t;
const s = t.eventsanylisteners.indexof(e);
return s >= 0 && t.eventsanylisteners.splice(s, 1), t;
},
off(e, t) {
const s = this;
return !s.eventslisteners || s.destroyed
? s
: s.eventslisteners
? (e.split(" ").foreach((e) => {
void 0 === t
? (s.eventslisteners[e] = [])
: s.eventslisteners[e] &&
s.eventslisteners[e].foreach((a, i) => {
(a === t || (a.__emitterproxy && a.__emitterproxy === t)) &&
s.eventslisteners[e].splice(i, 1);
});
}),
s)
: s;
},
emit() {
const e = this;
if (!e.eventslisteners || e.destroyed) return e;
if (!e.eventslisteners) return e;
let t, s, a;
for (var i = arguments.length, r = new array(i), n = 0; n < i; n++)
r[n] = arguments[n];
"string" == typeof r[0] || array.isarray(r[0])
? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))
: ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),
s.unshift(a);
return (
(array.isarray(t) ? t : t.split(" ")).foreach((t) => {
e.eventsanylisteners &&
e.eventsanylisteners.length &&
e.eventsanylisteners.foreach((e) => {
e.apply(a, [t, ...s]);
}),
e.eventslisteners &&
e.eventslisteners[t] &&
e.eventslisteners[t].foreach((e) => {
e.apply(a, s);
});
}),
e
);
}
};
var s = {
updatesize: function () {
const e = this;
let t, s;
const a = e.$el;
(t =
void 0 !== e.params.width && null !== e.params.width
? e.params.width
: a[0].clientwidth),
(s =
void 0 !== e.params.height && null !== e.params.height
? e.params.height
: a[0].clientheight),
(0 === t && e.ishorizontal()) ||
(0 === s && e.isvertical()) ||
((t =
t -
parseint(a.css("padding-left") || 0, 10) -
parseint(a.css("padding-right") || 0, 10)),
(s =
s -
parseint(a.css("padding-top") || 0, 10) -
parseint(a.css("padding-bottom") || 0, 10)),
number.isnan(t) && (t = 0),
number.isnan(s) && (s = 0),
object.assign(e, {
width: t,
height: s,
size: e.ishorizontal() ? t : s
}));
},
updateslides: function () {
const e = this;
function t(t) {
return e.ishorizontal()
? t
: {
width: "height",
"margin-top": "margin-left",
"margin-bottom ": "margin-right",
"margin-left": "margin-top",
"margin-right": "margin-bottom",
"padding-left": "padding-top",
"padding-right": "padding-bottom",
marginright: "marginbottom"
}[t];
}
function s(e, s) {
return parsefloat(e.getpropertyvalue(t(s)) || 0);
}
const a = e.params,
{ $wrapperel: i, size: r, rtltranslate: n, wrongrtl: l } = e,
o = e.virtual && a.virtual.enabled,
d = o ? e.virtual.slides.length : e.slides.length,
c = i.children(`.${e.params.slideclass}`),
p = o ? e.virtual.slides.length : c.length;
let u = [];
const h = [],
m = [];
let f = a.slidesoffsetbefore;
"function" == typeof f && (f = a.slidesoffsetbefore.call(e));
let g = a.slidesoffsetafter;
"function" == typeof g && (g = a.slidesoffsetafter.call(e));
const w = e.snapgrid.length,
b = e.slidesgrid.length;
let x = a.spacebetween,
y = -f,
e = 0,
c = 0;
if (void 0 === r) return;
"string" == typeof x &&
x.indexof("%") >= 0 &&
(x = (parsefloat(x.replace("%", "")) / 100) * r),
(e.virtualsize = -x),
n
? c.css({ marginleft: "", marginbottom: "", margintop: "" })
: c.css({ marginright: "", marginbottom: "", margintop: "" }),
a.centeredslides &&
a.cssmode &&
(v(e.wrapperel, "--swiper-centered-offset-before", ""),
v(e.wrapperel, "--swiper-centered-offset-after", ""));
const t = a.grid && a.grid.rows > 1 && e.grid;
let $;
t && e.grid.initslides(p);
const s =
"auto" === a.slidesperview &&
a.breakpoints &&
object.keys(a.breakpoints).filter(
(e) => void 0 !== a.breakpoints[e].slidesperview
).length > 0;
for (let i = 0; i < p; i += 1) {
$ = 0;
const n = c.eq(i);
if (
(t && e.grid.updateslide(i, n, p, t), "none" !== n.css("display"))
) {
if ("auto" === a.slidesperview) {
s && (c[i].style[t("width")] = "");
const r = getcomputedstyle(n[0]),
l = n[0].style.transform,
o = n[0].style.webkittransform;
if (
(l && (n[0].style.transform = "none"),
o && (n[0].style.webkittransform = "none"),
a.roundlengths)
)
$ = e.ishorizontal() ? n.outerwidth(!0) : n.outerheight(!0);
else {
const e = s(r, "width"),
t = s(r, "padding-left"),
a = s(r, "padding-right"),
i = s(r, "margin-left"),
l = s(r, "margin-right"),
o = r.getpropertyvalue("box-sizing");
if (o && "border-box" === o) $ = e + i + l;
else {
const { clientwidth: s, offsetwidth: r } = n[0];
$ = e + t + a + i + l + (r - s);
}
}
l && (n[0].style.transform = l),
o && (n[0].style.webkittransform = o),
a.roundlengths && ($ = math.floor($));
} else
($ = (r - (a.slidesperview - 1) * x) / a.slidesperview),
a.roundlengths && ($ = math.floor($)),
c[i] && (c[i].style[t("width")] = `${$}px`);
c[i] && (c[i].swiperslidesize = $),
m.push($),
a.centeredslides
? ((y = y + $ / 2 + e / 2 + x),
0 === e && 0 !== i && (y = y - r / 2 - x),
0 === i && (y = y - r / 2 - x),
math.abs(y) < 0.001 && (y = 0),
a.roundlengths && (y = math.floor(y)),
c % a.slidespergroup == 0 && u.push(y),
h.push(y))
: (a.roundlengths && (y = math.floor(y)),
(c - math.min(e.params.slidespergroupskip, c)) %
e.params.slidespergroup ==
0 && u.push(y),
h.push(y),
(y = y + $ + x)),
(e.virtualsize += $ + x),
(e = $),
(c += 1);
}
}
if (
((e.virtualsize = math.max(e.virtualsize, r) + g),
n &&
l &&
("slide" === a.effect || "coverflow" === a.effect) &&
i.css({ width: `${e.virtualsize + a.spacebetween}px` }),
a.setwrappersize &&
i.css({ [t("width")]: `${e.virtualsize + a.spacebetween}px` }),
t && e.grid.updatewrappersize($, u, t),
!a.centeredslides)
) {
const t = [];
for (let s = 0; s < u.length; s += 1) {
let i = u[s];
a.roundlengths && (i = math.floor(i)),
u[s] <= e.virtualsize - r && t.push(i);
}
(u = t),
math.floor(e.virtualsize - r) - math.floor(u[u.length - 1]) > 1 &&
u.push(e.virtualsize - r);
}
if ((0 === u.length && (u = [0]), 0 !== a.spacebetween)) {
const s = e.ishorizontal() && n ? "marginleft" : t("marginright");
c.filter((e, t) => !a.cssmode || t !== c.length - 1).css({
[s]: `${x}px`
});
}
if (a.centeredslides && a.centeredslidesbounds) {
let e = 0;
m.foreach((t) => {
e += t + (a.spacebetween ? a.spacebetween : 0);
}),
(e -= a.spacebetween);
const t = e - r;
u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e));
}
if (a.centerinsufficientslides) {
let e = 0;
if (
(m.foreach((t) => {
e += t + (a.spacebetween ? a.spacebetween : 0);
}),
(e -= a.spacebetween),
e < r)
) {
const t = (r - e) / 2;
u.foreach((e, s) => {
u[s] = e - t;
}),
h.foreach((e, s) => {
h[s] = e + t;
});
}
}
if (
(object.assign(e, {
slides: c,
snapgrid: u,
slidesgrid: h,
slidessizesgrid: m
}),
a.centeredslides && a.cssmode && !a.centeredslidesbounds)
) {
v(e.wrapperel, "--swiper-centered-offset-before", -u[0] + "px"),
v(
e.wrapperel,
"--swiper-centered-offset-after",
e.size / 2 - m[m.length - 1] / 2 + "px"
);
const t = -e.snapgrid[0],
s = -e.slidesgrid[0];
(e.snapgrid = e.snapgrid.map((e) => e + t)),
(e.slidesgrid = e.slidesgrid.map((e) => e + s));
}
if (
(p !== d && e.emit("slideslengthchange"),
u.length !== w &&
(e.params.watchoverflow && e.checkoverflow(),
e.emit("snapgridlengthchange")),
h.length !== b && e.emit("slidesgridlengthchange"),
a.watchslidesprogress && e.updateslidesoffset(),
!(o || a.cssmode || ("slide" !== a.effect && "fade" !== a.effect)))
) {
const t = `${a.containermodifierclass}backface-hidden`,
s = e.$el.hasclass(t);
p <= a.maxbackfacehiddenslides
? s || e.$el.addclass(t)
: s && e.$el.removeclass(t);
}
},
updateautoheight: function (e) {
const t = this,
s = [],
a = t.virtual && t.params.virtual.enabled;
let i,
r = 0;
"number" == typeof e
? t.settransition(e)
: !0 === e && t.settransition(t.params.speed);
const n = (e) =>
a
? t.slides.filter(
(t) =>
parseint(t.getattribute("data-swiper-slide-index"), 10) === e
)[0]
: t.slides.eq(e)[0];
if ("auto" !== t.params.slidesperview && t.params.slidesperview > 1)
if (t.params.centeredslides)
(t.visibleslides || d([])).each((e) => {
s.push(e);
});
else
for (i = 0; i < math.ceil(t.params.slidesperview); i += 1) {
const e = t.activeindex + i;
if (e > t.slides.length && !a) break;
s.push(n(e));
}
else s.push(n(t.activeindex));
for (i = 0; i < s.length; i += 1)
if (void 0 !== s[i]) {
const e = s[i].offsetheight;
r = e > r ? e : r;
}
(r || 0 === r) && t.$wrapperel.css("height", `${r}px`);
},
updateslidesoffset: function () {
const e = this,
t = e.slides;
for (let s = 0; s < t.length; s += 1)
t[s].swiperslideoffset = e.ishorizontal()
? t[s].offsetleft
: t[s].offsettop;
},
updateslidesprogress: function (e) {
void 0 === e && (e = (this && this.translate) || 0);
const t = this,
s = t.params,
{ slides: a, rtltranslate: i, snapgrid: r } = t;
if (0 === a.length) return;
void 0 === a[0].swiperslideoffset && t.updateslidesoffset();
let n = -e;
i && (n = e),
a.removeclass(s.slidevisibleclass),
(t.visibleslidesindexes = []),
(t.visibleslides = []);
for (let e = 0; e < a.length; e += 1) {
const l = a[e];
let o = l.swiperslideoffset;
s.cssmode && s.centeredslides && (o -= a[0].swiperslideoffset);
const d =
(n + (s.centeredslides ? t.mintranslate() : 0) - o) /
(l.swiperslidesize + s.spacebetween),
c =
(n - r[0] + (s.centeredslides ? t.mintranslate() : 0) - o) /
(l.swiperslidesize + s.spacebetween),
p = -(n - o),
u = p + t.slidessizesgrid[e];
((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)),
(l.progress = i ? -d : d),
(l.originalprogress = i ? -c : c);
}
t.visibleslides = d(t.visibleslides);
},
updateprogress: function (e) {
const t = this;
if (void 0 === e) {
const s = t.rtltranslate ? -1 : 1;
e = (t && t.translate && t.translate * s) || 0;
}
const s = t.params,
a = t.maxtranslate() - t.mintranslate();
let { progress: i, isbeginning: r, isend: n } = t;
const l = r,
o = n;
0 === a
? ((i = 0), (r = !0), (n = !0))
: ((i = (e - t.mintranslate()) / a), (r = i <= 0), (n = i >= 1)),
object.assign(t, { progress: i, isbeginning: r, isend: n }),
(s.watchslidesprogress || (s.centeredslides && s.autoheight)) &&
t.updateslidesprogress(e),
r && !l && t.emit("reachbeginning toedge"),
n && !o && t.emit("reachend toedge"),
((l && !r) || (o && !n)) && t.emit("fromedge"),
t.emit("progress", i);
},
updateslidesclasses: function () {
const e = this,
{
slides: t,
params: s,
$wrapperel: a,
activeindex: i,
realindex: r
} = e,
n = e.virtual && s.virtual.enabled;
let l;
t.removeclass(
`${s.slideactiveclass} ${s.slidenextclass} ${s.slideprevclass} ${s.slideduplicateactiveclass} ${s.slideduplicatenextclass} ${s.slideduplicateprevclass}`
),
(l = n
? e.$wrapperel.find(
`.${s.slideclass}[data-swiper-slide-index="${i}"]`
)
: t.eq(i)),
l.addclass(s.slideactiveclass),
s.loop &&
(l.hasclass(s.slideduplicateclass)
? a
.children(
`.${s.slideclass}:not(.${s.slideduplicateclass})[data-swiper-slide-index="${r}"]`
)
.addclass(s.slideduplicateactiveclass)
: a
.children(
`.${s.slideclass}.${s.slideduplicateclass}[data-swiper-slide-index="${r}"]`
)
.addclass(s.slideduplicateactiveclass));
let o = l.nextall(`.${s.slideclass}`).eq(0).addclass(s.slidenextclass);
s.loop && 0 === o.length && ((o = t.eq(0)), o.addclass(s.slidenextclass));
let d = l.prevall(`.${s.slideclass}`).eq(0).addclass(s.slideprevclass);
s.loop &&
0 === d.length &&
((d = t.eq(-1)), d.addclass(s.slideprevclass)),
s.loop &&
(o.hasclass(s.slideduplicateclass)
? a
.children(
`.${s.slideclass}:not(.${
s.slideduplicateclass
})[data-swiper-slide-index="${o.attr(
"data-swiper-slide-index"
)}"]`
)
.addclass(s.slideduplicatenextclass)
: a
.children(
`.${s.slideclass}.${
s.slideduplicateclass
}[data-swiper-slide-index="${o.attr(
"data-swiper-slide-index"
)}"]`
)
.addclass(s.slideduplicatenextclass),
d.hasclass(s.slideduplicateclass)
? a
.children(
`.${s.slideclass}:not(.${
s.slideduplicateclass
})[data-swiper-slide-index="${d.attr(
"data-swiper-slide-index"
)}"]`
)
.addclass(s.slideduplicateprevclass)
: a
.children(
`.${s.slideclass}.${
s.slideduplicateclass
}[data-swiper-slide-index="${d.attr(
"data-swiper-slide-index"
)}"]`
)
.addclass(s.slideduplicateprevclass)),
e.emitslidesclasses();
},
updateactiveindex: function (e) {
const t = this,
s = t.rtltranslate ? t.translate : -t.translate,
{
slidesgrid: a,
snapgrid: i,
params: r,
activeindex: n,
realindex: l,
snapindex: o
} = t;
let d,
c = e;
if (void 0 === c) {
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);
r.normalizeslideindex && (c < 0 || void 0 === c) && (c = 0);
}
if (i.indexof(s) >= 0) d = i.indexof(s);
else {
const e = math.min(r.slidespergroupskip, c);
d = e + math.floor((c - e) / r.slidespergroup);
}
if ((d >= i.length && (d = i.length - 1), c === n))
return void (d !== o && ((t.snapindex = d), t.emit("snapindexchange")));
const p = parseint(
t.slides.eq(c).attr("data-swiper-slide-index") || c,
10
);
object.assign(t, {
snapindex: d,
realindex: p,
previousindex: n,
activeindex: c
}),
t.emit("activeindexchange"),
t.emit("snapindexchange"),
l !== p && t.emit("realindexchange"),
(t.initialized || t.params.runcallbacksoninit) && t.emit("slidechange");
},
updateclickedslide: function (e) {
const t = this,
s = t.params,
a = d(e).closest(`.${s.slideclass}`)[0];
let i,
r = !1;
if (a)
for (let e = 0; e < t.slides.length; e += 1)
if (t.slides[e] === a) {
(r = !0), (i = e);
break;
}
if (!a || !r)
return (t.clickedslide = void 0), void (t.clickedindex = void 0);
(t.clickedslide = a),
t.virtual && t.params.virtual.enabled
? (t.clickedindex = parseint(
d(a).attr("data-swiper-slide-index"),
10
))
: (t.clickedindex = i),
s.slidetoclickedslide &&
void 0 !== t.clickedindex &&
t.clickedindex !== t.activeindex &&
t.slidetoclickedslide();
}
};
var m = {
gettranslate: function (e) {
void 0 === e && (e = this.ishorizontal() ? "x" : "y");
const { params: t, rtltranslate: s, translate: a, $wrapperel: i } = this;
if (t.virtualtranslate) return s ? -a : a;
if (t.cssmode) return a;
let r = h(i[0], e);
return s && (r = -r), r || 0;
},
settranslate: function (e, t) {
const s = this,
{
rtltranslate: a,
params: i,
$wrapperel: r,
wrapperel: n,
progress: l
} = s;
let o,
d = 0,
c = 0;
s.ishorizontal() ? (d = a ? -e : e) : (c = e),
i.roundlengths && ((d = math.floor(d)), (c = math.floor(c))),
i.cssmode
? (n[s.ishorizontal() ? "scrollleft" : "scrolltop"] = s.ishorizontal()
? -d
: -c)
: i.virtualtranslate ||
r.transform(`translate3d(${d}px, ${c}px, 0px)`),
(s.previoustranslate = s.translate),
(s.translate = s.ishorizontal() ? d : c);
const p = s.maxtranslate() - s.mintranslate();
(o = 0 === p ? 0 : (e - s.mintranslate()) / p),
o !== l && s.updateprogress(e),
s.emit("settranslate", s.translate, t);
},
mintranslate: function () {
return -this.snapgrid[0];
},
maxtranslate: function () {
return -this.snapgrid[this.snapgrid.length - 1];
},
translateto: function (e, t, s, a, i) {
void 0 === e && (e = 0),
void 0 === t && (t = this.params.speed),
void 0 === s && (s = !0),
void 0 === a && (a = !0);
const r = this,
{ params: n, wrapperel: l } = r;
if (r.animating && n.preventinteractionontransition) return !1;
const o = r.mintranslate(),
d = r.maxtranslate();
let c;
if (
((c = a && e > o ? o : a && e < d ? d : e),
r.updateprogress(c),
n.cssmode)
) {
const e = r.ishorizontal();
if (0 === t) l[e ? "scrollleft" : "scrolltop"] = -c;
else {
if (!r.support.smoothscroll)
return (
w({ swiper: r, targetposition: -c, side: e ? "left" : "top" }), !0
);
l.scrollto({ [e ? "left" : "top"]: -c, behavior: "smooth" });
}
return !0;
}
return (
0 === t
? (r.settransition(0),
r.settranslate(c),
s &&
(r.emit("beforetransitionstart", t, i), r.emit("transitionend")))
: (r.settransition(t),
r.settranslate(c),
s &&
(r.emit("beforetransitionstart", t, i),
r.emit("transitionstart")),
r.animating ||
((r.animating = !0),
r.ontranslatetowrappertransitionend ||
(r.ontranslatetowrappertransitionend = function (e) {
r &&
!r.destroyed &&
e.target === this &&
(r.$wrapperel[0].removeeventlistener(
"transitionend",
r.ontranslatetowrappertransitionend
),
r.$wrapperel[0].removeeventlistener(
"webkittransitionend",
r.ontranslatetowrappertransitionend
),
(r.ontranslatetowrappertransitionend = null),
delete r.ontranslatetowrappertransitionend,
s && r.emit("transitionend"));
}),
r.$wrapperel[0].addeventlistener(
"transitionend",
r.ontranslatetowrappertransitionend
),
r.$wrapperel[0].addeventlistener(
"webkittransitionend",
r.ontranslatetowrappertransitionend
))),
!0
);
}
};
function p(e) {
let { swiper: t, runcallbacks: s, direction: a, step: i } = e;
const { activeindex: r, previousindex: n } = t;
let l = a;
if (
(l || (l = r > n ? "next" : r < n ? "prev" : "reset"),
t.emit(`transition${i}`),
s && r !== n)
) {
if ("reset" === l) return void t.emit(`slideresettransition${i}`);
t.emit(`slidechangetransition${i}`),
"next" === l
? t.emit(`slidenexttransition${i}`)
: t.emit(`slideprevtransition${i}`);
}
}
var k = {
slideto: function (e, t, s, a, i) {
if (
(void 0 === e && (e = 0),
void 0 === t && (t = this.params.speed),
void 0 === s && (s = !0),
"number" != typeof e && "string" != typeof e)
)
throw new error(
`the 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`
);
if ("string" == typeof e) {
const t = parseint(e, 10);
if (!isfinite(t))
throw new error(
`the passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
);
e = t;
}
const r = this;
let n = e;
n < 0 && (n = 0);
const {
params: l,
snapgrid: o,
slidesgrid: d,
previousindex: c,
activeindex: p,
rtltranslate: u,
wrapperel: h,
enabled: m
} = r;
if ((r.animating && l.preventinteractionontransition) || (!m && !a && !i))
return !1;
const f = math.min(r.params.slidespergroupskip, n);
let g = f + math.floor((n - f) / r.params.slidespergroup);
g >= o.length && (g = o.length - 1),
(p || l.initialslide || 0) === (c || 0) &&
s &&
r.emit("beforeslidechangestart");
const v = -o[g];
if ((r.updateprogress(v), l.normalizeslideindex))
for (let e = 0; e < d.length; e += 1) {
const t = -math.floor(100 * v),
s = math.floor(100 * d[e]),
a = math.floor(100 * d[e + 1]);
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);
}
if (r.initialized && n !== p) {
if (!r.allowslidenext && v < r.translate && v < r.mintranslate())
return !1;
if (
!r.allowslideprev &&
v > r.translate &&
v > r.maxtranslate() &&
(p || 0) !== n
)
return !1;
}
let b;
if (
((b = n > p ? "next" : n < p ? "prev" : "reset"),
(u && -v === r.translate) || (!u && v === r.translate))
)
return (
r.updateactiveindex(n),
l.autoheight && r.updateautoheight(),
r.updateslidesclasses(),
"slide" !== l.effect && r.settranslate(v),
"reset" !== b && (r.transitionstart(s, b), r.transitionend(s, b)),
!1
);
if (l.cssmode) {
const e = r.ishorizontal(),
s = u ? v : -v;
if (0 === t) {
const t = r.virtual && r.params.virtual.enabled;
t &&
((r.wrapperel.style.scrollsnaptype = "none"),
(r._immediatevirtual = !0)),
(h[e ? "scrollleft" : "scrolltop"] = s),
t &&
requestanimationframe(() => {
(r.wrapperel.style.scrollsnaptype = ""),
(r._swiperimmediatevirtual = !1);
});
} else {
if (!r.support.smoothscroll)
return (
w({ swiper: r, targetposition: s, side: e ? "left" : "top" }), !0
);
h.scrollto({ [e ? "left" : "top"]: s, behavior: "smooth" });
}
return !0;
}
return (
r.settransition(t),
r.settranslate(v),
r.updateactiveindex(n),
r.updateslidesclasses(),
r.emit("beforetransitionstart", t, a),
r.transitionstart(s, b),
0 === t
? r.transitionend(s, b)
: r.animating ||
((r.animating = !0),
r.onslidetowrappertransitionend ||
(r.onslidetowrappertransitionend = function (e) {
r &&
!r.destroyed &&
e.target === this &&
(r.$wrapperel[0].removeeventlistener(
"transitionend",
r.onslidetowrappertransitionend
),
r.$wrapperel[0].removeeventlistener(
"webkittransitionend",
r.onslidetowrappertransitionend
),
(r.onslidetowrappertransitionend = null),
delete r.onslidetowrappertransitionend,
r.transitionend(s, b));
}),
r.$wrapperel[0].addeventlistener(
"transitionend",
r.onslidetowrappertransitionend
),
r.$wrapperel[0].addeventlistener(
"webkittransitionend",
r.onslidetowrappertransitionend
)),
!0
);
},
slidetoloop: function (e, t, s, a) {
if (
(void 0 === e && (e = 0),
void 0 === t && (t = this.params.speed),
void 0 === s && (s = !0),
"string" == typeof e)
) {
const t = parseint(e, 10);
if (!isfinite(t))
throw new error(
`the passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`
);
e = t;
}
const i = this;
let r = e;
return i.params.loop && (r += i.loopedslides), i.slideto(r, t, s, a);
},
slidenext: function (e, t, s) {
void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
const a = this,
{ animating: i, enabled: r, params: n } = a;
if (!r) return a;
let l = n.slidespergroup;
"auto" === n.slidesperview &&
1 === n.slidespergroup &&
n.slidespergroupauto &&
(l = math.max(a.slidesperviewdynamic("current", !0), 1));
const o = a.activeindex < n.slidespergroupskip ? 1 : l;
if (n.loop) {
if (i && n.looppreventsslide) return !1;
a.loopfix(), (a._clientleft = a.$wrapperel[0].clientleft);
}
return n.rewind && a.isend
? a.slideto(0, e, t, s)
: a.slideto(a.activeindex + o, e, t, s);
},
slideprev: function (e, t, s) {
void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
const a = this,
{
params: i,
animating: r,
snapgrid: n,
slidesgrid: l,
rtltranslate: o,
enabled: d
} = a;
if (!d) return a;
if (i.loop) {
if (r && i.looppreventsslide) return !1;
a.loopfix(), (a._clientleft = a.$wrapperel[0].clientleft);
}
function c(e) {
return e < 0 ? -math.floor(math.abs(e)) : math.floor(e);
}
const p = c(o ? a.translate : -a.translate),
u = n.map((e) => c(e));
let h = n[u.indexof(p) - 1];
if (void 0 === h && i.cssmode) {
let e;
n.foreach((t, s) => {
p >= t && (e = s);
}),
void 0 !== e && (h = n[e > 0 ? e - 1 : e]);
}
let m = 0;
if (
(void 0 !== h &&
((m = l.indexof(h)),
m < 0 && (m = a.activeindex - 1),
"auto" === i.slidesperview &&
1 === i.slidespergroup &&
i.slidespergroupauto &&
((m = m - a.slidesperviewdynamic("previous", !0) + 1),
(m = math.max(m, 0)))),
i.rewind && a.isbeginning)
) {
const i =
a.params.virtual && a.params.virtual.enabled && a.virtual
? a.virtual.slides.length - 1
: a.slides.length - 1;
return a.slideto(i, e, t, s);
}
return a.slideto(m, e, t, s);
},
slidereset: function (e, t, s) {
return (
void 0 === e && (e = this.params.speed),
void 0 === t && (t = !0),
this.slideto(this.activeindex, e, t, s)
);
},
slidetoclosest: function (e, t, s, a) {
void 0 === e && (e = this.params.speed),
void 0 === t && (t = !0),
void 0 === a && (a = 0.5);
const i = this;
let r = i.activeindex;
const n = math.min(i.params.slidespergroupskip, r),
l = n + math.floor((r - n) / i.params.slidespergroup),
o = i.rtltranslate ? i.translate : -i.translate;
if (o >= i.snapgrid[l]) {
const e = i.snapgrid[l];
o - e > (i.snapgrid[l + 1] - e) * a && (r += i.params.slidespergroup);
} else {
const e = i.snapgrid[l - 1];
o - e <= (i.snapgrid[l] - e) * a && (r -= i.params.slidespergroup);
}
return (
(r = math.max(r, 0)),
(r = math.min(r, i.slidesgrid.length - 1)),
i.slideto(r, e, t, s)
);
},
slidetoclickedslide: function () {
const e = this,
{ params: t, $wrapperel: s } = e,
a =
"auto" === t.slidesperview
? e.slidesperviewdynamic()
: t.slidesperview;
let i,
r = e.clickedindex;
if (t.loop) {
if (e.animating) return;
(i = parseint(d(e.clickedslide).attr("data-swiper-slide-index"), 10)),
t.centeredslides
? r < e.loopedslides - a / 2 ||
r > e.slides.length - e.loopedslides + a / 2
? (e.loopfix(),
(r = s
.children(
`.${t.slideclass}[data-swiper-slide-index="${i}"]:not(.${t.slideduplicateclass})`
)
.eq(0)
.index()),
p(() => {
e.slideto(r);
}))
: e.slideto(r)
: r > e.slides.length - a
? (e.loopfix(),
(r = s
.children(
`.${t.slideclass}[data-swiper-slide-index="${i}"]:not(.${t.slideduplicateclass})`
)
.eq(0)
.index()),
p(() => {
e.slideto(r);
}))
: e.slideto(r);
} else e.slideto(r);
}
};
var z = {
loopcreate: function () {
const e = this,
t = a(),
{ params: s, $wrapperel: i } = e,
r = i.children().length > 0 ? d(i.children()[0].parentnode) : i;
r.children(`.${s.slideclass}.${s.slideduplicateclass}`).remove();
let n = r.children(`.${s.slideclass}`);
if (s.loopfillgroupwithblank) {
const e = s.slidespergroup - (n.length % s.slidespergroup);
if (e !== s.slidespergroup) {
for (let a = 0; a < e; a += 1) {
const e = d(t.createelement("div")).addclass(
`${s.slideclass} ${s.slideblankclass}`
);
r.append(e);
}
n = r.children(`.${s.slideclass}`);
}
}
"auto" !== s.slidesperview ||
s.loopedslides ||
(s.loopedslides = n.length),
(e.loopedslides = math.ceil(
parsefloat(s.loopedslides || s.slidesperview, 10)
)),
(e.loopedslides += s.loopadditionalslides),
e.loopedslides > n.length && (e.loopedslides = n.length);
const l = [],
o = [];
n.each((t, s) => {
const a = d(t);
s < e.loopedslides && o.push(t),
s < n.length && s >= n.length - e.loopedslides && l.push(t),
a.attr("data-swiper-slide-index", s);
});
for (let e = 0; e < o.length; e += 1)
r.append(d(o[e].clonenode(!0)).addclass(s.slideduplicateclass));
for (let e = l.length - 1; e >= 0; e -= 1)
r.prepend(d(l[e].clonenode(!0)).addclass(s.slideduplicateclass));
},
loopfix: function () {
const e = this;
e.emit("beforeloopfix");
const {
activeindex: t,
slides: s,
loopedslides: a,
allowslideprev: i,
allowslidenext: r,
snapgrid: n,
rtltranslate: l
} = e;
let o;
(e.allowslideprev = !0), (e.allowslidenext = !0);
const d = -n[t] - e.gettranslate();
if (t < a) {
(o = s.length - 3 * a + t), (o += a);
e.slideto(o, 0, !1, !0) &&
0 !== d &&
e.settranslate((l ? -e.translate : e.translate) - d);
} else if (t >= s.length - a) {
(o = -s.length + t + a), (o += a);
e.slideto(o, 0, !1, !0) &&
0 !== d &&
e.settranslate((l ? -e.translate : e.translate) - d);
}
(e.allowslideprev = i), (e.allowslidenext = r), e.emit("loopfix");
},
loopdestroy: function () {
const { $wrapperel: e, params: t, slides: s } = this;
e
.children(
`.${t.slideclass}.${t.slideduplicateclass},.${t.slideclass}.${t.slideblankclass}`
)
.remove(),
s.removeattr("data-swiper-slide-index");
}
};
function l(e) {
const t = this,
s = a(),
i = r(),
n = t.toucheventsdata,
{ params: l, touches: o, enabled: c } = t;
if (!c) return;
if (t.animating && l.preventinteractionontransition) return;
!t.animating && l.cssmode && l.loop && t.loopfix();
let p = e;
p.originalevent && (p = p.originalevent);
let h = d(p.target);
if ("wrapper" === l.toucheventstarget && !h.closest(t.wrapperel).length)
return;
if (
((n.istouchevent = "touchstart" === p.type),
!n.istouchevent && "which" in p && 3 === p.which)
)
return;
if (!n.istouchevent && "button" in p && p.button > 0) return;
if (n.istouched && n.ismoved) return;
!!l.noswipingclass &&
"" !== l.noswipingclass &&
p.target &&
p.target.shadowroot &&
e.path &&
e.path[0] &&
(h = d(e.path[0]));
const m = l.noswipingselector
? l.noswipingselector
: `.${l.noswipingclass}`,
f = !(!p.target || !p.target.shadowroot);
if (
l.noswiping &&
(f
? (function (e, t) {
return (
void 0 === t && (t = this),
(function t(s) {
if (!s || s === a() || s === r()) return null;
s.assignedslot && (s = s.assignedslot);
const i = s.closest(e);
return i || s.getrootnode ? i || t(s.getrootnode().host) : null;
})(t)
);
})(m, h[0])
: h.closest(m)[0])
)
return void (t.allowclick = !0);
if (l.swipehandler && !h.closest(l.swipehandler)[0]) return;
(o.currentx = "touchstart" === p.type ? p.targettouches[0].pagex : p.pagex),
(o.currenty =
"touchstart" === p.type ? p.targettouches[0].pagey : p.pagey);
const g = o.currentx,
v = o.currenty,
w = l.edgeswipedetection || l.iosedgeswipedetection,
b = l.edgeswipethreshold || l.iosedgeswipethreshold;
if (w && (g <= b || g >= i.innerwidth - b)) {
if ("prevent" !== w) return;
e.preventdefault();
}
if (
(object.assign(n, {
istouched: !0,
ismoved: !1,
allowtouchcallbacks: !0,
isscrolling: void 0,
startmoving: void 0
}),
(o.startx = g),
(o.starty = v),
(n.touchstarttime = u()),
(t.allowclick = !0),
t.updatesize(),
(t.swipedirection = void 0),
l.threshold > 0 && (n.allowthresholdmove = !1),
"touchstart" !== p.type)
) {
let e = !0;
h.is(n.focusableelements) &&
((e = !1), "select" === h[0].nodename && (n.istouched = !1)),
s.activeelement &&
d(s.activeelement).is(n.focusableelements) &&
s.activeelement !== h[0] &&
s.activeelement.blur();
const a = e && t.allowtouchmove && l.touchstartpreventdefault;
(!l.touchstartforcepreventdefault && !a) ||
h[0].iscontenteditable ||
p.preventdefault();
}
t.params.freemode &&
t.params.freemode.enabled &&
t.freemode &&
t.animating &&
!l.cssmode &&
t.freemode.ontouchstart(),
t.emit("touchstart", p);
}
function o(e) {
const t = a(),
s = this,
i = s.toucheventsdata,
{ params: r, touches: n, rtltranslate: l, enabled: o } = s;
if (!o) return;
let c = e;
if ((c.originalevent && (c = c.originalevent), !i.istouched))
return void (
i.startmoving &&
i.isscrolling &&
s.emit("touchmoveopposite", c)
);
if (i.istouchevent && "touchmove" !== c.type) return;
const p =
"touchmove" === c.type &&
c.targettouches &&
(c.targettouches[0] || c.changedtouches[0]),
h = "touchmove" === c.type ? p.pagex : c.pagex,
m = "touchmove" === c.type ? p.pagey : c.pagey;
if (c.preventedbynestedswiper) return (n.startx = h), void (n.starty = m);
if (!s.allowtouchmove)
return (
d(c.target).is(i.focusableelements) || (s.allowclick = !1),
void (
i.istouched &&
(object.assign(n, { startx: h, starty: m, currentx: h, currenty: m }),
(i.touchstarttime = u()))
)
);
if (i.istouchevent && r.touchreleaseonedges && !r.loop)
if (s.isvertical()) {
if (
(m < n.starty && s.translate <= s.maxtranslate()) ||
(m > n.starty && s.translate >= s.mintranslate())
)
return (i.istouched = !1), void (i.ismoved = !1);
} else if (
(h < n.startx && s.translate <= s.maxtranslate()) ||
(h > n.startx && s.translate >= s.mintranslate())
)
return;
if (
i.istouchevent &&
t.activeelement &&
c.target === t.activeelement &&
d(c.target).is(i.focusableelements)
)
return (i.ismoved = !0), void (s.allowclick = !1);
if (
(i.allowtouchcallbacks && s.emit("touchmove", c),
c.targettouches && c.targettouches.length > 1)
)
return;
(n.currentx = h), (n.currenty = m);
const f = n.currentx - n.startx,
g = n.currenty - n.starty;
if (s.params.threshold && math.sqrt(f ** 2 + g ** 2) < s.params.threshold)
return;
if (void 0 === i.isscrolling) {
let e;
(s.ishorizontal() && n.currenty === n.starty) ||
(s.isvertical() && n.currentx === n.startx)
? (i.isscrolling = !1)
: 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));
}
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);
if (!i.startmoving) return;
(s.allowclick = !1),
!r.cssmode && c.cancelable && c.preventdefault(),
r.touchmovestoppropagation && !r.nested && c.stoppropagation(),
i.ismoved ||
(r.loop && !r.cssmode && s.loopfix(),
(i.starttranslate = s.gettranslate()),
s.settransition(0),
s.animating &&
s.$wrapperel.trigger("webkittransitionend transitionend"),
(i.allowmomentumbounce = !1),
!r.grabcursor ||
(!0 !== s.allowslidenext && !0 !== s.allowslideprev) ||
s.setgrabcursor(!0),
s.emit("sliderfirstmove", c)),
s.emit("slidermove", c),
(i.ismoved = !0);
let v = s.ishorizontal() ? f : g;
(n.diff = v),
(v *= r.touchratio),
l && (v = -v),
(s.swipedirection = v > 0 ? "prev" : "next"),
(i.currenttranslate = v + i.starttranslate);
let w = !0,
b = r.resistanceratio;
if (
(r.touchreleaseonedges && (b = 0),
v > 0 && i.currenttranslate > s.mintranslate()
? ((w = !1),
r.resistance &&
(i.currenttranslate =
s.mintranslate() -
1 +
(-s.mintranslate() + i.starttranslate + v) ** b))
: v < 0 &&
i.currenttranslate < s.maxtranslate() &&
((w = !1),
r.resistance &&
(i.currenttranslate =
s.maxtranslate() +
1 -
(s.maxtranslate() - i.starttranslate - v) ** b)),
w && (c.preventedbynestedswiper = !0),
!s.allowslidenext &&
"next" === s.swipedirection &&
i.currenttranslate < i.starttranslate &&
(i.currenttranslate = i.starttranslate),
!s.allowslideprev &&
"prev" === s.swipedirection &&
i.currenttranslate > i.starttranslate &&
(i.currenttranslate = i.starttranslate),
s.allowslideprev ||
s.allowslidenext ||
(i.currenttranslate = i.starttranslate),
r.threshold > 0)
) {
if (!(math.abs(v) > r.threshold || i.allowthresholdmove))
return void (i.currenttranslate = i.starttranslate);
if (!i.allowthresholdmove)
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)
);
}
r.followfinger &&
!r.cssmode &&
(((r.freemode && r.freemode.enabled && s.freemode) ||
r.watchslidesprogress) &&
(s.updateactiveindex(), s.updateslidesclasses()),
s.params.freemode &&
r.freemode.enabled &&
s.freemode &&
s.freemode.ontouchmove(),
s.updateprogress(i.currenttranslate),
s.settranslate(i.currenttranslate));
}
function i(e) {
const t = this,
s = t.toucheventsdata,
{ params: a, touches: i, rtltranslate: r, slidesgrid: n, enabled: l } = t;
if (!l) return;
let o = e;
if (
(o.originalevent && (o = o.originalevent),
s.allowtouchcallbacks && t.emit("touchend", o),
(s.allowtouchcallbacks = !1),
!s.istouched)
)
return (
s.ismoved && a.grabcursor && t.setgrabcursor(!1),
(s.ismoved = !1),
void (s.startmoving = !1)
);
a.grabcursor &&
s.ismoved &&
s.istouched &&
(!0 === t.allowslidenext || !0 === t.allowslideprev) &&
t.setgrabcursor(!1);
const d = u(),
c = d - s.touchstarttime;
if (t.allowclick) {
const e = o.path || (o.composedpath && o.composedpath());
t.updateclickedslide((e && e[0]) || o.target),
t.emit("tap click", o),
c < 300 &&
d - s.lastclicktime < 300 &&
t.emit("doubletap doubleclick", o);
}
if (
((s.lastclicktime = u()),
p(() => {
t.destroyed || (t.allowclick = !0);
}),
!s.istouched ||
!s.ismoved ||
!t.swipedirection ||
0 === i.diff ||
s.currenttranslate === s.starttranslate)
)
return (s.istouched = !1), (s.ismoved = !1), void (s.startmoving = !1);
let h;
if (
((s.istouched = !1),
(s.ismoved = !1),
(s.startmoving = !1),
(h = a.followfinger
? r
? t.translate
: -t.translate
: -s.currenttranslate),
a.cssmode)
)
return;
if (t.params.freemode && a.freemode.enabled)
return void t.freemode.ontouchend({ currentpos: h });
let m = 0,
f = t.slidessizesgrid[0];
for (
let e = 0;
e < n.length;
e += e < a.slidespergroupskip ? 1 : a.slidespergroup
) {
const t = e < a.slidespergroupskip - 1 ? 1 : a.slidespergroup;
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]));
}
let g = null,
v = null;
a.rewind &&
(t.isbeginning
? (v =
t.params.virtual && t.params.virtual.enabled && t.virtual
? t.virtual.slides.length - 1
: t.slides.length - 1)
: t.isend && (g = 0));
const w = (h - n[m]) / f,
b = m < a.slidespergroupskip - 1 ? 1 : a.slidespergroup;
if (c > a.longswipesms) {
if (!a.longswipes) return void t.slideto(t.activeindex);
"next" === t.swipedirection &&
(w >= a.longswipesratio
? t.slideto(a.rewind && t.isend ? g : m + b)
: t.slideto(m)),
"prev" === t.swipedirection &&
(w > 1 - a.longswipesratio
? t.slideto(m + b)
: null !== v && w < 0 && math.abs(w) > a.longswipesratio
? t.slideto(v)
: t.slideto(m));
} else {
if (!a.shortswipes) return void t.slideto(t.activeindex);
t.navigation &&
(o.target === t.navigation.nextel || o.target === t.navigation.prevel)
? o.target === t.navigation.nextel
? t.slideto(m + b)
: t.slideto(m)
: ("next" === t.swipedirection && t.slideto(null !== g ? g : m + b),
"prev" === t.swipedirection && t.slideto(null !== v ? v : m));
}
}
function a() {
const e = this,
{ params: t, el: s } = e;
if (s && 0 === s.offsetwidth) return;
t.breakpoints && e.setbreakpoint();
const { allowslidenext: a, allowslideprev: i, snapgrid: r } = e;
(e.allowslidenext = !0),
(e.allowslideprev = !0),
e.updatesize(),
e.updateslides(),
e.updateslidesclasses(),
("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),
e.autoplay && e.autoplay.running && e.autoplay.paused && e.autoplay.run(),
(e.allowslideprev = i),
(e.allowslidenext = a),
e.params.watchoverflow && r !== e.snapgrid && e.checkoverflow();
}
function d(e) {
const t = this;
t.enabled &&
(t.allowclick ||
(t.params.preventclicks && e.preventdefault(),
t.params.preventclickspropagation &&
t.animating &&
(e.stoppropagation(), e.stopimmediatepropagation())));
}
function g() {
const e = this,
{ wrapperel: t, rtltranslate: s, enabled: a } = e;
if (!a) return;
let i;
(e.previoustranslate = e.translate),
e.ishorizontal()
? (e.translate = -t.scrollleft)
: (e.translate = -t.scrolltop),
0 === e.translate && (e.translate = 0),
e.updateactiveindex(),
e.updateslidesclasses();
const r = e.maxtranslate() - e.mintranslate();
(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);
}
let n = !1;
function b() {}
const h = (e, t) => {
const s = a(),
{
params: i,
touchevents: r,
el: n,
wrapperel: l,
device: o,
support: d
} = e,
c = !!i.nested,
p = "on" === t ? "addeventlistener" : "removeeventlistener",
u = t;
if (d.touch) {
const t = !(
"touchstart" !== r.start ||
!d.passivelistener ||
!i.passivelisteners
) && { passive: !0, capture: !1 };
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);
} else
n[p](r.start, e.ontouchstart, !1),
s[p](r.move, e.ontouchmove, c),
s[p](r.end, e.ontouchend, !1);
(i.preventclicks || i.preventclickspropagation) &&
n[p]("click", e.onclick, !0),
i.cssmode && l[p]("scroll", e.onscroll),
i.updateonwindowresize
? e[u](
o.ios || o.android
? "resize orientationchange observerupdate"
: "resize observerupdate",
a,
!0
)
: e[u]("observerupdate", a, !0);
};
var x = {
attachevents: function () {
const e = this,
t = a(),
{ params: s, support: i } = e;
(e.ontouchstart = l.bind(e)),
(e.ontouchmove = o.bind(e)),
(e.ontouchend = i.bind(e)),
s.cssmode && (e.onscroll = g.bind(e)),
(e.onclick = d.bind(e)),
i.touch && !n && (t.addeventlistener("touchstart", b), (n = !0)),
h(e, "on");
},
detachevents: function () {
h(this, "off");
}
};
const y = (e, t) => e.grid && t.grid && t.grid.rows > 1;
var r = {
addclasses: function () {
const e = this,
{ classnames: t, params: s, rtl: a, $el: i, device: r, support: n } = e,
l = (function (e, t) {
const s = [];
return (
e.foreach((e) => {
"object" == typeof e
? object.keys(e).foreach((a) => {
e[a] && s.push(t + a);
})
: "string" == typeof e && s.push(t + e);
}),
s
);
})(
[
"initialized",
s.direction,
{ "pointer-events": !n.touch },
{ "free-mode": e.params.freemode && s.freemode.enabled },
{ autoheight: s.autoheight },
{ rtl: a },
{ grid: s.grid && s.grid.rows > 1 },
{
"grid-column":
s.grid && s.grid.rows > 1 && "column" === s.grid.fill
},
{ android: r.android },
{ ios: r.ios },
{ "css-mode": s.cssmode },
{ centered: s.cssmode && s.centeredslides },
{ "watch-progress": s.watchslidesprogress }
],
s.containermodifierclass
);
t.push(...l), i.addclass([...t].join(" ")), e.emitcontainerclasses();
},
removeclasses: function () {
const { $el: e, classnames: t } = this;
e.removeclass(t.join(" ")), this.emitcontainerclasses();
}
};
var w = {
init: !0,
direction: "horizontal",
toucheventstarget: "wrapper",
initialslide: 0,
speed: 300,
cssmode: !1,
updateonwindowresize: !0,
resizeobserver: !0,
nested: !1,
createelements: !1,
enabled: !0,
focusableelements: "input, select, option, textarea, button, video, label",
width: null,
height: null,
preventinteractionontransition: !1,
useragent: null,
url: null,
edgeswipedetection: !1,
edgeswipethreshold: 20,
autoheight: !1,
setwrappersize: !1,
virtualtranslate: !1,
effect: "slide",
breakpoints: void 0,
breakpointsbase: "window",
spacebetween: 0,
slidesperview: 1,
slidespergroup: 1,
slidespergroupskip: 0,
slidespergroupauto: !1,
centeredslides: !1,
centeredslidesbounds: !1,
slidesoffsetbefore: 0,
slidesoffsetafter: 0,
normalizeslideindex: !0,
centerinsufficientslides: !1,
watchoverflow: !0,
roundlengths: !1,
touchratio: 1,
touchangle: 45,
simulatetouch: !0,
shortswipes: !0,
longswipes: !0,
longswipesratio: 0.5,
longswipesms: 300,
followfinger: !0,
allowtouchmove: !0,
threshold: 0,
touchmovestoppropagation: !1,
touchstartpreventdefault: !0,
touchstartforcepreventdefault: !1,
touchreleaseonedges: !1,
uniquenavelements: !0,
resistance: !0,
resistanceratio: 0.85,
watchslidesprogress: !1,
grabcursor: !1,
preventclicks: !0,
preventclickspropagation: !0,
slidetoclickedslide: !1,
preloadimages: !0,
updateonimagesready: !0,
loop: !1,
loopadditionalslides: 0,
loopedslides: null,
loopfillgroupwithblank: !1,
looppreventsslide: !0,
rewind: !1,
allowslideprev: !0,
allowslidenext: !0,
swipehandler: null,
noswiping: !0,
noswipingclass: "swiper-no-swiping",
noswipingselector: null,
passivelisteners: !0,
maxbackfacehiddenslides: 10,
containermodifierclass: "swiper-",
slideclass: "swiper-slide",
slideblankclass: "swiper-slide-invisible-blank",
slideactiveclass: "swiper-slide-active",
slideduplicateactiveclass: "swiper-slide-duplicate-active",
slidevisibleclass: "swiper-slide-visible",
slideduplicateclass: "swiper-slide-duplicate",
slidenextclass: "swiper-slide-next",
slideduplicatenextclass: "swiper-slide-duplicate-next",
slideprevclass: "swiper-slide-prev",
slideduplicateprevclass: "swiper-slide-duplicate-prev",
wrapperclass: "swiper-wrapper",
runcallbacksoninit: !0,
_emitclasses: !1
};
function j(e, t) {
return function (s) {
void 0 === s && (s = {});
const a = object.keys(s)[0],
i = s[a];
"object" == typeof i && null !== i
? (["navigation", "pagination", "scrollbar"].indexof(a) >= 0 &&
!0 === e[a] &&
(e[a] = { auto: !0 }),
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 }),
g(t, s))
: g(t, s))
: g(t, s);
};
}
const _ = {
eventsemitter: $,
update: s,
translate: m,
transition: {
settransition: function (e, t) {
const s = this;
s.params.cssmode || s.$wrapperel.transition(e),
s.emit("settransition", e, t);
},
transitionstart: function (e, t) {
void 0 === e && (e = !0);
const s = this,
{ params: a } = s;
a.cssmode ||
(a.autoheight && s.updateautoheight(),
p({ swiper: s, runcallbacks: e, direction: t, step: "start" }));
},
transitionend: function (e, t) {
void 0 === e && (e = !0);
const s = this,
{ params: a } = s;
(s.animating = !1),
a.cssmode ||
(s.settransition(0),
p({ swiper: s, runcallbacks: e, direction: t, step: "end" }));
}
},
slide: k,
loop: z,
grabcursor: {
setgrabcursor: function (e) {
const t = this;
if (
t.support.touch ||
!t.params.simulatetouch ||
(t.params.watchoverflow && t.islocked) ||
t.params.cssmode
)
return;
const s =
"container" === t.params.toucheventstarget ? t.el : t.wrapperel;
(s.style.cursor = "move"), (s.style.cursor = e ? "grabbing" : "grab");
},
unsetgrabcursor: function () {
const e = this;
e.support.touch ||
(e.params.watchoverflow && e.islocked) ||
e.params.cssmode ||
(e[
"container" === e.params.toucheventstarget ? "el" : "wrapperel"
].style.cursor = "");
}
},
events: x,
breakpoints: {
setbreakpoint: function () {
const e = this,
{
activeindex: t,
initialized: s,
loopedslides: a = 0,
params: i,
$el: r
} = e,
n = i.breakpoints;
if (!n || (n && 0 === object.keys(n).length)) return;
const l = e.getbreakpoint(n, e.params.breakpointsbase, e.el);
if (!l || e.currentbreakpoint === l) return;
const o = (l in n ? n[l] : void 0) || e.originalparams,
d = y(e, i),
c = y(e, o),
p = i.enabled;
d && !c
? (r.removeclass(
`${i.containermodifierclass}grid ${i.containermodifierclass}grid-column`
),
e.emitcontainerclasses())
: !d &&
c &&
(r.addclass(`${i.containermodifierclass}grid`),
((o.grid.fill && "column" === o.grid.fill) ||
(!o.grid.fill && "column" === i.grid.fill)) &&
r.addclass(`${i.containermodifierclass}grid-column`),
e.emitcontainerclasses()),
["navigation", "pagination", "scrollbar"].foreach((t) => {
const s = i[t] && i[t].enabled,
a = o[t] && o[t].enabled;
s && !a && e[t].disable(), !s && a && e[t].enable();
});
const u = o.direction && o.direction !== i.direction,
h = i.loop && (o.slidesperview !== i.slidesperview || u);
u && s && e.changedirection(), g(e.params, o);
const m = e.params.enabled;
object.assign(e, {
allowtouchmove: e.params.allowtouchmove,
allowslidenext: e.params.allowslidenext,
allowslideprev: e.params.allowslideprev
}),
p && !m ? e.disable() : !p && m && e.enable(),
(e.currentbreakpoint = l),
e.emit("_beforebreakpoint", o),
h &&
s &&
(e.loopdestroy(),
e.loopcreate(),
e.updateslides(),
e.slideto(t - a + e.loopedslides, 0, !1)),
e.emit("breakpoint", o);
},
getbreakpoint: function (e, t, s) {
if ((void 0 === t && (t = "window"), !e || ("container" === t && !s)))
return;
let a = !1;
const i = r(),
n = "window" === t ? i.innerheight : s.clientheight,
l = object.keys(e).map((e) => {
if ("string" == typeof e && 0 === e.indexof("@")) {
const t = parsefloat(e.substr(1));
return { value: n * t, point: e };
}
return { value: e, point: e };
});
l.sort((e, t) => parseint(e.value, 10) - parseint(t.value, 10));
for (let e = 0; e < l.length; e += 1) {
const { point: r, value: n } = l[e];
"window" === t
? i.matchmedia(`(min-width: ${n}px)`).matches && (a = r)
: n <= s.clientwidth && (a = r);
}
return a || "max";
}
},
checkoverflow: {
checkoverflow: function () {
const e = this,
{ islocked: t, params: s } = e,
{ slidesoffsetbefore: a } = s;
if (a) {
const t = e.slides.length - 1,
s = e.slidesgrid[t] + e.slidessizesgrid[t] + 2 * a;
e.islocked = e.size > s;
} else e.islocked = 1 === e.snapgrid.length;
!0 === s.allowslidenext && (e.allowslidenext = !e.islocked),
!0 === s.allowslideprev && (e.allowslideprev = !e.islocked),
t && t !== e.islocked && (e.isend = !1),
t !== e.islocked && e.emit(e.islocked ? "lock" : "unlock");
}
},
classes: r,
images: {
loadimage: function (e, t, s, a, i, n) {
const l = r();
let o;
function c() {
n && n();
}
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();
},
preloadimages: function () {
const e = this;
function t() {
null != e &&
e &&
!e.destroyed &&
(void 0 !== e.imagesloaded && (e.imagesloaded += 1),
e.imagesloaded === e.imagestoload.length &&
(e.params.updateonimagesready && e.update(),
e.emit("imagesready")));
}
e.imagestoload = e.$el.find("img");
for (let s = 0; s < e.imagestoload.length; s += 1) {
const a = e.imagestoload[s];
e.loadimage(
a,
a.currentsrc || a.getattribute("src"),
a.srcset || a.getattribute("srcset"),
a.sizes || a.getattribute("sizes"),
!0,
t
);
}
}
}
},
q = {};
class v {
constructor() {
let e, t;
for (var s = arguments.length, a = new array(s), i = 0; i < s; i++)
a[i] = arguments[i];
if (
(1 === a.length &&
a[0].constructor &&
"object" === object.prototype.tostring.call(a[0]).slice(8, -1)
? (t = a[0])
: ([e, t] = a),
t || (t = {}),
(t = g({}, t)),
e && !t.el && (t.el = e),
t.el && d(t.el).length > 1)
) {
const e = [];
return (
d(t.el).each((s) => {
const a = g({}, t, { el: s });
e.push(new v(a));
}),
e
);
}
const r = this;
(r.__swiper__ = !0),
(r.support = e()),
(r.device = c({ useragent: t.useragent })),
(r.browser = t()),
(r.eventslisteners = {}),
(r.eventsanylisteners = []),
(r.modules = [...r.__modules__]),
t.modules && array.isarray(t.modules) && r.modules.push(...t.modules);
const n = {};
r.modules.foreach((e) => {
e({
swiper: r,
extendparams: j(t, n),
on: r.on.bind(r),
once: r.once.bind(r),
off: r.off.bind(r),
emit: r.emit.bind(r)
});
});
const l = g({}, w, n);
return (
(r.params = g({}, l, q, t)),
(r.originalparams = g({}, r.params)),
(r.passedparams = g({}, t)),
r.params &&
r.params.on &&
object.keys(r.params.on).foreach((e) => {
r.on(e, r.params.on[e]);
}),
r.params && r.params.onany && r.onany(r.params.onany),
(r.$ = d),
object.assign(r, {
enabled: r.params.enabled,
el: e,
classnames: [],
slides: d(),
slidesgrid: [],
snapgrid: [],
slidessizesgrid: [],
ishorizontal: () => "horizontal" === r.params.direction,
isvertical: () => "vertical" === r.params.direction,
activeindex: 0,
realindex: 0,
isbeginning: !0,
isend: !1,
translate: 0,
previoustranslate: 0,
progress: 0,
velocity: 0,
animating: !1,
allowslidenext: r.params.allowslidenext,
allowslideprev: r.params.allowslideprev,
touchevents: (function () {
const e = ["touchstart", "touchmove", "touchend", "touchcancel"],
t = ["pointerdown", "pointermove", "pointerup"];
return (
(r.toucheventstouch = {
start: e[0],
move: e[1],
end: e[2],
cancel: e[3]
}),
(r.toucheventsdesktop = { start: t[0], move: t[1], end: t[2] }),
r.support.touch || !r.params.simulatetouch
? r.toucheventstouch
: r.toucheventsdesktop
);
})(),
toucheventsdata: {
istouched: void 0,
ismoved: void 0,
allowtouchcallbacks: void 0,
touchstarttime: void 0,
isscrolling: void 0,
currenttranslate: void 0,
starttranslate: void 0,
allowthresholdmove: void 0,
focusableelements: r.params.focusableelements,
lastclicktime: u(),
clicktimeout: void 0,
velocities: [],
allowmomentumbounce: void 0,
istouchevent: void 0,
startmoving: void 0
},
allowclick: !0,
allowtouchmove: r.params.allowtouchmove,
touches: { startx: 0, starty: 0, currentx: 0, currenty: 0, diff: 0 },
imagestoload: [],
imagesloaded: 0
}),
r.emit("_swiper"),
r.params.init && r.init(),
r
);
}
enable() {
const e = this;
e.enabled ||
((e.enabled = !0),
e.params.grabcursor && e.setgrabcursor(),
e.emit("enable"));
}
disable() {
const e = this;
e.enabled &&
((e.enabled = !1),
e.params.grabcursor && e.unsetgrabcursor(),
e.emit("disable"));
}
setprogress(e, t) {
const s = this;
e = math.min(math.max(e, 0), 1);
const a = s.mintranslate(),
i = (s.maxtranslate() - a) * e + a;
s.translateto(i, void 0 === t ? 0 : t),
s.updateactiveindex(),
s.updateslidesclasses();
}
emitcontainerclasses() {
const e = this;
if (!e.params._emitclasses || !e.el) return;
const t = e.el.classname
.split(" ")
.filter(
(t) =>
0 === t.indexof("swiper") ||
0 === t.indexof(e.params.containermodifierclass)
);
e.emit("_containerclasses", t.join(" "));
}
getslideclasses(e) {
const t = this;
return t.destroyed
? ""
: e.classname
.split(" ")
.filter(
(e) =>
0 === e.indexof("swiper-slide") ||
0 === e.indexof(t.params.slideclass)
)
.join(" ");
}
emitslidesclasses() {
const e = this;
if (!e.params._emitclasses || !e.el) return;
const t = [];
e.slides.each((s) => {
const a = e.getslideclasses(s);
t.push({ slideel: s, classnames: a }), e.emit("_slideclass", s, a);
}),
e.emit("_slideclasses", t);
}
slidesperviewdynamic(e, t) {
void 0 === e && (e = "current"), void 0 === t && (t = !1);
const {
params: s,
slides: a,
slidesgrid: i,
slidessizesgrid: r,
size: n,
activeindex: l
} = this;
let o = 1;
if (s.centeredslides) {
let e,
t = a[l].swiperslidesize;
for (let s = l + 1; s < a.length; s += 1)
a[s] &&
!e &&
((t += a[s].swiperslidesize), (o += 1), t > n && (e = !0));
for (let s = l - 1; s >= 0; s -= 1)
a[s] &&
!e &&
((t += a[s].swiperslidesize), (o += 1), t > n && (e = !0));
} else if ("current" === e)
for (let e = l + 1; e < a.length; e += 1) {
(t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1);
}
else
for (let e = l - 1; e >= 0; e -= 1) {
i[l] - i[e] < n && (o += 1);
}
return o;
}
update() {
const e = this;
if (!e || e.destroyed) return;
const { snapgrid: t, params: s } = e;
function a() {
const t = e.rtltranslate ? -1 * e.translate : e.translate,
s = math.min(math.max(t, e.maxtranslate()), e.mintranslate());
e.settranslate(s), e.updateactiveindex(), e.updateslidesclasses();
}
let i;
s.breakpoints && e.setbreakpoint(),
e.updatesize(),
e.updateslides(),
e.updateprogress(),
e.updateslidesclasses(),
e.params.freemode && e.params.freemode.enabled
? (a(), e.params.autoheight && e.updateautoheight())
: ((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()),
s.watchoverflow && t !== e.snapgrid && e.checkoverflow(),
e.emit("update");
}
changedirection(e, t) {
void 0 === t && (t = !0);
const s = this,
a = s.params.direction;
return (
e || (e = "horizontal" === a ? "vertical" : "horizontal"),
e === a ||
("horizontal" !== e && "vertical" !== e) ||
(s.$el
.removeclass(`${s.params.containermodifierclass}${a}`)
.addclass(`${s.params.containermodifierclass}${e}`),
s.emitcontainerclasses(),
(s.params.direction = e),
s.slides.each((t) => {
"vertical" === e ? (t.style.width = "") : (t.style.height = "");
}),
s.emit("changedirection"),
t && s.update()),
s
);
}
changelanguagedirection(e) {
const t = this;
(t.rtl && "rtl" === e) ||
(!t.rtl && "ltr" === e) ||
((t.rtl = "rtl" === e),
(t.rtltranslate = "horizontal" === t.params.direction && t.rtl),
t.rtl
? (t.$el.addclass(`${t.params.containermodifierclass}rtl`),
(t.el.dir = "rtl"))
: (t.$el.removeclass(`${t.params.containermodifierclass}rtl`),
(t.el.dir = "ltr")),
t.update());
}
mount(e) {
const t = this;
if (t.mounted) return !0;
const s = d(e || t.params.el);
if (!(e = s[0])) return !1;
e.swiper = t;
const i = () =>
`.${(t.params.wrapperclass || "").trim().split(" ").join(".")}`;
let r = (() => {
if (e && e.shadowroot && e.shadowroot.queryselector) {
const t = d(e.shadowroot.queryselector(i()));
return (t.children = (e) => s.children(e)), t;
}
return s.children ? s.children(i()) : d(s).children(i());
})();
if (0 === r.length && t.params.createelements) {
const e = a().createelement("div");
(r = d(e)),
(e.classname = t.params.wrapperclass),
s.append(e),
s.children(`.${t.params.slideclass}`).each((e) => {
r.append(e);
});
}
return (
object.assign(t, {
$el: s,
el: e,
$wrapperel: r,
wrapperel: r[0],
mounted: !0,
rtl: "rtl" === e.dir.tolowercase() || "rtl" === s.css("direction"),
rtltranslate:
"horizontal" === t.params.direction &&
("rtl" === e.dir.tolowercase() || "rtl" === s.css("direction")),
wrongrtl: "-webkit-box" === r.css("display")
}),
!0
);
}
init(e) {
const t = this;
if (t.initialized) return t;
return (
!1 === t.mount(e) ||
(t.emit("beforeinit"),
t.params.breakpoints && t.setbreakpoint(),
t.addclasses(),
t.params.loop && t.loopcreate(),
t.updatesize(),
t.updateslides(),
t.params.watchoverflow && t.checkoverflow(),
t.params.grabcursor && t.enabled && t.setgrabcursor(),
t.params.preloadimages && t.preloadimages(),
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
),
t.attachevents(),
(t.initialized = !0),
t.emit("init"),
t.emit("afterinit")),
t
);
}
destroy(e, t) {
void 0 === e && (e = !0), void 0 === t && (t = !0);
const s = this,
{ params: a, $el: i, $wrapperel: r, slides: n } = s;
return (
void 0 === s.params ||
s.destroyed ||
(s.emit("beforedestroy"),
(s.initialized = !1),
s.detachevents(),
a.loop && s.loopdestroy(),
t &&
(s.removeclasses(),
i.removeattr("style"),
r.removeattr("style"),
n &&
n.length &&
n
.removeclass(
[
a.slidevisibleclass,
a.slideactiveclass,
a.slidenextclass,
a.slideprevclass
].join(" ")
)
.removeattr("style")
.removeattr("data-swiper-slide-index")),
s.emit("destroy"),
object.keys(s.eventslisteners).foreach((e) => {
s.off(e);
}),
!1 !== e &&
((s.$el[0].swiper = null),
(function (e) {
const t = e;
object.keys(t).foreach((e) => {
try {
t[e] = null;
} catch (e) {}
try {
delete t[e];
} catch (e) {}
});
})(s)),
(s.destroyed = !0)),
null
);
}
static extenddefaults(e) {
g(q, e);
}
static get extendeddefaults() {
return q;
}
static get defaults() {
return w;
}
static installmodule(e) {
v.prototype.__modules__ || (v.prototype.__modules__ = []);
const t = v.prototype.__modules__;
"function" == typeof e && t.indexof(e) < 0 && t.push(e);
}
static use(e) {
return array.isarray(e)
? (e.foreach((e) => v.installmodule(e)), v)
: (v.installmodule(e), v);
}
}
function f(e, t, s, i) {
const r = a();
return (
e.params.createelements &&
object.keys(i).foreach((a) => {
if (!s[a] && !0 === s.auto) {
let n = e.$el.children(`.${i[a]}`)[0];
n ||
((n = r.createelement("div")),
(n.classname = i[a]),
e.$el.append(n)),
(s[a] = n),
(t[a] = n);
}
}),
s
);
}
function u(e) {
return (
void 0 === e && (e = ""),
`.${e
.trim()
.replace(/([\.:!\/])/g, "\\$1")
.replace(/ /g, ".")}`
);
}
function k(e) {
const t = this,
{ $wrapperel: s, params: a } = t;
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]);
else s.append(e);
a.loop && t.loopcreate(), a.observer || t.update();
}
function z(e) {
const t = this,
{ params: s, $wrapperel: a, activeindex: i } = t;
s.loop && t.loopdestroy();
let r = i + 1;
if ("object" == typeof e && "length" in e) {
for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t]);
r = i + e.length;
} else a.prepend(e);
s.loop && t.loopcreate(), s.observer || t.update(), t.slideto(r, 0, !1);
}
function q(e, t) {
const s = this,
{ $wrapperel: a, params: i, activeindex: r } = s;
let n = r;
i.loop &&
((n -= s.loopedslides),
s.loopdestroy(),
(s.slides = a.children(`.${i.slideclass}`)));
const l = s.slides.length;
if (e <= 0) return void s.prependslide(t);
if (e >= l) return void s.appendslide(t);
let o = n > e ? n + 1 : n;
const d = [];
for (let t = l - 1; t >= e; t -= 1) {
const e = s.slides.eq(t);
e.remove(), d.unshift(e);
}
if ("object" == typeof t && "length" in t) {
for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e]);
o = n > e ? n + t.length : n;
} else a.append(t);
for (let e = 0; e < d.length; e += 1) a.append(d[e]);
i.loop && s.loopcreate(),
i.observer || s.update(),
i.loop ? s.slideto(o + s.loopedslides, 0, !1) : s.slideto(o, 0, !1);
}
function j(e) {
const t = this,
{ params: s, $wrapperel: a, activeindex: i } = t;
let r = i;
s.loop &&
((r -= t.loopedslides),
t.loopdestroy(),
(t.slides = a.children(`.${s.slideclass}`)));
let n,
l = r;
if ("object" == typeof e && "length" in e) {
for (let s = 0; s < e.length; s += 1)
(n = e[s]), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1);
l = math.max(l, 0);
} else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = math.max(l, 0));
s.loop && t.loopcreate(),
s.observer || t.update(),
s.loop ? t.slideto(l + t.loopedslides, 0, !1) : t.slideto(l, 0, !1);
}
function ee() {
const e = this,
t = [];
for (let s = 0; s < e.slides.length; s += 1) t.push(s);
e.removeslide(t);
}
function te(e) {
const {
effect: t,
swiper: s,
on: a,
settranslate: i,
settransition: r,
overwriteparams: n,
perspective: l,
recreateshadows: o,
geteffectparams: d
} = e;
let c;
a("beforeinit", () => {
if (s.params.effect !== t) return;
s.classnames.push(`${s.params.containermodifierclass}${t}`),
l && l() && s.classnames.push(`${s.params.containermodifierclass}3d`);
const e = n ? n() : {};
object.assign(s.params, e), object.assign(s.originalparams, e);
}),
a("settranslate", () => {
s.params.effect === t && i();
}),
a("settransition", (e, a) => {
s.params.effect === t && r(a);
}),
a("transitionend", () => {
if (s.params.effect === t && o) {
if (!d || !d().slideshadows) return;
s.slides.each((e) => {
s.$(e)
.find(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
)
.remove();
}),
o();
}
}),
a("virtualupdate", () => {
s.params.effect === t &&
(s.slides.length || (c = !0),
requestanimationframe(() => {
c && s.slides && s.slides.length && (i(), (c = !1));
}));
});
}
function se(e, t) {
return e.transformel
? t
.find(e.transformel)
.css({
"backface-visibility": "hidden",
"-webkit-backface-visibility": "hidden"
})
: t;
}
function ae(e) {
let { swiper: t, duration: s, transformel: a, allslides: i } = e;
const { slides: r, activeindex: n, $wrapperel: l } = t;
if (t.params.virtualtranslate && 0 !== s) {
let e,
s = !1;
(e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)),
e.transitionend(() => {
if (s) return;
if (!t || t.destroyed) return;
(s = !0), (t.animating = !1);
const e = ["webkittransitionend", "transitionend"];
for (let t = 0; t < e.length; t += 1) l.trigger(e[t]);
});
}
}
function ie(e, t, s) {
const a = "swiper-slide-shadow" + (s ? `-${s}` : ""),
i = e.transformel ? t.find(e.transformel) : t;
let r = i.children(`.${a}`);
return (
r.length ||
((r = d(``)),
i.append(r)),
r
);
}
object.keys(_).foreach((e) => {
object.keys(_[e]).foreach((t) => {
v.prototype[t] = _[e][t];
});
}),
v.use([
function (e) {
let { swiper: t, on: s, emit: a } = e;
const i = r();
let n = null,
l = null;
const o = () => {
t &&
!t.destroyed &&
t.initialized &&
(a("beforeresize"), a("resize"));
},
d = () => {
t && !t.destroyed && t.initialized && a("orientationchange");
};
s("init", () => {
t.params.resizeobserver && void 0 !== i.resizeobserver
? t &&
!t.destroyed &&
t.initialized &&
((n = new resizeobserver((e) => {
l = i.requestanimationframe(() => {
const { width: s, height: a } = t;
let i = s,
r = a;
e.foreach((e) => {
let { contentboxsize: s, contentrect: a, target: n } = e;
(n && n !== t.el) ||
((i = a ? a.width : (s[0] || s).inlinesize),
(r = a ? a.height : (s[0] || s).blocksize));
}),
(i === s && r === a) || o();
});
})),
n.observe(t.el))
: (i.addeventlistener("resize", o),
i.addeventlistener("orientationchange", d));
}),
s("destroy", () => {
l && i.cancelanimationframe(l),
n && n.unobserve && t.el && (n.unobserve(t.el), (n = null)),
i.removeeventlistener("resize", o),
i.removeeventlistener("orientationchange", d);
});
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
const n = [],
l = r(),
o = function (e, t) {
void 0 === t && (t = {});
const s = new (l.mutationobserver || l.webkitmutationobserver)(
(e) => {
if (1 === e.length) return void i("observerupdate", e[0]);
const t = function () {
i("observerupdate", e[0]);
};
l.requestanimationframe
? l.requestanimationframe(t)
: l.settimeout(t, 0);
}
);
s.observe(e, {
attributes: void 0 === t.attributes || t.attributes,
childlist: void 0 === t.childlist || t.childlist,
characterdata: void 0 === t.characterdata || t.characterdata
}),
n.push(s);
};
s({ observer: !1, observeparents: !1, observeslidechildren: !1 }),
a("init", () => {
if (t.params.observer) {
if (t.params.observeparents) {
const e = t.$el.parents();
for (let t = 0; t < e.length; t += 1) o(e[t]);
}
o(t.$el[0], { childlist: t.params.observeslidechildren }),
o(t.$wrapperel[0], { attributes: !1 });
}
}),
a("destroy", () => {
n.foreach((e) => {
e.disconnect();
}),
n.splice(0, n.length);
});
}
]);
const re = [
function (e) {
let t,
{ swiper: s, extendparams: a, on: i, emit: r } = e;
function n(e, t) {
const a = s.params.virtual;
if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t];
const i = a.renderslide
? d(a.renderslide.call(s, e, t))
: d(
`${e}
`
);
return (
i.attr("data-swiper-slide-index") ||
i.attr("data-swiper-slide-index", t),
a.cache && (s.virtual.cache[t] = i),
i
);
}
function l(e) {
const {
slidesperview: t,
slidespergroup: a,
centeredslides: i
} = s.params,
{ addslidesbefore: l, addslidesafter: o } = s.params.virtual,
{ from: d, to: c, slides: p, slidesgrid: u, offset: h } = s.virtual;
s.params.cssmode || s.updateactiveindex();
const m = s.activeindex || 0;
let f, g, v;
(f = s.rtltranslate ? "right" : s.ishorizontal() ? "left" : "top"),
i
? ((g = math.floor(t / 2) + a + o), (v = math.floor(t / 2) + a + l))
: ((g = t + (a - 1) + o), (v = a + l));
const w = math.max((m || 0) - v, 0),
b = math.min((m || 0) + g, p.length - 1),
x = (s.slidesgrid[w] || 0) - (s.slidesgrid[0] || 0);
function y() {
s.updateslides(),
s.updateprogress(),
s.updateslidesclasses(),
s.lazy && s.params.lazy.enabled && s.lazy.load(),
r("virtualupdate");
}
if (
(object.assign(s.virtual, {
from: w,
to: b,
offset: x,
slidesgrid: s.slidesgrid
}),
d === w && c === b && !e)
)
return (
s.slidesgrid !== u && x !== h && s.slides.css(f, `${x}px`),
s.updateprogress(),
void r("virtualupdate")
);
if (s.params.virtual.renderexternal)
return (
s.params.virtual.renderexternal.call(s, {
offset: x,
from: w,
to: b,
slides: (function () {
const e = [];
for (let t = w; t <= b; t += 1) e.push(p[t]);
return e;
})()
}),
void (s.params.virtual.renderexternalupdate
? y()
: r("virtualupdate"))
);
const e = [],
c = [];
if (e) s.$wrapperel.find(`.${s.params.slideclass}`).remove();
else
for (let e = d; e <= c; e += 1)
(e < w || e > b) &&
s.$wrapperel
.find(`.${s.params.slideclass}[data-swiper-slide-index="${e}"]`)
.remove();
for (let t = 0; t < p.length; t += 1)
t >= w &&
t <= b &&
(void 0 === c || e
? c.push(t)
: (t > c && c.push(t), t < d && e.push(t)));
c.foreach((e) => {
s.$wrapperel.append(n(p[e], e));
}),
e.sort((e, t) => t - e).foreach((e) => {
s.$wrapperel.prepend(n(p[e], e));
}),
s.$wrapperel.children(".swiper-slide").css(f, `${x}px`),
y();
}
a({
virtual: {
enabled: !1,
slides: [],
cache: !0,
renderslide: null,
renderexternal: null,
renderexternalupdate: !0,
addslidesbefore: 0,
addslidesafter: 0
}
}),
(s.virtual = {
cache: {},
from: void 0,
to: void 0,
slides: [],
offset: 0,
slidesgrid: []
}),
i("beforeinit", () => {
s.params.virtual.enabled &&
((s.virtual.slides = s.params.virtual.slides),
s.classnames.push(`${s.params.containermodifierclass}virtual`),
(s.params.watchslidesprogress = !0),
(s.originalparams.watchslidesprogress = !0),
s.params.initialslide || l());
}),
i("settranslate", () => {
s.params.virtual.enabled &&
(s.params.cssmode && !s._immediatevirtual
? (cleartimeout(t),
(t = settimeout(() => {
l();
}, 100)))
: l());
}),
i("init update resize", () => {
s.params.virtual.enabled &&
s.params.cssmode &&
v(s.wrapperel, "--swiper-virtual-size", `${s.virtualsize}px`);
}),
object.assign(s.virtual, {
appendslide: function (e) {
if ("object" == typeof e && "length" in e)
for (let t = 0; t < e.length; t += 1)
e[t] && s.virtual.slides.push(e[t]);
else s.virtual.slides.push(e);
l(!0);
},
prependslide: function (e) {
const t = s.activeindex;
let a = t + 1,
i = 1;
if (array.isarray(e)) {
for (let t = 0; t < e.length; t += 1)
e[t] && s.virtual.slides.unshift(e[t]);
(a = t + e.length), (i = e.length);
} else s.virtual.slides.unshift(e);
if (s.params.virtual.cache) {
const e = s.virtual.cache,
t = {};
object.keys(e).foreach((s) => {
const a = e[s],
r = a.attr("data-swiper-slide-index");
r && a.attr("data-swiper-slide-index", parseint(r, 10) + i),
(t[parseint(s, 10) + i] = a);
}),
(s.virtual.cache = t);
}
l(!0), s.slideto(a, 0);
},
removeslide: function (e) {
if (null == e) return;
let t = s.activeindex;
if (array.isarray(e))
for (let a = e.length - 1; a >= 0; a -= 1)
s.virtual.slides.splice(e[a], 1),
s.params.virtual.cache && delete s.virtual.cache[e[a]],
e[a] < t && (t -= 1),
(t = math.max(t, 0));
else
s.virtual.slides.splice(e, 1),
s.params.virtual.cache && delete s.virtual.cache[e],
e < t && (t -= 1),
(t = math.max(t, 0));
l(!0), s.slideto(t, 0);
},
removeallslides: function () {
(s.virtual.slides = []),
s.params.virtual.cache && (s.virtual.cache = {}),
l(!0),
s.slideto(0, 0);
},
update: l
});
},
function (e) {
let { swiper: t, extendparams: s, on: i, emit: n } = e;
const l = a(),
o = r();
function c(e) {
if (!t.enabled) return;
const { rtltranslate: s } = t;
let a = e;
a.originalevent && (a = a.originalevent);
const i = a.keycode || a.charcode,
r = t.params.keyboard.pageupdown,
d = r && 33 === i,
c = r && 34 === i,
p = 37 === i,
u = 39 === i,
h = 38 === i,
m = 40 === i;
if (
!t.allowslidenext &&
((t.ishorizontal() && u) || (t.isvertical() && m) || c)
)
return !1;
if (
!t.allowslideprev &&
((t.ishorizontal() && p) || (t.isvertical() && h) || d)
)
return !1;
if (
!(
a.shiftkey ||
a.altkey ||
a.ctrlkey ||
a.metakey ||
(l.activeelement &&
l.activeelement.nodename &&
("input" === l.activeelement.nodename.tolowercase() ||
"textarea" === l.activeelement.nodename.tolowercase()))
)
) {
if (
t.params.keyboard.onlyinviewport &&
(d || c || p || u || h || m)
) {
let e = !1;
if (
t.$el.parents(`.${t.params.slideclass}`).length > 0 &&
0 === t.$el.parents(`.${t.params.slideactiveclass}`).length
)
return;
const a = t.$el,
i = a[0].clientwidth,
r = a[0].clientheight,
n = o.innerwidth,
l = o.innerheight,
d = t.$el.offset();
s && (d.left -= t.$el[0].scrollleft);
const c = [
[d.left, d.top],
[d.left + i, d.top],
[d.left, d.top + r],
[d.left + i, d.top + r]
];
for (let t = 0; t < c.length; t += 1) {
const s = c[t];
if (s[0] >= 0 && s[0] <= n && s[1] >= 0 && s[1] <= l) {
if (0 === s[0] && 0 === s[1]) continue;
e = !0;
}
}
if (!e) return;
}
t.ishorizontal()
? ((d || c || p || u) &&
(a.preventdefault ? a.preventdefault() : (a.returnvalue = !1)),
(((c || u) && !s) || ((d || p) && s)) && t.slidenext(),
(((d || p) && !s) || ((c || u) && s)) && t.slideprev())
: ((d || c || h || m) &&
(a.preventdefault ? a.preventdefault() : (a.returnvalue = !1)),
(c || m) && t.slidenext(),
(d || h) && t.slideprev()),
n("keypress", i);
}
}
function p() {
t.keyboard.enabled ||
(d(l).on("keydown", c), (t.keyboard.enabled = !0));
}
function u() {
t.keyboard.enabled &&
(d(l).off("keydown", c), (t.keyboard.enabled = !1));
}
(t.keyboard = { enabled: !1 }),
s({ keyboard: { enabled: !1, onlyinviewport: !0, pageupdown: !0 } }),
i("init", () => {
t.params.keyboard.enabled && p();
}),
i("destroy", () => {
t.keyboard.enabled && u();
}),
object.assign(t.keyboard, { enable: p, disable: u });
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
const n = r();
let l;
s({
mousewheel: {
enabled: !1,
releaseonedges: !1,
invert: !1,
forcetoaxis: !1,
sensitivity: 1,
eventstarget: "container",
thresholddelta: null,
thresholdtime: null
}
}),
(t.mousewheel = { enabled: !1 });
let o,
c = u();
const h = [];
function m() {
t.enabled && (t.mouseentered = !0);
}
function f() {
t.enabled && (t.mouseentered = !1);
}
function g(e) {
return (
!(
t.params.mousewheel.thresholddelta &&
e.delta < t.params.mousewheel.thresholddelta
) &&
!(
t.params.mousewheel.thresholdtime &&
u() - c < t.params.mousewheel.thresholdtime
) &&
((e.delta >= 6 && u() - c < 60) ||
(e.direction < 0
? (t.isend && !t.params.loop) ||
t.animating ||
(t.slidenext(), i("scroll", e.raw))
: (t.isbeginning && !t.params.loop) ||
t.animating ||
(t.slideprev(), i("scroll", e.raw)),
(c = new n.date().gettime()),
!1))
);
}
function v(e) {
let s = e,
a = !0;
if (!t.enabled) return;
const r = t.params.mousewheel;
t.params.cssmode && s.preventdefault();
let n = t.$el;
if (
("container" !== t.params.mousewheel.eventstarget &&
(n = d(t.params.mousewheel.eventstarget)),
!t.mouseentered && !n[0].contains(s.target) && !r.releaseonedges)
)
return !0;
s.originalevent && (s = s.originalevent);
let c = 0;
const m = t.rtltranslate ? -1 : 1,
f = (function (e) {
let t = 0,
s = 0,
a = 0,
i = 0;
return (
"detail" in e && (s = e.detail),
"wheeldelta" in e && (s = -e.wheeldelta / 120),
"wheeldeltay" in e && (s = -e.wheeldeltay / 120),
"wheeldeltax" in e && (t = -e.wheeldeltax / 120),
"axis" in e && e.axis === e.horizontal_axis && ((t = s), (s = 0)),
(a = 10 * t),
(i = 10 * s),
"deltay" in e && (i = e.deltay),
"deltax" in e && (a = e.deltax),
e.shiftkey && !a && ((a = i), (i = 0)),
(a || i) &&
e.deltamode &&
(1 === e.deltamode
? ((a *= 40), (i *= 40))
: ((a *= 800), (i *= 800))),
a && !t && (t = a < 1 ? -1 : 1),
i && !s && (s = i < 1 ? -1 : 1),
{ spinx: t, spiny: s, pixelx: a, pixely: i }
);
})(s);
if (r.forcetoaxis)
if (t.ishorizontal()) {
if (!(math.abs(f.pixelx) > math.abs(f.pixely))) return !0;
c = -f.pixelx * m;
} else {
if (!(math.abs(f.pixely) > math.abs(f.pixelx))) return !0;
c = -f.pixely;
}
else
c =
math.abs(f.pixelx) > math.abs(f.pixely) ? -f.pixelx * m : -f.pixely;
if (0 === c) return !0;
r.invert && (c = -c);
let v = t.gettranslate() + c * r.sensitivity;
if (
(v >= t.mintranslate() && (v = t.mintranslate()),
v <= t.maxtranslate() && (v = t.maxtranslate()),
(a =
!!t.params.loop ||
!(v === t.mintranslate() || v === t.maxtranslate())),
a && t.params.nested && s.stoppropagation(),
t.params.freemode && t.params.freemode.enabled)
) {
const e = { time: u(), delta: math.abs(c), direction: math.sign(c) },
a =
o &&
e.time < o.time + 500 &&
e.delta <= o.delta &&
e.direction === o.direction;
if (!a) {
(o = void 0), t.params.loop && t.loopfix();
let n = t.gettranslate() + c * r.sensitivity;
const d = t.isbeginning,
u = t.isend;
if (
(n >= t.mintranslate() && (n = t.mintranslate()),
n <= t.maxtranslate() && (n = t.maxtranslate()),
t.settransition(0),
t.settranslate(n),
t.updateprogress(),
t.updateactiveindex(),
t.updateslidesclasses(),
((!d && t.isbeginning) || (!u && t.isend)) &&
t.updateslidesclasses(),
t.params.freemode.sticky)
) {
cleartimeout(l), (l = void 0), h.length >= 15 && h.shift();
const s = h.length ? h[h.length - 1] : void 0,
a = h[0];
if (
(h.push(e),
s && (e.delta > s.delta || e.direction !== s.direction))
)
h.splice(0);
else if (
h.length >= 15 &&
e.time - a.time < 500 &&
a.delta - e.delta >= 1 &&
e.delta <= 6
) {
const s = c > 0 ? 0.8 : 0.2;
(o = e),
h.splice(0),
(l = p(() => {
t.slidetoclosest(t.params.speed, !0, void 0, s);
}, 0));
}
l ||
(l = p(() => {
(o = e),
h.splice(0),
t.slidetoclosest(t.params.speed, !0, void 0, 0.5);
}, 500));
}
if (
(a || i("scroll", s),
t.params.autoplay &&
t.params.autoplaydisableoninteraction &&
t.autoplay.stop(),
n === t.mintranslate() || n === t.maxtranslate())
)
return !0;
}
} else {
const s = {
time: u(),
delta: math.abs(c),
direction: math.sign(c),
raw: e
};
h.length >= 2 && h.shift();
const a = h.length ? h[h.length - 1] : void 0;
if (
(h.push(s),
a
? (s.direction !== a.direction ||
s.delta > a.delta ||
s.time > a.time + 150) &&
g(s)
: g(s),
(function (e) {
const s = t.params.mousewheel;
if (e.direction < 0) {
if (t.isend && !t.params.loop && s.releaseonedges) return !0;
} else if (t.isbeginning && !t.params.loop && s.releaseonedges)
return !0;
return !1;
})(s))
)
return !0;
}
return s.preventdefault ? s.preventdefault() : (s.returnvalue = !1), !1;
}
function w(e) {
let s = t.$el;
"container" !== t.params.mousewheel.eventstarget &&
(s = d(t.params.mousewheel.eventstarget)),
s[e]("mouseenter", m),
s[e]("mouseleave", f),
s[e]("wheel", v);
}
function b() {
return t.params.cssmode
? (t.wrapperel.removeeventlistener("wheel", v), !0)
: !t.mousewheel.enabled && (w("on"), (t.mousewheel.enabled = !0), !0);
}
function x() {
return t.params.cssmode
? (t.wrapperel.addeventlistener(event, v), !0)
: !!t.mousewheel.enabled &&
(w("off"), (t.mousewheel.enabled = !1), !0);
}
a("init", () => {
!t.params.mousewheel.enabled && t.params.cssmode && x(),
t.params.mousewheel.enabled && b();
}),
a("destroy", () => {
t.params.cssmode && b(), t.mousewheel.enabled && x();
}),
object.assign(t.mousewheel, { enable: b, disable: x });
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
function r(e) {
let s;
return (
e &&
((s = d(e)),
t.params.uniquenavelements &&
"string" == typeof e &&
s.length > 1 &&
1 === t.$el.find(e).length &&
(s = t.$el.find(e))),
s
);
}
function n(e, s) {
const a = t.params.navigation;
e &&
e.length > 0 &&
(e[s ? "addclass" : "removeclass"](a.disabledclass),
e[0] && "button" === e[0].tagname && (e[0].disabled = s),
t.params.watchoverflow &&
t.enabled &&
e[t.islocked ? "addclass" : "removeclass"](a.lockclass));
}
function l() {
if (t.params.loop) return;
const { $nextel: e, $prevel: s } = t.navigation;
n(s, t.isbeginning && !t.params.rewind),
n(e, t.isend && !t.params.rewind);
}
function o(e) {
e.preventdefault(),
(!t.isbeginning || t.params.loop || t.params.rewind) &&
(t.slideprev(), i("navigationprev"));
}
function c(e) {
e.preventdefault(),
(!t.isend || t.params.loop || t.params.rewind) &&
(t.slidenext(), i("navigationnext"));
}
function p() {
const e = t.params.navigation;
if (
((t.params.navigation = f(
t,
t.originalparams.navigation,
t.params.navigation,
{ nextel: "swiper-button-next", prevel: "swiper-button-prev" }
)),
!e.nextel && !e.prevel)
)
return;
const s = r(e.nextel),
a = r(e.prevel);
s && s.length > 0 && s.on("click", c),
a && a.length > 0 && a.on("click", o),
object.assign(t.navigation, {
$nextel: s,
nextel: s && s[0],
$prevel: a,
prevel: a && a[0]
}),
t.enabled ||
(s && s.addclass(e.lockclass), a && a.addclass(e.lockclass));
}
function u() {
const { $nextel: e, $prevel: s } = t.navigation;
e &&
e.length &&
(e.off("click", c), e.removeclass(t.params.navigation.disabledclass)),
s &&
s.length &&
(s.off("click", o),
s.removeclass(t.params.navigation.disabledclass));
}
s({
navigation: {
nextel: null,
prevel: null,
hideonclick: !1,
disabledclass: "swiper-button-disabled",
hiddenclass: "swiper-button-hidden",
lockclass: "swiper-button-lock",
navigationdisabledclass: "swiper-navigation-disabled"
}
}),
(t.navigation = {
nextel: null,
$nextel: null,
prevel: null,
$prevel: null
}),
a("init", () => {
!1 === t.params.navigation.enabled ? h() : (p(), l());
}),
a("toedge fromedge lock unlock", () => {
l();
}),
a("destroy", () => {
u();
}),
a("enable disable", () => {
const { $nextel: e, $prevel: s } = t.navigation;
e &&
e[t.enabled ? "removeclass" : "addclass"](
t.params.navigation.lockclass
),
s &&
s[t.enabled ? "removeclass" : "addclass"](
t.params.navigation.lockclass
);
}),
a("click", (e, s) => {
const { $nextel: a, $prevel: r } = t.navigation,
n = s.target;
if (t.params.navigation.hideonclick && !d(n).is(r) && !d(n).is(a)) {
if (
t.pagination &&
t.params.pagination &&
t.params.pagination.clickable &&
(t.pagination.el === n || t.pagination.el.contains(n))
)
return;
let e;
a
? (e = a.hasclass(t.params.navigation.hiddenclass))
: r && (e = r.hasclass(t.params.navigation.hiddenclass)),
i(!0 === e ? "navigationshow" : "navigationhide"),
a && a.toggleclass(t.params.navigation.hiddenclass),
r && r.toggleclass(t.params.navigation.hiddenclass);
}
});
const h = () => {
t.$el.addclass(t.params.navigation.navigationdisabledclass), u();
};
object.assign(t.navigation, {
enable: () => {
t.$el.removeclass(t.params.navigation.navigationdisabledclass),
p(),
l();
},
disable: h,
update: l,
init: p,
destroy: u
});
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
const r = "swiper-pagination";
let n;
s({
pagination: {
el: null,
bulletelement: "span",
clickable: !1,
hideonclick: !1,
renderbullet: null,
renderprogressbar: null,
renderfraction: null,
rendercustom: null,
progressbaropposite: !1,
type: "bullets",
dynamicbullets: !1,
dynamicmainbullets: 1,
formatfractioncurrent: (e) => e,
formatfractiontotal: (e) => e,
bulletclass: `${r}-bullet`,
bulletactiveclass: `${r}-bullet-active`,
modifierclass: `${r}-`,
currentclass: `${r}-current`,
totalclass: `${r}-total`,
hiddenclass: `${r}-hidden`,
progressbarfillclass: `${r}-progressbar-fill`,
progressbaroppositeclass: `${r}-progressbar-opposite`,
clickableclass: `${r}-clickable`,
lockclass: `${r}-lock`,
horizontalclass: `${r}-horizontal`,
verticalclass: `${r}-vertical`,
paginationdisabledclass: `${r}-disabled`
}
}),
(t.pagination = { el: null, $el: null, bullets: [] });
let l = 0;
function o() {
return (
!t.params.pagination.el ||
!t.pagination.el ||
!t.pagination.$el ||
0 === t.pagination.$el.length
);
}
function c(e, s) {
const { bulletactiveclass: a } = t.params.pagination;
e[s]().addclass(`${a}-${s}`)[s]().addclass(`${a}-${s}-${s}`);
}
function p() {
const e = t.rtl,
s = t.params.pagination;
if (o()) return;
const a =
t.virtual && t.params.virtual.enabled
? t.virtual.slides.length
: t.slides.length,
r = t.pagination.$el;
let p;
const u = t.params.loop
? math.ceil((a - 2 * t.loopedslides) / t.params.slidespergroup)
: t.snapgrid.length;
if (
(t.params.loop
? ((p = math.ceil(
(t.activeindex - t.loopedslides) / t.params.slidespergroup
)),
p > a - 1 - 2 * t.loopedslides && (p -= a - 2 * t.loopedslides),
p > u - 1 && (p -= u),
p < 0 && "bullets" !== t.params.paginationtype && (p = u + p))
: (p = void 0 !== t.snapindex ? t.snapindex : t.activeindex || 0),
"bullets" === s.type &&
t.pagination.bullets &&
t.pagination.bullets.length > 0)
) {
const a = t.pagination.bullets;
let i, o, u;
if (
(s.dynamicbullets &&
((n = a
.eq(0)
[t.ishorizontal() ? "outerwidth" : "outerheight"](!0)),
r.css(
t.ishorizontal() ? "width" : "height",
n * (s.dynamicmainbullets + 4) + "px"
),
s.dynamicmainbullets > 1 &&
void 0 !== t.previousindex &&
((l += p - (t.previousindex - t.loopedslides || 0)),
l > s.dynamicmainbullets - 1
? (l = s.dynamicmainbullets - 1)
: l < 0 && (l = 0)),
(i = math.max(p - l, 0)),
(o = i + (math.min(a.length, s.dynamicmainbullets) - 1)),
(u = (o + i) / 2)),
a.removeclass(
["", "-next", "-next-next", "-prev", "-prev-prev", "-main"]
.map((e) => `${s.bulletactiveclass}${e}`)
.join(" ")
),
r.length > 1)
)
a.each((e) => {
const t = d(e),
a = t.index();
a === p && t.addclass(s.bulletactiveclass),
s.dynamicbullets &&
(a >= i &&
a <= o &&
t.addclass(`${s.bulletactiveclass}-main`),
a === i && c(t, "prev"),
a === o && c(t, "next"));
});
else {
const e = a.eq(p),
r = e.index();
if ((e.addclass(s.bulletactiveclass), s.dynamicbullets)) {
const e = a.eq(i),
n = a.eq(o);
for (let e = i; e <= o; e += 1)
a.eq(e).addclass(`${s.bulletactiveclass}-main`);
if (t.params.loop)
if (r >= a.length) {
for (let e = s.dynamicmainbullets; e >= 0; e -= 1)
a.eq(a.length - e).addclass(`${s.bulletactiveclass}-main`);
a.eq(a.length - s.dynamicmainbullets - 1).addclass(
`${s.bulletactiveclass}-prev`
);
} else c(e, "prev"), c(n, "next");
else c(e, "prev"), c(n, "next");
}
}
if (s.dynamicbullets) {
const i = math.min(a.length, s.dynamicmainbullets + 4),
r = (n * i - n) / 2 - u * n,
l = e ? "right" : "left";
a.css(t.ishorizontal() ? l : "top", `${r}px`);
}
}
if (
("fraction" === s.type &&
(r.find(u(s.currentclass)).text(s.formatfractioncurrent(p + 1)),
r.find(u(s.totalclass)).text(s.formatfractiontotal(u))),
"progressbar" === s.type)
) {
let e;
e = s.progressbaropposite
? t.ishorizontal()
? "vertical"
: "horizontal"
: t.ishorizontal()
? "horizontal"
: "vertical";
const a = (p + 1) / u;
let i = 1,
n = 1;
"horizontal" === e ? (i = a) : (n = a),
r
.find(u(s.progressbarfillclass))
.transform(`translate3d(0,0,0) scalex(${i}) scaley(${n})`)
.transition(t.params.speed);
}
"custom" === s.type && s.rendercustom
? (r.html(s.rendercustom(t, p + 1, u)), i("paginationrender", r[0]))
: i("paginationupdate", r[0]),
t.params.watchoverflow &&
t.enabled &&
r[t.islocked ? "addclass" : "removeclass"](s.lockclass);
}
function u() {
const e = t.params.pagination;
if (o()) return;
const s =
t.virtual && t.params.virtual.enabled
? t.virtual.slides.length
: t.slides.length,
a = t.pagination.$el;
let r = "";
if ("bullets" === e.type) {
let i = t.params.loop
? math.ceil((s - 2 * t.loopedslides) / t.params.slidespergroup)
: t.snapgrid.length;
t.params.freemode &&
t.params.freemode.enabled &&
!t.params.loop &&
i > s &&
(i = s);
for (let s = 0; s < i; s += 1)
e.renderbullet
? (r += e.renderbullet.call(t, s, e.bulletclass))
: (r += `<${e.bulletelement} class="${e.bulletclass}">${e.bulletelement}>`);
a.html(r), (t.pagination.bullets = a.find(u(e.bulletclass)));
}
"fraction" === e.type &&
((r = e.renderfraction
? e.renderfraction.call(t, e.currentclass, e.totalclass)
: ` / `),
a.html(r)),
"progressbar" === e.type &&
((r = e.renderprogressbar
? e.renderprogressbar.call(t, e.progressbarfillclass)
: ``),
a.html(r)),
"custom" !== e.type && i("paginationrender", t.pagination.$el[0]);
}
function h() {
t.params.pagination = f(
t,
t.originalparams.pagination,
t.params.pagination,
{ el: "swiper-pagination" }
);
const e = t.params.pagination;
if (!e.el) return;
let s = d(e.el);
0 !== s.length &&
(t.params.uniquenavelements &&
"string" == typeof e.el &&
s.length > 1 &&
((s = t.$el.find(e.el)),
s.length > 1 &&
(s = s.filter((e) => d(e).parents(".swiper")[0] === t.el))),
"bullets" === e.type && e.clickable && s.addclass(e.clickableclass),
s.addclass(e.modifierclass + e.type),
s.addclass(t.ishorizontal() ? e.horizontalclass : e.verticalclass),
"bullets" === e.type &&
e.dynamicbullets &&
(s.addclass(`${e.modifierclass}${e.type}-dynamic`),
(l = 0),
e.dynamicmainbullets < 1 && (e.dynamicmainbullets = 1)),
"progressbar" === e.type &&
e.progressbaropposite &&
s.addclass(e.progressbaroppositeclass),
e.clickable &&
s.on("click", u(e.bulletclass), function (e) {
e.preventdefault();
let s = d(this).index() * t.params.slidespergroup;
t.params.loop && (s += t.loopedslides), t.slideto(s);
}),
object.assign(t.pagination, { $el: s, el: s[0] }),
t.enabled || s.addclass(e.lockclass));
}
function m() {
const e = t.params.pagination;
if (o()) return;
const s = t.pagination.$el;
s.removeclass(e.hiddenclass),
s.removeclass(e.modifierclass + e.type),
s.removeclass(t.ishorizontal() ? e.horizontalclass : e.verticalclass),
t.pagination.bullets &&
t.pagination.bullets.removeclass &&
t.pagination.bullets.removeclass(e.bulletactiveclass),
e.clickable && s.off("click", u(e.bulletclass));
}
a("init", () => {
!1 === t.params.pagination.enabled ? f() : (h(), u(), p());
}),
a("activeindexchange", () => {
(t.params.loop || void 0 === t.snapindex) && p();
}),
a("snapindexchange", () => {
t.params.loop || p();
}),
a("slideslengthchange", () => {
t.params.loop && (u(), p());
}),
a("snapgridlengthchange", () => {
t.params.loop || (u(), p());
}),
a("destroy", () => {
m();
}),
a("enable disable", () => {
const { $el: e } = t.pagination;
e &&
e[t.enabled ? "removeclass" : "addclass"](
t.params.pagination.lockclass
);
}),
a("lock unlock", () => {
p();
}),
a("click", (e, s) => {
const a = s.target,
{ $el: r } = t.pagination;
if (
t.params.pagination.el &&
t.params.pagination.hideonclick &&
r &&
r.length > 0 &&
!d(a).hasclass(t.params.pagination.bulletclass)
) {
if (
t.navigation &&
((t.navigation.nextel && a === t.navigation.nextel) ||
(t.navigation.prevel && a === t.navigation.prevel))
)
return;
const e = r.hasclass(t.params.pagination.hiddenclass);
i(!0 === e ? "paginationshow" : "paginationhide"),
r.toggleclass(t.params.pagination.hiddenclass);
}
});
const f = () => {
t.$el.addclass(t.params.pagination.paginationdisabledclass),
t.pagination.$el &&
t.pagination.$el.addclass(
t.params.pagination.paginationdisabledclass
),
m();
};
object.assign(t.pagination, {
enable: () => {
t.$el.removeclass(t.params.pagination.paginationdisabledclass),
t.pagination.$el &&
t.pagination.$el.removeclass(
t.params.pagination.paginationdisabledclass
),
h(),
u(),
p();
},
disable: f,
render: u,
update: p,
init: h,
destroy: m
});
},
function (e) {
let { swiper: t, extendparams: s, on: i, emit: r } = e;
const n = a();
let l,
o,
c,
u,
h = !1,
m = null,
f = null;
function g() {
if (!t.params.scrollbar.el || !t.scrollbar.el) return;
const { scrollbar: e, rtltranslate: s, progress: a } = t,
{ $dragel: i, $el: r } = e,
n = t.params.scrollbar;
let l = o,
d = (c - o) * a;
s
? ((d = -d),
d > 0 ? ((l = o - d), (d = 0)) : -d + o > c && (l = c + d))
: d < 0
? ((l = o + d), (d = 0))
: d + o > c && (l = c - d),
t.ishorizontal()
? (i.transform(`translate3d(${d}px, 0, 0)`),
(i[0].style.width = `${l}px`))
: (i.transform(`translate3d(0px, ${d}px, 0)`),
(i[0].style.height = `${l}px`)),
n.hide &&
(cleartimeout(m),
(r[0].style.opacity = 1),
(m = settimeout(() => {
(r[0].style.opacity = 0), r.transition(400);
}, 1e3)));
}
function v() {
if (!t.params.scrollbar.el || !t.scrollbar.el) return;
const { scrollbar: e } = t,
{ $dragel: s, $el: a } = e;
(s[0].style.width = ""),
(s[0].style.height = ""),
(c = t.ishorizontal() ? a[0].offsetwidth : a[0].offsetheight),
(u =
t.size /
(t.virtualsize +
t.params.slidesoffsetbefore -
(t.params.centeredslides ? t.snapgrid[0] : 0))),
(o =
"auto" === t.params.scrollbar.dragsize
? c * u
: parseint(t.params.scrollbar.dragsize, 10)),
t.ishorizontal()
? (s[0].style.width = `${o}px`)
: (s[0].style.height = `${o}px`),
(a[0].style.display = u >= 1 ? "none" : ""),
t.params.scrollbar.hide && (a[0].style.opacity = 0),
t.params.watchoverflow &&
t.enabled &&
e.$el[t.islocked ? "addclass" : "removeclass"](
t.params.scrollbar.lockclass
);
}
function w(e) {
return t.ishorizontal()
? "touchstart" === e.type || "touchmove" === e.type
? e.targettouches[0].clientx
: e.clientx
: "touchstart" === e.type || "touchmove" === e.type
? e.targettouches[0].clienty
: e.clienty;
}
function b(e) {
const { scrollbar: s, rtltranslate: a } = t,
{ $el: i } = s;
let r;
(r =
(w(e) -
i.offset()[t.ishorizontal() ? "left" : "top"] -
(null !== l ? l : o / 2)) /
(c - o)),
(r = math.max(math.min(r, 1), 0)),
a && (r = 1 - r);
const n = t.mintranslate() + (t.maxtranslate() - t.mintranslate()) * r;
t.updateprogress(n),
t.settranslate(n),
t.updateactiveindex(),
t.updateslidesclasses();
}
function x(e) {
const s = t.params.scrollbar,
{ scrollbar: a, $wrapperel: i } = t,
{ $el: n, $dragel: o } = a;
(h = !0),
(l =
e.target === o[0] || e.target === o
? w(e) -
e.target.getboundingclientrect()[
t.ishorizontal() ? "left" : "top"
]
: null),
e.preventdefault(),
e.stoppropagation(),
i.transition(100),
o.transition(100),
b(e),
cleartimeout(f),
n.transition(0),
s.hide && n.css("opacity", 1),
t.params.cssmode && t.$wrapperel.css("scroll-snap-type", "none"),
r("scrollbardragstart", e);
}
function y(e) {
const { scrollbar: s, $wrapperel: a } = t,
{ $el: i, $dragel: n } = s;
h &&
(e.preventdefault ? e.preventdefault() : (e.returnvalue = !1),
b(e),
a.transition(0),
i.transition(0),
n.transition(0),
r("scrollbardragmove", e));
}
function e(e) {
const s = t.params.scrollbar,
{ scrollbar: a, $wrapperel: i } = t,
{ $el: n } = a;
h &&
((h = !1),
t.params.cssmode &&
(t.$wrapperel.css("scroll-snap-type", ""), i.transition("")),
s.hide &&
(cleartimeout(f),
(f = p(() => {
n.css("opacity", 0), n.transition(400);
}, 1e3))),
r("scrollbardragend", e),
s.snaponrelease && t.slidetoclosest());
}
function c(e) {
const {
scrollbar: s,
toucheventstouch: a,
toucheventsdesktop: i,
params: r,
support: l
} = t,
o = s.$el;
if (!o) return;
const d = o[0],
c = !(!l.passivelistener || !r.passivelisteners) && {
passive: !1,
capture: !1
},
p = !(!l.passivelistener || !r.passivelisteners) && {
passive: !0,
capture: !1
};
if (!d) return;
const u = "on" === e ? "addeventlistener" : "removeeventlistener";
l.touch
? (d[u](a.start, x, c), d[u](a.move, y, c), d[u](a.end, e, p))
: (d[u](i.start, x, c), n[u](i.move, y, c), n[u](i.end, e, p));
}
function t() {
const { scrollbar: e, $el: s } = t;
t.params.scrollbar = f(
t,
t.originalparams.scrollbar,
t.params.scrollbar,
{ el: "swiper-scrollbar" }
);
const a = t.params.scrollbar;
if (!a.el) return;
let i = d(a.el);
t.params.uniquenavelements &&
"string" == typeof a.el &&
i.length > 1 &&
1 === s.find(a.el).length &&
(i = s.find(a.el)),
i.addclass(t.ishorizontal() ? a.horizontalclass : a.verticalclass);
let r = i.find(`.${t.params.scrollbar.dragclass}`);
0 === r.length &&
((r = d(``)),
i.append(r)),
object.assign(e, { $el: i, el: i[0], $dragel: r, dragel: r[0] }),
a.draggable && t.params.scrollbar.el && t.scrollbar.el && c("on"),
i &&
i[t.enabled ? "removeclass" : "addclass"](
t.params.scrollbar.lockclass
);
}
function $() {
const e = t.params.scrollbar,
s = t.scrollbar.$el;
s &&
s.removeclass(t.ishorizontal() ? e.horizontalclass : e.verticalclass),
t.params.scrollbar.el && t.scrollbar.el && c("off");
}
s({
scrollbar: {
el: null,
dragsize: "auto",
hide: !1,
draggable: !1,
snaponrelease: !0,
lockclass: "swiper-scrollbar-lock",
dragclass: "swiper-scrollbar-drag",
scrollbardisabledclass: "swiper-scrollbar-disabled",
horizontalclass: "swiper-scrollbar-horizontal",
verticalclass: "swiper-scrollbar-vertical"
}
}),
(t.scrollbar = { el: null, dragel: null, $el: null, $dragel: null }),
i("init", () => {
!1 === t.params.scrollbar.enabled ? s() : (t(), v(), g());
}),
i("update resize observerupdate lock unlock", () => {
v();
}),
i("settranslate", () => {
g();
}),
i("settransition", (e, s) => {
!(function (e) {
t.params.scrollbar.el &&
t.scrollbar.el &&
t.scrollbar.$dragel.transition(e);
})(s);
}),
i("enable disable", () => {
const { $el: e } = t.scrollbar;
e &&
e[t.enabled ? "removeclass" : "addclass"](
t.params.scrollbar.lockclass
);
}),
i("destroy", () => {
$();
});
const s = () => {
t.$el.addclass(t.params.scrollbar.scrollbardisabledclass),
t.scrollbar.$el &&
t.scrollbar.$el.addclass(t.params.scrollbar.scrollbardisabledclass),
$();
};
object.assign(t.scrollbar, {
enable: () => {
t.$el.removeclass(t.params.scrollbar.scrollbardisabledclass),
t.scrollbar.$el &&
t.scrollbar.$el.removeclass(
t.params.scrollbar.scrollbardisabledclass
),
t(),
v(),
g();
},
disable: s,
updatesize: v,
settranslate: g,
init: t,
destroy: $
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({ parallax: { enabled: !1 } });
const i = (e, s) => {
const { rtl: a } = t,
i = d(e),
r = a ? -1 : 1,
n = i.attr("data-swiper-parallax") || "0";
let l = i.attr("data-swiper-parallax-x"),
o = i.attr("data-swiper-parallax-y");
const c = i.attr("data-swiper-parallax-scale"),
p = i.attr("data-swiper-parallax-opacity");
if (
(l || o
? ((l = l || "0"), (o = o || "0"))
: t.ishorizontal()
? ((l = n), (o = "0"))
: ((o = n), (l = "0")),
(l =
l.indexof("%") >= 0
? parseint(l, 10) * s * r + "%"
: l * s * r + "px"),
(o =
o.indexof("%") >= 0 ? parseint(o, 10) * s + "%" : o * s + "px"),
null != p)
) {
const e = p - (p - 1) * (1 - math.abs(s));
i[0].style.opacity = e;
}
if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`);
else {
const e = c - (c - 1) * (1 - math.abs(s));
i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`);
}
},
r = () => {
const { $el: e, slides: s, progress: a, snapgrid: r } = t;
e
.children(
"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
)
.each((e) => {
i(e, a);
}),
s.each((e, s) => {
let n = e.progress;
t.params.slidespergroup > 1 &&
"auto" !== t.params.slidesperview &&
(n += math.ceil(s / 2) - a * (r.length - 1)),
(n = math.min(math.max(n, -1), 1)),
d(e)
.find(
"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
)
.each((e) => {
i(e, n);
});
});
};
a("beforeinit", () => {
t.params.parallax.enabled &&
((t.params.watchslidesprogress = !0),
(t.originalparams.watchslidesprogress = !0));
}),
a("init", () => {
t.params.parallax.enabled && r();
}),
a("settranslate", () => {
t.params.parallax.enabled && r();
}),
a("settransition", (e, s) => {
t.params.parallax.enabled &&
(function (e) {
void 0 === e && (e = t.params.speed);
const { $el: s } = t;
s.find(
"[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]"
).each((t) => {
const s = d(t);
let a =
parseint(s.attr("data-swiper-parallax-duration"), 10) || e;
0 === e && (a = 0), s.transition(a);
});
})(s);
});
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
const n = r();
s({
zoom: {
enabled: !1,
maxratio: 3,
minratio: 1,
toggle: !0,
containerclass: "swiper-zoom-container",
zoomedslideclass: "swiper-slide-zoomed"
}
}),
(t.zoom = { enabled: !1 });
let l,
o,
c,
p = 1,
u = !1;
const m = {
$slideel: void 0,
slidewidth: void 0,
slideheight: void 0,
$imageel: void 0,
$imagewrapel: void 0,
maxratio: 3
},
f = {
istouched: void 0,
ismoved: void 0,
currentx: void 0,
currenty: void 0,
minx: void 0,
miny: void 0,
maxx: void 0,
maxy: void 0,
width: void 0,
height: void 0,
startx: void 0,
starty: void 0,
touchesstart: {},
touchescurrent: {}
},
g = {
x: void 0,
y: void 0,
prevpositionx: void 0,
prevpositiony: void 0,
prevtime: void 0
};
let v = 1;
function w(e) {
if (e.targettouches.length < 2) return 1;
const t = e.targettouches[0].pagex,
s = e.targettouches[0].pagey,
a = e.targettouches[1].pagex,
i = e.targettouches[1].pagey;
return math.sqrt((a - t) ** 2 + (i - s) ** 2);
}
function b(e) {
const s = t.support,
a = t.params.zoom;
if (((o = !1), (c = !1), !s.gestures)) {
if (
"touchstart" !== e.type ||
("touchstart" === e.type && e.targettouches.length < 2)
)
return;
(o = !0), (m.scalestart = w(e));
}
(m.$slideel && m.$slideel.length) ||
((m.$slideel = d(e.target).closest(`.${t.params.slideclass}`)),
0 === m.$slideel.length && (m.$slideel = t.slides.eq(t.activeindex)),
(m.$imageel = m.$slideel
.find(`.${a.containerclass}`)
.eq(0)
.find("picture, img, svg, canvas, .swiper-zoom-target")
.eq(0)),
(m.$imagewrapel = m.$imageel.parent(`.${a.containerclass}`)),
(m.maxratio = m.$imagewrapel.attr("data-swiper-zoom") || a.maxratio),
0 !== m.$imagewrapel.length)
? (m.$imageel && m.$imageel.transition(0), (u = !0))
: (m.$imageel = void 0);
}
function x(e) {
const s = t.support,
a = t.params.zoom,
i = t.zoom;
if (!s.gestures) {
if (
"touchmove" !== e.type ||
("touchmove" === e.type && e.targettouches.length < 2)
)
return;
(c = !0), (m.scalemove = w(e));
}
m.$imageel && 0 !== m.$imageel.length
? (s.gestures
? (i.scale = e.scale * p)
: (i.scale = (m.scalemove / m.scalestart) * p),
i.scale > m.maxratio &&
(i.scale = m.maxratio - 1 + (i.scale - m.maxratio + 1) ** 0.5),
i.scale < a.minratio &&
(i.scale = a.minratio + 1 - (a.minratio - i.scale + 1) ** 0.5),
m.$imageel.transform(`translate3d(0,0,0) scale(${i.scale})`))
: "gesturechange" === e.type && b(e);
}
function y(e) {
const s = t.device,
a = t.support,
i = t.params.zoom,
r = t.zoom;
if (!a.gestures) {
if (!o || !c) return;
if (
"touchend" !== e.type ||
("touchend" === e.type && e.changedtouches.length < 2 && !s.android)
)
return;
(o = !1), (c = !1);
}
m.$imageel &&
0 !== m.$imageel.length &&
((r.scale = math.max(math.min(r.scale, m.maxratio), i.minratio)),
m.$imageel
.transition(t.params.speed)
.transform(`translate3d(0,0,0) scale(${r.scale})`),
(p = r.scale),
(u = !1),
1 === r.scale && (m.$slideel = void 0));
}
function e(e) {
const s = t.zoom;
if (!m.$imageel || 0 === m.$imageel.length) return;
if (((t.allowclick = !1), !f.istouched || !m.$slideel)) return;
f.ismoved ||
((f.width = m.$imageel[0].offsetwidth),
(f.height = m.$imageel[0].offsetheight),
(f.startx = h(m.$imagewrapel[0], "x") || 0),
(f.starty = h(m.$imagewrapel[0], "y") || 0),
(m.slidewidth = m.$slideel[0].offsetwidth),
(m.slideheight = m.$slideel[0].offsetheight),
m.$imagewrapel.transition(0));
const a = f.width * s.scale,
i = f.height * s.scale;
if (!(a < m.slidewidth && i < m.slideheight)) {
if (
((f.minx = math.min(m.slidewidth / 2 - a / 2, 0)),
(f.maxx = -f.minx),
(f.miny = math.min(m.slideheight / 2 - i / 2, 0)),
(f.maxy = -f.miny),
(f.touchescurrent.x =
"touchmove" === e.type ? e.targettouches[0].pagex : e.pagex),
(f.touchescurrent.y =
"touchmove" === e.type ? e.targettouches[0].pagey : e.pagey),
!f.ismoved && !u)
) {
if (
t.ishorizontal() &&
((math.floor(f.minx) === math.floor(f.startx) &&
f.touchescurrent.x < f.touchesstart.x) ||
(math.floor(f.maxx) === math.floor(f.startx) &&
f.touchescurrent.x > f.touchesstart.x))
)
return void (f.istouched = !1);
if (
!t.ishorizontal() &&
((math.floor(f.miny) === math.floor(f.starty) &&
f.touchescurrent.y < f.touchesstart.y) ||
(math.floor(f.maxy) === math.floor(f.starty) &&
f.touchescurrent.y > f.touchesstart.y))
)
return void (f.istouched = !1);
}
e.cancelable && e.preventdefault(),
e.stoppropagation(),
(f.ismoved = !0),
(f.currentx = f.touchescurrent.x - f.touchesstart.x + f.startx),
(f.currenty = f.touchescurrent.y - f.touchesstart.y + f.starty),
f.currentx < f.minx &&
(f.currentx = f.minx + 1 - (f.minx - f.currentx + 1) ** 0.8),
f.currentx > f.maxx &&
(f.currentx = f.maxx - 1 + (f.currentx - f.maxx + 1) ** 0.8),
f.currenty < f.miny &&
(f.currenty = f.miny + 1 - (f.miny - f.currenty + 1) ** 0.8),
f.currenty > f.maxy &&
(f.currenty = f.maxy - 1 + (f.currenty - f.maxy + 1) ** 0.8),
g.prevpositionx || (g.prevpositionx = f.touchescurrent.x),
g.prevpositiony || (g.prevpositiony = f.touchescurrent.y),
g.prevtime || (g.prevtime = date.now()),
(g.x =
(f.touchescurrent.x - g.prevpositionx) /
(date.now() - g.prevtime) /
2),
(g.y =
(f.touchescurrent.y - g.prevpositiony) /
(date.now() - g.prevtime) /
2),
math.abs(f.touchescurrent.x - g.prevpositionx) < 2 && (g.x = 0),
math.abs(f.touchescurrent.y - g.prevpositiony) < 2 && (g.y = 0),
(g.prevpositionx = f.touchescurrent.x),
(g.prevpositiony = f.touchescurrent.y),
(g.prevtime = date.now()),
m.$imagewrapel.transform(
`translate3d(${f.currentx}px, ${f.currenty}px,0)`
);
}
}
function c() {
const e = t.zoom;
m.$slideel &&
t.previousindex !== t.activeindex &&
(m.$imageel && m.$imageel.transform("translate3d(0,0,0) scale(1)"),
m.$imagewrapel && m.$imagewrapel.transform("translate3d(0,0,0)"),
(e.scale = 1),
(p = 1),
(m.$slideel = void 0),
(m.$imageel = void 0),
(m.$imagewrapel = void 0));
}
function t(e) {
const s = t.zoom,
a = t.params.zoom;
if (
(m.$slideel ||
(e &&
e.target &&
(m.$slideel = d(e.target).closest(`.${t.params.slideclass}`)),
m.$slideel ||
(t.params.virtual && t.params.virtual.enabled && t.virtual
? (m.$slideel = t.$wrapperel.children(
`.${t.params.slideactiveclass}`
))
: (m.$slideel = t.slides.eq(t.activeindex))),
(m.$imageel = m.$slideel
.find(`.${a.containerclass}`)
.eq(0)
.find("picture, img, svg, canvas, .swiper-zoom-target")
.eq(0)),
(m.$imagewrapel = m.$imageel.parent(`.${a.containerclass}`))),
!m.$imageel ||
0 === m.$imageel.length ||
!m.$imagewrapel ||
0 === m.$imagewrapel.length)
)
return;
let i, r, l, o, c, u, h, g, v, w, b, x, y, e, c, t, $, s;
t.params.cssmode &&
((t.wrapperel.style.overflow = "hidden"),
(t.wrapperel.style.touchaction = "none")),
m.$slideel.addclass(`${a.zoomedslideclass}`),
void 0 === f.touchesstart.x && e
? ((i =
"touchend" === e.type ? e.changedtouches[0].pagex : e.pagex),
(r = "touchend" === e.type ? e.changedtouches[0].pagey : e.pagey))
: ((i = f.touchesstart.x), (r = f.touchesstart.y)),
(s.scale = m.$imagewrapel.attr("data-swiper-zoom") || a.maxratio),
(p = m.$imagewrapel.attr("data-swiper-zoom") || a.maxratio),
e
? (($ = m.$slideel[0].offsetwidth),
(s = m.$slideel[0].offsetheight),
(l = m.$slideel.offset().left + n.scrollx),
(o = m.$slideel.offset().top + n.scrolly),
(c = l + $ / 2 - i),
(u = o + s / 2 - r),
(v = m.$imageel[0].offsetwidth),
(w = m.$imageel[0].offsetheight),
(b = v * s.scale),
(x = w * s.scale),
(y = math.min($ / 2 - b / 2, 0)),
(e = math.min(s / 2 - x / 2, 0)),
(c = -y),
(t = -e),
(h = c * s.scale),
(g = u * s.scale),
h < y && (h = y),
h > c && (h = c),
g < e && (g = e),
g > t && (g = t))
: ((h = 0), (g = 0)),
m.$imagewrapel
.transition(300)
.transform(`translate3d(${h}px, ${g}px,0)`),
m.$imageel
.transition(300)
.transform(`translate3d(0,0,0) scale(${s.scale})`);
}
function $() {
const e = t.zoom,
s = t.params.zoom;
m.$slideel ||
(t.params.virtual && t.params.virtual.enabled && t.virtual
? (m.$slideel = t.$wrapperel.children(
`.${t.params.slideactiveclass}`
))
: (m.$slideel = t.slides.eq(t.activeindex)),
(m.$imageel = m.$slideel
.find(`.${s.containerclass}`)
.eq(0)
.find("picture, img, svg, canvas, .swiper-zoom-target")
.eq(0)),
(m.$imagewrapel = m.$imageel.parent(`.${s.containerclass}`))),
m.$imageel &&
0 !== m.$imageel.length &&
m.$imagewrapel &&
0 !== m.$imagewrapel.length &&
(t.params.cssmode &&
((t.wrapperel.style.overflow = ""),
(t.wrapperel.style.touchaction = "")),
(e.scale = 1),
(p = 1),
m.$imagewrapel.transition(300).transform("translate3d(0,0,0)"),
m.$imageel.transition(300).transform("translate3d(0,0,0) scale(1)"),
m.$slideel.removeclass(`${s.zoomedslideclass}`),
(m.$slideel = void 0));
}
function s(e) {
const s = t.zoom;
s.scale && 1 !== s.scale ? $() : t(e);
}
function m() {
const e = t.support;
return {
passivelistener: !(
"touchstart" !== t.touchevents.start ||
!e.passivelistener ||
!t.params.passivelisteners
) && { passive: !0, capture: !1 },
activelistenerwithcapture: !e.passivelistener || {
passive: !1,
capture: !0
}
};
}
function p() {
return `.${t.params.slideclass}`;
}
function k(e) {
const { passivelistener: s } = m(),
a = p();
t.$wrapperel[e]("gesturestart", a, b, s),
t.$wrapperel[e]("gesturechange", a, x, s),
t.$wrapperel[e]("gestureend", a, y, s);
}
function z() {
l || ((l = !0), k("on"));
}
function l() {
l && ((l = !1), k("off"));
}
function o() {
const e = t.zoom;
if (e.enabled) return;
e.enabled = !0;
const s = t.support,
{ passivelistener: a, activelistenerwithcapture: i } = m(),
r = p();
s.gestures
? (t.$wrapperel.on(t.touchevents.start, z, a),
t.$wrapperel.on(t.touchevents.end, l, a))
: "touchstart" === t.touchevents.start &&
(t.$wrapperel.on(t.touchevents.start, r, b, a),
t.$wrapperel.on(t.touchevents.move, r, x, i),
t.$wrapperel.on(t.touchevents.end, r, y, a),
t.touchevents.cancel &&
t.$wrapperel.on(t.touchevents.cancel, r, y, a)),
t.$wrapperel.on(
t.touchevents.move,
`.${t.params.zoom.containerclass}`,
e,
i
);
}
function i() {
const e = t.zoom;
if (!e.enabled) return;
const s = t.support;
e.enabled = !1;
const { passivelistener: a, activelistenerwithcapture: i } = m(),
r = p();
s.gestures
? (t.$wrapperel.off(t.touchevents.start, z, a),
t.$wrapperel.off(t.touchevents.end, l, a))
: "touchstart" === t.touchevents.start &&
(t.$wrapperel.off(t.touchevents.start, r, b, a),
t.$wrapperel.off(t.touchevents.move, r, x, i),
t.$wrapperel.off(t.touchevents.end, r, y, a),
t.touchevents.cancel &&
t.$wrapperel.off(t.touchevents.cancel, r, y, a)),
t.$wrapperel.off(
t.touchevents.move,
`.${t.params.zoom.containerclass}`,
e,
i
);
}
object.defineproperty(t.zoom, "scale", {
get: () => v,
set(e) {
if (v !== e) {
const t = m.$imageel ? m.$imageel[0] : void 0,
s = m.$slideel ? m.$slideel[0] : void 0;
i("zoomchange", e, t, s);
}
v = e;
}
}),
a("init", () => {
t.params.zoom.enabled && o();
}),
a("destroy", () => {
i();
}),
a("touchstart", (e, s) => {
t.zoom.enabled &&
(function (e) {
const s = t.device;
m.$imageel &&
0 !== m.$imageel.length &&
(f.istouched ||
(s.android && e.cancelable && e.preventdefault(),
(f.istouched = !0),
(f.touchesstart.x =
"touchstart" === e.type
? e.targettouches[0].pagex
: e.pagex),
(f.touchesstart.y =
"touchstart" === e.type
? e.targettouches[0].pagey
: e.pagey)));
})(s);
}),
a("touchend", (e, s) => {
t.zoom.enabled &&
(function () {
const e = t.zoom;
if (!m.$imageel || 0 === m.$imageel.length) return;
if (!f.istouched || !f.ismoved)
return (f.istouched = !1), void (f.ismoved = !1);
(f.istouched = !1), (f.ismoved = !1);
let s = 300,
a = 300;
const i = g.x * s,
r = f.currentx + i,
n = g.y * a,
l = f.currenty + n;
0 !== g.x && (s = math.abs((r - f.currentx) / g.x)),
0 !== g.y && (a = math.abs((l - f.currenty) / g.y));
const o = math.max(s, a);
(f.currentx = r), (f.currenty = l);
const d = f.width * e.scale,
c = f.height * e.scale;
(f.minx = math.min(m.slidewidth / 2 - d / 2, 0)),
(f.maxx = -f.minx),
(f.miny = math.min(m.slideheight / 2 - c / 2, 0)),
(f.maxy = -f.miny),
(f.currentx = math.max(math.min(f.currentx, f.maxx), f.minx)),
(f.currenty = math.max(math.min(f.currenty, f.maxy), f.miny)),
m.$imagewrapel
.transition(o)
.transform(`translate3d(${f.currentx}px, ${f.currenty}px,0)`);
})();
}),
a("doubletap", (e, s) => {
!t.animating &&
t.params.zoom.enabled &&
t.zoom.enabled &&
t.params.zoom.toggle &&
s(s);
}),
a("transitionend", () => {
t.zoom.enabled && t.params.zoom.enabled && c();
}),
a("slidechange", () => {
t.zoom.enabled && t.params.zoom.enabled && t.params.cssmode && c();
}),
object.assign(t.zoom, {
enable: o,
disable: i,
in: t,
out: $,
toggle: s
});
},
function (e) {
let { swiper: t, extendparams: s, on: a, emit: i } = e;
s({
lazy: {
checkinview: !1,
enabled: !1,
loadprevnext: !1,
loadprevnextamount: 1,
loadontransitionstart: !1,
scrollingelement: "",
elementclass: "swiper-lazy",
loadingclass: "swiper-lazy-loading",
loadedclass: "swiper-lazy-loaded",
preloaderclass: "swiper-lazy-preloader"
}
}),
(t.lazy = {});
let n = !1,
l = !1;
function o(e, s) {
void 0 === s && (s = !0);
const a = t.params.lazy;
if (void 0 === e) return;
if (0 === t.slides.length) return;
const r =
t.virtual && t.params.virtual.enabled
? t.$wrapperel.children(
`.${t.params.slideclass}[data-swiper-slide-index="${e}"]`
)
: t.slides.eq(e),
n = r.find(
`.${a.elementclass}:not(.${a.loadedclass}):not(.${a.loadingclass})`
);
!r.hasclass(a.elementclass) ||
r.hasclass(a.loadedclass) ||
r.hasclass(a.loadingclass) ||
n.push(r[0]),
0 !== n.length &&
n.each((e) => {
const n = d(e);
n.addclass(a.loadingclass);
const l = n.attr("data-background"),
c = n.attr("data-src"),
p = n.attr("data-srcset"),
u = n.attr("data-sizes"),
h = n.parent("picture");
t.loadimage(n[0], c || l, p, u, !1, () => {
if (null != t && t && (!t || t.params) && !t.destroyed) {
if (
(l
? (n.css("background-image", `url("${l}")`),
n.removeattr("data-background"))
: (p &&
(n.attr("srcset", p), n.removeattr("data-srcset")),
u && (n.attr("sizes", u), n.removeattr("data-sizes")),
h.length &&
h.children("source").each((e) => {
const t = d(e);
t.attr("data-srcset") &&
(t.attr("srcset", t.attr("data-srcset")),
t.removeattr("data-srcset"));
}),
c && (n.attr("src", c), n.removeattr("data-src"))),
n.addclass(a.loadedclass).removeclass(a.loadingclass),
r.find(`.${a.preloaderclass}`).remove(),
t.params.loop && s)
) {
const e = r.attr("data-swiper-slide-index");
if (r.hasclass(t.params.slideduplicateclass)) {
o(
t.$wrapperel
.children(
`[data-swiper-slide-index="${e}"]:not(.${t.params.slideduplicateclass})`
)
.index(),
!1
);
} else {
o(
t.$wrapperel
.children(
`.${t.params.slideduplicateclass}[data-swiper-slide-index="${e}"]`
)
.index(),
!1
);
}
}
i("lazyimageready", r[0], n[0]),
t.params.autoheight && t.updateautoheight();
}
}),
i("lazyimageload", r[0], n[0]);
});
}
function c() {
const { $wrapperel: e, params: s, slides: a, activeindex: i } = t,
r = t.virtual && s.virtual.enabled,
n = s.lazy;
let c = s.slidesperview;
function p(t) {
if (r) {
if (
e.children(`.${s.slideclass}[data-swiper-slide-index="${t}"]`)
.length
)
return !0;
} else if (a[t]) return !0;
return !1;
}
function u(e) {
return r ? d(e).attr("data-swiper-slide-index") : d(e).index();
}
if (
("auto" === c && (c = 0), l || (l = !0), t.params.watchslidesprogress)
)
e.children(`.${s.slidevisibleclass}`).each((e) => {
o(r ? d(e).attr("data-swiper-slide-index") : d(e).index());
});
else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e);
else o(i);
if (n.loadprevnext)
if (c > 1 || (n.loadprevnextamount && n.loadprevnextamount > 1)) {
const e = n.loadprevnextamount,
t = math.ceil(c),
s = math.min(i + t + math.max(e, t), a.length),
r = math.max(i - math.max(t, e), 0);
for (let e = i + t; e < s; e += 1) p(e) && o(e);
for (let e = r; e < i; e += 1) p(e) && o(e);
} else {
const t = e.children(`.${s.slidenextclass}`);
t.length > 0 && o(u(t));
const a = e.children(`.${s.slideprevclass}`);
a.length > 0 && o(u(a));
}
}
function p() {
const e = r();
if (!t || t.destroyed) return;
const s = t.params.lazy.scrollingelement
? d(t.params.lazy.scrollingelement)
: d(e),
a = s[0] === e,
i = a ? e.innerwidth : s[0].offsetwidth,
l = a ? e.innerheight : s[0].offsetheight,
o = t.$el.offset(),
{ rtltranslate: u } = t;
let h = !1;
u && (o.left -= t.$el[0].scrollleft);
const m = [
[o.left, o.top],
[o.left + t.width, o.top],
[o.left, o.top + t.height],
[o.left + t.width, o.top + t.height]
];
for (let e = 0; e < m.length; e += 1) {
const t = m[e];
if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) {
if (0 === t[0] && 0 === t[1]) continue;
h = !0;
}
}
const f = !(
"touchstart" !== t.touchevents.start ||
!t.support.passivelistener ||
!t.params.passivelisteners
) && { passive: !0, capture: !1 };
h
? (c(), s.off("scroll", p, f))
: n || ((n = !0), s.on("scroll", p, f));
}
a("beforeinit", () => {
t.params.lazy.enabled &&
t.params.preloadimages &&
(t.params.preloadimages = !1);
}),
a("init", () => {
t.params.lazy.enabled && (t.params.lazy.checkinview ? p() : c());
}),
a("scroll", () => {
t.params.freemode &&
t.params.freemode.enabled &&
!t.params.freemode.sticky &&
c();
}),
a("scrollbardragmove resize _freemodenomomentumrelease", () => {
t.params.lazy.enabled && (t.params.lazy.checkinview ? p() : c());
}),
a("transitionstart", () => {
t.params.lazy.enabled &&
(t.params.lazy.loadontransitionstart ||
(!t.params.lazy.loadontransitionstart && !l)) &&
(t.params.lazy.checkinview ? p() : c());
}),
a("transitionend", () => {
t.params.lazy.enabled &&
!t.params.lazy.loadontransitionstart &&
(t.params.lazy.checkinview ? p() : c());
}),
a("slidechange", () => {
const {
lazy: e,
cssmode: s,
watchslidesprogress: a,
touchreleaseonedges: i,
resistanceratio: r
} = t.params;
e.enabled && (s || (a && (i || 0 === r))) && c();
}),
a("destroy", () => {
t.$el &&
t.$el
.find(`.${t.params.lazy.loadingclass}`)
.removeclass(t.params.lazy.loadingclass);
}),
object.assign(t.lazy, { load: c, loadinslide: o });
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
function i(e, t) {
const s = (function () {
let e, t, s;
return (a, i) => {
for (t = -1, e = a.length; e - t > 1; )
(s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s);
return e;
};
})();
let a, i;
return (
(this.x = e),
(this.y = t),
(this.lastindex = e.length - 1),
(this.interpolate = function (e) {
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;
}),
this
);
}
function r() {
t.controller.control &&
t.controller.spline &&
((t.controller.spline = void 0), delete t.controller.spline);
}
s({ controller: { control: void 0, inverse: !1, by: "slide" } }),
(t.controller = { control: void 0 }),
a("beforeinit", () => {
t.controller.control = t.params.controller.control;
}),
a("update", () => {
r();
}),
a("resize", () => {
r();
}),
a("observerupdate", () => {
r();
}),
a("settranslate", (e, s, a) => {
t.controller.control && t.controller.settranslate(s, a);
}),
a("settransition", (e, s, a) => {
t.controller.control && t.controller.settransition(s, a);
}),
object.assign(t.controller, {
settranslate: function (e, s) {
const a = t.controller.control;
let r, n;
const l = t.constructor;
function o(e) {
const s = t.rtltranslate ? -t.translate : t.translate;
"slide" === t.params.controller.by &&
(!(function (e) {
t.controller.spline ||
(t.controller.spline = t.params.loop
? new i(t.slidesgrid, e.slidesgrid)
: new i(t.snapgrid, e.snapgrid));
})(e),
(n = -t.controller.spline.interpolate(-s))),
(n && "container" !== t.params.controller.by) ||
((r =
(e.maxtranslate() - e.mintranslate()) /
(t.maxtranslate() - t.mintranslate())),
(n = (s - t.mintranslate()) * r + e.mintranslate())),
t.params.controller.inverse && (n = e.maxtranslate() - n),
e.updateprogress(n),
e.settranslate(n, t),
e.updateactiveindex(),
e.updateslidesclasses();
}
if (array.isarray(a))
for (let e = 0; e < a.length; e += 1)
a[e] !== s && a[e] instanceof l && o(a[e]);
else a instanceof l && s !== a && o(a);
},
settransition: function (e, s) {
const a = t.constructor,
i = t.controller.control;
let r;
function n(s) {
s.settransition(e, t),
0 !== e &&
(s.transitionstart(),
s.params.autoheight &&
p(() => {
s.updateautoheight();
}),
s.$wrapperel.transitionend(() => {
i &&
(s.params.loop &&
"slide" === t.params.controller.by &&
s.loopfix(),
s.transitionend());
}));
}
if (array.isarray(i))
for (r = 0; r < i.length; r += 1)
i[r] !== s && i[r] instanceof a && n(i[r]);
else i instanceof a && s !== i && n(i);
}
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
a11y: {
enabled: !0,
notificationclass: "swiper-notification",
prevslidemessage: "previous slide",
nextslidemessage: "next slide",
firstslidemessage: "this is the first slide",
lastslidemessage: "this is the last slide",
paginationbulletmessage: "go to slide {{index}}",
slidelabelmessage: "{{index}} / {{slideslength}}",
containermessage: null,
containerroledescriptionmessage: null,
itemroledescriptionmessage: null,
sliderole: "group",
id: null
}
});
let i = null;
function r(e) {
const t = i;
0 !== t.length && (t.html(""), t.html(e));
}
function n(e) {
e.attr("tabindex", "0");
}
function l(e) {
e.attr("tabindex", "-1");
}
function o(e, t) {
e.attr("role", t);
}
function c(e, t) {
e.attr("aria-roledescription", t);
}
function p(e, t) {
e.attr("aria-label", t);
}
function u(e) {
e.attr("aria-disabled", !0);
}
function h(e) {
e.attr("aria-disabled", !1);
}
function m(e) {
if (13 !== e.keycode && 32 !== e.keycode) return;
const s = t.params.a11y,
a = d(e.target);
t.navigation &&
t.navigation.$nextel &&
a.is(t.navigation.$nextel) &&
((t.isend && !t.params.loop) || t.slidenext(),
t.isend ? r(s.lastslidemessage) : r(s.nextslidemessage)),
t.navigation &&
t.navigation.$prevel &&
a.is(t.navigation.$prevel) &&
((t.isbeginning && !t.params.loop) || t.slideprev(),
t.isbeginning ? r(s.firstslidemessage) : r(s.prevslidemessage)),
t.pagination &&
a.is(u(t.params.pagination.bulletclass)) &&
a[0].click();
}
function f() {
return (
t.pagination && t.pagination.bullets && t.pagination.bullets.length
);
}
function g() {
return f() && t.params.pagination.clickable;
}
const v = (e, t, s) => {
n(e),
"button" !== e[0].tagname && (o(e, "button"), e.on("keydown", m)),
p(e, s),
(function (e, t) {
e.attr("aria-controls", t);
})(e, t);
},
w = (e) => {
const s = e.target.closest(`.${t.params.slideclass}`);
if (!s || !t.slides.includes(s)) return;
const a = t.slides.indexof(s) === t.activeindex,
i =
t.params.watchslidesprogress &&
t.visibleslides &&
t.visibleslides.includes(s);
a || i || t.slideto(t.slides.indexof(s), 0);
},
b = () => {
const e = t.params.a11y;
e.itemroledescriptionmessage &&
c(d(t.slides), e.itemroledescriptionmessage),
e.sliderole && o(d(t.slides), e.sliderole);
const s = t.params.loop
? t.slides.filter(
(e) => !e.classlist.contains(t.params.slideduplicateclass)
).length
: t.slides.length;
e.slidelabelmessage &&
t.slides.each((a, i) => {
const r = d(a),
n = t.params.loop
? parseint(r.attr("data-swiper-slide-index"), 10)
: i;
p(
r,
e.slidelabelmessage
.replace(/\{\{index\}\}/, n + 1)
.replace(/\{\{slideslength\}\}/, s)
);
});
},
x = () => {
const e = t.params.a11y;
t.$el.append(i);
const s = t.$el;
e.containerroledescriptionmessage &&
c(s, e.containerroledescriptionmessage),
e.containermessage && p(s, e.containermessage);
const a = t.$wrapperel,
r =
e.id ||
a.attr("id") ||
`swiper-wrapper-${
((n = 16),
void 0 === n && (n = 16),
"x"
.repeat(n)
.replace(/x/g, () =>
math.round(16 * math.random()).tostring(16)
))
}`;
var n;
const l =
t.params.autoplay && t.params.autoplay.enabled ? "off" : "polite";
var o;
let d, u;
(o = r),
a.attr("id", o),
(function (e, t) {
e.attr("aria-live", t);
})(a, l),
b(),
t.navigation && t.navigation.$nextel && (d = t.navigation.$nextel),
t.navigation && t.navigation.$prevel && (u = t.navigation.$prevel),
d && d.length && v(d, r, e.nextslidemessage),
u && u.length && v(u, r, e.prevslidemessage),
g() &&
t.pagination.$el.on(
"keydown",
u(t.params.pagination.bulletclass),
m
),
t.$el.on("focus", w, !0);
};
a("beforeinit", () => {
i = d(
``
);
}),
a("afterinit", () => {
t.params.a11y.enabled && x();
}),
a(
"slideslengthchange snapgridlengthchange slidesgridlengthchange",
() => {
t.params.a11y.enabled && b();
}
),
a("fromedge toedge afterinit lock unlock", () => {
t.params.a11y.enabled &&
(function () {
if (t.params.loop || t.params.rewind || !t.navigation) return;
const { $nextel: e, $prevel: s } = t.navigation;
s &&
s.length > 0 &&
(t.isbeginning ? (u(s), l(s)) : (h(s), n(s))),
e && e.length > 0 && (t.isend ? (u(e), l(e)) : (h(e), n(e)));
})();
}),
a("paginationupdate", () => {
t.params.a11y.enabled &&
(function () {
const e = t.params.a11y;
f() &&
t.pagination.bullets.each((s) => {
const a = d(s);
t.params.pagination.clickable &&
(n(a),
t.params.pagination.renderbullet ||
(o(a, "button"),
p(
a,
e.paginationbulletmessage.replace(
/\{\{index\}\}/,
a.index() + 1
)
))),
a.is(`.${t.params.pagination.bulletactiveclass}`)
? a.attr("aria-current", "true")
: a.removeattr("aria-current");
});
})();
}),
a("destroy", () => {
t.params.a11y.enabled &&
(function () {
let e, s;
i && i.length > 0 && i.remove(),
t.navigation &&
t.navigation.$nextel &&
(e = t.navigation.$nextel),
t.navigation &&
t.navigation.$prevel &&
(s = t.navigation.$prevel),
e && e.off("keydown", m),
s && s.off("keydown", m),
g() &&
t.pagination.$el.off(
"keydown",
u(t.params.pagination.bulletclass),
m
),
t.$el.off("focus", w, !0);
})();
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
history: {
enabled: !1,
root: "",
replacestate: !1,
key: "slides",
keepquery: !1
}
});
let i = !1,
n = {};
const l = (e) =>
e
.tostring()
.replace(/\s+/g, "-")
.replace(/[^\w-]+/g, "")
.replace(/--+/g, "-")
.replace(/^-+/, "")
.replace(/-+$/, ""),
o = (e) => {
const t = r();
let s;
s = e ? new url(e) : t.location;
const a = s.pathname
.slice(1)
.split("/")
.filter((e) => "" !== e),
i = a.length;
return { key: a[i - 2], value: a[i - 1] };
},
d = (e, s) => {
const a = r();
if (!i || !t.params.history.enabled) return;
let n;
n = t.params.url ? new url(t.params.url) : a.location;
const o = t.slides.eq(s);
let d = l(o.attr("data-history"));
if (t.params.history.root.length > 0) {
let s = t.params.history.root;
"/" === s[s.length - 1] && (s = s.slice(0, s.length - 1)),
(d = `${s}/${e}/${d}`);
} else n.pathname.includes(e) || (d = `${e}/${d}`);
t.params.history.keepquery && (d += n.search);
const c = a.history.state;
(c && c.value === d) ||
(t.params.history.replacestate
? a.history.replacestate({ value: d }, null, d)
: a.history.pushstate({ value: d }, null, d));
},
c = (e, s, a) => {
if (s)
for (let i = 0, r = t.slides.length; i < r; i += 1) {
const r = t.slides.eq(i);
if (
l(r.attr("data-history")) === s &&
!r.hasclass(t.params.slideduplicateclass)
) {
const s = r.index();
t.slideto(s, e, a);
}
}
else t.slideto(0, e, a);
},
p = () => {
(n = o(t.params.url)), c(t.params.speed, n.value, !1);
};
a("init", () => {
t.params.history.enabled &&
(() => {
const e = r();
if (t.params.history) {
if (!e.history || !e.history.pushstate)
return (
(t.params.history.enabled = !1),
void (t.params.hashnavigation.enabled = !0)
);
(i = !0),
(n = o(t.params.url)),
(n.key || n.value) &&
(c(0, n.value, t.params.runcallbacksoninit),
t.params.history.replacestate ||
e.addeventlistener("popstate", p));
}
})();
}),
a("destroy", () => {
t.params.history.enabled &&
(() => {
const e = r();
t.params.history.replacestate ||
e.removeeventlistener("popstate", p);
})();
}),
a("transitionend _freemodenomomentumrelease", () => {
i && d(t.params.history.key, t.activeindex);
}),
a("slidechange", () => {
i && t.params.cssmode && d(t.params.history.key, t.activeindex);
});
},
function (e) {
let { swiper: t, extendparams: s, emit: i, on: n } = e,
l = !1;
const o = a(),
c = r();
s({ hashnavigation: { enabled: !1, replacestate: !1, watchstate: !1 } });
const p = () => {
i("hashchange");
const e = o.location.hash.replace("#", "");
if (e !== t.slides.eq(t.activeindex).attr("data-hash")) {
const s = t.$wrapperel
.children(`.${t.params.slideclass}[data-hash="${e}"]`)
.index();
if (void 0 === s) return;
t.slideto(s);
}
},
u = () => {
if (l && t.params.hashnavigation.enabled)
if (
t.params.hashnavigation.replacestate &&
c.history &&
c.history.replacestate
)
c.history.replacestate(
null,
null,
`#${t.slides.eq(t.activeindex).attr("data-hash")}` || ""
),
i("hashset");
else {
const e = t.slides.eq(t.activeindex),
s = e.attr("data-hash") || e.attr("data-history");
(o.location.hash = s || ""), i("hashset");
}
};
n("init", () => {
t.params.hashnavigation.enabled &&
(() => {
if (
!t.params.hashnavigation.enabled ||
(t.params.history && t.params.history.enabled)
)
return;
l = !0;
const e = o.location.hash.replace("#", "");
if (e) {
const s = 0;
for (let a = 0, i = t.slides.length; a < i; a += 1) {
const i = t.slides.eq(a);
if (
(i.attr("data-hash") || i.attr("data-history")) === e &&
!i.hasclass(t.params.slideduplicateclass)
) {
const e = i.index();
t.slideto(e, s, t.params.runcallbacksoninit, !0);
}
}
}
t.params.hashnavigation.watchstate && d(c).on("hashchange", p);
})();
}),
n("destroy", () => {
t.params.hashnavigation.enabled &&
t.params.hashnavigation.watchstate &&
d(c).off("hashchange", p);
}),
n("transitionend _freemodenomomentumrelease", () => {
l && u();
}),
n("slidechange", () => {
l && t.params.cssmode && u();
});
},
function (e) {
let t,
{ swiper: s, extendparams: i, on: r, emit: n } = e;
function l() {
const e = s.slides.eq(s.activeindex);
let a = s.params.autoplay.delay;
e.attr("data-swiper-autoplay") &&
(a = e.attr("data-swiper-autoplay") || s.params.autoplay.delay),
cleartimeout(t),
(t = p(() => {
let e;
s.params.autoplay.reversedirection
? s.params.loop
? (s.loopfix(),
(e = s.slideprev(s.params.speed, !0, !0)),
n("autoplay"))
: s.isbeginning
? s.params.autoplay.stoponlastslide
? d()
: ((e = s.slideto(
s.slides.length - 1,
s.params.speed,
!0,
!0
)),
n("autoplay"))
: ((e = s.slideprev(s.params.speed, !0, !0)), n("autoplay"))
: s.params.loop
? (s.loopfix(),
(e = s.slidenext(s.params.speed, !0, !0)),
n("autoplay"))
: s.isend
? s.params.autoplay.stoponlastslide
? d()
: ((e = s.slideto(0, s.params.speed, !0, !0)), n("autoplay"))
: ((e = s.slidenext(s.params.speed, !0, !0)), n("autoplay")),
((s.params.cssmode && s.autoplay.running) || !1 === e) && l();
}, a));
}
function o() {
return (
void 0 === t &&
!s.autoplay.running &&
((s.autoplay.running = !0), n("autoplaystart"), l(), !0)
);
}
function d() {
return (
!!s.autoplay.running &&
void 0 !== t &&
(t && (cleartimeout(t), (t = void 0)),
(s.autoplay.running = !1),
n("autoplaystop"),
!0)
);
}
function c(e) {
s.autoplay.running &&
(s.autoplay.paused ||
(t && cleartimeout(t),
(s.autoplay.paused = !0),
0 !== e && s.params.autoplay.waitfortransition
? ["transitionend", "webkittransitionend"].foreach((e) => {
s.$wrapperel[0].addeventlistener(e, h);
})
: ((s.autoplay.paused = !1), l())));
}
function u() {
const e = a();
"hidden" === e.visibilitystate && s.autoplay.running && c(),
"visible" === e.visibilitystate &&
s.autoplay.paused &&
(l(), (s.autoplay.paused = !1));
}
function h(e) {
s &&
!s.destroyed &&
s.$wrapperel &&
e.target === s.$wrapperel[0] &&
(["transitionend", "webkittransitionend"].foreach((e) => {
s.$wrapperel[0].removeeventlistener(e, h);
}),
(s.autoplay.paused = !1),
s.autoplay.running ? l() : d());
}
function m() {
s.params.autoplay.disableoninteraction
? d()
: (n("autoplaypause"), c()),
["transitionend", "webkittransitionend"].foreach((e) => {
s.$wrapperel[0].removeeventlistener(e, h);
});
}
function f() {
s.params.autoplay.disableoninteraction ||
((s.autoplay.paused = !1), n("autoplayresume"), l());
}
(s.autoplay = { running: !1, paused: !1 }),
i({
autoplay: {
enabled: !1,
delay: 3e3,
waitfortransition: !0,
disableoninteraction: !0,
stoponlastslide: !1,
reversedirection: !1,
pauseonmouseenter: !1
}
}),
r("init", () => {
if (s.params.autoplay.enabled) {
o();
a().addeventlistener("visibilitychange", u),
s.params.autoplay.pauseonmouseenter &&
(s.$el.on("mouseenter", m), s.$el.on("mouseleave", f));
}
}),
r("beforetransitionstart", (e, t, a) => {
s.autoplay.running &&
(a || !s.params.autoplay.disableoninteraction
? s.autoplay.pause(t)
: d());
}),
r("sliderfirstmove", () => {
s.autoplay.running &&
(s.params.autoplay.disableoninteraction ? d() : c());
}),
r("touchend", () => {
s.params.cssmode &&
s.autoplay.paused &&
!s.params.autoplay.disableoninteraction &&
l();
}),
r("destroy", () => {
s.$el.off("mouseenter", m),
s.$el.off("mouseleave", f),
s.autoplay.running && d();
a().removeeventlistener("visibilitychange", u);
}),
object.assign(s.autoplay, { pause: c, run: l, start: o, stop: d });
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
thumbs: {
swiper: null,
multipleactivethumbs: !0,
autoscrolloffset: 0,
slidethumbactiveclass: "swiper-slide-thumb-active",
thumbscontainerclass: "swiper-thumbs"
}
});
let i = !1,
r = !1;
function n() {
const e = t.thumbs.swiper;
if (!e || e.destroyed) return;
const s = e.clickedindex,
a = e.clickedslide;
if (a && d(a).hasclass(t.params.thumbs.slidethumbactiveclass)) return;
if (null == s) return;
let i;
if (
((i = e.params.loop
? parseint(d(e.clickedslide).attr("data-swiper-slide-index"), 10)
: s),
t.params.loop)
) {
let e = t.activeindex;
t.slides.eq(e).hasclass(t.params.slideduplicateclass) &&
(t.loopfix(),
(t._clientleft = t.$wrapperel[0].clientleft),
(e = t.activeindex));
const s = t.slides
.eq(e)
.prevall(`[data-swiper-slide-index="${i}"]`)
.eq(0)
.index(),
a = t.slides
.eq(e)
.nextall(`[data-swiper-slide-index="${i}"]`)
.eq(0)
.index();
i = void 0 === s ? a : void 0 === a ? s : a - e < e - s ? a : s;
}
t.slideto(i);
}
function l() {
const { thumbs: e } = t.params;
if (i) return !1;
i = !0;
const s = t.constructor;
if (e.swiper instanceof s)
(t.thumbs.swiper = e.swiper),
object.assign(t.thumbs.swiper.originalparams, {
watchslidesprogress: !0,
slidetoclickedslide: !1
}),
object.assign(t.thumbs.swiper.params, {
watchslidesprogress: !0,
slidetoclickedslide: !1
});
else if (m(e.swiper)) {
const a = object.assign({}, e.swiper);
object.assign(a, {
watchslidesprogress: !0,
slidetoclickedslide: !1
}),
(t.thumbs.swiper = new s(a)),
(r = !0);
}
return (
t.thumbs.swiper.$el.addclass(t.params.thumbs.thumbscontainerclass),
t.thumbs.swiper.on("tap", n),
!0
);
}
function o(e) {
const s = t.thumbs.swiper;
if (!s || s.destroyed) return;
const a =
"auto" === s.params.slidesperview
? s.slidesperviewdynamic()
: s.params.slidesperview;
let i = 1;
const r = t.params.thumbs.slidethumbactiveclass;
if (
(t.params.slidesperview > 1 &&
!t.params.centeredslides &&
(i = t.params.slidesperview),
t.params.thumbs.multipleactivethumbs || (i = 1),
(i = math.floor(i)),
s.slides.removeclass(r),
s.params.loop || (s.params.virtual && s.params.virtual.enabled))
)
for (let e = 0; e < i; e += 1)
s.$wrapperel
.children(`[data-swiper-slide-index="${t.realindex + e}"]`)
.addclass(r);
else
for (let e = 0; e < i; e += 1)
s.slides.eq(t.realindex + e).addclass(r);
const n = t.params.thumbs.autoscrolloffset,
l = n && !s.params.loop;
if (t.realindex !== s.realindex || l) {
let i,
r,
o = s.activeindex;
if (s.params.loop) {
s.slides.eq(o).hasclass(s.params.slideduplicateclass) &&
(s.loopfix(),
(s._clientleft = s.$wrapperel[0].clientleft),
(o = s.activeindex));
const e = s.slides
.eq(o)
.prevall(`[data-swiper-slide-index="${t.realindex}"]`)
.eq(0)
.index(),
a = s.slides
.eq(o)
.nextall(`[data-swiper-slide-index="${t.realindex}"]`)
.eq(0)
.index();
(i =
void 0 === e
? a
: void 0 === a
? e
: a - o == o - e
? s.params.slidespergroup > 1
? a
: o
: a - o < o - e
? a
: e),
(r = t.activeindex > t.previousindex ? "next" : "prev");
} else (i = t.realindex), (r = i > t.previousindex ? "next" : "prev");
l && (i += "next" === r ? n : -1 * n),
s.visibleslidesindexes &&
s.visibleslidesindexes.indexof(i) < 0 &&
(s.params.centeredslides
? (i =
i > o
? i - math.floor(a / 2) + 1
: i + math.floor(a / 2) - 1)
: i > o && s.params.slidespergroup,
s.slideto(i, e ? 0 : void 0));
}
}
(t.thumbs = { swiper: null }),
a("beforeinit", () => {
const { thumbs: e } = t.params;
e && e.swiper && (l(), o(!0));
}),
a("slidechange update resize observerupdate", () => {
o();
}),
a("settransition", (e, s) => {
const a = t.thumbs.swiper;
a && !a.destroyed && a.settransition(s);
}),
a("beforedestroy", () => {
const e = t.thumbs.swiper;
e && !e.destroyed && r && e.destroy();
}),
object.assign(t.thumbs, { init: l, update: o });
},
function (e) {
let { swiper: t, extendparams: s, emit: a, once: i } = e;
s({
freemode: {
enabled: !1,
momentum: !0,
momentumratio: 1,
momentumbounce: !0,
momentumbounceratio: 1,
momentumvelocityratio: 1,
sticky: !1,
minimumvelocity: 0.02
}
}),
object.assign(t, {
freemode: {
ontouchstart: function () {
const e = t.gettranslate();
t.settranslate(e),
t.settransition(0),
(t.toucheventsdata.velocities.length = 0),
t.freemode.ontouchend({
currentpos: t.rtl ? t.translate : -t.translate
});
},
ontouchmove: function () {
const { toucheventsdata: e, touches: s } = t;
0 === e.velocities.length &&
e.velocities.push({
position: s[t.ishorizontal() ? "startx" : "starty"],
time: e.touchstarttime
}),
e.velocities.push({
position: s[t.ishorizontal() ? "currentx" : "currenty"],
time: u()
});
},
ontouchend: function (e) {
let { currentpos: s } = e;
const {
params: r,
$wrapperel: n,
rtltranslate: l,
snapgrid: o,
toucheventsdata: d
} = t,
c = u() - d.touchstarttime;
if (s < -t.mintranslate()) t.slideto(t.activeindex);
else if (s > -t.maxtranslate())
t.slides.length < o.length
? t.slideto(o.length - 1)
: t.slideto(t.slides.length - 1);
else {
if (r.freemode.momentum) {
if (d.velocities.length > 1) {
const e = d.velocities.pop(),
s = d.velocities.pop(),
a = e.position - s.position,
i = e.time - s.time;
(t.velocity = a / i),
(t.velocity /= 2),
math.abs(t.velocity) < r.freemode.minimumvelocity &&
(t.velocity = 0),
(i > 150 || u() - e.time > 300) && (t.velocity = 0);
} else t.velocity = 0;
(t.velocity *= r.freemode.momentumvelocityratio),
(d.velocities.length = 0);
let e = 1e3 * r.freemode.momentumratio;
const s = t.velocity * e;
let c = t.translate + s;
l && (c = -c);
let p,
h = !1;
const m =
20 * math.abs(t.velocity) * r.freemode.momentumbounceratio;
let f;
if (c < t.maxtranslate())
r.freemode.momentumbounce
? (c + t.maxtranslate() < -m &&
(c = t.maxtranslate() - m),
(p = t.maxtranslate()),
(h = !0),
(d.allowmomentumbounce = !0))
: (c = t.maxtranslate()),
r.loop && r.centeredslides && (f = !0);
else if (c > t.mintranslate())
r.freemode.momentumbounce
? (c - t.mintranslate() > m && (c = t.mintranslate() + m),
(p = t.mintranslate()),
(h = !0),
(d.allowmomentumbounce = !0))
: (c = t.mintranslate()),
r.loop && r.centeredslides && (f = !0);
else if (r.freemode.sticky) {
let e;
for (let t = 0; t < o.length; t += 1)
if (o[t] > -c) {
e = t;
break;
}
(c =
math.abs(o[e] - c) < math.abs(o[e - 1] - c) ||
"next" === t.swipedirection
? o[e]
: o[e - 1]),
(c = -c);
}
if (
(f &&
i("transitionend", () => {
t.loopfix();
}),
0 !== t.velocity)
) {
if (
((e = l
? math.abs((-c - t.translate) / t.velocity)
: math.abs((c - t.translate) / t.velocity)),
r.freemode.sticky)
) {
const s = math.abs((l ? -c : c) - t.translate),
a = t.slidessizesgrid[t.activeindex];
e =
s < a
? r.speed
: s < 2 * a
? 1.5 * r.speed
: 2.5 * r.speed;
}
} else if (r.freemode.sticky) return void t.slidetoclosest();
r.freemode.momentumbounce && h
? (t.updateprogress(p),
t.settransition(e),
t.settranslate(c),
t.transitionstart(!0, t.swipedirection),
(t.animating = !0),
n.transitionend(() => {
t &&
!t.destroyed &&
d.allowmomentumbounce &&
(a("momentumbounce"),
t.settransition(r.speed),
settimeout(() => {
t.settranslate(p),
n.transitionend(() => {
t && !t.destroyed && t.transitionend();
});
}, 0));
}))
: t.velocity
? (a("_freemodenomomentumrelease"),
t.updateprogress(c),
t.settransition(e),
t.settranslate(c),
t.transitionstart(!0, t.swipedirection),
t.animating ||
((t.animating = !0),
n.transitionend(() => {
t && !t.destroyed && t.transitionend();
})))
: t.updateprogress(c),
t.updateactiveindex(),
t.updateslidesclasses();
} else {
if (r.freemode.sticky) return void t.slidetoclosest();
r.freemode && a("_freemodenomomentumrelease");
}
(!r.freemode.momentum || c >= r.longswipesms) &&
(t.updateprogress(),
t.updateactiveindex(),
t.updateslidesclasses());
}
}
}
});
},
function (e) {
let t,
s,
a,
{ swiper: i, extendparams: r } = e;
r({ grid: { rows: 1, fill: "column" } }),
(i.grid = {
initslides: (e) => {
const { slidesperview: r } = i.params,
{ rows: n, fill: l } = i.params.grid;
(s = t / n),
(a = math.floor(e / n)),
(t = math.floor(e / n) === e / n ? e : math.ceil(e / n) * n),
"auto" !== r && "row" === l && (t = math.max(t, r * n));
},
updateslide: (e, r, n, l) => {
const { slidespergroup: o, spacebetween: d } = i.params,
{ rows: c, fill: p } = i.params.grid;
let u, h, m;
if ("row" === p && o > 1) {
const s = math.floor(e / (o * c)),
a = e - c * o * s,
i = 0 === s ? o : math.min(math.ceil((n - s * c * o) / c), o);
(m = math.floor(a / i)),
(h = a - m * i + s * o),
(u = h + (m * t) / c),
r.css({ "-webkit-order": u, order: u });
} else
"column" === p
? ((h = math.floor(e / c)),
(m = e - h * c),
(h > a || (h === a && m === c - 1)) &&
((m += 1), m >= c && ((m = 0), (h += 1))))
: ((m = math.floor(e / s)), (h = e - m * s));
r.css(l("margin-top"), 0 !== m ? d && `${d}px` : "");
},
updatewrappersize: (e, s, a) => {
const {
spacebetween: r,
centeredslides: n,
roundlengths: l
} = i.params,
{ rows: o } = i.params.grid;
if (
((i.virtualsize = (e + r) * t),
(i.virtualsize = math.ceil(i.virtualsize / o) - r),
i.$wrapperel.css({ [a("width")]: `${i.virtualsize + r}px` }),
n)
) {
s.splice(0, s.length);
const e = [];
for (let t = 0; t < s.length; t += 1) {
let a = s[t];
l && (a = math.floor(a)),
s[t] < i.virtualsize + s[0] && e.push(a);
}
s.push(...e);
}
}
});
},
function (e) {
let { swiper: t } = e;
object.assign(t, {
appendslide: k.bind(t),
prependslide: z.bind(t),
addslide: q.bind(t),
removeslide: j.bind(t),
removeallslides: ee.bind(t)
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({ fadeeffect: { crossfade: !1, transformel: null } }),
te({
effect: "fade",
swiper: t,
on: a,
settranslate: () => {
const { slides: e } = t,
s = t.params.fadeeffect;
for (let a = 0; a < e.length; a += 1) {
const e = t.slides.eq(a);
let i = -e[0].swiperslideoffset;
t.params.virtualtranslate || (i -= t.translate);
let r = 0;
t.ishorizontal() || ((r = i), (i = 0));
const n = t.params.fadeeffect.crossfade
? math.max(1 - math.abs(e[0].progress), 0)
: 1 + math.min(math.max(e[0].progress, -1), 0);
se(s, e)
.css({ opacity: n })
.transform(`translate3d(${i}px, ${r}px, 0px)`);
}
},
settransition: (e) => {
const { transformel: s } = t.params.fadeeffect;
(s ? t.slides.find(s) : t.slides).transition(e),
ae({ swiper: t, duration: e, transformel: s, allslides: !0 });
},
overwriteparams: () => ({
slidesperview: 1,
slidespergroup: 1,
watchslidesprogress: !0,
spacebetween: 0,
virtualtranslate: !t.params.cssmode
})
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
cubeeffect: {
slideshadows: !0,
shadow: !0,
shadowoffset: 20,
shadowscale: 0.94
}
});
const i = (e, t, s) => {
let a = s
? e.find(".swiper-slide-shadow-left")
: e.find(".swiper-slide-shadow-top"),
i = s
? e.find(".swiper-slide-shadow-right")
: e.find(".swiper-slide-shadow-bottom");
0 === a.length &&
((a = d(
``
)),
e.append(a)),
0 === i.length &&
((i = d(
``
)),
e.append(i)),
a.length && (a[0].style.opacity = math.max(-t, 0)),
i.length && (i[0].style.opacity = math.max(t, 0));
};
te({
effect: "cube",
swiper: t,
on: a,
settranslate: () => {
const {
$el: e,
$wrapperel: s,
slides: a,
width: r,
height: n,
rtltranslate: l,
size: o,
browser: c
} = t,
p = t.params.cubeeffect,
u = t.ishorizontal(),
h = t.virtual && t.params.virtual.enabled;
let m,
f = 0;
p.shadow &&
(u
? ((m = s.find(".swiper-cube-shadow")),
0 === m.length &&
((m = d('')),
s.append(m)),
m.css({ height: `${r}px` }))
: ((m = e.find(".swiper-cube-shadow")),
0 === m.length &&
((m = d('')),
e.append(m))));
for (let e = 0; e < a.length; e += 1) {
const t = a.eq(e);
let s = e;
h && (s = parseint(t.attr("data-swiper-slide-index"), 10));
let r = 90 * s,
n = math.floor(r / 360);
l && ((r = -r), (n = math.floor(-r / 360)));
const d = math.max(math.min(t[0].progress, 1), -1);
let c = 0,
m = 0,
g = 0;
s % 4 == 0
? ((c = 4 * -n * o), (g = 0))
: (s - 1) % 4 == 0
? ((c = 0), (g = 4 * -n * o))
: (s - 2) % 4 == 0
? ((c = o + 4 * n * o), (g = o))
: (s - 3) % 4 == 0 && ((c = -o), (g = 3 * o + 4 * o * n)),
l && (c = -c),
u || ((m = c), (c = 0));
const v = `rotatex(${u ? 0 : -r}deg) rotatey(${
u ? r : 0
}deg) translate3d(${c}px, ${m}px, ${g}px)`;
d <= 1 &&
d > -1 &&
((f = 90 * s + 90 * d), l && (f = 90 * -s - 90 * d)),
t.transform(v),
p.slideshadows && i(t, d, u);
}
if (
(s.css({
"-webkit-transform-origin": `50% 50% -${o / 2}px`,
"transform-origin": `50% 50% -${o / 2}px`
}),
p.shadow)
)
if (u)
m.transform(
`translate3d(0px, ${r / 2 + p.shadowoffset}px, ${
-r / 2
}px) rotatex(90deg) rotatez(0deg) scale(${p.shadowscale})`
);
else {
const e = math.abs(f) - 90 * math.floor(math.abs(f) / 90),
t =
1.5 -
(math.sin((2 * e * math.pi) / 360) / 2 +
math.cos((2 * e * math.pi) / 360) / 2),
s = p.shadowscale,
a = p.shadowscale / t,
i = p.shadowoffset;
m.transform(
`scale3d(${s}, 1, ${a}) translate3d(0px, ${n / 2 + i}px, ${
-n / 2 / a
}px) rotatex(-90deg)`
);
}
const g = c.issafari || c.iswebview ? -o / 2 : 0;
s.transform(
`translate3d(0px,0,${g}px) rotatex(${
t.ishorizontal() ? 0 : f
}deg) rotatey(${t.ishorizontal() ? -f : 0}deg)`
),
s[0].style.setproperty("--swiper-cube-translate-z", `${g}px`);
},
settransition: (e) => {
const { $el: s, slides: a } = t;
a
.transition(e)
.find(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
)
.transition(e),
t.params.cubeeffect.shadow &&
!t.ishorizontal() &&
s.find(".swiper-cube-shadow").transition(e);
},
recreateshadows: () => {
const e = t.ishorizontal();
t.slides.each((t) => {
const s = math.max(math.min(t.progress, 1), -1);
i(d(t), s, e);
});
},
geteffectparams: () => t.params.cubeeffect,
perspective: () => !0,
overwriteparams: () => ({
slidesperview: 1,
slidespergroup: 1,
watchslidesprogress: !0,
resistanceratio: 0,
spacebetween: 0,
centeredslides: !1,
virtualtranslate: !0
})
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
flipeffect: { slideshadows: !0, limitrotation: !0, transformel: null }
});
const i = (e, s, a) => {
let i = t.ishorizontal()
? e.find(".swiper-slide-shadow-left")
: e.find(".swiper-slide-shadow-top"),
r = t.ishorizontal()
? e.find(".swiper-slide-shadow-right")
: e.find(".swiper-slide-shadow-bottom");
0 === i.length && (i = ie(a, e, t.ishorizontal() ? "left" : "top")),
0 === r.length &&
(r = ie(a, e, t.ishorizontal() ? "right" : "bottom")),
i.length && (i[0].style.opacity = math.max(-s, 0)),
r.length && (r[0].style.opacity = math.max(s, 0));
};
te({
effect: "flip",
swiper: t,
on: a,
settranslate: () => {
const { slides: e, rtltranslate: s } = t,
a = t.params.flipeffect;
for (let r = 0; r < e.length; r += 1) {
const n = e.eq(r);
let l = n[0].progress;
t.params.flipeffect.limitrotation &&
(l = math.max(math.min(n[0].progress, 1), -1));
const o = n[0].swiperslideoffset;
let d = -180 * l,
c = 0,
p = t.params.cssmode ? -o - t.translate : -o,
u = 0;
t.ishorizontal()
? s && (d = -d)
: ((u = p), (p = 0), (c = -d), (d = 0)),
(n[0].style.zindex = -math.abs(math.round(l)) + e.length),
a.slideshadows && i(n, l, a);
const h = `translate3d(${p}px, ${u}px, 0px) rotatex(${c}deg) rotatey(${d}deg)`;
se(a, n).transform(h);
}
},
settransition: (e) => {
const { transformel: s } = t.params.flipeffect;
(s ? t.slides.find(s) : t.slides)
.transition(e)
.find(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
)
.transition(e),
ae({ swiper: t, duration: e, transformel: s });
},
recreateshadows: () => {
const e = t.params.flipeffect;
t.slides.each((s) => {
const a = d(s);
let r = a[0].progress;
t.params.flipeffect.limitrotation &&
(r = math.max(math.min(s.progress, 1), -1)),
i(a, r, e);
});
},
geteffectparams: () => t.params.flipeffect,
perspective: () => !0,
overwriteparams: () => ({
slidesperview: 1,
slidespergroup: 1,
watchslidesprogress: !0,
spacebetween: 0,
virtualtranslate: !t.params.cssmode
})
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
coverfloweffect: {
rotate: 50,
stretch: 0,
depth: 100,
scale: 1,
modifier: 1,
slideshadows: !0,
transformel: null
}
}),
te({
effect: "coverflow",
swiper: t,
on: a,
settranslate: () => {
const { width: e, height: s, slides: a, slidessizesgrid: i } = t,
r = t.params.coverfloweffect,
n = t.ishorizontal(),
l = t.translate,
o = n ? e / 2 - l : s / 2 - l,
d = n ? r.rotate : -r.rotate,
c = r.depth;
for (let e = 0, t = a.length; e < t; e += 1) {
const t = a.eq(e),
s = i[e],
l = (o - t[0].swiperslideoffset - s / 2) / s,
p =
"function" == typeof r.modifier
? r.modifier(l)
: l * r.modifier;
let u = n ? d * p : 0,
h = n ? 0 : d * p,
m = -c * math.abs(p),
f = r.stretch;
"string" == typeof f &&
-1 !== f.indexof("%") &&
(f = (parsefloat(r.stretch) / 100) * s);
let g = n ? 0 : f * p,
v = n ? f * p : 0,
w = 1 - (1 - r.scale) * math.abs(p);
math.abs(v) < 0.001 && (v = 0),
math.abs(g) < 0.001 && (g = 0),
math.abs(m) < 0.001 && (m = 0),
math.abs(u) < 0.001 && (u = 0),
math.abs(h) < 0.001 && (h = 0),
math.abs(w) < 0.001 && (w = 0);
const b = `translate3d(${v}px,${g}px,${m}px) rotatex(${h}deg) rotatey(${u}deg) scale(${w})`;
if (
(se(r, t).transform(b),
(t[0].style.zindex = 1 - math.abs(math.round(p))),
r.slideshadows)
) {
let e = n
? t.find(".swiper-slide-shadow-left")
: t.find(".swiper-slide-shadow-top"),
s = n
? t.find(".swiper-slide-shadow-right")
: t.find(".swiper-slide-shadow-bottom");
0 === e.length && (e = ie(r, t, n ? "left" : "top")),
0 === s.length && (s = ie(r, t, n ? "right" : "bottom")),
e.length && (e[0].style.opacity = p > 0 ? p : 0),
s.length && (s[0].style.opacity = -p > 0 ? -p : 0);
}
}
},
settransition: (e) => {
const { transformel: s } = t.params.coverfloweffect;
(s ? t.slides.find(s) : t.slides)
.transition(e)
.find(
".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left"
)
.transition(e);
},
perspective: () => !0,
overwriteparams: () => ({ watchslidesprogress: !0 })
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({
creativeeffect: {
transformel: null,
limitprogress: 1,
shadowperprogress: !1,
progressmultiplier: 1,
perspective: !0,
prev: {
translate: [0, 0, 0],
rotate: [0, 0, 0],
opacity: 1,
scale: 1
},
next: {
translate: [0, 0, 0],
rotate: [0, 0, 0],
opacity: 1,
scale: 1
}
}
});
const i = (e) => ("string" == typeof e ? e : `${e}px`);
te({
effect: "creative",
swiper: t,
on: a,
settranslate: () => {
const { slides: e, $wrapperel: s, slidessizesgrid: a } = t,
r = t.params.creativeeffect,
{ progressmultiplier: n } = r,
l = t.params.centeredslides;
if (l) {
const e = a[0] / 2 - t.params.slidesoffsetbefore || 0;
s.transform(`translatex(calc(50% - ${e}px))`);
}
for (let s = 0; s < e.length; s += 1) {
const a = e.eq(s),
o = a[0].progress,
d = math.min(
math.max(a[0].progress, -r.limitprogress),
r.limitprogress
);
let c = d;
l ||
(c = math.min(
math.max(a[0].originalprogress, -r.limitprogress),
r.limitprogress
));
const p = a[0].swiperslideoffset,
u = [t.params.cssmode ? -p - t.translate : -p, 0, 0],
h = [0, 0, 0];
let m = !1;
t.ishorizontal() || ((u[1] = u[0]), (u[0] = 0));
let f = {
translate: [0, 0, 0],
rotate: [0, 0, 0],
scale: 1,
opacity: 1
};
d < 0
? ((f = r.next), (m = !0))
: d > 0 && ((f = r.prev), (m = !0)),
u.foreach((e, t) => {
u[t] = `calc(${e}px + (${i(f.translate[t])} * ${math.abs(
d * n
)}))`;
}),
h.foreach((e, t) => {
h[t] = f.rotate[t] * math.abs(d * n);
}),
(a[0].style.zindex = -math.abs(math.round(o)) + e.length);
const g = u.join(", "),
v = `rotatex(${h[0]}deg) rotatey(${h[1]}deg) rotatez(${h[2]}deg)`,
w =
c < 0
? `scale(${1 + (1 - f.scale) * c * n})`
: `scale(${1 - (1 - f.scale) * c * n})`,
b =
c < 0
? 1 + (1 - f.opacity) * c * n
: 1 - (1 - f.opacity) * c * n,
x = `translate3d(${g}) ${v} ${w}`;
if ((m && f.shadow) || !m) {
let e = a.children(".swiper-slide-shadow");
if ((0 === e.length && f.shadow && (e = ie(r, a)), e.length)) {
const t = r.shadowperprogress ? d * (1 / r.limitprogress) : d;
e[0].style.opacity = math.min(math.max(math.abs(t), 0), 1);
}
}
const y = se(r, a);
y.transform(x).css({ opacity: b }),
f.origin && y.css("transform-origin", f.origin);
}
},
settransition: (e) => {
const { transformel: s } = t.params.creativeeffect;
(s ? t.slides.find(s) : t.slides)
.transition(e)
.find(".swiper-slide-shadow")
.transition(e),
ae({ swiper: t, duration: e, transformel: s, allslides: !0 });
},
perspective: () => t.params.creativeeffect.perspective,
overwriteparams: () => ({
watchslidesprogress: !0,
virtualtranslate: !t.params.cssmode
})
});
},
function (e) {
let { swiper: t, extendparams: s, on: a } = e;
s({ cardseffect: { slideshadows: !0, transformel: null, rotate: !0 } }),
te({
effect: "cards",
swiper: t,
on: a,
settranslate: () => {
const { slides: e, activeindex: s } = t,
a = t.params.cardseffect,
{ starttranslate: i, istouched: r } = t.toucheventsdata,
n = t.translate;
for (let l = 0; l < e.length; l += 1) {
const o = e.eq(l),
d = o[0].progress,
c = math.min(math.max(d, -4), 4);
let p = o[0].swiperslideoffset;
t.params.centeredslides &&
!t.params.cssmode &&
t.$wrapperel.transform(`translatex(${t.mintranslate()}px)`),
t.params.centeredslides &&
t.params.cssmode &&
(p -= e[0].swiperslideoffset);
let u = t.params.cssmode ? -p - t.translate : -p,
h = 0;
const m = -100 * math.abs(c);
let f = 1,
g = -2 * c,
v = 8 - 0.75 * math.abs(c);
const w =
t.virtual && t.params.virtual.enabled
? t.virtual.from + l
: l,
b =
(w === s || w === s - 1) &&
c > 0 &&
c < 1 &&
(r || t.params.cssmode) &&
n < i,
x =
(w === s || w === s + 1) &&
c < 0 &&
c > -1 &&
(r || t.params.cssmode) &&
n > i;
if (b || x) {
const e = (1 - math.abs((math.abs(c) - 0.5) / 0.5)) ** 0.5;
(g += -28 * c * e),
(f += -0.5 * e),
(v += 96 * e),
(h = -25 * e * math.abs(c) + "%");
}
if (
((u =
c < 0
? `calc(${u}px + (${v * math.abs(c)}%))`
: c > 0
? `calc(${u}px + (-${v * math.abs(c)}%))`
: `${u}px`),
!t.ishorizontal())
) {
const e = h;
(h = u), (u = e);
}
const y = c < 0 ? "" + (1 + (1 - f) * c) : "" + (1 - (1 - f) * c),
e = `\n translate3d(${u}, ${h}, ${m}px)\n rotatez(${
a.rotate ? g : 0
}deg)\n scale(${y})\n `;
if (a.slideshadows) {
let e = o.find(".swiper-slide-shadow");
0 === e.length && (e = ie(a, o)),
e.length &&
(e[0].style.opacity = math.min(
math.max((math.abs(c) - 0.5) / 0.5, 0),
1
));
}
o[0].style.zindex = -math.abs(math.round(d)) + e.length;
se(a, o).transform(e);
}
},
settransition: (e) => {
const { transformel: s } = t.params.cardseffect;
(s ? t.slides.find(s) : t.slides)
.transition(e)
.find(".swiper-slide-shadow")
.transition(e),
ae({ swiper: t, duration: e, transformel: s });
},
perspective: () => !0,
overwriteparams: () => ({
watchslidesprogress: !0,
virtualtranslate: !t.params.cssmode
})
});
}
];
return v.use(re), v;
});
//# sourcemappingurl=swiper-bundle.min.js.map