diff --git a/README.md b/README.md index 7c6b667..3587e45 100644 --- a/README.md +++ b/README.md @@ -122,8 +122,8 @@ Releases are automated via `.github/workflows/release.yml`. To publish a new rel 2. Run `npm run build` and commit the updated `build/` directory. 3. Tag the commit and push the tag: ```bash - git tag v0.1.1 - git push origin v0.1.1 + git tag v0.1.2 + git push origin v0.1.2 ``` 4. The workflow will: - Install npm dependencies @@ -131,7 +131,7 @@ Releases are automated via `.github/workflows/release.yml`. To publish a new rel - Package the plugin into `sliderpress-.zip` with the root folder named `sliderpress/` - Attach the ZIP to a new GitHub Release -The resulting ZIP (`sliderpress-0.1.1.zip`) can be installed directly via **WordPress → Plugins → Add New → Upload Plugin**. +The resulting ZIP (`sliderpress-0.1.2.zip`) can be installed directly via **WordPress → Plugins → Add New → Upload Plugin**. ### Local ZIP (manual) diff --git a/block.json b/block.json index 7157e26..3425a56 100644 --- a/block.json +++ b/block.json @@ -20,6 +20,10 @@ "type": "boolean", "default": true }, + "slidesPerView": { + "type": "number", + "default": 1 + }, "speed": { "type": "number", "default": 500 diff --git a/build/frontend.asset.php b/build/frontend.asset.php index 32909f5..ce88caf 100644 --- a/build/frontend.asset.php +++ b/build/frontend.asset.php @@ -1 +1 @@ - array(), 'version' => 'ccbbb16fdfdae6e9a2a3'); + array(), 'version' => '60a01d34a5d925503da6'); diff --git a/build/frontend.js b/build/frontend.js index 4d2a6f6..eb3502f 100644 --- a/build/frontend.js +++ b/build/frontend.js @@ -1 +1 @@ -(()=>{"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s={},i={}){const a=["__proto__","constructor","prototype"];Object.keys(i).filter(e=>a.indexOf(e)<0).forEach(a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])})}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e,t=0){return setTimeout(e,t)}function l(){return Date.now()}function o(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function d(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function c(...e){const t=Object(e[0]);for(let s=1;s"__proto__"!==e&&"constructor"!==e&&"prototype"!==e);for(let s=0,a=e.length;sa?"next":"prev",c=(e,t)=>"next"===d&&e>=t||"prev"===d&&e<=t,p=()=>{n=(new Date).getTime(),null===l&&(l=n);const r=Math.max(Math.min((n-l)/o,1),0),d=.5-Math.cos(r*Math.PI)/2;let u=a+d*(t-a);if(c(u,t)&&(u=t),e.wrapperEl.scrollTo({[s]:u}),c(u,t))return e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.scrollSnapType="",setTimeout(()=>{e.wrapperEl.style.overflow="",e.wrapperEl.scrollTo({[s]:u})}),void i.cancelAnimationFrame(e.cssModeFrameID);e.cssModeFrameID=i.requestAnimationFrame(p)};p()}function m(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t=""){const s=r(),i=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&i.push(...e.assignedElements()),t?i.filter(e=>e.matches(t)):i}function h(e){try{return void console.warn(e)}catch(e){}}function g(e,t=[]){const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e=""){return e.trim().split(" ").filter(e=>!!e.trim())}(t)),s}function v(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function w(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function b(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function y(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function S(e){return(Array.isArray(e)?e:[e]).filter(e=>!!e)}function T(e,t=""){"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let E,x,C;function M(){return E||(E=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),E}function P(e={}){return x||(x=function({userAgent:e}={}){const t=M(),s=r(),i=s.navigator.platform,a=e||s.navigator.userAgent,n={ios:!1,android:!1},l=s.screen.width,o=s.screen.height,d=a.match(/(Android);?[\s\/]+([\d.]+)?/);let c=a.match(/(iPad)(?!\1).*OS\s([\d_]+)/);const p=a.match(/(iPod)(.*OS\s([\d_]+))?/),u=!c&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!c&&f&&t.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${o}`)>=0&&(c=a.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),f=!1),d&&!m&&(n.os="android",n.android=!0),(c||u||p)&&(n.os="ios",n.ios=!0),n}(e)),x}function L(){return C||(C=function(){const e=r(),t=P();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map(e=>Number(e));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),C}var k={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach(e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)}),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(...s){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy,t.apply(i,s)}return a.__emitterProxy=t,i.on(e,a,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const i=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[i](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach(e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)})}),s):s},emit(...e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsListeners)return t;let s,i,a;return"string"==typeof e[0]||Array.isArray(e[0])?(s=e[0],i=e.slice(1,e.length),a=t):(s=e[0].events,i=e[0].data,a=e[0].context||t),i.unshift(a),(Array.isArray(s)?s:s.split(" ")).forEach(e=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(t=>{t.apply(a,[e,...i])}),t.eventsListeners&&t.eventsListeners[e]&&t.eventsListeners[e].forEach(e=>{e.apply(a,i)})}),t}};const I=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},A=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&!t.lazyPreloaderManaged&&t.remove())})),t&&!t.lazyPreloaderManaged&&t.remove()}},z=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},G=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map((e,t)=>s+i+t)),void e.slides.forEach((t,s)=>{r.includes(t.column)&&z(e,s)})}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(tr)&&z(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i=0?E=parseFloat(E.replace("%",""))/100*T:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E-g-w,d.forEach(e=>{r?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""}),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after","")),s.cssMode&&(p(i,"--swiper-slides-offset-before",`${g}px`),p(i,"--swiper-slides-offset-after",`${w}px`));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(d):e.grid&&e.grid.unsetSlides();const k="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter(e=>void 0!==s.breakpoints[e].slidesPerView).length>0;for(let i=0;i=0&&(t+=h[s]+(s1&&(i||u.push(e.virtualSize-T))}if(l&&s.loop){const t=h[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==d.length-1).forEach(e=>{e.style[t]=`${E}px`})}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;h.forEach(t=>{e+=t+(E||0)}),e-=E;const t=e>T?e-T:0;u=u.map(e=>e<=0?-g:e>t?t+w:e)}if(s.centerInsufficientSlides){let e=0;if(h.forEach(t=>{e+=t+(E||0)}),e-=E,e{u[s]=e-t}),m.forEach((e,s)=>{m[s]=e+t})}}if(Object.assign(e,{slides:d,snapGrid:u,slidesGrid:m,slidesSizesGrid:h}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-u[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-h[h.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(e=>e+t),e.slidesGrid=e.slidesGrid.map(e=>e+s)}if(c!==o&&e.emit("slidesLengthChange"),u.length!==b&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==S&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(l||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);c<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(e=>{s.push(e)});else for(a=0;at.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;ar?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],h=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;h&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),I(o,h,s.slideVisibleClass),I(o,f,s.slideFullyVisibleClass),o.progress=a?-c:c,o.originalProgress=a?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.find(e=>e.column===a),c=t.find(e=>e.column===a+1),d=t.find(e=>e.column===a-1)):o=t[a];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach(e=>{O(e,e===o,s.slideActiveClass),O(e,e===c,s.slideNextClass),O(e,e===d,s.slidePrevClass)}),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e=t[e]&&i=t[e]&&i=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled)u=a.loop?c(d):d;else if(p){const e=t.slides.find(e=>e.column===d);let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&G(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)});let r,n=!1;if(a)for(let e=0;er?"next":a=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(m?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{f[e?"scrollLeft":"scrollTop"]=s})):f[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame(()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1});else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;f.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const S=L().isSafari;return y&&!a&&S&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e=0,t,s=!0,i){"string"==typeof e&&(e=parseInt(e,10));const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.find(e=>1*e.getAttribute("data-swiper-slide-index")===t).column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s,slidesOffsetBefore:l,slidesOffsetAfter:o}=a.params,d=s||!!l||!!o;let c=a.params.slidesPerView;"auto"===c?c=a.slidesPerViewDynamic():(c=Math.ceil(parseFloat(a.params.slidesPerView,10)),d&&c%2==0&&(c+=1));let p=t-e1*t.getAttribute("data-swiper-slide-index")===e).column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame(()=>{a.slideTo(n,t,s,i)}),a},slideNext:function(e,t=!0,s){const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex{i.slideTo(i.activeIndex+o,e,t,s)}),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t=!0,s){const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!c&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?i.translate:-i.translate),m=r.map(e=>p(e)),f=a.freeMode&&a.freeMode.enabled;let h=r[m.indexOf(u)-1];if(void 0===h&&(a.cssMode||f)){let e;r.forEach((t,s)=>{u>=t&&(e=s)}),void 0!==e&&(h=f?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==h&&(g=n.indexOf(h),g<0&&(g=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(g=g-i.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame(()=>{i.slideTo(g,e,t,s)}),!0):i.slideTo(g,e,t,s)},slideReset:function(e,t=!0,s){const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t=!0,s,i=.5){const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.getSlideIndexWhenGrid(e.clickedIndex);const l=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(a):r>(o?(e.slides.length-i)/2-(e.params.grid.rows-1):e.slides.length-i)?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${a}"]`)[0]),n(()=>{e.slideTo(r)})):e.slideTo(r)}else e.slideTo(r)}},_={loopCreate:function(e,t){const s=this,{params:i,slidesEl:a}=s;if(!i.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(a,`.${i.slideClass}, swiper-slide`).forEach((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})},n=s.grid&&i.grid&&i.grid.rows>1;i.loopAddBlankSlides&&(i.slidesPerGroup>1||n)&&(()=>{const e=f(a,`.${i.slideBlankClass}`);e.forEach(e=>{e.remove()}),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=i.slidesPerGroup*(n?i.grid.rows:1),o=s.slides.length%l!==0,d=n&&s.slides.length%i.grid.rows!==0,c=e=>{for(let t=0;t1;d.lengthe.classList.contains(m.slideActiveClass))):L=a;const k="next"===s||!s,I="prev"===s||!s;let O=0,A=0;const z=(E?d[a].column:a)+(b&&void 0===i?-y/2+.5:0);if(z=0;t-=1)d[t].column===e&&x.push(t)}else x.push(M-t-1)}}else if(z+y>M-T){A=Math.max(z-(M-2*T),S),P&&(A=Math.max(A,y-M+w+1));for(let e=0;e{e.column===t&&C.push(s)}):C.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame(()=>{o.__preventObserver__=!1}),"cards"===o.params.effect&&d.length{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1}),k&&C.forEach(e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1}),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():E&&(x.length>0&&I||C.length>0&&k)&&o.slides.forEach((e,t)=>{o.grid.updateSlide(t,e,o.slides)}),m.watchSlidesProgress&&o.updateSlidesOffset(),t)if(x.length>0&&I){if(void 0===e){const e=o.slidesGrid[L],t=o.slidesGrid[L+O]-e;l?o.setTranslate(o.translate-t):(o.slideTo(L+Math.ceil(O),0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/m.grid.rows:x.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(C.length>0&&k)if(void 0===e){const e=o.slidesGrid[L],t=o.slidesGrid[L-A]-e;l?o.setTranslate(o.translate-t):(o.slideTo(L-A,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=E?C.length/m.grid.rows:C.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const r={slideRealIndex:e,direction:s,setTranslate:i,activeSlideIndex:a,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach(e=>{!e.destroyed&&e.params.loop&&e.loopFix({...r,slideTo:e.params.slidesPerView===m.slidesPerView&&t})}):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...r,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&t})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach(e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e}),e.slides.forEach(e=>{e.removeAttribute("data-swiper-slide-index")}),i.forEach(e=>{s.append(e)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function V(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void V(t,a,a.targetTouches[0].pageX);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=a.target;if("wrapper"===o.touchEventsTarget&&!function(e,t){const s=r();let i=t.contains(e);return!i&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(i=[...t.assignedElements()].includes(e),i||(i=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t))),i}(p,t.wrapperEl))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!o.noSwipingClass&&""!==o.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(p=m[0]);const f=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,h=!(!a.target||!a.target.shadowRoot);if(o.noSwiping&&(h?function(e,t=this){return function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(f,p):p.closest(f)))return void(t.allowClick=!0);if(o.swipeHandler&&!p.closest(o.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!V(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===a.pointerType||"mouse"!==a.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!b||p.isContentEditable||a.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function N(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==a.touchId)return;if(p.pointerId!==a.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find(e=>e.identifier===a.touchId),!c||c.identifier!==a.touchId)return}else c=p;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else{if(o&&(u>n.startX&&-s.translate<=s.maxTranslate()||u=s.minTranslate()))return;if(!o&&(un.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(a.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const f=n.currentX-n.startX,h=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+h**2)=25&&(e=180*Math.atan2(Math.abs(h),Math.abs(f))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",p),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===p.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?f:h,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(o?1:-1),v=Math.abs(v)*(o?1:-1)),n.diff=g,g*=r.touchRatio,o&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",p),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let S=!0,T=r.resistanceRatio;if(r.touchReleaseOnEdges&&(T=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**T))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslatea.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(a.currentTranslate),s.setTranslate(a.currentTranslate))}function H(e){const t=this,s=t.touchEventsData;let i,a=e;if(a.originalEvent&&(a=a.originalEvent),"touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].find(e=>e.identifier===s.touchId),!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&(!["pointercancel","contextmenu"].includes(a.type)||!t.browser.isSafari&&!t.browser.isWebView))return;s.pointerId=null,s.touchId=null;const{params:r,touches:o,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=l(),n(()=>{t.destroyed||(t.allowClick=!0)}),!s.isTouched||!s.isMoved||!t.swipeDirection||0===o.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let f;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,f=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:f});const h=f>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&f=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(f-c[g])/v,S=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+S):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+S):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||a.target!==t.navigation.nextEl&&a.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+S),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g)):a.target===t.navigation.nextEl?t.slideTo(g+S):t.slideTo(g)}}function R(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;if(!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l)e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0);else{const t=n?e.virtual.slides:e.slides;e.slideTo(t.length-1,0,!1,!0)}e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function q(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function j(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function W(e){const t=this;A(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function X(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const Y=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",R,!0):e[c]("observerUpdate",R,!0),r[d]("load",e.onLoad,{capture:!0}))},U=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var K={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function Z(e,t){return function(s={}){const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const J={eventsEmitter:k,update:D,translate:{getTranslate:function(e=(this.isHorizontal()?"x":"y")){const{params:t,rtlTranslate:s,translate:i,wrapperEl:a}=this;if(t.virtualTranslate)return s?-i:i;if(t.cssMode)return i;let n=function(e,t="x"){const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map(e=>e.replace(",",".")).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}(a,e);return n+=this.cssOverflowAdjustment(),s&&(n=-n),n||0},setTranslate:function(e,t){const s=this,{rtlTranslate:i,params:a,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=i?-e:e:d=e,a.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,a.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:a.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e=0,t=this.params.speed,s=!0,i=!0,a){const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=i&&e>o?o:i&&e{t.__preventObserver__=!1})},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=N.bind(e),e.onTouchEnd=H.bind(e),e.onDocumentTouchStart=X.bind(e),t.cssMode&&(e.onScroll=j.bind(e)),e.onClick=q.bind(e),e.onLoad=W.bind(e),Y(e,"on")},detachEvents:function(){Y(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:r}=e,n=a.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=i(),o="window"!==a.breakpointsBase&&a.breakpointsBase?"container":a.breakpointsBase,d=["window","container"].includes(a.breakpointsBase)||!a.breakpointsBase?e.el:l.querySelector(a.breakpointsBase),p=e.getBreakpoint(n,o,d);if(!p||e.currentBreakpoint===p)return;const u=(p in n?n[p]:void 0)||e.originalParams,m=U(e,a),f=U(e,u),h=e.params.grabCursor,g=u.grabCursor,v=a.enabled;m&&!f?(r.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&f&&(r.classList.add(`${a.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===a.grid.fill)&&r.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),h&&!g?e.unsetGrabCursor():!h&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(t=>{if(void 0===u[t])return;const s=a[t]&&a[t].enabled,i=u[t]&&u[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()});const w=u.direction&&u.direction!==a.direction,b=a.loop&&(u.slidesPerView!==a.slidesPerView||w),y=a.loop;w&&s&&e.changeDirection(),c(e.params,u);const S=e.params.enabled,T=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!S?e.disable():!v&&S&&e.enable(),e.currentBreakpoint=p,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&T?(e.loopCreate(t),e.updateSlides()):y&&!T&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t="window",s){if(!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map(e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}});l.sort((e,t)=>parseInt(e.value,10)-parseInt(t.value,10));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach(e=>{"object"==typeof e?Object.keys(e).forEach(i=>{e[i]&&s.push(t+i)}):"string"==typeof e&&s.push(t+e)}),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},Q={};class ee{constructor(...e){let t,s;1===e.length&&e[0].constructor&&"Object"===Object.prototype.toString.call(e[0]).slice(8,-1)?s=e[0]:[t,s]=e,s||(s={}),s=c({},s),t&&!s.el&&(s.el=t);const a=i();if(s.el&&"string"==typeof s.el&&a.querySelectorAll(s.el).length>1){const e=[];return a.querySelectorAll(s.el).forEach(t=>{const i=c({},s,{el:t});e.push(new ee(i))}),e}const r=this;r.__swiper__=!0,r.support=M(),r.device=P({userAgent:s.userAgent}),r.browser=L(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],s.modules&&Array.isArray(s.modules)&&s.modules.forEach(e=>{"function"==typeof e&&r.modules.indexOf(e)<0&&r.modules.push(e)});const n={};r.modules.forEach(e=>{e({params:s,swiper:r,extendParams:Z(s,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})});const l=c({},K,n);return r.params=c({},l,Q,s),r.originalParams=c({},r.params),r.passedParams=c({},s),r.params&&r.params.on&&Object.keys(r.params.on).forEach(e=>{r.on(e,r.params.on[e])}),r.params&&r.params.onAny&&r.onAny(r.params.onAny),Object.assign(r,{enabled:r.params.enabled,el:t,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,i=w(f(t,`.${s.slideClass}, swiper-slide`)[0]);return w(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter(t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter(e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach(s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)}),e.emit("_slideClasses",t)}slidesPerViewDynamic(e="current",t=!1){const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1)a[l]-a[e]{t.complete&&A(e,t)}),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t=!0){const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach(t=>{"vertical"===e?t.style.width="":t.style.height=""}),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=s&&s.shadowRoot&&s.shadowRoot.querySelector?s.shadowRoot.querySelector(i()):f(s,i())[0];return!a&&t.params.createElements&&(a=g("div",t.params.wrapperClass),s.append(a),f(s,`.${t.params.slideClass}`).forEach(e=>{a.append(e)})),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction")),wrongRTL:"-webkit-box"===v(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach(e=>{e.complete?A(t,e):e.addEventListener("load",e=>{A(t,e.target)})}),G(t),t.initialized=!0,G(t),t.emit("init"),t.emit("afterInit"),t}destroy(e=!0,t=!0){const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a&&"string"!=typeof a&&a.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach(e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")})),s.emit("destroy"),Object.keys(s.eventsListeners).forEach(e=>{s.off(e)}),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach(e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}})}(s)),s.destroyed=!0),null}static extendDefaults(e){c(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return K}static installModule(e){ee.prototype.__modules__||(ee.prototype.__modules__=[]);const t=ee.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach(e=>ee.installModule(e)),ee):(ee.installModule(e),ee)}}function te(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach(a=>{if(!s[a]&&!0===s.auto){let r=f(e.el,`.${i[a]}`)[0];r||(r=g("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}}),s}Object.keys(J).forEach(e=>{Object.keys(J[e]).forEach(t=>{ee.prototype[t]=J[e][t]})}),ee.use([function({swiper:e,on:t,emit:s}){const i=r();let a=null,n=null;const l=()=>{e&&!e.destroyed&&e.initialized&&(s("beforeResize"),s("resize"))},o=()=>{e&&!e.destroyed&&e.initialized&&s("orientationchange")};t("init",()=>{e.params.resizeObserver&&void 0!==i.ResizeObserver?e&&!e.destroyed&&e.initialized&&(a=new ResizeObserver(t=>{n=i.requestAnimationFrame(()=>{const{width:s,height:i}=e;let a=s,r=i;t.forEach(({contentBoxSize:t,contentRect:s,target:i})=>{i&&i!==e.el||(a=s?s.width:(t[0]||t).inlineSize,r=s?s.height:(t[0]||t).blockSize)}),a===s&&r===i||l()})}),a.observe(e.el)):(i.addEventListener("resize",l),i.addEventListener("orientationchange",o))}),t("destroy",()=>{n&&i.cancelAnimationFrame(n),a&&a.unobserve&&e.el&&(a.unobserve(e.el),a=null),i.removeEventListener("resize",l),i.removeEventListener("orientationchange",o)})},function({swiper:e,extendParams:t,on:s,emit:i}){const a=[],n=r(),l=(t,s={})=>{const r=new(n.MutationObserver||n.WebkitMutationObserver)(t=>{if(e.__preventObserver__)return;if(1===t.length)return void i("observerUpdate",t[0]);const s=function(){i("observerUpdate",t[0])};n.requestAnimationFrame?n.requestAnimationFrame(s):n.setTimeout(s,0)});r.observe(t,{attributes:void 0===s.attributes||s.attributes,childList:e.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),a.push(r)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),s("init",()=>{if(e.params.observer){if(e.params.observeParents){const t=b(e.hostEl);for(let e=0;e{a.forEach(e=>{e.disconnect()}),a.splice(0,a.length)})}]);const se='';function ie({swiper:e,extendParams:t,on:s,emit:i}){function a(t){let s;return t&&"string"==typeof t&&e.isElement&&(s=e.el.querySelector(t)||e.hostEl.querySelector(t),s)?s:(t&&("string"==typeof t&&(s=[...document.querySelectorAll(t)]),e.params.uniqueNavElements&&"string"==typeof t&&s&&s.length>1&&1===e.el.querySelectorAll(t).length?s=e.el.querySelector(t):s&&1===s.length&&(s=s[0])),t&&!s?t:s)}function r(t,s){const i=e.params.navigation;(t=S(t)).forEach(t=>{t&&(t.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===t.tagName&&(t.disabled=s),e.params.watchOverflow&&e.enabled&&t.classList[e.isLocked?"add":"remove"](i.lockClass))})}function n(){const{nextEl:t,prevEl:s}=e.navigation;if(e.params.loop)return r(s,!1),void r(t,!1);r(s,e.isBeginning&&!e.params.rewind),r(t,e.isEnd&&!e.params.rewind)}function l(t){t.preventDefault(),(!e.isBeginning||e.params.loop||e.params.rewind)&&(e.slidePrev(),i("navigationPrev"))}function o(t){t.preventDefault(),(!e.isEnd||e.params.loop||e.params.rewind)&&(e.slideNext(),i("navigationNext"))}function d(){const t=e.params.navigation;if(e.params.navigation=te(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!t.nextEl&&!t.prevEl)return;let s=a(t.nextEl),i=a(t.prevEl);Object.assign(e.navigation,{nextEl:s,prevEl:i}),s=S(s),i=S(i);const r=(s,i)=>{if(s){if(t.addIcons&&s.matches(".swiper-button-next,.swiper-button-prev")&&!s.querySelector("svg")){const e=document.createElement("div");T(e,se),s.appendChild(e.querySelector("svg")),e.remove()}s.addEventListener("click","next"===i?o:l)}!e.enabled&&s&&s.classList.add(...t.lockClass.split(" "))};s.forEach(e=>r(e,"next")),i.forEach(e=>r(e,"prev"))}function c(){let{nextEl:t,prevEl:s}=e.navigation;t=S(t),s=S(s);const i=(t,s)=>{t.removeEventListener("click","next"===s?o:l),t.classList.remove(...e.params.navigation.disabledClass.split(" "))};t.forEach(e=>i(e,"next")),s.forEach(e=>i(e,"prev"))}t({navigation:{nextEl:null,prevEl:null,addIcons:!0,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),e.navigation={nextEl:null,prevEl:null,arrowSvg:se},s("init",()=>{!1===e.params.navigation.enabled?p():(d(),n())}),s("toEdge fromEdge lock unlock",()=>{n()}),s("destroy",()=>{c()}),s("enable disable",()=>{let{nextEl:t,prevEl:s}=e.navigation;t=S(t),s=S(s),e.enabled?n():[...t,...s].filter(e=>!!e).forEach(t=>t.classList.add(e.params.navigation.lockClass))}),s("click",(t,s)=>{let{nextEl:a,prevEl:r}=e.navigation;a=S(a),r=S(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(e.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find(e=>a.includes(e)||r.includes(e)))}if(e.params.navigation.hideOnClick&&!l){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===n||e.pagination.el.contains(n)))return;let t;a.length?t=a[0].classList.contains(e.params.navigation.hiddenClass):r.length&&(t=r[0].classList.contains(e.params.navigation.hiddenClass)),i(!0===t?"navigationShow":"navigationHide"),[...a,...r].filter(e=>!!e).forEach(t=>t.classList.toggle(e.params.navigation.hiddenClass))}});const p=()=>{e.el.classList.add(...e.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(e.navigation,{enable:()=>{e.el.classList.remove(...e.params.navigation.navigationDisabledClass.split(" ")),d(),n()},disable:p,update:n,init:d,destroy:c})}function ae(e=""){return`.${e.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g,"\\$1").replace(/ /g,".")}`}function re({swiper:e,extendParams:t,on:s,emit:i}){const a="swiper-pagination";let r;t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${a}-bullet`,bulletActiveClass:`${a}-bullet-active`,modifierClass:`${a}-`,currentClass:`${a}-current`,totalClass:`${a}-total`,hiddenClass:`${a}-hidden`,progressbarFillClass:`${a}-progressbar-fill`,progressbarOppositeClass:`${a}-progressbar-opposite`,clickableClass:`${a}-clickable`,lockClass:`${a}-lock`,horizontalClass:`${a}-horizontal`,verticalClass:`${a}-vertical`,paginationDisabledClass:`${a}-disabled`}}),e.pagination={el:null,bullets:[]};let n=0;function l(){return!e.params.pagination.el||!e.pagination.el||Array.isArray(e.pagination.el)&&0===e.pagination.el.length}function o(t,s){const{bulletActiveClass:i}=e.params.pagination;t&&(t=t[("prev"===s?"previous":"next")+"ElementSibling"])&&(t.classList.add(`${i}-${s}`),(t=t[("prev"===s?"previous":"next")+"ElementSibling"])&&t.classList.add(`${i}-${s}-${s}`))}function d(t){const s=t.target.closest(ae(e.params.pagination.bulletClass));if(!s)return;t.preventDefault();const i=w(s)*e.params.slidesPerGroup;if(e.params.loop){if(e.realIndex===i)return;const t=(a=e.realIndex,r=i,(r%=n=e.slides.length)===1+(a%=n)?"next":r===a-1?"previous":void 0);"next"===t?e.slideNext():"previous"===t?e.slidePrev():e.slideToLoop(i)}else e.slideTo(i);var a,r,n}function c(){const t=e.rtl,s=e.params.pagination;if(l())return;let a,d,c=e.pagination.el;c=S(c);const p=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,u=e.params.loop?Math.ceil(p/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(d=e.previousRealIndex||0,a=e.params.slidesPerGroup>1?Math.floor(e.realIndex/e.params.slidesPerGroup):e.realIndex):void 0!==e.snapIndex?(a=e.snapIndex,d=e.previousSnapIndex):(d=e.previousIndex||0,a=e.activeIndex||0),"bullets"===s.type&&e.pagination.bullets&&e.pagination.bullets.length>0){const i=e.pagination.bullets;let l,p,u;if(s.dynamicBullets&&(r=y(i[0],e.isHorizontal()?"width":"height",!0),c.forEach(t=>{t.style[e.isHorizontal()?"width":"height"]=r*(s.dynamicMainBullets+4)+"px"}),s.dynamicMainBullets>1&&void 0!==d&&(n+=a-(d||0),n>s.dynamicMainBullets-1?n=s.dynamicMainBullets-1:n<0&&(n=0)),l=Math.max(a-n,0),p=l+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+l)/2),i.forEach(e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(e=>`${s.bulletActiveClass}${e}`)].map(e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e).flat();e.classList.remove(...t)}),c.length>1)i.forEach(t=>{const i=w(t);i===a?t.classList.add(...s.bulletActiveClass.split(" ")):e.isElement&&t.setAttribute("part","bullet"),s.dynamicBullets&&(i>=l&&i<=p&&t.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===l&&o(t,"prev"),i===p&&o(t,"next"))});else{const t=i[a];if(t&&t.classList.add(...s.bulletActiveClass.split(" ")),e.isElement&&i.forEach((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")}),s.dynamicBullets){const e=i[l],t=i[p];for(let e=l;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));o(e,"prev"),o(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),n=(r*a-r)/2-u*r,l=t?"right":"left";i.forEach(t=>{t.style[e.isHorizontal()?l:"top"]=`${n}px`})}}c.forEach((t,r)=>{if("fraction"===s.type&&(t.querySelectorAll(ae(s.currentClass)).forEach(e=>{e.textContent=s.formatFractionCurrent(a+1)}),t.querySelectorAll(ae(s.totalClass)).forEach(e=>{e.textContent=s.formatFractionTotal(u)})),"progressbar"===s.type){let i;i=s.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,t.querySelectorAll(ae(s.progressbarFillClass)).forEach(t=>{t.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,t.style.transitionDuration=`${e.params.speed}ms`})}"custom"===s.type&&s.renderCustom?(T(t,s.renderCustom(e,a+1,u)),0===r&&i("paginationRender",t)):(0===r&&i("paginationRender",t),i("paginationUpdate",t)),e.params.watchOverflow&&e.enabled&&t.classList[e.isLocked?"add":"remove"](s.lockClass)})}function p(){const t=e.params.pagination;if(l())return;const s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.grid&&e.params.grid.rows>1?e.slides.length/Math.ceil(e.params.grid.rows):e.slides.length;let a=e.pagination.el;a=S(a);let r="";if("bullets"===t.type){let i=e.params.loop?Math.ceil(s/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s`}"fraction"===t.type&&(r=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):` / `),"progressbar"===t.type&&(r=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):``),e.pagination.bullets=[],a.forEach(s=>{"custom"!==t.type&&T(s,r||""),"bullets"===t.type&&e.pagination.bullets.push(...s.querySelectorAll(ae(t.bulletClass)))}),"custom"!==t.type&&i("paginationRender",a[0])}function u(){e.params.pagination=te(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});const t=e.params.pagination;if(!t.el)return;let s;"string"==typeof t.el&&e.isElement&&(s=e.el.querySelector(t.el)),s||"string"!=typeof t.el||(s=[...document.querySelectorAll(t.el)]),s||(s=t.el),s&&0!==s.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&Array.isArray(s)&&s.length>1&&(s=[...e.el.querySelectorAll(t.el)],s.length>1&&(s=s.find(t=>b(t,".swiper")[0]===e.el))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(e.pagination,{el:s}),s=S(s),s.forEach(s=>{"bullets"===t.type&&t.clickable&&s.classList.add(...(t.clickableClass||"").split(" ")),s.classList.add(t.modifierClass+t.type),s.classList.add(e.isHorizontal()?t.horizontalClass:t.verticalClass),"bullets"===t.type&&t.dynamicBullets&&(s.classList.add(`${t.modifierClass}${t.type}-dynamic`),n=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&s.classList.add(t.progressbarOppositeClass),t.clickable&&s.addEventListener("click",d),e.enabled||s.classList.add(t.lockClass)}))}function m(){const t=e.params.pagination;if(l())return;let s=e.pagination.el;s&&(s=S(s),s.forEach(s=>{s.classList.remove(t.hiddenClass),s.classList.remove(t.modifierClass+t.type),s.classList.remove(e.isHorizontal()?t.horizontalClass:t.verticalClass),t.clickable&&(s.classList.remove(...(t.clickableClass||"").split(" ")),s.removeEventListener("click",d))})),e.pagination.bullets&&e.pagination.bullets.forEach(e=>e.classList.remove(...t.bulletActiveClass.split(" ")))}s("changeDirection",()=>{if(!e.pagination||!e.pagination.el)return;const t=e.params.pagination;let{el:s}=e.pagination;s=S(s),s.forEach(s=>{s.classList.remove(t.horizontalClass,t.verticalClass),s.classList.add(e.isHorizontal()?t.horizontalClass:t.verticalClass)})}),s("init",()=>{!1===e.params.pagination.enabled?f():(u(),p(),c())}),s("activeIndexChange",()=>{void 0===e.snapIndex&&c()}),s("snapIndexChange",()=>{c()}),s("snapGridLengthChange",()=>{p(),c()}),s("destroy",()=>{m()}),s("enable disable",()=>{let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList[e.enabled?"remove":"add"](e.params.pagination.lockClass)))}),s("lock unlock",()=>{c()}),s("click",(t,s)=>{const a=s.target,r=S(e.pagination.el);if(e.params.pagination.el&&e.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&a===e.navigation.nextEl||e.navigation.prevEl&&a===e.navigation.prevEl))return;const t=r[0].classList.contains(e.params.pagination.hiddenClass);i(!0===t?"paginationShow":"paginationHide"),r.forEach(t=>t.classList.toggle(e.params.pagination.hiddenClass))}});const f=()=>{e.el.classList.add(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList.add(e.params.pagination.paginationDisabledClass))),m()};Object.assign(e.pagination,{enable:()=>{e.el.classList.remove(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList.remove(e.params.pagination.paginationDisabledClass))),u(),p(),c()},disable:f,render:p,update:c,init:u,destroy:m})}function ne({swiper:e,extendParams:t,on:s,emit:a,params:r}){let n,l;e.autoplay={running:!1,paused:!1,timeLeft:0},t({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let o,d,c,p,u,m,f,h=r&&r.autoplay?r.autoplay.delay:3e3,g=r&&r.autoplay?r.autoplay.delay:3e3,v=(new Date).getTime();function w(t){e&&!e.destroyed&&e.wrapperEl&&t.target===e.wrapperEl&&(e.wrapperEl.removeEventListener("transitionend",w),f||t.detail&&t.detail.bySwiperTouchMove||C())}const b=()=>{if(e.destroyed||!e.autoplay.running)return;e.autoplay.paused?d=!0:d&&(g=o,d=!1);const t=e.autoplay.paused?o:v+g-(new Date).getTime();e.autoplay.timeLeft=t,a("autoplayTimeLeft",t,t/h),l=requestAnimationFrame(()=>{b()})},y=()=>{let t=e.params.autoplay.delay;const s=(()=>{let t;if(t=e.virtual&&e.params.virtual.enabled?e.slides.find(e=>e.classList.contains("swiper-slide-active")):e.slides[e.activeIndex],t)return parseInt(t.getAttribute("data-swiper-autoplay"),10)})();return!Number.isNaN(s)&&s>0&&(t=s),t},S=t=>{if(e.destroyed||!e.autoplay.running)return;cancelAnimationFrame(l),b();let s=t;void 0===s&&(s=y(),h=s,g=s),o=s;const i=e.params.speed,r=()=>{e&&!e.destroyed&&(e.params.autoplay.reverseDirection?!e.isBeginning||e.params.loop||e.params.rewind?(e.slidePrev(i,!0,!0),a("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(e.slides.length-1,i,!0,!0),a("autoplay")):!e.isEnd||e.params.loop||e.params.rewind?(e.slideNext(i,!0,!0),a("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(0,i,!0,!0),a("autoplay")),e.params.cssMode&&(v=(new Date).getTime(),requestAnimationFrame(()=>{S()})))};return s>0?(clearTimeout(n),n=setTimeout(()=>{r()},s)):requestAnimationFrame(()=>{r()}),s},T=()=>{v=(new Date).getTime(),e.autoplay.running=!0,S(),a("autoplayStart")},E=()=>{e.autoplay.running=!1,clearTimeout(n),cancelAnimationFrame(l),a("autoplayStop")},x=(t,s)=>{if(e.destroyed||!e.autoplay.running)return;clearTimeout(n),t||(m=!0);const i=()=>{a("autoplayPause"),e.params.autoplay.waitForTransition?e.wrapperEl.addEventListener("transitionend",w):C()};if(e.autoplay.paused=!0,s)return void i();const r=o||e.params.autoplay.delay;o=r-((new Date).getTime()-v),e.isEnd&&o<0&&!e.params.loop||(o<0&&(o=0),i())},C=()=>{e.isEnd&&o<0&&!e.params.loop||e.destroyed||!e.autoplay.running||(v=(new Date).getTime(),m?(m=!1,S(o)):S(),e.autoplay.paused=!1,a("autoplayResume"))},M=()=>{if(e.destroyed||!e.autoplay.running)return;const t=i();"hidden"===t.visibilityState&&(m=!0,x(!0)),"visible"===t.visibilityState&&C()},P=t=>{"mouse"===t.pointerType&&(m=!0,f=!0,e.animating||e.autoplay.paused||x(!0))},L=t=>{"mouse"===t.pointerType&&(f=!1,e.autoplay.paused&&C())};s("init",()=>{e.params.autoplay.enabled&&(e.params.autoplay.pauseOnMouseEnter&&(e.el.addEventListener("pointerenter",P),e.el.addEventListener("pointerleave",L)),i().addEventListener("visibilitychange",M),T())}),s("destroy",()=>{e.el&&"string"!=typeof e.el&&(e.el.removeEventListener("pointerenter",P),e.el.removeEventListener("pointerleave",L)),i().removeEventListener("visibilitychange",M),e.autoplay.running&&E()}),s("_freeModeStaticRelease",()=>{(p||m)&&C()}),s("_freeModeNoMomentumRelease",()=>{e.params.autoplay.disableOnInteraction?E():x(!0,!0)}),s("beforeTransitionStart",(t,s,i)=>{!e.destroyed&&e.autoplay.running&&(i||!e.params.autoplay.disableOnInteraction?x(!0,!0):E())}),s("sliderFirstMove",()=>{!e.destroyed&&e.autoplay.running&&(e.params.autoplay.disableOnInteraction?E():(c=!0,p=!1,m=!1,u=setTimeout(()=>{m=!0,p=!0,x(!0)},200)))}),s("touchEnd",()=>{if(!e.destroyed&&e.autoplay.running&&c){if(clearTimeout(u),clearTimeout(n),e.params.autoplay.disableOnInteraction)return p=!1,void(c=!1);p&&e.params.cssMode&&C(),p=!1,c=!1}}),s("slideChange",()=>{!e.destroyed&&e.autoplay.running&&e.autoplay.paused&&(o=y(),h=y())}),Object.assign(e.autoplay,{start:T,stop:E,pause:x,resume:C})}function le(e,t){const s=m(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function oe({swiper:e,extendParams:t,on:s}){t({fadeEffect:{crossFade:!1}}),function(e){const{effect:t,swiper:s,on:i,setTranslate:a,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;i("beforeInit",()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)}),i("setTranslate _virtualUpdated",()=>{s.params.effect===t&&a()}),i("setTransition",(e,i)=>{s.params.effect===t&&r(i)}),i("transitionEnd",()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach(e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(e=>e.remove())}),o()}}),i("virtualUpdate",()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame(()=>{c&&s.slides&&s.slides.length&&(a(),c=!1)}))})}({effect:"fade",swiper:e,on:s,setTranslate:()=>{const{slides:t}=e;e.params.fadeEffect;for(let s=0;s{const s=e.slides.map(e=>m(e));s.forEach(e=>{e.style.transitionDuration=`${t}ms`}),function({swiper:e,duration:t,transformElements:s,allSlides:i}){const{activeIndex:a}=e;if(e.params.virtualTranslate&&0!==t){let t,r=!1;t=i?s:s.filter(t=>{const s=t.classList.contains("swiper-slide-transform")?(t=>t.parentElement?t.parentElement:e.slides.find(e=>e.shadowRoot&&e.shadowRoot===t.parentNode))(t):t;return e.getSlideIndex(s)===a}),t.forEach(t=>{!function(e,t){t&&e.addEventListener("transitionend",function s(i){i.target===e&&(t.call(e,i),e.removeEventListener("transitionend",s))})}(t,()=>{if(r)return;if(!e||e.destroyed)return;r=!0,e.animating=!1;const t=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});e.wrapperEl.dispatchEvent(t)})})}}({swiper:e,duration:t,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})}function de(e){const t=e.dataset.effect||"slide",s="1"===e.dataset.loop,i=parseInt(e.dataset.speed||"500",10),a="1"===e.dataset.autoplay,r=parseInt(e.dataset.autoplayDelay||"3000",10),n="1"===e.dataset.pagination,l="1"===e.dataset.navigation,o=[ie,re,ne];"fade"===t&&o.push(oe);const d={modules:o,effect:t,loop:s,speed:i,slidesPerView:1};"fade"===t&&(d.fadeEffect={crossFade:!0},d.watchSlidesProgress=!0),n&&(d.pagination={el:e.querySelector(".swiper-pagination"),clickable:!0}),l&&(d.navigation={nextEl:e.querySelector(".swiper-button-next"),prevEl:e.querySelector(".swiper-button-prev")}),a&&(d.autoplay={delay:r,disableOnInteraction:!1}),new ee(e,d)}document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("[data-slider-press]").forEach(de)})})(); \ No newline at end of file +(()=>{"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(s={},i={}){const a=["__proto__","constructor","prototype"];Object.keys(i).filter(e=>a.indexOf(e)<0).forEach(a=>{void 0===s[a]?s[a]=i[a]:e(i[a])&&e(s[a])&&Object.keys(i[a]).length>0&&t(s[a],i[a])})}const s={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector:()=>null,querySelectorAll:()=>[],getElementById:()=>null,createEvent:()=>({initEvent(){}}),createElement:()=>({children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName:()=>[]}),createElementNS:()=>({}),importNode:()=>null,location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function i(){const e="undefined"!=typeof document?document:{};return t(e,s),e}const a={document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle:()=>({getPropertyValue:()=>""}),Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia:()=>({}),requestAnimationFrame:e=>"undefined"==typeof setTimeout?(e(),null):setTimeout(e,0),cancelAnimationFrame(e){"undefined"!=typeof setTimeout&&clearTimeout(e)}};function r(){const e="undefined"!=typeof window?window:{};return t(e,a),e}function n(e,t=0){return setTimeout(e,t)}function l(){return Date.now()}function o(e){return"object"==typeof e&&null!==e&&e.constructor&&"Object"===Object.prototype.toString.call(e).slice(8,-1)}function d(e){return"undefined"!=typeof window&&void 0!==window.HTMLElement?e instanceof HTMLElement:e&&(1===e.nodeType||11===e.nodeType)}function c(...e){const t=Object(e[0]);for(let s=1;s"__proto__"!==e&&"constructor"!==e&&"prototype"!==e);for(let s=0,a=e.length;sa?"next":"prev",c=(e,t)=>"next"===d&&e>=t||"prev"===d&&e<=t,p=()=>{n=(new Date).getTime(),null===l&&(l=n);const r=Math.max(Math.min((n-l)/o,1),0),d=.5-Math.cos(r*Math.PI)/2;let u=a+d*(t-a);if(c(u,t)&&(u=t),e.wrapperEl.scrollTo({[s]:u}),c(u,t))return e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.scrollSnapType="",setTimeout(()=>{e.wrapperEl.style.overflow="",e.wrapperEl.scrollTo({[s]:u})}),void i.cancelAnimationFrame(e.cssModeFrameID);e.cssModeFrameID=i.requestAnimationFrame(p)};p()}function m(e){return e.querySelector(".swiper-slide-transform")||e.shadowRoot&&e.shadowRoot.querySelector(".swiper-slide-transform")||e}function f(e,t=""){const s=r(),i=[...e.children];return s.HTMLSlotElement&&e instanceof HTMLSlotElement&&i.push(...e.assignedElements()),t?i.filter(e=>e.matches(t)):i}function h(e){try{return void console.warn(e)}catch(e){}}function g(e,t=[]){const s=document.createElement(e);return s.classList.add(...Array.isArray(t)?t:function(e=""){return e.trim().split(" ").filter(e=>!!e.trim())}(t)),s}function v(e,t){return r().getComputedStyle(e,null).getPropertyValue(t)}function w(e){let t,s=e;if(s){for(t=0;null!==(s=s.previousSibling);)1===s.nodeType&&(t+=1);return t}}function b(e,t){const s=[];let i=e.parentElement;for(;i;)t?i.matches(t)&&s.push(i):s.push(i),i=i.parentElement;return s}function y(e,t,s){const i=r();return s?e["width"===t?"offsetWidth":"offsetHeight"]+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-right":"margin-top"))+parseFloat(i.getComputedStyle(e,null).getPropertyValue("width"===t?"margin-left":"margin-bottom")):e.offsetWidth}function S(e){return(Array.isArray(e)?e:[e]).filter(e=>!!e)}function T(e,t=""){"undefined"!=typeof trustedTypes?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:e=>e}).createHTML(t):e.innerHTML=t}let E,x,C;function M(){return E||(E=function(){const e=r(),t=i();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}()),E}function P(e={}){return x||(x=function({userAgent:e}={}){const t=M(),s=r(),i=s.navigator.platform,a=e||s.navigator.userAgent,n={ios:!1,android:!1},l=s.screen.width,o=s.screen.height,d=a.match(/(Android);?[\s\/]+([\d.]+)?/);let c=a.match(/(iPad)(?!\1).*OS\s([\d_]+)/);const p=a.match(/(iPod)(.*OS\s([\d_]+))?/),u=!c&&a.match(/(iPhone\sOS|iOS)\s([\d_]+)/),m="Win32"===i;let f="MacIntel"===i;return!c&&f&&t.touch&&["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"].indexOf(`${l}x${o}`)>=0&&(c=a.match(/(Version)\/([\d.]+)/),c||(c=[0,1,"13_0_0"]),f=!1),d&&!m&&(n.os="android",n.android=!0),(c||u||p)&&(n.os="ios",n.ios=!0),n}(e)),x}function L(){return C||(C=function(){const e=r(),t=P();let s=!1;function i(){const t=e.navigator.userAgent.toLowerCase();return t.indexOf("safari")>=0&&t.indexOf("chrome")<0&&t.indexOf("android")<0}if(i()){const t=String(e.navigator.userAgent);if(t.includes("Version/")){const[e,i]=t.split("Version/")[1].split(" ")[0].split(".").map(e=>Number(e));s=e<16||16===e&&i<2}}const a=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),n=i();return{isSafari:s||n,needPerspectiveFix:s,need3dFix:n||a&&t.ios,isWebView:a}}()),C}var k={on(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;const a=s?"unshift":"push";return e.split(" ").forEach(e=>{i.eventsListeners[e]||(i.eventsListeners[e]=[]),i.eventsListeners[e][a](t)}),i},once(e,t,s){const i=this;if(!i.eventsListeners||i.destroyed)return i;if("function"!=typeof t)return i;function a(...s){i.off(e,a),a.__emitterProxy&&delete a.__emitterProxy,t.apply(i,s)}return a.__emitterProxy=t,i.on(e,a,s)},onAny(e,t){const s=this;if(!s.eventsListeners||s.destroyed)return s;if("function"!=typeof e)return s;const i=t?"unshift":"push";return s.eventsAnyListeners.indexOf(e)<0&&s.eventsAnyListeners[i](e),s},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsAnyListeners)return t;const s=t.eventsAnyListeners.indexOf(e);return s>=0&&t.eventsAnyListeners.splice(s,1),t},off(e,t){const s=this;return!s.eventsListeners||s.destroyed?s:s.eventsListeners?(e.split(" ").forEach(e=>{void 0===t?s.eventsListeners[e]=[]:s.eventsListeners[e]&&s.eventsListeners[e].forEach((i,a)=>{(i===t||i.__emitterProxy&&i.__emitterProxy===t)&&s.eventsListeners[e].splice(a,1)})}),s):s},emit(...e){const t=this;if(!t.eventsListeners||t.destroyed)return t;if(!t.eventsListeners)return t;let s,i,a;return"string"==typeof e[0]||Array.isArray(e[0])?(s=e[0],i=e.slice(1,e.length),a=t):(s=e[0].events,i=e[0].data,a=e[0].context||t),i.unshift(a),(Array.isArray(s)?s:s.split(" ")).forEach(e=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(t=>{t.apply(a,[e,...i])}),t.eventsListeners&&t.eventsListeners[e]&&t.eventsListeners[e].forEach(e=>{e.apply(a,i)})}),t}};const I=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},O=(e,t,s)=>{t&&!e.classList.contains(s)?e.classList.add(s):!t&&e.classList.contains(s)&&e.classList.remove(s)},A=(e,t)=>{if(!e||e.destroyed||!e.params)return;const s=t.closest(e.isElement?"swiper-slide":`.${e.params.slideClass}`);if(s){let t=s.querySelector(`.${e.params.lazyPreloaderClass}`);!t&&e.isElement&&(s.shadowRoot?t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{s.shadowRoot&&(t=s.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),t&&!t.lazyPreloaderManaged&&t.remove())})),t&&!t.lazyPreloaderManaged&&t.remove()}},z=(e,t)=>{if(!e.slides[t])return;const s=e.slides[t].querySelector('[loading="lazy"]');s&&s.removeAttribute("loading")},G=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const s=e.slides.length;if(!s||!t||t<0)return;t=Math.min(t,s);const i="auto"===e.params.slidesPerView?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),a=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const s=a,r=[s-t];return r.push(...Array.from({length:t}).map((e,t)=>s+i+t)),void e.slides.forEach((t,s)=>{r.includes(t.column)&&z(e,s)})}const r=a+i-1;if(e.params.rewind||e.params.loop)for(let i=a-t;i<=r+t;i+=1){const t=(i%s+s)%s;(tr)&&z(e,t)}else for(let i=Math.max(a-t,0);i<=Math.min(r+t,s-1);i+=1)i!==a&&(i>r||i=0?E=parseFloat(E.replace("%",""))/100*T:"string"==typeof E&&(E=parseFloat(E)),e.virtualSize=-E-g-w,d.forEach(e=>{r?e.style.marginLeft="":e.style.marginRight="",e.style.marginBottom="",e.style.marginTop=""}),s.centeredSlides&&s.cssMode&&(p(i,"--swiper-centered-offset-before",""),p(i,"--swiper-centered-offset-after","")),s.cssMode&&(p(i,"--swiper-slides-offset-before",`${g}px`),p(i,"--swiper-slides-offset-after",`${w}px`));const P=s.grid&&s.grid.rows>1&&e.grid;let L;P?e.grid.initSlides(d):e.grid&&e.grid.unsetSlides();const k="auto"===s.slidesPerView&&s.breakpoints&&Object.keys(s.breakpoints).filter(e=>void 0!==s.breakpoints[e].slidesPerView).length>0;for(let i=0;i=0&&(t+=h[s]+(s1&&(i||u.push(e.virtualSize-T))}if(l&&s.loop){const t=h[0]+E;if(s.slidesPerGroup>1){const i=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/s.slidesPerGroup),a=t*s.slidesPerGroup;for(let e=0;e!(s.cssMode&&!s.loop)||t!==d.length-1).forEach(e=>{e.style[t]=`${E}px`})}if(s.centeredSlides&&s.centeredSlidesBounds){let e=0;h.forEach(t=>{e+=t+(E||0)}),e-=E;const t=e>T?e-T:0;u=u.map(e=>e<=0?-g:e>t?t+w:e)}if(s.centerInsufficientSlides){let e=0;if(h.forEach(t=>{e+=t+(E||0)}),e-=E,e{u[s]=e-t}),m.forEach((e,s)=>{m[s]=e+t})}}if(Object.assign(e,{slides:d,snapGrid:u,slidesGrid:m,slidesSizesGrid:h}),s.centeredSlides&&s.cssMode&&!s.centeredSlidesBounds){p(i,"--swiper-centered-offset-before",-u[0]+"px"),p(i,"--swiper-centered-offset-after",e.size/2-h[h.length-1]/2+"px");const t=-e.snapGrid[0],s=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(e=>e+t),e.slidesGrid=e.slidesGrid.map(e=>e+s)}if(c!==o&&e.emit("slidesLengthChange"),u.length!==b&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),m.length!==S&&e.emit("slidesGridLengthChange"),s.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!(l||s.cssMode||"slide"!==s.effect&&"fade"!==s.effect)){const t=`${s.containerModifierClass}backface-hidden`,i=e.el.classList.contains(t);c<=s.maxBackfaceHiddenSlides?i||e.el.classList.add(t):i&&e.el.classList.remove(t)}},updateAutoHeight:function(e){const t=this,s=[],i=t.virtual&&t.params.virtual.enabled;let a,r=0;"number"==typeof e?t.setTransition(e):!0===e&&t.setTransition(t.params.speed);const n=e=>i?t.slides[t.getSlideIndexByData(e)]:t.slides[e];if("auto"!==t.params.slidesPerView&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(e=>{s.push(e)});else for(a=0;at.slides.length&&!i)break;s.push(n(e))}else s.push(n(t.activeIndex));for(a=0;ar?e:r}(r||0===r)&&(t.wrapperEl.style.height=`${r}px`)},updateSlidesOffset:function(){const e=this,t=e.slides,s=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let i=0;i=0?l=parseFloat(l.replace("%",""))/100*t.size:"string"==typeof l&&(l=parseFloat(l));for(let e=0;e=0&&u<=t.size-t.slidesSizesGrid[e],h=u>=0&&u1&&m<=t.size||u<=0&&m>=t.size;h&&(t.visibleSlides.push(o),t.visibleSlidesIndexes.push(e)),I(o,h,s.slideVisibleClass),I(o,f,s.slideFullyVisibleClass),o.progress=a?-c:c,o.originalProgress=a?-p:p}},updateProgress:function(e){const t=this;if(void 0===e){const s=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*s||0}const s=t.params,i=t.maxTranslate()-t.minTranslate();let{progress:a,isBeginning:r,isEnd:n,progressLoop:l}=t;const o=r,d=n;if(0===i)a=0,r=!0,n=!0;else{a=(e-t.minTranslate())/i;const s=Math.abs(e-t.minTranslate())<1,l=Math.abs(e-t.maxTranslate())<1;r=s||a<=0,n=l||a>=1,s&&(a=0),l&&(a=1)}if(s.loop){const s=t.getSlideIndexByData(0),i=t.getSlideIndexByData(t.slides.length-1),a=t.slidesGrid[s],r=t.slidesGrid[i],n=t.slidesGrid[t.slidesGrid.length-1],o=Math.abs(e);l=o>=a?(o-a)/n:(o+n-r)/n,l>1&&(l-=1)}Object.assign(t,{progress:a,progressLoop:l,isBeginning:r,isEnd:n}),(s.watchSlidesProgress||s.centeredSlides&&s.autoHeight)&&t.updateSlidesProgress(e),r&&!o&&t.emit("reachBeginning toEdge"),n&&!d&&t.emit("reachEnd toEdge"),(o&&!r||d&&!n)&&t.emit("fromEdge"),t.emit("progress",a)},updateSlidesClasses:function(){const e=this,{slides:t,params:s,slidesEl:i,activeIndex:a}=e,r=e.virtual&&s.virtual.enabled,n=e.grid&&s.grid&&s.grid.rows>1,l=e=>f(i,`.${s.slideClass}${e}, swiper-slide${e}`)[0];let o,d,c;if(r)if(s.loop){let t=a-e.virtual.slidesBefore;t<0&&(t=e.virtual.slides.length+t),t>=e.virtual.slides.length&&(t-=e.virtual.slides.length),o=l(`[data-swiper-slide-index="${t}"]`)}else o=l(`[data-swiper-slide-index="${a}"]`);else n?(o=t.find(e=>e.column===a),c=t.find(e=>e.column===a+1),d=t.find(e=>e.column===a-1)):o=t[a];o&&(n||(c=function(e,t){const s=[];for(;e.nextElementSibling;){const i=e.nextElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&!c&&(c=t[0]),d=function(e,t){const s=[];for(;e.previousElementSibling;){const i=e.previousElementSibling;t?i.matches(t)&&s.push(i):s.push(i),e=i}return s}(o,`.${s.slideClass}, swiper-slide`)[0],s.loop&&0===!d&&(d=t[t.length-1]))),t.forEach(e=>{O(e,e===o,s.slideActiveClass),O(e,e===c,s.slideNextClass),O(e,e===d,s.slidePrevClass)}),e.emitSlidesClasses()},updateActiveIndex:function(e){const t=this,s=t.rtlTranslate?t.translate:-t.translate,{snapGrid:i,params:a,activeIndex:r,realIndex:n,snapIndex:l}=t;let o,d=e;const c=e=>{let s=e-t.virtual.slidesBefore;return s<0&&(s=t.virtual.slides.length+s),s>=t.virtual.slides.length&&(s-=t.virtual.slides.length),s};if(void 0===d&&(d=function(e){const{slidesGrid:t,params:s}=e,i=e.rtlTranslate?e.translate:-e.translate;let a;for(let e=0;e=t[e]&&i=t[e]&&i=t[e]&&(a=e);return s.normalizeSlideIndex&&(a<0||void 0===a)&&(a=0),a}(t)),i.indexOf(s)>=0)o=i.indexOf(s);else{const e=Math.min(a.slidesPerGroupSkip,d);o=e+Math.floor((d-e)/a.slidesPerGroup)}if(o>=i.length&&(o=i.length-1),d===r&&!t.params.loop)return void(o!==l&&(t.snapIndex=o,t.emit("snapIndexChange")));if(d===r&&t.params.loop&&t.virtual&&t.params.virtual.enabled)return void(t.realIndex=c(d));const p=t.grid&&a.grid&&a.grid.rows>1;let u;if(t.virtual&&a.virtual.enabled)u=a.loop?c(d):d;else if(p){const e=t.slides.find(e=>e.column===d);let s=parseInt(e.getAttribute("data-swiper-slide-index"),10);Number.isNaN(s)&&(s=Math.max(t.slides.indexOf(e),0)),u=Math.floor(s/a.grid.rows)}else if(t.slides[d]){const e=t.slides[d].getAttribute("data-swiper-slide-index");u=e?parseInt(e,10):d}else u=d;Object.assign(t,{previousSnapIndex:l,snapIndex:o,previousRealIndex:n,realIndex:u,previousIndex:r,activeIndex:d}),t.initialized&&G(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(n!==u&&t.emit("realIndexChange"),t.emit("slideChange"))},updateClickedSlide:function(e,t){const s=this,i=s.params;let a=e.closest(`.${i.slideClass}, swiper-slide`);!a&&s.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(e=>{!a&&e.matches&&e.matches(`.${i.slideClass}, swiper-slide`)&&(a=e)});let r,n=!1;if(a)for(let e=0;er?"next":a=o.length&&(v=o.length-1);const w=-o[v];if(l.normalizeSlideIndex)for(let e=0;e=s&&t=s&&t=s&&(n=e)}if(r.initialized&&n!==p){if(!r.allowSlideNext&&(m?w>r.translate&&w>r.minTranslate():wr.translate&&w>r.maxTranslate()&&(p||0)!==n)return!1}let b;n!==(c||0)&&s&&r.emit("beforeSlideChangeStart"),r.updateProgress(w),b=n>p?"next":n0?(r._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{f[e?"scrollLeft":"scrollTop"]=s})):f[e?"scrollLeft":"scrollTop"]=s,y&&requestAnimationFrame(()=>{r.wrapperEl.style.scrollSnapType="",r._immediateVirtual=!1});else{if(!r.support.smoothScroll)return u({swiper:r,targetPosition:s,side:e?"left":"top"}),!0;f.scrollTo({[e?"left":"top"]:s,behavior:"smooth"})}return!0}const S=L().isSafari;return y&&!a&&S&&r.isElement&&r.virtual.update(!1,!1,n),r.setTransition(t),r.setTranslate(w),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,i),r.transitionStart(s,b),0===t?r.transitionEnd(s,b):r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.wrapperEl.removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(s,b))}),r.wrapperEl.addEventListener("transitionend",r.onSlideToWrapperTransitionEnd)),!0},slideToLoop:function(e=0,t,s=!0,i){"string"==typeof e&&(e=parseInt(e,10));const a=this;if(a.destroyed)return;void 0===t&&(t=a.params.speed);const r=a.grid&&a.params.grid&&a.params.grid.rows>1;let n=e;if(a.params.loop)if(a.virtual&&a.params.virtual.enabled)n+=a.virtual.slidesBefore;else{let e;if(r){const t=n*a.params.grid.rows;e=a.slides.find(e=>1*e.getAttribute("data-swiper-slide-index")===t).column}else e=a.getSlideIndexByData(n);const t=r?Math.ceil(a.slides.length/a.params.grid.rows):a.slides.length,{centeredSlides:s,slidesOffsetBefore:l,slidesOffsetAfter:o}=a.params,d=s||!!l||!!o;let c=a.params.slidesPerView;"auto"===c?c=a.slidesPerViewDynamic():(c=Math.ceil(parseFloat(a.params.slidesPerView,10)),d&&c%2==0&&(c+=1));let p=t-e1*t.getAttribute("data-swiper-slide-index")===e).column}else n=a.getSlideIndexByData(n)}return requestAnimationFrame(()=>{a.slideTo(n,t,s,i)}),a},slideNext:function(e,t=!0,s){const i=this,{enabled:a,params:r,animating:n}=i;if(!a||i.destroyed)return i;void 0===e&&(e=i.params.speed);let l=r.slidesPerGroup;"auto"===r.slidesPerView&&1===r.slidesPerGroup&&r.slidesPerGroupAuto&&(l=Math.max(i.slidesPerViewDynamic("current",!0),1));const o=i.activeIndex{i.slideTo(i.activeIndex+o,e,t,s)}),!0}return r.rewind&&i.isEnd?i.slideTo(0,e,t,s):i.slideTo(i.activeIndex+o,e,t,s)},slidePrev:function(e,t=!0,s){const i=this,{params:a,snapGrid:r,slidesGrid:n,rtlTranslate:l,enabled:o,animating:d}=i;if(!o||i.destroyed)return i;void 0===e&&(e=i.params.speed);const c=i.virtual&&a.virtual.enabled;if(a.loop){if(d&&!c&&a.loopPreventsSliding)return!1;i.loopFix({direction:"prev"}),i._clientLeft=i.wrapperEl.clientLeft}function p(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}const u=p(l?i.translate:-i.translate),m=r.map(e=>p(e)),f=a.freeMode&&a.freeMode.enabled;let h=r[m.indexOf(u)-1];if(void 0===h&&(a.cssMode||f)){let e;r.forEach((t,s)=>{u>=t&&(e=s)}),void 0!==e&&(h=f?r[e]:r[e>0?e-1:e])}let g=0;if(void 0!==h&&(g=n.indexOf(h),g<0&&(g=i.activeIndex-1),"auto"===a.slidesPerView&&1===a.slidesPerGroup&&a.slidesPerGroupAuto&&(g=g-i.slidesPerViewDynamic("previous",!0)+1,g=Math.max(g,0))),a.rewind&&i.isBeginning){const a=i.params.virtual&&i.params.virtual.enabled&&i.virtual?i.virtual.slides.length-1:i.slides.length-1;return i.slideTo(a,e,t,s)}return a.loop&&0===i.activeIndex&&a.cssMode?(requestAnimationFrame(()=>{i.slideTo(g,e,t,s)}),!0):i.slideTo(g,e,t,s)},slideReset:function(e,t=!0,s){const i=this;if(!i.destroyed)return void 0===e&&(e=i.params.speed),i.slideTo(i.activeIndex,e,t,s)},slideToClosest:function(e,t=!0,s,i=.5){const a=this;if(a.destroyed)return;void 0===e&&(e=a.params.speed);let r=a.activeIndex;const n=Math.min(a.params.slidesPerGroupSkip,r),l=n+Math.floor((r-n)/a.params.slidesPerGroup),o=a.rtlTranslate?a.translate:-a.translate;if(o>=a.snapGrid[l]){const e=a.snapGrid[l];o-e>(a.snapGrid[l+1]-e)*i&&(r+=a.params.slidesPerGroup)}else{const e=a.snapGrid[l-1];o-e<=(a.snapGrid[l]-e)*i&&(r-=a.params.slidesPerGroup)}return r=Math.max(r,0),r=Math.min(r,a.slidesGrid.length-1),a.slideTo(r,e,t,s)},slideToClickedSlide:function(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:s}=e,i="auto"===t.slidesPerView?e.slidesPerViewDynamic():t.slidesPerView;let a,r=e.getSlideIndexWhenGrid(e.clickedIndex);const l=e.isElement?"swiper-slide":`.${t.slideClass}`,o=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;a=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(a):r>(o?(e.slides.length-i)/2-(e.params.grid.rows-1):e.slides.length-i)?(e.loopFix(),r=e.getSlideIndex(f(s,`${l}[data-swiper-slide-index="${a}"]`)[0]),n(()=>{e.slideTo(r)})):e.slideTo(r)}else e.slideTo(r)}},_={loopCreate:function(e,t){const s=this,{params:i,slidesEl:a}=s;if(!i.loop||s.virtual&&s.params.virtual.enabled)return;const r=()=>{f(a,`.${i.slideClass}, swiper-slide`).forEach((e,t)=>{e.setAttribute("data-swiper-slide-index",t)})},n=s.grid&&i.grid&&i.grid.rows>1;i.loopAddBlankSlides&&(i.slidesPerGroup>1||n)&&(()=>{const e=f(a,`.${i.slideBlankClass}`);e.forEach(e=>{e.remove()}),e.length>0&&(s.recalcSlides(),s.updateSlides())})();const l=i.slidesPerGroup*(n?i.grid.rows:1),o=s.slides.length%l!==0,d=n&&s.slides.length%i.grid.rows!==0,c=e=>{for(let t=0;t1;d.lengthe.classList.contains(m.slideActiveClass))):L=a;const k="next"===s||!s,I="prev"===s||!s;let O=0,A=0;const z=(E?d[a].column:a)+(b&&void 0===i?-y/2+.5:0);if(z=0;t-=1)d[t].column===e&&x.push(t)}else x.push(M-t-1)}}else if(z+y>M-T){A=Math.max(z-(M-2*T),S),P&&(A=Math.max(A,y-M+w+1));for(let e=0;e{e.column===t&&C.push(s)}):C.push(t)}}if(o.__preventObserver__=!0,requestAnimationFrame(()=>{o.__preventObserver__=!1}),"cards"===o.params.effect&&d.length{d[e].swiperLoopMoveDOM=!0,u.prepend(d[e]),d[e].swiperLoopMoveDOM=!1}),k&&C.forEach(e=>{d[e].swiperLoopMoveDOM=!0,u.append(d[e]),d[e].swiperLoopMoveDOM=!1}),o.recalcSlides(),"auto"===m.slidesPerView?o.updateSlides():E&&(x.length>0&&I||C.length>0&&k)&&o.slides.forEach((e,t)=>{o.grid.updateSlide(t,e,o.slides)}),m.watchSlidesProgress&&o.updateSlidesOffset(),t)if(x.length>0&&I){if(void 0===e){const e=o.slidesGrid[L],t=o.slidesGrid[L+O]-e;l?o.setTranslate(o.translate-t):(o.slideTo(L+Math.ceil(O),0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else if(i){const e=E?x.length/m.grid.rows:x.length;o.slideTo(o.activeIndex+e,0,!1,!0),o.touchEventsData.currentTranslate=o.translate}}else if(C.length>0&&k)if(void 0===e){const e=o.slidesGrid[L],t=o.slidesGrid[L-A]-e;l?o.setTranslate(o.translate-t):(o.slideTo(L-A,0,!1,!0),i&&(o.touchEventsData.startTranslate=o.touchEventsData.startTranslate-t,o.touchEventsData.currentTranslate=o.touchEventsData.currentTranslate-t))}else{const e=E?C.length/m.grid.rows:C.length;o.slideTo(o.activeIndex-e,0,!1,!0)}if(o.allowSlidePrev=c,o.allowSlideNext=p,o.controller&&o.controller.control&&!n){const r={slideRealIndex:e,direction:s,setTranslate:i,activeSlideIndex:a,byController:!0};Array.isArray(o.controller.control)?o.controller.control.forEach(e=>{!e.destroyed&&e.params.loop&&e.loopFix({...r,slideTo:e.params.slidesPerView===m.slidesPerView&&t})}):o.controller.control instanceof o.constructor&&o.controller.control.params.loop&&o.controller.control.loopFix({...r,slideTo:o.controller.control.params.slidesPerView===m.slidesPerView&&t})}o.emit("loopFix")},loopDestroy:function(){const e=this,{params:t,slidesEl:s}=e;if(!t.loop||!s||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const i=[];e.slides.forEach(e=>{const t=void 0===e.swiperSlideIndex?1*e.getAttribute("data-swiper-slide-index"):e.swiperSlideIndex;i[t]=e}),e.slides.forEach(e=>{e.removeAttribute("data-swiper-slide-index")}),i.forEach(e=>{s.append(e)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}};function V(e,t,s){const i=r(),{params:a}=e,n=a.edgeSwipeDetection,l=a.edgeSwipeThreshold;return!n||!(s<=l||s>=i.innerWidth-l)||"prevent"===n&&(t.preventDefault(),!0)}function F(e){const t=this,s=i();let a=e;a.originalEvent&&(a=a.originalEvent);const n=t.touchEventsData;if("pointerdown"===a.type){if(null!==n.pointerId&&n.pointerId!==a.pointerId)return;n.pointerId=a.pointerId}else"touchstart"===a.type&&1===a.targetTouches.length&&(n.touchId=a.targetTouches[0].identifier);if("touchstart"===a.type)return void V(t,a,a.targetTouches[0].pageX);const{params:o,touches:d,enabled:c}=t;if(!c)return;if(!o.simulateTouch&&"mouse"===a.pointerType)return;if(t.animating&&o.preventInteractionOnTransition)return;!t.animating&&o.cssMode&&o.loop&&t.loopFix();let p=a.target;if("wrapper"===o.touchEventsTarget&&!function(e,t){const s=r();let i=t.contains(e);return!i&&s.HTMLSlotElement&&t instanceof HTMLSlotElement&&(i=[...t.assignedElements()].includes(e),i||(i=function(e,t){const s=[t];for(;s.length>0;){const t=s.shift();if(e===t)return!0;s.push(...t.children,...t.shadowRoot?t.shadowRoot.children:[],...t.assignedElements?t.assignedElements():[])}}(e,t))),i}(p,t.wrapperEl))return;if("which"in a&&3===a.which)return;if("button"in a&&a.button>0)return;if(n.isTouched&&n.isMoved)return;const u=!!o.noSwipingClass&&""!==o.noSwipingClass,m=a.composedPath?a.composedPath():a.path;u&&a.target&&a.target.shadowRoot&&m&&(p=m[0]);const f=o.noSwipingSelector?o.noSwipingSelector:`.${o.noSwipingClass}`,h=!(!a.target||!a.target.shadowRoot);if(o.noSwiping&&(h?function(e,t=this){return function t(s){if(!s||s===i()||s===r())return null;s.assignedSlot&&(s=s.assignedSlot);const a=s.closest(e);return a||s.getRootNode?a||t(s.getRootNode().host):null}(t)}(f,p):p.closest(f)))return void(t.allowClick=!0);if(o.swipeHandler&&!p.closest(o.swipeHandler))return;d.currentX=a.pageX,d.currentY=a.pageY;const g=d.currentX,v=d.currentY;if(!V(t,a,g))return;Object.assign(n,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),d.startX=g,d.startY=v,n.touchStartTime=l(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,o.threshold>0&&(n.allowThresholdMove=!1);let w=!0;p.matches(n.focusableElements)&&(w=!1,"SELECT"===p.nodeName&&(n.isTouched=!1)),s.activeElement&&s.activeElement.matches(n.focusableElements)&&s.activeElement!==p&&("mouse"===a.pointerType||"mouse"!==a.pointerType&&!p.matches(n.focusableElements))&&s.activeElement.blur();const b=w&&t.allowTouchMove&&o.touchStartPreventDefault;!o.touchStartForcePreventDefault&&!b||p.isContentEditable||a.preventDefault(),o.freeMode&&o.freeMode.enabled&&t.freeMode&&t.animating&&!o.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",a)}function N(e){const t=i(),s=this,a=s.touchEventsData,{params:r,touches:n,rtlTranslate:o,enabled:d}=s;if(!d)return;if(!r.simulateTouch&&"mouse"===e.pointerType)return;let c,p=e;if(p.originalEvent&&(p=p.originalEvent),"pointermove"===p.type){if(null!==a.touchId)return;if(p.pointerId!==a.pointerId)return}if("touchmove"===p.type){if(c=[...p.changedTouches].find(e=>e.identifier===a.touchId),!c||c.identifier!==a.touchId)return}else c=p;if(!a.isTouched)return void(a.startMoving&&a.isScrolling&&s.emit("touchMoveOpposite",p));const u=c.pageX,m=c.pageY;if(p.preventedByNestedSwiper)return n.startX=u,void(n.startY=m);if(!s.allowTouchMove)return p.target.matches(a.focusableElements)||(s.allowClick=!1),void(a.isTouched&&(Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m}),a.touchStartTime=l()));if(r.touchReleaseOnEdges&&!r.loop)if(s.isVertical()){if(mn.startY&&s.translate>=s.minTranslate())return a.isTouched=!1,void(a.isMoved=!1)}else{if(o&&(u>n.startX&&-s.translate<=s.maxTranslate()||u=s.minTranslate()))return;if(!o&&(un.startX&&s.translate>=s.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(a.focusableElements)&&t.activeElement!==p.target&&"mouse"!==p.pointerType&&t.activeElement.blur(),t.activeElement&&p.target===t.activeElement&&p.target.matches(a.focusableElements))return a.isMoved=!0,void(s.allowClick=!1);a.allowTouchCallbacks&&s.emit("touchMove",p),n.previousX=n.currentX,n.previousY=n.currentY,n.currentX=u,n.currentY=m;const f=n.currentX-n.startX,h=n.currentY-n.startY;if(s.params.threshold&&Math.sqrt(f**2+h**2)=25&&(e=180*Math.atan2(Math.abs(h),Math.abs(f))/Math.PI,a.isScrolling=s.isHorizontal()?e>r.touchAngle:90-e>r.touchAngle)}if(a.isScrolling&&s.emit("touchMoveOpposite",p),void 0===a.startMoving&&(n.currentX===n.startX&&n.currentY===n.startY||(a.startMoving=!0)),a.isScrolling||"touchmove"===p.type&&a.preventTouchMoveFromPointerMove)return void(a.isTouched=!1);if(!a.startMoving)return;s.allowClick=!1,!r.cssMode&&p.cancelable&&p.preventDefault(),r.touchMoveStopPropagation&&!r.nested&&p.stopPropagation();let g=s.isHorizontal()?f:h,v=s.isHorizontal()?n.currentX-n.previousX:n.currentY-n.previousY;r.oneWayMovement&&(g=Math.abs(g)*(o?1:-1),v=Math.abs(v)*(o?1:-1)),n.diff=g,g*=r.touchRatio,o&&(g=-g,v=-v);const w=s.touchesDirection;s.swipeDirection=g>0?"prev":"next",s.touchesDirection=v>0?"prev":"next";const b=s.params.loop&&!r.cssMode,y="next"===s.touchesDirection&&s.allowSlideNext||"prev"===s.touchesDirection&&s.allowSlidePrev;if(!a.isMoved){if(b&&y&&s.loopFix({direction:s.swipeDirection}),a.startTranslate=s.getTranslate(),s.setTransition(0),s.animating){const e=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});s.wrapperEl.dispatchEvent(e)}a.allowMomentumBounce=!1,!r.grabCursor||!0!==s.allowSlideNext&&!0!==s.allowSlidePrev||s.setGrabCursor(!0),s.emit("sliderFirstMove",p)}if((new Date).getTime(),!1!==r._loopSwapReset&&a.isMoved&&a.allowThresholdMove&&w!==s.touchesDirection&&b&&y&&Math.abs(g)>=1)return Object.assign(n,{startX:u,startY:m,currentX:u,currentY:m,startTranslate:a.currentTranslate}),a.loopSwapReset=!0,void(a.startTranslate=a.currentTranslate);s.emit("sliderMove",p),a.isMoved=!0,a.currentTranslate=g+a.startTranslate;let S=!0,T=r.resistanceRatio;if(r.touchReleaseOnEdges&&(T=0),g>0?(b&&y&&a.allowThresholdMove&&a.currentTranslate>(r.centeredSlides?s.minTranslate()-s.slidesSizesGrid[s.activeIndex+1]-("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.activeIndex+1]+s.params.spaceBetween:0)-s.params.spaceBetween:s.minTranslate())&&s.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),a.currentTranslate>s.minTranslate()&&(S=!1,r.resistance&&(a.currentTranslate=s.minTranslate()-1+(-s.minTranslate()+a.startTranslate+g)**T))):g<0&&(b&&y&&a.allowThresholdMove&&a.currentTranslate<(r.centeredSlides?s.maxTranslate()+s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween+("auto"!==r.slidesPerView&&s.slides.length-r.slidesPerView>=2?s.slidesSizesGrid[s.slidesSizesGrid.length-1]+s.params.spaceBetween:0):s.maxTranslate())&&s.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:s.slides.length-("auto"===r.slidesPerView?s.slidesPerViewDynamic():Math.ceil(parseFloat(r.slidesPerView,10)))}),a.currentTranslatea.startTranslate&&(a.currentTranslate=a.startTranslate),s.allowSlidePrev||s.allowSlideNext||(a.currentTranslate=a.startTranslate),r.threshold>0){if(!(Math.abs(g)>r.threshold||a.allowThresholdMove))return void(a.currentTranslate=a.startTranslate);if(!a.allowThresholdMove)return a.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,a.currentTranslate=a.startTranslate,void(n.diff=s.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}r.followFinger&&!r.cssMode&&((r.freeMode&&r.freeMode.enabled&&s.freeMode||r.watchSlidesProgress)&&(s.updateActiveIndex(),s.updateSlidesClasses()),r.freeMode&&r.freeMode.enabled&&s.freeMode&&s.freeMode.onTouchMove(),s.updateProgress(a.currentTranslate),s.setTranslate(a.currentTranslate))}function H(e){const t=this,s=t.touchEventsData;let i,a=e;if(a.originalEvent&&(a=a.originalEvent),"touchend"===a.type||"touchcancel"===a.type){if(i=[...a.changedTouches].find(e=>e.identifier===s.touchId),!i||i.identifier!==s.touchId)return}else{if(null!==s.touchId)return;if(a.pointerId!==s.pointerId)return;i=a}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(a.type)&&(!["pointercancel","contextmenu"].includes(a.type)||!t.browser.isSafari&&!t.browser.isWebView))return;s.pointerId=null,s.touchId=null;const{params:r,touches:o,rtlTranslate:d,slidesGrid:c,enabled:p}=t;if(!p)return;if(!r.simulateTouch&&"mouse"===a.pointerType)return;if(s.allowTouchCallbacks&&t.emit("touchEnd",a),s.allowTouchCallbacks=!1,!s.isTouched)return s.isMoved&&r.grabCursor&&t.setGrabCursor(!1),s.isMoved=!1,void(s.startMoving=!1);r.grabCursor&&s.isMoved&&s.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);const u=l(),m=u-s.touchStartTime;if(t.allowClick){const e=a.path||a.composedPath&&a.composedPath();t.updateClickedSlide(e&&e[0]||a.target,e),t.emit("tap click",a),m<300&&u-s.lastClickTime<300&&t.emit("doubleTap doubleClick",a)}if(s.lastClickTime=l(),n(()=>{t.destroyed||(t.allowClick=!0)}),!s.isTouched||!s.isMoved||!t.swipeDirection||0===o.diff&&!s.loopSwapReset||s.currentTranslate===s.startTranslate&&!s.loopSwapReset)return s.isTouched=!1,s.isMoved=!1,void(s.startMoving=!1);let f;if(s.isTouched=!1,s.isMoved=!1,s.startMoving=!1,f=r.followFinger?d?t.translate:-t.translate:-s.currentTranslate,r.cssMode)return;if(r.freeMode&&r.freeMode.enabled)return void t.freeMode.onTouchEnd({currentPos:f});const h=f>=-t.maxTranslate()&&!t.params.loop;let g=0,v=t.slidesSizesGrid[0];for(let e=0;e=c[e]&&f=c[e])&&(g=e,v=c[c.length-1]-c[c.length-2])}let w=null,b=null;r.rewind&&(t.isBeginning?b=r.virtual&&r.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(w=0));const y=(f-c[g])/v,S=gr.longSwipesMs){if(!r.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(y>=r.longSwipesRatio?t.slideTo(r.rewind&&t.isEnd?w:g+S):t.slideTo(g)),"prev"===t.swipeDirection&&(y>1-r.longSwipesRatio?t.slideTo(g+S):null!==b&&y<0&&Math.abs(y)>r.longSwipesRatio?t.slideTo(b):t.slideTo(g))}else{if(!r.shortSwipes)return void t.slideTo(t.activeIndex);!t.navigation||a.target!==t.navigation.nextEl&&a.target!==t.navigation.prevEl?("next"===t.swipeDirection&&t.slideTo(null!==w?w:g+S),"prev"===t.swipeDirection&&t.slideTo(null!==b?b:g)):a.target===t.navigation.nextEl?t.slideTo(g+S):t.slideTo(g)}}function R(){const e=this,{params:t,el:s}=e;if(s&&0===s.offsetWidth)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:i,allowSlidePrev:a,snapGrid:r}=e,n=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const l=n&&t.loop;if(!("auto"===t.slidesPerView||t.slidesPerView>1)||!e.isEnd||e.isBeginning||e.params.centeredSlides||l)e.params.loop&&!n?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0);else{const t=n?e.virtual.slides:e.slides;e.slideTo(t.length-1,0,!1,!0)}e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=a,e.allowSlideNext=i,e.params.watchOverflow&&r!==e.snapGrid&&e.checkOverflow()}function q(e){const t=this;t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function j(){const e=this,{wrapperEl:t,rtlTranslate:s,enabled:i}=e;if(!i)return;let a;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();const r=e.maxTranslate()-e.minTranslate();a=0===r?0:(e.translate-e.minTranslate())/r,a!==e.progress&&e.updateProgress(s?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function W(e){const t=this;A(t,e.target),t.params.cssMode||"auto"!==t.params.slidesPerView&&!t.params.autoHeight||t.update()}function X(){const e=this;e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const Y=(e,t)=>{const s=i(),{params:a,el:r,wrapperEl:n,device:l}=e,o=!!a.nested,d="on"===t?"addEventListener":"removeEventListener",c=t;r&&"string"!=typeof r&&(s[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:o}),r[d]("touchstart",e.onTouchStart,{passive:!1}),r[d]("pointerdown",e.onTouchStart,{passive:!1}),s[d]("touchmove",e.onTouchMove,{passive:!1,capture:o}),s[d]("pointermove",e.onTouchMove,{passive:!1,capture:o}),s[d]("touchend",e.onTouchEnd,{passive:!0}),s[d]("pointerup",e.onTouchEnd,{passive:!0}),s[d]("pointercancel",e.onTouchEnd,{passive:!0}),s[d]("touchcancel",e.onTouchEnd,{passive:!0}),s[d]("pointerout",e.onTouchEnd,{passive:!0}),s[d]("pointerleave",e.onTouchEnd,{passive:!0}),s[d]("contextmenu",e.onTouchEnd,{passive:!0}),(a.preventClicks||a.preventClicksPropagation)&&r[d]("click",e.onClick,!0),a.cssMode&&n[d]("scroll",e.onScroll),a.updateOnWindowResize?e[c](l.ios||l.android?"resize orientationchange observerUpdate":"resize observerUpdate",R,!0):e[c]("observerUpdate",R,!0),r[d]("load",e.onLoad,{capture:!0}))},U=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;var K={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function Z(e,t){return function(s={}){const i=Object.keys(s)[0],a=s[i];"object"==typeof a&&null!==a?(!0===e[i]&&(e[i]={enabled:!0}),"navigation"===i&&e[i]&&e[i].enabled&&!e[i].prevEl&&!e[i].nextEl&&(e[i].auto=!0),["pagination","scrollbar"].indexOf(i)>=0&&e[i]&&e[i].enabled&&!e[i].el&&(e[i].auto=!0),i in e&&"enabled"in a?("object"!=typeof e[i]||"enabled"in e[i]||(e[i].enabled=!0),e[i]||(e[i]={enabled:!1}),c(t,s)):c(t,s)):c(t,s)}}const J={eventsEmitter:k,update:D,translate:{getTranslate:function(e=(this.isHorizontal()?"x":"y")){const{params:t,rtlTranslate:s,translate:i,wrapperEl:a}=this;if(t.virtualTranslate)return s?-i:i;if(t.cssMode)return i;let n=function(e,t="x"){const s=r();let i,a,n;const l=function(e){const t=r();let s;return t.getComputedStyle&&(s=t.getComputedStyle(e,null)),!s&&e.currentStyle&&(s=e.currentStyle),s||(s=e.style),s}(e);return s.WebKitCSSMatrix?(a=l.transform||l.webkitTransform,a.split(",").length>6&&(a=a.split(", ").map(e=>e.replace(",",".")).join(", ")),n=new s.WebKitCSSMatrix("none"===a?"":a)):(n=l.MozTransform||l.OTransform||l.MsTransform||l.msTransform||l.transform||l.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),i=n.toString().split(",")),"x"===t&&(a=s.WebKitCSSMatrix?n.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(a=s.WebKitCSSMatrix?n.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),a||0}(a,e);return n+=this.cssOverflowAdjustment(),s&&(n=-n),n||0},setTranslate:function(e,t){const s=this,{rtlTranslate:i,params:a,wrapperEl:r,progress:n}=s;let l,o=0,d=0;s.isHorizontal()?o=i?-e:e:d=e,a.roundLengths&&(o=Math.floor(o),d=Math.floor(d)),s.previousTranslate=s.translate,s.translate=s.isHorizontal()?o:d,a.cssMode?r[s.isHorizontal()?"scrollLeft":"scrollTop"]=s.isHorizontal()?-o:-d:a.virtualTranslate||(s.isHorizontal()?o-=s.cssOverflowAdjustment():d-=s.cssOverflowAdjustment(),r.style.transform=`translate3d(${o}px, ${d}px, 0px)`);const c=s.maxTranslate()-s.minTranslate();l=0===c?0:(e-s.minTranslate())/c,l!==n&&s.updateProgress(e),s.emit("setTranslate",s.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e=0,t=this.params.speed,s=!0,i=!0,a){const r=this,{params:n,wrapperEl:l}=r;if(r.animating&&n.preventInteractionOnTransition)return!1;const o=r.minTranslate(),d=r.maxTranslate();let c;if(c=i&&e>o?o:i&&e{t.__preventObserver__=!1})},unsetGrabCursor:function(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}},events:{attachEvents:function(){const e=this,{params:t}=e;e.onTouchStart=F.bind(e),e.onTouchMove=N.bind(e),e.onTouchEnd=H.bind(e),e.onDocumentTouchStart=X.bind(e),t.cssMode&&(e.onScroll=j.bind(e)),e.onClick=q.bind(e),e.onLoad=W.bind(e),Y(e,"on")},detachEvents:function(){Y(this,"off")}},breakpoints:{setBreakpoint:function(){const e=this,{realIndex:t,initialized:s,params:a,el:r}=e,n=a.breakpoints;if(!n||n&&0===Object.keys(n).length)return;const l=i(),o="window"!==a.breakpointsBase&&a.breakpointsBase?"container":a.breakpointsBase,d=["window","container"].includes(a.breakpointsBase)||!a.breakpointsBase?e.el:l.querySelector(a.breakpointsBase),p=e.getBreakpoint(n,o,d);if(!p||e.currentBreakpoint===p)return;const u=(p in n?n[p]:void 0)||e.originalParams,m=U(e,a),f=U(e,u),h=e.params.grabCursor,g=u.grabCursor,v=a.enabled;m&&!f?(r.classList.remove(`${a.containerModifierClass}grid`,`${a.containerModifierClass}grid-column`),e.emitContainerClasses()):!m&&f&&(r.classList.add(`${a.containerModifierClass}grid`),(u.grid.fill&&"column"===u.grid.fill||!u.grid.fill&&"column"===a.grid.fill)&&r.classList.add(`${a.containerModifierClass}grid-column`),e.emitContainerClasses()),h&&!g?e.unsetGrabCursor():!h&&g&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(t=>{if(void 0===u[t])return;const s=a[t]&&a[t].enabled,i=u[t]&&u[t].enabled;s&&!i&&e[t].disable(),!s&&i&&e[t].enable()});const w=u.direction&&u.direction!==a.direction,b=a.loop&&(u.slidesPerView!==a.slidesPerView||w),y=a.loop;w&&s&&e.changeDirection(),c(e.params,u);const S=e.params.enabled,T=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),v&&!S?e.disable():!v&&S&&e.enable(),e.currentBreakpoint=p,e.emit("_beforeBreakpoint",u),s&&(b?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!y&&T?(e.loopCreate(t),e.updateSlides()):y&&!T&&e.loopDestroy()),e.emit("breakpoint",u)},getBreakpoint:function(e,t="window",s){if(!e||"container"===t&&!s)return;let i=!1;const a=r(),n="window"===t?a.innerHeight:s.clientHeight,l=Object.keys(e).map(e=>{if("string"==typeof e&&0===e.indexOf("@")){const t=parseFloat(e.substr(1));return{value:n*t,point:e}}return{value:e,point:e}});l.sort((e,t)=>parseInt(e.value,10)-parseInt(t.value,10));for(let e=0;es}else e.isLocked=1===e.snapGrid.length;!0===s.allowSlideNext&&(e.allowSlideNext=!e.isLocked),!0===s.allowSlidePrev&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}},classes:{addClasses:function(){const e=this,{classNames:t,params:s,rtl:i,el:a,device:r}=e,n=function(e,t){const s=[];return e.forEach(e=>{"object"==typeof e?Object.keys(e).forEach(i=>{e[i]&&s.push(t+i)}):"string"==typeof e&&s.push(t+e)}),s}(["initialized",s.direction,{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:i},{grid:s.grid&&s.grid.rows>1},{"grid-column":s.grid&&s.grid.rows>1&&"column"===s.grid.fill},{android:r.android},{ios:r.ios},{"css-mode":s.cssMode},{centered:s.cssMode&&s.centeredSlides},{"watch-progress":s.watchSlidesProgress}],s.containerModifierClass);t.push(...n),a.classList.add(...t),e.emitContainerClasses()},removeClasses:function(){const{el:e,classNames:t}=this;e&&"string"!=typeof e&&(e.classList.remove(...t),this.emitContainerClasses())}}},Q={};class ee{constructor(...e){let t,s;1===e.length&&e[0].constructor&&"Object"===Object.prototype.toString.call(e[0]).slice(8,-1)?s=e[0]:[t,s]=e,s||(s={}),s=c({},s),t&&!s.el&&(s.el=t);const a=i();if(s.el&&"string"==typeof s.el&&a.querySelectorAll(s.el).length>1){const e=[];return a.querySelectorAll(s.el).forEach(t=>{const i=c({},s,{el:t});e.push(new ee(i))}),e}const r=this;r.__swiper__=!0,r.support=M(),r.device=P({userAgent:s.userAgent}),r.browser=L(),r.eventsListeners={},r.eventsAnyListeners=[],r.modules=[...r.__modules__],s.modules&&Array.isArray(s.modules)&&s.modules.forEach(e=>{"function"==typeof e&&r.modules.indexOf(e)<0&&r.modules.push(e)});const n={};r.modules.forEach(e=>{e({params:s,swiper:r,extendParams:Z(s,n),on:r.on.bind(r),once:r.once.bind(r),off:r.off.bind(r),emit:r.emit.bind(r)})});const l=c({},K,n);return r.params=c({},l,Q,s),r.originalParams=c({},r.params),r.passedParams=c({},s),r.params&&r.params.on&&Object.keys(r.params.on).forEach(e=>{r.on(e,r.params.on[e])}),r.params&&r.params.onAny&&r.onAny(r.params.onAny),Object.assign(r,{enabled:r.params.enabled,el:t,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===r.params.direction,isVertical:()=>"vertical"===r.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:r.params.allowSlideNext,allowSlidePrev:r.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:r.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:r.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),r.emit("_swiper"),r.params.init&&r.init(),r}getDirectionLabel(e){return this.isHorizontal()?e:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[e]}getSlideIndex(e){const{slidesEl:t,params:s}=this,i=w(f(t,`.${s.slideClass}, swiper-slide`)[0]);return w(e)-i}getSlideIndexByData(e){return this.getSlideIndex(this.slides.find(t=>1*t.getAttribute("data-swiper-slide-index")===e))}getSlideIndexWhenGrid(e){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?e=Math.floor(e/this.params.grid.rows):"row"===this.params.grid.fill&&(e%=Math.ceil(this.slides.length/this.params.grid.rows))),e}recalcSlides(){const{slidesEl:e,params:t}=this;this.slides=f(e,`.${t.slideClass}, swiper-slide`)}enable(){const e=this;e.enabled||(e.enabled=!0,e.params.grabCursor&&e.setGrabCursor(),e.emit("enable"))}disable(){const e=this;e.enabled&&(e.enabled=!1,e.params.grabCursor&&e.unsetGrabCursor(),e.emit("disable"))}setProgress(e,t){const s=this;e=Math.min(Math.max(e,0),1);const i=s.minTranslate(),a=(s.maxTranslate()-i)*e+i;s.translateTo(a,void 0===t?0:t),s.updateActiveIndex(),s.updateSlidesClasses()}emitContainerClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=e.el.className.split(" ").filter(t=>0===t.indexOf("swiper")||0===t.indexOf(e.params.containerModifierClass));e.emit("_containerClasses",t.join(" "))}getSlideClasses(e){const t=this;return t.destroyed?"":e.className.split(" ").filter(e=>0===e.indexOf("swiper-slide")||0===e.indexOf(t.params.slideClass)).join(" ")}emitSlidesClasses(){const e=this;if(!e.params._emitClasses||!e.el)return;const t=[];e.slides.forEach(s=>{const i=e.getSlideClasses(s);t.push({slideEl:s,classNames:i}),e.emit("_slideClass",s,i)}),e.emit("_slideClasses",t)}slidesPerViewDynamic(e="current",t=!1){const{params:s,slides:i,slidesGrid:a,slidesSizesGrid:r,size:n,activeIndex:l}=this;let o=1;if("number"==typeof s.slidesPerView)return s.slidesPerView;if(s.centeredSlides){let e,t=i[l]?Math.ceil(i[l].swiperSlideSize):0;for(let s=l+1;sn&&(e=!0));for(let s=l-1;s>=0;s-=1)i[s]&&!e&&(t+=i[s].swiperSlideSize,o+=1,t>n&&(e=!0))}else if("current"===e)for(let e=l+1;e=0;e-=1)a[l]-a[e]{t.complete&&A(e,t)}),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),s.freeMode&&s.freeMode.enabled&&!s.cssMode)i(),s.autoHeight&&e.updateAutoHeight();else{if(("auto"===s.slidesPerView||s.slidesPerView>1)&&e.isEnd&&!s.centeredSlides){const t=e.virtual&&s.virtual.enabled?e.virtual.slides:e.slides;a=e.slideTo(t.length-1,0,!1,!0)}else a=e.slideTo(e.activeIndex,0,!1,!0);a||i()}s.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}changeDirection(e,t=!0){const s=this,i=s.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(s.el.classList.remove(`${s.params.containerModifierClass}${i}`),s.el.classList.add(`${s.params.containerModifierClass}${e}`),s.emitContainerClasses(),s.params.direction=e,s.slides.forEach(t=>{"vertical"===e?t.style.width="":t.style.height=""}),s.emit("changeDirection"),t&&s.update()),s}changeLanguageDirection(e){const t=this;t.rtl&&"rtl"===e||!t.rtl&&"ltr"===e||(t.rtl="rtl"===e,t.rtlTranslate="horizontal"===t.params.direction&&t.rtl,t.rtl?(t.el.classList.add(`${t.params.containerModifierClass}rtl`),t.el.dir="rtl"):(t.el.classList.remove(`${t.params.containerModifierClass}rtl`),t.el.dir="ltr"),t.update())}mount(e){const t=this;if(t.mounted)return!0;let s=e||t.params.el;if("string"==typeof s&&(s=document.querySelector(s)),!s)return!1;s.swiper=t,s.parentNode&&s.parentNode.host&&s.parentNode.host.nodeName===t.params.swiperElementNodeName.toUpperCase()&&(t.isElement=!0);const i=()=>`.${(t.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=s&&s.shadowRoot&&s.shadowRoot.querySelector?s.shadowRoot.querySelector(i()):f(s,i())[0];return!a&&t.params.createElements&&(a=g("div",t.params.wrapperClass),s.append(a),f(s,`.${t.params.slideClass}`).forEach(e=>{a.append(e)})),Object.assign(t,{el:s,wrapperEl:a,slidesEl:t.isElement&&!s.parentNode.host.slideSlots?s.parentNode.host:a,hostEl:t.isElement?s.parentNode.host:s,mounted:!0,rtl:"rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction"),rtlTranslate:"horizontal"===t.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===v(s,"direction")),wrongRTL:"-webkit-box"===v(a,"display")}),!0}init(e){const t=this;if(t.initialized)return t;if(!1===t.mount(e))return t;t.emit("beforeInit"),t.params.breakpoints&&t.setBreakpoint(),t.addClasses(),t.updateSize(),t.updateSlides(),t.params.watchOverflow&&t.checkOverflow(),t.params.grabCursor&&t.enabled&&t.setGrabCursor(),t.params.loop&&t.virtual&&t.params.virtual.enabled?t.slideTo(t.params.initialSlide+t.virtual.slidesBefore,0,t.params.runCallbacksOnInit,!1,!0):t.slideTo(t.params.initialSlide,0,t.params.runCallbacksOnInit,!1,!0),t.params.loop&&t.loopCreate(void 0,!0),t.attachEvents();const s=[...t.el.querySelectorAll('[loading="lazy"]')];return t.isElement&&s.push(...t.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach(e=>{e.complete?A(t,e):e.addEventListener("load",e=>{A(t,e.target)})}),G(t),t.initialized=!0,G(t),t.emit("init"),t.emit("afterInit"),t}destroy(e=!0,t=!0){const s=this,{params:i,el:a,wrapperEl:r,slides:n}=s;return void 0===s.params||s.destroyed||(s.emit("beforeDestroy"),s.initialized=!1,s.detachEvents(),i.loop&&s.loopDestroy(),t&&(s.removeClasses(),a&&"string"!=typeof a&&a.removeAttribute("style"),r&&r.removeAttribute("style"),n&&n.length&&n.forEach(e=>{e.classList.remove(i.slideVisibleClass,i.slideFullyVisibleClass,i.slideActiveClass,i.slideNextClass,i.slidePrevClass),e.removeAttribute("style"),e.removeAttribute("data-swiper-slide-index")})),s.emit("destroy"),Object.keys(s.eventsListeners).forEach(e=>{s.off(e)}),!1!==e&&(s.el&&"string"!=typeof s.el&&(s.el.swiper=null),function(e){const t=e;Object.keys(t).forEach(e=>{try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}})}(s)),s.destroyed=!0),null}static extendDefaults(e){c(Q,e)}static get extendedDefaults(){return Q}static get defaults(){return K}static installModule(e){ee.prototype.__modules__||(ee.prototype.__modules__=[]);const t=ee.prototype.__modules__;"function"==typeof e&&t.indexOf(e)<0&&t.push(e)}static use(e){return Array.isArray(e)?(e.forEach(e=>ee.installModule(e)),ee):(ee.installModule(e),ee)}}function te(e,t,s,i){return e.params.createElements&&Object.keys(i).forEach(a=>{if(!s[a]&&!0===s.auto){let r=f(e.el,`.${i[a]}`)[0];r||(r=g("div",i[a]),r.className=i[a],e.el.append(r)),s[a]=r,t[a]=r}}),s}Object.keys(J).forEach(e=>{Object.keys(J[e]).forEach(t=>{ee.prototype[t]=J[e][t]})}),ee.use([function({swiper:e,on:t,emit:s}){const i=r();let a=null,n=null;const l=()=>{e&&!e.destroyed&&e.initialized&&(s("beforeResize"),s("resize"))},o=()=>{e&&!e.destroyed&&e.initialized&&s("orientationchange")};t("init",()=>{e.params.resizeObserver&&void 0!==i.ResizeObserver?e&&!e.destroyed&&e.initialized&&(a=new ResizeObserver(t=>{n=i.requestAnimationFrame(()=>{const{width:s,height:i}=e;let a=s,r=i;t.forEach(({contentBoxSize:t,contentRect:s,target:i})=>{i&&i!==e.el||(a=s?s.width:(t[0]||t).inlineSize,r=s?s.height:(t[0]||t).blockSize)}),a===s&&r===i||l()})}),a.observe(e.el)):(i.addEventListener("resize",l),i.addEventListener("orientationchange",o))}),t("destroy",()=>{n&&i.cancelAnimationFrame(n),a&&a.unobserve&&e.el&&(a.unobserve(e.el),a=null),i.removeEventListener("resize",l),i.removeEventListener("orientationchange",o)})},function({swiper:e,extendParams:t,on:s,emit:i}){const a=[],n=r(),l=(t,s={})=>{const r=new(n.MutationObserver||n.WebkitMutationObserver)(t=>{if(e.__preventObserver__)return;if(1===t.length)return void i("observerUpdate",t[0]);const s=function(){i("observerUpdate",t[0])};n.requestAnimationFrame?n.requestAnimationFrame(s):n.setTimeout(s,0)});r.observe(t,{attributes:void 0===s.attributes||s.attributes,childList:e.isElement||(void 0===s.childList||s).childList,characterData:void 0===s.characterData||s.characterData}),a.push(r)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),s("init",()=>{if(e.params.observer){if(e.params.observeParents){const t=b(e.hostEl);for(let e=0;e{a.forEach(e=>{e.disconnect()}),a.splice(0,a.length)})}]);const se='';function ie({swiper:e,extendParams:t,on:s,emit:i}){function a(t){let s;return t&&"string"==typeof t&&e.isElement&&(s=e.el.querySelector(t)||e.hostEl.querySelector(t),s)?s:(t&&("string"==typeof t&&(s=[...document.querySelectorAll(t)]),e.params.uniqueNavElements&&"string"==typeof t&&s&&s.length>1&&1===e.el.querySelectorAll(t).length?s=e.el.querySelector(t):s&&1===s.length&&(s=s[0])),t&&!s?t:s)}function r(t,s){const i=e.params.navigation;(t=S(t)).forEach(t=>{t&&(t.classList[s?"add":"remove"](...i.disabledClass.split(" ")),"BUTTON"===t.tagName&&(t.disabled=s),e.params.watchOverflow&&e.enabled&&t.classList[e.isLocked?"add":"remove"](i.lockClass))})}function n(){const{nextEl:t,prevEl:s}=e.navigation;if(e.params.loop)return r(s,!1),void r(t,!1);r(s,e.isBeginning&&!e.params.rewind),r(t,e.isEnd&&!e.params.rewind)}function l(t){t.preventDefault(),(!e.isBeginning||e.params.loop||e.params.rewind)&&(e.slidePrev(),i("navigationPrev"))}function o(t){t.preventDefault(),(!e.isEnd||e.params.loop||e.params.rewind)&&(e.slideNext(),i("navigationNext"))}function d(){const t=e.params.navigation;if(e.params.navigation=te(e,e.originalParams.navigation,e.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"}),!t.nextEl&&!t.prevEl)return;let s=a(t.nextEl),i=a(t.prevEl);Object.assign(e.navigation,{nextEl:s,prevEl:i}),s=S(s),i=S(i);const r=(s,i)=>{if(s){if(t.addIcons&&s.matches(".swiper-button-next,.swiper-button-prev")&&!s.querySelector("svg")){const e=document.createElement("div");T(e,se),s.appendChild(e.querySelector("svg")),e.remove()}s.addEventListener("click","next"===i?o:l)}!e.enabled&&s&&s.classList.add(...t.lockClass.split(" "))};s.forEach(e=>r(e,"next")),i.forEach(e=>r(e,"prev"))}function c(){let{nextEl:t,prevEl:s}=e.navigation;t=S(t),s=S(s);const i=(t,s)=>{t.removeEventListener("click","next"===s?o:l),t.classList.remove(...e.params.navigation.disabledClass.split(" "))};t.forEach(e=>i(e,"next")),s.forEach(e=>i(e,"prev"))}t({navigation:{nextEl:null,prevEl:null,addIcons:!0,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),e.navigation={nextEl:null,prevEl:null,arrowSvg:se},s("init",()=>{!1===e.params.navigation.enabled?p():(d(),n())}),s("toEdge fromEdge lock unlock",()=>{n()}),s("destroy",()=>{c()}),s("enable disable",()=>{let{nextEl:t,prevEl:s}=e.navigation;t=S(t),s=S(s),e.enabled?n():[...t,...s].filter(e=>!!e).forEach(t=>t.classList.add(e.params.navigation.lockClass))}),s("click",(t,s)=>{let{nextEl:a,prevEl:r}=e.navigation;a=S(a),r=S(r);const n=s.target;let l=r.includes(n)||a.includes(n);if(e.isElement&&!l){const e=s.path||s.composedPath&&s.composedPath();e&&(l=e.find(e=>a.includes(e)||r.includes(e)))}if(e.params.navigation.hideOnClick&&!l){if(e.pagination&&e.params.pagination&&e.params.pagination.clickable&&(e.pagination.el===n||e.pagination.el.contains(n)))return;let t;a.length?t=a[0].classList.contains(e.params.navigation.hiddenClass):r.length&&(t=r[0].classList.contains(e.params.navigation.hiddenClass)),i(!0===t?"navigationShow":"navigationHide"),[...a,...r].filter(e=>!!e).forEach(t=>t.classList.toggle(e.params.navigation.hiddenClass))}});const p=()=>{e.el.classList.add(...e.params.navigation.navigationDisabledClass.split(" ")),c()};Object.assign(e.navigation,{enable:()=>{e.el.classList.remove(...e.params.navigation.navigationDisabledClass.split(" ")),d(),n()},disable:p,update:n,init:d,destroy:c})}function ae(e=""){return`.${e.trim().replace(/([\.:!+\/()[\]#>~*^$|=,'"@{}\\])/g,"\\$1").replace(/ /g,".")}`}function re({swiper:e,extendParams:t,on:s,emit:i}){const a="swiper-pagination";let r;t({pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:e=>e,formatFractionTotal:e=>e,bulletClass:`${a}-bullet`,bulletActiveClass:`${a}-bullet-active`,modifierClass:`${a}-`,currentClass:`${a}-current`,totalClass:`${a}-total`,hiddenClass:`${a}-hidden`,progressbarFillClass:`${a}-progressbar-fill`,progressbarOppositeClass:`${a}-progressbar-opposite`,clickableClass:`${a}-clickable`,lockClass:`${a}-lock`,horizontalClass:`${a}-horizontal`,verticalClass:`${a}-vertical`,paginationDisabledClass:`${a}-disabled`}}),e.pagination={el:null,bullets:[]};let n=0;function l(){return!e.params.pagination.el||!e.pagination.el||Array.isArray(e.pagination.el)&&0===e.pagination.el.length}function o(t,s){const{bulletActiveClass:i}=e.params.pagination;t&&(t=t[("prev"===s?"previous":"next")+"ElementSibling"])&&(t.classList.add(`${i}-${s}`),(t=t[("prev"===s?"previous":"next")+"ElementSibling"])&&t.classList.add(`${i}-${s}-${s}`))}function d(t){const s=t.target.closest(ae(e.params.pagination.bulletClass));if(!s)return;t.preventDefault();const i=w(s)*e.params.slidesPerGroup;if(e.params.loop){if(e.realIndex===i)return;const t=(a=e.realIndex,r=i,(r%=n=e.slides.length)===1+(a%=n)?"next":r===a-1?"previous":void 0);"next"===t?e.slideNext():"previous"===t?e.slidePrev():e.slideToLoop(i)}else e.slideTo(i);var a,r,n}function c(){const t=e.rtl,s=e.params.pagination;if(l())return;let a,d,c=e.pagination.el;c=S(c);const p=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.slides.length,u=e.params.loop?Math.ceil(p/e.params.slidesPerGroup):e.snapGrid.length;if(e.params.loop?(d=e.previousRealIndex||0,a=e.params.slidesPerGroup>1?Math.floor(e.realIndex/e.params.slidesPerGroup):e.realIndex):void 0!==e.snapIndex?(a=e.snapIndex,d=e.previousSnapIndex):(d=e.previousIndex||0,a=e.activeIndex||0),"bullets"===s.type&&e.pagination.bullets&&e.pagination.bullets.length>0){const i=e.pagination.bullets;let l,p,u;if(s.dynamicBullets&&(r=y(i[0],e.isHorizontal()?"width":"height",!0),c.forEach(t=>{t.style[e.isHorizontal()?"width":"height"]=r*(s.dynamicMainBullets+4)+"px"}),s.dynamicMainBullets>1&&void 0!==d&&(n+=a-(d||0),n>s.dynamicMainBullets-1?n=s.dynamicMainBullets-1:n<0&&(n=0)),l=Math.max(a-n,0),p=l+(Math.min(i.length,s.dynamicMainBullets)-1),u=(p+l)/2),i.forEach(e=>{const t=[...["","-next","-next-next","-prev","-prev-prev","-main"].map(e=>`${s.bulletActiveClass}${e}`)].map(e=>"string"==typeof e&&e.includes(" ")?e.split(" "):e).flat();e.classList.remove(...t)}),c.length>1)i.forEach(t=>{const i=w(t);i===a?t.classList.add(...s.bulletActiveClass.split(" ")):e.isElement&&t.setAttribute("part","bullet"),s.dynamicBullets&&(i>=l&&i<=p&&t.classList.add(...`${s.bulletActiveClass}-main`.split(" ")),i===l&&o(t,"prev"),i===p&&o(t,"next"))});else{const t=i[a];if(t&&t.classList.add(...s.bulletActiveClass.split(" ")),e.isElement&&i.forEach((e,t)=>{e.setAttribute("part",t===a?"bullet-active":"bullet")}),s.dynamicBullets){const e=i[l],t=i[p];for(let e=l;e<=p;e+=1)i[e]&&i[e].classList.add(...`${s.bulletActiveClass}-main`.split(" "));o(e,"prev"),o(t,"next")}}if(s.dynamicBullets){const a=Math.min(i.length,s.dynamicMainBullets+4),n=(r*a-r)/2-u*r,l=t?"right":"left";i.forEach(t=>{t.style[e.isHorizontal()?l:"top"]=`${n}px`})}}c.forEach((t,r)=>{if("fraction"===s.type&&(t.querySelectorAll(ae(s.currentClass)).forEach(e=>{e.textContent=s.formatFractionCurrent(a+1)}),t.querySelectorAll(ae(s.totalClass)).forEach(e=>{e.textContent=s.formatFractionTotal(u)})),"progressbar"===s.type){let i;i=s.progressbarOpposite?e.isHorizontal()?"vertical":"horizontal":e.isHorizontal()?"horizontal":"vertical";const r=(a+1)/u;let n=1,l=1;"horizontal"===i?n=r:l=r,t.querySelectorAll(ae(s.progressbarFillClass)).forEach(t=>{t.style.transform=`translate3d(0,0,0) scaleX(${n}) scaleY(${l})`,t.style.transitionDuration=`${e.params.speed}ms`})}"custom"===s.type&&s.renderCustom?(T(t,s.renderCustom(e,a+1,u)),0===r&&i("paginationRender",t)):(0===r&&i("paginationRender",t),i("paginationUpdate",t)),e.params.watchOverflow&&e.enabled&&t.classList[e.isLocked?"add":"remove"](s.lockClass)})}function p(){const t=e.params.pagination;if(l())return;const s=e.virtual&&e.params.virtual.enabled?e.virtual.slides.length:e.grid&&e.params.grid.rows>1?e.slides.length/Math.ceil(e.params.grid.rows):e.slides.length;let a=e.pagination.el;a=S(a);let r="";if("bullets"===t.type){let i=e.params.loop?Math.ceil(s/e.params.slidesPerGroup):e.snapGrid.length;e.params.freeMode&&e.params.freeMode.enabled&&i>s&&(i=s);for(let s=0;s`}"fraction"===t.type&&(r=t.renderFraction?t.renderFraction.call(e,t.currentClass,t.totalClass):` / `),"progressbar"===t.type&&(r=t.renderProgressbar?t.renderProgressbar.call(e,t.progressbarFillClass):``),e.pagination.bullets=[],a.forEach(s=>{"custom"!==t.type&&T(s,r||""),"bullets"===t.type&&e.pagination.bullets.push(...s.querySelectorAll(ae(t.bulletClass)))}),"custom"!==t.type&&i("paginationRender",a[0])}function u(){e.params.pagination=te(e,e.originalParams.pagination,e.params.pagination,{el:"swiper-pagination"});const t=e.params.pagination;if(!t.el)return;let s;"string"==typeof t.el&&e.isElement&&(s=e.el.querySelector(t.el)),s||"string"!=typeof t.el||(s=[...document.querySelectorAll(t.el)]),s||(s=t.el),s&&0!==s.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&Array.isArray(s)&&s.length>1&&(s=[...e.el.querySelectorAll(t.el)],s.length>1&&(s=s.find(t=>b(t,".swiper")[0]===e.el))),Array.isArray(s)&&1===s.length&&(s=s[0]),Object.assign(e.pagination,{el:s}),s=S(s),s.forEach(s=>{"bullets"===t.type&&t.clickable&&s.classList.add(...(t.clickableClass||"").split(" ")),s.classList.add(t.modifierClass+t.type),s.classList.add(e.isHorizontal()?t.horizontalClass:t.verticalClass),"bullets"===t.type&&t.dynamicBullets&&(s.classList.add(`${t.modifierClass}${t.type}-dynamic`),n=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&s.classList.add(t.progressbarOppositeClass),t.clickable&&s.addEventListener("click",d),e.enabled||s.classList.add(t.lockClass)}))}function m(){const t=e.params.pagination;if(l())return;let s=e.pagination.el;s&&(s=S(s),s.forEach(s=>{s.classList.remove(t.hiddenClass),s.classList.remove(t.modifierClass+t.type),s.classList.remove(e.isHorizontal()?t.horizontalClass:t.verticalClass),t.clickable&&(s.classList.remove(...(t.clickableClass||"").split(" ")),s.removeEventListener("click",d))})),e.pagination.bullets&&e.pagination.bullets.forEach(e=>e.classList.remove(...t.bulletActiveClass.split(" ")))}s("changeDirection",()=>{if(!e.pagination||!e.pagination.el)return;const t=e.params.pagination;let{el:s}=e.pagination;s=S(s),s.forEach(s=>{s.classList.remove(t.horizontalClass,t.verticalClass),s.classList.add(e.isHorizontal()?t.horizontalClass:t.verticalClass)})}),s("init",()=>{!1===e.params.pagination.enabled?f():(u(),p(),c())}),s("activeIndexChange",()=>{void 0===e.snapIndex&&c()}),s("snapIndexChange",()=>{c()}),s("snapGridLengthChange",()=>{p(),c()}),s("destroy",()=>{m()}),s("enable disable",()=>{let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList[e.enabled?"remove":"add"](e.params.pagination.lockClass)))}),s("lock unlock",()=>{c()}),s("click",(t,s)=>{const a=s.target,r=S(e.pagination.el);if(e.params.pagination.el&&e.params.pagination.hideOnClick&&r&&r.length>0&&!a.classList.contains(e.params.pagination.bulletClass)){if(e.navigation&&(e.navigation.nextEl&&a===e.navigation.nextEl||e.navigation.prevEl&&a===e.navigation.prevEl))return;const t=r[0].classList.contains(e.params.pagination.hiddenClass);i(!0===t?"paginationShow":"paginationHide"),r.forEach(t=>t.classList.toggle(e.params.pagination.hiddenClass))}});const f=()=>{e.el.classList.add(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList.add(e.params.pagination.paginationDisabledClass))),m()};Object.assign(e.pagination,{enable:()=>{e.el.classList.remove(e.params.pagination.paginationDisabledClass);let{el:t}=e.pagination;t&&(t=S(t),t.forEach(t=>t.classList.remove(e.params.pagination.paginationDisabledClass))),u(),p(),c()},disable:f,render:p,update:c,init:u,destroy:m})}function ne({swiper:e,extendParams:t,on:s,emit:a,params:r}){let n,l;e.autoplay={running:!1,paused:!1,timeLeft:0},t({autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let o,d,c,p,u,m,f,h=r&&r.autoplay?r.autoplay.delay:3e3,g=r&&r.autoplay?r.autoplay.delay:3e3,v=(new Date).getTime();function w(t){e&&!e.destroyed&&e.wrapperEl&&t.target===e.wrapperEl&&(e.wrapperEl.removeEventListener("transitionend",w),f||t.detail&&t.detail.bySwiperTouchMove||C())}const b=()=>{if(e.destroyed||!e.autoplay.running)return;e.autoplay.paused?d=!0:d&&(g=o,d=!1);const t=e.autoplay.paused?o:v+g-(new Date).getTime();e.autoplay.timeLeft=t,a("autoplayTimeLeft",t,t/h),l=requestAnimationFrame(()=>{b()})},y=()=>{let t=e.params.autoplay.delay;const s=(()=>{let t;if(t=e.virtual&&e.params.virtual.enabled?e.slides.find(e=>e.classList.contains("swiper-slide-active")):e.slides[e.activeIndex],t)return parseInt(t.getAttribute("data-swiper-autoplay"),10)})();return!Number.isNaN(s)&&s>0&&(t=s),t},S=t=>{if(e.destroyed||!e.autoplay.running)return;cancelAnimationFrame(l),b();let s=t;void 0===s&&(s=y(),h=s,g=s),o=s;const i=e.params.speed,r=()=>{e&&!e.destroyed&&(e.params.autoplay.reverseDirection?!e.isBeginning||e.params.loop||e.params.rewind?(e.slidePrev(i,!0,!0),a("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(e.slides.length-1,i,!0,!0),a("autoplay")):!e.isEnd||e.params.loop||e.params.rewind?(e.slideNext(i,!0,!0),a("autoplay")):e.params.autoplay.stopOnLastSlide||(e.slideTo(0,i,!0,!0),a("autoplay")),e.params.cssMode&&(v=(new Date).getTime(),requestAnimationFrame(()=>{S()})))};return s>0?(clearTimeout(n),n=setTimeout(()=>{r()},s)):requestAnimationFrame(()=>{r()}),s},T=()=>{v=(new Date).getTime(),e.autoplay.running=!0,S(),a("autoplayStart")},E=()=>{e.autoplay.running=!1,clearTimeout(n),cancelAnimationFrame(l),a("autoplayStop")},x=(t,s)=>{if(e.destroyed||!e.autoplay.running)return;clearTimeout(n),t||(m=!0);const i=()=>{a("autoplayPause"),e.params.autoplay.waitForTransition?e.wrapperEl.addEventListener("transitionend",w):C()};if(e.autoplay.paused=!0,s)return void i();const r=o||e.params.autoplay.delay;o=r-((new Date).getTime()-v),e.isEnd&&o<0&&!e.params.loop||(o<0&&(o=0),i())},C=()=>{e.isEnd&&o<0&&!e.params.loop||e.destroyed||!e.autoplay.running||(v=(new Date).getTime(),m?(m=!1,S(o)):S(),e.autoplay.paused=!1,a("autoplayResume"))},M=()=>{if(e.destroyed||!e.autoplay.running)return;const t=i();"hidden"===t.visibilityState&&(m=!0,x(!0)),"visible"===t.visibilityState&&C()},P=t=>{"mouse"===t.pointerType&&(m=!0,f=!0,e.animating||e.autoplay.paused||x(!0))},L=t=>{"mouse"===t.pointerType&&(f=!1,e.autoplay.paused&&C())};s("init",()=>{e.params.autoplay.enabled&&(e.params.autoplay.pauseOnMouseEnter&&(e.el.addEventListener("pointerenter",P),e.el.addEventListener("pointerleave",L)),i().addEventListener("visibilitychange",M),T())}),s("destroy",()=>{e.el&&"string"!=typeof e.el&&(e.el.removeEventListener("pointerenter",P),e.el.removeEventListener("pointerleave",L)),i().removeEventListener("visibilitychange",M),e.autoplay.running&&E()}),s("_freeModeStaticRelease",()=>{(p||m)&&C()}),s("_freeModeNoMomentumRelease",()=>{e.params.autoplay.disableOnInteraction?E():x(!0,!0)}),s("beforeTransitionStart",(t,s,i)=>{!e.destroyed&&e.autoplay.running&&(i||!e.params.autoplay.disableOnInteraction?x(!0,!0):E())}),s("sliderFirstMove",()=>{!e.destroyed&&e.autoplay.running&&(e.params.autoplay.disableOnInteraction?E():(c=!0,p=!1,m=!1,u=setTimeout(()=>{m=!0,p=!0,x(!0)},200)))}),s("touchEnd",()=>{if(!e.destroyed&&e.autoplay.running&&c){if(clearTimeout(u),clearTimeout(n),e.params.autoplay.disableOnInteraction)return p=!1,void(c=!1);p&&e.params.cssMode&&C(),p=!1,c=!1}}),s("slideChange",()=>{!e.destroyed&&e.autoplay.running&&e.autoplay.paused&&(o=y(),h=y())}),Object.assign(e.autoplay,{start:T,stop:E,pause:x,resume:C})}function le(e,t){const s=m(t);return s!==t&&(s.style.backfaceVisibility="hidden",s.style["-webkit-backface-visibility"]="hidden"),s}function oe({swiper:e,extendParams:t,on:s}){t({fadeEffect:{crossFade:!1}}),function(e){const{effect:t,swiper:s,on:i,setTranslate:a,setTransition:r,overwriteParams:n,perspective:l,recreateShadows:o,getEffectParams:d}=e;let c;i("beforeInit",()=>{if(s.params.effect!==t)return;s.classNames.push(`${s.params.containerModifierClass}${t}`),l&&l()&&s.classNames.push(`${s.params.containerModifierClass}3d`);const e=n?n():{};Object.assign(s.params,e),Object.assign(s.originalParams,e)}),i("setTranslate _virtualUpdated",()=>{s.params.effect===t&&a()}),i("setTransition",(e,i)=>{s.params.effect===t&&r(i)}),i("transitionEnd",()=>{if(s.params.effect===t&&o){if(!d||!d().slideShadows)return;s.slides.forEach(e=>{e.querySelectorAll(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").forEach(e=>e.remove())}),o()}}),i("virtualUpdate",()=>{s.params.effect===t&&(s.slides.length||(c=!0),requestAnimationFrame(()=>{c&&s.slides&&s.slides.length&&(a(),c=!1)}))})}({effect:"fade",swiper:e,on:s,setTranslate:()=>{const{slides:t}=e;e.params.fadeEffect;for(let s=0;s{const s=e.slides.map(e=>m(e));s.forEach(e=>{e.style.transitionDuration=`${t}ms`}),function({swiper:e,duration:t,transformElements:s,allSlides:i}){const{activeIndex:a}=e;if(e.params.virtualTranslate&&0!==t){let t,r=!1;t=i?s:s.filter(t=>{const s=t.classList.contains("swiper-slide-transform")?(t=>t.parentElement?t.parentElement:e.slides.find(e=>e.shadowRoot&&e.shadowRoot===t.parentNode))(t):t;return e.getSlideIndex(s)===a}),t.forEach(t=>{!function(e,t){t&&e.addEventListener("transitionend",function s(i){i.target===e&&(t.call(e,i),e.removeEventListener("transitionend",s))})}(t,()=>{if(r)return;if(!e||e.destroyed)return;r=!0,e.animating=!1;const t=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0});e.wrapperEl.dispatchEvent(t)})})}}({swiper:e,duration:t,transformElements:s,allSlides:!0})},overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!e.params.cssMode})})}function de(e){const t=e.dataset.effect||"slide",s="1"===e.dataset.loop,i=Math.max(1,parseInt(e.dataset.slidesPerView||"1",10)||1),a=parseInt(e.dataset.speed||"500",10),r="1"===e.dataset.autoplay,n=parseInt(e.dataset.autoplayDelay||"3000",10),l="1"===e.dataset.pagination,o="1"===e.dataset.navigation,d=e.querySelectorAll(".swiper-slide").length,c=Math.max(2,i+1),p=s&&d>=c,u=[ie,re,ne];"fade"===t&&u.push(oe);const m={modules:u,effect:t,loop:p,speed:a,slidesPerView:i,slidesPerGroup:1};"fade"===t&&(m.fadeEffect={crossFade:!0},m.watchSlidesProgress=!0),l&&(m.pagination={el:e.querySelector(".swiper-pagination"),clickable:!0}),o&&(m.navigation={nextEl:e.querySelector(".swiper-button-next"),prevEl:e.querySelector(".swiper-button-prev")}),r&&(m.autoplay={delay:n,disableOnInteraction:!1}),new ee(e,m)}document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll("[data-slider-press]").forEach(de)})})(); \ No newline at end of file diff --git a/build/index-rtl.css b/build/index-rtl.css index 8fa7c9b..84d22d0 100644 --- a/build/index-rtl.css +++ b/build/index-rtl.css @@ -1 +1 @@ -.slider-press .swiper{background:#f0f0f0;border:1px dashed #ccc;min-height:200px;overflow-x:auto;overflow-y:visible;position:relative;width:100%}.slider-press .swiper:before{background:#fff;border-bottom:1px dashed #ccc;color:#888;content:"SliderPress – add Group blocks as slides (scroll right to see more)";display:block;font-size:12px;padding:8px 12px;white-space:nowrap}.slider-press .swiper-wrapper{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;padding:12px;transform:none!important}.slider-press .swiper-wrapper>.wp-block-group{background:#fff;border:2px solid #007cba;border-radius:4px;box-sizing:border-box;flex:0 0 auto;max-width:600px;min-width:260px;padding:8px;width:80%} +.slider-press .swiper{background:#f0f0f0;border:1px dashed #ccc;min-height:200px;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.slider-press .swiper:before{background:#fff;border-bottom:1px dashed #ccc;color:#888;content:"SliderPress – add Group blocks as slides (scroll right to see more)";display:block;font-size:12px;padding:8px 12px;white-space:nowrap}.slider-press .swiper-wrapper{padding:12px;transform:none!important}.slider-press .swiper-wrapper,.slider-press .swiper-wrapper .block-editor-block-list__layout{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px}.slider-press .swiper-wrapper .block-editor-block-list__block.swiper-slide,.slider-press .swiper-wrapper .swiper-slide{background:#fff;border:2px solid #007cba;border-radius:4px;box-sizing:border-box;flex:0 0 auto;max-width:600px;min-width:260px;padding:8px;width:80%} diff --git a/build/index.asset.php b/build/index.asset.php index b8e376f..fa9fc72 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components'), 'version' => '1f273203a94f8d3e84e0'); + array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components'), 'version' => '93428337fcd8b90d7742'); diff --git a/build/index.css b/build/index.css index 8fa7c9b..84d22d0 100644 --- a/build/index.css +++ b/build/index.css @@ -1 +1 @@ -.slider-press .swiper{background:#f0f0f0;border:1px dashed #ccc;min-height:200px;overflow-x:auto;overflow-y:visible;position:relative;width:100%}.slider-press .swiper:before{background:#fff;border-bottom:1px dashed #ccc;color:#888;content:"SliderPress – add Group blocks as slides (scroll right to see more)";display:block;font-size:12px;padding:8px 12px;white-space:nowrap}.slider-press .swiper-wrapper{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px;padding:12px;transform:none!important}.slider-press .swiper-wrapper>.wp-block-group{background:#fff;border:2px solid #007cba;border-radius:4px;box-sizing:border-box;flex:0 0 auto;max-width:600px;min-width:260px;padding:8px;width:80%} +.slider-press .swiper{background:#f0f0f0;border:1px dashed #ccc;min-height:200px;overflow-x:auto;overflow-y:hidden;position:relative;width:100%}.slider-press .swiper:before{background:#fff;border-bottom:1px dashed #ccc;color:#888;content:"SliderPress – add Group blocks as slides (scroll right to see more)";display:block;font-size:12px;padding:8px 12px;white-space:nowrap}.slider-press .swiper-wrapper{padding:12px;transform:none!important}.slider-press .swiper-wrapper,.slider-press .swiper-wrapper .block-editor-block-list__layout{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:nowrap;gap:12px}.slider-press .swiper-wrapper .block-editor-block-list__block.swiper-slide,.slider-press .swiper-wrapper .swiper-slide{background:#fff;border:2px solid #007cba;border-radius:4px;box-sizing:border-box;flex:0 0 auto;max-width:600px;min-width:260px;padding:8px;width:80%} diff --git a/build/index.js b/build/index.js index 14a70ce..3b0e815 100644 --- a/build/index.js +++ b/build/index.js @@ -1 +1 @@ -(()=>{"use strict";var e,a={720(){const e=window.wp.blocks,a=window.wp.blockEditor,s=window.wp.components,l=JSON.parse('{"UU":"slider-press/slider"}'),o=window.ReactJSXRuntime,n=[{label:"Slide",value:"slide"},{label:"Fade",value:"fade"}],r=[["core/group",{className:"swiper-slide"}]];(0,e.registerBlockType)(l.UU,{edit({attributes:e,setAttributes:l}){const{effect:t,loop:i,speed:p,autoplay:d,autoplayDelay:c,pagination:g,navigation:u}=e,v=(0,a.useBlockProps)({className:"slider-press"});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.InspectorControls,{children:(0,o.jsxs)(s.PanelBody,{title:"SliderPress Settings",children:[(0,o.jsx)(s.SelectControl,{label:"Effect",value:t,options:n,onChange:e=>l({effect:e})}),(0,o.jsx)(s.ToggleControl,{label:"Loop",checked:i,onChange:e=>l({loop:!!e})}),(0,o.jsx)(s.RangeControl,{label:"Speed (ms)",value:p,min:100,max:5e3,step:50,onChange:e=>l({speed:e})}),(0,o.jsx)(s.ToggleControl,{label:"Autoplay",checked:d,onChange:e=>l({autoplay:!!e})}),d&&(0,o.jsx)(s.RangeControl,{label:"Autoplay Delay (ms)",value:c,min:500,max:15e3,step:250,onChange:e=>l({autoplayDelay:e})}),(0,o.jsx)(s.ToggleControl,{label:"Pagination (bullets)",checked:g,onChange:e=>l({pagination:!!e})}),(0,o.jsx)(s.ToggleControl,{label:"Navigation (arrows)",checked:u,onChange:e=>l({navigation:!!e})})]})}),(0,o.jsx)("div",{...v,children:(0,o.jsxs)("div",{className:"swiper",children:[(0,o.jsx)("div",{className:"swiper-wrapper",children:(0,o.jsx)(a.InnerBlocks,{allowedBlocks:["core/group"],template:r,renderAppender:a.InnerBlocks.ButtonBlockAppender})}),g&&(0,o.jsx)("div",{className:"swiper-pagination"}),u&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"swiper-button-prev"}),(0,o.jsx)("div",{className:"swiper-button-next"})]})]})})]})},save({attributes:e}){const{effect:s,loop:l,speed:n,autoplay:r,autoplayDelay:t,pagination:i,navigation:p}=e,d=a.useBlockProps.save({className:"slider-press"});return(0,o.jsx)("div",{...d,children:(0,o.jsxs)("div",{className:"swiper","data-slider-press":!0,"data-effect":s,"data-loop":l?"1":"0","data-speed":String(n),"data-autoplay":r?"1":"0","data-autoplay-delay":String(t),"data-pagination":i?"1":"0","data-navigation":p?"1":"0",children:[(0,o.jsx)("div",{className:"swiper-wrapper",children:(0,o.jsx)(a.InnerBlocks.Content,{})}),i&&(0,o.jsx)("div",{className:"swiper-pagination"}),p&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"swiper-button-prev"}),(0,o.jsx)("div",{className:"swiper-button-next"})]})]})})}})}},s={};function l(e){var o=s[e];if(void 0!==o)return o.exports;var n=s[e]={exports:{}};return a[e](n,n.exports,l),n.exports}l.m=a,e=[],l.O=(a,s,o,n)=>{if(!s){var r=1/0;for(d=0;d=n)&&Object.keys(l.O).every(e=>l.O[e](s[i]))?s.splice(i--,1):(t=!1,n0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[s,o,n]},l.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={57:0,350:0};l.O.j=a=>0===e[a];var a=(a,s)=>{var o,n,[r,t,i]=s,p=0;if(r.some(a=>0!==e[a])){for(o in t)l.o(t,o)&&(l.m[o]=t[o]);if(i)var d=i(l)}for(a&&a(s);pl(720));o=l.O(o)})(); \ No newline at end of file +(()=>{"use strict";var e,a={720(){const e=window.wp.blocks,a=window.wp.blockEditor,s=window.wp.components,l=JSON.parse('{"UU":"slider-press/slider"}'),r=window.ReactJSXRuntime,n=[{label:"Slide",value:"slide"},{label:"Fade",value:"fade"}],o=[["core/group",{className:"swiper-slide"}]];(0,e.registerBlockType)(l.UU,{edit({attributes:e,setAttributes:l}){const{effect:t,loop:i,slidesPerView:p,speed:d,autoplay:c,autoplayDelay:g,pagination:v,navigation:u}=e,x=(0,a.useBlockProps)({className:"slider-press"});return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.InspectorControls,{children:(0,r.jsxs)(s.PanelBody,{title:"SliderPress Settings",children:[(0,r.jsx)(s.SelectControl,{label:"Effect",value:t,options:n,onChange:e=>l({effect:e})}),(0,r.jsx)(s.ToggleControl,{label:"Loop",checked:i,onChange:e=>l({loop:!!e})}),(0,r.jsx)(s.RangeControl,{label:"Slides per view",value:p,min:1,max:6,step:1,onChange:e=>l({slidesPerView:e||1})}),(0,r.jsx)(s.RangeControl,{label:"Speed (ms)",value:d,min:100,max:5e3,step:50,onChange:e=>l({speed:e})}),(0,r.jsx)(s.ToggleControl,{label:"Autoplay",checked:c,onChange:e=>l({autoplay:!!e})}),c&&(0,r.jsx)(s.RangeControl,{label:"Autoplay Delay (ms)",value:g,min:500,max:15e3,step:250,onChange:e=>l({autoplayDelay:e})}),(0,r.jsx)(s.ToggleControl,{label:"Pagination (bullets)",checked:v,onChange:e=>l({pagination:!!e})}),(0,r.jsx)(s.ToggleControl,{label:"Navigation (arrows)",checked:u,onChange:e=>l({navigation:!!e})})]})}),(0,r.jsx)("div",{...x,children:(0,r.jsxs)("div",{className:"swiper",children:[(0,r.jsx)("div",{className:"swiper-wrapper",children:(0,r.jsx)(a.InnerBlocks,{allowedBlocks:["core/group"],template:o,renderAppender:a.InnerBlocks.ButtonBlockAppender})}),v&&(0,r.jsx)("div",{className:"swiper-pagination"}),u&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"swiper-button-prev"}),(0,r.jsx)("div",{className:"swiper-button-next"})]})]})})]})},save({attributes:e}){const{effect:s,loop:l,slidesPerView:n,speed:o,autoplay:t,autoplayDelay:i,pagination:p,navigation:d}=e,c=a.useBlockProps.save({className:"slider-press"});return(0,r.jsx)("div",{...c,children:(0,r.jsxs)("div",{className:"swiper","data-slider-press":!0,"data-effect":s,"data-loop":l?"1":"0","data-slides-per-view":String(n),"data-speed":String(o),"data-autoplay":t?"1":"0","data-autoplay-delay":String(i),"data-pagination":p?"1":"0","data-navigation":d?"1":"0",children:[(0,r.jsx)("div",{className:"swiper-wrapper",children:(0,r.jsx)(a.InnerBlocks.Content,{})}),p&&(0,r.jsx)("div",{className:"swiper-pagination"}),d&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"swiper-button-prev"}),(0,r.jsx)("div",{className:"swiper-button-next"})]})]})})}})}},s={};function l(e){var r=s[e];if(void 0!==r)return r.exports;var n=s[e]={exports:{}};return a[e](n,n.exports,l),n.exports}l.m=a,e=[],l.O=(a,s,r,n)=>{if(!s){var o=1/0;for(d=0;d=n)&&Object.keys(l.O).every(e=>l.O[e](s[i]))?s.splice(i--,1):(t=!1,n0&&e[d-1][2]>n;d--)e[d]=e[d-1];e[d]=[s,r,n]},l.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={57:0,350:0};l.O.j=a=>0===e[a];var a=(a,s)=>{var r,n,[o,t,i]=s,p=0;if(o.some(a=>0!==e[a])){for(r in t)l.o(t,r)&&(l.m[r]=t[r]);if(i)var d=i(l)}for(a&&a(s);pl(720));r=l.O(r)})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 174da93..b60f63d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "slider-press", - "version": "0.1.1", + "version": "0.1.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "slider-press", - "version": "0.1.1", + "version": "0.1.2", "license": "GPL-2.0-or-later", "dependencies": { "swiper": "^12.1.2" diff --git a/package.json b/package.json index b51c6fe..4752603 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "slider-press", - "version": "0.1.1", + "version": "0.1.2", "description": "Gutenberg slider block powered by Swiper with slide and fade effects", "license": "GPL-2.0-or-later", "scripts": { diff --git a/readme.txt b/readme.txt index 071e976..5c60845 100644 --- a/readme.txt +++ b/readme.txt @@ -3,7 +3,7 @@ Contributors: bradhogan Tags: slider, carousel, swiper, gutenberg, block Requires at least: 6.3 Tested up to: 6.7 -Stable tag: 0.1.1 +Stable tag: 0.1.2 Requires PHP: 7.4 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -22,6 +22,11 @@ SliderPress adds a Gutenberg block that renders a Swiper-powered slider. Slides == Changelog == += 0.1.2 = +* Fixed editor slide layout selectors for Gutenberg wrappers so slides display horizontally with scroll. +* Added Slides per view block setting and frontend data/config wiring. +* Hardened frontend loop initialization by auto-disabling loop when there are not enough slides. + = 0.1.1 = * Renamed branding to SliderPress (no space) * Improved editor UX: slides are now displayed side-by-side with horizontal scroll diff --git a/slider-press.php b/slider-press.php index c0dc183..b5d034a 100644 --- a/slider-press.php +++ b/slider-press.php @@ -3,7 +3,7 @@ * Plugin Name: SliderPress * Plugin URI: https://github.com/bradhogan/Slider-Press * Description: A Gutenberg slider block powered by Swiper with slide and fade transition effects. - * Version: 0.1.1 + * Version: 0.1.2 * Author: SliderPress * Requires at least: 6.3 * Requires PHP: 7.4 diff --git a/src/editor.css b/src/editor.css index a2e089d..dcbae12 100644 --- a/src/editor.css +++ b/src/editor.css @@ -5,7 +5,7 @@ width: 100%; /* Allow horizontal scroll in the editor */ overflow-x: auto; - overflow-y: visible; + overflow-y: hidden; min-height: 200px; background: #f0f0f0; border: 1px dashed #ccc; @@ -35,8 +35,18 @@ transform: none !important; } -/* Each slide (core/group with swiper-slide class) side-by-side */ -.slider-press .swiper-wrapper > .wp-block-group { +/* Gutenberg wraps InnerBlocks with .block-editor-inner-blocks/.block-editor-block-list__layout */ +.slider-press .swiper-wrapper .block-editor-block-list__layout { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + align-items: flex-start; + gap: 12px; +} + +/* Each slide side-by-side */ +.slider-press .swiper-wrapper .swiper-slide, +.slider-press .swiper-wrapper .block-editor-block-list__block.swiper-slide { flex: 0 0 auto; width: 80%; min-width: 260px; diff --git a/src/frontend.js b/src/frontend.js index 7b7257e..1767d7d 100644 --- a/src/frontend.js +++ b/src/frontend.js @@ -7,12 +7,20 @@ import { Navigation, Pagination, Autoplay, EffectFade } from 'swiper/modules'; function initSlider( el ) { const effect = el.dataset.effect || 'slide'; - const loop = el.dataset.loop === '1'; + const loopRequested = el.dataset.loop === '1'; + const slidesPerView = Math.max( + 1, + parseInt( el.dataset.slidesPerView || '1', 10 ) || 1 + ); + const slidesPerGroup = 1; const speed = parseInt( el.dataset.speed || '500', 10 ); const autoplayEnabled = el.dataset.autoplay === '1'; const autoplayDelay = parseInt( el.dataset.autoplayDelay || '3000', 10 ); const paginationEnabled = el.dataset.pagination === '1'; const navigationEnabled = el.dataset.navigation === '1'; + const slideCount = el.querySelectorAll( '.swiper-slide' ).length; + const minSlidesForLoop = Math.max( 2, slidesPerView + slidesPerGroup ); + const loop = loopRequested && slideCount >= minSlidesForLoop; const modules = [ Navigation, Pagination, Autoplay ]; if ( effect === 'fade' ) { @@ -24,7 +32,8 @@ function initSlider( el ) { effect, loop, speed, - slidesPerView: 1, + slidesPerView, + slidesPerGroup, }; if ( effect === 'fade' ) { diff --git a/src/index.js b/src/index.js index b8eb27b..72fb88c 100644 --- a/src/index.js +++ b/src/index.js @@ -24,6 +24,7 @@ registerBlockType( metadata.name, { const { effect, loop, + slidesPerView, speed, autoplay, autoplayDelay, @@ -50,6 +51,16 @@ registerBlockType( metadata.name, { checked={ loop } onChange={ ( value ) => setAttributes( { loop: !! value } ) } /> + + setAttributes( { slidesPerView: value || 1 } ) + } + />