PageSourceSearch

https://lifestraw.com/cdn/shop/t/136/assets/swiper-bundle.min.js?v=180596908691484833351789472892

js lifestraw.com collected 2026-10-01 10:11:39 UTC 231,875 bytes, 8,648 lines download raw bytes

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

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.