PageSourceSearch

https://www.summerbreakspot.org/wp-content/plugins/wp-carousel-pro/assets/fancybox/fancybox.js?ver=5.0.0

js summerbreakspot.org collected 2026-09-25 00:50:06 UTC 166,170 bytes, 5,677 lines download raw bytes

1!(
2	/*! License details at fancyapps.com/license */ (function (e, t) {
3		'object' == typeof exports && 'u' > typeof module
4			? t(exports)
5			: 'function' == typeof define && define.amd
6			? define(['exports'], t)
7			: t(((e = 'u' > typeof globalThis ? globalThis : e || self).window = e.window || {}));
8	})(this, function (e) {
9		'use strict';
10		let t,
11			n,
12			o,
13			i,
14			r,
15			l,
16			a = (e) =>
17				'object' == typeof e &&
18				null !== e &&
19				e.constructor === Object &&
20				'[object Object]' === Object.prototype.toString.call(e),
21			s = (e) => 'string' == typeof e,
22			c = (e) => e && null !== e && e instanceof Element && 'nodeType' in e,
23			u = function (e) {
24				var t = new DOMParser().parseFromString(e, 'text/html').body;
25				if (t.childElementCount > 1) {
26					for (var n = document.createElement('div'); t.firstChild; ) n.appendChild(t.firstChild);
27					return n;
28				}
29				let o = t.firstChild;
30				if (o && !(o instanceof HTMLElement)) {
31					var n = document.createElement('div');
32					return n.appendChild(o), n;
33				}
34				return o;
35			},
36			d = function (e) {
37				if (!(e && e instanceof Element && e.offsetParent)) return !1;
38				let t = !1,
39					n = !1;
40				if (e.scrollWidth > e.clientWidth) {
41					let n = window.getComputedStyle(e).overflowX,
42						o = -1 !== n.indexOf('hidden'),
43						i = -1 !== n.indexOf('clip'),
44						r = -1 !== n.indexOf('visible');
45					t = !o && !i && !r;
46				}
47				if (e.scrollHeight > e.clientHeight) {
48					let t = window.getComputedStyle(e).overflowY,
49						o = -1 !== t.indexOf('hidden'),
50						i = -1 !== t.indexOf('clip'),
51						r = -1 !== t.indexOf('visible');
52					n = !o && !i && !r;
53				}
54				return t || n;
55			},
56			f = function (e, t) {
57				return !e || e === document.body || (t && e === t) ? null : d(e) ? e : f(e.parentElement, t);
58			},
59			g = (e = !0, t = '--f-scrollbar-compensate', n = '--f-body-margin', o = 'hide-scrollbar') => {
60				let i = document,
61					r = i.body,
62					l = i.documentElement;
63				if (e) {
64					if (r.classList.contains(o)) return;
65					let e = window.innerWidth - l.getBoundingClientRect().width;
66					e < 0 && (e = 0), l.style.setProperty(t, `${e}px`);
67					let i = parseFloat(window.getComputedStyle(r).marginRight);
68					i && r.style.setProperty(n, `${i}px`), r.classList.add(o);
69				} else
70					r.classList.remove(o), r.style.setProperty(n, ''), i.documentElement.style.setProperty(t, '');
71			},
72			m = (e, ...t) => {
73				let n = t.length;
74				for (let o = 0; o < n; o++)
75					Object.entries(t[o] || {}).forEach(([t, n]) => {
76						let o = Array.isArray(n) ? [] : {};
77						e[t] || Object.assign(e, { [t]: o }),
78							a(n)
79								? Object.assign(e[t], m(e[t], n))
80								: Array.isArray(n)
81								? Object.assign(e, { [t]: [...n] })
82								: Object.assign(e, { [t]: n });
83					});
84				return e;
85			};
86		function p() {
87			return !!('u' > typeof window && window.document && window.document.createElement);
88		}
89		let h = function (e = 0, t = 0, n = 0) {
90				return Math.max(Math.min(t, n), e);
91			},
92			y = function (e = 0, t = 0, n = 0, o = 0, i = 0, r = !1) {
93				let l = ((e - t) / (n - t)) * (i - o) + o;
94				return r ? (o < i ? h(o, l, i) : h(i, l, o)) : l;
95			},
96			v = (e, t = '') => {
97				e &&
98					e.classList &&
99					t.split(' ').forEach((t) => {
100						t && e.classList.add(t);
101					});
102			},
103			b = (e, t = '') => {
104				e &&
105					e.classList &&
106					t.split(' ').forEach((t) => {
107						t && e.classList.remove(t);
108					});
109			},
110			E = (e, t = '', n) => {
111				e &&
112					e.classList &&
113					t.split(' ').forEach((t) => {
114						t && e.classList.toggle(t, n || !1);
115					});
116			};
117		function w(e) {
118			return a(e) || Array.isArray(e);
119		}
120		function x(e, t) {
121			let n = Object.keys(e),
122				o = Object.keys(t);
123			return (
124				n.length === o.length &&
125				n.every((n) => {
126					let o = e[n],
127						i = t[n];
128					return 'function' == typeof o ? `${o}` == `${i}` : w(o) && w(i) ? x(o, i) : o === i;
129				})
130			);
131		}
132		let M = (1 / 60) * 3e3,
133			L = function (e) {
134				for (let t of H) t.getState() === S.Running && t.tick(V ? e - V : 0);
135				(V = e), (D = window.requestAnimationFrame(L));
136			},
137			S =
138				(((T = {})[(T.Initializing = 0)] = 'Initializing'),
139				(T[(T.Running = 1)] = 'Running'),
140				(T[(T.Paused = 2)] = 'Paused'),
141				(T[(T.Completed = 3)] = 'Completed'),
142				(T[(T.Destroyed = 4)] = 'Destroyed'),
143				T);
144		var T,
145			R,
146			P,
147			A,
148			C,
149			O,
150			I,
151			z,
152			k,
153			$,
154			F = (((R = F || {})[(R.Spring = 0)] = 'Spring'), (R[(R.Ease = 1)] = 'Ease'), R);
155		let _ = (((P = {})[(P.Loop = 0)] = 'Loop'), (P[(P.Reverse = 1)] = 'Reverse'), P),
156			H = new Set(),
157			D = null,
158			V = 0;
159		function j() {
160			let e = S.Initializing,
161				t = F.Ease,
162				n = 0,
163				o = 0,
164				i = j.Easings.Linear,
165				r = 500,
166				l = 0,
167				a = 0,
168				s = 0,
169				c = 0,
170				u = 1 / 0,
171				d = 0.01,
172				f = 0.01,
173				g = !1,
174				m = {},
175				p = null,
176				y = {},
177				v = {},
178				b = {},
179				E = 0,
180				w = 0,
181				T = _.Loop,
182				R = j.Easings.Linear,
183				P = new Map();
184			function A(e, ...t) {
185				for (let n of P.get(e) || []) n(...t);
186			}
187			function C(e) {
188				return (
189					(o = 0),
190					e
191						? (p = setTimeout(() => {
192								O();
193						  }, e))
194						: O(),
195					z
196				);
197			}
198			function O() {
199				(e = S.Running), A('start', y, v);
200			}
201			function I() {
202				if (((e = S.Completed), (b = {}), A('end', y), e === S.Completed))
203					if (n < E) {
204						if ((n++, T === _.Reverse)) {
205							let e = { ...m };
206							(m = { ...v }), (v = e);
207						}
208						C(w);
209					} else n = 0;
210				return z;
211			}
212			let z = {
213				getState: function () {
214					return e;
215				},
216				easing: function (e) {
217					return (i = e), (t = F.Ease), (b = {}), z;
218				},
219				duration: function (e) {
220					return (r = e), z;
221				},
222				spring: function (e = {}) {
223					t = F.Spring;
224					let {
225						velocity: n,
226						mass: o,
227						tension: i,
228						friction: r,
229						restDelta: m,
230						restSpeed: p,
231						maxSpeed: h,
232						clamp: y,
233					} = {
234						velocity: 0,
235						mass: 1,
236						tension: 170,
237						friction: 26,
238						restDelta: 0.1,
239						restSpeed: 0.1,
240						maxSpeed: 1 / 0,
241						clamp: !0,
242						...e,
243					};
244					return (l = n), (a = o), (s = i), (c = r), (f = m), (d = p), (u = h), (g = y), (b = {}), z;
245				},
246				isRunning: function () {
247					return e === S.Running;
248				},
249				isSpring: function () {
250					return t === F.Spring;
251				},
252				from: function (e) {
253					return (y = { ...e }), z;
254				},
255				to: function (e) {
256					return (v = e), z;
257				},
258				repeat: function (e, t = 0, n = _.Loop, o) {
259					return (E = e), (w = t), (T = n), (R = o || i), z;
260				},
261				on: function (e, t) {
262					return P.set(e, [...(P.get(e) || []), t]), z;
263				},
264				off: function (e, t) {
265					return (
266						P.has(e) &&
267							P.set(
268								e,
269								P.get(e).filter((e) => e !== t)
270							),
271						z
272					);
273				},
274				start: function (t) {
275					return (
276						x(y, v) ||
277							((e = S.Initializing),
278							(m = { ...y }),
279							H.add(this),
280							D || (D = window.requestAnimationFrame(L)),
281							C(t)),
282						z
283					);
284				},
285				pause: function () {
286					return (
287						p && (clearTimeout(p), (p = null)), e === S.Running && ((e = S.Paused), A('pause', y)), z
288					);
289				},
290				end: I,
291				tick: function (n) {
292					n > M && (n = M), (o += n);
293					let p = 0,
294						E = !1;
295					if (e !== S.Running) return z;
296					if (t === F.Ease) {
297						E = 1 === (p = h(0, o / r, 1));
298						let e = T === _.Reverse ? R : i;
299						for (let t in y) y[t] = m[t] + (v[t] - m[t]) * e(p);
300					}
301					if (t === F.Spring) {
302						let e = 0.001 * n,
303							t = 0;
304						for (let n in y) {
305							let o = v[n],
306								i = y[n];
307							if (!('number' == typeof o && !isNaN(o)) || !('number' == typeof i && !isNaN(i))) continue;
308							if (Math.abs(o - i) <= f) {
309								(y[n] = o), (b[n] = 0);
310								continue;
311							}
312							b[n] ||
313								('object' == typeof l && 'number' == typeof l[n]
314									? (b[n] = l[n])
315									: 'number' == typeof l
316									? (b[n] = l)
317									: (b[n] = 0));
318							let r = b[n],
319								m = (r = h(-1 * Math.abs(u), r, Math.abs(u))) * a * c,
320								p = Math.abs(o - i) * s;
321							(r += (((i > o ? -1 : 1) * p - m) / a) * e), (i += r * e);
322							let E = y[n] > o ? i < o : i > o,
323								w = Math.abs(r) < d && Math.abs(o - i) <= f;
324							g && E && (w = !0), w ? ((i = o), (r = 0)) : t++, (y[n] = i), (b[n] = r);
325						}
326						E = !t;
327					}
328					let w = { ...v };
329					return A('step', y, m, v, p), E && e === S.Running && x(v, w) && ((e = S.Completed), I()), z;
330				},
331				getStartValues: function () {
332					return m;
333				},
334				getCurrentValues: function () {
335					return y;
336				},
337				getCurrentVelocities: function () {
338					return b;
339				},
340				getEndValues: function () {
341					return v;
342				},
343				destroy: function () {
344					(e = S.Destroyed), p && (clearTimeout(p), (p = null)), (m = y = v = {}), H.delete(this);
345				},
346			};
347			return z;
348		}
349		function q(e) {
350			return 'u' > typeof TouchEvent && e instanceof TouchEvent;
351		}
352		function N(e, t) {
353			let n = [];
354			for (let o of q(e)
355				? e[t]
356				: e instanceof MouseEvent && ('changedTouches' === t || 'mouseup' !== e.type)
357				? [e]
358				: [])
359				n.push({ x: o.clientX, y: o.clientY, ts: Date.now() });
360			return n;
361		}
362		function B(e) {
363			return N(e, 'touches');
364		}
365		function W(e) {
366			return N(e, 'targetTouches');
367		}
368		function Z(e) {
369			return N(e, 'changedTouches');
370		}
371		function G(e) {
372			let t = e[0],
373				n = e[1] || t;
374			return { x: (t.x + n.x) / 2, y: (t.y + n.y) / 2, ts: n.ts };
375		}
376		function U(e) {
377			let t = e[0],
378				n = e[1] || e[0];
379			return t && n ? -1 * Math.sqrt((n.x - t.x) * (n.x - t.x) + (n.y - t.y) * (n.y - t.y)) : 0;
380		}
381		(j.destroy = () => {
382			for (let e of H) e.destroy();
383			D && (cancelAnimationFrame(D), (D = null));
384		}),
385			(j.Easings = {
386				Linear: function (e) {
387					return e;
388				},
389				EaseIn: function (e) {
390					return 0 === e ? 0 : Math.pow(2, 10 * e - 10);
391				},
392				EaseOut: function (e) {
393					return 1 === e ? 1 : 1 - Math.pow(2, -10 * e);
394				},
395				EaseInOut: function (e) {
396					return 0 === e
397						? 0
398						: 1 === e
399						? 1
400						: e < 0.5
401						? Math.pow(2, 20 * e - 10) / 2
402						: (2 - Math.pow(2, -20 * e + 10)) / 2;
403				},
404			});
405		let X = (e) => {
406				e.cancelable && e.preventDefault();
407			},
408			Y = { passive: !1 },
409			K = {
410				panThreshold: 5,
411				swipeThreshold: 3,
412				ignore: [
413					'textarea',
414					'input',
415					'select',
416					'[contenteditable]',
417					'[data-selectable]',
418					'[data-draggable]',
419				],
420			},
421			J = !1,
422			Q = !0,
423			ee = (e, t) => {
424				let n,
425					o,
426					i,
427					r,
428					l,
429					a = { ...K, ...t },
430					s = [],
431					c = [],
432					u = [],
433					d = !1,
434					f = !1,
435					g = !1,
436					m = !1,
437					p = 0,
438					h = 0,
439					y = 0,
440					v = 0,
441					b = 0,
442					E = 0,
443					w = 0,
444					x = 0,
445					M = 0,
446					L = [],
447					S = new Map();
448				function T(e) {
449					let t = U(c),
450						i = U(u),
451						r = Math.abs(w) > Math.abs(x) ? w : x,
452						a = {
453							srcEvent: l,
454							isPanRecognized: d,
455							isSwipeRecognized: f,
456							firstTouch: s,
457							previousTouch: u,
458							currentTouch: c,
459							deltaX: y,
460							deltaY: v,
461							offsetX: b,
462							offsetY: E,
463							velocityX: w,
464							velocityY: x,
465							velocity: r,
466							angle: M,
467							axis: o,
468							scale: t && i ? t / i : 0,
469							center: n,
470						};
471					for (let t of S.get(e) || []) t(a);
472				}
473				function R(e) {
474					let t = e.target,
475						n = e.composedPath()[0],
476						o = a.ignore.join(','),
477						i = (e) => e && e instanceof HTMLElement && (e.matches(o) || e.closest(o));
478					if (i(t) || i(n)) return !1;
479				}
480				function P(e) {
481					let t = Date.now();
482					if (
483						((L = L.filter((e) => !e.ts || e.ts > t - 100)),
484						e && L.push(e),
485						(w = 0),
486						(x = 0),
487						L.length > 3)
488					) {
489						let e = L[0],
490							t = L[L.length - 1];
491						if (e && t) {
492							let n = t.x - e.x,
493								o = t.y - e.y,
494								i = e.ts && t.ts ? t.ts - e.ts : 0;
495							i > 0 &&
496								((w = Math.abs(n) > 3 ? n / (i / 30) : 0), (x = Math.abs(o) > 3 ? o / (i / 30) : 0));
497						}
498					}
499				}
500				function A(e) {
501					if (!1 === R(e)) return;
502					if ('u' > typeof MouseEvent && e instanceof MouseEvent) {
503						if (J) return;
504					} else J = !0;
505					if ('u' > typeof MouseEvent && e instanceof MouseEvent) {
506						if (!e.buttons || 0 !== e.button) return;
507						X(e);
508					}
509					e instanceof MouseEvent &&
510						(window.addEventListener('mousemove', C), window.addEventListener('mouseup', O)),
511						window.addEventListener('blur', I),
512						(l = e),
513						(s = [...(c = W(e))]),
514						(u = []),
515						(h = c.length),
516						(n = G(c)),
517						1 === h && ((d = !1), (f = !1), (g = !1)),
518						h && P(G(c));
519					let t = Date.now(),
520						o = t - (p || t);
521					(m = o > 0 && o <= 250 && 1 === h), (p = t), clearTimeout(i), T('start');
522				}
523				function C(e) {
524					if (!s.length || e.defaultPrevented || !1 === R(e)) return;
525					(l = e), (u = [...c]), (c = B(e));
526					let t = G(u),
527						i = G(B(e));
528					if (
529						(P(i),
530						(h = c.length),
531						(n = i),
532						u.length === c.length ? ((y = i.x - t.x), (v = i.y - t.y)) : ((y = 0), (v = 0)),
533						s.length)
534					) {
535						let e = G(s);
536						(b = i.x - e.x), (E = i.y - e.y);
537					}
538					c.length > 1 && Math.abs(U(c) - U(u)) >= 0.1 && ((g = !0), T('pinch')),
539						!d &&
540							(d = Math.abs(b) >= a.panThreshold || Math.abs(E) >= a.panThreshold) &&
541							((Q = !1),
542							clearTimeout(r),
543							(r = void 0),
544							(o = (M = Math.abs((180 * Math.atan2(E, b)) / Math.PI)) > 45 && M < 135 ? 'y' : 'x'),
545							(s = [...c]),
546							(u = [...c]),
547							(b = 0),
548							(E = 0),
549							(y = 0),
550							(v = 0),
551							window.getSelection()?.removeAllRanges(),
552							T('panstart')),
553						d && (y || v) && T('pan'),
554						T('move');
555				}
556				function O(e) {
557					if (((l = e), !s.length)) return;
558					let t = W(e),
559						o = Z(e);
560					if (
561						((h = t.length),
562						(n = G(o)),
563						o.length && P(G(o)),
564						(u = [...c]),
565						(c = [...t]),
566						(s = [...t]),
567						h > 0)
568					)
569						T('end'), (d = !1), (f = !1), (L = []);
570					else {
571						let e = a.swipeThreshold;
572						(Math.abs(w) > e || Math.abs(x) > e) && (f = !0),
573							d && T('panend'),
574							f && T('swipe'),
575							d ||
576								f ||
577								g ||
578								(T('tap'),
579								m
580									? T('doubleTap')
581									: (i = setTimeout(function () {
582											T('singleTap');
583									  }, 250))),
584							T('end'),
585							z();
586					}
587				}
588				function I() {
589					clearTimeout(i), z(), d && T('panend'), T('end');
590				}
591				function z() {
592					(J = !1),
593						(d = !1),
594						(f = !1),
595						(m = !1),
596						(h = 0),
597						(L = []),
598						(c = []),
599						(u = []),
600						(s = []),
601						(y = 0),
602						(v = 0),
603						(b = 0),
604						(E = 0),
605						(w = 0),
606						(x = 0),
607						(M = 0),
608						(o = void 0),
609						window.removeEventListener('mousemove', C),
610						window.removeEventListener('mouseup', O),
611						window.removeEventListener('blur', I),
612						Q ||
613							r ||
614							(r = setTimeout(() => {
615								(Q = !0), (r = void 0);
616							}, 100));
617				}
618				function k(e) {
619					let t = e.target;
620					(J = !1), t && !e.defaultPrevented && (Q || (X(e), e.stopPropagation()));
621				}
622				let $ = {
623					init: function () {
624						return (
625							e &&
626								(e.addEventListener('click', k, Y),
627								e.addEventListener('mousedown', A, Y),
628								e.addEventListener('touchstart', A, Y),
629								e.addEventListener('touchmove', C, Y),
630								e.addEventListener('touchend', O),
631								e.addEventListener('touchcancel', O)),
632							$
633						);
634					},
635					on: function (e, t) {
636						return S.set(e, [...(S.get(e) || []), t]), $;
637					},
638					off: function (e, t) {
639						return (
640							S.has(e) &&
641								S.set(
642									e,
643									S.get(e).filter((e) => e !== t)
644								),
645							$
646						);
647					},
648					isPointerDown: () => h > 0,
649					destroy: function () {
650						clearTimeout(i),
651							clearTimeout(r),
652							(r = void 0),
653							e &&
654								(e.removeEventListener('click', k, Y),
655								e.removeEventListener('mousedown', A, Y),
656								e.removeEventListener('touchstart', A, Y),
657								e.removeEventListener('touchmove', C, Y),
658								e.removeEventListener('touchend', O),
659								e.removeEventListener('touchcancel', O)),
660							(e = null),
661							z();
662					},
663				};
664				return $;
665			};
666		ee.isClickAllowed = () => Q;
667		let et = {
668				IMAGE_ERROR: "This image couldn't be loaded. <br /> Please try again later.",
669				MOVE_UP: 'Move up',
670				MOVE_DOWN: 'Move down',
671				MOVE_LEFT: 'Move left',
672				MOVE_RIGHT: 'Move right',
673				ZOOM_IN: 'Zoom in',
674				ZOOM_OUT: 'Zoom out',
675				TOGGLE_FULL: 'Toggle zoom level',
676				TOGGLE_1TO1: 'Toggle zoom level',
677				ITERATE_ZOOM: 'Toggle zoom level',
678				ROTATE_CCW: 'Rotate counterclockwise',
679				ROTATE_CW: 'Rotate clockwise',
680				FLIP_X: 'Flip horizontally',
681				FLIP_Y: 'Flip vertically',
682				RESET: 'Reset',
683				TOGGLE_FS: 'Toggle fullscreen',
684			},
685			en = 1e4,
686			eo = (e) => {
687				e.cancelable && e.preventDefault();
688			},
689			ei = (e, t = en) => Math.round(((e = parseFloat(e + '') || 0) + Number.EPSILON) * t) / t,
690			er =
691				(((A = {}).Reset = 'reset'),
692				(A.Zoom = 'zoom'),
693				(A.ZoomIn = 'zoomIn'),
694				(A.ZoomOut = 'zoomOut'),
695				(A.ZoomTo = 'zoomTo'),
696				(A.ToggleCover = 'toggleCover'),
697				(A.ToggleFull = 'toggleFull'),
698				(A.ToggleMax = 'toggleMax'),
699				(A.IterateZoom = 'iterateZoom'),
700				(A.Pan = 'pan'),
701				(A.Swipe = 'swipe'),
702				(A.Move = 'move'),
703				(A.MoveLeft = 'moveLeft'),
704				(A.MoveRight = 'moveRight'),
705				(A.MoveUp = 'moveUp'),
706				(A.MoveDown = 'moveDown'),
707				(A.RotateCCW = 'rotateCCW'),
708				(A.RotateCW = 'rotateCW'),
709				(A.FlipX = 'flipX'),
710				(A.FlipY = 'flipY'),
711				(A.ToggleFS = 'toggleFS'),
712				A),
713			el = (((C = {}).Cover = 'cover'), (C.Full = 'full'), (C.Max = 'max'), C),
714			ea = { x: 0, y: 0, scale: 1, angle: 0, flipX: 1, flipY: 1 },
715			es =
716				(((O = {})[(O.Init = 0)] = 'Init'),
717				(O[(O.Loading = 1)] = 'Loading'),
718				(O[(O.Error = 2)] = 'Error'),
719				(O[(O.Ready = 3)] = 'Ready'),
720				(O[(O.Destroyed = 4)] = 'Destroyed'),
721				O),
722			ec = {
723				bounds: !0,
724				classes: {
725					container: 'f-panzoom',
726					wrapper: 'f-panzoom__wrapper',
727					content: 'f-panzoom__content',
728					viewport: 'f-panzoom__viewport',
729				},
730				clickAction: er.ToggleFull,
731				dblClickAction: !1,
732				gestures: {},
733				height: 'auto',
734				l10n: et,
735				maxScale: 4,
736				minScale: 1,
737				mouseMoveFactor: 1,
738				panMode: 'drag',
739				protected: !1,
740				singleClickAction: !1,
741				spinnerTpl: '<div class="f-spinner"></div>',
742				wheelAction: er.Zoom,
743				width: 'auto',
744			},
745			eu = 0,
746			ed = 0,
747			ef = 0,
748			eg = (e, n = {}, o = {}) => {
749				let i,
750					r,
751					l,
752					a,
753					d,
754					g,
755					m,
756					p,
757					y = es.Init,
758					w = { ...ec, ...n },
759					M = {},
760					L = { ...ea },
761					S = { ...ea },
762					T = [];
763				function R(e) {
764					let t = w[e];
765					return t && 'function' == typeof t ? t(eL) : t;
766				}
767				function P() {
768					return e && e.parentElement && i && y === es.Ready;
769				}
770				let A = new Map();
771				function C(e, ...t) {
772					let n = [...(A.get(e) || [])];
773					for (let o of (w.on && n.push(w.on[e]), n)) o && o instanceof Function && o(eL, ...t);
774					'*' !== e && C('*', e, ...t);
775				}
776				function O(e) {
777					if (!P() || f(e.target)) return;
778					let t = Date.now(),
779						n = h(
780							-1,
781							[-e.deltaX || 0, -e.deltaY || 0, -e.detail || 0].reduce(function (e, t) {
782								return Math.abs(t) > Math.abs(e) ? t : e;
783							}),
784							1
785						);
786					C('wheel', e, n);
787					let o = R('wheelAction');
788					if (!o || e.defaultPrevented) return;
789					let i = S.scale,
790						r = i * (n > 0 ? 1.5 : 0.5);
791					if (o === er.Zoom) {
792						let o = 100 > Math.abs(e.deltaY) && 100 > Math.abs(e.deltaX);
793						if (t - ed < (o ? 200 : 45)) return void eo(e);
794						ed = t;
795						let l = B(),
796							a = X();
797						if (
798							(ei(r) < ei(l) && ei(i) <= ei(l)
799								? ((ef += Math.abs(n)), (r = l))
800								: ei(r) > ei(a) && ei(i) >= ei(a)
801								? ((ef += Math.abs(n)), (r = a))
802								: ((ef = 0), (r = h(l, r, a))),
803							ef > 7)
804						)
805							return;
806					}
807					switch ((eo(e), o)) {
808						case er.Pan:
809							Q(o, { srcEvent: e, deltaX: -(2 * e.deltaX), deltaY: -(2 * e.deltaY) });
810							break;
811						case er.Zoom:
812							Q(er.ZoomTo, { srcEvent: e, scale: r, center: { x: e.clientX, y: e.clientY } });
813							break;
814						default:
815							Q(o, { srcEvent: e });
816					}
817				}
818				function I(n) {
819					let o = n.composedPath()[0];
820					if (
821						!ee.isClickAllowed() ||
822						!c(o) ||
823						n.defaultPrevented ||
824						!e?.contains(o) ||
825						o.hasAttribute('disabled') ||
826						o.hasAttribute('aria-disabled') ||
827						o.hasAttribute('data-carousel-go-prev') ||
828						o.hasAttribute('data-carousel-go-next')
829					)
830						return;
831					let r = o.closest('[data-panzoom-action]'),
832						l = r?.dataset?.panzoomAction,
833						a = r?.dataset?.panzoomValue || '';
834					if (l) {
835						switch ((eo(n), l)) {
836							case er.ZoomTo:
837							case er.ZoomIn:
838							case er.ZoomOut:
839								Q(l, { scale: parseFloat(a || '') || void 0 });
840								break;
841							case er.MoveLeft:
842							case er.MoveRight:
843								Q(l, { deltaX: parseFloat(a || '') || void 0 });
844								break;
845							case er.MoveUp:
846							case er.MoveDown:
847								Q(l, { deltaY: parseFloat(a || '') || void 0 });
848								break;
849							case er.ToggleFS:
850								ex();
851								break;
852							default:
853								Q(l);
854						}
855						return;
856					}
857					if (!i?.contains(o)) return;
858					let s = { srcEvent: n };
859					if ((Q(R('clickAction'), s), R('dblClickAction'))) {
860						let e = Date.now(),
861							n = e - (eu || e);
862						(eu = e),
863							n > 0 && n <= 250
864								? (t && (clearTimeout(t), (t = void 0)), Q(R('dblClickAction'), s))
865								: (t = setTimeout(() => {
866										Q(R('singleClickAction'), s);
867								  }, 250));
868					}
869				}
870				function z(e) {
871					if (
872						((p = e),
873						!P() ||
874							!V() ||
875							L.scale <= 1 ||
876							S.scale <= 1 ||
877							(i?.dataset.animationName || '').indexOf('zoom') > -1)
878					)
879						return;
880					let t = q(S.scale);
881					if (!t) return;
882					let { x: n, y: o } = t;
883					Q(er.Pan, { deltaX: n - S.x, deltaY: o - S.y });
884				}
885				function k() {
886					e && (b(e, 'is-loading'), e.querySelector('.f-spinner')?.remove());
887				}
888				function $() {
889					if (!e || !r) return;
890					if ((k(), r instanceof HTMLImageElement && !(r.complete && r.naturalWi
890dth))) {
891						(y = es.Error), i?.classList.add('has-error'), C('error');
892						return;
893					}
894					C('loaded');
895					let { width: t, height: n } = H();
896					r instanceof HTMLImageElement &&
897						(r.setAttribute('width', t + ''), r.setAttribute('height', n + '')),
898						i &&
899							(b(i, 'has-error'),
900							r instanceof HTMLImageElement &&
901								(i.setAttribute('width', t + ''),
902								i.setAttribute('height', n + ''),
903								(i.style.aspectRatio = `${t / n || ''}`))),
904						(g = j()
905							.on('start', (e, t) => {
906								void 0 !== t.angle && (t.angle = 90 * Math.round(t.angle / 90)),
907									void 0 !== t.flipX && (t.flipX = t.flipX > 0 ? 1 : -1),
908									void 0 !== t.flipY && (t.flipY = t.flipY > 0 ? 1 : -1),
909									(S = { ...ea, ...t }),
910									J(),
911									C('animationStart');
912							})
913							.on('pause', (e) => {
914								S = { ...ea, ...e };
915							})
916							.on('step', (e) => {
917								if (!P()) return void g?.end();
918								if (
919									((L = { ...ea, ...e }), V() || !R('bounds') || eb() || S.scale > L.scale || S.scale < W())
920								)
921									return void et();
922								let t = Y(S.scale),
923									n = !1,
924									o = !1,
925									i = !1,
926									r = !1;
927								L.x < t.x[0] && (n = !0),
928									L.x > t.x[1] && (o = !0),
929									L.y < t.y[0] && (r = !0),
930									L.y > t.y[1] && (i = !0);
931								let l = !1,
932									a = !1,
933									s = !1,
934									c = !1;
935								S.x < t.x[0] && (l = !0),
936									S.x > t.x[1] && (a = !0),
937									S.y < t.y[0] && (c = !0),
938									S.y > t.y[1] && (s = !0);
939								let u = !1;
940								((o && a) || (n && l)) && ((S.x = h(t.x[0], S.x, t.x[1])), (u = !0)),
941									((i && s) || (r && c)) && ((S.y = h(t.y[0], S.y, t.y[1])), (u = !0)),
942									u &&
943										g &&
944										g
945											.spring({
946												tension: 94,
947												friction: 17,
948												maxSpeed: 555 * S.scale,
949												restDelta: 0.1,
950												restSpeed: 0.1,
951												velocity: g.getCurrentVelocities(),
952											})
953											.from(L)
954											.to(S)
955											.start(),
956									et();
957							})
958							.on('end', () => {
959								d?.isPointerDown() || K(), g?.isRunning() || (J(), C('animationEnd'));
960							})),
961						(function () {
962							let e = R('gestures');
963							if (!e || !a || !r) return;
964							let t = !1;
965							d = ee(a, e)
966								.on('start', (e) => {
967									if (!R('gestures') || !g || !P() || V()) return;
968									let n = e.srcEvent;
969									(L.scale > 1 || e.currentTouch.length > 1) && (n?.stopPropagation(), g.pause(), (t = !0)),
970										1 === e.currentTouch.length && C('touchStart');
971								})
972								.on('move', (e) => {
973									t &&
974										(1 !== S.scale || e.currentTouch.length > 1) &&
975										(eo(e.srcEvent), e.srcEvent?.stopPropagation());
976								})
977								.on('pan', (e) => {
978									if (!t) return;
979									let n = e.srcEvent;
980									(1 !== S.scale || e.currentTouch.length > 1) && (eo(n), Q(er.Pan, e));
981								})
982								.on('swipe', (e) => {
983									t && S.scale > 1 && Q(er.Swipe, e);
984								})
985								.on('tap', (e) => {
986									C('click', e);
987								})
988								.on('singleTap', (e) => {
989									C('singleClick', e);
990								})
991								.on('doubleTap', (e) => {
992									C('dblClick', e);
993								})
994								.on('pinch', (e) => {
995									t && (e.scale > W() ? Q(er.ZoomIn, e) : e.scale < W() ? Q(er.ZoomOut, e) : Q(er.Pan, e));
996								})
997								.on('end', (e) => {
998									t &&
999										(e.currentTouch.length
1000											? (e.srcEvent.stopPropagation(), eo(e.srcEvent), g?.end())
1001											: ((t = !1), J(), K(), C('touchEnd')));
1002								})
1003								.init();
1004						})(),
1005						a &&
1006							(a.addEventListener('wheel', O, { passive: !1 }),
1007							T.push(() => {
1008								a?.removeEventListener('wheel', O, { passive: !1 });
1009							})),
1010						e?.addEventListener('click', I),
1011						document?.addEventListener('mousemove', z),
1012						T.push(() => {
1013							e?.removeEventListener('click', I), document?.removeEventListener('mousemove', z);
1014						});
1015					let o = F();
1016					(L = { ...o }),
1017						(S = { ...o }),
1018						(y = es.Ready),
1019						et(),
1020						J(),
1021						C('ready'),
1022						requestAnimationFrame(() => {
1023							y === es.Ready && (k(), a && (a.style.visibility = ''));
1024						});
1025				}
1026				function F() {
1027					let e = { ...(R('startPos') || {}) },
1028						t = e.scale,
1029						n = 1;
1030					n = 'string' == typeof t ? N(t) : 'number' == typeof t ? t : W();
1031					let o = { ...ea, ...e, scale: n },
1032						i = V() ? q(n) : void 0;
1033					if (i) {
1034						let { x: e, y: t } = i;
1035						(o.x = e), (o.y = t);
1036					}
1037					return o;
1038				}
1039				function _() {
1040					let e = { top: 0, left: 0, width: 0, height: 0 };
1041					if (i) {
1042						let t = i.getBoundingClientRect();
1043						S.angle % 180 == 90
1044							? ((e.top = t.top + 0.5 * t.height - 0.5 * t.width),
1045							  (e.left = t.left + 0.5 * t.width - 0.5 * t.height),
1046							  (e.width = t.height),
1047							  (e.height = t.width))
1048							: ((e.top = t.top), (e.left = t.left), (e.width = t.width), (e.height = t.height));
1049					}
1050					return e;
1051				}
1052				function H() {
1053					let e = R('width'),
1054						t = R('height');
1055					if (r && 'auto' === e) {
1056						let t = r.getAttribute('width');
1057						e = t
1058							? parseFloat(t + '')
1059							: void 0 !== r.dataset.width
1060							? parseFloat(r.dataset.width + '')
1061							: a instanceof HTMLImageElement
1062							? a.naturalWidth
1063							: r instanceof HTMLImageElement
1064							? r.naturalWidth
1065							: i?.getBoundingClientRect().width || 0;
1066					} else e = s(e) ? parseFloat(e) : e;
1067					if (r && 'auto' === t) {
1068						let e = r.getAttribute('height');
1069						t = e
1070							? parseFloat(e + '')
1071							: void 0 !== r.dataset.height
1072							? parseFloat(r.dataset.height + '')
1073							: a instanceof HTMLImageElement
1074							? a.naturalHeight
1075							: r instanceof HTMLImageElement
1076							? r.naturalHeight
1077							: i?.getBoundingClientRect().height || 0;
1078					} else t = s(t) ? parseFloat(t) : t;
1079					return { width: e, height: t };
1080				}
1081				function D() {
1082					let e = _();
1083					return { width: e.width, height: e.height };
1084				}
1085				function V() {
1086					return 'mousemove' === R('panMode') && matchMedia('(hover: hover)').matches;
1087				}
1088				function q(e) {
1089					let t = p || R('event'),
1090						n = i?.getBoundingClientRect();
1091					if (!t || !n || e <= 1) return { x: 0, y: 0 };
1092					let o = (t.clientX || 0) - n.left,
1093						r = (t.clientY || 0) - n.top,
1094						{ width: l, height: a } = D(),
1095						s = Y(e);
1096					if (e > 1) {
1097						let t = R('mouseMoveFactor');
1098						t > 1 && (e *= t);
1099					}
1100					let c = l * e,
1101						u = a * e,
1102						d = (c - l) * 0.5 - (((o / l) * 100) / 100) * (c - l),
1103						f = (u - a) * 0.5 - (((r / a) * 100) / 100) * (u - a);
1104					return { x: (d = h(s.x[0], d, s.x[1])), y: (f = h(s.y[0], f, s.y[1])) };
1105				}
1106				function N(t) {
1107					if (!t) return S.scale;
1108					if (!e) return 1;
1109					let n = e.getBoundingClientRect(),
1110						o = _(),
1111						{ width: i, height: r } = H(),
1112						l = (e) => {
1113							if ('number' == typeof e) return e;
1114							switch (e) {
1115								case 'min':
1116								case 'base':
1117									return 1;
1118								case 'cover':
1119									return Math.max(n.height / o.height, n.width / o.width) || 1;
1120								case 'full':
1121								case 'max': {
1122									let e = S.angle % 180 == 90 ? r : i;
1123									return e && o.width ? e / o.width : 1;
1124								}
1125							}
1126						},
1127						a = R('minScale'),
1128						s = R('maxScale'),
1129						c = Math.min(l('full'), l(a)),
1130						u = 'number' == typeof s ? l('full') * s : Math.min(l('full'), l(s));
1131					switch (t) {
1132						case 'min':
1133							return c;
1134						case 'base':
1135							return h(c, 1, u);
1136						case 'cover':
1137							return l('cover');
1138						case 'full':
1139							return Math.min(u, l('full'));
1140						case 'max':
1141							return u;
1142					}
1143				}
1144				function B() {
1145					return N('min');
1146				}
1147				function W() {
1148					return N('base');
1149				}
1150				function U() {
1151					return N('full');
1152				}
1153				function X() {
1154					return N('max');
1155				}
1156				function Y(t) {
1157					let n = { x: [0, 0], y: [0, 0] },
1158						o = e?.getBoundingClientRect();
1159					if (!o) return n;
1160					let i = _(),
1161						r = o.width,
1162						l = o.height,
1163						a = i.width,
1164						s = i.height,
1165						c = (t = void 0 === t ? S.scale : t),
1166						u = t;
1167					if (V() && t > 1) {
1168						let e = R('mouseMoveFactor');
1169						e > 1 && (a * t > r + 0.01 && (c *= e), s * t > l + 0.01 && (u *= e));
1170					}
1171					return (
1172						(a *= c),
1173						(s *= u),
1174						t > 1 &&
1175							(a > r && ((n.x[0] = (r - a) * 0.5), (n.x[1] = (a - r) * 0.5)),
1176							(n.x[0] -= (i.left - o.left) * 0.5),
1177							(n.x[1] -= (i.left - o.left) * 0.5),
1178							(n.x[0] -= (i.left + i.width - o.right) * 0.5),
1179							(n.x[1] -= (i.left + i.width - o.right) * 0.5),
1180							s > l && ((n.y[0] = (l - s) * 0.5), (n.y[1] = (s - l) * 0.5)),
1181							(n.y[0] -= (i.top - o.top) * 0.5),
1182							(n.y[1] -= (i.top - o.top) * 0.5),
1183							(n.y[0] -= (i.top + i.height - o.bottom) * 0.5),
1184							(n.y[1] -= (i.top + i.height - o.bottom) * 0.5)),
1185						n
1186					);
1187				}
1188				function K() {
1189					if (!P() || !R('bounds') || !g) return;
1190					let e = B(),
1191						t = X(),
1192						n = h(e, S.scale, t);
1193					if (S.scale < e - 0.01 || S.scale > t + 0.01) return void Q(er.ZoomTo, { scale: n });
1194					if (g.isRunning() || eb()) return;
1195					let o = Y(n);
1196					S.x < o.x[0] || S.x > o.x[1] || S.y < o.y[0] || S.y > o.y[1]
1197						? ((S.x = h(o.x[0], S.x, o.x[1])),
1198						  (S.y = h(o.y[0], S.y, o.y[1])),
1199						  g.spring({
1200								tension: 170,
1201								friction: 17,
1202								restDelta: 0.001,
1203								restSpeed: 0.001,
1204								maxSpeed: 1 / 0,
1205								velocity: g.getCurrentVelocities(),
1206						  }),
1207						  g.from(L).to(S).start())
1208						: et();
1209				}
1210				function J(t) {
1211					if (!P()) return;
1212					let n = ev(),
1213						o = eb(),
1214						r = eE(),
1215						l = ew(),
1216						a = eg(),
1217						s = em();
1218					E(i, 'is-fullsize', l),
1219						E(i, 'is-expanded', r),
1220						E(i, 'is-dragging', o),
1221						E(i, 'can-drag', n),
1222						E(i, 'will-zoom-in', a),
1223						E(i, 'will-zoom-out', s);
1224					let c = eh(),
1225						u = ey(),
1226						d = ep(),
1227						f = !P();
1228					for (let n of (t || e)?.querySelectorAll('[data-panzoom-action]') || []) {
1229						let e = n.dataset.panzoomAction,
1230							t = !1;
1231						if (f) t = !0;
1232						else
1233							switch (e) {
1234								case er.ZoomIn:
1235									c || (t = !0);
1236									break;
1237								case er.ZoomOut:
1238									d || (t = !0);
1239									break;
1240								case er.ToggleFull: {
1241									u || d || (t = !0);
1242									let e = n.querySelector('g');
1243									e && (e.style.display = l && !t ? 'none' : '');
1244									break;
1245								}
1246								case er.IterateZoom: {
1247									c || d || (t = !0);
1248									let e = n.querySelector('g');
1249									e && (e.style.display = c || t ? '' : 'none');
1250									break;
1251								}
1252								case er.ToggleCover:
1253								case er.ToggleMax:
1254									c || d || (t = !0);
1255							}
1256						t
1257							? (n.setAttribute('aria-disabled', ''), n.setAttribute('tabindex', '-1'))
1258							: (n.removeAttribute('aria-disabled'), n.removeAttribute('tabindex'));
1259					}
1260				}
1261				function Q(t, n) {
1262					if (
1263						!t ||
1264						!e ||
1265						!r ||
1266						!g ||
1267						!P() ||
1268						(t === er.Swipe && Math.abs(g.getCurrentVelocities().scale) > 0.01)
1269					)
1270						return;
1271					let o = { ...S },
1272						i = { ...S },
1273						l = Y(V() ? o.scale : L.scale),
1274						a = g.getCurrentVelocities(),
1275						s = _();
1276					n = n || {};
1277					let c = (n.currentTouch?.length || 0) > 1,
1278						u = n.velocityX || 0,
1279						d = n.velocityY || 0,
1280						f = n.center;
1281					n.srcEvent && (f = G(Z(n.srcEvent)));
1282					let m = n.deltaX || 0,
1283						p = n.deltaY || 0;
1284					switch (t) {
1285						case er.MoveRight:
1286							m = n.deltaX || 100;
1287							break;
1288						case er.MoveLeft:
1289							m = n.deltaX || -100;
1290							break;
1291						case er.MoveUp:
1292							p = n.deltaY || -100;
1293							break;
1294						case er.MoveDown:
1295							p = n.deltaY || 100;
1296					}
1297					let y = [];
1298					if ('number' == typeof t) i.scale = t;
1299					else
1300						switch (t) {
1301							case er.Reset:
1302								(i = { ...ea }).scale = W();
1303								break;
1304							case er.ZoomTo:
1305							case er.ZoomIn:
1306							case er.ZoomOut:
1307							case er.ToggleCover:
1308							case er.ToggleFull:
1309							case er.ToggleMax:
1310							case er.IterateZoom:
1311							case er.Zoom:
1312								i.scale = el(t, n);
1313								break;
1314							case er.Pan:
1315							case er.Move:
1316							case er.MoveLeft:
1317							case er.MoveRight:
1318							case er.MoveUp:
1319							case er.MoveDown:
1320								if (eb()) {
1321									let e = 1,
1322										t = 1;
1323									i.x <= l.x[0] &&
1324										u <= 0 &&
1325										(e = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[0])))),
1326										i.x >= l.x[1] &&
1327											u >= 0 &&
1328											(e = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.width) * Math.abs(i.x - l.x[1])))),
1329										i.y <= l.y[0] &&
1330											d <= 0 &&
1331											(t = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[0])))),
1332										i.y >= l.y[1] &&
1333											d >= 0 &&
1334											(t = 0.2 * Math.max(0.01, 1 - Math.abs((1 / s.height) * Math.abs(i.y - l.y[1])))),
1335										(i.x += m * e),
1336										(i.y += p * t);
1337								} else (i.x = h(l.x[0], i.x + m, l.x[1])), (i.y = h(l.y[0], i.y + p, l.y[1]));
1338								break;
1339							case er.Swipe:
1340								let v = (e = 0) => Math.sign(e) * Math.pow(Math.abs(e), 1.5);
1341								(i.x += h(-1e3, v(u), 1e3)),
1342									(i.y += h(-1e3, v(d), 1e3)),
1343									d && !u && (i.x = h(l.x[0], i.x, l.x[1])),
1344									!d && u && (i.y = h(l.y[0], i.y, l.y[1])),
1345									(a.x = u),
1346									(a.y = d);
1347								break;
1348							case er.RotateCW:
1349								i.angle += 90;
1350								break;
1351							case er.RotateCCW:
1352								i.angle -= 90;
1353								break;
1354							case er.FlipX:
1355								i.flipX *= -1;
1356								break;
1357							case er.FlipY:
1358								i.flipY *= -1;
1359						}
1360					if (
1361						(void 0 !== L.angle &&
1362							Math.abs(L.angle) >= 360 &&
1363							((i.angle -= 360 * Math.floor(L.angle / 360)), (L.angle -= 360 * Math.floor(L.angle / 360))),
1364						y.length)
1365					) {
1366						let e = y.findIndex((e) => e > i.scale + 1 / en);
1367						i.scale = y[e] || y[0];
1368					}
1369					if ((c && (i.scale = h(B() * (c ? 0.8 : 1), i.scale, X() * (c ? 1.6 : 1))), V())) {
1370						let e = q(i.scale);
1371						if (e) {
1372							let { x: t, y: n } = e;
1373							(i.x = t), (i.y = n);
1374						}
1375					} else if (Math.abs(i.scale - o.scale) > 1e-4) {
1376						let t = 0,
1377							n = 0;
1378						if (f) (t = f.x), (n = f.y);
1379						else {
1380							let o = e.getBoundingClientRect();
1381							(t = o.x + 0.5 * o.width), (n = o.y + 0.5 * o.height);
1382						}
1383						let r = t - s.left,
1384							a = n - s.top;
1385						(r -= 0.5 * s.width), (a -= 0.5 * s.height);
1386						let u = (r - o.x) / o.scale,
1387							d = (a - o.y) / o.scale;
1388						(i.x = r - u * i.scale),
1389							(i.y = a - d * i.scale),
1390							!c &&
1391								R('bounds') &&
1392								((l = Y(i.scale)), (i.x = h(l.x[0], i.x, l.x[1])), (i.y = h(l.y[0], i.y, l.y[1])));
1393					}
1394					if (t === er.Swipe) {
1395						let e = 500 * i.scale;
1396						g.spring({
1397							tension: 94,
1398							friction: 17,
1399							maxSpeed: e,
1400							restDelta: 0.1,
1401							restSpeed: 0.1,
1402							velocity: a,
1403						});
1404					} else
1405						t === er.Pan || c
1406							? g.spring({ tension: 900, friction: 17, restDelta: 0.01, restSpeed: 0.01, maxSpeed: 1 })
1407							: g.spring({
1408									tension: 170,
1409									friction: 17,
1410									restDelta: 0.001,
1411									restSpeed: 0.001,
1412									maxSpeed: 1 / 0,
1413									velocity: a,
1414							  });
1415					if (0 === n.velocity || x(L, i)) (L = { ...i }), (S = { ...i }), g.end(), et(), J();
1416					else {
1417						if (x(S, i)) return;
1418						g.from(L).to(i).start();
1419					}
1420					C('action', t);
1421				}
1422				function et() {
1423					if (!r || !i || !a) return;
1424					let { width: t, height: n } = H();
1425					Object.assign(i.style, { maxWidth: `min(${t}px, 100%)`, maxHeight: `min(${n}px, 100%)` });
1426					let {
1427							x: o,
1428							y: l,
1429							width: s,
1430							height: c,
1431							scale: u,
1432							angle: d,
1433							flipX: f,
1434							flipY: g,
1435						} = (function () {
1436							let { width: t, height: n } = H(),
1437								{ width: o, height: i } = D();
1438							if (!e)
1439								return {
1440									x: 0,
1441									y: 0,
1442									width: 0,
1443									height: 0,
1444									scale: 0,
1445									flipX: 0,
1446									flipY: 0,
1447									angle: 0,
1448									fitWidth: o,
1449									fitHeight: i,
1450									fullWidth: t,
1451									fullHeight: n,
1452								};
1453							let { x: r, y: l, scale: a, angle: s, flipX: c, flipY: u } = L,
1454								d = 1 / U(),
1455								f = t,
1456								g = n,
1457								m = L.scale * d,
1458								p = S.scale * d,
1459								h = Math.max(o, i),
1460								y = Math.min(o, i);
1461							t > n ? ((f = h), (g = y)) : ((f = y), (g = h)),
1462								(m = t > n ? (h * a) / t || 1 : (h * a) / n || 1);
1463							let v = f ? t * p : 0,
1464								b = g ? n * p : 0,
1465								E = f && g ? (t * m) / v : 0;
1466							return {
1467								x: (r = r + 0.5 * f - 0.5 * v),
1468								y: (l = l + 0.5 * g - 0.5 * b),
1469								width: v,
1470								height: b,
1471								scale: E,
1472								flipX: c,
1473								flipY: u,
1474								angle: s,
1475								fitWidth: o,
1476								fitHeight: i,
1477								fullWidth: t,
1478								fullHeight: n,
1479							};
1480						})(),
1481						m = `translate(${ei(o)}px, ${ei(l)}px)`;
1482					1 !== f || 1 !== g
1483						? (m += ` scaleX(${ei(u * f)}) scaleY(${ei(u * g)})`)
1484						: (m += ` scale(${ei(u)})`),
1485						0 !== d && (m += ` rotate(${d}deg)`),
1486						(a.style.width = `${ei(s)}px`),
1487						(a.style.height = `${ei(c)}px`),
1488						(a.style.transform = `${m}`),
1489						C('render');
1490				}
1491				function el(e = R('clickAction'), t = {}) {
1492					let n = S.scale,
1493						o = W(),
1494						i = [];
1495					if ('number' == typeof e) o = e;
1496					else if (e) {
1497						switch (e) {
1498							case er.ZoomTo:
1499								o = t.scale || 1;
1500								break;
1501							case er.ZoomIn:
1502								o = n * (t.scale || 2);
1503								break;
1504							case er.ZoomOut:
1505								o = n * (t.scale || 0.5);
1506								break;
1507							case er.ToggleCover:
1508								i = [W(), N('cover')];
1509								break;
1510							case er.ToggleFull:
1511								i = [W(), U()];
1512								break;
1513							case er.ToggleMax:
1514								i = [W(), X()];
1515								break;
1516							case er.IterateZoom:
1517								i = [W(), U(), X()];
1518								break;
1519							case er.Zoom:
1520								let r = U();
1521								o = n >= r - 0.05 ? W() : Math.min(r, n * (t.scale || 2));
1522						}
1523						if (i.length) {
1524							let e = i.findIndex((e) => e > n + 1 / en);
1525							o = i[e] || W();
1526						}
1527					}
1528					return e !== er.ZoomTo && (o = h(B(), o, X())), o;
1529				}
1530				function eg() {
1531					return !!(P() && el() > S.scale);
1532				}
1533				function em() {
1534					return !!(P() && el() < S.scale);
1535				}
1536				function ep() {
1537					return !!(P() && S.scale > B());
1538				}
1539				function eh() {
1540					return !!(P() && S.scale < X());
1541				}
1542				function ey() {
1543					return !!(P() && S.scale < U());
1544				}
1545				function ev() {
1546					return !!(P() && eE() && d && !V());
1547				}
1548				function eb() {
1549					return !!(P() && d?.isPointerDown() && !V());
1550				}
1551				function eE() {
1552					return !!(P() && S.scale > W());
1553				}
1554				function ew() {
1555					return !!(P() && S.scale >= U());
1556				}
1557				function ex() {
1558					let t = 'in-fullscreen',
1559						n = 'with-panzoom-in-fullscreen';
1560					e?.classList.toggle(t);
1561					let o = e?.classList.contains(t);
1562					o
1563						? (document.documentElement.classList.add(n), document.addEventListener('keydown', eM, !0))
1564						: (document.documentElement.classList.remove(n),
1565						  document.removeEventListener('keydown', eM, !0)),
1566						et(),
1567						C(o ? 'enterFS' : 'exitFS');
1568				}
1569				function eM(e) {
1570					'Escape' !== e.key || e.defaultPrevented || ex();
1571				}
1572				let eL = {
1573					canDrag: ev,
1574					canZoomIn: eh,
1575					canZoomOut: ep,
1576					canZoomToFull: ey,
1577					destroy: function () {
1578						for (let e of (C('destroy'), Object.values(M))) e?.destroy(eL);
1579						for (let e of T) e();
1580						return (
1581							i && ((i.style.aspectRatio = ''), (i.style.maxWidth = ''), (i.style.maxHeight = '')),
1582							a && ((a.style.width = ''), (a.style.height = ''), (a.style.transform = '')),
1583							(i = void 0),
1584							(r = void 0),
1585							(a = void 0),
1586							(L = { ...ea }),
1587							(S = { ...ea }),
1588							g?.destroy(),
1589							(g = void 0),
1590							d?.destroy(),
1591							(d = void 0),
1592							(y = es.Destroyed),
1593							eL
1594						);
1595					},
1596					emit: C,
1597					execute: Q,
1598					getBoundaries: Y,
1599					getContainer: function () {
1600						return e;
1601					},
1602					getContent: function () {
1603						return r;
1604					},
1605					getFullDim: H,
1606					getGestures: function () {
1607						return d;
1608					},
1609					getMousemovePos: q,
1610					getOptions: function () {
1611						return w;
1612					},
1613					getPlugins: function () {
1614						return M;
1615					},
1616					getScale: N,
1617					getStartPosition: F,
1618					getState: function () {
1619						return y;
1620					},
1621					getTransform: function (e) {
1622						return !0 === e ? S : L;
1623					},
1624					getTween: function () {
1625						return g;
1626					},
1627					getViewport: function () {
1628						return a;
1629					},
1630					getWrapper: function () {
1631						return i;
1632					},
1633					init: function () {
1634						return (
1635							(y = es.Init),
1636							C('init'),
1637							(function () {
1638								for (let [e, t] of Object.entries({ ...o, ...(w.plugins || {}) }))
1639									if (e && !M[e] && t instanceof Function) {
1640										let n = t();
1641										n.init(eL), (M[e] = n);
1642									}
1643								C('initPlugins');
1644							})(),
1645							(function () {
1646								let t = { ...ec.classes, ...R('classes') },
1647									n = t.content?.split(' ').shift(),
1648									o = t.wrapper?.split(' ').shift(),
1649									s = t.viewport?.split(' ').shift();
1650								if (
1651									n &&
1652									o &&
1653									s &&
1654									e &&
1655									(v(e, t.container), (r = e.querySelector(`.${n}:not(.is-clone)`)))
1656								) {
1657									if (
1658										(r.setAttribute('draggable', 'false'),
1659										(i = e.querySelector(`.${o}`)) ||
1660											(v((i = document.createElement('div')), t.wrapper),
1661											r.insertAdjacentElement('beforebegin', i),
1662											i.insertAdjacentElement('afterbegin', r)),
1663										(a = e.querySelector(`.${s}`)) ||
1664											(v((a = document.createElement('div')), t.viewport),
1665											i.insertAdjacentElement('beforeend', a)),
1666										a.contains(r) || a.insertAdjacentElement('afterbegin', r),
1667										(l = e.querySelector(`.${n}.is-clone`)) ||
1668											((l = r.cloneNode(!0)).removeAttribute('id'),
1669											v(l, 'is-clone'),
1670											i.insertAdjacentElement('afterbegin', l)),
1671										r instanceof HTMLPictureElement && (r = r.querySelector('img')),
1672										l instanceof HTMLPictureElement && (l = l.querySelector('img')),
1673										a instanceof HTMLPictureElement && (a = a.querySelector('img')),
1674										a && ((a.style.visibility = 'hidden'), R('protected')))
1675									) {
1676										a.addEventListener('contextmenu', (e) => {
1677											eo(e);
1678										});
1679										let e = document.createElement('div');
1680										v(e, 'f-panzoom__protected'), a.appendChild(e);
1681									}
1682									C('initLayout');
1683								}
1684							})(),
1685							(function () {
1686								if (e && i && !m) {
1687									let e = null;
1688									(m = new ResizeObserver(() => {
1689										P() &&
1690											(e =
1691												e ||
1692												requestAnimationFrame(() => {
1693													P() && (J(), K(), C('refresh')), (e = null);
1694												}));
1695									})).observe(i),
1696										T.push(() => {
1697											m?.disconnect(), (m = void 0), e && (cancelAnimationFrame(e), (e = null));
1698										});
1699								}
1700							})(),
1701							(function () {
1702								if (!e || !r) return;
1703								if (!(r instanceof HTMLImageElement && l instanceof HTMLImageElement)) return $();
1704								let t = () => {
1705									r &&
1706										r instanceof HTMLImageElement &&
1707										r
1708											.decode()
1709											.then(() => {
1710												$();
1711											})
1712											.catch(() => {
1713												$();
1714											});
1715								};
1716								((y = es.Loading), e.classList.add('is-loading'), C('loading'), l.src && l.complete)
1717									? t()
1718									: ((function () {
1719											if (!e || e?.querySelector('.f-spinner')) return;
1720											let t = u(R('spinnerTpl'));
1721											t &&
1722												(t.classList.add('f-spinner'),
1723												e.classList.add('is-loading'),
1724												i?.insertAdjacentElement('afterbegin', t));
1725									  })(),
1726									  l.addEventListener('load', t, !1),
1727									  l.addEventListener('error', t, !1),
1728									  T.push(() => {
1729											l?.removeEventListener('load', t, !1), l?.removeEventListener('error', t, !1);
1730									  }));
1731							})(),
1732							eL
1733						);
1734					},
1735					isDragging: eb,
1736					isExpanded: eE,
1737					isFullsize: ew,
1738					isMousemoveMode: V,
1739					localize: function (e, t = []) {
1740						let n = R('l10n') || {};
1741						e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
1742						for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
1743						return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
1744					},
1745					off: function (e, t) {
1746						for (let n of e instanceof Array ? e : [e])
1747							A.has(n) &&
1748								A.set(
1749									n,
1750									A.get(n).filter((e) => e !== t)
1751								);
1752						return eL;
1753					},
1754					on: function (e, t) {
1755						for (let n of e instanceof Array ? e : [e]) A.set(n, [...(A.get(n) || []), t]);
1756						return eL;
1757					},
1758					toggleFS: ex,
1759					updateControls: J,
1760					version: '6.1.13',
1761					willZoomIn: eg,
1762					willZoomOut: em,
1763				};
1764				return eL;
1765			};
1766		(eg.l10n = { en_EN: et }), (eg.getDefaults = () => ec);
1767		let em = (e, t) => {
1768				let n = [];
1769				return (
1770					e.childNodes.forEach((e) => {
1771						e.nodeType === Node.ELEMENT_NODE && (!t || e.matches(t)) && n.push(e);
1772					}),
1773					n
1774				);
1775			},
1776			ep = {
1777				...et,
1778				ERROR: 'Something went wrong. <br /> Please try again later.',
1779				NEXT: 'Next page',
1780				PREV: 'Previous page',
1781				GOTO: 'Go to page #%d',
1782				DOWNLOAD: 'Download',
1783				TOGGLE_FULLSCREEN: 'Toggle full-screen mode',
1784				TOGGLE_EXPAND: 'Toggle full-size mode',
1785				TOGGLE_THUMBS: 'Toggle thumbnails',
1786				TOGGLE_AUTOPLAY: 'Toggle slideshow',
1787			},
1788			eh = (e) => {
1789				e.cancelable && e.preventDefault();
1790			},
1791			ey =
1792				(((I = {})[(I.Init = 0)] = 'Init'),
1793				(I[(I.Ready = 1)] = 'Ready'),
1794				(I[(I.Destroyed = 2)] = 'Destroyed'),
1795				I),
1796			ev =
1797				(((z = {})[(z.Loading = 0)] = 'Loading'),
1798				(z[(z.Loaded = 1)] = 'Loaded'),
1799				(z[(z.Error = 2)] = 'Error'),
1800				z),
1801			eb = {
1802				adaptiveHeight: !1,
1803				center: !0,
1804				classes: {
1805					container: 'f-carousel',
1806					isEnabled: 'is-enabled',
1807					isLTR: 'is-ltr',
1808					isRTL: 'is-rtl',
1809					isHorizontal: 'is-horizontal',
1810					isVertical: 'is-vertical',
1811					hasAdaptiveHeight: 'has-adaptive-height',
1812					viewport: 'f-carousel__viewport',
1813					slide: 'f-carousel__slide',
1814					isSelected: 'is-selected',
1815				},
1816				dragFree: !1,
1817				enabled: !0,
1818				errorTpl: '<div class="f-html">{{ERROR}}</div>',
1819				fill: !1,
1820				infinite: !0,
1821				initialPage: 0,
1822				l10n: ep,
1823				rtl: !1,
1824				slides: [],
1825				slidesPerPage: 'auto',
1826				spinnerTpl: '<div class="f-spinner"></div>',
1827				transition: 'fade',
1828				tween: {
1829					clamp: !0,
1830					mass: 1,
1831					tension: 160,
1832					friction: 25,
1833					restDelta: 1,
1834					restSpeed: 1,
1835					velocity: 0,
1836				},
1837				vertical: !1,
1838			},
1839			eE = 0,
1840			ew = (e, t = {}, o = {}) => {
1841				let i, r, l, d, g;
1842				eE++;
1843				let p = ey.Init,
1844					w = { ...eb },
1845					x = { ...eb },
1846					M = {},
1847					L = null,
1848					S = null,
1849					T = 0,
1850					R = 0,
1851					P = 0,
1852					A = !1,
1853					C = !1,
1854					O = !1,
1855					I = 'height',
1856					z = 0,
1857					k = !0,
1858					$ = 0,
1859					F = 0,
1860					_ = 0,
1861					H = 0,
1862					D = '*',
1863					V = [],
1864					N = [],
1865					B = new Set(),
1866					W = [],
1867					Z = [],
1868					G = 0,
1869					U = 0,
1870					X = 0;
1871				function Y(e, ...t) {
1872					let n = x[e];
1873					return n && n instanceof Function ? n(eF, ...t) : n;
1874				}
1875				function K(e, t = []) {
1876					let n = Y('l10n') || {};
1877					e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
1878					for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
1879					return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
1880				}
1881				let J = new Map();
1882				function Q(e, ...t) {
1883					let n = [...(J.get(e) || [])];
1884					for (let o of (x.on && n.push(x.on[e]), n)) o && o instanceof Function && o(eF, ...t);
1885					'*' !== e && Q('*', e, ...t);
1886				}
1887				function et() {
1888					let e = m({}, eb, w);
1889					m(e, eb, w);
1890					let t = '',
1891						n = w.breakpoints || {};
1892					if (n)
1893						for (let [o, i] of Object.entries(n)) window.matchMedia(o).matches && ((t += o), m(e, i));
1894					if (void 0 === g || t !== g) {
1895						if (((g = t), p !== ey.Init)) {
1896							let t = Z[$]?.slides[0]?.index;
1897							for (let n of (void 0 === t && (t = x.initialSlide),
1898							(e.initialSlide = t),
1899							(e.slides = []),
1900							V))
1901								n.isVirtual && e.slides.push(n);
1902						}
1903						ez(),
1904							(x = e),
1905							!1 !== Y('enabled') &&
1906								((p = ey.Init),
1907								Q('init'),
1908								(function () {
1909									for (let [e, t] of Object.entries({ ...o, ...(x.plugins || {}) }))
1910										if (e && !M[e] && t instanceof Function) {
1911											let n = t();
1912											n.init(eF, ew), (M[e] = n);
1913										}
1914									Q('initPlugins');
1915								})(),
1916								(function () {
1917									if (!L) return;
1918									let e = Y('classes') || {};
1919									v(L, e.container);
1920									let t = Y('style');
1921									if (t && a(t)) for (let [e, n] of Object.entries(t)) L.style.setProperty(e, n);
1922									(S = L.querySelector(`.${e.viewport}`)) ||
1923										(v((S = document.createElement('div')), e.viewport),
1924										S.append(...em(L, `.${e.slide}`)),
1925										L.insertAdjacentElement('afterbegin', S)),
1926										(L.carousel = eF),
1927										Q('initLayout');
1928								})(),
1929								(function () {
1930									if (!S) return;
1931									let e = Y('classes') || {};
1932									for (let t of ((V = []),
1933									[...em(S, `.${e.slide}
1933`)].forEach((e) => {
1934										if (e.parentElement) {
1935											let t = ef({ el: e, isVirtual: !1, ...(e.dataset || {}) });
1936											Q('createSlide', t), V.push(t);
1937										}
1938									}),
1939									ev(),
1940									V))
1941										Q('addSlide', t);
1942									for (let e of (ed(Y('slides')), V)) {
1943										let t = e.el;
1944										t?.parentElement === S &&
1945											(v(t, x.classes.slide), v(t, e.class), eA(e), Q('attachSlideEl', e));
1946									}
1947									Q('initSlides');
1948								})(),
1949								ex(),
1950								(p = ey.Ready),
1951								v(L, (Y('classes') || {}).isEnabled || ''),
1952								eI(),
1953								el(),
1954								(r = j()
1955									.on('start', () => {
1956										(i && i.isPointerDown()) || (er(), eI());
1957									})
1958									.on('step', (e) => {
1959										let t = z;
1960										(z = e.pos) !== t && ((k = !1), eI());
1961									})
1962									.on('end', (e) => {
1963										!i?.isPointerDown() &&
1964											((z = e.pos),
1965											r && !A && (z < _ || z > H)
1966												? r
1967														.spring({
1968															clamp: !0,
1969															mass: 1,
1970															tension: 200,
1971															friction: 25,
1972															velocity: 0,
1973															restDelta: 1,
1974															restSpeed: 1,
1975														})
1976														.from({ pos: z })
1977														.to({ pos: h(_, z, H) })
1978														.start()
1979												: k || ((k = !0), Q('settle')));
1980									})),
1981								eo(),
1982								(function () {
1983									if (!L || !S) return;
1984									L.addEventListener('click', eT), document.addEventListener('mousemove', en);
1985									let e = S.getBoundingClientRect();
1986									if (((G = e.height), (U = e.width), !l)) {
1987										let e = null;
1988										(l = new ResizeObserver(() => {
1989											e ||
1990												(e = requestAnimationFrame(() => {
1991													(function () {
1992														if (p !== ey.Ready || !S) return;
1993														let e = Z.length,
1994															t = S.getBoundingClientRect(),
1995															n = t.height,
1996															o = t.width;
1997														(e > 1 && ((O && 0.5 > Math.abs(n - G)) || (!O && 0.5 > Math.abs(o - U)))) ||
1998															(ex(),
1999															eo(),
2000															(G = n),
2001															(U = o),
2002															(O && !G) ||
2003																(!O && !U) ||
2004																(L &&
2005																	S &&
2006																	((e === Z.length && i?.isPointerDown()) ||
2007																		(Y('dragFree') && (A || (z > _ && z < H))
2008																			? (er(), eI())
2009																			: eC($, { transition: !1 })))));
2010													})(),
2011														(e = null);
2012												}));
2013										})).observe(S);
2014									}
2015								})(),
2016								Q('ready'));
2017					}
2018				}
2019				function en(e) {
2020					n = e;
2021				}
2022				function eo() {
2023					if (!1 === Y('gestures')) i && (i.destroy(), (i = void 0));
2024					else {
2025						let e;
2026						i ||
2027							((e = Y('gestures')),
2028							!i &&
2029								!1 !== e &&
2030								S &&
2031								(i = ee(S, e)
2032									.on('start', (e) => {
2033										if (!r || !1 === Y('gestures', e)) return;
2034										let { srcEvent: t } = e;
2035										O && q(t) && !f(t.target) && eh(t), r.pause(), (r.getCurrentVelocities().pos = 0);
2036										let n = Z[$]?.slides[0],
2037											o = n?.el;
2038										if (n && B.has(n.index) && o) {
2039											let e;
2040											z =
2041												(n.offset || 0) +
2042												({
2043													width: (e = new DOMMatrixReadOnly(window.getComputedStyle(o).transform)).m41 || 0,
2044													height: e.m42 || 0,
2045												}[I] || 0) *
2046													(C && !O ? 1 : -1);
2047										}
2048										eL(),
2049											!A &&
2050												(z < _ || z > H) &&
2051												r
2052													.spring({
2053														clamp: !0,
2054														mass: 1,
2055														tension: 500,
2056														friction: 25,
2057														velocity: r.getCurrentVelocities()?.pos || 0,
2058														restDelta: 1,
2059														restSpeed: 1,
2060													})
2061													.from({ pos: z })
2062													.to({ pos: h(_, z, H) })
2063													.start();
2064									})
2065									.on('move', (e) => {
2066										if (!1 === Y('gestures', e)) return;
2067										let { srcEvent: t, axis: n, deltaX: o, deltaY: i } = e;
2068										if (q(t) && t.touches?.length > 1) return;
2069										let l = f(t.target),
2070											a = l ? (l.scrollHeight > l.clientHeight ? 'y' : 'x') : void 0;
2071										if (l && l !== S && (!n || n === a)) return;
2072										if (!n) {
2073											eh(t), t.stopPropagation(), t.stopImmediatePropagation();
2074											return;
2075										}
2076										if (('y' === n && !O) || ('x' === n && O) || (eh(t), t.stopPropagation(), !r)) return;
2077										let s = C && !O ? 1 : -1,
2078											c = O ? i : o,
2079											u = r?.isRunning() ? r.getEndValues().pos : z,
2080											d = 1;
2081										!A &&
2082											(u <= _ && c * s < 0
2083												? (d = 0.2 * Math.max(0.01, 1 - (Math.abs((1 / T) * Math.abs(u - _)) || 0)))
2084												: u >= H &&
2085												  c * s > 0 &&
2086												  (d = 0.2 * Math.max(0.01, 1 - (Math.abs((1 / T) * Math.abs(u - H)) || 0)))),
2087											(u += c * d * s),
2088											r
2089												.spring({
2090													clamp: !0,
2091													mass: 1,
2092													tension: 700,
2093													friction: 25,
2094													velocity: r.getCurrentVelocities()?.pos || 0,
2095													restDelta: 1,
2096													restSpeed: 1,
2097												})
2098												.from({ pos: z })
2099												.to({ pos: u })
2100												.start();
2101									})
2102									.on('panstart', (e) => {
2103										!1 !== Y('gestures', e) && e?.axis === (O ? 'y' : 'x') && v(S, 'is-dragging');
2104									})
2105									.on('panend', (e) => {
2106										!1 !== Y('gestures', e) && b(S, 'is-dragging');
2107									})
2108									.on('end', (e) => {
2109										if (!1 === Y('gestures', e)) return;
2110										let { srcEvent: t, axis: n, velocityX: o, velocityY: i, currentTouch: l } = e;
2111										if (l.length > 0 || !r) return;
2112										let a = f(t.target),
2113											s = a ? (a.scrollHeight > a.clientHeight ? 'y' : 'x') : void 0,
2114											c = a && (!n || n === s);
2115										O && q(t) && !n && eT(t);
2116										let u = Z.length,
2117											d = Y('dragFree');
2118										if (!u) return;
2119										let g = c ? 0 : Y('vertical') ? i : o;
2120										n !== (O ? 'y' : 'x') && (g = 0);
2121										let m = r?.isRunning() ? r.getEndValues().pos : z,
2122											p = C && !O ? 1 : -1;
2123										if (
2124											(c || (m += g * (d ? 5 : 1) * p), !A && ((g * p <= 0 && m < _) || (g * p >= 0 && m > H)))
2125										) {
2126											let e = 0;
2127											Math.abs(g) > 0 && (e = Math.min(0.3 * T, (e = 2 * Math.abs(g)))),
2128												(m = h(_ + -1 * e, m, H + e)),
2129												r
2130													.spring({
2131														clamp: !0,
2132														mass: 1,
2133														tension: 380,
2134														friction: 25,
2135														velocity: -1 * g,
2136														restDelta: 1,
2137														restSpeed: 1,
2138													})
2139													.from({ pos: z })
2140													.to({ pos: m })
2141													.start();
2142											return;
2143										}
2144										if (d || M.Autoscroll?.isEnabled())
2145											return void (Math.abs(g) > 10
2146												? r
2147														.spring({
2148															clamp: !0,
2149															mass: 1,
2150															tension: 150,
2151															friction: 25,
2152															velocity: -1 * g,
2153															restDelta: 1,
2154															restSpeed: 1,
2155														})
2156														.from({ pos: z })
2157														.to({ pos: m })
2158														.start()
2159												: r.isRunning() || k || ((k = !0), Q('settle')));
2160										if (
2161											!(d || M.Autoscroll?.isEnabled()) &&
2162											(!(e.offsetX || e.offsetY) || ('y' === n && !O) || ('x' === n && O))
2163										)
2164											return void eC($, { transition: 'tween' });
2165										let y = es(m);
2166										Math.abs(g) > 10 &&
2167											y === $ &&
2168											(g > 0 ? (y += C && !O ? 1 : -1) : (y += C && !O ? -1 : 1)),
2169											eC(y, { transition: 'tween', tween: { velocity: -1 * g } });
2170									})
2171									.init()));
2172					}
2173					E(S, 'is-draggable', !!i && Z.length > 0);
2174				}
2175				function ei(e = '*') {
2176					let t = [];
2177					for (let n of V)
2178						('*' === e || (n.class && n.class.includes(e)) || (n.el && n.el?.classList.contains(e))) &&
2179							t.push(n);
2180					(d = void 0), (D = e), (N = [...t]);
2181				}
2182				function er() {
2183					if (!r) return;
2184					let e = es(r?.isRunning() ? r.getEndValues().pos : z);
2185					e !== $ && ((d = $), ($ = e), eA(), el(), ea(), Q('change', $, d));
2186				}
2187				function el() {
2188					if (!L) return;
2189					for (let e of L.querySelectorAll('[data-carousel-index]')) e.innerHTML = $ + '';
2190					for (let e of L.querySelectorAll('[data-carousel-page]')) e.innerHTML = $ + 1 + '';
2191					for (let e of L.querySelectorAll('[data-carousel-pages]')) e.innerHTML = Z.length + '';
2192					for (let e of L.querySelectorAll('[data-carousel-go-to]'))
2193						parseInt(e.dataset?.carouselGoTo || '-1', 10) === $
2194							? e.setAttribute('aria-current', 'true')
2195							: e.removeAttribute('aria-current');
2196					for (let e of L.querySelectorAll('[data-carousel-go-prev]'))
2197						e.toggleAttribute('aria-disabled', !ek()),
2198							ek() ? e.removeAttribute('tabindex') : e.setAttribute('tabindex', '-1');
2199					for (let e of L.querySelectorAll('[data-carousel-go-next]'))
2200						e.toggleAttribute('aria-disabled', !e$()),
2201							e$() ? e.removeAttribute('tabindex') : e.setAttribute('tabindex', '-1');
2202					let e = !1,
2203						t = Z[$]?.slides[0];
2204					for (let n of (t && (t.downloadSrc || ('image' === t.type && t.src)) && (e = !0),
2205					L.querySelectorAll('[data-carousel-download]')))
2206						n.toggleAttribute('aria-disabled', !e);
2207				}
2208				function ea(e) {
2209					e || (e = Z[$]?.slides[0]);
2210					let t = e?.el;
2211					if (t) for (let n of t.querySelectorAll('[data-slide-index]')) n.innerHTML = e.index + 1 + '';
2212				}
2213				function es(e) {
2214					if (!Z.length) return 0;
2215					let t = ec(),
2216						n = e;
2217					A
2218						? (n -= Math.floor((e - Z[0]?.pos) / t) * t || 0)
2219						: (n = h(Z[0]?.pos, e, Z[Z.length - 1]?.pos));
2220					let o = new Map(),
2221						i = 0;
2222					for (let e of Z) {
2223						let r = Math.min(Math.abs(e.pos - n), Math.abs(e.pos - n - t), Math.abs(e.pos - n + t));
2224						o.set(i, r), i++;
2225					}
2226					return parseInt(
2227						(o.size > 0 ? [...o.entries()].reduce((e, t) => (t[1] < e[1] ? t : e)) : [$, 0])[0]
2228					);
2229				}
2230				function ec(e = !0) {
2231					return N.length ? N.reduce((e, t) => e + t.dim, 0) + (N.length - (A && e ? 0 : 1)) * X : 0;
2232				}
2233				function eu(e) {
2234					let t = ec(),
2235						n = T;
2236					if (!t || !S || !n) return [];
2237					let o = [];
2238					(e = void 0 === e ? z : e), A && (e -= Math.floor(e / t) * t || 0);
2239					let i = 0;
2240					for (let r of N) {
2241						let l = (t = 0) => {
2242							!(o.indexOf(r) > -1) &&
2243								((r.pos = i - e + t || 0),
2244								r.offset + t > e - r.dim - R + 0.51 && r.offset + t < e + n + P - 0.51 && o.push(r));
2245						};
2246						(r.offset = i), A && (l(t), l(-1 * t)), l(), (i += r.dim + X);
2247					}
2248					return o;
2249				}
2250				function ed(e, t) {
2251					let n = [];
2252					for (let t of Array.isArray(e) ? e : [e]) {
2253						let e = ef({ ...t, isVirtual: !0 });
2254						e.el || (e.el = document.createElement('div')), Q('createSlide', e), n.push(e);
2255					}
2256					for (let e of (V.splice(void 0 === t ? V.length : t, 0, ...n), ev(), n))
2257						Q('addSlide', e),
2258							(function (e) {
2259								let t = e.el;
2260								if (!e || !t) return;
2261								let n = e.html ? (e.html instanceof HTMLElement ? e.html : u(e.html)) : void 0;
2262								n && (v(n, 'f-html'), (e.htmlEl = n), v(t, 'has-html'), t.append(n), Q('contentReady', e));
2263							})(e);
2264					return ei(D), n;
2265				}
2266				function ef(e) {
2267					return (
2268						(s(e) || e instanceof HTMLElement) && (e = { html: e }),
2269						{
2270							index: -1,
2271							el: void 0,
2272							class: '',
2273							isVirtual: !0,
2274							dim: 0,
2275							pos: 0,
2276							offset: 0,
2277							html: '',
2278							src: '',
2279							...e,
2280						}
2281					);
2282				}
2283				function eg(e) {
2284					if (!S || !e) return;
2285					let t = e.el;
2286					if (t) {
2287						if ((t.setAttribute('index', e.index + ''), t.parentElement !== S)) {
2288							let n;
2289							for (let o of (v(t, x.classes.slide), v(t, e.class), eA(e), V))
2290								if (o.index > e.index) {
2291									n = o.el;
2292									break;
2293								}
2294							S.insertBefore(t, n && S.contains(n) ? n : null), Q('attachSlideEl', e);
2295						}
2296						return ea(e), t;
2297					}
2298				}
2299				function ep(e) {
2300					let t = e?.el;
2301					t && (t.remove(), eM(t), Q('detachSlideEl', e));
2302				}
2303				function ev() {
2304					for (let e = 0; e < V.length; e++) {
2305						let t = V[e],
2306							n = t.el;
2307						n && (t.index !== e && eM(n), n.setAttribute('index', `${e}`)), (t.index = e);
2308					}
2309				}
2310				function ex() {
2311					if (!L || !S) return;
2312					(C = Y('rtl')), (I = (O = Y('vertical')) ? 'height' : 'width');
2313					let e = Y('classes');
2314					if (
2315						(E(L, e.isLTR, !C),
2316						E(L, e.isRTL, C),
2317						E(L, e.isHorizontal, !O),
2318						E(L, e.isVertical, O),
2319						E(L, e.hasAdaptiveHeight, Y('adaptiveHeight')),
2320						(T = 0),
2321						(R = 0),
2322						(P = 0),
2323						(X = 0),
2324						S)
2325					) {
2326						S.childElementCount || (S.style.display = 'grid');
2327						let e = S.getBoundingClientRect();
2328						T = S.getBoundingClientRect()[I] || 0;
2329						let t = window.getComputedStyle(S);
2330						(X = parseFloat(t.getPropertyValue('--f-carousel-gap')) || 0),
2331							'visible' === t.getPropertyValue('overflow-' + (O ? 'y' : 'x')) &&
2332								((R = Math.abs(e[O ? 'top' : 'left'])),
2333								(P = Math.abs(window[O ? 'innerHeight' : 'innerWidth'] - e[O ? 'bottom' : 'right']))),
2334							(S.style.display = '');
2335					}
2336					if (!T) return;
2337					let t = (function () {
2338						let e = 0;
2339						if (S) {
2340							let t = document.createElement('div');
2341							(t.style.display = 'block'),
2342								v(t, x.classes.slide),
2343								S.appendChild(t),
2344								(e = t.getBoundingClientRect()[I]),
2345								t.remove(),
2346								(t = void 0);
2347						}
2348						return e;
2349					})();
2350					for (let e of N) {
2351						let n = e.el,
2352							o = 0;
2353						if (!e.isVirtual && n && c(n)) {
2354							let e = !1;
2355							(n.parentElement && n.parentElement === S) || (S.appendChild(n), (e = !0)),
2356								(o = n.getBoundingClientRect()[I]),
2357								e && n.parentElement?.removeChild(n);
2358						} else o = t;
2359						e.dim = o;
2360					}
2361					if (((A = !1), Y('infinite'))) {
2362						A = !0;
2363						let e = ec(),
2364							t = T + R + P;
2365						for (let n = 0; n < N.length; n++) {
2366							let o = N[n]?.dim + X;
2367							if (e - o < t && e - o - t < o) {
2368								A = !1;
2369								break;
2370							}
2371						}
2372					}
2373					if (
2374						(!(function () {
2375							let e;
2376							if (!L) return;
2377							let t = T,
2378								n = ec(!1),
2379								o = Y('slidesPerPage');
2380							(o = 'auto' === o ? 1 / 0 : parseFloat(o + '')), (Z = []);
2381							let i = 0,
2382								r = 0;
2383							for (let e of N)
2384								(!Z.length || i + e.dim - t > 0.05 || r >= o) &&
2385									(Z.push({ index: Z.length, slides: [], dim: 0, offset: 0, pos: 0 }), (i = 0), (r = 0)),
2386									Z[Z.length - 1]?.slides.push(e),
2387									(i += e.dim + X),
2388									r++;
2389							let l = Y('center'),
2390								a = Y('fill'),
2391								s = 0;
2392							for (let e of Z) {
2393								for (let t of ((e.dim = (e.slides.length - 1) * X), e.slides)) e.dim += t.dim;
2394								(e.offset = s),
2395									(e.pos = s),
2396									!1 !== l && (e.pos -= (t - e.dim) * 0.5),
2397									a && !A && n > t && (e.pos = h(0, e.pos, n - t)),
2398									(s += e.dim + X);
2399							}
2400							let c = [];
2401							for (let t of Z) {
2402								let n = { ...t };
2403								e && 0.1 > Math.abs(n.pos - e.pos)
2404									? ((e.dim += n.dim), (e.slides = [...e.slides, ...n.slides]))
2405									: ((e = n), (n.index = c.length), c.push(n));
2406							}
2407							$ = h(0, $, (Z = c).length - 1);
2408						})(),
2409						(_ = Z[0]?.pos || 0),
2410						(H = Z[Z.length - 1]?.pos || 0),
2411						p === ey.Init)
2412					) {
2413						let e;
2414						(d = void 0),
2415							($ = Y('initialPage')),
2416							void 0 !== (e = Y('initialSlide') || void 0) && ($ = eF.getPageIndex(e) || 0),
2417							($ = h(0, $, Z.length - 1)),
2418							(F = z = Z[$]?.pos || 0);
2419					} else F = Z[$ || 0]?.pos || 0;
2420					Q('refresh'), el();
2421				}
2422				function eM(e) {
2423					if (!e || !c(e)) return;
2424					let t = parseInt(e.getAttribute('index') || '-1'),
2425						n = '';
2426					for (let t of Array.from(e.classList)) {
2427						let e = t.match(/^f-(\w+)(Out|In)$/);
2428						e && e[1] && (n = e[1] + '');
2429					}
2430					if (!e || !n) return;
2431					let o = [`f-${n}Out`, `f-${n}In`, 'to-prev', 'to-next', 'from-prev', 'from-next'];
2432					e.removeEventListener('animationend', eS), b(e, o.join(' ')), B.delete(t);
2433				}
2434				function eL() {
2435					if (!S) return;
2436					let e = B.size > 0;
2437					for (let e of N) eM(e.el);
2438					B.clear(), e && eI();
2439				}
2440				function eS(e) {
2441					e.animationName?.substring(0, 2) === 'f-' &&
2442						(eM(e.target),
2443						!B.size &&
2444							(b(L, 'in-transition'),
2445							!k && 0.5 > Math.abs(eF.getPosition(!0) - F) && ((k = !0), Q('settle'))),
2446						eI());
2447				}
2448				function eT(e) {
2449					if (e.defaultPrevented) return;
2450					let t = e.composedPath()[0];
2451					if (t.closest('[data-carousel-go-prev]')) {
2452						eh(e), eF.prev();
2453						return;
2454					}
2455					if (t.closest('[data-carousel-go-next]')) {
2456						eh(e), eF.next();
2457						return;
2458					}
2459					let n = t.closest('[data-carousel-go-to]');
2460					if (n) {
2461						eh(e), eF.goTo(parseFloat(n.dataset.carouselGoTo || '') || 0);
2462						return;
2463					}
2464					if (t.closest('[data-carousel-download]')) {
2465						eh(e);
2466						let t = Z[$]?.slides[0];
2467						if (t && (t.downloadSrc || ('image' === t.type && t.src))) {
2468							let e = t.downloadFilename,
2469								n = document.createElement('a'),
2470								o = t.downloadSrc || t.src || '';
2471							(n.href = o), (n.target = '_blank'), (n.download = e || o), n.click();
2472						}
2473						return;
2474					}
2475					Q('click', e);
2476				}
2477				function eR(e) {
2478					let t = e.el;
2479					t && t.querySelector('.f-spinner')?.remove();
2480				}
2481				function eP(e) {
2482					let t = e.el;
2483					t && (t.querySelector('.f-html.is-error')?.remove(), b(t, 'has-error'));
2484				}
2485				function eA(e) {
2486					e || (e = Z[$]?.slides[0]);
2487					let t = e?.el;
2488					if (!t) return;
2489					let n = Y('formatCaption', e);
2490					void 0 === n && (n = e.caption), (n = n || '');
2491					let o = Y('captionEl');
2492					if (o && o instanceof HTMLElement) {
2493						if (e.index !== $) return;
2494						if ((s(n) && (o.innerHTML = K(n + '')), n instanceof HTMLElement)) {
2495							if (n.parentElement === o) return;
2496							(o.innerHTML = ''), n.parentElement && (n = n.cloneNode(!0)), o.append(n);
2497						}
2498						return;
2499					}
2500					if (!n) return;
2501					let i = e.captionEl || t.querySelector('.f-caption');
2502					!i && n instanceof HTMLElement && n.classList.contains('f-caption') && (i = n),
2503						!i &&
2504							(v((i = document.createElement('div')), 'f-caption'),
2505							s(n)
2506								? (i.innerHTML = K(n + ''))
2507								: n instanceof HTMLElement && (n.parentElement && (n = n.cloneNode(!0)), i.append(n)));
2508					let r = `f-caption-${eE}_${e.index}`;
2509					i.setAttribute('id', r),
2510						(i.dataset.selectable = 'true'),
2511						v(t, 'has-caption'),
2512						t.setAttribute('aria-labelledby', r),
2513						(e.captionEl = i),
2514						t.insertAdjacentElement('beforeend', i);
2515				}
2516				function eC(e, t = {}) {
2517					let { transition: n, tween: o } = {
2518						...{ transition: x.transition, tween: x.tween },
2519						...(t || {}),
2520					};
2521					if (!L || !r) return;
2522					let i = Z.length;
2523					if (
2524						!i ||
2525						(function (e, t) {
2526							if (!L || !T || !r || !t || !s(t) || 'tween' === t) return !1;
2527							for (let e of W) if (T - e.dim > 0.5) return !1;
2528							if (R > 0.5 || P > 0.5) return;
2529							let n = Z.length,
2530								o = e > $ ? 1 : -1;
2531							(e = A ? ((e % n) + n) % n : h(0, e, n - 1)), C && (o *= -1);
2532							let i = Z[$]?.slides[0],
2533								l = i?.index,
2534								a = Z[e]?.slides[0],
2535								c = a?.index,
2536								u = Z[e]?.pos;
2537							if (void 0 === c || void 0 === l || l === c || z === u || Math.abs(T - (a?.dim || 0)) > 1)
2538								return !1;
2539							(k = !1), r.pause(), eL(), v(L, 'in-transition'), (z = F = u);
2540							let d = eg(i),
2541								f = eg(a);
2542							return (
2543								er(),
2544								d &&
2545									(B.add(l),
2546									(d.style.transform = ''),
2547									d.addEventListener('animationend', eS),
2548									b(d, x.classes.isSelected),
2549									(d.inert = !1),
2550									v(d, `f-${t}Out to-${o > 0 ? 'next' : 'prev'}`)),
2551								f &&
2552									(B.add(c),
2553									(f.style.transform = ''),
2554									f.addEventListener('animationend', eS),
2555									v(f, x.classes.isSelected),
2556									(f.inert = !1),
2557									v(f, `f-${t}In from-${o > 0 ? 'prev' : 'next'}`)),
2558								eI(),
2559								!0
2560							);
2561						})(e, n)
2562					)
2563						return;
2564					(e = A ? ((e % i) + i) % i : h(0, e, i - 1)), (F = Z[e || 0]?.pos || 0);
2565					let l = r.isRunning() ? r.getEndValues().pos : z;
2566					if (1 > Math.abs(F - l)) {
2567						(z = F),
2568							$ !== e && (eA(), (d = $), ($ = e), el(), ea(), Q('change', $, d)),
2569							eI(),
2570							k || ((k = !0), Q('settle'));
2571						return;
2572					}
2573					if ((r.pause(), eL(), A)) {
2574						let e = ec(),
2575							t = Math.floor((l - Z[0]?.pos) / e) || 0,
2576							n = F + t * e,
2577							o = n - e;
2578						F = [n + e, n, o].reduce(function (e, t) {
2579							return Math.abs(t - l) < Math.abs(e - l) ? t : e;
2580						});
2581					}
2582					!1 !== n && a(o)
2583						? r
2584								.spring(m({}, x.tween, o))
2585								.from({ pos: z })
2586								.to({ pos: F })
2587								.start()
2588						: ((z = F), er(), eI(), k || ((k = !0), Q('settle')));
2589				}
2590				function eO(e) {
2591					let t = z;
2592					if (A && !0 !== e) {
2593						let e = ec();
2594						t -= (Math.floor((z - Z[0]?.pos || 0) / e) || 0) * e;
2595					}
2596					return t;
2597				}
2598				function eI() {
2599					let e;
2600					if (!L || !S) return;
2601					W = eu();
2602					let t = new Set(),
2603						n = [],
2604						o = Z[$],
2605						i = x.setTransform;
2606					for (let i of N) {
2607						let r = B.has(i.index),
2608							l = W.indexOf(i) > -1,
2609							a = o?.slides?.indexOf(i) > -1;
2610						if (i.isVirtual && !r && !l) continue;
2611						let s = eg(i);
2612						if (s && (n.push(i), a && t.add(s), Y('adaptiveHeight') && a)) {
2613							let t = (s.lastElementChild || s).getBoundingClientRect().height;
2614							e = void 0 == e ? t : Math.max(e, t);
2615						}
2616					}
2617					S && e && (S.style.height = `${e}px`),
2618						[...em(S, `.${x.classes.slide}`)].forEach((e) => {
2619							E(e, x.classes.isSelected, t.has(e));
2620							let n = V[parseInt(e.getAttribute('index') || '-1')];
2621							if (!n) {
2622								e.remove(), eM(e);
2623								return;
2624							}
2625							let o = B.has(n.index),
2626								r = W.indexOf(n) > -1;
2627							if (n.isVirtual && !o && !r) return void ep(n);
2628							if (((e.inert = !r), !1 === i)) return;
2629							let l = n.pos ? Math.round(1e4 * n.pos) / 1e4 : 0,
2630								a = 0,
2631								s = 0,
2632								c = 0,
2633								u = 0;
2634							o ||
2635								((a = O ? 0 : C ? -1 * l : l),
2636								(s = O ? l : 0),
2637								(c = y(a, 0, n.dim, 0, 100)),
2638								(u = y(s, 0, n.dim, 0, 100))),
2639								i instanceof Function && !o
2640									? i(eF, n, { x: a, y: s, xPercent: c, yPercent: u })
2641									: (e.style.transform = a || s ? `translate3d(${c}%, ${u}%,0)` : '');
2642						}),
2643						Q('render', n);
2644				}
2645				function ez() {
2646					for (let e of (L?.removeEventListener('click', eT),
2647					document.removeEventListener('mousemove', en),
2648					B.clear(),
2649					l?.disconnect(),
2650					(l = void 0),
2651					V)) {
2652						let t = e.el;
2653						t &&
2654							c(t) &&
2655							((e.state = void 0),
2656							eR(e),
2657							eP(e),
2658							e.isVirtual
2659								? (ep(e), (e.el = void 0))
2660								: (eM(t), (t.style.transform = ''), S && !S.contains(t) && S.appendChild(t)));
2661					}
2662					for (let e of Object.values(M)) e?.destroy();
2663					for (let [e, t] of ((M = {}),
2664					i?.destroy(),
2665					(i = void 0),
2666					r?.destroy(),
2667					(r = void 0),
2668					Object.entries(x.classes || {})))
2669						'container' !== e && b(L, t);
2670					b(S, 'is-draggable');
2671				}
2672				function ek() {
2673					return A || $ > 0;
2674				}
2675				function e$() {
2676					return A || $ < Z.length - 1;
2677				}
2678				let eF = {
2679					add: function (e, t) {
2680						let n = z,
2681							o = $,
2682							i = ec(),
2683							l = r?.isRunning() ? r.getEndValues().pos : z,
2684							a = (i && Math.floor((l - (Z[0]?.pos || 0)) / i)) || 0;
2685						return (
2686							ed(e, t),
2687							ei(D),
2688							ex(),
2689							r &&
2690								i &&
2691								(o === $ && (n -= a * i),
2692								n === F
2693									? (z = F)
2694									: r
2695											.spring({ clamp: !0, mass: 1, tension: 300, friction: 25, restDelta: 1, restSpeed: 1 })
2696											.from({ pos: n })
2697											.to({ pos: F })
2698											.start()),
2699							eI(),
2700							eF
2701						);
2702					},
2703					canGoPrev: ek,
2704					canGoNext: e$,
2705					destroy: function () {
2706						return (
2707							Q('destroy'),
2708							window.removeEventListener('resize', et),
2709							ez(),
2710							J.clear(),
2711							(L = null),
2712							(Z = []),
2713							(V = []),
2714							(x = { ...eb }),
2715							(M = {}),
2716							(N = []),
2717							(g = void 0),
2718							(D = '*'),
2719							(p = ey.Destroyed),
2720							eF
2721						);
2722					},
2723					emit: Q,
2724					filter: function (e = '*') {
2725						return ei(e), ex(), (z = h(_, z, H)), eI(), Q('filter', e), eF;
2726					},
2727					getContainer: function () {
2728						return L;
2729					},
2730					getGapDim: function () {
2731						return X;
2732					},
2733					getGestures: function () {
2734						return i;
2735					},
2736					getLastMouseMove: function () {
2737						return n;
2738					},
2739					getOption: function (e) {
2740						return Y(e);
2741					},
2742					getOptions: function () {
2743						return x;
2744					},
2745					getPage: function () {
2746						return Z[$];
2747					},
2748					getPageIndex: function (e) {
2749						if (void 0 !== e) {
2750							for (let t of Z || []) for (let n of t.slides) if (n.index === e) return t.index;
2751							return -1;
2752						}
2753						return $;
2754					},
2755					getPageIndexFromPosition: es,
2756					getPageProgress: function (e, t) {
2757						void 0 === e && (e = $);
2758						let n = Z[e];
2759						if (!n) return e > $ ? -1 : 1;
2760						let o = ec(),
2761							i = X,
2762							r = n.pos,
2763							l = eO();
2764						if (A && !0 !== t) {
2765							let e = Math.floor((l - Z[0]?.pos) / o) || 0;
2766							(l -= e * o),
2767								(r = [r + o, r, r - o].reduce(function (e, t) {
2768									return Math.abs(t - l) < Math.abs(e - l) ? t : e;
2769								}));
2770						}
2771						return (l - r) / (n.dim + i) || 0;
2772					},
2773					getPageVisibility: function (e) {
2774						void 0 === e && (e = $);
2775						let t = Z[e];
2776						if (!t) return e > $ ? -1 : 1;
2777						let n = eO(),
2778							o = T,
2779							i = t.pos;
2780						if (A) {
2781							let e = ec(),
2782								t = i + (Math.floor((n - Z[0]?.pos) / e) || 0) * e,
2783								o = t - e;
2784							i = [t + e, t, o].reduce(function (e, t) {
2785								return Math.abs(t - n) < Math.abs(e - n) ? t : e;
2786							});
2787						}
2788						return i > n && i + t.dim < n + o
2789							? 1
2790							: i < n
2791							? (i + t.dim - n) / t.dim || 0
2792							: (i + t.dim > n + o && (n + o - i) / t.dim) || 0;
2793					},
2794					getPages: function () {
2795						return Z;
2796					},
2797					getPlugins: function () {
2798						return M;
2799					},
2800					getPosition: eO,
2801					getSlides: function () {
2802						return V;
2803					},
2804					getState: function () {
2805						return p;
2806					},
2807					getTotalSlideDim: ec,
2808					getTween: function () {
2809						return r;
2810					},
2811					getViewport: function () {
2812						return S;
2813					},
2814					getViewportDim: function () {
2815						return T;
2816					},
2817					getVisibleSlides: function (e) {
2818						return void 0 === e ? W : eu(e);
2819					},
2820					goTo: eC,
2821					hasNavigated: function () {
2822						return void 0 !== d;
2823					},
2824					hideError: eP,
2825					hideLoading: eR,
2826					init: function () {
2827						if (!e || !c(e)) throw Error('No Element found');
2828						return (
2829							p !== ey.Init && (ez(), (p = ey.Init)),
2830							(L = e),
2831							(w = t),
2832							window.removeEventListener('resize', et),
2833							w.breakpoints && window.addEventListener('resize', et),
2834							et(),
2835							eF
2836						);
2837					},
2838					isInfinite: function () {
2839						return A;
2840					},
2841					isInTransition: function () {
2842						return B.size > 0;
2843					},
2844					isRTL: function () {
2845						return C;
2846					},
2847					isSettled: function () {
2848						return k;
2849					},
2850					isVertical: function () {
2851						return O;
2852					},
2853					localize: K,
2854					next: function (e = {}) {
2855						return eC($ + 1, e), eF;
2856					},
2857					off: function (e, t) {
2858						for (let n of e instanceof Array ? e : [e])
2859							J.has(n) &&
2860								J.set(
2861									n,
2862									J.get(n).filter((e) => e !== t)
2863								);
2864						return eF;
2865					},
2866					on: function (e, t) {
2867						for (let n of e instanceof Array ? e : [e]) J.set(n, [...(J.get(n) || []), t]);
2868						return eF;
2869					},
2870					prev: function (e = {}) {
2871						return eC($ - 1, e), eF;
2872					},
2873					reInit: function (e = {}, n) {
2874						return (
2875							ez(), (p = ey.Init), (g = void 0), (D = '*'), (t = e), (w = e), a(n) && (o = n), et(), eF
2876						);
2877					},
2878					remove: function (e) {
2879						void 0 === e && (e = V.length - 1);
2880						let t = V[e];
2881						return (
2882							t &&
2883								(Q('removeSlide', t),
2884								t.el && (eM(t.el), t.el.remove(), (t.el = void 0)),
2885								V.splice(e, 1),
2886								ei(D),
2887								ex(),
2888								(z = h(_, z, H)),
2889								eI()),
2890							eF
2891						);
2892					},
2893					setPosition: function (e) {
2894						(z = e), er(), eI();
2895					},
2896					showError: function (e, t) {
2897						if (p === ey.Ready) {
2898							eR(e), eP(e);
2899							let n = e.el;
2900							if (n) {
2901								let o = document.createElement('div');
2902								v(o, 'f-html'),
2903									v(o, 'is-error'),
2904									(o.innerHTML = K(t || '<p>{{ERROR}}</p>')),
2905									(e.htmlEl = o),
2906									v(n, 'has-html has-error'),
2907									n.insertAdjacentElement('afterbegin', o),
2908									Q('contentReady', e);
2909							}
2910						}
2911						return eF;
2912					},
2913					showLoading: function (e) {
2914						let t = e.el,
2915							n = t?.querySelector('.f-spinner');
2916						if (!t || n) return eF;
2917						let o = u(Y('spinnerTpl'));
2918						return o && (v(o, 'f-spinner'), t.insertAdjacentElement('beforeend', o)), eF;
2919					},
2920					version: '6.1.13',
2921				};
2922				return eF;
2923			};
2924		(ew.l10n = { en_EN: ep }), (ew.getDefaults = () => eb);
2925		let ex = function (e = '', t = '', n = '') {
2926				return e.split(t).join(n);
2927			},
2928			eM = {
2929				tpl: (e) => `<img class="f-panzoom__content" 
2930    ${e.srcset ? 'data-lazy-srcset="{{srcset}}"' : ''} 
2931    ${e.sizes ? 'data-lazy-sizes="{{sizes}}"' : ''} 
2932    data-lazy-src="{{src}}" alt="{{alt}}" />`,
2933			},
2934			eL = () => {
2935				let e;
2936				function t(t, n) {
2937					let o = e?.getOptions().Zoomable,
2938						i = (a(o) ? { ...eM, ...o } : eM)[t];
2939					return i && 'function' == typeof i && n ? i(n) : i;
2940				}
2941				function n() {
2942					e &&
2943						!1 !== e.getOptions().Zoomable &&
2944						(e.on('addSlide', r),
2945						e.on('removeSlide', l),
2946						e.on('attachSlideEl', c),
2947						e.on('click', i),
2948						e.on('change', o),
2949						e.on('ready', o));
2950				}
2951				function o() {
2952					u();
2953					let t = e?.getVisibleSlides() || [];
2954					if (t.length > 1 || e?.getOption('transition') === 'slide')
2955						for (let n of t) {
2956							let t = n.panzoomRef;
2957							t &&
2958								0 > (e?.getPage().slides || []).indexOf(n) &&
2959								t.execute(er.ZoomTo, { ...t.getStartPosition() });
2960						}
2961				}
2962				function i(e, t) {
2963					let n = t.target;
2964					n && !t.defaultPrevented && n.dataset.panzoomAction && d(n.dataset.panzoomAction);
2965				}
2966				function r(n, o) {
2967					let i = o.el;
2968					if (!e || !i || o.panzoomRef) return;
2969					let r = o.src || o.lazySrc || '',
2970						l = o.alt || o.caption || `Image #${o.index}`,
2971						a = o.srcset || o.lazySrcset || '',
2972						c = o.sizes || o.lazySizes || '';
2973					if (r && s(r) && !o.html && (!o.type || 'image' === o.type)) {
2974						(o.type = 'image'), (o.thumbSrc = o.thumbSrc || r);
2975						let e = t('tpl', o);
2976						(e = ex(e, '{{src}}', r + '')),
2977							(e = ex(e, '{{srcset}}', a + '')),
2978							(e = ex(e, '{{sizes}}', c + '')),
2979							i.insertAdjacentHTML('afterbegin', e);
2980					}
2981					let d = i.querySelector('.f-panzoom__content');
2982					if (!d) return;
2983					d.setAttribute('alt', l + '');
2984					let f = eg(i, {
2985						width: o.width && 'auto' !== o.width ? parseFloat(o.width + '') : 'auto',
2986						height: o.height && 'auto' !== o.height ? parseFloat(o.height + '') : 'auto',
2987						classes: { container: 'f-zoomable' },
2988						event: () => e?.getLastMouseMove(),
2989						spinnerTpl: () => e?.getOption('spinnerTpl') || '',
2990						...t('Panzoom'),
2991					});
2992					f.on('*', (t, n, ...i) => {
2993						e &&
2994							('loading' === n && (o.state = 0),
2995							'loaded' === n && (o.state = 1),
2996							'error' === n && ((o.state = 2), e?.showError(o, '{{IMAGE_ERROR}}')),
2997							e.emit(`panzoom:${n}`, o, ...i),
2998							'loading' === n && e.emit('contentLoading', o),
2999							'ready' === n && e.emit('contentReady', o),
3000							o.index === e?.getPageIndex() && u());
3001					}),
3002						(o.panzoomRef = f);
3003				}
3004				function l(e, t) {
3005					t.panzoomRef && (t.panzoomRef.destroy(), (t.panzoomRef = void 0));
3006				}
3007				function c(e, t) {
3008					let n = t.panzoomRef;
3009					if (n)
3010						switch (n.getState()) {
3011							case es.Init:
3012								n.init();
3013								break;
3014							case es.Ready:
3015								n.execute(er.ZoomTo, { ...n.getStartPosition(), velocity: 0 });
3016						}
3017				}
3018				function u() {
3019					let t = e?.getContainer() || void 0,
3020						n = e?.getPage()?.slides[0]?.panzoomRef;
3021					if (t)
3022						if (n) n.updateControls(t);
3023						else
3024							for (let e of t.querySelectorAll('[data-panzoom-action]') || [])
3025								e.setAttribute('aria-disabled', ''), e.setAttribute('tabindex', '-1');
3026				}
3027				function d(t, ...n) {
3028					e?.getPage().slides[0].panzoomRef?.execute(t, ...n);
3029				}
3030				return {
3031					init: function (t) {
3032						(e = t).on('initPlugins', n);
3033					},
3034					destroy: function () {
3035						if (e)
3036							for (let t of (e.off('initPlugins', n),
3037							e.off('addSlide', r),
3038							e.off('removeSlide', l),
3039							e.off('attachSlideEl', c),
3040							e.off('click', i),
3041							e.off('change', o),
3042							e.off('ready', o),
3043							e.getSlides()))
3044								l(e, t);
3045						e = void 0;
3046					},
3047					execute: d,
3048				};
3049			},
3050			eS = { syncOnChange: !1, syncOnClick: !0, syncOnHover: !1 },
3051			eT = () => {
3052				let e, t;
3053				function n() {
3054					let t = e?.getOptions().Sync;
3055					return a(t) ? { ...eS, ...t } : eS;
3056				}
3057				function o() {
3058					let o = n().target;
3059					e &&
3060						o &&
3061						e &&
3062						o &&
3063						((t = o),
3064						(e.getOptions().classes = { ...e.getOptions().classes, isSelected: '' }),
3065						(e.getOptions().initialSlide = t.getPage()?.slides[0]?.index || 0),
3066						n().syncOnChange && e.on('change', r),
3067						n().syncOnClick && e.on('click', s),
3068						n().syncOnHover && e.getViewport()?.addEventListener('mouseover', c),
3069						e && t && (e.on('ready', i), e.on('refresh', u), t.on('change', l), t.on('filter', d)));
3070				}
3071				function i() {
3072					f();
3073				}
3074				function r() {
3075					if (e && t) {
3076						let n = e.getPage()?.slides || [],
3077							o = t.getPageIndex(n[0].index || 0);
3078						o > -1 && t.goTo(o, e.hasNavigated() ? void 0 : { tween: !1, transition: !1 }), f();
3079					}
3080				}
3081				function l() {
3082					if (e && t) {
3083						let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
3084						n > -1 && e.goTo(n, t.hasNavigated() ? void 0 : { tween: !1, transition: !1 }), f();
3085					}
3086				}
3087				function s(n, o) {
3088					if (!e || !t || e.getTween()?.isRunning()) return;
3089					let i = e?.getOptions().classes.slide;
3090					if (!i) return;
3091					let r = i ? o.target.closest(`.${i}`) : null;
3092					if (r) {
3093						let e = parseInt(r.getAttribute('index') || '') || 0,
3094							n = t.getPageIndex(e);
3095						t.goTo(n);
3096					}
3097				}
3098				function c(t) {
3099					e && s(e, t);
3100				}
3101				function u() {
3102					if (e && t) {
3103						let n = e.getPageIndex(t.getPage()?.slides[0].index || 0);
3104						n > -1 && e.goTo(n, { tween: !1, transition: !1 }), f();
3105					}
3106				}
3107				function d(n, o) {
3108					e && t && (e.filter(o), l());
3109				}
3110				function f() {
3111					if (!t) return;
3112					let n = t.getPage()?.slides[0]?.index || 0;
3113					for (let t of e?.getSlides() || []) t.el?.classList.toggle('is-selected', t.index === n);
3114				}
3115				return {
3116					init: function (t) {
3117						(e = t).on('initSlides', o);
3118					},
3119					destroy: function () {
3120						e?.off('ready', i),
3121							e?.off('refresh', u),
3122							e?.off('change', r),
3123							e?.off('click', s),
3124							e?.getViewport()?.removeEventListener('mouseover', c),
3125							t?.off('change', l),
3126							t?.off('filter', d),
3127							(t = void 0),
3128							e?.off('initSlides', o),
3129							(e = void 0);
3130					},
3131					getTarget: function () {
3132						return t;
3133					},
3134				};
3135			},
3136			eR = { showLoading: !0, preload: 1 },
3137			eP = 'is-lazyloading',
3138			eA = 'is-lazyloaded',
3139			eC = 'has-lazyerror',
3140			eO = () => {
3141				let e;
3142				function t() {
3143					let t = e?.getOptions().Lazyload;
3144					return a(t) ? { ...eR, ...t } : eR;
3145				}
3146				function n() {
3147					if (!e) return;
3148					let n = [...e.getVisibleSlides()],
3149						o = t().preload;
3150					if (o > 0) {
3151						let t = e.getPosition(),
3152							i = e.getViewportDim();
3153						n.push(...e.getVisibleSlides(t + i * o), ...e.getVisibleSlides(t - i * o));
3154					}
3155					for (let o of n)
3156						!(function (n) {
3157							let o = n.el;
3158							if (!o) return;
3159							let i = '[data-lazy-src],[data-lazy-srcset],[data-lazy-bg]',
3160								r = Array.from(o.querySelectorAll(i));
3161							for (let l of (o.matches(i) && r.push(o), r)) {
3162								let o = l.dataset.lazySrc,
3163									i = l.dataset.lazySrcset,
3164									r = l.dataset.lazySizes,
3165									a = l.dataset.lazyBg,
3166									s = (l instanceof HTMLImageElement || l instanceof HTMLSourceElement) && (o || i),
3167									c = l instanceof HTMLElement && a;
3168								if (!(s || c)) continue;
3169								let u = o || i || a;
3170								if (u) {
3171									if (s && u) {
3172										let a = l.parentElement?.classList.contains('f-panzoom__wrapper');
3173										t().showLoading && e?.showLoading(n),
3174											l.addEventListener('load', () => {
3175												e?.hideLoading(n),
3176													b(l, eC),
3177													l instanceof HTMLImageElement
3178														? l
3179																.decode()
3180																.then(() => {
3181																	b(l, eP), v(l, eA);
3182																})
3183																.catch(() => {
3184																	b(l, eP), v(l, eA);
3185																})
3186														: (b(l, eP), v(l, eA)),
3187													a || e?.emit('lazyLoad:loaded', n, l, u);
3188											}),
3189											l.addEventListener('error', () => {
3190												e?.hideLoading(n), b(l, eP), v(l, eC), a || e?.emit('lazyLoad:error', n, l, u);
3191											}),
3192											l.classList.add('f-lazyload'),
3193											l.classList.add(eP),
3194											a || e?.emit('lazyLoad:load', n, l, u),
3195											o && (l.src = o),
3196											i && (l.srcset = i),
3197											r && (l.sizes = r);
3198									} else
3199										c &&
3200											(document.body.contains(l) || (document.createElement('img').src = a),
3201											(l.style.backgroundImage = `url('${a}')`));
3202									delete l.dataset.lazySrc,
3203										delete l.dataset.lazySrcset,
3204										delete l.dataset.lazySizes,
3205										delete l.dataset.lazyBg;
3206								}
3207							}
3208						})(o);
3209				}
3210				return {
3211					init: function (t) {
3212						(e = t).on('render', n);
3213					},
3214					destroy: function () {
3215						e?.off('render', n), (e = void 0);
3216					},
3217				};
3218			},
3219			eI = '<svg width="24" height="24" viewBox="0 0 24 24" tabindex="-1">',
3220			ez = '</svg>',
3221			ek = {
3222				prevTpl: eI + '<path d="M15 3l-9 9 9 9"></path>' + ez,
3223				nextTpl: eI + '<path d="M9 3l9 9-9 9"></path>' + ez,
3224			},
3225			e$ = () => {
3226				let e, t, n;
3227				function o() {
3228					let t = e?.getOptions().Arrows;
3229					return a(t) ? { ...ek, ...t } : ek;
3230				}
3231				function i(t) {
3232					if (!e) return;
3233					let n =
3234							`<button data-carousel-go-${t} tabindex="0" class="f-button is-arrow is-${t}" title="{{${t.toUpperCase()}}}">` +
3235							o()[`${t}Tpl`] +
3236							'</button',
3237						i = u(e.localize(n)) || void 0;
3238					return i && v(i, o()[`${t}Class`]), i;
3239				}
3240				function r() {
3241					t?.remove(),
3242						(t = void 0),
3243						n?.remove(),
3244						(n = void 0),
3245						e?.getContainer()?.classList.remove('has-arrows');
3246				}
3247				function l() {
3248					e && !1 !== e.getOptions().Arrows && e.getPages().length > 1
3249						? (!(function () {
3250								if (!e) return;
3251								let o = e.getViewport();
3252								o &&
3253									(!t && (t = i('prev')) && o.insertAdjacentElement('beforebegin', t),
3254									!n && (n = i('next')) && o.insertAdjacentElement('afterend', n),
3255									E(e.getContainer(), 'has-arrows', !!(t || n)));
3256						  })(),
3257						  e &&
3258								(t?.toggleAttribute('aria-disabled', !e.canGoPrev()),
3259								n?.toggleAttribute('aria-disabled', !e.canGoNext())))
3260						: r();
3261				}
3262				return {
3263					init: function (t) {
3264						e = t.on(['change', 'refresh'], l);
3265					},
3266					destroy: function () {
3267						r(), e?.off(['change', 'refresh'], l), (e = void 0);
3268					},
3269				};
3270			},
3271			eF = '<circle cx="11" cy="11" r="7.5"/><path d="m21 21-4.35-4.35M8 11h6"/>',
3272			e_ = '<g><line x1="11" y1="8" x2="11" y2="14"></line></g>' + eF,
3273			eH = {};
3274		for (let [e, t] of Object.entries({
3275			moveLeft: ['moveLeft', 'MOVE_LEFT', '<path d="M5 12h14M5 12l6 6M5 12l6-6"/>'],
3276			moveRight: ['moveRight', 'MOVE_RIGHT', '<path d="M5 12h14M13 18l6-6M13 6l6 6"/>'],
3277			moveUp: ['moveUp', 'MOVE_UP', '<path d="M12 5v14M18 11l-6-6M6 11l6-6"/>'],
3278			moveDown: ['moveDown', 'MOVE_DOWN', '<path d="M12 5v14M18 13l-6 6M6 13l6 6"/>'],
3279			zoomOut: ['zoomOut', 'ZOOM_OUT', eF],
3280			zoomIn: ['zoomIn', 'ZOOM_IN', e_],
3281			toggleFull: ['toggleFull', 'TOGGLE_FULL', e_],
3282			iterateZoom: ['iterateZoom', 'ITERATE_ZOOM', e_],
3283			toggle1to1: [
3284				'toggleFull',
3285				'TOGGLE_FULL',
3286				'<path d="M3.51 3.07c5.74.02 11.48-.02 17.22.02 1.37.1 2.34 1.64 2.18 3.13 0 4.08.02 8.16 0 12.23-.1 1.54-1.47 2.64-2.79 2.46-5.61-.01-11.24.02-16.86-.01-1.36-.12-2.33-1.65-2.17-3.14 0-4.07-.02-8.16 0-12.23.1-1.36 1.22-2.48 2.42-2.46Z"/><path d="M5.65 8.54h1.49v6.92m8.94-6.92h1.49v6.92M11.5 9.4v.02m0 5.18v0"/>',
3287			],
3288			rotateCCW: [
3289				'rotateCCW',
3290				'ROTATE_CCW',
3291				'<path d="M15 4.55a8 8 0 0 0-6 14.9M9 15v5H4M18.37 7.16v.01M13 19.94v.01M16.84 18.37v.01M19.37 15.1v.01M19.94 11v.01"/>',
3292			],
3293			rotateCW: [
3294				'rotateCW',
3295				'ROTATE_CW',
3296				'<path d="M9 4.55a8 8 0 0 1 6 14.9M15 15v5h5M5.63 7.16v.01M4.06 11v.01M4.63 15.1v.01M7.16 18.37v.01M11 19.94v.01"/>',
3297			],
3298			flipX: ['flipX', 'FLIP_X', '<path d="M12 3v18M16 7v10h5L16 7M8 7v10H3L8 7"/>'],
3299			flipY: ['flipY', 'FLIP_Y', '<path d="M3 12h18M7 16h10L7 21v-5M7 8h10L7 3v5"/>'],
3300			reset: [
3301				'reset',
3302				'RESET',
3303				'<path d="M20 11A8.1 8.1 0 0 0 4.5 9M4 5v4h4M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4"/>',
3304			],
3305			toggleFS: [
3306				'toggleFS',
3307				'TOGGLE_FS',
3308				'<g><path d="M14.5 9.5 21 3m0 0h-6m6 0v6M3 21l6.5-6.5M3 21v-6m0 6h6"/></g><g><path d="m14 10 7-7m-7 7h6m-6 0V4M3 21l7-7m0 0v6m0-6H4"/></g>',
3309			],
3310		}))
3311			eH[e] = {
3312				tpl: `<button data-panzoom-action="${t[0]}" class="f-button" title="{{${t[1]}}}"><svg>${t[2]}</svg></button>`,
3313			};
3314		let eD = (((k = {}).Left = 'left'), (k.middle = 'middle'), (k.right = 'right'), k),
3315			eV = {
3316				counter: {
3317					tpl: '<div class="f-counter"><span data-carousel-page></span>/<span data-carousel-pages></span></div>',
3318				},
3319				download: {
3320					tpl: '<button data-carousel-download class="f-button" title="{{DOWNLOAD}}"><svg><path d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 11l5 5 5-5M12 4v12"/></svg></button>',
3321				},
3322				autoplay: {
3323					tpl: '<button data-autoplay-action="toggle" class="f-button" title="{{TOGGLE_AUTOPLAY}}"><svg><g><path d="M5 3.5 19 12 5 20.5Z"/></g><g><path d="M8 4v15M17 4v15"/></g></svg></button>',
3324				},
3325				thumbs: {
3326					tpl: '<button data-thumbs-action="toggle" class="f-button" title="{{TOGGLE_THUMBS}}"><svg><rect width="18" height="14" x="3" y="3" rx="2"/><path d="M4 21h1M9 21h1M14 21h1M19 21h1"/></svg></button>',
3327				},
3328				...eH,
3329			},
3330			ej = {
3331				absolute: !1,
3332				display: {
3333					left: [],
3334					middle: [
3335						'zoomIn',
3336						'zoomOut',
3337						'toggle1to1',
3338						'rotateCCW',
3339						'rotateCW',
3340						'flipX',
3341						'flipY',
3342						'reset',
3343					],
3344					right: [],
3345				},
3346				enabled: 'auto',
3347				items: {},
3348			},
3349			eq = () => {
3350				let e, t;
3351				function n(t) {
3352					let n = e?.getOptions().Toolbar,
3353						o = (a(n) ? { ...ej, ...n } : ej)[t];
3354					return o && 'function' == typeof o && e ? o(e) : o;
3355				}
3356				function o() {
3357					if (!e?.getOptions().Toolbar || !e || t) return;
3358					let o = e.getContainer();
3359					if (!o) return;
3360					let i = n('enabled');
3361					if (!i) return;
3362					let r = n('absolute'),
3363						l = e.getSlides().length > 1,
3364						c = !1,
3365						d = !1;
3366					for (let t of e.getSlides())
3367						t.panzoomRef && (c = !0), (t.downloadSrc || ('image' === t.type && t.src)) && (d = !0);
3368					let f = e.getPlugins().Thumbs?.isEnabled() || !1,
3369						g = (l && e.getPlugins().Autoplay) || !1,
3370						p =
3371							e.getPlugins().Fullscreen &&
3372							(document.fullscreenEnabled || document.webkitFullscreenEnabled);
3373					if (('auto' === i && (i = c), !i)) return;
3374					(t = o.querySelector('.f-carousel__toolbar') || void 0) ||
3375						v((t = document.createElement('div')), 'f-carousel__toolbar');
3376					let h = n('display'),
3377						y = m({}, eV, n('items'));
3378					for (let n of ['left', 'middle', 'right']) {
3379						let o = h[n] || [],
3380							i = document.createElement('div');
3381						for (let t of (v(i, `f-carousel__toolbar__column is-${n}`), o)) {
3382							let n;
3383							if (s(t)) {
3384								if (
3385									('counter' === t && !l) ||
3386									('autoplay' === t && !g) ||
3387									(eH[t] && !c) ||
3388									('fullscreen' === t && !p) ||
3389									('thumbs' === t && !f) ||
3390									('download' === t && !d)
3391								)
3392									continue;
3393								n = y[t];
3394							}
3395							if ((a(t) && (n = t), n && n.tpl)) {
3396								let t = e.localize(n.tpl),
3397									o = u(
3398										(t = t
3399											.split('<svg>')
3400											.join('<svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24">'))
3401									);
3402								o &&
3403									('function' == typeof n.click &&
3404										e &&
3405										o.addEventListener('click', (t) => {
3406											t.preventDefault(),
3407												t.stopPropagation(),
3408												'function' == typeof n.click && e && n.click(e, t);
3409										}),
3410									i.append(o));
3411							}
3412						}
3413						t.append(i);
3414					}
3415					if (t.childElementCount) {
3416						if ((r && v(t, 'is-absolute'), !t.parentElement)) {
3417							let e = n('parentEl');
3418							e ? e.insertAdjacentElement('afterbegin', t) : o.insertAdjacentElement('afterbegin', t);
3419						}
3420						o.contains(t) && (v(o, 'has-toolbar'), r && v(o, 'has-absolute-toolbar'));
3421					}
3422				}
3423				return {
3424					init: function (t) {
3425						(e = t), e?.on('initSlides', o);
3426					},
3427					destroy: function () {
3428						e?.off('initSlides', o),
3429							b(e?.getContainer(), 'has-toolbar has-absolute-toolbar'),
3430							t?.remove(),
3431							(t = void 0);
3432					},
3433					add: function (e, t) {
3434						eV[e] = t;
3435					},
3436					isEnabled: function () {
3437						return !!t;
3438					},
3439				};
3440			},
3441			eN = { autoStart: !0, pauseOnHover: !0, showProgressbar: !0, timeout: 2e3 },
3442			eB = () => {
3443				let e,
3444					t,
3445					n = !1,
3446					o = !1,
3447					i = !1,
3448					r = null;
3449				function l(t) {
3450					let n = e?.getOptions().Autoplay,
3451						o = (a(n) ? { ...eN, ...n } : eN)[t];
3452					return o && 'function' == typeof o && e ? o(e) : o;
3453				}
3454				function s() {
3455					clearTimeout(t), (t = void 0);
3456				}
3457				function c() {
3458					!e ||
3459						!n ||
3460						i ||
3461						o ||
3462						t ||
3463						!e.isSettled() ||
3464						(function () {
3465							for (let t of e?.getPage()?.slides || []) if (0 === t.state) return !0;
3466							return !1;
3467						})() ||
3468						((function () {
3469							if (!e || (f(), !l('showProgressbar'))) return;
3470							let t = l('progressbarParentEl');
3471							if (
3472								(!t && e.getPlugins().Toolbar?.isEnabled() && (t = e.getContainer()),
3473								!t && e.getPlugins().Toolbar?.isEnabled() !== !0)
3474							) {
3475								let n = e.getPages()[0]?.slides || [],
3476									o = e.getPage()?.slides || [];
3477								1 === n.length && 1 === o.length && (t = o[0].el);
3478							}
3479							if ((t || (t = e.getViewport()), !t)) return;
3480							v((r = document.createElement('div')), 'f-progressbar'), t.prepend(r);
3481							let n = l('timeout') || 1e3;
3482							r.style.animationDuration = `${n}ms`;
3483						})(),
3484						(t = setTimeout(() => {
3485							if (e && n && !o) {
3486								if (!e.isInfinite() && e.getPageIndex() === e.getPages().length - 1) return void e.goTo(0);
3487								e.next();
3488							}
3489						}, l('timeout'))));
3490				}
3491				function u() {
3492					if (!e || e.getPages().length < 2 || !1 === e.getOptions().Autoplay || n) return;
3493					(n = !0),
3494						e.emit('autoplay:start', l('timeout')),
3495						v(e.getContainer(), 'has-autoplay'),
3496						e.getTween()?.on('start', b);
3497					let t = e?.getContainer();
3498					t &&
3499						l('pauseOnHover') &&
3500						matchMedia('(hover: hover)').matches &&
3501						(t.addEventListener('mouseenter', E, !1), t.addEventListener('mouseleave', w, !1)),
3502						e.on('change', h),
3503						e.on('settle', y),
3504						e.on('contentReady', m),
3505						e.on('panzoom:touchStart', d),
3506						e.on('panzoom:wheel', d),
3507						e.isSettled() && c();
3508				}
3509				function d() {
3510					if ((s(), f(), e)) {
3511						if (n) {
3512							e.emit('autoplay:end'), e.getTween()?.off('start', b);
3513							let t = e.getContainer();
3514							t &&
3515								(t.classList.remove('has-autoplay'),
3516								t.removeEventListener('mouseenter', E, !1),
3517								t.removeEventListener('mouseleave', w, !1));
3518						}
3519						e.off('change', h),
3520							e.off('settle', y),
3521							e.off('contentReady', m),
3522							e.off('panzoom:touchStart', d),
3523							e.off('panzoom:wheel', d);
3524					}
3525					(n = !1), (o = !1);
3526				}
3527				function f() {
3528					r && (r.remove(), (r = null));
3529				}
3530				function g() {
3531					e && e.getPages().length > 1 && l('autoStart') && u();
3532				}
3533				function m() {
3534					c();
3535				}
3536				function p(e, t) {
3537					let n = t.target;
3538					n && !t.defaultPrevented && 'toggle' === n.dataset.autoplayAction && x.toggle();
3539				}
3540				function h() {
3541					e && (e?.isInfinite() || e.getPageIndex() !== e.getPages().length - 1) ? (f(), s()) : d();
3542				}
3543				function y() {
3544					c();
3545				}
3546				function b() {
3547					s(), f();
3548				}
3549				function E() {
3550					(i = !0), n && (f(), s());
3551				}
3552				function w() {
3553					(i = !1), n && !o && e?.isSettled() && c();
3554				}
3555				let x = {
3556					init: function (t) {
3557						(e = t).on('ready', g), e.on('click', p);
3558					},
3559					destroy: function () {
3560						d(), e?.off('ready', g), e?.off('click', p), (e = void 0);
3561					},
3562					isEnabled: () => n,
3563					pause: function () {
3564						(o = !0), s();
3565					},
3566					resume: function () {
3567						(o = !1), n && !i && c();
3568					},
3569					start() {
3570						u();
3571					},
3572					stop() {
3573						d();
3574					},
3575					toggle() {
3576						n ? d() : u();
3577					},
3578				};
3579				return x;
3580			},
3581			eW = {
3582				Carousel: { Lazyload: { showLoading: !1 } },
3583				minCount: 2,
3584				showOnStart: !0,
3585				thumbTpl:
3586					'<button aria-label="Slide to #{{page}}"><img draggable="false" alt="{{alt}}" data-lazy-src="{{src}}" /></button>',
3587				type: 'modern',
3588			},
3589			eZ = () => {
3590				let e,
3591					t,
3592					n,
3593					i,
3594					r,
3595					l = 0,
3596					s = 0,
3597					c = !0;
3598				function d(t) {
3599					let n = e?.getOptions().Thumbs,
3600						o = (a(n) ? { ...eW, ...n } : eW)[t];
3601					return o && 'function' == typeof o && e ? o(e) : o;
3602				}
3603				function f() {
3604					if (!e || e?.getOptions().Thumbs === !1) return !1;
3605					let t = 0;
3606					for (let n of e.getSlides()) n.thumbSrc && t++;
3607					return t >= d('minCount');
3608				}
3609				function g() {
3610					return 'modern' === d('type');
3611				}
3612				function p() {
3613					return 'scrollable' === d('type');
3614				}
3615				function y() {
3616					let t = [];
3617					for (let n of e?.getSlides() || [])
3618						t.push({ index: n.index, class: n.thumbClass, html: b(n) });
3619					return t;
3620				}
3621				function b(e) {
3622					let t = e.thumb
3623							? e.thumb instanceof HTMLImageElement
3624								? e.thumb.src
3625								: e.thumb
3626							: e.thumbSrc || void 0,
3627						n = void 0 === e.thumbAlt ? `Thumbnail #${(e.index || 0) + 1}` : e.thumbAlt + '',
3628						o = d('thumbTpl');
3629					return (
3630						(o = ex(o, '{{alt}}', n)),
3631						(o = ex(o, '{{src}}', t + '')),
3632						(o = ex(o, '{{index}}
3632', `${e.index || 0}`)),
3633						(o = ex(o, '{{page}}', `${(e.index || 0) + 1}`))
3634					);
3635				}
3636				function E(e) {
3637					return `<div index="${e.index || 0}" class="f-thumbs__slide ${e.class || ''}">${
3638						e.html || ''
3639					}</div>`;
3640				}
3641				function w(t = !1) {
3642					let o = e?.getContainer();
3643					if (!e || !o || n || !f()) return;
3644					let i = d('Carousel')?.classes || {};
3645					if (((i.container = i.container || 'f-thumbs'), !n)) {
3646						let e = o.nextElementSibling;
3647						e?.classList.contains(i.container) && (n = e);
3648					}
3649					if (!n) {
3650						n = document.createElement('div');
3651						let e = d('parentEl');
3652						e ? e.insertAdjacentElement('beforeend', n) : o.insertAdjacentElement('afterend', n);
3653					}
3654					v(n, i.container), v(n, 'f-thumbs'), v(n, `is-${d('type')}`), t && v(n, 'is-hidden');
3655				}
3656				function x() {
3657					if (!n || !p()) return;
3658					v((i = document.createElement('div')), 'f-thumbs__viewport');
3659					let t = '';
3660					for (let e of y()) 'string' == typeof (e.html || '') && (t += E(e));
3661					(i.innerHTML = t),
3662						n.append(i),
3663						n.addEventListener('click', (t) => {
3664							t.preventDefault();
3665							let n = t.target.closest('[index]'),
3666								o = parseInt(n?.getAttribute('index') || '-1');
3667							e && o > -1 && e.goTo(o);
3668						}),
3669						(r = new IntersectionObserver(
3670							(e) => {
3671								e.forEach((e) => {
3672									e.isIntersecting &&
3673										e.target instanceof HTMLImageElement &&
3674										((e.target.src = e.target.getAttribute('data-lazy-src') + ''),
3675										e.target.removeAttribute('data-lazy-src'),
3676										r?.unobserve(e.target));
3677								});
3678							},
3679							{ root: i, rootMargin: '100px' }
3680						)),
3681						n.querySelectorAll('[data-lazy-src]').forEach((e) => {
3682							r?.observe(e);
3683						}),
3684						e?.emit('thumbs:ready');
3685				}
3686				function M() {
3687					if (!o || !e || !n || p() || t) return;
3688					let i = y();
3689					if (!i.length) return;
3690					let r = m(
3691						{},
3692						{
3693							Sync: { target: e },
3694							Lazyload: { preload: 1 },
3695							slides: i,
3696							classes: { container: 'f-thumbs', viewport: 'f-thumbs__viewport', slide: 'f-thumbs__slide' },
3697							center: !0,
3698							fill: !g(),
3699							infinite: !1,
3700							dragFree: !0,
3701							rtl: e.getOptions().rtl || !1,
3702							slidesPerPage: (e) => {
3703								let t = 0;
3704								return (g() &&
3705									((function () {
3706										if (!g() || !n) return;
3707										let e = (e) =>
3708											(n && parseFloat(getComputedStyle(n).getPropertyValue('--f-thumb-' + e))) || 0;
3709										(l = e('width')), (s = e('clip-width'));
3710									})(),
3711									(t = (l - s) * 4)),
3712								e && e.getTotalSlideDim() <= e.getViewportDim() - t)
3713									? 1 / 0
3714									: 1;
3715							},
3716						},
3717						eW.Carousel || {},
3718						d('Carousel') || {}
3719					);
3720					(t = o(n, r, { Sync: eT, Lazyload: eO })).on('ready', () => {
3721						v(n, 'is-syncing'), e?.emit('thumbs:ready'), g() && e?.on('render', R);
3722					}),
3723						t.on('destroy', () => {
3724							e?.emit('thumbs:destroy');
3725						}),
3726						t.init(),
3727						t.getGestures()?.on('start', () => {
3728							c = !1;
3729						}),
3730						t.on('click', (e, t) => {
3731							let n = t.target;
3732							if (n) {
3733								let e = n.matches('button') ? n : n.firstElementChild;
3734								e && e.matches('button') && (t.preventDefault(), e.focus({ preventScroll: !0 }));
3735							}
3736						}),
3737						v(e.getContainer(), 'has-thumbs'),
3738						k();
3739				}
3740				function L() {
3741					f() && d('showOnStart') && (w(), x());
3742				}
3743				function S() {
3744					f() &&
3745						(M(),
3746						e?.on('addSlide', A),
3747						e?.on('removeSlide', C),
3748						e?.on('click', O),
3749						e?.on('refresh', I),
3750						e?.getGestures()?.on('start', T),
3751						z(!0));
3752				}
3753				function T() {
3754					(c = !0), document.activeElement?.closest('.f-thumbs') && document.activeElement?.blur();
3755				}
3756				function R() {
3757					n?.classList.toggle('is-syncing', e?.hasNavigated() === !1 || e?.getTween()?.isRunning()),
3758						k(),
3759						e?.getGestures()?.isPointerDown() &&
3760							(function () {
3761								if (!g() || !e || !t || !c) return;
3762								let n = t.getTween(),
3763									o = t.getPages(),
3764									i = e.getPageIndex() || 0,
3765									r = e.getPageProgress() || 0;
3766								if (!e || !o || !o[i] || !n) return;
3767								let a = n.isRunning() ? n.getCurrentValues().pos : t.getPosition();
3768								if (void 0 === a) return;
3769								let u = o[i].pos + r * (l - s);
3770								(u = h(o[0].pos, u, o[o.length - 1].pos)), n.from({ pos: a }).to({ pos: u }).start();
3771							})();
3772				}
3773				function P() {
3774					(c = !0), z();
3775				}
3776				function A(e, n) {
3777					let o = { html: b(n) };
3778					if (t) t.add(o, n.index);
3779					else if (i) {
3780						let e = u(E(o));
3781						if (e) {
3782							i.append(e);
3783							let t = e.querySelector('img');
3784							t && r?.observe(t);
3785						}
3786					}
3787				}
3788				function C(e, n) {
3789					t ? t.remove(n.index) : i && i.querySelector(`[index="${n.index}"]`)?.remove();
3790				}
3791				function O(e, t) {
3792					let o = t.target;
3793					!t.defaultPrevented &&
3794						o?.dataset?.thumbsAction === 'toggle' &&
3795						(n || (w(!0), x(), M()), n && n.classList.toggle('is-hidden'));
3796				}
3797				function I() {
3798					z();
3799				}
3800				function z(t = !1) {
3801					if (!e || !i || !p()) return;
3802					let n = e.getPageIndex();
3803					i.querySelectorAll('.is-selected').forEach((e) => {
3804						e.classList.remove('is-selected');
3805					});
3806					let o = i.querySelector(`[index="${n}"]`);
3807					if (o) {
3808						o.classList.add('is-selected');
3809						let e = i.getBoundingClientRect(),
3810							n = o.getBoundingClientRect(),
3811							r = o.offsetTop - i.offsetTop - 0.5 * e.height + 0.5 * n.height,
3812							l = o.scrollLeft - i.scrollLeft - 0.5 * e.width + 0.5 * n.width;
3813						i.scrollTo({ top: r, left: l, behavior: t ? 'instant' : 'smooth' });
3814					}
3815				}
3816				function k() {
3817					if (!g() || !e || !t) return;
3818					let n = t?.getSlides() || [],
3819						o = -0.5 * l;
3820					for (let t of n) {
3821						let n = t.el;
3822						if (!n) continue;
3823						let i = e.getPageProgress(t.index) || 0;
3824						(i = Math.max(-1, Math.min(1, i))) > -1 && i < 1 && (o += 0.5 * l * (1 - Math.abs(i))),
3825							(i = Math.round(1e4 * i) / 1e4),
3826							(o = Math.round(1e4 * o) / 1e4),
3827							n.style.setProperty('--progress', `${Math.abs(i)}`),
3828							n.style.setProperty('--shift', `${e?.isRTL() ? -1 * o : o}px`),
3829							i > -1 && i < 1 && (o += 0.5 * l * (1 - Math.abs(i)));
3830					}
3831				}
3832				return {
3833					init: function (t, n) {
3834						(o = n), (e = t).on('ready', S), e.on('initSlides', L), e.on('change', P);
3835					},
3836					destroy: function () {
3837						p() && e?.emit('thumbs:destroy'),
3838							e?.off('ready', S),
3839							e?.off('initSlides', L),
3840							e?.off('change', P),
3841							e?.off('render', R),
3842							e?.off('addSlide', A),
3843							e?.off('click', O),
3844							e?.off('refresh', I),
3845							e?.getGestures()?.off('start', T),
3846							e?.getContainer()?.classList.remove('has-thumbs'),
3847							(e = void 0),
3848							t?.destroy(),
3849							(t = void 0),
3850							n?.remove(),
3851							(n = void 0);
3852					},
3853					getCarousel: function () {
3854						return t;
3855					},
3856					getContainer: function () {
3857						return n;
3858					},
3859					getType: function () {
3860						return d('type');
3861					},
3862					isEnabled: f,
3863				};
3864			},
3865			eG = {
3866				autosize: !1,
3867				iframeAttr: { allow: 'autoplay; fullscreen', scrolling: 'auto' },
3868				preload: !1,
3869			},
3870			eU = () => {
3871				let e;
3872				function t() {
3873					let t = e?.getOptions().Html;
3874					return a(t) ? { ...eG, ...t } : eG;
3875				}
3876				function n(e, n) {
3877					let o = e[n];
3878					return void 0 === o && (o = t()[n]), 'true' === o || ('false' !== o && o);
3879				}
3880				function o(e, t) {
3881					let n = t.type,
3882						o = t.src;
3883					if (!n && s(o)) {
3884						if (
3885							('#' === o.charAt(0)
3886								? (n = 'inline')
3887								: o.match(
3888										/(^data:image\/[a-z0-9+\/=]*,)|(\.((a)?png|avif|gif|jp(g|eg)|pjp(eg)?|jfif|svg|webp|bmp|
3888ico|tif(f)?)((\?|#).*)?$)/i
3889								  )
3890								? (n = 'image')
3891								: o.match(/\.(pdf)((\?|#).*)?$/i)
3892								? (n = 'pdf')
3893								: o.match(/\.(html|php)((\?|#).*)?$/i) && (n = 'iframe'),
3894							!n)
3895						) {
3896							let e = o.match(
3897								/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i
3898							);
3899							e &&
3900								((o = `https://maps.google.${e[1]}/?ll=${(e[2]
3901									? e[2] + '&z=' + Math.floor(parseFloat(e[3])) + (e[4] ? e[4].replace(/^\//, '&') : '')
3902									: e[4] + ''
3903								).replace(/\?/, '&')}&output=${e[4] && e[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed'}`),
3904								(n = 'gmap'));
3905						}
3906						if (!n) {
3907							let e = o.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i);
3908							e &&
3909								((o = `https://maps.google.${e[1]}/maps?q=${e[2]
3910									.replace('query=', 'q=')
3911									.replace('api=1', '')}&output=embed`),
3912								(n = 'gmap'));
3913						}
3914						n && ((t.src = o), (t.type = n));
3915					}
3916				}
3917				function i(o, i) {
3918					('iframe' === i.type || 'pdf' === i.type || 'gmap' === i.type) &&
3919						(function (o) {
3920							let i = o.el,
3921								r = o.src;
3922							if (!e || !i || !r) return;
3923							let l = document.createElement('iframe');
3924							for (let [e, n] of (v(l, 'f-iframe'), Object.entries(t().iframeAttr || {})))
3925								l.setAttribute(e, n);
3926							l.onerror = () => {
3927								(o.state = 2), e?.showError(o, '{{IFRAME_ERROR}}');
3928							};
3929							let a = document.createElement('div');
3930							if ((v(a, 'f-html'), a.append(l), o.width)) {
3931								let e = `${o.width}`;
3932								e.match(/^\d+$/) && (e += 'px'), (a.style.maxWidth = `${e}`);
3933							}
3934							if (o.height) {
3935								let e = `${o.height}`;
3936								e.match(/^\d+$/) && (e += 'px'), (a.style.maxHeight = `${e}`);
3937							}
3938							if (o.aspectRatio) {
3939								let e = i.getBoundingClientRect();
3940								(a.style.aspectRatio = `${o.aspectRatio}`),
3941									(a.style[e.width > e.height ? 'width' : 'height'] = 'auto'),
3942									(a.style[e.width > e.height ? 'maxWidth' : 'maxHeight'] = 'none');
3943							}
3944							(o.htmlEl = a), (o.contentEl = l), v(i, `has-html has-iframe has-${o.type}`), i.prepend(a);
3945							let s = n(o, 'preload'),
3946								c = n(o, 'autosize');
3947							'iframe' === o.type && (s || c)
3948								? ((o.state = 0),
3949								  e.showLoading(o),
3950								  v(i, 'is-loading'),
3951								  (l.onload = () => {
3952										if (!e || 1 !== e.getState() || !l.src.length) return;
3953										o.state = 1;
3954										let t = 'true' !== l.dataset.ready;
3955										(l.dataset.ready = 'true'),
3956											(function (e) {
3957												let t = e.contentEl,
3958													o = t?.parentElement,
3959													i = o?.style,
3960													r = n(e, 'autosize'),
3961													l = e.width || 0,
3962													a = e.height || 0;
3963												if ((l && a && (r = !1), t && o && i && r)) {
3964													try {
3965														let e = window.getComputedStyle(o),
3966															n = parseFloat(e.paddingLeft) + parseFloat(e.paddingRight),
3967															r = parseFloat(e.paddingTop) + parseFloat(e.paddingBottom),
3968															s = t.contentWindow;
3969														if (s) {
3970															let e = s.document,
3971																t = e.getElementsByTagName('html')[0],
3972																o = e.body;
3973															i.width = '';
3974															let c = window.getComputedStyle(o),
3975																u = parseFloat(c.marginLeft) + parseFloat(c.marginRight),
3976																d = o.style.overflow || '';
3977															(o.style.overflow = 'hidden'),
3978																(l = l || o.scrollWidth + u + n),
3979																(i.flex = '0 0 auto'),
3980																(i.width = `${l}px`),
3981																(i.height = `${o.scrollHeight}px`),
3982																(o.style.overflow = d),
3983																(a = Math.max(t.scrollHeight, Math.ceil(t.getBoundingClientRect().height)) + r);
3984														}
3985													} catch (e) {}
3986													if (l || a) {
3987														let e = { flex: '0 1 auto', width: '', height: '' };
3988														l && 'auto' !== l && (e.width = `${l}px`),
3989															a && 'auto' !== a && (e.height = `${a}px`),
3990															Object.assign(i, e);
3991													}
3992												}
3993											})(o),
3994											e.hideLoading(o),
3995											t && e.emit('contentReady', o),
3996											b(i, 'is-loading');
3997								  }),
3998								  (l.src = `${r}`))
3999								: ((l.src = `${r}`), e.emit('contentReady', o));
4000						})(i);
4001				}
4002				function r(t, n) {
4003					('iframe' === n.type || 'pdf' === n.type || 'gmap' === n.type) &&
4004						(e?.hideError(n),
4005						n.contentEl?.remove(),
4006						(n.contentEl = void 0),
4007						n.htmlEl?.remove(),
4008						(n.htmlEl = void 0));
4009				}
4010				return {
4011					init: function (t) {
4012						(e = t).on('addSlide', o), e.on('attachSlideEl', i), e.on('detachSlideEl', r);
4013					},
4014					destroy: function () {
4015						e?.off('addSlide', o), e?.off('attachSlideEl', i), e?.off('detachSlideEl', r), (e = void 0);
4016					},
4017				};
4018			},
4019			eX = (e, t = {}) => {
4020				let n = new URLSearchParams(new URL(e).search),
4021					o = new URLSearchParams();
4022				for (let [e, i] of [...n, ...Object.entries(t)]) {
4023					let t = i + '';
4024					if ('t' === e) {
4025						let e = t.match(/((\d*)m)?(\d*)s?/);
4026						e && o.set('start', 60 * parseInt(e[2] || '0') + parseInt(e[3] || '0') + '');
4027					} else o.set(e, t);
4028				}
4029				let i = o + '',
4030					r = e.match(/#t=((.*)?\d+s)/);
4031				return r && (i += `#t=${r[1]}`), i;
4032			},
4033			eY = {
4034				autoplay: !1,
4035				html5videoTpl: `<video class="f-html5video" playsinline controls controlsList="nodownload" poster="{{poster}}">
4036    <source src="{{src}}" type="{{format}}" />Sorry, your browser doesn't support embedded videos.</video>`,
4037				iframeAttr: {
4038					allow: 'autoplay; fullscreen',
4039					scrolling: 'no',
4040					referrerPolicy: 'strict-origin-when-cross-origin',
4041					credentialless: '',
4042				},
4043				vimeo: { byline: 1, color: '00adef', controls: 1, dnt: 1, muted: 0 },
4044				youtube: { controls: 1, enablejsapi: 1, nocookie: 1, rel: 0, fs: 1 },
4045			},
4046			eK = () => {
4047				let e,
4048					t = !1;
4049				function n() {
4050					let t = e?.getOptions().Video;
4051					return a(t) ? { ...eY, ...t } : eY;
4052				}
4053				function o() {
4054					return e?.getPage()?.slides[0];
4055				}
4056				let i = (t) => {
4057					try {
4058						let n = JSON.parse(t.data);
4059						if ('https://player.vimeo.com' === t.origin) {
4060							if ('ready' === n.event)
4061								for (let n of Array.from(e?.getContainer()?.getElementsByClassName('f-iframe') || []))
4062									n instanceof HTMLIFrameElement &&
4063										n.contentWindow === t.source &&
4064										(n.dataset.ready = 'true');
4065						} else if (
4066							t.origin.match(/^https:\/\/(www.)?youtube(-nocookie)?.com$/) &&
4067							'onReady' === n.event
4068						) {
4069							let e = document.getElementById(n.id);
4070							e && (e.dataset.ready = 'true');
4071						}
4072					} catch (e) {}
4073				};
4074				function r(e, t) {
4075					let o = t.src;
4076					if (!s(o)) return;
4077					let i = t.type;
4078					if (!i || 'html5video' === i) {
4079						let e = o.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i);
4080						e &&
4081							((i = 'html5video'),
4082							(t.html5videoFormat = t.html5videoFormat || 'video/' + ('ogv' === e[1] ? 'ogg' : e[1])));
4083					}
4084					if (!i || 'youtube' === i) {
4085						let e = o.match(
4086							/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|shorts\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i
4087						);
4088						if (e) {
4089							let r = { ...n().youtube, ...(t.youtube || {}) },
4090								l = `www.youtube${r.nocookie ? '-nocookie' : ''}.com`,
4091								a = eX(o, r),
4092								s = encodeURIComponent(e[2]);
4093							(t.videoId = s),
4094								(t.src = `https://${l}/embed/${s}?${a}`),
4095								(t.thumb = t.thumb || `https://i.ytimg.com/vi/${s}/mqdefault.jpg`),
4096								(i = 'youtube');
4097						}
4098					}
4099					if (!i || 'vimeo' === i) {
4100						let e = o.match(/^.+vimeo.com\/(?:\/)?(video\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/);
4101						if (e) {
4102							let r = eX(o, { ...n().vimeo, ...(t.vimeo || {}) }),
4103								l = encodeURIComponent(e[2]),
4104								a = e[5] || '';
4105							(t.videoId = l),
4106								(t.src = `https://player.vimeo.com/video/${l}?${a ? `h=${a}${r ? '&' : ''}` : ''}${r}`),
4107								(i = 'vimeo');
4108						}
4109					}
4110					t.type = i;
4111				}
4112				function l(t, o) {
4113					'html5video' === o.type &&
4114						(function (t) {
4115							let o = t.el,
4116								i = t.src;
4117							if (!e || !o || !i) return;
4118							let r = t.html5videoTpl || n().html5videoTpl,
4119								l = t.html5videoFormat || n().html5videoFormat;
4120							if (!r) return;
4121							let a = t.poster || (t.thumb && s(t.thumb) ? t.thumb : ''),
4122								c = u(
4123									r
4124										.replace(/\{\{src\}\}/gi, i + '')
4125										.replace(/\{\{format\}\}/gi, l || '')
4126										.replace(/\{\{poster\}\}/gi, a + '')
4127								);
4128							if (!c) return;
4129							let d = document.createElement('div');
4130							v(d, 'f-html'),
4131								d.append(c),
4132								(t.contentEl = c),
4133								(t.htmlEl = d),
4134								v(o, `has-${t.type}`),
4135								o.prepend(d),
4136								g(t),
4137								e.emit('contentReady', t);
4138						})(o),
4139						('youtube' === o.type || 'vimeo' === o.type) &&
4140							(function (t) {
4141								let o = t.el,
4142									i = t.src;
4143								if (!e || !o || !i) return;
4144								let r = document.createElement('iframe');
4145								for (let [e, o] of (v(r, 'f-iframe'),
4146								r.setAttribute('id', `f-iframe_${t.videoId}`),
4147								Object.entries(n().iframeAttr || {})))
4148									r.setAttribute(e, o);
4149								'youtube' === t.type &&
4150									(r.onload = () => {
4151										e?.getState() === 1 &&
4152											r.contentWindow?.postMessage(
4153												JSON.stringify({ event: 'listening', id: r.getAttribute('id') }),
4154												'*'
4155											);
4156									}),
4157									(r.onerror = () => {
4158										e?.showError(t, '{{IFRAME_ERROR}}');
4159									});
4160								let l = document.createElement('div');
4161								v(l, 'f-html'),
4162									l.append(r),
4163									(t.contentEl = r),
4164									(t.htmlEl = l),
4165									v(o, `has-html has-iframe has-${t.type}`),
4166									(r.src = `${t.src}`),
4167									o.prepend(l),
4168									g(t),
4169									e.emit('contentReady', t);
4170							})(o);
4171				}
4172				function c(e, t) {
4173					('html5video' === t.type || 'youtube' === t.type || 'vimeo' === t.type) &&
4174						(t.contentEl?.remove(), (t.contentEl = void 0), t.htmlEl?.remove(), (t.htmlEl = void 0)),
4175						t.poller && clearTimeout(t.poller);
4176				}
4177				function d() {
4178					t = !1;
4179				}
4180				function f() {
4181					if (t) return;
4182					t = !0;
4183					let e = o();
4184					(e && void 0 !== e.autoplay ? e.autoplay : n().autoplay) &&
4185						(!(function () {
4186							let e = o(),
4187								t = e?.el;
4188							if (t && e?.type === 'html5video')
4189								try {
4190									let e = t.querySelector('video');
4191									if (e) {
4192										let t = e.play();
4193										void 0 !== t &&
4194											t
4195												.then(() => {})
4196												.catch((t) => {
4197													(e.muted = !0), e.play();
4198												});
4199									}
4200								} catch (e) {}
4201							let n = e?.htmlEl;
4202							n instanceof HTMLIFrameElement &&
4203								n.contentWindow?.postMessage('{"event":"command","func":"stopVideo","args":""}', '*');
4204						})(),
4205						(function () {
4206							let e = o(),
4207								t = e?.type;
4208							if (!(e?.el && ('youtube' === t || 'vimeo' === t))) return;
4209							let n = () => {
4210								if (e.contentEl && e.contentEl instanceof HTMLIFrameElement && e.contentEl.contentWindow) {
4211									let t;
4212									if ('true' === e.contentEl.dataset.ready) {
4213										(t =
4214											'youtube' === e.type
4215												? { event: 'command', func: 'playVideo' }
4216												: { method: 'play', value: 'true' }) &&
4217											e.contentEl.contentWindow.postMessage(JSON.stringify(t), '*'),
4218											(e.poller = void 0);
4219										return;
4220									}
4221									'youtube' === e.type &&
4222										((t = { event: 'listening', id: e.contentEl.getAttribute('id') }),
4223										e.contentEl.contentWindow.postMessage(JSON.stringify(t), '*'));
4224								}
4225								e.poller = setTimeout(n, 250);
4226							};
4227							n();
4228						})());
4229				}
4230				function g(e) {
4231					let t = e?.htmlEl;
4232					if (e && t && ('html5video' === e.type || 'youtube' === e.type || 'vimeo' === e.type)) {
4233						if (
4234							((t.style.aspectRatio = ''),
4235							(t.style.width = ''),
4236							(t.style.height = ''),
4237							(t.style.maxWidth = ''),
4238							(t.style.maxHeight = ''),
4239							e.width)
4240						) {
4241							let n = `${e.width}`;
4242							n.match(/^\d+$/) && (n += 'px'), (t.style.maxWidth = `${n}`);
4243						}
4244						if (e.height) {
4245							let n = `${e.height}`;
4246							n.match(/^\d+$/) && (n += 'px'), (t.style.maxHeight = `${n}`);
4247						}
4248						if (e.aspectRatio) {
4249							let n = e.aspectRatio.split('/'),
4250								o = parseFloat(n[0].trim()),
4251								i = n[1] ? parseFloat(n[1].trim()) : 0;
4252							t.offsetHeight;
4253							let r = t.getBoundingClientRect(),
4254								l = (o && i ? o / i : o) < (r.width || 1) / (r.height || 1);
4255							(t.style.aspectRatio = `${e.aspectRatio}`),
4256								(t.style.width = l ? 'auto' : ''),
4257								(t.style.height = l ? '' : 'auto');
4258						}
4259					}
4260				}
4261				function m() {
4262					g(o());
4263				}
4264				return {
4265					init: function (t) {
4266						(e = t).on('addSlide', r),
4267							e.on('attachSlideEl', l),
4268							e.on('detachSlideEl', c),
4269							e.on('ready', f),
4270							e.on('change', d),
4271							e.on('settle', f),
4272							e.on('refresh', m),
4273							window.addEventListener('message', i);
4274					},
4275					destroy: function () {
4276						e?.off('addSlide', r),
4277							e?.off('attachSlideEl', l),
4278							e?.off('detachSlideEl', c),
4279							e?.off('ready', f),
4280							e?.off('change', d),
4281							e?.off('settle', f),
4282							e?.off('refresh', m),
4283							window.removeEventListener('message', i),
4284							(e = void 0);
4285					},
4286				};
4287			},
4288			eJ = {
4289				autoStart: !1,
4290				btnTpl:
4291					'<button data-fullscreen-action="toggle" class="f-button" title="{{TOGGLE_FULLSCREEN}}"><svg><g><path d="M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3"/></g><g><path d="M15 19v-2a2 2 0 0 1 2-2h2M15 5v2a2 2 0 0 0 2 2h2M5 15h2a2 2 0 0 1 2 2v2M5 9h2a2 2 0 0 0 2-2V5"/></g></svg></button>',
4292			},
4293			eQ = 'in-fullscreen-mode',
4294			e0 = () => {
4295				let e;
4296				function t(t) {
4297					let n = e?.getOptions().Fullscreen,
4298						o = (a(n) ? { ...eJ, ...n } : eJ)[t];
4299					return o && 'function' == typeof o && e ? o(e) : o;
4300				}
4301				function n() {
4302					e?.getPlugins().Toolbar?.add('fullscreen', { tpl: t('btnTpl') });
4303				}
4304				function o() {
4305					if (t('autoStart')) {
4306						let e = r();
4307						e && s(e);
4308					}
4309				}
4310				function i(e, t) {
4311					let n = t.target;
4312					n && !t.defaultPrevented && 'toggle' === n.dataset.fullscreenAction && u();
4313				}
4314				function r() {
4315					return t('el') || e?.getContainer() || void 0;
4316				}
4317				function l() {
4318					let e = document;
4319					return e.fullscreenEnabled
4320						? !!e.fullscreenElement
4321						: !!e.webkitFullscreenEnabled && !!e.webkitFullscreenElement;
4322				}
4323				function s(e) {
4324					let t,
4325						n = document;
4326					return (
4327						e || (e = n.documentElement),
4328						n.fullscreenEnabled
4329							? (t = e.requestFullscreen())
4330							: n.webkitFullscreenEnabled && (t = e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)),
4331						t &&
4332							t.then(() => {
4333								e.classList.add(eQ);
4334							}),
4335						t
4336					);
4337				}
4338				function c() {
4339					let e,
4340						t = document;
4341					return (
4342						t.fullscreenEnabled
4343							? (e = t.fullscreenElement && t.exitFullscreen())
4344							: t.webkitFullscreenEnabled && (e = t.webkitFullscreenElement && t.webkitExitFullscreen()),
4345						e &&
4346							e.then(() => {
4347								r()?.classList.remove(eQ);
4348							}),
4349						e
4350					);
4351				}
4352				function u() {
4353					if (l()) c();
4354					else {
4355						let e = r();
4356						e && s(e);
4357					}
4358				}
4359				return {
4360					init: function (t) {
4361						(e = t).on('initPlugins', n), e.on('ready', o), e.on('click', i);
4362					},
4363					destroy: function () {
4364						e?.off('initPlugins', n), e?.off('ready', o), e?.off('click', i);
4365					},
4366					exit: c,
4367					inFullscreen: l,
4368					request: s,
4369					toggle: u,
4370				};
4371			},
4372			e1 = !1,
4373			e2 = !1,
4374			e5 = !1,
4375			e4 = !1,
4376			e3 = () => {
4377				let e = new URL(document.URL).hash,
4378					t = e.slice(1).split('-'),
4379					n = t[t.length - 1],
4380					o = (n && /^\+?\d+$/.test(n) && parseInt(t.pop() || '1', 10)) || 1;
4381				return { urlHash: e, urlSlug: t.join('-'), urlIndex: o };
4382			},
4383			e6 = () => {
4384				let e = i?.getInstance(),
4385					t = e?.getState();
4386				return !!e && (0 === t || 1 === t);
4387			},
4388			e7 = () => {
4389				if (!i || e6()) return;
4390				let { urlSlug: e, urlIndex: t } = e3();
4391				if (!e) return;
4392				let n = document.querySelector(`[data-slug="${e}"]`);
4393				n && i.fromTriggerEl(n),
4394					!e6() &&
4395						(n = document.querySelectorAll(`[data-fancybox="${e}"]`)[t - 1]) &&
4396						i.fromTriggerEl(n, { startIndex: t - 1 }),
4397					e6() &&
4398						n &&
4399						!n.closest('[inert]') &&
4400						n.scrollIntoView({ behavior: 'instant', block: 'center', inline: 'center' });
4401			},
4402			e9 = (e) => {
4403				let t = e.getOptions().Hash,
4404					n = e.getSlide();
4405				return (n && (n.slug || n.fancybox || (a(t) ? t.slug : ''))) || '';
4406			},
4407			e8 = (e) => {
4408				let t = e9(e),
4409					n = e.getSlide();
4410				if (!n || !t) return '';
4411				let o = parseInt(n.index + '', 10) + 1,
4412					i = n.slug ? `#${n.slug}` : `#${t}-${o}`;
4413				return 2 > (e.getCarousel()?.getPages()?.length || 0) && (i = `#${t}`), i;
4414			},
4415			te = () => {
4416				if (!i || e5) return;
4417				let e = i?.getInstance(),
4418					t = e?.getCarousel(),
4419					{ urlSlug: n, urlIndex: o } = e3(),
4420					r = e?.getOptions().Hash;
4421				if (!1 !== r) {
4422					if (e && 1 === e.getState() && t) {
4423						for (let e of t.getSlides() || [])
4424							if (e.slug === n || ((e.fancybox === n || (a(r) && r.slug === n)) && e.index === o - 1)) {
4425								(e2 = !1), t.goTo(e.index);
4426								return;
4427							}
4428						(e4 = !0), e.close(), (e4 = !1);
4429					}
4430					e7();
4431				}
4432			},
4433			tt = () => {
4434				i &&
4435					((r = setTimeout(() => {
4436						(e1 = !0), e7(), (e1 = !1);
4437					}, 300)),
4438					window.addEventListener('hashchange', te, !1));
4439			};
4440		function tn() {
4441			history.scrollRestoration && l && ((history.scrollRestoration = l), (l = void 0));
4442		}
4443		let to = () => {
4444			let e,
4445				t = '';
4446			function n() {
4447				if (!e || !e.isTopMost() || !1 === e.getOptions().Hash) return;
4448				if (e1) {
4449					let t = e.getOptions().sync;
4450					t && t.goTo(e?.getCarousel()?.getPageIndex() || 0, { transition: !1, tween: !1 });
4451				}
4452				let n = e.getCarousel();
4453				if (!n || !e.getSlide()) return;
4454				let i = e9(e);
4455				if (!i) return;
4456				let { urlHash: r, urlSlug: a } = e3(),
4457					s = e8(e);
4458				r !== s && (t = r),
4459					history.scrollRestoration &&
4460						!l &&
4461						((l = history.scrollRestoration),
4462						(history.scrollRestoration = 'manual'),
4463						window.addEventListener('beforeunload', tn)),
4464					n.on('change', o);
4465				let c = i !== a;
4466				try {
4467					window.history[c ? 'pushState' : 'replaceState'](
4468						{},
4469						document.title,
4470						window.location.pathname + window.location.search + s
4471					),
4472						c && (e2 = !0);
4473				} catch (e) {}
4474			}
4475			function o() {
4476				if (!e || !e.isTopMost() || !1 === e.getOptions().Hash || !e.getSlide() || !e9(e)) return;
4477				let t = e8(e);
4478				e5 = !0;
4479				try {
4480					window.history.replaceState(
4481						{},
4482						document.title,
4483						window.location.pathname + window.location.search + t
4484					);
4485				} catch (e) {}
4486				e5 = !1;
4487			}
4488			function a() {
4489				if (e && e.isTopMost() && !1 !== e.getOptions().Hash && !e4 && e9(e)) {
4490					e5 = !0;
4491					try {
4492						e2 &&
4493						!(function () {
4494							if (window.parent === window) return !1;
4495							try {
4496								var e = window.frameElement;
4497							} catch (t) {
4498								e = null;
4499							}
4500							return null === e ? 'data:' === location.protocol : e.hasAttribute('sandbox');
4501						})() &&
4502						document.activeElement?.nodeName !== 'IFRAME'
4503							? window.history.back()
4504							: window.history.replaceState(
4505									{},
4506									document.title,
4507									window.location.pathname + window.location.search + t
4508							  );
4509					} catch (e) {}
4510					e5 = !1;
4511				}
4512			}
4513			return {
4514				init: function (t) {
4515					clearTimeout(r), (e = t).on('ready', n), e.on('close', a);
4516				},
4517				destroy: function () {
4518					e?.off('ready', n), e?.off('close', a);
4519					let t = e?.getCarousel();
4520					t && t.off('change', o),
4521						(e = void 0),
4522						i?.getInstance() || (tn(), window.removeEventListener('beforeunload', tn));
4523				},
4524			};
4525		};
4526		(to.getInfoFromURL = e3),
4527			(to.startFromUrl = e7),
4528			(to.setup = function (e) {
4529				!i &&
4530					((i = e),
4531					p() &&
4532						(/complete|interactive|loaded/.test(document.readyState)
4533							? tt()
4534							: document.addEventListener('DOMContentLoaded', tt)));
4535			});
4536		let ti = {
4537				...ep,
4538				CLOSE: 'Close',
4539				NEXT: 'Next',
4540				PREV: 'Previous',
4541				MODAL: 'You can close this modal content with the ESC key',
4542				ELEMENT_NOT_FOUND: 'HTML Element Not Found',
4543				IFRAME_ERROR: 'Error Loading Page',
4544				NO_CAPTION: 'No Caption',
4545				TOGGLE_SIDEBAR: 'Toggle sidebar',
4546			},
4547			tr =
4548				'<button class="f-button" title="{{CLOSE}}" data-fancybox-close><svg tabindex="-1" width="24" height="24" viewBox="0 0 24 24"><path d="M19.286 4.714 4.714 19.286M4.714 4.714l14.572 14.572" /></svg></button>';
4549		eq().add('close', { tpl: tr });
4550		let tl = (e) => {
4551				e.cancelable && e.preventDefault();
4552			},
4553			ta = (e = null, t = '', n) => {
4554				if (!e || !e.parentElement || !t) {
4555					n && n();
4556					return;
4557				}
4558				ts(e);
4559				let o = (i) => {
4560					i.target === e &&
4561						e.dataset.animationName &&
4562						(e.removeEventListener('animationend', o),
4563						delete e.dataset.animationName,
4564						n && n(),
4565						e.classList.remove(t));
4566				};
4567				(e.dataset.animationName = t), e.addEventListener('animationend', o), v(e, t);
4568			},
4569			ts = (e) => {
4570				e &&
4571					e.dispatchEvent(
4572						new CustomEvent('animationend', { bubbles: !1, cancelable: !0, currentTarget: e })
4573					);
4574			},
4575			tc =
4576				((($ = {})[($.Init = 0)] = 'Init'),
4577				($[($.Ready = 1)] = 'Ready'),
4578				($[($.Closing = 2)] = 'Closing'),
4579				($[($.Destroyed = 3)] = 'Destroyed'),
4580				$),
4581			tu = {
4582				ajax: null,
4583				backdropClick: 'close',
4584				Carousel: {},
4585				closeButton: 'auto',
4586				closeButtonTpl: tr,
4587				closeExisting: !1,
4588				delegateEl: void 0,
4589				dragToClose: !0,
4590				fadeEffect: !0,
4591				groupAll: !1,
4592				groupAttr: 'data-fancybox',
4593				hideClass: 'f-fadeOut',
4594				hideScrollbar: !0,
4595				id: void 0,
4596				idle: !1,
4597				keyboard: {
4598					Escape: 'close',
4599					Delete: 'close',
4600					Backspace: 'close',
4601					PageUp: 'next',
4602					PageDown: 'prev',
4603					ArrowUp: 'prev',
4604					ArrowDown: 'next',
4605					ArrowRight: 'next',
4606					ArrowLeft: 'prev',
4607				},
4608				l10n: ti,
4609				mainClass: '',
4610				mainStyle: {},
4611				mainTpl: `<dialog class="fancybox__dialog">
4612    <div class="fancybox__container" tabindex="0" aria-label="{{MODAL}}">
4613      <div class="fancybox__backdrop"></div>
4614      <div class="fancybox__carousel"></div>
4615    </div>
4616  </dialog>`,
4617				modal: !0,
4618				on: {},
4619				parentEl: void 0,
4620				placeFocusBack: !0,
4621				showClass: 'f-zoomInUp',
4622				startIndex: 0,
4623				sync: void 0,
4624				theme: 'dark',
4625				triggerEl: void 0,
4626				triggerEvent: void 0,
4627				zoomEffect: !0,
4628			},
4629			td = new Map(),
4630			tf = 0,
4631			tg = 'with-fancybox';
4632		function tm() {
4633			for (let e of Object.values(th.Plugins)) {
4634				let t = e.setup;
4635				'function' == typeof t && t(th);
4636			}
4637		}
4638		function tp(e, t = {}) {
4639			let n, o, i, r;
4640			if (!(e && e instanceof Element)) return;
4641			let l = {};
4642			for (let [t, a] of th.openers)
4643				if (t.contains(e))
4644					for (let [s, c] of a) {
4645						let a;
4646						if (s) {
4647							for (let n of t.querySelectorAll(s))
4648								if (n.contains(e)) {
4649									a = n;
4650									break;
4651								}
4652							if (!a) continue;
4653						}
4654						for (let [s, u] of c) {
4655							let c = null;
4656							try {
4657								c = e.closest(s);
4658							} catch (e) {}
4659							c && ((o = t), (i = a), (n = c), (r = s), m(l, u || {}));
4660						}
4661					}
4662			if (!o || !r || !n) return;
4663			let a = m({}, tu, t, l, { triggerEl: n }),
4664				s = [].slice.call((i || o).querySelectorAll(r)),
4665				c = n.closest('.f-carousel'),
4666				u = c?.carousel;
4667			if (u && !(i && c.contains(i))) {
4668				let e = [];
4669				for (let t of u?.getSlides()) {
4670					let n = t.el;
4671					n && (n.matches(r) ? e.push(n) : e.push(...[].slice.call(n.querySelectorAll(r))));
4672				}
4673				e.length &&
4674					((s = [...e]),
4675					u.getPlugins().Autoplay?.pause(),
4676					u.getPlugins().Autoscroll?.pause(),
4677					(a.sync = u));
4678			}
4679			if (!1 === a.groupAll) {
4680				let e = a.groupAttr,
4681					t = e && n ? n.getAttribute(`${e}`) : '';
4682				s = e && t ? s.filter((n) => n.getAttribute(`${e}`) === t) : [n];
4683			}
4684			if (!s.length) return;
4685			a.triggerEvent?.preventDefault();
4686			let d = th.getInstance(),
4687				f = d?.getState();
4688			if (d && (f === tc.Init || f === tc.Ready)) {
4689				let e = d.getOptions().triggerEl;
4690				if (e && s.indexOf(e) > -1) return;
4691			}
4692			return (
4693				{ ...(a.Carousel || {}) }.rtl && (s = s.reverse()),
4694				n && void 0 === t.startIndex && (a.startIndex = s.indexOf(n)),
4695				th.fromNodes(s, a)
4696			);
4697		}
4698		let th = {
4699			Plugins: { Hash: to },
4700			version: '6.1.13',
4701			openers: new Map(),
4702			bind: function (e, t, n, o) {
4703				if (!p()) return;
4704				let i = document.body,
4705					r = null,
4706					l = '[data-fancybox]',
4707					a = {};
4708				e instanceof Element && (i = e),
4709					s(e) && s(t)
4710						? ((r = e), (l = t))
4711						: s(t) && s(n)
4712						? ((r = t), (l = n))
4713						: s(t)
4714						? (l = t)
4715						: s(e) && (l = e),
4716					'object' == typeof t && (a = t || {}),
4717					'object' == typeof n && (a = n || {}),
4718					'object' == typeof o && (a = o || {}),
4719					(function (e, t, n, o = {}) {
4720						if (!(e && e instanceof Element) || !n) return;
4721						let i = th.openers.get(e) || new Map(),
4722							r = i.get(t) || new Map();
4723						r.set(n, o),
4724							i.set(t, r),
4725							th.openers.set(e, i),
4726							1 === i.size && e.addEventListener('click', th.fromEvent),
4727							tm();
4728					})(i, r, l, a);
4729			},
4730			close: function (e = !0, ...t) {
4731				if (e) for (let e of td.values()) e.close(...t);
4732				else {
4733					let e = th.getInstance();
4734					e && e.close(...t);
4735				}
4736			},
4737			destroy: function () {
4738				let e;
4739				for (; (e = th.getInstance()); ) e.destroy();
4740				for (let e of th.openers.keys()) e.removeEventListener('click', th.fromEvent);
4741				th.openers.clear();
4742			},
4743			fromEvent: function (e) {
4744				if (e.defaultPrevented || (e.button && 0 !== e.button) || e.ctrlKey || e.metaKey || e.shiftKey)
4745					return;
4746				let t = e.composedPath()[0],
4747					n = { triggerEvent: e };
4748				if (t.closest('.fancybox__container.is-hiding')) {
4749					tl(e), e.stopPropagation();
4750					return;
4751				}
4752				let o = t.closest('[data-fancybox-delegate]') || void 0;
4753				if (o) {
4754					let e = o.dataset.fancyboxDelegate || '',
4755						i = document.querySelectorAll(`[data-fancybox="${e}"]`),
4756						r = parseInt(o.dataset.fancyboxIndex || '', 10) || 0;
4757					(t = i[r] || i[0]), m(n, { delegateEl: o, startIndex: r });
4758				}
4759				return tp(t, n);
4760			},
4761			fromNodes: function (e, t) {
4762				t = m({}, tu, t || {});
4763				let n = [],
4764					o = (e) =>
4765						e instanceof HTMLImageElement
4766							? e
4767							: e instanceof HTMLElement
4768							? e.querySelector('img:not([aria-hidden])')
4769							: void 0;
4770				for (let i of e) {
4771					let r = i.dataset || {},
4772						l = t.delegateEl && e.indexOf(i) === t.startIndex ? t.delegateEl : void 0,
4773						a = o(l) || o(i) || void 0,
4774						s =
4775							r.src ||
4776							i.getAttribute('href') ||
4777							i.getAttribute('currentSrc') ||
4778							i.getAttribute('src') ||
4779							void 0,
4780						c =
4781							r.thumb ||
4782							r.thumbSrc ||
4783							a?.getAttribute('currentSrc') ||
4784							a?.getAttribute('src') ||
4785							a?.dataset.lazySrc ||
4786							void 0,
4787						u = {
4788							src: s,
4789							alt: r.alt || a?.getAttribute('alt') || void 0,
4790							thumbSrc: c,
4791							thumbEl: a,
4792							triggerEl: i,
4793							delegateEl: l,
4794						};
4795					for (let e in r) {
4796						let t = r[e] + '';
4797						(t = 'false' !== t && ('true' === t || t)), (u[e] = t);
4798					}
4799					n.push(u);
4800				}
4801				return th.show(n, t);
4802			},
4803			fromSelector: function (e, t, n, o) {
4804				if (!p()) return;
4805				let i = document.body,
4806					r = null,
4807					l = '[data-fancybox]',
4808					a = {};
4809				for (let [c, u] of (e instanceof Element && (i = e),
4810				s(e) && s(t)
4811					? ((r = e), (l = t))
4812					: s(t) && s(n)
4813					? ((r = t), (l = n))
4814					: s(t)
4815					? (l = t)
4816					: s(e) && (l = e),
4817				'object' == typeof t && (a = t || {}),
4818				'object' == typeof n && (a = n || {}),
4819				'object' == typeof o && (a = o || {}),
4820				th.openers))
4821					for (let [e, t] of u)
4822						for (let [n, o] of t)
4823							if (c === i && e === r) {
4824								let t = i.querySelector((e ? `${e} ` : '') + l);
4825								if (t && t.matches(n)) return th.fromTriggerEl(t, a);
4826							}
4827			},
4828			fromTriggerEl: tp,
4829			getCarousel: function () {
4830				return th.getInstance()?.getCarousel() || void 0;
4831			},
4832			getDefaults: function () {
4833				return tu;
4834			},
4835			getInstance: function (e) {
4836				if (e) {
4837					let t = td.get(e);
4838					return t && t.getState() !== tc.Destroyed ? t : void 0;
4839				}
4840				return (
4841					Array.from(td.values())
4842						.reverse()
4843						.find((e) => {
4844							if (e.getState() !== tc.Destroyed) return e;
4845						}) || void 0
4846				);
4847			},
4848			getSlide: function () {
4849				return th.getInstance()?.getSlide() || void 0;
4850			},
4851			show: function (e = [], t = {}) {
4852				return (
4853					tm(),
4854					(() => {
4855						let e,
4856							t,
4857							n,
4858							o,
4859							i,
4860							r,
4861							l,
4862							d = tc.Init,
4863							p = { ...tu },
4864							h = -1,
4865							w = {},
4866							x = [],
4867							M = !1,
4868							L = !0,
4869							S = 0;
4870						function T(e, ...t) {
4871							let n = p[e];
4872							return n && 'function' == typeof n ? n(ef, ...t) : n;
4873						}
4874						function R(e, t = []) {
4875							let n = T('l10n') || {};
4876							e = String(e).replace(/\{\{(\w+)\}\}/g, (e, t) => n[t] || e);
4877							for (let n = 0; n < t.length; n++) e = e.split(t[n][0]).join(t[n][1]);
4878							return e.replace(/\{\{(.*?)\}\}/g, (e, t) => t);
4879						}
4880						let P = new Map();
4881						function A(e, ...t) {
4882							let n = [...(P.get(e) || [])];
4883							for (let [t, o] of Object.entries(p.on || {}))
4884								(t === e || t.split(' ').indexOf(e) > -1) && n.push(o);
4885							for (let e of n) e && 'function' == typeof e && e(ef, ...t);
4886							'*' !== e && A('*', e, ...t);
4887						}
4888						function C() {
4889							b(r, 'is-revealing');
4890							try {
4891								document.activeElement === i && (r?.querySelector('[autofocus]') || r).focus();
4892							} catch (e) {}
4893						}
4894						function O(t, n) {
4895							G(n),
4896								V(),
4897								n.el?.addEventListener('click', z),
4898								('inline' === n.type || 'clone' === n.type) &&
4899									(function (t) {
4900										if (!e || !t || !t.el) return;
4901										let n = null;
4902										if (s(t.src)) {
4903											let e = t.src.split('#', 2).pop();
4904											n = e ? document.getElementById(e) : null;
4905										}
4906										if (n) {
4907											if ((v(n, 'f-html'), 'clone' === t.type || n.closest('.fancybox__carousel'))) {
4908												let e = (n = n.cloneNode(!0)).dataset.animationName;
4909												e && (n.classList.remove(e), delete n.dataset.animationName);
4910												let o = n.getAttribute('id');
4911												(o = o ? `${o}--clone` : `clone-${h}-${t.index}`), n.setAttribute('id', o);
4912											} else if (n.parentNode) {
4913												let e = document.createElement('div');
4914												(e.inert = !0), n.parentNode.insertBefore(e, n), (t.placeholderEl = e);
4915											}
4916											(t.htmlEl = n),
4917												v(t.el, 'has-html'),
4918												t.el.prepend(n),
4919												n.classList.remove('hidden'),
4920												'none' === n.style.display && (n.style.display = ''),
4921												'none' === getComputedStyle(n).getPropertyValue('display') &&
4922													(n.style.display = n.dataset.display || 'flex'),
4923												e?.emit('contentReady', t);
4924										} else e?.showError(t, '{{ELEMENT_NOT_FOUND}}');
4925									})(n),
4926								'ajax' === n.type &&
4927									(function (t) {
4928										let n = t.el;
4929										if (!n || t.htmlEl || t.xhr) return;
4930										e?.showLoading(t), (t.state = ev.Loading);
4931										let o = new XMLHttpRequest();
4932										o.onreadystatechange = function () {
4933											if (o.readyState === XMLHttpRequest.DONE && d === tc.Ready)
4934												if ((e?.hideLoading(t), (t.state = ev.Loaded), 200 === o.status)) {
4935													let i = o.responseText + '',
4936														r = null,
4937														l = null;
4938													if (t.filter) {
4939														let e = document.createElement('div');
4940														(e.innerHTML = i), (l = e.querySelector(t.filter + ''));
4941													}
4942													l && l instanceof HTMLElement
4943														? (r = l)
4944														: ((r = document.createElement('div')).innerHTML = i),
4945														r.classList.add('f-html'),
4946														(t.htmlEl = r),
4947														n.classList.add('has-html'),
4948														n.classList.add('has-ajax'),
4949														n.prepend(r),
4950														e?.emit('contentReady', t);
4951												} else e?.showError(t);
4952										};
4953										let i = T('ajax') || null;
4954										o.open(i ? 'POST' : 'GET', t.src + ''),
4955											o.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'),
4956											o.setRequestHeader('X-Requested-With', 'XMLHttpRequest'),
4957											o.send(i),
4958											(t.xhr = o);
4959									})(n);
4960						}
4961						function I(e, t) {
4962							var n;
4963							let o, i;
4964							U(t),
4965								t.el?.removeEventListener('click', z),
4966								('inline' === t.type || 'clone' === t.type) &&
4967									((o = (n = t).htmlEl),
4968									(i = n.placeholderEl),
4969									o &&
4970										('none' !== getComputedStyle(o).getPropertyValue('display') && (o.style.display = 'none'),
4971										o.offsetHeight),
4972									i && (o && i.parentNode && i.parentNode.insertBefore(o, i), i.remove()),
4973									(n.htmlEl = void 0),
4974									(n.placeholderEl = void 0)),
4975								t.xhr && (t.xhr.abort(), (t.xhr = void 0));
4976						}
4977						function z(e) {
4978							if (!Y()) return;
4979							if (d !== tc.Ready) {
4980								tl(e), e.stopPropagation();
4981								return;
4982							}
4983							if (e.defaultPrevented || !ee.isClickAllowed()) return;
4984							let t = e.composedPath()[0];
4985							t.closest('.fancybox__carousel') && t.classList.contains('fancybox__slide') && N(e);
4986						}
4987						function k() {
4988							(L = !1), r && e && r.classList.remove('is-revealing'), V();
4989							let t = T('sync');
4990							if (e && t) {
4991								let n = t.getPageIndex(e.getPageIndex()) || 0;
4992								t.goTo(n, { transition: !1, tween: !1 });
4993							}
4994						}
4995						function $() {
4996							(function () {
4997								let o = e?.getViewport();
4998								if (!T('dragToClose') || !e || !o || !(t = ee(o).init())) return;
4999								let i = !1,
5000									l = 0,
5001									a = 0,
5002									s = {},
5003									c = 1;
5004								function u() {
5005									n?.spring({
5006										clamp: !0,
5007										mass: 1,
5008										tension: 0 === a ? 140 : 960,
5009										friction: 17,
5010										restDelta: 0.1,
5011										restSpeed: 0.1,
5012										maxSpeed: 1 / 0,
5013									})
5014										.from({ y: l })
5015										.to({ y: a })
5016										.start();
5017									let t = e?.getViewport()?.getBoundingClientRect().height || 0,
5018										o = K()?.panzoomRef;
5019									if (t && o)
5020										if (0 === a) o.execute(er.Reset);
5021										else {
5022											let e = y(Math.abs(l), 0, 0.33 * t, c, 0.77 * c, !1);
5023											o.execute(er.ZoomTo, { scale: e });
5024										}
5025								}
5026								let g = (t) => {
5027									let n = t.srcEvent,
5028										o = n.target;
5029									return e && !(q(n) && n.touches?.length > 1) && o && !f(o);
5030								};
5031								(n = j().on('step', (e) => {
5032									if (r && o && d === tc.Ready) {
5033										let t = o.getBoundingClientRect().height,
5034											n = y(Math.abs((l = Math.min(t, Math.max(-1 * t, e.y)))), 0, 0.65 * t, 1, 0.2, !0);
5035										r.style.setProperty('--f-drag-opacity', n + ''),
5036											r.style.setProperty('--f-drag-offset', l + 'px');
5037									}
5038								})),
5039									t
5040										.on('start', function () {
5041											i || (n?.pause(), (a = l));
5042										})
5043										.on('panstart', (t) => {
5044											if (!i && g(t) && 'y' === t.axis) {
5045												tl(t.srcEvent), (i = !0), es(), e?.getViewport()?.classList.add('is-dragging');
5046												let n = K()?.panzoomRef;
5047												if (n) {
5048													c = n.getTransform().scale || 1;
5049													let e = n.getOptions();
5050													(s = { ...e }), (e.bounds = !1), (e.gestures = !1);
5051												}
5052											} else i = !1;
5053										})
5054										.on('pan', function (e) {
5055											i &&
5056												g(e) &&
5057												(tl(e.srcEvent),
5058												e.srcEvent.stopPropagation(),
5059												'y' === e.axis && ((a += e.deltaY), u()));
5060										})
5061										.on('end', (t) => {
5062											if ((e?.getViewport()?.classList.remove('is-dragging'), i)) {
5063												let e = K()?.panzoomRef;
5064												if (e) {
5065													e.getTween()?.end();
5066													let t = e.getOptions();
5067													(t.bounds = s.bounds || !1), (t.gestures = s.gestures || !1);
5068												}
5069												g(t) &&
5070													'y' === t.axis &&
5071													(Math.abs(t.velocityY) > 5 || Math.abs(l) > 50) &&
5072													ec(t.srcEvent, 'f-throwOut' + (t.velocityY > 0 ? 'Down' : 'Up'));
5073											}
5074											(i = !1), d === tc.Ready && 0 !== l && ((a = 0), u());
5075										});
5076							})(),
5077								document.body.addEventListener('click', Z),
5078								document.body.addEventListener('keydown', W, { passive: !1, capture: !0 }),
5079								V(),
5080								en();
5081							let o = T('sync');
5082							e && o && o.getTween()?.start(), X(K());
5083						}
5084						function F() {
5085							e?.canGoNext() ? en() : el();
5086						}
5087						function _(e, t) {
5088							G(t);
5089						}
5090						function H(e, t) {
5091							G(t), X(t);
5092						}
5093						function D() {
5094							let t = e?.getPlugins().Thumbs;
5095							E(r, 'has-thumbs', t?.isEnabled() || !1),
5096								E(
5097									r,
5098									'has-vertical-thumbs',
5099									!!t && ('scrollable' === t.getType() || t.getCarousel()?.isVertical() === !0)
5100								);
5101						}
5102						function V() {
5103							if (r) {
5104								let t = e?.getPages() || [],
5105									n = e?.getPageIndex() || 0;
5106								for (let e of r.querySelectorAll('[data-fancybox-index]')) e.innerHTML = n + '';
5107								for (let e of r.querySelectorAll('[data-fancybox-page]')) e.innerHTML = n + 1 + '';
5108								for (let e of r.querySelectorAll('[data-fancybox-pages]')) e.innerHTML = t.length + '';
5109							}
5110						}
5111						function N(e) {
5112							e.composedPath()[0].closest('[data-fancybox-close]')
5113								? ec(e)
5114								: (A('backdropClick', e), e.defaultPrevented || (T('backdropClick') && ec(e)));
5115						}
5116						function B() {
5117							ei();
5118						}
5119						function W(t) {
5120							let n;
5121							if (!Y() || d !== tc.Ready) return;
5122							let o = t.key,
5123								i = T('keyboard');
5124							if (!i || t.ctrlKey || t.altKey || t.shiftKey) return;
5125							let r = t.composedPath()[0];
5126							if (
5127								!c(r) ||
5128								('Escape' !== o &&
5129									((n =
5130										'input,textarea,select,option,video,iframe,[contenteditable],[data-selectable],[data-draggable]'),
5131									r.matches(n) || r.closest(n))) ||
5132								(A('keydown', t), t.defaultPrevented)
5133							)
5134								return;
5135							let l = i[o];
5136							if (l)
5137								switch (l) {
5138									case 'close':
5139										ec(t);
5140										break;
5141									case 'next':
5142										tl(t), e?.next();
5143										break;
5144									case 'prev':
5145										tl(t), e?.prev();
5146								}
5147						}
5148						function Z(e) {
5149							if (!Y() || d !== tc.Ready || (ei(), e.defaultPrevented)) return;
5150							let t = e.composedPath()[0],
5151								n = !!t.closest('[data-fancybox-close]'),
5152								o = t.classList.contains('fancybox__backdrop');
5153							(n || o) && N(e);
5154						}
5155						function G(t) {
5156							let { el: n, htmlEl: o, panzoomRef: i, closeButtonEl: r } = t,
5157								l = i ? i.getWrapper() : o;
5158							if (!n || !n.parentElement || !l) return;
5159							let a = T('closeButton');
5160							if (('auto' === a && (a = e?.getPlugins().Toolbar?.isEnabled() !== !0), !a))
5161								return void U(t);
5162							if (!r) {
5163								let e = u(R(T('closeButtonTpl')));
5164								e &&
5165									(v(e, 'is-close-button'),
5166									(t.closeButtonEl = l.insertAdjacentElement('afterbegin', e)),
5167									v(n, 'has-close-btn'));
5168							}
5169						}
5170						function U(e) {
5171							e.closeButtonEl && (e.closeButtonEl.remove(), (e.closeButtonEl = void 0)),
5172								b(e.el, 'has-close-btn');
5173						}
5174						function X(t) {
5175							if (
5176								!(
5177									L &&
5178									e &&
5179									e.getState() === ey.Ready &&
5180									t &&
5181									t.index === e.getOptions().initialPage &&
5182									t.el &&
5183									t.el.parentElement
5184								) ||
5185								(void 0 !== t.state && t.state !== ev.Loaded)
5186							)
5187								return;
5188							L = !1;
5189							let n = t.panzoomRef,
5190								o = n?.getTween(),
5191								i = T('zoomEffect') && o ? Q(t) : void 0;
5192							if (n && o && i) {
5193								let { x: e, y: t, scale: r }
5193 = n.getStartPosition();
5194								o.spring({
5195									tension: 215,
5196									friction: 25,
5197									restDelta: 0.001,
5198									restSpeed: 0.001,
5199									maxSpeed: 1 / 0,
5200								})
5201									.from(i)
5202									.to({ x: e, y: t, scale: r })
5203									.start();
5204								return;
5205							}
5206							let r = n?.getContent() || t.htmlEl;
5207							r && ta(r, T('showClass', t));
5208						}
5209						function Y() {
5210							return th.getInstance()?.getId() === h;
5211						}
5212						function K() {
5213							return e?.getPage()?.slides[0];
5214						}
5215						function J() {
5216							let e = K();
5217							return e ? e.triggerEl || T('triggerEl') : void 0;
5218						}
5219						function Q(e) {
5220							let t = e.thumbEl;
5221							if (
5222								!t ||
5223								!((e) => {
5224									let t = e.getBoundingClientRect(),
5225										n = e.closest('[style]'),
5226										o = n?.parentElement;
5227									if (n && n.style.transform && o) {
5228										let e = o.getBoundingClientRect();
5229										if (
5230											t.left < e.left ||
5231											t.left > e.left + e.width - t.width ||
5232											t.top < e.top ||
5233											t.top > e.top + e.height - t.height
5234										)
5235											return !1;
5236									}
5237									let i = Math.max(document.documentElement.clientHeight, window.innerHeight),
5238										r = Math.max(document.documentElement.clientWidth, window.innerWidth);
5239									return !(t.bottom < 0) && !(t.top - i >= 0) && !(t.right < 0) && !(t.left - r >= 0);
5240								})(t)
5241							)
5242								return;
5243							let n = e.panzoomRef?.getWrapper()?.getBoundingClientRect(),
5244								o = n?.width,
5245								i = n?.height;
5246							if (!o || !i) return;
5247							let r = t.getBoundingClientRect(),
5248								l = r.width,
5249								a = r.height,
5250								s = r.left,
5251								c = r.top;
5252							if (!r || !l || !a) return;
5253							if (t instanceof HTMLImageElement) {
5254								let e = window.getComputedStyle(t).getPropertyValue('object-fit');
5255								if ('contain' === e || 'scale-down' === e) {
5256									let { width: n, height: o } = ((e, t, n, o, i = 'contain') => {
5257										if ('contain' === i || e > n || t > o) {
5258											let i = Math.min(n / e, o / t);
5259											(e *= i), (t *= i);
5260										}
5261										return { width: e, height: t };
5262									})(t.naturalWidth, t.naturalHeight, l, a, e);
5263									(s += (l - n) * 0.5), (c += (a - o) * 0.5), (l = n), (a = o);
5264								}
5265							}
5266							if (Math.abs(o / i - l / a) > 0.1) return;
5267							let u = s + 0.5 * l - (n.left + 0.5 * o);
5268							return { x: u, y: c + 0.5 * a - (n.top + 0.5 * i), scale: l / o };
5269						}
5270						function et() {
5271							o && clearTimeout(o), (o = void 0), document.removeEventListener('mousemove', B);
5272						}
5273						function en() {
5274							if (M || o) return;
5275							let e = T('idle');
5276							e && (o = setTimeout(eo, e));
5277						}
5278						function eo() {
5279							r && (et(), v(r, 'is-idle'), document.addEventListener('mousemove', B), (M = !0));
5280						}
5281						function ei() {
5282							M && (el(), en());
5283						}
5284						function el() {
5285							et(), r?.classList.remove('is-idle'), (M = !1);
5286						}
5287						function es() {
5288							var e;
5289							let t = J();
5290							!t ||
5291								((e = t.getBoundingClientRect()).bottom > 0 &&
5292									e.right > 0 &&
5293									e.left < (window.innerWidth || document.documentElement.clientWidth) &&
5294									e.top < (window.innerHeight || document.documentElement.clientHeight)) ||
5295								t.closest('[inert]') ||
5296								t.scrollIntoView({ behavior: 'instant', block: 'center', inline: 'center' });
5297						}
5298						function ec(o, i) {
5299							if (d === tc.Closing || d === tc.Destroyed) return;
5300							let r = new Event('shouldClose', { bubbles: !0, cancelable: !0 });
5301							if ((A('shouldClose', r, o), r.defaultPrevented)) return;
5302							if ((et(), o)) {
5303								if (o.defaultPrevented) return;
5304								tl(o), o.stopPropagation(), o.stopImmediatePropagation();
5305							}
5306							if (((d = tc.Closing), n?.pause(), t?.destroy(), e))
5307								for (let t of (e.getGestures()?.destroy(), e.getTween()?.pause(), e.getSlides())) {
5308									let e = t.panzoomRef;
5309									e &&
5310										(m(e.getOptions(), {
5311											clickAction: !1,
5312											dblClickAction: !1,
5313											wheelAction: !1,
5314											bounds: !1,
5315											minScale: 0,
5316											maxScale: 1 / 0,
5317										}),
5318										e.getGestures()?.destroy(),
5319										e.getTween()?.pause());
5320								}
5321							let l = e?.getPlugins();
5322							l?.Autoplay?.stop();
5323							let a = l?.Fullscreen;
5324							a && a.inFullscreen()
5325								? Promise.resolve(a.exit()).then(() => {
5326										setTimeout(() => {
5327											eu(o, i);
5328										}, 150);
5329								  })
5330								: eu(o, i);
5331						}
5332						function eu(t, n) {
5333							if (d !== tc.Closing) return;
5334							A('close', t),
5335								(L = !1),
5336								document.body.removeEventListener('click', Z),
5337								document.body.removeEventListener('keydown', W, { passive: !1, capture: !0 }),
5338								T('placeFocusBack') && es();
5339							let o = document.activeElement;
5340							o && i?.contains(o) && o.blur(),
5341								T('fadeEffect') && (r?.classList.remove('is-ready'), r?.classList.add('is-hiding')),
5342								r?.classList.add('is-closing');
5343							let l = K(),
5344								a = l?.el,
5345								s = l?.panzoomRef,
5346								c = l?.panzoomRef?.getTween(),
5347								u = n || T('hideClass'),
5348								f = !1,
5349								g = !1;
5350							if (e && l && a && s && c) {
5351								let e;
5352								if ((T('zoomEffect') && l.state === ev.Loaded && (e = Q(l)), e)) {
5353									f = !0;
5354									let t = () => {
5355										(e = Q(l)) ? c.to({ ...ea, ...e }) : ed();
5356									};
5357									s.on('refresh', () => {
5358										t();
5359									}),
5360										c
5361											.easing(j.Easings.EaseOut)
5362											.duration(350)
5363											.from({ ...s.getTransform() })
5364											.to({ ...ea, ...e })
5365											.start(),
5366										a?.getAnimations() &&
5367											((a.style.animationPlayState = 'paused'),
5368											requestAnimationFrame(() => {
5369												t();
5370											}));
5371								}
5372							}
5373							let m = l?.htmlEl || l?.panzoomRef?.getWrapper();
5374							m && ts(m),
5375								!f &&
5376									u &&
5377									m &&
5378									((g = !0),
5379									ta(m, u, () => {
5380										ed();
5381									})),
5382								f || g
5383									? setTimeout(() => {
5384											ed();
5385									  }, 350)
5386									: ed();
5387						}
5388						function ed() {
5389							if (d === tc.Destroyed) return;
5390							d = tc.Destroyed;
5391							let t = J();
5392							for (let t of (A('destroy'),
5393							T('sync')?.getPlugins().Autoplay?.resume(),
5394							T('sync')?.getPlugins().Autoscroll?.resume(),
5395							i instanceof HTMLDialogElement && i.close(),
5396							e?.getContainer()?.classList.remove('is-idle'),
5397							e?.destroy(),
5398							Object.values(w)))
5399								t?.destroy();
5400							if (
5401								((w = {}),
5402								i?.remove(),
5403								(i = void 0),
5404								(r = void 0),
5405								(e = void 0),
5406								td.delete(h),
5407								!td.size &&
5408									(g(!1),
5409									document.documentElement.classList.remove(tg),
5410									T('placeFocusBack') && t && !t.closest('[inert]')))
5411							)
5412								try {
5413									t?.focus({ preventScroll: !0 });
5414								} catch (e) {}
5415						}
5416						let ef = {
5417							close: ec,
5418							destroy: ed,
5419							getCarousel: function () {
5420								return e;
5421							},
5422							getContainer: function () {
5423								return r;
5424							},
5425							getId: function () {
5426								return h;
5427							},
5428							getOptions: function () {
5429								return p;
5430							},
5431							getPlugins: function () {
5432								return w;
5433							},
5434							getSlide: function () {
5435								return K();
5436							},
5437							getState: function () {
5438								return d;
5439							},
5440							init: function (t = [], n = {}) {
5441								d !== tc.Init && (ef.destroy(), (d = tc.Init)),
5442									(p = m({}, tu, n)),
5443									(h = T('id') || `fancybox-${++tf}`);
5444								let o = td.get(h);
5445								if (
5446									(o && o.destroy(),
5447									td.set(h, ef),
5448									A('init'),
5449									(function () {
5450										for (let [e, t] of Object.entries({ ...th.Plugins, ...(p.plugins || {}) }))
5451											if (e && !w[e] && t instanceof Function) {
5452												let n = t();
5453												n.init(ef), (w[e] = n);
5454											}
5455										A('initPlugins');
5456									})(),
5457									(function (e = []) {
5458										A('initSlides', e), (x = [...e]);
5459									})(t),
5460									(function () {
5461										let t = T('parentEl') || document.body;
5462										if (
5463											!(t && t instanceof HTMLElement) ||
5464											!(i = u(R(T('mainTpl') || '')) || void 0) ||
5465											!((r = i.querySelector('.fancybox__container')) && r instanceof HTMLElement)
5466										)
5467											return;
5468										let n = T('mainClass');
5469										n && v(r, n);
5470										let o = T('mainStyle');
5471										if (o && a(o)) for (let [e, t] of Object.entries(o)) r.style.setProperty(e, t);
5472										let l = T('theme'),
5473											s =
5474												'auto' === l
5475													? window.matchMedia('(prefers-color-scheme:light)').matches
5476													: 'light' === l;
5477										r.setAttribute('theme', s ? 'light' : 'dark'),
5478											i.setAttribute('id', `${h}`),
5479											i.addEventListener('keydown', (e) => {
5480												'Escape' === e.key && tl(e);
5481											}),
5482											i.addEventListener(
5483												'wheel',
5484												(t) => {
5485													let n = t.target,
5486														o = T('wheel', t);
5487													n.closest('.f-thumbs') && (o = 'slide');
5488													let i = 'slide' === o,
5489														r = Math.max(
5490															-1,
5491															Math.min(
5492																1,
5493																[-t.deltaX || 0, -t.deltaY || 0, -t.detail || 0].reduce(function (e, t) {
5494																	return Math.abs(t) > Math.abs(e) ? t : e;
5495																})
5496															)
5497														),
5498														l = Date.now();
5499													if (S && l - S < 300) {
5500														i && tl(t);
5501														return;
5502													}
5503													(S = l),
5504														A('wheel', t, r),
5505														t.defaultPrevented ||
5506															('close' === o
5507																? ec(t)
5508																: 'slide' === o && e && !f(n) && (tl(t), e[r > 0 ? 'prev' : 'next']()));
5509												},
5510												{ capture: !0, passive: !1 }
5511											),
5512											i.addEventListener('cancel', (e) => {
5513												ec(e);
5514											}),
5515											t.append(i),
5516											1 === td.size &&
5517												(T('hideScrollbar') && g(!0), document.documentElement.classList.add(tg)),
5518											A('initLayout'),
5519											i instanceof HTMLDialogElement && (T('modal') ? i.showModal() : i.show());
5520									})(),
5521									(function () {
5522										if (!(l = i?.querySelector('.fancybox__carousel') || void 0)) return;
5523										l.fancybox = ef;
5524										let t = m(
5525											{},
5526											{
5527												Autoplay: {
5528													autoStart: !1,
5529													pauseOnHover: !1,
5530													progressbarParentEl: (e) => {
5531														let t = e.getContainer();
5532														return t?.querySelector('.f-carousel__toolbar [data-autoplay-action]') || t;
5533													},
5534												},
5535												Fullscreen: { el: r },
5536												Toolbar: {
5537													absolute: !0,
5538													items: {
5539														counter: {
5540															tpl: '<div class="f-counter"><span data-fancybox-page></span>/<span data-fancybox-pages></span></div>',
5541														},
5542													},
5543													display: {
5544														left: ['counter'],
5545														right: ['toggleFull', 'autoplay', 'fullscreen', 'thumbs', 'close'],
5546													},
5547												},
5548												Video: { autoplay: !0 },
5549												Thumbs: { minCount: 2, Carousel: { classes: { container: 'fancybox__thumbs' } } },
5550												classes: {
5551													container: 'fancybox__carousel',
5552													viewport: 'fancybox__viewport',
5553													slide: 'fancybox__slide',
5554												},
5555												spinnerTpl: '<div class="f-spinner" data-fancybox-close></div>',
5556												dragFree: !1,
5557												slidesPerPage: 1,
5558												plugins: {
5559													Sync: eT,
5560													Arrows: e$,
5561													Lazyload: eO,
5562													Zoomable: eL,
5563													Html: eU,
5564													Video: eK,
5565													Autoplay: eB,
5566													Fullscreen: e0,
5567													Thumbs: eZ,
5568													Toolbar: eq,
5569												},
5570											},
5571											T('Carousel') || {},
5572											{ slides: x, enabled: !0, initialPage: T('startIndex') || 0, l10n: T('l10n') }
5573										);
5574										A('initCarousel', (e = ew(l, t))),
5575											e.on('*', (e, t, ...n) => {
5576												A(`Carousel.${t}`, e, ...n);
5577											}),
5578											e.on('attachSlideEl', O),
5579											e.on('detachSlideEl', I),
5580											e.on('contentLoading', _),
5581											e.on('contentReady', H),
5582											e.on('ready', $),
5583											e.on('change', k),
5584											e.on('settle', F),
5585											e.on('thumbs:ready', D),
5586											e.on('thumbs:destroy', D),
5587											e.init();
5588									})(),
5589									i && r)
5590								) {
5591									if (T('closeExisting')) for (let [e, t] of td.entries()) e !== h && t.close();
5592									T('fadeEffect')
5593										? (setTimeout(() => {
5594												C();
5595										  }, 500),
5596										  v(r, 'is-revealing'))
5597										: C(),
5598										r.classList.add('is-ready'),
5599										(d = tc.Ready),
5600										A('ready');
5601								}
5602							},
5603							isCurrentSlide: function (e) {
5604								let t = K();
5605								return !!e && !!t && t.index === e.index;
5606							},
5607							isTopMost: function () {
5608								return Y();
5609							},
5610							localize: R,
5611							off: function (e, t) {
5612								return (
5613									P.has(e) &&
5614										P.set(
5615											e,
5616											P.get(e).filter((e) => e !== t)
5617										),
5618									ef
5619								);
5620							},
5621							on: function (e, t) {
5622								return P.set(e, [...(P.get(e) || []), t]), ef;
5623							},
5624							toggleIdle(e) {
5625								(M || !0 === e) && eo(), (M && !1 !== e) || el();
5626							},
5627						};
5628						return ef;
5629					})().init(e, t)
5630				);
5631			},
5632			unbind: function (e, t, n) {
5633				if (!p()) return;
5634				let o = document.body,
5635					i = null,
5636					r = '[data-fancybox]';
5637				e instanceof Element && (o = e),
5638					s(e) && s(t)
5639						? ((i = e), (r = t))
5640						: s(t) && s(n)
5641						? ((i = t), (r = n))
5642						: s(t)
5643						? (r = t)
5644						: s(e) && (r = e),
5645					(function (e, t, n) {
5646						if (!(e && e instanceof Element) || !n) return;
5647						let o = th.openers.get(e) || new Map(),
5648							i = o.get(t) || new Map();
5649						i && n && i.delete(n),
5650							(i.size && n) || o.delete(t),
5651							o.size || (th.openers.delete(e), e.removeEventListener('click', th.fromEvent));
5652					})(o, i, r);
5653			},
5654		};
5655		(e.Arrows = e$),
5656			(e.Autoplay = eB),
5657			(e.Carousel = ew),
5658			(e.CarouselSlideContentState = ev),
5659			(e.CarouselState = ey),
5660			(e.Fancybox = th),
5661			(e.FancyboxState = tc),
5662			(e.Fullscreen = e0),
5663			(e.Html = eU),
5664			(e.Lazyload = eO),
5665			(e.PANZOOM_DEFAULT_POS = ea),
5666			(e.Panzoom = eg),
5667			(e.PanzoomAction = er),
5668			(e.PanzoomState = es),
5669			(e.PanzoomZoomLevel = el),
5670			(e.Sync = eT),
5671			(e.Thumbs = eZ),
5672			(e.Toolbar = eq),
5673			(e.ToolbarColumn = eD),
5674			(e.Video = eK),
5675			(e.Zoomable = eL);
5676	})
5677);

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.