PageSourceSearch

https://www.imbus.de/typo3temp/assets/compressed/merged-76a544a396…cbbff2623c98adb0fa8637f307fe2.js?1789979746

js imbus.de collected 2026-10-03 21:23:10 UTC 698,176 bytes, 14,040 lines download raw bytes

1
2(function(d){typeof define=="function"&&define.amd?define(d):d()})(function(){"use strict";const d=`<div class="cc-body" id="cookieconsent:body">
3    <span class="cc-message" id="cookieconsent:desc">
4        {{description}}
5        {{selection}}
6    </span>
7    <div class="cc-compliance cc-highlight">
8        {{allow-all}}
9        {{allow}}
10        {{deny}}
11    </div>
12    <div class="powered-by">Powered by <a href="https://dp-wired.de/?ref=consent-note" rel="noopener" target="_blank">DP Wired</a></div>
13</div>`,f=`<div class="cc-body" id="cookieconsent:body">
14    <span class="cc-message" id="cookieconsent:desc">
15        {{description}}
16    </span>
17    <div class="cc-compliance cc-highlight">
18        {{allow-all}}
19        {{config}}
20        {{deny}}
21    </div>
22    <div class="powered-by">Powered by <a href="https://dp-wired.de/?ref=consent-note" rel="noopener" target="_blank">DP Wired</a></div>
23</div>`,h=`<div class="dp--cookie-check">
24    <label for="dp--cookie-require">
25        <input type="checkbox" id="dp--cookie-require" class="dp--check-box" checked="checked" disabled="disabled"  />
26        {{dpRequire}}
27    </label>
28    <label for="dp--cookie-statistics">
29        <input type="checkbox" id="dp--cookie-statistics" class="dp--check-box" {{checked.statistics}} value="" />
30        {{dpStatistik}}
31    </label>
32    <label for="dp--cookie-marketing">
33        <input type="checkbox" id="dp--cookie-marketing" class="dp--check-box" {{checked.marketing}} value=""  />
34        {{dpMarketing}}
35    </label>
36</div>
37`,v=`{{message}}
38
39<a class="cc-link"
40   role=button
41   href="{{href}}"
42   rel="noopener noreferrer nofollow"
43   target="{{target}}"
44>
45    {{link}}
46</a>
47`,k=`<button class="cc-btn cc-allow-all cc-w-100">
48    {{allow-all}}
49</button>
50`,b=`<button class="cc-btn cc-allow">
51    {{allow}}
52</button>
53`,y=`<button class="cc-btn cc-dismiss">
54    {{dismiss}}
55</button>
56`,g=`<button class="cc-btn cc-deny">
57    {{deny}}
58</button>
59`,w=`<button class="cc-btn cc-config" >
60    {{config}}
61</button>
62`,m=`<div class="dp--revoke {{classes}}">
63    <i class="dp--icon-fingerprint"></i>
64    <span class="dp--hover">{{policy}}</span>
65</div>
66`,C=`<div class="dp--overlay-inner">
67    <div class="dp--overlay-header">{{notice}}</div>
68    <div class="dp--overlay-description">{{desc}}</div>
69    <div class="dp--overlay-button">
70        <button class="db--overlay-submit" onclick="window.DPCookieConsent.forceAccept(this)" data-cookieconsent="{{type}}">
71            {{btn}}
72        </button>
73    </div>
74</div>
75`,x='<div aria-describedby="cookieconsent:desc" aria-label="cookieconsent-dialog" aria-live="polite" class="cc-window {{classes}}" id="cookieconsent:window" role="dialog"></div>',E=`<div aria-describedby="cookieconsent:config" aria-label="cookieconsent-dialog" aria-live="polite" class="cc-window-config cc-type-extend" id="cookieconsent:config" role="dialog">
76    <div class="cc-config" >
77        <div class="cc-config-header">
78            <span>{{config-header}}</span>
79            <button class="cc-btn-close">
80                <i class="dp--icon-x"></i>
81            </button>
82        </div>
83        <div class="cc-config-body">
84            <div class="cc-message">{{message}}</div>
85            <div>
86                {{cookie-group}}
87            </div>
88        </div>
89        <div class="cc-config-footer">
90            {{deny}}
91            {{allow}}
92            {{allow-all}}
93        </div>
94        <div class="powered-by">Powered by <a href="https://dp-wired.de/?ref=consent-note" rel="noopener" target="_blank">DP Wired</a></div>
95    </div>
96</div>
97`,B=`<div class="cc-config-group">
98    <div class="cc-config-group-name">
99        <button class="cc-btn cc-btn-collapse">
100            <i class="dp--icon-chevron"></i>
101            {{group}}
102        </button>
103
104        <div class="cc-form-switch">
105            <input class="dp--check-box" id="dp--cookie-{{group-lower}}" type="checkbox" value="">
106            <label class="cc-check-label" for="dp--cookie-{{group-lower}}">
107                <span class="cc-sr-only">{{group}}</span>
108            </label>
109        </div>
110    </div>
111
112    <div class="cc-config-cookies">
113        {{config-cookie}}
114    </div>
115</div>`,A=`<ul class="cc-config-group-cookie">
116    <li>
117        <div class="cc-label">{{cookie}}</div>
118        <div>
119            {{cookie_name}}
120            <div class="cc-cookie-description cc-pt-2">
120{{cookie_description}}</div>
121        </div>
122    </li>
123    <li class="cc-pt-2">
124        <div class="cc-label">{{duration}}</div>
125        <div>{{cookie_duration}} {{cookie_duration_time}}</div>
126    </li>
127    <li class="cc-pt-2">
128        <div class="cc-label">{{vendor}}</div>
129        <div><a href="{{cookie_vendor_link}}" target="_blank">{{cookie_vendor}}</a></div>
130    </li>
131</ul>
132`;/*!
133  * Cookie Consent
134  * Copyright 2021 Dirk Persky (https://github.com/DirkPersky/npm-dp_cookieconsent/issues)
135  * Licensed under AGPL v3+ (https://github.com/DirkPersky/npm-dp_cookieconsent/blob/master/LICENSE)
136  */(function(i,H){if(!i.hasInitialised){(function(){if(typeof window.CustomEvent=="function")return!1;function s(o,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var t=document.createEvent("CustomEvent");return t.initCustomEvent(o,e.bubbles,e.cancelable,e.detail),t}s.prototype=window.Event.prototype,window.CustomEvent=s})(),function(){if(typeof window.Event=="function")return!1;function s(o,e){e=e||{bubbles:!0,cancelable:!0,detail:void 0};var t=document.createEvent("Event");return t.initEvent(o,e.bubbles,e.cancelable,e.detail),t}s.prototype=window.Event.prototype,window.Event=s}();var r={detectRobot:function(s){return new RegExp([/Chrome-Lighthouse/,/bot/,/spider/,/crawl/,/APIs-Google/,/AdsBot/,/Googlebot/,/mediapartners/,/Google Favicon/,/FeedFetcher/,/Google-Read-Aloud/,/DuplexWeb-Google/,/googleweblight/,/bing/,/yandex/,/baidu/,/duckduck/,/yahoo/,/ecosia/,/ia_archiver/,/semrush/].map(e=>e.source).join("|"),"i").test(s)},reformatCheckboxOptions:function(s){var o=Object.entries(s).map(e=>{var t=String(e[1]).toLowerCase()=="true";return{name:e[0],checked:t}});return o},getCookie:function(s){var o="; "+document.cookie,e=o.split("; "+s+"=");return e.length<2?void 0:JSON.parse(e.pop().split(";").shift())},setCookie:function(s,o,e,t,n,c){var a=new Date;a.setHours(a.getHours()+(e||365)*24);var l=[s+"="+JSON.stringify(o),"expires="+a.toUTCString(),"path="+(n||"/"),"SameSite=Strict"];t&&l.push("domain="+t),c&&l.push("secure"),document.cookie=l.join(";")},prepareCookie:function(s,o){var e={status:"open"},t=this.getCookie(o);return typeof t!="undefined"&&this.deepExtend(e,t),this.deepExtend(e,s),{exists:typeof t!="undefined",config:e}},getElementsByTag:function(s,o){return typeof o=="undefined"&&(o="data-cookieconsent"),document.querySelectorAll(s+"["+o+"]")},deepExtend:function(s,o){for(var e in o)o.hasOwnProperty(e)&&(e in s&&typeof s[e]=="object"&&typeof o[e]=="object"?this.deepExtend(s[e],o[e]):s[e]=o[e]);return s},appendElement:function(s,o){var e=document.createElement("div"),t=o!=null?o:document.body;e.innerHTML=this.replaceContent(s);var n=e.children[0];return t.appendChild(n),n},applyStyle:function(s){if(typeof this.options[s]!="undefined")for(const[o,e]of Object.entries(this.options[s]))for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--dp-cookie-${s}-${o}-${t}`,n)},fireEvent:function(s,o){var e;o?e=new CustomEvent(s,{detail:{$el:o}}):e=new Event(s),document.dispatchEvent(e)}};i.utils=r;var L=function(){var s={cookie:{name:"dp_cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},position:"bottom-right",content:{},theme:"edgeless",type:"opt-in",revokable:!0,reloadOnRevoke:!0,checkboxes:[{name:"statistics",checked:!1},{name:"marketing",checked:!1}],palette:{popup:{background:"rgba(0,0,0,0.8)",text:"#ffffff"},button:{background:"#f96332",text:"#ffffff"}},overlay:{notice:!0,box:{background:"rgba(0,0,0,0.8)",text:"#ffffff"},btn:{background:"#f96332",text:"#ffffff"}},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(){},onStatusChange:function(e,t){},onRevokeChoice:function(){},compilance:{"opt-in":d,extend:f},revokeBtn:m,overlayLayout:C,wrap:{consent:x,config:E},elements:{"allow-all":k,allow:b,dismiss:y,deny:g,config:w,selection:h,description:v}};function o(){}return o.prototype.replaceContent=function(e){var t=this.options,n=["cc-"+t.position,"cc-type-"+t.type,"cc-theme-"+t.theme,"cc-hide"];e=e.replaceAll("{{classes}}",n.join(" "));for(const[c,a]of Object.entries(t.elements))e=e.replaceAll("{{"+c+"}}",a||"");for(const[c,a]of Object.entries(t.content))e=e.replaceAll("{{"+c+"}}",a||"");return e},o.prototype.templateOverwrites=function(){let e=i.utils.getElementsByTag("script","data-dp-cookieRevoke");e.length>0&&(this.options.revokeBtn=e[0].innerHTML);let t=i.utils.getElementsByTag("script","data-dp-cookieDesc");t.length>0&&(this.options.elements.description=t[0].innerHTML);let n=i.utils.getElementsByTag("script","data-dp-cookieSelect");n.length>0&&(this.options.elements.selection=n[0].innerHTML)},o.prototype.initialise=function(e){r.deepExtend(this.options={},s),typeof e.checkboxes=="object"&&(e.checkboxes=r.reformatCheckboxOptions(e.checkboxes)),typeof e=="object"&&r.deepExtend(this.options,e);var t=this.options.onInitialise.bind(this);this.templateOverwrites(),this.options.revokable&&(this.revokeBtn=i.utils.appendElement.call(this,this.options.revokeBtn)),this.window=i.utils.appendElement.call(this,this.options.wrap.consent),this.options.type=="extend"&&i.configWindow.initialise(this.options.wrap.config),i.utils.applyStyle.call(this,"palette"),i.utils.applyStyle.call(this,"overlay"),this.addCompilance(this.window),t(this),this.bindBtns(),this.presetCheckboxes()},o.prototype.presetCheckboxes=function(){var e=i.utils.getCookie(this.options.cookie.name);typeof e!="undefined"&&r.deepExtend(this.options.checkboxes,e.checkboxes);var t=this.getCheckboxInputs(!0);t.length>0&&t.forEach(n=>{var c=n.id;c=c.replace("dp--cookie-",""),this.options.checkboxes.map((a,l)=>{a.name==c&&(n.checked=a.checked)}),c=="required"&&(n.checked=!0,n.disabled=!0)})},o.prototype.addCompilance=function(e){var t=this.options.compilance["opt-in"];typeof this.options.compilance[this.options.type]!="undefined"&&(t=this.options.compilance[this.options.type]),this.compilance=i.utils.appendElement.call(this,t,e),this.allowAllBtn=this.compilance.getElementsByClassName("cc-allow-all"),this.allowBtn=this.compilance.getElementsByClassName("cc-allow"),this.denyBtn=this.compilance.getElementsByClassName("cc-deny"),this.dismissBtn=this.compilance.getElementsByClassName("cc-dismiss"),this.configBtn=this.compilance.querySelector("button.cc-config")},o.prototype.bindBtns=function(){this.allowAllBtn.length>0&&(this.allowAllBtn[0].onclick=()=>this.allowAll.call(this)),this.allowBtn.length>0&&(this.allowBtn[0].onclick=()=>this.allow.call(this)),this.dismissBtn.length>0&&(this.dismissBtn[0].onclick=()=>this.allow.call(this)),this.denyBtn.length>0&&(this.denyBtn[0].onclick=()=>this.denyAll.call(this)),this.revokeBtn&&(this.revokeBtn.onclick=()=>this.revoke.call(this)),this.configBtn&&(this.configBtn.onclick=()=>i.configWindow.showConfig())},o.prototype.allowAll=function(){this.saveCheckboxes(!0),i.utils.fireEvent("dp--cookie-accept"),this.save()},o.prototype.denyAll=function(){this.saveCheckboxes(!1),i.utils.fireEvent("dp--cookie-deny"),this.save()},o.prototype.allow=function(){i.utils.fireEvent("dp--cookie-accept"),this.save()},o.prototype.getCheckboxInputs=function(e){var t=document.querySelectorAll('input[id^="dp--cookie-"]');if(e)return t;var n=[];return t.forEach(c=>{var a=c.id;switch(a=a.replace("dp--cookie-",""),a){case"required":break;default:n.push(c)}}),n},o.prototype.saveCheckboxes=function(e){var t=this.getCheckboxInputs();t.length>0&&t.forEach(n=>{var c=n.id;c=c.replace("dp--cookie-",""),typeof e!="undefined"&&(n.checked=e);var a=this.options.checkboxes.map((l,p)=>
136{if(l.name==c)return this.options.checkboxes[p].checked=n.checked,!0}).filter(l=>l);a.length||this.options.checkboxes.push({name:c,checked:n.checked})})},o.prototype.save=function(){this.saveCheckboxes(),this.close()},o.prototype.hasChanged=function(){var e=!1;return typeof this.originalCookie=="undefined"||typeof this.originalCookie.checkboxes=="undefined"?!1:(this.originalCookie.checkboxes.map((t,n)=>{var c=this.options.checkboxes[n];if(t.checked===!0&&(!c||c.checked==!1)){e=!0;var a=this.options.onStatusChange.bind(this);a(c,t)}}),e)},o.prototype.hasConsent=function(){var e=i.utils.getCookie(this.options.cookie.name);return!(typeof e=="undefined"||e.status=="open")},o.prototype.saveCookie=function(e){var t=i.utils.prepareCookie(e,this.options.cookie.name);!t.exists&&t.config.status=="open"||(i.utils.setCookie(this.options.cookie.name,t.config,this.options.cookie.expiryDays,this.options.cookie.domain,this.options.cookie.path,this.options.cookie.secure),this.hasConsent()&&this.hasChanged()&&this.options.reloadOnRevoke&&location.reload())},o.prototype.revoke=function(){var e=this.options.onRevokeChoice.bind(this);e(this),i.utils.fireEvent("dp--cookie-revoke"),this.open()},o.prototype.open=function(){this.revokeBtn&&this.revokeBtn.classList.add("cc-hide"),this.showPopup(),this.originalCookie=i.utils.getCookie(this.options.cookie.name);var e=this.options.onPopupOpen.bind(this);e(this),this.saveCookie({status:"open"}),document.querySelector("body").classList.add("dp--cookie-consent")},o.prototype.hidePopup=function(){this.window.classList.add("cc-hide")},o.prototype.showPopup=function(){this.window.classList.remove("cc-hide")},o.prototype.close=function(){this.hidePopup(),i.configWindow.closeConfig(),this.revokeBtn&&this.revokeBtn.classList.remove("cc-hide");var e=this.options.onPopupClose.bind(this);e(this),this.saveCookie({status:"approved",checkboxes:this.options.checkboxes}),document.querySelector("body").classList.remove("dp--cookie-consent"),this.execute()},o.prototype.execute=function(){i.Handler.execute(this.options.checkboxes),i.Overlay.execute(this.options.checkboxes)},new o}();i.popup=L;var S=function(){function s(){}return s.prototype.overlays=function(){i.popup.options.overlay.notice&&(this.templateOverwrites(),this.overlaysView("iframe"),this.overlaysView("dp-content"))},s.prototype.templateOverwrites=function(){let o=i.utils.getElementsByTag("script","data-dp-cookieIframe");o.length>0&&(i.popup.options.overlayLayout=o[0].innerHTML)},s.prototype.overlaysView=function(o){var e=i.utils.getElementsByTag(o);e.length!=0&&e.forEach(t=>{var n=t.getAttribute("data-cookieconsent-notice")||i.popup.options.content.media.notice,c=t.getAttribute("data-cookieconsent-description")||i.popup.options.content.media.desc,a=t.getAttribute("data-cookieconsent-btn")||i.popup.options.content.media.btn,l=t.getAttribute("data-cookieconsent");if(!t.hasAttribute("data-cookieconsent-overlay-loaded")){t.setAttribute("data-cookieconsent-overlay-loaded","loaded");var p=document.createElement("div");p.classList.add("dp--overlay");var u=i.popup.options.overlayLayout.replace("{{notice}}",n).replace("{{desc}}",c).replace("{{type}}",l).replace("{{btn}}",a);u=i.utils.appendElement.call(i.popup,u,p),u.getElementsByClassName("db--overlay-submit"),t.parentNode.insertBefore(p,t.nextSibling)}})},s.prototype.execute=function(o){this.executeIframe(o),this.executeContent(o)},s.prototype.ajax=function(o,e,t,n){var c=new XMLHttpRequest;c.open(o,e),c.setRequestHeader("X-Requested-With","XMLHttpRequest"),c.setRequestHeader("Content-type","text/html"),c.onload=function(){c.status<200||c.status>=300?n(c):t(c)},c.onerror=function(){n(c)},c.send()},s.prototype.executeContent=function(o){var e=i.utils.getElementsByTag("dp-content");e.length>0&&e.forEach(t=>{if(i.Handler.typeAllowed(t,o)){t.classList.add("dp--loaded"),t.setAttribute("data-cookieconsent-loaded",t.getAttribute("data-cookieconsent")),t.removeAttribute("data-cookieconsent");var n=t.getAttribute("data-src");n&&n.length>0?this.ajax("GET",n,function(c){t.innerHTML=c.response,i.utils.fireEvent("dp--cookie-content",t)},function(c){}):i.utils.fireEvent("dp--cookie-content",t)}})},s.prototype.executeIframe=function(o){var e=i.utils.getElementsByTag("iframe");e.length>0&&e.forEach(t=>{if(i.Handler.typeAllowed(t,o)){var n=t.cloneNode(!0);n.getAttribute("data-src")&&(n.src=n.getAttribute("data-src")),t.parentNode.replaceChild(n,t),n.classList.add("dp--loaded"),n.setAttribute("data-cookieconsent-loaded",n.getAttribute("data-cookieconsent")),n.removeAttribute("data-cookieconsent"),i.utils.fireEvent("dp--cookie-iframe",n)}})},new s}();i.Overlay=S;var O=function(){function s(){}return s.prototype.execute=function(o){var e=i.utils.getElementsByTag("script");e.length>0&&e.forEach(t=>
136{if(this.typeAllowed(t,o)){var n=t.innerHTML;n&&n.length&&(n=n.trim()),n&&n.length?(eval.call(this,n),i.utils.fireEvent("dp--cookie-fire",t)):t.getAttribute("data-src")?this.asyncJS(t.getAttribute("data-src"),function(c){i.utils.fireEvent("dp--cookie-fire",t)}):t.src&&this.asyncJS(t.src,function(c){i.utils.fireEvent("dp--cookie-fire",t)}),t.setAttribute("data-cookieconsent-loaded",t.getAttribute("data-cookieconsent")),t.removeAttribute("data-cookieconsent")}})},s.prototype.asyncLoad=function(o,e,t){var n=document,c=n.createElement(e),a=n.getElementsByTagName(e)[0];switch(e){case"script":c.src=o,c.setAttribute("defer","");break;case"link":c.rel="stylesheet",c.type="text/css",c.setAttribute("defer",""),c.href=o;break}t&&c.addEventListener("load",function(l){t(null,l)},!1),a.parentNode.insertBefore(c,a)},s.prototype.asyncJS=function(o,e){this.asyncLoad(o,"script",e)},s.prototype.typeAllowed=function(o,e){var t=o.getAttribute("data-cookieconsent"),n=e.map(c=>{if(c.name==t&&c.checked===!0)return!0});return n.indexOf(!0)!==-1},new s}();i.Handler=O,i.initialise=function(s,o){if(o||(o=function(){}),i.popup.initialise(s),i.Overlay.overlays(),o(i.popup),i.utils.fireEvent("dp--cookie-init"),i.popup.hasConsent()||r.detectRobot(navigator.userAgent)){i.popup.close(),i.utils.fireEvent("dp--cookie-accept-init");return}i.popup.open()};var P=function(){function s(){}return s.prototype.initialise=function(o){this.prepareConfig(),this.configWrap=i.utils.appendElement.call(i.popup,o),this.getElements(),this.bindBtns()},s.prototype.prepareConfig=function(){var o=i.popup.options,e=o.cookies.map(t=>{var n=t.cookies.map(c=>(this.options=i.utils.deepExtend({elements:{},content:c},o),i.popup.replaceContent.call(this,A))).join("");return this.options=i.utils.deepExtend({elements:{"config-cookie":n},content:{group:t.name,"group-lower":t.field}},o),i.popup.replaceContent.call(this,B)}).join("");i.popup.options.elements["cookie-group"]=e},s.prototype.getElements=function(){this.closeBtn=this.configWrap.querySelector("button.cc-btn-close"),this.allowAllBtn=this.configWrap.querySelector("button.cc-allow-all"),this.allowBtn=this.configWrap.querySelector("button.cc-allow"),this.denyBtn=this.configWrap.querySelector("button.cc-deny"),this.configGroups=this.configWrap.querySelectorAll(".cc-config-group")},s.prototype.bindBtns=function(){this.allowAllBtn&&(this.allowAllBtn.onclick=()=>i.popup.allowAll(this)),this.allowBtn&&(this.allowBtn.onclick=()=>i.popup.allow(this)),this.denyBtn&&(this.denyBtn.onclick=()=>i.popup.denyAll(this)),this.closeBtn&&(this.closeBtn.onclick=()=>this.hideConfig.call(this)),this.configGroups&&this.configGroups.forEach(o=>{o.querySelector(".cc-btn-collapse").onclick=()=>{var e=!o.classList.contains("cc-show");this.configGroups.forEach(t=>t.classList.remove("cc-show")),e&&o.classList.add("cc-show")}})},s.prototype.closeConfig=function(){this.configWrap&&this.configWrap.classList.remove("cc-show")},s.prototype.hideConfig=function(){i.popup.showPopup(),this.configWrap&&this.closeConfig()},s.prototype.showConfig=function(){this.configWrap&&this.configWrap.classList.add("cc-show"),i.popup.hidePopup()},new s}();i.configWindow=P,i.forceAccept=function(s){var o=s.getAttribute("data-cookieconsent"),e=i.popup.getCheckboxInputs();console.log(e),e.length>0&&(e.forEach(t=>{var n=t.id;n=n.replace("dp--cookie-",""),i.popup.hasConsent()||(t.checked=!1),n==o&&(t.checked=!0)}),i.utils.fireEvent("dp--cookie-accept")),i.popup.save()},i.forceDeny=function(s){var o=s.getAttribute("data-cookieconsent"),e=i.popup.getCheckboxInputs();e.length>0&&e.forEach(t=>{var n=t.id;n=n.replace("dp--cookie-",""),i.popup.hasConsent()||(t.checked=!1),n==o&&(t.checked=!1)}),i.popup.save()},i.hasInitialised=!0,window.DPCookieConsent=i,window.addEventListener("load",function(){window.DPCookieConsent.initialise(window.cookieconsent_options||{}),window.DPCookieConsent.loaded=!0})}})(window.DPCookieConsent||{})});
137
138/*
139 * Javascript functions for TYPO3 extension sr_feuser_register
140 *
141 */
142(function () {
143	window.addEventListener('load', (event) => {
144		// Click event when cancelling delete
145		var submit = document.getElementById("tx_srfeuserregister_pi1_delete_doNotSave");
146		if (submit !== null) {
147			submit.addEventListener('click', (event) => {
148				var form = submit.form;
149				if (form) {
150					var element = form.elements.namedItem("tx_srfeuserregister_pi1[cmd]");
151					if (element) {
152						element.setAttribute('value', 'edit');
153					}
154				}
155				return true;
156			});
157		}
158	});
159})();
160(() => {
161  var __create = Object.create;
162  var __defProp = Object.defineProperty;
163  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
164  var __getOwnPropNames = Object.getOwnPropertyNames;
165  var __getProtoOf = Object.getPrototypeOf;
166  var __hasOwnProp = Object.prototype.hasOwnProperty;
167  var __name = (target, value) =>
167 __defProp(target, "name", { value, configurable: true });
168  var __commonJS = (cb, mod) => function __require() {
169    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
170  };
171  var __copyProps = (to, from, except, desc) => {
172    if (from && typeof from === "object" || typeof from === "function") {
173      for (let key of __getOwnPropNames(from))
174        if (!__hasOwnProp.call(to, key) && key !== except)
175          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
176    }
177    return to;
178  };
179  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
180    // If the importer is in node compatibility mode or this is not an ESM
181    // file that has been converted to a CommonJS file using a Babel-
182    // compatible transform (i.e. "__esModule" has not been set), then set
183    // "default" to the CommonJS "module.exports" for node compatibility.
184    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
185    mod
186  ));
187
188  
vendor: 82,955 bytes, lines 188-1223
188// node_modules/glightbox/dist/js/glightbox.min.js
189  var require_glightbox_min = __commonJS({
190    "node_modules/glightbox/dist/js/glightbox.min.js"(exports, module) {
191      !(function(e, t) {
192        "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = e || self).GLightbox = t();
193      })(exports, (function() {
194        "use strict";
195        function e(e2, t2) {
196          if (!(e2 instanceof t2)) throw new TypeError("Cannot call a class as a function");
197        }
198        __name(e, "e");
199        function t(e2, t2) {
200          for (var i2 = 0; i2 < t2.length; i2++) {
201            var s2 = t2[i2];
202            s2.enumerable = s2.enumerable || false, s2.configurable = true, "value" in s2 && (s2.writable = true), Object.defineProperty(e2, n(s2.key), s2);
203          }
204        }
205        __name(t, "t");
206        function i(e2, i2, n2) {
207          return i2 && t(e2.prototype, i2), n2 && t(e2, n2), Object.defineProperty(e2, "prototype", { writable: false }), e2;
208        }
209        __name(i, "i");
210        function n(e2) {
211          var t2 = (function(e3, t3) {
212            if ("object" != typeof e3 || !e3) return e3;
213            var i2 = e3[Symbol.toPrimitive];
214            if (void 0 !== i2) {
215              var n2 = i2.call(e3, t3 || "default");
216              if ("object" != typeof n2) return n2;
217              throw new TypeError("@@toPrimitive must return a primitive value.");
218            }
219            return ("string" === t3 ? String : Number)(e3);
220          })(e2, "string");
221          return "symbol" == typeof t2 ? t2 : t2 + "";
222        }
223        __name(n, "n");
224        function s(e2) {
225          return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e3) {
226            return typeof e3;
227          } : function(e3) {
228            return e3 && "function" == typeof Symbol && e3.constructor === Symbol && e3 !== Symbol.prototype ? "symbol" : typeof e3;
229          })(e2);
230        }
231        __name(s, "s");
232        var l = Date.now();
233        function o() {
234          var e2 = {}, t2 = true, i2 = 0, n2 = arguments.length;
235          "[object Boolean]" === Object.prototype.toString.call(arguments[0]) && (t2 = arguments[0], i2++);
236          for (var s2 = function(i3) {
237            for (var n3 in i3) Object.prototype.hasOwnProperty.call(i3, n3) && (t2 && "[object Object]" === Object.prototype.toString.call(i3[n3]) ? e2[n3] = o(true, e2[n3], i3[n3]) : e2[n3] = i3[n3]);
238          }; i2 < n2; i2++) {
239            var l2 = arguments[i2];
240            s2(l2);
241          }
242          return e2;
243        }
244        __name(o, "o");
245        function r(e2, t2) {
246          if ((E(e2) || e2 === window || e2 === document) && (e2 = [e2]), L(e2) || I(e2) || (e2 = [e2]), 0 != M(e2)) {
247            if (L(e2) && !I(e2)) for (var i2 = e2.length, n2 = 0; n2 < i2 && false !== t2.call(e2[n2], e2[n2], n2, e2); n2++) ;
248            else if (I(e2)) {
249              for (var s2 in e2) if (P(e2, s2) && false === t2.call(e2[s2], e2[s2], s2, e2)) break;
250            }
251          }
252        }
253        __name(r, "r");
254        function a(e2) {
255          var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, n2 = e2[l] = e2[l] || [], s2 = { all: n2, evt: null, found: null };
256          return t2 && i2 && M(n2) > 0 && r(n2, (function(e3, n3) {
257            if (e3.eventName == t2 && e3.fn.toString() == i2.toString()) return s2.found = true, s2.evt = n3, false;
258          })), s2;
259        }
260        __name(a, "a");
261        function h(e2) {
262          var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i2 = t2.onElement, n2 = t2.withCallback, s2 = t2.avoidDuplicate, l2 = void 0 === s2 || s2, o2 = t2.once, h2 = void 0 !== o2 && o2, d2 = t2.useCapture, c2 = void 0 !== d2 && d2, u2 = arguments.length > 2 ? arguments[2] : void 0, g2 = i2 || [];
263          function v2(e3) {
264            C(n2) && n2.call(u2, e3, this), h2 && v2.destroy();
265          }
266          __name(v2, "v");
267          return k(g2) && (g2 = document.querySelectorAll(g2)), v2.destroy = function() {
268            r(g2, (function(t3) {
269              var i3 = a(t3, e2, v2);
270              i3.found && i3.all.splice(i3.evt, 1), t3.removeEventListener && t3.removeEventListener(e2, v2, c2);
271            }));
272          }, r(g2, (function(t3) {
273            var i3 = a(t3, e2, v2);
274            (t3.addEventListener && l2 && !i3.found || !l2) && (t3.addEventListener(e2, v2, c2), i3.all.push({ eventName: e2, fn: v2 }));
275          })), v2;
276        }
277        __name(h, "h");
278        function d(e2, t2) {
279          r(t2.split(" "), (function(t3) {
280            return e2.classList.add(t3);
281          }));
282        }
283        __name(d, "d");
284        function c(e2, t2) {
285          r(t2.split(" "), (function(t3) {
286            return e2.classList.remove(t3);
287          }));
288        }
289        __name(c, "c");
290        function u(e2, t2) {
291          return e2.classList.contains(t2);
292        }
293        __name(u, "u");
294        function g(e2, t2) {
295          for (; e2 !== document.body; ) {
296            if (!(e2 = e2.parentElement)) return false;
297            if ("function" == typeof e2.matches ? e2.matches(t2) : e2.msMatchesSelector(t2)) return e2;
298          }
299        }
300        __name(g, "g");
301        function v(e2) {
302          var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", i2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
303          if (!e2 || "" === t2) return false;
304          if ("none" === t2) return C(i2) && i2(), false;
305          var n2 = b(), s2 = t2.split(" ");
306          r(s2, (function(t3) {
307            d(e2, "g" + t3);
308          })), h(n2, { onElement: e2, avoidDuplicate: false, once: true, withCallback: /* @__PURE__ */ __name(function(e3, t3) {
309            r(s2, (function(e4) {
310              c(t3, "g" + e4);
311            })), C(i2) && i2();
312          }, "withCallback") });
313        }
314        __name(v, "v");
315        function f(e2) {
316          var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
317          if ("" === t2) return e2.style.webkitTransform = "", e2.style.MozTransform = "", e2.style.msTransform = "", e2.style.OTransform = "", e2.style.transform = "", false;
318          e2.style.webkitTransform = t2, e2.style.MozTransform = t2, e2.style.msTransform = t2, e2.style.OTransform = t2, e2.style.transform = t2;
319        }
320        __name(f, "f");
321        function p(e2) {
322          e2.style.display = "block";
323        }
324        __name(p, "p");
325        function m(e2) {
326          e2.style.display = "none";
327        }
328        __name(m, "m");
329        function y(e2) {
330          var t2 = document.createDocumentFragment(), i2 = document.createElement("div");
331          for (i2.innerHTML = e2; i2.firstChild; ) t2.appendChild(i2.firstChild);
332          return t2;
333        }
334        __name(y, "y");
335        function x() {
336          return { width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight };
337        }
338        __name(x, "x");
339        function b() {
340          var e2, t2 = document.createElement("fakeelement"), i2 = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" };
341          for (e2 in i2) if (void 0 !== t2.style[e2]) return i2[e2];
342        }
343        __name(b, "b");
344        function S(e2, t2, i2, n2) {
345          if (e2()) t2();
346          else {
347            var s2;
348            i2 || (i2 = 100);
349            var l2 = setInterval((function() {
350              e2() && (clearInterval(l2), s2 && clearTimeout(s2), t2());
351            }), i2);
352            n2 && (s2 = setTimeout((function() {
353              clearInterval(l2);
354            }), n2));
355          }
356        }
357        __name(S, "S");
358        function w(e2, t2, i2) {
359          if (O(e2)) console.error("Inject assets error");
360          else if (C(t2) && (i2 = t2, t2 = false), k(t2) && t2 in window) C(i2) && i2();
361          else {
362            var n2;
363            if (-1 !== e2.indexOf(".css")) {
364              if ((n2 = document.querySelectorAll('link[href="' + e2 + '"]')) && n2.length > 0) return void (C(i2) && i2());
365              var s2 = document.getElementsByTagName("head")[0], l2 = s2.querySelectorAll('link[rel="stylesheet"]'), o2 = document.createElement("link");
366              return o2.rel = "stylesheet", o2.type = "text/css", o2.href = e2, o2.media = "all", l2 ? s2.insertBefore(o2, l2[0]) : s2.appendChild(o2), void (C(i2) && i2());
367            }
368            if ((n2 = document.querySelectorAll('script[src="' + e2 + '"]')) && n2.length > 0) {
369              if (C(i2)) {
370                if (k(t2)) return S((function() {
371                  return void 0 !== window[t2];
372                }), (function() {
373                  i2();
374                })), false;
375                i2();
376              }
377            } else {
378              var r2 = document.createElement("script");
379              r2.type = "text/javascript", r2.src = e2, r2.onload = function() {
380                if (C(i2)) {
381                  if (k(t2)) return S((function() {
382                    return void 0 !== window[t2];
383                  }), (function() {
384                    i2();
385                  })), false;
386                  i2();
387                }
388              }, document.body.appendChild(r2);
389            }
390          }
391        }
392        __name(w, "w");
393        function T() {
394          return "navigator" in window && window.navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i);
395        }
396        __name(T, "T");
397        function C(e2) {
398          return "function" == typeof e2;
399        }
400        __name(C, "C");
401        function k(e2) {
402          return "string" == typeof e2;
403        }
404        __name(k, "k");
405        function E(e2) {
406          return !(!e2 || !e2.nodeType || 1 != e2.nodeType);
407        }
408        __name(E, "E");
409        function A(e2) {
410          return Array.isArray(e2);
411        }
412        __name(A, "A");
413        function L(e2) {
414          return e2 && e2.length && isFinite(e2.length);
415        }
416        __name(L, "L");
417        function I(e2) {
418          return "object" === s(e2) && null != e2 && !C(e2) && !A(e2);
419        }
420        __name(I, "I");
421        function O(e2) {
422          return null == e2;
423        }
424        __name(O, "O");
425        function P(e2, t2) {
426          return null !== e2 && hasOwnProperty.call(e2, t2);
427        }
428        __name(P, "P");
429        function M(e2) {
430          if (I(e2)) {
431            if (e2.keys) return e2.keys().length;
432            var t2 = 0;
433            for (var i2 in e2) P(e2, i2) && t2++;
434            return t2;
435          }
436          return e2.length;
437        }
438        __name(M, "M");
439        function z(e2) {
440          return !isNaN(parseFloat(e2)) && isFinite(e2);
441        }
442        __name(z, "z");
443        function X() {
444          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : -1, t2 = document.querySelectorAll(".gbtn[data-taborder]:not(.disabled)");
445          if (!t2.length) return false;
446          if (1 == t2.length) return t2[0];
447          "string" == typeof e2 && (e2 = parseInt(e2));
448          var i2 = [];
449          r(t2, (function(e3) {
450            i2.push(e3.getAttribute("data-taborder"));
451          }));
452          var n2 = Math.max.apply(Math, i2.map((function(e3) {
453            return parseInt(e3);
454          }))), s2 = e2 < 0 ? 1 : e2 + 1;
455          s2 > n2 && (s2 = "1");
456          var l2 = i2.filter((function(e3) {
457            return e3 >= parseInt(s2);
458          })), o2 = l2.sort()[0];
459          return document.querySelector('.gbtn[data-taborder="'.concat(o2, '"]'));
460        }
461        __name(X, "X");
462        function Y(e2) {
463          if (e2.events.hasOwnProperty("keyboard")) return false;
464          e2.events.keyboard = h("keydown", { onElement: window, withCallback: /* @__PURE__ */ __name(function(t2, i2) {
465            var n2 = (t2 = t2 || window.event).keyCode;
466            if (9 == n2) {
467              var s2 = document.querySelector(".gbtn.focused");
468              if (!s2) {
469                var l2 = !(!document.activeElement || !document.activeElement.nodeName) && document.activeElement.nodeName.toLocaleLowerCase();
470                if ("input" == l2 || "textarea" == l2 || "button" == l2) return;
471              }
472              t2.preventDefault();
473              var o2 = document.querySelectorAll(".gbtn[data-taborder]");
474              if (!o2 || o2.length <= 0) return;
475              if (!s2) {
476                var r2 = X();
477                return void (r2 && (r2.focus(), d(r2, "focused")));
478              }
479              var a2 = X(s2.getAttribute("data-taborder"));
480              c(s2, "focused"), a2 && (a2.focus(), d(a2, "focused"));
481            }
482            39 == n2 && e2.nextSlide(), 37 == n2 && e2.prevSlide(), 27 == n2 && e2.close();
483          }, "withCallback") });
484        }
485        __name(Y, "Y");
486        var q = i(/* @__PURE__ */ __name((function t2(i2, n2) {
487          var s2 = this, l2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
488          if (e(this, t2), this.img = i2, this.slide = n2, this.onclose = l2, this.img.setZoomEvents) return false;
489          this.active = false, this.zoomedIn = false, this.dragging = false, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.img.addEventListener("mousedown", (function(e2) {
490            return s2.dragStart(e2);
491          }), false), this.img.addEventListener("mouseup", (function(e2) {
492            return s2.dragEnd(e2);
493          }), false), this.img.addEventListener("mousemove", (function(e2) {
494            return s2.drag(e2);
495          }), false), this.img.addEventListener("click", (function(e2) {
496            return s2.slide.classList.contains("dragging-nav") ? (s2.zoomOut(), false) : s2.zoomedIn ? void (s2.zoomedIn && !s2.dragging && s2.zoomOut()) : s2.zoomIn();
497          }), false), this.img.setZoomEvents = true;
498        }), "t"), [{ key: "zoomIn", value: /* @__PURE__ */ __name(function() {
499          var e2 = this.widowWidth();
500          if (!(this.zoomedIn || e2 <= 768)) {
501            var t2 = this.img;
502            if (t2.setAttribute("data-style", t2.getAttribute("style")), t2.style.maxWidth = t2.naturalWidth + "px", t2.style.maxHeight = t2.naturalHeight + "px", t2.naturalWidth > e2) {
503              var i2 = e2 / 2 - t2.naturalWidth / 2;
504              this.setTranslate(this.img.parentNode, i2, 0);
505            }
506            this.slide.classList.add("zoomed"), this.zoomedIn = true;
507          }
508        }, "value") }, { key: "zoomOut", value: /* @__PURE__ */ __name(function() {
509          this.img.parentNode.setAttribute("style", ""), this.img.setAttribute("style", this.img.getAttribute("data-style")), this.slide.classList.remove("zoomed"), this.zoomedIn = false, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.onclose && "function" == typeof this.onclose && this.onclose();
510        }, "value") }, { key: "dragStart", value: /* @__PURE__ */ __name(function(e2) {
511          e2.preventDefault(), this.zoomedIn ? ("touchstart" === e2.type ? (this.initialX = e2.touches[0].clientX - this.xOffset, this.initialY = e2.touches[0].clientY - this.yOffset) : (this.initialX = e2.clientX - this.xOffset, this.initialY = e2.clientY - this.yOffset), e2.target === this.img && (this.active = true, this.img.classList.add("dragging"))) : this.active = false;
512        }, "value") }, { key: "dragEnd", value: /* @__PURE__ */ __name(function(e2) {
513          var t2 = this;
514          e2.preventDefault(), this.initialX = this.currentX, this.initialY = this.currentY, this.active = false, setTimeout((function() {
515            t2.dragging = false, t2.img.isDragging = false, t2.img.classList.remove("dragging");
516          }), 100);
517        }, "value") }, { key: "drag", value: /* @__PURE__ */ __name(function(e2) {
518          this.active && (e2.preventDefault(), "touchmove" === e2.type ? (this.currentX = e2.touches[0].clientX - this.initialX, this.currentY = e2.touches[0].clientY - this.initialY) : (this.currentX = e2.clientX - this.initialX, this.currentY = e2.clientY - this.initialY), this.xOffset = this.currentX, this.yOffset = this.currentY, this.img.isDragging = true, this.dragging = true, this.setTranslate(this.img, this.currentX, this.currentY));
519        }, "value") }, { key: "onMove", value: /* @__PURE__ */ __name(function(e2) {
520          if (this.zoomedIn) {
521            var t2 = e2.clientX - this.img.naturalWidth / 2, i2 = e2.clientY - this.img.naturalHeight / 2;
522            this.setTranslate(this.img, t2, i2);
523          }
524        }, "value") }, { key: "setTranslate", value: /* @__PURE__ */ __name(function(e2, t2, i2) {
525          e2.style.transform = "translate3d(" + t2 + "px, " + i2 + "px, 0)";
526        }, "value") }, { key: "widowWidth", value: /* @__PURE__ */ __name(function() {
527          return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
528        }, "value") }]), N = i(/* @__PURE__ */ __name((function t2() {
529          var i2 = this, n2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
530          e(this, t2);
531          var s2 = n2.dragEl, l2 = n2.toleranceX, o2 = void 0 === l2 ? 40 : l2, r2 = n2.toleranceY, a2 = void 0 === r2 ? 65 : r2, h2 = n2.slide, d2 = void 0 === h2 ? null : h2, c2 = n2.instance, u2 = void 0 === c2 ? null : c2;
532          this.el = s2, this.active = false, this.dragging = false, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.direction = null, this.lastDirection = null, this.toleranceX = o2, this.toleranceY = a2, this.toleranceReached = false, this.dragContainer = this.el, this.slide = d2, this.instance = u2, this.el.addEventListener("mousedown", (function(e2) {
533            return i2.dragStart(e2);
534          }), false), this.el.addEventListener("mouseup", (function(e2) {
535            return i2.dragEnd(e2);
536          }), false), this.el.addEventListener("mousemove", (function(e2) {
537            return i2.drag(e2);
538          }), false);
539        }), "t"), [{ key: "dragStart", value: /* @__PURE__ */ __name(function(e2) {
540          if (this.slide.classList.contains("zoomed")) this.active = false;
541          else {
542            "touchstart" === e2.type ? (this.initialX = e2.touches[0].clientX - this.xOffset, this.initialY = e2.touches[0].clientY - this.yOffset) : (this.initialX = e2.clientX - this.xOffset, this.initialY = e2.clientY - this.yOffset);
543            var t2 = e2.target.nodeName.toLowerCase();
544            e2.target.classList.contains("nodrag") || g(e2.target, ".nodrag") || -1 !== ["input", "select", "textarea", "button", "a"].indexOf(t2) ? this.active = false : (e2.preventDefault(), (e2.target === this.el || "img" !== t2 && g(e2.target, ".gslide-inline")) && (this.active = true, this.el.classList.add("dragging"), this.dragContainer = g(e2.target, ".ginner-container")));
545          }
546        }, "value") }, { key: "dragEnd", value: /* @__PURE__ */ __name(function(e2) {
547          var t2 = this;
548          e2 && e2.preventDefault(), this.initialX = 0, this.initialY = 0, this.currentX = null, this.currentY = null, this.initialX = null, this.initialY = null, this.xOffset = 0, this.yOffset = 0, this.active = false, this.doSlideChange && (this.instance.preventOutsideClick = true, "right" == this.doSlideChange && this.instance.prevSlide(), "left" == this.doSlideChange && this.instance.nextSlide()), this.doSlideClose && this.instance.close(), this.toleranceReached || this.setTranslate(this.dragContainer, 0, 0, true), setTimeout((function() {
549            t2.instance.preventOutsideClick = false, t2.toleranceReached = false, t2.lastDirection = null, t2.dragging = false, t2.el.isDragging = false, t2.el.classList.remove("dragging"), t2.slide.classList.remove("dragging-nav"), t2.dragContainer.style.transform = "", t2.dragContainer.style.transition = "";
550          }), 100);
551        }, "value") }, { key: "drag", value: /* @__PURE__ */ __name(function(e2) {
552          if (this.active) {
553            e2.preventDefault(), this.slide.classList.add("dragging-nav"), "touchmove" === e2.type ? (this.currentX = e2.touches[0].clientX - this.initialX, this.currentY = e2.touches[0].clientY - this.initialY) : (this.currentX = e2.clientX - this.initialX, this.currentY = e2.clientY - this.initialY), this.xOffset = this.currentX, this.yOffset = this.currentY, this.el.isDragging = true, this.dragging = true, this.doSlideChange = false, this.doSlideClose = false;
554            var t2 = Math.abs(this.currentX), i2 = Math.abs(this.currentY);
555            if (t2 > 0 && t2 >= Math.abs(this.currentY) && (!this.lastDirection || "x" == this.lastDirection)) {
556              this.yOffset = 0, this.lastDirection = "x", this.setTranslate(this.dragContainer, this.currentX, 0);
557              var n2 = this.shouldChange();
558              if (!this.instance.settings.dragAutoSnap && n2 && (this.doSlideChange = n2), this.instance.settings.dragAutoSnap && n2) return this.instance.preventOutsideClick = true, this.toleranceReached = true, this.active = false, this.instance.preventOutsideClick = true, this.dragEnd(null), "right" == n2 && this.instance.prevSlide(), void ("left" == n2 && this.instance.nextSlide());
559            }
560            if (this.toleranceY > 0 && i2 > 0 && i2 >= t2 && (!this.lastDirection || "y" == this.lastDirection)) {
561              this.xOffset = 0, this.lastDirection = "y", this.setTranslate(this.dragContainer, 0, this.currentY);
562              var s2 = this.shouldClose();
563              return !this.instance.settings.dragAutoSnap && s2 && (this.doSlideClose = true), void (this.instance.settings.dragAutoSnap && s2 && this.instance.close());
564            }
565          }
566        }, "value") }, { key: "shouldChange", value: /* @__PURE__ */ __name(function() {
567          var e2 = false;
568          if (Math.abs(this.currentX) >= this.toleranceX) {
569            var t2 = this.currentX > 0 ? "right" : "left";
570            ("left" == t2 && this.slide !== this.slide.parentNode.lastChild || "right" == t2 && this.slide !== this.slide.parentNode.firstChild) && (e2 = t2);
571          }
572          return e2;
573        }, "value") }, { key: "shouldClose", value: /* @__PURE__ */ __name(function() {
574          var e2 = false;
575          return Math.abs(this.currentY) >= this.toleranceY && (e2 = true), e2;
576        }, "value") }, { key: "setTranslate", value: /* @__PURE__ */ __name(function(e2, t2, i2) {
577          var n2 = arguments.length > 3 && void 0 !== arguments[3] && arguments[3];
578          e2.style.transition = n2 ? "all .2s ease" : "", e2.style.transform = "translate3d(".concat(t2, "px, ").concat(i2, "px, 0)");
579        }, "value") }]);
580        function D(e2, t2, i2, n2) {
581          var s2 = e2.querySelector(".gslide-media"), l2 = new Image(), o2 = "gSlideTitle_" + i2, r2 = "gSlideDesc_" + i2;
582          l2.addEventListener("load", (function() {
583            C(n2) && n2();
584          }), false), l2.src = t2.href, "" != t2.sizes && "" != t2.srcset && (l2.sizes = t2.sizes, l2.srcset = t2.srcset), l2.alt = "", O(t2.alt) || "" === t2.alt || (l2.alt = t2.alt), "" !== t2.title && l2.setAttribute("aria-labelledby", o2), "" !== t2.description && l2.setAttribute("aria-describedby", r2), t2.hasOwnProperty("_hasCustomWidth") && t2._hasCustomWidth && (l2.style.width = t2.width), t2.hasOwnProperty("_hasCustomHeight") && t2._hasCustomHeight && (l2.style.height = t2.height), s2.insertBefore(l2, s2.firstChild);
585        }
586        __name(D, "D");
587        function _(e2, t2, i2, n2) {
588          var s2 = this, l2 = e2.querySelector(".ginner-container"), o2 = "gvideo" + i2, r2 = e2.querySelector(".gslide-media"), a2 = this.getAllPlayers();
589          d(l2, "gvideo-container"), r2.insertBefore(y('<div class="gvideo-wrapper"></div>'), r2.firstChild);
590          var h2 = e2.querySelector(".gvideo-wrapper");
591          w(this.settings.plyr.css, "Plyr");
592          var c2 = t2.href, u2 = null == t2 ? void 0 : t2.videoProvider, g2 = false;
593          r2.style.maxWidth = t2.width, w(this.settings.plyr.js, "Plyr", (function() {
594            if (!u2 && c2.match(/vimeo\.com\/([0-9]*)/) && (u2 = "vimeo"), !u2 && (c2.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || c2.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || c2.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || c2.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/)) && (u2 = "youtube"), "local" === u2 || !u2) {
595              u2 = "local";
596              var l3 = '<video id="' + o2 + '" ';
597              l3 += 'style="background:#000; max-width: '.concat(t2.width, ';" '), l3 += 'preload="metadata" ', l3 += 'x-webkit-airplay="allow" ', l3 += "playsinline ", l3 += "controls ", l3 += 'class="gvideo-local">', l3 += '<source src="'.concat(c2, '">'), g2 = y(l3 += "</video>");
598            }
599            var r3 = g2 || y('<div id="'.concat(o2, '" data-plyr-provider="').concat(u2, '" data-plyr-embed-id="').concat(c2, '"></div>'));
600            d(h2, "".concat(u2, "-video gvideo")), h2.appendChild(r3), h2.setAttribute("data-id", o2), h2.setAttribute("data-index", i2);
601            var v2 = P(s2.settings.plyr, "config") ? s2.settings.plyr.config : {}, f2 = new Plyr("#" + o2, v2);
602            f2.on("ready", (function(e3) {
603              a2[o2] = e3.detail.plyr, C(n2) && n2();
604            })), S((function() {
605              return e2.querySelector("iframe") && "true" == e2.querySelector("iframe").dataset.ready;
606            }), (function() {
607              s2.resize(e2);
608            })), f2.on("enterfullscreen", W), f2.on("exitfullscreen", W);
609          }));
610        }
611        __name(_, "_");
612        function W(e2) {
613          var t2 = g(e2.target, ".gslide-media");
614          "enterfullscreen" === e2.type && d(t2, "fullscreen"), "exitfullscreen" === e2.type && c(t2, "fullscreen");
615        }
616        __name(W, "W");
617        function B(e2, t2, i2, n2) {
618          var s2, l2 = this, o2 = e2.querySelector(".gslide-media"), r2 = !(!P(t2, "href") || !t2.href) && t2.href.split("#").pop().trim(), a2 = !(!P(t2, "content") || !t2.content) && t2.content;
619          if (a2 && (k(a2) && (s2 = y('<div class="ginlined-content">'.concat(a2, "</div>"))), E(a2))) {
620            "none" == a2.style.display && (a2.style.display = "block");
621            var c2 = document.createElement("div");
622            c2.className = "ginlined-content", c2.appendChild(a2), s2 = c2;
623          }
624          if (r2) {
625            var u2 = document.getElementById(r2);
626            if (!u2) return false;
627            var g2 = u2.cloneNode(true);
628            g2.style.height = t2.height, g2.style.maxWidth = t2.width, d(g2, "ginlined-content"), s2 = g2;
629          }
630          if (!s2) return console.error("Unable to append inline slide content", t2), false;
631          o2.style.height = t2.height, o2.style.width = t2.width, o2.appendChild(s2), this.events["inlineclose" + r2] = h("click", { onElement: o2.querySelectorAll(".gtrigger-close"), withCallback: /* @__PURE__ */ __name(function(e3) {
632            e3.preventDefault(), l2.close();
633          }, "withCallback") }), C(n2) && n2();
634        }
635        __name(B, "B");
636        function H(e2, t2, i2, n2) {
637          var s2 = e2.querySelector(".gslide-media"), l2 = (function(e3) {
638            var t3 = e3.url, i3 = e3.allow, n3 = e3.callback, s3 = e3.appendTo, l3 = document.createElement("iframe");
639            return l3.className = "vimeo-video gvideo", l3.src = t3, l3.style.width = "100%", l3.style.height = "100%", i3 && l3.setAttribute("allow", i3), l3.onload = function() {
640              l3.onload = null, d(l3, "node-ready"), C(n3) && n3();
641            }, s3 && s3.appendChild(l3), l3;
642          })({ url: t2.href, callback: n2 });
643          s2.parentNode.style.maxWidth = t2.width, s2.parentNode.style.height = t2.height, s2.appendChild(l2);
644        }
645        __name(H, "H");
646        var j = i(/* @__PURE__ */ __name((function t2() {
647          var i2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
648          e(this, t2), this.defaults = { href: "", sizes: "", srcset: "", title: "", type: "", videoProvider: "", description: "", alt: "", descPosition: "bottom", effect: "", width: "", height: "", content: false, zoomable: true, draggable: true }, I(i2) && (this.defaults = o(this.defaults, i2));
649        }), "t"), [{ key: "sourceType", value: /* @__PURE__ */ __name(function(e2) {
650          var t2 = e2;
651          return null !== (e2 = e2.toLowerCase()).match(/\.(jpeg|jpg|jpe|gif|png|apn|webp|avif|svg)/) ? "image" : e2.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/) || e2.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) || e2.match(/(youtube\.com|youtube-nocookie\.com)\/embed\/([a-zA-Z0-9\-_]+)/) || e2.match(/(youtube\.com|youtube-nocookie\.com)\/shorts\/([a-zA-Z0-9\-_]+)/) || e2.match(/vimeo\.com\/([0-9]*)/) || null !== e2.match(/\.(mp4|ogg|webm|mov)/) ? "video" : null !== e2.match(/\.(mp3|wav|wma|aac|ogg)/) ? "audio" : e2.indexOf("#") > -1 && "" !== t2.split("#").pop().trim() ? "inline" : e2.indexOf("goajax=true") > -1 ? "ajax" : "external";
652        }, "value") }, { key: "parseConfig", value: /* @__PURE__ */ __name(function(e2, t2) {
653          var i2 = this, n2 = o({ descPosition: t2.descPosition }, this.defaults);
654          if (I(e2) && !E(e2)) {
655            P(e2, "type") || (P(e2, "content") && e2.content ? e2.type = "inline" : P(e2, "href") && (e2.type = this.sourceType(e2.href)));
656            var s2 = o(n2, e2);
657            return this.setSize(s2, t2), s2;
658          }
659          var l2 = "", a2 = e2.getAttribute("data-glightbox"), h2 = e2.nodeName.toLowerCase();
660          if ("a" === h2 && (l2 = e2.href), "img" === h2 && (l2 = e2.src, n2.alt = e2.alt), n2.href = l2, r(n2, (function(s3, l3) {
661            P(t2, l3) && "width" !== l3 && (n2[l3] = t2[l3]);
662            var o2 = e2.dataset[l3];
663            O(o2) || (n2[l3] = i2.sanitizeValue(o2));
664          })), n2.content && (n2.type = "inline"), !n2.type && l2 && (n2.type = this.sourceType(l2)), O(a2)) {
665            if (!n2.title && "a" == h2) {
666              var d2 = e2.title;
667              O(d2) || "" === d2 || (n2.title = d2);
668            }
669            if (!n2.title && "img" == h2) {
670              var c2 = e2.alt;
671              O(c2) || "" === c2 || (n2.title = c2);
672            }
673          } else {
674            var u2 = [];
675            r(n2, (function(e3, t3) {
676              u2.push(";\\s?" + t3);
677            })), u2 = u2.join("\\s?:|"), "" !== a2.trim() && r(n2, (function(e3, t3) {
678              var s3 = a2, l3 = new RegExp("s?" + t3 + "s?:s?(.*?)(" + u2 + "s?:|$)"), o2 = s3.match(l3);
679              if (o2 && o2.length && o2[1]) {
680                var r2 = o2[1].trim().replace(/;\s*$/, "");
681                n2[t3] = i2.sanitizeValue(r2);
682              }
683            }));
684          }
685          if (n2.description && "." === n2.description.substring(0, 1)) {
686            var g2;
687            try {
688              g2 = document.querySelector(n2.description).innerHTML;
689            } catch (e3) {
690              if (!(e3 instanceof DOMException)) throw e3;
691            }
692            g2 && (n2.description = g2);
693          }
694          if (!n2.description) {
695            var v2 = e2.querySelector(".glightbox-desc");
696            v2 && (n2.description = v2.innerHTML);
697          }
698          return this.setSize(n2, t2, e2), this.slideConfig = n2, n2;
699        }, "value") }, { key: "setSize", value: /* @__PURE__ */ __name(function(e2, t2) {
700          var i2 = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, n2 = "video" == e2.type ? this.checkSize(t2.videosWidth) : this.checkSize(t2.width), s2 = this.checkSize(t2.height);
701          return e2.width = P(e2, "width") && "" !== e2.width ? this.checkSize(e2.width) : n2, e2.height = P(e2, "height") && "" !== e2.height ? this.checkSize(e2.height) : s2, i2 && "image" == e2.type && (e2._hasCustomWidth = !!i2.dataset.width, e2._hasCustomHeight = !!i2.dataset.height), e2;
702        }, "value") }, { key: "checkSize", value: /* @__PURE__ */ __name(function(e2) {
703          return z(e2) ? "".concat(e2, "px") : e2;
704        }, "value") }, { key: "sanitizeValue", value: /* @__PURE__ */ __name(function(e2) {
705          return "true" !== e2 && "false" !== e2 ? e2 : "true" === e2;
706        }, "value") }]), V = i(/* @__PURE__ */ __name((function t2(i2, n2, s2) {
707          e(this, t2), this.element = i2, this.instance = n2, this.index = s2;
708        }), "t"), [{ key: "setContent", value: /* @__PURE__ */ __name(function() {
709          var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, i2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
710          if (u(t2, "loaded")) return false;
711          var n2 = this.instance.settings, s2 = this.slideConfig, l2 = T();
712          C(n2.beforeSlideLoad) && n2.beforeSlideLoad({ index: this.index, slide: t2, player: false });
713          var o2 = s2.type, r2 = s2.descPosition, a2 = t2.querySelector(".gslide-media"), h2 = t2.querySelector(".gslide-title"), c2 = t2.querySelector(".gslide-desc"), g2 = t2.querySelector(".gdesc-inner"), v2 = i2, f2 = "gSlideTitle_" + this.index, p2 = "gSlideDesc_" + this.index;
714          if (C(n2.afterSlideLoad) && (v2 = /* @__PURE__ */ __name(function() {
715            C(i2) && i2(), n2.afterSlideLoad({ index: e2.index, slide: t2, player: e2.instance.getSlidePlayerInstance(e2.index) });
716          }, "v")), "" == s2.title && "" == s2.description ? g2 && g2.parentNode.parentNode.removeChild(g2.parentNode) : (h2 && "" !== s2.title ? (h2.id = f2, h2.innerHTML = s2.title) : h2.parentNode.removeChild(h2), c2 && "" !== s2.description ? (c2.id = p2, l2 && n2.moreLength > 0 ? (s2.smallDescription = this.slideShortDesc(s2.description, n2.moreLength, n2.moreText), c2.innerHTML = s2.smallDescription, this.descriptionEvents(c2, s2)) : c2.innerHTML = s2.description) : c2.parentNode.removeChild(c2), d(a2.parentNode, "desc-".concat(r2)), d(g2.parentNode, "description-".concat(r2))), d(a2, "gslide-".concat(o2)), d(t2, "loaded"), "video" !== o2) {
717            if ("external" !== o2) return "inline" === o2 ? (B.apply(this.instance, [t2, s2, this.index, v2]), void (s2.draggable && new N({ dragEl: t2.querySelector(".gslide-inline"), toleranceX: n2.dragToleranceX, toleranceY: n2.dragToleranceY, slide: t2, instance: this.instance }))) : void ("image" !== o2 ? C(v2) && v2() : D(t2, s2, this.index, (function() {
718              var i3 = t2.querySelector("img");
719              s2.draggable && new N({ dragEl: i3, toleranceX: n2.dragToleranceX, toleranceY: n2.dragToleranceY, slide: t2, instance: e2.instance }), s2.zoomable && i3.naturalWidth > i3.offsetWidth && (d(i3, "zoomable"), new q(i3, t2, (function() {
720                e2.instance.resize();
721              }))), C(v2) && v2();
722            })));
723            H.apply(this, [t2, s2, this.index, v2]);
724          } else _.apply(this.instance, [t2, s2, this.index, v2]);
725        }, "value") }, { key: "slideShortDesc", value: /* @__PURE__ */ __name(function(e2) {
726          var t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 50, i2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n2 = document.createElement("div");
727          n2.innerHTML = e2;
728          var s2 = n2.innerText, l2 = i2;
729          if ((e2 = s2.trim()).length <= t2) return e2;
730          var o2 = e2.substr(0, t2 - 1);
731          return l2 ? (n2 = null, o2 + '... <a href="#" class="desc-more">' + i2 + "</a>") : o2;
732        }, "value") }, { key: "descriptionEvents", value: /* @__PURE__ */ __name(function(e2, t2) {
733          var i2 = this, n2 = e2.querySelector(".desc-more");
734          if (!n2) return false;
735          h("click", { onElement: n2, withCallback: /* @__PURE__ */ __name(function(e3, n3) {
736            e3.preventDefault();
737            var s2 = document.body, l2 = g(n3, ".gslide-desc");
738            if (!l2) return false;
739            l2.innerHTML = t2.description, d(s2, "gdesc-open");
740            var o2 = h("click", { onElement: [s2, g(l2, ".gslide-description")], withCallback: /* @__PURE__ */ __name(function(e4, n4) {
741              "a" !== e4.target.nodeName.toLowerCase() && (c(s2, "gdesc-open"), d(s2, "gdesc-closed"), l2.innerHTML = t2.smallDescription, i2.descriptionEvents(l2, t2), setTimeout((function() {
742                c(s2, "gdesc-closed");
743              }), 400), o2.destroy());
744            }, "withCallback") });
745          }, "withCallback") });
746        }, "value") }, { key: "create", value: /* @__PURE__ */ __name(function() {
747          return y(this.instance.settings.slideHTML);
748        }, "value") }, { key: "getConfig", value: /* @__PURE__ */ __name(function() {
749          E(this.element) || this.element.hasOwnProperty("draggable") || (this.element.draggable = this.instance.settings.draggable);
750          var e2 = new j(this.instance.settings.slideExtraAttributes);
751          return this.slideConfig = e2.parseConfig(this.element, this.instance.settings), this.slideConfig;
752        }, "value") }]);
753        function F(e2) {
754          return Math.sqrt(e2.x * e2.x + e2.y * e2.y);
755        }
756        __name(F, "F");
757        function R(e2, t2) {
758          var i2 = (function(e3, t3) {
759            var i3 = F(e3) * F(t3);
760            if (0 === i3) return 0;
761            var n2 = (function(e4, t4) {
762              return e4.x * t4.x + e4.y * t4.y;
763            })(e3, t3) / i3;
764            return n2 > 1 && (n2 = 1), Math.acos(n2);
765          })(e2, t2);
766          return (function(e3, t3) {
767            return e3.x * t3.y - t3.x * e3.y;
768          })(e2, t2) > 0 && (i2 *= -1), 180 * i2 / Math.PI;
769        }
770        __name(R, "R");
771        var G = i(/* @__PURE__ */ __name((function t2(i2) {
772          e(this, t2), this.handlers = [], this.el = i2;
773        }), "t"), [{ key: "add", value: /* @__PURE__ */ __name(function(e2) {
774          this.handlers.push(e2);
775        }, "value") }, { key: "del", value: /* @__PURE__ */ __name(function(e2) {
776          e2 || (this.handlers = []);
777          for (var t2 = this.handlers.length; t2 >= 0; t2--) this.handlers[t2] === e2 && this.handlers.splice(t2, 1);
778        }, "value") }, { key: "dispatch", value: /* @__PURE__ */ __name(function() {
779          for (var e2 = 0, t2 = this.handlers.length; e2 < t2; e2++) {
780            var i2 = this.handlers[e2];
781            "function" == typeof i2 && i2.apply(this.el, arguments);
782          }
783        }, "value") }]);
784        function Z(e2, t2) {
785          var i2 = new G(e2);
786          return i2.add(t2), i2;
787        }
788        __name(Z, "Z");
789        var U = i(/* @__PURE__ */ __name((function t2(i2, n2) {
790          e(this, t2), this.element = "string" == typeof i2 ? document.querySelector(i2) : i2, this.start = this.start.bind(this), this.move = this.move.bind(this), this.end = this.end.bind(this), this.cancel = this.cancel.bind(this), this.element.addEventListener("touchstart", this.start, false), this.element.addEventListener("touchmove", this.move, false), this.element.addEventListener("touchend", this.end, false), this.element.addEventListener("touchcancel", this.cancel, false), this.preV = { x: null, y: null }, this.pinchStartLen = null, this.zoom = 1, this.isDoubleTap = false;
791          var s2 = /* @__PURE__ */ __name(function() {
792          }, "s");
793          this.rotate = Z(this.element, n2.rotate || s2), this.touchStart = Z(this.element, n2.touchStart || s2), this.multipointStart = Z(this.element, n2.multipointStart || s2), this.multipointEnd = Z(this.element, n2.multipointEnd || s2), this.pinch = Z(this.element, n2.pinch || s2), this.swipe = Z(this.element, n2.swipe || s2), this.tap = Z(this.element, n2.tap || s2), this.doubleTap = Z(this.element, n2.doubleTap || s2), this.longTap = Z(this.element, n2.longTap || s2), this.singleTap = Z(this.element, n2.singleTap || s2), this.pressMove = Z(this.element, n2.pressMove || s2), this.twoFingerPressMove = Z(this.element, n2.twoFingerPressMove || s2), this.touchMove = Z(this.element, n2.touchMove || s2), this.touchEnd = Z(this.element, n2.touchEnd || s2), this.touchCancel = Z(this.element, n2.touchCancel || s2), this.translateContainer = this.element, this._cancelAllHandler = this.cancelAll.bind(this), window.addEventListener("scroll", this._cancelAllHandler), this.delta = null, this.last = null, this.now = null, this.tapTimeout = null, this.singleTapTimeout = null, this.longTapTimeout = null, this.swipeTimeout = null, this.x1 = this.x2 = this.y1 = this.y2 = null, this.preTapPosition = { x: null, y: null };
794        }), "t"), [{ key: "start", value: /* @__PURE__ */ __name(function(e2) {
795          if (e2.touches) if (e2.target && e2.target.nodeName && ["a", "button", "input"].indexOf(e2.target.nodeName.toLowerCase()) >= 0) console.log("ignore drag for this touched element", e2.target.nodeName.toLowerCase());
796          else {
797            this.now = Date.now(), this.x1 = e2.touches[0].pageX, this.y1 = e2.touches[0].pageY, this.delta = this.now - (this.last || this.now), this.touchStart.dispatch(e2, this.element), null !== this.preTapPosition.x && (this.isDoubleTap = this.delta > 0 && this.delta <= 250 && Math.abs(this.preTapPosition.x - this.x1) < 30 && Math.abs(this.preTapPosition.y - this.y1) < 30, this.isDoubleTap && clearTimeout(this.singleTapTimeout)), this.preTapPosition.x = this.x1, this.preTapPosition.y = this.y1, this.last = this.now;
798            var t2 = this.preV;
799            if (e2.touches.length > 1) {
800              this._cancelLongTap(), this._cancelSingleTap();
801              var i2 = { x: e2.touches[1].pageX - this.x1, y: e2.touches[1].pageY - this.y1 };
802              t2.x = i2.x, t2.y = i2.y, this.pinchStartLen = F(t2), this.multipointStart.dispatch(e2, this.element);
803            }
804            this._preventTap = false, this.longTapTimeout = setTimeout(function() {
805              this.longTap.dispatch(e2, this.element), this._preventTap = true;
806            }.bind(this), 750);
807          }
808        }, "value") }, { key: "move", value: /* @__PURE__ */ __name(function(e2) {
809          if (e2.touches) {
810            var t2 = this.preV, i2 = e2.touches.length, n2 = e2.touches[0].pageX, s2 = e2.touches[0].pageY;
811            if (this.isDoubleTap = false, i2 > 1) {
812              var l2 = e2.touches[1].pageX, o2 = e2.touches[1].pageY, r2 = { x: e2.touches[1].pageX - n2, y: e2.touches[1].pageY - s2 };
813              null !== t2.x && (this.pinchStartLen > 0 && (e2.zoom = F(r2) / this.pinchStartLen, this.pinch.dispatch(e2, this.element)), e2.angle = R(r2, t2), this.rotate.dispatch(e2, this.element)), t2.x = r2.x, t2.y = r2.y, null !== this.x2 && null !== this.sx2 ? (e2.deltaX = (n2 - this.x2 + l2 - this.sx2) / 2, e2.deltaY = (s2 - this.y2 + o2 - this.sy2) / 2) : (e2.deltaX = 0, e2.deltaY = 0), this.twoFingerPressMove.dispatch(e2, this.element), this.sx2 = l2, this.sy2 = o2;
814            } else {
815              if (null !== this.x2) {
816                e2.deltaX = n2 - this.x2, e2.deltaY = s2 - this.y2;
817                var a2 = Math.abs(this.x1 - this.x2), h2 = Math.abs(this.y1 - this.y2);
818                (a2 > 10 || h2 > 10) && (this._preventTap = true);
819              } else e2.deltaX = 0, e2.deltaY = 0;
820              this.pressMove.dispatch(e2, this.element);
821            }
822            this.touchMove.dispatch(e2, this.element), this._cancelLongTap(), this.x2 = n2, this.y2 = s2, i2 > 1 && e2.preventDefault();
823          }
824        }, "value") }, { key: "end", value: /* @__PURE__ */ __name(function(e2) {
825          if (e2.changedTouches) {
826            this._cancelLongTap();
827            var t2 = this;
828            e2.touches.length < 2 && (this.multipointEnd.dispatch(e2, this.element), this.sx2 = this.sy2 = null), this.x2 && Math.abs(this.x1 - this.x2) > 30 || this.y2 && Math.abs(this.y1 - this.y2) > 30 ? (e2.direction = this._swipeDirection(this.x1, this.x2, this.y1, this.y2), this.swipeTimeout = setTimeout((function() {
829              t2.swipe.dispatch(e2, t2.element);
830            }), 0)) : (this.tapTimeout = setTimeout((function() {
831              t2._preventTap || t2.tap.dispatch(e2, t2.element), t2.isDoubleTap && (t2.doubleTap.dispatch(e2, t2.element), t2.isDoubleTap = false);
832            }), 0), t2.isDoubleTap || (t2.singleTapTimeout = setTimeout((function() {
833              t2.singleTap.dispatch(e2, t2.element);
834            }), 250))), this.touchEnd.dispatch(e2, this.element), this.preV.x = 0, this.preV.y = 0, this.zoom = 1, this.pinchStartLen = null, this.x1 = this.x2 = this.y1 = this.y2 = null;
835          }
836        }, "value") }, { key: "cancelAll", value: /* @__PURE__ */ __name(function() {
837          this._preventTap = true, clearTimeout(this.singleTapTimeout), clearTimeout(this.tapTimeout), clearTimeout(this.longTapTimeout), clearTimeout(this.swipeTimeout);
838        }, "value") }, { key: "cancel", value: /* @__PURE__ */ __name(function(e2) {
839          this.cancelAll(), this.touchCancel.dispatch(e2, this.element);
840        }, "value") }, { key: "_cancelLongTap", value: /* @__PURE__ */ __name(function() {
841          clearTimeout(this.longTapTimeout);
842        }, "value") }, { key: "_cancelSingleTap", value: /* @__PURE__ */ __name(function() {
843          clearTimeout(this.singleTapTimeout);
844        }, "value") }, { key: "_swipeDirection", value: /* @__PURE__ */ __name(function(e2, t2, i2, n2) {
845          return Math.abs(e2 - t2) >= Math.abs(i2 - n2) ? e2 - t2 > 0 ? "Left" : "Right" : i2 - n2 > 0 ? "Up" : "Down";
846        }, "value") }, { key: "on", value: /* @__PURE__ */ __name(function(e2, t2) {
847          this[e2] && this[e2].add(t2);
848        }, "value") }, { key: "off", value: /* @__PURE__ */ __name(function(e2, t2) {
849          this[e2] && this[e2].del(t2);
850        }, "value") }, { key: "destroy", value: /* @__PURE__ */ __name(function() {
851          return this.singleTapTimeout && clearTimeout(this.singleTapTimeout), this.tapTimeout && clearTimeout(this.tapTimeout), this.longTapTimeout && clearTimeout(this.longTapTimeout), this.swipeTimeout && clearTimeout(this.swipeTimeout), this.element.removeEventListener("touchstart", this.start), this.element.removeEventListener("touchmove", this.move), this.element.removeEventListener("touchend", this.end), this.element.removeEventListener("touchcancel", this.cancel), this.rotate.del(), this.touchStart.del(), this.multipointStart.del(), this.multipointEnd.del(), this.pinch.del(), this.swipe.del(), this.tap.del(), this.doubleTap.del(), this.longTap.del(), this.singleTap.del(), this.pressMove.del(), this.twoFingerPressMove.del(), this.touchMove.del(), this.touchEnd.del(), this.touchCancel.del(), this.preV = this.pinchStartLen = this.zoom = this.isDoubleTap = this.delta = this.last = this.now = this.tapTimeout = this.singleTapTimeout = this.longTapTimeout = this.swipeTimeout = this.x1 = this.x2 = this.y1 = this.y2 = this.preTapPosition = this.rotate = this.touchStart = this.multipointStart = this.multipointEnd = this.pinch = this.swipe = this.tap = this.doubleTap = this.longTap = this.singleTap = this.pressMove = this.touchMove = this.touchEnd = this.touchCancel = this.twoFingerPressMove = null, window.removeEventListener("scroll", this._cancelAllHandler), null;
852        }, "value") }]);
853        function $(e2) {
854          var t2 = (function() {
855            var e3, t3 = document.createElement("fakeelement"), i3 = { transition: "transitionend", OTransition: "oTransitionEnd", MozTransition: "transitionend", WebkitTransition: "webkitTransitionEnd" };
856            for (e3 in i3) if (void 0 !== t3.style[e3]) return i3[e3];
857          })(), i2 = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, n2 = u(e2, "gslide-media") ? e2 : e2.querySelector(".gslide-media"), s2 = g(n2, ".ginner-container"), l2 = e2.querySelector(".gslide-description");
858          i2 > 769 && (n2 = s2), d(n2, "greset"), f(n2, "translate3d(0, 0, 0)"), h(t2, { onElement: n2, once: true, withCallback: /* @__PURE__ */ __name(function(e3, t3) {
859            c(n2, "greset");
860          }, "withCallback") }), n2.style.opacity = "", l2 && (l2.style.opacity = "");
861        }
862        __name($, "$");
863        function J(e2) {
864          if (e2.events.hasOwnProperty("touch")) return false;
865          var t2, i2, n2, s2 = x(), l2 = s2.width, o2 = s2.height, r2 = false, a2 = null, h2 = null, v2 = null, p2 = false, m2 = 1, y2 = 1, b2 = false, S2 = false, w2 = null, T2 = null, C2 = null, k2 = null, E2 = 0, A2 = 0, L2 = false, I2 = false, O2 = {}, P2 = {}, M2 = 0, z2 = 0, X2 = document.getElementById("glightbox-slider"), Y2 = document.querySelector(".goverlay"), q2 = new U(X2, { touchStart: /* @__PURE__ */ __name(function(t3) {
866            if (r2 = true, (u(t3.targetTouches[0].target, "ginner-container") || g(t3.targetTouches[0].target, ".gslide-desc") || "a" == t3.targetTouches[0].target.nodeName.toLowerCase()) && (r2 = false), g(t3.targetTouches[0].target, ".gslide-inline") && !u(t3.targetTouches[0].target.parentNode, "gslide-inline") && (r2 = false), r2) {
867              if (P2 = t3.targetTouches[0], O2.pageX = t3.targetTouches[0].pageX, O2.pageY = t3.targetTouches[0].pageY, M2 = t3.targetTouches[0].clientX, z2 = t3.targetTouches[0].clientY, a2 = e2.activeSlide, h2 = a2.querySelector(".gslide-media"), n2 = a2.querySelector(".gslide-inline"), v2 = null, u(h2, "gslide-image") && (v2 = h2.querySelector("img")), (window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth) > 769 && (h2 = a2.querySelector(".ginner-container")), c(Y2, "greset"), t3.pageX > 20 && t3.pageX < window.innerWidth - 20) return;
868              t3.preventDefault();
869            }
870          }, "touchStart"), touchMove: /* @__PURE__ */ __name(function(s3) {
871            if (r2 && (P2 = s3.targetTouches[0], !b2 && !S2)) {
872              if (n2 && n2.offsetHeight > o2) {
873                var a3 = O2.pageX - P2.pageX;
874                if (Math.abs(a3) <= 13) return false;
875              }
876              p2 = true;
877              var d2, c2 = s3.targetTouches[0].clientX, u2 = s3.targetTouches[0].clientY, g2 = M2 - c2, m3 = z2 - u2;
878              if (Math.abs(g2) > Math.abs(m3) ? (L2 = false, I2 = true) : (I2 = false, L2 = true), t2 = P2.pageX - O2.pageX, E2 = 100 * t2 / l2, i2 = P2.pageY - O2.pageY, A2 = 100 * i2 / o2, L2 && v2 && (d2 = 1 - Math.abs(i2) / o2, Y2.style.opacity = d2, e2.settings.touchFollowAxis && (E2 = 0)), I2 && (d2 = 1 - Math.abs(t2) / l2, h2.style.opacity = d2, e2.settings.touchFollowAxis && (A2 = 0)), !v2) return f(h2, "translate3d(".concat(E2, "%, 0, 0)"));
879              f(h2, "translate3d(".concat(E2, "%, ").concat(A2, "%, 0)"));
880            }
881          }, "touchMove"), touchEnd: /* @__PURE__ */ __name(function() {
882            if (r2) {
883              if (p2 = false, S2 || b2) return C2 = w2, void (k2 = T2);
884              var t3 = Math.abs(parseInt(A2)), i3 = Math.abs(parseInt(E2));
885              if (!(t3 > 29 && v2)) return t3 < 29 && i3 < 25 ? (d(Y2, "greset"), Y2.style.opacity = 1, $(h2)) : void 0;
886              e2.close();
887            }
888          }, "touchEnd"), multipointEnd: /* @__PURE__ */ __name(function() {
889            setTimeout((function() {
890              b2 = false;
891            }), 50);
892          }, "multipointEnd"), multipointStart: /* @__PURE__ */ __name(function() {
893            b2 = true, m2 = y2 || 1;
894          }, "multipointStart"), pinch: /* @__PURE__ */ __name(function(e3) {
895            if (!v2 || p2) return false;
896            b2 = true, v2.scaleX = v2.scaleY = m2 * e3.zoom;
897            var t3 = m2 * e3.zoom;
898            if (S2 = true, t3 <= 1) return S2 = false, t3 = 1, k2 = null, C2 = null, w2 = null, T2 = null, void v2.setAttribute("style", "");
899            t3 > 4.5 && (t3 = 4.5), v2.style.transform = "scale3d(".concat(t3, ", ").concat(t3, ", 1)"), y2 = t3;
900          }, "pinch"), pressMove: /* @__PURE__ */ __name(function(e3) {
901            if (S2 && !b2) {
902              var t3 = P2.pageX - O2.pageX, i3 = P2.pageY - O2.pageY;
903              C2 && (t3 += C2), k2 && (i3 += k2), w2 = t3, T2 = i3;
904              var n3 = "translate3d(".concat(t3, "px, ").concat(i3, "px, 0)");
905              y2 && (n3 += " scale3d(".concat(y2, ", ").concat(y2, ", 1)")), f(v2, n3);
906            }
907          }, "pressMove"), swipe: /* @__PURE__ */ __name(function(t3) {
908            if (!S2) if (b2) b2 = false;
909            else {
910              if ("Left" == t3.direction) {
911                if (e2.index == e2.elements.length - 1) return $(h2);
912                e2.nextSlide();
913              }
914              if ("Right" == t3.direction) {
915                if (0 == e2.index) return $(h2);
916                e2.prevSlide();
917              }
918            }
919          }, "swipe") });
920          e2.events.touch = q2;
921        }
922        __name(J, "J");
923        var K = T(), Q = null !== T() || void 0 !== document.createTouch || "ontouchstart" in window || "onmsgesturechange" in window || navigator.msMaxTouchPoints, ee = document.getElementsByTagName("html")[0], te = { selector: ".glightbox", elements: null, skin: "clean", theme: "clean", closeButton: true, startAt: null, autoplayVideos: true, autofocusVideos: true, descPosition: "bottom", width: "900px", height: "506px", videosWidth: "960px", beforeSlideChange: null, afterSlideChange: null, beforeSlideLoad: null, afterSlideLoad: null, slideInserted: null, slideRemoved: null, slideExtraAttributes: null, onOpen: null, onClose: null, loop: false, zoomable: true, draggable: true, dragAutoSnap: false, dragToleranceX: 40, dragToleranceY: 65, preload: true, oneSlidePerOpen: false, touchNavigation: true, touchFollowAxis: true, keyboardNavigation: true, closeOnOutsideClick: true, plugins: false, plyr: { css: "https://cdn.plyr.io/3.6.12/plyr.css", js: "https://cdn.plyr.io/3.6.12/plyr.js", config: { ratio: "16:9", fullscreen: { enabled: true, iosNative: true }, youtube: { noCookie: true, rel: 0, showinfo: 0, iv_load_policy: 3 }, vimeo: { byline: false, portrait: false, title: false, transparent: false } } }, openEffect: "zoom", closeEffect: "zoom", slideEffect: "slide", moreText: "See more", moreLength: 60, cssEfects: { fade: { in: "fadeIn", out: "fadeOut" }, zoom: { in: "zoomIn", out: "zoomOut" }, slide: { in: "slideInRight", out: "slideOutLeft" }, slideBack: { in: "slideInLeft", out: "slideOutRight" }, none: { in: "none", out: "none" } }, svg: { close: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xml:space="preserve"><g><g><path d="M505.943,6.058c-8.077-8.077-21.172-8.077-29.249,0L6.058,476.693c-8.077,8.077-8.077,21.172,0,29.249C10.096,509.982,15.39,512,20.683,512c5.293,0,10.586-2.019,14.625-6.059L505.943,35.306C514.019,27.23,514.019,14.135,505.943,6.058z"/></g></g><g><g><path d="M505.942,476.694L35.306,6.059c-8.076-8.077-21.172-8.077-29.248,0c-8.077,8.076-8.077,21.171,0,29.248l470.636,470.636c4.038,4.039,9.332,6.058,14.625,6.058c5.293,0,10.587-2.019,14.624-6.057C514.018,497.866,514.018,484.771,505.942,476.694z"/></g></g></svg>', next: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"> <g><path d="M360.731,229.075l-225.1-225.1c-5.3-5.3-13.8-5.3-19.1,0s-5.3,13.8,0,19.1l215.5,215.5l-215.5,215.5c-5.3,5.3-5.3,13.8,0,19.1c2.6,2.6,6.1,4,9.5,4c3.4,0,6.9-1.3,9.5-4l225.1-225.1C365.931,242.875,365.931,234.275,360.731,229.075z"/></g></svg>', prev: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 477.175 477.175" xml:space="preserve"><g><path d="M145.188,238.575l215.5-215.5c5.3-5.3,5.3-13.8,0-19.1s-13.8-5.3-19.1,0l-225.1,225.1c-5.3,5.3-5.3,13.8,0,19.1l225.1,225c2.6,2.6,6.1,4,9.5,4s6.9-1.3,9.5-4c5.3-5.3,5.3-13.8,0-19.1L145.188,238.575z"/></g></svg>' }, slideHTML: '<div class="gslide">\n    <div class="gslide-inner-content">\n        <div class="ginner-container">\n            <div class="gslide-media">\n            </div>\n            <div class="gslide-description">\n                <div class="gdesc-inner">\n                    <h4 class="gslide-title"></h4>\n                    <div class="gslide-desc"></div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>', lightboxHTML: '<div id="glightbox-body" class="glightbox-container" tabindex="-1" role="dialog" aria-hidden="false">\n    <div class="gloader visible"></div>\n    <div class="goverlay"></div>\n    <div class="gcontainer">\n    <div id="glightbox-slider" class="gslider"></div>\n    <button class="gclose gbtn" aria-label="Close" data-taborder="3">{closeSVG}</button>\n    <button class="gprev gbtn" aria-label="Previous" data-taborder="2">{prevSVG}</button>\n    <button class="gnext gbtn" aria-label="Next" data-taborder="1">{nextSVG}</button>\n</div>\n</div>' }, ie = i(/* @__PURE__ */ __name((function t2() {
924          var i2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
925          e(this, t2), this.customOptions = i2, this.settings = o(te, i2), this.effectsClasses = this.getAnimationClasses(), this.videoPlayers = {}, this.apiEvents = [], this.fullElementsList = false;
926        }), "t"), [{ key: "init", value: /* @__PURE__ */ __name(function() {
927          var e2 = this, t2 = this.getSelector();
928          t2 && (this.baseEvents = h("click", { onElement: t2, withCallback: /* @__PURE__ */ __name(function(t3, i2) {
929            t3.preventDefault(), e2.open(i2);
930          }, "withCallback") })), this.elements = this.getElements();
931        }, "value") }, { key: "open", value: /* @__PURE__ */ __name(function() {
932          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null;
933          if (0 === this.elements.length) return false;
934          this.activeSlide = null, this.prevActiveSlideIndex = null, this.prevActiveSlide = null;
935          var i2 = z(t2) ? t2 : this.settings.startAt;
936          if (E(e2)) {
937            var n2 = e2.getAttribute("data-gallery");
938            n2 && (this.fullElementsList = this.elements, this.elements = this.getGalleryElements(this.elements, n2)), O(i2) && (i2 = this.getElementIndex(e2)) < 0 && (i2 = 0);
939          }
940          z(i2) || (i2 = 0), this.build(), v(this.overlay, "none" === this.settings.openEffect ? "none" : this.settings.cssEfects.fade.in);
941          var s2 = document.body, l2 = window.innerWidth - document.documentElement.clientWidth;
942          if (l2 > 0) {
943            var o2 = document.createElement("style");
944            o2.type = "text/css", o2.className = "gcss-styles", o2.innerText = ".gscrollbar-fixer {margin-right: ".concat(l2, "px}"), document.head.appendChild(o2), d(s2, "gscrollbar-fixer");
945          }
946          d(s2, "glightbox-open"), d(ee, "glightbox-open"), K && (d(document.body, "glightbox-mobile"), this.settings.slideEffect = "slide"), this.showSlide(i2, true), 1 === this.elements.length ? (d(this.prevButton, "glightbox-button-hidden"), d(this.nextButton, "glightbox-button-hidden")) : (c(this.prevButton, "glightbox-button-hidden"), c(this.nextButton, "glightbox-button-hidden")), this.lightboxOpen = true, this.trigger("open"), C(this.settings.onOpen) && this.settings.onOpen(), Q && this.settings.touchNavigation && J(this), this.settings.keyboardNavigation && Y(this);
947        }, "value") }, { key: "openAt", value: /* @__PURE__ */ __name(function() {
948          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
949          this.open(null, e2);
950        }, "value") }, { key: "showSlide", value: /* @__PURE__ */ __name(function() {
951          var e2 = this, t2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, i2 = arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
952          p(this.loader), this.index = parseInt(t2);
953          var n2 = this.slidesContainer.querySelector(".current");
954          n2 && c(n2, "current"), this.slideAnimateOut();
955          var s2 = this.slidesContainer.querySelectorAll(".gslide")[t2];
956          if (u(s2, "loaded")) this.slideAnimateIn(s2, i2), m(this.loader);
957          else {
958            p(this.loader);
959            var l2 = this.elements[t2], o2 = { index: this.index, slide: s2, slideNode: s2, slideConfig: l2.slideConfig, slideIndex: this.index, trigger: l2.node, player: null };
960            this.trigger("slide_before_load", o2), l2.instance.setContent(s2, (function() {
961              m(e2.loader), e2.resize(), e2.slideAnimateIn(s2, i2), e2.trigger("slide_after_load", o2);
962            }));
963          }
964          this.slideDescription = s2.querySelector(".gslide-description"), this.slideDescriptionContained = this.slideDescription && u(this.slideDescription.parentNode, "gslide-media"), this.settings.preload && (this.preloadSlide(t2 + 1), this.preloadSlide(t2 - 1)), this.updateNavigationClasses(), this.activeSlide = s2;
965        }, "value") }, { key: "preloadSlide", value: /* @__PURE__ */ __name(function(e2) {
966          var t2 = this;
967          if (e2 < 0 || e2 > this.elements.length - 1) return false;
968          if (O(this.elements[e2])) return false;
969          var i2 = this.slidesContainer.querySelectorAll(".gslide")[e2];
970          if (u(i2, "loaded")) return false;
971          var n2 = this.elements[e2], s2 = n2.type, l2 = { index: e2, slide: i2, slideNode: i2, slideConfig: n2.slideConfig, slideIndex: e2, trigger: n2.node, player: null };
972          this.trigger("slide_before_load", l2), "video" === s2 || "external" === s2 ? setTimeout((function() {
973            n2.instance.setContent(i2, (function() {
974              t2.trigger("slide_after_load", l2);
975            }));
976          }), 200) : n2.instance.setContent(i2, (function() {
977            t2.trigger("slide_after_load", l2);
978          }));
979        }, "value") }, { key: "prevSlide", value: /* @__PURE__ */ __name(function() {
980          this.goToSlide(this.index - 1);
981        }, "value") }, { key: "nextSlide", value: /* @__PURE__ */ __name(function() {
982          this.goToSlide(this.index + 1);
983        }, "value") }, { key: "goToSlide", value: /* @__PURE__ */ __name(function() {
984          var e2 = arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
985          if (this.prevActiveSlide = this.activeSlide, this.prevActiveSlideIndex = this.index, !this.loop() && (e2 < 0 || e2 > this.elements.length - 1)) return false;
986          e2 < 0 ? e2 = this.elements.length - 1 : e2 >= this.elements.length && (e2 = 0), this.showSlide(e2);
987        }, "value") }, { key: "insertSlide", value: /* @__PURE__ */ __name(function() {
988          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1;
989          t2 < 0 && (t2 = this.elements.length);
990          var i2 = new V(e2, this, t2), n2 = i2.getConfig(), s2 = o({}, n2), l2 = i2.create(), r2 = this.elements.length - 1;
991          s2.index = t2, s2.node = false, s2.instance = i2, s2.slideConfig = n2, this.elements.splice(t2, 0, s2);
992          var a2 = null, h2 = null;
993          if (this.slidesContainer) {
994            if (t2 > r2) this.slidesContainer.appendChild(l2);
995            else {
996              var d2 = this.slidesContainer.querySelectorAll(".gslide")[t2];
997              this.slidesContainer.insertBefore(l2, d2);
998            }
999            (this.settings.preload && 0 == this.index && 0 == t2 || this.index - 1 == t2 || this.index + 1 == t2) && this.preloadSlide(t2), 0 === this.index && 0 === t2 && (this.index = 1), this.updateNavigationClasses(), a2 = this.slidesContainer.querySelectorAll(".gslide")[t2], h2 = this.getSlidePlayerInstance(t2), s2.slideNode = a2;
1000          }
1001          this.trigger("slide_inserted", { index: t2, slide: a2, slideNode: a2, slideConfig: n2, slideIndex: t2, trigger: null, player: h2 }), C(this.settings.slideInserted) && this.settings.slideInserted({ index: t2, slide: a2, player: h2 });
1002        }, "value") }, { key: "removeSlide", value: /* @__PURE__ */ __name(function() {
1003          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : -1;
1004          if (e2 < 0 || e2 > this.elements.length - 1) return false;
1005          var t2 = this.slidesContainer && this.slidesContainer.querySelectorAll(".gslide")[e2];
1006          t2 && (this.getActiveSlideIndex() == e2 && (e2 == this.elements.length - 1 ? this.prevSlide() : this.nextSlide()), t2.parentNode.removeChild(t2)), this.elements.splice(e2, 1), this.trigger("slide_removed", e2), C(this.settings.slideRemoved) && this.settings.slideRemoved(e2);
1007        }, "value") }, { key: "slideAnimateIn", value: /* @__PURE__ */ __name(function(e2, t2) {
1008          var i2 = this, n2 = e2.querySelector(".gslide-media"), s2 = e2.querySelector(".gslide-description"), l2 = { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlide, slideConfig: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, o2 = { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideConfig: this.elements[this.index].slideConfig, slideIndex: this.index, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) };
1009          if (n2.offsetWidth > 0 && s2 && (m(s2), s2.style.display = ""), c(e2, this.effectsClasses), t2) v(e2, this.settings.cssEfects[this.settings.openEffect].in, (function() {
1010            i2.settings.autoplayVideos && i2.slidePlayerPlay(e2), i2.trigger("slide_changed", { prev: l2, current: o2 }), C(i2.settings.afterSlideChange) && i2.settings.afterSlideChange.apply(i2, [l2, o2]);
1011          }));
1012          else {
1013            var r2 = this.settings.slideEffect, a2 = "none" !== r2 ? this.settings.cssEfects[r2].in : r2;
1014            this.prevActiveSlideIndex > this.index && "slide" == this.settings.slideEffect && (a2 = this.settings.cssEfects.slideBack.in), v(e2, a2, (function() {
1015              i2.settings.autoplayVideos && i2.slidePlayerPlay(e2), i2.trigger("slide_changed", { prev: l2, current: o2 }), C(i2.settings.afterSlideChange) && i2.settings.afterSlideChange.apply(i2, [l2, o2]);
1016            }));
1017          }
1018          setTimeout((function() {
1019            i2.resize(e2);
1020          }), 100), d(e2, "current");
1021        }, "value") }, { key: "slideAnimateOut", value: /* @__PURE__ */ __name(function() {
1022          if (!this.prevActiveSlide) return false;
1023          var e2 = this.prevActiveSlide;
1024          c(e2, this.effectsClasses), d(e2, "prev");
1025          var t2 = this.settings.slideEffect, i2 = "none" !== t2 ? this.settings.cssEfects[t2].out : t2;
1026          this.slidePlayerPause(e2), this.trigger("slide_before_change", { prev: { index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, slideNode: this.prevActiveSlide, slideIndex: this.prevActiveSlideIndex, slideConfig: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].slideConfig, trigger: O(this.prevActiveSlideIndex) ? null : this.elements[this.prevActiveSlideIndex].node, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, current: { index: this.index, slide: this.activeSlide, slideNode: this.activeSlide, slideIndex: this.index, slideConfig: this.elements[this.index].slideConfig, trigger: this.elements[this.index].node, player: this.getSlidePlayerInstance(this.index) } }), C(this.settings.beforeSlideChange) && this.settings.beforeSlideChange.apply(this, [{ index: this.prevActiveSlideIndex, slide: this.prevActiveSlide, player: this.getSlidePlayerInstance(this.prevActiveSlideIndex) }, { index: this.index, slide: this.activeSlide, player: this.getSlidePlayerInstance(this.index) }]), this.prevActiveSlideIndex > this.index && "slide" == this.settings.slideEffect && (i2 = this.settings.cssEfects.slideBack.out), v(e2, i2, (function() {
1027            var t3 = e2.querySelector(".ginner-container"), i3 = e2.querySelector(".gslide-media"), n2 = e2.querySelector(".gslide-description");
1028            t3.style.transform = "", i3.style.transform = "", c(i3, "greset"), i3.style.opacity = "", n2 && (n2.style.opacity = ""), c(e2, "prev");
1029          }));
1030        }, "value") }, { key: "getAllPlayers", value: /* @__PURE__ */ __name(function() {
1031          return this.videoPlayers;
1032        }, "value") }, { key: "getSlidePlayerInstance", value: /* @__PURE__ */ __name(function(e2) {
1033          var t2 = "gvideo" + e2, i2 = this.getAllPlayers();
1034          return !(!P(i2, t2) || !i2[t2]) && i2[t2];
1035        }, "value") }, { key: "stopSlideVideo", value: /* @__PURE__ */ __name(function(e2) {
1036          if (E(e2)) {
1037            var t2 = e2.querySelector(".gvideo-wrapper");
1038            t2 && (e2 = t2.getAttribute("data-index"));
1039          }
1040          console.log("stopSlideVideo is deprecated, use slidePlayerPause");
1041          var i2 = this.getSlidePlayerInstance(e2);
1042          i2 && i2.playing && i2.pause();
1043        }, "value") }, { key: "slidePlayerPause", value: /* @__PURE__ */ __name(function(e2) {
1044          if (E(e2)) {
1045            var t2 = e2.querySelector(".gvideo-wrapper");
1046            t2 && (e2 = t2.getAttribute("data-index"));
1047          }
1048          var i2 = this.getSlidePlayerInstance(e2);
1049          i2 && i2.playing && i2.pause();
1050        }, "value") }, { key: "playSlideVideo", value: /* @__PURE__ */ __name(function(e2) {
1051          if (E(e2)) {
1052            var t2 = e2.querySelector(".gvideo-wrapper");
1053            t2 && (e2 = t2.getAttribute("data-index"));
1054          }
1055          console.log("playSlideVideo is deprecated, use slidePlayerPlay");
1056          var i2 = this.getSlidePlayerInstance(e2);
1057          i2 && !i2.playing && i2.play();
1058        }, "value") }, { key: "slidePlayerPlay", value: /* @__PURE__ */ __name(function(e2) {
1059          var t2;
1060          if (!K || null !== (t2 = this.settings.plyr.config) && void 0 !== t2 && t2.muted) {
1061            if (E(e2)) {
1062              var i2 = e2.querySelector(".gvideo-wrapper");
1063              i2 && (e2 = i2.getAttribute("data-index"));
1064            }
1065            var n2 = this.getSlidePlayerInstance(e2);
1066            n2 && !n2.playing && (n2.play(), this.settings.autofocusVideos && n2.elements.container.focus());
1067          }
1068        }, "value") }, { key: "setElements", value: /* @__PURE__ */ __name(function(e2) {
1069          var t2 = this;
1070          this.settings.elements = false;
1071          var i2 = [];
1072          e2 && e2.length && r(e2, (function(e3, n2) {
1073            var s2 = new V(e3, t2, n2), l2 = s2.getConfig(), r2 = o({}, l2);
1074            r2.slideConfig = l2, r2.instance = s2, r2.index = n2, i2.push(r2);
1075          })), this.elements = i2, this.lightboxOpen && (this.slidesContainer.innerHTML = "", this.elements.length && (r(this.elements, (function() {
1076            var e3 = y(t2.settings.slideHTML);
1077            t2.slidesContainer.appendChild(e3);
1078          })), this.showSlide(0, true)));
1079        }, "value") }, { key: "getElementIndex", value: /* @__PURE__ */ __name(function(e2) {
1080          var t2 = false;
1081          return r(this.elements, (function(i2, n2) {
1082            if (P(i2, "node") && i2.node == e2) return t2 = n2, true;
1083          })), t2;
1084        }, "value") }, { key: "getElements", value: /* @__PURE__ */ __name(function() {
1085          var e2 = this, t2 = [];
1086          this.elements = this.elements ? this.elements : [], !O(this.settings.elements) && A(this.settings.elements) && this.settings.elements.length && r(this.settings.elements, (function(i3, n2) {
1087            var s2 = new V(i3, e2, n2), l2 = s2.getConfig(), r2 = o({}, l2);
1088            r2.node = false, r2.index = n2, r2.instance = s2, r2.slideConfig = l2, t2.push(r2);
1089          }));
1090          var i2 = false;
1091          return this.getSelector() && (i2 = document.querySelectorAll(this.getSelector())), i2 ? (r(i2, (function(i3, n2) {
1092            var s2 = new V(i3, e2, n2), l2 = s2.getConfig(), r2 = o({}, l2);
1093            r2.node = i3, r2.index = n2, r2.instance = s2, r2.slideConfig = l2, r2.gallery = i3.getAttribute("data-gallery"), t2.push(r2);
1094          })), t2) : t2;
1095        }, "value") }, { key: "getGalleryElements", value: /* @__PURE__ */ __name(function(e2, t2) {
1096          return e2.filter((function(e3) {
1097            return e3.gallery == t2;
1098          }));
1099        }, "value") }, { key: "getSelector", value: /* @__PURE__ */ __name(function() {
1100          return !this.settings.elements && (this.settings.selector && "data-" == this.settings.selector.substring(0, 5) ? "*[".concat(this.settings.selector, "]") : this.settings.selector);
1101        }, "value") }, { key: "getActiveSlide", value: /* @__PURE__ */ __name(function() {
1102          return this.slidesContainer.querySelectorAll(".gslide")[this.index];
1103        }, "value") }, { key: "getActiveSlideIndex", value: /* @__PURE__ */ __name(function() {
1104          return this.index;
1105        }, "value") }, { key: "getAnimationClasses", value: /* @__PURE__ */ __name(function() {
1106          var e2 = [];
1107          for (var t2 in this.settings.cssEfects) if (this.settings.cssEfects.hasOwnProperty(t2)) {
1108            var i2 = this.settings.cssEfects[t2];
1109            e2.push("g".concat(i2.in)), e2.push("g".concat(i2.out));
1110          }
1111          return e2.join(" ");
1112        }, "value") }, { key: "build", value: /* @__PURE__ */ __name(function() {
1113          var e2 = this;
1114          if (this.built) return false;
1115          var t2 = document.body.childNodes, i2 = [];
1116          r(t2, (function(e3) {
1117            e3.parentNode == document.body && "#" !== e3.nodeName.charAt(0) && e3.hasAttribute && !e3.hasAttribute("aria-hidden") && (i2.push(e3), e3.setAttribute("aria-hidden", "true"));
1118          }));
1119          var n2 = P(this.settings.svg, "next") ? this.settings.svg.next : "", s2 = P(this.settings.svg, "prev") ? this.settings.svg.prev : "", l2 = P(this.settings.svg, "close") ? this.settings.svg.close : "", o2 = this.settings.lightboxHTML;
1120          o2 = y(o2 = (o2 = (o2 = o2.replace(/{nextSVG}/g, n2)).replace(/{prevSVG}/g, s2)).replace(/{closeSVG}/g, l2)), document.body.appendChild(o2);
1121          var a2 = document.getElementById("glightbox-body");
1122          this.modal = a2;
1123          var c2 = a2.querySelector(".gclose");
1124          this.prevButton = a2.querySelector(".gprev"), this.nextButton = a2.querySelector(".gnext"), this.overlay = a2.querySelector(".goverlay"), this.loader = a2.querySelector(".gloader"), this.slidesContainer = document.getElementById("glightbox-slider"), this.bodyHiddenChildElms = i2, this.events = {}, d(this.modal, "glightbox-" + this.settings.skin), this.settings.closeButton && c2 && (this.events.close = h("click", { onElement: c2, withCallback: /* @__PURE__ */ __name(function(t3, i3) {
1125            t3.preventDefault(), e2.close();
1126          }, "withCallback") })), c2 && !this.settings.closeButton && c2.parentNode.removeChild(c2), this.nextButton && (this.events.next = h("click", { onElement: this.nextButton, withCallback: /* @__PURE__ */ __name(function(t3, i3) {
1127            t3.preventDefault(), e2.nextSlide();
1128          }, "withCallback") })), this.prevButton && (this.events.prev = h("click", { onElement: this.prevButton, withCallback: /* @__PURE__ */ __name(function(t3, i3) {
1129            t3.preventDefault(), e2.prevSlide();
1130          }, "withCallback") })), this.settings.closeOnOutsideClick && (this.events.outClose = h("click", { onElement: a2, withCallback: /* @__PURE__ */ __name(function(t3, i3) {
1131            e2.preventOutsideClick || u(document.body, "glightbox-mobile") || g(t3.target, ".ginner-container") || g(t3.target, ".gbtn") || u(t3.target, "gnext") || u(t3.target, "gprev") || e2.close();
1132          }, "withCallback") })), r(this.elements, (function(t3, i3) {
1133            e2.slidesContainer.appendChild(t3.instance.create()), t3.slideNode = e2.slidesContainer.querySelectorAll(".gslide")[i3];
1134          })), Q && d(document.body, "glightbox-touch"), this.events.resize = h("resize", { onElement: window, withCallback: /* @__PURE__ */ __name(function() {
1135            e2.resize();
1136          }, "withCallback") }), this.built = true;
1137        }, "value") }, { key: "resize", value: /* @__PURE__ */ __name(function() {
1138          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1139          if ((e2 = e2 || this.activeSlide) && !u(e2, "zoomed")) {
1140            var t2 = x(), i2 = e2.querySelector(".gvideo-wrapper"), n2 = e2.querySelector(".gslide-image"), s2 = this.slideDescription, l2 = t2.width, o2 = t2.height;
1141            if (l2 <= 768 ? d(document.body, "glightbox-mobile") : c(document.body, "glightbox-mobile"), i2 || n2) {
1142              var r2 = false;
1143              if (s2 && (u(s2, "description-bottom") || u(s2, "description-top")) && !u(s2, "gabsolute") && (r2 = true), n2) {
1144                if (l2 <= 768) n2.querySelector("img");
1145                else if (r2) {
1146                  var a2, h2, g2 = s2.offsetHeight, v2 = n2.querySelector("img"), f2 = null === (a2 = this.elements[this.index]) || void 0 === a2 ? void 0 : a2.node, p2 = "100vh";
1147                  f2 && (p2 = null !== (h2 = f2.getAttribute("data-height")) && void 0 !== h2 ? h2 : p2), v2.setAttribute("style", "max-height: calc(".concat(p2, " - ").concat(g2, "px)")), s2.setAttribute("style", "max-width: ".concat(v2.offsetWidth, "px;"));
1148                }
1149              }
1150              if (i2) {
1151                var m2 = P(this.settings.plyr.config, "ratio") ? this.settings.plyr.config.ratio : "";
1152                if (!m2) {
1153                  var y2 = i2.clientWidth, b2 = i2.clientHeight, S2 = y2 / b2;
1154                  m2 = "".concat(y2 / S2, ":").concat(b2 / S2);
1155                }
1156                var w2 = m2.split(":"), T2 = this.settings.videosWidth, C2 = this.settings.videosWidth, k2 = (C2 = z(T2) || -1 !== T2.indexOf("px") ? parseInt(T2) : -1 !== T2.indexOf("vw") ? l2 * parseInt(T2) / 100 : -1 !== T2.indexOf("vh") ? o2 * parseInt(T2) / 100 : -1 !== T2.indexOf("%") ? l2 * parseInt(T2) / 100 : parseInt(i2.clientWidth)) / (parseInt(w2[0]) / parseInt(w2[1]));
1157                if (k2 = Math.floor(k2), r2 && (o2 -= s2.offsetHeight), C2 > l2 || k2 > o2 || o2 < k2 && l2 > C2) {
1158                  var E2 = i2.offsetWidth, A2 = i2.offsetHeight, L2 = o2 / A2, I2 = { width: E2 * L2, height: A2 * L2 };
1159                  i2.parentNode.setAttribute("style", "max-width: ".concat(I2.width, "px")), r2 && s2.setAttribute("style", "max-width: ".concat(I2.width, "px;"));
1160                } else i2.parentNode.style.maxWidth = "".concat(T2), r2 && s2.setAttribute("style", "max-width: ".concat(T2, ";"));
1161              }
1162            }
1163          }
1164        }, "value") }, { key: "reload", value: /* @__PURE__ */ __name(function() {
1165          this.init();
1166        }, "value") }, { key: "updateNavigationClasses", value: /* @__PURE__ */ __name(function() {
1167          var e2 = this.loop();
1168          c(this.nextButton, "disabled"), c(this.prevButton, "disabled"), 0 == this.index && this.elements.length - 1 == 0 ? (d(this.prevButton, "disabled"), d(this.nextButton, "disabled")) : 0 !== this.index || e2 ? this.index !== this.elements.length - 1 || e2 || d(this.nextButton, "disabled") : d(this.prevButton, "disabled");
1169        }, "value") }, { key: "loop", value: /* @__PURE__ */ __name(function() {
1170          var e2 = P(this.settings, "loopAtEnd") ? this.settings.loopAtEnd : null;
1171          return e2 = P(this.settings, "loop") ? this.settings.loop : e2, e2;
1172        }, "value") }, { key: "close", value: /* @__PURE__ */ __name(function() {
1173          var e2 = this;
1174          if (!this.lightboxOpen) {
1175            if (this.events) {
1176              for (var t2 in this.events) this.events.hasOwnProperty(t2) && this.events[t2].destroy();
1177              this.events = null;
1178            }
1179            return false;
1180          }
1181          if (this.closing) return false;
1182          this.closing = true, this.slidePlayerPause(this.activeSlide), this.fullElementsList && (this.elements = this.fullElementsList), this.bodyHiddenChildElms.length && r(this.bodyHiddenChildElms, (function(e3) {
1183            e3.removeAttribute("aria-hidden");
1184          })), d(this.modal, "glightbox-closing"), v(this.overlay, "none" == this.settings.openEffect ? "none" : this.settings.cssEfects.fade.out), v(this.activeSlide, this.settings.cssEfects[this.settings.closeEffect].out, (function() {
1185            if (e2.activeSlide = null, e2.prevActiveSlideIndex = null, e2.prevActiveSlide = null, e2.built = false, e2.events) {
1186              for (var t3 in e2.events) e2.events.hasOwnProperty(t3) && e2.events[t3].destroy();
1187              e2.events = null;
1188            }
1189            var i2 = document.body;
1190            c(ee, "glightbox-open"), c(i2, "glightbox-open touching gdesc-open glightbox-touch glightbox-mobile gscrollbar-fixer"), e2.modal.parentNode.removeChild(e2.modal), e2.trigger("close"), C(e2.settings.onClose) && e2.settings.onClose();
1191            var n2 = document.querySelector(".gcss-styles");
1192            n2 && n2.parentNode.removeChild(n2), e2.lightboxOpen = false, e2.closing = null;
1193          }));
1194        }, "value") }, { key: "destroy", value: /* @__PURE__ */ __name(function() {
1195          this.close(), this.clearAllEvents(), this.baseEvents && this.baseEvents.destroy();
1196        }, "value") }, { key: "on", value: /* @__PURE__ */ __name(function(e2, t2) {
1197          var i2 = arguments.length > 2 && void 0 !== arguments[2] && arguments[2];
1198          if (!e2 || !C(t2)) throw new TypeError("Event name and callback must be defined");
1199          this.apiEvents.push({ evt: e2, once: i2, callback: t2 });
1200        }, "value") }, { key: "once", value: /* @__PURE__ */ __name(function(e2, t2) {
1201          this.on(e2, t2, true);
1202        }, "value") }, { key: "trigger", value: /* @__PURE__ */ __name(function(e2) {
1203          var t2 = this, i2 = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n2 = [];
1204          r(this.apiEvents, (function(t3, s2) {
1205            var l2 = t3.evt, o2 = t3.once, r2 = t3.callback;
1206            l2 == e2 && (r2(i2), o2 && n2.push(s2));
1207          })), n2.length && r(n2, (function(e3) {
1208            return t2.apiEvents.splice(e3, 1);
1209          }));
1210        }, "value") }, { key: "clearAllEvents", value: /* @__PURE__ */ __name(function() {
1211          this.apiEvents.splice(0, this.apiEvents.length);
1212        }, "value") }, { key: "version", value: /* @__PURE__ */ __name(function() {
1213          return "3.3.1";
1214        }, "value") }]);
1215        return function() {
1216          var e2 = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t2 = new ie(e2);
1217          return t2.init(), t2;
1218        };
1219      }));
1220    }
1221  });
1222
1223  
vendor: 13,729 bytes, lines 1223-1532
1223// node_modules/toastify-js/src/toastify.js
1224  var require_toastify = __commonJS({
1225    "node_modules/toastify-js/src/toastify.js"(exports, module) {
1226      (function(root, factory) {
1227        if (typeof module === "object" && module.exports) {
1228          module.exports = factory();
1229        } else {
1230          root.Toastify = factory();
1231        }
1232      })(exports, function(global) {
1233        var Toastify2 = /* @__PURE__ */ __name(function(options) {
1234          return new Toastify2.lib.init(options);
1235        }, "Toastify"), version = "1.12.0";
1236        Toastify2.defaults = {
1237          oldestFirst: true,
1238          text: "Toastify is awesome!",
1239          node: void 0,
1240          duration: 3e3,
1241          selector: void 0,
1242          callback: /* @__PURE__ */ __name(function() {
1243          }, "callback"),
1244          destination: void 0,
1245          newWindow: false,
1246          close: false,
1247          gravity: "toastify-top",
1248          positionLeft: false,
1249          position: "",
1250          backgroundColor: "",
1251          avatar: "",
1252          className: "",
1253          stopOnFocus: true,
1254          onClick: /* @__PURE__ */ __name(function() {
1255          }, "onClick"),
1256          offset: { x: 0, y: 0 },
1257          escapeMarkup: true,
1258          ariaLive: "polite",
1259          style: { background: "" }
1260        };
1261        Toastify2.lib = Toastify2.prototype = {
1262          toastify: version,
1263          constructor: Toastify2,
1264          // Initializing the object with required parameters
1265          init: /* @__PURE__ */ __name(function(options) {
1266            if (!options) {
1267              options = {};
1268            }
1269            this.options = {};
1270            this.toastElement = null;
1271            this.options.text = options.text || Toastify2.defaults.text;
1272            this.options.node = options.node || Toastify2.defaults.node;
1273            this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify2.defaults.duration;
1274            this.options.selector = options.selector || Toastify2.defaults.selector;
1275            this.options.callback = options.callback || Toastify2.defaults.callback;
1276            this.options.destination = options.destination || Toastify2.defaults.destination;
1277            this.options.newWindow = options.newWindow || Toastify2.defaults.newWindow;
1278            this.options.close = options.close || Toastify2.defaults.close;
1279            this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : Toastify2.defaults.gravity;
1280            this.options.positionLeft = options.positionLeft || Toastify2.defaults.positionLeft;
1281            this.options.position = options.position || Toastify2.defaults.position;
1282            this.options.backgroundColor = options.backgroundColor || Toastify2.defaults.backgroundColor;
1283            this.options.avatar = options.avatar || Toastify2.defaults.avatar;
1284            this.options.className = options.className || Toastify2.defaults.className;
1285            this.options.stopOnFocus = options.stopOnFocus === void 0 ? Toastify2.defaults.stopOnFocus : options.stopOnFocus;
1286            this.options.onClick = options.onClick || Toastify2.defaults.onClick;
1287            this.options.offset = options.offset || Toastify2.defaults.offset;
1288            this.options.escapeMarkup = options.escapeMarkup !== void 0 ? options.escapeMarkup : Toastify2.defaults.escapeMarkup;
1289            this.options.ariaLive = options.ariaLive || Toastify2.defaults.ariaLive;
1290            this.options.style = options.style || Toastify2.defaults.style;
1291            if (options.backgroundColor) {
1292              this.options.style.background = options.backgroundColor;
1293            }
1294            return this;
1295          }, "init"),
1296          // Building the DOM element
1297          buildToast: /* @__PURE__ */ __name(function() {
1298            if (!this.options) {
1299              throw "Toastify is not initialized";
1300            }
1301            var divElement = document.createElement("div");
1302            divElement.className = "toastify on " + this.options.className;
1303            if (!!this.options.position) {
1304              divElement.className += " toastify-" + this.options.position;
1305            } else {
1306              if (this.options.positionLeft === true) {
1307                divElement.className += " toastify-left";
1308                console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.");
1309              } else {
1310                divElement.className += " toastify-right";
1311              }
1312            }
1313            divElement.className += " " + this.options.gravity;
1314            if (this.options.backgroundColor) {
1315              console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.');
1316            }
1317            for (var property in this.options.style) {
1318              divElement.style[property] = this.options.style[property];
1319            }
1320            if (this.options.ariaLive) {
1321              divElement.setAttribute("aria-live", this.options.ariaLive);
1322            }
1323            if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {
1324              divElement.appendChild(this.options.node);
1325            } else {
1326              if (this.options.escapeMarkup) {
1327                divElement.innerText = this.options.text;
1328              } else {
1329                divElement.innerHTML = this.options.text;
1330              }
1331              if (this.options.avatar !== "") {
1332                var avatarElement = document.createElement("img");
1333                avatarElement.src = this.options.avatar;
1334                avatarElement.className = "toastify-avatar";
1335                if (this.options.position == "left" || this.options.positionLeft === true) {
1336                  divElement.appendChild(avatarElement);
1337                } else {
1338                  divElement.insertAdjacentElement("afterbegin", avatarElement);
1339                }
1340              }
1341            }
1342            if (this.options.close === true) {
1343              var closeElement = document.createElement("button");
1344              closeElement.type = "button";
1345              closeElement.setAttribute("aria-label", "Close");
1346              closeElement.className = "toast-close";
1347              closeElement.innerHTML = "&#10006;";
1348              closeElement.addEventListener(
1349                "click",
1350                function(event) {
1351                  event.stopPropagation();
1352                  this.removeElement(this.toastElement);
1353                  window.clearTimeout(this.toastElement.timeOutValue);
1354                }.bind(this)
1355              );
1356              var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
1357              if ((this.options.position == "left" || this.options.positionLeft === true) && width > 360) {
1358                divElement.insertAdjacentElement("afterbegin", closeElement);
1359              } else {
1360                divElement.appendChild(closeElement);
1361              }
1362            }
1363            if (this.options.stopOnFocus && this.options.duration > 0) {
1364              var self2 = this;
1365              divElement.addEventListener(
1366                "mouseover",
1367                function(event) {
1368                  window.clearTimeout(divElement.timeOutValue);
1369                }
1370              );
1371              divElement.addEventListener(
1372                "mouseleave",
1373                function() {
1374                  divElement.timeOutValue = window.setTimeout(
1375                    function() {
1376                      self2.removeElement(divElement);
1377                    },
1378                    self2.options.duration
1379                  );
1380                }
1381              );
1382            }
1383            if (typeof this.options.destination !== "undefined") {
1384              divElement.addEventListener(
1385                "click",
1386                function(event) {
1387                  event.stopPropagation();
1388                  if (this.options.newWindow === true) {
1389                    window.open(this.options.destination, "_blank");
1390                  } else {
1391                    window.location = this.options.destination;
1392                  }
1393                }.bind(this)
1394              );
1395            }
1396            if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") {
1397              divElement.addEventListener(
1398                "click",
1399                function(event) {
1400                  event.stopPropagation();
1401                  this.options.onClick();
1402                }.bind(this)
1403              );
1404            }
1405            if (typeof this.options.offset === "object") {
1406              var x = getAxisOffsetAValue("x", this.options);
1407              var y = getAxisOffsetAValue("y", this.options);
1408              var xOffset = this.options.position == "left" ? x : "-" + x;
1409              var yOffset = this.options.gravity == "toastify-top" ? y : "-" + y;
1410              divElement.style.transform = "translate(" + xOffset + "," + yOffset + ")";
1411            }
1412            return divElement;
1413          }, "buildToast"),
1414          // Displaying the toast
1415          showToast: /* @__PURE__ */ __name(function() {
1416            this.toastElement = this.buildToast();
1417            var rootElement;
1418            if (typeof this.options.selector === "string") {
1419              rootElement = document.getElementById(this.options.selector);
1420            } else if (this.options.selector instanceof HTMLElement || typeof ShadowRoot !== "undefined" && this.options.selector instanceof ShadowRoot) {
1421              rootElement = this.options.selector;
1422            } else {
1423              rootElement = document.body;
1424            }
1425            if (!rootElement) {
1426              throw "Root element is not defined";
1427            }
1428            var elementToInsert = Toastify2.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;
1429            rootElement.insertBefore(this.toastElement, elementToInsert);
1430            Toastify2.reposition();
1431            if (this.options.duration > 0) {
1432              this.toastElement.timeOutValue = window.setTimeout(
1433                function() {
1434                  this.removeElement(this.toastElement);
1435                }.bind(this),
1436                this.options.duration
1437              );
1438            }
1439            return this;
1440          }, "showToast"),
1441          hideToast: /* @__PURE__ */ __name(function() {
1442            if (this.toastElement.timeOutValue) {
1443              clearTimeout(this.toastElement.timeOutValue);
1444            }
1445            this.removeElement(this.toastElement);
1446          }, "hideToast"),
1447          // Removing the element from the DOM
1448          removeElement: /* @__PURE__ */ __name(function(toastElement) {
1449            toastElement.className = toastElement.className.replace(" on", "");
1450            window.setTimeout(
1451              function() {
1452                if (this.options.node && this.options.node.parentNode) {
1453                  this.options.node.parentNode.removeChild(this.options.node);
1454                }
1455                if (toastElement.parentNode) {
1456                  toastElement.parentNode.removeChild(toastElement);
1457                }
1458                this.options.callback.call(toastElement);
1459                Toastify2.reposition();
1460              }.bind(this),
1461              400
1462            );
1463          }, "removeElement")
1464        };
1465        Toastify2.reposition = function() {
1466          var topLeftOffsetSize = {
1467            top: 15,
1468            bottom: 15
1469          };
1470          var topRightOffsetSize = {
1471            top: 15,
1472            bottom: 15
1473          };
1474          var offsetSize = {
1475            top: 15,
1476            bottom: 15
1477          };
1478          var allToasts = document.getElementsByClassName("toastify");
1479          var classUsed;
1480          for (var i = 0; i < allToasts.length; i++) {
1481            if (containsClass(allToasts[i], "toastify-top") === true) {
1482              classUsed = "toastify-top";
1483            } else {
1484              classUsed = "toastify-bottom";
1485            }
1486            var height = allToasts[i].offsetHeight;
1487            classUsed = classUsed.substr(9, classUsed.length - 1);
1488            var offset = 15;
1489            var width = window.innerWidth > 0 ? window.innerWidth : screen.width;
1490            if (width <= 360) {
1491              allToasts[i].style[classUsed] = offsetSize[classUsed] + "px";
1492              offsetSize[classUsed] += height + offset;
1493            } else {
1494              if (containsClass(allToasts[i], "toastify-left") === true) {
1495                allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + "px";
1496                topLeftOffsetSize[classUsed] += height + offset;
1497              } else {
1498                allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + "px";
1499                topRightOffsetSize[classUsed] += height + offset;
1500              }
1501            }
1502          }
1503          return this;
1504        };
1505        function getAxisOffsetAValue(axis, options) {
1506          if (options.offset[axis]) {
1507            if (isNaN(options.offset[axis])) {
1508              return options.offset[axis];
1509            } else {
1510              return options.offset[axis] + "px";
1511            }
1512          }
1513          return "0px";
1514        }
1515        __name(getAxisOffsetAValue, "getAxisOffsetAValue");
1516        function containsClass(elem, yourClass) {
1517          if (!elem || typeof yourClass !== "string") {
1518            return false;
1519          } else if (elem.className && elem.className.trim().split(/\s+/gi).indexOf(yourClass) > -1) {
1520            return true;
1521          } else {
1522            return false;
1523          }
1524        }
1525        __name(containsClass, "containsClass");
1526        Toastify2.lib.init.prototype = Toastify2.lib;
1527        return Toastify2;
1528      });
1529    }
1530  });
1531
1532  
vendor: 110,466 bytes, lines 1532-4271
1532// node_modules/tiny-slider/dist/tiny-slider.js
1533  var require_tiny_slider = __commonJS({
1534    "node_modules/tiny-slider/dist/tiny-slider.js"(exports) {
1535      "use strict";
1536      Object.defineProperty(exports, "__esModule", { value: true });
1537      var win$1 = window;
1538      var raf = win$1.requestAnimationFrame || win$1.webkitRequestAnimationFrame || win$1.mozRequestAnimationFrame || win$1.msRequestAnimationFrame || function(cb) {
1539        return setTimeout(cb, 16);
1540      };
1541      var win = window;
1542      var caf = win.cancelAnimationFrame || win.mozCancelAnimationFrame || function(id) {
1543        clearTimeout(id);
1544      };
1545      function extend() {
1546        var obj, name, copy, target = arguments[0] || {}, i = 1, length = arguments.length;
1547        for (; i < length; i++) {
1548          if ((obj = arguments[i]) !== null) {
1549            for (name in obj) {
1550              copy = obj[name];
1551              if (target === copy) {
1552                continue;
1553              } else if (copy !== void 0) {
1554                target[name] = copy;
1555              }
1556            }
1557          }
1558        }
1559        return target;
1560      }
1561      __name(extend, "extend");
1562      function checkStorageValue(value) {
1563        return ["true", "false"].indexOf(value) >= 0 ? JSON.parse(value) : value;
1564      }
1565      __name(checkStorageValue, "checkStorageValue");
1566      function setLocalStorage(storage, key, value, access) {
1567        if (access) {
1568          try {
1569            storage.setItem(key, value);
1570          } catch (e) {
1571          }
1572        }
1573        return value;
1574      }
1575      __name(setLocalStorage, "setLocalStorage");
1576      function getSlideId() {
1577        var id = window.tnsId;
1578        window.tnsId = !id ? 1 : id + 1;
1579        return "tns" + window.tnsId;
1580      }
1581      __name(getSlideId, "getSlideId");
1582      function getBody() {
1583        var doc = document, body = doc.body;
1584        if (!body) {
1585          body = doc.createElement("body");
1586          body.fake = true;
1587        }
1588        return body;
1589      }
1590      __name(getBody, "getBody");
1591      var docElement = document.documentElement;
1592      function setFakeBody(body) {
1593        var docOverflow = "";
1594        if (body.fake) {
1595          docOverflow = docElement.style.overflow;
1596          body.style.background = "";
1597          body.style.overflow = docElement.style.overflow = "hidden";
1598          docElement.appendChild(body);
1599        }
1600        return docOverflow;
1601      }
1602      __name(setFakeBody, "setFakeBody");
1603      function resetFakeBody(body, docOverflow) {
1604        if (body.fake) {
1605          body.remove();
1606          docElement.style.overflow = docOverflow;
1607          docElement.offsetHeight;
1608        }
1609      }
1610      __name(resetFakeBody, "resetFakeBody");
1611      function calc() {
1612        var doc = document, body = getBody(), docOverflow = setFakeBody(body), div = doc.createElement("div"), result = false;
1613        body.appendChild(div);
1614        try {
1615          var str = "(10px * 10)", vals = ["calc" + str, "-moz-calc" + str, "-webkit-calc" + str], val;
1616          for (var i = 0; i < 3; i++) {
1617            val = vals[i];
1618            div.style.width = val;
1619            if (div.offsetWidth === 100) {
1620              result = val.replace(str, "");
1621              break;
1622            }
1623          }
1624        } catch (e) {
1625        }
1626        body.fake ? resetFakeBody(body, docOverflow) : div.remove();
1627        return result;
1628      }
1629      __name(calc, "calc");
1630      function percentageLayout() {
1631        var doc = document, body = getBody(), docOverflow = setFakeBody(body), wrapper = doc.createElement("div"), outer = doc.createElement("div"), str = "", count = 70, perPage = 3, supported = false;
1632        wrapper.className = "tns-t-subp2";
1633        outer.className = "tns-t-ct";
1634        for (var i = 0; i < count; i++) {
1635          str += "<div></div>";
1636        }
1637        outer.innerHTML = str;
1638        wrapper.appendChild(outer);
1639        body.appendChild(wrapper);
1640        supported = Math.abs(wrapper.getBoundingClientRect().left - outer.children[count - perPage].getBoundingClientRect().left) < 2;
1641        body.fake ? resetFakeBody(body, docOverflow) : wrapper.remove();
1642        return supported;
1643      }
1644      __name(percentageLayout, "percentageLayout");
1645      function mediaquerySupport() {
1646        if (window.matchMedia || window.msMatchMedia) {
1647          return true;
1648        }
1649        var doc = document, body = getBody(), docOverflow = setFakeBody(body), div = doc.createElement("div"), style = doc.createElement("style"), rule = "@media all and (min-width:1px){.tns-mq-test{position:absolute}}", position;
1650        style.type = "text/css";
1651        div.className = "tns-mq-test";
1652        body.appendChild(style);
1653        body.appendChild(div);
1654        if (style.styleSheet) {
1655          style.styleSheet.cssText = rule;
1656        } else {
1657          style.appendChild(doc.createTextNode(rule));
1658        }
1659        position = window.getComputedStyle ? window.getComputedStyle(div).position : div.currentStyle["position"];
1660        body.fake ? resetFakeBody(body, docOverflow) : div.remove();
1661        return position === "absolute";
1662      }
1663      __name(mediaquerySupport, "mediaquerySupport");
1664      function createStyleSheet(media, nonce) {
1665        var style = document.createElement("style");
1666        if (media) {
1667          style.setAttribute("media", media);
1668        }
1669        if (nonce) {
1670          style.setAttribute("nonce", nonce);
1671        }
1672        document.querySelector("head").appendChild(style);
1673        return style.sheet ? style.sheet : style.styleSheet;
1674      }
1675      __name(createStyleSheet, "createStyleSheet");
1676      function addCSSRule(sheet, selector3, rules, index) {
1677        "insertRule" in sheet ? sheet.insertRule(selector3 + "{" + rules + "}", index) : sheet.addRule(selector3, rules, index);
1678      }
1679      __name(addCSSRule, "addCSSRule");
1680      function removeCSSRule(sheet, index) {
1681        "deleteRule" in sheet ? sheet.deleteRule(index) : sheet.removeRule(index);
1682      }
1683      __name(removeCSSRule, "removeCSSRule");
1684      function getCssRulesLength(sheet) {
1685        var rule = "insertRule" in sheet ? sheet.cssRules : sheet.rules;
1686        return rule.length;
1687      }
1688      __name(getCssRulesLength, "getCssRulesLength");
1689      function toDegree(y, x) {
1690        return Math.atan2(y, x) * (180 / Math.PI);
1691      }
1692      __name(toDegree, "toDegree");
1693      function getTouchDirection(angle, range) {
1694        var direction = false, gap = Math.abs(90 - Math.abs(angle));
1695        if (gap >= 90 - range) {
1696          direction = "horizontal";
1697        } else if (gap <= range) {
1698          direction = "vertical";
1699        }
1700        return direction;
1701      }
1702      __name(getTouchDirection, "getTouchDirection");
1703      function forEach(arr, callback, scope) {
1704        for (var i = 0, l = arr.length; i < l; i++) {
1705          callback.call(scope, arr[i], i);
1706        }
1707      }
1708      __name(forEach, "forEach");
1709      var classListSupport = "classList" in document.createElement("_");
1710      var hasClass = classListSupport ? function(el, str) {
1711        return el.classList.contains(str);
1712      } : function(el, str) {
1713        return el.className.indexOf(str) >= 0;
1714      };
1715      var addClass = classListSupport ? function(el, str) {
1716        if (!hasClass(el, str)) {
1717          el.classList.add(str);
1718        }
1719      } : function(el, str) {
1720        if (!hasClass(el, str)) {
1721          el.className += " " + str;
1722        }
1723      };
1724      var removeClass = classListSupport ? function(el, str) {
1725        if (hasClass(el, str)) {
1726          el.classList.remove(str);
1727        }
1728      } : function(el, str) {
1729        if (hasClass(el, str)) {
1730          el.className = el.className.replace(str, "");
1731        }
1732      };
1733      function hasAttr(el, attr) {
1734        return el.hasAttribute(attr);
1735      }
1736      __name(hasAttr, "hasAttr");
1737      function getAttr(el, attr) {
1738        return el.getAttribute(attr);
1739      }
1740      __name(getAttr, "getAttr");
1741      function isNodeList(el) {
1742        return typeof el.item !== "undefined";
1743      }
1744      __name(isNodeList, "isNodeList");
1745      function setAttrs(els, attrs) {
1746        els = isNodeList(els) || els instanceof Array ? els : [els];
1747        if (Object.prototype.toString.call(attrs) !== "[object Object]") {
1748          return;
1749        }
1750        for (var i = els.length; i--; ) {
1751          for (var key in attrs) {
1752            els[i].setAttribute(key, attrs[key]);
1753          }
1754        }
1755      }
1756      __name(setAttrs, "setAttrs");
1757      function removeAttrs(els, attrs) {
1758        els = isNodeList(els) || els instanceof Array ? els : [els];
1759        attrs = attrs instanceof Array ? attrs : [attrs];
1760        var attrLength = attrs.length;
1761        for (var i = els.length; i--; ) {
1762          for (var j = attrLength; j--; ) {
1763            els[i].removeAttribute(attrs[j]);
1764          }
1765        }
1766      }
1767      __name(removeAttrs, "removeAttrs");
1768      function arrayFromNodeList(nl) {
1769        var arr = [];
1770        for (var i = 0, l = nl.length; i < l; i++) {
1771          arr.push(nl[i]);
1772        }
1773        return arr;
1774      }
1775      __name(arrayFromNodeList, "arrayFromNodeList");
1776      function hideElement(el, forceHide) {
1777        if (el.style.display !== "none") {
1778          el.style.display = "none";
1779        }
1780      }
1781      __name(hideElement, "hideElement");
1782      function showElement(el, forceHide) {
1783        if (el.style.display === "none") {
1784          el.style.display = "";
1785        }
1786      }
1787      __name(showElement, "showElement");
1788      function isVisible(el) {
1789        return window.getComputedStyle(el).display !== "none";
1790      }
1791      __name(isVisible, "isVisible");
1792      function whichProperty(props) {
1793        if (typeof props === "string") {
1794          var arr = [props], Props = props.charAt(0).toUpperCase() + props.substr(1), prefixes = ["Webkit", "Moz", "ms", "O"];
1795          prefixes.forEach(function(prefix) {
1796            if (prefix !== "ms" || props === "transform") {
1797              arr.push(prefix + Props);
1798            }
1799          });
1800          props = arr;
1801        }
1802        var el = document.createElement("fakeelement");
1803        props.length;
1804        for (var i = 0; i < props.length; i++) {
1805          var prop = props[i];
1806          if (el.style[prop] !== void 0) {
1807            return prop;
1808          }
1809        }
1810        return false;
1811      }
1812      __name(whichProperty, "whichProperty");
1813      function has3DTransforms(tf) {
1814        if (!tf) {
1815          return false;
1816        }
1817        if (!window.getComputedStyle) {
1818          return false;
1819        }
1820        var doc = document, body = getBody(), docOverflow = setFakeBody(body), el = doc.createElement("p"), has3d, cssTF = tf.length > 9 ? "-" + tf.slice(0, -9).toLowerCase() + "-" : "";
1821        cssTF += "transform";
1822        body.insertBefore(el, null);
1823        el.style[tf] = "translate3d(1px,1px,1px)";
1824        has3d = window.getComputedStyle(el).getPropertyValue(cssTF);
1825        body.fake ? resetFakeBody(body, docOverflow) : el.remove();
1826        return has3d !== void 0 && has3d.length > 0 && has3d !== "none";
1827      }
1828      __name(has3DTransforms, "has3DTransforms");
1829      function getEndProperty(propIn, propOut) {
1830        var endProp = false;
1831        if (/^Webkit/.test(propIn)) {
1832          endProp = "webkit" + propOut + "End";
1833        } else if (/^O/.test(propIn)) {
1834          endProp = "o" + propOut + "End";
1835        } else if (propIn) {
1836          endProp = propOut.toLowerCase() + "end";
1837        }
1838        return endProp;
1839      }
1840      __name(getEndProperty, "getEndProperty");
1841      var supportsPassive = false;
1842      try {
1843        opts = Object.defineProperty({}, "passive", {
1844          get: /* @__PURE__ */ __name(function() {
1845            supportsPassive = true;
1846          }, "get")
1847        });
1848        window.addEventListener("test", null, opts);
1849      } catch (e) {
1850      }
1851      var opts;
1852      var passiveOption = supportsPassive ? {
1853        passive: true
1854      } : false;
1855      function addEvents(el, obj, preventScrolling) {
1856        for (var prop in obj) {
1857          var option = ["touchstart", "touchmove"].indexOf(prop) >= 0 && !preventScrolling ? passiveOption : false;
1858          el.addEventListener(prop, obj[prop], option);
1859        }
1860      }
1861      __name(addEvents, "addEvents");
1862      function removeEvents(el, obj) {
1863        for (var prop in obj) {
1864          var option = ["touchstart", "touchmove"].indexOf(prop) >= 0 ? passiveOption : false;
1865          el.removeEventListener(prop, obj[prop], option);
1866        }
1867      }
1868      __name(removeEvents, "removeEvents");
1869      function Events() {
1870        return {
1871          topics: {},
1872          on: /* @__PURE__ */ __name(function(eventName, fn) {
1873            this.topics[eventName] = this.topics[eventName] || [];
1874            this.topics[eventName].push(fn);
1875          }, "on"),
1876          off: /* @__PURE__ */ __name(function(eventName, fn) {
1877            if (this.topics[eventName]) {
1878              for (var i = 0; i < this.topics[eventName].length; i++) {
1879                if (this.topics[eventName][i] === fn) {
1880                  this.topics[eventName].splice(i, 1);
1881                  break;
1882                }
1883              }
1884            }
1885          }, "off"),
1886          emit: /* @__PURE__ */ __name(function(eventName, data) {
1887            data.type = eventName;
1888            if (this.topics[eventName]) {
1889              this.topics[eventName].forEach(function(fn) {
1890                fn(data, eventName);
1891              });
1892            }
1893          }, "emit")
1894        };
1895      }
1896      __name(Events, "Events");
1897      function jsTransform(element, attr, prefix, postfix, to, duration, callback) {
1898        var tick = Math.min(duration, 10), unit = to.indexOf("%") >= 0 ? "%" : "px", to = to.replace(unit, ""), from = Number(element.style[attr].replace(prefix, "").replace(postfix, "").replace(unit, "")), positionTick = (to - from) / duration * tick;
1899        setTimeout(moveElement, tick);
1900        function moveElement() {
1901          duration -= tick;
1902          from += positionTick;
1903          element.style[attr] = prefix + from + unit + postfix;
1904          if (duration > 0) {
1905            setTimeout(moveElement, tick);
1906          } else {
1907            callback();
1908          }
1909        }
1910        __name(moveElement, "moveElement");
1911      }
1912      __name(jsTransform, "jsTransform");
1913      if (!Object.keys) {
1914        Object.keys = function(object) {
1915          var keys = [];
1916          for (var name in object) {
1917            if (Object.prototype.hasOwnProperty.call(object, name)) {
1918              keys.push(name);
1919            }
1920          }
1921          return keys;
1922        };
1923      }
1924      if (!("remove" in Element.prototype)) {
1925        Element.prototype.remove = function() {
1926          if (this.parentNode) {
1927            this.parentNode.removeChild(this);
1928          }
1929        };
1930      }
1931      var tns2 = /* @__PURE__ */ __name(function(options) {
1932        options = extend({
1933          container: ".slider",
1934          mode: "carousel",
1935          axis: "horizontal",
1936          items: 1,
1937          gutter: 0,
1938          edgePadding: 0,
1939          fixedWidth: false,
1940          autoWidth: false,
1941          viewportMax: false,
1942          slideBy: 1,
1943          center: false,
1944          controls: true,
1945          controlsPosition: "top",
1946          controlsText: ["prev", "next"],
1947          controlsContainer: false,
1948          prevButton: false,
1949          nextButton: false,
1950          nav: true,
1951          navPosition: "top",
1952          navContainer: false,
1953          navAsThumbnails: false,
1954          arrowKeys: false,
1955          speed: 300,
1956          autoplay: false,
1957          autoplayPosition: "top",
1958          autoplayTimeout: 5e3,
1959          autoplayDirection: "forward",
1960          autoplayText: ["start", "stop"],
1961          autoplayHoverPause: false,
1962          autoplayButton: false,
1963          autoplayButtonOutput: true,
1964          autoplayResetOnVisibility: true,
1965          animateIn: "tns-fadeIn",
1966          animateOut: "tns-fadeOut",
1967          animateNormal: "tns-normal",
1968          animateDelay: false,
1969          loop: true,
1970          rewind: false,
1971          autoHeight: false,
1972          responsive: false,
1973          lazyload: false,
1974          lazyloadSelector: ".tns-lazy-img",
1975          touch: true,
1976          mouseDrag: false,
1977          swipeAngle: 15,
1978          nested: false,
1979          preventActionWhenRunning: false,
1980          preventScrollOnTouch: false,
1981          freezable: true,
1982          onInit: false,
1983          useLocalStorage: true,
1984          nonce: false
1985        }, options || {});
1986        var doc = document, win2 = window, KEYS = {
1987          ENTER: 13,
1988          SPACE: 32,
1989          LEFT: 37,
1990          RIGHT: 39
1991        }, tnsStorage = {}, localStorageAccess = options.useLocalStorage;
1992        if (localStorageAccess) {
1993          var browserInfo = navigator.userAgent;
1994          var uid = /* @__PURE__ */ new Date();
1995          try {
1996            tnsStorage = win2.localStorage;
1997            if (tnsStorage) {
1998              tnsStorage.setItem(uid, uid);
1999              localStorageAccess = tnsStorage.getItem(uid) == uid;
2000              tnsStorage.removeItem(uid);
2001            } else {
2002              localStorageAccess = false;
2003            }
2004            if (!localStorageAccess) {
2005              tnsStorage = {};
2006            }
2007          } catch (e) {
2008            localStorageAccess = false;
2009          }
2010          if (localStorageAccess) {
2011            if (tnsStorage["tnsApp"] && tnsStorage["tnsApp"] !== browserInfo) {
2012              ["tC", "tPL", "tMQ", "tTf", "t3D", "tTDu", "tTDe", "tADu", "tADe", "tTE", "tAE"].forEach(function(item) {
2013                tnsStorage.removeItem(item);
2014              });
2015            }
2016            localStorage["tnsApp"] = browserInfo;
2017          }
2018        }
2019        var CALC = tnsStorage["tC"] ? checkStorageValue(tnsStorage["tC"]) : setLocalStorage(tnsStorage, "tC", calc(), localStorageAccess), PERCENTAGELAYOUT = tnsStorage["tPL"] ? checkStorageValue(tnsStorage["tPL"]) : setLocalStorage(tnsStorage, "tPL", percentageLayout(), localStorageAccess), CSSMQ = tnsStorage["tMQ"] ? checkStorageValue(tnsStorage["tMQ"]) : setLocalStorage(tnsStorage, "tMQ", mediaquerySupport(), localStorageAccess), TRANSFORM = tnsStorage["tTf"] ? checkStorageValue(tnsStorage["tTf"]) : setLocalStorage(tnsStorage, "tTf", whichProperty("transform"), localStorageAccess), HAS3DTRANSFORMS = tnsStorage["t3D"] ? checkStorageValue(tnsStorage["t3D"]) : setLocalStorage(tnsStorage, "t3D", has3DTransforms(TRANSFORM), localStorageAccess), TRANSITIONDURATION = tnsStorage["tTDu"] ? checkStorageValue(tnsStorage["tTDu"]) : setLocalStorage(tnsStorage, "tTDu", whichProperty("transitionDuration"), localStorageAccess), TRANSITIONDELAY = tnsStorage["tTDe"] ? checkStorageValue(tnsStorage["tTDe"]) : setLocalStorage(tnsStorage, "tTDe", whichProperty("transitionDelay"), localStorageAccess), ANIMATIONDURATION = tnsStorage["tADu"] ? checkStorageValue(tnsStorage["tADu"]) : setLocalStorage(tnsStorage, "tADu", whichProperty("animationDuration"), localStorageAccess), ANIMATIONDELAY = tnsStorage["tADe"] ? checkStorageValue(tnsStorage["tADe"]) : setLocalStorage(tnsStorage, "tADe", whichProperty("animationDelay"), localStorageAccess), TRANSITIONEND = tnsStorage["tTE"] ? checkStorageValue(tnsStorage["tTE"]) : setLocalStorage(tnsStorage, "tTE", getEndProperty(TRANSITIONDURATION, "Transition"), localStorageAccess), ANIMATIONEND = tnsStorage["tAE"] ? checkStorageValue(tnsStorage["tAE"]) : setLocalStorage(tnsStorage, "tAE", getEndProperty(ANIMATIONDURATION, "Animation"), localStorageAccess);
2020        var supportConsoleWarn = win2.console && typeof win2.console.warn === "function", tnsList = ["container", "controlsContainer", "prevButton", "nextButton", "navContainer", "autoplayButton"], optionsElements = {};
2021        tnsList.forEach(function(item) {
2022          if (typeof options[item] === "string") {
2023            var str = options[item], el = doc.querySelector(str);
2024            optionsElements[item] = str;
2025            if (el && el.nodeName) {
2026              options[item] = el;
2027            } else {
2028              if (supportConsoleWarn) {
2029                console.warn("Can't find", options[item]);
2030              }
2031              return;
2032            }
2033          }
2034        });
2035        if (options.container.children.length < 1) {
2036          if (supportConsoleWarn) {
2037            console.warn("No slides found in", options.container);
2038          }
2039          return;
2040        }
2041        var responsive = options.responsive, nested = options.nested, carousel = options.mode === "carousel" ? true : false;
2042        if (responsive) {
2043          if (0 in responsive) {
2044            options = extend(options, responsive[0]);
2045            delete responsive[0];
2046          }
2047          var responsiveTem = {};
2048          for (var key in responsive) {
2049            var val = responsive[key];
2050            val = typeof val === "number" ? {
2051              items: val
2052            } : val;
2053            responsiveTem[key] = val;
2054          }
2055          responsive = responsiveTem;
2056          responsiveTem = null;
2057        }
2058        function updateOptions(obj) {
2059          for (var key2 in obj) {
2060            if (!carousel) {
2061              if (key2 === "slideBy") {
2062                obj[key2] = "page";
2063              }
2064              if (key2 === "edgePadding") {
2065                obj[key2] = false;
2066              }
2067              if (key2 === "autoHeight") {
2068                obj[key2] = false;
2069              }
2070            }
2071            if (key2 === "responsive") {
2072              updateOptions(obj[key2]);
2073            }
2074          }
2075        }
2076        __name(updateOptions, "updateOptions");
2077        if (!carousel) {
2078          updateOptions(options);
2079        }
2080        if (!carousel) {
2081          options.axis = "horizontal";
2082          options.slideBy = "page";
2083          options.edgePadding = false;
2084          var animateIn = options.animateIn, animateOut = options.animateOut, animateDelay = options.animateDelay, animateNormal = options.animateNormal;
2085        }
2086        var horizontal = options.axis === "horizontal" ? true : false, outerWrapper = doc.createElement("div"), innerWrapper = doc.createElement("div"), middleWrapper, container = options.container, containerParent = container.parentNode, containerHTML = container.outerHTML, slideItems = container.children, slideCount = slideItems.length, breakpointZone, windowWidth = getWindowWidth(), isOn = false;
2087        if (responsive) {
2088          setBreakpointZone();
2089        }
2090        if (carousel) {
2091          container.className += " tns-vpfix";
2092        }
2093        var autoWidth = options.autoWidth, fixedWidth = getOption("fixedWidth"), edgePadding = getOption("edgePadding"), gutter = getOption("gutter"), viewport = getViewportWidth(), center = getOption("center"), items = !autoWidth ? Math.floor(getOption("items")) : 1, slideBy = getOption("slideBy"), viewportMax = options.viewportMax || options.fixedWidthViewportWidth, arrowKeys = getOption("arrowKeys"), speed = getOption("speed"), rewind = options.rewind, loop = rewind ? false : options.loop, autoHeight = getOption("autoHeight"), controls = getOption("controls"), controlsText = getOption("controlsText"), nav = getOption("nav"), touch = getOption("touch"), mouseDrag = getOption("mouseDrag"), autoplay = getOption("autoplay"), autoplayTimeout = getOption("autoplayTimeout"), autoplayText = getOption("autoplayText"), autoplayHoverPause = getOption("autoplayHoverPause"), autoplayResetOnVisibility = getOption("autoplayResetOnVisibility"), sheet = createStyleSheet(null, getOption("nonce")), lazyload = options.lazyload, lazyloadSelector = options.lazyloadSelector, slidePositions, slideItemsOut = [], cloneCount = loop ? getCloneCountForLoop() : 0, slideCountNew = !carousel ? slideCount + cloneCount : slideCount + cloneCount * 2, hasRightDeadZone = (fixedWidth || autoWidth) && !loop ? true : false, rightBoundary = fixedWidth ? getRightBoundary() : null, updateIndexBeforeTransform = !carousel || !loop ? true : false, transformAttr = horizontal ? "left" : "top", transformPrefix = "", transformPostfix = "", getIndexMax = (function() {
2094          if (fixedWidth) {
2095            return function() {
2096              return center && !loop ? slideCount - 1 : Math.ceil(-rightBoundary / (fixedWidth + gutter));
2097            };
2098          } else if (autoWidth) {
2099            return function() {
2100              for (var i = 0; i < slideCountNew; i++) {
2101                if (slidePositions[i] >= -rightBoundary) {
2102                  return i;
2103                }
2104              }
2105            };
2106          } else {
2107            return function() {
2108              if (center && carousel && !loop) {
2109                return slideCount - 1;
2110              } else {
2111                return loop || carousel ? Math.max(0, slideCountNew - Math.ceil(items)) : slideCountNew - 1;
2112              }
2113            };
2114          }
2115        })(), index = getStartIndex(getOption("startIndex")), indexCached = index;
2116        getCurrentSlide();
2117        var indexMin = 0, indexMax = !autoWidth ? getIndexMax() : null, preventActionWhenRunning = options.preventActionWhenRunning, swipeAngle = options.swipeAngle, moveDirectionExpected = swipeAngle ? "?" : true, running = false, onInit = options.onInit, events = new Events(), newContainerClasses = " tns-slider tns-" + options.mode, slideId = container.id || getSlideId(), disable = getOption("disable"), disabled = false, freezable = options.freezable, freeze = freezable && !autoWidth ? getFreeze() : false, frozen = false, controlsEvents = {
2118          "click": onControlsClick,
2119          "keydown": onControlsKeydown
2120        }, navEvents = {
2121          "click": onNavClick,
2122          "keydown": onNavKeydown
2123        }, hoverEvents = {
2124          "mouseover": mouseoverPause,
2125          "mouseout": mouseoutRestart
2126        }, visibilityEvent = {
2127          "visibilitychange": onVisibilityChange
2128        }, docmentKeydownEvent = {
2129          "keydown": onDocumentKeydown
2130        }, touchEvents = {
2131          "touchstart": onPanStart,
2132          "touchmove": onPanMove,
2133          "touchend": onPanEnd,
2134          "touchcancel": onPanEnd
2135        }, dragEvents = {
2136          "mousedown": onPanStart,
2137          "mousemove": onPanMove,
2138          "mouseup": onPanEnd,
2139          "mouseleave": onPanEnd
2140        }, hasControls = hasOption("controls"), hasNav = hasOption("nav"), navAsThumbnails = autoWidth ? true : options.navAsThumbnails, hasAutoplay = hasOption("autoplay"), hasTouch = hasOption("touch"), hasMouseDrag = hasOption("mouseDrag"), slideActiveClass = "tns-slide-active", slideClonedClass = "tns-slide-cloned", imgCompleteClass = "tns-complete", imgEvents = {
2141          "load": onImgLoaded,
2142          "error": onImgFailed
2143        }, imgsComplete, liveregionCurrent, preventScroll = options.preventScrollOnTouch === "force" ? true : false;
2144        if (hasControls) {
2145          var controlsContainer = options.controlsContainer, controlsContainerHTML = options.controlsContainer ? options.controlsContainer.outerHTML : "", prevButton = options.prevButton, nextButton = options.nextButton, prevButtonHTML = options.prevButton ? options.prevButton.outerHTML : "", nextButtonHTML = options.nextButton ? options.nextButton.outerHTML : "", prevIsButton, nextIsButton;
2146        }
2147        if (hasNav) {
2148          var navContainer = options.navContainer, navContainerHTML = options.navContainer ? options.navContainer.outerHTML : "", navItems, pages = autoWidth ? slideCount : getPages(), pagesCached = 0, navClicked = -1, navCurrentIndex = getCurrentNavIndex(), navCurrentIndexCached = navCurrentIndex, navActiveClass = "tns-nav-active", navStr = "Carousel Page ", navStrCurrent = " (Current Slide)";
2149        }
2150        if (hasAutoplay) {
2151          var autoplayDirection = options.autoplayDirection === "forward" ? 1 : -1, autoplayButton = options.autoplayButton, autoplayButtonHTML = options.autoplayButton ? options.autoplayButton.outerHTML : "", autoplayHtmlStrings = ["<span class='tns-visually-hidden'>", " animation</span>"], autoplayTimer, animating, autoplayHoverPaused, autoplayUserPaused, autoplayVisibilityPaused;
2152        }
2153        if (hasTouch || hasMouseDrag) {
2154          var initPosition = {}, lastPosition = {}, translateInit, panStart = false, rafIndex, getDist = horizontal ? function(a, b) {
2155            return a.x - b.x;
2156          } : function(a, b) {
2157            return a.y - b.y;
2158          };
2159        }
2160        if (!autoWidth) {
2161          resetVariblesWhenDisable(disable || freeze);
2162        }
2163        if (TRANSFORM) {
2164          transformAttr = TRANSFORM;
2165          transformPrefix = "translate";
2166          if (HAS3DTRANSFORMS) {
2167            transformPrefix += horizontal ? "3d(" : "3d(0px, ";
2168            transformPostfix = horizontal ? ", 0px, 0px)" : ", 0px)";
2169          } else {
2170            transformPrefix += horizontal ? "X(" : "Y(";
2171            transformPostfix = ")";
2172          }
2173        }
2174        if (carousel) {
2175          container.className = container.className.replace("tns-vpfix", "");
2176        }
2177        initStructure();
2178        initSheet();
2179        initSliderTransform();
2180        function resetVariblesWhenDisable(condition) {
2181          if (condition) {
2182            controls = nav = touch = mouseDrag = arrowKeys = autoplay = autoplayHoverPause = autoplayResetOnVisibility = false;
2183          }
2184        }
2185        __name(resetVariblesWhenDisable, "resetVariblesWhenDisable");
2186        function getCurrentSlide() {
2187          var tem = carousel ? index - cloneCount : index;
2188          while (tem < 0) {
2189            tem += slideCount;
2190          }
2191          return tem % slideCount + 1;
2192        }
2193        __name(getCurrentSlide, "getCurrentSlide");
2194        function getStartIndex(ind) {
2195          ind = ind ? Math.max(0, Math.min(loop ? slideCount - 1 : slideCount - items, ind)) : 0;
2196          return carousel ? ind + cloneCount : ind;
2197        }
2198        __name(getStartIndex, "getStartIndex");
2199        function getAbsIndex(i) {
2200          if (i == null) {
2201            i = index;
2202          }
2203          if (carousel) {
2204            i -= cloneCount;
2205          }
2206          while (i < 0) {
2207            i += slideCount;
2208          }
2209          return Math.floor(i % slideCount);
2210        }
2211        __name(getAbsIndex, "getAbsIndex");
2212        function getCurrentNavIndex() {
2213          var absIndex = getAbsIndex(), result;
2214          result = navAsThumbnails ? absIndex : fixedWidth || autoWidth ? Math.ceil((absIndex + 1) * pages / slideCount - 1) : Math.floor(absIndex / items);
2215          if (!loop && carousel && index === indexMax) {
2216            result = pages - 1;
2217          }
2218          return result;
2219        }
2220        __name(getCurrentNavIndex, "getCurrentNavIndex");
2221        function getItemsMax() {
2222          if (autoWidth || fixedWidth && !viewportMax) {
2223            return slideCount - 1;
2224          } else {
2225            var str = fixedWidth ? "fixedWidth" : "items", arr = [];
2226            if (fixedWidth || options[str] < slideCount) {
2227              arr.push(options[str]);
2228            }
2229            if (responsive) {
2230              for (var bp in responsive) {
2231                var tem = responsive[bp][str];
2232                if (tem && (fixedWidth || tem < slideCount)) {
2233                  arr.push(tem);
2234                }
2235              }
2236            }
2237            if (!arr.length) {
2238              arr.push(0);
2239            }
2240            return Math.ceil(fixedWidth ? viewportMax / Math.min.apply(null, arr) : Math.max.apply(null, arr));
2241          }
2242        }
2243        __name(getItemsMax, "getItemsMax");
2244        function getCloneCountForLoop() {
2245          var itemsMax = getItemsMax(), result = carousel ? Math.ceil((itemsMax * 5 - slideCount) / 2) : itemsMax * 4 - slideCount;
2246          result = Math.max(itemsMax, result);
2247          return hasOption("edgePadding") ? result + 1 : result;
2248        }
2249        __name(getCloneCountForLoop, "getCloneCountForLoop");
2250        function getWindowWidth() {
2251          return win2.innerWidth || doc.documentElement.clientWidth || doc.body.clientWidth;
2252        }
2253        __name(getWindowWidth, "getWindowWidth");
2254        function getInsertPosition(pos) {
2255          return pos === "top" ? "afterbegin" : "beforeend";
2256        }
2257        __name(getInsertPosition, "getInsertPosition");
2258        function getClientWidth(el) {
2259          if (el == null) {
2260            return;
2261          }
2262          var div = doc.createElement("div"), rect, width;
2263          el.appendChild(div);
2264          rect = div.getBoundingClientRect();
2265          width = rect.right - rect.left;
2266          div.remove();
2267          return width || getClientWidth(el.parentNode);
2268        }
2269        __name(getClientWidth, "getClientWidth");
2270        function getViewportWidth() {
2271          var gap = edgePadding ? edgePadding * 2 - gutter : 0;
2272          return getClientWidth(containerParent) - gap;
2273        }
2274        __name(getViewportWidth, "getViewportWidth");
2275        function hasOption(item) {
2276          if (options[item]) {
2277            return true;
2278          } else {
2279            if (responsive) {
2280              for (var bp in responsive) {
2281                if (responsive[bp][item]) {
2282                  return true;
2283                }
2284              }
2285            }
2286            return false;
2287          }
2288        }
2289        __name(hasOption, "hasOption");
2290        function getOption(item, ww) {
2291          if (ww == null) {
2292            ww = windowWidth;
2293          }
2294          if (item === "items" && fixedWidth) {
2295            return Math.floor((viewport + gutter) / (fixedWidth + gutter)) || 1;
2296          } else {
2297            var result = options[item];
2298            if (responsive) {
2299              for (var bp in responsive) {
2300                if (ww >= parseInt(bp)) {
2301                  if (item in responsive[bp]) {
2302                    result = responsive[bp][item];
2303                  }
2304                }
2305              }
2306            }
2307            if (item === "slideBy" && result === "page") {
2308              result = getOption("items");
2309            }
2310            if (!carousel && (item === "slideBy" || item === "items")) {
2311              result = Math.floor(result);
2312            }
2313            return result;
2314          }
2315        }
2316        __name(getOption, "getOption");
2317        function getSlideMarginLeft(i) {
2318          return CALC ? CALC + "(" + i * 100 + "% / " + slideCountNew + ")" : i * 100 / slideCountNew + "%";
2319        }
2320        __name(getSlideMarginLeft, "getSlideMarginLeft");
2321        function getInnerWrapperStyles(edgePaddingTem, gutterTem, fixedWidthTem, speedTem, autoHeightBP) {
2322          var str = "";
2323          if (edgePaddingTem !== void 0) {
2324            var gap = edgePaddingTem;
2325            if (gutterTem) {
2326              gap -= gutterTem;
2327            }
2328            str = horizontal ? "margin: 0 " + gap + "px 0 " + edgePaddingTem + "px;" : "margin: " + edgePaddingTem + "px 0 " + gap + "px 0;";
2329          } else if (gutterTem && !fixedWidthTem) {
2330            var gutterTemUnit = "-" + gutterTem + "px", dir = horizontal ? gutterTemUnit + " 0 0" : "0 " + gutterTemUnit + " 0";
2331            str = "margin: 0 " + dir + ";";
2332          }
2333          if (!carousel && autoHeightBP && TRANSITIONDURATION && speedTem) {
2334            str += getTransitionDurationStyle(speedTem);
2335          }
2336          return str;
2337        }
2338        __name(getInnerWrapperStyles, "getInnerWrapperStyles");
2339        function getContainerWidth(fixedWidthTem, gutterTem, itemsTem) {
2340          if (fixedWidthTem) {
2341            return (fixedWidthTem + gutterTem) * slideCountNew + "px";
2342          } else {
2343            return CALC ? CALC + "(" + slideCountNew * 100 + "% / " + itemsTem + ")" : slideCountNew * 100 / itemsTem + "%";
2344          }
2345        }
2346        __name(getContainerWidth, "getContainerWidth");
2347        function getSlideWidthStyle(fixedWidthTem, gutterTem, itemsTem) {
2348          var width;
2349          if (fixedWidthTem) {
2350            width = fixedWidthTem + gutterTem + "px";
2351          } else {
2352            if (!carousel) {
2353              itemsTem = Math.floor(itemsTem);
2354            }
2355            var dividend = carousel ? slideCountNew : itemsTem;
2356            width = CALC ? CALC + "(100% / " + dividend + ")" : 100 / dividend + "%";
2357          }
2358          width = "width:" + width;
2359          return nested !== "inner" ? width + ";" : width + " !important;";
2360        }
2361        __name(getSlideWidthStyle, "getSlideWidthStyle");
2362        function getSlideGutterStyle(gutterTem) {
2363          var str = "";
2364          if (gutterTem !== false) {
2365            var prop = horizontal ? "padding-" : "margin-", dir = horizontal ? "right" : "bottom";
2366            str = prop + dir + ": " + gutterTem + "px;";
2367          }
2368          return str;
2369        }
2370        __name(getSlideGutterStyle, "getSlideGutterStyle");
2371        function getCSSPrefix(name, num) {
2372          var prefix = name.substring(0, name.length - num).toLowerCase();
2373          if (prefix) {
2374            prefix = "-" + prefix + "-";
2375          }
2376          return prefix;
2377        }
2378        __name(getCSSPrefix, "getCSSPrefix");
2379        function getTransitionDurationStyle(speed2) {
2380          return getCSSPrefix(TRANSITIONDURATION, 18) + "transition-duration:" + speed2 / 1e3 + "s;";
2381        }
2382        __name(getTransitionDurationStyle, "getTransitionDurationStyle");
2383        function getAnimationDurationStyle(speed2) {
2384          return getCSSPrefix(ANIMATIONDURATION, 17) + "animation-duration:" + speed2 / 1e3 + "s;";
2385        }
2386        __name(getAnimationDurationStyle, "getAnimationDurationStyle");
2387        function initStructure() {
2388          var classOuter = "tns-outer", classInner = "tns-inner";
2389          hasOption("gutter");
2390          outerWrapper.className = classOuter;
2391          innerWrapper.className = classInner;
2392          outerWrapper.id = slideId + "-ow";
2393          innerWrapper.id = slideId + "-iw";
2394          if (container.id === "") {
2395            container.id = slideId;
2396          }
2397          newContainerClasses += PERCENTAGELAYOUT || autoWidth ? " tns-subpixel" : " tns-no-subpixel";
2398          newContainerClasses += CALC ? " tns-calc" : " tns-no-calc";
2399          if (autoWidth) {
2400            newContainerClasses += " tns-autowidth";
2401          }
2402          newContainerClasses += " tns-" + options.axis;
2403          container.className += newContainerClasses;
2404          if (carousel) {
2405            middleWrapper = doc.createElement("div");
2406            middleWrapper.id = slideId + "-mw";
2407            middleWrapper.className = "tns-ovh";
2408            outerWrapper.appendChild(middleWrapper);
2409            middleWrapper.appendChild(innerWrapper);
2410          } else {
2411            outerWrapper.appendChild(innerWrapper);
2412          }
2413          if (autoHeight) {
2414            var wp = middleWrapper ? middleWrapper : innerWrapper;
2415            wp.className += " tns-ah";
2416          }
2417          containerParent.insertBefore(outerWrapper, container);
2418          innerWrapper.appendChild(container);
2419          forEach(slideItems, function(item, i) {
2420            addClass(item, "tns-item");
2421            if (!item.id) {
2422              item.id = slideId + "-item" + i;
2423            }
2424            if (!carousel && animateNormal) {
2425              addClass(item, animateNormal);
2426            }
2427            setAttrs(item, {
2428              "aria-hidden": "true",
2429              "tabindex": "-1"
2430            });
2431          });
2432          if (cloneCount) {
2433            var fragmentBefore = doc.createDocumentFragment(), fragmentAfter = doc.createDocumentFragment();
2434            for (var j = cloneCount; j--; ) {
2435              var num = j % slideCount, cloneFirst = slideItems[num].cloneNode(true);
2436              addClass(cloneFirst, slideClonedClass);
2437              removeAttrs(cloneFirst, "id");
2438              fragmentAfter.insertBefore(cloneFirst, fragmentAfter.firstChild);
2439              if (carousel) {
2440                var cloneLast = slideItems[slideCount - 1 - num].cloneNode(true);
2441                addClass(cloneLast, slideClonedClass);
2442                removeAttrs(cloneLast, "id");
2443                fragmentBefore.appendChild(cloneLast);
2444              }
2445            }
2446            container.insertBefore(fragmentBefore, container.firstChild);
2447            container.appendChild(fragmentAfter);
2448            slideItems = container.children;
2449          }
2450        }
2451        __name(initStructure, "initStructure");
2452        function initSliderTransform() {
2453          if (hasOption("autoHeight") || autoWidth || !horizontal) {
2454            var imgs = container.querySelectorAll("img");
2455            forEach(imgs, function(img) {
2456              var src = img.src;
2457              if (!lazyload) {
2458                if (src && src.indexOf("data:image") < 0) {
2459                  img.src = "";
2460                  addEvents(img, imgEvents);
2461                  addClass(img, "loading");
2462                  img.src = src;
2463                } else {
2464                  imgLoaded(img);
2465                }
2466              }
2467            });
2468            raf(function() {
2469              imgsLoadedCheck(arrayFromNodeList(imgs), function() {
2470                imgsComplete = true;
2471              });
2472            });
2473            if (hasOption("autoHeight")) {
2474              imgs = getImageArray(index, Math.min(index + items - 1, slideCountNew - 1));
2475            }
2476            lazyload ? initSliderTransformStyleCheck() : raf(function() {
2477              imgsLoadedCheck(arrayFromNodeList(imgs), initSliderTransformStyleCheck);
2478            });
2479          } else {
2480            if (carousel) {
2481              doContainerTransformSilent();
2482            }
2483            initTools();
2484            initEvents();
2485          }
2486        }
2487        __name(initSliderTransform, "initSliderTransform");
2488        function initSliderTransformStyleCheck() {
2489          if (autoWidth && slideCount > 1) {
2490            var num = loop ? index : slideCount - 1;
2491            (/* @__PURE__ */ __name((function stylesApplicationCheck() {
2492              var left = slideItems[num].getBoundingClientRect().left;
2493              var right = slideItems[num - 1].getBoundingClientRect().right;
2494              Math.abs(left - right) <= 1 ? initSliderTransformCore() : setTimeout(function() {
2495                stylesApplicationCheck();
2496              }, 16);
2497            }), "stylesApplicationCheck"))();
2498          } else {
2499            initSliderTransformCore();
2500          }
2501        }
2502        __name(initSliderTransformStyleCheck, "initSliderTransformStyleCheck");
2503        function initSliderTransformCore() {
2504          if (!horizontal || autoWidth) {
2505            setSlidePositions();
2506            if (autoWidth) {
2507              rightBoundary = getRightBoundary();
2508              if (freezable) {
2509                freeze = getFreeze();
2510              }
2511              indexMax = getIndexMax();
2512              resetVariblesWhenDisable(disable || freeze);
2513            } else {
2514              updateContentWrapperHeight();
2515            }
2516          }
2517          if (carousel) {
2518            doContainerTransformSilent();
2519          }
2520          initTools();
2521          initEvents();
2522        }
2523        __name(initSliderTransformCore, "initSliderTransformCore");
2524        function initSheet() {
2525          if (!carousel) {
2526            for (var i = index, l = index + Math.min(slideCount, items); i < l; i++) {
2527              var item = slideItems[i];
2528              item.style.left = (i - index) * 100 / items + "%";
2529              addClass(item, animateIn);
2530              removeClass(item, animateNormal);
2531            }
2532          }
2533          if (horizontal) {
2534            if (PERCENTAGELAYOUT || autoWidth) {
2535              addCSSRule(sheet, "#" + slideId + " > .tns-item", "font-size:" + win2.getComputedStyle(slideItems[0]).fontSize + ";", getCssRulesLength(sheet));
2536              addCSSRule(sheet, "#" + slideId, "font-size:0;", getCssRulesLength(sheet));
2537            } else if (carousel) {
2538              forEach(slideItems, function(slide, i2) {
2539                slide.style.marginLeft = getSlideMarginLeft(i2);
2540              });
2541            }
2542          }
2543          if (CSSMQ) {
2544            if (TRANSITIONDURATION) {
2545              var str = middleWrapper && options.autoHeight ? getTransitionDurationStyle(options.speed) : "";
2546              addCSSRule(sheet, "#" + slideId + "-mw", str, getCssRulesLength(sheet));
2547            }
2548            str = getInnerWrapperStyles(options.edgePadding, options.gutter, options.fixedWidth, options.speed, options.autoHeight);
2549            addCSSRule(sheet, "#" + slideId + "-iw", str, getCssRulesLength(sheet));
2550            if (carousel) {
2551              str = horizontal && !autoWidth ? "width:" + getContainerWidth(options.fixedWidth, options.gutter, options.items) + ";" : "";
2552              if (TRANSITIONDURATION) {
2553                str += getTransitionDurationStyle(speed);
2554              }
2555              addCSSRule(sheet, "#" + slideId, str, getCssRulesLength(sheet));
2556            }
2557            str = horizontal && !autoWidth ? getSlideWidthStyle(options.fixedWidth, options.gutter, options.items) : "";
2558            if (options.gutter) {
2559              str += getSlideGutterStyle(options.gutter);
2560            }
2561            if (!carousel) {
2562              if (TRANSITIONDURATION) {
2563                str += getTransitionDurationStyle(speed);
2564              }
2565              if (ANIMATIONDURATION) {
2566                str += getAnimationDurationStyle(speed);
2567              }
2568            }
2569            if (str) {
2570              addCSSRule(sheet, "#" + slideId + " > .tns-item", str, getCssRulesLength(sheet));
2571            }
2572          } else {
2573            update_carousel_transition_duration();
2574            innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, autoHeight);
2575            if (carousel && horizontal && !autoWidth) {
2576              container.style.width = getContainerWidth(fixedWidth, gutter, items);
2577            }
2578            var str = horizontal && !autoWidth ? getSlideWidthStyle(fixedWidth, gutter, items) : "";
2579            if (gutter) {
2580              str += getSlideGutterStyle(gutter);
2581            }
2582            if (str) {
2583              addCSSRule(sheet, "#" + slideId + " > .tns-item", str, getCssRulesLength(sheet));
2584            }
2585          }
2586          if (responsive && CSSMQ) {
2587            for (var bp in responsive) {
2588              bp = parseInt(bp);
2589              var opts2 = responsive[bp], str = "", middleWrapperStr = "", innerWrapperStr = "", containerStr = "", slideStr = "", itemsBP = !autoWidth ? getOption("items", bp) : null, fixedWidthBP = getOption("fixedWidth", bp), speedBP = getOption("speed", bp), edgePaddingBP = getOption("edgePadding", bp), autoHeightBP = getOption("autoHeight", bp), gutterBP = getOption("gutter", bp);
2590              if (TRANSITIONDURATION && middleWrapper && getOption("autoHeight", bp) && "speed" in opts2) {
2591                middleWrapperStr = "#" + slideId + "-mw{" + getTransitionDurationStyle(speedBP) + "}";
2592              }
2593              if ("edgePadding" in opts2 || "gutter" in opts2) {
2594                innerWrapperStr = "#" + slideId + "-iw{" + getInnerWrapperStyles(edgePaddingBP, gutterBP, fixedWidthBP, speedBP, autoHeightBP) + "}";
2595              }
2596              if (carousel && horizontal && !autoWidth && ("fixedWidth" in opts2 || "items" in opts2 || fixedWidth && "gutter" in opts2)) {
2597                containerStr = "width:" + getContainerWidth(fixedWidthBP, gutterBP, itemsBP) + ";";
2598              }
2599              if (TRANSITIONDURATION && "speed" in opts2) {
2600                containerStr += getTransitionDurationStyle(speedBP);
2601              }
2602              if (containerStr) {
2603                containerStr = "#" + slideId + "{" + containerStr + "}";
2604              }
2605              if ("fixedWidth" in opts2 || fixedWidth && "gutter" in opts2 || !carousel && "items" in opts2) {
2606                slideStr += getSlideWidthStyle(fixedWidthBP, gutterBP, itemsBP);
2607              }
2608              if ("gutter" in opts2) {
2609                slideStr += getSlideGutterStyle(gutterBP);
2610              }
2611              if (!carousel && "speed" in opts2) {
2612                if (TRANSITIONDURATION) {
2613                  slideStr += getTransitionDurationStyle(speedBP);
2614                }
2615                if (ANIMATIONDURATION) {
2616                  slideStr += getAnimationDurationStyle(speedBP);
2617                }
2618              }
2619              if (slideStr) {
2620                slideStr = "#" + slideId + " > .tns-item{" + slideStr + "}";
2621              }
2622              str = middleWrapperStr + innerWrapperStr + containerStr + slideStr;
2623              if (str) {
2624                sheet.insertRule("@media (min-width: " + bp / 16 + "em) {" + str + "}", sheet.cssRules.length);
2625              }
2626            }
2627          }
2628        }
2629        __name(initSheet, "initSheet");
2630        function initTools() {
2631          updateSlideStatus();
2632          outerWrapper.insertAdjacentHTML("afterbegin", '<div class="tns-liveregion tns-visually-hidden" aria-live="polite" aria-atomic="true">slide <span class="current">' + getLiveRegionStr() + "</span>  of " + slideCount + "</div>");
2633          liveregionCurrent = outerWrapper.querySelector(".tns-liveregion .current");
2634          if (hasAutoplay) {
2635            var txt = autoplay ? "stop" : "start";
2636            if (autoplayButton) {
2637              setAttrs(autoplayButton, {
2638                "data-action": txt
2639              });
2640            } else if (options.autoplayButtonOutput) {
2641              outerWrapper.insertAdjacentHTML(getInsertPosition(options.autoplayPosition), '<button type="button" data-action="' + txt + '">' + autoplayHtmlStrings[0] + txt + autoplayHtmlStrings[1] + autoplayText[0] + "</button>");
2642              autoplayButton = outerWrapper.querySelector("[data-action]");
2643            }
2644            if (autoplayButton) {
2645              addEvents(autoplayButton, {
2646                "click": toggleAutoplay
2647              });
2648            }
2649            if (autoplay) {
2650              startAutoplay();
2651              if (autoplayHoverPause) {
2652                addEvents(container, hoverEvents);
2653              }
2654              if (autoplayResetOnVisibility) {
2655                addEvents(container, visibilityEvent);
2656              }
2657            }
2658          }
2659          if (hasNav) {
2660            if (navContainer) {
2661              setAttrs(navContainer, {
2662                "aria-label": "Carousel Pagination"
2663              });
2664              navItems = navContainer.children;
2665              forEach(navItems, function(item, i2) {
2666                setAttrs(item, {
2667                  "data-nav": i2,
2668                  "tabindex": "-1",
2669                  "aria-label": navStr + (i2 + 1),
2670                  "aria-controls": slideId
2671                });
2672              });
2673            } else {
2674              var navHtml = "", hiddenStr = navAsThumbnails ? "" : 'style="display:none"';
2675              for (var i = 0; i < slideCount; i++) {
2676                navHtml += '<button type="button" data-nav="' + i + '" tabindex="-1" aria-controls="' + slideId + '" ' + hiddenStr + ' aria-label="' + navStr + (i + 1) + '"></button>';
2677              }
2678              navHtml = '<div class="tns-nav" aria-label="Carousel Pagination">' + navHtml + "</div>";
2679              outerWrapper.insertAdjacentHTML(getInsertPosition(options.navPosition), navHtml);
2680              navContainer = outerWrapper.querySelector(".tns-nav");
2681              navItems = navContainer.children;
2682            }
2683            updateNavVisibility();
2684            if (TRANSITIONDURATION) {
2685              var prefix = TRANSITIONDURATION.substring(0, TRANSITIONDURATION.length - 18).toLowerCase(), str = "transition: all " + speed / 1e3 + "s";
2686              if (prefix) {
2687                str = "-" + prefix + "-" + str;
2688              }
2689              addCSSRule(sheet, "[aria-controls^=" + slideId + "-item]", str, getCssRulesLength(sheet));
2690            }
2691            setAttrs(navItems[navCurrentIndex], {
2692              "aria-label": navStr + (navCurrentIndex + 1) + navStrCurrent
2693            });
2694            removeAttrs(navItems[navCurrentIndex], "tabindex");
2695            addClass(navItems[navCurrentIndex], navActiveClass);
2696            addEvents(navContainer, navEvents);
2697          }
2698          if (hasControls) {
2699            if (!controlsContainer && (!prevButton || !nextButton)) {
2700              outerWrapper.insertAdjacentHTML(getInsertPosition(options.controlsPosition), '<div class="tns-controls" aria-label="Carousel Navigation" tabindex="0"><button type="button" data-controls="prev" tabindex="-1" aria-controls="' + slideId + '">' + controlsText[0] + '</button><button type="button" data-controls="next" tabindex="-1" aria-controls="' + slideId + '">' + controlsText[1] + "</button></div>");
2701              controlsContainer = outerWrapper.querySelector(".tns-controls");
2702            }
2703            if (!prevButton || !nextButton) {
2704              prevButton = controlsContainer.children[0];
2705              nextButton = controlsContainer.children[1];
2706            }
2707            if (options.controlsContainer) {
2708              setAttrs(controlsContainer, {
2709                "aria-label": "Carousel Navigation",
2710                "tabindex": "0"
2711              });
2712            }
2713            if (options.controlsContainer || options.prevButton && options.nextButton) {
2714              setAttrs([prevButton, nextButton], {
2715                "aria-controls": slideId,
2716                "tabindex": "-1"
2717              });
2718            }
2719            if (options.controlsContainer || options.prevButton && options.nextButton) {
2720              setAttrs(prevButton, {
2721                "data-controls": "prev"
2722              });
2723              setAttrs(nextButton, {
2724                "data-controls": "next"
2725              });
2726            }
2727            prevIsButton = isButton(prevButton);
2728            nextIsButton = isButton(nextButton);
2729            updateControlsStatus();
2730            if (controlsContainer) {
2731              addEvents(controlsContainer, controlsEvents);
2732            } else {
2733              addEvents(prevButton, controlsEvents);
2734              addEvents(nextButton, controlsEvents);
2735            }
2736          }
2737          disableUI();
2738        }
2739        __name(initTools, "initTools");
2740        function initEvents() {
2741          if (carousel && TRANSITIONEND) {
2742            var eve = {};
2743            eve[TRANSITIONEND] = onTransitionEnd;
2744            addEvents(container, eve);
2745          }
2746          if (touch) {
2747            addEvents(container, touchEvents, options.preventScrollOnTouch);
2748          }
2749          if (mouseDrag) {
2750            addEvents(container, dragEvents);
2751          }
2752          if (arrowKeys) {
2753            addEvents(doc, docmentKeydownEvent);
2754          }
2755          if (nested === "inner") {
2756            events.on("outerResized", function() {
2757              resizeTasks();
2758              events.emit("innerLoaded", info());
2759            });
2760          } else if (responsive || fixedWidth || autoWidth || autoHeight || !horizontal) {
2761            addEvents(win2, {
2762              "resize": onResize
2763            });
2764          }
2765          if (autoHeight) {
2766            if (nested === "outer") {
2767              events.on("innerLoaded", doAutoHeight);
2768            } else if (!disable) {
2769              doAutoHeight();
2770            }
2771          }
2772          doLazyLoad();
2773          if (disable) {
2774            disableSlider();
2775          } else if (freeze) {
2776            freezeSlider();
2777          }
2778          events.on("indexChanged", additionalUpdates);
2779          if (nested === "inner") {
2780            events.emit("innerLoaded", info());
2781          }
2782          if (typeof onInit === "function") {
2783            onInit(info());
2784          }
2785          isOn = true;
2786        }
2787        __name(initEvents, "initEvents");
2788        function destroy2() {
2789          sheet.disabled = true;
2790          if (sheet.ownerNode) {
2791            sheet.ownerNode.remove();
2792          }
2793          removeEvents(win2, {
2794            "resize": onResize
2795          });
2796          if (arrowKeys) {
2797            removeEvents(doc, docmentKeydownEvent);
2798          }
2799          if (controlsContainer) {
2800            removeEvents(controlsContainer, controlsEvents);
2801          }
2802          if (navContainer) {
2803            removeEvents(navContainer, navEvents);
2804          }
2805          removeEvents(container, hoverEvents);
2806          removeEvents(container, visibilityEvent);
2807          if (autoplayButton) {
2808            removeEvents(autoplayButton, {
2809              "click": toggleAutoplay
2810            });
2811          }
2812          if (autoplay) {
2813            clearInterval(autoplayTimer);
2814          }
2815          if (carousel && TRANSITIONEND) {
2816            var eve = {};
2817            eve[TRANSITIONEND] = onTransitionEnd;
2818            removeEvents(container, eve);
2819          }
2820          if (touch) {
2821            removeEvents(container, touchEvents);
2822          }
2823          if (mouseDrag) {
2824            removeEvents(container, dragEvents);
2825          }
2826          var htmlList = [containerHTML, controlsContainerHTML, prevButtonHTML, nextButtonHTML, navContainerHTML, autoplayButtonHTML];
2827          tnsList.forEach(function(item, i) {
2828            var el = item === "container" ? outerWrapper : options[item];
2829            if (typeof el === "object" && el) {
2830              var prevEl = el.previousElementSibling ? el.previousElementSibling : false, parentEl = el.parentNode;
2831              el.outerHTML = htmlList[i];
2832              options[item] = prevEl ? prevEl.nextElementSibling : parentEl.firstElementChild;
2833            }
2834          });
2835          tnsList = animateIn = animateOut = animateDelay = animateNormal = horizontal = outerWrapper = innerWrapper = container = containerParent = containerHTML = slideItems = slideCount = breakpointZone = windowWidth = autoWidth = fixedWidth = edgePadding = gutter = viewport = items = slideBy = viewportMax = arrowKeys = speed = rewind = loop = autoHeight = sheet = lazyload = slidePositions = slideItemsOut = cloneCount = slideCountNew = hasRightDeadZone = rightBoundary = updateIndexBeforeTransform = transformAttr = transformPrefix = transformPostfix = getIndexMax = index = indexCached = indexMin = indexMax = swipeAngle = moveDirectionExpected = running = onInit = events = newContainerClasses = slideId = disable = disabled = freezable = freeze = frozen = controlsEvents = navEvents = hoverEvents = visibilityEvent = docmentKeydownEvent = touchEvents = dragEvents = hasControls = hasNav = navAsThumbnails = hasAutoplay = hasTouch = hasMouseDrag = slideActiveClass = imgCompleteClass = imgEvents = imgsComplete = controls = controlsText = controlsContainer = controlsContainerHTML = prevButton = nextButton = prevIsButton = nextIsButton = nav = navContainer = navContainerHTML = navItems = pages = pagesCached = navClicked = navCurrentIndex = navCurrentIndexCached = navActiveClass = navStr = navStrCurrent = autoplay = autoplayTimeout = autoplayDirection = autoplayText = autoplayHoverPause = autoplayButton = autoplayButtonHTML = autoplayResetOnVisibility = autoplayHtmlStrings = autoplayTimer = animating = autoplayHoverPaused = autoplayUserPaused = autoplayVisibilityPaused = initPosition = lastPosition = translateInit = panStart = rafIndex = getDist = touch = mouseDrag = null;
2836          for (var a in this) {
2837            if (a !== "rebuild") {
2838              this[a] = null;
2839            }
2840          }
2841          isOn = false;
2842        }
2843        __name(destroy2, "destroy");
2844        function onResize(e) {
2845          raf(function() {
2846            resizeTasks(getEvent(e));
2847          });
2848        }
2849        __name(onResize, "onResize");
2850        function resizeTasks(e) {
2851          if (!isOn) {
2852            return;
2853          }
2854          if (nested === "outer") {
2855            events.emit("outerResized", info(e));
2856          }
2857          windowWidth = getWindowWidth();
2858          var bpChanged, breakpointZoneTem = breakpointZone, needContainerTransform = false;
2859          if (responsive) {
2860            setBreakpointZone();
2861            bpChanged = breakpointZoneTem !== breakpointZone;
2862            if (bpChanged) {
2863              events.emit("newBreakpointStart", info(e));
2864            }
2865          }
2866          var indChanged, itemsChanged, itemsTem = items, disableTem = disable, freezeTem = freeze, arrowKeysTem = arrowKeys, controlsTem = controls, navTem = nav, touchTem = touch, mouseDragTem = mouseDrag, autoplayTem = autoplay, autoplayHoverPauseTem = autoplayHoverPause, autoplayResetOnVisibilityTem = autoplayResetOnVisibility, indexTem = index;
2867          if (bpChanged) {
2868            var fixedWidthTem = fixedWidth, autoHeightTem = autoHeight, controlsTextTem = controlsText, centerTem = center, autoplayTextTem = autoplayText;
2869            if (!CSSMQ) {
2870              var gutterTem = gutter, edgePaddingTem = edgePadding;
2871            }
2872          }
2873          arrowKeys = getOption("arrowKeys");
2874          controls = getOption("controls");
2875          nav = getOption("nav");
2876          touch = getOption("touch");
2877          center = getOption("center");
2878          mouseDrag = getOption("mouseDrag");
2879          autoplay = getOption("autoplay");
2880          autoplayHoverPause = getOption("autoplayHoverPause");
2881          autoplayResetOnVisibility = getOption("autoplayResetOnVisibility");
2882          if (bpChanged) {
2883            disable = getOption("disable");
2884            fixedWidth = getOption("fixedWidth");
2885            speed = getOption("speed");
2886            autoHeight = getOption("autoHeight");
2887            controlsText = getOption("controlsText");
2888            autoplayText = getOption("autoplayText");
2889            autoplayTimeout = getOption("autoplayTimeout");
2890            if (!CSSMQ) {
2891              edgePadding = getOption("edgePadding");
2892              gutter = getOption("gutter");
2893            }
2894          }
2895          resetVariblesWhenDisable(disable);
2896          viewport = getViewportWidth();
2897          if ((!horizontal || autoWidth) && !disable) {
2898            setSlidePositions();
2899            if (!horizontal) {
2900              updateContentWrapperHeight();
2901              needContainerTransform = true;
2902            }
2903          }
2904          if (fixedWidth || autoWidth) {
2905            rightBoundary = getRightBoundary();
2906            indexMax = getIndexMax();
2907          }
2908          if (bpChanged || fixedWidth) {
2909            items = getOption("items");
2910            slideBy = getOption("slideBy");
2911            itemsChanged = items !== itemsTem;
2912            if (itemsChanged) {
2913              if (!fixedWidth && !autoWidth) {
2914                indexMax = getIndexMax();
2915              }
2916              updateIndex();
2917            }
2918          }
2919          if (bpChanged) {
2920            if (disable !== disableTem) {
2921              if (disable) {
2922                disableSlider();
2923              } else {
2924                enableSlider();
2925              }
2926            }
2927          }
2928          if (freezable && (bpChanged || fixedWidth || autoWidth)) {
2929            freeze = getFreeze();
2930            if (freeze !== freezeTem) {
2931              if (freeze) {
2932                doContainerTransform(getContainerTransformValue(getStartIndex(0)));
2933                freezeSlider();
2934              } else {
2935                unfreezeSlider();
2936                needContainerTransform = true;
2937              }
2938            }
2939          }
2940          resetVariblesWhenDisable(disable || freeze);
2941          if (!autoplay) {
2942            autoplayHoverPause = autoplayResetOnVisibility = false;
2943          }
2944          if (arrowKeys !== arrowKeysTem) {
2945            arrowKeys ? addEvents(doc, docmentKeydownEvent) : removeEvents(doc, docmentKeydownEvent);
2946          }
2947          if (controls !== controlsTem) {
2948            if (controls) {
2949              if (controlsContainer) {
2950                showElement(controlsContainer);
2951              } else {
2952                if (prevButton) {
2953                  showElement(prevButton);
2954                }
2955                if (nextButton) {
2956                  showElement(nextButton);
2957                }
2958              }
2959            } else {
2960              if (controlsContainer) {
2961                hideElement(controlsContainer);
2962              } else {
2963                if (prevButton) {
2964                  hideElement(prevButton);
2965                }
2966                if (nextButton) {
2967                  hideElement(nextButton);
2968                }
2969              }
2970            }
2971          }
2972          if (nav !== navTem) {
2973            if (nav) {
2974              showElement(navContainer);
2975              updateNavVisibility();
2976            } else {
2977              hideElement(navContainer);
2978            }
2979          }
2980          if (touch !== touchTem) {
2981            touch ? addEvents(container, touchEvents, options.preventScrollOnTouch) : removeEvents(container, touchEvents);
2982          }
2983          if (mouseDrag !== mouseDragTem) {
2984            mouseDrag ? addEvents(container, dragEvents) : removeEvents(container, dragEvents);
2985          }
2986          if (autoplay !== autoplayTem) {
2987            if (autoplay) {
2988              if (autoplayButton) {
2989                showElement(autoplayButton);
2990              }
2991              if (!animating && !autoplayUserPaused) {
2992                startAutoplay();
2993              }
2994            } else {
2995              if (autoplayButton) {
2996                hideElement(autoplayButton);
2997              }
2998              if (animating) {
2999                stopAutoplay();
3000              }
3001            }
3002          }
3003          if (autoplayHoverPause !== autoplayHoverPauseTem) {
3004            autoplayHoverPause ? addEvents(container, hoverEvents) : removeEvents(container, hoverEvents);
3005          }
3006          if (autoplayResetOnVisibility !== autoplayResetOnVisibilityTem) {
3007            autoplayResetOnVisibility ? addEvents(doc, visibilityEvent) : removeEvents(doc, visibilityEvent);
3008          }
3009          if (bpChanged) {
3010            if (fixedWidth !== fixedWidthTem || center !== centerTem) {
3011              needContainerTransform = true;
3012            }
3013            if (autoHeight !== autoHeightTem) {
3014              if (!autoHeight) {
3015                innerWrapper.style.height = "";
3016              }
3017            }
3018            if (controls && controlsText !== controlsTextTem) {
3019              prevButton.innerHTML = controlsText[0];
3020              nextButton.innerHTML = controlsText[1];
3021            }
3022            if (autoplayButton && autoplayText !== autoplayTextTem) {
3023              var i = autoplay ? 1 : 0, html = autoplayButton.innerHTML, len = html.length - autoplayTextTem[i].length;
3024              if (html.substring(len) === autoplayTextTem[i]) {
3025                autoplayButton.innerHTML = html.substring(0, len) + autoplayText[i];
3026              }
3027            }
3028          } else {
3029            if (center && (fixedWidth || autoWidth)) {
3030              needContainerTransform = true;
3031            }
3032          }
3033          if (itemsChanged || fixedWidth && !autoWidth) {
3034            pages = getPages();
3035            updateNavVisibility();
3036          }
3037          indChanged = index !== indexTem;
3038          if (indChanged) {
3039            events.emit("indexChanged", info());
3040            needContainerTransform = true;
3041          } else if (itemsChanged) {
3042            if (!indChanged) {
3043              additionalUpdates();
3044            }
3045          } else if (fixedWidth || autoWidth) {
3046            doLazyLoad();
3047            updateSlideStatus();
3048            updateLiveRegion();
3049          }
3050          if (itemsChanged && !carousel) {
3051            updateGallerySlidePositions();
3052          }
3053          if (!disable && !freeze) {
3054            if (bpChanged && !CSSMQ) {
3055              if (edgePadding !== edgePaddingTem || gutter !== gutterTem) {
3056                innerWrapper.style.cssText = getInnerWrapperStyles(edgePadding, gutter, fixedWidth, speed, autoHeight);
3057              }
3058              if (horizontal) {
3059                if (carousel) {
3060                  container.style.width = getContainerWidth(fixedWidth, gutter, items);
3061                }
3062                var str = getSlideWidthStyle(fixedWidth, gutter, items) + getSlideGutterStyle(gutter);
3063                removeCSSRule(sheet, getCssRulesLength(sheet) - 1);
3064                addCSSRule(sheet, "#" + slideId + " > .tns-item", str, getCssRulesLength(sheet));
3065              }
3066            }
3067            if (autoHeight) {
3068              doAutoHeight();
3069            }
3070            if (needContainerTransform) {
3071              doContainerTransformSilent();
3072              indexCached = index;
3073            }
3074          }
3075          if (bpChanged) {
3076            events.emit("newBreakpointEnd", info(e));
3077          }
3078        }
3079        __name(resizeTasks, "resizeTasks");
3080        function getFreeze() {
3081          if (!fixedWidth && !autoWidth) {
3082            var a = center ? items - (items - 1) / 2 : items;
3083            return slideCount <= a;
3084          }
3085          var width = fixedWidth ? (fixedWidth + gutter) * slideCount : slidePositions[slideCount], vp = edgePadding ? viewport + edgePadding * 2 : viewport + gutter;
3086          if (center) {
3087            vp -= fixedWidth ? (viewport - fixedWidth) / 2 : (viewport - (slidePositions[index + 1] - slidePositions[index] - gutter)) / 2;
3088          }
3089          return width <= vp;
3090        }
3091        __name(getFreeze, "getFreeze");
3092        function setBreakpointZone() {
3093          breakpointZone = 0;
3094          for (var bp in responsive) {
3095            bp = parseInt(bp);
3096            if (windowWidth >= bp) {
3097              breakpointZone = bp;
3098            }
3099          }
3100        }
3101        __name(setBreakpointZone, "setBreakpointZone");
3102        var updateIndex = /* @__PURE__ */ (function() {
3103          return loop ? carousel ? (
3104            // loop + carousel
3105            function() {
3106              var leftEdge = indexMin, rightEdge = indexMax;
3107              leftEdge += slideBy;
3108              rightEdge -= slideBy;
3109              if (edgePadding) {
3110                leftEdge += 1;
3111                rightEdge -= 1;
3112              } else if (fixedWidth) {
3113                if ((viewport + gutter) % (fixedWidth + gutter)) {
3114                  rightEdge -= 1;
3115                }
3116              }
3117              if (cloneCount) {
3118                if (index > rightEdge) {
3119                  index -= slideCount;
3120                } else if (index < leftEdge) {
3121                  index += slideCount;
3122                }
3123              }
3124            }
3125          ) : (
3126            // loop + gallery
3127            function() {
3128              if (index > indexMax) {
3129                while (index >= indexMin + slideCount) {
3130                  index -= slideCount;
3131                }
3132              } else if (index < indexMin) {
3133                while (index <= indexMax - slideCount) {
3134                  index += slideCount;
3135                }
3136              }
3137            }
3138          ) : (
3139            // non-loop
3140            function() {
3141              index = Math.max(indexMin, Math.min(indexMax, index));
3142            }
3143          );
3144        })();
3145        function disableUI() {
3146          if (!autoplay && autoplayButton) {
3147            hideElement(autoplayButton);
3148          }
3149          if (!nav && navContainer) {
3150            hideElement(navContainer);
3151          }
3152          if (!controls) {
3153            if (controlsContainer) {
3154              hideElement(controlsContainer);
3155            } else {
3156              if (prevButton) {
3157                hideElement(prevButton);
3158              }
3159              if (nextButton) {
3160                hideElement(nextButton);
3161              }
3162            }
3163          }
3164        }
3165        __name(disableUI, "disableUI");
3166        function enableUI() {
3167          if (autoplay && autoplayButton) {
3168            showElement(autoplayButton);
3169          }
3170          if (nav && navContainer) {
3171            showElement(navContainer);
3172          }
3173          if (controls) {
3174            if (controlsContainer) {
3175              showElement(controlsContainer);
3176            } else {
3177              if (prevButton) {
3178                showElement(prevButton);
3179              }
3180              if (nextButton) {
3181                showElement(nextButton);
3182              }
3183            }
3184          }
3185        }
3186        __name(enableUI, "enableUI");
3187        function freezeSlider() {
3188          if (frozen) {
3189            return;
3190          }
3191          if (edgePadding) {
3192            innerWrapper.style.margin = "0px";
3193          }
3194          if (cloneCount) {
3195            var str = "tns-transparent";
3196            for (var i = cloneCount; i--; ) {
3197              if (carousel) {
3198                addClass(slideItems[i], str);
3199              }
3200              addClass(slideItems[slideCountNew - i - 1], str);
3201            }
3202          }
3203          disableUI();
3204          frozen = true;
3205        }
3206        __name(freezeSlider, "freezeSlider");
3207        function unfreezeSlider() {
3208          if (!frozen) {
3209            return;
3210          }
3211          if (edgePadding && CSSMQ) {
3212            innerWrapper.style.margin = "";
3213          }
3214          if (cloneCount) {
3215            var str = "tns-transparent";
3216            for (var i = cloneCount; i--; ) {
3217              if (carousel) {
3218                removeClass(slideItems[i], str);
3219              }
3220              removeClass(slideItems[slideCountNew - i - 1], str);
3221            }
3222          }
3223          enableUI();
3224          frozen = false;
3225        }
3226        __name(unfreezeSlider, "unfreezeSlider");
3227        function disableSlider() {
3228          if (disabled) {
3229            return;
3230          }
3231          sheet.disabled = true;
3232          container.className = container.className.replace(newContainerClasses.substring(1), "");
3233          removeAttrs(container, ["style"]);
3234          if (loop) {
3235            for (var j = cloneCount; j--; ) {
3236              if (carousel) {
3237                hideElement(slideItems[j]);
3238              }
3239              hideElement(slideItems[slideCountNew - j - 1]);
3240            }
3241          }
3242          if (!horizontal || !carousel) {
3243            removeAttrs(innerWrapper, ["style"]);
3244          }
3245          if (!carousel) {
3246            for (var i = index, l = index + slideCount; i < l; i++) {
3247              var item = slideItems[i];
3248              removeAttrs(item, ["style"]);
3249              removeClass(item, animateIn);
3250              removeClass(item, animateNormal);
3251            }
3252          }
3253          disableUI();
3254          disabled = true;
3255        }
3256        __name(disableSlider, "disableSlider");
3257        function enableSlider() {
3258          if (!disabled) {
3259            return;
3260          }
3261          sheet.disabled = false;
3262          container.className += newContainerClasses;
3263          doContainerTransformSilent();
3264          if (loop) {
3265            for (var j = cloneCount; j--; ) {
3266              if (carousel) {
3267                showElement(slideItems[j]);
3268              }
3269              showElement(slideItems[slideCountNew - j - 1]);
3270            }
3271          }
3272          if (!carousel) {
3273            for (var i = index, l = index + slideCount; i < l; i++) {
3274              var item = slideItems[i], classN = i < index + items ? animateIn : animateNormal;
3275              item.style.left = (i - index) * 100 / items + "%";
3276              addClass(item, classN);
3277            }
3278          }
3279          enableUI();
3280          disabled = false;
3281        }
3282        __name(enableSlider, "enableSlider");
3283        function updateLiveRegion() {
3284          var str = getLiveRegionStr();
3285          if (liveregionCurrent.innerHTML !== str) {
3286            liveregionCurrent.innerHTML = str;
3287          }
3288        }
3289        __name(updateLiveRegion, "updateLiveRegion");
3290        function getLiveRegionStr() {
3291          var arr = getVisibleSlideRange(), start = arr[0] + 1, end = arr[1] + 1;
3292          return start === end ? start + "" : start + " to " + end;
3293        }
3294        __name(getLiveRegionStr, "getLiveRegionStr");
3295        function getVisibleSlideRange(val2) {
3296          if (val2 == null) {
3297            val2 = getContainerTransformValue();
3298          }
3299          var start = index, end, rangestart, rangeend;
3300          if (center || edgePadding) {
3301            if (autoWidth || fixedWidth) {
3302              rangestart = -(parseFloat(val2) + edgePadding);
3303              rangeend = rangestart + viewport + edgePadding * 2;
3304            }
3305          } else {
3306            if (autoWidth) {
3307              rangestart = slidePositions[index];
3308              rangeend = rangestart + viewport;
3309            }
3310          }
3311          if (autoWidth) {
3312            slidePositions.forEach(function(point, i) {
3313              if (i < slideCountNew) {
3314                if ((center || edgePadding) && point <= rangestart + 0.5) {
3315                  start = i;
3316                }
3317                if (rangeend - point >= 0.5) {
3318                  end = i;
3319                }
3320              }
3321            });
3322          } else {
3323            if (fixedWidth) {
3324              var cell = fixedWidth + gutter;
3325              if (center || edgePadding) {
3326                start = Math.floor(rangestart / cell);
3327                end = Math.ceil(rangeend / cell - 1);
3328              } else {
3329                end = start + Math.ceil(viewport / cell) - 1;
3330              }
3331            } else {
3332              if (center || edgePadding) {
3333                var a = items - 1;
3334                if (center) {
3335                  start -= a / 2;
3336                  end = index + a / 2;
3337                } else {
3338                  end = index + a;
3339                }
3340                if (edgePadding) {
3341                  var b = edgePadding * items / viewport;
3342                  start -= b;
3343                  end += b;
3344                }
3345                start = Math.floor(start);
3346                end = Math.ceil(end);
3347              } else {
3348                end = start + items - 1;
3349              }
3350            }
3351            start = Math.max(start, 0);
3352            end = Math.min(end, slideCountNew - 1);
3353          }
3354          return [start, end];
3355        }
3356        __name(getVisibleSlideRange, "getVisibleSlideRange");
3357        function doLazyLoad() {
3358          if (lazyload && !disable) {
3359            var arg = getVisibleSlideRange();
3360            arg.push(lazyloadSelector);
3361            getImageArray.apply(null, arg).forEach(function(img) {
3362              if (!hasClass(img, imgCompleteClass)) {
3363                var eve = {};
3364                eve[TRANSITIONEND] = function(e) {
3365                  e.stopPropagation();
3366                };
3367                addEvents(img, eve);
3368                addEvents(img, imgEvents);
3369                img.src = getAttr(img, "data-src");
3370                var srcset = getAttr(img, "data-srcset");
3371                if (srcset) {
3372                  img.srcset = srcset;
3373                }
3374                addClass(img, "loading");
3375              }
3376            });
3377          }
3378        }
3379        __name(doLazyLoad, "doLazyLoad");
3380        function onImgLoaded(e) {
3381          imgLoaded(getTarget(e));
3382        }
3383        __name(onImgLoaded, "onImgLoaded");
3384        function onImgFailed(e) {
3385          imgFailed(getTarget(e));
3386        }
3387        __name(onImgFailed, "onImgFailed");
3388        function imgLoaded(img) {
3389          addClass(img, "loaded");
3390          imgCompleted(img);
3391        }
3392        __name(imgLoaded, "imgLoaded");
3393        function imgFailed(img) {
3394          addClass(img, "failed");
3395          imgCompleted(img);
3396        }
3397        __name(imgFailed, "imgFailed");
3398        function imgCompleted(img) {
3399          addClass(img, imgCompleteClass);
3400          removeClass(img, "loading");
3401          removeEvents(img, imgEvents);
3402        }
3403        __name(imgCompleted, "imgCompleted");
3404        function getImageArray(start, end, imgSelector) {
3405          var imgs = [];
3406          if (!imgSelector) {
3407            imgSelector = "img";
3408          }
3409          while (start <= end) {
3410            forEach(slideItems[start].querySelectorAll(imgSelector), function(img) {
3411              imgs.push(img);
3412            });
3413            start++;
3414          }
3415          return imgs;
3416        }
3417        __name(getImageArray, "getImageArray");
3418        function doAutoHeight() {
3419          var imgs = getImageArray.apply(null, getVisibleSlideRange());
3420          raf(function() {
3421            imgsLoadedCheck(imgs, updateInnerWrapperHeight);
3422          });
3423        }
3424        __name(doAutoHeight, "doAutoHeight");
3425        function imgsLoadedCheck(imgs, cb) {
3426          if (imgsComplete) {
3427            return cb();
3428          }
3429          imgs.forEach(function(img, index2) {
3430            if (!lazyload && img.complete) {
3431              imgCompleted(img);
3432            }
3433            if (hasClass(img, imgCompleteClass)) {
3434              imgs.splice(index2, 1);
3435            }
3436          });
3437          if (!imgs.length) {
3438            return cb();
3439          }
3440          raf(function() {
3441            imgsLoadedCheck(imgs, cb);
3442          });
3443        }
3444        __name(imgsLoadedCheck, "imgsLoadedCheck");
3445        function additionalUpdates() {
3446          doLazyLoad();
3447          updateSlideStatus();
3448          updateLiveRegion();
3449          updateControlsStatus();
3450          updateNavStatus();
3451        }
3452        __name(additionalUpdates, "additionalUpdates");
3453        function update_carousel_transition_duration() {
3454          if (carousel && autoHeight) {
3455            middleWrapper.style[TRANSITIONDURATION] = speed / 1e3 + "s";
3456          }
3457        }
3458        __name(update_carousel_transition_duration, "update_carousel_transition_duration");
3459        function getMaxSlideHeight(slideStart, slideRange) {
3460          var heights = [];
3461          for (var i = slideStart, l = Math.min(slideStart + slideRange, slideCountNew); i < l; i++) {
3462            heights.push(slideItems[i].offsetHeight);
3463          }
3464          return Math.max.apply(null, heights);
3465        }
3466        __name(getMaxSlideHeight, "getMaxSlideHeight");
3467        function updateInnerWrapperHeight() {
3468          var maxHeight = autoHeight ? getMaxSlideHeight(index, items) : getMaxSlideHeight(cloneCount, slideCount), wp = middleWrapper ? middleWrapper : innerWrapper;
3469          if (wp.style.height !== maxHeight) {
3470            wp.style.height = maxHeight + "px";
3471          }
3472        }
3473        __name(updateInnerWrapperHeight, "updateInnerWrapperHeight");
3474        function setSlidePositions() {
3475          slidePositions = [0];
3476          var attr = horizontal ? "left" : "top", attr2 = horizontal ? "right" : "bottom", base = slideItems[0].getBoundingClientRect()[attr];
3477          forEach(slideItems, function(item, i) {
3478            if (i) {
3479              slidePositions.push(item.getBoundingClientRect()[attr] - base);
3480            }
3481            if (i === slideCountNew - 1) {
3482              slidePositions.push(item.getBoundingClientRect()[attr2] - base);
3483            }
3484          });
3485        }
3486        __name(setSlidePositions, "setSlidePositions");
3487        function updateSlideStatus() {
3488          var range = getVisibleSlideRange(), start = range[0], end = range[1];
3489          forEach(slideItems, function(item, i) {
3490            if (i >= start && i <= end) {
3491              if (hasAttr(item, "aria-hidden")) {
3492                removeAttrs(item, ["aria-hidden", "tabindex"]);
3493                addClass(item, slideActiveClass);
3494              }
3495            } else {
3496              if (!hasAttr(item, "aria-hidden")) {
3497                setAttrs(item, {
3498                  "aria-hidden": "true",
3499                  "tabindex": "-1"
3500                });
3501                removeClass(item, slideActiveClass);
3502              }
3503            }
3504          });
3505        }
3506        __name(updateSlideStatus, "updateSlideStatus");
3507        function updateGallerySlidePositions() {
3508          var l = index + Math.min(slideCount, items);
3509          for (var i = slideCountNew; i--; ) {
3510            var item = slideItems[i];
3511            if (i >= index && i < l) {
3512              addClass(item, "tns-moving");
3513              item.style.left = (i - index) * 100 / items + "%";
3514              addClass(item, animateIn);
3515              removeClass(item, animateNormal);
3516            } else if (item.style.left) {
3517              item.style.left = "";
3518              addClass(item, animateNormal);
3519              removeClass(item, animateIn);
3520            }
3521            removeClass(item, animateOut);
3522          }
3523          setTimeout(function() {
3524            forEach(slideItems, function(el) {
3525              removeClass(el, "tns-moving");
3526            });
3527          }, 300);
3528        }
3529        __name(updateGallerySlidePositions, "updateGallerySlidePositions");
3530        function updateNavStatus() {
3531          if (nav) {
3532            navCurrentIndex = navClicked >= 0 ? navClicked : getCurrentNavIndex();
3533            navClicked = -1;
3534            if (navCurrentIndex !== navCurrentIndexCached) {
3535              var navPrev = navItems[navCurrentIndexCached], navCurrent = navItems[navCurrentIndex];
3536              setAttrs(navPrev, {
3537                "tabindex": "-1",
3538                "aria-label": navStr + (navCurrentIndexCached + 1)
3539              });
3540              removeClass(navPrev, navActiveClass);
3541              setAttrs(navCurrent, {
3542                "aria-label": navStr + (navCurrentIndex + 1) + navStrCurrent
3543              });
3544              removeAttrs(navCurrent, "tabindex");
3545              addClass(navCurrent, navActiveClass);
3546              navCurrentIndexCached = navCurrentIndex;
3547            }
3548          }
3549        }
3550        __name(updateNavStatus, "updateNavStatus");
3551        function getLowerCaseNodeName(el) {
3552          return el.nodeName.toLowerCase();
3553        }
3554        __name(getLowerCaseNodeName, "getLowerCaseNodeName");
3555        function isButton(el) {
3556          return getLowerCaseNodeName(el) === "button";
3557        }
3558        __name(isButton, "isButton");
3559        function isAriaDisabled(el) {
3560          return el.getAttribute("aria-disabled") === "true";
3561        }
3562        __name(isAriaDisabled, "isAriaDisabled");
3563        function disEnableElement(isButton2, el, val2) {
3564          if (isButton2) {
3565            el.disabled = val2;
3566          } else {
3567            el.setAttribute("aria-disabled", val2.toString());
3568          }
3569        }
3570        __name(disEnableElement, "disEnableElement");
3571        function updateControlsStatus() {
3572          if (!controls || rewind || loop) {
3573            return;
3574          }
3575          var prevDisabled = prevIsButton ? prevButton.disabled : isAriaDisabled(prevButton), nextDisabled = nextIsButton ? nextButton.disabled : isAriaDisabled(nextButton), disablePrev = index <= indexMin ? true : false, disableNext = !rewind && index >= indexMax ? true : false;
3576          if (disablePrev && !prevDisabled) {
3577            disEnableElement(prevIsButton, prevButton, true);
3578          }
3579          if (!disablePrev && prevDisabled) {
3580            disEnableElement(prevIsButton, prevButton, false);
3581          }
3582          if (disableNext && !nextDisabled) {
3583            disEnableElement(nextIsButton, nextButton, true);
3584          }
3585          if (!disableNext && nextDisabled) {
3586            disEnableElement(nextIsButton, nextButton, false);
3587          }
3588        }
3589        __name(updateControlsStatus, "updateControlsStatus");
3590        function resetDuration(el, str) {
3591          if (TRANSITIONDURATION) {
3592            el.style[TRANSITIONDURATION] = str;
3593          }
3594        }
3595        __name(resetDuration, "resetDuration");
3596        function getSliderWidth() {
3597          return fixedWidth ? (fixedWidth + gutter) * slideCountNew : slidePositions[slideCountNew];
3598        }
3599        __name(getSliderWidth, "getSliderWidth");
3600        function getCenterGap(num) {
3601          if (num == null) {
3602            num = index;
3603          }
3604          var gap = edgePadding ? gutter : 0;
3605          return autoWidth ? (viewport - gap - (slidePositions[num + 1] - slidePositions[num] - gutter)) / 2 : fixedWidth ? (viewport - fixedWidth) / 2 : (items - 1) / 2;
3606        }
3607        __name(getCenterGap, "getCenterGap");
3608        function getRightBoundary() {
3609          var gap = edgePadding ? gutter : 0, result = viewport + gap - getSliderWidth();
3610          if (center && !loop) {
3611            result = fixedWidth ? -(fixedWidth + gutter) * (slideCountNew - 1) - getCenterGap() : getCenterGap(slideCountNew - 1) - slidePositions[slideCountNew - 1];
3612          }
3613          if (result > 0) {
3614            result = 0;
3615          }
3616          return result;
3617        }
3618        __name(getRightBoundary, "getRightBoundary");
3619        function getContainerTransformValue(num) {
3620          if (num == null) {
3621            num = index;
3622          }
3623          var val2;
3624          if (horizontal && !autoWidth) {
3625            if (fixedWidth) {
3626              val2 = -(fixedWidth + gutter) * num;
3627              if (center) {
3628                val2 += getCenterGap();
3629              }
3630            } else {
3631              var denominator = TRANSFORM ? slideCountNew : items;
3632              if (center) {
3633                num -= getCenterGap();
3634              }
3635              val2 = -num * 100 / denominator;
3636            }
3637          } else {
3638            val2 = -slidePositions[num];
3639            if (center && autoWidth) {
3640              val2 += getCenterGap();
3641            }
3642          }
3643          if (hasRightDeadZone) {
3644            val2 = Math.max(val2, rightBoundary);
3645          }
3646          val2 += horizontal && !autoWidth && !fixedWidth ? "%" : "px";
3647          return val2;
3648        }
3649        __name(getContainerTransformValue, "getContainerTransformValue");
3650        function doContainerTransformSilent(val2) {
3651          resetDuration(container, "0s");
3652          doContainerTransform(val2);
3653        }
3654        __name(doContainerTransformSilent, "doContainerTransformSilent");
3655        function doContainerTransform(val2) {
3656          if (val2 == null) {
3657            val2 = getContainerTransformValue();
3658          }
3659          container.style[transformAttr] = transformPrefix + val2 + transformPostfix;
3660        }
3661        __name(doContainerTransform, "doContainerTransform");
3662        function animateSlide(number, classOut, classIn, isOut) {
3663          var l = number + items;
3664          if (!loop) {
3665            l = Math.min(l, slideCountNew);
3666          }
3667          for (var i = number; i < l; i++) {
3668            var item = slideItems[i];
3669            if (!isOut) {
3670              item.style.left = (i - index) * 100 / items + "%";
3671            }
3672            if (animateDelay && TRANSITIONDELAY) {
3673              item.style[TRANSITIONDELAY] = item.style[ANIMATIONDELAY] = animateDelay * (i - number) / 1e3 + "s";
3674            }
3675            removeClass(item, classOut);
3676            addClass(item, classIn);
3677            if (isOut) {
3678              slideItemsOut.push(item);
3679            }
3680          }
3681        }
3682        __name(animateSlide, "animateSlide");
3683        var transformCore = /* @__PURE__ */ (function() {
3684          return carousel ? function() {
3685            resetDuration(container, "");
3686            if (TRANSITIONDURATION || !speed) {
3687              doContainerTransform();
3688              if (!speed || !isVisible(container)) {
3689                onTransitionEnd();
3690              }
3691            } else {
3692              jsTransform(container, transformAttr, transformPrefix, transformPostfix, getContainerTransformValue(), speed, onTransitionEnd);
3693            }
3694            if (!horizontal) {
3695              updateContentWrapperHeight();
3696            }
3697          } : function() {
3698            slideItemsOut = [];
3699            var eve = {};
3700            eve[TRANSITIONEND] = eve[ANIMATIONEND] = onTransitionEnd;
3701            removeEvents(slideItems[indexCached], eve);
3702            addEvents(slideItems[index], eve);
3703            animateSlide(indexCached, animateIn, animateOut, true);
3704            animateSlide(index, animateNormal, animateIn);
3705            if (!TRANSITIONEND || !ANIMATIONEND || !speed || !isVisible(container)) {
3706              onTransitionEnd();
3707            }
3708          };
3709        })();
3710        function render3(e, sliderMoved) {
3711          if (updateIndexBeforeTransform) {
3712            updateIndex();
3713          }
3714          if (index !== indexCached || sliderMoved) {
3715            events.emit("indexChanged", info());
3716            events.emit("transitionStart", info());
3717            if (autoHeight) {
3718              doAutoHeight();
3719            }
3720            if (animating && e && ["click", "keydown"].indexOf(e.type) >= 0) {
3721              stopAutoplay();
3722            }
3723            running = true;
3724            transformCore();
3725          }
3726        }
3727        __name(render3, "render");
3728        function strTrans(str) {
3729          return str.toLowerCase().replace(/-/g, "");
3730        }
3731        __name(strTrans, "strTrans");
3732        function onTransitionEnd(event) {
3733          if (carousel || running) {
3734            events.emit("transitionEnd", info(event));
3735            if (!carousel && slideItemsOut.length > 0) {
3736              for (var i = 0; i < slideItemsOut.length; i++) {
3737                var item = slideItemsOut[i];
3738                item.style.left = "";
3739                if (ANIMATIONDELAY && TRANSITIONDELAY) {
3740                  item.style[ANIMATIONDELAY] = "";
3741                  item.style[TRANSITIONDELAY] = "";
3742                }
3743                removeClass(item, animateOut);
3744                addClass(item, animateNormal);
3745              }
3746            }
3747            if (!event || !carousel && event.target.parentNode === container || event.target === container && strTrans(event.propertyName) === strTrans(transformAttr)) {
3748              if (!updateIndexBeforeTransform) {
3749                var indexTem = index;
3750                updateIndex();
3751                if (index !== indexTem) {
3752                  events.emit("indexChanged", info());
3753                  doContainerTransformSilent();
3754                }
3755              }
3756              if (nested === "inner") {
3757                events.emit("innerLoaded", info());
3758              }
3759              running = false;
3760              indexCached = index;
3761            }
3762          }
3763        }
3764        __name(onTransitionEnd, "onTransitionEnd");
3765        function goTo(targetIndex, e) {
3766          if (freeze) {
3767            return;
3768          }
3769          if (targetIndex === "prev") {
3770            onControlsClick(e, -1);
3771          } else if (targetIndex === "next") {
3772            onControlsClick(e, 1);
3773          } else {
3774            if (running) {
3775              if (preventActionWhenRunning) {
3776                return;
3777              } else {
3778                onTransitionEnd();
3779              }
3780            }
3781            var absIndex = getAbsIndex(), indexGap = 0;
3782            if (targetIndex === "first") {
3783              indexGap = -absIndex;
3784            } else if (targetIndex === "last") {
3785              indexGap = carousel ? slideCount - items - absIndex : slideCount - 1 - absIndex;
3786            } else {
3787              if (typeof targetIndex !== "number") {
3788                targetIndex = parseInt(targetIndex);
3789              }
3790              if (!isNaN(targetIndex)) {
3791                if (!e) {
3792                  targetIndex = Math.max(0, Math.min(slideCount - 1, targetIndex));
3793                }
3794                indexGap = targetIndex - absIndex;
3795              }
3796            }
3797            if (!carousel && indexGap && Math.abs(indexGap) < items) {
3798              var factor = indexGap > 0 ? 1 : -1;
3799              indexGap += index + indexGap - slideCount >= indexMin ? slideCount * factor : slideCount * 2 * factor * -1;
3800            }
3801            index += indexGap;
3802            if (carousel && loop) {
3803              if (index < indexMin) {
3804                index += slideCount;
3805              }
3806              if (index > indexMax) {
3807                index -= slideCount;
3808              }
3809            }
3810            if (getAbsIndex(index) !== getAbsIndex(indexCached)) {
3811              render3(e);
3812            }
3813          }
3814        }
3815        __name(goTo, "goTo");
3816        function onControlsClick(e, dir) {
3817          if (running) {
3818            if (preventActionWhenRunning) {
3819              return;
3820            } else {
3821              onTransitionEnd();
3822            }
3823          }
3824          var passEventObject;
3825          if (!dir) {
3826            e = getEvent(e);
3827            var target = getTarget(e);
3828            while (target !== controlsContainer && [prevButton, nextButton].indexOf(target) < 0) {
3829              target = target.parentNode;
3830            }
3831            var targetIn = [prevButton, nextButton].indexOf(target);
3832            if (targetIn >= 0) {
3833              passEventObject = true;
3834              dir = targetIn === 0 ? -1 : 1;
3835            }
3836          }
3837          if (rewind) {
3838            if (index === indexMin && dir === -1) {
3839              goTo("last", e);
3840              return;
3841            } else if (index === indexMax && dir === 1) {
3842              goTo("first", e);
3843              return;
3844            }
3845          }
3846          if (dir) {
3847            index += slideBy * dir;
3848            if (autoWidth) {
3849              index = Math.floor(index);
3850            }
3851            render3(passEventObject || e && e.type === "keydown" ? e : null);
3852          }
3853        }
3854        __name(onControlsClick, "onControlsClick");
3855        function onNavClick(e) {
3856          if (running) {
3857            if (preventActionWhenRunning) {
3858              return;
3859            } else {
3860              onTransitionEnd();
3861            }
3862          }
3863          e = getEvent(e);
3864          var target = getTarget(e), navIndex;
3865          while (target !== navContainer && !hasAttr(target, "data-nav")) {
3866            target = target.parentNode;
3867          }
3868          if (hasAttr(target, "data-nav")) {
3869            var navIndex = navClicked = Number(getAttr(target, "data-nav")), targetIndexBase = fixedWidth || autoWidth ? navIndex * slideCount / pages : navIndex * items, targetIndex = navAsThumbnails ? navIndex : Math.min(Math.ceil(targetIndexBase), slideCount - 1);
3870            goTo(targetIndex, e);
3871            if (navCurrentIndex === navIndex) {
3872              if (animating) {
3873                stopAutoplay();
3874              }
3875              navClicked = -1;
3876            }
3877          }
3878        }
3879        __name(onNavClick, "onNavClick");
3880        function setAutoplayTimer() {
3881          autoplayTimer = setInterval(function() {
3882            onControlsClick(null, autoplayDirection);
3883          }, autoplayTimeout);
3884          animating = true;
3885        }
3886        __name(setAutoplayTimer, "setAutoplayTimer");
3887        function stopAutoplayTimer() {
3888          clearInterval(autoplayTimer);
3889          animating = false;
3890        }
3891        __name(stopAutoplayTimer, "stopAutoplayTimer");
3892        function updateAutoplayButton(action, txt) {
3893          setAttrs(autoplayButton, {
3894            "data-action": action
3895          });
3896          autoplayButton.innerHTML = autoplayHtmlStrings[0] + action + autoplayHtmlStrings[1] + txt;
3897        }
3898        __name(updateAutoplayButton, "updateAutoplayButton");
3899        function startAutoplay() {
3900          setAutoplayTimer();
3901          if (autoplayButton) {
3902            updateAutoplayButton("stop", autoplayText[1]);
3903          }
3904        }
3905        __name(startAutoplay, "startAutoplay");
3906        function stopAutoplay() {
3907          stopAutoplayTimer();
3908          if (autoplayButton) {
3909            updateAutoplayButton("start", autoplayText[0]);
3910          }
3911        }
3912        __name(stopAutoplay, "stopAutoplay");
3913        function play() {
3914          if (autoplay && !animating) {
3915            startAutoplay();
3916            autoplayUserPaused = false;
3917          }
3918        }
3919        __name(play, "play");
3920        function pause() {
3921          if (animating) {
3922            stopAutoplay();
3923            autoplayUserPaused = true;
3924          }
3925        }
3926        __name(pause, "pause");
3927        function toggleAutoplay() {
3928          if (animating) {
3929            stopAutoplay();
3930            autoplayUserPaused = true;
3931          } else {
3932            startAutoplay();
3933            autoplayUserPaused = false;
3934          }
3935        }
3936        __name(toggleAutoplay, "toggleAutoplay");
3937        function onVisibilityChange() {
3938          if (doc.hidden) {
3939            if (animating) {
3940              stopAutoplayTimer();
3941              autoplayVisibilityPaused = true;
3942            }
3943          } else if (autoplayVisibilityPaused) {
3944            setAutoplayTimer();
3945            autoplayVisibilityPaused = false;
3946          }
3947        }
3948        __name(onVisibilityChange, "onVisibilityChange");
3949        function mouseoverPause() {
3950          if (animating) {
3951            stopAutoplayTimer();
3952            autoplayHoverPaused = true;
3953          }
3954        }
3955        __name(mouseoverPause, "mouseoverPause");
3956        function mouseoutRestart() {
3957          if (autoplayHoverPaused) {
3958            setAutoplayTimer();
3959            autoplayHoverPaused = false;
3960          }
3961        }
3962        __name(mouseoutRestart, "mouseoutRestart");
3963        function onDocumentKeydown(e) {
3964          e = getEvent(e);
3965          var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);
3966          if (keyIndex >= 0) {
3967            onControlsClick(e, keyIndex === 0 ? -1 : 1);
3968          }
3969        }
3970        __name(onDocumentKeydown, "onDocumentKeydown");
3971        function onControlsKeydown(e) {
3972          e = getEvent(e);
3973          var keyIndex = [KEYS.LEFT, KEYS.RIGHT].indexOf(e.keyCode);
3974          if (keyIndex >= 0) {
3975            if (keyIndex === 0) {
3976              if (!prevButton.disabled) {
3977                onControlsClick(e, -1);
3978              }
3979            } else if (!nextButton.disabled) {
3980              onControlsClick(e, 1);
3981            }
3982          }
3983        }
3984        __name(onControlsKeydown, "onControlsKeydown");
3985        function setFocus(el) {
3986          el.focus();
3987        }
3988        __name(setFocus, "setFocus");
3989        function onNavKeydown(e) {
3990          e = getEvent(e);
3991          var curElement = doc.activeElement;
3992          if (!hasAttr(curElement, "data-nav")) {
3993            return;
3994          }
3995          var keyIndex = [KEYS.LEFT, KEYS.RIGHT, KEYS.ENTER, KEYS.SPACE].indexOf(e.keyCode), navIndex = Number(getAttr(curElement, "data-nav"));
3996          if (keyIndex >= 0) {
3997            if (keyIndex === 0) {
3998              if (navIndex > 0) {
3999                setFocus(navItems[navIndex - 1]);
4000              }
4001            } else if (keyIndex === 1) {
4002              if (navIndex < pages - 1) {
4003                setFocus(navItems[navIndex + 1]);
4004              }
4005            } else {
4006              navClicked = navIndex;
4007              goTo(navIndex, e);
4008            }
4009          }
4010        }
4011        __name(onNavKeydown, "onNavKeydown");
4012        function getEvent(e) {
4013          e = e || win2.event;
4014          return isTouchEvent(e) ? e.changedTouches[0] : e;
4015        }
4016        __name(getEvent, "getEvent");
4017        function getTarget(e) {
4018          return e.target || win2.event.srcElement;
4019        }
4020        __name(getTarget, "getTarget");
4021        function isTouchEvent(e) {
4022          return e.type.indexOf("touch") >= 0;
4023        }
4024        __name(isTouchEvent, "isTouchEvent");
4025        function preventDefaultBehavior(e) {
4026          e.preventDefault ? e.preventDefault() : e.returnValue = false;
4027        }
4028        __name(preventDefaultBehavior, "preventDefaultBehavior");
4029        function getMoveDirectionExpected() {
4030          return getTouchDirection(toDegree(lastPosition.y - initPosition.y, lastPosition.x - initPosition.x), swipeAngle) === options.axis;
4031        }
4032        __name(getMoveDirectionExpected, "getMoveDirectionExpected");
4033        function onPanStart(e) {
4034          if (running) {
4035            if (preventActionWhenRunning) {
4036              return;
4037            } else {
4038              onTransitionEnd();
4039            }
4040          }
4041          if (autoplay && animating) {
4042            stopAutoplayTimer();
4043          }
4044          panStart = true;
4045          if (rafIndex) {
4046            caf(rafIndex);
4047            rafIndex = null;
4048          }
4049          var $ = getEvent(e);
4050          events.emit(isTouchEvent(e) ? "touchStart" : "dragStart", info(e));
4051          if (!isTouchEvent(e) && ["img", "a"].indexOf(getLowerCaseNodeName(getTarget(e))) >= 0) {
4052            preventDefaultBehavior(e);
4053          }
4054          lastPosition.x = initPosition.x = $.clientX;
4055          lastPosition.y = initPosition.y = $.clientY;
4056          if (carousel) {
4057            translateInit = parseFloat(container.style[transformAttr].replace(transformPrefix, ""));
4058            resetDuration(container, "0s");
4059          }
4060        }
4061        __name(onPanStart, "onPanStart");
4062        function onPanMove(e) {
4063          if (panStart) {
4064            var $ = getEvent(e);
4065            lastPosition.x = $.clientX;
4066            lastPosition.y = $.clientY;
4067            if (carousel) {
4068              if (!rafIndex) {
4069                rafIndex = raf(function() {
4070                  panUpdate(e);
4071                });
4072              }
4073            } else {
4074              if (moveDirectionExpected === "?") {
4075                moveDirectionExpected = getMoveDirectionExpected();
4076              }
4077              if (moveDirectionExpected) {
4078                preventScroll = true;
4079              }
4080            }
4081            if ((typeof e.cancelable !== "boolean" || e.cancelable) && preventScroll) {
4082              e.preventDefault();
4083            }
4084          }
4085        }
4086        __name(onPanMove, "onPanMove");
4087        function panUpdate(e) {
4088          if (!moveDirectionExpected) {
4089            panStart = false;
4090            return;
4091          }
4092          caf(rafIndex);
4093          if (panStart) {
4094            rafIndex = raf(function() {
4095              panUpdate(e);
4096            });
4097          }
4098          if (moveDirectionExpected === "?") {
4099            moveDirectionExpected = getMoveDirectionExpected();
4100          }
4101          if (moveDirectionExpected) {
4102            if (!preventScroll && isTouchEvent(e)) {
4103              preventScroll = true;
4104            }
4105            try {
4106              if (e.type) {
4107                events.emit(isTouchEvent(e) ? "touchMove" : "dragMove", info(e));
4108              }
4109            } catch (err) {
4110            }
4111            var x = translateInit, dist = getDist(lastPosition, initPosition);
4112            if (!horizontal || fixedWidth || autoWidth) {
4113              x += dist;
4114              x += "px";
4115            } else {
4116              var percentageX = TRANSFORM ? dist * items * 100 / ((viewport + gutter) * slideCountNew) : dist * 100 / (viewport + gutter);
4117              x += percentageX;
4118              x += "%";
4119            }
4120            container.style[transformAttr] = transformPrefix + x + transformPostfix;
4121          }
4122        }
4123        __name(panUpdate, "panUpdate");
4124        function onPanEnd(e) {
4125          if (panStart) {
4126            if (rafIndex) {
4127              caf(rafIndex);
4128              rafIndex = null;
4129            }
4130            if (carousel) {
4131              resetDuration(container, "");
4132            }
4133            panStart = false;
4134            var $ = getEvent(e);
4135            lastPosition.x = $.clientX;
4136            lastPosition.y = $.clientY;
4137            var dist = getDist(lastPosition, initPosition);
4138            if (Math.abs(dist)) {
4139              if (!isTouchEvent(e)) {
4140                var target = getTarget(e);
4141                addEvents(target, {
4142                  "click": /* @__PURE__ */ __name(function preventClick(e2) {
4143                    preventDefaultBehavior(e2);
4144                    removeEvents(target, {
4145                      "click": preventClick
4146                    });
4147                  }, "preventClick")
4148                });
4149              }
4150              if (carousel) {
4151                rafIndex = raf(function() {
4152                  if (horizontal && !autoWidth) {
4153                    var indexMoved = -dist * items / (viewport + gutter);
4154                    indexMoved = dist > 0 ? Math.floor(indexMoved) : Math.ceil(indexMoved);
4155                    index += indexMoved;
4156                  } else {
4157                    var moved = -(translateInit + dist);
4158                    if (moved <= 0) {
4159                      index = indexMin;
4160                    } else if (moved >= slidePositions[slideCountNew - 1]) {
4161                      index = indexMax;
4162                    } else {
4163                      var i = 0;
4164                      while (i < slideCountNew && moved >= slidePositions[i]) {
4165                        index = i;
4166                        if (moved > slidePositions[i] && dist < 0) {
4167                          index += 1;
4168                        }
4169                        i++;
4170                      }
4171                    }
4172                  }
4173                  render3(e, dist);
4174                  events.emit(isTouchEvent(e) ? "touchEnd" : "dragEnd", info(e));
4175                });
4176              } else {
4177                if (moveDirectionExpected) {
4178                  onControlsClick(e, dist > 0 ? -1 : 1);
4179                }
4180              }
4181            }
4182          }
4183          if (options.preventScrollOnTouch === "auto") {
4184            preventScroll = false;
4185          }
4186          if (swipeAngle) {
4187            moveDirectionExpected = "?";
4188          }
4189          if (autoplay && !animating) {
4190            setAutoplayTimer();
4191          }
4192        }
4193        __name(onPanEnd, "onPanEnd");
4194        function updateContentWrapperHeight() {
4195          var wp = middleWrapper ? middleWrapper : innerWrapper;
4196          wp.style.height = slidePositions[index + items] - slidePositions[index] + "px";
4197        }
4198        __name(updateContentWrapperHeight, "updateContentWrapperHeight");
4199        function getPages() {
4200          var rough = fixedWidth ? (fixedWidth + gutter) * slideCount / viewport : slideCount / items;
4201          return Math.min(Math.ceil(rough), slideCount);
4202        }
4203        __name(getPages, "getPages");
4204        function updateNavVisibility() {
4205          if (!nav || navAsThumbnails) {
4206            return;
4207          }
4208          if (pages !== pagesCached) {
4209            var min = pagesCached, max = pages, fn = showElement;
4210            if (pagesCached > pages) {
4211              min = pages;
4212              max = pagesCached;
4213              fn = hideElement;
4214            }
4215            while (min < max) {
4216              fn(navItems[min]);
4217              min++;
4218            }
4219            pagesCached = pages;
4220          }
4221        }
4222        __name(updateNavVisibility, "updateNavVisibility");
4223        function info(e) {
4224          return {
4225            container,
4226            slideItems,
4227            navContainer,
4228            navItems,
4229            controlsContainer,
4230            hasControls,
4231            prevButton,
4232            nextButton,
4233            items,
4234            slideBy,
4235            cloneCount,
4236            slideCount,
4237            slideCountNew,
4238            index,
4239            indexCached,
4240            displayIndex: getCurrentSlide(),
4241            navCurrentIndex,
4242            navCurrentIndexCached,
4243            pages,
4244            pagesCached,
4245            sheet,
4246            isOn,
4247            event: e || {}
4248          };
4249        }
4250        __name(info, "info");
4251        return {
4252          version: "2.9.4",
4253          getInfo: info,
4254          events,
4255          goTo,
4256          play,
4257          pause,
4258          isOn,
4259          updateSliderHeight: updateInnerWrapperHeight,
4260          refresh: initSliderTransform,
4261          destroy: destroy2,
4262          rebuild: /* @__PURE__ */ __name(function() {
4263            return tns2(extend(options, optionsElements));
4264          }, "rebuild")
4265        };
4266      }, "tns");
4267      exports.tns = tns2;
4268    }
4269  });
4270
4271  
vendor: 13,144 bytes, lines 4271-4624
4271// node_modules/headroom.js/dist/headroom.js
4272  var require_headroom = __commonJS({
4273    "node_modules/headroom.js/dist/headroom.js"(exports, module) {
4274      (function(global, factory) {
4275        typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : (global = global || self, global.Headroom = factory());
4276      })(exports, function() {
4277        "use strict";
4278        function isBrowser() {
4279          return typeof window !== "undefined";
4280        }
4281        __name(isBrowser, "isBrowser");
4282        function passiveEventsSupported() {
4283          var supported = false;
4284          try {
4285            var options = {
4286              // eslint-disable-next-line getter-return
4287              get passive() {
4288                supported = true;
4289              }
4290            };
4291            window.addEventListener("test", options, options);
4292            window.removeEventListener("test", options, options);
4293          } catch (err) {
4294            supported = false;
4295          }
4296          return supported;
4297        }
4298        __name(passiveEventsSupported, "passiveEventsSupported");
4299        function isSupported() {
4300          return !!(isBrowser() && function() {
4301          }.bind && "classList" in document.documentElement && Object.assign && Object.keys && requestAnimationFrame);
4302        }
4303        __name(isSupported, "isSupported");
4304        function isDocument(obj) {
4305          return obj.nodeType === 9;
4306        }
4307        __name(isDocument, "isDocument");
4308        function isWindow(obj) {
4309          return obj && obj.document && isDocument(obj.document);
4310        }
4311        __name(isWindow, "isWindow");
4312        function windowScroller(win) {
4313          var doc = win.document;
4314          var body = doc.body;
4315          var html = doc.documentElement;
4316          return {
4317            /**
4318             * @see http://james.padolsey.com/javascript/get-document-height-cross-browser/
4319             * @return {Number} the scroll height of the document in pixels
4320             */
4321            scrollHeight: /* @__PURE__ */ __name(function() {
4322              return Math.max(
4323                body.scrollHeight,
4324                html.scrollHeight,
4325                body.offsetHeight,
4326                html.offsetHeight,
4327                body.clientHeight,
4328                html.clientHeight
4329              );
4330            }, "scrollHeight"),
4331            /**
4332             * @see http://andylangton.co.uk/blog/development/get-viewport-size-width-and-height-javascript
4333             * @return {Number} the height of the viewport in pixels
4334             */
4335            height: /* @__PURE__ */ __name(function() {
4336              return win.innerHeight || html.clientHeight || body.clientHeight;
4337            }, "height"),
4338            /**
4339             * Gets the Y scroll position
4340             * @return {Number} pixels the page has scrolled along the Y-axis
4341             */
4342            scrollY: /* @__PURE__ */ __name(function() {
4343              if (win.pageYOffset !== void 0) {
4344                return win.pageYOffset;
4345              }
4346              return (html || body.parentNode || body).scrollTop;
4347            }, "scrollY")
4348          };
4349        }
4350        __name(windowScroller, "windowScroller");
4351        function elementScroller(element) {
4352          return {
4353            /**
4354             * @return {Number} the scroll height of the element in pixels
4355             */
4356            scrollHeight: /* @__PURE__ */ __name(function() {
4357              return Math.max(
4358                element.scrollHeight,
4359                element.offsetHeight,
4360                element.clientHeight
4361              );
4362            }, "scrollHeight"),
4363            /**
4364             * @return {Number} the height of the element in pixels
4365             */
4366            height: /* @__PURE__ */ __name(function() {
4367              return Math.max(element.offsetHeight, element.clientHeight);
4368            }, "height"),
4369            /**
4370             * Gets the Y scroll position
4371             * @return {Number} pixels the element has scrolled along the Y-axis
4372             */
4373            scrollY: /* @__PURE__ */ __name(function() {
4374              return element.scrollTop;
4375            }, "scrollY")
4376          };
4377        }
4378        __name(elementScroller, "elementScroller");
4379        function createScroller(element) {
4380          return isWindow(element) ? windowScroller(element) : elementScroller(element);
4381        }
4382        __name(createScroller, "createScroller");
4383        function trackScroll(element, options, callback) {
4384          var isPassiveSupported = passiveEventsSupported();
4385          var rafId;
4386          var scrolled = false;
4387          var scroller = createScroller(element);
4388          var lastScrollY = scroller.scrollY();
4389          var details = {};
4390          function update2() {
4391            var scrollY = Math.round(scroller.scrollY());
4392            var height = scroller.height();
4393            var scrollHeight = scroller.scrollHeight();
4394            details.scrollY = scrollY;
4395            details.lastScrollY = lastScrollY;
4396            details.direction = scrollY > lastScrollY ? "down" : "up";
4397            details.distance = Math.abs(scrollY - lastScrollY);
4398            details.isOutOfBounds = scrollY < 0 || scrollY + height > scrollHeight;
4399            details.top = scrollY <= options.offset[details.direction];
4400            details.bottom = scrollY + height >= scrollHeight;
4401            details.toleranceExceeded = details.distance > options.tolerance[details.direction];
4402            callback(details);
4403            lastScrollY = scrollY;
4404            scrolled = false;
4405          }
4406          __name(update2, "update");
4407          function handleScroll() {
4408            if (!scrolled) {
4409              scrolled = true;
4410              rafId = requestAnimationFrame(update2);
4411            }
4412          }
4413          __name(handleScroll, "handleScroll");
4414          var eventOptions = isPassiveSupported ? { passive: true, capture: false } : false;
4415          element.addEventListener("scroll", handleScroll, eventOptions);
4416          update2();
4417          return {
4418            destroy: /* @__PURE__ */ __name(function() {
4419              cancelAnimationFrame(rafId);
4420              element.removeEventListener("scroll", handleScroll, eventOptions);
4421            }, "destroy")
4422          };
4423        }
4424        __name(trackScroll, "trackScroll");
4425        function normalizeUpDown(t) {
4426          return t === Object(t) ? t : { down: t, up: t };
4427        }
4428        __name(normalizeUpDown, "normalizeUpDown");
4429        function Headroom2(elem, options) {
4430          options = options || {};
4431          Object.assign(this, Headroom2.options, options);
4432          this.classes = Object.assign({}, Headroom2.options.classes, options.classes);
4433          this.elem = elem;
4434          this.tolerance = normalizeUpDown(this.tolerance);
4435          this.offset = normalizeUpDown(this.offset);
4436          this.initialised = false;
4437          this.frozen = false;
4438        }
4439        __name(Headroom2, "Headroom");
4440        Headroom2.prototype = {
4441          constructor: Headroom2,
4442          /**
4443           * Start listening to scrolling
4444           * @public
4445           */
4446          init: /* @__PURE__ */ __name(function() {
4447            if (Headroom2.cutsTheMustard && !this.initialised) {
4448              this.addClass("initial");
4449              this.initialised = true;
4450              setTimeout(
4451                function(self2) {
4452                  self2.scrollTracker = trackScroll(
4453                    self2.scroller,
4454                    { offset: self2.offset, tolerance: self2.tolerance },
4455                    self2.update.bind(self2)
4456                  );
4457                },
4458                100,
4459                this
4460              );
4461            }
4462            return this;
4463          }, "init"),
4464          /**
4465           * Destroy the widget, clearing up after itself
4466           * @public
4467           */
4468          destroy: /* @__PURE__ */ __name(function() {
4469            this.initialised = false;
4470            Object.keys(this.classes).forEach(this.removeClass, this);
4471            this.scrollTracker.destroy();
4472          }, "destroy"),
4473          /**
4474           * Unpin the element
4475           * @public
4476           */
4477          unpin: /* @__PURE__ */ __name(function() {
4478            if (this.hasClass("pinned") || !this.hasClass("unpinned")) {
4479              this.addClass("unpinned");
4480              this.removeClass("pinned");
4481              if (this.onUnpin) {
4482                this.onUnpin.call(this);
4483              }
4484            }
4485          }, "unpin"),
4486          /**
4487           * Pin the element
4488           * @public
4489           */
4490          pin: /* @__PURE__ */ __name(function() {
4491            if (this.hasClass("unpinned")) {
4492              this.addClass("pinned");
4493              this.removeClass("unpinned");
4494              if (this.onPin) {
4495                this.onPin.call(this);
4496              }
4497            }
4498          }, "pin"),
4499          /**
4500           * Freezes the current state of the widget
4501           * @public
4502           */
4503          freeze: /* @__PURE__ */ __name(function() {
4504            this.frozen = true;
4505            this.addClass("frozen");
4506          }, "freeze"),
4507          /**
4508           * Re-enables the default behaviour of the widget
4509           * @public
4510           */
4511          unfreeze: /* @__PURE__ */ __name(function() {
4512            this.frozen = false;
4513            this.removeClass("frozen");
4514          }, "unfreeze"),
4515          top: /* @__PURE__ */ __name(function() {
4516            if (!this.hasClass("top")) {
4517              this.addClass("top");
4518              this.removeClass("notTop");
4519              if (this.onTop) {
4520                this.onTop.call(this);
4521              }
4522            }
4523          }, "top"),
4524          notTop: /* @__PURE__ */ __name(function() {
4525            if (!this.hasClass("notTop")) {
4526              this.addClass("notTop");
4527              this.removeClass("top");
4528              if (this.onNotTop) {
4529                this.onNotTop.call(this);
4530              }
4531            }
4532          }, "notTop"),
4533          bottom: /* @__PURE__ */ __name(function() {
4534            if (!this.hasClass("bottom")) {
4535              this.addClass("bottom");
4536              this.removeClass("notBottom");
4537              if (this.onBottom) {
4538                this.onBottom.call(this);
4539              }
4540            }
4541          }, "bottom"),
4542          notBottom: /* @__PURE__ */ __name(function() {
4543            if (!this.hasClass("notBottom")) {
4544              this.addClass("notBottom");
4545              this.removeClass("bottom");
4546              if (this.onNotBottom) {
4547                this.onNotBottom.call(this);
4548              }
4549            }
4550          }, "notBottom"),
4551          shouldUnpin: /* @__PURE__ */ __name(function(details) {
4552            var scrollingDown = details.direction === "down";
4553            return scrollingDown && !details.top && details.toleranceExceeded;
4554          }, "shouldUnpin"),
4555          shouldPin: /* @__PURE__ */ __name(function(details) {
4556            var scrollingUp = details.direction === "up";
4557            return scrollingUp && details.toleranceExceeded || details.top;
4558          }, "shouldPin"),
4559          addClass: /* @__PURE__ */ __name(function(className) {
4560            this.elem.classList.add.apply(
4561              this.elem.classList,
4562              this.classes[className].split(" ")
4563            );
4564          }, "addClass"),
4565          removeClass: /* @__PURE__ */ __name(function(className) {
4566            this.elem.classList.remove.apply(
4567              this.elem.classList,
4568              this.classes[className].split(" ")
4569            );
4570          }, "removeClass"),
4571          hasClass: /* @__PURE__ */ __name(function(className) {
4572            return this.classes[className].split(" ").every(function(cls) {
4573              return this.classList.contains(cls);
4574            }, this.elem);
4575          }, "hasClass"),
4576          update: /* @__PURE__ */ __name(function(details) {
4577            if (details.isOutOfBounds) {
4578              return;
4579            }
4580            if (this.frozen === true) {
4581              return;
4582            }
4583            if (details.top) {
4584              this.top();
4585            } else {
4586              this.notTop();
4587            }
4588            if (details.bottom) {
4589              this.bottom();
4590            } else {
4591              this.notBottom();
4592            }
4593            if (this.shouldUnpin(details)) {
4594              this.unpin();
4595            } else if (this.shouldPin(details)) {
4596              this.pin();
4597            }
4598          }, "update")
4599        };
4600        Headroom2.options = {
4601          tolerance: {
4602            up: 0,
4603            down: 0
4604          },
4605          offset: 0,
4606          scroller: isBrowser() ? window : null,
4607          classes: {
4608            frozen: "headroom--frozen",
4609            pinned: "headroom--pinned",
4610            unpinned: "headroom--unpinned",
4611            top: "headroom--top",
4612            notTop: "headroom--not-top",
4613            bottom: "headroom--bottom",
4614            notBottom: "headroom--not-bottom",
4615            initial: "headroom"
4616          }
4617        };
4618        Headroom2.cutsTheMustard = isSupported();
4619        return Headroom2;
4620      });
4621    }
4622  });
4623
4624  
vendor: 82,486 bytes, lines 4624-5561
4624// node_modules/vanilla-calendar-pro/index.mjs
4625  var __defProp2 = Object.defineProperty;
4626  var __defProps = Object.defineProperties;
4627  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4628  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
4629  var __hasOwnProp2 = Object.prototype.hasOwnProperty;
4630  var __propIsEnum = Object.prototype.propertyIsEnumerable;
4631  var __defNormalProp = /* @__PURE__ */ __name((e, t, n) => t in e ? __defProp2(e, t, { enumerable: true, configurable: true, writable: true, value: n }) : e[t] = n, "__defNormalProp");
4632  var __spreadValues = /* @__PURE__ */ __name((e, t) => {
4633    for (var n in t || (t = {})) __hasOwnProp2.call(t, n) && __defNormalProp(e, n, t[n]);
4634    if (__getOwnPropSymbols) for (var n of __getOwnPropSymbols(t)) __propIsEnum.call(t, n) && __defNormalProp(e, n, t[n]);
4635    return e;
4636  }, "__spreadValues");
4637  var __spreadProps = /* @__PURE__ */ __name((e, t) => __defProps(e, __getOwnPropDescs(t)), "__spreadProps");
4638  var __publicField = /* @__PURE__ */ __name((e, t, n) => (__defNormalProp(e, "symbol" != typeof t ? t + "" : t, n), n), "__publicField");
4639  var errorMessages = { notFoundSelector: /* @__PURE__ */ __name((e) => `${e} is not found, check the first argument passed to new Calendar.`, "notFoundSelector"), notInit: 'The calendar has not been initialized, please initialize it using the "init()" method first.', notLocale: "You specified an incorrect language label or did not specify the required number of values \u200B\u200Bfor \xABlocale.weekdays\xBB or \xABlocale.months\xBB.", incorrectTime: "The value of the time property can be: false, 12 or 24.", incorrectMonthsCount: "For the \xABmultiple\xBB calendar type, the \xABdisplayMonthsCount\xBB parameter can have a value from 2 to 12, and for all others it cannot be greater than 1." };
4640  var setContext = /* @__PURE__ */ __name((e, t, n) => {
4641    e.context[t] = n;
4642  }, "setContext");
4643  var destroy = /* @__PURE__ */ __name((e) => {
4644    var t, n, a, o, l;
4645    if (!e.context.isInit) throw new Error(errorMessages.notInit);
4646    e.inputMode ? (null == (t = e.context.mainElement.parentElement) || t.removeChild(e.context.mainElement), null == (a = null == (n = e.context.inputElement) ? void 0 : n.replaceWith) || a.call(n, e.context.originalElement), setContext(e, "inputElement", void 0)) : null == (l = (o = e.context.mainElement).replaceWith) || l.call(o, e.context.originalElement), setContext(e, "mainElement", e.context.originalElement), e.onDestroy && e.onDestroy(e);
4647  }, "destroy");
4648  var skipOpenOnFocus = /* @__PURE__ */ new WeakSet();
4649  var shouldSkipOpenOnFocus = /* @__PURE__ */ __name((e) => skipOpenOnFocus.has(e), "shouldSkipOpenOnFocus");
4650  var setSkipOpenOnFocus = /* @__PURE__ */ __name((e) => {
4651    skipOpenOnFocus.add(e);
4652  }, "setSkipOpenOnFocus");
4653  var clearSkipOpenOnFocus = /* @__PURE__ */ __name((e) => {
4654    skipOpenOnFocus.delete(e);
4655  }, "clearSkipOpenOnFocus");
4656  var PREV_TABINDEX_ATTR = "data-vc-prev-tabindex";
4657  var isFocusable = /* @__PURE__ */ __name((e) => e.tabIndex >= 0 && !e.hasAttribute("disabled") && "true" !== e.getAttribute("aria-disabled"), "isFocusable");
4658  var storePrevTabIndex = /* @__PURE__ */ __name((e) => {
4659    if (e.hasAttribute(PREV_TABINDEX_ATTR)) return;
4660    const t = e.getAttribute("tabindex");
4661    e.setAttribute(PREV_TABINDEX_ATTR, null != t ? t : "");
4662  }, "storePrevTabIndex");
4663  var restorePrevTabIndex = /* @__PURE__ */ __name((e) => {
4664    if (!e.hasAttribute(PREV_TABINDEX_ATTR)) return;
4665    const t = e.getAttribute(PREV_TABINDEX_ATTR);
4666    "" === t || null === t ? e.removeAttribute("tabindex") : e.setAttribute("tabindex", t), e.removeAttribute(PREV_TABINDEX_ATTR);
4667  }, "restorePrevTabIndex");
4668  var disableTabbing = /* @__PURE__ */ __name((e) => {
4669    isFocusable(e) && (storePrevTabIndex(e), e.tabIndex = -1);
4670    const t = document.createTreeWalker(e, NodeFilter.SHOW_ELEMENT, { acceptNode: /* @__PURE__ */ __name((e2) => isFocusable(e2) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP, "acceptNode") });
4671    for (; t.nextNode(); ) {
4672      const e2 = t.currentNode;
4673      storePrevTabIndex(e2), e2.tabIndex = -1;
4674    }
4675  }, "disableTabbing");
4676  var restoreTabbing = /* @__PURE__ */ __name((e) => {
4677    restorePrevTabIndex(e), e.querySelectorAll(`[${PREV_TABINDEX_ATTR}]`).forEach(restorePrevTabIndex);
4678  }, "restoreTabbing");
4679  var hide = /* @__PURE__ */ __name((e) => {
4680    if (e.context.isShowInInputMode && e.context.currentType) {
4681      if (e.context.mainElement.dataset.vcCalendarHidden = "", setContext(e, "isShowInInputMode", false), e.inputMode && disableTabbing(e.context.mainElement), e.context.cleanupHandlers[0] && (e.context.cleanupHandlers.forEach(((e2) => e2())), setContext(e, "cleanupHandlers", [])), e.inputMode && e.context.inputElement && e.context.mainElement.contains(document.activeElement)) {
4682        ("function" == typeof e.openOnFocus || true === e.openOnFocus) && setSkipOpenOnFocus(e), e.context.inputElement.focus();
4683      }
4684      e.onHide && e.onHide(e);
4685    }
4686  }, "hide");
4687  function getOffset(e) {
4688    if (!e || !e.getBoundingClientRect) return { top: 0, bottom: 0, left: 0, right: 0 };
4689    const t = e.getBoundingClientRect(), n = document.documentElement;
4690    return { bottom: t.bottom, right: t.right, top: t.top + window.scrollY - n.clientTop, left: t.left + window.scrollX - n.clientLeft };
4691  }
4692  __name(getOffset, "getOffset");
4693  function getViewportDimensions() {
4694    return { vw: Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0), vh: Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0) };
4695  }
4696  __name(getViewportDimensions, "getViewportDimensions");
4697  function getWindowScrollPosition() {
4698    return { left: window.scrollX || document.documentElement.scrollLeft || 0, top: window.scrollY || document.documentElement.scrollTop || 0 };
4699  }
4700  __name(getWindowScrollPosition, "getWindowScrollPosition");
4701  function calculateAvailableSpace(e) {
4702    const { top: t, left: n } = getWindowScrollPosition(), { top: a, left: o } = getOffset(e), { vh: l, vw: s } = getViewportDimensions(), i = a - t, r = o - n;
4703    return { top: i, bottom: l - (i + e.clientHeight), left: r, right: s - (r + e.clientWidth) };
4704  }
4705  __name(calculateAvailableSpace, "calculateAvailableSpace");
4706  function getAvailablePosition(e, t, n = 5) {
4707    const a = { top: true, bottom: true, left: true, right: true }, o = [];
4708    if (!t || !e) return { canShow: a, parentPositions: o };
4709    const { bottom: l, top: s } = calculateAvailableSpace(e), { top: i, left: r } = getOffset(e), { height: c, width: d } = t.getBoundingClientRect(), { vh: u, vw: m } = getViewportDimensions(), p = m / 2, h = u / 2;
4710    return [{ condition: i < h, position: "top" }, { condition: i > h, position: "bottom" }, { condition: r < p, position: "left" }, { condition: r > p, position: "right" }].forEach((({ condition: e2, position: t2 }) => {
4711      e2 && o.push(t2);
4712    })), Object.assign(a, { top: c <= s - n, bottom: c <= l - n, left: d <= r, right: d <= m - r }), { canShow: a, parentPositions: o };
4713  }
4714  __name(getAvailablePosition, "getAvailablePosition");
4715  var handleDay = /* @__PURE__ */ __name((e, t, n, a) => {
4716    var o;
4717    const l = a.querySelector(`[data-vc-date="${t}"]`), s = null == l ? void 0 : l.querySelector("[data-vc-date-btn]");
4718    if (!l || !s) return;
4719    if ((null == n ? void 0 : n.modifier) && s.classList.add(...n.modifier.trim().split(" ")), !(null == n ? void 0 : n.html)) return;
4720    const i = document.createElement("div");
4721    i.className = e.styles.datePopup, i.dataset.vcDatePopup = "", i.innerHTML = e.sanitizerHTML(n.html), s.ariaExpanded = "true", s.ariaLabel = `${s.ariaLabel}, ${null == (o = null == i ? void 0 : i.textContent) ? void 0 : o.replace(/^\s+|\s+(?=\s)|\s+$/g, "").replace(/&nbsp;/g, " ")}`, l.appendChild(i), requestAnimationFrame((() => {
4722      if (!i) return;
4723      const { canShow: e2 } = getAvailablePosition(l, i), t2 = e2.bottom ? l.offsetHeight : -i.offsetHeight, n2 = e2.left && !e2.right ? l.offsetWidth - i.offsetWidth / 2 : !e2.left && e2.right ? i.offsetWidth / 2 : 0;
4724      Object.assign(i.style, { left: `${n2}px`, top: `${t2}px` });
4725    }));
4726  }, "handleDay");
4727  var createDatePopup = /* @__PURE__ */ __name((e, t) => {
4728    var n;
4729    e.popups && (null == (n = Object.entries(e.popups)) || n.forEach((([n2, a]) => handleDay(e, n2, a, t))));
4730  }, "createDatePopup");
4731  var getDate = /* @__PURE__ */ __name((e) => /* @__PURE__ */ new Date(`${e}T00:00:00`), "getDate");
4732  var getDateString = /* @__PURE__ */ __name((e) => `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`, "getDateString");
4733  var parseDates = /* @__PURE__ */ __name((e) => e.reduce(((e2, t) => {
4734    if (t instanceof Date || "number" == typeof t) {
4735      const n = t instanceof Date ? t : new Date(t);
4736      e2.push(n.toISOString().substring(0, 10));
4737    } else t.match(/^(\d{4}-\d{2}-\d{2})$/g) ? e2.push(t) : t.replace(/(\d{4}-\d{2}-\d{2}).*?(\d{4}-\d{2}-\d{2})/g, ((t2, n, a) => {
4738      const o = getDate(n), l = getDate(a), s = new Date(o.getTime());
4739      for (; s <= l; s.setDate(s.getDate() + 1)) e2.push(getDateString(s));
4740      return t2;
4741    }));
4742    return e2;
4743  }), []), "parseDates");
4744  var updateAttribute = /* @__PURE__ */ __name((e, t, n, a = "") => {
4745    t ? e.setAttribute(n, a) : e.getAttribute(n) === a && e.removeAttribute(n);
4746  }, "updateAttribute");
4747  var setDateModifier = /* @__PURE__ */ __name((e, t, n, a, o, l, s) => {
4748    var i, r, c, d;
4749    const u = getDate(e.context.displayDateMin) > getDate(l) || getDate(e.context.displayDateMax) < getDate(l) || (null == (i = e.context.disableDates) ? void 0 : i.includes(l)) || !e.selectionMonthsMode && "current" !== s || !e.selectionYearsMode && getDate(l).getFullYear() !== t;
4750    updateAttribute(n, u, "data-vc-date-disabled"), a && updateAttribute(a, u, "aria-disabled", "true"), a && updateAttribute(a, u, "tabindex", "-1"), updateAttribute(n, !e.disableToday && e.context.dateToday === l, "data-vc-date-today"), updateAttribute(n, !e.disableToday && e.context.dateToday === l, "aria-current", "date"), updateAttribute(n, null == (r = e.selectedWeekends) ? void 0 : r.includes(o), "data-vc-date-weekend");
4751    const m = (null == (c = e.selectedHolidays) ? void 0 : c[0]) ? parseDates(e.selectedHolidays) : [];
4752    if (updateAttribute(n, m.includes(l), "data-vc-date-holiday"), (null == (d = e.context.selectedDates) ? void 0 : d.includes(l)) ? (n.setAttribute("data-vc-date-selected", ""), a && a.setAttribute("aria-selected", "true"), e.context.selectedDates.length > 1 && "multiple-ranged" === e.selectionDatesMode && (e.context.selectedDates[0] === l && e.context.selectedDates[e.context.selectedDates.length - 1] === l ? n.setAttribute("data-vc-date-selected", "first-and-last") : e.context.selectedDates[0] === l ? n.setAttribute("data-vc-date-selected", "first") : e.context.selectedDates[e.context.selectedDates.length - 1] === l && n.setAttribute("data-vc-date-selected", "last"), e.context.selectedDates[0] !== l && e.context.selectedDates[e.context.selectedDates.length - 1] !== l && n.setAttribute("data-vc-date-selected", "middle"))) : n.hasAttribute("data-vc-date-selected") && (n.removeAttribute("data-vc-date-selected"), a && a.removeAttribute("aria-selected")), !e.context.disableDates.includes(l) && e.enableEdgeDatesOnly && e.context.selectedDates.length > 1 && "multiple-ranged" === e.selectionDatesMode) {
4753      const t2 = getDate(e.context.selectedDates[0]), a2 = getDate(e.context.selectedDates[e.context.selectedDates.length - 1]), o2 = getDate(l);
4754      updateAttribute(n, o2 > t2 && o2 < a2, "data-vc-date-selected", "middle");
4755    }
4756  }, "setDateModifier");
4757  var getLocaleString = /* @__PURE__ */ __name((e, t, n) => (/* @__PURE__ */ new Date(`${e}T00:00:00.000Z`)).toLocaleString(t, n), "getLocaleString");
4758  var getWeekNumber = /* @__PURE__ */ __name((e, t) => {
4759    const n = getDate(e), a = (n.getDay() - t + 7) % 7;
4760    n.setDate(n.getDate() + 4 - a);
4761    const o = new Date(n.getFullYear(), 0, 1), l = Math.ceil(((+n - +o) / 864e5 + 1) / 7);
4762    return { year: n.getFullYear(), week: l };
4763  }, "getWeekNumber");
4764  var addWeekNumberForDate = /* @__PURE__ */ __name((e, t, n) => {
4765    const a = getWeekNumber(n, e.firstWeekday);
4766    a && (t.dataset.vcDateWeekNumber = String(a.week));
4767  }, "addWeekNumberForDate");
4768  var setDaysAsDisabled = /* @__PURE__ */ __name((e, t, n) => {
4769    var a, o, l, s, i;
4770    const r = null == (a = e.disableWeekdays) ? void 0 : a.includes(n), c = e.disableAllDates && !!(null == (o = e.context.enableDates) ? void 0 : o[0]);
4771    !r && !c || (null == (l = e.context.enableDates) ? void 0 : l.includes(t)) || (null == (s = e.context.disableDates) ? void 0 : s.includes(t)) || (e.context.disableDates.push(t), null == (i = e.context.disableDates) || i.sort(((e2, t2) => +new Date(e2) - +new Date(t2))));
4772  }, "setDaysAsDisabled");
4773  var createDate = /* @__PURE__ */ __name((e, t, n, a, o, l) => {
4774    const s = getDate(o).getDay(), i = "string" == typeof e.locale && e.locale.length ? e.locale : "en", r = document.createElement("div");
4775    let c;
4776    r.className = e.styles.date, r.dataset.vcDate = o, r.dataset.vcDateMonth = l, r.dataset.vcDateWeekDay = String(s), r.role = "gridcell", ("current" === l || e.displayDatesOutside) && (c = document.createElement("button"), c.className = e.styles.dateBtn, c.type = "button", c.ariaLabel = getLocaleString(o, i, { dateStyle: "long", timeZone: "UTC" }), c.dataset.vcDateBtn = "", c.innerText = String(a), r.appendChild(c)), e.enableWeekNumbers && addWeekNumberForDate(e, r, o), setDaysAsDisabled(e, o, s), setDateModifier(e, t, r, c, s, o, l), n.addDate(r), e.onCreateDateEls && e.onCreateDateEls(e, r);
4777  }, "createDate");
4778  var createDatesFromCurrentMonth = /* @__PURE__ */ __name((e, t, n, a, o) => {
4779    for (let l = 1; l <= n; l++) {
4780      const n2 = new Date(a, o, l);
4781      createDate(e, a, t, l, getDateString(n2), "current");
4782    }
4783  }, "createDatesFromCurrentMonth");
4784  var createDatesFromNextMonth = /* @__PURE__ */ __name((e, t, n, a, o) => {
4785    const l = o + 1 === 12 ? a + 1 : a, s = o + 1 === 12 ? "01" : o + 2 < 10 ? `0${o + 2}` : o + 2;
4786    for (let o2 = 1; o2 <= n; o2++) {
4787      const n2 = o2 < 10 ? `0${o2}` : String(o2);
4788      createDate(e, a, t, o2, `${l}-${s}-${n2}`, "next");
4789    }
4790  }, "createDatesFromNextMonth");
4791  var createDatesFromPrevMonth = /* @__PURE__ */ __name((e, t, n, a, o) => {
4792    let l = new Date(n, a, 0).getDate() - (o - 1);
4793    const s = 0 === a ? n - 1 : n, i = 0 === a ? 12 : a < 10 ? `0${a}` : a;
4794    for (let a2 = o; a2 > 0; a2--, l++) {
4795      createDate(e, n, t, l, `${s}-${i}-${l}`, "prev");
4796    }
4797  }, "createDatesFromPrevMonth");
4798  var createWeekNumbers = /* @__PURE__ */ __name((e, t, n, a, o) => {
4799    if (!e.enableWeekNumbers) return;
4800    a.textContent = "";
4801    const l = document.createElement("b");
4802    l.className = e.styles.weekNumbersTitle, l.innerText = "#", l.dataset.vcWeekNumbers = "title", a.appendChild(l);
4803    const s = document.createElement("div");
4804    s.className = e.styles.weekNumbersContent, s.dataset.vcWeekNumbers = "content", a.appendChild(s);
4805    const i = document.createElement("button");
4806    i.type = "button", i.className = e.styles.weekNumber;
4807    const r = o.querySelectorAll("[data-vc-date]"), c = Math.ceil((t + n) / 7);
4808    for (let t2 = 0; t2 < c; t2++) {
4809      const n2 = r[0 === t2 ? 6 : 7 * t2].dataset.vcDate, a2 = getWeekNumber(n2, e.firstWeekday);
4810      if (!a2) return;
4811      const o2 = i.cloneNode(true);
4812      o2.innerText = String(a2.week), o2.dataset.vcWeekNumber = String(a2.week), o2.dataset.vcWeekYear = String(a2.year), o2.role = "rowheader", o2.ariaLabel = `${a2.week}`, s.appendChild(o2);
4813    }
4814  }, "createWeekNumbers");
4815  var createDates = /* @__PURE__ */ __name((e) => {
4816    const t = new Date(e.context.selectedYear, e.context.selectedMonth, 1), n = e.context.mainElement.querySelectorAll('[data-vc="dates"]'), a = e.context.mainElement.querySelectorAll('[data-vc-week="numbers"]');
4817    n.forEach(((n2, o) => {
4818      e.selectionDatesMode || (n2.dataset.vcDatesDisabled = ""), n2.textContent = "";
4819      const l = new Date(t);
4820      l.setMonth(l.getMonth() + o);
4821      const s = l.getMonth(), i = l.getFullYear(), r = (new Date(i, s, 1).getDay() - e.firstWeekday + 7) % 7, c = new Date(i, s + 1, 0).getDate(), d = r + c, u = Math.ceil(d / 7), m = 7 * u - d, p = [];
4822      for (let t2 = 0; t2 < u; t2++) {
4823        const t3 = document.createElement("div");
4824        t3.className = e.styles.datesRow, t3.setAttribute("data-vc-dates", "row"), t3.setAttribute("role", "row"), p.push(t3);
4825      }
4826      let h = 0, v = 0;
4827      const g = { addDate: /* @__PURE__ */ __name((e2) => {
4828        p[h].appendChild(e2), v++, v >= 7 && (h++, v = 0);
4829      }, "addDate") };
4830      createDatesFromPrevMonth(e, g, i, s, r), createDatesFromCurrentMonth(e, g, c, i, s), createDatesFromNextMonth(e, g, m, i, s);
4831      for (const e2 of p) n2.appendChild(e2);
4832      createDatePopup(e, n2), createWeekNumbers(e, r, c, a[o], n2);
4833    }));
4834  }, "createDates");
4835  var layoutDefault = /* @__PURE__ */ __name((e) => `
4836  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">
4837    <#ArrowPrev [month] />
4838    <div class="${e.styles.headerContent}" data-vc-header="content">
4839      <#Month />
4840      <#Year />
4841    </div>
4842    <#ArrowNext [month] />
4843  </div>
4844  <div class="${e.styles.wrapper}" data-vc="wrapper">
4845    <#WeekNumbers />
4846    <div class="${e.styles.content}" data-vc="content" role="grid">
4847      <#Week />
4848      <#Dates />
4849      <#DateRangeTooltip />
4850    </div>
4851  </div>
4852  <#ControlTime />
4853`, "layoutDefault");
4854  var layoutMonths = /* @__PURE__ */ __name((e) => `
4855  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">
4856    <div class="${e.styles.headerContent}" data-vc-header="content">
4857      <#Month />
4858      <#Year />
4859    </div>
4860  </div>
4861  <div class="${e.styles.wrapper}" data-vc="wrapper">
4862    <div class="${e.styles.content}" data-vc="content">
4863      <#Months />
4864    </div>
4865  </div>
4866`, "layoutMonths");
4867  var layoutMultiple = /* @__PURE__ */ __name((e) => `
4868  <div class="${e.styles.controls}" data-vc="controls" role="toolbar" aria-label="${e.labels.navigation}">
4869    <#ArrowPrev [month] />
4870    <#ArrowNext [month] />
4871  </div>
4872  <div class="${e.styles.grid}" data-vc="grid">
4873    <#Multiple>
4874      <div class="${e.styles.column}" data-vc="column" role="region">
4875        <div class="${e.styles.header}" data-vc="header">
4876          <div class="${e.styles.headerContent}" data-vc-header="content">
4877            <#Month />
4878            <#Year />
4879          </div>
4880        </div>
4881        <div class="${e.styles.wrapper}" data-vc="wrapper">
4882          <#WeekNumbers />
4883          <div class="${e.styles.content}" data-vc="content" role="grid">
4884            <#Week />
4885            <#Dates />
4886          </div>
4887        </div>
4888      </div>
4889    <#/Multiple>
4890    <#DateRangeTooltip />
4891  </div>
4892  <#ControlTime />
4893`, "layoutMultiple");
4894  var layoutYears = /* @__PURE__ */ __name((e) => `
4895  <div class="${e.styles.header}" data-vc="header" role="toolbar" aria-label="${e.labels.navigation}">
4896    <#ArrowPrev [year] />
4897    <div class="${e.styles.headerContent}" data-vc-header="content">
4898      <#Month />
4899      <#Year />
4900    </div>
4901    <#ArrowNext [year] />
4902  </div>
4903  <div class="${e.styles.wrapper}" data-vc="wrapper">
4904    <div class="${e.styles.content}" data-vc="content">
4905      <#Years />
4906    </div>
4907  </div>
4908`, "layoutYears");
4909  var ArrowNext = /* @__PURE__ */ __name((e, t) => `<button type="button" class="${e.styles.arrowNext}" data-vc-arrow="next" aria-label="${e.labels.arrowNext[t]}"></button>`, "ArrowNext");
4910  var ArrowPrev = /* @__PURE__ */ __name((e, t) => `<button type="button" class="${e.styles.arrowPrev}" data-vc-arrow="prev" aria-label="${e.labels.arrowPrev[t]}"></button>`, "ArrowPrev");
4911  var ControlTime = /* @__PURE__ */ __name((e) => e.selectionTimeMode ? `<div class="${e.styles.time}" data-vc="time" role="group" aria-label="${e.labels.selectingTime}"></div>` : "", "ControlTime");
4912  var DateRangeTooltip = /* @__PURE__ */ __name((e) => e.onCreateDateRangeTooltip ? `<div class="${e.styles.dateRangeTooltip}" data-vc-date-range-tooltip="hidden"></div>` : "", "DateRangeTooltip");
4913  var Dates = /* @__PURE__ */ __name((e) => `<div class="${e.styles.dates}" data-vc="dates" aria-live="assertive" aria-label="${e.labels.dates}" ${"multiple" === e.type ? "aria-multiselectable" : ""}></div>`, "Dates");
4914  var Month = /* @__PURE__ */ __name((e) => `<button type="button" class="${e.styles.month}" data-vc="month"></button>`, "Month");
4915  var Months = /* @__PURE__ */ __name((e) => `<div class="${e.styles.months}" data-vc="months" role="grid" aria-live="assertive" aria-label="${e.labels.months}"></div>`, "Months");
4916  var Week = /* @__PURE__ */ __name((e) => `<div class="${e.styles.week}" data-vc="week" role="row" aria-label="${e.labels.week}"></div>`, "Week");
4917  var WeekNumbers = /* @__PURE__ */ __name((e) => e.enableWeekNumbers ? `<div class="${e.styles.weekNumbers}" data-vc-week="numbers" role="row" aria-label="${e.labels.weekNumber}"></div>` : "", "WeekNumbers");
4918  var Year = /* @__PURE__ */ __name((e) => `<button type="button" class="${e.styles.year}" data-vc="year"></button>`, "Year");
4919  var Years = /* @__PURE__ */ __name((e) => `<div class="${e.styles.years}" data-vc="years" role="grid" aria-live="assertive" aria-label="${e.labels.years}"></div>`, "Years");
4920  var components = { ArrowNext, ArrowPrev, ControlTime, Dates, DateRangeTooltip, Month, Months, Week, WeekNumbers, Year, Years };
4921  var getComponent = /* @__PURE__ */ __name((e) => components[e], "getComponent");
4922  var parseLayout = /* @__PURE__ */ __name((e, t) => t.replace(/[\n\t]/g, "").replace(/<#(?!\/?Multiple)(.*?)>/g, ((t2, n) => {
4923    const a = (n.match(/\[(.*?)\]/) || [])[1], o = n.replace(/[/\s\n\t]|\[(.*?)\]/g, ""), l = getComponent(o), s = l ? l(e, null != a ? a : null) : "";
4924    return e.sanitizerHTML(s);
4925  })).replace(/[\n\t]/g, ""), "parseLayout");
4926  var parseMultipleLayout = /* @__PURE__ */ __name((e, t) => t.replace(new RegExp("<#Multiple>(.*?)<#\\/Multiple>", "gs"), ((t2, n) => {
4927    const a = Array(e.context.displayMonthsCount).fill(n).join("");
4928    return e.sanitizerHTML(a);
4929  })).replace(/[\n\t]/g, ""), "parseMultipleLayout");
4930  var createLayouts = /* @__PURE__ */ __name((e, t) => {
4931    const n = { default: layoutDefault, month: layoutMonths, year: layoutYears, multiple: layoutMultiple };
4932    if (Object.keys(n).forEach(((t2) => {
4933      const a = t2;
4934      e.layouts[a].length || (e.layouts[a] = n[a](e));
4935    })), e.context.mainElement.className = e.styles.calendar, e.context.mainElement.dataset.vc = "calendar", e.context.mainElement.dataset.vcType = e.context.currentType, e.context.mainElement.role = "application", e.context.mainElement.tabIndex = 0, e.context.mainElement.ariaLabel = e.labels.application, "multiple" !== e.context.currentType) {
4936      if ("multiple" === e.type && t) {
4937        const n2 = e.context.mainElement.querySelector('[data-vc="controls"]'), a = e.context.mainElement.querySelector('[data-vc="grid"]'), o = t.closest('[data-vc="column"]');
4938        return n2 && n2.remove(), a && (a.dataset.vcGrid = "hidden"), o && (o.dataset.vcColumn = e.context.currentType), void (o && (o.innerHTML = e.sanitizerHTML(parseLayout(e, e.layouts[e.context.currentType]))));
4939      }
4940      e.context.mainElement.innerHTML = e.sanitizerHTML(parseLayout(e, e.layouts[e.context.currentType]));
4941    } else e.context.mainElement.innerHTML = e.sanitizerHTML(parseMultipleLayout(e, parseLayout(e, e.layouts[e.context.currentType])));
4942  }, "createLayouts");
4943  var setVisibilityArrows = /* @__PURE__ */ __name((e, t, n, a) => {
4944    e.style.visibility = n ? "hidden" : "", t.style.visibility = a ? "hidden" : "";
4945  }, "setVisibilityArrows");
4946  var handleDefaultType = /* @__PURE__ */ __name((e, t, n) => {
4947    const a = getDate(getDateString(new Date(e.context.selectedYear, e.context.selectedMonth, 1))), o = new Date(a.getTime()), l = new Date(a.getTime());
4948    o.setMonth(o.getMonth() - e.monthsToSwitch), l.setMonth(l.getMonth() + e.monthsToSwitch);
4949    const s = getDate(e.context.dateMin), i = getDate(e.context.dateMax);
4950    e.selectionYearsMode || (s.setFullYear(a.getFullYear()), i.setFullYear(a.getFullYear()));
4951    const r = !e.selectionMonthsMode || o.getFullYear() < s.getFullYear() || o.getFullYear() === s.getFullYear() && o.getMonth() < s.getMonth(), c = !e.selectionMonthsMode || l.getFullYear() > i.getFullYear() || l.getFullYear() === i.getFullYear() && l.getMonth() > i.getMonth() - (e.context.displayMonthsCount - 1);
4952    setVisibilityArrows(t, n, r, c);
4953  }, "handleDefaultType");
4954  var handleYearType = /* @__PURE__ */ __name((e, t, n) => {
4955    const a = getDate(e.context.dateMin), o = getDate(e.context.dateMax), l = !!(a.getFullYear() && e.context.displayYear - 7 <= a.getFullYear()), s = !!(o.getFullYear() && e.context.displayYear + 7 >= o.getFullYear());
4956    setVisibilityArrows(t, n, l, s);
4957  }, "handleYearType");
4958  var visibilityArrows = /* @__PURE__ */ __name((e) => {
4959    if ("month" === e.context.currentType) return;
4960    const t = e.context.mainElement.querySelector('[data-vc-arrow="prev"]'), n = e.context.mainElement.querySelector('[data-vc-arrow="next"]');
4961    if (!t || !n) return;
4962    ({ default: /* @__PURE__ */ __name(() => handleDefaultType(e, t, n), "default"), year: /* @__PURE__ */ __name(() => handleYearType(e, t, n), "year") })["multiple" === e.context.currentType ? "default" : e.context.currentType]();
4963  }, "visibilityArrows");
4964  var visibilityHandler = /* @__PURE__ */ __name((e, t, n, a, o) => {
4965    const l = new Date(a.setFullYear(e.context.selectedYear, e.context.selectedMonth + n)).getFullYear(), s = new Date(a.setMonth(e.context.selectedMonth + n)).getMonth(), i = e.context.locale.months.long[s], r = t.closest('[data-vc="column"]');
4966    r && (r.ariaLabel = `${i} ${l}`);
4967    const c = { month: { id: s, label: i }, year: { id: l, label: l } };
4968    t.innerText = String(c[o].label), t.dataset[`vc${o.charAt(0).toUpperCase() + o.slice(1)}`] = String(c[o].id), t.ariaLabel = `${e.labels[o]} ${c[o].label}`;
4969    const d = { month: e.selectionMonthsMode, year: e.selectionYearsMode }, u = false === d[o] || "only-arrows" === d[o];
4970    u && (t.tabIndex = -1), t.disabled = u;
4971  }, "visibilityHandler");
4972  var visibilityTitle = /* @__PURE__ */ __name((e) => {
4973    const t = e.context.mainElement.querySelectorAll('[data-vc="month"]'), n = e.context.mainElement.querySelectorAll('[data-vc="year"]'), a = new Date(e.context.selectedYear, e.context.selectedMonth, 1);
4974    [t, n].forEach(((t2) => null == t2 ? void 0 : t2.forEach(((t3, n2) => visibilityHandler(e, t3, n2, a, t3.dataset.vc)))));
4975  }, "visibilityTitle");
4976  var setYearModifier = /* @__PURE__ */ __name((e, t, n, a, o) => {
4977    var l;
4978    const s = { month: "[data-vc-months-month]", year: "[data-vc-years-year]" }, i = { month: { selected: "data-vc-months-month-selected", aria: "aria-selected", value: "vcMonthsMonth", selectedProperty: "selectedMonth" }, year: { selected: "data-vc-years-year-selected", aria: "aria-selected", value: "vcYearsYear", selectedProperty: "selectedYear" } };
4979    o && (null == (l = e.context.mainElement.querySelectorAll(s[n])) || l.forEach(((e2) => {
4980      e2.removeAttribute(i[n].selected), e2.removeAttribute(i[n].aria);
4981    })), setContext(e, i[n].selectedProperty, Number(t.dataset[i[n].value])), visibilityTitle(e), "year" === n && visibilityArrows(e)), a && (t.setAttribute(i[n].selected, ""), t.setAttribute(i[n].aria, "true"));
4982  }, "setYearModifier");
4983  var getColumnID = /* @__PURE__ */ __name((e, t) => {
4984    var n;
4985    if ("multiple" !== e.type) return { currentValue: null, columnID: 0 };
4986    const a = e.context.mainElement.querySelectorAll('[data-vc="column"]'), o = Array.from(a).findIndex(((e2) => e2.closest(`[data-vc-column="${t}"]`)));
4987    return { currentValue: o >= 0 ? Number(null == (n = a[o].querySelector(`[data-vc="${t}"]`)) ? void 0 : n.getAttribute(`data-vc-${t}`)) : null, columnID: Math.max(o, 0) };
4988  }, "getColumnID");
4989  var createMonthEl = /* @__PURE__ */ __name((e, t, n, a, o, l, s) => {
4990    const i = t.cloneNode(false);
4991    return i.className = e.styles.monthsMonth, i.innerText = a, i.ariaLabel = o, i.role = "gridcell", i.dataset.vcMonthsMonth = `${s}`, l && (i.ariaDisabled = "true"), l && (i.tabIndex = -1), i.disabled = l, setYearModifier(e, i, "month", n === s, false), i;
4992  }, "createMonthEl");
4993  var createMonths = /* @__PURE__ */ __name((e, t) => {
4994    var n, a;
4995    const o = null == (n = null == t ? void 0 : t.closest('[data-vc="header"]')) ? void 0 : n.querySelector('[data-vc="year"]'), l = o ? Number(o.dataset.vcYear) : e.context.selectedYear, s = (null == t ? void 0 : t.dataset.vcMonth) ? Number(t.dataset.vcMonth) : e.context.selectedMonth;
4996    setContext(e, "currentType", "month"), createLayouts(e, t), visibilityTitle(e);
4997    const i = e.context.mainElement.querySelector('[data-vc="months"]');
4998    if (!e.selectionMonthsMode || !i) return;
4999    const r = e.monthsToSwitch > 1 ? e.context.locale.months.long.map(((t2, n2) => s - e.monthsToSwitch * n2)).concat(e.context.locale.months.long.map(((t2, n2) => s + e.monthsToSwitch * n2))).filter(((e2) => e2 >= 0 && e2 <= 12)) : Array.from(Array(12).keys()), c = document.createElement("button");
5000    c.type = "button";
5001    for (let t2 = 0; t2 < 12; t2++) {
5002      const n2 = getDate(e.context.dateMin), a2 = getDate(e.context.dateMax), o2 = e.context.displayMonthsCount - 1, { columnID: d } = getColumnID(e, "month"), u = l <= n2.getFullYear() && t2 < n2.getMonth() + d || l >= a2.getFullYear() && t2 > a2.getMonth() - o2 + d || l > a2.getFullYear() || t2 !== s && !r.includes(t2), m = createMonthEl(e, c, s, e.context.locale.months.short[t2], e.context.locale.months.long[t2], u, t2);
5003      i.appendChild(m), e.onCreateMonthEls && e.onCreateMonthEls(e, m);
5004    }
5005    null == (a = e.context.mainElement.querySelector("[data-vc-months-month]:not([disabled])")) || a.focus();
5006  }, "createMonths");
5007  var TimeInput = /* @__PURE__ */ __name((e, t, n, a, o) => `
5008  <label class="${t}" data-vc-time-input="${e}">
5009    <input type="text" name="${e}" maxlength="2" aria-label="${n[`input${e.charAt(0).toUpperCase() + e.slice(1)}`]}" value="${a}" ${o ? "disabled" : ""}>
5010  </label>
5011`, "TimeInput");
5012  var TimeRange = /* @__PURE__ */ __name((e, t, n, a, o, l, s) => `
5013  <label class="${t}" data-vc-time-range="${e}">
5014    <input type="range" name="${e}" min="${a}" max="${o}" step="${l}" aria-label="${n[`range${e.charAt(0).toUpperCase() + e.slice(1)}`]}" value="${s}">
5015  </label>
5016`, "TimeRange");
5017  var handleActions = /* @__PURE__ */ __name((e, t, n, a) => {
5018    ({ hour: /* @__PURE__ */ __name(() => setContext(e, "selectedHours", n), "hour"), minute: /* @__PURE__ */ __name(() => setContext(e, "selectedMinutes", n), "minute") })[a](), setContext(e, "selectedTime", `${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping ? ` ${e.context.selectedKeeping}` : ""}`), e.onChangeTime && e.onChangeTime(e, t, false), e.inputMode && e.context.inputElement && e.context.mainElement && e.onChangeToInput && e.onChangeToInput(e, t);
5019  }, "handleActions");
5020  var transformTime24 = /* @__PURE__ */ __name((e, t) => {
5021    var n;
5022    return (null == (n = { 0: { AM: "00", PM: "12" }, 1: { AM: "01", PM: "13" }, 2: { AM: "02", PM: "14" }, 3: { AM: "03", PM: "15" }, 4: { AM: "04", PM: "16" }, 5: { AM: "05", PM: "17" }, 6: { AM: "06", PM: "18" }, 7: { AM: "07", PM: "19" }, 8: { AM: "08", PM: "20" }, 9: { AM: "09", PM: "21" }, 10: { AM: "10", PM: "22" }, 11: { AM: "11", PM: "23" }, 12: { AM: "00", PM: "12" } }[Number(e)]) ? void 0 : n[t]) || String(e);
5023  }, "transformTime24");
5024  var handleClickKeepingTime = /* @__PURE__ */ __name((e, t, n, a, o) => {
5025    const l = /* @__PURE__ */ __name((l2) => {
5026      const s = "AM" === e.context.selectedKeeping ? "PM" : "AM", i = transformTime24(e.context.selectedHours, s);
5027      Number(i) <= a && Number(i) >= o ? (setContext(e, "selectedKeeping", s), n.value = i, handleActions(e, l2, e.context.selectedHours, "hour"), t.ariaLabel = `${e.labels.btnKeeping} ${e.context.selectedKeeping}`, t.innerText = e.context.selectedKeeping) : e.onChangeTime && e.onChangeTime(e, l2, true);
5028    }, "l");
5029    return t.addEventListener("click", l), () => {
5030      t.removeEventListener("click", l);
5031    };
5032  }, "handleClickKeepingTime");
5033  var transformTime12 = /* @__PURE__ */ __name((e) => ({ 0: "12", 13: "01", 14: "02", 15: "03", 16: "04", 17: "05", 18: "06", 19: "07", 20: "08", 21: "09", 22: "10", 23: "11" })[Number(e)] || String(e), "transformTime12");
5034  var updateInputAndRange = /* @__PURE__ */ __name((e, t, n, a) => {
5035    e.value = n, t.value = a;
5036  }, "updateInputAndRange");
5037  var updateKeepingTime$1 = /* @__PURE__ */ __name((e, t, n) => {
5038    t && n && (setContext(e, "selectedKeeping", n), t.innerText = n);
5039  }, "updateKeepingTime$1");
5040  var handleInput$1 = /* @__PURE__ */ __name((e, t, n, a, o, l, s) => {
5041    const i = { hour: /* @__PURE__ */ __name((i2, r2, c) => {
5042      if (!e.selectionTimeMode) return;
5043      ({ 12: () => {
5044        if (!e.context.selectedKeeping) return;
5045        const d = Number(transformTime24(r2, e.context.selectedKeeping));
5046        if (!(d <= l && d >= s)) return updateInputAndRange(n, t, e.context.selectedHours, e.context.selectedHours), void (e.onChangeTime && e.onChangeTime(e, c, true));
5047        updateInputAndRange(n, t, transformTime12(r2), transformTime24(r2, e.context.selectedKeeping)), i2 > 12 && updateKeepingTime$1(e, a, "PM"), handleActions(e, c, transformTime12(r2), o);
5048      }, 24: () => {
5049        if (!(i2 <= l && i2 >= s)) return updateInputAndRange(n, t, e.context.selectedHours, e.context.selectedHours), void (e.onChangeTime && e.onChangeTime(e, c, true));
5050        updateInputAndRange(n, t, r2, r2), handleActions(e, c, r2, o);
5051      } })[e.selectionTimeMode]();
5052    }, "hour"), minute: /* @__PURE__ */ __name((a2, i2, r2) => {
5053      if (!(a2 <= l && a2 >= s)) return n.value = e.context.selectedMinutes, void (e.onChangeTime && e.onChangeTime(e, r2, true));
5054      n.value = i2, t.value = i2, handleActions(e, r2, i2, o);
5055    }, "minute") }, r = /* @__PURE__ */ __name((e2) => {
5056      const t2 = Number(n.value), a2 = n.value.padStart(2, "0");
5057      i[o] && i[o](t2, a2, e2);
5058    }, "r");
5059    return n.addEventListener("change", r), () => {
5060      n.removeEventListener("change", r);
5061    };
5062  }, "handleInput$1");
5063  var updateInputAndTime = /* @__PURE__ */ __name((e, t, n, a, o) => {
5064    t.value = o, handleActions(e, n, o, a);
5065  }, "updateInputAndTime");
5066  var updateKeepingTime = /* @__PURE__ */ __name((e, t, n) => {
5067    t && (setContext(e, "selectedKeeping", n), t.innerText = n);
5068  }, "updateKeepingTime");
5069  var handleRange = /* @__PURE__ */ __name((e, t, n, a, o) => {
5070    const l = /* @__PURE__ */ __name((l2) => {
5071      const s = Number(t.value), i = t.value.padStart(2, "0"), r = "hour" === o, c = 24 === e.selectionTimeMode, d = s > 0 && s < 12;
5072      r && !c && updateKeepingTime(e, a, 0 === s || d ? "AM" : "PM"), updateInputAndTime(e, n, l2, o, !r || c || d ? i : transformTime12(t.value));
5073    }, "l");
5074    return t.addEventListener("input", l), () => {
5075      t.removeEventListener("input", l);
5076    };
5077  }, "handleRange");
5078  var handleMouseOver = /* @__PURE__ */ __name((e) => e.setAttribute("data-vc-input-focus", ""), "handleMouseOver");
5079  var handleMouseOut = /* @__PURE__ */ __name((e) => e.removeAttribute("data-vc-input-focus"), "handleMouseOut");
5080  var handleTime = /* @__PURE__ */ __name((e, t) => {
5081    const n = t.querySelector('[data-vc-time-range="hour"] input[name="hour"]'), a = t.querySelector('[data-vc-time-range="minute"] input[name="minute"]'), o = t.querySelector('[data-vc-time-input="hour"] input[name="hour"]'), l = t.querySelector('[data-vc-time-input="minute"] input[name="minute"]'), s = t.querySelector('[data-vc-time="keeping"]');
5082    if (!(n && a && o && l)) return;
5083    const i = /* @__PURE__ */ __name((e2) => {
5084      e2.target === n && handleMouseOver(o), e2.target === a && handleMouseOver(l);
5085    }, "i"), r = /* @__PURE__ */ __name((e2) => {
5086      e2.target === n && handleMouseOut(o), e2.target === a && handleMouseOut(l);
5087    }, "r");
5088    return t.addEventListener("mouseover", i), t.addEventListener("mouseout", r), handleInput$1(e, n, o, s, "hour", e.timeMaxHour, e.timeMinHour), handleInput$1(e, a, l, s, "minute", e.timeMaxMinute, e.timeMinMinute), handleRange(e, n, o, s, "hour"), handleRange(e, a, l, s, "minute"), s && handleClickKeepingTime(e, s, n, e.timeMaxHour, e.timeMinHour), () => {
5089      t.removeEventListener("mouseover", i), t.removeEventListener("mouseout", r);
5090    };
5091  }, "handleTime");
5092  var createTime = /* @__PURE__ */ __name((e) => {
5093    const t = e.context.mainElement.querySelector('[data-vc="time"]');
5094    if (!e.selectionTimeMode || !t) return;
5095    const [n, a] = [e.timeMinHour, e.timeMaxHour], [o, l] = [e.timeMinMinute, e.timeMaxMinute], s = e.context.selectedKeeping ? transformTime24(e.context.selectedHours, e.context.selectedKeeping) : e.context.selectedHours, i = "range" === e.timeControls;
5096    var r;
5097    t.innerHTML = e.sanitizerHTML(`
5098    <div class="${e.styles.timeContent}" data-vc-time="content">
5099      ${TimeInput("hour", e.styles.timeHour, e.labels, e.context.selectedHours, i)}
5100      ${TimeInput("minute", e.styles.timeMinute, e.labels, e.context.selectedMinutes, i)}
5101      ${12 === e.selectionTimeMode ? (r = e.context.selectedKeeping, `<button type="button" class="${e.styles.timeKeeping}" aria-label="${e.labels.btnKeeping} ${r}" data-vc-time="keeping" ${i ? "disabled" : ""}>${r}</button>`) : ""}
5102    </div>
5103    <div class="${e.styles.timeRanges}" data-vc-time="ranges">
5104      ${TimeRange("hour", e.styles.timeRange, e.labels, n, a, e.timeStepHour, s)}
5105      ${TimeRange("minute", e.styles.timeRange, e.labels, o, l, e.timeStepMinute, e.context.selectedMinutes)}
5106    </div>
5107  `), handleTime(e, t);
5108  }, "createTime");
5109  var createWeek = /* @__PURE__ */ __name((e) => {
5110    const t = e.selectedWeekends ? [...e.selectedWeekends] : [], n = [...e.context.locale.weekdays.long].reduce(((n2, a2, o) => [...n2, { id: o, titleShort: e.context.locale.weekdays.short[o], titleLong: a2, isWeekend: t.includes(o) }]), []), a = [...n.slice(e.firstWeekday), ...n.slice(0, e.firstWeekday)];
5111    e.context.mainElement.querySelectorAll('[data-vc="week"]').forEach(((t2) => {
5112      const n2 = e.onClickWeekDay ? document.createElement("button") : document.createElement("b");
5113      e.onClickWeekDay && (n2.type = "button"), a.forEach(((a2) => {
5114        const o = n2.cloneNode(true);
5115        o.innerText = a2.titleShort, o.className = e.styles.weekDay, o.role = "columnheader", o.ariaLabel = a2.titleLong, o.dataset.vcWeekDay = String(a2.id), a2.isWeekend && (o.dataset.vcWeekDayOff = ""), t2.appendChild(o);
5116      }));
5117    }));
5118  }, "createWeek");
5119  var createYearEl = /* @__PURE__ */ __name((e, t, n, a, o) => {
5120    const l = t.cloneNode(false);
5121    return l.className = e.styles.yearsYear, l.innerText = String(o), l.ariaLabel = String(o), l.role = "gridcell", l.dataset.vcYearsYear = `${o}`, a && (l.ariaDisabled = "true"), a && (l.tabIndex = -1), l.disabled = a, setYearModifier(e, l, "year", n === o, false), l;
5122  }, "createYearEl");
5123  var createYears = /* @__PURE__ */ __name((e, t) => {
5124    var n;
5125    const a = (null == t ? void 0 : t.dataset.vcYear) ? Number(t.dataset.vcYear) : e.context.selectedYear;
5126    setContext(e, "currentType", "year"), createLayouts(e, t), visibilityTitle(e), visibilityArrows(e);
5127    const o = e.context.mainElement.querySelector('[data-vc="years"]');
5128    if (!e.selectionYearsMode || !o) return;
5129    const l = "multiple" !== e.type || e.context.selectedYear === a ? 0 : 1, s = document.createElement("button");
5130    s.type = "button";
5131    for (let t2 = e.context.displayYear - 7; t2 < e.context.displayYear + 8; t2++) {
5132      const n2 = t2 < getDate(e.context.dateMin).getFullYear() + l || t2 > getDate(e.context.dateMax).getFullYear(), i = createYearEl(e, s, a, n2, t2);
5133      o.appendChild(i), e.onCreateYearEls && e.onCreateYearEls(e, i);
5134    }
5135    null == (n = e.context.mainElement.querySelector("[data-vc-years-year]:not([disabled])")) || n.focus();
5136  }, "createYears");
5137  var trackChangesHTMLElement = /* @__PURE__ */ __name((e, t, n) => {
5138    new MutationObserver(((e2) => {
5139      for (let a = 0; a < e2.length; a++) {
5140        if (e2[a].attributeName === t) {
5141          n();
5142          break;
5143        }
5144      }
5145    })).observe(e, { attributes: true });
5146  }, "trackChangesHTMLElement");
5147  var haveListener = { value: false, set: /* @__PURE__ */ __name(() => haveListener.value = true, "set"), check: /* @__PURE__ */ __name(() => haveListener.value, "check") };
5148  var setTheme = /* @__PURE__ */ __name((e, t) => e.dataset.vcTheme = t, "setTheme");
5149  var trackChangesThemeInSystemSettings = /* @__PURE__ */ __name((e, t) => {
5150    if (setTheme(e.context.mainElement, t.matches ? "dark" : "light"), "system" !== e.selectedTheme || haveListener.check()) return;
5151    const n = /* @__PURE__ */ __name((e2) => {
5152      const t2 = document.querySelectorAll('[data-vc="calendar"]');
5153      null == t2 || t2.forEach(((t3) => setTheme(t3, e2.matches ? "dark" : "light")));
5154    }, "n");
5155    t.addEventListener ? t.addEventListener("change", n) : t.addListener(n), haveListener.set();
5156  }, "trackChangesThemeInSystemSettings");
5157  var detectTheme = /* @__PURE__ */ __name((e, t) => {
5158    const n = e.themeAttrDetect.length ? document.querySelector(e.themeAttrDetect) : null, a = e.themeAttrDetect.replace(/^.*\[(.+)\]/g, ((e2, t2) => t2));
5159    if (!n || "system" === n.getAttribute(a)) return void trackChangesThemeInSystemSettings(e, t);
5160    const o = n.getAttribute(a);
5161    o ? (setTheme(e.context.mainElement, o), trackChangesHTMLElement(n, a, (() => {
5162      const t2 = n.getAttribute(a);
5163      t2 && setTheme(e.context.mainElement, t2);
5164    }))) : trackChangesThemeInSystemSettings(e, t);
5165  }, "detectTheme");
5166  var handleTheme = /* @__PURE__ */ __name((e) => {
5167    "not all" !== window.matchMedia("(prefers-color-scheme)").media ? "system" === e.selectedTheme ? detectTheme(e, window.matchMedia("(prefers-color-scheme: dark)")) : setTheme(e.context.mainElement, e.selectedTheme) : setTheme(e.context.mainElement, "light");
5168  }, "handleTheme");
5169  var capitalizeFirstLetter = /* @__PURE__ */ __name((e) => e.charAt(0).toUpperCase() + e.slice(1).replace(/\./, ""), "capitalizeFirstLetter");
5170  var getLocaleWeekday = /* @__PURE__ */ __name((e, t, n) => {
5171    const a = /* @__PURE__ */ new Date(`1978-01-0${t + 1}T00:00:00.000Z`), o = a.toLocaleString(n, { weekday: "short", timeZone: "UTC" }), l = a.toLocaleString(n, { weekday: "long", timeZone: "UTC" });
5172    e.context.locale.weekdays.short.push(capitalizeFirstLetter(o)), e.context.locale.weekdays.long.push(capitalizeFirstLetter(l));
5173  }, "getLocaleWeekday");
5174  var getLocaleMonth = /* @__PURE__ */ __name((e, t, n) => {
5175    const a = /* @__PURE__ */ new Date(`1978-${String(t + 1).padStart(2, "0")}-01T00:00:00.000Z`), o = a.toLocaleString(n, { month: "short", timeZone: "UTC" }), l = a.toLocaleString(n, { month: "long", timeZone: "UTC" });
5176    e.context.locale.months.short.push(capitalizeFirstLetter(o)), e.context.locale.months.long.push(capitalizeFirstLetter(l));
5177  }, "getLocaleMonth");
5178  var getLocale = /* @__PURE__ */ __name((e) => {
5179    var t, n, a, o, l, s, i, r;
5180    if (!(e.context.locale.weekdays.short[6] && e.context.locale.weekdays.long[6] && e.context.locale.months.short[11] && e.context.locale.months.long[11])) if ("string" == typeof e.locale) {
5181      if ("string" == typeof e.locale && !e.locale.length) throw new Error(errorMessages.notLocale);
5182      Array.from({ length: 7 }, ((t2, n2) => getLocaleWeekday(e, n2, e.locale))), Array.from({ length: 12 }, ((t2, n2) => getLocaleMonth(e, n2, e.locale)));
5183    } else {
5184      if (!((null == (n = null == (t = e.locale) ? void 0 : t.weekdays) ? void 0 : n.short[6]) && (null == (o = null == (a = e.locale) ? void 0 : a.weekdays) ? void 0 : o.long[6]) && (null == (s = null == (l = e.locale) ? void 0 : l.months) ? void 0 : s.short[11]) && (null == (r = null == (i = e.locale) ? void 0 : i.months) ? void 0 : r.long[11]))) throw new Error(errorMessages.notLocale);
5185      setContext(e, "locale", __spreadValues({}, e.locale));
5186    }
5187  }, "getLocale");
5188  var create = /* @__PURE__ */ __name((e) => {
5189    const t = { default: /* @__PURE__ */ __name(() => {
5190      createWeek(e), createDates(e);
5191    }, "default"), multiple: /* @__PURE__ */ __name(() => {
5192      createWeek(e), createDates(e);
5193    }, "multiple"), month: /* @__PURE__ */ __name(() => createMonths(e), "month"), year: /* @__PURE__ */ __name(() => createYears(e), "year") };
5194    handleTheme(e), getLocale(e), createLayouts(e), visibilityTitle(e), visibilityArrows(e), createTime(e), t[e.context.currentType]();
5195  }, "create");
5196  var handleArrowKeys = /* @__PURE__ */ __name((e) => {
5197    const t = /* @__PURE__ */ __name((t2) => {
5198      var n;
5199      const a = t2.target;
5200      if (!["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t2.key) || "button" !== a.localName) return;
5201      const o = Array.from(e.context.mainElement.querySelectorAll('[data-vc="calendar"] button')), l = o.indexOf(a);
5202      if (-1 === l) return;
5203      const s = (i = o[l]).hasAttribute("data-vc-date-btn") ? 7 : i.hasAttribute("data-vc-months-month") ? 4 : i.hasAttribute("data-vc-years-year") ? 5 : 1;
5204      var i;
5205      const r = (0, { ArrowUp: /* @__PURE__ */ __name(() => Math.max(0, l - s), "ArrowUp"), ArrowDown: /* @__PURE__ */ __name(() => Math.min(o.length - 1, l + s), "ArrowDown"), ArrowLeft: /* @__PURE__ */ __name(() => Math.max(0, l - 1), "ArrowLeft"), ArrowRight: /* @__PURE__ */ __name(() => Math.min(o.length - 1, l + 1), "ArrowRight") }[t2.key])();
5206      null == (n = o[r]) || n.focus();
5207    }, "t");
5208    return e.context.mainElement.addEventListener("keydown", t), () => e.context.mainElement.removeEventListener("keydown", t);
5209  }, "handleArrowKeys");
5210  var handleMonth = /* @__PURE__ */ __name((e, t) => {
5211    const n = getDate(getDateString(new Date(e.context.selectedYear, e.context.selectedMonth, 1)));
5212    ({ prev: /* @__PURE__ */ __name(() => n.setMonth(n.getMonth() - e.monthsToSwitch), "prev"), next: /* @__PURE__ */ __name(() => n.setMonth(n.getMonth() + e.monthsToSwitch), "next") })[t](), setContext(e, "selectedMonth", n.getMonth()), setContext(e, "selectedYear", n.getFullYear()), visibilityTitle(e), visibilityArrows(e), createDates(e);
5213  }, "handleMonth");
5214  var handleClickArrow = /* @__PURE__ */ __name((e, t) => {
5215    const n = t.target.closest("[data-vc-arrow]");
5216    if (n) {
5217      if (["default", "multiple"].includes(e.context.currentType)) handleMonth(e, n.dataset.vcArrow);
5218      else if ("year" === e.context.currentType && void 0 !== e.context.displayYear) {
5219        const a = { prev: -15, next: 15 }[n.dataset.vcArrow];
5220        setContext(e, "displayYear", e.context.displayYear + a), createYears(e, t.target);
5221      }
5222      e.onClickArrow && e.onClickArrow(e, t);
5223    }
5224  }, "handleClickArrow");
5225  var resolveToggle = /* @__PURE__ */ __name((e, t) => void 0 === t || ("function" == typeof t ? t(e) : t), "resolveToggle");
5226  var canToggleSelection = /* @__PURE__ */ __name((e) => resolveToggle(e, e.enableDateToggle), "canToggleSelection");
5227  var handleSelectDate = /* @__PURE__ */ __name((e, t, n) => {
5228    const a = t.dataset.vcDate, o = t.closest("[data-vc-date][data-vc-date-selected]"), l = canToggleSelection(e);
5229    if (o && !l) return;
5230    const s = o ? e.context.selectedDates.filter(((e2) => e2 !== a)) : n ? [...e.context.selectedDates, a] : [a];
5231    setContext(e, "selectedDates", s);
5232  }, "handleSelectDate");
5233  var createDateRangeTooltip = /* @__PURE__ */ __name((e, t, n) => {
5234    if (!t) return;
5235    if (!n) return t.dataset.vcDateRangeTooltip = "hidden", void (t.textContent = "");
5236    const a = e.context.mainElement.getBoundingClientRect(), o = n.getBoundingClientRect();
5237    t.style.left = o.left - a.left + o.width / 2 + "px", t.style.top = o.bottom - a.top - o.height + "px", t.dataset.vcDateRangeTooltip = "visible", t.innerHTML = e.sanitizerHTML(e.onCreateDateRangeTooltip(e, n, t, o, a));
5238  }, "createDateRangeTooltip");
5239  var state = { self: null, lastDateEl: null, isHovering: false, rangeMin: void 0, rangeMax: void 0, tooltipEl: null, timeoutId: null };
5240  var addHoverEffect = /* @__PURE__ */ __name((e, t, n) => {
5241    var a, o, l;
5242    if (!(null == (o = null == (a = state.self) ? void 0 : a.context) ? void 0 : o.selectedDates[0])) return;
5243    const s = getDateString(e);
5244    (null == (l = state.self.context.disableDates) ? void 0 : l.includes(s)) || (state.self.context.mainElement.querySelectorAll(`[data-vc-date="${s}"]`).forEach(((e2) => e2.dataset.vcDateHover = "")), t.forEach(((e2) => e2.dataset.vcDateHover = "first")), n.forEach(((e2) => {
5245      "first" === e2.dataset.vcDateHover ? e2.dataset.vcDateHover = "first-and-last" : e2.dataset.vcDateHover = "last";
5246    })));
5247  }, "addHoverEffect");
5248  var removeHoverEffect = /* @__PURE__ */ __name(() => {
5249    var e, t;
5250    if (!(null == (t = null == (e = state.self) ? void 0 : e.context) ? void 0 : t.mainElement)) return;
5251    state.self.context.mainElement.querySelectorAll("[data-vc-date-hover]").forEach(((e2) => e2.removeAttribute("data-vc-date-hover")));
5252  }, "removeHoverEffect");
5253  var handleHoverDatesEvent = /* @__PURE__ */ __name((e) => {
5254    var t, n;
5255    if (!e || !(null == (n = null == (t = state.self) ? void 0 : t.context) ? void 0 : n.selectedDates[0])) return;
5256    if (!e.closest('[data-vc="dates"]')) return state.lastDateEl = null, createDateRangeTooltip(state.self, state.tooltipEl, null), void removeHoverEffect();
5257    const a = e.closest("[data-vc-date]");
5258    if (!a || state.lastDateEl === a) return;
5259    state.lastDateEl = a, createDateRangeTooltip(state.self, state.tooltipEl, a), removeHoverEffect();
5260    const o = a.dataset.vcDate, l = getDate(state.self.context.selectedDates[0]), s = getDate(o), i = state.self.context.mainElement.querySelectorAll(`[data-vc-date="${state.self.context.selectedDates[0]}"]`), r = state.self.context.mainElement.querySelectorAll(`[data-vc-date="${o}"]`), [c, d] = l < s ? [i, r] : [r, i], [u, m] = l < s ? [l, s] : [s, l];
5261    for (let e2 = new Date(u); e2 <= m; e2.setDate(e2.getDate() + 1)) addHoverEffect(e2, c, d);
5262  }, "handleHoverDatesEvent");
5263  var handleHoverSelectedDatesRangeEvent = /* @__PURE__ */ __name((e) => {
5264    const t = null == e ? void 0 : e.closest("[data-vc-date-selected]");
5265    if (!t && state.lastDateEl) return state.lastDateEl = null, void createDateRangeTooltip(state.self, state.tooltipEl, null);
5266    t && state.lastDateEl !== t && (state.lastDateEl = t, createDateRangeTooltip(state.self, state.tooltipEl, t));
5267  }, "handleHoverSelectedDatesRangeEvent");
5268  var optimizedHoverHandler = /* @__PURE__ */ __name((e) => (t) => {
5269    const n = t.target;
5270    state.isHovering || (state.isHovering = true, requestAnimationFrame((() => {
5271      e(n), state.isHovering = false;
5272    })));
5273  }, "optimizedHoverHandler");
5274  var optimizedHandleHoverDatesEvent = optimizedHoverHandler(handleHoverDatesEvent);
5275  var optimizedHandleHoverSelectedDatesRangeEvent = optimizedHoverHandler(handleHoverSelectedDatesRangeEvent);
5276  var handleCancelSelectionDates = /* @__PURE__ */ __name((e) => {
5277    state.self && "Escape" === e.key && (state.lastDateEl = null, setContext(state.self, "selectedDates", []), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), createDateRangeTooltip(state.self, state.tooltipEl, null), removeHoverEffect());
5278  }, "handleCancelSelectionDates");
5279  var handleMouseLeave = /* @__PURE__ */ __name(() => {
5280    null !== state.timeoutId && clearTimeout(state.timeoutId), state.timeoutId = setTimeout((() => {
5281      state.lastDateEl = null, createDateRangeTooltip(state.self, state.tooltipEl, null), removeHoverEffect();
5282    }), 50);
5283  }, "handleMouseLeave");
5284  var updateDisabledDates = /* @__PURE__ */ __name(() => {
5285    var e, t, n, a;
5286    if (!(null == (n = null == (t = null == (e = state.self) ? void 0 : e.context) ? void 0 : t.selectedDates) ? void 0 : n[0]) || !(null == (a = state.self.context.disableDates) ? void 0 : a[0])) return;
5287    const o = getDate(state.self.context.selectedDates[0]), [l, s] = state.self.context.disableDates.map(((e2) => getDate(e2))).reduce((([e2, t2], n2) => [o >= n2 ? n2 : e2, o < n2 && null === t2 ? n2 : t2]), [null, null]);
5288    l && setContext(state.self, "displayDateMin", getDateString(new Date(l.setDate(l.getDate() + 1)))), s && setContext(state.self, "displayDateMax", getDateString(new Date(s.setDate(s.getDate() - 1))));
5289    state.self.disableDatesPast && !state.self.disableAllDates && getDate(state.self.context.displayDateMin) < getDate(state.self.context.dateToday) && setContext(state.self, "displayDateMin", state.self.context.dateToday);
5290  }, "updateDisabledDates");
5291  var handleSelectDateRange = /* @__PURE__ */ __name((e, t) => {
5292    state.self = e, state.lastDateEl = t, removeHoverEffect(), e.disableDatesGaps && (state.rangeMin = state.rangeMin ? state.rangeMin : e.context.displayDateMin, state.rangeMax = state.rangeMax ? state.rangeMax : e.context.displayDateMax), e.onCreateDateRangeTooltip && (state.tooltipEl = e.context.mainElement.querySelector("[data-vc-date-range-tooltip]"));
5293    const n = null == t ? void 0 : t.dataset.vcDate;
5294    if (n) {
5295      const t2 = 1 === e.context.selectedDates.length && e.context.selectedDates[0].includes(n), a = t2 && !canToggleSelection(e) ? [n, n] : t2 && canToggleSelection(e) ? [] : e.context.selectedDates.length > 1 ? [n] : [...e.context.selectedDates, n];
5296      setContext(e, "selectedDates", a), e.context.selectedDates.length > 1 && e.context.selectedDates.sort(((e2, t3) => +new Date(e2) - +new Date(t3)));
5297    }
5298    ({ set: /* @__PURE__ */ __name(() => (e.disableDatesGaps && updateDisabledDates(), createDateRangeTooltip(state.self, state.tooltipEl, t), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), state.self.context.mainElement.addEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.addEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.addEventListener("keydown", handleCancelSelectionDates), () => {
5299      state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates);
5300    }), "set"), reset: /* @__PURE__ */ __name(() => {
5301      const [n2, a] = [e.context.selectedDates[0], e.context.selectedDates[e.context.selectedDates.length - 1]], o = e.context.selectedDates[0] !== e.context.selectedDates[e.context.selectedDates.length - 1], l = parseDates([`${n2}:${a}`]).filter(((t2) => !e.context.disableDates.includes(t2))), s = o ? e.enableEdgeDatesOnly ? [n2, a] : l : [e.context.selectedDates[0], e.context.selectedDates[0]];
5302      if (setContext(e, "selectedDates", s), e.disableDatesGaps && (setContext(e, "displayDateMin", state.rangeMin), setContext(e, "displayDateMax", state.rangeMax)), state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverDatesEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), state.self.context.mainElement.removeEventListener("keydown", handleCancelSelectionDates), e.onCreateDateRangeTooltip) return e.context.selectedDates[0] || (state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave), createDateRangeTooltip(state.self, state.tooltipEl, null)), e.context.selectedDates[0] && (state.self.context.mainElement.addEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.addEventListener("mouseleave", handleMouseLeave), createDateRangeTooltip(state.self, state.tooltipEl, t)), () => {
5303        state.self.context.mainElement.removeEventListener("mousemove", optimizedHandleHoverSelectedDatesRangeEvent), state.self.context.mainElement.removeEventListener("mouseleave", handleMouseLeave);
5304      };
5305    }, "reset") })[1 === e.context.selectedDates.length ? "set" : "reset"]();
5306  }, "handleSelectDateRange");
5307  var updateDateModifier = /* @__PURE__ */ __name((e) => {
5308    e.context.mainElement.querySelectorAll("[data-vc-date]").forEach(((t) => {
5309      const n = t.querySelector("[data-vc-date-btn]"), a = t.dataset.vcDate, o = getDate(a).getDay();
5310      setDateModifier(e, e.context.selectedYear, t, n, o, a, "current");
5311    }));
5312  }, "updateDateModifier");
5313  var handleClickDate = /* @__PURE__ */ __name((e, t) => {
5314    var n;
5315    const a = t.target, o = a.closest("[data-vc-date-btn]");
5316    if (!e.selectionDatesMode || !["single", "multiple", "multiple-ranged"].includes(e.selectionDatesMode) || !o) return;
5317    const l = o.closest("[data-vc-date]");
5318    ({ single: /* @__PURE__ */ __name(() => handleSelectDate(e, l, false), "single"), multiple: /* @__PURE__ */ __name(() => handleSelectDate(e, l, true), "multiple"), "multiple-ranged": /* @__PURE__ */ __name(() => handleSelectDateRange(e, l), "multiple-ranged") })[e.selectionDatesMode](), null == (n = e.context.selectedDates) || n.sort(((e2, t2) => +new Date(e2) - +new Date(t2))), e.onClickDate && e.onClickDate(e, t), e.inputMode && e.context.inputElement && e.context.mainElement && e.onChangeToInput && e.onChangeToInput(e, t);
5319    const s = a.closest('[data-vc-date-month="prev"]'), i = a.closest('[data-vc-date-month="next"]');
5320    ({ prev: /* @__PURE__ */ __name(() => e.enableMonthChangeOnDayClick ? handleMonth(e, "prev") : updateDateModifier(e), "prev"), next: /* @__PURE__ */ __name(() => e.enableMonthChangeOnDayClick ? handleMonth(e, "next") : updateDateModifier(e), "next"), current: /* @__PURE__ */ __name(() => updateDateModifier(e), "current") })[s ? "prev" : i ? "next" : "current"]();
5321  }, "handleClickDate");
5322  var typeClick = ["month", "year"];
5323  var getValue = /* @__PURE__ */ __name((e, t, n) => {
5324    const { currentValue: a, columnID: o } = getColumnID(e, t);
5325    return "month" === e.context.currentType && o >= 0 ? n - o : "year" === e.context.currentType && e.context.selectedYear !== a ? n - 1 : n;
5326  }, "getValue");
5327  var handleMultipleYearSelection = /* @__PURE__ */ __name((e, t) => {
5328    const n = getValue(e, "year", Number(t.dataset.vcYearsYear)), a = getDate(e.context.dateMin), o = getDate(e.context.dateMax), l = e.context.displayMonthsCount - 1, { columnID: s } = getColumnID(e, "year"), i = e.context.selectedMonth < a.getMonth() && n <= a.getFullYear(), r = e.context.selectedMonth > o.getMonth() - l + s && n >= o.getFullYear(), c = n < a.getFullYear(), d = n > o.getFullYear(), u = i || c ? a.getFullYear() : r || d ? o.getFullYear() : n, m = i || c ? a.getMonth() : r || d ? o.getMonth() - l + s : e.context.selectedMonth;
5329    setContext(e, "selectedYear", u), setContext(e, "selectedMonth", m);
5330  }, "handleMultipleYearSelection");
5331  var handleMultipleMonthSelection = /* @__PURE__ */ __name((e, t) => {
5332    const n = t.closest('[data-vc-column="month"]').querySelector('[data-vc="year"]'), a = getValue(e, "month", Number(t.dataset.vcMonthsMonth)), o = Number(n.dataset.vcYear), l = getDate(e.context.dateMin), s = getDate(e.context.dateMax), i = a < l.getMonth() && o <= l.getFullYear(), r = a > s.getMonth() && o >= s.getFullYear();
5333    setContext(e, "selectedYear", o), setContext(e, "selectedMonth", i ? l.getMonth() : r ? s.getMonth() : a);
5334  }, "handleMultipleMonthSelection");
5335  var handleItemClick = /* @__PURE__ */ __name((e, t, n, a) => {
5336    var o;
5337    ({ year: /* @__PURE__ */ __name(() => {
5338      if ("multiple" === e.type) return handleMultipleYearSelection(e, a);
5339      setContext(e, "selectedYear", Number(a.dataset.vcYearsYear));
5340    }, "year"), month: /* @__PURE__ */ __name(() => {
5341      if ("multiple" === e.type) return handleMultipleMonthSelection(e, a);
5342      setContext(e, "selectedMonth", Number(a.dataset.vcMonthsMonth));
5343    }, "month") })[n]();
5344    ({ year: /* @__PURE__ */ __name(() => {
5345      var n2;
5346      return null == (n2 = e.onClickYear) ? void 0 : n2.call(e, e, t);
5347    }, "year"), month: /* @__PURE__ */ __name(() => {
5348      var n2;
5349      return null == (n2 = e.onClickMonth) ? void 0 : n2.call(e, e, t);
5350    }, "month") })[n](), e.context.currentType !== e.type ? (setContext(e, "currentType", e.type), create(e), null == (o = e.context.mainElement.querySelector(`[data-vc="${n}"]`)) || o.focus()) : setYearModifier(e, a, n, true, true);
5351  }, "handleItemClick");
5352  var handleClickType = /* @__PURE__ */ __name((e, t, n) => {
5353    var a;
5354    const o = t.target, l = o.closest(`[data-vc="${n}"]`), s = { year: /* @__PURE__ */ __name(() => createYears(e, o), "year"), month: /* @__PURE__ */ __name(() => createMonths(e, o), "month") };
5355    if (l && e.onClickTitle && e.onClickTitle(e, t), l && e.context.currentType !== n) return s[n]();
5356    const i = o.closest(`[data-vc-${n}s-${n}]`);
5357    if (i) return handleItemClick(e, t, n, i);
5358    const r = o.closest('[data-vc="grid"]'), c = o.closest('[data-vc="column"]');
5359    (e.context.currentType === n && l || "multiple" === e.type && e.context.currentType === n && r && !c) && (setContext(e, "currentType", e.type), create(e), null == (a = e.context.mainElement.querySelector(`[data-vc="${n}"]`)) || a.focus());
5360  }, "handleClickType");
5361  var handleClickMonthOrYear = /* @__PURE__ */ __name((e, t) => {
5362    const n = { month: e.selectionMonthsMode, year: e.selectionYearsMode };
5363    typeClick.forEach(((a) => {
5364      n[a] && t.target && handleClickType(e, t, a);
5365    }));
5366  }, "handleClickMonthOrYear");
5367  var handleClickWeekNumber = /* @__PURE__ */ __name((e, t) => {
5368    if (!e.enableWeekNumbers || !e.onClickWeekNumber) return;
5369    const n = t.target.closest("[data-vc-week-number]"), a = e.context.mainElement.querySelectorAll("[data-vc-date-week-number]");
5370    if (!n || !a[0]) return;
5371    const o = Number(n.innerText), l = Number(n.dataset.vcWeekYear), s = Array.from(a).filter(((e2) => Number(e2.dataset.vcDateWeekNumber) === o));
5372    e.onClickWeekNumber(e, o, l, s, t);
5373  }, "handleClickWeekNumber");
5374  var handleClickWeekDay = /* @__PURE__ */ __name((e, t) => {
5375    if (!e.onClickWeekDay) return;
5376    const n = t.target.closest("[data-vc-week-day]"), a = t.target.closest('[data-vc="column"]'), o = a ? a.querySelectorAll("[data-vc-date-week-day]") : e.context.mainElement.querySelectorAll("[data-vc-date-week-day]");
5377    if (!n || !o[0]) return;
5378    const l = Number(n.dataset.vcWeekDay), s = Array.from(o).filter(((e2) => Number(e2.dataset.vcDateWeekDay) === l));
5379    e.onClickWeekDay(e, l, s, t);
5380  }, "handleClickWeekDay");
5381  var handleClick = /* @__PURE__ */ __name((e) => {
5382    const t = /* @__PURE__ */ __name((t2) => {
5383      handleClickArrow(e, t2), handleClickWeekDay(e, t2), handleClickWeekNumber(e, t2), handleClickDate(e, t2), handleClickMonthOrYear(e, t2);
5384    }, "t");
5385    return e.context.mainElement.addEventListener("click", t), () => e.context.mainElement.removeEventListener("click", t);
5386  }, "handleClick");
5387  var initMonthsCount = /* @__PURE__ */ __name((e) => {
5388    if ("multiple" === e.type && (e.displayMonthsCount <= 1 || e.displayMonthsCount > 12)) throw new Error(errorMessages.incorrectMonthsCount);
5389    if ("multiple" !== e.type && e.displayMonthsCount > 1) throw new Error(errorMessages.incorrectMonthsCount);
5390    setContext(e, "displayMonthsCount", e.displayMonthsCount ? e.displayMonthsCount : "multiple" === e.type ? 2 : 1);
5391  }, "initMonthsCount");
5392  var getLocalDate = /* @__PURE__ */ __name(() => {
5393    const e = /* @__PURE__ */ new Date();
5394    return new Date(e.getTime() - 6e4 * e.getTimezoneOffset()).toISOString().substring(0, 10);
5395  }, "getLocalDate");
5396  var resolveDate = /* @__PURE__ */ __name((e, t) => "today" === e ? getLocalDate() : e instanceof Date || "number" == typeof e || "string" == typeof e ? parseDates([e])[0] : t, "resolveDate");
5397  var initRange = /* @__PURE__ */ __name((e) => {
5398    var t, n, a;
5399    const o = resolveDate(e.dateMin, e.dateMin), l = resolveDate(e.dateMax, e.dateMax), s = resolveDate(e.displayDateMin, o), i = resolveDate(e.displayDateMax, l);
5400    setContext(e, "dateToday", resolveDate(e.dateToday, e.dateToday)), setContext(e, "displayDateMin", s ? getDate(o) >= getDate(s) ? o : s : o), setContext(e, "displayDateMax", i ? getDate(l) <= getDate(i) ? l : i : l);
5401    const r = e.disableDatesPast && !e.disableAllDates && getDate(s) < getDate(e.context.dateToday);
5402    setContext(e, "displayDateMin", r || e.disableAllDates ? e.context.dateToday : s), setContext(e, "displayDateMax", e.disableAllDates ? e.context.dateToday : i), setContext(e, "disableDates", e.disableDates[0] && !e.disableAllDates ? parseDates(e.disableDates) : e.disableAllDates ? [e.context.displayDateMin] : []), e.context.disableDates.length > 1 && e.context.disableDates.sort(((e2, t2) => +new Date(e2) - +new Date(t2))), setContext(e, "enableDates", e.enableDates[0] ? parseDates(e.enableDates) : []), (null == (t = e.context.enableDates) ? void 0 : t[0]) && (null == (n = e.context.disableDates) ? void 0 : n[0]) && setContext(e, "disableDates", e.context.disableDates.filter(((t2) => !e.context.enableDates.includes(t2)))), e.context.enableDates.length > 1 && e.context.enableDates.sort(((e2, t2) => +new Date(e2) - +new Date(t2))), (null == (a = e.context.enableDates) ? void 0 : a[0]) && e.disableAllDates && (setContext(e, "displayDateMin", e.context.enableDates[0]), setContext(e, "displayDateMax", e.context.enableDates[e.context.enableDates.length - 1])), setContext(e, "dateMin", e.displayDisabledDates ? o : e.context.displayDateMin), setContext(e, "dateMax", e.displayDisabledDates ? l : e.context.displayDateMax);
5403  }, "initRange");
5404  var initSelectedDates = /* @__PURE__ */ __name((e) => {
5405    var t;
5406    setContext(e, "selectedDates", (null == (t = e.selectedDates) ? void 0 : t[0]) ? parseDates(e.selectedDates) : []);
5407  }, "initSelectedDates");
5408  var displayClosestValidDate = /* @__PURE__ */ __name((e) => {
5409    const t = /* @__PURE__ */ __name((t2) => {
5410      const n2 = new Date(t2);
5411      setInitialContext(e, n2.getMonth(), n2.getFullYear());
5412    }, "t");
5413    if (e.displayDateMin && "today" !== e.displayDateMin && (n = e.displayDateMin, a = /* @__PURE__ */ new Date(), new Date(n).getTime() > a.getTime())) {
5414      const n2 = e.selectedDates.length && e.selectedDates[0] ? parseDates(e.selectedDates)[0] : e.displayDateMin;
5415      return t(getDate(resolveDate(n2, e.displayDateMin))), true;
5416    }
5417    var n, a;
5418    if (e.displayDateMax && "today" !== e.displayDateMax && ((e2, t2) => new Date(e2).getTime() < t2.getTime())(e.displayDateMax, /* @__PURE__ */ new Date())) {
5419      const n2 = e.selectedDates.length && e.selectedDates[0] ? parseDates(e.selectedDates)[0] : e.displayDateMax;
5420      return t(getDate(resolveDate(n2, e.displayDateMax))), true;
5421    }
5422    return false;
5423  }, "displayClosestValidDate");
5424  var setInitialContext = /* @__PURE__ */ __name((e, t, n) => {
5425    setContext(e, "selectedMonth", t), setContext(e, "selectedYear", n), setContext(e, "displayYear", n);
5426  }, "setInitialContext");
5427  var initSelectedMonthYear = /* @__PURE__ */ __name((e) => {
5428    var t;
5429    if (e.enableJumpToSelectedDate && (null == (t = e.selectedDates) ? void 0 : t[0]) && void 0 === e.selectedMonth && void 0 === e.selectedYear) {
5430      const t2 = getDate(parseDates(e.selectedDates)[0]);
5431      return void setInitialContext(e, t2.getMonth(), t2.getFullYear());
5432    }
5433    if (displayClosestValidDate(e)) return;
5434    const n = void 0 !== e.selectedMonth && Number(e.selectedMonth) >= 0 && Number(e.selectedMonth) < 12, a = void 0 !== e.selectedYear && Number(e.selectedYear) >= 0 && Number(e.selectedYear) <= 9999;
5435    setInitialContext(e, n ? Number(e.selectedMonth) : getDate(e.context.dateToday).getMonth(), a ? Number(e.selectedYear) : getDate(e.context.dateToday).getFullYear());
5436  }, "initSelectedMonthYear");
5437  var initTime = /* @__PURE__ */ __name((e) => {
5438    var t, n, a;
5439    if (!e.selectionTimeMode) return;
5440    if (![12, 24].includes(e.selectionTimeMode)) throw new Error(errorMessages.incorrectTime);
5441    const o = 12 === e.selectionTimeMode, l = o ? /^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i : /^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;
5442    let [s, i, r] = null != (a = null == (n = null == (t = e.selectedTime) ? void 0 : t.match(l)) ? void 0 : n.slice(1)) ? a : [];
5443    s ? o && !r && (r = "AM") : (s = o ? transformTime12(String(e.timeMinHour)) : String(e.timeMinHour), i = String(e.timeMinMinute), r = o ? Number(transformTime12(String(e.timeMinHour))) >= 12 ? "PM" : "AM" : null), setContext(e, "selectedHours", s.padStart(2, "0")), setContext(e, "selectedMinutes", i.padStart(2, "0")), setContext(e, "selectedKeeping", r), setContext(e, "selectedTime", `${e.context.selectedHours}:${e.context.selectedMinutes}${r ? ` ${r}` : ""}`);
5444  }, "initTime");
5445  var initAllVariables = /* @__PURE__ */ __name((e) => {
5446    setContext(e, "currentType", e.type), initMonthsCount(e), initRange(e), initSelectedMonthYear(e), initSelectedDates(e), initTime(e);
5447  }, "initAllVariables");
5448  var reset = /* @__PURE__ */ __name((e, { year: t, month: n, dates: a, time: o, locale: l }, s = true) => {
5449    var i;
5450    const r = { year: e.selectedYear, month: e.selectedMonth, dates: e.selectedDates, time: e.selectedTime };
5451    if (e.selectedYear = t ? r.year : e.context.selectedYear, e.selectedMonth = n ? r.month : e.context.selectedMonth, e.selectedTime = o ? r.time : e.context.selectedTime, e.selectedDates = "only-first" === a && (null == (i = e.context.selectedDates) ? void 0 : i[0]) ? [e.context.selectedDates[0]] : true === a ? r.dates : e.context.selectedDates, l) {
5452      setContext(e, "locale", { months: { short: [], long: [] }, weekdays: { short: [], long: [] } });
5453    }
5454    initAllVariables(e), s && create(e), e.selectedYear = r.year, e.selectedMonth = r.month, e.selectedDates = r.dates, e.selectedTime = r.time, "multiple-ranged" === e.selectionDatesMode && a && handleSelectDateRange(e, null);
5455  }, "reset");
5456  var createToInput = /* @__PURE__ */ __name((e) => {
5457    const t = document.createElement("div");
5458    return t.className = e.styles.calendar, t.dataset.vc = "calendar", t.dataset.vcInput = "", t.dataset.vcCalendarHidden = "", setContext(e, "inputModeInit", true), setContext(e, "isShowInInputMode", false), setContext(e, "mainElement", t), document.body.appendChild(e.context.mainElement), reset(e, { year: true, month: true, dates: true, time: true, locale: true }), setTimeout((() => show(e))), e.onInit && e.onInit(e), handleArrowKeys(e), handleClick(e);
5459  }, "createToInput");
5460  var canOpenOnFocus = /* @__PURE__ */ __name((e) => resolveToggle(e, e.openOnFocus), "canOpenOnFocus");
5461  var handleInput = /* @__PURE__ */ __name((e) => {
5462    setContext(e, "inputElement", e.context.mainElement);
5463    const t = /* @__PURE__ */ __name(() => {
5464      e.context.inputModeInit ? setTimeout((() => show(e))) : createToInput(e);
5465    }, "t");
5466    e.context.inputElement.addEventListener("click", t);
5467    const n = "function" == typeof e.openOnFocus || true === e.openOnFocus, a = /* @__PURE__ */ __name(() => {
5468      shouldSkipOpenOnFocus(e) ? clearSkipOpenOnFocus(e) : canOpenOnFocus(e) && t();
5469    }, "a");
5470    n && e.context.inputElement.addEventListener("focus", a);
5471    const o = /* @__PURE__ */ __name((t2) => {
5472      const n2 = "Tab" === t2.key && !t2.shiftKey, a2 = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(t2.key);
5473      (n2 || a2) && ((t3) => {
5474        var n3;
5475        if (!e.context.isShowInInputMode) return false;
5476        if (document.activeElement !== e.context.inputElement) return false;
5477        const a3 = /* @__PURE__ */ __name((e2) => e2.tabIndex >= 0 && !e2.hasAttribute("disabled") && "true" !== e2.getAttribute("aria-disabled"), "a"), o2 = null != (n3 = document.createTreeWalker(e.context.mainElement, NodeFilter.SHOW_ELEMENT, { acceptNode: /* @__PURE__ */ __name((e2) => a3(e2) ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP, "acceptNode") }).nextNode()) ? n3 : a3(e.context.mainElement) ? e.context.mainElement : null;
5478        !o2 || o2.tabIndex < 0 || (t3.preventDefault(), o2.focus());
5479      })(t2);
5480    }, "o");
5481    return e.context.inputElement.addEventListener("keydown", o), () => {
5482      e.context.inputElement.removeEventListener("click", t), n && e.context.inputElement.removeEventListener("focus", a), e.context.inputElement.removeEventListener("keydown", o);
5483    };
5484  }, "handleInput");
5485  var init = /* @__PURE__ */ __name((e) => (setContext(e, "originalElement", e.context.mainElement.cloneNode(true)), setContext(e, "isInit", true), e.inputMode ? handleInput(e) : (initAllVariables(e), create(e), e.onInit && e.onInit(e), handleArrowKeys(e), handleClick(e))), "init");
5486  var update = /* @__PURE__ */ __name((e, t) => {
5487    if (!e.context.isInit) throw new Error(errorMessages.notInit);
5488    reset(e, __spreadValues(__spreadValues({}, { year: true, month: true, dates: true, time: true, locale: true }), t), !(e.inputMode && !e.context.inputModeInit)), e.onUpdate && e.onUpdate(e);
5489  }, "update");
5490  var replaceProperties = /* @__PURE__ */ __name((e, t) => {
5491    const n = Object.keys(t);
5492    for (let a = 0; a < n.length; a++) {
5493      const o = n[a];
5494      "object" != typeof e[o] || "object" != typeof t[o] || t[o] instanceof Date || Array.isArray(t[o]) ? void 0 !== t[o] && (e[o] = t[o]) : replaceProperties(e[o], t[o]);
5495    }
5496  }, "replaceProperties");
5497  var set = /* @__PURE__ */ __name((e, t, n) => {
5498    replaceProperties(e, t), e.context.isInit && update(e, n);
5499  }, "set");
5500  function findBestPickerPosition(e, t) {
5501    const n = "left";
5502    if (!t || !e) return n;
5503    const { canShow: a, parentPositions: o } = getAvailablePosition(e, t), l = a.left && a.right;
5504    return (l && a.bottom ? "center" : l && a.top ? ["top", "center"] : Array.isArray(o) ? ["bottom" === o[0] ? "top" : "bottom", ...o.slice(1)] : o) || n;
5505  }
5506  __name(findBestPickerPosition, "findBestPickerPosition");
5507  var setPosition = /* @__PURE__ */ __name((e, t, n) => {
5508    if (!e) return;
5509    const a = "auto" === n ? findBestPickerPosition(e, t) : n, o = { top: -t.offsetHeight, bottom: e.offsetHeight, left: 0, center: e.offsetWidth / 2 - t.offsetWidth / 2, right: e.offsetWidth - t.offsetWidth }, l = Array.isArray(a) ? a[0] : "bottom", s = Array.isArray(a) ? a[1] : a;
5510    t.dataset.vcPosition = l;
5511    const { top: i, left: r } = getOffset(e), c = i + o[l];
5512    let d = r + o[s];
5513    const { vw: u } = getViewportDimensions();
5514    if (d + t.clientWidth > u) {
5515      const e2 = window.innerWidth - document.body.clientWidth;
5516      d = u - t.clientWidth - e2;
5517    } else d < 0 && (d = 0);
5518    Object.assign(t.style, { left: `${d}px`, top: `${c}px` });
5519  }, "setPosition");
5520  var show = /* @__PURE__ */ __name((e) => {
5521    if (e.context.isShowInInputMode) return;
5522    if (!e.context.currentType) return void e.context.mainElement.click();
5523    setContext(e, "cleanupHandlers", []), setContext(e, "isShowInInputMode", true), e.inputMode && restoreTabbing(e.context.mainElement), setPosition(e.context.inputElement, e.context.mainElement, e.positionToInput), e.context.mainElement.removeAttribute("data-vc-calendar-hidden");
5524    const t = /* @__PURE__ */ __name(() => {
5525      setPosition(e.context.inputElement, e.context.mainElement, e.positionToInput);
5526    }, "t");
5527    window.addEventListener("resize", t), e.context.cleanupHandlers.push((() => window.removeEventListener("resize", t)));
5528    const n = /* @__PURE__ */ __name((t2) => {
5529      "Escape" === t2.key && hide(e);
5530    }, "n");
5531    document.addEventListener("keydown", n), e.context.cleanupHandlers.push((() => document.removeEventListener("keydown", n)));
5532    const a = /* @__PURE__ */ __name((t2) => {
5533      t2.target === e.context.inputElement || e.context.mainElement.contains(t2.target) || hide(e);
5534    }, "a");
5535    document.addEventListener("click", a, { capture: true }), e.context.cleanupHandlers.push((() => document.removeEventListener("click", a, { capture: true }))), e.onShow && e.onShow(e);
5536  }, "show");
5537  var labels = { application: "Calendar", navigation: "Calendar Navigation", arrowNext: { month: "Next month", year: "Next list of years" }, arrowPrev: { month: "Previous month", year: "Previous list of years" }, month: "Select month, current selected month:", months: "List of months", year: "Select year, current selected year:", years: "List of years", week: "Days of the week", weekNumber: "Numbers of weeks in a year", dates: "Dates in the current month", selectingTime: "Selecting a time ", inputHour: "Hours", inputMinute: "Minutes", rangeHour: "Slider for selecting hours", rangeMinute: "Slider for selecting minutes", btnKeeping: "Switch AM/PM, current position:" };
5538  var styles = { calendar: "vc", controls: "vc-controls", grid: "vc-grid", column: "vc-column", header: "vc-header", headerContent: "vc-header__content", month: "vc-month", year: "vc-year", arrowPrev: "vc-arrow vc-arrow_prev", arrowNext: "vc-arrow vc-arrow_next", wrapper: "vc-wrapper", content: "vc-content", months: "vc-months", monthsMonth: "vc-months__month", years: "vc-years", yearsYear: "vc-years__year", week: "vc-week", weekDay: "vc-week__day", weekNumbers: "vc-week-numbers", weekNumbersTitle: "vc-week-numbers__title", weekNumbersContent: "vc-week-numbers__content", weekNumber: "vc-week-number", dates: "vc-dates", datesRow: "vc-dates__row", date: "vc-date", dateBtn: "vc-date__btn", datePopup: "vc-date__popup", dateRangeTooltip: "vc-date-range-tooltip", time: "vc-time", timeContent: "vc-time__content", timeHour: "vc-time__hour", timeMinute: "vc-time__minute", timeKeeping: "vc-time__keeping", timeRanges: "vc-time__ranges", timeRange: "vc-time__range" };
5539  var _OptionsCalendar = class _OptionsCalendar {
5540    constructor() {
5541      __publicField(this, "type", "default"), __publicField(this, "inputMode", false), __publicField(this, "openOnFocus", true), __publicField(this, "positionToInput", "left"), __publicField(this, "firstWeekday", 1), __publicField(this, "monthsToSwitch", 1), __publicField(this, "themeAttrDetect", "html[data-theme]"), __publicField(this, "locale", "en"), __publicField(this, "dateToday", "today"), __publicField(this, "dateMin", "1970-01-01"), __publicField(this, "dateMax", "2470-12-31"), __publicField(this, "displayDateMin"), __publicField(this, "displayDateMax"), __publicField(this, "displayDatesOutside", true), __publicField(this, "displayDisabledDates", false), __publicField(this, "displayMonthsCount"), __publicField(this, "disableDates", []), __publicField(this, "disableAllDates", false), __publicField(this, "disableDatesPast", false), __publicField(this, "disableDatesGaps", false), __publicField(this, "disableWeekdays", []), __publicField(this, "disableToday", false), __publicField(this, "enableDates", []), __publicField(this, "enableEdgeDatesOnly", true), __publicField(this, "enableDateToggle", true), __publicField(this, "enableWeekNumbers", false), __publicField(this, "enableMonthChangeOnDayClick", true), __publicField(this, "enableJumpToSelectedDate", false), __publicField(this, "selectionDatesMode", "single"), __publicField(this, "selectionMonthsMode", true), __publicField(this, "selectionYearsMode", true), __publicField(this, "selectionTimeMode", false), __publicField(this, "selectedDates", []), __publicField(this, "selectedMonth"), __publicField(this, "selectedYear"), __publicField(this, "selectedHolidays", []), __publicField(this, "selectedWeekends", [0, 6]), __publicField(this, "selectedTime"), __publicField(this, "selectedTheme", "system"), __publicField(this, "timeMinHour", 0), __publicField(this, "timeMaxHour", 23), __publicField(this, "timeMinMinute", 0), __publicField(this, "timeMaxMinute", 59), __publicField(this, "timeControls", "all"), __publicField(this, "timeStepHour", 1), __publicField(this, "timeStepMinute", 1), __publicField(this, "sanitizerHTML", ((e) => e)), __publicField(this, "onClickDate"), __publicField(this, "onClickWeekDay"), __publicField(this, "onClickWeekNumber"), __publicField(this, "onClickTitle"), __publicField(this, "onClickMonth"), __publicField(this, "onClickYear"), __publicField(this, "onClickArrow"), __publicField(this, "onChangeTime"), __publicField(this, "onChangeToInput"), __publicField(this, "onCreateDateRangeTooltip"), __publicField(this, "onCreateDateEls"), __publicField(this, "onCreateMonthEls"), __publicField(this, "onCreateYearEls"), __publicField(this, "onInit"), __publicField(this, "onUpdate"), __publicField(this, "onDestroy"), __publicField(this, "onShow"), __publicField(this, "onHide"), __publicField(this, "popups", {}), __publicField(this, "labels", __spreadValues({}, labels)), __publicField(this, "layouts", { default: "", multiple: "", month: "", year: "" }), __publicField(this, "styles", __spreadValues({}, styles));
5542    }
5543  };
5544  __name(_OptionsCalendar, "OptionsCalendar");
5545  var OptionsCalendar = _OptionsCalendar;
5546  var _a;
5547  var _Calendar = (_a = class extends OptionsCalendar {
5548    constructor(t, n) {
5549      var a;
5550      super(), __publicField(this, "init", (() => init(this))), __publicField(this, "update", ((e) => update(this, e))), __publicField(this, "destroy", (() => destroy(this))), __publicField(this, "show", (() => show(this))), __publicField(this, "hide", (() => hide(this))), __publicField(this, "set", ((e, t2) => set(this, e, t2))), __publicField(this, "context"), this.context = __spreadProps(__spreadValues({}, this.context), { locale: { months: { short: [], long: [] }, weekdays: { short: [], long: [] } } }), setContext(this, "mainElement", "string" == typeof t ? null != (a = _a.memoizedElements.get(t)) ? a : this.queryAndMemoize(t) : t), n && replaceProperties(this, n);
5551    }
5552    queryAndMemoize(t) {
5553      const n = document.querySelector(t);
5554      if (!n) throw new Error(errorMessages.notFoundSelector(t));
5555      return _a.memoizedElements.set(t, n), n;
5556    }
5557  }, __name(_a, "e"), _a);
5558  __publicField(_Calendar, "memoizedElements", /* @__PURE__ */ new Map());
5559  var Calendar = _Calendar;
5560
5561  
5561// imbus/javascript/imbus.main.js
5562  var import_glightbox = __toESM(require_glightbox_min());
5563  var import_toastify_js = __toESM(require_toastify());
5564  var import_tiny_slider = __toESM(require_tiny_slider());
5565  var import_headroom = __toESM(require_headroom());
5566
5567  
vendor: 136,554 bytes, lines 5567-8743
5567// node_modules/gsap/gsap-core.js
5568  function _assertThisInitialized(self2) {
5569    if (self2 === void 0) {
5570      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
5571    }
5572    return self2;
5573  }
5574  __name(_assertThisInitialized, "_assertThisInitialized");
5575  function _inheritsLoose(subClass, superClass) {
5576    subClass.prototype = Object.create(superClass.prototype);
5577    subClass.prototype.constructor = subClass;
5578    subClass.__proto__ = superClass;
5579  }
5580  __name(_inheritsLoose, "_inheritsLoose");
5581  var _config = {
5582    autoSleep: 120,
5583    force3D: "auto",
5584    nullTargetWarn: 1,
5585    units: {
5586      lineHeight: ""
5587    }
5588  };
5589  var _defaults = {
5590    duration: 0.5,
5591    overwrite: false,
5592    delay: 0
5593  };
5594  var _suppressOverwrites;
5595  var _reverting;
5596  var _context;
5597  var _bigNum = 1e8;
5598  var _tinyNum = 1 / _bigNum;
5599  var _2PI = Math.PI * 2;
5600  var _HALF_PI = _2PI / 4;
5601  var _gsID = 0;
5602  var _sqrt = Math.sqrt;
5603  var _cos = Math.cos;
5604  var _sin = Math.sin;
5605  var _isString = /* @__PURE__ */ __name(function _isString2(value) {
5606    return typeof value === "string";
5607  }, "_isString");
5608  var _isFunction = /* @__PURE__ */ __name(function _isFunction2(value) {
5609    return typeof value === "function";
5610  }, "_isFunction");
5611  var _isNumber = /* @__PURE__ */ __name(function _isNumber2(value) {
5612    return typeof value === "number";
5613  }, "_isNumber");
5614  var _isUndefined = /* @__PURE__ */ __name(function _isUndefined2(value) {
5615    return typeof value === "undefined";
5616  }, "_isUndefined");
5617  var _isObject = /* @__PURE__ */ __name(function _isObject2(value) {
5618    return typeof value === "object";
5619  }, "_isObject");
5620  var _isNotFalse = /* @__PURE__ */ __name(function _isNotFalse2(value) {
5621    return value !== false;
5622  }, "_isNotFalse");
5623  var _windowExists = /* @__PURE__ */ __name(function _windowExists2() {
5624    return typeof window !== "undefined";
5625  }, "_windowExists");
5626  var _isFuncOrString = /* @__PURE__ */ __name(function _isFuncOrString2(value) {
5627    return _isFunction(value) || _isString(value);
5628  }, "_isFuncOrString");
5629  var _isTypedArray = typeof ArrayBuffer === "function" && ArrayBuffer.isView || function() {
5630  };
5631  var _isArray = Array.isArray;
5632  var _randomExp = /random\([^)]+\)/g;
5633  var _commaDelimExp = /,\s*/g;
5634  var _strictNumExp = /(?:-?\.?\d|\.)+/gi;
5635  var _numExp = /[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g;
5636  var _numWithUnitExp = /[-+=.]*\d+[.e-]*\d*[a-z%]*/g;
5637  var _complexStringNumExp = /[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi;
5638  var _relExp = /[+-]=-?[.\d]+/;
5639  var _delimitedValueExp = /[^,'"\[\]\s]+/gi;
5640  var _unitExp = /^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i;
5641  var _globalTimeline;
5642  var _win;
5643  var _coreInitted;
5644  var _doc;
5645  var _globals = {};
5646  var _installScope = {};
5647  var _coreReady;
5648  var _install = /* @__PURE__ */ __name(function _install2(scope) {
5649    return (_installScope = _merge(scope, _globals)) && gsap;
5650  }, "_install");
5651  var _missingPlugin = /* @__PURE__ */ __name(function _missingPlugin2(property, value) {
5652    return console.warn("Invalid property", property, "set to", value, "Missing plugin? gsap.registerPlugin()");
5653  }, "_missingPlugin");
5654  var _warn = /* @__PURE__ */ __name(function _warn2(message, suppress) {
5655    return !suppress && console.warn(message);
5656  }, "_warn");
5657  var _addGlobal = /* @__PURE__ */ __name(function _addGlobal2(name, obj) {
5658    return name && (_globals[name] = obj) && _installScope && (_installScope[name] = obj) || _globals;
5659  }, "_addGlobal");
5660  var _emptyFunc = /* @__PURE__ */ __name(function _emptyFunc2() {
5661    return 0;
5662  }, "_emptyFunc");
5663  var _startAtRevertConfig = {
5664    suppressEvents: true,
5665    isStart: true,
5666    kill: false
5667  };
5668  var _revertConfigNoKill = {
5669    suppressEvents: true,
5670    kill: false
5671  };
5672  var _revertConfig = {
5673    suppressEvents: true
5674  };
5675  var _reservedProps = {};
5676  var _lazyTweens = [];
5677  var _lazyLookup = {};
5678  var _lastRenderedFrame;
5679  var _plugins = {};
5680  var _effects = {};
5681  var _nextGCFrame = 30;
5682  var _harnessPlugins = [];
5683  var _callbackNames = "";
5684  var _harness = /* @__PURE__ */ __name(function _harness2(targets) {
5685    var target = targets[0], harnessPlugin, i;
5686    _isObject(target) || _isFunction(target) || (targets = [targets]);
5687    if (!(harnessPlugin = (target._gsap || {}).harness)) {
5688      i = _harnessPlugins.length;
5689      while (i-- && !_harnessPlugins[i].targetTest(target)) {
5690      }
5691      harnessPlugin = _harnessPlugins[i];
5692    }
5693    i = targets.length;
5694    while (i--) {
5695      targets[i] && (targets[i]._gsap || (targets[i]._gsap = new GSCache(targets[i], harnessPlugin))) || targets.splice(i, 1);
5696    }
5697    return targets;
5698  }, "_harness");
5699  var _getCache = /* @__PURE__ */ __name(function _getCache2(target) {
5700    return target._gsap || _harness(toArray(target))[0]._gsap;
5701  }, "_getCache");
5702  var _getProperty = /* @__PURE__ */ __name(function _getProperty2(target, property, v) {
5703    return (v = target[property]) && _isFunction(v) ? target[property]() : _isUndefined(v) && target.getAttribute && target.getAttribute(property) || v;
5704  }, "_getProperty");
5705  var _forEachName = /* @__PURE__ */ __name(function _forEachName2(names, func) {
5706    return (names = names.split(",")).forEach(func) || names;
5707  }, "_forEachName");
5708  var _round = /* @__PURE__ */ __name(function _round2(value) {
5709    return Math.round(value * 1e5) / 1e5 || 0;
5710  }, "_round");
5711  var _roundPrecise = /* @__PURE__ */ __name(function _roundPrecise2(value) {
5712    return Math.round(value * 1e7) / 1e7 || 0;
5713  }, "_roundPrecise");
5714  var _parseRelative = /* @__PURE__ */ __name(function _parseRelative2(start, value) {
5715    var operator = value.charAt(0), end = parseFloat(value.substr(2));
5716    start = parseFloat(start);
5717    return operator === "+" ? start + end : operator === "-" ? start - end : operator === "*" ? start * end : start / end;
5718  }, "_parseRelative");
5719  var _arrayContainsAny = /* @__PURE__ */ __name(function _arrayContainsAny2(toSearch, toFind) {
5720    var l = toFind.length, i = 0;
5721    for (; toSearch.indexOf(toFind[i]) < 0 && ++i < l; ) {
5722    }
5723    return i < l;
5724  }, "_arrayContainsAny");
5725  var _lazyRender = /* @__PURE__ */ __name(function _lazyRender2() {
5726    var l = _lazyTweens.length, a = _lazyTweens.slice(0), i, tween;
5727    _lazyLookup = {};
5728    _lazyTweens.length = 0;
5729    for (i = 0; i < l; i++) {
5730      tween = a[i];
5731      tween && tween._lazy && (tween.render(tween._lazy[0], tween._lazy[1], true)._lazy = 0);
5732    }
5733  }, "_lazyRender");
5734  var _isRevertWorthy = /* @__PURE__ */ __name(function _isRevertWorthy2(animation) {
5735    return !!(animation._initted || animation._startAt || animation.add);
5736  }, "_isRevertWorthy");
5737  var _lazySafeRender = /* @__PURE__ */ __name(function _lazySafeRender2(animation, time, suppressEvents, force) {
5738    _lazyTweens.length && !_reverting && _lazyRender();
5739    animation.render(time, suppressEvents, force || !!(_reverting && time < 0 && _isRevertWorthy(animation)));
5740    _lazyTweens.length && !_reverting && _lazyRender();
5741  }, "_lazySafeRender");
5742  var _numericIfPossible = /* @__PURE__ */ __name(function _numericIfPossible2(value) {
5743    var n = parseFloat(value);
5744    return (n || n === 0) && (value + "").match(_delimitedValueExp).length < 2 ? n : _isString(value) ? value.trim() : value;
5745  }, "_numericIfPossible");
5746  var _passThrough = /* @__PURE__ */ __name(function _passThrough2(p) {
5747    return p;
5748  }, "_passThrough");
5749  var _setDefaults = /* @__PURE__ */ __name(function _setDefaults2(obj, defaults2) {
5750    for (var p in defaults2) {
5751      p in obj || (obj[p] = defaults2[p]);
5752    }
5753    return obj;
5754  }, "_setDefaults");
5755  var _setKeyframeDefaults = /* @__PURE__ */ __name(function _setKeyframeDefaults2(excludeDuration) {
5756    return function(obj, defaults2) {
5757      for (var p in defaults2) {
5758        p in obj || p === "duration" && excludeDuration || p === "ease" || (obj[p] = defaults2[p]);
5759      }
5760    };
5761  }, "_setKeyframeDefaults");
5762  var _merge = /* @__PURE__ */ __name(function _merge2(base, toMerge) {
5763    for (var p in toMerge) {
5764      base[p] = toMerge[p];
5765    }
5766    return base;
5767  }, "_merge");
5768  var _mergeDeep = /* @__PURE__ */ __name(function _mergeDeep2(base, toMerge) {
5769    for (var p in toMerge) {
5770      p !== "__proto__" && p !== "constructor" && p !== "prototype" && (base[p] = _isObject(toMerge[p]) ? _mergeDeep2(base[p] || (base[p] = {}), toMerge[p]) : toMerge[p]);
5771    }
5772    return base;
5773  }, "_mergeDeep");
5774  var _copyExcluding = /* @__PURE__ */ __name(function _copyExcluding2(obj, excluding) {
5775    var copy = {}, p;
5776    for (p in obj) {
5777      p in excluding || (copy[p] = obj[p]);
5778    }
5779    return copy;
5780  }, "_copyExcluding");
5781  var _inheritDefaults = /* @__PURE__ */ __name(function _inheritDefaults2(vars) {
5782    var parent = vars.parent || _globalTimeline, func = vars.keyframes ? _setKeyframeDefaults(_isArray(vars.keyframes)) : _setDefaults;
5783    if (_isNotFalse(vars.inherit)) {
5784      while (parent) {
5785        func(vars, parent.vars.defaults);
5786        parent = parent.parent || parent._dp;
5787      }
5788    }
5789    return vars;
5790  }, "_inheritDefaults");
5791  var _arraysMatch = /* @__PURE__ */ __name(function _arraysMatch2(a1, a2) {
5792    var i = a1.length, match = i === a2.length;
5793    while (match && i-- && a1[i] === a2[i]) {
5794    }
5795    return i < 0;
5796  }, "_arraysMatch");
5797  var _addLinkedListItem = /* @__PURE__ */ __name(function _addLinkedListItem2(parent, child, firstProp, lastProp, sortBy) {
5798    if (firstProp === void 0) {
5799      firstProp = "_first";
5800    }
5801    if (lastProp === void 0) {
5802      lastProp = "_last";
5803    }
5804    var prev = parent[lastProp], t;
5805    if (sortBy) {
5806      t = child[sortBy];
5807      while (prev && prev[sortBy] > t) {
5808        prev = prev._prev;
5809      }
5810    }
5811    if (prev) {
5812      child._next = prev._next;
5813      prev._next = child;
5814    } else {
5815      child._next = parent[firstProp];
5816      parent[firstProp] = child;
5817    }
5818    if (child._next) {
5819      child._next._prev = child;
5820    } else {
5821      parent[lastProp] = child;
5822    }
5823    child._prev = prev;
5824    child.parent = child._dp = parent;
5825    return child;
5826  }, "_addLinkedListItem");
5827  var _removeLinkedListItem = /* @__PURE__ */ __name(function _removeLinkedListItem2(parent, child, firstProp, lastProp) {
5828    if (firstProp === void 0) {
5829      firstProp = "_first";
5830    }
5831    if (lastProp === void 0) {
5832      lastProp = "_last";
5833    }
5834    var prev = child._prev, next = child._next;
5835    if (prev) {
5836      prev._next = next;
5837    } else if (parent[firstProp] === child) {
5838      parent[firstProp] = next;
5839    }
5840    if (next) {
5841      next._prev = prev;
5842    } else if (parent[lastProp] === child) {
5843      parent[lastProp] = prev;
5844    }
5845    child._next = child._prev = child.parent = null;
5846  }, "_removeLinkedListItem");
5847  var _removeFromParent = /* @__PURE__ */ __name(function _removeFromParent2(child, onlyIfParentHasAutoRemove) {
5848    child.parent && (!onlyIfParentHasAutoRemove || child.parent.autoRemoveChildren) && child.parent.remove && child.parent.remove(child);
5849    child._act = 0;
5850  }, "_removeFromParent");
5851  var _uncache = /* @__PURE__ */ __name(function _uncache2(animation, child) {
5852    if (animation && (!child || child._end > animation._dur || child._start < 0)) {
5853      var a = animation;
5854      while (a) {
5855        a._dirty = 1;
5856        a = a.parent;
5857      }
5858    }
5859    return animation;
5860  }, "_uncache");
5861  var _recacheAncestors = /* @__PURE__ */ __name(function _recacheAncestors2(animation) {
5862    var parent = animation.parent;
5863    while (parent && parent.parent) {
5864      parent._dirty = 1;
5865      parent.totalDuration();
5866      parent = parent.parent;
5867    }
5868    return animation;
5869  }, "_recacheAncestors");
5870  var _rewindStartAt = /* @__PURE__ */ __name(function _rewindStartAt2(tween, totalTime, suppressEvents, force) {
5871    return tween._startAt && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween.vars.immediateRender && !tween.vars.autoRevert || tween._startAt.render(totalTime, true, force));
5872  }, "_rewindStartAt");
5873  var _hasNoPausedAncestors = /* @__PURE__ */ __name(function _hasNoPausedAncestors2(animation) {
5874    return !animation || animation._ts && _hasNoPausedAncestors2(animation.parent);
5875  }, "_hasNoPausedAncestors");
5876  var _elapsedCycleDuration = /* @__PURE__ */ __name(function _elapsedCycleDuration2(animation) {
5877    return animation._repeat ? _animationCycle(animation._tTime, animation = animation.duration() + animation._rDelay) * animation : 0;
5878  }, "_elapsedCycleDuration");
5879  var _animationCycle = /* @__PURE__ */ __name(function _animationCycle2(tTime, cycleDuration) {
5880    var whole = Math.floor(tTime = _roundPrecise(tTime / cycleDuration));
5881    return tTime && whole === tTime ? whole - 1 : whole;
5882  }, "_animationCycle");
5883  var _parentToChildTotalTime = /* @__PURE__ */ __name(function _parentToChildTotalTime2(parentTime, child) {
5884    return (parentTime - child._start) * child._ts + (child._ts >= 0 ? 0 : child._dirty ? child.totalDuration() : child._tDur);
5885  }, "_parentToChildTotalTime");
5886  var _setEnd = /* @__PURE__ */ __name(function _setEnd2(animation) {
5887    return animation._end = _roundPrecise(animation._start + (animation._tDur / Math.abs(animation._ts || animation._rts || _tinyNum) || 0));
5888  }, "_setEnd");
5889  var _alignPlayhead = /* @__PURE__ */ __name(function _alignPlayhead2(animation, totalTime) {
5890    var parent = animation._dp;
5891    if (parent && parent.smoothChildTiming && animation._ts) {
5892      animation._start = _roundPrecise(parent._time - (animation._ts > 0 ? totalTime / animation._ts : ((animation._dirty ? animation.totalDuration() : animation._tDur) - totalTime) / -animation._ts));
5893      _setEnd(animation);
5894      parent._dirty || _uncache(parent, animation);
5895    }
5896    return animation;
5897  }, "_alignPlayhead");
5898  var _postAddChecks = /* @__PURE__ */ __name(function _postAddChecks2(timeline2, child) {
5899    var t;
5900    if (child._time || !child._dur && child._initted || child._start < timeline2._time && (child._dur || !child.add)) {
5901      t = _parentToChildTotalTime(timeline2.rawTime(), child);
5902      if (!child._dur || _clamp(0, child.totalDuration(), t) - child._tTime > _tinyNum) {
5903        child.render(t, true);
5904      }
5905    }
5906    if (_uncache(timeline2, child)._dp && timeline2._initted && timeline2._time >= timeline2._dur && timeline2._ts) {
5907      if (timeline2._dur < timeline2.duration()) {
5908        t = timeline2;
5909        while (t._dp) {
5910          t.rawTime() >= 0 && t.totalTime(t._tTime);
5911          t = t._dp;
5912        }
5913      }
5914      timeline2._zTime = -_tinyNum;
5915    }
5916  }, "_postAddChecks");
5917  var _addToTimeline = /* @__PURE__ */ __name(function _addToTimeline2(timeline2, child, position, skipChecks) {
5918    child.parent && _removeFromParent(child);
5919    child._start = _roundPrecise((_isNumber(position) ? position : position || timeline2 !== _globalTimeline ? _parsePosition(timeline2, position, child) : timeline2._time) + child._delay);
5920    child._end = _roundPrecise(child._start + (child.totalDuration() / Math.abs(child.timeScale()) || 0));
5921    _addLinkedListItem(timeline2, child, "_first", "_last", timeline2._sort ? "_start" : 0);
5922    _isFromOrFromStart(child) || (timeline2._recent = child);
5923    skipChecks || _postAddChecks(timeline2, child);
5924    timeline2._ts < 0 && _alignPlayhead(timeline2, timeline2._tTime);
5925    return timeline2;
5926  }, "_addToTimeline");
5927  var _scrollTrigger = /* @__PURE__ */ __name(function _scrollTrigger2(animation, trigger) {
5928    return (_globals.ScrollTrigger || _missingPlugin("scrollTrigger", trigger)) && _globals.ScrollTrigger.create(trigger, animation);
5929  }, "_scrollTrigger");
5930  var _attemptInitTween = /* @__PURE__ */ __name(function _attemptInitTween2(tween, time, force, suppressEvents, tTime) {
5931    _initTween(tween, time, tTime);
5932    if (!tween._initted) {
5933      return 1;
5934    }
5935    if (!force && tween._pt && !_reverting && (tween._dur && tween.vars.lazy !== false || !tween._dur && tween.vars.lazy) && _lastRenderedFrame !== _ticker.frame) {
5936      _lazyTweens.push(tween);
5937      tween._lazy = [tTime, suppressEvents];
5938      return 1;
5939    }
5940  }, "_attemptInitTween");
5941  var _parentPlayheadIsBeforeStart = /* @__PURE__ */ __name(function _parentPlayheadIsBeforeStart2(_ref) {
5942    var parent = _ref.parent;
5943    return parent && parent._ts && parent._initted && !parent._lock && (parent.rawTime() < 0 || _parentPlayheadIsBeforeStart2(parent));
5944  }, "_parentPlayheadIsBeforeStart");
5945  var _isFromOrFromStart = /* @__PURE__ */ __name(function _isFromOrFromStart2(_ref2) {
5946    var data = _ref2.data;
5947    return data === "isFromStart" || data === "isStart";
5948  }, "_isFromOrFromStart");
5949  var _renderZeroDurationTween = /* @__PURE__ */ __name(function _renderZeroDurationTween2(tween, totalTime, suppressEvents, force) {
5950    var prevRatio = tween.ratio, ratio = totalTime < 0 || !totalTime && (!tween._start && _parentPlayheadIsBeforeStart(tween) && !(!tween._initted && _isFromOrFromStart(tween)) || (tween._ts < 0 || tween._dp._ts < 0) && !_isFromOrFromStart(tween)) ? 0 : 1, repeatDelay = tween._rDelay, tTime = 0, pt, iteration, prevIteration;
5951    if (repeatDelay && tween._repeat) {
5952      tTime = _clamp(0, tween._tDur, totalTime);
5953      iteration = _animationCycle(tTime, repeatDelay);
5954      tween._yoyo && iteration & 1 && (ratio = 1 - ratio);
5955      if (iteration !== _animationCycle(tween._tTime, repeatDelay)) {
5956        prevRatio = 1 - ratio;
5957        tween.vars.repeatRefresh && tween._initted && tween.invalidate();
5958      }
5959    }
5960    if (ratio !== prevRatio || _reverting || force || tween._zTime === _tinyNum || !totalTime && tween._zTime) {
5961      if (!tween._initted && _attemptInitTween(tween, totalTime, force, suppressEvents, tTime)) {
5962        return;
5963      }
5964      prevIteration = tween._zTime;
5965      tween._zTime = totalTime || (suppressEvents ? _tinyNum : 0);
5966      suppressEvents || (suppressEvents = totalTime && !prevIteration);
5967      tween.ratio = ratio;
5968      tween._from && (ratio = 1 - ratio);
5969      tween._time = 0;
5970      tween._tTime = tTime;
5971      pt = tween._pt;
5972      while (pt) {
5973        pt.r(ratio, pt.d);
5974        pt = pt._next;
5975      }
5976      totalTime < 0 && _rewindStartAt(tween, totalTime, suppressEvents, true);
5977      tween._onUpdate && !suppressEvents && _callback(tween, "onUpdate");
5978      tTime && tween._repeat && !suppressEvents && tween.parent && _callback(tween, "onRepeat");
5979      if ((totalTime >= tween._tDur || totalTime < 0) && tween.ratio === ratio) {
5980        ratio && _removeFromParent(tween, 1);
5981        if (!suppressEvents && !_reverting) {
5982          _callback(tween, ratio ? "onComplete" : "onReverseComplete", true);
5983          tween._prom && tween._prom();
5984        }
5985      }
5986    } else if (!tween._zTime) {
5987      tween._zTime = totalTime;
5988    }
5989  }, "_renderZeroDurationTween");
5990  var _findNextPauseTween = /* @__PURE__ */ __name(function _findNextPauseTween2(animation, prevTime, time) {
5991    var child;
5992    if (time > prevTime) {
5993      child = animation._first;
5994      while (child && child._start <= time) {
5995        if (child.data === "isPause" && child._start > prevTime) {
5996          return child;
5997        }
5998        child = child._next;
5999      }
6000    } else {
6001      child = animation._last;
6002      while (child && child._start >= time) {
6003        if (child.data === "isPause" && child._start < prevTime) {
6004          return child;
6005        }
6006        child = child._prev;
6007      }
6008    }
6009  }, "_findNextPauseTween");
6010  var _setDuration = /* @__PURE__ */ __name(function _setDuration2(animation, duration, skipUncache, leavePlayhead) {
6011    var repeat = animation._repeat, dur = _roundPrecise(duration) || 0, totalProgress = animation._tTime / animation._tDur;
6012    totalProgress && !leavePlayhead && (animation._time *= dur / animation._dur);
6013    animation._dur = dur;
6014    animation._tDur = !repeat ? dur : repeat < 0 ? 1e10 : _roundPrecise(dur * (repeat + 1) + animation._rDelay * repeat);
6015    totalProgress > 0 && !leavePlayhead && _alignPlayhead(animation, animation._tTime = animation._tDur * totalProgress);
6016    animation.parent && _setEnd(animation);
6017    skipUncache || _uncache(animation.parent, animation);
6018    return animation;
6019  }, "_setDuration");
6020  var _onUpdateTotalDuration = /* @__PURE__ */ __name(function _onUpdateTotalDuration2(animation) {
6021    return animation instanceof Timeline ? _uncache(animation) : _setDuration(animation, animation._dur);
6022  }, "_onUpdateTotalDuration");
6023  var _zeroPosition = {
6024    _start: 0,
6025    endTime: _emptyFunc,
6026    totalDuration: _emptyFunc
6027  };
6028  var _parsePosition = /* @__PURE__ */ __name(function _parsePosition2(animation, position, percentAnimation) {
6029    var labels2 = animation.labels, recent = animation._recent || _zeroPosition, clippedDuration = animation.duration() >= _bigNum ? recent.endTime(false) : animation._dur, i, offset, isPercent;
6030    if (_isString(position) && (isNaN(position) || position in labels2)) {
6031      offset = position.charAt(0);
6032      isPercent = position.substr(-1) === "%";
6033      i = position.indexOf("=");
6034      if (offset === "<" || offset === ">") {
6035        i >= 0 && (position = position.replace(/=/, ""));
6036        return (offset === "<" ? recent._start : recent.endTime(recent._repeat >= 0)) + (parseFloat(position.substr(1)) || 0) * (isPercent ? (i < 0 ? recent : percentAnimation).totalDuration() / 100 : 1);
6037      }
6038      if (i < 0) {
6039        position in labels2 || (labels2[position] = clippedDuration);
6040        return labels2[position];
6041      }
6042      offset = parseFloat(position.charAt(i - 1) + position.substr(i + 1));
6043      if (isPercent && percentAnimation) {
6044        offset = offset / 100 * (_isArray(percentAnimation) ? percentAnimation[0] : percentAnimation).totalDuration();
6045      }
6046      return i > 1 ? _parsePosition2(animation, position.substr(0, i - 1), percentAnimation) + offset : clippedDuration + offset;
6047    }
6048    return position == null ? clippedDuration : +position;
6049  }, "_parsePosition");
6050  var _createTweenType = /* @__PURE__ */ __name(function _createTweenType2(type, params, timeline2) {
6051    var isLegacy = _isNumber(params[1]), varsIndex = (isLegacy ? 2 : 1) + (type < 2 ? 0 : 1), vars = params[varsIndex], irVars, parent;
6052    isLegacy && (vars.duration = params[1]);
6053    vars.parent = timeline2;
6054    if (type) {
6055      irVars = vars;
6056      parent = timeline2;
6057      while (parent && !("immediateRender" in irVars)) {
6058        irVars = parent.vars.defaults || {};
6059        parent = _isNotFalse(parent.vars.inherit) && parent.parent;
6060      }
6061      vars.immediateRender = _isNotFalse(irVars.immediateRender);
6062      type < 2 ? vars.runBackwards = 1 : vars.startAt = params[varsIndex - 1];
6063    }
6064    return new Tween(params[0], vars, params[varsIndex + 1]);
6065  }, "_createTweenType");
6066  var _conditionalReturn = /* @__PURE__ */ __name(function _conditionalReturn2(value, func) {
6067    return value || value === 0 ? func(value) : func;
6068  }, "_conditionalReturn");
6069  var _clamp = /* @__PURE__ */ __name(function _clamp2(min, max, value) {
6070    return value < min ? min : value > max ? max : value;
6071  }, "_clamp");
6072  var getUnit = /* @__PURE__ */ __name(function getUnit2(value, v) {
6073    return !_isString(value) || !(v = _unitExp.exec(value)) ? "" : v[1];
6074  }, "getUnit");
6075  var clamp = /* @__PURE__ */ __name(function clamp2(min, max, value) {
6076    return _conditionalReturn(value, function(v) {
6077      return _clamp(min, max, v);
6078    });
6079  }, "clamp");
6080  var _slice = [].slice;
6081  var _isArrayLike = /* @__PURE__ */ __name(function _isArrayLike2(value, nonEmpty) {
6082    return value && _isObject(value) && "length" in value && (!nonEmpty && !value.length || value.length - 1 in value && _isObject(value[0])) && !value.nodeType && value !== _win;
6083  }, "_isArrayLike");
6084  var _flatten = /* @__PURE__ */ __name(function _flatten2(ar, leaveStrings, accumulator) {
6085    if (accumulator === void 0) {
6086      accumulator = [];
6087    }
6088    return ar.forEach(function(value) {
6089      var _accumulator;
6090      return _isString(value) && !leaveStrings || _isArrayLike(value, 1) ? (_accumulator = accumulator).push.apply(_accumulator, toArray(value)) : accumulator.push(value);
6091    }) || accumulator;
6092  }, "_flatten");
6093  var toArray = /* @__PURE__ */ __name(function toArray2(value, scope, leaveStrings) {
6094    return _context && !scope && _context.selector ? _context.selector(value) : _isString(value) && !leaveStrings && (_coreInitted || !_wake()) ? _slice.call((scope || _doc).querySelectorAll(value), 0) : _isArray(value) ? _flatten(value, leaveStrings) : _isArrayLike(value) ? _slice.call(value, 0) : value ? [value] : [];
6095  }, "toArray");
6096  var selector = /* @__PURE__ */ __name(function selector2(value) {
6097    value = toArray(value)[0] || _warn("Invalid scope") || {};
6098    return function(v) {
6099      var el = value.current || value.nativeElement || value;
6100      return toArray(v, el.querySelectorAll ? el : el === value ? _warn("Invalid scope") || _doc.createElement("div") : value);
6101    };
6102  }, "selector");
6103  var shuffle = /* @__PURE__ */ __name(function shuffle2(a) {
6104    return a.sort(function() {
6105      return 0.5 - Math.random();
6106    });
6107  }, "shuffle");
6108  var distribute = /* @__PURE__ */ __name(function distribute2(v) {
6109    if (_isFunction(v)) {
6110      return v;
6111    }
6112    var vars = _isObject(v) ? v : {
6113      each: v
6114    }, ease = _parseEase(vars.ease), from = vars.from || 0, base = parseFloat(vars.base) || 0, cache = {}, isDecimal = from > 0 && from < 1, ratios = isNaN(from) || isDecimal, axis = vars.axis, ratioX = from, ratioY = from;
6115    if (_isString(from)) {
6116      ratioX = ratioY = {
6117        center: 0.5,
6118        edges: 0.5,
6119        end: 1
6120      }[from] || 0;
6121    } else if (!isDecimal && ratios) {
6122      ratioX = from[0];
6123      ratioY = from[1];
6124    }
6125    return function(i, target, a) {
6126      var l = (a || vars).length, distances = cache[l], originX, originY, x, y, d, j, max, min, wrapAt;
6127      if (!distances) {
6128        wrapAt = vars.grid === "auto" ? 0 : (vars.grid || [1, _bigNum])[1];
6129        if (!wrapAt) {
6130          max = -_bigNum;
6131          while (max < (max = a[wrapAt++].getBoundingClientRect().left) && wrapAt < l) {
6132          }
6133          wrapAt < l && wrapAt--;
6134        }
6135        distances = cache[l] = [];
6136        originX = ratios ? Math.min(wrapAt, l) * ratioX - 0.5 : from % wrapAt;
6137        originY = wrapAt === _bigNum ? 0 : ratios ? l * ratioY / wrapAt - 0.5 : from / wrapAt | 0;
6138        max = 0;
6139        min = _bigNum;
6140        for (j = 0; j < l; j++) {
6141          x = j % wrapAt - originX;
6142          y = originY - (j / wrapAt | 0);
6143          distances[j] = d = !axis ? _sqrt(x * x + y * y) : Math.abs(axis === "y" ? y : x);
6144          d > max && (max = d);
6145          d < min && (min = d);
6146        }
6147        from === "random" && shuffle(distances);
6148        distances.max = max - min;
6149        distances.min = min;
6150        distances.v = l = (parseFloat(vars.amount) || parseFloat(vars.each) * (wrapAt > l ? l - 1 : !axis ? Math.max(wrapAt, l / wrapAt) : axis === "y" ? l / wrapAt : wrapAt) || 0) * (from === "edges" ? -1 : 1);
6151        distances.b = l < 0 ? base - l : base;
6152        distances.u = getUnit(vars.amount || vars.each) || 0;
6153        ease = ease && l < 0 ? _invertEase(ease) : ease;
6154      }
6155      l = (distances[i] - distances.min) / distances.max || 0;
6156      return _roundPrecise(distances.b + (ease ? ease(l) : l) * distances.v) + distances.u;
6157    };
6158  }, "distribute");
6159  var _roundModifier = /* @__PURE__ */ __name(function _roundModifier2(v) {
6160    var p = Math.pow(10, ((v + "").split(".")[1] || "").length);
6161    return function(raw) {
6162      var n = _roundPrecise(Math.round(parseFloat(raw) / v) * v * p);
6163      return (n - n % 1) / p + (_isNumber(raw) ? 0 : getUnit(raw));
6164    };
6165  }, "_roundModifier");
6166  var snap = /* @__PURE__ */ __name(function snap2(snapTo, value) {
6167    var isArray = _isArray(snapTo), radius, is2D;
6168    if (!isArray && _isObject(snapTo)) {
6169      radius = isArray = snapTo.radius || _bigNum;
6170      if (snapTo.values) {
6171        snapTo = toArray(snapTo.values);
6172        if (is2D = !_isNumber(snapTo[0])) {
6173          radius *= radius;
6174        }
6175      } else {
6176        snapTo = _roundModifier(snapTo.increment);
6177      }
6178    }
6179    return _conditionalReturn(value, !isArray ? _roundModifier(snapTo) : _isFunction(snapTo) ? function(raw) {
6180      is2D = snapTo(raw);
6181      return Math.abs(is2D - raw) <= radius ? is2D : raw;
6182    } : function(raw) {
6183      var x = parseFloat(is2D ? raw.x : raw), y = parseFloat(is2D ? raw.y : 0), min = _bigNum, closest = 0, i = snapTo.length, dx, dy;
6184      while (i--) {
6185        if (is2D) {
6186          dx = snapTo[i].x - x;
6187          dy = snapTo[i].y - y;
6188          dx = dx * dx + dy * dy;
6189        } else {
6190          dx = Math.abs(snapTo[i] - x);
6191        }
6192        if (dx < min) {
6193          min = dx;
6194          closest = i;
6195        }
6196      }
6197      closest = !radius || min <= radius ? snapTo[closest] : raw;
6198      return is2D || closest === raw || _isNumber(raw) ? closest : closest + getUnit(raw);
6199    });
6200  }, "snap");
6201  var random = /* @__PURE__ */ __name(function random2(min, max, roundingIncrement, returnFunction) {
6202    return _conditionalReturn(_isArray(min) ? !max : roundingIncrement === true ? !!(roundingIncrement = 0) : !returnFunction, function() {
6203      return _isArray(min) ? min[~~(Math.random() * min.length)] : (roundingIncrement = roundingIncrement || 1e-5) && (returnFunction = roundingIncrement < 1 ? Math.pow(10, (roundingIncrement + "").length - 2) : 1) && Math.floor(Math.round((min - roundingIncrement / 2 + Math.random() * (max - min + roundingIncrement * 0.99)) / roundingIncrement) * roundingIncrement * returnFunction) / returnFunction;
6204    });
6205  }, "random");
6206  var pipe = /* @__PURE__ */ __name(function pipe2() {
6207    for (var _len = arguments.length, functions = new Array(_len), _key = 0; _key < _len; _key++) {
6208      functions[_key] = arguments[_key];
6209    }
6210    return function(value) {
6211      return functions.reduce(function(v, f) {
6212        return f(v);
6213      }, value);
6214    };
6215  }, "pipe");
6216  var unitize = /* @__PURE__ */ __name(function unitize2(func, unit) {
6217    return function(value) {
6218      return func(parseFloat(value)) + (unit || getUnit(value));
6219    };
6220  }, "unitize");
6221  var normalize = /* @__PURE__ */ __name(function normalize2(min, max, value) {
6222    return mapRange(min, max, 0, 1, value);
6223  }, "normalize");
6224  var _wrapArray = /* @__PURE__ */ __name(function _wrapArray2(a, wrapper, value) {
6225    return _conditionalReturn(value, function(index) {
6226      return a[~~wrapper(index)];
6227    });
6228  }, "_wrapArray");
6229  var wrap = /* @__PURE__ */ __name(function wrap2(min, max, value) {
6230    var range = max - min;
6231    return _isArray(min) ? _wrapArray(min, wrap2(0, min.length), max) : _conditionalReturn(value, function(value2) {
6232      return (range + (value2 - min) % range) % range + min;
6233    });
6234  }, "wrap");
6235  var wrapYoyo = /* @__PURE__ */ __name(function wrapYoyo2(min, max, value) {
6236    var range = max - min, total = range * 2;
6237    return _isArray(min) ? _wrapArray(min, wrapYoyo2(0, min.length - 1), max) : _conditionalReturn(value, function(value2) {
6238      value2 = (total + (value2 - min) % total) % total || 0;
6239      return min + (value2 > range ? total - value2 : value2);
6240    });
6241  }, "wrapYoyo");
6242  var _replaceRandom = /* @__PURE__ */ __name(function _replaceRandom2(s) {
6243    return s.replace(_randomExp, function(match) {
6244      var arIndex = match.indexOf("[") + 1, values = match.substring(arIndex || 7, arIndex ? match.indexOf("]") : match.length - 1).split(_commaDelimExp);
6245      return random(arIndex ? values : +values[0], arIndex ? 0 : +values[1], +values[2] || 1e-5);
6246    });
6247  }, "_replaceRandom");
6248  var mapRange = /* @__PURE__ */ __name(function mapRange2(inMin, inMax, outMin, outMax, value) {
6249    var inRange = inMax - inMin, outRange = outMax - outMin;
6250    return _conditionalReturn(value, function(value2) {
6251      return outMin + ((value2 - inMin) / inRange * outRange || 0);
6252    });
6253  }, "mapRange");
6254  var interpolate = /* @__PURE__ */ __name(function interpolate2(start, end, progress, mutate) {
6255    var func = isNaN(start + end) ? 0 : function(p2) {
6256      return (1 - p2) * start + p2 * end;
6257    };
6258    if (!func) {
6259      var isString = _isString(start), master = {}, p, i, interpolators, l, il;
6260      progress === true && (mutate = 1) && (progress = null);
6261      if (isString) {
6262        start = {
6263          p: start
6264        };
6265        end = {
6266          p: end
6267        };
6268      } else if (_isArray(start) && !_isArray(end)) {
6269        interpolators = [];
6270        l = start.length;
6271        il = l - 2;
6272        for (i = 1; i < l; i++) {
6273          interpolators.push(interpolate2(start[i - 1], start[i]));
6274        }
6275        l--;
6276        func = /* @__PURE__ */ __name(function func2(p2) {
6277          p2 *= l;
6278          var i2 = Math.min(il, ~~p2);
6279          return interpolators[i2](p2 - i2);
6280        }, "func");
6281        progress = end;
6282      } else if (!mutate) {
6283        start = _merge(_isArray(start) ? [] : {}, start);
6284      }
6285      if (!interpolators) {
6286        for (p in end) {
6287          _addPropTween.call(master, start, p, "get", end[p]);
6288        }
6289        func = /* @__PURE__ */ __name(function func2(p2) {
6290          return _renderPropTweens(p2, master) || (isString ? start.p : start);
6291        }, "func");
6292      }
6293    }
6294    return _conditionalReturn(progress, func);
6295  }, "interpolate");
6296  var _getLabelInDirection = /* @__PURE__ */ __name(function _getLabelInDirection2(timeline2, fromTime, backward) {
6297    var labels2 = timeline2.labels, min = _bigNum, p, distance, label;
6298    for (p in labels2) {
6299      distance = labels2[p] - fromTime;
6300      if (distance < 0 === !!backward && distance && min > (distance = Math.abs(distance))) {
6301        label = p;
6302        min = distance;
6303      }
6304    }
6305    return label;
6306  }, "_getLabelInDirection");
6307  var _callback = /* @__PURE__ */ __name(function _callback2(animation, type, executeLazyFirst) {
6308    var v = animation.vars, callback = v[type], prevContext = _context, context3 = animation._ctx, params, scope, result;
6309    if (!callback) {
6310      return;
6311    }
6312    params = v[type + "Params"];
6313    scope = v.callbackScope || animation;
6314    executeLazyFirst && _lazyTweens.length && _lazyRender();
6315    context3 && (_context = context3);
6316    result = params ? callback.apply(scope, params) : callback.call(scope);
6317    _context = prevContext;
6318    return result;
6319  }, "_callback");
6320  var _interrupt = /* @__PURE__ */ __name(function _interrupt2(animation) {
6321    _removeFromParent(animation);
6322    animation.scrollTrigger && animation.scrollTrigger.kill(!!_reverting);
6323    animation.progress() < 1 && _callback(animation, "onInterrupt");
6324    return animation;
6325  }, "_interrupt");
6326  var _quickTween;
6327  var _registerPluginQueue = [];
6328  var _createPlugin = /* @__PURE__ */ __name(function _createPlugin2(config3) {
6329    if (!config3) return;
6330    config3 = !config3.name && config3["default"] || config3;
6331    if (_windowExists() || config3.headless) {
6332      var name = config3.name, isFunc = _isFunction(config3), Plugin = name && !isFunc && config3.init ? function() {
6333        this._props = [];
6334      } : config3, instanceDefaults = {
6335        init: _emptyFunc,
6336        render: _renderPropTweens,
6337        add: _addPropTween,
6338        kill: _killPropTweensOf,
6339        modifier: _addPluginModifier,
6340        rawVars: 0
6341      }, statics = {
6342        targetTest: 0,
6343        get: 0,
6344        getSetter: _getSetter,
6345        aliases: {},
6346        register: 0
6347      };
6348      _wake();
6349      if (config3 !== Plugin) {
6350        if (_plugins[name]) {
6351          return;
6352        }
6353        _setDefaults(Plugin, _setDefaults(_copyExcluding(config3, instanceDefaults), statics));
6354        _merge(Plugin.prototype, _merge(instanceDefaults, _copyExcluding(config3, statics)));
6355        _plugins[Plugin.prop = name] = Plugin;
6356        if (config3.targetTest) {
6357          _harnessPlugins.push(Plugin);
6358          _reservedProps[name] = 1;
6359        }
6360        name = (name === "css" ? "CSS" : name.charAt(0).toUpperCase() + name.substr(1)) + "Plugin";
6361      }
6362      _addGlobal(name, Plugin);
6363      config3.register && config3.register(gsap, Plugin, PropTween);
6364    } else {
6365      _registerPluginQueue.push(config3);
6366    }
6367  }, "_createPlugin");
6368  var _255 = 255;
6369  var _colorLookup = {
6370    aqua: [0, _255, _255],
6371    lime: [0, _255, 0],
6372    silver: [192, 192, 192],
6373    black: [0, 0, 0],
6374    maroon: [128, 0, 0],
6375    teal: [0, 128, 128],
6376    blue: [0, 0, _255],
6377    navy: [0, 0, 128],
6378    white: [_255, _255, _255],
6379    olive: [128, 128, 0],
6380    yellow: [_255, _255, 0],
6381    orange: [_255, 165, 0],
6382    gray: [128, 128, 128],
6383    purple: [128, 0, 128],
6384    green: [0, 128, 0],
6385    red: [_255, 0, 0],
6386    pink: [_255, 192, 203],
6387    cyan: [0, _255, _255],
6388    transparent: [_255, _255, _255, 0]
6389  };
6390  var _hue = /* @__PURE__ */ __name(function _hue2(h, m1, m2) {
6391    h += h < 0 ? 1 : h > 1 ? -1 : 0;
6392    return (h * 6 < 1 ? m1 + (m2 - m1) * h * 6 : h < 0.5 ? m2 : h * 3 < 2 ? m1 + (m2 - m1) * (2 / 3 - h) * 6 : m1) * _255 + 0.5 | 0;
6393  }, "_hue");
6394  var splitColor = /* @__PURE__ */ __name(function splitColor2(v, toHSL, forceAlpha) {
6395    var a = !v ? _colorLookup.black : _isNumber(v) ? [v >> 16, v >> 8 & _255, v & _255] : 0, r, g, b, h, s, l, max, min, d, wasHSL;
6396    if (!a) {
6397      if (v.substr(-1) === ",") {
6398        v = v.substr(0, v.length - 1);
6399      }
6400      if (_colorLookup[v]) {
6401        a = _colorLookup[v];
6402      } else if (v.charAt(0) === "#") {
6403        if (v.length < 6) {
6404          r = v.charAt(1);
6405          g = v.charAt(2);
6406          b = v.charAt(3);
6407          v = "#" + r + r + g + g + b + b + (v.length === 5 ? v.charAt(4) + v.charAt(4) : "");
6408        }
6409        if (v.length === 9) {
6410          a = parseInt(v.substr(1, 6), 16);
6411          return [a >> 16, a >> 8 & _255, a & _255, parseInt(v.substr(7), 16) / 255];
6412        }
6413        v = parseInt(v.substr(1), 16);
6414        a = [v >> 16, v >> 8 & _255, v & _255];
6415      } else if (v.substr(0, 3) === "hsl") {
6416        a = wasHSL = v.match(_strictNumExp);
6417        if (!toHSL) {
6418          h = +a[0] % 360 / 360;
6419          s = +a[1] / 100;
6420          l = +a[2] / 100;
6421          g = l <= 0.5 ? l * (s + 1) : l + s - l * s;
6422          r = l * 2 - g;
6423          a.length > 3 && (a[3] *= 1);
6424          a[0] = _hue(h + 1 / 3, r, g);
6425          a[1] = _hue(h, r, g);
6426          a[2] = _hue(h - 1 / 3, r, g);
6427        } else if (~v.indexOf("=")) {
6428          a = v.match(_numExp);
6429          forceAlpha && a.length < 4 && (a[3] = 1);
6430          return a;
6431        }
6432      } else {
6433        a = v.match(_strictNumExp) || _colorLookup.transparent;
6434      }
6435      a = a.map(Number);
6436    }
6437    if (toHSL && !wasHSL) {
6438      r = a[0] / _255;
6439      g = a[1] / _255;
6440      b = a[2] / _255;
6441      max = Math.max(r, g, b);
6442      min = Math.min(r, g, b);
6443      l = (max + min) / 2;
6444      if (max === min) {
6445        h = s = 0;
6446      } else {
6447        d = max - min;
6448        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
6449        h = max === r ? (g - b) / d + (g < b ? 6 : 0) : max === g ? (b - r) / d + 2 : (r - g) / d + 4;
6450        h *= 60;
6451      }
6452      a[0] = ~~(h + 0.5);
6453      a[1] = ~~(s * 100 + 0.5);
6454      a[2] = ~~(l * 100 + 0.5);
6455    }
6456    forceAlpha && a.length < 4 && (a[3] = 1);
6457    return a;
6458  }, "splitColor");
6459  var _colorOrderData = /* @__PURE__ */ __name(function _colorOrderData2(v) {
6460    var values = [], c = [], i = -1;
6461    v.split(_colorExp).forEach(function(v2) {
6462      var a = v2.match(_numWithUnitExp) || [];
6463      values.push.apply(values, a);
6464      c.push(i += a.length + 1);
6465    });
6466    values.c = c;
6467    return values;
6468  }, "_colorOrderData");
6469  var _formatColors = /* @__PURE__ */ __name(function _formatColors2(s, toHSL, orderMatchData) {
6470    var result = "", colors = (s + result).match(_colorExp), type = toHSL ? "hsla(" : "rgba(", i = 0, c, shell, d, l;
6471    if (!colors) {
6472      return s;
6473    }
6474    colors = colors.map(function(color) {
6475      return (color = splitColor(color, toHSL, 1)) && type + (toHSL ? color[0] + "," + color[1] + "%," + color[2] + "%," + color[3] : color.join(",")) + ")";
6476    });
6477    if (orderMatchData) {
6478      d = _colorOrderData(s);
6479      c = orderMatchData.c;
6480      if (c.join(result) !== d.c.join(result)) {
6481        shell = s.replace(_colorExp, "1").split(_numWithUnitExp);
6482        l = shell.length - 1;
6483        for (; i < l; i++) {
6484          result += shell[i] + (~c.indexOf(i) ? colors.shift() || type + "0,0,0,0)" : (d.length ? d : colors.length ? colors : orderMatchData).shift());
6485        }
6486      }
6487    }
6488    if (!shell) {
6489      shell = s.split(_colorExp);
6490      l = shell.length - 1;
6491      for (; i < l; i++) {
6492        result += shell[i] + colors[i];
6493      }
6494    }
6495    return result + shell[l];
6496  }, "_formatColors");
6497  var _colorExp = (function() {
6498    var s = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b", p;
6499    for (p in _colorLookup) {
6500      s += "|" + p + "\\b";
6501    }
6502    return new RegExp(s + ")", "gi");
6503  })();
6504  var _hslExp = /hsl[a]?\(/;
6505  var _colorStringFilter = /* @__PURE__ */ __name(function _colorStringFilter2(a) {
6506    var combined = a.join(" "), toHSL;
6507    _colorExp.lastIndex = 0;
6508    if (_colorExp.test(combined)) {
6509      toHSL = _hslExp.test(combined);
6510      a[1] = _formatColors(a[1], toHSL);
6511      a[0] = _formatColors(a[0], toHSL, _colorOrderData(a[1]));
6512      return true;
6513    }
6514  }, "_colorStringFilter");
6515  var _tickerActive;
6516  var _ticker = (function() {
6517    var _getTime3 = Date.now, _lagThreshold = 500, _adjustedLag = 33, _startTime = _getTime3(), _lastUpdate = _startTime, _gap = 1e3 / 240, _nextTime = _gap, _listeners3 = [], _id, _req, _raf, _self, _delta, _i2, _tick = /* @__PURE__ */ __name(function _tick2(v) {
6518      var elapsed = _getTime3() - _lastUpdate, manual = v === true, overlap, dispatch, time, frame;
6519      (elapsed > _lagThreshold || elapsed < 0) && (_startTime += elapsed - _adjustedLag);
6520      _lastUpdate += elapsed;
6521      time = _lastUpdate - _startTime;
6522      overlap = time - _nextTime;
6523      if (overlap > 0 || manual) {
6524        frame = ++_self.frame;
6525        _delta = time - _self.time * 1e3;
6526        _self.time = time = time / 1e3;
6527        _nextTime += overlap + (overlap >= _gap ? 4 : _gap - overlap);
6528        dispatch = 1;
6529      }
6530      manual || (_id = _req(_tick2));
6531      if (dispatch) {
6532        for (_i2 = 0; _i2 < _listeners3.length; _i2++) {
6533          _listeners3[_i2](time, _delta, frame, v);
6534        }
6535      }
6536    }, "_tick");
6537    _self = {
6538      time: 0,
6539      frame: 0,
6540      tick: /* @__PURE__ */ __name(function tick() {
6541        _tick(true);
6542      }, "tick"),
6543      deltaRatio: /* @__PURE__ */ __name(function deltaRatio(fps) {
6544        return _delta / (1e3 / (fps || 60));
6545      }, "deltaRatio"),
6546      wake: /* @__PURE__ */ __name(function wake() {
6547        if (_coreReady) {
6548          if (!_coreInitted && _windowExists()) {
6549            _win = _coreInitted = window;
6550            _doc = _win.document || {};
6551            _globals.gsap = gsap;
6552            (_win.gsapVersions || (_win.gsapVersions = [])).push(gsap.version);
6553            _install(_installScope || _win.GreenSockGlobals || !_win.gsap && _win || {});
6554            _registerPluginQueue.forEach(_createPlugin);
6555          }
6556          _raf = typeof requestAnimationFrame !== "undefined" && requestAnimationFrame;
6557          _id && _self.sleep();
6558          _req = _raf || function(f) {
6559            return setTimeout(f, _nextTime - _self.time * 1e3 + 1 | 0);
6560          };
6561          _tickerActive = 1;
6562          _tick(2);
6563        }
6564      }, "wake"),
6565      sleep: /* @__PURE__ */ __name(function sleep() {
6566        (_raf ? cancelAnimationFrame : clearTimeout)(_id);
6567        _tickerActive = 0;
6568        _req = _emptyFunc;
6569      }, "sleep"),
6570      lagSmoothing: /* @__PURE__ */ __name(function lagSmoothing(threshold, adjustedLag) {
6571        _lagThreshold = threshold || Infinity;
6572        _adjustedLag = Math.min(adjustedLag || 33, _lagThreshold);
6573      }, "lagSmoothing"),
6574      fps: /* @__PURE__ */ __name(function fps(_fps) {
6575        _gap = 1e3 / (_fps || 240);
6576        _nextTime = _self.time * 1e3 + _gap;
6577      }, "fps"),
6578      add: /* @__PURE__ */ __name(function add(callback, once, prioritize) {
6579        var func = once ? function(t, d, f, v) {
6580          callback(t, d, f, v);
6581          _self.remove(func);
6582        } : callback;
6583        _self.remove(callback);
6584        _listeners3[prioritize ? "unshift" : "push"](func);
6585        _wake();
6586        return func;
6587      }, "add"),
6588      remove: /* @__PURE__ */ __name(function remove(callback, i) {
6589        ~(i = _listeners3.indexOf(callback)) && _listeners3.splice(i, 1) && _i2 >= i && _i2--;
6590      }, "remove"),
6591      _listeners: _listeners3
6592    };
6593    return _self;
6594  })();
6595  var _wake = /* @__PURE__ */ __name(function _wake2() {
6596    return !_tickerActive && _ticker.wake();
6597  }, "_wake");
6598  var _easeMap = {};
6599  var _customEaseExp = /^[\d.\-M][\d.\-,\s]/;
6600  var _quotesExp = /["']/g;
6601  var _parseObjectInString = /* @__PURE__ */ __name(function _parseObjectInString2(value) {
6602    var obj = {}, split = value.substr(1, value.length - 3).split(":"), key = split[0], i = 1, l = split.length, index, val, parsedVal;
6603    for (; i < l; i++) {
6604      val = split[i];
6605      index = i !== l - 1 ? val.lastIndexOf(",") : val.length;
6606      parsedVal = val.substr(0, index);
6607      obj[key] = isNaN(parsedVal) ? parsedVal.replace(_quotesExp, "").trim() : +parsedVal;
6608      key = val.substr(index + 1).trim();
6609    }
6610    return obj;
6611  }, "_parseObjectInString");
6612  var _valueInParentheses = /* @__PURE__ */ __name(function _valueInParentheses2(value) {
6613    var open = value.indexOf("(") + 1, close = value.indexOf(")"), nested = value.indexOf("(", open);
6614    return value.substring(open, ~nested && nested < close ? value.indexOf(")", close + 1) : close);
6615  }, "_valueInParentheses");
6616  var _configEaseFromString = /* @__PURE__ */ __name(function _configEaseFromString2(name) {
6617    var split = (name + "").split("("), ease = _easeMap[split[0]];
6618    return ease && split.length > 1 && ease.config ? ease.config.apply(null, ~name.indexOf("{") ? [_parseObjectInString(split[1])] : _valueInParentheses(name).split(",").map(_numericIfPossible)) : _easeMap._CE && _customEaseExp.test(name) ? _easeMap._CE("", name) : ease;
6619  }, "_configEaseFromString");
6620  var _invertEase = /* @__PURE__ */ __name(function _invertEase2(ease) {
6621    return function(p) {
6622      return 1 - ease(1 - p);
6623    };
6624  }, "_invertEase");
6625  var _propagateYoyoEase = /* @__PURE__ */ __name(function _propagateYoyoEase2(timeline2, isYoyo) {
6626    var child = timeline2._first, ease;
6627    while (child) {
6628      if (child instanceof Timeline) {
6629        _propagateYoyoEase2(child, isYoyo);
6630      } else if (child.vars.yoyoEase && (!child._yoyo || !child._repeat) && child._yoyo !== isYoyo) {
6631        if (child.timeline) {
6632          _propagateYoyoEase2(child.timeline, isYoyo);
6633        } else {
6634          ease = child._ease;
6635          child._ease = child._yEase;
6636          child._yEase = ease;
6637          child._yoyo = isYoyo;
6638        }
6639      }
6640      child = child._next;
6641    }
6642  }, "_propagateYoyoEase");
6643  var _parseEase = /* @__PURE__ */ __name(function _parseEase2(ease, defaultEase) {
6644    return !ease ? defaultEase : (_isFunction(ease) ? ease : _easeMap[ease] || _configEaseFromString(ease)) || defaultEase;
6645  }, "_parseEase");
6646  var _insertEase = /* @__PURE__ */ __name(function _insertEase2(names, easeIn, easeOut, easeInOut) {
6647    if (easeOut === void 0) {
6648      easeOut = /* @__PURE__ */ __name(function easeOut2(p) {
6649        return 1 - easeIn(1 - p);
6650      }, "easeOut");
6651    }
6652    if (easeInOut === void 0) {
6653      easeInOut = /* @__PURE__ */ __name(function easeInOut2(p) {
6654        return p < 0.5 ? easeIn(p * 2) / 2 : 1 - easeIn((1 - p) * 2) / 2;
6655      }, "easeInOut");
6656    }
6657    var ease = {
6658      easeIn,
6659      easeOut,
6660      easeInOut
6661    }, lowercaseName;
6662    _forEachName(names, function(name) {
6663      _easeMap[name] = _globals[name] = ease;
6664      _easeMap[lowercaseName = name.toLowerCase()] = easeOut;
6665      for (var p in ease) {
6666        _easeMap[lowercaseName + (p === "easeIn" ? ".in" : p === "easeOut" ? ".out" : ".inOut")] = _easeMap[name + "." + p] = ease[p];
6667      }
6668    });
6669    return ease;
6670  }, "_insertEase");
6671  var _easeInOutFromOut = /* @__PURE__ */ __name(function _easeInOutFromOut2(easeOut) {
6672    return function(p) {
6673      return p < 0.5 ? (1 - easeOut(1 - p * 2)) / 2 : 0.5 + easeOut((p - 0.5) * 2) / 2;
6674    };
6675  }, "_easeInOutFromOut");
6676  var _configElastic = /* @__PURE__ */ __name(function _configElastic2(type, amplitude, period) {
6677    var p1 = amplitude >= 1 ? amplitude : 1, p2 = (period || (type ? 0.3 : 0.45)) / (amplitude < 1 ? amplitude : 1), p3 = p2 / _2PI * (Math.asin(1 / p1) || 0), easeOut = /* @__PURE__ */ __name(function easeOut2(p) {
6678      return p === 1 ? 1 : p1 * Math.pow(2, -10 * p) * _sin((p - p3) * p2) + 1;
6679    }, "easeOut"), ease = type === "out" ? easeOut : type === "in" ? function(p) {
6680      return 1 - easeOut(1 - p);
6681    } : _easeInOutFromOut(easeOut);
6682    p2 = _2PI / p2;
6683    ease.config = function(amplitude2, period2) {
6684      return _configElastic2(type, amplitude2, period2);
6685    };
6686    return ease;
6687  }, "_configElastic");
6688  var _configBack = /* @__PURE__ */ __name(function _configBack2(type, overshoot) {
6689    if (overshoot === void 0) {
6690      overshoot = 1.70158;
6691    }
6692    var easeOut = /* @__PURE__ */ __name(function easeOut2(p) {
6693      return p ? --p * p * ((overshoot + 1) * p + overshoot) + 1 : 0;
6694    }, "easeOut"), ease = type === "out" ? easeOut : type === "in" ? function(p) {
6695      return 1 - easeOut(1 - p);
6696    } : _easeInOutFromOut(easeOut);
6697    ease.config = function(overshoot2) {
6698      return _configBack2(type, overshoot2);
6699    };
6700    return ease;
6701  }, "_configBack");
6702  _forEachName("Linear,Quad,Cubic,Quart,Quint,Strong", function(name, i) {
6703    var power = i < 5 ? i + 1 : i;
6704    _insertEase(name + ",Power" + (power - 1), i ? function(p) {
6705      return Math.pow(p, power);
6706    } : function(p) {
6707      return p;
6708    }, function(p) {
6709      return 1 - Math.pow(1 - p, power);
6710    }, function(p) {
6711      return p < 0.5 ? Math.pow(p * 2, power) / 2 : 1 - Math.pow((1 - p) * 2, power) / 2;
6712    });
6713  });
6714  _easeMap.Linear.easeNone = _easeMap.none = _easeMap.Linear.easeIn;
6715  _insertEase("Elastic", _configElastic("in"), _configElastic("out"), _configElastic());
6716  (function(n, c) {
6717    var n1 = 1 / c, n2 = 2 * n1, n3 = 2.5 * n1, easeOut = /* @__PURE__ */ __name(function easeOut2(p) {
6718      return p < n1 ? n * p * p : p < n2 ? n * Math.pow(p - 1.5 / c, 2) + 0.75 : p < n3 ? n * (p -= 2.25 / c) * p + 0.9375 : n * Math.pow(p - 2.625 / c, 2) + 0.984375;
6719    }, "easeOut");
6720    _insertEase("Bounce", function(p) {
6721      return 1 - easeOut(1 - p);
6722    }, easeOut);
6723  })(7.5625, 2.75);
6724  _insertEase("Expo", function(p) {
6725    return Math.pow(2, 10 * (p - 1)) * p + p * p * p * p * p * p * (1 - p);
6726  });
6727  _insertEase("Circ", function(p) {
6728    return -(_sqrt(1 - p * p) - 1);
6729  });
6730  _insertEase("Sine", function(p) {
6731    return p === 1 ? 1 : -_cos(p * _HALF_PI) + 1;
6732  });
6733  _insertEase("Back", _configBack("in"), _configBack("out"), _configBack());
6734  _easeMap.SteppedEase = _easeMap.steps = _globals.SteppedEase = {
6735    config: /* @__PURE__ */ __name(function config(steps, immediateStart) {
6736      if (steps === void 0) {
6737        steps = 1;
6738      }
6739      var p1 = 1 / steps, p2 = steps + (immediateStart ? 0 : 1), p3 = immediateStart ? 1 : 0, max = 1 - _tinyNum;
6740      return function(p) {
6741        return ((p2 * _clamp(0, max, p) | 0) + p3) * p1;
6742      };
6743    }, "config")
6744  };
6745  _defaults.ease = _easeMap["quad.out"];
6746  _forEachName("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt", function(name) {
6747    return _callbackNames += name + "," + name + "Params,";
6748  });
6749  var GSCache = /* @__PURE__ */ __name(function GSCache2(target, harness) {
6750    this.id = _gsID++;
6751    target._gsap = this;
6752    this.target = target;
6753    this.harness = harness;
6754    this.get = harness ? harness.get : _getProperty;
6755    this.set = harness ? harness.getSetter : _getSetter;
6756  }, "GSCache");
6757  var Animation = /* @__PURE__ */ (function() {
6758    function Animation2(vars) {
6759      this.vars = vars;
6760      this._delay = +vars.delay || 0;
6761      if (this._repeat = vars.repeat === Infinity ? -2 : vars.repeat || 0) {
6762        this._rDelay = vars.repeatDelay || 0;
6763        this._yoyo = !!vars.yoyo || !!vars.yoyoEase;
6764      }
6765      this._ts = 1;
6766      _setDuration(this, +vars.duration, 1, 1);
6767      this.data = vars.data;
6768      if (_context) {
6769        this._ctx = _context;
6770        _context.data.push(this);
6771      }
6772      _tickerActive || _ticker.wake();
6773    }
6774    __name(Animation2, "Animation");
6775    var _proto = Animation2.prototype;
6776    _proto.delay = /* @__PURE__ */ __name(function delay(value) {
6777      if (value || value === 0) {
6778        this.parent && this.parent.smoothChildTiming && this.startTime(this._start + value - this._delay);
6779        this._delay = value;
6780        return this;
6781      }
6782      return this._delay;
6783    }, "delay");
6784    _proto.duration = /* @__PURE__ */ __name(function duration(value) {
6785      return arguments.length ? this.totalDuration(this._repeat > 0 ? value + (value + this._rDelay) * this._repeat : value) : this.totalDuration() && this._dur;
6786    }, "duration");
6787    _proto.totalDuration = /* @__PURE__ */ __name(function totalDuration(value) {
6788      if (!arguments.length) {
6789        return this._tDur;
6790      }
6791      this._dirty = 0;
6792      return _setDuration(this, this._repeat < 0 ? value : (value - this._repeat * this._rDelay) / (this._repeat + 1));
6793    }, "totalDuration");
6794    _proto.totalTime = /* @__PURE__ */ __name(function totalTime(_totalTime, suppressEvents) {
6795      _wake();
6796      if (!arguments.length) {
6797        return this._tTime;
6798      }
6799      var parent = this._dp;
6800      if (parent && parent.smoothChildTiming && this._ts) {
6801        _alignPlayhead(this, _totalTime);
6802        !parent._dp || parent.parent || _postAddChecks(parent, this);
6803        while (parent && parent.parent) {
6804          if (parent.parent._time !== parent._start + (parent._ts >= 0 ? parent._tTime / parent._ts : (parent.totalDuration() - parent._tTime) / -parent._ts)) {
6805            parent.totalTime(parent._tTime, true);
6806          }
6807          parent = parent.parent;
6808        }
6809        if (!this.parent && this._dp.autoRemoveChildren && (this._ts > 0 && _totalTime < this._tDur || this._ts < 0 && _totalTime > 0 || !this._tDur && !_totalTime)) {
6810          _addToTimeline(this._dp, this, this._start - this._delay);
6811        }
6812      }
6813      if (this._tTime !== _totalTime || !this._dur && !suppressEvents || this._initted && Math.abs(this._zTime) === _tinyNum || !this._initted && this._dur && _totalTime || !_totalTime && !this._initted && (this.add || this._ptLookup)) {
6814        this._ts || (this._pTime = _totalTime);
6815        _lazySafeRender(this, _totalTime, suppressEvents);
6816      }
6817      return this;
6818    }, "totalTime");
6819    _proto.time = /* @__PURE__ */ __name(function time(value, suppressEvents) {
6820      return arguments.length ? this.totalTime(Math.min(this.totalDuration(), value + _elapsedCycleDuration(this)) % (this._dur + this._rDelay) || (value ? this._dur : 0), suppressEvents) : this._time;
6821    }, "time");
6822    _proto.totalProgress = /* @__PURE__ */ __name(function totalProgress(value, suppressEvents) {
6823      return arguments.length ? this.totalTime(this.totalDuration() * value, suppressEvents) : this.totalDuration() ? Math.min(1, this._tTime / this._tDur) : this.rawTime() >= 0 && this._initted ? 1 : 0;
6824    }, "totalProgress");
6825    _proto.progress = /* @__PURE__ */ __name(function progress(value, suppressEvents) {
6826      return arguments.length ? this.totalTime(this.duration() * (this._yoyo && !(this.iteration() & 1) ? 1 - value : value) + _elapsedCycleDuration(this), suppressEvents) : this.duration() ? Math.min(1, this._time / this._dur) : this.rawTime() > 0 ? 1 : 0;
6827    }, "progress");
6828    _proto.iteration = /* @__PURE__ */ __name(function iteration(value, suppressEvents) {
6829      var cycleDuration = this.duration() + this._rDelay;
6830      return arguments.length ? this.totalTime(this._time + (value - 1) * cycleDuration, suppressEvents) : this._repeat ? _animationCycle(this._tTime, cycleDuration) + 1 : 1;
6831    }, "iteration");
6832    _proto.timeScale = /* @__PURE__ */ __name(function timeScale(value, suppressEvents) {
6833      if (!arguments.length) {
6834        return this._rts === -_tinyNum ? 0 : this._rts;
6835      }
6836      if (this._rts === value) {
6837        return this;
6838      }
6839      var tTime = this.parent && this._ts ? _parentToChildTotalTime(this.parent._time, this) : this._tTime;
6840      this._rts = +value || 0;
6841      this._ts = this._ps || value === -_tinyNum ? 0 : this._rts;
6842      this.totalTime(_clamp(-Math.abs(this._delay), this.totalDuration(), tTime), suppressEvents !== false);
6843      _setEnd(this);
6844      return _recacheAncestors(this);
6845    }, "timeScale");
6846    _proto.paused = /* @__PURE__ */ __name(function paused(value) {
6847      if (!arguments.length) {
6848        return this._ps;
6849      }
6850      if (this._ps !== value) {
6851        this._ps = value;
6852        if (value) {
6853          this._pTime = this._tTime || Math.max(-this._delay, this.rawTime());
6854          this._ts = this._act = 0;
6855        } else {
6856          _wake();
6857          this._ts = this._rts;
6858          this.totalTime(this.parent && !this.parent.smoothChildTiming ? this.rawTime() : this._tTime || this._pTime, this.progress() === 1 && Math.abs(this._zTime) !== _tinyNum && (this._tTime -= _tinyNum));
6859        }
6860      }
6861      return this;
6862    }, "paused");
6863    _proto.startTime = /* @__PURE__ */ __name(function startTime(value) {
6864      if (arguments.length) {
6865        this._start = _roundPrecise(value);
6866        var parent = this.parent || this._dp;
6867        parent && (parent._sort || !this.parent) && _addToTimeline(parent, this, this._start - this._delay);
6868        return this;
6869      }
6870      return this._start;
6871    }, "startTime");
6872    _proto.endTime = /* @__PURE__ */ __name(function endTime(includeRepeats) {
6873      return this._start + (_isNotFalse(includeRepeats) ? this.totalDuration() : this.duration()) / Math.abs(this._ts || 1);
6874    }, "endTime");
6875    _proto.rawTime = /* @__PURE__ */ __name(function rawTime(wrapRepeats) {
6876      var parent = this.parent || this._dp;
6877      return !parent ? this._tTime : wrapRepeats && (!this._ts || this._repeat && this._time && this.totalProgress() < 1) ? this._tTime % (this._dur + this._rDelay) : !this._ts ? this._tTime : _parentToChildTotalTime(parent.rawTime(wrapRepeats), this);
6878    }, "rawTime");
6879    _proto.revert = /* @__PURE__ */ __name(function revert(config3) {
6880      if (config3 === void 0) {
6881        config3 = _revertConfig;
6882      }
6883      var prevIsReverting = _reverting;
6884      _reverting = config3;
6885      if (_isRevertWorthy(this)) {
6886        this.timeline && this.timeline.revert(config3);
6887        this.totalTime(-0.01, config3.suppressEvents);
6888      }
6889      this.data !== "nested" && config3.kill !== false && this.kill();
6890      _reverting = prevIsReverting;
6891      return this;
6892    }, "revert");
6893    _proto.globalTime = /* @__PURE__ */ __name(function globalTime(rawTime) {
6894      var animation = this, time = arguments.length ? rawTime : animation.rawTime();
6895      while (animation) {
6896        time = animation._start + time / (Math.abs(animation._ts) || 1);
6897        animation = animation._dp;
6898      }
6899      return !this.parent && this._sat ? this._sat.globalTime(rawTime) : time;
6900    }, "globalTime");
6901    _proto.repeat = /* @__PURE__ */ __name(function repeat(value) {
6902      if (arguments.length) {
6903        this._repeat = value === Infinity ? -2 : value;
6904        return _onUpdateTotalDuration(this);
6905      }
6906      return this._repeat === -2 ? Infinity : this._repeat;
6907    }, "repeat");
6908    _proto.repeatDelay = /* @__PURE__ */ __name(function repeatDelay(value) {
6909      if (arguments.length) {
6910        var time = this._time;
6911        this._rDelay = value;
6912        _onUpdateTotalDuration(this);
6913        return time ? this.time(time) : this;
6914      }
6915      return this._rDelay;
6916    }, "repeatDelay");
6917    _proto.yoyo = /* @__PURE__ */ __name(function yoyo(value) {
6918      if (arguments.length) {
6919        this._yoyo = value;
6920        return this;
6921      }
6922      return this._yoyo;
6923    }, "yoyo");
6924    _proto.seek = /* @__PURE__ */ __name(function seek(position, suppressEvents) {
6925      return this.totalTime(_parsePosition(this, position), _isNotFalse(suppressEvents));
6926    }, "seek");
6927    _proto.restart = /* @__PURE__ */ __name(function restart(includeDelay, suppressEvents) {
6928      this.play().totalTime(includeDelay ? -this._delay : 0, _isNotFalse(suppressEvents));
6929      this._dur || (this._zTime = -_tinyNum);
6930      return this;
6931    }, "restart");
6932    _proto.play = /* @__PURE__ */ __name(function play(from, suppressEvents) {
6933      from != null && this.seek(from, suppressEvents);
6934      return this.reversed(false).paused(false);
6935    }, "play");
6936    _proto.reverse = /* @__PURE__ */ __name(function reverse(from, suppressEvents) {
6937      from != null && this.seek(from || this.totalDuration(), suppressEvents);
6938      return this.reversed(true).paused(false);
6939    }, "reverse");
6940    _proto.pause = /* @__PURE__ */ __name(function pause(atTime, suppressEvents) {
6941      atTime != null && this.seek(atTime, suppressEvents);
6942      return this.paused(true);
6943    }, "pause");
6944    _proto.resume = /* @__PURE__ */ __name(function resume() {
6945      return this.paused(false);
6946    }, "resume");
6947    _proto.reversed = /* @__PURE__ */ __name(function reversed(value) {
6948      if (arguments.length) {
6949        !!value !== this.reversed() && this.timeScale(-this._rts || (value ? -_tinyNum : 0));
6950        return this;
6951      }
6952      return this._rts < 0;
6953    }, "reversed");
6954    _proto.invalidate = /* @__PURE__ */ __name(function invalidate() {
6955      this._initted = this._act = 0;
6956      this._zTime = -_tinyNum;
6957      return this;
6958    }, "invalidate");
6959    _proto.isActive = /* @__PURE__ */ __name(function isActive() {
6960      var parent = this.parent || this._dp, start = this._start, rawTime;
6961      return !!(!parent || this._ts && this._initted && parent.isActive() && (rawTime = parent.rawTime(true)) >= start && rawTime < this.endTime(true) - _tinyNum);
6962    }, "isActive");
6963    _proto.eventCallback = /* @__PURE__ */ __name(function eventCallback(type, callback, params) {
6964      var vars = this.vars;
6965      if (arguments.length > 1) {
6966        if (!callback) {
6967          delete vars[type];
6968        } else {
6969          vars[type] = callback;
6970          params && (vars[type + "Params"] = params);
6971          type === "onUpdate" && (this._onUpdate = callback);
6972        }
6973        return this;
6974      }
6975      return vars[type];
6976    }, "eventCallback");
6977    _proto.then = /* @__PURE__ */ __name(function then(onFulfilled) {
6978      var self2 = this, prevProm = self2._prom;
6979      return new Promise(function(resolve) {
6980        var f = _isFunction(onFulfilled) ? onFulfilled : _passThrough, _resolve = /* @__PURE__ */ __name(function _resolve2() {
6981          var _then = self2.then;
6982          self2.then = null;
6983          prevProm && prevProm();
6984          _isFunction(f) && (f = f(self2)) && (f.then || f === self2) && (self2.then = _then);
6985          resolve(f);
6986          self2.then = _then;
6987        }, "_resolve");
6988        if (self2._initted && self2.totalProgress() === 1 && self2._ts >= 0 || !self2._tTime && self2._ts < 0) {
6989          _resolve();
6990        } else {
6991          self2._prom = _resolve;
6992        }
6993      });
6994    }, "then");
6995    _proto.kill = /* @__PURE__ */ __name(function kill() {
6996      _interrupt(this);
6997    }, "kill");
6998    return Animation2;
6999  })();
7000  _setDefaults(Animation.prototype, {
7001    _time: 0,
7002    _start: 0,
7003    _end: 0,
7004    _tTime: 0,
7005    _tDur: 0,
7006    _dirty: 0,
7007    _repeat: 0,
7008    _yoyo: false,
7009    parent: null,
7010    _initted: false,
7011    _rDelay: 0,
7012    _ts: 1,
7013    _dp: 0,
7014    ratio: 0,
7015    _zTime: -_tinyNum,
7016    _prom: 0,
7017    _ps: false,
7018    _rts: 1
7019  });
7020  var Timeline = /* @__PURE__ */ (function(_Animation) {
7021    _inheritsLoose(Timeline2, _Animation);
7022    function Timeline2(vars, position) {
7023      var _this;
7024      if (vars === void 0) {
7025        vars = {};
7026      }
7027      _this = _Animation.call(this, vars) || this;
7028      _this.labels = {};
7029      _this.smoothChildTiming = !!vars.smoothChildTiming;
7030      _this.autoRemoveChildren = !!vars.autoRemoveChildren;
7031      _this._sort = _isNotFalse(vars.sortChildren);
7032      _globalTimeline && _addToTimeline(vars.parent || _globalTimeline, _assertThisInitialized(_this), position);
7033      vars.reversed && _this.reverse();
7034      vars.paused && _this.paused(true);
7035      vars.scrollTrigger && _scrollTrigger(_assertThisInitialized(_this), vars.scrollTrigger);
7036      return _this;
7037    }
7038    __name(Timeline2, "Timeline");
7039    var _proto2 = Timeline2.prototype;
7040    _proto2.to = /* @__PURE__ */ __name(function to(targets, vars, position) {
7041      _createTweenType(0, arguments, this);
7042      return this;
7043    }, "to");
7044    _proto2.from = /* @__PURE__ */ __name(function from(targets, vars, position) {
7045      _createTweenType(1, arguments, this);
7046      return this;
7047    }, "from");
7048    _proto2.fromTo = /* @__PURE__ */ __name(function fromTo(targets, fromVars, toVars, position) {
7049      _createTweenType(2, arguments, this);
7050      return this;
7051    }, "fromTo");
7052    _proto2.set = /* @__PURE__ */ __name(function set2(targets, vars, position) {
7053      vars.duration = 0;
7054      vars.parent = this;
7055      _inheritDefaults(vars).repeatDelay || (vars.repeat = 0);
7056      vars.immediateRender = !!vars.immediateRender;
7057      new Tween(targets, vars, _parsePosition(this, position), 1);
7058      return this;
7059    }, "set");
7060    _proto2.call = /* @__PURE__ */ __name(function call(callback, params, position) {
7061      return _addToTimeline(this, Tween.delayedCall(0, callback, params), position);
7062    }, "call");
7063    _proto2.staggerTo = /* @__PURE__ */ __name(function staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {
7064      vars.duration = duration;
7065      vars.stagger = vars.stagger || stagger;
7066      vars.onComplete = onCompleteAll;
7067      vars.onCompleteParams = onCompleteAllParams;
7068      vars.parent = this;
7069      new Tween(targets, vars, _parsePosition(this, position));
7070      return this;
7071    }, "staggerTo");
7072    _proto2.staggerFrom = /* @__PURE__ */ __name(function staggerFrom(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams) {
7073      vars.runBackwards = 1;
7074      _inheritDefaults(vars).immediateRender = _isNotFalse(vars.immediateRender);
7075      return this.staggerTo(targets, duration, vars, stagger, position, onCompleteAll, onCompleteAllParams);
7076    }, "staggerFrom");
7077    _proto2.staggerFromTo = /* @__PURE__ */ __name(function staggerFromTo(targets, duration, fromVars, toVars, stagger, position, onCompleteAll, onCompleteAllParams) {
7078      toVars.startAt = fromVars;
7079      _inheritDefaults(toVars).immediateRender = _isNotFalse(toVars.immediateRender);
7080      return this.staggerTo(targets, duration, toVars, stagger, position, onCompleteAll, onCompleteAllParams);
7081    }, "staggerFromTo");
7082    _proto2.render = /* @__PURE__ */ __name(function render3(totalTime, suppressEvents, force) {
7083      var prevTime = this._time, tDur = this._dirty ? this.totalDuration() : this._tDur, dur = this._dur, tTime = totalTime <= 0 ? 0 : _roundPrecise(totalTime), crossingStart = this._zTime < 0 !== totalTime < 0 && (this._initted || !dur), time, child, next, iteration, cycleDuration, prevPaused, pauseTween, timeScale, prevStart, prevIteration, yoyo, isYoyo;
7084      this !== _globalTimeline && tTime > tDur && totalTime >= 0 && (tTime = tDur);
7085      if (tTime !== this._tTime || force || crossingStart) {
7086        if (prevTime !== this._time && dur) {
7087          tTime += this._time - prevTime;
7088          totalTime += this._time - prevTime;
7089        }
7090        time = tTime;
7091        prevStart = this._start;
7092        timeScale = this._ts;
7093        prevPaused = !timeScale;
7094        if (crossingStart) {
7095          dur || (prevTime = this._zTime);
7096          (totalTime || !suppressEvents) && (this._zTime = totalTime);
7097        }
7098        if (this._repeat) {
7099          yoyo = this._yoyo;
7100          cycleDuration = dur + this._rDelay;
7101          if (this._repeat < -1 && totalTime < 0) {
7102            return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);
7103          }
7104          time = _roundPrecise(tTime % cycleDuration);
7105          if (tTime === tDur) {
7106            iteration = this._repeat;
7107            time = dur;
7108          } else {
7109            prevIteration = _roundPrecise(tTime / cycleDuration);
7110            iteration = ~~prevIteration;
7111            if (iteration && iteration === prevIteration) {
7112              time = dur;
7113              iteration--;
7114            }
7115            time > dur && (time = dur);
7116          }
7117          prevIteration = _animationCycle(this._tTime, cycleDuration);
7118          !prevTime && this._tTime && prevIteration !== iteration && this._tTime - prevIteration * cycleDuration - this._dur <= 0 && (prevIteration = iteration);
7119          if (yoyo && iteration & 1) {
7120            time = dur - time;
7121            isYoyo = 1;
7122          }
7123          if (iteration !== prevIteration && !this._lock) {
7124            var rewinding = yoyo && prevIteration & 1, doesWrap = rewinding === (yoyo && iteration & 1);
7125            iteration < prevIteration && (rewinding = !rewinding);
7126            prevTime = rewinding ? 0 : tTime % dur ? dur : tTime;
7127            this._lock = 1;
7128            this.render(prevTime || (isYoyo ? 0 : _roundPrecise(iteration * cycleDuration)), suppressEvents, !dur)._lock = 0;
7129            this._tTime = tTime;
7130            !suppressEvents && this.parent && _callback(this, "onRepeat");
7131            if (this.vars.repeatRefresh && !isYoyo) {
7132              this.invalidate()._lock = 1;
7133              prevIteration = iteration;
7134            }
7135            if (prevTime && prevTime !== this._time || prevPaused !== !this._ts || this.vars.onRepeat && !this.parent && !this._act) {
7136              return this;
7137            }
7138            dur = this._dur;
7139            tDur = this._tDur;
7140            if (doesWrap) {
7141              this._lock = 2;
7142              prevTime = rewinding ? dur : -1e-4;
7143              this.render(prevTime, true);
7144              this.vars.repeatRefresh && !isYoyo && this.invalidate();
7145            }
7146            this._lock = 0;
7147            if (!this._ts && !prevPaused) {
7148              return this;
7149            }
7150            _propagateYoyoEase(this, isYoyo);
7151          }
7152        }
7153        if (this._hasPause && !this._forcing && this._lock < 2) {
7154          pauseTween = _findNextPauseTween(this, _roundPrecise(prevTime), _roundPrecise(time));
7155          if (pauseTween) {
7156            tTime -= time - (time = pauseTween._start);
7157          }
7158        }
7159        this._tTime = tTime;
7160        this._time = time;
7161        this._act = !timeScale;
7162        if (!this._initted) {
7163          this._onUpdate = this.vars.onUpdate;
7164          this._initted = 1;
7165          this._zTime = totalTime;
7166          prevTime = 0;
7167        }
7168        if (!prevTime && tTime && dur && !suppressEvents && !prevIteration) {
7169          _callback(this, "onStart");
7170          if (this._tTime !== tTime) {
7171            return this;
7172          }
7173        }
7174        if (time >= prevTime && totalTime >= 0) {
7175          child = this._first;
7176          while (child) {
7177            next = child._next;
7178            if ((child._act || time >= child._start) && child._ts && pauseTween !== child) {
7179              if (child.parent !== this) {
7180                return this.render(totalTime, suppressEvents, force);
7181              }
7182              child.render(child._ts > 0 ? (time - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (time - child._start) * child._ts, suppressEvents, force);
7183              if (time !== this._time || !this._ts && !prevPaused) {
7184                pauseTween = 0;
7185                next && (tTime += this._zTime = -_tinyNum);
7186                break;
7187              }
7188            }
7189            child = next;
7190          }
7191        } else {
7192          child = this._last;
7193          var adjustedTime = totalTime < 0 ? totalTime : time;
7194          while (child) {
7195            next = child._prev;
7196            if ((child._act || adjustedTime <= child._end) && child._ts && pauseTween !== child) {
7197              if (child.parent !== this) {
7198                return this.render(totalTime, suppressEvents, force);
7199              }
7200              child.render(child._ts > 0 ? (adjustedTime - child._start) * child._ts : (child._dirty ? child.totalDuration() : child._tDur) + (adjustedTime - child._start) * child._ts, suppressEvents, force || _reverting && _isRevertWorthy(child));
7201              if (time !== this._time || !this._ts && !prevPaused) {
7202                pauseTween = 0;
7203                next && (tTime += this._zTime = adjustedTime ? -_tinyNum : _tinyNum);
7204                break;
7205              }
7206            }
7207            child = next;
7208          }
7209        }
7210        if (pauseTween && !suppressEvents) {
7211          this.pause();
7212          pauseTween.render(time >= prevTime ? 0 : -_tinyNum)._zTime = time >= prevTime ? 1 : -1;
7213          if (this._ts) {
7214            this._start = prevStart;
7215            _setEnd(this);
7216            return this.render(totalTime, suppressEvents, force);
7217          }
7218        }
7219        this._onUpdate && !suppressEvents && _callback(this, "onUpdate", true);
7220        if (tTime === tDur && this._tTime >= this.totalDuration() || !tTime && prevTime) {
7221          if (prevStart === this._start || Math.abs(timeScale) !== Math.abs(this._ts)) {
7222            if (!this._lock) {
7223              (totalTime || !dur) && (tTime === tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1);
7224              if (!suppressEvents && !(totalTime < 0 && !prevTime) && (tTime || prevTime || !tDur)) {
7225                _callback(this, tTime === tDur && totalTime >= 0 ? "onComplete" : "onReverseComplete", true);
7226                this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();
7227              }
7228            }
7229          }
7230        }
7231      }
7232      return this;
7233    }, "render");
7234    _proto2.add = /* @__PURE__ */ __name(function add(child, position) {
7235      var _this2 = this;
7236      _isNumber(position) || (position = _parsePosition(this, position, child));
7237      if (!(child instanceof Animation)) {
7238        if (_isArray(child)) {
7239          child.forEach(function(obj) {
7240            return _this2.add(obj, position);
7241          });
7242          return this;
7243        }
7244        if (_isString(child)) {
7245          return this.addLabel(child, position);
7246        }
7247        if (_isFunction(child)) {
7248          child = Tween.delayedCall(0, child);
7249        } else {
7250          return this;
7251        }
7252      }
7253      return this !== child ? _addToTimeline(this, child, position) : this;
7254    }, "add");
7255    _proto2.getChildren = /* @__PURE__ */ __name(function getChildren(nested, tweens, timelines, ignoreBeforeTime) {
7256      if (nested === void 0) {
7257        nested = true;
7258      }
7259      if (tweens === void 0) {
7260        tweens = true;
7261      }
7262      if (timelines === void 0) {
7263        timelines = true;
7264      }
7265      if (ignoreBeforeTime === void 0) {
7266        ignoreBeforeTime = -_bigNum;
7267      }
7268      var a = [], child = this._first;
7269      while (child) {
7270        if (child._start >= ignoreBeforeTime) {
7271          if (child instanceof Tween) {
7272            tweens && a.push(child);
7273          } else {
7274            timelines && a.push(child);
7275            nested && a.push.apply(a, child.getChildren(true, tweens, timelines));
7276          }
7277        }
7278        child = child._next;
7279      }
7280      return a;
7281    }, "getChildren");
7282    _proto2.getById = /* @__PURE__ */ __name(function getById2(id) {
7283      var animations = this.getChildren(1, 1, 1), i = animations.length;
7284      while (i--) {
7285        if (animations[i].vars.id === id) {
7286          return animations[i];
7287        }
7288      }
7289    }, "getById");
7290    _proto2.remove = /* @__PURE__ */ __name(function remove(child) {
7291      if (_isString(child)) {
7292        return this.removeLabel(child);
7293      }
7294      if (_isFunction(child)) {
7295        return this.killTweensOf(child);
7296      }
7297      child.parent === this && _removeLinkedListItem(this, child);
7298      if (child === this._recent) {
7299        this._recent = this._last;
7300      }
7301      return _uncache(this);
7302    }, "remove");
7303    _proto2.totalTime = /* @__PURE__ */ __name(function totalTime(_totalTime2, suppressEvents) {
7304      if (!arguments.length) {
7305        return this._tTime;
7306      }
7307      this._forcing = 1;
7308      if (!this._dp && this._ts) {
7309        this._start = _roundPrecise(_ticker.time - (this._ts > 0 ? _totalTime2 / this._ts : (this.totalDuration() - _totalTime2) / -this._ts));
7310      }
7311      _Animation.prototype.totalTime.call(this, _totalTime2, suppressEvents);
7312      this._forcing = 0;
7313      return this;
7314    }, "totalTime");
7315    _proto2.addLabel = /* @__PURE__ */ __name(function addLabel(label, position) {
7316      this.labels[label] = _parsePosition(this, position);
7317      return this;
7318    }, "addLabel");
7319    _proto2.removeLabel = /* @__PURE__ */ __name(function removeLabel(label) {
7320      delete this.labels[label];
7321      return this;
7322    }, "removeLabel");
7323    _proto2.addPause = /* @__PURE__ */ __name(function addPause(position, callback, params) {
7324      var t = Tween.delayedCall(0, callback || _emptyFunc, params);
7325      t.data = "isPause";
7326      this._hasPause = 1;
7327      return _addToTimeline(this, t, _parsePosition(this, position));
7328    }, "addPause");
7329    _proto2.removePause = /* @__PURE__ */ __name(function removePause(position) {
7330      var child = this._first;
7331      position = _parsePosition(this, position);
7332      while (child) {
7333        if (child._start === position && child.data === "isPause") {
7334          _removeFromParent(child);
7335        }
7336        child = child._next;
7337      }
7338    }, "removePause");
7339    _proto2.killTweensOf = /* @__PURE__ */ __name(function killTweensOf(targets, props, onlyActive) {
7340      var tweens = this.getTweensOf(targets, onlyActive), i = tweens.length;
7341      while (i--) {
7342        _overwritingTween !== tweens[i] && tweens[i].kill(targets, props);
7343      }
7344      return this;
7345    }, "killTweensOf");
7346    _proto2.getTweensOf = /* @__PURE__ */ __name(function getTweensOf2(targets, onlyActive) {
7347      var a = [], parsedTargets = toArray(targets), child = this._first, isGlobalTime = _isNumber(onlyActive), children;
7348      while (child) {
7349        if (child instanceof Tween) {
7350          if (_arrayContainsAny(child._targets, parsedTargets) && (isGlobalTime ? (!_overwritingTween || child._initted && child._ts) && child.globalTime(0) <= onlyActive && child.globalTime(child.totalDuration()) > onlyActive : !onlyActive || child.isActive())) {
7351            a.push(child);
7352          }
7353        } else if ((children = child.getTweensOf(parsedTargets, onlyActive)).length) {
7354          a.push.apply(a, children);
7355        }
7356        child = child._next;
7357      }
7358      return a;
7359    }, "getTweensOf");
7360    _proto2.tweenTo = /* @__PURE__ */ __name(function tweenTo(position, vars) {
7361      vars = vars || {};
7362      var tl = this, endTime = _parsePosition(tl, position), _vars = vars, startAt = _vars.startAt, _onStart = _vars.onStart, onStartParams = _vars.onStartParams, immediateRender = _vars.immediateRender, initted, tween = Tween.to(tl, _setDefaults({
7363        ease: vars.ease || "none",
7364        lazy: false,
7365        immediateRender: false,
7366        time: endTime,
7367        overwrite: "auto",
7368        duration: vars.duration || Math.abs((endTime - (startAt && "time" in startAt ? startAt.time : tl._time)) / tl.timeScale()) || _tinyNum,
7369        onStart: /* @__PURE__ */ __name(function onStart() {
7370          tl.pause();
7371          if (!initted) {
7372            var duration = vars.duration || Math.abs((endTime - (startAt && "time" in startAt ? startAt.time : tl._time)) / tl.timeScale());
7373            tween._dur !== duration && _setDuration(tween, duration, 0, 1).render(tween._time, true, true);
7374            initted = 1;
7375          }
7376          _onStart && _onStart.apply(tween, onStartParams || []);
7377        }, "onStart")
7378      }, vars));
7379      return immediateRender ? tween.render(0) : tween;
7380    }, "tweenTo");
7381    _proto2.tweenFromTo = /* @__PURE__ */ __name(function tweenFromTo(fromPosition, toPosition, vars) {
7382      return this.tweenTo(toPosition, _setDefaults({
7383        startAt: {
7384          time: _parsePosition(this, fromPosition)
7385        }
7386      }, vars));
7387    }, "tweenFromTo");
7388    _proto2.recent = /* @__PURE__ */ __name(function recent() {
7389      return this._recent;
7390    }, "recent");
7391    _proto2.nextLabel = /* @__PURE__ */ __name(function nextLabel(afterTime) {
7392      if (afterTime === void 0) {
7393        afterTime = this._time;
7394      }
7395      return _getLabelInDirection(this, _parsePosition(this, afterTime));
7396    }, "nextLabel");
7397    _proto2.previousLabel = /* @__PURE__ */ __name(function previousLabel(beforeTime) {
7398      if (beforeTime === void 0) {
7399        beforeTime = this._time;
7400      }
7401      return _getLabelInDirection(this, _parsePosition(this, beforeTime), 1);
7402    }, "previousLabel");
7403    _proto2.currentLabel = /* @__PURE__ */ __name(function currentLabel(value) {
7404      return arguments.length ? this.seek(value, true) : this.previousLabel(this._time + _tinyNum);
7405    }, "currentLabel");
7406    _proto2.shiftChildren = /* @__PURE__ */ __name(function shiftChildren(amount, adjustLabels, ignoreBeforeTime) {
7407      if (ignoreBeforeTime === void 0) {
7408        ignoreBeforeTime = 0;
7409      }
7410      var child = this._first, labels2 = this.labels, p;
7411      amount = _roundPrecise(amount);
7412      while (child) {
7413        if (child._start >= ignoreBeforeTime) {
7414          child._start += amount;
7415          child._end += amount;
7416        }
7417        child = child._next;
7418      }
7419      if (adjustLabels) {
7420        for (p in labels2) {
7421          if (labels2[p] >= ignoreBeforeTime) {
7422            labels2[p] += amount;
7423          }
7424        }
7425      }
7426      return _uncache(this);
7427    }, "shiftChildren");
7428    _proto2.invalidate = /* @__PURE__ */ __name(function invalidate(soft) {
7429      var child = this._first;
7430      this._lock = 0;
7431      while (child) {
7432        child.invalidate(soft);
7433        child = child._next;
7434      }
7435      return _Animation.prototype.invalidate.call(this, soft);
7436    }, "invalidate");
7437    _proto2.clear = /* @__PURE__ */ __name(function clear(includeLabels) {
7438      if (includeLabels === void 0) {
7439        includeLabels = true;
7440      }
7441      var child = this._first, next;
7442      while (child) {
7443        next = child._next;
7444        this.remove(child);
7445        child = next;
7446      }
7447      this._dp && (this._time = this._tTime = this._pTime = 0);
7448      includeLabels && (this.labels = {});
7449      return _uncache(this);
7450    }, "clear");
7451    _proto2.totalDuration = /* @__PURE__ */ __name(function totalDuration(value) {
7452      var max = 0, self2 = this, child = self2._last, prevStart = _bigNum, prev, start, parent;
7453      if (arguments.length) {
7454        return self2.timeScale((self2._repeat < 0 ? self2.duration() : self2.totalDuration()) / (self2.reversed() ? -value : value));
7455      }
7456      if (self2._dirty) {
7457        parent = self2.parent;
7458        while (child) {
7459          prev = child._prev;
7460          child._dirty && child.totalDuration();
7461          start = child._start;
7462          if (start > prevStart && self2._sort && child._ts && !self2._lock) {
7463            self2._lock = 1;
7464            _addToTimeline(self2, child, start - child._delay, 1)._lock = 0;
7465          } else {
7466            prevStart = start;
7467          }
7468          if (start < 0 && child._ts) {
7469            max -= start;
7470            if (!parent && !self2._dp || parent && parent.smoothChildTiming) {
7471              self2._start += _roundPrecise(start / self2._ts);
7472              self2._time -= start;
7473              self2._tTime -= start;
7474            }
7475            self2.shiftChildren(-start, false, -Infinity);
7476            prevStart = 0;
7477          }
7478          child._end > max && child._ts && (max = child._end);
7479          child = prev;
7480        }
7481        _setDuration(self2, self2 === _globalTimeline && self2._time > max ? self2._time : max, 1, 1);
7482        self2._dirty = 0;
7483      }
7484      return self2._tDur;
7485    }, "totalDuration");
7486    Timeline2.updateRoot = /* @__PURE__ */ __name(function updateRoot(time) {
7487      if (_globalTimeline._ts) {
7488        _lazySafeRender(_globalTimeline, _parentToChildTotalTime(time, _globalTimeline));
7489        _lastRenderedFrame = _ticker.frame;
7490      }
7491      if (_ticker.frame >= _nextGCFrame) {
7492        _nextGCFrame += _config.autoSleep || 120;
7493        var child = _globalTimeline._first;
7494        if (!child || !child._ts) {
7495          if (_config.autoSleep && _ticker._listeners.length < 2) {
7496            while (child && !child._ts) {
7497              child = child._next;
7498            }
7499            child || _ticker.sleep();
7500          }
7501        }
7502      }
7503    }, "updateRoot");
7504    return Timeline2;
7505  })(Animation);
7506  _setDefaults(Timeline.prototype, {
7507    _lock: 0,
7508    _hasPause: 0,
7509    _forcing: 0
7510  });
7511  var _addComplexStringPropTween = /* @__PURE__ */ __name(function _addComplexStringPropTween2(target, prop, start, end, setter, stringFilter, funcParam) {
7512    var pt = new PropTween(this._pt, target, prop, 0, 1, _renderComplexString, null, setter), index = 0, matchIndex = 0, result, startNums, color, endNum, chunk, startNum, hasRandom, a;
7513    pt.b = start;
7514    pt.e = end;
7515    start += "";
7516    end += "";
7517    if (hasRandom = ~end.indexOf("random(")) {
7518      end = _replaceRandom(end);
7519    }
7520    if (stringFilter) {
7521      a = [start, end];
7522      stringFilter(a, target, prop);
7523      start = a[0];
7524      end = a[1];
7525    }
7526    startNums = start.match(_complexStringNumExp) || [];
7527    while (result = _complexStringNumExp.exec(end)) {
7528      endNum = result[0];
7529      chunk = end.substring(index, result.index);
7530      if (color) {
7531        color = (color + 1) % 5;
7532      } else if (chunk.substr(-5) === "rgba(") {
7533        color = 1;
7534      }
7535      if (endNum !== startNums[matchIndex++]) {
7536        startNum = parseFloat(startNums[matchIndex - 1]) || 0;
7537        pt._pt = {
7538          _next: pt._pt,
7539          p: chunk || matchIndex === 1 ? chunk : ",",
7540          //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.
7541          s: startNum,
7542          c: endNum.charAt(1) === "=" ? _parseRelative(startNum, endNum) - startNum : parseFloat(endNum) - startNum,
7543          m: color && color < 4 ? Math.round : 0
7544        };
7545        index = _complexStringNumExp.lastIndex;
7546      }
7547    }
7548    pt.c = index < end.length ? end.substring(index, end.length) : "";
7549    pt.fp = funcParam;
7550    if (_relExp.test(end) || hasRandom) {
7551      pt.e = 0;
7552    }
7553    this._pt = pt;
7554    return pt;
7555  }, "_addComplexStringPropTween");
7556  var _addPropTween = /* @__PURE__ */ __name(function _addPropTween2(target, prop, start, end, index, targets, modifier, stringFilter, funcParam, optional) {
7557    _isFunction(end) && (end = end(index || 0, target, targets));
7558    var currentValue = target[prop], parsedStart = start !== "get" ? start : !_isFunction(currentValue) ? currentValue : funcParam ? target[prop.indexOf("set") || !_isFunction(target["get" + prop.substr(3)]) ? prop : "get" + prop.substr(3)](funcParam) : target[prop](), setter = !_isFunction(currentValue) ? _setterPlain : funcParam ? _setterFuncWithParam : _setterFunc, pt;
7559    if (_isString(end)) {
7560      if (~end.indexOf("random(")) {
7561        end = _replaceRandom(end);
7562      }
7563      if (end.charAt(1) === "=") {
7564        pt = _parseRelative(parsedStart, end) + (getUnit(parsedStart) || 0);
7565        if (pt || pt === 0) {
7566          end = pt;
7567        }
7568      }
7569    }
7570    if (!optional || parsedStart !== end || _forceAllPropTweens) {
7571      if (!isNaN(parsedStart * end) && end !== "") {
7572        pt = new PropTween(this._pt, target, prop, +parsedStart || 0, end - (parsedStart || 0), typeof currentValue === "boolean" ? _renderBoolean : _renderPlain, 0, setter);
7573        funcParam && (pt.fp = funcParam);
7574        modifier && pt.modifier(modifier, this, target);
7575        return this._pt = pt;
7576      }
7577      !currentValue && !(prop in target) && _missingPlugin(prop, end);
7578      return _addComplexStringPropTween.call(this, target, prop, parsedStart, end, setter, stringFilter || _config.stringFilter, funcParam);
7579    }
7580  }, "_addPropTween");
7581  var _processVars = /* @__PURE__ */ __name(function _processVars2(vars, index, target, targets, tween) {
7582    _isFunction(vars) && (vars = _parseFuncOrString(vars, tween, index, target, targets));
7583    if (!_isObject(vars) || vars.style && vars.nodeType || _isArray(vars) || _isTypedArray(vars)) {
7584      return _isString(vars) ? _parseFuncOrString(vars, tween, index, target, targets) : vars;
7585    }
7586    var copy = {}, p;
7587    for (p in vars) {
7588      copy[p] = _parseFuncOrString(vars[p], tween, index, target, targets);
7589    }
7590    return copy;
7591  }, "_processVars");
7592  var _checkPlugin = /* @__PURE__ */ __name(function _checkPlugin2(property, vars, tween, index, target, targets) {
7593    var plugin, pt, ptLookup, i;
7594    if (_plugins[property] && (plugin = new _plugins[property]()).init(target, plugin.rawVars ? vars[property] : _processVars(vars[property], index, target, targets, tween), tween, index, targets) !== false) {
7595      tween._pt = pt = new PropTween(tween._pt, target, property, 0, 1, plugin.render, plugin, 0, plugin.priority);
7596      if (tween !== _quickTween) {
7597        ptLookup = tween._ptLookup[tween._targets.indexOf(target)];
7598        i = plugin._props.length;
7599        while (i--) {
7600          ptLookup[plugin._props[i]] = pt;
7601        }
7602      }
7603    }
7604    return plugin;
7605  }, "_checkPlugin");
7606  var _overwritingTween;
7607  var _forceAllPropTweens;
7608  var _initTween = /* @__PURE__ */ __name(function _initTween2(tween, time, tTime) {
7609    var vars = tween.vars, ease = vars.ease, startAt = vars.startAt, immediateRender = vars.immediateRender, lazy = vars.lazy, onUpdate = vars.onUpdate, runBackwards = vars.runBackwards, yoyoEase = vars.yoyoEase, keyframes = vars.keyframes, autoRevert = vars.autoRevert, dur = tween._dur, prevStartAt = tween._startAt, targets = tween._targets, parent = tween.parent, fullTargets = parent && parent.data === "nested" ? parent.vars.targets : targets, autoOverwrite = tween._overwrite === "auto" && !_suppressOverwrites, tl = tween.timeline, cleanVars, i, p, pt, target, hasPriority, gsData, harness, plugin, ptLookup, index, harnessVars, overwritten;
7610    tl && (!keyframes || !ease) && (ease = "none");
7611    tween._ease = _parseEase(ease, _defaults.ease);
7612    tween._yEase = yoyoEase ? _invertEase(_parseEase(yoyoEase === true ? ease : yoyoEase, _defaults.ease)) : 0;
7613    if (yoyoEase && tween._yoyo && !tween._repeat) {
7614      yoyoEase = tween._yEase;
7615      tween._yEase = tween._ease;
7616      tween._ease = yoyoEase;
7617    }
7618    tween._from = !tl && !!vars.runBackwards;
7619    if (!tl || keyframes && !vars.stagger) {
7620      harness = targets[0] ? _getCache(targets[0]).harness : 0;
7621      harnessVars = harness && vars[harness.prop];
7622      cleanVars = _copyExcluding(vars, _reservedProps);
7623      if (prevStartAt) {
7624        prevStartAt._zTime < 0 && prevStartAt.progress(1);
7625        time < 0 && runBackwards && immediateRender && !autoRevert ? prevStartAt.render(-1, true) : prevStartAt.revert(runBackwards && dur ? _revertConfigNoKill : _startAtRevertConfig);
7626        prevStartAt._lazy = 0;
7627      }
7628      if (startAt) {
7629        _removeFromParent(tween._startAt = Tween.set(targets, _setDefaults({
7630          data: "isStart",
7631          overwrite: false,
7632          parent,
7633          immediateRender: true,
7634          lazy: !prevStartAt && _isNotFalse(lazy),
7635          startAt: null,
7636          delay: 0,
7637          onUpdate: onUpdate && function() {
7638            return _callback(tween, "onUpdate");
7639          },
7640          stagger: 0
7641        }, startAt)));
7642        tween._startAt._dp = 0;
7643        tween._startAt._sat = tween;
7644        time < 0 && (_reverting || !immediateRender && !autoRevert) && tween._startAt.revert(_revertConfigNoKill);
7645        if (immediateRender) {
7646          if (dur && time <= 0 && tTime <= 0) {
7647            time && (tween._zTime = time);
7648            return;
7649          }
7650        }
7651      } else if (runBackwards && dur) {
7652        if (!prevStartAt) {
7653          time && (immediateRender = false);
7654          p = _setDefaults({
7655            overwrite: false,
7656            data: "isFromStart",
7657            //we tag the tween with as "isFromStart" so that if [inside a plugin] we need to only do something at the very END of a tween, we have a way of identifying this tween as merely the one that's setting the beginning values for a "from()" tween. For example, clearProps in CSSPlugin should only get applied at the very END of a tween and without this tag, from(...{height:100, clearProps:"height", delay:1}) would wipe the height at the beginning of the tween and after 1 second, it'd kick back in.
7658            lazy: immediateRender && !prevStartAt && _isNotFalse(lazy),
7659            immediateRender,
7660            //zero-duration tweens render immediately by default, but if we're not specifically instructed to render this tween immediately, we should skip this and merely _init() to record the starting values (rendering them immediately would push them to completion which is wasteful in that case - we'd have to render(-1) immediately after)
7661            stagger: 0,
7662            parent
7663            //ensures that nested tweens that had a stagger are handled properly, like gsap.from(".class", {y: gsap.utils.wrap([-100,100]), stagger: 0.5})
7664          }, cleanVars);
7665          harnessVars && (p[harness.prop] = harnessVars);
7666          _removeFromParent(tween._startAt = Tween.set(targets, p));
7667          tween._startAt._dp = 0;
7668          tween._startAt._sat = tween;
7669          time < 0 && (_reverting ? tween._startAt.revert(_revertConfigNoKill) : tween._startAt.render(-1, true));
7670          tween._zTime = time;
7671          if (!immediateRender) {
7672            _initTween2(tween._startAt, _tinyNum, _tinyNum);
7673          } else if (!time) {
7674            return;
7675          }
7676        }
7677      }
7678      tween._pt = tween._ptCache = 0;
7679      lazy = dur && _isNotFalse(lazy) || lazy && !dur;
7680      for (i = 0; i < targets.length; i++) {
7681        target = targets[i];
7682        gsData = target._gsap || _harness(targets)[i]._gsap;
7683        tween._ptLookup[i] = ptLookup = {};
7684        _lazyLookup[gsData.id] && _lazyTweens.length && _lazyRender();
7685        index = fullTargets === targets ? i : fullTargets.indexOf(target);
7686        if (harness && (plugin = new harness()).init(target, harnessVars || cleanVars, tween, index, fullTargets) !== false) {
7687          tween._pt = pt = new PropTween(tween._pt, target, plugin.name, 0, 1, plugin.render, plugin, 0, plugin.priority);
7688          plugin._props.forEach(function(name) {
7689            ptLookup[name] = pt;
7690          });
7691          plugin.priority && (hasPriority = 1);
7692        }
7693        if (!harness || harnessVars) {
7694          for (p in cleanVars) {
7695            if (_plugins[p] && (plugin = _checkPlugin(p, cleanVars, tween, index, target, fullTargets))) {
7696              plugin.priority && (hasPriority = 1);
7697            } else {
7698              ptLookup[p] = pt = _addPropTween.call(tween, target, p, "get", cleanVars[p], index, fullTargets, 0, vars.stringFilter);
7699            }
7700          }
7701        }
7702        tween._op && tween._op[i] && tween.kill(target, tween._op[i]);
7703        if (autoOverwrite && tween._pt) {
7704          _overwritingTween = tween;
7705          _globalTimeline.killTweensOf(target, ptLookup, tween.globalTime(time));
7706          overwritten = !tween.parent;
7707          _overwritingTween = 0;
7708        }
7709        tween._pt && lazy && (_lazyLookup[gsData.id] = 1);
7710      }
7711      hasPriority && _sortPropTweensByPriority(tween);
7712      tween._onInit && tween._onInit(tween);
7713    }
7714    tween._onUpdate = onUpdate;
7715    tween._initted = (!tween._op || tween._pt) && !overwritten;
7716    keyframes && time <= 0 && tl.render(_bigNum, true, true);
7717  }, "_initTween");
7718  var _updatePropTweens = /* @__PURE__ */ __name(function _updatePropTweens2(tween, property, value, start, startIsRelative, ratio, time, skipRecursion) {
7719    var ptCache = (tween._pt && tween._ptCache || (tween._ptCache = {}))[property], pt, rootPT, lookup, i;
7720    if (!ptCache) {
7721      ptCache = tween._ptCache[property] = [];
7722      lookup = tween._ptLookup;
7723      i = tween._targets.length;
7724      while (i--) {
7725        pt = lookup[i][property];
7726        if (pt && pt.d && pt.d._pt) {
7727          pt = pt.d._pt;
7728          while (pt && pt.p !== property && pt.fp !== property) {
7729            pt = pt._next;
7730          }
7731        }
7732        if (!pt) {
7733          _forceAllPropTweens = 1;
7734          tween.vars[property] = "+=0";
7735          _initTween(tween, time);
7736          _forceAllPropTweens = 0;
7737          return skipRecursion ? _warn(property + " not eligible for reset") : 1;
7738        }
7739        ptCache.push(pt);
7740      }
7741    }
7742    i = ptCache.length;
7743    while (i--) {
7744      rootPT = ptCache[i];
7745      pt = rootPT._pt || rootPT;
7746      pt.s = (start || start === 0) && !startIsRelative ? start : pt.s + (start || 0) + ratio * pt.c;
7747      pt.c = value - pt.s;
7748      rootPT.e && (rootPT.e = _round(value) + getUnit(rootPT.e));
7749      rootPT.b && (rootPT.b = pt.s + getUnit(rootPT.b));
7750    }
7751  }, "_updatePropTweens");
7752  var _addAliasesToVars = /* @__PURE__ */ __name(function _addAliasesToVars2(targets, vars) {
7753    var harness = targets[0] ? _getCache(targets[0]).harness : 0, propertyAliases = harness && harness.aliases, copy, p, i, aliases;
7754    if (!propertyAliases) {
7755      return vars;
7756    }
7757    copy = _merge({}, vars);
7758    for (p in propertyAliases) {
7759      if (p in copy) {
7760        aliases = propertyAliases[p].split(",");
7761        i = aliases.length;
7762        while (i--) {
7763          copy[aliases[i]] = copy[p];
7764        }
7765      }
7766    }
7767    return copy;
7768  }, "_addAliasesToVars");
7769  var _parseKeyframe = /* @__PURE__ */ __name(function _parseKeyframe2(prop, obj, allProps, easeEach) {
7770    var ease = obj.ease || easeEach || "power1.inOut", p, a;
7771    if (_isArray(obj)) {
7772      a = allProps[prop] || (allProps[prop] = []);
7773      obj.forEach(function(value, i) {
7774        return a.push({
7775          t: i / (obj.length - 1) * 100,
7776          v: value,
7777          e: ease
7778        });
7779      });
7780    } else {
7781      for (p in obj) {
7782        a = allProps[p] || (allProps[p] = []);
7783        p === "ease" || a.push({
7784          t: parseFloat(prop),
7785          v: obj[p],
7786          e: ease
7787        });
7788      }
7789    }
7790  }, "_parseKeyframe");
7791  var _parseFuncOrString = /* @__PURE__ */ __name(function _parseFuncOrString2(value, tween, i, target, targets) {
7792    return _isFunction(value) ? value.call(tween, i, target, targets) : _isString(value) && ~value.indexOf("random(") ? _replaceRandom(value) : value;
7793  }, "_parseFuncOrString");
7794  var _staggerTweenProps = _callbackNames + "repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert";
7795  var _staggerPropsToSkip = {};
7796  _forEachName(_staggerTweenProps + ",id,stagger,delay,duration,paused,scrollTrigger", function(name) {
7797    return _staggerPropsToSkip[name] = 1;
7798  });
7799  var Tween = /* @__PURE__ */ (function(_Animation2) {
7800    _inheritsLoose(Tween2, _Animation2);
7801    function Tween2(targets, vars, position, skipInherit) {
7802      var _this3;
7803      if (typeof vars === "number") {
7804        position.duration = vars;
7805        vars = position;
7806        position = null;
7807      }
7808      _this3 = _Animation2.call(this, skipInherit ? vars : _inheritDefaults(vars)) || this;
7809      var _this3$vars = _this3.vars, duration = _this3$vars.duration, delay = _this3$vars.delay, immediateRender = _this3$vars.immediateRender, stagger = _this3$vars.stagger, overwrite = _this3$vars.overwrite, keyframes = _this3$vars.keyframes, defaults2 = _this3$vars.defaults, scrollTrigger = _this3$vars.scrollTrigger, yoyoEase = _this3$vars.yoyoEase, parent = vars.parent || _globalTimeline, parsedTargets = (_isArray(targets) || _isTypedArray(targets) ? _isNumber(targets[0]) : "length" in vars) ? [targets] : toArray(targets), tl, i, copy, l, p, curTarget, staggerFunc, staggerVarsToMerge;
7810      _this3._targets = parsedTargets.length ? _harness(parsedTargets) : _warn("GSAP target " + targets + " not found. https://gsap.com", !_config.nullTargetWarn) || [];
7811      _this3._ptLookup = [];
7812      _this3._overwrite = overwrite;
7813      if (keyframes || stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {
7814        vars = _this3.vars;
7815        tl = _this3.timeline = new Timeline({
7816          data: "nested",
7817          defaults: defaults2 || {},
7818          targets: parent && parent.data === "nested" ? parent.vars.targets : parsedTargets
7819        });
7820        tl.kill();
7821        tl.parent = tl._dp = _assertThisInitialized(_this3);
7822        tl._start = 0;
7823        if (stagger || _isFuncOrString(duration) || _isFuncOrString(delay)) {
7824          l = parsedTargets.length;
7825          staggerFunc = stagger && distribute(stagger);
7826          if (_isObject(stagger)) {
7827            for (p in stagger) {
7828              if (~_staggerTweenProps.indexOf(p)) {
7829                staggerVarsToMerge || (staggerVarsToMerge = {});
7830                staggerVarsToMerge[p] = stagger[p];
7831              }
7832            }
7833          }
7834          for (i = 0; i < l; i++) {
7835            copy = _copyExcluding(vars, _staggerPropsToSkip);
7836            copy.stagger = 0;
7837            yoyoEase && (copy.yoyoEase = yoyoEase);
7838            staggerVarsToMerge && _merge(copy, staggerVarsToMerge);
7839            curTarget = parsedTargets[i];
7840            copy.duration = +_parseFuncOrString(duration, _assertThisInitialized(_this3), i, curTarget, parsedTargets);
7841            copy.delay = (+_parseFuncOrString(delay, _assertThisInitialized(_this3), i, curTarget, parsedTargets) || 0) - _this3._delay;
7842            if (!stagger && l === 1 && copy.delay) {
7843              _this3._delay = delay = copy.delay;
7844              _this3._start += delay;
7845              copy.delay = 0;
7846            }
7847            tl.to(curTarget, copy, staggerFunc ? staggerFunc(i, curTarget, parsedTargets) : 0);
7848            tl._ease = _easeMap.none;
7849          }
7850          tl.duration() ? duration = delay = 0 : _this3.timeline = 0;
7851        } else if (keyframes) {
7852          _inheritDefaults(_setDefaults(tl.vars.defaults, {
7853            ease: "none"
7854          }));
7855          tl._ease = _parseEase(keyframes.ease || vars.ease || "none");
7856          var time = 0, a, kf, v;
7857          if (_isArray(keyframes)) {
7858            keyframes.forEach(function(frame) {
7859              return tl.to(parsedTargets, frame, ">");
7860            });
7861            tl.duration();
7862          } else {
7863            copy = {};
7864            for (p in keyframes) {
7865              p === "ease" || p === "easeEach" || _parseKeyframe(p, keyframes[p], copy, keyframes.easeEach);
7866            }
7867            for (p in copy) {
7868              a = copy[p].sort(function(a2, b) {
7869                return a2.t - b.t;
7870              });
7871              time = 0;
7872              for (i = 0; i < a.length; i++) {
7873                kf = a[i];
7874                v = {
7875                  ease: kf.e,
7876                  duration: (kf.t - (i ? a[i - 1].t : 0)) / 100 * duration
7877                };
7878                v[p] = kf.v;
7879                tl.to(parsedTargets, v, time);
7880                time += v.duration;
7881              }
7882            }
7883            tl.duration() < duration && tl.to({}, {
7884              duration: duration - tl.duration()
7885            });
7886          }
7887        }
7888        duration || _this3.duration(duration = tl.duration());
7889      } else {
7890        _this3.timeline = 0;
7891      }
7892      if (overwrite === true && !_suppressOverwrites) {
7893        _overwritingTween = _assertThisInitialized(_this3);
7894        _globalTimeline.killTweensOf(parsedTargets);
7895        _overwritingTween = 0;
7896      }
7897      _addToTimeline(parent, _assertThisInitialized(_this3), position);
7898      vars.reversed && _this3.reverse();
7899      vars.paused && _this3.paused(true);
7900      if (immediateRender || !duration && !keyframes && _this3._start === _roundPrecise(parent._time) && _isNotFalse(immediateRender) && _hasNoPausedAncestors(_assertThisInitialized(_this3)) && parent.data !== "nested") {
7901        _this3._tTime = -_tinyNum;
7902        _this3.render(Math.max(0, -delay) || 0);
7903      }
7904      scrollTrigger && _scrollTrigger(_assertThisInitialized(_this3), scrollTrigger);
7905      return _this3;
7906    }
7907    __name(Tween2, "Tween");
7908    var _proto3 = Tween2.prototype;
7909    _proto3.render = /* @__PURE__ */ __name(function render3(totalTime, suppressEvents, force) {
7910      var prevTime = this._time, tDur = this._tDur, dur = this._dur, isNegative = totalTime < 0, tTime = totalTime > tDur - _tinyNum && !isNegative ? tDur : totalTime < _tinyNum ? 0 : totalTime, time, pt, iteration, cycleDuration, prevIteration, isYoyo, ratio, timeline2, yoyoEase;
7911      if (!dur) {
7912        _renderZeroDurationTween(this, totalTime, suppressEvents, force);
7913      } else if (tTime !== this._tTime || !totalTime || force || !this._initted && this._tTime || this._startAt && this._zTime < 0 !== isNegative || this._lazy) {
7914        time = tTime;
7915        timeline2 = this.timeline;
7916        if (this._repeat) {
7917          cycleDuration = dur + this._rDelay;
7918          if (this._repeat < -1 && isNegative) {
7919            return this.totalTime(cycleDuration * 100 + totalTime, suppressEvents, force);
7920          }
7921          time = _roundPrecise(tTime % cycleDuration);
7922          if (tTime === tDur) {
7923            iteration = this._repeat;
7924            time = dur;
7925          } else {
7926            prevIteration = _roundPrecise(tTime / cycleDuration);
7927            iteration = ~~prevIteration;
7928            if (iteration && iteration === prevIteration) {
7929              time = dur;
7930              iteration--;
7931            } else if (time > dur) {
7932              time = dur;
7933            }
7934          }
7935          isYoyo = this._yoyo && iteration & 1;
7936          if (isYoyo) {
7937            yoyoEase = this._yEase;
7938            time = dur - time;
7939          }
7940          prevIteration = _animationCycle(this._tTime, cycleDuration);
7941          if (time === prevTime && !force && this._initted && iteration === prevIteration) {
7942            this._tTime = tTime;
7943            return this;
7944          }
7945          if (iteration !== prevIteration) {
7946            timeline2 && this._yEase && _propagateYoyoEase(timeline2, isYoyo);
7947            if (this.vars.repeatRefresh && !isYoyo && !this._lock && time !== cycleDuration && this._initted) {
7948              this._lock = force = 1;
7949              this.render(_roundPrecise(cycleDuration * iteration), true).invalidate()._lock = 0;
7950            }
7951          }
7952        }
7953        if (!this._initted) {
7954          if (_attemptInitTween(this, isNegative ? totalTime : time, force, suppressEvents, tTime)) {
7955            this._tTime = 0;
7956            return this;
7957          }
7958          if (prevTime !== this._time && !(force && this.vars.repeatRefresh && iteration !== prevIteration)) {
7959            return this;
7960          }
7961          if (dur !== this._dur) {
7962            return this.render(totalTime, suppressEvents, force);
7963          }
7964        }
7965        this._tTime = tTime;
7966        this._time = time;
7967        if (!this._act && this._ts) {
7968          this._act = 1;
7969          this._lazy = 0;
7970        }
7971        this.ratio = ratio = (yoyoEase || this._ease)(time / dur);
7972        if (this._from) {
7973          this.ratio = ratio = 1 - ratio;
7974        }
7975        if (!prevTime && tTime && !suppressEvents && !prevIteration) {
7976          _callback(this, "onStart");
7977          if (this._tTime !== tTime) {
7978            return this;
7979          }
7980        }
7981        pt = this._pt;
7982        while (pt) {
7983          pt.r(ratio, pt.d);
7984          pt = pt._next;
7985        }
7986        timeline2 && timeline2.render(totalTime < 0 ? totalTime : timeline2._dur * timeline2._ease(time / this._dur), suppressEvents, force) || this._startAt && (this._zTime = totalTime);
7987        if (this._onUpdate && !suppressEvents) {
7988          isNegative && _rewindStartAt(this, totalTime, suppressEvents, force);
7989          _callback(this, "onUpdate");
7990        }
7991        this._repeat && iteration !== prevIteration && this.vars.onRepeat && !suppressEvents && this.parent && _callback(this, "onRepeat");
7992        if ((tTime === this._tDur || !tTime) && this._tTime === tTime) {
7993          isNegative && !this._onUpdate && _rewindStartAt(this, totalTime, true, true);
7994          (totalTime || !dur) && (tTime === this._tDur && this._ts > 0 || !tTime && this._ts < 0) && _removeFromParent(this, 1);
7995          if (!suppressEvents && !(isNegative && !prevTime) && (tTime || prevTime || isYoyo)) {
7996            _callback(this, tTime === tDur ? "onComplete" : "onReverseComplete", true);
7997            this._prom && !(tTime < tDur && this.timeScale() > 0) && this._prom();
7998          }
7999        }
8000      }
8001      return this;
8002    }, "render");
8003    _proto3.targets = /* @__PURE__ */ __name(function targets() {
8004      return this._targets;
8005    }, "targets");
8006    _proto3.invalidate = /* @__PURE__ */ __name(function invalidate(soft) {
8007      (!soft || !this.vars.runBackwards) && (this._startAt = 0);
8008      this._pt = this._op = this._onUpdate = this._lazy = this.ratio = 0;
8009      this._ptLookup = [];
8010      this.timeline && this.timeline.invalidate(soft);
8011      return _Animation2.prototype.invalidate.call(this, soft);
8012    }, "invalidate");
8013    _proto3.resetTo = /* @__PURE__ */ __name(function resetTo(property, value, start, startIsRelative, skipRecursion) {
8014      _tickerActive || _ticker.wake();
8015      this._ts || this.play();
8016      var time = Math.min(this._dur, (this._dp._time - this._start) * this._ts), ratio;
8017      this._initted || _initTween(this, time);
8018      ratio = this._ease(time / this._dur);
8019      if (_updatePropTweens(this, property, value, start, startIsRelative, ratio, time, skipRecursion)) {
8020        return this.resetTo(property, value, start, startIsRelative, 1);
8021      }
8022      _alignPlayhead(this, 0);
8023      this.parent || _addLinkedListItem(this._dp, this, "_first", "_last", this._dp._sort ? "_start" : 0);
8024      return this.render(0);
8025    }, "resetTo");
8026    _proto3.kill = /* @__PURE__ */ __name(function kill(targets, vars) {
8027      if (vars === void 0) {
8028        vars = "all";
8029      }
8030      if (!targets && (!vars || vars === "all")) {
8031        this._lazy = this._pt = 0;
8032        this.parent ? _interrupt(this) : this.scrollTrigger && this.scrollTrigger.kill(!!_reverting);
8033        return this;
8034      }
8035      if (this.timeline) {
8036        var tDur = this.timeline.totalDuration();
8037        this.timeline.killTweensOf(targets, vars, _overwritingTween && _overwritingTween.vars.overwrite !== true)._first || _interrupt(this);
8038        this.parent && tDur !== this.timeline.totalDuration() && _setDuration(this, this._dur * this.timeline._tDur / tDur, 0, 1);
8039        return this;
8040      }
8041      var parsedTargets = this._targets, killingTargets = targets ? toArray(targets) : parsedTargets, propTweenLookup = this._ptLookup, firstPT = this._pt, overwrittenProps, curLookup, curOverwriteProps, props, p, pt, i;
8042      if ((!vars || vars === "all") && _arraysMatch(parsedTargets, killingTargets)) {
8043        vars === "all" && (this._pt = 0);
8044        return _interrupt(this);
8045      }
8046      overwrittenProps = this._op = this._op || [];
8047      if (vars !== "all") {
8048        if (_isString(vars)) {
8049          p = {};
8050          _forEachName(vars, function(name) {
8051            return p[name] = 1;
8052          });
8053          vars = p;
8054        }
8055        vars = _addAliasesToVars(parsedTargets, vars);
8056      }
8057      i = parsedTargets.length;
8058      while (i--) {
8059        if (~killingTargets.indexOf(parsedTargets[i])) {
8060          curLookup = propTweenLookup[i];
8061          if (vars === "all") {
8062            overwrittenProps[i] = vars;
8063            props = curLookup;
8064            curOverwriteProps = {};
8065          } else {
8066            curOverwriteProps = overwrittenProps[i] = overwrittenProps[i] || {};
8067            props = vars;
8068          }
8069          for (p in props) {
8070            pt = curLookup && curLookup[p];
8071            if (pt) {
8072              if (!("kill" in pt.d) || pt.d.kill(p) === true) {
8073                _removeLinkedListItem(this, pt, "_pt");
8074              }
8075              delete curLookup[p];
8076            }
8077            if (curOverwriteProps !== "all") {
8078              curOverwriteProps[p] = 1;
8079            }
8080          }
8081        }
8082      }
8083      this._initted && !this._pt && firstPT && _interrupt(this);
8084      return this;
8085    }, "kill");
8086    Tween2.to = /* @__PURE__ */ __name(function to(targets, vars) {
8087      return new Tween2(targets, vars, arguments[2]);
8088    }, "to");
8089    Tween2.from = /* @__PURE__ */ __name(function from(targets, vars) {
8090      return _createTweenType(1, arguments);
8091    }, "from");
8092    Tween2.delayedCall = /* @__PURE__ */ __name(function delayedCall(delay, callback, params, scope) {
8093      return new Tween2(callback, 0, {
8094        immediateRender: false,
8095        lazy: false,
8096        overwrite: false,
8097        delay,
8098        onComplete: callback,
8099        onReverseComplete: callback,
8100        onCompleteParams: params,
8101        onReverseCompleteParams: params,
8102        callbackScope: scope
8103      });
8104    }, "delayedCall");
8105    Tween2.fromTo = /* @__PURE__ */ __name(function fromTo(targets, fromVars, toVars) {
8106      return _createTweenType(2, arguments);
8107    }, "fromTo");
8108    Tween2.set = /* @__PURE__ */ __name(function set2(targets, vars) {
8109      vars.duration = 0;
8110      vars.repeatDelay || (vars.repeat = 0);
8111      return new Tween2(targets, vars);
8112    }, "set");
8113    Tween2.killTweensOf = /* @__PURE__ */ __name(function killTweensOf(targets, props, onlyActive) {
8114      return _globalTimeline.killTweensOf(targets, props, onlyActive);
8115    }, "killTweensOf");
8116    return Tween2;
8117  })(Animation);
8118  _setDefaults(Tween.prototype, {
8119    _targets: [],
8120    _lazy: 0,
8121    _startAt: 0,
8122    _op: 0,
8123    _onInit: 0
8124  });
8125  _forEachName("staggerTo,staggerFrom,staggerFromTo", function(name) {
8126    Tween[name] = function() {
8127      var tl = new Timeline(), params = _slice.call(arguments, 0);
8128      params.splice(name === "staggerFromTo" ? 5 : 4, 0, 0);
8129      return tl[name].apply(tl, params);
8130    };
8131  });
8132  var _setterPlain = /* @__PURE__ */ __name(function _setterPlain2(target, property, value) {
8133    return target[property] = value;
8134  }, "_setterPlain");
8135  var _setterFunc = /* @__PURE__ */ __name(function _setterFunc2(target, property, value) {
8136    return target[property](value);
8137  }, "_setterFunc");
8138  var _setterFuncWithParam = /* @__PURE__ */ __name(function _setterFuncWithParam2(target, property, value, data) {
8139    return target[property](data.fp, value);
8140  }, "_setterFuncWithParam");
8141  var _setterAttribute = /* @__PURE__ */ __name(function _setterAttribute2(target, property, value) {
8142    return target.setAttribute(property, value);
8143  }, "_setterAttribute");
8144  var _getSetter = /* @__PURE__ */ __name(function _getSetter2(target, property) {
8145    return _isFunction(target[property]) ? _setterFunc : _isUndefined(target[property]) && target.setAttribute ? _setterAttribute : _setterPlain;
8146  }, "_getSetter");
8147  var _renderPlain = /* @__PURE__ */ __name(function _renderPlain2(ratio, data) {
8148    return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1e6) / 1e6, data);
8149  }, "_renderPlain");
8150  var _renderBoolean = /* @__PURE__ */ __name(function _renderBoolean2(ratio, data) {
8151    return data.set(data.t, data.p, !!(data.s + data.c * ratio), data);
8152  }, "_renderBoolean");
8153  var _renderComplexString = /* @__PURE__ */ __name(function _renderComplexString2(ratio, data) {
8154    var pt = data._pt, s = "";
8155    if (!ratio && data.b) {
8156      s = data.b;
8157    } else if (ratio === 1 && data.e) {
8158      s = data.e;
8159    } else {
8160      while (pt) {
8161        s = pt.p + (pt.m ? pt.m(pt.s + pt.c * ratio) : Math.round((pt.s + pt.c * ratio) * 1e4) / 1e4) + s;
8162        pt = pt._next;
8163      }
8164      s += data.c;
8165    }
8166    data.set(data.t, data.p, s, data);
8167  }, "_renderComplexString");
8168  var _renderPropTweens = /* @__PURE__ */ __name(function _renderPropTweens2(ratio, data) {
8169    var pt = data._pt;
8170    while (pt) {
8171      pt.r(ratio, pt.d);
8172      pt = pt._next;
8173    }
8174  }, "_renderPropTweens");
8175  var _addPluginModifier = /* @__PURE__ */ __name(function _addPluginModifier2(modifier, tween, target, property) {
8176    var pt = this._pt, next;
8177    while (pt) {
8178      next = pt._next;
8179      pt.p === property && pt.modifier(modifier, tween, target);
8180      pt = next;
8181    }
8182  }, "_addPluginModifier");
8183  var _killPropTweensOf = /* @__PURE__ */ __name(function _killPropTweensOf2(property) {
8184    var pt = this._pt, hasNonDependentRemaining, next;
8185    while (pt) {
8186      next = pt._next;
8187      if (pt.p === property && !pt.op || pt.op === property) {
8188        _removeLinkedListItem(this, pt, "_pt");
8189      } else if (!pt.dep) {
8190        hasNonDependentRemaining = 1;
8191      }
8192      pt = next;
8193    }
8194    return !hasNonDependentRemaining;
8195  }, "_killPropTweensOf");
8196  var _setterWithModifier = /* @__PURE__ */ __name(function _setterWithModifier2(target, property, value, data) {
8197    data.mSet(target, property, data.m.call(data.tween, value, data.mt), data);
8198  }, "_setterWithModifier");
8199  var _sortPropTweensByPriority = /* @__PURE__ */ __name(function _sortPropTweensByPriority2(parent) {
8200    var pt = parent._pt, next, pt2, first, last;
8201    while (pt) {
8202      next = pt._next;
8203      pt2 = first;
8204      while (pt2 && pt2.pr > pt.pr) {
8205        pt2 = pt2._next;
8206      }
8207      if (pt._prev = pt2 ? pt2._prev : last) {
8208        pt._prev._next = pt;
8209      } else {
8210        first = pt;
8211      }
8212      if (pt._next = pt2) {
8213        pt2._prev = pt;
8214      } else {
8215        last = pt;
8216      }
8217      pt = next;
8218    }
8219    parent._pt = first;
8220  }, "_sortPropTweensByPriority");
8221  var PropTween = /* @__PURE__ */ (function() {
8222    function PropTween2(next, target, prop, start, change, renderer, data, setter, priority) {
8223      this.t = target;
8224      this.s = start;
8225      this.c = change;
8226      this.p = prop;
8227      this.r = renderer || _renderPlain;
8228      this.d = data || this;
8229      this.set = setter || _setterPlain;
8230      this.pr = priority || 0;
8231      this._next = next;
8232      if (next) {
8233        next._prev = this;
8234      }
8235    }
8236    __name(PropTween2, "PropTween");
8237    var _proto4 = PropTween2.prototype;
8238    _proto4.modifier = /* @__PURE__ */ __name(function modifier(func, tween, target) {
8239      this.mSet = this.mSet || this.set;
8240      this.set = _setterWithModifier;
8241      this.m = func;
8242      this.mt = target;
8243      this.tween = tween;
8244    }, "modifier");
8245    return PropTween2;
8246  })();
8247  _forEachName(_callbackNames + "parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger", function(name) {
8248    return _reservedProps[name] = 1;
8249  });
8250  _globals.TweenMax = _globals.TweenLite = Tween;
8251  _globals.TimelineLite = _globals.TimelineMax = Timeline;
8252  _globalTimeline = new Timeline({
8253    sortChildren: false,
8254    defaults: _defaults,
8255    autoRemoveChildren: true,
8256    id: "root",
8257    smoothChildTiming: true
8258  });
8259  _config.stringFilter = _colorStringFilter;
8260  var _media = [];
8261  var _listeners = {};
8262  var _emptyArray = [];
8263  var _lastMediaTime = 0;
8264  var _contextID = 0;
8265  var _dispatch = /* @__PURE__ */ __name(function _dispatch2(type) {
8266    return (_listeners[type] || _emptyArray).map(function(f) {
8267      return f();
8268    });
8269  }, "_dispatch");
8270  var _onMediaChange = /* @__PURE__ */ __name(function _onMediaChange2() {
8271    var time = Date.now(), matches = [];
8272    if (time - _lastMediaTime > 2) {
8273      _dispatch("matchMediaInit");
8274      _media.forEach(function(c) {
8275        var queries = c.queries, conditions = c.conditions, match, p, anyMatch, toggled;
8276        for (p in queries) {
8277          match = _win.matchMedia(queries[p]).matches;
8278          match && (anyMatch = 1);
8279          if (match !== conditions[p]) {
8280            conditions[p] = match;
8281            toggled = 1;
8282          }
8283        }
8284        if (toggled) {
8285          c.revert();
8286          anyMatch && matches.push(c);
8287        }
8288      });
8289      _dispatch("matchMediaRevert");
8290      matches.forEach(function(c) {
8291        return c.onMatch(c, function(func) {
8292          return c.add(null, func);
8293        });
8294      });
8295      _lastMediaTime = time;
8296      _dispatch("matchMedia");
8297    }
8298  }, "_onMediaChange");
8299  var Context = /* @__PURE__ */ (function() {
8300    function Context2(func, scope) {
8301      this.selector = scope && selector(scope);
8302      this.data = [];
8303      this._r = [];
8304      this.isReverted = false;
8305      this.id = _contextID++;
8306      func && this.add(func);
8307    }
8308    __name(Context2, "Context");
8309    var _proto5 = Context2.prototype;
8310    _proto5.add = /* @__PURE__ */ __name(function add(name, func, scope) {
8311      if (_isFunction(name)) {
8312        scope = func;
8313        func = name;
8314        name = _isFunction;
8315      }
8316      var self2 = this, f = /* @__PURE__ */ __name(function f2() {
8317        var prev = _context, prevSelector = self2.selector, result;
8318        prev && prev !== self2 && prev.data.push(self2);
8319        scope && (self2.selector = selector(scope));
8320        _context = self2;
8321        result = func.apply(self2, arguments);
8322        _isFunction(result) && self2._r.push(result);
8323        _context = prev;
8324        self2.selector = prevSelector;
8325        self2.isReverted = false;
8326        return result;
8327      }, "f");
8328      self2.last = f;
8329      return name === _isFunction ? f(self2, function(func2) {
8330        return self2.add(null, func2);
8331      }) : name ? self2[name] = f : f;
8332    }, "add");
8333    _proto5.ignore = /* @__PURE__ */ __name(function ignore(func) {
8334      var prev = _context;
8335      _context = null;
8336      func(this);
8337      _context = prev;
8338    }, "ignore");
8339    _proto5.getTweens = /* @__PURE__ */ __name(function getTweens() {
8340      var a = [];
8341      this.data.forEach(function(e) {
8342        return e instanceof Context2 ? a.push.apply(a, e.getTweens()) : e instanceof Tween && !(e.parent && e.parent.data === "nested") && a.push(e);
8343      });
8344      return a;
8345    }, "getTweens");
8346    _proto5.clear = /* @__PURE__ */ __name(function clear() {
8347      this._r.length = this.data.length = 0;
8348    }, "clear");
8349    _proto5.kill = /* @__PURE__ */ __name(function kill(revert, matchMedia2) {
8350      var _this4 = this;
8351      if (revert) {
8352        (function() {
8353          var tweens = _this4.getTweens(), i2 = _this4.data.length, t;
8354          while (i2--) {
8355            t = _this4.data[i2];
8356            if (t.data === "isFlip") {
8357              t.revert();
8358              t.getChildren(true, true, false).forEach(function(tween) {
8359                return tweens.splice(tweens.indexOf(tween), 1);
8360              });
8361            }
8362          }
8363          tweens.map(function(t2) {
8364            return {
8365              g: t2._dur || t2._delay || t2._sat && !t2._sat.vars.immediateRender ? t2.globalTime(0) : -Infinity,
8366              t: t2
8367            };
8368          }).sort(function(a, b) {
8369            return b.g - a.g || -Infinity;
8370          }).forEach(function(o) {
8371            return o.t.revert(revert);
8372          });
8373          i2 = _this4.data.length;
8374          while (i2--) {
8375            t = _this4.data[i2];
8376            if (t instanceof Timeline) {
8377              if (t.data !== "nested") {
8378                t.scrollTrigger && t.scrollTrigger.revert();
8379                t.kill();
8380              }
8381            } else {
8382              !(t instanceof Tween) && t.revert && t.revert(revert);
8383            }
8384          }
8385          _this4._r.forEach(function(f) {
8386            return f(revert, _this4);
8387          });
8388          _this4.isReverted = true;
8389        })();
8390      } else {
8391        this.data.forEach(function(e) {
8392          return e.kill && e.kill();
8393        });
8394      }
8395      this.clear();
8396      if (matchMedia2) {
8397        var i = _media.length;
8398        while (i--) {
8399          _media[i].id === this.id && _media.splice(i, 1);
8400        }
8401      }
8402    }, "kill");
8403    _proto5.revert = /* @__PURE__ */ __name(function revert(config3) {
8404      this.kill(config3 || {});
8405    }, "revert");
8406    return Context2;
8407  })();
8408  var MatchMedia = /* @__PURE__ */ (function() {
8409    function MatchMedia2(scope) {
8410      this.contexts = [];
8411      this.scope = scope;
8412      _context && _context.data.push(this);
8413    }
8414    __name(MatchMedia2, "MatchMedia");
8415    var _proto6 = MatchMedia2.prototype;
8416    _proto6.add = /* @__PURE__ */ __name(function add(conditions, func, scope) {
8417      _isObject(conditions) || (conditions = {
8418        matches: conditions
8419      });
8420      var context3 = new Context(0, scope || this.scope), cond = context3.conditions = {}, mq, p, active;
8421      _context && !context3.selector && (context3.selector = _context.selector);
8422      this.contexts.push(context3);
8423      func = context3.add("onMatch", func);
8424      context3.queries = conditions;
8425      for (p in conditions) {
8426        if (p === "all") {
8427          active = 1;
8428        } else {
8429          mq = _win.matchMedia(conditions[p]);
8430          if (mq) {
8431            _media.indexOf(context3) < 0 && _media.push(context3);
8432            (cond[p] = mq.matches) && (active = 1);
8433            mq.addListener ? mq.addListener(_onMediaChange) : mq.addEventListener("change", _onMediaChange);
8434          }
8435        }
8436      }
8437      active && func(context3, function(f) {
8438        return context3.add(null, f);
8439      });
8440      return this;
8441    }, "add");
8442    _proto6.revert = /* @__PURE__ */ __name(function revert(config3) {
8443      this.kill(config3 || {});
8444    }, "revert");
8445    _proto6.kill = /* @__PURE__ */ __name(function kill(revert) {
8446      this.contexts.forEach(function(c) {
8447        return c.kill(revert, true);
8448      });
8449    }, "kill");
8450    return MatchMedia2;
8451  })();
8452  var _gsap = {
8453    registerPlugin: /* @__PURE__ */ __name(function registerPlugin() {
8454      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
8455        args[_key2] = arguments[_key2];
8456      }
8457      args.forEach(function(config3) {
8458        return _createPlugin(config3);
8459      });
8460    }, "registerPlugin"),
8461    timeline: /* @__PURE__ */ __name(function timeline(vars) {
8462      return new Timeline(vars);
8463    }, "timeline"),
8464    getTweensOf: /* @__PURE__ */ __name(function getTweensOf(targets, onlyActive) {
8465      return _globalTimeline.getTweensOf(targets, onlyActive);
8466    }, "getTweensOf"),
8467    getProperty: /* @__PURE__ */ __name(function getProperty(target, property, unit, uncache) {
8468      _isString(target) && (target = toArray(target)[0]);
8469      var getter = _getCache(target || {}).get, format = unit ? _passThrough : _numericIfPossible;
8470      unit === "native" && (unit = "");
8471      return !target ? target : !property ? function(property2, unit2, uncache2) {
8472        return format((_plugins[property2] && _plugins[property2].get || getter)(target, property2, unit2, uncache2));
8473      } : format((_plugins[property] && _plugins[property].get || getter)(target, property, unit, uncache));
8474    }, "getProperty"),
8475    quickSetter: /* @__PURE__ */ __name(function quickSetter(target, property, unit) {
8476      target = toArray(target);
8477      if (target.length > 1) {
8478        var setters = target.map(function(t) {
8479          return gsap.quickSetter(t, property, unit);
8480        }), l = setters.length;
8481        return function(value) {
8482          var i = l;
8483          while (i--) {
8484            setters[i](value);
8485          }
8486        };
8487      }
8488      target = target[0] || {};
8489      var Plugin = _plugins[property], cache = _getCache(target), p = cache.harness && (cache.harness.aliases || {})[property] || property, setter = Plugin ? function(value) {
8490        var p2 = new Plugin();
8491        _quickTween._pt = 0;
8492        p2.init(target, unit ? value + unit : value, _quickTween, 0, [target]);
8493        p2.render(1, p2);
8494        _quickTween._pt && _renderPropTweens(1, _quickTween);
8495      } : cache.set(target, p);
8496      return Plugin ? setter : function(value) {
8497        return setter(target, p, unit ? value + unit : value, cache, 1);
8498      };
8499    }, "quickSetter"),
8500    quickTo: /* @__PURE__ */ __name(function quickTo(target, property, vars) {
8501      var _setDefaults22;
8502      var tween = gsap.to(target, _setDefaults((_setDefaults22 = {}, _setDefaults22[property] = "+=0.1", _setDefaults22.paused = true, _setDefaults22.stagger = 0, _setDefaults22), vars || {})), func = /* @__PURE__ */ __name(function func2(value, start, startIsRelative) {
8503        return tween.resetTo(property, value, start, startIsRelative);
8504      }, "func");
8505      func.tween = tween;
8506      return func;
8507    }, "quickTo"),
8508    isTweening: /* @__PURE__ */ __name(function isTweening(targets) {
8509      return _globalTimeline.getTweensOf(targets, true).length > 0;
8510    }, "isTweening"),
8511    defaults: /* @__PURE__ */ __name(function defaults(value) {
8512      value && value.ease && (value.ease = _parseEase(value.ease, _defaults.ease));
8513      return _mergeDeep(_defaults, value || {});
8514    }, "defaults"),
8515    config: /* @__PURE__ */ __name(function config2(value) {
8516      return _mergeDeep(_config, value || {});
8517    }, "config"),
8518    registerEffect: /* @__PURE__ */ __name(function registerEffect(_ref3) {
8519      var name = _ref3.name, effect = _ref3.effect, plugins = _ref3.plugins, defaults2 = _ref3.defaults, extendTimeline = _ref3.extendTimeline;
8520      (plugins || "").split(",").forEach(function(pluginName) {
8521        return pluginName && !_plugins[pluginName] && !_globals[pluginName] && _warn(name + " effect requires " + pluginName + " plugin.");
8522      });
8523      _effects[name] = function(targets, vars, tl) {
8524        return effect(toArray(targets), _setDefaults(vars || {}, defaults2), tl);
8525      };
8526      if (extendTimeline) {
8527        Timeline.prototype[name] = function(targets, vars, position) {
8528          return this.add(_effects[name](targets, _isObject(vars) ? vars : (position = vars) && {}, this), position);
8529        };
8530      }
8531    }, "registerEffect"),
8532    registerEase: /* @__PURE__ */ __name(function registerEase(name, ease) {
8533      _easeMap[name] = _parseEase(ease);
8534    }, "registerEase"),
8535    parseEase: /* @__PURE__ */ __name(function parseEase(ease, defaultEase) {
8536      return arguments.length ? _parseEase(ease, defaultEase) : _easeMap;
8537    }, "parseEase"),
8538    getById: /* @__PURE__ */ __name(function getById(id) {
8539      return _globalTimeline.getById(id);
8540    }, "getById"),
8541    exportRoot: /* @__PURE__ */ __name(function exportRoot(vars, includeDelayedCalls) {
8542      if (vars === void 0) {
8543        vars = {};
8544      }
8545      var tl = new Timeline(vars), child, next;
8546      tl.smoothChildTiming = _isNotFalse(vars.smoothChildTiming);
8547      _globalTimeline.remove(tl);
8548      tl._dp = 0;
8549      tl._time = tl._tTime = _globalTimeline._time;
8550      child = _globalTimeline._first;
8551      while (child) {
8552        next = child._next;
8553        if (includeDelayedCalls || !(!child._dur && child instanceof Tween && child.vars.onComplete === child._targets[0])) {
8554          _addToTimeline(tl, child, child._start - child._delay);
8555        }
8556        child = next;
8557      }
8558      _addToTimeline(_globalTimeline, tl, 0);
8559      return tl;
8560    }, "exportRoot"),
8561    context: /* @__PURE__ */ __name(function context(func, scope) {
8562      return func ? new Context(func, scope) : _context;
8563    }, "context"),
8564    matchMedia: /* @__PURE__ */ __name(function matchMedia(scope) {
8565      return new MatchMedia(scope);
8566    }, "matchMedia"),
8567    matchMediaRefresh: /* @__PURE__ */ __name(function matchMediaRefresh() {
8568      return _media.forEach(function(c) {
8569        var cond = c.conditions, found, p;
8570        for (p in cond) {
8571          if (cond[p]) {
8572            cond[p] = false;
8573            found = 1;
8574          }
8575        }
8576        found && c.revert();
8577      }) || _onMediaChange();
8578    }, "matchMediaRefresh"),
8579    addEventListener: /* @__PURE__ */ __name(function addEventListener(type, callback) {
8580      var a = _listeners[type] || (_listeners[type] = []);
8581      ~a.indexOf(callback) || a.push(callback);
8582    }, "addEventListener"),
8583    removeEventListener: /* @__PURE__ */ __name(function removeEventListener(type, callback) {
8584      var a = _listeners[type], i = a && a.indexOf(callback);
8585      i >= 0 && a.splice(i, 1);
8586    }, "removeEventListener"),
8587    utils: {
8588      wrap,
8589      wrapYoyo,
8590      distribute,
8591      random,
8592      snap,
8593      normalize,
8594      getUnit,
8595      clamp,
8596      splitColor,
8597      toArray,
8598      selector,
8599      mapRange,
8600      pipe,
8601      unitize,
8602      interpolate,
8603      shuffle
8604    },
8605    install: _install,
8606    effects: _effects,
8607    ticker: _ticker,
8608    updateRoot: Timeline.updateRoot,
8609    plugins: _plugins,
8610    globalTimeline: _globalTimeline,
8611    core: {
8612      PropTween,
8613      globals: _addGlobal,
8614      Tween,
8615      Timeline,
8616      Animation,
8617      getCache: _getCache,
8618      _removeLinkedListItem,
8619      reverting: /* @__PURE__ */ __name(function reverting() {
8620        return _reverting;
8621      }, "reverting"),
8622      context: /* @__PURE__ */ __name(function context2(toAdd) {
8623        if (toAdd && _context) {
8624          _context.data.push(toAdd);
8625          toAdd._ctx = _context;
8626        }
8627        return _context;
8628      }, "context"),
8629      suppressOverwrites: /* @__PURE__ */ __name(function suppressOverwrites(value) {
8630        return _suppressOverwrites = value;
8631      }, "suppressOverwrites")
8632    }
8633  };
8634  _forEachName("to,from,fromTo,delayedCall,set,killTweensOf", function(name) {
8635    return _gsap[name] = Tween[name];
8636  });
8637  _ticker.add(Timeline.updateRoot);
8638  _quickTween = _gsap.to({}, {
8639    duration: 0
8640  });
8641  var _getPluginPropTween = /* @__PURE__ */ __name(function _getPluginPropTween2(plugin, prop) {
8642    var pt = plugin._pt;
8643    while (pt && pt.p !== prop && pt.op !== prop && pt.fp !== prop) {
8644      pt = pt._next;
8645    }
8646    return pt;
8647  }, "_getPluginPropTween");
8648  var _addModifiers = /* @__PURE__ */ __name(function _addModifiers2(tween, modifiers) {
8649    var targets = tween._targets, p, i, pt;
8650    for (p in modifiers) {
8651      i = targets.length;
8652      while (i--) {
8653        pt = tween._ptLookup[i][p];
8654        if (pt && (pt = pt.d)) {
8655          if (pt._pt) {
8656            pt = _getPluginPropTween(pt, p);
8657          }
8658          pt && pt.modifier && pt.modifier(modifiers[p], tween, targets[i], p);
8659        }
8660      }
8661    }
8662  }, "_addModifiers");
8663  var _buildModifierPlugin = /* @__PURE__ */ __name(function _buildModifierPlugin2(name, modifier) {
8664    return {
8665      name,
8666      headless: 1,
8667      rawVars: 1,
8668      //don't pre-process function-based values or "random()" strings.
8669      init: /* @__PURE__ */ __name(function init5(target, vars, tween) {
8670        tween._onInit = function(tween2) {
8671          var temp, p;
8672          if (_isString(vars)) {
8673            temp = {};
8674            _forEachName(vars, function(name2) {
8675              return temp[name2] = 1;
8676            });
8677            vars = temp;
8678          }
8679          if (modifier) {
8680            temp = {};
8681            for (p in vars) {
8682              temp[p] = modifier(vars[p]);
8683            }
8684            vars = temp;
8685          }
8686          _addModifiers(tween2, vars);
8687        };
8688      }, "init")
8689    };
8690  }, "_buildModifierPlugin");
8691  var gsap = _gsap.registerPlugin({
8692    name: "attr",
8693    init: /* @__PURE__ */ __name(function init2(target, vars, tween, index, targets) {
8694      var p, pt, v;
8695      this.tween = tween;
8696      for (p in vars) {
8697        v = target.getAttribute(p) || "";
8698        pt = this.add(target, "setAttribute", (v || 0) + "", vars[p], index, targets, 0, 0, p);
8699        pt.op = p;
8700        pt.b = v;
8701        this._props.push(p);
8702      }
8703    }, "init"),
8704    render: /* @__PURE__ */ __name(function render(ratio, data) {
8705      var pt = data._pt;
8706      while (pt) {
8707        _reverting ? pt.set(pt.t, pt.p, pt.b, pt) : pt.r(ratio, pt.d);
8708        pt = pt._next;
8709      }
8710    }, "render")
8711  }, {
8712    name: "endArray",
8713    headless: 1,
8714    init: /* @__PURE__ */ __name(function init3(target, value) {
8715      var i = value.length;
8716      while (i--) {
8717        this.add(target, i, target[i] || 0, value[i], 0, 0, 0, 0, 0, 1);
8718      }
8719    }, "init")
8720  }, _buildModifierPlugin("roundProps", _roundModifier), _buildModifierPlugin("modifiers"), _buildModifierPlugin("snap", snap)) || _gsap;
8721  Tween.version = Timeline.version = gsap.version = "3.14.2";
8722  _coreReady = 1;
8723  _windowExists() && _wake();
8724  var Power0 = _easeMap.Power0;
8725  var Power1 = _easeMap.Power1;
8726  var Power2 = _easeMap.Power2;
8727  var Power3 = _easeMap.Power3;
8728  var Power4 = _easeMap.Power4;
8729  var Linear = _easeMap.Linear;
8730  var Quad = _easeMap.Quad;
8731  var Cubic = _easeMap.Cubic;
8732  var Quart = _easeMap.Quart;
8733  var Quint = _easeMap.Quint;
8734  var Strong = _easeMap.Strong;
8735  var Elastic = _easeMap.Elastic;
8736  var Back = _easeMap.Back;
8737  var SteppedEase = _easeMap.SteppedEase;
8738  var Bounce = _easeMap.Bounce;
8739  var Sine = _easeMap.Sine;
8740  var Expo = _easeMap.Expo;
8741  var Circ = _easeMap.Circ;
8742
8743  
vendor: 53,466 bytes, lines 8743-9860
8743// node_modules/gsap/CSSPlugin.js
8744  var _win2;
8745  var _doc2;
8746  var _docElement;
8747  var _pluginInitted;
8748  var _tempDiv;
8749  var _tempDivStyler;
8750  var _recentSetterPlugin;
8751  var _reverting2;
8752  var _windowExists3 = /* @__PURE__ */ __name(function _windowExists4() {
8753    return typeof window !== "undefined";
8754  }, "_windowExists");
8755  var _transformProps = {};
8756  var _RAD2DEG = 180 / Math.PI;
8757  var _DEG2RAD = Math.PI / 180;
8758  var _atan2 = Math.atan2;
8759  var _bigNum2 = 1e8;
8760  var _capsExp = /([A-Z])/g;
8761  var _horizontalExp = /(left|right|width|margin|padding|x)/i;
8762  var _complexExp = /[\s,\(]\S/;
8763  var _propertyAliases = {
8764    autoAlpha: "opacity,visibility",
8765    scale: "scaleX,scaleY",
8766    alpha: "opacity"
8767  };
8768  var _renderCSSProp = /* @__PURE__ */ __name(function _renderCSSProp2(ratio, data) {
8769    return data.set(data.t, data.p, Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u, data);
8770  }, "_renderCSSProp");
8771  var _renderPropWithEnd = /* @__PURE__ */ __name(function _renderPropWithEnd2(ratio, data) {
8772    return data.set(data.t, data.p, ratio === 1 ? data.e : Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u, data);
8773  }, "_renderPropWithEnd");
8774  var _renderCSSPropWithBeginning = /* @__PURE__ */ __name(function _renderCSSPropWithBeginning2(ratio, data) {
8775    return data.set(data.t, data.p, ratio ? Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u : data.b, data);
8776  }, "_renderCSSPropWithBeginning");
8777  var _renderCSSPropWithBeginningAndEnd = /* @__PURE__ */ __name(function _renderCSSPropWithBeginningAndEnd2(ratio, data) {
8778    return data.set(data.t, data.p, ratio === 1 ? data.e : ratio ? Math.round((data.s + data.c * ratio) * 1e4) / 1e4 + data.u : data.b, data);
8779  }, "_renderCSSPropWithBeginningAndEnd");
8780  var _renderRoundedCSSProp = /* @__PURE__ */ __name(function _renderRoundedCSSProp2(ratio, data) {
8781    var value = data.s + data.c * ratio;
8782    data.set(data.t, data.p, ~~(value + (value < 0 ? -0.5 : 0.5)) + data.u, data);
8783  }, "_renderRoundedCSSProp");
8784  var _renderNonTweeningValue = /* @__PURE__ */ __name(function _renderNonTweeningValue2(ratio, data) {
8785    return data.set(data.t, data.p, ratio ? data.e : data.b, data);
8786  }, "_renderNonTweeningValue");
8787  var _renderNonTweeningValueOnlyAtEnd = /* @__PURE__ */ __name(function _renderNonTweeningValueOnlyAtEnd2(ratio, data) {
8788    return data.set(data.t, data.p, ratio !== 1 ? data.b : data.e, data);
8789  }, "_renderNonTweeningValueOnlyAtEnd");
8790  var _setterCSSStyle = /* @__PURE__ */ __name(function _setterCSSStyle2(target, property, value) {
8791    return target.style[property] = value;
8792  }, "_setterCSSStyle");
8793  var _setterCSSProp = /* @__PURE__ */ __name(function _setterCSSProp2(target, property, value) {
8794    return target.style.setProperty(property, value);
8795  }, "_setterCSSProp");
8796  var _setterTransform = /* @__PURE__ */ __name(function _setterTransform2(target, property, value) {
8797    return target._gsap[property] = value;
8798  }, "_setterTransform");
8799  var _setterScale = /* @__PURE__ */ __name(function _setterScale2(target, property, value) {
8800    return target._gsap.scaleX = target._gsap.scaleY = value;
8801  }, "_setterScale");
8802  var _setterScaleWithRender = /* @__PURE__ */ __name(function _setterScaleWithRender2(target, property, value, data, ratio) {
8803    var cache = target._gsap;
8804    cache.scaleX = cache.scaleY = value;
8805    cache.renderTransform(ratio, cache);
8806  }, "_setterScaleWithRender");
8807  var _setterTransformWithRender = /* @__PURE__ */ __name(function _setterTransformWithRender2(target, property, value, data, ratio) {
8808    var cache = target._gsap;
8809    cache[property] = value;
8810    cache.renderTransform(ratio, cache);
8811  }, "_setterTransformWithRender");
8812  var _transformProp = "transform";
8813  var _transformOriginProp = _transformProp + "Origin";
8814  var _saveStyle = /* @__PURE__ */ __name(function _saveStyle2(property, isNotCSS) {
8815    var _this = this;
8816    var target = this.target, style = target.style, cache = target._gsap;
8817    if (property in _transformProps && style) {
8818      this.tfm = this.tfm || {};
8819      if (property !== "transform") {
8820        property = _propertyAliases[property] || property;
8821        ~property.indexOf(",") ? property.split(",").forEach(function(a) {
8822          return _this.tfm[a] = _get(target, a);
8823        }) : this.tfm[property] = cache.x ? cache[property] : _get(target, property);
8824        property === _transformOriginProp && (this.tfm.zOrigin = cache.zOrigin);
8825      } else {
8826        return _propertyAliases.transform.split(",").forEach(function(p) {
8827          return _saveStyle2.call(_this, p, isNotCSS);
8828        });
8829      }
8830      if (this.props.indexOf(_transformProp) >= 0) {
8831        return;
8832      }
8833      if (cache.svg) {
8834        this.svgo = target.getAttribute("data-svg-origin");
8835        this.props.push(_transformOriginProp, isNotCSS, "");
8836      }
8837      property = _transformProp;
8838    }
8839    (style || isNotCSS) && this.props.push(property, isNotCSS, style[property]);
8840  }, "_saveStyle");
8841  var _removeIndependentTransforms = /* @__PURE__ */ __name(function _removeIndependentTransforms2(style) {
8842    if (style.translate) {
8843      style.removeProperty("translate");
8844      style.removeProperty("scale");
8845      style.removeProperty("rotate");
8846    }
8847  }, "_removeIndependentTransforms");
8848  var _revertStyle = /* @__PURE__ */ __name(function _revertStyle2() {
8849    var props = this.props, target = this.target, style = target.style, cache = target._gsap, i, p;
8850    for (i = 0; i < props.length; i += 3) {
8851      if (!props[i + 1]) {
8852        props[i + 2] ? style[props[i]] = props[i + 2] : style.removeProperty(props[i].substr(0, 2) === "--" ? props[i] : props[i].replace(_capsExp, "-$1").toLowerCase());
8853      } else if (props[i + 1] === 2) {
8854        target[props[i]](props[i + 2]);
8855      } else {
8856        target[props[i]] = props[i + 2];
8857      }
8858    }
8859    if (this.tfm) {
8860      for (p in this.tfm) {
8861        cache[p] = this.tfm[p];
8862      }
8863      if (cache.svg) {
8864        cache.renderTransform();
8865        target.setAttribute("data-svg-origin", this.svgo || "");
8866      }
8867      i = _reverting2();
8868      if ((!i || !i.isStart) && !style[_transformProp]) {
8869        _removeIndependentTransforms(style);
8870        if (cache.zOrigin && style[_transformOriginProp]) {
8871          style[_transformOriginProp] += " " + cache.zOrigin + "px";
8872          cache.zOrigin = 0;
8873          cache.renderTransform();
8874        }
8875        cache.uncache = 1;
8876      }
8877    }
8878  }, "_revertStyle");
8879  var _getStyleSaver = /* @__PURE__ */ __name(function _getStyleSaver2(target, properties) {
8880    var saver = {
8881      target,
8882      props: [],
8883      revert: _revertStyle,
8884      save: _saveStyle
8885    };
8886    target._gsap || gsap.core.getCache(target);
8887    properties && target.style && target.nodeType && properties.split(",").forEach(function(p) {
8888      return saver.save(p);
8889    });
8890    return saver;
8891  }, "_getStyleSaver");
8892  var _supports3D;
8893  var _createElement = /* @__PURE__ */ __name(function _createElement2(type, ns) {
8894    var e = _doc2.createElementNS ? _doc2.createElementNS((ns || "http://www.w3.org/1999/xhtml").replace(/^https/, "http"), type) : _doc2.createElement(type);
8895    return e && e.style ? e : _doc2.createElement(type);
8896  }, "_createElement");
8897  var _getComputedProperty = /* @__PURE__ */ __name(function _getComputedProperty2(target, property, skipPrefixFallback) {
8898    var cs = getComputedStyle(target);
8899    return cs[property] || cs.getPropertyValue(property.replace(_capsExp, "-$1").toLowerCase()) || cs.getPropertyValue(property) || !skipPrefixFallback && _getComputedProperty2(target, _checkPropPrefix(property) || property, 1) || "";
8900  }, "_getComputedProperty");
8901  var _prefixes = "O,Moz,ms,Ms,Webkit".split(",");
8902  var _checkPropPrefix = /* @__PURE__ */ __name(function _checkPropPrefix2(property, element, preferPrefix) {
8903    var e = element || _tempDiv, s = e.style, i = 5;
8904    if (property in s && !preferPrefix) {
8905      return property;
8906    }
8907    property = property.charAt(0).toUpperCase() + property.substr(1);
8908    while (i-- && !(_prefixes[i] + property in s)) {
8909    }
8910    return i < 0 ? null : (i === 3 ? "ms" : i >= 0 ? _prefixes[i] : "") + property;
8911  }, "_checkPropPrefix");
8912  var _initCore = /* @__PURE__ */ __name(function _initCore2() {
8913    if (_windowExists3() && window.document) {
8914      _win2 = window;
8915      _doc2 = _win2.document;
8916      _docElement = _doc2.documentElement;
8917      _tempDiv = _createElement("div") || {
8918        style: {}
8919      };
8920      _tempDivStyler = _createElement("div");
8921      _transformProp = _checkPropPrefix(_transformProp);
8922      _transformOriginProp = _transformProp + "Origin";
8923      _tempDiv.style.cssText = "border-width:0;line-height:0;position:absolute;padding:0";
8924      _supports3D = !!_checkPropPrefix("perspective");
8925      _reverting2 = gsap.core.reverting;
8926      _pluginInitted = 1;
8927    }
8928  }, "_initCore");
8929  var _getReparentedCloneBBox = /* @__PURE__ */ __name(function _getReparentedCloneBBox2(target) {
8930    var owner = target.ownerSVGElement, svg = _createElement("svg", owner && owner.getAttribute("xmlns") || "http://www.w3.org/2000/svg"), clone = target.cloneNode(true), bbox;
8931    clone.style.display = "block";
8932    svg.appendChild(clone);
8933    _docElement.appendChild(svg);
8934    try {
8935      bbox = clone.getBBox();
8936    } catch (e) {
8937    }
8938    svg.removeChild(clone);
8939    _docElement.removeChild(svg);
8940    return bbox;
8941  }, "_getReparentedCloneBBox");
8942  var _getAttributeFallbacks = /* @__PURE__ */ __name(function _getAttributeFallbacks2(target, attributesArray) {
8943    var i = attributesArray.length;
8944    while (i--) {
8945      if (target.hasAttribute(attributesArray[i])) {
8946        return target.getAttribute(attributesArray[i]);
8947      }
8948    }
8949  }, "_getAttributeFallbacks");
8950  var _getBBox = /* @__PURE__ */ __name(function _getBBox2(target) {
8951    var bounds, cloned;
8952    try {
8953      bounds = target.getBBox();
8954    } catch (error) {
8955      bounds = _getReparentedCloneBBox(target);
8956      cloned = 1;
8957    }
8958    bounds && (bounds.width || bounds.height) || cloned || (bounds = _getReparentedCloneBBox(target));
8959    return bounds && !bounds.width && !bounds.x && !bounds.y ? {
8960      x: +_getAttributeFallbacks(target, ["x", "cx", "x1"]) || 0,
8961      y: +_getAttributeFallbacks(target, ["y", "cy", "y1"]) || 0,
8962      width: 0,
8963      height: 0
8964    } : bounds;
8965  }, "_getBBox");
8966  var _isSVG = /* @__PURE__ */ __name(function _isSVG2(e) {
8967    return !!(e.getCTM && (!e.parentNode || e.ownerSVGElement) && _getBBox(e));
8968  }, "_isSVG");
8969  var _removeProperty = /* @__PURE__ */ __name(function _removeProperty2(target, property) {
8970    if (property) {
8971      var style = target.style, first2Chars;
8972      if (property in _transformProps && property !== _transformOriginProp) {
8973        property = _transformProp;
8974      }
8975      if (style.removeProperty) {
8976        first2Chars = property.substr(0, 2);
8977        if (first2Chars === "ms" || property.substr(0, 6) === "webkit") {
8978          property = "-" + property;
8979        }
8980        style.removeProperty(first2Chars === "--" ? property : property.replace(_capsExp, "-$1").toLowerCase());
8981      } else {
8982        style.removeAttribute(property);
8983      }
8984    }
8985  }, "_removeProperty");
8986  var _addNonTweeningPT = /* @__PURE__ */ __name(function _addNonTweeningPT2(plugin, target, property, beginning, end, onlySetAtEnd) {
8987    var pt = new PropTween(plugin._pt, target, property, 0, 1, onlySetAtEnd ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue);
8988    plugin._pt = pt;
8989    pt.b = beginning;
8990    pt.e = end;
8991    plugin._props.push(property);
8992    return pt;
8993  }, "_addNonTweeningPT");
8994  var _nonConvertibleUnits = {
8995    deg: 1,
8996    rad: 1,
8997    turn: 1
8998  };
8999  var _nonStandardLayouts = {
9000    grid: 1,
9001    flex: 1
9002  };
9003  var _convertToUnit = /* @__PURE__ */ __name(function _convertToUnit2(target, property, value, unit) {
9004    var curValue = parseFloat(value) || 0, curUnit = (value + "").trim().substr((curValue + "").length) || "px", style = _tempDiv.style, horizontal = _horizontalExp.test(property), isRootSVG = target.tagName.toLowerCase() === "svg", measureProperty = (isRootSVG ? "client" : "offset") + (horizontal ? "Width" : "Height"), amount = 100, toPixels = unit === "px", toPercent = unit === "%", px, parent, cache, isSVG;
9005    if (unit === curUnit || !curValue || _nonConvertibleUnits[unit] || _nonConvertibleUnits[curUnit]) {
9006      return curValue;
9007    }
9008    curUnit !== "px" && !toPixels && (curValue = _convertToUnit2(target, property, value, "px"));
9009    isSVG = target.getCTM && _isSVG(target);
9010    if ((toPercent || curUnit === "%") && (_transformProps[property] || ~property.indexOf("adius"))) {
9011      px = isSVG ? target.getBBox()[horizontal ? "width" : "height"] : target[measureProperty];
9012      return _round(toPercent ? curValue / px * amount : curValue / 100 * px);
9013    }
9014    style[horizontal ? "width" : "height"] = amount + (toPixels ? curUnit : unit);
9015    parent = unit !== "rem" && ~property.indexOf("adius") || unit === "em" && target.appendChild && !isRootSVG ? target : target.parentNode;
9016    if (isSVG) {
9017      parent = (target.ownerSVGElement || {}).parentNode;
9018    }
9019    if (!parent || parent === _doc2 || !parent.appendChild) {
9020      parent = _doc2.body;
9021    }
9022    cache = parent._gsap;
9023    if (cache && toPercent && cache.width && horizontal && cache.time === _ticker.time && !cache.uncache) {
9024      return _round(curValue / cache.width * amount);
9025    } else {
9026      if (toPercent && (property === "height" || property === "width")) {
9027        var v = target.style[property];
9028        target.style[property] = amount + unit;
9029        px = target[measureProperty];
9030        v ? target.style[property] = v : _removeProperty(target, property);
9031      } else {
9032        (toPercent || curUnit === "%") && !_nonStandardLayouts[_getComputedProperty(parent, "display")] && (style.position = _getComputedProperty(target, "position"));
9033        parent === target && (style.position = "static");
9034        parent.appendChild(_tempDiv);
9035        px = _tempDiv[measureProperty];
9036        parent.removeChild(_tempDiv);
9037        style.position = "absolute";
9038      }
9039      if (horizontal && toPercent) {
9040        cache = _getCache(parent);
9041        cache.time = _ticker.time;
9042        cache.width = parent[measureProperty];
9043      }
9044    }
9045    return _round(toPixels ? px * curValue / amount : px && curValue ? amount / px * curValue : 0);
9046  }, "_convertToUnit");
9047  var _get = /* @__PURE__ */ __name(function _get2(target, property, unit, uncache) {
9048    var value;
9049    _pluginInitted || _initCore();
9050    if (property in _propertyAliases && property !== "transform") {
9051      property = _propertyAliases[property];
9052      if (~property.indexOf(",")) {
9053        property = property.split(",")[0];
9054      }
9055    }
9056    if (_transformProps[property] && property !== "transform") {
9057      value = _parseTransform(target, uncache);
9058      value = property !== "transformOrigin" ? value[property] : value.svg ? value.origin : _firstTwoOnly(_getComputedProperty(target, _transformOriginProp)) + " " + value.zOrigin + "px";
9059    } else {
9060      value = target.style[property];
9061      if (!value || value === "auto" || uncache || ~(value + "").indexOf("calc(")) {
9062        value = _specialProps[property] && _specialProps[property](target, property, unit) || _getComputedProperty(target, property) || _getProperty(target, property) || (property === "opacity" ? 1 : 0);
9063      }
9064    }
9065    return unit && !~(value + "").trim().indexOf(" ") ? _convertToUnit(target, property, value, unit) + unit : value;
9066  }, "_get");
9067  var _tweenComplexCSSString = /* @__PURE__ */ __name(function _tweenComplexCSSString2(target, prop, start, end) {
9068    if (!start || start === "none") {
9069      var p = _checkPropPrefix(prop, target, 1), s = p && _getComputedProperty(target, p, 1);
9070      if (s && s !== start) {
9071        prop = p;
9072        start = s;
9073      } else if (prop === "borderColor") {
9074        start = _getComputedProperty(target, "borderTopColor");
9075      }
9076    }
9077    var pt = new PropTween(this._pt, target.style, prop, 0, 1, _renderComplexString), index = 0, matchIndex = 0, a, result, startValues, startNum, color, startValue, endValue, endNum, chunk, endUnit, startUnit, endValues;
9078    pt.b = start;
9079    pt.e = end;
9080    start += "";
9081    end += "";
9082    if (end.substring(0, 6) === "var(--") {
9083      end = _getComputedProperty(target, end.substring(4, end.indexOf(")")));
9084    }
9085    if (end === "auto") {
9086      startValue = target.style[prop];
9087      target.style[prop] = end;
9088      end = _getComputedProperty(target, prop) || end;
9089      startValue ? target.style[prop] = startValue : _removeProperty(target, prop);
9090    }
9091    a = [start, end];
9092    _colorStringFilter(a);
9093    start = a[0];
9094    end = a[1];
9095    startValues = start.match(_numWithUnitExp) || [];
9096    endValues = end.match(_numWithUnitExp) || [];
9097    if (endValues.length) {
9098      while (result = _numWithUnitExp.exec(end)) {
9099        endValue = result[0];
9100        chunk = end.substring(index, result.index);
9101        if (color) {
9102          color = (color + 1) % 5;
9103        } else if (chunk.substr(-5) === "rgba(" || chunk.substr(-5) === "hsla(") {
9104          color = 1;
9105        }
9106        if (endValue !== (startValue = startValues[matchIndex++] || "")) {
9107          startNum = parseFloat(startValue) || 0;
9108          startUnit = startValue.substr((startNum + "").length);
9109          endValue.charAt(1) === "=" && (endValue = _parseRelative(startNum, endValue) + startUnit);
9110          endNum = parseFloat(endValue);
9111          endUnit = endValue.substr((endNum + "").length);
9112          index = _numWithUnitExp.lastIndex - endUnit.length;
9113          if (!endUnit) {
9114            endUnit = endUnit || _config.units[prop] || startUnit;
9115            if (index === end.length) {
9116              end += endUnit;
9117              pt.e += endUnit;
9118            }
9119          }
9120          if (startUnit !== endUnit) {
9121            startNum = _convertToUnit(target, prop, startValue, endUnit) || 0;
9122          }
9123          pt._pt = {
9124            _next: pt._pt,
9125            p: chunk || matchIndex === 1 ? chunk : ",",
9126            //note: SVG spec allows omission of comma/space when a negative sign is wedged between two numbers, like 2.5-5.3 instead of 2.5,-5.3 but when tweening, the negative value may switch to positive, so we insert the comma just in case.
9127            s: startNum,
9128            c: endNum - startNum,
9129            m: color && color < 4 || prop === "zIndex" ? Math.round : 0
9130          };
9131        }
9132      }
9133      pt.c = index < end.length ? end.substring(index, end.length) : "";
9134    } else {
9135      pt.r = prop === "display" && end === "none" ? _renderNonTweeningValueOnlyAtEnd : _renderNonTweeningValue;
9136    }
9137    _relExp.test(end) && (pt.e = 0);
9138    this._pt = pt;
9139    return pt;
9140  }, "_tweenComplexCSSString");
9141  var _keywordToPercent = {
9142    top: "0%",
9143    bottom: "100%",
9144    left: "0%",
9145    right: "100%",
9146    center: "50%"
9147  };
9148  var _convertKeywordsToPercentages = /* @__PURE__ */ __name(function _convertKeywordsToPercentages2(value) {
9149    var split = value.split(" "), x = split[0], y = split[1] || "50%";
9150    if (x === "top" || x === "bottom" || y === "left" || y === "right") {
9151      value = x;
9152      x = y;
9153      y = value;
9154    }
9155    split[0] = _keywordToPercent[x] || x;
9156    split[1] = _keywordToPercent[y] || y;
9157    return split.join(" ");
9158  }, "_convertKeywordsToPercentages");
9159  var _renderClearProps = /* @__PURE__ */ __name(function _renderClearProps2(ratio, data) {
9160    if (data.tween && data.tween._time === data.tween._dur) {
9161      var target = data.t, style = target.style, props = data.u, cache = target._gsap, prop, clearTransforms, i;
9162      if (props === "all" || props === true) {
9163        style.cssText = "";
9164        clearTransforms = 1;
9165      } else {
9166        props = props.split(",");
9167        i = props.length;
9168        while (--i > -1) {
9169          prop = props[i];
9170          if (_transformProps[prop]) {
9171            clearTransforms = 1;
9172            prop = prop === "transformOrigin" ? _transformOriginProp : _transformProp;
9173          }
9174          _removeProperty(target, prop);
9175        }
9176      }
9177      if (clearTransforms) {
9178        _removeProperty(target, _transformProp);
9179        if (cache) {
9180          cache.svg && target.removeAttribute("transform");
9181          style.scale = style.rotate = style.translate = "none";
9182          _parseTransform(target, 1);
9183          cache.uncache = 1;
9184          _removeIndependentTransforms(style);
9185        }
9186      }
9187    }
9188  }, "_renderClearProps");
9189  var _specialProps = {
9190    clearProps: /* @__PURE__ */ __name(function clearProps(plugin, target, property, endValue, tween) {
9191      if (tween.data !== "isFromStart") {
9192        var pt = plugin._pt = new PropTween(plugin._pt, target, property, 0, 0, _renderClearProps);
9193        pt.u = endValue;
9194        pt.pr = -10;
9195        pt.tween = tween;
9196        plugin._props.push(property);
9197        return 1;
9198      }
9199    }, "clearProps")
9200    /* className feature (about 0.4kb gzipped).
9201    , className(plugin, target, property, endValue, tween) {
9202    	let _renderClassName = (ratio, data) => {
9203    			data.css.render(ratio, data.css);
9204    			if (!ratio || ratio === 1) {
9205    				let inline = data.rmv,
9206    					target = data.t,
9207    					p;
9208    				target.setAttribute("class", ratio ? data.e : data.b);
9209    				for (p in inline) {
9210    					_removeProperty(target, p);
9211    				}
9212    			}
9213    		},
9214    		_getAllStyles = (target) => {
9215    			let styles = {},
9216    				computed = getComputedStyle(target),
9217    				p;
9218    			for (p in computed) {
9219    				if (isNaN(p) && p !== "cssText" && p !== "length") {
9220    					styles[p] = computed[p];
9221    				}
9222    			}
9223    			_setDefaults(styles, _parseTransform(target, 1));
9224    			return styles;
9225    		},
9226    		startClassList = target.getAttribute("class"),
9227    		style = target.style,
9228    		cssText = style.cssText,
9229    		cache = target._gsap,
9230    		classPT = cache.classPT,
9231    		inlineToRemoveAtEnd = {},
9232    		data = {t:target, plugin:plugin, rmv:inlineToRemoveAtEnd, b:startClassList, e:(endValue.charAt(1) !== "=") ? endValue : startClassList.replace(new RegExp("(?:\\s|^)" + endValue.substr(2) + "(?![\\w-])"), "") + ((endValue.charAt(0) === "+") ? " " + endValue.substr(2) : "")},
9233    		changingVars = {},
9234    		startVars = _getAllStyles(target),
9235    		transformRelated = /(transform|perspective)/i,
9236    		endVars, p;
9237    	if (classPT) {
9238    		classPT.r(1, classPT.d);
9239    		_removeLinkedListItem(classPT.d.plugin, classPT, "_pt");
9240    	}
9241    	target.setAttribute("class", data.e);
9242    	endVars = _getAllStyles(target, true);
9243    	target.setAttribute("class", startClassList);
9244    	for (p in endVars) {
9245    		if (endVars[p] !== startVars[p] && !transformRelated.test(p)) {
9246    			changingVars[p] = endVars[p];
9247    			if (!style[p] && style[p] !== "0") {
9248    				inlineToRemoveAtEnd[p] = 1;
9249    			}
9250    		}
9251    	}
9252    	cache.classPT = plugin._pt = new PropTween(plugin._pt, target, "className", 0, 0, _renderClassName, data, 0, -11);
9253    	if (style.cssText !== cssText) { //only apply if things change. Otherwise, in cases like a background-image that's pulled dynamically, it could cause a refresh. See https://gsap.com/forums/topic/20368-possible-gsap-bug-switching-classnames-in-chrome/.
9254    		style.cssText = cssText; //we recorded cssText before we swapped classes and ran _getAllStyles() because in cases when a className tween is overwritten, we remove all the related tweening properties from that class change (otherwise class-specific stuff can't override properties we've directly set on the target's style object due to specificity).
9255    	}
9256    	_parseTransform(target, true); //to clear the caching of transforms
9257    	data.css = new gsap.plugins.css();
9258    	data.css.init(target, changingVars, tween);
9259    	plugin._props.push(...data.css._props);
9260    	return 1;
9261    }
9262    */
9263  };
9264  var _identity2DMatrix = [1, 0, 0, 1, 0, 0];
9265  var _rotationalProperties = {};
9266  var _isNullTransform = /* @__PURE__ */ __name(function _isNullTransform2(value) {
9267    return value === "matrix(1, 0, 0, 1, 0, 0)" || value === "none" || !value;
9268  }, "_isNullTransform");
9269  var _getComputedTransformMatrixAsArray = /* @__PURE__ */ __name(function _getComputedTransformMatrixAsArray2(target) {
9270    var matrixString = _getComputedProperty(target, _transformProp);
9271    return _isNullTransform(matrixString) ? _identity2DMatrix : matrixString.substr(7).match(_numExp).map(_round);
9272  }, "_getComputedTransformMatrixAsArray");
9273  var _getMatrix = /* @__PURE__ */ __name(function _getMatrix2(target, force2D) {
9274    var cache = target._gsap || _getCache(target), style = target.style, matrix = _getComputedTransformMatrixAsArray(target), parent, nextSibling, temp, addedToDOM;
9275    if (cache.svg && target.getAttribute("transform")) {
9276      temp = target.transform.baseVal.consolidate().matrix;
9277      matrix = [temp.a, temp.b, temp.c, temp.d, temp.e, temp.f];
9278      return matrix.join(",") === "1,0,0,1,0,0" ? _identity2DMatrix : matrix;
9279    } else if (matrix === _identity2DMatrix && !target.offsetParent && target !== _docElement && !cache.svg) {
9280      temp = style.display;
9281      style.display = "block";
9282      parent = target.parentNode;
9283      if (!parent || !target.offsetParent && !target.getBoundingClientRect().width) {
9284        addedToDOM = 1;
9285        nextSibling = target.nextElementSibling;
9286        _docElement.appendChild(target);
9287      }
9288      matrix = _getComputedTransformMatrixAsArray(target);
9289      temp ? style.display = temp : _removeProperty(target, "display");
9290      if (addedToDOM) {
9291        nextSibling ? parent.insertBefore(target, nextSibling) : parent ? parent.appendChild(target) : _docElement.removeChild(target);
9292      }
9293    }
9294    return force2D && matrix.length > 6 ? [matrix[0], matrix[1], matrix[4], matrix[5], matrix[12], matrix[13]] : matrix;
9295  }, "_getMatrix");
9296  var _applySVGOrigin = /* @__PURE__ */ __name(function _applySVGOrigin2(target, origin, originIsAbsolute, smooth, matrixArray, pluginToAddPropTweensTo) {
9297    var cache = target._gsap, matrix = matrixArray || _getMatrix(target, true), xOriginOld = cache.xOrigin || 0, yOriginOld = cache.yOrigin || 0, xOffsetOld = cache.xOffset || 0, yOffsetOld = cache.yOffset || 0, a = matrix[0], b = matrix[1], c = matrix[2], d = matrix[3], tx = matrix[4], ty = matrix[5], originSplit = origin.split(" "), xOrigin = parseFloat(originSplit[0]) || 0, yOrigin = parseFloat(originSplit[1]) || 0, bounds, determinant, x, y;
9298    if (!originIsAbsolute) {
9299      bounds = _getBBox(target);
9300      xOrigin = bounds.x + (~originSplit[0].indexOf("%") ? xOrigin / 100 * bounds.width : xOrigin);
9301      yOrigin = bounds.y + (~(originSplit[1] || originSplit[0]).indexOf("%") ? yOrigin / 100 * bounds.height : yOrigin);
9302    } else if (matrix !== _identity2DMatrix && (determinant = a * d - b * c)) {
9303      x = xOrigin * (d / determinant) + yOrigin * (-c / determinant) + (c * ty - d * tx) / determinant;
9304      y = xOrigin * (-b / determinant) + yOrigin * (a / determinant) - (a * ty - b * tx) / determinant;
9305      xOrigin = x;
9306      yOrigin = y;
9307    }
9308    if (smooth || smooth !== false && cache.smooth) {
9309      tx = xOrigin - xOriginOld;
9310      ty = yOrigin - yOriginOld;
9311      cache.xOffset = xOffsetOld + (tx * a + ty * c) - tx;
9312      cache.yOffset = yOffsetOld + (tx * b + ty * d) - ty;
9313    } else {
9314      cache.xOffset = cache.yOffset = 0;
9315    }
9316    cache.xOrigin = xOrigin;
9317    cache.yOrigin = yOrigin;
9318    cache.smooth = !!smooth;
9319    cache.origin = origin;
9320    cache.originIsAbsolute = !!originIsAbsolute;
9321    target.style[_transformOriginProp] = "0px 0px";
9322    if (pluginToAddPropTweensTo) {
9323      _addNonTweeningPT(pluginToAddPropTweensTo, cache, "xOrigin", xOriginOld, xOrigin);
9324      _addNonTweeningPT(pluginToAddPropTweensTo, cache, "yOrigin", yOriginOld, yOrigin);
9325      _addNonTweeningPT(pluginToAddPropTweensTo, cache, "xOffset", xOffsetOld, cache.xOffset);
9326      _addNonTweeningPT(pluginToAddPropTweensTo, cache, "yOffset", yOffsetOld, cache.yOffset);
9327    }
9328    target.setAttribute("data-svg-origin", xOrigin + " " + yOrigin);
9329  }, "_applySVGOrigin");
9330  var _parseTransform = /* @__PURE__ */ __name(function _parseTransform2(target, uncache) {
9331    var cache = target._gsap || new GSCache(target);
9332    if ("x" in cache && !uncache && !cache.uncache) {
9333      return cache;
9334    }
9335    var style = target.style, invertedScaleX = cache.scaleX < 0, px = "px", deg = "deg", cs = getComputedStyle(target), origin = _getComputedProperty(target, _transformOriginProp) || "0", x, y, z, scaleX, scaleY, rotation, rotationX, rotationY, skewX, skewY, perspective, xOrigin, yOrigin, matrix, angle, cos, sin, a, b, c, d, a12, a22, t1, t2, t3, a13, a23, a33, a42, a43, a32;
9336    x = y = z = rotation = rotationX = rotationY = skewX = skewY = perspective = 0;
9337    scaleX = scaleY = 1;
9338    cache.svg = !!(target.getCTM && _isSVG(target));
9339    if (cs.translate) {
9340      if (cs.translate !== "none" || cs.scale !== "none" || cs.rotate !== "none") {
9341        style[_transformProp] = (cs.translate !== "none" ? "translate3d(" + (cs.translate + " 0 0").split(" ").slice(0, 3).join(", ") + ") " : "") + (cs.rotate !== "none" ? "rotate(" + cs.rotate + ") " : "") + (cs.scale !== "none" ? "scale(" + cs.scale.split(" ").join(",") + ") " : "") + (cs[_transformProp] !== "none" ? cs[_transformProp] : "");
9342      }
9343      style.scale = style.rotate = style.translate = "none";
9344    }
9345    matrix = _getMatrix(target, cache.svg);
9346    if (cache.svg) {
9347      if (cache.uncache) {
9348        t2 = target.getBBox();
9349        origin = cache.xOrigin - t2.x + "px " + (cache.yOrigin - t2.y) + "px";
9350        t1 = "";
9351      } else {
9352        t1 = !uncache && target.getAttribute("data-svg-origin");
9353      }
9354      _applySVGOrigin(target, t1 || origin, !!t1 || cache.originIsAbsolute, cache.smooth !== false, matrix);
9355    }
9356    xOrigin = cache.xOrigin || 0;
9357    yOrigin = cache.yOrigin || 0;
9358    if (matrix !== _identity2DMatrix) {
9359      a = matrix[0];
9360      b = matrix[1];
9361      c = matrix[2];
9362      d = matrix[3];
9363      x = a12 = matrix[4];
9364      y = a22 = matrix[5];
9365      if (matrix.length === 6) {
9366        scaleX = Math.sqrt(a * a + b * b);
9367        scaleY = Math.sqrt(d * d + c * c);
9368        rotation = a || b ? _atan2(b, a) * _RAD2DEG : 0;
9369        skewX = c || d ? _atan2(c, d) * _RAD2DEG + rotation : 0;
9370        skewX && (scaleY *= Math.abs(Math.cos(skewX * _DEG2RAD)));
9371        if (cache.svg) {
9372          x -= xOrigin - (xOrigin * a + yOrigin * c);
9373          y -= yOrigin - (xOrigin * b + yOrigin * d);
9374        }
9375      } else {
9376        a32 = matrix[6];
9377        a42 = matrix[7];
9378        a13 = matrix[8];
9379        a23 = matrix[9];
9380        a33 = matrix[10];
9381        a43 = matrix[11];
9382        x = matrix[12];
9383        y = matrix[13];
9384        z = matrix[14];
9385        angle = _atan2(a32, a33);
9386        rotationX = angle * _RAD2DEG;
9387        if (angle) {
9388          cos = Math.cos(-angle);
9389          sin = Math.sin(-angle);
9390          t1 = a12 * cos + a13 * sin;
9391          t2 = a22 * cos + a23 * sin;
9392          t3 = a32 * cos + a33 * sin;
9393          a13 = a12 * -sin + a13 * cos;
9394          a23 = a22 * -sin + a23 * cos;
9395          a33 = a32 * -sin + a33 * cos;
9396          a43 = a42 * -sin + a43 * cos;
9397          a12 = t1;
9398          a22 = t2;
9399          a32 = t3;
9400        }
9401        angle = _atan2(-c, a33);
9402        rotationY = angle * _RAD2DEG;
9403        if (angle) {
9404          cos = Math.cos(-angle);
9405          sin = Math.sin(-angle);
9406          t1 = a * cos - a13 * sin;
9407          t2 = b * cos - a23 * sin;
9408          t3 = c * cos - a33 * sin;
9409          a43 = d * sin + a43 * cos;
9410          a = t1;
9411          b = t2;
9412          c = t3;
9413        }
9414        angle = _atan2(b, a);
9415        rotation = angle * _RAD2DEG;
9416        if (angle) {
9417          cos = Math.cos(angle);
9418          sin = Math.sin(angle);
9419          t1 = a * cos + b * sin;
9420          t2 = a12 * cos + a22 * sin;
9421          b = b * cos - a * sin;
9422          a22 = a22 * cos - a12 * sin;
9423          a = t1;
9424          a12 = t2;
9425        }
9426        if (rotationX && Math.abs(rotationX) + Math.abs(rotation) > 359.9) {
9427          rotationX = rotation = 0;
9428          rotationY = 180 - rotationY;
9429        }
9430        scaleX = _round(Math.sqrt(a * a + b * b + c * c));
9431        scaleY = _round(Math.sqrt(a22 * a22 + a32 * a32));
9432        angle = _atan2(a12, a22);
9433        skewX = Math.abs(angle) > 2e-4 ? angle * _RAD2DEG : 0;
9434        perspective = a43 ? 1 / (a43 < 0 ? -a43 : a43) : 0;
9435      }
9436      if (cache.svg) {
9437        t1 = target.getAttribute("transform");
9438        cache.forceCSS = target.setAttribute("transform", "") || !_isNullTransform(_getComputedProperty(target, _transformProp));
9439        t1 && target.setAttribute("transform", t1);
9440      }
9441    }
9442    if (Math.abs(skewX) > 90 && Math.abs(skewX) < 270) {
9443      if (invertedScaleX) {
9444        scaleX *= -1;
9445        skewX += rotation <= 0 ? 180 : -180;
9446        rotation += rotation <= 0 ? 180 : -180;
9447      } else {
9448        scaleY *= -1;
9449        skewX += skewX <= 0 ? 180 : -180;
9450      }
9451    }
9452    uncache = uncache || cache.uncache;
9453    cache.x = x - ((cache.xPercent = x && (!uncache && cache.xPercent || (Math.round(target.offsetWidth / 2) === Math.round(-x) ? -50 : 0))) ? target.offsetWidth * cache.xPercent / 100 : 0) + px;
9454    cache.y = y - ((cache.yPercent = y && (!uncache && cache.yPercent || (Math.round(target.offsetHeight / 2) === Math.round(-y) ? -50 : 0))) ? target.offsetHeight * cache.yPercent / 100 : 0) + px;
9455    cache.z = z + px;
9456    cache.scaleX = _round(scaleX);
9457    cache.scaleY = _round(scaleY);
9458    cache.rotation = _round(rotation) + deg;
9459    cache.rotationX = _round(rotationX) + deg;
9460    cache.rotationY = _round(rotationY) + deg;
9461    cache.skewX = skewX + deg;
9462    cache.skewY = skewY + deg;
9463    cache.transformPerspective = perspective + px;
9464    if (cache.zOrigin = parseFloat(origin.split(" ")[2]) || !uncache && cache.zOrigin || 0) {
9465      style[_transformOriginProp] = _firstTwoOnly(origin);
9466    }
9467    cache.xOffset = cache.yOffset = 0;
9468    cache.force3D = _config.force3D;
9469    cache.renderTransform = cache.svg ? _renderSVGTransforms : _supports3D ? _renderCSSTransforms : _renderNon3DTransforms;
9470    cache.uncache = 0;
9471    return cache;
9472  }, "_parseTransform");
9473  var _firstTwoOnly = /* @__PURE__ */ __name(function _firstTwoOnly2(value) {
9474    return (value = value.split(" "))[0] + " " + value[1];
9475  }, "_firstTwoOnly");
9476  var _addPxTranslate = /* @__PURE__ */ __name(function _addPxTranslate2(target, start, value) {
9477    var unit = getUnit(start);
9478    return _round(parseFloat(start) + parseFloat(_convertToUnit(target, "x", value + "px", unit))) + unit;
9479  }, "_addPxTranslate");
9480  var _renderNon3DTransforms = /* @__PURE__ */ __name(function _renderNon3DTransforms2(ratio, cache) {
9481    cache.z = "0px";
9482    cache.rotationY = cache.rotationX = "0deg";
9483    cache.force3D = 0;
9484    _renderCSSTransforms(ratio, cache);
9485  }, "_renderNon3DTransforms");
9486  var _zeroDeg = "0deg";
9487  var _zeroPx = "0px";
9488  var _endParenthesis = ") ";
9489  var _renderCSSTransforms = /* @__PURE__ */ __name(function _renderCSSTransforms2(ratio, cache) {
9490    var _ref = cache || this, xPercent = _ref.xPercent, yPercent = _ref.yPercent, x = _ref.x, y = _ref.y, z = _ref.z, rotation = _ref.rotation, rotationY = _ref.rotationY, rotationX = _ref.rotationX, skewX = _ref.skewX, skewY = _ref.skewY, scaleX = _ref.scaleX, scaleY = _ref.scaleY, transformPerspective = _ref.transformPerspective, force3D = _ref.force3D, target = _ref.target, zOrigin = _ref.zOrigin, transforms = "", use3D = force3D === "auto" && ratio && ratio !== 1 || force3D === true;
9491    if (zOrigin && (rotationX !== _zeroDeg || rotationY !== _zeroDeg)) {
9492      var angle = parseFloat(rotationY) * _DEG2RAD, a13 = Math.sin(angle), a33 = Math.cos(angle), cos;
9493      angle = parseFloat(rotationX) * _DEG2RAD;
9494      cos = Math.cos(angle);
9495      x = _addPxTranslate(target, x, a13 * cos * -zOrigin);
9496      y = _addPxTranslate(target, y, -Math.sin(angle) * -zOrigin);
9497      z = _addPxTranslate(target, z, a33 * cos * -zOrigin + zOrigin);
9498    }
9499    if (transformPerspective !== _zeroPx) {
9500      transforms += "perspective(" + transformPerspective + _endParenthesis;
9501    }
9502    if (xPercent || yPercent) {
9503      transforms += "translate(" + xPercent + "%, " + yPercent + "%) ";
9504    }
9505    if (use3D || x !== _zeroPx || y !== _zeroPx || z !== _zeroPx) {
9506      transforms += z !== _zeroPx || use3D ? "translate3d(" + x + ", " + y + ", " + z + ") " : "translate(" + x + ", " + y + _endParenthesis;
9507    }
9508    if (rotation !== _zeroDeg) {
9509      transforms += "rotate(" + rotation + _endParenthesis;
9510    }
9511    if (rotationY !== _zeroDeg) {
9512      transforms += "rotateY(" + rotationY + _endParenthesis;
9513    }
9514    if (rotationX !== _zeroDeg) {
9515      transforms += "rotateX(" + rotationX + _endParenthesis;
9516    }
9517    if (skewX !== _zeroDeg || skewY !== _zeroDeg) {
9518      transforms += "skew(" + skewX + ", " + skewY + _endParenthesis;
9519    }
9520    if (scaleX !== 1 || scaleY !== 1) {
9521      transforms += "scale(" + scaleX + ", " + scaleY + _endParenthesis;
9522    }
9523    target.style[_transformProp] = transforms || "translate(0, 0)";
9524  }, "_renderCSSTransforms");
9525  var _renderSVGTransforms = /* @__PURE__ */ __name(function _renderSVGTransforms2(ratio, cache) {
9526    var _ref2 = cache || this, xPercent = _ref2.xPercent, yPercent = _ref2.yPercent, x = _ref2.x, y = _ref2.y, rotation = _ref2.rotation, skewX = _ref2.skewX, skewY = _ref2.skewY, scaleX = _ref2.scaleX, scaleY = _ref2.scaleY, target = _ref2.target, xOrigin = _ref2.xOrigin, yOrigin = _ref2.yOrigin, xOffset = _ref2.xOffset, yOffset = _ref2.yOffset, forceCSS = _ref2.forceCSS, tx = parseFloat(x), ty = parseFloat(y), a11, a21, a12, a22, temp;
9527    rotation = parseFloat(rotation);
9528    skewX = parseFloat(skewX);
9529    skewY = parseFloat(skewY);
9530    if (skewY) {
9531      skewY = parseFloat(skewY);
9532      skewX += skewY;
9533      rotation += skewY;
9534    }
9535    if (rotation || skewX) {
9536      rotation *= _DEG2RAD;
9537      skewX *= _DEG2RAD;
9538      a11 = Math.cos(rotation) * scaleX;
9539      a21 = Math.sin(rotation) * scaleX;
9540      a12 = Math.sin(rotation - skewX) * -scaleY;
9541      a22 = Math.cos(rotation - skewX) * scaleY;
9542      if (skewX) {
9543        skewY *= _DEG2RAD;
9544        temp = Math.tan(skewX - skewY);
9545        temp = Math.sqrt(1 + temp * temp);
9546        a12 *= temp;
9547        a22 *= temp;
9548        if (skewY) {
9549          temp = Math.tan(skewY);
9550          temp = Math.sqrt(1 + temp * temp);
9551          a11 *= temp;
9552          a21 *= temp;
9553        }
9554      }
9555      a11 = _round(a11);
9556      a21 = _round(a21);
9557      a12 = _round(a12);
9558      a22 = _round(a22);
9559    } else {
9560      a11 = scaleX;
9561      a22 = scaleY;
9562      a21 = a12 = 0;
9563    }
9564    if (tx && !~(x + "").indexOf("px") || ty && !~(y + "").indexOf("px")) {
9565      tx = _convertToUnit(target, "x", x, "px");
9566      ty = _convertToUnit(target, "y", y, "px");
9567    }
9568    if (xOrigin || yOrigin || xOffset || yOffset) {
9569      tx = _round(tx + xOrigin - (xOrigin * a11 + yOrigin * a12) + xOffset);
9570      ty = _round(ty + yOrigin - (xOrigin * a21 + yOrigin * a22) + yOffset);
9571    }
9572    if (xPercent || yPercent) {
9573      temp = target.getBBox();
9574      tx = _round(tx + xPercent / 100 * temp.width);
9575      ty = _round(ty + yPercent / 100 * temp.height);
9576    }
9577    temp = "matrix(" + a11 + "," + a21 + "," + a12 + "," + a22 + "," + tx + "," + ty + ")";
9578    target.setAttribute("transform", temp);
9579    forceCSS && (target.style[_transformProp] = temp);
9580  }, "_renderSVGTransforms");
9581  var _addRotationalPropTween = /* @__PURE__ */ __name(function _addRotationalPropTween2(plugin, target, property, startNum, endValue) {
9582    var cap = 360, isString = _isString(endValue), endNum = parseFloat(endValue) * (isString && ~endValue.indexOf("rad") ? _RAD2DEG : 1), change = endNum - startNum, finalValue = startNum + change + "deg", direction, pt;
9583    if (isString) {
9584      direction = endValue.split("_")[1];
9585      if (direction === "short") {
9586        change %= cap;
9587        if (change !== change % (cap / 2)) {
9588          change += change < 0 ? cap : -cap;
9589        }
9590      }
9591      if (direction === "cw" && change < 0) {
9592        change = (change + cap * _bigNum2) % cap - ~~(change / cap) * cap;
9593      } else if (direction === "ccw" && change > 0) {
9594        change = (change - cap * _bigNum2) % cap - ~~(change / cap) * cap;
9595      }
9596    }
9597    plugin._pt = pt = new PropTween(plugin._pt, target, property, startNum, change, _renderPropWithEnd);
9598    pt.e = finalValue;
9599    pt.u = "deg";
9600    plugin._props.push(property);
9601    return pt;
9602  }, "_addRotationalPropTween");
9603  var _assign = /* @__PURE__ */ __name(function _assign2(target, source) {
9604    for (var p in source) {
9605      target[p] = source[p];
9606    }
9607    return target;
9608  }, "_assign");
9609  var _addRawTransformPTs = /* @__PURE__ */ __name(function _addRawTransformPTs2(plugin, transforms, target) {
9610    var startCache = _assign({}, target._gsap), exclude = "perspective,force3D,transformOrigin,svgOrigin", style = target.style, endCache, p, startValue, endValue, startNum, endNum, startUnit, endUnit;
9611    if (startCache.svg) {
9612      startValue = target.getAttribute("transform");
9613      target.setAttribute("transform", "");
9614      style[_transformProp] = transforms;
9615      endCache = _parseTransform(target, 1);
9616      _removeProperty(target, _transformProp);
9617      target.setAttribute("transform", startValue);
9618    } else {
9619      startValue = getComputedStyle(target)[_transformProp];
9620      style[_transformProp] = transforms;
9621      endCache = _parseTransform(target, 1);
9622      style[_transformProp] = startValue;
9623    }
9624    for (p in _transformProps) {
9625      startValue = startCache[p];
9626      endValue = endCache[p];
9627      if (startValue !== endValue && exclude.indexOf(p) < 0) {
9628        startUnit = getUnit(startValue);
9629        endUnit = getUnit(endValue);
9630        startNum = startUnit !== endUnit ? _convertToUnit(target, p, startValue, endUnit) : parseFloat(startValue);
9631        endNum = parseFloat(endValue);
9632        plugin._pt = new PropTween(plugin._pt, endCache, p, startNum, endNum - startNum, _renderCSSProp);
9633        plugin._pt.u = endUnit || 0;
9634        plugin._props.push(p);
9635      }
9636    }
9637    _assign(endCache, startCache);
9638  }, "_addRawTransformPTs");
9639  _forEachName("padding,margin,Width,Radius", function(name, index) {
9640    var t = "Top", r = "Right", b = "Bottom", l = "Left", props = (index < 3 ? [t, r, b, l] : [t + l, t + r, b + r, b + l]).map(function(side) {
9641      return index < 2 ? name + side : "border" + side + name;
9642    });
9643    _specialProps[index > 1 ? "border" + name : name] = function(plugin, target, property, endValue, tween) {
9644      var a, vars;
9645      if (arguments.length < 4) {
9646        a = props.map(function(prop) {
9647          return _get(plugin, prop, property);
9648        });
9649        vars = a.join(" ");
9650        return vars.split(a[0]).length === 5 ? a[0] : vars;
9651      }
9652      a = (endValue + "").split(" ");
9653      vars = {};
9654      props.forEach(function(prop, i) {
9655        return vars[prop] = a[i] = a[i] || a[(i - 1) / 2 | 0];
9656      });
9657      plugin.init(target, vars, tween);
9658    };
9659  });
9660  var CSSPlugin = {
9661    name: "css",
9662    register: _initCore,
9663    targetTest: /* @__PURE__ */ __name(function targetTest(target) {
9664      return target.style && target.nodeType;
9665    }, "targetTest"),
9666    init: /* @__PURE__ */ __name(function init4(target, vars, tween, index, targets) {
9667      var props = this._props, style = target.style, startAt = tween.vars.startAt, startValue, endValue, endNum, startNum, type, specialProp, p, startUnit, endUnit, relative, isTransformRelated, transformPropTween, cache, smooth, hasPriority, inlineProps, finalTransformValue;
9668      _pluginInitted || _initCore();
9669      this.styles = this.styles || _getStyleSaver(target);
9670      inlineProps = this.styles.props;
9671      this.tween = tween;
9672      for (p in vars) {
9673        if (p === "autoRound") {
9674          continue;
9675        }
9676        endValue = vars[p];
9677        if (_plugins[p] && _checkPlugin(p, vars, tween, index, target, targets)) {
9678          continue;
9679        }
9680        type = typeof endValue;
9681        specialProp = _specialProps[p];
9682        if (type === "function") {
9683          endValue = endValue.call(tween, index, target, targets);
9684          type = typeof endValue;
9685        }
9686        if (type === "string" && ~endValue.indexOf("random(")) {
9687          endValue = _replaceRandom(endValue);
9688        }
9689        if (specialProp) {
9690          specialProp(this, target, p, endValue, tween) && (hasPriority = 1);
9691        } else if (p.substr(0, 2) === "--") {
9692          startValue = (getComputedStyle(target).getPropertyValue(p) + "").trim();
9693          endValue += "";
9694          _colorExp.lastIndex = 0;
9695          if (!_colorExp.test(startValue)) {
9696            startUnit = getUnit(startValue);
9697            endUnit = getUnit(endValue);
9698            endUnit ? startUnit !== endUnit && (startValue = _convertToUnit(target, p, startValue, endUnit) + endUnit) : startUnit && (endValue += startUnit);
9699          }
9700          this.add(style, "setProperty", startValue, endValue, index, targets, 0, 0, p);
9701          props.push(p);
9702          inlineProps.push(p, 0, style[p]);
9703        } else if (type !== "undefined") {
9704          if (startAt && p in startAt) {
9705            startValue = typeof startAt[p] === "function" ? startAt[p].call(tween, index, target, targets) : startAt[p];
9706            _isString(startValue) && ~startValue.indexOf("random(") && (startValue = _replaceRandom(startValue));
9707            getUnit(startValue + "") || startValue === "auto" || (startValue += _config.units[p] || getUnit(_get(target, p)) || "");
9708            (startValue + "").charAt(1) === "=" && (startValue = _get(target, p));
9709          } else {
9710            startValue = _get(target, p);
9711          }
9712          startNum = parseFloat(startValue);
9713          relative = type === "string" && endValue.charAt(1) === "=" && endValue.substr(0, 2);
9714          relative && (endValue = endValue.substr(2));
9715          endNum = parseFloat(endValue);
9716          if (p in _propertyAliases) {
9717            if (p === "autoAlpha") {
9718              if (startNum === 1 && _get(target, "visibility") === "hidden" && endNum) {
9719                startNum = 0;
9720              }
9721              inlineProps.push("visibility", 0, style.visibility);
9722              _addNonTweeningPT(this, style, "visibility", startNum ? "inherit" : "hidden", endNum ? "inherit" : "hidden", !endNum);
9723            }
9724            if (p !== "scale" && p !== "transform") {
9725              p = _propertyAliases[p];
9726              ~p.indexOf(",") && (p = p.split(",")[0]);
9727            }
9728          }
9729          isTransformRelated = p in _transformProps;
9730          if (isTransformRelated) {
9731            this.styles.save(p);
9732            finalTransformValue = endValue;
9733            if (type === "string" && endValue.substring(0, 6) === "var(--") {
9734              endValue = _getComputedProperty(target, endValue.substring(4, endValue.indexOf(")")));
9735              if (endValue.substring(0, 5) === "calc(") {
9736                var origPerspective = target.style.perspective;
9737                target.style.perspective = endValue;
9738                endValue = _getComputedProperty(target, "perspective");
9739                origPerspective ? target.style.perspective = origPerspective : _removeProperty(target, "perspective");
9740              }
9741              endNum = parseFloat(endValue);
9742            }
9743            if (!transformPropTween) {
9744              cache = target._gsap;
9745              cache.renderTransform && !vars.parseTransform || _parseTransform(target, vars.parseTransform);
9746              smooth = vars.smoothOrigin !== false && cache.smooth;
9747              transformPropTween = this._pt = new PropTween(this._pt, style, _transformProp, 0, 1, cache.renderTransform, cache, 0, -1);
9748              transformPropTween.dep = 1;
9749            }
9750            if (p === "scale") {
9751              this._pt = new PropTween(this._pt, cache, "scaleY", cache.scaleY, (relative ? _parseRelative(cache.scaleY, relative + endNum) : endNum) - cache.scaleY || 0, _renderCSSProp);
9752              this._pt.u = 0;
9753              props.push("scaleY", p);
9754              p += "X";
9755            } else if (p === "transformOrigin") {
9756              inlineProps.push(_transformOriginProp, 0, style[_transformOriginProp]);
9757              endValue = _convertKeywordsToPercentages(endValue);
9758              if (cache.svg) {
9759                _applySVGOrigin(target, endValue, 0, smooth, 0, this);
9760              } else {
9761                endUnit = parseFloat(endValue.split(" ")[2]) || 0;
9762                endUnit !== cache.zOrigin && _addNonTweeningPT(this, cache, "zOrigin", cache.zOrigin, endUnit);
9763                _addNonTweeningPT(this, style, p, _firstTwoOnly(startValue), _firstTwoOnly(endValue));
9764              }
9765              continue;
9766            } else if (p === "svgOrigin") {
9767              _applySVGOrigin(target, endValue, 1, smooth, 0, this);
9768              continue;
9769            } else if (p in _rotationalProperties) {
9770              _addRotationalPropTween(this, cache, p, startNum, relative ? _parseRelative(startNum, relative + endValue) : endValue);
9771              continue;
9772            } else if (p === "smoothOrigin") {
9773              _addNonTweeningPT(this, cache, "smooth", cache.smooth, endValue);
9774              continue;
9775            } else if (p === "force3D") {
9776              cache[p] = endValue;
9777              continue;
9778            } else if (p === "transform") {
9779              _addRawTransformPTs(this, endValue, target);
9780              continue;
9781            }
9782          } else if (!(p in style)) {
9783            p = _checkPropPrefix(p) || p;
9784          }
9785          if (isTransformRelated || (endNum || endNum === 0) && (startNum || startNum === 0) && !_complexExp.test(endValue) && p in style) {
9786            startUnit = (startValue + "").substr((startNum + "").length);
9787            endNum || (endNum = 0);
9788            endUnit = getUnit(endValue) || (p in _config.units ? _config.units[p] : startUnit);
9789            startUnit !== endUnit && (startNum = _convertToUnit(target, p, startValue, endUnit));
9790            this._pt = new PropTween(this._pt, isTransformRelated ? cache : style, p, startNum, (relative ? _parseRelative(startNum, relative + endNum) : endNum) - startNum, !isTransformRelated && (endUnit === "px" || p === "zIndex") && vars.autoRound !== false ? _renderRoundedCSSProp : _renderCSSProp);
9791            this._pt.u = endUnit || 0;
9792            if (isTransformRelated && finalTransformValue !== endValue) {
9793              this._pt.b = startValue;
9794              this._pt.e = finalTransformValue;
9795              this._pt.r = _renderCSSPropWithBeginningAndEnd;
9796            } else if (startUnit !== endUnit && endUnit !== "%") {
9797              this._pt.b = startValue;
9798              this._pt.r = _renderCSSPropWithBeginning;
9799            }
9800          } else if (!(p in style)) {
9801            if (p in target) {
9802              this.add(target, p, startValue || target[p], relative ? relative + endValue : endValue, index, targets);
9803            } else if (p !== "parseTransform") {
9804              _missingPlugin(p, endValue);
9805              continue;
9806            }
9807          } else {
9808            _tweenComplexCSSString.call(this, target, p, startValue, relative ? relative + endValue : endValue);
9809          }
9810          isTransformRelated || (p in style ? inlineProps.push(p, 0, style[p]) : typeof target[p] === "function" ? inlineProps.push(p, 2, target[p]()) : inlineProps.push(p, 1, startValue || target[p]));
9811          props.push(p);
9812        }
9813      }
9814      hasPriority && _sortPropTweensByPriority(this);
9815    }, "init"),
9816    render: /* @__PURE__ */ __name(function render2(ratio, data) {
9817      if (data.tween._time || !_reverting2()) {
9818        var pt = data._pt;
9819        while (pt) {
9820          pt.r(ratio, pt.d);
9821          pt = pt._next;
9822        }
9823      } else {
9824        data.styles.revert();
9825      }
9826    }, "render"),
9827    get: _get,
9828    aliases: _propertyAliases,
9829    getSetter: /* @__PURE__ */ __name(function getSetter(target, property, plugin) {
9830      var p = _propertyAliases[property];
9831      p && p.indexOf(",") < 0 && (property = p);
9832      return property in _transformProps && property !== _transformOriginProp && (target._gsap.x || _get(target, "x")) ? plugin && _recentSetterPlugin === plugin ? property === "scale" ? _setterScale : _setterTransform : (_recentSetterPlugin = plugin || {}) && (property === "scale" ? _setterScaleWithRender : _setterTransformWithRender) : target.style && !_isUndefined(target.style[property]) ? _setterCSSStyle : ~property.indexOf("-") ? _setterCSSProp : _getSetter(target, property);
9833    }, "getSetter"),
9834    core: {
9835      _removeProperty,
9836      _getMatrix
9837    }
9838  };
9839  gsap.utils.checkPrefix = _checkPropPrefix;
9840  gsap.core.getStyleSaver = _getStyleSaver;
9841  (function(positionAndScale, rotation, others, aliases) {
9842    var all = _forEachName(positionAndScale + "," + rotation + "," + others, function(name) {
9843      _transformProps[name] = 1;
9844    });
9845    _forEachName(rotation, function(name) {
9846      _config.units[name] = "deg";
9847      _rotationalProperties[name] = 1;
9848    });
9849    _propertyAliases[all[13]] = positionAndScale + "," + rotation;
9850    _forEachName(aliases, function(name) {
9851      var split = name.split(":");
9852      _propertyAliases[split[1]] = all[split[0]];
9853    });
9854  })("x,y,z,scale,scaleX,scaleY,xPercent,yPercent", "rotation,rotationX,rotationY,skewX,skewY", "transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective", "0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY");
9855  _forEachName("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective", function(name) {
9856    _config.units[name] = "px";
9857  });
9858  gsap.registerPlugin(CSSPlugin);
9859
9860  
vendor: 141 bytes, lines 9860-9864
9860// node_modules/gsap/index.js
9861  var gsapWithCSS = gsap.registerPlugin(CSSPlugin) || gsap;
9862  var TweenMaxWithCSS = gsapWithCSS.core.Tween;
9863
9864  
vendor: 23,656 bytes, lines 9864-10350
9864// node_modules/gsap/Observer.js
9865  function _defineProperties(target, props) {
9866    for (var i = 0; i < props.length; i++) {
9867      var descriptor = props[i];
9868      descriptor.enumerable = descriptor.enumerable || false;
9869      descriptor.configurable = true;
9870      if ("value" in descriptor) descriptor.writable = true;
9871      Object.defineProperty(target, descriptor.key, descriptor);
9872    }
9873  }
9874  __name(_defineProperties, "_defineProperties");
9875  function _createClass(Constructor, protoProps, staticProps) {
9876    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
9877    if (staticProps) _defineProperties(Constructor, staticProps);
9878    return Constructor;
9879  }
9880  __name(_createClass, "_createClass");
9881  var gsap2;
9882  var _coreInitted2;
9883  var _clamp3;
9884  var _win3;
9885  var _doc3;
9886  var _docEl;
9887  var _body;
9888  var _isTouch;
9889  var _pointerType;
9890  var ScrollTrigger;
9891  var _root;
9892  var _normalizer;
9893  var _eventTypes;
9894  var _context2;
9895  var _getGSAP = /* @__PURE__ */ __name(function _getGSAP2() {
9896    return gsap2 || typeof window !== "undefined" && (gsap2 = window.gsap) && gsap2.registerPlugin && gsap2;
9897  }, "_getGSAP");
9898  var _startup = 1;
9899  var _observers = [];
9900  var _scrollers = [];
9901  var _proxies = [];
9902  var _getTime = Date.now;
9903  var _bridge = /* @__PURE__ */ __name(function _bridge2(name, value) {
9904    return value;
9905  }, "_bridge");
9906  var _integrate = /* @__PURE__ */ __name(function _integrate2() {
9907    var core = ScrollTrigger.core, data = core.bridge || {}, scrollers = core._scrollers, proxies = core._proxies;
9908    scrollers.push.apply(scrollers, _scrollers);
9909    proxies.push.apply(proxies, _proxies);
9910    _scrollers = scrollers;
9911    _proxies = proxies;
9912    _bridge = /* @__PURE__ */ __name(function _bridge3(name, value) {
9913      return data[name](value);
9914    }, "_bridge");
9915  }, "_integrate");
9916  var _getProxyProp = /* @__PURE__ */ __name(function _getProxyProp2(element, property) {
9917    return ~_proxies.indexOf(element) && _proxies[_proxies.indexOf(element) + 1][property];
9918  }, "_getProxyProp");
9919  var _isViewport = /* @__PURE__ */ __name(function _isViewport2(el) {
9920    return !!~_root.indexOf(el);
9921  }, "_isViewport");
9922  var _addListener = /* @__PURE__ */ __name(function _addListener2(element, type, func, passive, capture) {
9923    return element.addEventListener(type, func, {
9924      passive: passive !== false,
9925      capture: !!capture
9926    });
9927  }, "_addListener");
9928  var _removeListener = /* @__PURE__ */ __name(function _removeListener2(element, type, func, capture) {
9929    return element.removeEventListener(type, func, !!capture);
9930  }, "_removeListener");
9931  var _scrollLeft = "scrollLeft";
9932  var _scrollTop = "scrollTop";
9933  var _onScroll = /* @__PURE__ */ __name(function _onScroll2() {
9934    return _normalizer && _normalizer.isPressed || _scrollers.cache++;
9935  }, "_onScroll");
9936  var _scrollCacheFunc = /* @__PURE__ */ __name(function _scrollCacheFunc2(f, doNotCache) {
9937    var cachingFunc = /* @__PURE__ */ __name(function cachingFunc2(value) {
9938      if (value || value === 0) {
9939        _startup && (_win3.history.scrollRestoration = "manual");
9940        var isNormalizing = _normalizer && _normalizer.isPressed;
9941        value = cachingFunc2.v = Math.round(value) || (_normalizer && _normalizer.iOS ? 1 : 0);
9942        f(value);
9943        cachingFunc2.cacheID = _scrollers.cache;
9944        isNormalizing && _bridge("ss", value);
9945      } else if (doNotCache || _scrollers.cache !== cachingFunc2.cacheID || _bridge("ref")) {
9946        cachingFunc2.cacheID = _scrollers.cache;
9947        cachingFunc2.v = f();
9948      }
9949      return cachingFunc2.v + cachingFunc2.offset;
9950    }, "cachingFunc");
9951    cachingFunc.offset = 0;
9952    return f && cachingFunc;
9953  }, "_scrollCacheFunc");
9954  var _horizontal = {
9955    s: _scrollLeft,
9956    p: "left",
9957    p2: "Left",
9958    os: "right",
9959    os2: "Right",
9960    d: "width",
9961    d2: "Width",
9962    a: "x",
9963    sc: _scrollCacheFunc(function(value) {
9964      return arguments.length ? _win3.scrollTo(value, _vertical.sc()) : _win3.pageXOffset || _doc3[_scrollLeft] || _docEl[_scrollLeft] || _body[_scrollLeft] || 0;
9965    })
9966  };
9967  var _vertical = {
9968    s: _scrollTop,
9969    p: "top",
9970    p2: "Top",
9971    os: "bottom",
9972    os2: "Bottom",
9973    d: "height",
9974    d2: "Height",
9975    a: "y",
9976    op: _horizontal,
9977    sc: _scrollCacheFunc(function(value) {
9978      return arguments.length ? _win3.scrollTo(_horizontal.sc(), value) : _win3.pageYOffset || _doc3[_scrollTop] || _docEl[_scrollTop] || _body[_scrollTop] || 0;
9979    })
9980  };
9981  var _getTarget = /* @__PURE__ */ __name(function _getTarget2(t, self2) {
9982    return (self2 && self2._ctx && self2._ctx.selector || gsap2.utils.toArray)(t)[0] || (typeof t === "string" && gsap2.config().nullTargetWarn !== false ? console.warn("Element not found:", t) : null);
9983  }, "_getTarget");
9984  var _isWithin = /* @__PURE__ */ __name(function _isWithin2(element, list) {
9985    var i = list.length;
9986    while (i--) {
9987      if (list[i] === element || list[i].contains(element)) {
9988        return true;
9989      }
9990    }
9991    return false;
9992  }, "_isWithin");
9993  var _getScrollFunc = /* @__PURE__ */ __name(function _getScrollFunc2(element, _ref) {
9994    var s = _ref.s, sc = _ref.sc;
9995    _isViewport(element) && (element = _doc3.scrollingElement || _docEl);
9996    var i = _scrollers.indexOf(element), offset = sc === _vertical.sc ? 1 : 2;
9997    !~i && (i = _scrollers.push(element) - 1);
9998    _scrollers[i + offset] || _addListener(element, "scroll", _onScroll);
9999    var prev = _scrollers[i + offset], func = prev || (_scrollers[i + offset] = _scrollCacheFunc(_getProxyProp(element, s), true) || (_isViewport(element) ? sc : _scrollCacheFunc(function(value) {
10000      return arguments.length ? element[s] = value : element[s];
10001    })));
10002    func.target = element;
10003    prev || (func.smooth = gsap2.getProperty(element, "scrollBehavior") === "smooth");
10004    return func;
10005  }, "_getScrollFunc");
10006  var _getVelocityProp = /* @__PURE__ */ __name(function _getVelocityProp2(value, minTimeRefresh, useDelta) {
10007    var v1 = value, v2 = value, t1 = _getTime(), t2 = t1, min = minTimeRefresh || 50, dropToZeroTime = Math.max(500, min * 3), update2 = /* @__PURE__ */ __name(function update3(value2, force) {
10008      var t = _getTime();
10009      if (force || t - t1 > min) {
10010        v2 = v1;
10011        v1 = value2;
10012        t2 = t1;
10013        t1 = t;
10014      } else if (useDelta) {
10015        v1 += value2;
10016      } else {
10017        v1 = v2 + (value2 - v2) / (t - t2) * (t1 - t2);
10018      }
10019    }, "update"), reset2 = /* @__PURE__ */ __name(function reset3() {
10020      v2 = v1 = useDelta ? 0 : v1;
10021      t2 = t1 = 0;
10022    }, "reset"), getVelocity = /* @__PURE__ */ __name(function getVelocity2(latestValue) {
10023      var tOld = t2, vOld = v2, t = _getTime();
10024      (latestValue || latestValue === 0) && latestValue !== v1 && update2(latestValue);
10025      return t1 === t2 || t - t2 > dropToZeroTime ? 0 : (v1 + (useDelta ? vOld : -vOld)) / ((useDelta ? t : t1) - tOld) * 1e3;
10026    }, "getVelocity");
10027    return {
10028      update: update2,
10029      reset: reset2,
10030      getVelocity
10031    };
10032  }, "_getVelocityProp");
10033  var _getEvent = /* @__PURE__ */ __name(function _getEvent2(e, preventDefault) {
10034    preventDefault && !e._gsapAllow && e.preventDefault();
10035    return e.changedTouches ? e.changedTouches[0] : e;
10036  }, "_getEvent");
10037  var _getAbsoluteMax = /* @__PURE__ */ __name(function _getAbsoluteMax2(a) {
10038    var max = Math.max.apply(Math, a), min = Math.min.apply(Math, a);
10039    return Math.abs(max) >= Math.abs(min) ? max : min;
10040  }, "_getAbsoluteMax");
10041  var _setScrollTrigger = /* @__PURE__ */ __name(function _setScrollTrigger2() {
10042    ScrollTrigger = gsap2.core.globals().ScrollTrigger;
10043    ScrollTrigger && ScrollTrigger.core && _integrate();
10044  }, "_setScrollTrigger");
10045  var _initCore3 = /* @__PURE__ */ __name(function _initCore4(core) {
10046    gsap2 = core || _getGSAP();
10047    if (!_coreInitted2 && gsap2 && typeof document !== "undefined" && document.body) {
10048      _win3 = window;
10049      _doc3 = document;
10050      _docEl = _doc3.documentElement;
10051      _body = _doc3.body;
10052      _root = [_win3, _doc3, _docEl, _body];
10053      _clamp3 = gsap2.utils.clamp;
10054      _context2 = gsap2.core.context || function() {
10055      };
10056      _pointerType = "onpointerenter" in _body ? "pointer" : "mouse";
10057      _isTouch = Observer.isTouch = _win3.matchMedia && _win3.matchMedia("(hover: none), (pointer: coarse)").matches ? 1 : "ontouchstart" in _win3 || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0 ? 2 : 0;
10058      _eventTypes = Observer.eventTypes = ("ontouchstart" in _docEl ? "touchstart,touchmove,touchcancel,touchend" : !("onpointerdown" in _docEl) ? "mousedown,mousemove,mouseup,mouseup" : "pointerdown,pointermove,pointercancel,pointerup").split(",");
10059      setTimeout(function() {
10060        return _startup = 0;
10061      }, 500);
10062      _setScrollTrigger();
10063      _coreInitted2 = 1;
10064    }
10065    return _coreInitted2;
10066  }, "_initCore");
10067  _horizontal.op = _vertical;
10068  _scrollers.cache = 0;
10069  var Observer = /* @__PURE__ */ (function() {
10070    function Observer2(vars) {
10071      this.init(vars);
10072    }
10073    __name(Observer2, "Observer");
10074    var _proto = Observer2.prototype;
10075    _proto.init = /* @__PURE__ */ __name(function init5(vars) {
10076      _coreInitted2 || _initCore3(gsap2) || console.warn("Please gsap.registerPlugin(Observer)");
10077      ScrollTrigger || _setScrollTrigger();
10078      var tolerance = vars.tolerance, dragMinimum = vars.dragMinimum, type = vars.type, target = vars.target, lineHeight = vars.lineHeight, debounce = vars.debounce, preventDefault = vars.preventDefault, onStop = vars.onStop, onStopDelay = vars.onStopDelay, ignore = vars.ignore, wheelSpeed = vars.wheelSpeed, event = vars.event, onDragStart = vars.onDragStart, onDragEnd = vars.onDragEnd, onDrag = vars.onDrag, onPress = vars.onPress, onRelease = vars.onRelease, onRight = vars.onRight, onLeft = vars.onLeft, onUp = vars.onUp, onDown = vars.onDown, onChangeX = vars.onChangeX, onChangeY = vars.onChangeY, onChange = vars.onChange, onToggleX = vars.onToggleX, onToggleY = vars.onToggleY, onHover = vars.onHover, onHoverEnd = vars.onHoverEnd, onMove = vars.onMove, ignoreCheck = vars.ignoreCheck, isNormalizer = vars.isNormalizer, onGestureStart = vars.onGestureStart, onGestureEnd = vars.onGestureEnd, onWheel = vars.onWheel, onEnable = vars.onEnable, onDisable = vars.onDisable, onClick = vars.onClick, scrollSpeed = vars.scrollSpeed, capture = vars.capture, allowClicks = vars.allowClicks, lockAxis = vars.lockAxis, onLockAxis = vars.onLockAxis;
10079      this.target = target = _getTarget(target) || _docEl;
10080      this.vars = vars;
10081      ignore && (ignore = gsap2.utils.toArray(ignore));
10082      tolerance = tolerance || 1e-9;
10083      dragMinimum = dragMinimum || 0;
10084      wheelSpeed = wheelSpeed || 1;
10085      scrollSpeed = scrollSpeed || 1;
10086      type = type || "wheel,touch,pointer";
10087      debounce = debounce !== false;
10088      lineHeight || (lineHeight = parseFloat(_win3.getComputedStyle(_body).lineHeight) || 22);
10089      var id, onStopDelayedCall, dragged, moved, wheeled, locked, axis, self2 = this, prevDeltaX = 0, prevDeltaY = 0, passive = vars.passive || !preventDefault && vars.passive !== false, scrollFuncX = _getScrollFunc(target, _horizontal), scrollFuncY = _getScrollFunc(target, _vertical), scrollX = scrollFuncX(), scrollY = scrollFuncY(), limitToTouch = ~type.indexOf("touch") && !~type.indexOf("pointer") && _eventTypes[0] === "pointerdown", isViewport = _isViewport(target), ownerDoc = target.ownerDocument || _doc3, deltaX = [0, 0, 0], deltaY = [0, 0, 0], onClickTime = 0, clickCapture = /* @__PURE__ */ __name(function clickCapture2() {
10090        return onClickTime = _getTime();
10091      }, "clickCapture"), _ignoreCheck = /* @__PURE__ */ __name(function _ignoreCheck2(e, isPointerOrTouch) {
10092        return (self2.event = e) && ignore && _isWithin(e.target, ignore) || isPointerOrTouch && limitToTouch && e.pointerType !== "touch" || ignoreCheck && ignoreCheck(e, isPointerOrTouch);
10093      }, "_ignoreCheck"), onStopFunc = /* @__PURE__ */ __name(function onStopFunc2() {
10094        self2._vx.reset();
10095        self2._vy.reset();
10096        onStopDelayedCall.pause();
10097        onStop && onStop(self2);
10098      }, "onStopFunc"), update2 = /* @__PURE__ */ __name(function update3() {
10099        var dx = self2.deltaX = _getAbsoluteMax(deltaX), dy = self2.deltaY = _getAbsoluteMax(deltaY), changedX = Math.abs(dx) >= tolerance, changedY = Math.abs(dy) >= tolerance;
10100        onChange && (changedX || changedY) && onChange(self2, dx, dy, deltaX, deltaY);
10101        if (changedX) {
10102          onRight && self2.deltaX > 0 && onRight(self2);
10103          onLeft && self2.deltaX < 0 && onLeft(self2);
10104          onChangeX && onChangeX(self2);
10105          onToggleX && self2.deltaX < 0 !== prevDeltaX < 0 && onToggleX(self2);
10106          prevDeltaX = self2.deltaX;
10107          deltaX[0] = deltaX[1] = deltaX[2] = 0;
10108        }
10109        if (changedY) {
10110          onDown && self2.deltaY > 0 && onDown(self2);
10111          onUp && self2.deltaY < 0 && onUp(self2);
10112          onChangeY && onChangeY(self2);
10113          onToggleY && self2.deltaY < 0 !== prevDeltaY < 0 && onToggleY(self2);
10114          prevDeltaY = self2.deltaY;
10115          deltaY[0] = deltaY[1] = deltaY[2] = 0;
10116        }
10117        if (moved || dragged) {
10118          onMove && onMove(self2);
10119          if (dragged) {
10120            onDragStart && dragged === 1 && onDragStart(self2);
10121            onDrag && onDrag(self2);
10122            dragged = 0;
10123          }
10124          moved = false;
10125        }
10126        locked && !(locked = false) && onLockAxis && onLockAxis(self2);
10127        if (wheeled) {
10128          onWheel(self2);
10129          wheeled = false;
10130        }
10131        id = 0;
10132      }, "update"), onDelta = /* @__PURE__ */ __name(function onDelta2(x, y, index) {
10133        deltaX[index] += x;
10134        deltaY[index] += y;
10135        self2._vx.update(x);
10136        self2._vy.update(y);
10137        debounce ? id || (id = requestAnimationFrame(update2)) : update2();
10138      }, "onDelta"), onTouchOrPointerDelta = /* @__PURE__ */ __name(function onTouchOrPointerDelta2(x, y) {
10139        if (lockAxis && !axis) {
10140          self2.axis = axis = Math.abs(x) > Math.abs(y) ? "x" : "y";
10141          locked = true;
10142        }
10143        if (axis !== "y") {
10144          deltaX[2] += x;
10145          self2._vx.update(x, true);
10146        }
10147        if (axis !== "x") {
10148          deltaY[2] += y;
10149          self2._vy.update(y, true);
10150        }
10151        debounce ? id || (id = requestAnimationFrame(update2)) : update2();
10152      }, "onTouchOrPointerDelta"), _onDrag = /* @__PURE__ */ __name(function _onDrag2(e) {
10153        if (_ignoreCheck(e, 1)) {
10154          return;
10155        }
10156        e = _getEvent(e, preventDefault);
10157        var x = e.clientX, y = e.clientY, dx = x - self2.x, dy = y - self2.y, isDragging = self2.isDragging;
10158        self2.x = x;
10159        self2.y = y;
10160        if (isDragging || (dx || dy) && (Math.abs(self2.startX - x) >= dragMinimum || Math.abs(self2.startY - y) >= dragMinimum)) {
10161          dragged || (dragged = isDragging ? 2 : 1);
10162          isDragging || (self2.isDragging = true);
10163          onTouchOrPointerDelta(dx, dy);
10164        }
10165      }, "_onDrag"), _onPress = self2.onPress = function(e) {
10166        if (_ignoreCheck(e, 1) || e && e.button) {
10167          return;
10168        }
10169        self2.axis = axis = null;
10170        onStopDelayedCall.pause();
10171        self2.isPressed = true;
10172        e = _getEvent(e);
10173        prevDeltaX = prevDeltaY = 0;
10174        self2.startX = self2.x = e.clientX;
10175        self2.startY = self2.y = e.clientY;
10176        self2._vx.reset();
10177        self2._vy.reset();
10178        _addListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, passive, true);
10179        self2.deltaX = self2.deltaY = 0;
10180        onPress && onPress(self2);
10181      }, _onRelease = self2.onRelease = function(e) {
10182        if (_ignoreCheck(e, 1)) {
10183          return;
10184        }
10185        _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);
10186        var isTrackingDrag = !isNaN(self2.y - self2.startY), wasDragging = self2.isDragging, isDragNotClick = wasDragging && (Math.abs(self2.x - self2.startX) > 3 || Math.abs(self2.y - self2.startY) > 3), eventData = _getEvent(e);
10187        if (!isDragNotClick && isTrackingDrag) {
10188          self2._vx.reset();
10189          self2._vy.reset();
10190          if (preventDefault && allowClicks) {
10191            gsap2.delayedCall(0.08, function() {
10192              if (_getTime() - onClickTime > 300 && !e.defaultPrevented) {
10193                if (e.target.click) {
10194                  e.target.click();
10195                } else if (ownerDoc.createEvent) {
10196                  var syntheticEvent = ownerDoc.createEvent("MouseEvents");
10197                  syntheticEvent.initMouseEvent("click", true, true, _win3, 1, eventData.screenX, eventData.screenY, eventData.clientX, eventData.clientY, false, false, false, false, 0, null);
10198                  e.target.dispatchEvent(syntheticEvent);
10199                }
10200              }
10201            });
10202          }
10203        }
10204        self2.isDragging = self2.isGesturing = self2.isPressed = false;
10205        onStop && wasDragging && !isNormalizer && onStopDelayedCall.restart(true);
10206        dragged && update2();
10207        onDragEnd && wasDragging && onDragEnd(self2);
10208        onRelease && onRelease(self2, isDragNotClick);
10209      }, _onGestureStart = /* @__PURE__ */ __name(function _onGestureStart2(e) {
10210        return e.touches && e.touches.length > 1 && (self2.isGesturing = true) && onGestureStart(e, self2.isDragging);
10211      }, "_onGestureStart"), _onGestureEnd = /* @__PURE__ */ __name(function _onGestureEnd2() {
10212        return (self2.isGesturing = false) || onGestureEnd(self2);
10213      }, "_onGestureEnd"), onScroll = /* @__PURE__ */ __name(function onScroll2(e) {
10214        if (_ignoreCheck(e)) {
10215          return;
10216        }
10217        var x = scrollFuncX(), y = scrollFuncY();
10218        onDelta((x - scrollX) * scrollSpeed, (y - scrollY) * scrollSpeed, 1);
10219        scrollX = x;
10220        scrollY = y;
10221        onStop && onStopDelayedCall.restart(true);
10222      }, "onScroll"), _onWheel = /* @__PURE__ */ __name(function _onWheel2(e) {
10223        if (_ignoreCheck(e)) {
10224          return;
10225        }
10226        e = _getEvent(e, preventDefault);
10227        onWheel && (wheeled = true);
10228        var multiplier = (e.deltaMode === 1 ? lineHeight : e.deltaMode === 2 ? _win3.innerHeight : 1) * wheelSpeed;
10229        onDelta(e.deltaX * multiplier, e.deltaY * multiplier, 0);
10230        onStop && !isNormalizer && onStopDelayedCall.restart(true);
10231      }, "_onWheel"), _onMove = /* @__PURE__ */ __name(function _onMove2(e) {
10232        if (_ignoreCheck(e)) {
10233          return;
10234        }
10235        var x = e.clientX, y = e.clientY, dx = x - self2.x, dy = y - self2.y;
10236        self2.x = x;
10237        self2.y = y;
10238        moved = true;
10239        onStop && onStopDelayedCall.restart(true);
10240        (dx || dy) && onTouchOrPointerDelta(dx, dy);
10241      }, "_onMove"), _onHover = /* @__PURE__ */ __name(function _onHover2(e) {
10242        self2.event = e;
10243        onHover(self2);
10244      }, "_onHover"), _onHoverEnd = /* @__PURE__ */ __name(function _onHoverEnd2(e) {
10245        self2.event = e;
10246        onHoverEnd(self2);
10247      }, "_onHoverEnd"), _onClick = /* @__PURE__ */ __name(function _onClick2(e) {
10248        return _ignoreCheck(e) || _getEvent(e, preventDefault) && onClick(self2);
10249      }, "_onClick");
10250      onStopDelayedCall = self2._dc = gsap2.delayedCall(onStopDelay || 0.25, onStopFunc).pause();
10251      self2.deltaX = self2.deltaY = 0;
10252      self2._vx = _getVelocityProp(0, 50, true);
10253      self2._vy = _getVelocityProp(0, 50, true);
10254      self2.scrollX = scrollFuncX;
10255      self2.scrollY = scrollFuncY;
10256      self2.isDragging = self2.isGesturing = self2.isPressed = false;
10257      _context2(this);
10258      self2.enable = function(e) {
10259        if (!self2.isEnabled) {
10260          _addListener(isViewport ? ownerDoc : target, "scroll", _onScroll);
10261          type.indexOf("scroll") >= 0 && _addListener(isViewport ? ownerDoc : target, "scroll", onScroll, passive, capture);
10262          type.indexOf("wheel") >= 0 && _addListener(target, "wheel", _onWheel, passive, capture);
10263          if (type.indexOf("touch") >= 0 && _isTouch || type.indexOf("pointer") >= 0) {
10264            _addListener(target, _eventTypes[0], _onPress, passive, capture);
10265            _addListener(ownerDoc, _eventTypes[2], _onRelease);
10266            _addListener(ownerDoc, _eventTypes[3], _onRelease);
10267            allowClicks && _addListener(target, "click", clickCapture, true, true);
10268            onClick && _addListener(target, "click", _onClick);
10269            onGestureStart && _addListener(ownerDoc, "gesturestart", _onGestureStart);
10270            onGestureEnd && _addListener(ownerDoc, "gestureend", _onGestureEnd);
10271            onHover && _addListener(target, _pointerType + "enter", _onHover);
10272            onHoverEnd && _addListener(target, _pointerType + "leave", _onHoverEnd);
10273            onMove && _addListener(target, _pointerType + "move", _onMove);
10274          }
10275          self2.isEnabled = true;
10276          self2.isDragging = self2.isGesturing = self2.isPressed = moved = dragged = false;
10277          self2._vx.reset();
10278          self2._vy.reset();
10279          scrollX = scrollFuncX();
10280          scrollY = scrollFuncY();
10281          e && e.type && _onPress(e);
10282          onEnable && onEnable(self2);
10283        }
10284        return self2;
10285      };
10286      self2.disable = function() {
10287        if (self2.isEnabled) {
10288          _observers.filter(function(o) {
10289            return o !== self2 && _isViewport(o.target);
10290          }).length || _removeListener(isViewport ? ownerDoc : target, "scroll", _onScroll);
10291          if (self2.isPressed) {
10292            self2._vx.reset();
10293            self2._vy.reset();
10294            _removeListener(isNormalizer ? target : ownerDoc, _eventTypes[1], _onDrag, true);
10295          }
10296          _removeListener(isViewport ? ownerDoc : target, "scroll", onScroll, capture);
10297          _removeListener(target, "wheel", _onWheel, capture);
10298          _removeListener(target, _eventTypes[0], _onPress, capture);
10299          _removeListener(ownerDoc, _eventTypes[2], _onRelease);
10300          _removeListener(ownerDoc, _eventTypes[3], _onRelease);
10301          _removeListener(target, "click", clickCapture, true);
10302          _removeListener(target, "click", _onClick);
10303          _removeListener(ownerDoc, "gesturestart", _onGestureStart);
10304          _removeListener(ownerDoc, "gestureend", _onGestureEnd);
10305          _removeListener(target, _pointerType + "enter", _onHover);
10306          _removeListener(target, _pointerType + "leave", _onHoverEnd);
10307          _removeListener(target, _pointerType + "move", _onMove);
10308          self2.isEnabled = self2.isPressed = self2.isDragging = false;
10309          onDisable && onDisable(self2);
10310        }
10311      };
10312      self2.kill = self2.revert = function() {
10313        self2.disable();
10314        var i = _observers.indexOf(self2);
10315        i >= 0 && _observers.splice(i, 1);
10316        _normalizer === self2 && (_normalizer = 0);
10317      };
10318      _observers.push(self2);
10319      isNormalizer && _isViewport(target) && (_normalizer = self2);
10320      self2.enable(event);
10321    }, "init");
10322    _createClass(Observer2, [{
10323      key: "velocityX",
10324      get: /* @__PURE__ */ __name(function get() {
10325        return this._vx.getVelocity();
10326      }, "get")
10327    }, {
10328      key: "velocityY",
10329      get: /* @__PURE__ */ __name(function get() {
10330        return this._vy.getVelocity();
10331      }, "get")
10332    }]);
10333    return Observer2;
10334  })();
10335  Observer.version = "3.14.2";
10336  Observer.create = function(vars) {
10337    return new Observer(vars);
10338  };
10339  Observer.register = _initCore3;
10340  Observer.getAll = function() {
10341    return _observers.slice();
10342  };
10343  Observer.getById = function(id) {
10344    return _observers.filter(function(o) {
10345      return o.vars.id === id;
10346    })[0];
10347  };
10348  _getGSAP() && gsap2.registerPlugin(Observer);
10349
10350  
vendor: 92,286 bytes, lines 10350-12254
10350// node_modules/gsap/ScrollTrigger.js
10351  var gsap3;
10352  var _coreInitted3;
10353  var _win4;
10354  var _doc4;
10355  var _docEl2;
10356  var _body2;
10357  var _root2;
10358  var _resizeDelay;
10359  var _toArray;
10360  var _clamp4;
10361  var _time2;
10362  var _syncInterval;
10363  var _refreshing;
10364  var _pointerIsDown;
10365  var _transformProp2;
10366  var _i;
10367  var _prevWidth;
10368  var _prevHeight;
10369  var _autoRefresh;
10370  var _sort;
10371  var _suppressOverwrites2;
10372  var _ignoreResize;
10373  var _normalizer2;
10374  var _ignoreMobileResize;
10375  var _baseScreenHeight;
10376  var _baseScreenWidth;
10377  var _fixIOSBug;
10378  var _context3;
10379  var _scrollRestoration;
10380  var _div100vh;
10381  var _100vh;
10382  var _isReverted;
10383  var _clampingMax;
10384  var _limitCallbacks;
10385  var _startup2 = 1;
10386  var _getTime2 = Date.now;
10387  var _time1 = _getTime2();
10388  var _lastScrollTime = 0;
10389  var _enabled = 0;
10390  var _parseClamp = /* @__PURE__ */ __name(function _parseClamp2(value, type, self2) {
10391    var clamp3 = _isString3(value) && (value.substr(0, 6) === "clamp(" || value.indexOf("max") > -1);
10392    self2["_" + type + "Clamp"] = clamp3;
10393    return clamp3 ? value.substr(6, value.length - 7) : value;
10394  }, "_parseClamp");
10395  var _keepClamp = /* @__PURE__ */ __name(function _keepClamp2(value, clamp3) {
10396    return clamp3 && (!_isString3(value) || value.substr(0, 6) !== "clamp(") ? "clamp(" + value + ")" : value;
10397  }, "_keepClamp");
10398  var _rafBugFix = /* @__PURE__ */ __name(function _rafBugFix2() {
10399    return _enabled && requestAnimationFrame(_rafBugFix2);
10400  }, "_rafBugFix");
10401  var _pointerDownHandler = /* @__PURE__ */ __name(function _pointerDownHandler2() {
10402    return _pointerIsDown = 1;
10403  }, "_pointerDownHandler");
10404  var _pointerUpHandler = /* @__PURE__ */ __name(function _pointerUpHandler2() {
10405    return _pointerIsDown = 0;
10406  }, "_pointerUpHandler");
10407  var _passThrough3 = /* @__PURE__ */ __name(function _passThrough4(v) {
10408    return v;
10409  }, "_passThrough");
10410  var _round3 = /* @__PURE__ */ __name(function _round4(value) {
10411    return Math.round(value * 1e5) / 1e5 || 0;
10412  }, "_round");
10413  var _windowExists5 = /* @__PURE__ */ __name(function _windowExists6() {
10414    return typeof window !== "undefined";
10415  }, "_windowExists");
10416  var _getGSAP3 = /* @__PURE__ */ __name(function _getGSAP4() {
10417    return gsap3 || _windowExists5() && (gsap3 = window.gsap) && gsap3.registerPlugin && gsap3;
10418  }, "_getGSAP");
10419  var _isViewport3 = /* @__PURE__ */ __name(function _isViewport4(e) {
10420    return !!~_root2.indexOf(e);
10421  }, "_isViewport");
10422  var _getViewportDimension = /* @__PURE__ */ __name(function _getViewportDimension2(dimensionProperty) {
10423    return (dimensionProperty === "Height" ? _100vh : _win4["inner" + dimensionProperty]) || _docEl2["client" + dimensionProperty] || _body2["client" + dimensionProperty];
10424  }, "_getViewportDimension");
10425  var _getBoundsFunc = /* @__PURE__ */ __name(function _getBoundsFunc2(element) {
10426    return _getProxyProp(element, "getBoundingClientRect") || (_isViewport3(element) ? function() {
10427      _winOffsets.width = _win4.innerWidth;
10428      _winOffsets.height = _100vh;
10429      return _winOffsets;
10430    } : function() {
10431      return _getBounds(element);
10432    });
10433  }, "_getBoundsFunc");
10434  var _getSizeFunc = /* @__PURE__ */ __name(function _getSizeFunc2(scroller, isViewport, _ref) {
10435    var d = _ref.d, d2 = _ref.d2, a = _ref.a;
10436    return (a = _getProxyProp(scroller, "getBoundingClientRect")) ? function() {
10437      return a()[d];
10438    } : function() {
10439      return (isViewport ? _getViewportDimension(d2) : scroller["client" + d2]) || 0;
10440    };
10441  }, "_getSizeFunc");
10442  var _getOffsetsFunc = /* @__PURE__ */ __name(function _getOffsetsFunc2(element, isViewport) {
10443    return !isViewport || ~_proxies.indexOf(element) ? _getBoundsFunc(element) : function() {
10444      return _winOffsets;
10445    };
10446  }, "_getOffsetsFunc");
10447  var _maxScroll = /* @__PURE__ */ __name(function _maxScroll2(element, _ref2) {
10448    var s = _ref2.s, d2 = _ref2.d2, d = _ref2.d, a = _ref2.a;
10449    return Math.max(0, (s = "scroll" + d2) && (a = _getProxyProp(element, s)) ? a() - _getBoundsFunc(element)()[d] : _isViewport3(element) ? (_docEl2[s] || _body2[s]) - _getViewportDimension(d2) : element[s] - element["offset" + d2]);
10450  }, "_maxScroll");
10451  var _iterateAutoRefresh = /* @__PURE__ */ __name(function _iterateAutoRefresh2(func, events) {
10452    for (var i = 0; i < _autoRefresh.length; i += 3) {
10453      (!events || ~events.indexOf(_autoRefresh[i + 1])) && func(_autoRefresh[i], _autoRefresh[i + 1], _autoRefresh[i + 2]);
10454    }
10455  }, "_iterateAutoRefresh");
10456  var _isString3 = /* @__PURE__ */ __name(function _isString4(value) {
10457    return typeof value === "string";
10458  }, "_isString");
10459  var _isFunction3 = /* @__PURE__ */ __name(function _isFunction4(value) {
10460    return typeof value === "function";
10461  }, "_isFunction");
10462  var _isNumber3 = /* @__PURE__ */ __name(function _isNumber4(value) {
10463    return typeof value === "number";
10464  }, "_isNumber");
10465  var _isObject3 = /* @__PURE__ */ __name(function _isObject4(value) {
10466    return typeof value === "object";
10467  }, "_isObject");
10468  var _endAnimation = /* @__PURE__ */ __name(function _endAnimation2(animation, reversed, pause) {
10469    return animation && animation.progress(reversed ? 0 : 1) && pause && animation.pause();
10470  }, "_endAnimation");
10471  var _callback3 = /* @__PURE__ */ __name(function _callback4(self2, func) {
10472    if (self2.enabled) {
10473      var result = self2._ctx ? self2._ctx.add(function() {
10474        return func(self2);
10475      }) : func(self2);
10476      result && result.totalTime && (self2.callbackAnimation = result);
10477    }
10478  }, "_callback");
10479  var _abs = Math.abs;
10480  var _left = "left";
10481  var _top = "top";
10482  var _right = "right";
10483  var _bottom = "bottom";
10484  var _width = "width";
10485  var _height = "height";
10486  var _Right = "Right";
10487  var _Left = "Left";
10488  var _Top = "Top";
10489  var _Bottom = "Bottom";
10490  var _padding = "padding";
10491  var _margin = "margin";
10492  var _Width = "Width";
10493  var _Height = "Height";
10494  var _px = "px";
10495  var _getComputedStyle = /* @__PURE__ */ __name(function _getComputedStyle2(element) {
10496    return _win4.getComputedStyle(element);
10497  }, "_getComputedStyle");
10498  var _makePositionable = /* @__PURE__ */ __name(function _makePositionable2(element) {
10499    var position = _getComputedStyle(element).position;
10500    element.style.position = position === "absolute" || position === "fixed" ? position : "relative";
10501  }, "_makePositionable");
10502  var _setDefaults3 = /* @__PURE__ */ __name(function _setDefaults4(obj, defaults2) {
10503    for (var p in defaults2) {
10504      p in obj || (obj[p] = defaults2[p]);
10505    }
10506    return obj;
10507  }, "_setDefaults");
10508  var _getBounds = /* @__PURE__ */ __name(function _getBounds2(element, withoutTransforms) {
10509    var tween = withoutTransforms && _getComputedStyle(element)[_transformProp2] !== "matrix(1, 0, 0, 1, 0, 0)" && gsap3.to(element, {
10510      x: 0,
10511      y: 0,
10512      xPercent: 0,
10513      yPercent: 0,
10514      rotation: 0,
10515      rotationX: 0,
10516      rotationY: 0,
10517      scale: 1,
10518      skewX: 0,
10519      skewY: 0
10520    }).progress(1), bounds = element.getBoundingClientRect();
10521    tween && tween.progress(0).kill();
10522    return bounds;
10523  }, "_getBounds");
10524  var _getSize = /* @__PURE__ */ __name(function _getSize2(element, _ref3) {
10525    var d2 = _ref3.d2;
10526    return element["offset" + d2] || element["client" + d2] || 0;
10527  }, "_getSize");
10528  var _getLabelRatioArray = /* @__PURE__ */ __name(function _getLabelRatioArray2(timeline2) {
10529    var a = [], labels2 = timeline2.labels, duration = timeline2.duration(), p;
10530    for (p in labels2) {
10531      a.push(labels2[p] / duration);
10532    }
10533    return a;
10534  }, "_getLabelRatioArray");
10535  var _getClosestLabel = /* @__PURE__ */ __name(function _getClosestLabel2(animation) {
10536    return function(value) {
10537      return gsap3.utils.snap(_getLabelRatioArray(animation), value);
10538    };
10539  }, "_getClosestLabel");
10540  var _snapDirectional = /* @__PURE__ */ __name(function _snapDirectional2(snapIncrementOrArray) {
10541    var snap3 = gsap3.utils.snap(snapIncrementOrArray), a = Array.isArray(snapIncrementOrArray) && snapIncrementOrArray.slice(0).sort(function(a2, b) {
10542      return a2 - b;
10543    });
10544    return a ? function(value, direction, threshold) {
10545      if (threshold === void 0) {
10546        threshold = 1e-3;
10547      }
10548      var i;
10549      if (!direction) {
10550        return snap3(value);
10551      }
10552      if (direction > 0) {
10553        value -= threshold;
10554        for (i = 0; i < a.length; i++) {
10555          if (a[i] >= value) {
10556            return a[i];
10557          }
10558        }
10559        return a[i - 1];
10560      } else {
10561        i = a.length;
10562        value += threshold;
10563        while (i--) {
10564          if (a[i] <= value) {
10565            return a[i];
10566          }
10567        }
10568      }
10569      return a[0];
10570    } : function(value, direction, threshold) {
10571      if (threshold === void 0) {
10572        threshold = 1e-3;
10573      }
10574      var snapped = snap3(value);
10575      return !direction || Math.abs(snapped - value) < threshold || snapped - value < 0 === direction < 0 ? snapped : snap3(direction < 0 ? value - snapIncrementOrArray : value + snapIncrementOrArray);
10576    };
10577  }, "_snapDirectional");
10578  var _getLabelAtDirection = /* @__PURE__ */ __name(function _getLabelAtDirection2(timeline2) {
10579    return function(value, st) {
10580      return _snapDirectional(_getLabelRatioArray(timeline2))(value, st.direction);
10581    };
10582  }, "_getLabelAtDirection");
10583  var _multiListener = /* @__PURE__ */ __name(function _multiListener2(func, element, types, callback) {
10584    return types.split(",").forEach(function(type) {
10585      return func(element, type, callback);
10586    });
10587  }, "_multiListener");
10588  var _addListener3 = /* @__PURE__ */ __name(function _addListener4(element, type, func, nonPassive, capture) {
10589    return element.addEventListener(type, func, {
10590      passive: !nonPassive,
10591      capture: !!capture
10592    });
10593  }, "_addListener");
10594  var _removeListener3 = /* @__PURE__ */ __name(function _removeListener4(element, type, func, capture) {
10595    return element.removeEventListener(type, func, !!capture);
10596  }, "_removeListener");
10597  var _wheelListener = /* @__PURE__ */ __name(function _wheelListener2(func, el, scrollFunc) {
10598    scrollFunc = scrollFunc && scrollFunc.wheelHandler;
10599    if (scrollFunc) {
10600      func(el, "wheel", scrollFunc);
10601      func(el, "touchmove", scrollFunc);
10602    }
10603  }, "_wheelListener");
10604  var _markerDefaults = {
10605    startColor: "green",
10606    endColor: "red",
10607    indent: 0,
10608    fontSize: "16px",
10609    fontWeight: "normal"
10610  };
10611  var _defaults2 = {
10612    toggleActions: "play",
10613    anticipatePin: 0
10614  };
10615  var _keywords = {
10616    top: 0,
10617    left: 0,
10618    center: 0.5,
10619    bottom: 1,
10620    right: 1
10621  };
10622  var _offsetToPx = /* @__PURE__ */ __name(function _offsetToPx2(value, size) {
10623    if (_isString3(value)) {
10624      var eqIndex = value.indexOf("="), relative = ~eqIndex ? +(value.charAt(eqIndex - 1) + 1) * parseFloat(value.substr(eqIndex + 1)) : 0;
10625      if (~eqIndex) {
10626        value.indexOf("%") > eqIndex && (relative *= size / 100);
10627        value = value.substr(0, eqIndex - 1);
10628      }
10629      value = relative + (value in _keywords ? _keywords[value] * size : ~value.indexOf("%") ? parseFloat(value) * size / 100 : parseFloat(value) || 0);
10630    }
10631    return value;
10632  }, "_offsetToPx");
10633  var _createMarker = /* @__PURE__ */ __name(function _createMarker2(type, name, container, direction, _ref4, offset, matchWidthEl, containerAnimation) {
10634    var startColor = _ref4.startColor, endColor = _ref4.endColor, fontSize = _ref4.fontSize, indent = _ref4.indent, fontWeight = _ref4.fontWeight;
10635    var e = _doc4.createElement("div"), useFixedPosition = _isViewport3(container) || _getProxyProp(container, "pinType") === "fixed", isScroller = type.indexOf("scroller") !== -1, parent = useFixedPosition ? _body2 : container, isStart = type.indexOf("start") !== -1, color = isStart ? startColor : endColor, css = "border-color:" + color + ";font-size:" + fontSize + ";color:" + color + ";font-weight:" + fontWeight + ";pointer-events:none;white-space:nowrap;font-family:sans-serif,Arial;z-index:1000;padding:4px 8px;border-width:0;border-style:solid;";
10636    css += "position:" + ((isScroller || containerAnimation) && useFixedPosition ? "fixed;" : "absolute;");
10637    (isScroller || containerAnimation || !useFixedPosition) && (css += (direction === _vertical ? _right : _bottom) + ":" + (offset + parseFloat(indent)) + "px;");
10638    matchWidthEl && (css += "box-sizing:border-box;text-align:left;width:" + matchWidthEl.offsetWidth + "px;");
10639    e._isStart = isStart;
10640    e.setAttribute("class", "gsap-marker-" + type + (name ? " marker-" + name : ""));
10641    e.style.cssText = css;
10642    e.innerText = name || name === 0 ? type + "-" + name : type;
10643    parent.children[0] ? parent.insertBefore(e, parent.children[0]) : parent.appendChild(e);
10644    e._offset = e["offset" + direction.op.d2];
10645    _positionMarker(e, 0, direction, isStart);
10646    return e;
10647  }, "_createMarker");
10648  var _positionMarker = /* @__PURE__ */ __name(function _positionMarker2(marker, start, direction, flipped) {
10649    var vars = {
10650      display: "block"
10651    }, side = direction[flipped ? "os2" : "p2"], oppositeSide = direction[flipped ? "p2" : "os2"];
10652    marker._isFlipped = flipped;
10653    vars[direction.a + "Percent"] = flipped ? -100 : 0;
10654    vars[direction.a] = flipped ? "1px" : 0;
10655    vars["border" + side + _Width] = 1;
10656    vars["border" + oppositeSide + _Width] = 0;
10657    vars[direction.p] = start + "px";
10658    gsap3.set(marker, vars);
10659  }, "_positionMarker");
10660  var _triggers = [];
10661  var _ids = {};
10662  var _rafID;
10663  var _sync = /* @__PURE__ */ __name(function _sync2() {
10664    return _getTime2() - _lastScrollTime > 34 && (_rafID || (_rafID = requestAnimationFrame(_updateAll)));
10665  }, "_sync");
10666  var _onScroll3 = /* @__PURE__ */ __name(function _onScroll4() {
10667    if (!_normalizer2 || !_normalizer2.isPressed || _normalizer2.startX > _body2.clientWidth) {
10668      _scrollers.cache++;
10669      if (_normalizer2) {
10670        _rafID || (_rafID = requestAnimationFrame(_updateAll));
10671      } else {
10672        _updateAll();
10673      }
10674      _lastScrollTime || _dispatch3("scrollStart");
10675      _lastScrollTime = _getTime2();
10676    }
10677  }, "_onScroll");
10678  var _setBaseDimensions = /* @__PURE__ */ __name(function _setBaseDimensions2() {
10679    _baseScreenWidth = _win4.innerWidth;
10680    _baseScreenHeight = _win4.innerHeight;
10681  }, "_setBaseDimensions");
10682  var _onResize = /* @__PURE__ */ __name(function _onResize2(force) {
10683    _scrollers.cache++;
10684    (force === true || !_refreshing && !_ignoreResize && !_doc4.fullscreenElement && !_doc4.webkitFullscreenElement && (!_ignoreMobileResize || _baseScreenWidth !== _win4.innerWidth || Math.abs(_win4.innerHeight - _baseScreenHeight) > _win4.innerHeight * 0.25)) && _resizeDelay.restart(true);
10685  }, "_onResize");
10686  var _listeners2 = {};
10687  var _emptyArray2 = [];
10688  var _softRefresh = /* @__PURE__ */ __name(function _softRefresh2() {
10689    return _removeListener3(ScrollTrigger2, "scrollEnd", _softRefresh2) || _refreshAll(true);
10690  }, "_softRefresh");
10691  var _dispatch3 = /* @__PURE__ */ __name(function _dispatch4(type) {
10692    return _listeners2[type] && _listeners2[type].map(function(f) {
10693      return f();
10694    }) || _emptyArray2;
10695  }, "_dispatch");
10696  var _savedStyles = [];
10697  var _revertRecorded = /* @__PURE__ */ __name(function _revertRecorded2(media) {
10698    for (var i = 0; i < _savedStyles.length; i += 5) {
10699      if (!media || _savedStyles[i + 4] && _savedStyles[i + 4].query === media) {
10700        _savedStyles[i].style.cssText = _savedStyles[i + 1];
10701        _savedStyles[i].getBBox && _savedStyles[i].setAttribute("transform", _savedStyles[i + 2] || "");
10702        _savedStyles[i + 3].uncache = 1;
10703      }
10704    }
10705  }, "_revertRecorded");
10706  var _recordScrollPositions = /* @__PURE__ */ __name(function _recordScrollPositions2() {
10707    return _scrollers.forEach(function(obj) {
10708      return _isFunction3(obj) && ++obj.cacheID && (obj.rec = obj());
10709    });
10710  }, "_recordScrollPositions");
10711  var _revertAll = /* @__PURE__ */ __name(function _revertAll2(kill, media) {
10712    var trigger;
10713    for (_i = 0; _i < _triggers.length; _i++) {
10714      trigger = _triggers[_i];
10715      if (trigger && (!media || trigger._ctx === media)) {
10716        if (kill) {
10717          trigger.kill(1);
10718        } else {
10719          trigger.revert(true, true);
10720        }
10721      }
10722    }
10723    _isReverted = true;
10724    media && _revertRecorded(media);
10725    media || _dispatch3("revert");
10726  }, "_revertAll");
10727  var _clearScrollMemory = /* @__PURE__ */ __name(function _clearScrollMemory2(scrollRestoration, force) {
10728    _scrollers.cache++;
10729    (force || !_refreshingAll) && _scrollers.forEach(function(obj) {
10730      return _isFunction3(obj) && obj.cacheID++ && (obj.rec = 0);
10731    });
10732    _isString3(scrollRestoration) && (_win4.history.scrollRestoration = _scrollRestoration = scrollRestoration);
10733  }, "_clearScrollMemory");
10734  var _refreshingAll;
10735  var _refreshID = 0;
10736  var _queueRefreshID;
10737  var _queueRefreshAll = /* @__PURE__ */ __name(function _queueRefreshAll2() {
10738    if (_queueRefreshID !== _refreshID) {
10739      var id = _queueRefreshID = _refreshID;
10740      requestAnimationFrame(function() {
10741        return id === _refreshID && _refreshAll(true);
10742      });
10743    }
10744  }, "_queueRefreshAll");
10745  var _refresh100vh = /* @__PURE__ */ __name(function _refresh100vh2() {
10746    _body2.appendChild(_div100vh);
10747    _100vh = !_normalizer2 && _div100vh.offsetHeight || _win4.innerHeight;
10748    _body2.removeChild(_div100vh);
10749  }, "_refresh100vh");
10750  var _hideAllMarkers = /* @__PURE__ */ __name(function _hideAllMarkers2(hide2) {
10751    return _toArray(".gsap-marker-start, .gsap-marker-end, .gsap-marker-scroller-start, .gsap-marker-scroller-end").forEach(function(el) {
10752      return el.style.display = hide2 ? "none" : "block";
10753    });
10754  }, "_hideAllMarkers");
10755  var _refreshAll = /* @__PURE__ */ __name(function _refreshAll2(force, skipRevert) {
10756    _docEl2 = _doc4.documentElement;
10757    _body2 = _doc4.body;
10758    _root2 = [_win4, _doc4, _docEl2, _body2];
10759    if (_lastScrollTime && !force && !_isReverted) {
10760      _addListener3(ScrollTrigger2, "scrollEnd", _softRefresh);
10761      return;
10762    }
10763    _refresh100vh();
10764    _refreshingAll = ScrollTrigger2.isRefreshing = true;
10765    _isReverted || _recordScrollPositions();
10766    var refreshInits = _dispatch3("refreshInit");
10767    _sort && ScrollTrigger2.sort();
10768    skipRevert || _revertAll();
10769    _scrollers.forEach(function(obj) {
10770      if (_isFunction3(obj)) {
10771        obj.smooth && (obj.target.style.scrollBehavior = "auto");
10772        obj(0);
10773      }
10774    });
10775    _triggers.slice(0).forEach(function(t) {
10776      return t.refresh();
10777    });
10778    _isReverted = false;
10779    _triggers.forEach(function(t) {
10780      if (t._subPinOffset && t.pin) {
10781        var prop = t.vars.horizontal ? "offsetWidth" : "offsetHeight", original = t.pin[prop];
10782        t.revert(true, 1);
10783        t.adjustPinSpacing(t.pin[prop] - original);
10784        t.refresh();
10785      }
10786    });
10787    _clampingMax = 1;
10788    _hideAllMarkers(true);
10789    _triggers.forEach(function(t) {
10790      var max = _maxScroll(t.scroller, t._dir), endClamp = t.vars.end === "max" || t._endClamp && t.end > max, startClamp = t._startClamp && t.start >= max;
10791      (endClamp || startClamp) && t.setPositions(startClamp ? max - 1 : t.start, endClamp ? Math.max(startClamp ? max : t.start + 1, max) : t.end, true);
10792    });
10793    _hideAllMarkers(false);
10794    _clampingMax = 0;
10795    refreshInits.forEach(function(result) {
10796      return result && result.render && result.render(-1);
10797    });
10798    _scrollers.forEach(function(obj) {
10799      if (_isFunction3(obj)) {
10800        obj.smooth && requestAnimationFrame(function() {
10801          return obj.target.style.scrollBehavior = "smooth";
10802        });
10803        obj.rec && obj(obj.rec);
10804      }
10805    });
10806    _clearScrollMemory(_scrollRestoration, 1);
10807    _resizeDelay.pause();
10808    _refreshID++;
10809    _refreshingAll = 2;
10810    _updateAll(2);
10811    _triggers.forEach(function(t) {
10812      return _isFunction3(t.vars.onRefresh) && t.vars.onRefresh(t);
10813    });
10814    _refreshingAll = ScrollTrigger2.isRefreshing = false;
10815    _dispatch3("refresh");
10816  }, "_refreshAll");
10817  var _lastScroll = 0;
10818  var _direction = 1;
10819  var _primary;
10820  var _updateAll = /* @__PURE__ */ __name(function _updateAll2(force) {
10821    if (force === 2 || !_refreshingAll && !_isReverted) {
10822      ScrollTrigger2.isUpdating = true;
10823      _primary && _primary.update(0);
10824      var l = _triggers.length, time = _getTime2(), recordVelocity = time - _time1 >= 50, scroll = l && _triggers[0].scroll();
10825      _direction = _lastScroll > scroll ? -1 : 1;
10826      _refreshingAll || (_lastScroll = scroll);
10827      if (recordVelocity) {
10828        if (_lastScrollTime && !_pointerIsDown && time - _lastScrollTime > 200) {
10829          _lastScrollTime = 0;
10830          _dispatch3("scrollEnd");
10831        }
10832        _time2 = _time1;
10833        _time1 = time;
10834      }
10835      if (_direction < 0) {
10836        _i = l;
10837        while (_i-- > 0) {
10838          _triggers[_i] && _triggers[_i].update(0, recordVelocity);
10839        }
10840        _direction = 1;
10841      } else {
10842        for (_i = 0; _i < l; _i++) {
10843          _triggers[_i] && _triggers[_i].update(0, recordVelocity);
10844        }
10845      }
10846      ScrollTrigger2.isUpdating = false;
10847    }
10848    _rafID = 0;
10849  }, "_updateAll");
10850  var _propNamesToCopy = [_left, _top, _bottom, _right, _margin + _Bottom, _margin + _Right, _margin + _Top, _margin + _Left, "display", "flexShrink", "float", "zIndex", "gridColumnStart", "gridColumnEnd", "gridRowStart", "gridRowEnd", "gridArea", "justifySelf", "alignSelf", "placeSelf", "order"];
10851  var _stateProps = _propNamesToCopy.concat([_width, _height, "boxSizing", "max" + _Width, "max" + _Height, "position", _margin, _padding, _padding + _Top, _padding + _Right, _padding + _Bottom, _padding + _Left]);
10852  var _swapPinOut = /* @__PURE__ */ __name(function _swapPinOut2(pin, spacer, state2) {
10853    _setState(state2);
10854    var cache = pin._gsap;
10855    if (cache.spacerIsNative) {
10856      _setState(cache.spacerState);
10857    } else if (pin._gsap.swappedIn) {
10858      var parent = spacer.parentNode;
10859      if (parent) {
10860        parent.insertBefore(pin, spacer);
10861        parent.removeChild(spacer);
10862      }
10863    }
10864    pin._gsap.swappedIn = false;
10865  }, "_swapPinOut");
10866  var _swapPinIn = /* @__PURE__ */ __name(function _swapPinIn2(pin, spacer, cs, spacerState) {
10867    if (!pin._gsap.swappedIn) {
10868      var i = _propNamesToCopy.length, spacerStyle = spacer.style, pinStyle = pin.style, p;
10869      while (i--) {
10870        p = _propNamesToCopy[i];
10871        spacerStyle[p] = cs[p];
10872      }
10873      spacerStyle.position = cs.position === "absolute" ? "absolute" : "relative";
10874      cs.display === "inline" && (spacerStyle.display = "inline-block");
10875      pinStyle[_bottom] = pinStyle[_right] = "auto";
10876      spacerStyle.flexBasis = cs.flexBasis || "auto";
10877      spacerStyle.overflow = "visible";
10878      spacerStyle.boxSizing = "border-box";
10879      spacerStyle[_width] = _getSize(pin, _horizontal) + _px;
10880      spacerStyle[_height] = _getSize(pin, _vertical) + _px;
10881      spacerStyle[_padding] = pinStyle[_margin] = pinStyle[_top] = pinStyle[_left] = "0";
10882      _setState(spacerState);
10883      pinStyle[_width] = pinStyle["max" + _Width] = cs[_width];
10884      pinStyle[_height] = pinStyle["max" + _Height] = cs[_height];
10885      pinStyle[_padding] = cs[_padding];
10886      if (pin.parentNode !== spacer) {
10887        pin.parentNode.insertBefore(spacer, pin);
10888        spacer.appendChild(pin);
10889      }
10890      pin._gsap.swappedIn = true;
10891    }
10892  }, "_swapPinIn");
10893  var _capsExp2 = /([A-Z])/g;
10894  var _setState = /* @__PURE__ */ __name(function _setState2(state2) {
10895    if (state2) {
10896      var style = state2.t.style, l = state2.length, i = 0, p, value;
10897      (state2.t._gsap || gsap3.core.getCache(state2.t)).uncache = 1;
10898      for (; i < l; i += 2) {
10899        value = state2[i + 1];
10900        p = state2[i];
10901        if (value) {
10902          style[p] = value;
10903        } else if (style[p]) {
10904          style.removeProperty(p.replace(_capsExp2, "-$1").toLowerCase());
10905        }
10906      }
10907    }
10908  }, "_setState");
10909  var _getState = /* @__PURE__ */ __name(function _getState2(element) {
10910    var l = _stateProps.length, style = element.style, state2 = [], i = 0;
10911    for (; i < l; i++) {
10912      state2.push(_stateProps[i], style[_stateProps[i]]);
10913    }
10914    state2.t = element;
10915    return state2;
10916  }, "_getState");
10917  var _copyState = /* @__PURE__ */ __name(function _copyState2(state2, override, omitOffsets) {
10918    var result = [], l = state2.length, i = omitOffsets ? 8 : 0, p;
10919    for (; i < l; i += 2) {
10920      p = state2[i];
10921      result.push(p, p in override ? override[p] : state2[i + 1]);
10922    }
10923    result.t = state2.t;
10924    return result;
10925  }, "_copyState");
10926  var _winOffsets = {
10927    left: 0,
10928    top: 0
10929  };
10930  var _parsePosition3 = /* @__PURE__ */ __name(function _parsePosition4(value, trigger, scrollerSize, direction, scroll, marker, markerScroller, self2, scrollerBounds, borderWidth, useFixedPosition, scrollerMax, containerAnimation, clampZeroProp) {
10931    _isFunction3(value) && (value = value(self2));
10932    if (_isString3(value) && value.substr(0, 3) === "max") {
10933      value = scrollerMax + (value.charAt(4) === "=" ? _offsetToPx("0" + value.substr(3), scrollerSize) : 0);
10934    }
10935    var time = containerAnimation ? containerAnimation.time() : 0, p1, p2, element;
10936    containerAnimation && containerAnimation.seek(0);
10937    isNaN(value) || (value = +value);
10938    if (!_isNumber3(value)) {
10939      _isFunction3(trigger) && (trigger = trigger(self2));
10940      var offsets = (value || "0").split(" "), bounds, localOffset, globalOffset, display;
10941      element = _getTarget(trigger, self2) || _body2;
10942      bounds = _getBounds(element) || {};
10943      if ((!bounds || !bounds.left && !bounds.top) && _getComputedStyle(element).display === "none") {
10944        display = element.style.display;
10945        element.style.display = "block";
10946        bounds = _getBounds(element);
10947        display ? element.style.display = display : element.style.removeProperty("display");
10948      }
10949      localOffset = _offsetToPx(offsets[0], bounds[direction.d]);
10950      globalOffset = _offsetToPx(offsets[1] || "0", scrollerSize);
10951      value = bounds[direction.p] - scrollerBounds[direction.p] - borderWidth + localOffset + scroll - globalOffset;
10952      markerScroller && _positionMarker(markerScroller, globalOffset, direction, scrollerSize - globalOffset < 20 || markerScroller._isStart && globalOffset > 20);
10953      scrollerSize -= scrollerSize - globalOffset;
10954    } else {
10955      containerAnimation && (value = gsap3.utils.mapRange(containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, 0, scrollerMax, value));
10956      markerScroller && _positionMarker(markerScroller, scrollerSize, direction, true);
10957    }
10958    if (clampZeroProp) {
10959      self2[clampZeroProp] = value || -1e-3;
10960      value < 0 && (value = 0);
10961    }
10962    if (marker) {
10963      var position = value + scrollerSize, isStart = marker._isStart;
10964      p1 = "scroll" + direction.d2;
10965      _positionMarker(marker, position, direction, isStart && position > 20 || !isStart && (useFixedPosition ? Math.max(_body2[p1], _docEl2[p1]) : marker.parentNode[p1]) <= position + 1);
10966      if (useFixedPosition) {
10967        scrollerBounds = _getBounds(markerScroller);
10968        useFixedPosition && (marker.style[direction.op.p] = scrollerBounds[direction.op.p] - direction.op.m - marker._offset + _px);
10969      }
10970    }
10971    if (containerAnimation && element) {
10972      p1 = _getBounds(element);
10973      containerAnimation.seek(scrollerMax);
10974      p2 = _getBounds(element);
10975      containerAnimation._caScrollDist = p1[direction.p] - p2[direction.p];
10976      value = value / containerAnimation._caScrollDist * scrollerMax;
10977    }
10978    containerAnimation && containerAnimation.seek(time);
10979    return containerAnimation ? value : Math.round(value);
10980  }, "_parsePosition");
10981  var _prefixExp = /(webkit|moz|length|cssText|inset)/i;
10982  var _reparent = /* @__PURE__ */ __name(function _reparent2(element, parent, top, left) {
10983    if (element.parentNode !== parent) {
10984      var style = element.style, p, cs;
10985      if (parent === _body2) {
10986        element._stOrig = style.cssText;
10987        cs = _getComputedStyle(element);
10988        for (p in cs) {
10989          if (!+p && !_prefixExp.test(p) && cs[p] && typeof style[p] === "string" && p !== "0") {
10990            style[p] = cs[p];
10991          }
10992        }
10993        style.top = top;
10994        style.left = left;
10995      } else {
10996        style.cssText = element._stOrig;
10997      }
10998      gsap3.core.getCache(element).uncache = 1;
10999      parent.appendChild(element);
11000    }
11001  }, "_reparent");
11002  var _interruptionTracker = /* @__PURE__ */ __name(function _interruptionTracker2(getValueFunc, initialValue, onInterrupt) {
11003    var last1 = initialValue, last2 = last1;
11004    return function(value) {
11005      var current = Math.round(getValueFunc());
11006      if (current !== last1 && current !== last2 && Math.abs(current - last1) > 3 && Math.abs(current - last2) > 3) {
11007        value = current;
11008        onInterrupt && onInterrupt();
11009      }
11010      last2 = last1;
11011      last1 = Math.round(value);
11012      return last1;
11013    };
11014  }, "_interruptionTracker");
11015  var _shiftMarker = /* @__PURE__ */ __name(function _shiftMarker2(marker, direction, value) {
11016    var vars = {};
11017    vars[direction.p] = "+=" + value;
11018    gsap3.set(marker, vars);
11019  }, "_shiftMarker");
11020  var _getTweenCreator = /* @__PURE__ */ __name(function _getTweenCreator2(scroller, direction) {
11021    var getScroll = _getScrollFunc(scroller, direction), prop = "_scroll" + direction.p2, getTween = /* @__PURE__ */ __name(function getTween2(scrollTo, vars, initialValue, change1, change2) {
11022      var tween = getTween2.tween, onComplete = vars.onComplete, modifiers = {};
11023      initialValue = initialValue || getScroll();
11024      var checkForInterruption = _interruptionTracker(getScroll, initialValue, function() {
11025        tween.kill();
11026        getTween2.tween = 0;
11027      });
11028      change2 = change1 && change2 || 0;
11029      change1 = change1 || scrollTo - initialValue;
11030      tween && tween.kill();
11031      vars[prop] = scrollTo;
11032      vars.inherit = false;
11033      vars.modifiers = modifiers;
11034      modifiers[prop] = function() {
11035        return checkForInterruption(initialValue + change1 * tween.ratio + change2 * tween.ratio * tween.ratio);
11036      };
11037      vars.onUpdate = function() {
11038        _scrollers.cache++;
11039        getTween2.tween && _updateAll();
11040      };
11041      vars.onComplete = function() {
11042        getTween2.tween = 0;
11043        onComplete && onComplete.call(tween);
11044      };
11045      tween = getTween2.tween = gsap3.to(scroller, vars);
11046      return tween;
11047    }, "getTween");
11048    scroller[prop] = getScroll;
11049    getScroll.wheelHandler = function() {
11050      return getTween.tween && getTween.tween.kill() && (getTween.tween = 0);
11051    };
11052    _addListener3(scroller, "wheel", getScroll.wheelHandler);
11053    ScrollTrigger2.isTouch && _addListener3(scroller, "touchmove", getScroll.wheelHandler);
11054    return getTween;
11055  }, "_getTweenCreator");
11056  var ScrollTrigger2 = /* @__PURE__ */ (function() {
11057    function ScrollTrigger3(vars, animation) {
11058      _coreInitted3 || ScrollTrigger3.register(gsap3) || console.warn("Please gsap.registerPlugin(ScrollTrigger)");
11059      _context3(this);
11060      this.init(vars, animation);
11061    }
11062    __name(ScrollTrigger3, "ScrollTrigger");
11063    var _proto = ScrollTrigger3.prototype;
11064    _proto.init = /* @__PURE__ */ __name(function init5(vars, animation) {
11065      this.progress = this.start = 0;
11066      this.vars && this.kill(true, true);
11067      if (!_enabled) {
11068        this.update = this.refresh = this.kill = _passThrough3;
11069        return;
11070      }
11071      vars = _setDefaults3(_isString3(vars) || _isNumber3(vars) || vars.nodeType ? {
11072        trigger: vars
11073      } : vars, _defaults2);
11074      var _vars = vars, onUpdate = _vars.onUpdate, toggleClass = _vars.toggleClass, id = _vars.id, onToggle = _vars.onToggle, onRefresh = _vars.onRefresh, scrub = _vars.scrub, trigger = _vars.trigger, pin = _vars.pin, pinSpacing = _vars.pinSpacing, invalidateOnRefresh = _vars.invalidateOnRefresh, anticipatePin = _vars.anticipatePin, onScrubComplete = _vars.onScrubComplete, onSnapComplete = _vars.onSnapComplete, once = _vars.once, snap3 = _vars.snap, pinReparent = _vars.pinReparent, pinSpacer = _vars.pinSpacer, containerAnimation = _vars.containerAnimation, fastScrollEnd = _vars.fastScrollEnd, preventOverlaps = _vars.preventOverlaps, direction = vars.horizontal || vars.containerAnimation && vars.horizontal !== false ? _horizontal : _vertical, isToggle = !scrub && scrub !== 0, scroller = _getTarget(vars.scroller || _win4), scrollerCache = gsap3.core.getCache(scroller), isViewport = _isViewport3(scroller), useFixedPosition = ("pinType" in vars ? vars.pinType : _getProxyProp(scroller, "pinType") || isViewport && "fixed") === "fixed", callbacks = [vars.onEnter, vars.onLeave, vars.onEnterBack, vars.onLeaveBack], toggleActions = isToggle && vars.toggleActions.split(" "), markers = "markers" in vars ? vars.markers : _defaults2.markers, borderWidth = isViewport ? 0 : parseFloat(_getComputedStyle(scroller)["border" + direction.p2 + _Width]) || 0, self2 = this, onRefreshInit = vars.onRefreshInit && function() {
11075        return vars.onRefreshInit(self2);
11076      }, getScrollerSize = _getSizeFunc(scroller, isViewport, direction), getScrollerOffsets = _getOffsetsFunc(scroller, isViewport), lastSnap = 0, lastRefresh = 0, prevProgress = 0, scrollFunc = _getScrollFunc(scroller, direction), tweenTo, pinCache, snapFunc, scroll1, scroll2, start, end, markerStart, markerEnd, markerStartTrigger, markerEndTrigger, markerVars, executingOnRefresh, change, pinOriginalState, pinActiveState, pinState, spacer, offset, pinGetter, pinSetter, pinStart, pinChange, spacingStart, spacerState, markerStartSetter, pinMoves, markerEndSetter, cs, snap1, snap22, scrubTween, scrubSmooth, snapDurClamp, snapDelayedCall, prevScroll, prevAnimProgress, caMarkerSetter, customRevertReturn;
11077      self2._startClamp = self2._endClamp = false;
11078      self2._dir = direction;
11079      anticipatePin *= 45;
11080      self2.scroller = scroller;
11081      self2.scroll = containerAnimation ? containerAnimation.time.bind(containerAnimation) : scrollFunc;
11082      scroll1 = scrollFunc();
11083      self2.vars = vars;
11084      animation = animation || vars.animation;
11085      if ("refreshPriority" in vars) {
11086        _sort = 1;
11087        vars.refreshPriority === -9999 && (_primary = self2);
11088      }
11089      scrollerCache.tweenScroll = scrollerCache.tweenScroll || {
11090        top: _getTweenCreator(scroller, _vertical),
11091        left: _getTweenCreator(scroller, _horizontal)
11092      };
11093      self2.tweenTo = tweenTo = scrollerCache.tweenScroll[direction.p];
11094      self2.scrubDuration = function(value) {
11095        scrubSmooth = _isNumber3(value) && value;
11096        if (!scrubSmooth) {
11097          scrubTween && scrubTween.progress(1).kill();
11098          scrubTween = 0;
11099        } else {
11100          scrubTween ? scrubTween.duration(value) : scrubTween = gsap3.to(animation, {
11101            ease: "expo",
11102            totalProgress: "+=0",
11103            inherit: false,
11104            duration: scrubSmooth,
11105            paused: true,
11106            onComplete: /* @__PURE__ */ __name(function onComplete() {
11107              return onScrubComplete && onScrubComplete(self2);
11108            }, "onComplete")
11109          });
11110        }
11111      };
11112      if (animation) {
11113        animation.vars.lazy = false;
11114        animation._initted && !self2.isReverted || animation.vars.immediateRender !== false && vars.immediateRender !== false && animation.duration() && animation.render(0, true, true);
11115        self2.animation = animation.pause();
11116        animation.scrollTrigger = self2;
11117        self2.scrubDuration(scrub);
11118        snap1 = 0;
11119        id || (id = animation.vars.id);
11120      }
11121      if (snap3) {
11122        if (!_isObject3(snap3) || snap3.push) {
11123          snap3 = {
11124            snapTo: snap3
11125          };
11126        }
11127        "scrollBehavior" in _body2.style && gsap3.set(isViewport ? [_body2, _docEl2] : scroller, {
11128          scrollBehavior: "auto"
11129        });
11130        _scrollers.forEach(function(o) {
11131          return _isFunction3(o) && o.target === (isViewport ? _doc4.scrollingElement || _docEl2 : scroller) && (o.smooth = false);
11132        });
11133        snapFunc = _isFunction3(snap3.snapTo) ? snap3.snapTo : snap3.snapTo === "labels" ? _getClosestLabel(animation) : snap3.snapTo === "labelsDirectional" ? _getLabelAtDirection(animation) : snap3.directional !== false ? function(value, st) {
11134          return _snapDirectional(snap3.snapTo)(value, _getTime2() - lastRefresh < 500 ? 0 : st.direction);
11135        } : gsap3.utils.snap(snap3.snapTo);
11136        snapDurClamp = snap3.duration || {
11137          min: 0.1,
11138          max: 2
11139        };
11140        snapDurClamp = _isObject3(snapDurClamp) ? _clamp4(snapDurClamp.min, snapDurClamp.max) : _clamp4(snapDurClamp, snapDurClamp);
11141        snapDelayedCall = gsap3.delayedCall(snap3.delay || scrubSmooth / 2 || 0.1, function() {
11142          var scroll = scrollFunc(), refreshedRecently = _getTime2() - lastRefresh < 500, tween = tweenTo.tween;
11143          if ((refreshedRecently || Math.abs(self2.getVelocity()) < 10) && !tween && !_pointerIsDown && lastSnap !== scroll) {
11144            var progress = (scroll - start) / change, totalProgress = animation && !isToggle ? animation.totalProgress() : progress, velocity = refreshedRecently ? 0 : (totalProgress - snap22) / (_getTime2() - _time2) * 1e3 || 0, change1 = gsap3.utils.clamp(-progress, 1 - progress, _abs(velocity / 2) * velocity / 0.185), naturalEnd = progress + (snap3.inertia === false ? 0 : change1), endValue, endScroll, _snap = snap3, onStart = _snap.onStart, _onInterrupt = _snap.onInterrupt, _onComplete = _snap.onComplete;
11145            endValue = snapFunc(naturalEnd, self2);
11146            _isNumber3(endValue) || (endValue = naturalEnd);
11147            endScroll = Math.max(0, Math.round(start + endValue * change));
11148            if (scroll <= end && scroll >= start && endScroll !== scroll) {
11149              if (tween && !tween._initted && tween.data <= _abs(endScroll - scroll)) {
11150                return;
11151              }
11152              if (snap3.inertia === false) {
11153                change1 = endValue - progress;
11154              }
11155              tweenTo(endScroll, {
11156                duration: snapDurClamp(_abs(Math.max(_abs(naturalEnd - totalProgress), _abs(endValue - totalProgress)) * 0.185 / velocity / 0.05 || 0)),
11157                ease: snap3.ease || "power3",
11158                data: _abs(endScroll - scroll),
11159                // record the distance so that if another snap tween occurs (conflict) we can prioritize the closest snap.
11160                onInterrupt: /* @__PURE__ */ __name(function onInterrupt() {
11161                  return snapDelayedCall.restart(true) && _onInterrupt && _onInterrupt(self2);
11162                }, "onInterrupt"),
11163                onComplete: /* @__PURE__ */ __name(function onComplete() {
11164                  self2.update();
11165                  lastSnap = scrollFunc();
11166                  if (animation && !isToggle) {
11167                    scrubTween ? scrubTween.resetTo("totalProgress", endValue, animation._tTime / animation._tDur) : animation.progress(endValue);
11168                  }
11169                  snap1 = snap22 = animation && !isToggle ? animation.totalProgress() : self2.progress;
11170                  onSnapComplete && onSnapComplete(self2);
11171                  _onComplete && _onComplete(self2);
11172                }, "onComplete")
11173              }, scroll, change1 * change, endScroll - scroll - change1 * change);
11174              onStart && onStart(self2, tweenTo.tween);
11175            }
11176          } else if (self2.isActive && lastSnap !== scroll) {
11177            snapDelayedCall.restart(true);
11178          }
11179        }).pause();
11180      }
11181      id && (_ids[id] = self2);
11182      trigger = self2.trigger = _getTarget(trigger || pin !== true && pin);
11183      customRevertReturn = trigger && trigger._gsap && trigger._gsap.stRevert;
11184      customRevertReturn && (customRevertReturn = customRevertReturn(self2));
11185      pin = pin === true ? trigger : _getTarget(pin);
11186      _isString3(toggleClass) && (toggleClass = {
11187        targets: trigger,
11188        className: toggleClass
11189      });
11190      if (pin) {
11191        pinSpacing === false || pinSpacing === _margin || (pinSpacing = !pinSpacing && pin.parentNode && pin.parentNode.style && _getComputedStyle(pin.parentNode).display === "flex" ? false : _padding);
11192        self2.pin = pin;
11193        pinCache = gsap3.core.getCache(pin);
11194        if (!pinCache.spacer) {
11195          if (pinSpacer) {
11196            pinSpacer = _getTarget(pinSpacer);
11197            pinSpacer && !pinSpacer.nodeType && (pinSpacer = pinSpacer.current || pinSpacer.nativeElement);
11198            pinCache.spacerIsNative = !!pinSpacer;
11199            pinSpacer && (pinCache.spacerState = _getState(pinSpacer));
11200          }
11201          pinCache.spacer = spacer = pinSpacer || _doc4.createElement("div");
11202          spacer.classList.add("pin-spacer");
11203          id && spacer.classList.add("pin-spacer-" + id);
11204          pinCache.pinState = pinOriginalState = _getState(pin);
11205        } else {
11206          pinOriginalState = pinCache.pinState;
11207        }
11208        vars.force3D !== false && gsap3.set(pin, {
11209          force3D: true
11210        });
11211        self2.spacer = spacer = pinCache.spacer;
11212        cs = _getComputedStyle(pin);
11213        spacingStart = cs[pinSpacing + direction.os2];
11214        pinGetter = gsap3.getProperty(pin);
11215        pinSetter = gsap3.quickSetter(pin, direction.a, _px);
11216        _swapPinIn(pin, spacer, cs);
11217        pinState = _getState(pin);
11218      }
11219      if (markers) {
11220        markerVars = _isObject3(markers) ? _setDefaults3(markers, _markerDefaults) : _markerDefaults;
11221        markerStartTrigger = _createMarker("scroller-start", id, scroller, direction, markerVars, 0);
11222        markerEndTrigger = _createMarker("scroller-end", id, scroller, direction, markerVars, 0, markerStartTrigger);
11223        offset = markerStartTrigger["offset" + direction.op.d2];
11224        var content = _getTarget(_getProxyProp(scroller, "content") || scroller);
11225        markerStart = this.markerStart = _createMarker("start", id, content, direction, markerVars, offset, 0, containerAnimation);
11226        markerEnd = this.markerEnd = _createMarker("end", id, content, direction, markerVars, offset, 0, containerAnimation);
11227        containerAnimation && (caMarkerSetter = gsap3.quickSetter([markerStart, markerEnd], direction.a, _px));
11228        if (!useFixedPosition && !(_proxies.length && _getProxyProp(scroller, "fixedMarkers") === true)) {
11229          _makePositionable(isViewport ? _body2 : scroller);
11230          gsap3.set([markerStartTrigger, markerEndTrigger], {
11231            force3D: true
11232          });
11233          markerStartSetter = gsap3.quickSetter(markerStartTrigger, direction.a, _px);
11234          markerEndSetter = gsap3.quickSetter(markerEndTrigger, direction.a, _px);
11235        }
11236      }
11237      if (containerAnimation) {
11238        var oldOnUpdate = containerAnimation.vars.onUpdate, oldParams = containerAnimation.vars.onUpdateParams;
11239        containerAnimation.eventCallback("onUpdate", function() {
11240          self2.update(0, 0, 1);
11241          oldOnUpdate && oldOnUpdate.apply(containerAnimation, oldParams || []);
11242        });
11243      }
11244      self2.previous = function() {
11245        return _triggers[_triggers.indexOf(self2) - 1];
11246      };
11247      self2.next = function() {
11248        return _triggers[_triggers.indexOf(self2) + 1];
11249      };
11250      self2.revert = function(revert, temp) {
11251        if (!temp) {
11252          return self2.kill(true);
11253        }
11254        var r = revert !== false || !self2.enabled, prevRefreshing = _refreshing;
11255        if (r !== self2.isReverted) {
11256          if (r) {
11257            prevScroll = Math.max(scrollFunc(), self2.scroll.rec || 0);
11258            prevProgress = self2.progress;
11259            prevAnimProgress = animation && animation.progress();
11260          }
11261          markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {
11262            return m.style.display = r ? "none" : "block";
11263          });
11264          if (r) {
11265            _refreshing = self2;
11266            self2.update(r);
11267          }
11268          if (pin && (!pinReparent || !self2.isActive)) {
11269            if (r) {
11270              _swapPinOut(pin, spacer, pinOriginalState);
11271            } else {
11272              _swapPinIn(pin, spacer, _getComputedStyle(pin), spacerState);
11273            }
11274          }
11275          r || self2.update(r);
11276          _refreshing = prevRefreshing;
11277          self2.isReverted = r;
11278        }
11279      };
11280      self2.refresh = function(soft, force, position, pinOffset) {
11281        if ((_refreshing || !self2.enabled) && !force) {
11282          return;
11283        }
11284        if (pin && soft && _lastScrollTime) {
11285          _addListener3(ScrollTrigger3, "scrollEnd", _softRefresh);
11286          return;
11287        }
11288        !_refreshingAll && onRefreshInit && onRefreshInit(self2);
11289        _refreshing = self2;
11290        if (tweenTo.tween && !position) {
11291          tweenTo.tween.kill();
11292          tweenTo.tween = 0;
11293        }
11294        scrubTween && scrubTween.pause();
11295        if (invalidateOnRefresh && animation) {
11296          animation.revert({
11297            kill: false
11298          }).invalidate();
11299          animation.getChildren ? animation.getChildren(true, true, false).forEach(function(t) {
11300            return t.vars.immediateRender && t.render(0, true, true);
11301          }) : animation.vars.immediateRender && animation.render(0, true, true);
11302        }
11303        self2.isReverted || self2.revert(true, true);
11304        self2._subPinOffset = false;
11305        var size = getScrollerSize(), scrollerBounds = getScrollerOffsets(), max = containerAnimation ? containerAnimation.duration() : _maxScroll(scroller, direction), isFirstRefresh = change <= 0.01 || !change, offset2 = 0, otherPinOffset = pinOffset || 0, parsedEnd = _isObject3(position) ? position.end : vars.end, parsedEndTrigger = vars.endTrigger || trigger, parsedStart = _isObject3(position) ? position.start : vars.start || (vars.start === 0 || !trigger ? 0 : pin ? "0 0" : "0 100%"), pinnedContainer = self2.pinnedContainer = vars.pinnedContainer && _getTarget(vars.pinnedContainer, self2), triggerIndex = trigger && Math.max(0, _triggers.indexOf(self2)) || 0, i = triggerIndex, cs2, bounds, scroll, isVertical, override, curTrigger, curPin, oppositeScroll, initted, revertedPins, forcedOverflow, markerStartOffset, markerEndOffset;
11306        if (markers && _isObject3(position)) {
11307          markerStartOffset = gsap3.getProperty(markerStartTrigger, direction.p);
11308          markerEndOffset = gsap3.getProperty(markerEndTrigger, direction.p);
11309        }
11310        while (i-- > 0) {
11311          curTrigger = _triggers[i];
11312          curTrigger.end || curTrigger.refresh(0, 1) || (_refreshing = self2);
11313          curPin = curTrigger.pin;
11314          if (curPin && (curPin === trigger || curPin === pin || curPin === pinnedContainer) && !curTrigger.isReverted) {
11315            revertedPins || (revertedPins = []);
11316            revertedPins.unshift(curTrigger);
11317            curTrigger.revert(true, true);
11318          }
11319          if (curTrigger !== _triggers[i]) {
11320            triggerIndex--;
11321            i--;
11322          }
11323        }
11324        _isFunction3(parsedStart) && (parsedStart = parsedStart(self2));
11325        parsedStart = _parseClamp(parsedStart, "start", self2);
11326        start = _parsePosition3(parsedStart, trigger, size, direction, scrollFunc(), markerStart, markerStartTrigger, self2, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self2._startClamp && "_startClamp") || (pin ? -1e-3 : 0);
11327        _isFunction3(parsedEnd) && (parsedEnd = parsedEnd(self2));
11328        if (_isString3(parsedEnd) && !parsedEnd.indexOf("+=")) {
11329          if (~parsedEnd.indexOf(" ")) {
11330            parsedEnd = (_isString3(parsedStart) ? parsedStart.split(" ")[0] : "") + parsedEnd;
11331          } else {
11332            offset2 = _offsetToPx(parsedEnd.substr(2), size);
11333            parsedEnd = _isString3(parsedStart) ? parsedStart : (containerAnimation ? gsap3.utils.mapRange(0, containerAnimation.duration(), containerAnimation.scrollTrigger.start, containerAnimation.scrollTrigger.end, start) : start) + offset2;
11334            parsedEndTrigger = trigger;
11335          }
11336        }
11337        parsedEnd = _parseClamp(parsedEnd, "end", self2);
11338        end = Math.max(start, _parsePosition3(parsedEnd || (parsedEndTrigger ? "100% 0" : max), parsedEndTrigger, size, direction, scrollFunc() + offset2, markerEnd, markerEndTrigger, self2, scrollerBounds, borderWidth, useFixedPosition, max, containerAnimation, self2._endClamp && "_endClamp")) || -1e-3;
11339        offset2 = 0;
11340        i = triggerIndex;
11341        while (i--) {
11342          curTrigger = _triggers[i] || {};
11343          curPin = curTrigger.pin;
11344          if (curPin && curTrigger.start - curTrigger._pinPush <= start && !containerAnimation && curTrigger.end > 0) {
11345            cs2 = curTrigger.end - (self2._startClamp ? Math.max(0, curTrigger.start) : curTrigger.start);
11346            if ((curPin === trigger && curTrigger.start - curTrigger._pinPush < start || curPin === pinnedContainer) && isNaN(parsedStart)) {
11347              offset2 += cs2 * (1 - curTrigger.progress);
11348            }
11349            curPin === pin && (otherPinOffset += cs2);
11350          }
11351        }
11352        start += offset2;
11353        end += offset2;
11354        self2._startClamp && (self2._startClamp += offset2);
11355        if (self2._endClamp && !_refreshingAll) {
11356          self2._endClamp = end || -1e-3;
11357          end = Math.min(end, _maxScroll(scroller, direction));
11358        }
11359        change = end - start || (start -= 0.01) && 1e-3;
11360        if (isFirstRefresh) {
11361          prevProgress = gsap3.utils.clamp(0, 1, gsap3.utils.normalize(start, end, prevScroll));
11362        }
11363        self2._pinPush = otherPinOffset;
11364        if (markerStart && offset2) {
11365          cs2 = {};
11366          cs2[direction.a] = "+=" + offset2;
11367          pinnedContainer && (cs2[direction.p] = "-=" + scrollFunc());
11368          gsap3.set([markerStart, markerEnd], cs2);
11369        }
11370        if (pin && !(_clampingMax && self2.end >= _maxScroll(scroller, direction))) {
11371          cs2 = _getComputedStyle(pin);
11372          isVertical = direction === _vertical;
11373          scroll = scrollFunc();
11374          pinStart = parseFloat(pinGetter(direction.a)) + otherPinOffset;
11375          if (!max && end > 1) {
11376            forcedOverflow = (isViewport ? _doc4.scrollingElement || _docEl2 : scroller).style;
11377            forcedOverflow = {
11378              style: forcedOverflow,
11379              value: forcedOverflow["overflow" + direction.a.toUpperCase()]
11380            };
11381            if (isViewport && _getComputedStyle(_body2)["overflow" + direction.a.toUpperCase()] !== "scroll") {
11382              forcedOverflow.style["overflow" + direction.a.toUpperCase()] = "scroll";
11383            }
11384          }
11385          _swapPinIn(pin, spacer, cs2);
11386          pinState = _getState(pin);
11387          bounds = _getBounds(pin, true);
11388          oppositeScroll = useFixedPosition && _getScrollFunc(scroller, isVertical ? _horizontal : _vertical)();
11389          if (pinSpacing) {
11390            spacerState = [pinSpacing + direction.os2, change + otherPinOffset + _px];
11391            spacerState.t = spacer;
11392            i = pinSpacing === _padding ? _getSize(pin, direction) + change + otherPinOffset : 0;
11393            if (i) {
11394              spacerState.push(direction.d, i + _px);
11395              spacer.style.flexBasis !== "auto" && (spacer.style.flexBasis = i + _px);
11396            }
11397            _setState(spacerState);
11398            if (pinnedContainer) {
11399              _triggers.forEach(function(t) {
11400                if (t.pin === pinnedContainer && t.vars.pinSpacing !== false) {
11401                  t._subPinOffset = true;
11402                }
11403              });
11404            }
11405            useFixedPosition && scrollFunc(prevScroll);
11406          } else {
11407            i = _getSize(pin, direction);
11408            i && spacer.style.flexBasis !== "auto" && (spacer.style.flexBasis = i + _px);
11409          }
11410          if (useFixedPosition) {
11411            override = {
11412              top: bounds.top + (isVertical ? scroll - start : oppositeScroll) + _px,
11413              left: bounds.left + (isVertical ? oppositeScroll : scroll - start) + _px,
11414              boxSizing: "border-box",
11415              position: "fixed"
11416            };
11417            override[_width] = override["max" + _Width] = Math.ceil(bounds.width) + _px;
11418            override[_height] = override["max" + _Height] = Math.ceil(bounds.height) + _px;
11419            override[_margin] = override[_margin + _Top] = override[_margin + _Right] = override[_margin + _Bottom] = override[_margin + _Left] = "0";
11420            override[_padding] = cs2[_padding];
11421            override[_padding + _Top] = cs2[_padding + _Top];
11422            override[_padding + _Right] = cs2[_padding + _Right];
11423            override[_padding + _Bottom] = cs2[_padding + _Bottom];
11424            override[_padding + _Left] = cs2[_padding + _Left];
11425            pinActiveState = _copyState(pinOriginalState, override, pinReparent);
11426            _refreshingAll && scrollFunc(0);
11427          }
11428          if (animation) {
11429            initted = animation._initted;
11430            _suppressOverwrites2(1);
11431            animation.render(animation.duration(), true, true);
11432            pinChange = pinGetter(direction.a) - pinStart + change + otherPinOffset;
11433            pinMoves = Math.abs(change - pinChange) > 1;
11434            useFixedPosition && pinMoves && pinActiveState.splice(pinActiveState.length - 2, 2);
11435            animation.render(0, true, true);
11436            initted || animation.invalidate(true);
11437            animation.parent || animation.totalTime(animation.totalTime());
11438            _suppressOverwrites2(0);
11439          } else {
11440            pinChange = change;
11441          }
11442          forcedOverflow && (forcedOverflow.value ? forcedOverflow.style["overflow" + direction.a.toUpperCase()] = forcedOverflow.value : forcedOverflow.style.removeProperty("overflow-" + direction.a));
11443        } else if (trigger && scrollFunc() && !containerAnimation) {
11444          bounds = trigger.parentNode;
11445          while (bounds && bounds !== _body2) {
11446            if (bounds._pinOffset) {
11447              start -= bounds._pinOffset;
11448              end -= bounds._pinOffset;
11449            }
11450            bounds = bounds.parentNode;
11451          }
11452        }
11453        revertedPins && revertedPins.forEach(function(t) {
11454          return t.revert(false, true);
11455        });
11456        self2.start = start;
11457        self2.end = end;
11458        scroll1 = scroll2 = _refreshingAll ? prevScroll : scrollFunc();
11459        if (!containerAnimation && !_refreshingAll) {
11460          scroll1 < prevScroll && scrollFunc(prevScroll);
11461          self2.scroll.rec = 0;
11462        }
11463        self2.revert(false, true);
11464        lastRefresh = _getTime2();
11465        if (snapDelayedCall) {
11466          lastSnap = -1;
11467          snapDelayedCall.restart(true);
11468        }
11469        _refreshing = 0;
11470        animation && isToggle && (animation._initted || prevAnimProgress) && animation.progress() !== prevAnimProgress && animation.progress(prevAnimProgress || 0, true).render(animation.time(), true, true);
11471        if (isFirstRefresh || prevProgress !== self2.progress || containerAnimation || invalidateOnRefresh || animation && !animation._initted) {
11472          animation && !isToggle && (animation._initted || prevProgress || animation.vars.immediateRender !== false) && animation.totalProgress(containerAnimation && start < -1e-3 && !prevProgress ? gsap3.utils.normalize(start, end, 0) : prevProgress, true);
11473          self2.progress = isFirstRefresh || (scroll1 - start) / change === prevProgress ? 0 : prevProgress;
11474        }
11475        pin && pinSpacing && (spacer._pinOffset = Math.round(self2.progress * pinChange));
11476        scrubTween && scrubTween.invalidate();
11477        if (!isNaN(markerStartOffset)) {
11478          markerStartOffset -= gsap3.getProperty(markerStartTrigger, direction.p);
11479          markerEndOffset -= gsap3.getProperty(markerEndTrigger, direction.p);
11480          _shiftMarker(markerStartTrigger, direction, markerStartOffset);
11481          _shiftMarker(markerStart, direction, markerStartOffset - (pinOffset || 0));
11482          _shiftMarker(markerEndTrigger, direction, markerEndOffset);
11483          _shiftMarker(markerEnd, direction, markerEndOffset - (pinOffset || 0));
11484        }
11485        isFirstRefresh && !_refreshingAll && self2.update();
11486        if (onRefresh && !_refreshingAll && !executingOnRefresh) {
11487          executingOnRefresh = true;
11488          onRefresh(self2);
11489          executingOnRefresh = false;
11490        }
11491      };
11492      self2.getVelocity = function() {
11493        return (scrollFunc() - scroll2) / (_getTime2() - _time2) * 1e3 || 0;
11494      };
11495      self2.endAnimation = function() {
11496        _endAnimation(self2.callbackAnimation);
11497        if (animation) {
11498          scrubTween ? scrubTween.progress(1) : !animation.paused() ? _endAnimation(animation, animation.reversed()) : isToggle || _endAnimation(animation, self2.direction < 0, 1);
11499        }
11500      };
11501      self2.labelToScroll = function(label) {
11502        return animation && animation.labels && (start || self2.refresh() || start) + animation.labels[label] / animation.duration() * change || 0;
11503      };
11504      self2.getTrailing = function(name) {
11505        var i = _triggers.indexOf(self2), a = self2.direction > 0 ? _triggers.slice(0, i).reverse() : _triggers.slice(i + 1);
11506        return (_isString3(name) ? a.filter(function(t) {
11507          return t.vars.preventOverlaps === name;
11508        }) : a).filter(function(t) {
11509          return self2.direction > 0 ? t.end <= start : t.start >= end;
11510        });
11511      };
11512      self2.update = function(reset2, recordVelocity, forceFake) {
11513        if (containerAnimation && !forceFake && !reset2) {
11514          return;
11515        }
11516        var scroll = _refreshingAll === true ? prevScroll : self2.scroll(), p = reset2 ? 0 : (scroll - start) / change, clipped = p < 0 ? 0 : p > 1 ? 1 : p || 0, prevProgress2 = self2.progress, isActive, wasActive, toggleState, action, stateChanged, toggled, isAtMax, isTakingAction;
11517        if (recordVelocity) {
11518          scroll2 = scroll1;
11519          scroll1 = containerAnimation ? scrollFunc() : scroll;
11520          if (snap3) {
11521            snap22 = snap1;
11522            snap1 = animation && !isToggle ? animation.totalProgress() : clipped;
11523          }
11524        }
11525        if (anticipatePin && pin && !_refreshing && !_startup2 && _lastScrollTime) {
11526          if (!clipped && start < scroll + (scroll - scroll2) / (_getTime2() - _time2) * anticipatePin) {
11527            clipped = 1e-4;
11528          } else if (clipped === 1 && end > scroll + (scroll - scroll2) / (_getTime2() - _time2) * anticipatePin) {
11529            clipped = 0.9999;
11530          }
11531        }
11532        if (clipped !== prevProgress2 && self2.enabled) {
11533          isActive = self2.isActive = !!clipped && clipped < 1;
11534          wasActive = !!prevProgress2 && prevProgress2 < 1;
11535          toggled = isActive !== wasActive;
11536          stateChanged = toggled || !!clipped !== !!prevProgress2;
11537          self2.direction = clipped > prevProgress2 ? 1 : -1;
11538          self2.progress = clipped;
11539          if (stateChanged && !_refreshing) {
11540            toggleState = clipped && !prevProgress2 ? 0 : clipped === 1 ? 1 : prevProgress2 === 1 ? 2 : 3;
11541            if (isToggle) {
11542              action = !toggled && toggleActions[toggleState + 1] !== "none" && toggleActions[toggleState + 1] || toggleActions[toggleState];
11543              isTakingAction = animation && (action === "complete" || action === "reset" || action in animation);
11544            }
11545          }
11546          preventOverlaps && (toggled || isTakingAction) && (isTakingAction || scrub || !animation) && (_isFunction3(preventOverlaps) ? preventOverlaps(self2) : self2.getTrailing(preventOverlaps).forEach(function(t) {
11547            return t.endAnimation();
11548          }));
11549          if (!isToggle) {
11550            if (scrubTween && !_refreshing && !_startup2) {
11551              scrubTween._dp._time - scrubTween._start !== scrubTween._time && scrubTween.render(scrubTween._dp._time - scrubTween._start);
11552              if (scrubTween.resetTo) {
11553                scrubTween.resetTo("totalProgress", clipped, animation._tTime / animation._tDur);
11554              } else {
11555                scrubTween.vars.totalProgress = clipped;
11556                scrubTween.invalidate().restart();
11557              }
11558            } else if (animation) {
11559              animation.totalProgress(clipped, !!(_refreshing && (lastRefresh || reset2)));
11560            }
11561          }
11562          if (pin) {
11563            reset2 && pinSpacing && (spacer.style[pinSpacing + direction.os2] = spacingStart);
11564            if (!useFixedPosition) {
11565              pinSetter(_round3(pinStart + pinChange * clipped));
11566            } else if (stateChanged) {
11567              isAtMax = !reset2 && clipped > prevProgress2 && end + 1 > scroll && scroll + 1 >= _maxScroll(scroller, direction);
11568              if (pinReparent) {
11569                if (!reset2 && (isActive || isAtMax)) {
11570                  var bounds = _getBounds(pin, true), _offset = scroll - start;
11571                  _reparent(pin, _body2, bounds.top + (direction === _vertical ? _offset : 0) + _px, bounds.left + (direction === _vertical ? 0 : _offset) + _px);
11572                } else {
11573                  _reparent(pin, spacer);
11574                }
11575              }
11576              _setState(isActive || isAtMax ? pinActiveState : pinState);
11577              pinMoves && clipped < 1 && isActive || pinSetter(pinStart + (clipped === 1 && !isAtMax ? pinChange : 0));
11578            }
11579          }
11580          snap3 && !tweenTo.tween && !_refreshing && !_startup2 && snapDelayedCall.restart(true);
11581          toggleClass && (toggled || once && clipped && (clipped < 1 || !_limitCallbacks)) && _toArray(toggleClass.targets).forEach(function(el) {
11582            return el.classList[isActive || once ? "add" : "remove"](toggleClass.className);
11583          });
11584          onUpdate && !isToggle && !reset2 && onUpdate(self2);
11585          if (stateChanged && !_refreshing) {
11586            if (isToggle) {
11587              if (isTakingAction) {
11588                if (action === "complete") {
11589                  animation.pause().totalProgress(1);
11590                } else if (action === "reset") {
11591                  animation.restart(true).pause();
11592                } else if (action === "restart") {
11593                  animation.restart(true);
11594                } else {
11595                  animation[action]();
11596                }
11597              }
11598              onUpdate && onUpdate(self2);
11599            }
11600            if (toggled || !_limitCallbacks) {
11601              onToggle && toggled && _callback3(self2, onToggle);
11602              callbacks[toggleState] && _callback3(self2, callbacks[toggleState]);
11603              once && (clipped === 1 ? self2.kill(false, 1) : callbacks[toggleState] = 0);
11604              if (!toggled) {
11605                toggleState = clipped === 1 ? 1 : 3;
11606                callbacks[toggleState] && _callback3(self2, callbacks[toggleState]);
11607              }
11608            }
11609            if (fastScrollEnd && !isActive && Math.abs(self2.getVelocity()) > (_isNumber3(fastScrollEnd) ? fastScrollEnd : 2500)) {
11610              _endAnimation(self2.callbackAnimation);
11611              scrubTween ? scrubTween.progress(1) : _endAnimation(animation, action === "reverse" ? 1 : !clipped, 1);
11612            }
11613          } else if (isToggle && onUpdate && !_refreshing) {
11614            onUpdate(self2);
11615          }
11616        }
11617        if (markerEndSetter) {
11618          var n = containerAnimation ? scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0) : scroll;
11619          markerStartSetter(n + (markerStartTrigger._isFlipped ? 1 : 0));
11620          markerEndSetter(n);
11621        }
11622        caMarkerSetter && caMarkerSetter(-scroll / containerAnimation.duration() * (containerAnimation._caScrollDist || 0));
11623      };
11624      self2.enable = function(reset2, refresh) {
11625        if (!self2.enabled) {
11626          self2.enabled = true;
11627          _addListener3(scroller, "resize", _onResize);
11628          isViewport || _addListener3(scroller, "scroll", _onScroll3);
11629          onRefreshInit && _addListener3(ScrollTrigger3, "refreshInit", onRefreshInit);
11630          if (reset2 !== false) {
11631            self2.progress = prevProgress = 0;
11632            scroll1 = scroll2 = lastSnap = scrollFunc();
11633          }
11634          refresh !== false && self2.refresh();
11635        }
11636      };
11637      self2.getTween = function(snap4) {
11638        return snap4 && tweenTo ? tweenTo.tween : scrubTween;
11639      };
11640      self2.setPositions = function(newStart, newEnd, keepClamp, pinOffset) {
11641        if (containerAnimation) {
11642          var st = containerAnimation.scrollTrigger, duration = containerAnimation.duration(), _change = st.end - st.start;
11643          newStart = st.start + _change * newStart / duration;
11644          newEnd = st.start + _change * newEnd / duration;
11645        }
11646        self2.refresh(false, false, {
11647          start: _keepClamp(newStart, keepClamp && !!self2._startClamp),
11648          end: _keepClamp(newEnd, keepClamp && !!self2._endClamp)
11649        }, pinOffset);
11650        self2.update();
11651      };
11652      self2.adjustPinSpacing = function(amount) {
11653        if (spacerState && amount) {
11654          var i = spacerState.indexOf(direction.d) + 1;
11655          spacerState[i] = parseFloat(spacerState[i]) + amount + _px;
11656          spacerState[1] = parseFloat(spacerState[1]) + amount + _px;
11657          _setState(spacerState);
11658        }
11659      };
11660      self2.disable = function(reset2, allowAnimation) {
11661        reset2 !== false && self2.revert(true, true);
11662        if (self2.enabled) {
11663          self2.enabled = self2.isActive = false;
11664          allowAnimation || scrubTween && scrubTween.pause();
11665          prevScroll = 0;
11666          pinCache && (pinCache.uncache = 1);
11667          onRefreshInit && _removeListener3(ScrollTrigger3, "refreshInit", onRefreshInit);
11668          if (snapDelayedCall) {
11669            snapDelayedCall.pause();
11670            tweenTo.tween && tweenTo.tween.kill() && (tweenTo.tween = 0);
11671          }
11672          if (!isViewport) {
11673            var i = _triggers.length;
11674            while (i--) {
11675              if (_triggers[i].scroller === scroller && _triggers[i] !== self2) {
11676                return;
11677              }
11678            }
11679            _removeListener3(scroller, "resize", _onResize);
11680            isViewport || _removeListener3(scroller, "scroll", _onScroll3);
11681          }
11682        }
11683      };
11684      self2.kill = function(revert, allowAnimation) {
11685        self2.disable(revert, allowAnimation);
11686        scrubTween && !allowAnimation && scrubTween.kill();
11687        id && delete _ids[id];
11688        var i = _triggers.indexOf(self2);
11689        i >= 0 && _triggers.splice(i, 1);
11690        i === _i && _direction > 0 && _i--;
11691        i = 0;
11692        _triggers.forEach(function(t) {
11693          return t.scroller === self2.scroller && (i = 1);
11694        });
11695        i || _refreshingAll || (self2.scroll.rec = 0);
11696        if (animation) {
11697          animation.scrollTrigger = null;
11698          revert && animation.revert({
11699            kill: false
11700          });
11701          allowAnimation || animation.kill();
11702        }
11703        markerStart && [markerStart, markerEnd, markerStartTrigger, markerEndTrigger].forEach(function(m) {
11704          return m.parentNode && m.parentNode.removeChild(m);
11705        });
11706        _primary === self2 && (_primary = 0);
11707        if (pin) {
11708          pinCache && (pinCache.uncache = 1);
11709          i = 0;
11710          _triggers.forEach(function(t) {
11711            return t.pin === pin && i++;
11712          });
11713          i || (pinCache.spacer = 0);
11714        }
11715        vars.onKill && vars.onKill(self2);
11716      };
11717      _triggers.push(self2);
11718      self2.enable(false, false);
11719      customRevertReturn && customRevertReturn(self2);
11720      if (animation && animation.add && !change) {
11721        var updateFunc = self2.update;
11722        self2.update = function() {
11723          self2.update = updateFunc;
11724          _scrollers.cache++;
11725          start || end || self2.refresh();
11726        };
11727        gsap3.delayedCall(0.01, self2.update);
11728        change = 0.01;
11729        start = end = 0;
11730      } else {
11731        self2.refresh();
11732      }
11733      pin && _queueRefreshAll();
11734    }, "init");
11735    ScrollTrigger3.register = /* @__PURE__ */ __name(function register(core) {
11736      if (!_coreInitted3) {
11737        gsap3 = core || _getGSAP3();
11738        _windowExists5() && window.document && ScrollTrigger3.enable();
11739        _coreInitted3 = _enabled;
11740      }
11741      return _coreInitted3;
11742    }, "register");
11743    ScrollTrigger3.defaults = /* @__PURE__ */ __name(function defaults2(config3) {
11744      if (config3) {
11745        for (var p in config3) {
11746          _defaults2[p] = config3[p];
11747        }
11748      }
11749      return _defaults2;
11750    }, "defaults");
11751    ScrollTrigger3.disable = /* @__PURE__ */ __name(function disable(reset2, kill) {
11752      _enabled = 0;
11753      _triggers.forEach(function(trigger) {
11754        return trigger[kill ? "kill" : "disable"](reset2);
11755      });
11756      _removeListener3(_win4, "wheel", _onScroll3);
11757      _removeListener3(_doc4, "scroll", _onScroll3);
11758      clearInterval(_syncInterval);
11759      _removeListener3(_doc4, "touchcancel", _passThrough3);
11760      _removeListener3(_body2, "touchstart", _passThrough3);
11761      _multiListener(_removeListener3, _doc4, "pointerdown,touchstart,mousedown", _pointerDownHandler);
11762      _multiListener(_removeListener3, _doc4, "pointerup,touchend,mouseup", _pointerUpHandler);
11763      _resizeDelay.kill();
11764      _iterateAutoRefresh(_removeListener3);
11765      for (var i = 0; i < _scrollers.length; i += 3) {
11766        _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 1]);
11767        _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 2]);
11768      }
11769    }, "disable");
11770    ScrollTrigger3.enable = /* @__PURE__ */ __name(function enable() {
11771      _win4 = window;
11772      _doc4 = document;
11773      _docEl2 = _doc4.documentElement;
11774      _body2 = _doc4.body;
11775      if (gsap3) {
11776        _toArray = gsap3.utils.toArray;
11777        _clamp4 = gsap3.utils.clamp;
11778        _context3 = gsap3.core.context || _passThrough3;
11779        _suppressOverwrites2 = gsap3.core.suppressOverwrites || _passThrough3;
11780        _scrollRestoration = _win4.history.scrollRestoration || "auto";
11781        _lastScroll = _win4.pageYOffset || 0;
11782        gsap3.core.globals("ScrollTrigger", ScrollTrigger3);
11783        if (_body2) {
11784          _enabled = 1;
11785          _div100vh = document.createElement("div");
11786          _div100vh.style.height = "100vh";
11787          _div100vh.style.position = "absolute";
11788          _refresh100vh();
11789          _rafBugFix();
11790          Observer.register(gsap3);
11791          ScrollTrigger3.isTouch = Observer.isTouch;
11792          _fixIOSBug = Observer.isTouch && /(iPad|iPhone|iPod|Mac)/g.test(navigator.userAgent);
11793          _ignoreMobileResize = Observer.isTouch === 1;
11794          _addListener3(_win4, "wheel", _onScroll3);
11795          _root2 = [_win4, _doc4, _docEl2, _body2];
11796          if (gsap3.matchMedia) {
11797            ScrollTrigger3.matchMedia = function(vars) {
11798              var mm = gsap3.matchMedia(), p;
11799              for (p in vars) {
11800                mm.add(p, vars[p]);
11801              }
11802              return mm;
11803            };
11804            gsap3.addEventListener("matchMediaInit", function() {
11805              _recordScrollPositions();
11806              _revertAll();
11807            });
11808            gsap3.addEventListener("matchMediaRevert", function() {
11809              return _revertRecorded();
11810            });
11811            gsap3.addEventListener("matchMedia", function() {
11812              _refreshAll(0, 1);
11813              _dispatch3("matchMedia");
11814            });
11815            gsap3.matchMedia().add("(orientation: portrait)", function() {
11816              _setBaseDimensions();
11817              return _setBaseDimensions;
11818            });
11819          } else {
11820            console.warn("Requires GSAP 3.11.0 or later");
11821          }
11822          _setBaseDimensions();
11823          _addListener3(_doc4, "scroll", _onScroll3);
11824          var bodyHasStyle = _body2.hasAttribute("style"), bodyStyle = _body2.style, border = bodyStyle.borderTopStyle, AnimationProto = gsap3.core.Animation.prototype, bounds, i;
11825          AnimationProto.revert || Object.defineProperty(AnimationProto, "revert", {
11826            value: /* @__PURE__ */ __name(function value() {
11827              return this.time(-0.01, true);
11828            }, "value")
11829          });
11830          bodyStyle.borderTopStyle = "solid";
11831          bounds = _getBounds(_body2);
11832          _vertical.m = Math.round(bounds.top + _vertical.sc()) || 0;
11833          _horizontal.m = Math.round(bounds.left + _horizontal.sc()) || 0;
11834          border ? bodyStyle.borderTopStyle = border : bodyStyle.removeProperty("border-top-style");
11835          if (!bodyHasStyle) {
11836            _body2.setAttribute("style", "");
11837            _body2.removeAttribute("style");
11838          }
11839          _syncInterval = setInterval(_sync, 250);
11840          gsap3.delayedCall(0.5, function() {
11841            return _startup2 = 0;
11842          });
11843          _addListener3(_doc4, "touchcancel", _passThrough3);
11844          _addListener3(_body2, "touchstart", _passThrough3);
11845          _multiListener(_addListener3, _doc4, "pointerdown,touchstart,mousedown", _pointerDownHandler);
11846          _multiListener(_addListener3, _doc4, "pointerup,touchend,mouseup", _pointerUpHandler);
11847          _transformProp2 = gsap3.utils.checkPrefix("transform");
11848          _stateProps.push(_transformProp2);
11849          _coreInitted3 = _getTime2();
11850          _resizeDelay = gsap3.delayedCall(0.2, _refreshAll).pause();
11851          _autoRefresh = [_doc4, "visibilitychange", function() {
11852            var w = _win4.innerWidth, h = _win4.innerHeight;
11853            if (_doc4.hidden) {
11854              _prevWidth = w;
11855              _prevHeight = h;
11856            } else if (_prevWidth !== w || _prevHeight !== h) {
11857              _onResize();
11858            }
11859          }, _doc4, "DOMContentLoaded", _refreshAll, _win4, "load", _refreshAll, _win4, "resize", _onResize];
11860          _iterateAutoRefresh(_addListener3);
11861          _triggers.forEach(function(trigger) {
11862            return trigger.enable(0, 1);
11863          });
11864          for (i = 0; i < _scrollers.length; i += 3) {
11865            _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 1]);
11866            _wheelListener(_removeListener3, _scrollers[i], _scrollers[i + 2]);
11867          }
11868        }
11869      }
11870    }, "enable");
11871    ScrollTrigger3.config = /* @__PURE__ */ __name(function config3(vars) {
11872      "limitCallbacks" in vars && (_limitCallbacks = !!vars.limitCallbacks);
11873      var ms = vars.syncInterval;
11874      ms && clearInterval(_syncInterval) || (_syncInterval = ms) && setInterval(_sync, ms);
11875      "ignoreMobileResize" in vars && (_ignoreMobileResize = ScrollTrigger3.isTouch === 1 && vars.ignoreMobileResize);
11876      if ("autoRefreshEvents" in vars) {
11877        _iterateAutoRefresh(_removeListener3) || _iterateAutoRefresh(_addListener3, vars.autoRefreshEvents || "none");
11878        _ignoreResize = (vars.autoRefreshEvents + "").indexOf("resize") === -1;
11879      }
11880    }, "config");
11881    ScrollTrigger3.scrollerProxy = /* @__PURE__ */ __name(function scrollerProxy(target, vars) {
11882      var t = _getTarget(target), i = _scrollers.indexOf(t), isViewport = _isViewport3(t);
11883      if (~i) {
11884        _scrollers.splice(i, isViewport ? 6 : 2);
11885      }
11886      if (vars) {
11887        isViewport ? _proxies.unshift(_win4, vars, _body2, vars, _docEl2, vars) : _proxies.unshift(t, vars);
11888      }
11889    }, "scrollerProxy");
11890    ScrollTrigger3.clearMatchMedia = /* @__PURE__ */ __name(function clearMatchMedia(query) {
11891      _triggers.forEach(function(t) {
11892        return t._ctx && t._ctx.query === query && t._ctx.kill(true, true);
11893      });
11894    }, "clearMatchMedia");
11895    ScrollTrigger3.isInViewport = /* @__PURE__ */ __name(function isInViewport(element, ratio, horizontal) {
11896      var bounds = (_isString3(element) ? _getTarget(element) : element).getBoundingClientRect(), offset = bounds[horizontal ? _width : _height] * ratio || 0;
11897      return horizontal ? bounds.right - offset > 0 && bounds.left + offset < _win4.innerWidth : bounds.bottom - offset > 0 && bounds.top + offset < _win4.innerHeight;
11898    }, "isInViewport");
11899    ScrollTrigger3.positionInViewport = /* @__PURE__ */ __name(function positionInViewport(element, referencePoint, horizontal) {
11900      _isString3(element) && (element = _getTarget(element));
11901      var bounds = element.getBoundingClientRect(), size = bounds[horizontal ? _width : _height], offset = referencePoint == null ? size / 2 : referencePoint in _keywords ? _keywords[referencePoint] * size : ~referencePoint.indexOf("%") ? parseFloat(referencePoint) * size / 100 : parseFloat(referencePoint) || 0;
11902      return horizontal ? (bounds.left + offset) / _win4.innerWidth : (bounds.top + offset) / _win4.innerHeight;
11903    }, "positionInViewport");
11904    ScrollTrigger3.killAll = /* @__PURE__ */ __name(function killAll(allowListeners) {
11905      _triggers.slice(0).forEach(function(t) {
11906        return t.vars.id !== "ScrollSmoother" && t.kill();
11907      });
11908      if (allowListeners !== true) {
11909        var listeners = _listeners2.killAll || [];
11910        _listeners2 = {};
11911        listeners.forEach(function(f) {
11912          return f();
11913        });
11914      }
11915    }, "killAll");
11916    return ScrollTrigger3;
11917  })();
11918  ScrollTrigger2.version = "3.14.2";
11919  ScrollTrigger2.saveStyles = function(targets) {
11920    return targets ? _toArray(targets).forEach(function(target) {
11921      if (target && target.style) {
11922        var i = _savedStyles.indexOf(target);
11923        i >= 0 && _savedStyles.splice(i, 5);
11924        _savedStyles.push(target, target.style.cssText, target.getBBox && target.getAttribute("transform"), gsap3.core.getCache(target), _context3());
11925      }
11926    }) : _savedStyles;
11927  };
11928  ScrollTrigger2.revert = function(soft, media) {
11929    return _revertAll(!soft, media);
11930  };
11931  ScrollTrigger2.create = function(vars, animation) {
11932    return new ScrollTrigger2(vars, animation);
11933  };
11934  ScrollTrigger2.refresh = function(safe) {
11935    return safe ? _onResize(true) : (_coreInitted3 || ScrollTrigger2.register()) && _refreshAll(true);
11936  };
11937  ScrollTrigger2.update = function(force) {
11938    return ++_scrollers.cache && _updateAll(force === true ? 2 : 0);
11939  };
11940  ScrollTrigger2.clearScrollMemory = _clearScrollMemory;
11941  ScrollTrigger2.maxScroll = function(element, horizontal) {
11942    return _maxScroll(element, horizontal ? _horizontal : _vertical);
11943  };
11944  ScrollTrigger2.getScrollFunc = function(element, horizontal) {
11945    return _getScrollFunc(_getTarget(element), horizontal ? _horizontal : _vertical);
11946  };
11947  ScrollTrigger2.getById = function(id) {
11948    return _ids[id];
11949  };
11950  ScrollTrigger2.getAll = function() {
11951    return _triggers.filter(function(t) {
11952      return t.vars.id !== "ScrollSmoother";
11953    });
11954  };
11955  ScrollTrigger2.isScrolling = function() {
11956    return !!_lastScrollTime;
11957  };
11958  ScrollTrigger2.snapDirectional = _snapDirectional;
11959  ScrollTrigger2.addEventListener = function(type, callback) {
11960    var a = _listeners2[type] || (_listeners2[type] = []);
11961    ~a.indexOf(callback) || a.push(callback);
11962  };
11963  ScrollTrigger2.removeEventListener = function(type, callback) {
11964    var a = _listeners2[type], i = a && a.indexOf(callback);
11965    i >= 0 && a.splice(i, 1);
11966  };
11967  ScrollTrigger2.batch = function(targets, vars) {
11968    var result = [], varsCopy = {}, interval = vars.interval || 0.016, batchMax = vars.batchMax || 1e9, proxyCallback = /* @__PURE__ */ __name(function proxyCallback2(type, callback) {
11969      var elements = [], triggers = [], delay = gsap3.delayedCall(interval, function() {
11970        callback(elements, triggers);
11971        elements = [];
11972        triggers = [];
11973      }).pause();
11974      return function(self2) {
11975        elements.length || delay.restart(true);
11976        elements.push(self2.trigger);
11977        triggers.push(self2);
11978        batchMax <= elements.length && delay.progress(1);
11979      };
11980    }, "proxyCallback"), p;
11981    for (p in vars) {
11982      varsCopy[p] = p.substr(0, 2) === "on" && _isFunction3(vars[p]) && p !== "onRefreshInit" ? proxyCallback(p, vars[p]) : vars[p];
11983    }
11984    if (_isFunction3(batchMax)) {
11985      batchMax = batchMax();
11986      _addListener3(ScrollTrigger2, "refresh", function() {
11987        return batchMax = vars.batchMax();
11988      });
11989    }
11990    _toArray(targets).forEach(function(target) {
11991      var config3 = {};
11992      for (p in varsCopy) {
11993        config3[p] = varsCopy[p];
11994      }
11995      config3.trigger = target;
11996      result.push(ScrollTrigger2.create(config3));
11997    });
11998    return result;
11999  };
12000  var _clampScrollAndGetDurationMultiplier = /* @__PURE__ */ __name(function _clampScrollAndGetDurationMultiplier2(scrollFunc, current, end, max) {
12001    current > max ? scrollFunc(max) : current < 0 && scrollFunc(0);
12002    return end > max ? (max - current) / (end - current) : end < 0 ? current / (current - end) : 1;
12003  }, "_clampScrollAndGetDurationMultiplier");
12004  var _allowNativePanning = /* @__PURE__ */ __name(function _allowNativePanning2(target, direction) {
12005    if (direction === true) {
12006      target.style.removeProperty("touch-action");
12007    } else {
12008      target.style.touchAction = direction === true ? "auto" : direction ? "pan-" + direction + (Observer.isTouch ? " pinch-zoom" : "") : "none";
12009    }
12010    target === _docEl2 && _allowNativePanning2(_body2, direction);
12011  }, "_allowNativePanning");
12012  var _overflow = {
12013    auto: 1,
12014    scroll: 1
12015  };
12016  var _nestedScroll = /* @__PURE__ */ __name(function _nestedScroll2(_ref5) {
12017    var event = _ref5.event, target = _ref5.target, axis = _ref5.axis;
12018    var node = (event.changedTouches ? event.changedTouches[0] : event).target, cache = node._gsap || gsap3.core.getCache(node), time = _getTime2(), cs;
12019    if (!cache._isScrollT || time - cache._isScrollT > 2e3) {
12020      while (node && node !== _body2 && (node.scrollHeight <= node.clientHeight && node.scrollWidth <= node.clientWidth || !(_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]))) {
12021        node = node.parentNode;
12022      }
12023      cache._isScroll = node && node !== target && !_isViewport3(node) && (_overflow[(cs = _getComputedStyle(node)).overflowY] || _overflow[cs.overflowX]);
12024      cache._isScrollT = time;
12025    }
12026    if (cache._isScroll || axis === "x") {
12027      event.stopPropagation();
12028      event._gsapAllow = true;
12029    }
12030  }, "_nestedScroll");
12031  var _inputObserver = /* @__PURE__ */ __name(function _inputObserver2(target, type, inputs, nested) {
12032    return Observer.create({
12033      target,
12034      capture: true,
12035      debounce: false,
12036      lockAxis: true,
12037      type,
12038      onWheel: nested = nested && _nestedScroll,
12039      onPress: nested,
12040      onDrag: nested,
12041      onScroll: nested,
12042      onEnable: /* @__PURE__ */ __name(function onEnable() {
12043        return inputs && _addListener3(_doc4, Observer.eventTypes[0], _captureInputs, false, true);
12044      }, "onEnable"),
12045      onDisable: /* @__PURE__ */ __name(function onDisable() {
12046        return _removeListener3(_doc4, Observer.eventTypes[0], _captureInputs, true);
12047      }, "onDisable")
12048    });
12049  }, "_inputObserver");
12050  var _inputExp = /(input|label|select|textarea)/i;
12051  var _inputIsFocused;
12052  var _captureInputs = /* @__PURE__ */ __name(function _captureInputs2(e) {
12053    var isInput = _inputExp.test(e.target.tagName);
12054    if (isInput || _inputIsFocused) {
12055      e._gsapAllow = true;
12056      _inputIsFocused = isInput;
12057    }
12058  }, "_captureInputs");
12059  var _getScrollNormalizer = /* @__PURE__ */ __name(function _getScrollNormalizer2(vars) {
12060    _isObject3(vars) || (vars = {});
12061    vars.preventDefault = vars.isNormalizer = vars.allowClicks = true;
12062    vars.type || (vars.type = "wheel,touch");
12063    vars.debounce = !!vars.debounce;
12064    vars.id = vars.id || "normalizer";
12065    var _vars2 = vars, normalizeScrollX = _vars2.normalizeScrollX, momentum = _vars2.momentum, allowNestedScroll = _vars2.allowNestedScroll, onRelease = _vars2.onRelease, self2, maxY, target = _getTarget(vars.target) || _docEl2, smoother = gsap3.core.globals().ScrollSmoother, smootherInstance = smoother && smoother.get(), content = _fixIOSBug && (vars.content && _getTarget(vars.content) || smootherInstance && vars.content !== false && !smootherInstance.smooth() && smootherInstance.content()), scrollFuncY = _getScrollFunc(target, _vertical), scrollFuncX = _getScrollFunc(target, _horizontal), scale = 1, initialScale = (Observer.isTouch && _win4.visualViewport ? _win4.visualViewport.scale * _win4.visualViewport.width : _win4.outerWidth) / _win4.innerWidth, wheelRefresh = 0, resolveMomentumDuration = _isFunction3(momentum) ? function() {
12066      return momentum(self2);
12067    } : function() {
12068      return momentum || 2.8;
12069    }, lastRefreshID, skipTouchMove, inputObserver = _inputObserver(target, vars.type, true, allowNestedScroll), resumeTouchMove = /* @__PURE__ */ __name(function resumeTouchMove2() {
12070      return skipTouchMove = false;
12071    }, "resumeTouchMove"), scrollClampX = _passThrough3, scrollClampY = _passThrough3, updateClamps = /* @__PURE__ */ __name(function updateClamps2() {
12072      maxY = _maxScroll(target, _vertical);
12073      scrollClampY = _clamp4(_fixIOSBug ? 1 : 0, maxY);
12074      normalizeScrollX && (scrollClampX = _clamp4(0, _maxScroll(target, _horizontal)));
12075      lastRefreshID = _refreshID;
12076    }, "updateClamps"), removeContentOffset = /* @__PURE__ */ __name(function removeContentOffset2() {
12077      content._gsap.y = _round3(parseFloat(content._gsap.y) + scrollFuncY.offset) + "px";
12078      content.style.transform = "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, " + parseFloat(content._gsap.y) + ", 0, 1)";
12079      scrollFuncY.offset = scrollFuncY.cacheID = 0;
12080    }, "removeContentOffset"), ignoreDrag = /* @__PURE__ */ __name(function ignoreDrag2() {
12081      if (skipTouchMove) {
12082        requestAnimationFrame(resumeTouchMove);
12083        var offset = _round3(self2.deltaY / 2), scroll = scrollClampY(scrollFuncY.v - offset);
12084        if (content && scroll !== scrollFuncY.v + scrollFuncY.offset) {
12085          scrollFuncY.offset = scroll - scrollFuncY.v;
12086          var y = _round3((parseFloat(content && content._gsap.y) || 0) - scrollFuncY.offset);
12087          content.style.transform = "matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, " + y + ", 0, 1)";
12088          content._gsap.y = y + "px";
12089          scrollFuncY.cacheID = _scrollers.cache;
12090          _updateAll();
12091        }
12092        return true;
12093      }
12094      scrollFuncY.offset && removeContentOffset();
12095      skipTouchMove = true;
12096    }, "ignoreDrag"), tween, startScrollX, startScrollY, onStopDelayedCall, onResize = /* @__PURE__ */ __name(function onResize2() {
12097      updateClamps();
12098      if (tween.isActive() && tween.vars.scrollY > maxY) {
12099        scrollFuncY() > maxY ? tween.progress(1) && scrollFuncY(maxY) : tween.resetTo("scrollY", maxY);
12100      }
12101    }, "onResize");
12102    content && gsap3.set(content, {
12103      y: "+=0"
12104    });
12105    vars.ignoreCheck = function(e) {
12106      return _fixIOSBug && e.type === "touchmove" && ignoreDrag(e) || scale > 1.05 && e.type !== "touchstart" || self2.isGesturing || e.touches && e.touches.length > 1;
12107    };
12108    vars.onPress = function() {
12109      skipTouchMove = false;
12110      var prevScale = scale;
12111      scale = _round3((_win4.visualViewport && _win4.visualViewport.scale || 1) / initialScale);
12112      tween.pause();
12113      prevScale !== scale && _allowNativePanning(target, scale > 1.01 ? true : normalizeScrollX ? false : "x");
12114      startScrollX = scrollFuncX();
12115      startScrollY = scrollFuncY();
12116      updateClamps();
12117      lastRefreshID = _refreshID;
12118    };
12119    vars.onRelease = vars.onGestureStart = function(self3, wasDragging) {
12120      scrollFuncY.offset && removeContentOffset();
12121      if (!wasDragging) {
12122        onStopDelayedCall.restart(true);
12123      } else {
12124        _scrollers.cache++;
12125        var dur = resolveMomentumDuration(), currentScroll, endScroll;
12126        if (normalizeScrollX) {
12127          currentScroll = scrollFuncX();
12128          endScroll = currentScroll + dur * 0.05 * -self3.velocityX / 0.227;
12129          dur *= _clampScrollAndGetDurationMultiplier(scrollFuncX, currentScroll, endScroll, _maxScroll(target, _horizontal));
12130          tween.vars.scrollX = scrollClampX(endScroll);
12131        }
12132        currentScroll = scrollFuncY();
12133        endScroll = currentScroll + dur * 0.05 * -self3.velocityY / 0.227;
12134        dur *= _clampScrollAndGetDurationMultiplier(scrollFuncY, currentScroll, endScroll, _maxScroll(target, _vertical));
12135        tween.vars.scrollY = scrollClampY(endScroll);
12136        tween.invalidate().duration(dur).play(0.01);
12137        if (_fixIOSBug && tween.vars.scrollY >= maxY || currentScroll >= maxY - 1) {
12138          gsap3.to({}, {
12139            onUpdate: onResize,
12140            duration: dur
12141          });
12142        }
12143      }
12144      onRelease && onRelease(self3);
12145    };
12146    vars.onWheel = function() {
12147      tween._ts && tween.pause();
12148      if (_getTime2() - wheelRefresh > 1e3) {
12149        lastRefreshID = 0;
12150        wheelRefresh = _getTime2();
12151      }
12152    };
12153    vars.onChange = function(self3, dx, dy, xArray, yArray) {
12154      _refreshID !== lastRefreshID && updateClamps();
12155      dx && normalizeScrollX && scrollFuncX(scrollClampX(xArray[2] === dx ? startScrollX + (self3.startX - self3.x) : scrollFuncX() + dx - xArray[1]));
12156      if (dy) {
12157        scrollFuncY.offset && removeContentOffset();
12158        var isTouch = yArray[2] === dy, y = isTouch ? startScrollY + self3.startY - self3.y : scrollFuncY() + dy - yArray[1], yClamped = scrollClampY(y);
12159        isTouch && y !== yClamped && (startScrollY += yClamped - y);
12160        scrollFuncY(yClamped);
12161      }
12162      (dy || dx) && _updateAll();
12163    };
12164    vars.onEnable = function() {
12165      _allowNativePanning(target, normalizeScrollX ? false : "x");
12166      ScrollTrigger2.addEventListener("refresh", onResize);
12167      _addListener3(_win4, "resize", onResize);
12168      if (scrollFuncY.smooth) {
12169        scrollFuncY.target.style.scrollBehavior = "auto";
12170        scrollFuncY.smooth = scrollFuncX.smooth = false;
12171      }
12172      inputObserver.enable();
12173    };
12174    vars.onDisable = function() {
12175      _allowNativePanning(target, true);
12176      _removeListener3(_win4, "resize", onResize);
12177      ScrollTrigger2.removeEventListener("refresh", onResize);
12178      inputObserver.kill();
12179    };
12180    vars.lockAxis = vars.lockAxis !== false;
12181    self2 = new Observer(vars);
12182    self2.iOS = _fixIOSBug;
12183    _fixIOSBug && !scrollFuncY() && scrollFuncY(1);
12184    _fixIOSBug && gsap3.ticker.add(_passThrough3);
12185    onStopDelayedCall = self2._dc;
12186    tween = gsap3.to(self2, {
12187      ease: "power4",
12188      paused: true,
12189      inherit: false,
12190      scrollX: normalizeScrollX ? "+=0.1" : "+=0",
12191      scrollY: "+=0.1",
12192      modifiers: {
12193        scrollY: _interruptionTracker(scrollFuncY, scrollFuncY(), function() {
12194          return tween.pause();
12195        })
12196      },
12197      onUpdate: _updateAll,
12198      onComplete: onStopDelayedCall.vars.onComplete
12199    });
12200    return self2;
12201  }, "_getScrollNormalizer");
12202  ScrollTrigger2.sort = function(func) {
12203    if (_isFunction3(func)) {
12204      return _triggers.sort(func);
12205    }
12206    var scroll = _win4.pageYOffset || 0;
12207    ScrollTrigger2.getAll().forEach(function(t) {
12208      return t._sortY = t.trigger ? scroll + t.trigger.getBoundingClientRect().top : t.start + _win4.innerHeight;
12209    });
12210    return _triggers.sort(func || function(a, b) {
12211      return (a.vars.refreshPriority || 0) * -1e6 + (a.vars.containerAnimation ? 1e6 : a._sortY) - ((b.vars.containerAnimation ? 1e6 : b._sortY) + (b.vars.refreshPriority || 0) * -1e6);
12212    });
12213  };
12214  ScrollTrigger2.observe = function(vars) {
12215    return new Observer(vars);
12216  };
12217  ScrollTrigger2.normalizeScroll = function(vars) {
12218    if (typeof vars === "undefined") {
12219      return _normalizer2;
12220    }
12221    if (vars === true && _normalizer2) {
12222      return _normalizer2.enable();
12223    }
12224    if (vars === false) {
12225      _normalizer2 && _normalizer2.kill();
12226      _normalizer2 = vars;
12227      return;
12228    }
12229    var normalizer = vars instanceof Observer ? vars : _getScrollNormalizer(vars);
12230    _normalizer2 && _normalizer2.target === normalizer.target && _normalizer2.kill();
12231    _isViewport3(normalizer.target) && (_normalizer2 = normalizer);
12232    return normalizer;
12233  };
12234  ScrollTrigger2.core = {
12235    // smaller file size way to leverage in ScrollSmoother and Observer
12236    _getVelocityProp,
12237    _inputObserver,
12238    _scrollers,
12239    _proxies,
12240    bridge: {
12241      // when normalizeScroll sets the scroll position (ss = setScroll)
12242      ss: /* @__PURE__ */ __name(function ss() {
12243        _lastScrollTime || _dispatch3("scrollStart");
12244        _lastScrollTime = _getTime2();
12245      }, "ss"),
12246      // a way to get the _refreshing value in Observer
12247      ref: /* @__PURE__ */ __name(function ref() {
12248        return _refreshing;
12249      }, "ref")
12250    }
12251  };
12252  _getGSAP3() && gsap3.registerPlugin(ScrollTrigger2);
12253
12254  
12254// imbus/javascript/libs/ImbusTooltips.js
12255  var _ImbusTooltips = class _ImbusTooltips {
12256    constructor({ selector: selector3 = ".js_tooltip" } = {}) {
12257      this.selector = selector3;
12258      this.tooltip = null;
12259      this.lastTrigger = null;
12260      this.hideTimeout = null;
12261      this.handleMouseOver = this.showTooltip.bind(this);
12262      this.handleMouseOut = this.hideTooltip.bind(this);
12263      this.handleMouseMove = this.moveTooltip.bind(this);
12264      this.handleFocus = this.showTooltip.bind(this);
12265      this.handleBlur = this.hideTooltip.bind(this);
12266      this.handleTouchStart = this.handleTouchStart.bind(this);
12267      this.handleDocumentTouch = this.handleDocumentTouch.bind(this);
12268      this.init();
12269    }
12270    init() {
12271      document.querySelectorAll(this.selector).forEach((el) => {
12272        el.addEventListener("mouseover", this.handleMouseOver);
12273        el.addEventListener("mouseout", this.handleMouseOut);
12274        el.addEventListener("mousemove", this.handleMouseMove);
12275        el.addEventListener("focus", this.handleFocus);
12276        el.addEventListener("blur", this.handleBlur);
12277        el.addEventListener("touchstart", this.handleTouchStart, {
12278          passive: true
12279        });
12280        if (el.getAttribute("title")) {
12281          el.setAttribute("data-tooltip-title", el.getAttribute("title"));
12282          el.removeAttribute("title");
12283        }
12284        if (!el.hasAttribute("tabindex") && !el.tabIndex && !["A", "BUTTON", "INPUT", "SELECT", "TEXTAREA"].includes(
12285          el.tagName
12286        )) {
12287          el.setAttribute("tabindex", "0");
12288        }
12289      });
12290    }
12291    showTooltip(e) {
12292      const el = e.currentTarget;
12293      if (this.tooltip && this.lastTrigger === el) return;
12294      const title = el.getAttribute("data-tooltip-title");
12295      if (!title) return;
12296      this.hideTooltip();
12297      this.tooltip = document.createElement("div");
12298      this.tooltip.className = "tooltip-holder";
12299      this.tooltip.setAttribute("role", "tooltip");
12300      this.tooltip.textContent = title;
12301      const arrow = document.createElement("div");
12302      arrow.className = "tooltip-holder-arrow";
12303      arrow.innerHTML = `<svg width="14" height="7"><polygon points="0,0 7,7 14,0" /></svg>`;
12304      this.tooltip.appendChild(arrow);
12305      document.body.appendChild(this.tooltip);
12306      const tooltipId = "imbus-tooltip-" + Math.random().toString(36).slice(2, 10);
12307      this.tooltip.id = tooltipId;
12308      el.setAttribute("aria-describedby", tooltipId);
12309      this.positionTooltip(el);
12310      this.lastTrigger = el;
12311    }
12312    moveTooltip(e) {
12313    }
12314    positionTooltip(el) {
12315      const rect = el.getBoundingClientRect();
12316      const tooltip = this.tooltip;
12317      tooltip.style.visibility = "hidden";
12318      tooltip.style.left = "0px";
12319      tooltip.style.top = "0px";
12320      tooltip.style.transform = "none";
12321      requestAnimationFrame(() => {
12322        const ttRect = tooltip.getBoundingClientRect();
12323        let left = rect.left + rect.width / 2 - ttRect.width / 2 + window.scrollX;
12324        let top = rect.top - ttRect.height - 10 + window.scrollY;
12325        left = Math.max(
12326          4,
12327          Math.min(
12328            left,
12329            window.scrollX + window.innerWidth - ttRect.width - 4
12330          )
12331        );
12332        if (top < window.scrollY) {
12333          top = rect.bottom + 14 + window.scrollY;
12334          const arrow = tooltip.querySelector(".tooltip-holder-arrow");
12335          if (arrow) {
12336            arrow.classList.add("tooltip-holder-arrow--top");
12337          }
12338        }
12339        tooltip.style.left = `${left}px`;
12340        tooltip.style.top = `${top}px`;
12341        tooltip.style.visibility = "visible";
12342        tooltip.style.transform = "none";
12343        tooltip.classList.add("fadeInDown");
12344      });
12345    }
12346    hideTooltip() {
12347      if (this.tooltip) {
12348        if (this.lastTrigger) {
12349          this.lastTrigger.removeAttribute("aria-describedby");
12350        }
12351        this.tooltip.remove();
12352        this.tooltip = null;
12353        this.lastTrigger = null;
12354      }
12355      if (this.hideTimeout) {
12356        clearTimeout(this.hideTimeout);
12357        this.hideTimeout = null;
12358      }
12359      document.removeEventListener("touchstart", this.handleDocumentTouch);
12360    }
12361    handleTouchStart(e) {
12362      e.preventDefault();
12363      this.showTooltip({ currentTarget: e.currentTarget });
12364      setTimeout(() => {
12365        document.addEventListener("touchstart", this.handleDocumentTouch, {
12366          once: true
12367        });
12368      }, 0);
12369      this.hideTimeout = setTimeout(() => this.hideTooltip(), 2e3);
12370    }
12371    handleDocumentTouch(e) {
12372      if (this.lastTrigger && !this.lastTrigger.contains(e.target)) {
12373        this.hideTooltip();
12374      }
12375    }
12376    destroy() {
12377      document.querySelectorAll(this.selector).forEach((el) => {
12378        el.removeEventListener("mouseover", this.handleMouseOver);
12379        el.removeEventListener("mouseout", this.handleMouseOut);
12380        el.removeEventListener("mousemove", this.handleMouseMove);
12381        el.removeEventListener("focus", this.handleFocus);
12382        el.removeEventListener("blur", this.handleBlur);
12383        el.removeEventListener("touchstart", this.handleTouchStart, {
12384          passive: true
12385        });
12386        if (el.getAttribute("data-tooltip-title")) {
12387          el.setAttribute("title", el.getAttribute("data-tooltip-title"));
12388          el.removeAttribute("data-tooltip-title");
12389        }
12390        el.removeAttribute("aria-describedby");
12391        if (el.getAttribute("tabindex") === "0") {
12392          el.removeAttribute("tabindex");
12393        }
12394      });
12395      this.hideTooltip();
12396    }
12397  };
12398  __name(_ImbusTooltips, "ImbusTooltips");
12399  var ImbusTooltips = _ImbusTooltips;
12400  var ImbusTooltips_default = ImbusTooltips;
12401
12402  
12402// imbus/javascript/global/imbus.config.js
12403  var baseConfig = {
12404    // settings
12405    breakpoint: 599,
12406    animationSpeed: 500,
12407    // element and plugin settings
12408    header: {
12409      element: "body header.main",
12410      elementsHideOnPin: "#nav-account",
12411      headroomOptions: {
12412        offset: 50,
12413        tolerance: {
12414          up: 5,
12415          down: 0
12416        },
12417        classes: {
12418          pinned: "js_header_big",
12419          unpinned: "js_header_small",
12420          top: "js_header_top",
12421          notTop: "js_header_small-nonTop",
12422          initial: "js_header_big-init"
12423        }
12424      }
12425    },
12426    tabs: {
12427      elementIdentifier: ".tabs--simple"
12428    },
12429    icons: {
12430      elementIdentifier: ".icon-animated"
12431    },
12432    table: {
12433      context: "#content",
12434      elementIdentifier: ".composeableForMobile"
12435    },
12436    navigation: {
12437      context: "header.main",
12438      elementIdentifier: "nav > ul > li.sub"
12439    },
12440    forms: {
12441      context: ".form_field--floating-label",
12442      emptyClass: "form_field-NOVALUE"
12443    },
12444    toggler: {
12445      elementIdentifier: "[data-toggle]",
12446      defaultState: "js_toggler_default",
12447      toggledState: "js_toggler_toggled",
12448      defaultIcon: "default",
12449      defaultCloseIcon: "close",
12450      slide: {
12451        defaultState: "animated fadeOutUp",
12452        toggledState: "animated fadeInDown"
12453      },
12454      tease: {
12455        defaultState: "animated teaseContent",
12456        toggledState: "animated showContent"
12457      },
12458      zoom: {
12459        defaultState: "animated fadeOutZoom",
12460        toggledState: "animated fadeInZoom"
12461      },
12462      slideLeft: {
12463        defaultState: "animated fadeOutLeft",
12464        toggledState: "animated fadeInRight"
12465      },
12466      hashPrefix: "i_"
12467    },
12468    tooltips: {
12469      baseElement: ".tooltip",
12470      animation: "fade",
12471      delay: 0,
12472      maxWidth: 300,
12473      speed: 100,
12474      touchDevices: true
12475    },
12476    datepicker: {
12477      inputMode: true,
12478      positionToInput: ["bottom", "left"],
12479      locale: i18next.language,
12480      enableWeekNumbers: true,
12481      dateMin: /* @__PURE__ */ new Date(),
12482      selectedWeekends: [],
12483      displayDatesOutside: false,
12484      styles: {
12485        arrowPrev: "arrow arrow-left",
12486        arrowNext: "arrow arrow-right"
12487      },
12488      onChangeToInput(self2) {
12489        if (!self2.context.inputElement) return;
12490        if (self2.context.selectedDates[0]) {
12491          self2.context.inputElement.value = new Date(self2.context.selectedDates[0]).toLocaleDateString("de-DE", {
12492            day: "2-digit",
12493            month: "2-digit",
12494            year: "numeric"
12495          });
12496          self2.hide();
12497        } else {
12498          self2.context.inputElement.value = "";
12499        }
12500      },
12501      labels: {
12502        application: i18next.t("datepicker:application"),
12503        navigation: i18next.t("datepicker:navigation"),
12504        arrowNext: {
12505          month: i18next.t("datepicker:arrowNext_month"),
12506          year: i18next.t("datepicker:arrowNext_year")
12507        },
12508        arrowPrev: {
12509          month: i18next.t("datepicker:arrowPrev_month"),
12510          year: i18next.t("datepicker:arrowPrev_year")
12511        },
12512        month: i18next.t("datepicker:month"),
12513        months: i18next.t("datepicker:months"),
12514        year: i18next.t("datepicker:year"),
12515        years: i18next.t("datepicker:years"),
12516        week: i18next.t("datepicker:week"),
12517        weekNumber: i18next.t("datepicker:weekNumber"),
12518        dates: i18next.t("datepicker:dates")
12519      }
12520    },
12521    // datepicker: {
12522    // 	firstDay: 1,
12523    // 	format: 'DD.MM.YYYY',
12524    // 	outputFormat: 'DD.MM.YYYY',
12525    // 	minDate: new Date(),
12526    // 	showWeekNumber: true,
12527    // 	i18n: {
12528    // 		previousMonth: i18next.t('datepicker:previousMonth'),
12529    // 		nextMonth: i18next.t('datepicker:nextMonth'),
12530    // 		months: [
12531    // 			i18next.t('datepicker:month_jan'),
12532    // 			i18next.t('datepicker:month_feb'),
12533    // 			i18next.t('datepicker:month_mar'),
12534    // 			i18next.t('datepicker:month_apr'),
12535    // 			i18next.t('datepicker:month_may'),
12536    // 			i18next.t('datepicker:month_jun'),
12537    // 			i18next.t('datepicker:month_jul'),
12538    // 			i18next.t('datepicker:month_aug'),
12539    // 			i18next.t('datepicker:month_sep'),
12540    // 			i18next.t('datepicker:month_oct'),
12541    // 			i18next.t('datepicker:month_nov'),
12542    // 			i18next.t('datepicker:month_dec')
12543    // 		],
12544    // 		weekdays: [
12545    // 			i18next.t('datepicker:workday_sunday'),
12546    // 			i18next.t('datepicker:workday_monday'),
12547    // 			i18next.t('datepicker:workday_tuesday'),
12548    // 			i18next.t('datepicker:workday_wednesday'),
12549    // 			i18next.t('datepicker:workday_thursday'),
12550    // 			i18next.t('datepicker:workday_friday'),
12551    // 			i18next.t('datepicker:workday_saturday')
12552    // 		],
12553    // 		weekdaysShort: [
12554    // 			i18next.t('datepicker:workday_su'),
12555    // 			i18next.t('datepicker:workday_mo'),
12556    // 			i18next.t('datepicker:workday_tu'),
12557    // 			i18next.t('datepicker:workday_we'),
12558    // 			i18next.t('datepicker:workday_th'),
12559    // 			i18next.t('datepicker:workday_fr'),
12560    // 			i18next.t('datepicker:workday_sa')
12561    // 		]
12562    // 	}
12563    // },
12564    sticky: {
12565      item: ".scroll-fixed",
12566      container: "#content",
12567      stickClass: "scroll-fixed-active",
12568      endStickClass: "scroll-fixed-end",
12569      offset: 150
12570    },
12571    slider: {
12572      banner: {
12573        slidesToShow: 1,
12574        slidesToScroll: 1,
12575        autoplay: true,
12576        autoplaySpeed: 1e4,
12577        dots: false,
12578        arrows: false,
12579        fade: true
12580      },
12581      contentautoscroll: {
12582        slidesToShow: 3,
12583        slidesToScroll: 1,
12584        autoplay: true,
12585        autoplaySpeed: 5e3,
12586        dots: false,
12587        draggable: false,
12588        arrows: true,
12589        infinite: false,
12590        responsive: [
12591          {
12592            breakpoint: 1e3,
12593            settings: {
12594              slidesToShow: 2,
12595              slidesToScroll: 2
12596            }
12597          },
12598          {
12599            breakpoint: 600,
12600            settings: {
12601              slidesToShow: 1,
12602              slidesToScroll: 1
12603            }
12604          }
12605        ]
12606      },
12607      content: {
12608        slidesToShow: 3,
12609        slidesToScroll: 1,
12610        autoplay: false,
12611        dots: false,
12612        draggable: false,
12613        arrows: true,
12614        infinite: false,
12615        responsive: [
12616          {
12617            breakpoint: 1e3,
12618            settings: {
12619              slidesToShow: 2,
12620              slidesToScroll: 2
12621            }
12622          },
12623          {
12624            breakpoint: 600,
12625            settings: {
12626              slidesToShow: 1,
12627              slidesToScroll: 1
12628            }
12629          }
12630        ]
12631      },
12632      locations: {
12633        slidesToShow: 3,
12634        slidesToScroll: 1,
12635        autoplay: false,
12636        dots: false,
12637        draggable: false,
12638        arrows: true,
12639        responsive: [
12640          {
12641            breakpoint: 1e3,
12642            settings: {
12643              slidesToShow: 2,
12644              slidesToScroll: 2
12645            }
12646          },
12647          {
12648            breakpoint: 600,
12649            settings: {
12650              slidesToShow: 1,
12651              slidesToScroll: 1
12652            }
12653          }
12654        ]
12655      },
12656      buttons: {
12657        default: {
12658          nextArrow: '<button type="button" aria-label="' + i18next.t("slider:next") + '" class="slick-next button button-outline"><span class="icon icon-medium icon-arrow-right" aria-hidden="true"></span></button>',
12659          prevArrow: '<button type="button" aria-label="' + i18next.t("slider:previous") + '" class="slick-prev button button-outline"><span class="icon icon-medium icon-arrow-left" aria-hidden="true"></span></button>'
12660        },
12661        contrast: {
12662          nextArrow: '<button type="button" aria-label="' + i18next.t("slider:next") + '" class="slick-next button button-white button-outline"><span class="icon icon-medium color-white icon-arrow-right" aria-hidden="true"></span></button>',
12663          prevArrow: '<button type="button" aria-label="' + i18next.t("slider:previous") + '" class="slick-prev button button-white button-outline"><span class="icon icon-medium color-white icon-arrow-left" aria-hidden="true"></span></button>'
12664        }
12665      }
12666    },
12667    search: {
12668      sectionIdentifier: "#tx-indexedsearch-sec",
12669      resultCountIdentifier: ".tx-indexedsearch-resultCount",
12670      inSectionIdentifier: ".tx-indexedsearch-inSection",
12671      searchForTargetIdentifier: ""
12672    },
12673    akademie: {
12674      emptyFilterHash: "cd28ed179a7365ce2151ad899c7932e640fe381e",
12675      languagePresets: {
12676        de: "1",
12677        ca: "9",
12678        local: "9",
12679        cn: "3"
12680      },
12681      locationPresets: {
12682        de: "",
12683        ca: ""
12684      },
12685      dates: {
12686        sortingValueMap: {
12687          startDate_ASC: {
12688            "val": "startDate_ASC",
12689            "txt": i18next.t("akademieFilter:sorting_date", { sorting: "$t(akademieFilter:sorting_ascending)" })
12690          },
12691          startDate_DESC: {
12692            "val": "startDate_DESC",
12693            "txt": i18next.t("akademieFilter:sorting_date", { sorting: "$t(akademieFilter:sorting_descending)" })
12694          },
12695          title_ASC: {
12696            "val": "title_ASC",
12697            "txt": i18next.t("akademieFilter:sorting_title", { sorting: "$t(akademieFilter:sorting_AtoZ)" })
12698          },
12699          title_DESC: {
12700            "val": "title_DESC",
12701            "txt": i18next.t("akademieFilter:sorting_title", { sorting: "$t(akademieFilter:sorting_ZtoA)" })
12702          },
12703          location_ASC: {
12704            "val": "location_ASC",
12705            "txt": i18next.t("akademieFilter:sorting_location", { sorting: "$t(akademieFilter:sorting_AtoZ)" })
12706          },
12707          location_DESC: {
12708            "val": "location_DESC",
12709            "txt": i18next.t("akademieFilter:sorting_location", { sorting: "$t(akademieFilter:sorting_ZtoA)" })
12710          },
12711          price_ASC: {
12712            "val": "price_ASC",
12713            "txt": i18next.t("akademieFilter:sorting_price", { sorting: "$t(akademieFilter:sorting_ascending)" })
12714          },
12715          price_DESC: {
12716            "val": "price_DESC",
12717            "txt": i18next.t("akademieFilter:sorting_price", { sorting: "$t(akademieFilter:sorting_descending)" })
12718          }
12719        }
12720      },
12721      trainings: {
12722        sortingValueMap: {
12723          title_ASC: {
12724            "val": "title_ASC",
12725            "txt": i18next.t("akademieFilter:sorting_title", { sorting: "$t(akademieFilter:sorting_AtoZ)" })
12726          },
12727          title_DESC: {
12728            "val": "title_DESC",
12729            "txt": i18next.t("akademieFilter:sorting_title", { sorting: "$t(akademieFilter:sorting_ZtoA)" })
12730          }
12731        }
12732      }
12733    }
12734  };
12735  var imbus_config_default = baseConfig;
12736
12737  
12737// imbus/javascript/imbus.main.js
12738  var imbus = imbus || {};
12739  imbus.ui = imbus.ui || {};
12740  imbus.cache = imbus.cache || {};
12741  imbus.helper = imbus.helper || {};
12742  imbus.events = imbus.events || {};
12743  imbus.dom_init = function() {
12744    imbus.ui.parallax.init();
12745    imbus.ui.hashHandler.init();
12746    imbus.ui.scrollTop.init();
12747    document.addEventListener("dp--cookie-init", function() {
12748      const cookiepopup = document.querySelector(".cc-window");
12749      cookiepopup.querySelectorAll('a[tabindex="2"]').forEach((link) => {
12750        link.setAttribute("tabindex", "0");
12751      });
12752      cookiepopup.querySelector(".cc-compliance")?.appendChild(
12753        cookiepopup.querySelector(".cc-compliance .cc-allow-all")
12754      );
12755      cookiepopup.querySelector(".cc-body .contrast-button")?.addEventListener("click", imbus.ui.contrast.buttonClick);
12756      document.addEventListener("focusin", (e) => {
12757        if (!document.body.classList.contains("dp--cookie-consent") || cookiepopup.contains(e.target))
12758          return;
12759        document.querySelector(".cc-window a, .cc-windows button").focus();
12760      });
12761    });
12762  };
12763  imbus.init = function() {
12764    imbus.ui.navigation.init();
12765    imbus.ui.contrast.init();
12766    imbus.ui.slider.init();
12767    imbus.ui.pdfgenerator.init();
12768    imbus.ui.search.init();
12769    imbus.ui.translations.init();
12770    imbus.ui.toggler.init();
12771    imbus.ui.header.init();
12772    imbus.ui.tooltips.init();
12773    imbus.ui.forms.init();
12774    imbus.ui.datepicker.init();
12775    imbus.ui.simpletabs.init();
12776    imbus.ui.tabs.init();
12777    imbus.ui.table.init();
12778    imbus.ui.lightbox.init();
12779  };
12780  imbus.ui.header = (function() {
12781    var element = document.querySelector(imbus_config_default.header.element), _init = /* @__PURE__ */ __name(function() {
12782      var headroom = new import_headroom.default(
12783        element,
12784        imbus_config_default.header.headroomOptions
12785      );
12786      headroom.init();
12787    }, "_init");
12788    return {
12789      init: _init
12790    };
12791  })();
12792  imbus.ui.translations = /* @__PURE__ */ (function() {
12793    var _init = /* @__PURE__ */ __name(function() {
12794      var buttons = document.querySelectorAll(
12795        ".downloads-list .collapsible-content .button.button-icononly.right"
12796      );
12797      if (buttons != null && buttons.length > 0) {
12798        buttons.forEach((button) => {
12799          button.setAttribute(
12800            "data-aria-open",
12801            i18next.t("downloads:label_aria_open")
12802          );
12803          button.setAttribute(
12804            "data-aria-closed",
12805            i18next.t("downloads:label_aria_closed")
12806          );
12807        });
12808      }
12809    }, "_init");
12810    return {
12811      init: _init
12812    };
12813  })();
12814  imbus.ui.parallax = /* @__PURE__ */ (function() {
12815    var _initGsap = /* @__PURE__ */ __name(function(animation) {
12816      gsapWithCSS.registerPlugin(ScrollTrigger2);
12817      animation.forEach((element, i) => {
12818        if (element.classList.contains("banner-image")) {
12819          gsapWithCSS.to(element, {
12820            y: 400,
12821            ease: "none",
12822            scrollTrigger: {
12823              trigger: element,
12824              start: "top",
12825              end: "bottom",
12826              scrub: 0
12827            }
12828          });
12829        } else {
12830          gsapWithCSS.to(element, {
12831            y: 400,
12832            ease: "none",
12833            scrollTrigger: {
12834              trigger: element.parentElement,
12835              start: "top bottom",
12836              end: "bottom top",
12837              scrub: 0
12838            }
12839          });
12840        }
12841      });
12842      const resizeObserver = new ResizeObserver(
12843        (entries) => ScrollTrigger2.refresh(true)
12844      );
12845      resizeObserver.observe(document.body);
12846      setTimeout(() => {
12847        ScrollTrigger2.refresh(true);
12848      }, 2e3);
12849    }, "_initGsap");
12850    var _init = /* @__PURE__ */ __name(function() {
12851      const hash = window.location.hash;
12852      let animation = gsapWithCSS.utils.toArray(".js-parallax-element");
12853      if (animation.length > 0) {
12854        const target = hash ? document.querySelector(hash) : null;
12855        if (target) {
12856          requestAnimationFrame(() => {
12857            document.documentElement.style.scrollBehavior = "auto";
12858            target.scrollIntoView();
12859            document.documentElement.style.scrollBehavior = "";
12860            _initGsap(animation);
12861          });
12862        } else {
12863          _initGsap(animation);
12864        }
12865      }
12866    }, "_init");
12867    return {
12868      init: _init
12869    };
12870  })();
12871  imbus.ui.tooltips = /* @__PURE__ */ (function() {
12872    var _init = /* @__PURE__ */ __name(function(config3) {
12873      const tooltips = new ImbusTooltips_default();
12874    }, "_init");
12875    return {
12876      init: _init
12877    };
12878  })();
12879  imbus.ui.datepicker = /* @__PURE__ */ (function() {
12880    var _init = /* @__PURE__ */ __name(function(config3) {
12881      var datepickerConfig = Object.assign(imbus_config_default.datepicker, config3);
12882      var elements = document.getElementsByClassName(
12883        "powermail_fieldwrap_type_date"
12884      );
12885      const options = Object.assign(datepickerConfig, {});
12886      Array.prototype.forEach.call(elements, (element, i) => {
12887        const calendar = new Calendar(element.getElementsByTagName("input")[0], options);
12888        element.getElementsByTagName("input")[0].addEventListener("keydown", (e) => {
12889          if (e.key === "Tab") {
12890            calendar.hide();
12891          }
12892        });
12893        calendar.init();
12894      });
12895    }, "_init");
12896    return {
12897      init: _init
12898    };
12899  })();
12900  imbus.ui.forms = /* @__PURE__ */ (function() {
12901    const _init = /* @__PURE__ */ __name(function() {
12902      document.querySelectorAll("form.form--ajax").forEach((form) => {
12903        const submitButtons = form.querySelectorAll(".button.action-ajax");
12904        submitButtons.forEach((button) => {
12905          button.addEventListener("click", function(e) {
12906            e.preventDefault();
12907            _submitFormPdf(form);
12908          });
12909        });
12910        form.addEventListener("submit", function(e) {
12911          e.preventDefault();
12912          _submitFormPdf(form);
12913        });
12914      });
12915      const selects = document.querySelectorAll(
12916        `${imbus_config_default.forms.context} select`
12917      );
12918      selects.forEach((select) => {
12919        _checkLabelState(select);
12920        select.addEventListener("change", function() {
12921          _checkLabelState(select);
12922        });
12923      });
12924    }, "_init");
12925    const _checkLabelState = /* @__PURE__ */ __name(function(select) {
12926      if (select.value === "") {
12927        select.classList.remove(imbus_config_default.forms.emptyClass);
12928      } else {
12929        select.classList.add(imbus_config_default.forms.emptyClass);
12930      }
12931    }, "_checkLabelState");
12932    const _submitFormPdf = /* @__PURE__ */ __name(async function(form) {
12933      const formType = form.dataset.ajaxtype;
12934      const formData = new FormData(form);
12935      const ajaxBtn = form.querySelector(".button.action-ajax");
12936      const setLoading = /* @__PURE__ */ __name((isLoading) => {
12937        if (ajaxBtn) {
12938          if (isLoading) {
12939            ajaxBtn.classList.add("button-ajaxloader-active");
12940          } else {
12941            ajaxBtn.classList.remove("button-ajaxloader-active");
12942          }
12943        }
12944      }, "setLoading");
12945      try {
12946        setLoading(true);
12947        let response, data;
12948        switch (formType) {
12949          case "pdf":
12950            response = await fetch(i18next.t("akademie:ajaxUrlPdf"), {
12951              method: "POST",
12952              body: formData,
12953              cache: "no-cache"
12954            });
12955            if (!response.ok) {
12956              throw new Error(`Response status: ${response.status}`);
12957            }
12958            data = await response.json();
12959            const basePath = i18next.t("akademie:downloadUrlPdf");
12960            const finalPath = basePath + data.filename;
12961            const sizes = ["Bytes", "KB", "MB", "GB", "TB"];
12962            const i = Math.min(
12963              Math.floor(Math.log(data.filesize) / Math.log(1024)),
12964              sizes.length - 1
12965            );
12966            const readableFilesize = (data.filesize / Math.pow(1024, i)).toFixed() + sizes[i];
12967            const downloadBtn = form.querySelector(".button.action-download");
12968            if (downloadBtn) {
12969              const sizeEl = downloadBtn.querySelector(".action-download__size");
12970              if (sizeEl) sizeEl.textContent = `(${readableFilesize})`;
12971              downloadBtn.setAttribute("href", finalPath);
12972              downloadBtn.style.display = "inline-block";
12973            }
12974            if (ajaxBtn) ajaxBtn.style.display = "none";
12975            break;
12976          case "poll":
12977            const urlParams = new URLSearchParams(window.location.search);
12978            if (urlParams.has("tx_powermail_pi1[hash]")) {
12979              const hashInput = form.querySelector('input[name*="[hash]"]');
12980              if (hashInput) {
12981                hashInput.value = urlParams.get(
12982                  "tx_powermail_pi1[hash]"
12983                );
12984              }
12985            }
12986            response = await fetch(i18next.t("newsletter:ajaxUrl"), {
12987              method: "POST",
12988              body: formData,
12989              cache: "no-cache"
12990            });
12991            if (!response.ok) {
12992              throw new Error(`Response status: ${response.status}`);
12993            }
12994            data = await response.text();
12995            const frame = form.closest(".frame");
12996            if (frame && frame.parentNode) {
12997              frame.parentNode.innerHTML = data;
12998            }
12999            break;
13000        }
13001      } catch (error) {
13002        switch (formType) {
13003          case "pdf":
13004            (0, import_toastify_js.default)({
13005              text: i18next.t("akademie:ajaxLoadError"),
13006              duration: 3e3,
13007              close: true,
13008              gravity: "bottom",
13009              position: "right",
13010              stopOnFocus: true
13011            }).showToast();
13012            break;
13013          case "poll":
13014            (0, import_toastify_js.default)({
13015              text: i18next.t("newsletter:ajaxLoadError"),
13016              duration: 3e3,
13017              close: true,
13018              gravity: "bottom",
13019              position: "right",
13020              stopOnFocus: true
13021            }).showToast();
13022            break;
13023        }
13024      } finally {
13025        setLoading(false);
13026      }
13027    }, "_submitFormPdf");
13028    return {
13029      init: _init
13030    };
13031  })();
13032  imbus.ui.hashHandler = (function() {
13033    var hashPrefix = imbus_config_default.toggler.hashPrefix;
13034    var _init = /* @__PURE__ */ __name(function() {
13035      _readHash();
13036    }, "_init");
13037    var _readHash = /* @__PURE__ */ __name(function() {
13038      var currentHash = window.location.hash;
13039      currentHash = currentHash.replace(hashPrefix, "");
13040      currentHash = currentHash.split("&")[0];
13041      if (currentHash && document.querySelector(currentHash) && document.querySelector(currentHash).closest("#content")) {
13042        document.addEventListener("collapsibleLoaded", function() {
13043          var targetElement = document.querySelector(currentHash);
13044          var triggerElement = targetElement.querySelector("[data-toggle]");
13045          var toggleOthersSelector = triggerElement?.getAttribute("data-toggleothers");
13046          var eConf = triggerElement ? imbus.ui.toggler.initEConf(triggerElement) : null;
13047          if (toggleOthersSelector) {
13048            var toggleOthers = document.querySelector(toggleOthersSelector);
13049            if (toggleOthers) {
13050              toggleOthers.querySelectorAll("[data-toggle]").forEach(function(triggerElementLocal) {
13051                var eConf2 = imbus.ui.toggler.initEConf(triggerElementLocal);
13052                var target2 = document.querySelector(
13053                  eConf2.targetElement
13054                );
13055                imbus.ui.toggler.defaultState(
13056                  target2,
13057                  triggerElementLocal,
13058                  eConf2,
13059                  true
13060                );
13061              });
13062            }
13063            if (triggerElement) {
13064              var target = document.querySelector(
13065                eConf.targetElement
13066              );
13067              imbus.ui.toggler.toggledState(
13068                target,
13069                triggerElement,
13070                eConf,
13071                true
13072              );
13073            }
13074            if (eConf.syncother) {
13075              document.querySelectorAll(eConf.syncother).forEach(function(otherTriggerElement) {
13076                var othereConf = imbus.ui.toggler.initEConf(
13077                  otherTriggerElement
13078                );
13079                var otherTarget = document.querySelector(
13080                  othereConf.targetElement
13081                );
13082                imbus.ui.toggler.toggledState(
13083                  otherTarget,
13084                  otherTriggerElement,
13085                  othereConf,
13086                  true
13087                );
13088              });
13089            }
13090          } else {
13091            if (triggerElement)
13092              triggerElement.dispatchEvent(
13093                new Event("click", { bubbles: true })
13094              );
13095            const teaser = targetElement.closest(".teaser-content");
13096            if (teaser) {
13097              const teaserFooter = teaser.parentElement.querySelector(
13098                ".teaser-content__footer[data-toggle]"
13099              );
13100              if (teaserFooter)
13101                teaserFooter.dispatchEvent(
13102                  new Event("click", { bubbles: true })
13103                );
13104            }
13105          }
13106          if (eConf && eConf.scrollIntoView === true) {
13107            setTimeout(() => {
13108              window.scrollTo({
13109                top: document.querySelector(eConf.scrollTo).getBoundingClientRect().top + window.pageYOffset - 110,
13110                behavior: "smooth"
13111              });
13112            }, 0);
13113          }
13114        });
13115      }
13116    }, "_readHash");
13117    var _getHash = /* @__PURE__ */ __name(function() {
13118      var currentHash = window.location.hash;
13119      currentHash = currentHash.replace(hashPrefix, "");
13120      currentHash = currentHash.split("&")[0];
13121      return currentHash.replace("#", "");
13122    }, "_getHash");
13123    var _setHash = /* @__PURE__ */ __name(function(elementId, hashValue = "") {
13124      if (elementId && document.querySelector(`#${elementId}`)?.closest("#content")) {
13125        var hash = "#" + hashPrefix + (hashValue != "" ? hashValue : elementId);
13126        history.pushState(
13127          "",
13128          document.title,
13129          window.location.pathname + window.location.search + hash
13130        );
13131      } else {
13132        history.pushState(
13133          "",
13134          document.title,
13135          window.location.pathname + window.location.search
13136        );
13137      }
13138    }, "_setHash");
13139    return {
13140      init: _init,
13141      readHash: _readHash,
13142      setHash: _setHash,
13143      getHash: _getHash
13144    };
13145  })();
13146  imbus.ui.table = /* @__PURE__ */ (function() {
13147    var _init = /* @__PURE__ */ __name(function() {
13148      document.querySelectorAll("table").forEach((table) => {
13149        let wrapper = document.createElement("div");
13150        wrapper.classList.add("tablewrapper");
13151        table.parentNode.insertBefore(wrapper, table);
13152        wrapper.appendChild(table);
13153      });
13154    }, "_init");
13155    return {
13156      init: _init
13157    };
13158  })();
13159  imbus.ui.scrollTop = /* @__PURE__ */ (function() {
13160    var _init = /* @__PURE__ */ __name(function() {
13161      const scrollTopLinks = document.querySelectorAll("a[href='#top']");
13162      scrollTopLinks.forEach((link) => {
13163        link.addEventListener("click", function(e) {
13164          e.preventDefault();
13165          window.scrollTo({ top: 0, behavior: "smooth" });
13166        });
13167      });
13168      const toggleScrollTopVisibility = /* @__PURE__ */ __name(() => {
13169        scrollTopLinks.forEach((link) => {
13170          if (window.scrollY === 0) {
13171            link.classList.remove("scroll-top-visible");
13172          } else {
13173            link.classList.add("scroll-top-visible");
13174          }
13175        });
13176      }, "toggleScrollTopVisibility");
13177      toggleScrollTopVisibility();
13178      window.addEventListener("scroll", toggleScrollTopVisibility);
13179    }, "_init");
13180    return {
13181      init: _init
13182    };
13183  })();
13184  imbus.ui.slider = /* @__PURE__ */ (function() {
13185    var _init = /* @__PURE__ */ __name(function() {
13186      const sliderElements = document.querySelectorAll(".slider");
13187      if (sliderElements.length > 0) {
13188        sliderElements.forEach((sliderElement) => {
13189          (0, import_tiny_slider.tns)({
13190            container: sliderElement,
13191            items: 1,
13192            responsive: {
13193              768: {
13194                items: 2
13195              },
13196              1024: {
13197                items: 3
13198              }
13199            },
13200            slideBy: 1,
13201            gutter: 40,
13202            autoplay: true,
13203            autoplayTimeout: 4e3,
13204            animateDelay: 2e3,
13205            mouseDrag: false,
13206            // <button class="tns-pause" type="button" aria-label="Pause slider" data-action="stop"></button>
13207            controlsText: [
13208              '<span class="icon icon-large icon-animated icon-arrow-left"><i></i><i></i><i></i></span>',
13209              '<span class="icon icon-large icon-animated icon-arrow-right"><i></i><i></i><i></i></span>'
13210            ],
13211            autoplayText: [
13212              '<span class="icon icon-large icon-animated icon-play"><i></i><i></i><i></i></span>',
13213              '<span class="icon icon-large icon-animated icon-pause"><i></i><i></i><i></i></span>'
13214            ],
13215            arrowKeys: false,
13216            controlsPosition: "bottom",
13217            navPosition: "bottom",
13218            autoplayPosition: "bottom",
13219            onInit(info) {
13220              const container = info.container.closest(".tns-outer");
13221              container.querySelector(".tns-liveregion").removeAttribute("aria-live");
13222              container.querySelector(".tns-liveregion").removeAttribute("aria-label");
13223              container.querySelector(".tns-liveregion").removeAttribute("aria-atomic");
13224              info.prevButton.setAttribute("tabindex", 0);
13225              info.nextButton.setAttribute("tabindex", 0);
13226              info.prevButton.setAttribute("aria-label", "Vorheriges Element");
13227              info.nextButton.setAttribute("aria-label", "N\xE4chstes Element");
13228              const stop = container.querySelector("button");
13229              const next = container.querySelector('[data-controls="next"]');
13230              info.controlsContainer.removeAttribute("tabindex");
13231              info.controlsContainer.appendChild(stop);
13232              info.controlsContainer.appendChild(next);
13233              if (stop.getAttribute("data-action") == "stop")
13234                stop.setAttribute("aria-label", "Slider Anhalten");
13235              else
13236                stop.setAttribute("aria-label", "Slider Fortsetzen");
13237              stop.addEventListener("click", () => {
13238                if (stop.getAttribute("data-action") == "stop")
13239                  stop.setAttribute("aria-label", "Slider Anhalten");
13240                else
13241                  stop.setAttribute("aria-label", "Slider Fortsetzen");
13242              });
13243              info.nextButton.addEventListener("click", () => {
13244                stop.setAttribute("aria-label", "Slider Fortsetzen");
13245              });
13246              info.prevButton.addEventListener("click", () => {
13247                stop.setAttribute("aria-label", "Slider Fortsetzen");
13248              });
13249            }
13250          });
13251        });
13252      }
13253    }, "_init");
13254    return {
13255      init: _init
13256    };
13257  })();
13258  imbus.ui.toggler = (function() {
13259    const togglerConf = imbus_config_default.toggler;
13260    const elementIdentifier = togglerConf.elementIdentifier;
13261    const _initEConf = /* @__PURE__ */ __name((element) => {
13262      return {
13263        toggleMethod: element.dataset.toggle,
13264        targetElement: element.dataset.target,
13265        targetLocation: element.dataset.targetloc,
13266        defaultIcon: element.dataset.icon || togglerConf.defaultIcon,
13267        scrollIntoView: element.dataset.scrollintoview === "true",
13268        scrollIntoViewOnClose: element.dataset.scrollintoviewonclose === "true",
13269        teaseHeightPx: parseInt(element.dataset.teaseheightpx || "0", 10),
13270        label: element.dataset.label,
13271        toggleLabel: element.dataset.togglelabel === "true",
13272        toggleOtherClass: element.dataset.toggleotherclass,
13273        scrollTo: element.dataset.scrollto || element.dataset.target,
13274        closeIcon: element.dataset.iconClose || togglerConf.defaultCloseIcon,
13275        closeOther: element.dataset.closeother,
13276        closeOthers: element.dataset.closeothers,
13277        otherIcon: element.dataset.othericon,
13278        syncother: element.dataset.syncother,
13279        stopfocus: element.dataset.stopfocus === "true",
13280        ariaOpen: element.dataset.ariaOpen,
13281        ariaClosed: element.dataset.ariaClosed,
13282        closeOnLeave: element.dataset.closeonleave === "true",
13283        closeWithEsc: element.dataset.closewithesc === "true"
13284      };
13285    }, "_initEConf");
13286    const _getTargetElement = /* @__PURE__ */ __name((triggerElement, eConf) => {
13287      if (eConf.targetLocation === "next") {
13288        return triggerElement.nextElementSibling;
13289      } else if (eConf.targetLocation === "parents") {
13290        return triggerElement.closest(eConf.targetElement);
13291      } else if (eConf.targetLocation) {
13292        return document.querySelector(eConf.targetLocation);
13293      } else {
13294        return document.querySelector(eConf.targetElement);
13295      }
13296    }, "_getTargetElement");
13297    const _isVisible = /* @__PURE__ */ __name((element) => {
13298      return element.offsetParent !== null;
13299    }, "_isVisible");
13300    const _toggledState = /* @__PURE__ */ __name((targetElement, triggerElement, eConf, skipAnimation = false) => {
13301      targetElement.classList.add(togglerConf.toggledState);
13302      targetElement.classList.remove(togglerConf.defaultState);
13303      if (_isVisible(triggerElement)) {
13304        if (skipAnimation) {
13305          targetElement.style.height = "auto";
13306        } else {
13307          switch (eConf.toggleMethod) {
13308            case "slideHorizontal":
13309              gsapWithCSS.to(targetElement, {
13310                width: "auto",
13311                duration: 0.5,
13312                ease: "power1.inOut"
13313              });
13314              break;
13315            default:
13316              gsapWithCSS.to(targetElement, {
13317                height: "auto",
13318                duration: 0.5,
13319                ease: "power1.inOut"
13320              });
13321              break;
13322          }
13323        }
13324      }
13325      triggerElement.setAttribute("aria-expanded", "true");
13326      if (eConf.stopfocus) {
13327        targetElement.querySelectorAll("a, button, [tabindex], input, select").forEach((el) => {
13328          if (el.dataset.tabindex != null)
13329            el.setAttribute("tabindex", el.dataset.tabindex);
13330          else
13331            el.removeAttribute("tabindex");
13332          el.removeAttribute("data-tabindex");
13333        });
13334      }
13335      if (eConf.ariaOpen) {
13336        triggerElement.setAttribute("aria-label", eConf.ariaOpen);
13337      }
13338      const icon = triggerElement.querySelector(".icon");
13339      if (icon && eConf.defaultIcon && eConf.closeIcon) {
13340        icon.classList.remove("icon-" + eConf.defaultIcon);
13341        icon.classList.add("icon-" + eConf.closeIcon);
13342      }
13343      if (eConf.toggleOtherClass) {
13344        let otherElement = document.querySelector(eConf.toggleOtherClass);
13345        if (otherElement) {
13346          otherElement.classList.add(togglerConf.toggledState);
13347          otherElement.classList.remove(togglerConf.defaultState);
13348        }
13349      }
13350      if (eConf.scrollIntoView === true) {
13351        window.scrollTo({
13352          top: document.querySelector(eConf.scrollTo).getBoundingClientRect().top + window.pageYOffset - 110,
13353          behavior: "smooth"
13354        });
13355        const closestID = triggerElement.closest("[id]").getAttribute("id");
13356        imbus.ui.hashHandler.setHash(closestID);
13357      }
13358      if (eConf.otherIcon) {
13359        const otherIcon = document.querySelector(eConf.otherIcon);
13360        if (otherIcon) {
13361          const baseIcon = otherIcon.dataset.icon;
13362          const closeIcon = otherIcon.dataset.iconClose;
13363          if (baseIcon) {
13364            otherIcon.classList.remove("icon-" + baseIcon);
13365          }
13366          if (closeIcon) {
13367            otherIcon.classList.add("icon-" + closeIcon);
13368          }
13369        }
13370      }
13371    }, "_toggledState");
13372    const _defaultState = /* @__PURE__ */ __name((targetElement, triggerElement, eConf, skipAnimation = false) => {
13373      targetElement.classList.remove(togglerConf.toggledState);
13374      targetElement.classList.add(togglerConf.defaultState);
13375      if (_isVisible(triggerElement)) {
13376        if (skipAnimation) {
13377          targetElement.style.height = "0px";
13378        } else {
13379          switch (eConf.toggleMethod) {
13380            case "slideHorizontal":
13381              gsapWithCSS.to(targetElement, {
13382                width: eConf.teaseHeightPx,
13383                duration: 0.5,
13384                ease: "power1.inOut"
13385              });
13386              break;
13387            default:
13388              gsapWithCSS.to(targetElement, {
13389                height: eConf.teaseHeightPx,
13390                duration: 0.5,
13391                ease: "power1.inOut"
13392              });
13393              break;
13394          }
13395        }
13396      }
13397      triggerElement.setAttribute("aria-expanded", "false");
13398      if (eConf.stopfocus) {
13399        targetElement.querySelectorAll("a, button, [tabindex], input, select").forEach((el) => {
13400          el.setAttribute("data-tabindex", el.getAttribute("tabindex") ?? null);
13401          el.setAttribute("tabindex", "-1");
13402        });
13403      }
13404      if (eConf.ariaClosed) {
13405        triggerElement.setAttribute("aria-label", eConf.ariaClosed);
13406      }
13407      const icon = triggerElement.querySelector(".icon");
13408      if (icon && eConf.defaultIcon && eConf.closeIcon) {
13409        icon.classList.remove("icon-" + eConf.closeIcon);
13410        icon.classList.add("icon-" + eConf.defaultIcon);
13411      }
13412      if (eConf.toggleOtherClass) {
13413        let otherElement = document.querySelector(eConf.toggleOtherClass);
13414        if (otherElement) {
13415          otherElement.classList.remove(togglerConf.toggledState);
13416          otherElement.classList.add(togglerConf.defaultState);
13417        }
13418      }
13419      if (eConf.scrollIntoViewOnClose === true) {
13420        window.scrollTo({
13421          top: document.querySelector(eConf.scrollTo).getBoundingClientRect().top + window.pageYOffset - 110,
13422          behavior: "smooth"
13423        });
13424      }
13425      if (eConf.otherIcon) {
13426        const otherIcon = document.querySelector(eConf.otherIcon);
13427        if (otherIcon) {
13428          const baseIcon = otherIcon.dataset.icon;
13429          const closeIcon = otherIcon.dataset.iconClose;
13430          if (closeIcon) {
13431            otherIcon.classList.remove("icon-" + closeIcon);
13432          }
13433          if (baseIcon) {
13434            otherIcon.classList.add("icon-" + baseIcon);
13435          }
13436        }
13437      }
13438      imbus.ui.hashHandler.setHash("");
13439    }, "_defaultState");
13440    const _init = /* @__PURE__ */ __name((root = document) => {
13441      const elements = root.querySelectorAll(elementIdentifier);
13442      elements.forEach((triggerElement) => {
13443        const eConf = _initEConf(triggerElement);
13444        const targetElement = _getTargetElement(triggerElement, eConf);
13445        if (!targetElement) return;
13446        const isInitiallyOpen = targetElement.classList.contains(
13447          togglerConf.toggledState
13448        );
13449        if (isInitiallyOpen) {
13450          switch (eConf.toggleMethod) {
13451            case "slideHorizontal":
13452              gsapWithCSS.set(targetElement, { width: "auto" });
13453              break;
13454            default:
13455              gsapWithCSS.set(targetElement, { height: "auto" });
13456              break;
13457          }
13458        } else {
13459          switch (eConf.toggleMethod) {
13460            case "slideHorizontal":
13461              gsapWithCSS.set(targetElement, { width: eConf.teaseHeightPx });
13462              break;
13463            default:
13464              gsapWithCSS.set(targetElement, {
13465                height: eConf.teaseHeightPx
13466              });
13467              break;
13468          }
13469        }
13470        triggerElement.setAttribute("aria-expanded", isInitiallyOpen);
13471        if (isInitiallyOpen) {
13472          if (eConf.stopfocus) {
13473            targetElement.querySelectorAll("a, button, [tabindex], input, select").forEach((el) => {
13474              if (el.dataset.tabindex != null)
13475                el.setAttribute("tabindex", el.dataset.tabindex);
13476              else
13477                el.removeAttribute("tabindex");
13478            });
13479          }
13480          if (eConf.ariaOpen) {
13481            triggerElement.setAttribute("aria-label", eConf.ariaOpen);
13482          }
13483        }
13484        if (!isInitiallyOpen) {
13485          if (eConf.stopfocus) {
13486            targetElement.querySelectorAll("a, button, [tabindex], input, select").forEach((el) => {
13487              el.setAttribute("data-tabindex", el.getAttribute("tabindex") ?? null);
13488              el.setAttribute("tabindex", "-1");
13489            });
13490          }
13491          if (eConf.ariaClosed) {
13492            triggerElement.setAttribute("aria-label", eConf.ariaClosed);
13493          }
13494        }
13495        if (eConf.closeWithEsc) {
13496          document.addEventListener("keyup", (e) => {
13497            if (e.code === "Escape" && targetElement.classList.contains(
13498              togglerConf.toggledState
13499            )) {
13500              _defaultState(targetElement, triggerElement, eConf);
13501            }
13502          });
13503        }
13504        if (eConf.closeOnLeave) {
13505          targetElement.addEventListener("focusout", (e) => {
13506            if (!targetElement.contains(e.relatedTarget)) {
13507              _defaultState(targetElement, triggerElement, eConf);
13508            }
13509          });
13510        }
13511        triggerElement.addEventListener("click", (e) => {
13512          e.preventDefault();
13513          const isOpen = targetElement.classList.contains(
13514            togglerConf.toggledState
13515          );
13516          if (eConf.syncother) {
13517            document.querySelectorAll(eConf.syncother).forEach((otherTriggerElement) => {
13518              const othereConf = _initEConf(otherTriggerElement);
13519              const otherTargetElement = _getTargetElement(otherTriggerElement, othereConf);
13520              if (isOpen) {
13521                _defaultState(otherTargetElement, otherTriggerElement, othereConf);
13522              } else {
13523                _toggledState(otherTargetElement, otherTriggerElement, othereConf, true);
13524              }
13525            });
13526          }
13527          if (isOpen) {
13528            _defaultState(targetElement, triggerElement, eConf);
13529          } else {
13530            _toggledState(targetElement, triggerElement, eConf);
13531          }
13532        });
13533      });
13534      document.dispatchEvent(new CustomEvent("collapsibleLoaded"));
13535    }, "_init");
13536    return {
13537      init: _init,
13538      initEConf: _initEConf,
13539      defaultState: _defaultState,
13540      toggledState: _toggledState
13541    };
13542  })();
13543  imbus.ui.navigation = (function() {
13544    const elementIdentifier = imbus_config_default.navigation.elementIdentifier;
13545    const context3 = document.querySelector(imbus_config_default.navigation.context) || document;
13546    const navToggleBtn = document.querySelector("#mobile-navigation-action .button-action");
13547    const _init = /* @__PURE__ */ __name(function() {
13548      navToggleBtn.addEventListener("click", function(event) {
13549        document.body.classList.toggle("js_nav_open");
13550        event.preventDefault();
13551      });
13552      const elements = context3.querySelectorAll(elementIdentifier);
13553      elements.forEach((el) => {
13554        _initMode(el);
13555      });
13556    }, "_init");
13557    const _initMobile = /* @__PURE__ */ __name(function(navEl) {
13558      navEl.querySelectorAll(".nav-item > button.nav-toggler").forEach((btn) => {
13559        const sub = btn.closest(".sub");
13560        btn.addEventListener("click", function(event) {
13561          if (sub) sub.classList.toggle("js_navSub_open");
13562          document.body.classList.toggle("js_navSub_open");
13563          event.preventDefault();
13564        });
13565        const container = sub.querySelector(".navigation-container");
13566        if (container) container.addEventListener("focusout", (e) => {
13567          if (!container.contains(e.relatedTarget)) {
13568            if (sub) sub.classList.toggle("js_navSub_open");
13569            document.body.classList.toggle("js_navSub_open");
13570          }
13571        });
13572      });
13573    }, "_initMobile");
13574    const _initDesktop = /* @__PURE__ */ __name(function(nav) {
13575      const links = nav.querySelectorAll(":scope > a");
13576      links.forEach((link) => {
13577        link.addEventListener("touchstart", function(e) {
13578          if (!this.classList.contains("js-touchhover")) {
13579            document.querySelectorAll(".js-touchhover").forEach((el) => el.classList.remove("js-touchhover"));
13580            this.classList.add("js-touchhover");
13581            e.preventDefault();
13582          }
13583        });
13584      });
13585    }, "_initDesktop");
13586    const _initMode = /* @__PURE__ */ __name(function(nav) {
13587      if (window.matchMedia("only screen and (min-width: 1280px)").matches) {
13588        _initDesktop(nav);
13589      } else {
13590        _initMobile(nav);
13591      }
13592    }, "_initMode");
13593    const _reset = /* @__PURE__ */ __name(function() {
13594    }, "_reset");
13595    return {
13596      init: _init,
13597      resize: _reset
13598    };
13599  })();
13600  imbus.ui.lightbox = /* @__PURE__ */ (function() {
13601    var _init = /* @__PURE__ */ __name(function() {
13602      (0, import_glightbox.default)({
13603        selector: "a.lightbox"
13604      });
13605    }, "_init");
13606    return {
13607      init: _init
13608    };
13609  })();
13610  imbus.ui.simpletabs = (function() {
13611    const elementIdentifier = imbus_config_default.tabs.elementIdentifier;
13612    const _init = /* @__PURE__ */ __name(function() {
13613      const tabContainers = document.querySelectorAll(elementIdentifier);
13614      tabContainers.forEach((container) => {
13615        const tabs = container.querySelectorAll("nav a");
13616        tabs.forEach((tab) => {
13617          tab.addEventListener("click", function(e) {
13618            e.preventDefault();
13619            if (!this.classList.contains("js_active")) {
13620              const currentHash = this.getAttribute("href");
13621              if (currentHash && document.querySelector(currentHash)) {
13622                _openTab(container, currentHash);
13623              }
13624            }
13625          });
13626        });
13627      });
13628    }, "_init");
13629    const _openTab = /* @__PURE__ */ __name(function(instance, tabID) {
13630      const tabs = instance.querySelector("nav");
13631      const elements = instance.querySelectorAll("section article");
13632      const currentActiveTab = tabs.querySelector(".js_active");
13633      if (currentActiveTab) {
13634        currentActiveTab.setAttribute("aria-selected", "false");
13635        currentActiveTab.classList.remove("js_active");
13636      }
13637      const newActiveTab = tabs.querySelector(`a[href="${tabID}"]`);
13638      if (newActiveTab) {
13639        newActiveTab.classList.add("js_active");
13640        newActiveTab.setAttribute("aria-selected", "true");
13641      }
13642      elements.forEach((section) => section.classList.remove("js_active"));
13643      const newActiveSection = instance.querySelector(tabID);
13644      if (newActiveSection) {
13645        newActiveSection.classList.add("js_active");
13646      }
13647    }, "_openTab");
13648    return {
13649      init: _init
13650    };
13651  })();
13652  imbus.ui.pdfgenerator = /* @__PURE__ */ (function() {
13653    var currentDateList = [], showPdfFormButton, dataTable, pdfOptions, closePdfOptionsButton, generatePdfButton, downloadPdfButton, selectionCheckboxInputs, _init = /* @__PURE__ */ __name(function() {
13654      showPdfFormButton = document.getElementById("akademie-pdf-button");
13655      dataTable = document.getElementsByClassName("container-wrapper-table")[0];
13656      pdfOptions = document.getElementById("imbusakademie-pdf");
13657      closePdfOptionsButton = document.getElementById("imbusakademie-pdf__action-close");
13658      downloadPdfButton = document.getElementById("imbusakademie-pdf__action-download");
13659      generatePdfButton = document.getElementById("imbusakademie-pdf__action-generate");
13660      if (generatePdfButton && downloadPdfButton) {
13661        downloadPdfButton.classList.add("hidden");
13662        showPdfFormButton.onclick = function() {
13663          if (dataTable) {
13664            dataTable.classList.toggle("container-wrapper-table__selectionactive");
13665          }
13666          if (showPdfFormButton.getAttribute("aria-expanded") == "true") {
13667            showPdfFormButton.setAttribute("aria-expanded", false);
13668          } else {
13669            showPdfFormButton.setAttribute("aria-expanded", true);
13670          }
13671          pdfOptions.classList.toggle("js_open");
13672        };
13673        selectionCheckboxInputs = dataTable.getElementsByTagName("input");
13674        for (let i = 0; i < selectionCheckboxInputs.length; i++) {
13675          var element = selectionCheckboxInputs[i];
13676          element.onclick = function() {
13677            var closestContainer = this.closest(".container");
13678            if (!generatePdfButton.classList.contains("button-ajaxloader-active")) {
13679              generatePdfButton.classList.remove("hidden");
13680              downloadPdfButton.classList.add("hidden");
13681              if (this.checked) {
13682                closestContainer.classList.add("active");
13683                _addToList(this.value);
13684                generatePdfButton.disabled = false;
13685              } else {
13686                closestContainer.classList.remove("active");
13687                _removeFromList(this.value);
13688                generatePdfButton.disabled = currentDateList.length == 0;
13689              }
13690            }
13691          };
13692        }
13693        generatePdfButton.onclick = function() {
13694          if (!generatePdfButton.classList.contains("button-ajaxloader-active")) {
13695            generatePdfButton.classList.add("button-ajaxloader-active");
13696            var trainingId = document.getElementById("imbusakademie-pdf__trainingid").value;
13697            _handlePdfGeneration(trainingId, currentDateList);
13698          }
13699        };
13700        closePdfOptionsButton.onclick = function() {
13701          dataTable.classList.remove("container-wrapper-table__selectionactive");
13702          pdfOptions.classList.remove("js_open");
13703          showPdfFormButton.setAttribute("aria-expanded", false);
13704        };
13705      }
13706    }, "_init"), _addToList = /* @__PURE__ */ __name(function(dateId) {
13707      currentDateList.push(dateId);
13708    }, "_addToList"), _removeFromList = /* @__PURE__ */ __name(function(dateId) {
13709      currentDateList = currentDateList.filter(function(e) {
13710        return e !== dateId;
13711      });
13712    }, "_removeFromList"), _handlePdfGeneration = /* @__PURE__ */ __name(function(trainingId, dateIds) {
13713      var formdata = new FormData();
13714      for (let index = 0; index < dateIds.length; index++) {
13715        const element = dateIds[index];
13716        formdata.append("tx_imbuspdf_view[trainings][" + index + "][training]", trainingId);
13717        formdata.append("tx_imbuspdf_view[trainings][" + index + "][date]", element);
13718      }
13719      var request = new XMLHttpRequest();
13720      request.open("POST", i18next.t("akademie:ajaxUrlPdf"), true);
13721      request.send(formdata);
13722      request.onload = function() {
13723        if (this.status >= 200 && this.status < 400) {
13724          var resp = this.response;
13725          var jsonResp = JSON.parse(resp);
13726          var basePath = i18next.t("akademie:downloadUrlPdf");
13727          var finalPath = basePath + jsonResp.filename;
13728          var filesize = _getReadableFilesize(jsonResp.filesize);
13729          downloadPdfButton.getElementsByClassName("label")[0].innerText = i18next.t("akademie:pdf_downloadbutton") + " (" + filesize + ")";
13730          downloadPdfButton.setAttribute("href", finalPath);
13731          generatePdfButton.classList.remove(
13732            "button-ajaxloader-active"
13733          );
13734          generatePdfButton.classList.add("hidden");
13735          downloadPdfButton.classList.remove("hidden");
13736        } else {
13737          (0, import_toastify_js.default)({
13738            text: i18next.t("akademie:ajaxLoadError"),
13739            duration: 3e3,
13740            close: true,
13741            gravity: "bottom",
13742            position: "right",
13743            stopOnFocus: true
13744          }).showToast();
13745          generatePdfButton.classList.remove(
13746            "button-ajaxloader-active"
13747          );
13748        }
13749      };
13750      request.onerror = function() {
13751        (0, import_toastify_js.default)({
13752          text: i18next.t("akademie:ajaxLoadError"),
13753          duration: 3e3,
13754          close: true,
13755          gravity: "bottom",
13756          position: "right",
13757          stopOnFocus: true
13758        }).showToast();
13759        generatePdfButton.classList.remove("button-ajaxloader-active");
13760      };
13761    }, "_handlePdfGeneration"), _getReadableFilesize = /* @__PURE__ */ __name(function(filesize) {
13762      const sizes = ["Bytes", "KB", "MB", "GB", "TB"];
13763      const i = Math.min(
13764        parseInt(
13765          Math.floor(Math.log(filesize) / Math.log(1024)).toString(),
13766          10
13767        ),
13768        sizes.length - 1
13769      );
13770      return `${(filesize / 1024 ** i).toFixed()} ${sizes[i]}`;
13771    }, "_getReadableFilesize");
13772    return {
13773      init: _init
13774    };
13775  })();
13776  imbus.ui.search = /* @__PURE__ */ (function() {
13777    var _init = /* @__PURE__ */ __name(function(config3) {
13778      const searchButton = document.querySelector(
13779        "#search-action .button-action"
13780      );
13781      if (searchButton) {
13782        searchButton.addEventListener("click", () => {
13783          setTimeout(function() {
13784            document.querySelector("#search-layer .sword").focus();
13785          }, 100);
13786        });
13787      }
13788      const mobileSearchButton = document.querySelector(
13789        "#mobile-search-action .button-action"
13790      );
13791      if (mobileSearchButton) {
13792        mobileSearchButton.addEventListener("click", () => {
13793          setTimeout(function() {
13794            document.querySelector("#search-layer .sword").focus();
13795          }, 100);
13796        });
13797      }
13798    }, "_init");
13799    return {
13800      init: _init
13801    };
13802  })();
13803  imbus.ui.tabs = /* @__PURE__ */ (function() {
13804    var _init = /* @__PURE__ */ __name(function() {
13805      if (document.querySelectorAll(".tabs").length > 0) {
13806        const tabButtons = document.querySelectorAll(
13807          ".tabs__buttons .button"
13808        );
13809        const tabContents = document.querySelectorAll(
13810          ".tabs__panels .tab-panel"
13811        );
13812        const currentHashValue = imbus.ui.hashHandler.getHash();
13813        if (tabButtons && tabContents) {
13814          tabButtons.forEach((tabBtn) => {
13815            const title = tabBtn.getAttribute("data-title");
13816            const tabId = tabBtn.getAttribute("data-id");
13817            if (currentHashValue != "" && currentHashValue == title) {
13818              _activateTab(tabBtn, tabButtons, tabContents);
13819              setTimeout(() => {
13820                window.scrollTo({
13821                  top: document.getElementById(tabId)?.getBoundingClientRect().top + window.pageYOffset - 200,
13822                  behavior: "smooth"
13823                });
13824              });
13825            }
13826            tabBtn.addEventListener("click", () => {
13827              imbus.ui.hashHandler.setHash(tabId, title);
13828              _activateTab(tabBtn, tabButtons, tabContents);
13829            });
13830          });
13831        }
13832      }
13833    }, "_init");
13834    var _activateTab = /* @__PURE__ */ __name(function(tabBtn, tabButtons, tabContents) {
13835      const tabId = tabBtn.getAttribute("data-id");
13836      tabButtons.forEach((btn) => {
13837        btn.classList.remove("active");
13838        btn.setAttribute("aria-selected", "false");
13839      });
13840      tabBtn.classList.add("active");
13841      tabBtn.setAttribute("aria-selected", "true");
13842      tabContents.forEach((content) => {
13843        if (content.classList.contains("active")) {
13844          content.classList.add("removing");
13845          setTimeout(() => {
13846            content.classList.remove("removing");
13847          }, 400);
13848        }
13849        content.classList.remove("active");
13850        if (content.id === tabId) {
13851          content.classList.add("active");
13852        }
13853      });
13854    }, "_activateTab");
13855    return {
13856      init: _init
13857    };
13858  })();
13859  document.addEventListener("dp--cookie-revoke", function() {
13860    if (window._paq) {
13861      window._paq.push(["disableCookies"]);
13862      window._paq.push(["deleteCookies"]);
13863    }
13864  });
13865  document.addEventListener("dp--cookie-init", handleCookieInitOrAccept);
13866  document.addEventListener("dp--cookie-accept", handleCookieInitOrAccept);
13867  function handleCookieInitOrAccept() {
13868    const showCheckBtn = document.querySelector(
13869      ".cc-message .cc-btn.cc-showcheck"
13870    );
13871    const cookieCheck = document.querySelector(".dp--cookie-check");
13872    const allowBtn = document.querySelector(".cc-btn.cc-allow");
13873    if (showCheckBtn) showCheckBtn.style.display = "inline-block";
13874    if (cookieCheck) cookieCheck.style.display = "none";
13875    if (allowBtn) allowBtn.style.display = "none";
13876    if (showCheckBtn) {
13877      showCheckBtn.addEventListener(
13878        "click",
13879        function(e) {
13880          e.preventDefault();
13881          if (cookieCheck) {
13882            cookieCheck.style.display = "block";
13883            gsapWithCSS.set(cookieCheck, { height: 0, overflow: "hidden" });
13884            gsapWithCSS.to(cookieCheck, {
13885              height: "auto",
13886              duration: 0.4,
13887              ease: "power1.out",
13888              onComplete: /* @__PURE__ */ __name(() => {
13889                cookieCheck.style.height = "auto";
13890              }, "onComplete")
13891            });
13892          }
13893          if (allowBtn) allowBtn.style.display = "inline-block";
13894          showCheckBtn.style.display = "none";
13895        },
13896        { once: true }
13897      );
13898    }
13899    setTimeout(() => {
13900      if (window.DPCookieConsent.utils.getCookie(
13901        "dp_cookieconsent_status"
13902      ) && window.DPCookieConsent.utils.getCookie(
13903        "dp_cookieconsent_status"
13904      )["checkboxes"] && window.DPCookieConsent.utils.getCookie(
13905        "dp_cookieconsent_status"
13906      )["checkboxes"][1]["checked"]) {
13907        document.querySelectorAll(".cookie-content-replacer").forEach(function(container) {
13908          const plainScript = container.querySelector('script[type="text/plain"]');
13909          const iframe = container.querySelector("iframe[data-src]");
13910          if (plainScript) {
13911            const htmlSource = plainScript.textContent;
13912            container.innerHTML = htmlSource;
13913          } else if (iframe) {
13914            iframe.setAttribute("src", iframe.dataset.src);
13915            iframe.style.display = "";
13916          }
13917        });
13918      }
13919    }, 500);
13920  }
13921  __name(handleCookieInitOrAccept, "handleCookieInitOrAccept");
13922  imbus.ui.contrast = (function() {
13923    const button = document.querySelector("#navigation-service .contrast-button"), buttonClick = /* @__PURE__ */ __name(() => {
13924      let contrast_mode_true = getCookieTrue();
13925      document.cookie = `contrast_mode=${!contrast_mode_true}; max-age=max-age-in-seconds=31536000; path=/`;
13926      setClassFromCookie(!contrast_mode_true);
13927    }, "buttonClick"), _init = /* @__PURE__ */ __name(function() {
13928      setClassFromCookie(getCookieTrue());
13929      button.addEventListener("click", buttonClick);
13930    }, "_init");
13931    getCookieTrue = /* @__PURE__ */ __name(() => document.cookie.split("; ").find((row) => row.startsWith("contrast_mode="))?.split("=")[1] == "true", "getCookieTrue");
13932    setClassFromCookie = /* @__PURE__ */ __name((cookicontrast_cookie) => {
13933      const body = document.querySelector("body");
13934      const buttons = document.querySelectorAll(".contrast-button");
13935      if (cookicontrast_cookie) {
13936        body.classList.add("a11y-contrast");
13937        buttons.forEach((button2) => {
13938          button2.title = i18next.t("contrast:disable");
13939        });
13940      } else {
13941        body.classList.remove("a11y-contrast");
13942        buttons.forEach((button2) => {
13943          button2.title = i18next.t("contrast:enable");
13944        });
13945      }
13946    }, "setClassFromCookie");
13947    return {
13948      init: _init,
13949      buttonClick
13950    };
13951  })();
13952  document.addEventListener("imbusLoad", function() {
13953    const consent = window.DPCookieConsent?.utils?.getCookie("dp_co
13953okieconsent_status");
13954    if (consent && consent.checkboxes && consent.checkboxes[1] && consent.checkboxes[1].checked) {
13955      document.querySelectorAll("[data-adservice]").forEach((element) => {
13956        element.addEventListener("click", function(event) {
13957          const id = event.target.dataset.adservice;
13958          if (id) {
13959            gtag("event", "conversion", { send_to: id });
13960          } else {
13961            console.log("no adservice id found: ", event.target);
13962          }
13963        });
13964      });
13965    }
13966  });
13967  document.querySelector("html").classList.remove("no-js");
13968  var domLoadEvent = new Event("imbusLoad");
13969  var loadEvent = new Event("imbusLoad");
13970  document.addEventListener("DOMContentLoaded", function() {
13971    window.dispatchEvent(domLoadEvent);
13972    imbus.dom_init();
13973  });
13974  window.onload = function() {
13975    window.dispatchEvent(loadEvent);
13976    imbus.init();
13977  };
13978})();
13979/*! Bundled license information:
13980
13981toastify-js/src/toastify.js:
13982  (*!
13983   * Toastify js 1.12.0
13984   * https://github.com/apvarun/toastify-js
13985   * @license MIT licensed
13986   *
13987   * Copyright (C) 2018 Varun A P
13988   *)
13989
13990headroom.js/dist/headroom.js:
13991  (*!
13992   * headroom.js v0.12.0 - Give your page some headroom. Hide your header until you need it
13993   * Copyright (c) 2020 Nick Williams - http://wicky.nillia.ms/headroom.js
13994   * License: MIT
13995   *)
13996
13997vanilla-calendar-pro/index.mjs:
13998  (*! name: vanilla-calendar-pro v3.1.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro *)
13999
14000gsap/gsap-core.js:
14001  (*!
14002   * GSAP 3.14.2
14003   * https://gsap.com
14004   *
14005   * @license Copyright 2008-2025, GreenSock. All rights reserved.
14006   * Subject to the terms at https://gsap.com/standard-license
14007   * @author: Jack Doyle, [email protected]
14008  *)
14009
14010gsap/CSSPlugin.js:
14011  (*!
14012   * CSSPlugin 3.14.2
14013   * https://gsap.com
14014   *
14015   * Copyright 2008-2025, GreenSock. All rights reserved.
14016   * Subject to the terms at https://gsap.com/standard-license
14017   * @author: Jack Doyle, [email protected]
14018  *)
14019
14020gsap/Observer.js:
14021  (*!
14022   * Observer 3.14.2
14023   * https://gsap.com
14024   *
14025   * @license Copyright 2008-2025, GreenSock. All rights reserved.
14026   * Subject to the terms at https://gsap.com/standard-license
14027   * @author: Jack Doyle, [email protected]
14028  *)
14029
14030gsap/ScrollTrigger.js:
14031  (*!
14032   * ScrollTrigger 3.14.2
14033   * https://gsap.com
14034   *
14035   * @license Copyright 2008-2025, GreenSock. All rights reserved.
14036   * Subject to the terms at https://gsap.com/standard-license
14037   * @author: Jack Doyle, [email protected]
14038  *)
14039*/
14040//# sourceMappingURL=imbus.main.js.map

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