var Swiper=(function(){'use strict';function isObject$1(obj){return obj!==null&&typeof obj==='object'&&'constructor' in obj&&obj.constructor===Object} function extend$1(target,src){if(target===void 0){target={}} if(src===void 0){src={}} Object.keys(src).forEach(key=>{if(typeof target[key]==='undefined')target[key]=src[key];else if(isObject$1(src[key])&&isObject$1(target[key])&&Object.keys(src[key]).length>0){extend$1(target[key],src[key])}})} const ssrDocument={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:''},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:'',host:'',hostname:'',href:'',origin:'',pathname:'',protocol:'',search:''}};function getDocument(){const doc=typeof document!=='undefined'?document:{};extend$1(doc,ssrDocument);return doc} const ssrWindow={document:ssrDocument,navigator:{userAgent:''},location:{hash:'',host:'',hostname:'',href:'',origin:'',pathname:'',protocol:'',search:''},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function CustomEvent(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return''}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(callback){if(typeof setTimeout==='undefined'){callback();return null} return setTimeout(callback,0)},cancelAnimationFrame(id){if(typeof setTimeout==='undefined'){return} clearTimeout(id)}};function getWindow(){const win=typeof window!=='undefined'?window:{};extend$1(win,ssrWindow);return win} function classesToTokens(classes){if(classes===void 0){classes=''} return classes.trim().split(' ').filter(c=>!!c.trim())} function deleteProps(obj){const object=obj;Object.keys(object).forEach(key=>{try{object[key]=null}catch(e){} try{delete object[key]}catch(e){}})} function nextTick(callback,delay){if(delay===void 0){delay=0} return setTimeout(callback,delay)} function now(){return Date.now()} function getComputedStyle$1(el){const window=getWindow();let style;if(window.getComputedStyle){style=window.getComputedStyle(el,null)} if(!style&&el.currentStyle){style=el.currentStyle} if(!style){style=el.style} return style} function getTranslate(el,axis){if(axis===void 0){axis='x'} const window=getWindow();let matrix;let curTransform;let transformMatrix;const curStyle=getComputedStyle$1(el);if(window.WebKitCSSMatrix){curTransform=curStyle.transform||curStyle.webkitTransform;if(curTransform.split(',').length>6){curTransform=curTransform.split(', ').map(a=>a.replace(',','.')).join(', ')} transformMatrix=new window.WebKitCSSMatrix(curTransform==='none'?'':curTransform)}else{transformMatrix=curStyle.MozTransform||curStyle.OTransform||curStyle.MsTransform||curStyle.msTransform||curStyle.transform||curStyle.getPropertyValue('transform').replace('translate(','matrix(1, 0, 0, 1,');matrix=transformMatrix.toString().split(',')} if(axis==='x'){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m41;else if(matrix.length===16)curTransform=parseFloat(matrix[12]);else curTransform=parseFloat(matrix[4])} if(axis==='y'){if(window.WebKitCSSMatrix)curTransform=transformMatrix.m42;else if(matrix.length===16)curTransform=parseFloat(matrix[13]);else curTransform=parseFloat(matrix[5])} return curTransform||0} function isObject(o){return typeof o==='object'&&o!==null&&o.constructor&&Object.prototype.toString.call(o).slice(8,-1)==='Object'} function isNode(node){if(typeof window!=='undefined'&&typeof window.HTMLElement!=='undefined'){return node instanceof HTMLElement} return node&&(node.nodeType===1||node.nodeType===11)} function extend(){const to=Object(arguments.length<=0?undefined:arguments[0]);const noExtend=['__proto__','constructor','prototype'];for(let i=1;inoExtend.indexOf(key)<0);for(let nextIndex=0,len=keysArray.length;nextIndexstartPosition?'next':'prev';const isOutOfBound=(current,target)=>{return dir==='next'&¤t>=target||dir==='prev'&¤t<=target};const animate=()=>{time=new Date().getTime();if(startTime===null){startTime=time} const progress=Math.max(Math.min((time-startTime)/duration,1),0);const easeProgress=0.5-Math.cos(progress*Math.PI)/2;let currentPosition=startPosition+easeProgress*(targetPosition-startPosition);if(isOutOfBound(currentPosition,targetPosition)){currentPosition=targetPosition} swiper.wrapperEl.scrollTo({[side]:currentPosition});if(isOutOfBound(currentPosition,targetPosition)){swiper.wrapperEl.style.overflow='hidden';swiper.wrapperEl.style.scrollSnapType='';setTimeout(()=>{swiper.wrapperEl.style.overflow='';swiper.wrapperEl.scrollTo({[side]:currentPosition})});window.cancelAnimationFrame(swiper.cssModeFrameID);return} swiper.cssModeFrameID=window.requestAnimationFrame(animate)};animate()} function getSlideTransformEl(slideEl){return slideEl.querySelector('.swiper-slide-transform')||slideEl.shadowRoot&&slideEl.shadowRoot.querySelector('.swiper-slide-transform')||slideEl} function elementChildren(element,selector){if(selector===void 0){selector=''} return[...element.children].filter(el=>el.matches(selector))} function showWarning(text){try{console.warn(text);return}catch(err){}} function createElement(tag,classes){if(classes===void 0){classes=[]} const el=document.createElement(tag);el.classList.add(...(Array.isArray(classes)?classes:classesToTokens(classes)));return el} function elementOffset(el){const window=getWindow();const document=getDocument();const box=el.getBoundingClientRect();const body=document.body;const clientTop=el.clientTop||body.clientTop||0;const clientLeft=el.clientLeft||body.clientLeft||0;const scrollTop=el===window?window.scrollY:el.scrollTop;const scrollLeft=el===window?window.scrollX:el.scrollLeft;return{top:box.top+scrollTop-clientTop,left:box.left+scrollLeft-clientLeft}} function elementPrevAll(el,selector){const prevEls=[];while(el.previousElementSibling){const prev=el.previousElementSibling;if(selector){if(prev.matches(selector))prevEls.push(prev);}else prevEls.push(prev);el=prev} return prevEls} function elementNextAll(el,selector){const nextEls=[];while(el.nextElementSibling){const next=el.nextElementSibling;if(selector){if(next.matches(selector))nextEls.push(next);}else nextEls.push(next);el=next} return nextEls} function elementStyle(el,prop){const window=getWindow();return window.getComputedStyle(el,null).getPropertyValue(prop)} function elementIndex(el){let child=el;let i;if(child){i=0;while((child=child.previousSibling)!==null){if(child.nodeType===1)i+=1} return i} return undefined} function elementParents(el,selector){const parents=[];let parent=el.parentElement;while(parent){if(selector){if(parent.matches(selector))parents.push(parent);}else{parents.push(parent)} parent=parent.parentElement} return parents} function elementTransitionEnd(el,callback){function fireCallBack(e){if(e.target!==el)return;callback.call(el,e);el.removeEventListener('transitionend',fireCallBack)} if(callback){el.addEventListener('transitionend',fireCallBack)}} function elementOuterSize(el,size,includeMargins){const window=getWindow();if(includeMargins){return el[size==='width'?'offsetWidth':'offsetHeight']+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==='width'?'margin-right':'margin-top'))+parseFloat(window.getComputedStyle(el,null).getPropertyValue(size==='width'?'margin-left':'margin-bottom'))} return el.offsetWidth} function makeElementsArray(el){return(Array.isArray(el)?el:[el]).filter(e=>!!e)} let support;function calcSupport(){const window=getWindow();const document=getDocument();return{smoothScroll:document.documentElement&&document.documentElement.style&&'scrollBehavior' in document.documentElement.style,touch:!!('ontouchstart' in window||window.DocumentTouch&&document instanceof window.DocumentTouch)}} function getSupport(){if(!support){support=calcSupport()} return support} let deviceCached;function calcDevice(_temp){let{userAgent}=_temp===void 0?{}:_temp;const support=getSupport();const window=getWindow();const platform=window.navigator.platform;const ua=userAgent||window.navigator.userAgent;const device={ios:!1,android:!1};const screenWidth=window.screen.width;const screenHeight=window.screen.height;const android=ua.match(/(Android);?[\s\/]+([\d.]+)?/);let ipad=ua.match(/(iPad).*OS\s([\d_]+)/);const ipod=ua.match(/(iPod)(.*OS\s([\d_]+))?/);const iphone=!ipad&&ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);const windows=platform==='Win32';let macos=platform==='MacIntel';const iPadScreens=['1024x1366','1366x1024','834x1194','1194x834','834x1112','1112x834','768x1024','1024x768','820x1180','1180x820','810x1080','1080x810'];if(!ipad&&macos&&support.touch&&iPadScreens.indexOf(`${screenWidth}x${screenHeight}`)>=0){ipad=ua.match(/(Version)\/([\d.]+)/);if(!ipad)ipad=[0,1,'13_0_0'];macos=!1} if(android&&!windows){device.os='android';device.android=!0} if(ipad||iphone||ipod){device.os='ios';device.ios=!0} return device} function getDevice(overrides){if(overrides===void 0){overrides={}} if(!deviceCached){deviceCached=calcDevice(overrides)} return deviceCached} let browser;function calcBrowser(){const window=getWindow();const device=getDevice();let needPerspectiveFix=!1;function isSafari(){const ua=window.navigator.userAgent.toLowerCase();return ua.indexOf('safari')>=0&&ua.indexOf('chrome')<0&&ua.indexOf('android')<0} if(isSafari()){const ua=String(window.navigator.userAgent);if(ua.includes('Version/')){const[major,minor]=ua.split('Version/')[1].split(' ')[0].split('.').map(num=>Number(num));needPerspectiveFix=major<16||major===16&&minor<2}} const isWebView=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent);const isSafariBrowser=isSafari();const need3dFix=isSafariBrowser||isWebView&&device.ios;return{isSafari:needPerspectiveFix||isSafariBrowser,needPerspectiveFix,need3dFix,isWebView}} function getBrowser(){if(!browser){browser=calcBrowser()} return browser} function Resize(_ref){let{swiper,on,emit}=_ref;const window=getWindow();let observer=null;let animationFrame=null;const resizeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit('beforeResize');emit('resize')};const createObserver=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;observer=new ResizeObserver(entries=>{animationFrame=window.requestAnimationFrame(()=>{const{width,height}=swiper;let newWidth=width;let newHeight=height;entries.forEach(_ref2=>{let{contentBoxSize,contentRect,target}=_ref2;if(target&&target!==swiper.el)return;newWidth=contentRect?contentRect.width:(contentBoxSize[0]||contentBoxSize).inlineSize;newHeight=contentRect?contentRect.height:(contentBoxSize[0]||contentBoxSize).blockSize});if(newWidth!==width||newHeight!==height){resizeHandler()}})});observer.observe(swiper.el)};const removeObserver=()=>{if(animationFrame){window.cancelAnimationFrame(animationFrame)} if(observer&&observer.unobserve&&swiper.el){observer.unobserve(swiper.el);observer=null}};const orientationChangeHandler=()=>{if(!swiper||swiper.destroyed||!swiper.initialized)return;emit('orientationchange')};on('init',()=>{if(swiper.params.resizeObserver&&typeof window.ResizeObserver!=='undefined'){createObserver();return} window.addEventListener('resize',resizeHandler);window.addEventListener('orientationchange',orientationChangeHandler)});on('destroy',()=>{removeObserver();window.removeEventListener('resize',resizeHandler);window.removeEventListener('orientationchange',orientationChangeHandler)})} function Observer(_ref){let{swiper,extendParams,on,emit}=_ref;const observers=[];const window=getWindow();const attach=function(target,options){if(options===void 0){options={}} const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;const observer=new ObserverFunc(mutations=>{if(swiper.__preventObserver__)return;if(mutations.length===1){emit('observerUpdate',mutations[0]);return} const observerUpdate=function observerUpdate(){emit('observerUpdate',mutations[0])};if(window.requestAnimationFrame){window.requestAnimationFrame(observerUpdate)}else{window.setTimeout(observerUpdate,0)}});observer.observe(target,{attributes:typeof options.attributes==='undefined'?!0:options.attributes,childList:typeof options.childList==='undefined'?!0:options.childList,characterData:typeof options.characterData==='undefined'?!0:options.characterData});observers.push(observer)};const init=()=>{if(!swiper.params.observer)return;if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i{observers.forEach(observer=>{observer.disconnect()});observers.splice(0,observers.length)};extendParams({observer:!1,observeParents:!1,observeSlideChildren:!1});on('init',init);on('destroy',destroy)} var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=='function')return self;const method=priority?'unshift':'push';events.split(' ').forEach(event=>{if(!self.eventsListeners[event])self.eventsListeners[event]=[];self.eventsListeners[event][method](handler)});return self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=='function')return self;function onceHandler(){self.off(events,onceHandler);if(onceHandler.__emitterProxy){delete onceHandler.__emitterProxy} for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]} handler.apply(self,args)} onceHandler.__emitterProxy=handler;return self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(typeof handler!=='function')return self;const method=priority?'unshift':'push';if(self.eventsAnyListeners.indexOf(handler)<0){self.eventsAnyListeners[method](handler)} return self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);if(index>=0){self.eventsAnyListeners.splice(index,1)} return self},off(events,handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;events.split(' ').forEach(event=>{if(typeof handler==='undefined'){self.eventsListeners[event]=[]}else if(self.eventsListeners[event]){self.eventsListeners[event].forEach((eventHandler,index)=>{if(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler){self.eventsListeners[event].splice(index,1)}})}});return self},emit(){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;let events;let data;let context;for(var _len2=arguments.length,args=new Array(_len2),_key2=0;_key2<_len2;_key2++){args[_key2]=arguments[_key2]} if(typeof args[0]==='string'||Array.isArray(args[0])){events=args[0];data=args.slice(1,args.length);context=self}else{events=args[0].events;data=args[0].data;context=args[0].context||self} data.unshift(context);const eventsArray=Array.isArray(events)?events:events.split(' ');eventsArray.forEach(event=>{if(self.eventsAnyListeners&&self.eventsAnyListeners.length){self.eventsAnyListeners.forEach(eventHandler=>{eventHandler.apply(context,[event,...data])})} if(self.eventsListeners&&self.eventsListeners[event]){self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}});return self}};function updateSize(){const swiper=this;let width;let height;const el=swiper.el;if(typeof swiper.params.width!=='undefined'&&swiper.params.width!==null){width=swiper.params.width}else{width=el.clientWidth} if(typeof swiper.params.height!=='undefined'&&swiper.params.height!==null){height=swiper.params.height}else{height=el.clientHeight} if(width===0&&swiper.isHorizontal()||height===0&&swiper.isVertical()){return} width=width-parseInt(elementStyle(el,'padding-left')||0,10)-parseInt(elementStyle(el,'padding-right')||0,10);height=height-parseInt(elementStyle(el,'padding-top')||0,10)-parseInt(elementStyle(el,'padding-bottom')||0,10);if(Number.isNaN(width))width=0;if(Number.isNaN(height))height=0;Object.assign(swiper,{width,height,size:swiper.isHorizontal()?width:height})} function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||0)} const params=swiper.params;const{wrapperEl,slidesEl,size:swiperSize,rtlTranslate:rtl,wrongRTL}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;const previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;const slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`);const slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[];const slidesSizesGrid=[];let offsetBefore=params.slidesOffsetBefore;if(typeof offsetBefore==='function'){offsetBefore=params.slidesOffsetBefore.call(swiper)} let offsetAfter=params.slidesOffsetAfter;if(typeof offsetAfter==='function'){offsetAfter=params.slidesOffsetAfter.call(swiper)} const previousSnapGridLength=swiper.snapGrid.length;const previousSlidesGridLength=swiper.slidesGrid.length;let spaceBetween=params.spaceBetween;let slidePosition=-offsetBefore;let prevSlideSize=0;let index=0;if(typeof swiperSize==='undefined'){return} if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=parseFloat(spaceBetween.replace('%',''))/100*swiperSize}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} swiper.virtualSize=-spaceBetween;slides.forEach(slideEl=>{if(rtl){slideEl.style.marginLeft=''}else{slideEl.style.marginRight=''} slideEl.style.marginBottom='';slideEl.style.marginTop=''});if(params.centeredSlides&¶ms.cssMode){setCSSProperty(wrapperEl,'--swiper-centered-offset-before','');setCSSProperty(wrapperEl,'--swiper-centered-offset-after','')} const gridEnabled=params.grid&¶ms.grid.rows>1&&swiper.grid;if(gridEnabled){swiper.grid.initSlides(slides)}else if(swiper.grid){swiper.grid.unsetSlides()} let slideSize;const shouldResetSlideSize=params.slidesPerView==='auto'&¶ms.breakpoints&&Object.keys(params.breakpoints).filter(key=>{return typeof params.breakpoints[key].slidesPerView!=='undefined'}).length>0;for(let i=0;i1){snapGrid.push(swiper.virtualSize-swiperSize)}} if(isVirtual&¶ms.loop){const size=slidesSizesGrid[0]+spaceBetween;if(params.slidesPerGroup>1){const groups=Math.ceil((swiper.virtual.slidesBefore+swiper.virtual.slidesAfter)/params.slidesPerGroup);const groupSize=size*params.slidesPerGroup;for(let i=0;i{if(!params.cssMode||params.loop)return!0;if(slideIndex===slides.length-1){return!1} return!0}).forEach(slideEl=>{slideEl.style[key]=`${spaceBetween}px`})} if(params.centeredSlides&¶ms.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize-swiperSize;snapGrid=snapGrid.map(snap=>{if(snap<=0)return-offsetBefore;if(snap>maxSnap)return maxSnap+offsetAfter;return snap})} if(params.centerInsufficientSlides){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)});allSlidesSize-=spaceBetween;const offsetSize=(params.slidesOffsetBefore||0)+(params.slidesOffsetAfter||0);if(allSlidesSize+offsetSize{snapGrid[snapIndex]=snap-allSlidesOffset});slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}} Object.assign(swiper,{slides,snapGrid,slidesGrid,slidesSizesGrid});if(params.centeredSlides&¶ms.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,'--swiper-centered-offset-before',`${-snapGrid[0]}px`);setCSSProperty(wrapperEl,'--swiper-centered-offset-after',`${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);const addToSnapGrid=-swiper.snapGrid[0];const addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map(v=>v+addToSnapGrid);swiper.slidesGrid=swiper.slidesGrid.map(v=>v+addToSlidesGrid)} if(slidesLength!==previousSlidesLength){swiper.emit('slidesLengthChange')} if(snapGrid.length!==previousSnapGridLength){if(swiper.params.watchOverflow)swiper.checkOverflow();swiper.emit('snapGridLengthChange')} if(slidesGrid.length!==previousSlidesGridLength){swiper.emit('slidesGridLengthChange')} if(params.watchSlidesProgress){swiper.updateSlidesOffset()} swiper.emit('slidesUpdated');if(!isVirtual&&!params.cssMode&&(params.effect==='slide'||params.effect==='fade')){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`;const hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);if(slidesLength<=params.maxBackfaceHiddenSlides){if(!hasClassBackfaceClassAdded)swiper.el.classList.add(backFaceHiddenClass);}else if(hasClassBackfaceClassAdded){swiper.el.classList.remove(backFaceHiddenClass)}}} function updateAutoHeight(speed){const swiper=this;const activeSlides=[];const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let newHeight=0;let i;if(typeof speed==='number'){swiper.setTransition(speed)}else if(speed===!0){swiper.setTransition(swiper.params.speed)} const getSlideByIndex=index=>{if(isVirtual){return swiper.slides[swiper.getSlideIndexByData(index)]} return swiper.slides[index]};if(swiper.params.slidesPerView!=='auto'&&swiper.params.slidesPerView>1){if(swiper.params.centeredSlides){(swiper.visibleSlides||[]).forEach(slide=>{activeSlides.push(slide)})}else{for(i=0;iswiper.slides.length&&!isVirtual)break;activeSlides.push(getSlideByIndex(index))}}}else{activeSlides.push(getSlideByIndex(swiper.activeIndex))} for(i=0;inewHeight?height:newHeight}} if(newHeight||newHeight===0)swiper.wrapperEl.style.height=`${newHeight}px`} function updateSlidesOffset(){const swiper=this;const slides=swiper.slides;const minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesProgress(translate){if(translate===void 0){translate=this&&this.translate||0} const swiper=this;const params=swiper.params;const{slides,rtlTranslate:rtl,snapGrid}=swiper;if(slides.length===0)return;if(typeof slides[0].swiperSlideOffset==='undefined')swiper.updateSlidesOffset();let offsetCenter=-translate;if(rtl)offsetCenter=translate;swiper.visibleSlidesIndexes=[];swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=parseFloat(spaceBetween.replace('%',''))/100*swiper.size}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} for(let i=0;i=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i];const isVisible=slideBefore>=0&&slideBefore1&&slideAfter<=swiper.size||slideBefore<=0&&slideAfter>=swiper.size;if(isVisible){swiper.visibleSlides.push(slide);swiper.visibleSlidesIndexes.push(i)} toggleSlideClasses$1(slide,isVisible,params.slideVisibleClass);toggleSlideClasses$1(slide,isFullyVisible,params.slideFullyVisibleClass);slide.progress=rtl?-slideProgress:slideProgress;slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}} function updateProgress(translate){const swiper=this;if(typeof translate==='undefined'){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0} const params=swiper.params;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress,isBeginning,isEnd,progressLoop}=swiper;const wasBeginning=isBeginning;const wasEnd=isEnd;if(translatesDiff===0){progress=0;isBeginning=!0;isEnd=!0}else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1;const isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0;isEnd=isEndRounded||progress>=1;if(isBeginningRounded)progress=0;if(isEndRounded)progress=1} if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0);const lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1);const firstSlideTranslate=swiper.slidesGrid[firstSlideIndex];const lastSlideTranslate=swiper.slidesGrid[lastSlideIndex];const translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1];const translateAbs=Math.abs(translate);if(translateAbs>=firstSlideTranslate){progressLoop=(translateAbs-firstSlideTranslate)/translateMax}else{progressLoop=(translateAbs+translateMax-lastSlideTranslate)/translateMax} if(progressLoop>1)progressLoop-=1} Object.assign(swiper,{progress,progressLoop,isBeginning,isEnd});if(params.watchSlidesProgress||params.centeredSlides&¶ms.autoHeight)swiper.updateSlidesProgress(translate);if(isBeginning&&!wasBeginning){swiper.emit('reachBeginning toEdge')} if(isEnd&&!wasEnd){swiper.emit('reachEnd toEdge')} if(wasBeginning&&!isBeginning||wasEnd&&!isEnd){swiper.emit('fromEdge')} swiper.emit('progress',progress)} const toggleSlideClasses=(slideEl,condition,className)=>{if(condition&&!slideEl.classList.contains(className)){slideEl.classList.add(className)}else if(!condition&&slideEl.classList.contains(className)){slideEl.classList.remove(className)}};function updateSlidesClasses(){const swiper=this;const{slides,params,slidesEl,activeIndex}=swiper;const isVirtual=swiper.virtual&¶ms.virtual.enabled;const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;const getFilteredSlide=selector=>{return elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0]};let activeSlide;let prevSlide;let nextSlide;if(isVirtual){if(params.loop){let slideIndex=activeIndex-swiper.virtual.slidesBefore;if(slideIndex<0)slideIndex=swiper.virtual.slides.length+slideIndex;if(slideIndex>=swiper.virtual.slides.length)slideIndex-=swiper.virtual.slides.length;activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else{activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`)}}else{if(gridEnabled){activeSlide=slides.filter(slideEl=>slideEl.column===activeIndex)[0];nextSlide=slides.filter(slideEl=>slideEl.column===activeIndex+1)[0];prevSlide=slides.filter(slideEl=>slideEl.column===activeIndex-1)[0]}else{activeSlide=slides[activeIndex]}} if(activeSlide){if(!gridEnabled){nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!nextSlide){nextSlide=slides[0]} prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0];if(params.loop&&!prevSlide===0){prevSlide=slides[slides.length-1]}}} slides.forEach(slideEl=>{toggleSlideClasses(slideEl,slideEl===activeSlide,params.slideActiveClass);toggleSlideClasses(slideEl,slideEl===nextSlide,params.slideNextClass);toggleSlideClasses(slideEl,slideEl===prevSlide,params.slidePrevClass)});swiper.emitSlidesClasses()} const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params)return;const slideSelector=()=>swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`;const slideEl=imageEl.closest(slideSelector());if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(!lazyEl&&swiper.isElement){if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`)}else{requestAnimationFrame(()=>{if(slideEl.shadowRoot){lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);if(lazyEl)lazyEl.remove();}})}} if(lazyEl)lazyEl.remove();}};const unlazy=(swiper,index)=>{if(!swiper.slides[index])return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');if(imageEl)imageEl.removeAttribute('loading');};const preload=swiper=>{if(!swiper||swiper.destroyed||!swiper.params)return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0)return;amount=Math.min(amount,len);const slidesPerView=swiper.params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView);const activeIndex=swiper.activeIndex;if(swiper.params.grid&&swiper.params.grid.rows>1){const activeColumn=activeIndex;const preloadColumns=[activeColumn-amount];preloadColumns.push(...Array.from({length:amount}).map((_,i)=>{return activeColumn+slidesPerView+i}));swiper.slides.forEach((slideEl,i)=>{if(preloadColumns.includes(slideEl.column))unlazy(swiper,i);});return} const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop){for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=(i%len+len)%len;if(realIndexslideIndexLastInView)unlazy(swiper,realIndex);}}else{for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1){if(i!==activeIndex&&(i>slideIndexLastInView||i=slidesGrid[i]&&translate=slidesGrid[i]&&translate=slidesGrid[i]){activeIndex=i}} if(params.normalizeSlideIndex){if(activeIndex<0||typeof activeIndex==='undefined')activeIndex=0} return activeIndex} function updateActiveIndex(newActiveIndex){const swiper=this;const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;const{snapGrid,params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let activeIndex=newActiveIndex;let snapIndex;const getVirtualRealIndex=aIndex=>{let realIndex=aIndex-swiper.virtual.slidesBefore;if(realIndex<0){realIndex=swiper.virtual.slides.length+realIndex} if(realIndex>=swiper.virtual.slides.length){realIndex-=swiper.virtual.slides.length} return realIndex};if(typeof activeIndex==='undefined'){activeIndex=getActiveIndexByTranslate(swiper)} if(snapGrid.indexOf(translate)>=0){snapIndex=snapGrid.indexOf(translate)}else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)} if(snapIndex>=snapGrid.length)snapIndex=snapGrid.length-1;if(activeIndex===previousIndex&&!swiper.params.loop){if(snapIndex!==previousSnapIndex){swiper.snapIndex=snapIndex;swiper.emit('snapIndexChange')} return} if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.realIndex=getVirtualRealIndex(activeIndex);return} const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;let realIndex;if(swiper.virtual&¶ms.virtual.enabled&¶ms.loop){realIndex=getVirtualRealIndex(activeIndex)}else if(gridEnabled){const firstSlideInColumn=swiper.slides.filter(slideEl=>slideEl.column===activeIndex)[0];let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute('data-swiper-slide-index'),10);if(Number.isNaN(activeSlideIndex)){activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)} realIndex=Math.floor(activeSlideIndex/params.grid.rows)}else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute('data-swiper-slide-index');if(slideIndex){realIndex=parseInt(slideIndex,10)}else{realIndex=activeIndex}}else{realIndex=activeIndex} Object.assign(swiper,{previousSnapIndex,snapIndex,previousRealIndex,realIndex,previousIndex,activeIndex});if(swiper.initialized){preload(swiper)} swiper.emit('activeIndexChange');swiper.emit('snapIndexChange');if(swiper.initialized||swiper.params.runCallbacksOnInit){if(previousRealIndex!==realIndex){swiper.emit('realIndexChange')} swiper.emit('slideChange')}} function updateClickedSlide(el,path){const swiper=this;const params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);if(!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)){[...path.slice(path.indexOf(el)+1,path.length)].forEach(pathEl=>{if(!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)){slide=pathEl}})} let slideFound=!1;let slideIndex;if(slide){for(let i=0;iminTranslate)newTranslate=minTranslate;else if(translateBounds&&translatepreviousIndex)dir='next';else if(activeIndex=snapGrid.length)snapIndex=snapGrid.length-1;const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex){for(let i=0;i=normalizedGrid&&normalizedTranslate=normalizedGrid&&normalizedTranslate=normalizedGrid){slideIndex=i}}} if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translateswiper.translate&&translate>swiper.maxTranslate()){if((activeIndex||0)!==slideIndex){return!1}}} if(slideIndex!==(previousIndex||0)&&runCallbacks){swiper.emit('beforeSlideChangeStart')} swiper.updateProgress(translate);let direction;if(slideIndex>activeIndex)direction='next';else if(slideIndex0){swiper._cssModeVirtualInitialSet=!0;requestAnimationFrame(()=>{wrapperEl[isH?'scrollLeft':'scrollTop']=t})}else{wrapperEl[isH?'scrollLeft':'scrollTop']=t} if(isVirtual){requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType='';swiper._immediateVirtual=!1})}}else{if(!swiper.support.smoothScroll){animateCSSModeScroll({swiper,targetPosition:t,side:isH?'left':'top'});return!0} wrapperEl.scrollTo({[isH?'left':'top']:t,behavior:'smooth'})} return!0} swiper.setTransition(speed);swiper.setTranslate(translate);swiper.updateActiveIndex(slideIndex);swiper.updateSlidesClasses();swiper.emit('beforeTransitionStart',speed,internal);swiper.transitionStart(runCallbacks,direction);if(speed===0){swiper.transitionEnd(runCallbacks,direction)}else if(!swiper.animating){swiper.animating=!0;if(!swiper.onSlideToWrapperTransitionEnd){swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){if(!swiper||swiper.destroyed)return;if(e.target!==this)return;swiper.wrapperEl.removeEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd);swiper.onSlideToWrapperTransitionEnd=null;delete swiper.onSlideToWrapperTransitionEnd;swiper.transitionEnd(runCallbacks,direction)}} swiper.wrapperEl.addEventListener('transitionend',swiper.onSlideToWrapperTransitionEnd)} return!0} function slideToLoop(index,speed,runCallbacks,internal){if(index===void 0){index=0} if(runCallbacks===void 0){runCallbacks=!0} if(typeof index==='string'){const indexAsNumber=parseInt(index,10);index=indexAsNumber} const swiper=this;if(swiper.destroyed)return;if(typeof speed==='undefined'){speed=swiper.params.speed} const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop){if(swiper.virtual&&swiper.params.virtual.enabled){newIndex=newIndex+swiper.virtual.slidesBefore}else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows;targetSlideIndex=swiper.slides.filter(slideEl=>slideEl.getAttribute('data-swiper-slide-index')*1===slideIndex)[0].column}else{targetSlideIndex=swiper.getSlideIndexByData(newIndex)} const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length;const{centeredSlides}=swiper.params;let slidesPerView=swiper.params.slidesPerView;if(slidesPerView==='auto'){slidesPerView=swiper.slidesPerViewDynamic()}else{slidesPerView=Math.ceil(parseFloat(swiper.params.slidesPerView,10));if(centeredSlides&&slidesPerView%2===0){slidesPerView=slidesPerView+1}} let needLoopFix=cols-targetSlideIndexslideEl.getAttribute('data-swiper-slide-index')*1===slideIndex)[0].column}else{newIndex=swiper.getSlideIndexByData(newIndex)}}} requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)});return swiper} function slideNext(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=!0} const swiper=this;const{enabled,params,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==='undefined'){speed=swiper.params.speed} let perGroup=params.slidesPerGroup;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){perGroup=Math.max(swiper.slidesPerViewDynamic('current',!0),1)} const increment=swiper.activeIndex{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)});return!0}} if(params.rewind&&swiper.isEnd){return swiper.slideTo(0,speed,runCallbacks,internal)} return swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)} function slidePrev(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=!0} const swiper=this;const{params,snapGrid,slidesGrid,rtlTranslate,enabled,animating}=swiper;if(!enabled||swiper.destroyed)return swiper;if(typeof speed==='undefined'){speed=swiper.params.speed} const isVirtual=swiper.virtual&¶ms.virtual.enabled;if(params.loop){if(animating&&!isVirtual&¶ms.loopPreventsSliding)return!1;swiper.loopFix({direction:'prev'});swiper._clientLeft=swiper.wrapperEl.clientLeft} const translate=rtlTranslate?swiper.translate:-swiper.translate;function normalize(val){if(val<0)return-Math.floor(Math.abs(val));return Math.floor(val)} const normalizedTranslate=normalize(translate);const normalizedSnapGrid=snapGrid.map(val=>normalize(val));let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(typeof prevSnap==='undefined'&¶ms.cssMode){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{if(normalizedTranslate>=snap){prevSnapIndex=snapIndex}});if(typeof prevSnapIndex!=='undefined'){prevSnap=snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex]}} let prevIndex=0;if(typeof prevSnap!=='undefined'){prevIndex=slidesGrid.indexOf(prevSnap);if(prevIndex<0)prevIndex=swiper.activeIndex-1;if(params.slidesPerView==='auto'&¶ms.slidesPerGroup===1&¶ms.slidesPerGroupAuto){prevIndex=prevIndex-swiper.slidesPerViewDynamic('previous',!0)+1;prevIndex=Math.max(prevIndex,0)}} if(params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}else if(params.loop&&swiper.activeIndex===0&¶ms.cssMode){requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)});return!0} return swiper.slideTo(prevIndex,speed,runCallbacks,internal)} function slideReset(speed,runCallbacks,internal){if(runCallbacks===void 0){runCallbacks=!0} const swiper=this;if(swiper.destroyed)return;if(typeof speed==='undefined'){speed=swiper.params.speed} return swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)} function slideToClosest(speed,runCallbacks,internal,threshold){if(runCallbacks===void 0){runCallbacks=!0} if(threshold===void 0){threshold=0.5} const swiper=this;if(swiper.destroyed)return;if(typeof speed==='undefined'){speed=swiper.params.speed} let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index);const snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup);const translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex];const nextSnap=swiper.snapGrid[snapIndex+1];if(translate-currentSnap>(nextSnap-currentSnap)*threshold){index+=swiper.params.slidesPerGroup}}else{const prevSnap=swiper.snapGrid[snapIndex-1];const currentSnap=swiper.snapGrid[snapIndex];if(translate-prevSnap<=(currentSnap-prevSnap)*threshold){index-=swiper.params.slidesPerGroup}} index=Math.max(index,0);index=Math.min(index,swiper.slidesGrid.length-1);return swiper.slideTo(index,speed,runCallbacks,internal)} function slideToClickedSlide(){const swiper=this;if(swiper.destroyed)return;const{params,slidesEl}=swiper;const slidesPerView=params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():params.slidesPerView;let slideToIndex=swiper.clickedIndex;let realIndex;const slideSelector=swiper.isElement?`swiper-slide`:`.${params.slideClass}`;if(params.loop){if(swiper.animating)return;realIndex=parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'),10);if(params.centeredSlides){if(slideToIndexswiper.slides.length-swiper.loopedSlides+slidesPerView/2){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else if(slideToIndex>swiper.slides.length-slidesPerView){swiper.loopFix();slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]);nextTick(()=>{swiper.slideTo(slideToIndex)})}else{swiper.slideTo(slideToIndex)}}else{swiper.slideTo(slideToIndex)}} var slide={slideTo,slideToLoop,slideNext,slidePrev,slideReset,slideToClosest,slideToClickedSlide};function loopCreate(slideRealIndex){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;const initSlides=()=>{const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);slides.forEach((el,index)=>{el.setAttribute('data-swiper-slide-index',index)})};const gridEnabled=swiper.grid&¶ms.grid&¶ms.grid.rows>1;const slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1);const shouldFillGroup=swiper.slides.length%slidesPerGroup!==0;const shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!==0;const addBlankSlides=amountOfSlides=>{for(let i=0;i1;if(slides.lengthel.classList.contains(params.slideActiveClass))[0])}else{activeIndex=activeSlideIndex} const isNext=direction==='next'||!direction;const isPrev=direction==='prev'||!direction;let slidesPrepended=0;let slidesAppended=0;const cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length;const activeColIndex=gridEnabled?slides[activeSlideIndex].column:activeSlideIndex;const activeColIndexWithShift=activeColIndex+(centeredSlides&&typeof setTranslate==='undefined'?-slidesPerView/2+0.5:0);if(activeColIndexWithShift=0;i-=1){if(slides[i].column===colIndexToPrepend)prependSlidesIndexes.push(i);}}else{prependSlidesIndexes.push(cols-index-1)}}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-loopedSlides*2),slidesPerGroup);for(let i=0;i{if(slide.column===index)appendSlidesIndexes.push(slideIndex);})}else{appendSlidesIndexes.push(index)}}} swiper.__preventObserver__=!0;requestAnimationFrame(()=>{swiper.__preventObserver__=!1});if(isPrev){prependSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=!0;slidesEl.prepend(slides[index]);slides[index].swiperLoopMoveDOM=!1})} if(isNext){appendSlidesIndexes.forEach(index=>{slides[index].swiperLoopMoveDOM=!0;slidesEl.append(slides[index]);slides[index].swiperLoopMoveDOM=!1})} swiper.recalcSlides();if(params.slidesPerView==='auto'){swiper.updateSlides()}else if(gridEnabled&&(prependSlidesIndexes.length>0&&isPrev||appendSlidesIndexes.length>0&&isNext)){swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)})} if(params.watchSlidesProgress){swiper.updateSlidesOffset()} if(slideTo){if(prependSlidesIndexes.length>0&&isPrev){if(typeof slideRealIndex==='undefined'){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex+slidesPrepended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex+Math.ceil(slidesPrepended),0,!1,!0);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,!1,!0);swiper.touchEventsData.currentTranslate=swiper.translate}}}else if(appendSlidesIndexes.length>0&&isNext){if(typeof slideRealIndex==='undefined'){const currentSlideTranslate=swiper.slidesGrid[activeIndex];const newSlideTranslate=swiper.slidesGrid[activeIndex-slidesAppended];const diff=newSlideTranslate-currentSlideTranslate;if(byMousewheel){swiper.setTranslate(swiper.translate-diff)}else{swiper.slideTo(activeIndex-slidesAppended,0,!1,!0);if(setTranslate){swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff;swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff}}}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,!1,!0)}}} swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.controller&&swiper.controller.control&&!byController){const loopParams={slideRealIndex,direction,setTranslate,activeSlideIndex,byController:!0};if(Array.isArray(swiper.controller.control)){swiper.controller.control.forEach(c=>{if(!c.destroyed&&c.params.loop)c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView?slideTo:!1})})}else if(swiper.controller.control instanceof swiper.constructor&&swiper.controller.control.params.loop){swiper.controller.control.loopFix({...loopParams,slideTo:swiper.controller.control.params.slidesPerView===params.slidesPerView?slideTo:!1})}} swiper.emit('loopFix')} function loopDestroy(){const swiper=this;const{params,slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual.enabled)return;swiper.recalcSlides();const newSlidesOrder=[];swiper.slides.forEach(slideEl=>{const index=typeof slideEl.swiperSlideIndex==='undefined'?slideEl.getAttribute('data-swiper-slide-index')*1:slideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl});swiper.slides.forEach(slideEl=>{slideEl.removeAttribute('data-swiper-slide-index')});newSlidesOrder.forEach(slideEl=>{slidesEl.append(slideEl)});swiper.recalcSlides();swiper.slideTo(swiper.realIndex,0)} var loop={loopCreate,loopFix,loopDestroy};function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el=swiper.params.touchEventsTarget==='container'?swiper.el:swiper.wrapperEl;if(swiper.isElement){swiper.__preventObserver__=!0} el.style.cursor='move';el.style.cursor=moving?'grabbing':'grab';if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}} function unsetGrabCursor(){const swiper=this;if(swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode){return} if(swiper.isElement){swiper.__preventObserver__=!0} swiper[swiper.params.touchEventsTarget==='container'?'el':'wrapperEl'].style.cursor='';if(swiper.isElement){requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}} var grabCursor={setGrabCursor,unsetGrabCursor};function closestElement(selector,base){if(base===void 0){base=this} function __closestFrom(el){if(!el||el===getDocument()||el===getWindow())return null;if(el.assignedSlot)el=el.assignedSlot;const found=el.closest(selector);if(!found&&!el.getRootNode){return null} return found||__closestFrom(el.getRootNode().host)} return __closestFrom(base)} function preventEdgeSwipe(swiper,event,startX){const window=getWindow();const{params}=swiper;const edgeSwipeDetection=params.edgeSwipeDetection;const edgeSwipeThreshold=params.edgeSwipeThreshold;if(edgeSwipeDetection&&(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)){if(edgeSwipeDetection==='prevent'){event.preventDefault();return!0} return!1} return!0} function onTouchStart(event){const swiper=this;const document=getDocument();let e=event;if(e.originalEvent)e=e.originalEvent;const data=swiper.touchEventsData;if(e.type==='pointerdown'){if(data.pointerId!==null&&data.pointerId!==e.pointerId){return} data.pointerId=e.pointerId}else if(e.type==='touchstart'&&e.targetTouches.length===1){data.touchId=e.targetTouches[0].identifier} if(e.type==='touchstart'){preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);return} const{params,touches,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==='mouse')return;if(swiper.animating&¶ms.preventInteractionOnTransition){return} if(!swiper.animating&¶ms.cssMode&¶ms.loop){swiper.loopFix()} let targetEl=e.target;if(params.touchEventsTarget==='wrapper'){if(!swiper.wrapperEl.contains(targetEl))return} if('which' in e&&e.which===3)return;if('button' in e&&e.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&¶ms.noSwipingClass!=='';const eventPath=e.composedPath?e.composedPath():e.path;if(swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath){targetEl=eventPath[0]} const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`;const isTargetShadow=!!(e.target&&e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector))){swiper.allowClick=!0;return} if(params.swipeHandler){if(!targetEl.closest(params.swipeHandler))return} touches.currentX=e.pageX;touches.currentY=e.pageY;const startX=touches.currentX;const startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX)){return} Object.assign(data,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:undefined,startMoving:undefined});touches.startX=startX;touches.startY=startY;data.touchStartTime=now();swiper.allowClick=!0;swiper.updateSize();swiper.swipeDirection=undefined;if(params.threshold>0)data.allowThresholdMove=!1;let preventDefault=!0;if(targetEl.matches(data.focusableElements)){preventDefault=!1;if(targetEl.nodeName==='SELECT'){data.isTouched=!1}} if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl){document.activeElement.blur()} const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&¶ms.touchStartPreventDefault;if((params.touchStartForcePreventDefault||shouldPreventDefault)&&!targetEl.isContentEditable){e.preventDefault()} if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode){swiper.freeMode.onTouchStart()} swiper.emit('touchStart',e)} function onTouchMove(event){const document=getDocument();const swiper=this;const data=swiper.touchEventsData;const{params,touches,rtlTranslate:rtl,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&event.pointerType==='mouse')return;let e=event;if(e.originalEvent)e=e.originalEvent;if(e.type==='pointermove'){if(data.touchId!==null)return;const id=e.pointerId;if(id!==data.pointerId)return} let targetTouch;if(e.type==='touchmove'){targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return}else{targetTouch=e} if(!data.isTouched){if(data.startMoving&&data.isScrolling){swiper.emit('touchMoveOpposite',e)} return} const pageX=targetTouch.pageX;const pageY=targetTouch.pageY;if(e.preventedByNestedSwiper){touches.startX=pageX;touches.startY=pageY;return} if(!swiper.allowTouchMove){if(!e.target.matches(data.focusableElements)){swiper.allowClick=!1} if(data.isTouched){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY});data.touchStartTime=now()} return} if(params.touchReleaseOnEdges&&!params.loop){if(swiper.isVertical()){if(pageYtouches.startY&&swiper.translate>=swiper.minTranslate()){data.isTouched=!1;data.isMoved=!1;return}}else if(pageXtouches.startX&&swiper.translate>=swiper.minTranslate()){return}} if(document.activeElement){if(e.target===document.activeElement&&e.target.matches(data.focusableElements)){data.isMoved=!0;swiper.allowClick=!1;return}} if(data.allowTouchCallbacks){swiper.emit('touchMove',e)} touches.previousX=touches.currentX;touches.previousY=touches.currentY;touches.currentX=pageX;touches.currentY=pageY;const diffX=touches.currentX-touches.startX;const diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)=25){touchAngle=Math.atan2(Math.abs(diffY),Math.abs(diffX))*180/Math.PI;data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle}}} if(data.isScrolling){swiper.emit('touchMoveOpposite',e)} if(typeof data.startMoving==='undefined'){if(touches.currentX!==touches.startX||touches.currentY!==touches.startY){data.startMoving=!0}} if(data.isScrolling||e.type==='touchmove'&&data.preventTouchMoveFromPointerMove){data.isTouched=!1;return} if(!data.startMoving){return} swiper.allowClick=!1;if(!params.cssMode&&e.cancelable){e.preventDefault()} if(params.touchMoveStopPropagation&&!params.nested){e.stopPropagation()} let diff=swiper.isHorizontal()?diffX:diffY;let touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;if(params.oneWayMovement){diff=Math.abs(diff)*(rtl?1:-1);touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)} touches.diff=diff;diff*=params.touchRatio;if(rtl){diff=-diff;touchesDiff=-touchesDiff} const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?'prev':'next';swiper.touchesDirection=touchesDiff>0?'prev':'next';const isLoop=swiper.params.loop&&!params.cssMode;const allowLoopFix=swiper.touchesDirection==='next'&&swiper.allowSlideNext||swiper.touchesDirection==='prev'&&swiper.allowSlidePrev;if(!data.isMoved){if(isLoop&&allowLoopFix){swiper.loopFix({direction:swiper.swipeDirection})} data.startTranslate=swiper.getTranslate();swiper.setTransition(0);if(swiper.animating){const evt=new window.CustomEvent('transitionend',{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});swiper.wrapperEl.dispatchEvent(evt)} data.allowMomentumBounce=!1;if(params.grabCursor&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!0)} swiper.emit('sliderFirstMove',e)} let loopFixed;new Date().getTime();if(data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1){Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate});data.loopSwapReset=!0;data.startTranslate=data.currentTranslate;return} swiper.emit('sliderMove',e);data.isMoved=!0;data.currentTranslate=diff+data.startTranslate;let disableParentSwiper=!0;let resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges){resistanceRatio=0} if(diff>0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]:swiper.minTranslate())){swiper.loopFix({direction:'prev',setTranslate:!0,activeSlideIndex:0})} if(data.currentTranslate>swiper.minTranslate()){disableParentSwiper=!1;if(params.resistance){data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+data.startTranslate+diff)**resistanceRatio}}}else if(diff<0){if(isLoop&&allowLoopFix&&!loopFixed&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]:swiper.maxTranslate())){swiper.loopFix({direction:'next',setTranslate:!0,activeSlideIndex:swiper.slides.length-(params.slidesPerView==='auto'?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(params.slidesPerView,10)))})} if(data.currentTranslatedata.startTranslate){data.currentTranslate=data.startTranslate} if(!swiper.allowSlidePrev&&!swiper.allowSlideNext){data.currentTranslate=data.startTranslate} if(params.threshold>0){if(Math.abs(diff)>params.threshold||data.allowThresholdMove){if(!data.allowThresholdMove){data.allowThresholdMove=!0;touches.startX=touches.currentX;touches.startY=touches.currentY;data.currentTranslate=data.startTranslate;touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY;return}}else{data.currentTranslate=data.startTranslate;return}} if(!params.followFinger||params.cssMode)return;if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress){swiper.updateActiveIndex();swiper.updateSlidesClasses()} if(params.freeMode&¶ms.freeMode.enabled&&swiper.freeMode){swiper.freeMode.onTouchMove()} swiper.updateProgress(data.currentTranslate);swiper.setTranslate(data.currentTranslate)} function onTouchEnd(event){const swiper=this;const data=swiper.touchEventsData;let e=event;if(e.originalEvent)e=e.originalEvent;let targetTouch;const isTouchEvent=e.type==='touchend'||e.type==='touchcancel';if(!isTouchEvent){if(data.touchId!==null)return;if(e.pointerId!==data.pointerId)return;targetTouch=e}else{targetTouch=[...e.changedTouches].filter(t=>t.identifier===data.touchId)[0];if(!targetTouch||targetTouch.identifier!==data.touchId)return} if(['pointercancel','pointerout','pointerleave','contextmenu'].includes(e.type)){const proceed=['pointercancel','contextmenu'].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView);if(!proceed){return}} data.pointerId=null;data.touchId=null;const{params,touches,rtlTranslate:rtl,slidesGrid,enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&e.pointerType==='mouse')return;if(data.allowTouchCallbacks){swiper.emit('touchEnd',e)} data.allowTouchCallbacks=!1;if(!data.isTouched){if(data.isMoved&¶ms.grabCursor){swiper.setGrabCursor(!1)} data.isMoved=!1;data.startMoving=!1;return} if(params.grabCursor&&data.isMoved&&data.isTouched&&(swiper.allowSlideNext===!0||swiper.allowSlidePrev===!0)){swiper.setGrabCursor(!1)} const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path||e.composedPath&&e.composedPath();swiper.updateClickedSlide(pathTree&&pathTree[0]||e.target,pathTree);swiper.emit('tap click',e);if(timeDiff<300&&touchEndTime-data.lastClickTime<300){swiper.emit('doubleTap doubleClick',e)}} data.lastClickTime=now();nextTick(()=>{if(!swiper.destroyed)swiper.allowClick=!0});if(!data.isTouched||!data.isMoved||!swiper.swipeDirection||touches.diff===0&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset){data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;return} data.isTouched=!1;data.isMoved=!1;data.startMoving=!1;let currentPos;if(params.followFinger){currentPos=rtl?swiper.translate:-swiper.translate}else{currentPos=-data.currentTranslate} if(params.cssMode){return} if(params.freeMode&¶ms.freeMode.enabled){swiper.freeMode.onTouchEnd({currentPos});return} const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0;let groupSize=swiper.slidesSizesGrid[0];for(let i=0;i=slidesGrid[i]&¤tPos=slidesGrid[i]){stopIndex=i;groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2]}} let rewindFirstIndex=null;let rewindLastIndex=null;if(params.rewind){if(swiper.isBeginning){rewindLastIndex=params.virtual&¶ms.virtual.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1}else if(swiper.isEnd){rewindFirstIndex=0}} const ratio=(currentPos-slidesGrid[stopIndex])/groupSize;const increment=stopIndexparams.longSwipesMs){if(!params.longSwipes){swiper.slideTo(swiper.activeIndex);return} if(swiper.swipeDirection==='next'){if(ratio>=params.longSwipesRatio)swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment);else swiper.slideTo(stopIndex)} if(swiper.swipeDirection==='prev'){if(ratio>1-params.longSwipesRatio){swiper.slideTo(stopIndex+increment)}else if(rewindLastIndex!==null&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio){swiper.slideTo(rewindLastIndex)}else{swiper.slideTo(stopIndex)}}}else{if(!params.shortSwipes){swiper.slideTo(swiper.activeIndex);return} const isNavButtonTarget=swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl);if(!isNavButtonTarget){if(swiper.swipeDirection==='next'){swiper.slideTo(rewindFirstIndex!==null?rewindFirstIndex:stopIndex+increment)} if(swiper.swipeDirection==='prev'){swiper.slideTo(rewindLastIndex!==null?rewindLastIndex:stopIndex)}}else if(e.target===swiper.navigation.nextEl){swiper.slideTo(stopIndex+increment)}else{swiper.slideTo(stopIndex)}}} function onResize(){const swiper=this;const{params,el}=swiper;if(el&&el.offsetWidth===0)return;if(params.breakpoints){swiper.setBreakpoint()} const{allowSlideNext,allowSlidePrev,snapGrid}=swiper;const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;swiper.allowSlideNext=!0;swiper.allowSlidePrev=!0;swiper.updateSize();swiper.updateSlides();swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&¶ms.loop;if((params.slidesPerView==='auto'||params.slidesPerView>1)&&swiper.isEnd&&!swiper.isBeginning&&!swiper.params.centeredSlides&&!isVirtualLoop){swiper.slideTo(swiper.slides.length-1,0,!1,!0)}else{if(swiper.params.loop&&!isVirtual){swiper.slideToLoop(swiper.realIndex,0,!1,!0)}else{swiper.slideTo(swiper.activeIndex,0,!1,!0)}} if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){clearTimeout(swiper.autoplay.resizeTimeout);swiper.autoplay.resizeTimeout=setTimeout(()=>{if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){swiper.autoplay.resume()}},500)} swiper.allowSlidePrev=allowSlidePrev;swiper.allowSlideNext=allowSlideNext;if(swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()}} function onClick(e){const swiper=this;if(!swiper.enabled)return;if(!swiper.allowClick){if(swiper.params.preventClicks)e.preventDefault();if(swiper.params.preventClicksPropagation&&swiper.animating){e.stopPropagation();e.stopImmediatePropagation()}}} function onScroll(){const swiper=this;const{wrapperEl,rtlTranslate,enabled}=swiper;if(!enabled)return;swiper.previousTranslate=swiper.translate;if(swiper.isHorizontal()){swiper.translate=-wrapperEl.scrollLeft}else{swiper.translate=-wrapperEl.scrollTop} if(swiper.translate===0)swiper.translate=0;swiper.updateActiveIndex();swiper.updateSlidesClasses();let newProgress;const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();if(translatesDiff===0){newProgress=0}else{newProgress=(swiper.translate-swiper.minTranslate())/translatesDiff} if(newProgress!==swiper.progress){swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate)} swiper.emit('setTranslate',swiper.translate,!1)} function onLoad(e){const swiper=this;processLazyPreloader(swiper,e.target);if(swiper.params.cssMode||swiper.params.slidesPerView!=='auto'&&!swiper.params.autoHeight){return} swiper.update()} function onDocumentTouchStart(){const swiper=this;if(swiper.documentTouchHandlerProceeded)return;swiper.documentTouchHandlerProceeded=!0;if(swiper.params.touchReleaseOnEdges){swiper.el.style.touchAction='auto'}} const events=(swiper,method)=>{const document=getDocument();const{params,el,wrapperEl,device}=swiper;const capture=!!params.nested;const domMethod=method==='on'?'addEventListener':'removeEventListener';const swiperMethod=method;if(!el||typeof el==='string')return;document[domMethod]('touchstart',swiper.onDocumentTouchStart,{passive:!1,capture});el[domMethod]('touchstart',swiper.onTouchStart,{passive:!1});el[domMethod]('pointerdown',swiper.onTouchStart,{passive:!1});document[domMethod]('touchmove',swiper.onTouchMove,{passive:!1,capture});document[domMethod]('pointermove',swiper.onTouchMove,{passive:!1,capture});document[domMethod]('touchend',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerup',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointercancel',swiper.onTouchEnd,{passive:!0});document[domMethod]('touchcancel',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerout',swiper.onTouchEnd,{passive:!0});document[domMethod]('pointerleave',swiper.onTouchEnd,{passive:!0});document[domMethod]('contextmenu',swiper.onTouchEnd,{passive:!0});if(params.preventClicks||params.preventClicksPropagation){el[domMethod]('click',swiper.onClick,!0)} if(params.cssMode){wrapperEl[domMethod]('scroll',swiper.onScroll)} if(params.updateOnWindowResize){swiper[swiperMethod](device.ios||device.android?'resize orientationchange observerUpdate':'resize observerUpdate',onResize,!0)}else{swiper[swiperMethod]('observerUpdate',onResize,!0)} el[domMethod]('load',swiper.onLoad,{capture:!0})};function attachEvents(){const swiper=this;const{params}=swiper;swiper.onTouchStart=onTouchStart.bind(swiper);swiper.onTouchMove=onTouchMove.bind(swiper);swiper.onTouchEnd=onTouchEnd.bind(swiper);swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper);if(params.cssMode){swiper.onScroll=onScroll.bind(swiper)} swiper.onClick=onClick.bind(swiper);swiper.onLoad=onLoad.bind(swiper);events(swiper,'on')} function detachEvents(){const swiper=this;events(swiper,'off')} var events$1={attachEvents,detachEvents};const isGridEnabled=(swiper,params)=>{return swiper.grid&¶ms.grid&¶ms.grid.rows>1};function setBreakpoint(){const swiper=this;const{realIndex,initialized,params,el}=swiper;const breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&Object.keys(breakpoints).length===0)return;const breakpoint=swiper.getBreakpoint(breakpoints,swiper.params.breakpointsBase,swiper.el);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointOnlyParams=breakpoint in breakpoints?breakpoints[breakpoint]:undefined;const breakpointParams=breakpointOnlyParams||swiper.originalParams;const wasMultiRow=isGridEnabled(swiper,params);const isMultiRow=isGridEnabled(swiper,breakpointParams);const wasGrabCursor=swiper.params.grabCursor;const isGrabCursor=breakpointParams.grabCursor;const wasEnabled=params.enabled;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(breakpointParams.grid.fill&&breakpointParams.grid.fill==='column'||!breakpointParams.grid.fill&¶ms.grid.fill==='column'){el.classList.add(`${params.containerModifierClass}grid-column`)} swiper.emitContainerClasses()} if(wasGrabCursor&&!isGrabCursor){swiper.unsetGrabCursor()}else if(!wasGrabCursor&&isGrabCursor){swiper.setGrabCursor()}['navigation','pagination','scrollbar'].forEach(prop=>{if(typeof breakpointParams[prop]==='undefined')return;const wasModuleEnabled=params[prop]&¶ms[prop].enabled;const isModuleEnabled=breakpointParams[prop]&&breakpointParams[prop].enabled;if(wasModuleEnabled&&!isModuleEnabled){swiper[prop].disable()} if(!wasModuleEnabled&&isModuleEnabled){swiper[prop].enable()}});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction;const needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged);const wasLoop=params.loop;if(directionChanged&&initialized){swiper.changeDirection()} extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled;const hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev});if(wasEnabled&&!isEnabled){swiper.disable()}else if(!wasEnabled&&isEnabled){swiper.enable()} swiper.currentBreakpoint=breakpoint;swiper.emit('_beforeBreakpoint',breakpointParams);if(initialized){if(needsReLoop){swiper.loopDestroy();swiper.loopCreate(realIndex);swiper.updateSlides()}else if(!wasLoop&&hasLoop){swiper.loopCreate(realIndex);swiper.updateSlides()}else if(wasLoop&&!hasLoop){swiper.loopDestroy()}} swiper.emit('breakpoint',breakpointParams)} function getBreakpoint(breakpoints,base,containerEl){if(base===void 0){base='window'} if(!breakpoints||base==='container'&&!containerEl)return undefined;let breakpoint=!1;const window=getWindow();const currentHeight=base==='window'?window.innerHeight:containerEl.clientHeight;const points=Object.keys(breakpoints).map(point=>{if(typeof point==='string'&&point.indexOf('@')===0){const minRatio=parseFloat(point.substr(1));const value=currentHeight*minRatio;return{value,point}} return{value:point,point}});points.sort((a,b)=>parseInt(a.value,10)-parseInt(b.value,10));for(let i=0;i{if(typeof item==='object'){Object.keys(item).forEach(classNames=>{if(item[classNames]){resultClasses.push(prefix+classNames)}})}else if(typeof item==='string'){resultClasses.push(prefix+item)}});return resultClasses} function addClasses(){const swiper=this;const{classNames,params,rtl,el,device}=swiper;const suffixes=prepareClasses(['initialized',params.direction,{'free-mode':swiper.params.freeMode&¶ms.freeMode.enabled},{'autoheight':params.autoHeight},{'rtl':rtl},{'grid':params.grid&¶ms.grid.rows>1},{'grid-column':params.grid&¶ms.grid.rows>1&¶ms.grid.fill==='column'},{'android':device.android},{'ios':device.ios},{'css-mode':params.cssMode},{'centered':params.cssMode&¶ms.centeredSlides},{'watch-progress':params.watchSlidesProgress}],params.containerModifierClass);classNames.push(...suffixes);el.classList.add(...classNames);swiper.emitContainerClasses()} function removeClasses(){const swiper=this;const{el,classNames}=swiper;if(!el||typeof el==='string')return;el.classList.remove(...classNames);swiper.emitContainerClasses()} var classes={addClasses,removeClasses};function checkOverflow(){const swiper=this;const{isLocked:wasLocked,params}=swiper;const{slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1;const lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+slidesOffsetBefore*2;swiper.isLocked=swiper.size>lastSlideRightEdge}else{swiper.isLocked=swiper.snapGrid.length===1} if(params.allowSlideNext===!0){swiper.allowSlideNext=!swiper.isLocked} if(params.allowSlidePrev===!0){swiper.allowSlidePrev=!swiper.isLocked} if(wasLocked&&wasLocked!==swiper.isLocked){swiper.isEnd=!1} if(wasLocked!==swiper.isLocked){swiper.emit(swiper.isLocked?'lock':'unlock')}} var checkOverflow$1={checkOverflow};var defaults={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:undefined,breakpointsBase:'window',spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:0.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:0.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,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 moduleExtendParams(params,allModulesParams){return function extendParams(obj){if(obj===void 0){obj={}} const moduleParamName=Object.keys(obj)[0];const moduleParams=obj[moduleParamName];if(typeof moduleParams!=='object'||moduleParams===null){extend(allModulesParams,obj);return} if(params[moduleParamName]===!0){params[moduleParamName]={enabled:!0}} if(moduleParamName==='navigation'&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl){params[moduleParamName].auto=!0} if(['pagination','scrollbar'].indexOf(moduleParamName)>=0&¶ms[moduleParamName]&¶ms[moduleParamName].enabled&&!params[moduleParamName].el){params[moduleParamName].auto=!0} if(!(moduleParamName in params&&'enabled' in moduleParams)){extend(allModulesParams,obj);return} if(typeof params[moduleParamName]==='object'&&!('enabled' in params[moduleParamName])){params[moduleParamName].enabled=!0} if(!params[moduleParamName])params[moduleParamName]={enabled:!1};extend(allModulesParams,obj)}} const prototypes={eventsEmitter,update,translate,transition,slide,loop,grabCursor,events:events$1,breakpoints,checkOverflow:checkOverflow$1,classes};const extendedDefaults={};class Swiper{constructor(){let el;let params;for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key]} if(args.length===1&&args[0].constructor&&Object.prototype.toString.call(args[0]).slice(8,-1)==='Object'){params=args[0]}else{[el,params]=args} if(!params)params={};params=extend({},params);if(el&&!params.el)params.el=el;const document=getDocument();if(params.el&&typeof params.el==='string'&&document.querySelectorAll(params.el).length>1){const swipers=[];document.querySelectorAll(params.el).forEach(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))});return swipers} const swiper=this;swiper.__swiper__=!0;swiper.support=getSupport();swiper.device=getDevice({userAgent:params.userAgent});swiper.browser=getBrowser();swiper.eventsListeners={};swiper.eventsAnyListeners=[];swiper.modules=[...swiper.__modules__];if(params.modules&&Array.isArray(params.modules)){swiper.modules.push(...params.modules)} const allModulesParams={};swiper.modules.forEach(mod=>{mod({params,swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper)})});const swiperParams=extend({},defaults,allModulesParams);swiper.params=extend({},swiperParams,extendedDefaults,params);swiper.originalParams=extend({},swiper.params);swiper.passedParams=extend({},params);if(swiper.params&&swiper.params.on){Object.keys(swiper.params.on).forEach(eventName=>{swiper.on(eventName,swiper.params.on[eventName])})} if(swiper.params&&swiper.params.onAny){swiper.onAny(swiper.params.onAny)} Object.assign(swiper,{enabled:swiper.params.enabled,el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return swiper.params.direction==='horizontal'},isVertical(){return swiper.params.direction==='vertical'},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:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEventsData:{isTouched:undefined,isMoved:undefined,allowTouchCallbacks:undefined,touchStartTime:undefined,isScrolling:undefined,currentTranslate:undefined,startTranslate:undefined,allowThresholdMove:undefined,focusableElements:swiper.params.focusableElements,lastClickTime:0,clickTimeout:undefined,velocities:[],allowMomentumBounce:undefined,startMoving:undefined,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0});swiper.emit('_swiper');if(swiper.params.init){swiper.init()} return swiper} getDirectionLabel(property){if(this.isHorizontal()){return property} return{'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'}[property]} getSlideIndex(slideEl){const{slidesEl,params}=this;const slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`);const firstSlideIndex=elementIndex(slides[0]);return elementIndex(slideEl)-firstSlideIndex} getSlideIndexByData(index){return this.getSlideIndex(this.slides.filter(slideEl=>slideEl.getAttribute('data-swiper-slide-index')*1===index)[0])} recalcSlides(){const swiper=this;const{slidesEl,params}=swiper;swiper.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)} enable(){const swiper=this;if(swiper.enabled)return;swiper.enabled=!0;if(swiper.params.grabCursor){swiper.setGrabCursor()} swiper.emit('enable')} disable(){const swiper=this;if(!swiper.enabled)return;swiper.enabled=!1;if(swiper.params.grabCursor){swiper.unsetGrabCursor()} swiper.emit('disable')} setProgress(progress,speed){const swiper=this;progress=Math.min(Math.max(progress,0),1);const min=swiper.minTranslate();const max=swiper.maxTranslate();const current=(max-min)*progress+min;swiper.translateTo(current,typeof speed==='undefined'?0:speed);swiper.updateActiveIndex();swiper.updateSlidesClasses()} emitContainerClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const cls=swiper.el.className.split(' ').filter(className=>{return className.indexOf('swiper')===0||className.indexOf(swiper.params.containerModifierClass)===0});swiper.emit('_containerClasses',cls.join(' '))} getSlideClasses(slideEl){const swiper=this;if(swiper.destroyed)return'';return slideEl.className.split(' ').filter(className=>{return className.indexOf('swiper-slide')===0||className.indexOf(swiper.params.slideClass)===0}).join(' ')} emitSlidesClasses(){const swiper=this;if(!swiper.params._emitClasses||!swiper.el)return;const updates=[];swiper.slides.forEach(slideEl=>{const classNames=swiper.getSlideClasses(slideEl);updates.push({slideEl,classNames});swiper.emit('_slideClass',slideEl,classNames)});swiper.emit('_slideClasses',updates)} slidesPerViewDynamic(view,exact){if(view===void 0){view='current'} if(exact===void 0){exact=!1} const swiper=this;const{params,slides,slidesGrid,slidesSizesGrid,size:swiperSize,activeIndex}=swiper;let spv=1;if(typeof params.slidesPerView==='number')return params.slidesPerView;if(params.centeredSlides){let slideSize=slides[activeIndex]?Math.ceil(slides[activeIndex].swiperSlideSize):0;let breakLoop;for(let i=activeIndex+1;iswiperSize)breakLoop=!0}} for(let i=activeIndex-1;i>=0;i-=1){if(slides[i]&&!breakLoop){slideSize+=slides[i].swiperSlideSize;spv+=1;if(slideSize>swiperSize)breakLoop=!0}}}else{if(view==='current'){for(let i=activeIndex+1;i=0;i-=1){const slideInView=slidesGrid[activeIndex]-slidesGrid[i]{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}});swiper.updateSize();swiper.updateSlides();swiper.updateProgress();swiper.updateSlidesClasses();function setTranslate(){const translateValue=swiper.rtlTranslate?swiper.translate*-1:swiper.translate;const newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate);swiper.updateActiveIndex();swiper.updateSlidesClasses()} let translated;if(params.freeMode&¶ms.freeMode.enabled&&!params.cssMode){setTranslate();if(params.autoHeight){swiper.updateAutoHeight()}}else{if((params.slidesPerView==='auto'||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slides=swiper.virtual&¶ms.virtual.enabled?swiper.virtual.slides:swiper.slides;translated=swiper.slideTo(slides.length-1,0,!1,!0)}else{translated=swiper.slideTo(swiper.activeIndex,0,!1,!0)} if(!translated){setTranslate()}} if(params.watchOverflow&&snapGrid!==swiper.snapGrid){swiper.checkOverflow()} swiper.emit('update')} changeDirection(newDirection,needUpdate){if(needUpdate===void 0){needUpdate=!0} const swiper=this;const currentDirection=swiper.params.direction;if(!newDirection){newDirection=currentDirection==='horizontal'?'vertical':'horizontal'} if(newDirection===currentDirection||newDirection!=='horizontal'&&newDirection!=='vertical'){return swiper} swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);swiper.emitContainerClasses();swiper.params.direction=newDirection;swiper.slides.forEach(slideEl=>{if(newDirection==='vertical'){slideEl.style.width=''}else{slideEl.style.height=''}});swiper.emit('changeDirection');if(needUpdate)swiper.update();return swiper} changeLanguageDirection(direction){const swiper=this;if(swiper.rtl&&direction==='rtl'||!swiper.rtl&&direction==='ltr')return;swiper.rtl=direction==='rtl';swiper.rtlTranslate=swiper.params.direction==='horizontal'&&swiper.rtl;if(swiper.rtl){swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir='rtl'}else{swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);swiper.el.dir='ltr'} swiper.update()} mount(element){const swiper=this;if(swiper.mounted)return!0;let el=element||swiper.params.el;if(typeof el==='string'){el=document.querySelector(el)} if(!el){return!1} el.swiper=swiper;if(el.parentNode&&el.parentNode.host&&el.parentNode.host.nodeName===swiper.params.swiperElementNodeName.toUpperCase()){swiper.isElement=!0} const getWrapperSelector=()=>{return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`};const getWrapper=()=>{if(el&&el.shadowRoot&&el.shadowRoot.querySelector){const res=el.shadowRoot.querySelector(getWrapperSelector());return res} return elementChildren(el,getWrapperSelector())[0]};let wrapperEl=getWrapper();if(!wrapperEl&&swiper.params.createElements){wrapperEl=createElement('div',swiper.params.wrapperClass);el.append(wrapperEl);elementChildren(el,`.${swiper.params.slideClass}`).forEach(slideEl=>{wrapperEl.append(slideEl)})} Object.assign(swiper,{el,wrapperEl,slidesEl:swiper.isElement&&!el.parentNode.host.slideSlots?el.parentNode.host:wrapperEl,hostEl:swiper.isElement?el.parentNode.host:el,mounted:!0,rtl:el.dir.toLowerCase()==='rtl'||elementStyle(el,'direction')==='rtl',rtlTranslate:swiper.params.direction==='horizontal'&&(el.dir.toLowerCase()==='rtl'||elementStyle(el,'direction')==='rtl'),wrongRTL:elementStyle(wrapperEl,'display')==='-webkit-box'});return!0} init(el){const swiper=this;if(swiper.initialized)return swiper;const mounted=swiper.mount(el);if(mounted===!1)return swiper;swiper.emit('beforeInit');if(swiper.params.breakpoints){swiper.setBreakpoint()} swiper.addClasses();swiper.updateSize();swiper.updateSlides();if(swiper.params.watchOverflow){swiper.checkOverflow()} if(swiper.params.grabCursor&&swiper.enabled){swiper.setGrabCursor()} if(swiper.params.loop&&swiper.virtual&&swiper.params.virtual.enabled){swiper.slideTo(swiper.params.initialSlide+swiper.virtual.slidesBefore,0,swiper.params.runCallbacksOnInit,!1,!0)}else{swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,!1,!0)} if(swiper.params.loop){swiper.loopCreate()} swiper.attachEvents();const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];if(swiper.isElement){lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]'))} lazyElements.forEach(imageEl=>{if(imageEl.complete){processLazyPreloader(swiper,imageEl)}else{imageEl.addEventListener('load',e=>{processLazyPreloader(swiper,e.target)})}});preload(swiper);swiper.initialized=!0;preload(swiper);swiper.emit('init');swiper.emit('afterInit');return swiper} destroy(deleteInstance,cleanStyles){if(deleteInstance===void 0){deleteInstance=!0} if(cleanStyles===void 0){cleanStyles=!0} const swiper=this;const{params,el,wrapperEl,slides}=swiper;if(typeof swiper.params==='undefined'||swiper.destroyed){return null} swiper.emit('beforeDestroy');swiper.initialized=!1;swiper.detachEvents();if(params.loop){swiper.loopDestroy()} if(cleanStyles){swiper.removeClasses();if(el&&typeof el!=='string'){el.removeAttribute('style')} if(wrapperEl){wrapperEl.removeAttribute('style')} if(slides&&slides.length){slides.forEach(slideEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass);slideEl.removeAttribute('style');slideEl.removeAttribute('data-swiper-slide-index')})}} swiper.emit('destroy');Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)});if(deleteInstance!==!1){if(swiper.el&&typeof swiper.el!=='string'){swiper.el.swiper=null} deleteProps(swiper)} swiper.destroyed=!0;return null} static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)} static get extendedDefaults(){return extendedDefaults} static get defaults(){return defaults} static installModule(mod){if(!Swiper.prototype.__modules__)Swiper.prototype.__modules__=[];const modules=Swiper.prototype.__modules__;if(typeof mod==='function'&&modules.indexOf(mod)<0){modules.push(mod)}} static use(module){if(Array.isArray(module)){module.forEach(m=>Swiper.installModule(m));return Swiper} Swiper.installModule(module);return Swiper}} Object.keys(prototypes).forEach(prototypeGroup=>{Object.keys(prototypes[prototypeGroup]).forEach(protoMethod=>{Swiper.prototype[protoMethod]=prototypes[prototypeGroup][protoMethod]})});Swiper.use([Resize,Observer]);function Virtual(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,renderExternalUpdate:!0,addSlidesBefore:0,addSlidesAfter:0}});let cssModeTimeout;const document=getDocument();swiper.virtual={cache:{},from:undefined,to:undefined,slides:[],offset:0,slidesGrid:[]};const tempDOM=document.createElement('div');function renderSlide(slide,index){const params=swiper.params.virtual;if(params.cache&&swiper.virtual.cache[index]){return swiper.virtual.cache[index]} let slideEl;if(params.renderSlide){slideEl=params.renderSlide.call(swiper,slide,index);if(typeof slideEl==='string'){tempDOM.innerHTML=slideEl;slideEl=tempDOM.children[0]}}else if(swiper.isElement){slideEl=createElement('swiper-slide')}else{slideEl=createElement('div',swiper.params.slideClass)} slideEl.setAttribute('data-swiper-slide-index',index);if(!params.renderSlide){slideEl.innerHTML=slide} if(params.cache){swiper.virtual.cache[index]=slideEl} return slideEl} function update(force,beforeInit){const{slidesPerView,slidesPerGroup,centeredSlides,loop:isLoop,initialSlide}=swiper.params;if(beforeInit&&!isLoop&&initialSlide>0){return} const{addSlidesBefore,addSlidesAfter}=swiper.params.virtual;const{from:previousFrom,to:previousTo,slides,slidesGrid:previousSlidesGrid,offset:previousOffset}=swiper.virtual;if(!swiper.params.cssMode){swiper.updateActiveIndex()} const activeIndex=swiper.activeIndex||0;let offsetProp;if(swiper.rtlTranslate)offsetProp='right';else offsetProp=swiper.isHorizontal()?'left':'top';let slidesAfter;let slidesBefore;if(centeredSlides){slidesAfter=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesAfter;slidesBefore=Math.floor(slidesPerView/2)+slidesPerGroup+addSlidesBefore}else{slidesAfter=slidesPerView+(slidesPerGroup-1)+addSlidesAfter;slidesBefore=(isLoop?slidesPerView:slidesPerGroup)+addSlidesBefore} let from=activeIndex-slidesBefore;let to=activeIndex+slidesAfter;if(!isLoop){from=Math.max(from,0);to=Math.min(to,slides.length-1)} let offset=(swiper.slidesGrid[from]||0)-(swiper.slidesGrid[0]||0);if(isLoop&&activeIndex>=slidesBefore){from-=slidesBefore;if(!centeredSlides)offset+=swiper.slidesGrid[0]}else if(isLoop&&activeIndex{slideEl.style[offsetProp]=`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`})} swiper.updateProgress();emit('virtualUpdate');return} if(swiper.params.virtual.renderExternal){swiper.params.virtual.renderExternal.call(swiper,{offset,from,to,slides:function getSlides(){const slidesToRender=[];for(let i=from;i<=to;i+=1){slidesToRender.push(slides[i])} return slidesToRender}()});if(swiper.params.virtual.renderExternalUpdate){onRendered()}else{emit('virtualUpdate')} return} const prependIndexes=[];const appendIndexes=[];const getSlideIndex=index=>{let slideIndex=index;if(index<0){slideIndex=slides.length+index}else if(slideIndex>=slides.length){slideIndex=slideIndex-slides.length} return slideIndex};if(force){swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`)).forEach(slideEl=>{slideEl.remove()})}else{for(let i=previousFrom;i<=previousTo;i+=1){if(ito){const slideIndex=getSlideIndex(i);swiper.slides.filter(el=>el.matches(`.${swiper.params.slideClass}[data-swiper-slide-index="${slideIndex}"], swiper-slide[data-swiper-slide-index="${slideIndex}"]`)).forEach(slideEl=>{slideEl.remove()})}}} const loopFrom=isLoop?-slides.length:0;const loopTo=isLoop?slides.length*2:slides.length;for(let i=loopFrom;i=from&&i<=to){const slideIndex=getSlideIndex(i);if(typeof previousTo==='undefined'||force){appendIndexes.push(slideIndex)}else{if(i>previousTo)appendIndexes.push(slideIndex);if(i{swiper.slidesEl.append(renderSlide(slides[index],index))});if(isLoop){for(let i=prependIndexes.length-1;i>=0;i-=1){const index=prependIndexes[i];swiper.slidesEl.prepend(renderSlide(slides[index],index))}}else{prependIndexes.sort((a,b)=>b-a);prependIndexes.forEach(index=>{swiper.slidesEl.prepend(renderSlide(slides[index],index))})} elementChildren(swiper.slidesEl,'.swiper-slide, swiper-slide').forEach(slideEl=>{slideEl.style[offsetProp]=`${offset - Math.abs(swiper.cssOverflowAdjustment())}px`});onRendered()} function appendSlide(slides){if(typeof slides==='object'&&'length' in slides){for(let i=0;i{const cachedEl=cache[cachedIndex];const cachedElIndex=cachedEl.getAttribute('data-swiper-slide-index');if(cachedElIndex){cachedEl.setAttribute('data-swiper-slide-index',parseInt(cachedElIndex,10)+numberOfNewSlides)} newCache[parseInt(cachedIndex,10)+numberOfNewSlides]=cachedEl});swiper.virtual.cache=newCache} update(!0);swiper.slideTo(newActiveIndex,0)} function removeSlide(slidesIndexes){if(typeof slidesIndexes==='undefined'||slidesIndexes===null)return;let activeIndex=swiper.activeIndex;if(Array.isArray(slidesIndexes)){for(let i=slidesIndexes.length-1;i>=0;i-=1){if(swiper.params.virtual.cache){delete swiper.virtual.cache[slidesIndexes[i]];Object.keys(swiper.virtual.cache).forEach(key=>{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute('data-swiper-slide-index',key-1);delete swiper.virtual.cache[key]}})} swiper.virtual.slides.splice(slidesIndexes[i],1);if(slidesIndexes[i]{if(key>slidesIndexes){swiper.virtual.cache[key-1]=swiper.virtual.cache[key];swiper.virtual.cache[key-1].setAttribute('data-swiper-slide-index',key-1);delete swiper.virtual.cache[key]}})} swiper.virtual.slides.splice(slidesIndexes,1);if(slidesIndexes{if(!swiper.params.virtual.enabled)return;let domSlidesAssigned;if(typeof swiper.passedParams.virtual.slides==='undefined'){const slides=[...swiper.slidesEl.children].filter(el=>el.matches(`.${swiper.params.slideClass}, swiper-slide`));if(slides&&slides.length){swiper.virtual.slides=[...slides];domSlidesAssigned=!0;slides.forEach((slideEl,slideIndex)=>{slideEl.setAttribute('data-swiper-slide-index',slideIndex);swiper.virtual.cache[slideIndex]=slideEl;slideEl.remove()})}} if(!domSlidesAssigned){swiper.virtual.slides=swiper.params.virtual.slides} swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0;update(!1,!0)});on('setTranslate',()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode&&!swiper._immediateVirtual){clearTimeout(cssModeTimeout);cssModeTimeout=setTimeout(()=>{update()},100)}else{update()}});on('init update resize',()=>{if(!swiper.params.virtual.enabled)return;if(swiper.params.cssMode){setCSSProperty(swiper.wrapperEl,'--swiper-virtual-size',`${swiper.virtualSize}px`)}});Object.assign(swiper.virtual,{appendSlide,prependSlide,removeSlide,removeAllSlides,update})} function Keyboard(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();const window=getWindow();swiper.keyboard={enabled:!1};extendParams({keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}});function handle(event){if(!swiper.enabled)return;const{rtlTranslate:rtl}=swiper;let e=event;if(e.originalEvent)e=e.originalEvent;const kc=e.keyCode||e.charCode;const pageUpDown=swiper.params.keyboard.pageUpDown;const isPageUp=pageUpDown&&kc===33;const isPageDown=pageUpDown&&kc===34;const isArrowLeft=kc===37;const isArrowRight=kc===39;const isArrowUp=kc===38;const isArrowDown=kc===40;if(!swiper.allowSlideNext&&(swiper.isHorizontal()&&isArrowRight||swiper.isVertical()&&isArrowDown||isPageDown)){return!1} if(!swiper.allowSlidePrev&&(swiper.isHorizontal()&&isArrowLeft||swiper.isVertical()&&isArrowUp||isPageUp)){return!1} if(e.shiftKey||e.altKey||e.ctrlKey||e.metaKey){return undefined} if(document.activeElement&&document.activeElement.nodeName&&(document.activeElement.nodeName.toLowerCase()==='input'||document.activeElement.nodeName.toLowerCase()==='textarea')){return undefined} if(swiper.params.keyboard.onlyInViewport&&(isPageUp||isPageDown||isArrowLeft||isArrowRight||isArrowUp||isArrowDown)){let inView=!1;if(elementParents(swiper.el,`.${swiper.params.slideClass}, swiper-slide`).length>0&&elementParents(swiper.el,`.${swiper.params.slideActiveClass}`).length===0){return undefined} const el=swiper.el;const swiperWidth=el.clientWidth;const swiperHeight=el.clientHeight;const windowWidth=window.innerWidth;const windowHeight=window.innerHeight;const swiperOffset=elementOffset(el);if(rtl)swiperOffset.left-=el.scrollLeft;const swiperCoord=[[swiperOffset.left,swiperOffset.top],[swiperOffset.left+swiperWidth,swiperOffset.top],[swiperOffset.left,swiperOffset.top+swiperHeight],[swiperOffset.left+swiperWidth,swiperOffset.top+swiperHeight]];for(let i=0;i=0&&point[0]<=windowWidth&&point[1]>=0&&point[1]<=windowHeight){if(point[0]===0&&point[1]===0)continue;inView=!0}} if(!inView)return undefined} if(swiper.isHorizontal()){if(isPageUp||isPageDown||isArrowLeft||isArrowRight){if(e.preventDefault)e.preventDefault();else e.returnValue=!1} if((isPageDown||isArrowRight)&&!rtl||(isPageUp||isArrowLeft)&&rtl)swiper.slideNext();if((isPageUp||isArrowLeft)&&!rtl||(isPageDown||isArrowRight)&&rtl)swiper.slidePrev();}else{if(isPageUp||isPageDown||isArrowUp||isArrowDown){if(e.preventDefault)e.preventDefault();else e.returnValue=!1} if(isPageDown||isArrowDown)swiper.slideNext();if(isPageUp||isArrowUp)swiper.slidePrev();} emit('keyPress',kc);return undefined} function enable(){if(swiper.keyboard.enabled)return;document.addEventListener('keydown',handle);swiper.keyboard.enabled=!0} function disable(){if(!swiper.keyboard.enabled)return;document.removeEventListener('keydown',handle);swiper.keyboard.enabled=!1} on('init',()=>{if(swiper.params.keyboard.enabled){enable()}});on('destroy',()=>{if(swiper.keyboard.enabled){disable()}});Object.assign(swiper.keyboard,{enable,disable})} function Mousewheel(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarget:'container',thresholdDelta:null,thresholdTime:null,noMousewheelClass:'swiper-no-mousewheel'}});swiper.mousewheel={enabled:!1};let timeout;let lastScrollTime=now();let lastEventBeforeSnap;const recentWheelEvents=[];function normalize(e){const PIXEL_STEP=10;const LINE_HEIGHT=40;const PAGE_HEIGHT=800;let sX=0;let sY=0;let pX=0;let pY=0;if('detail' in e){sY=e.detail} if('wheelDelta' in e){sY=-e.wheelDelta/120} if('wheelDeltaY' in e){sY=-e.wheelDeltaY/120} if('wheelDeltaX' in e){sX=-e.wheelDeltaX/120} if('axis' in e&&e.axis===e.HORIZONTAL_AXIS){sX=sY;sY=0} pX=sX*PIXEL_STEP;pY=sY*PIXEL_STEP;if('deltaY' in e){pY=e.deltaY} if('deltaX' in e){pX=e.deltaX} if(e.shiftKey&&!pX){pX=pY;pY=0} if((pX||pY)&&e.deltaMode){if(e.deltaMode===1){pX*=LINE_HEIGHT;pY*=LINE_HEIGHT}else{pX*=PAGE_HEIGHT;pY*=PAGE_HEIGHT}} if(pX&&!sX){sX=pX<1?-1:1} if(pY&&!sY){sY=pY<1?-1:1} return{spinX:sX,spinY:sY,pixelX:pX,pixelY:pY}} function handleMouseEnter(){if(!swiper.enabled)return;swiper.mouseEntered=!0} function handleMouseLeave(){if(!swiper.enabled)return;swiper.mouseEntered=!1} function animateSlider(newEvent){if(swiper.params.mousewheel.thresholdDelta&&newEvent.delta=6&&now()-lastScrollTime<60){return!0} if(newEvent.direction<0){if((!swiper.isEnd||swiper.params.loop)&&!swiper.animating){swiper.slideNext();emit('scroll',newEvent.raw)}}else if((!swiper.isBeginning||swiper.params.loop)&&!swiper.animating){swiper.slidePrev();emit('scroll',newEvent.raw)} lastScrollTime=new window.Date().getTime();return!1} function releaseScroll(newEvent){const params=swiper.params.mousewheel;if(newEvent.direction<0){if(swiper.isEnd&&!swiper.params.loop&¶ms.releaseOnEdges){return!0}}else if(swiper.isBeginning&&!swiper.params.loop&¶ms.releaseOnEdges){return!0} return!1} function handle(event){let e=event;let disableParentSwiper=!0;if(!swiper.enabled)return;if(event.target.closest(`.${swiper.params.mousewheel.noMousewheelClass}`))return;const params=swiper.params.mousewheel;if(swiper.params.cssMode){e.preventDefault()} let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=='container'){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)} const targetElContainsTarget=targetEl&&targetEl.contains(e.target);if(!swiper.mouseEntered&&!targetElContainsTarget&&!params.releaseOnEdges)return!0;if(e.originalEvent)e=e.originalEvent;let delta=0;const rtlFactor=swiper.rtlTranslate?-1:1;const data=normalize(e);if(params.forceToAxis){if(swiper.isHorizontal()){if(Math.abs(data.pixelX)>Math.abs(data.pixelY))delta=-data.pixelX*rtlFactor;else return!0}else if(Math.abs(data.pixelY)>Math.abs(data.pixelX))delta=-data.pixelY;else return!0}else{delta=Math.abs(data.pixelX)>Math.abs(data.pixelY)?-data.pixelX*rtlFactor:-data.pixelY} if(delta===0)return!0;if(params.invert)delta=-delta;let positions=swiper.getTranslate()+delta*params.sensitivity;if(positions>=swiper.minTranslate())positions=swiper.minTranslate();if(positions<=swiper.maxTranslate())positions=swiper.maxTranslate();disableParentSwiper=swiper.params.loop?!0:!(positions===swiper.minTranslate()||positions===swiper.maxTranslate());if(disableParentSwiper&&swiper.params.nested)e.stopPropagation();if(!swiper.params.freeMode||!swiper.params.freeMode.enabled){const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta),raw:event};if(recentWheelEvents.length>=2){recentWheelEvents.shift()} const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;recentWheelEvents.push(newEvent);if(prevEvent){if(newEvent.direction!==prevEvent.direction||newEvent.delta>prevEvent.delta||newEvent.time>prevEvent.time+150){animateSlider(newEvent)}}else{animateSlider(newEvent)} if(releaseScroll(newEvent)){return!0}}else{const newEvent={time:now(),delta:Math.abs(delta),direction:Math.sign(delta)};const ignoreWheelEvents=lastEventBeforeSnap&&newEvent.time=swiper.minTranslate())position=swiper.minTranslate();if(position<=swiper.maxTranslate())position=swiper.maxTranslate();swiper.setTransition(0);swiper.setTranslate(position);swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses();if(!wasBeginning&&swiper.isBeginning||!wasEnd&&swiper.isEnd){swiper.updateSlidesClasses()} if(swiper.params.loop){swiper.loopFix({direction:newEvent.direction<0?'next':'prev',byMousewheel:!0})} if(swiper.params.freeMode.sticky){clearTimeout(timeout);timeout=undefined;if(recentWheelEvents.length>=15){recentWheelEvents.shift()} const prevEvent=recentWheelEvents.length?recentWheelEvents[recentWheelEvents.length-1]:undefined;const firstEvent=recentWheelEvents[0];recentWheelEvents.push(newEvent);if(prevEvent&&(newEvent.delta>prevEvent.delta||newEvent.direction!==prevEvent.direction)){recentWheelEvents.splice(0)}else if(recentWheelEvents.length>=15&&newEvent.time-firstEvent.time<500&&firstEvent.delta-newEvent.delta>=1&&newEvent.delta<=6){const snapToThreshold=delta>0?0.8:0.2;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);timeout=nextTick(()=>{swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},0)} if(!timeout){timeout=nextTick(()=>{const snapToThreshold=0.5;lastEventBeforeSnap=newEvent;recentWheelEvents.splice(0);swiper.slideToClosest(swiper.params.speed,!0,undefined,snapToThreshold)},500)}} if(!ignoreWheelEvents)emit('scroll',e);if(swiper.params.autoplay&&swiper.params.autoplayDisableOnInteraction)swiper.autoplay.stop();if(params.releaseOnEdges&&(position===swiper.minTranslate()||position===swiper.maxTranslate())){return!0}}} if(e.preventDefault)e.preventDefault();else e.returnValue=!1;return!1} function events(method){let targetEl=swiper.el;if(swiper.params.mousewheel.eventsTarget!=='container'){targetEl=document.querySelector(swiper.params.mousewheel.eventsTarget)} targetEl[method]('mouseenter',handleMouseEnter);targetEl[method]('mouseleave',handleMouseLeave);targetEl[method]('wheel',handle)} function enable(){if(swiper.params.cssMode){swiper.wrapperEl.removeEventListener('wheel',handle);return!0} if(swiper.mousewheel.enabled)return!1;events('addEventListener');swiper.mousewheel.enabled=!0;return!0} function disable(){if(swiper.params.cssMode){swiper.wrapperEl.addEventListener(event,handle);return!0} if(!swiper.mousewheel.enabled)return!1;events('removeEventListener');swiper.mousewheel.enabled=!1;return!0} on('init',()=>{if(!swiper.params.mousewheel.enabled&&swiper.params.cssMode){disable()} if(swiper.params.mousewheel.enabled)enable();});on('destroy',()=>{if(swiper.params.cssMode){enable()} if(swiper.mousewheel.enabled)disable();});Object.assign(swiper.mousewheel,{enable,disable})} function createElementIfNotDefined(swiper,originalParams,params,checkProps){if(swiper.params.createElements){Object.keys(checkProps).forEach(key=>{if(!params[key]&¶ms.auto===!0){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];if(!element){element=createElement('div',checkProps[key]);element.className=checkProps[key];swiper.el.append(element)} params[key]=element;originalParams[key]=element}})} return params} function Navigation(_ref){let{swiper,extendParams,on,emit}=_ref;extendParams({navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:'swiper-button-disabled',hiddenClass:'swiper-button-hidden',lockClass:'swiper-button-lock',navigationDisabledClass:'swiper-navigation-disabled'}});swiper.navigation={nextEl:null,prevEl:null};function getEl(el){let res;if(el&&typeof el==='string'&&swiper.isElement){res=swiper.el.querySelector(el);if(res)return res} if(el){if(typeof el==='string')res=[...document.querySelectorAll(el)];if(swiper.params.uniqueNavElements&&typeof el==='string'&&res&&res.length>1&&swiper.el.querySelectorAll(el).length===1){res=swiper.el.querySelector(el)}else if(res&&res.length===1){res=res[0]}} if(el&&!res)return el;return res} function toggleEl(el,disabled){const params=swiper.params.navigation;el=makeElementsArray(el);el.forEach(subEl=>{if(subEl){subEl.classList[disabled?'add':'remove'](...params.disabledClass.split(' '));if(subEl.tagName==='BUTTON')subEl.disabled=disabled;if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?'add':'remove'](params.lockClass)}}})} function update(){const{nextEl,prevEl}=swiper.navigation;if(swiper.params.loop){toggleEl(prevEl,!1);toggleEl(nextEl,!1);return} toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind);toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)} function onPrevClick(e){e.preventDefault();if(swiper.isBeginning&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slidePrev();emit('navigationPrev')} function onNextClick(e){e.preventDefault();if(swiper.isEnd&&!swiper.params.loop&&!swiper.params.rewind)return;swiper.slideNext();emit('navigationNext')} function init(){const params=swiper.params.navigation;swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:'swiper-button-next',prevEl:'swiper-button-prev'});if(!(params.nextEl||params.prevEl))return;let nextEl=getEl(params.nextEl);let prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl,prevEl});nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const initButton=(el,dir)=>{if(el){el.addEventListener('click',dir==='next'?onNextClick:onPrevClick)} if(!swiper.enabled&&el){el.classList.add(...params.lockClass.split(' '))}};nextEl.forEach(el=>initButton(el,'next'));prevEl.forEach(el=>initButton(el,'prev'))} function destroy(){let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const destroyButton=(el,dir)=>{el.removeEventListener('click',dir==='next'?onNextClick:onPrevClick);el.classList.remove(...swiper.params.navigation.disabledClass.split(' '))};nextEl.forEach(el=>destroyButton(el,'next'));prevEl.forEach(el=>destroyButton(el,'prev'))} on('init',()=>{if(swiper.params.navigation.enabled===!1){disable()}else{init();update()}});on('toEdge fromEdge lock unlock',()=>{update()});on('destroy',()=>{destroy()});on('enable disable',()=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(swiper.enabled){update();return}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.add(swiper.params.navigation.lockClass))});on('click',(_s,e)=>{let{nextEl,prevEl}=swiper.navigation;nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);const targetEl=e.target;let targetIsButton=prevEl.includes(targetEl)||nextEl.includes(targetEl);if(swiper.isElement&&!targetIsButton){const path=e.path||e.composedPath&&e.composedPath();if(path){targetIsButton=path.find(pathEl=>nextEl.includes(pathEl)||prevEl.includes(pathEl))}} if(swiper.params.navigation.hideOnClick&&!targetIsButton){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;if(nextEl.length){isHidden=nextEl[0].classList.contains(swiper.params.navigation.hiddenClass)}else if(prevEl.length){isHidden=prevEl[0].classList.contains(swiper.params.navigation.hiddenClass)} if(isHidden===!0){emit('navigationShow')}else{emit('navigationHide')}[...nextEl,...prevEl].filter(el=>!!el).forEach(el=>el.classList.toggle(swiper.params.navigation.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));init();update()};const disable=()=>{swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));destroy()};Object.assign(swiper.navigation,{enable,disable,update,init,destroy})} function classesToSelector(classes){if(classes===void 0){classes=''} return `.${classes.trim().replace(/([\.:!+\/])/g, '\\$1') // eslint-disable-line .replace(/ /g, '.')}`} function Pagination(_ref){let{swiper,extendParams,on,emit}=_ref;const pfx='swiper-pagination';extendParams({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:number=>number,formatFractionTotal:number=>number,bulletClass:`${pfx}-bullet`,bulletActiveClass:`${pfx}-bullet-active`,modifierClass:`${pfx}-`,currentClass:`${pfx}-current`,totalClass:`${pfx}-total`,hiddenClass:`${pfx}-hidden`,progressbarFillClass:`${pfx}-progressbar-fill`,progressbarOppositeClass:`${pfx}-progressbar-opposite`,clickableClass:`${pfx}-clickable`,lockClass:`${pfx}-lock`,horizontalClass:`${pfx}-horizontal`,verticalClass:`${pfx}-vertical`,paginationDisabledClass:`${pfx}-disabled`}});swiper.pagination={el:null,bullets:[]};let bulletSize;let dynamicBulletIndex=0;function isPaginationDisabled(){return!swiper.params.pagination.el||!swiper.pagination.el||Array.isArray(swiper.pagination.el)&&swiper.pagination.el.length===0} function setSideBullets(bulletEl,position){const{bulletActiveClass}=swiper.params.pagination;if(!bulletEl)return;bulletEl=bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}`);bulletEl=bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];if(bulletEl){bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`)}}} function onBulletClick(e){const bulletEl=e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));if(!bulletEl){return} e.preventDefault();const index=elementIndex(bulletEl)*swiper.params.slidesPerGroup;if(swiper.params.loop){if(swiper.realIndex===index)return;swiper.slideToLoop(index)}else{swiper.slideTo(index)}} function update(){const rtl=swiper.rtl;const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;el=makeElementsArray(el);let current;let previousIndex;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.slides.length;const total=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.loop){previousIndex=swiper.previousRealIndex||0;current=swiper.params.slidesPerGroup>1?Math.floor(swiper.realIndex/swiper.params.slidesPerGroup):swiper.realIndex}else if(typeof swiper.snapIndex!=='undefined'){current=swiper.snapIndex;previousIndex=swiper.previousSnapIndex}else{previousIndex=swiper.previousIndex||0;current=swiper.activeIndex||0} if(params.type==='bullets'&&swiper.pagination.bullets&&swiper.pagination.bullets.length>0){const bullets=swiper.pagination.bullets;let firstIndex;let lastIndex;let midIndex;if(params.dynamicBullets){bulletSize=elementOuterSize(bullets[0],swiper.isHorizontal()?'width':'height',!0);el.forEach(subEl=>{subEl.style[swiper.isHorizontal()?'width':'height']=`${bulletSize * (params.dynamicMainBullets + 4)}px`});if(params.dynamicMainBullets>1&&previousIndex!==undefined){dynamicBulletIndex+=current-(previousIndex||0);if(dynamicBulletIndex>params.dynamicMainBullets-1){dynamicBulletIndex=params.dynamicMainBullets-1}else if(dynamicBulletIndex<0){dynamicBulletIndex=0}} firstIndex=Math.max(current-dynamicBulletIndex,0);lastIndex=firstIndex+(Math.min(bullets.length,params.dynamicMainBullets)-1);midIndex=(lastIndex+firstIndex)/2} bullets.forEach(bulletEl=>{const classesToRemove=[...['','-next','-next-next','-prev','-prev-prev','-main'].map(suffix=>`${params.bulletActiveClass}${suffix}`)].map(s=>typeof s==='string'&&s.includes(' ')?s.split(' '):s).flat();bulletEl.classList.remove(...classesToRemove)});if(el.length>1){bullets.forEach(bullet=>{const bulletIndex=elementIndex(bullet);if(bulletIndex===current){bullet.classList.add(...params.bulletActiveClass.split(' '))}else if(swiper.isElement){bullet.setAttribute('part','bullet')} if(params.dynamicBullets){if(bulletIndex>=firstIndex&&bulletIndex<=lastIndex){bullet.classList.add(...`${params.bulletActiveClass}-main`.split(' '))} if(bulletIndex===firstIndex){setSideBullets(bullet,'prev')} if(bulletIndex===lastIndex){setSideBullets(bullet,'next')}}})}else{const bullet=bullets[current];if(bullet){bullet.classList.add(...params.bulletActiveClass.split(' '))} if(swiper.isElement){bullets.forEach((bulletEl,bulletIndex)=>{bulletEl.setAttribute('part',bulletIndex===current?'bullet-active':'bullet')})} if(params.dynamicBullets){const firstDisplayedBullet=bullets[firstIndex];const lastDisplayedBullet=bullets[lastIndex];for(let i=firstIndex;i<=lastIndex;i+=1){if(bullets[i]){bullets[i].classList.add(...`${params.bulletActiveClass}-main`.split(' '))}} setSideBullets(firstDisplayedBullet,'prev');setSideBullets(lastDisplayedBullet,'next')}} if(params.dynamicBullets){const dynamicBulletsLength=Math.min(bullets.length,params.dynamicMainBullets+4);const bulletsOffset=(bulletSize*dynamicBulletsLength-bulletSize)/2-midIndex*bulletSize;const offsetProp=rtl?'right':'left';bullets.forEach(bullet=>{bullet.style[swiper.isHorizontal()?offsetProp:'top']=`${bulletsOffset}px`})}} el.forEach((subEl,subElIndex)=>{if(params.type==='fraction'){subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl=>{fractionEl.textContent=params.formatFractionCurrent(current+1)});subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl=>{totalEl.textContent=params.formatFractionTotal(total)})} if(params.type==='progressbar'){let progressbarDirection;if(params.progressbarOpposite){progressbarDirection=swiper.isHorizontal()?'vertical':'horizontal'}else{progressbarDirection=swiper.isHorizontal()?'horizontal':'vertical'} const scale=(current+1)/total;let scaleX=1;let scaleY=1;if(progressbarDirection==='horizontal'){scaleX=scale}else{scaleY=scale} subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl=>{progressEl.style.transform=`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;progressEl.style.transitionDuration=`${swiper.params.speed}ms`})} if(params.type==='custom'&¶ms.renderCustom){subEl.innerHTML=params.renderCustom(swiper,current+1,total);if(subElIndex===0)emit('paginationRender',subEl);}else{if(subElIndex===0)emit('paginationRender',subEl);emit('paginationUpdate',subEl)} if(swiper.params.watchOverflow&&swiper.enabled){subEl.classList[swiper.isLocked?'add':'remove'](params.lockClass)}})} function render(){const params=swiper.params.pagination;if(isPaginationDisabled())return;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:swiper.grid&&swiper.params.grid.rows>1?swiper.slides.length/Math.ceil(swiper.params.grid.rows):swiper.slides.length;let el=swiper.pagination.el;el=makeElementsArray(el);let paginationHTML='';if(params.type==='bullets'){let numberOfBullets=swiper.params.loop?Math.ceil(slidesLength/swiper.params.slidesPerGroup):swiper.snapGrid.length;if(swiper.params.freeMode&&swiper.params.freeMode.enabled&&numberOfBullets>slidesLength){numberOfBullets=slidesLength} for(let i=0;i`}}} if(params.type==='fraction'){if(params.renderFraction){paginationHTML=params.renderFraction.call(swiper,params.currentClass,params.totalClass)}else{paginationHTML=``+' / '+``}} if(params.type==='progressbar'){if(params.renderProgressbar){paginationHTML=params.renderProgressbar.call(swiper,params.progressbarFillClass)}else{paginationHTML=``}} swiper.pagination.bullets=[];el.forEach(subEl=>{if(params.type!=='custom'){subEl.innerHTML=paginationHTML||''} if(params.type==='bullets'){swiper.pagination.bullets.push(...subEl.querySelectorAll(classesToSelector(params.bulletClass)))}});if(params.type!=='custom'){emit('paginationRender',el[0])}} function init(){swiper.params.pagination=createElementIfNotDefined(swiper,swiper.originalParams.pagination,swiper.params.pagination,{el:'swiper-pagination'});const params=swiper.params.pagination;if(!params.el)return;let el;if(typeof params.el==='string'&&swiper.isElement){el=swiper.el.querySelector(params.el)} if(!el&&typeof params.el==='string'){el=[...document.querySelectorAll(params.el)]} if(!el){el=params.el} if(!el||el.length===0)return;if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&Array.isArray(el)&&el.length>1){el=[...swiper.el.querySelectorAll(params.el)];if(el.length>1){el=el.filter(subEl=>{if(elementParents(subEl,'.swiper')[0]!==swiper.el)return!1;return!0})[0]}} if(Array.isArray(el)&&el.length===1)el=el[0];Object.assign(swiper.pagination,{el});el=makeElementsArray(el);el.forEach(subEl=>{if(params.type==='bullets'&¶ms.clickable){subEl.classList.add(...(params.clickableClass||'').split(' '))} subEl.classList.add(params.modifierClass+params.type);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.type==='bullets'&¶ms.dynamicBullets){subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);dynamicBulletIndex=0;if(params.dynamicMainBullets<1){params.dynamicMainBullets=1}} if(params.type==='progressbar'&¶ms.progressbarOpposite){subEl.classList.add(params.progressbarOppositeClass)} if(params.clickable){subEl.addEventListener('click',onBulletClick)} if(!swiper.enabled){subEl.classList.add(params.lockClass)}})} function destroy(){const params=swiper.params.pagination;if(isPaginationDisabled())return;let el=swiper.pagination.el;if(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.hiddenClass);subEl.classList.remove(params.modifierClass+params.type);subEl.classList.remove(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);if(params.clickable){subEl.classList.remove(...(params.clickableClass||'').split(' '));subEl.removeEventListener('click',onBulletClick)}})} if(swiper.pagination.bullets)swiper.pagination.bullets.forEach(subEl=>subEl.classList.remove(...params.bulletActiveClass.split(' ')));} on('changeDirection',()=>{if(!swiper.pagination||!swiper.pagination.el)return;const params=swiper.params.pagination;let{el}=swiper.pagination;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on('init',()=>{if(swiper.params.pagination.enabled===!1){disable()}else{init();render();update()}});on('activeIndexChange',()=>{if(typeof swiper.snapIndex==='undefined'){update()}});on('snapIndexChange',()=>{update()});on('snapGridLengthChange',()=>{render();update()});on('destroy',()=>{destroy()});on('enable disable',()=>{let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList[swiper.enabled?'remove':'add'](swiper.params.pagination.lockClass))}});on('lock unlock',()=>{update()});on('click',(_s,e)=>{const targetEl=e.target;const el=makeElementsArray(swiper.pagination.el);if(swiper.params.pagination.el&&swiper.params.pagination.hideOnClick&&el&&el.length>0&&!targetEl.classList.contains(swiper.params.pagination.bulletClass)){if(swiper.navigation&&(swiper.navigation.nextEl&&targetEl===swiper.navigation.nextEl||swiper.navigation.prevEl&&targetEl===swiper.navigation.prevEl))return;const isHidden=el[0].classList.contains(swiper.params.pagination.hiddenClass);if(isHidden===!0){emit('paginationShow')}else{emit('paginationHide')} el.forEach(subEl=>subEl.classList.toggle(swiper.params.pagination.hiddenClass))}});const enable=()=>{swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.remove(swiper.params.pagination.paginationDisabledClass))} init();render();update()};const disable=()=>{swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);let{el}=swiper.pagination;if(el){el=makeElementsArray(el);el.forEach(subEl=>subEl.classList.add(swiper.params.pagination.paginationDisabledClass))} destroy()};Object.assign(swiper.pagination,{enable,disable,render,update,init,destroy})} function Scrollbar(_ref){let{swiper,extendParams,on,emit}=_ref;const document=getDocument();let isTouched=!1;let timeout=null;let dragTimeout=null;let dragStartPos;let dragSize;let trackSize;let divider;extendParams({scrollbar:{el:null,dragSize:'auto',hide:!1,draggable:!1,snapOnRelease:!0,lockClass:'swiper-scrollbar-lock',dragClass:'swiper-scrollbar-drag',scrollbarDisabledClass:'swiper-scrollbar-disabled',horizontalClass:`swiper-scrollbar-horizontal`,verticalClass:`swiper-scrollbar-vertical`}});swiper.scrollbar={el:null,dragEl:null};function setTranslate(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar,rtlTranslate:rtl}=swiper;const{dragEl,el}=scrollbar;const params=swiper.params.scrollbar;const progress=swiper.params.loop?swiper.progressLoop:swiper.progress;let newSize=dragSize;let newPos=(trackSize-dragSize)*progress;if(rtl){newPos=-newPos;if(newPos>0){newSize=dragSize-newPos;newPos=0}else if(-newPos+dragSize>trackSize){newSize=trackSize+newPos}}else if(newPos<0){newSize=dragSize+newPos;newPos=0}else if(newPos+dragSize>trackSize){newSize=trackSize-newPos} if(swiper.isHorizontal()){dragEl.style.transform=`translate3d(${newPos}px, 0, 0)`;dragEl.style.width=`${newSize}px`}else{dragEl.style.transform=`translate3d(0px, ${newPos}px, 0)`;dragEl.style.height=`${newSize}px`} if(params.hide){clearTimeout(timeout);el.style.opacity=1;timeout=setTimeout(()=>{el.style.opacity=0;el.style.transitionDuration='400ms'},1000)}} function setTransition(duration){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;swiper.scrollbar.dragEl.style.transitionDuration=`${duration}ms`} function updateSize(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;const{scrollbar}=swiper;const{dragEl,el}=scrollbar;dragEl.style.width='';dragEl.style.height='';trackSize=swiper.isHorizontal()?el.offsetWidth:el.offsetHeight;divider=swiper.size/(swiper.virtualSize+swiper.params.slidesOffsetBefore-(swiper.params.centeredSlides?swiper.snapGrid[0]:0));if(swiper.params.scrollbar.dragSize==='auto'){dragSize=trackSize*divider}else{dragSize=parseInt(swiper.params.scrollbar.dragSize,10)} if(swiper.isHorizontal()){dragEl.style.width=`${dragSize}px`}else{dragEl.style.height=`${dragSize}px`} if(divider>=1){el.style.display='none'}else{el.style.display=''} if(swiper.params.scrollbar.hide){el.style.opacity=0} if(swiper.params.watchOverflow&&swiper.enabled){scrollbar.el.classList[swiper.isLocked?'add':'remove'](swiper.params.scrollbar.lockClass)}} function getPointerPosition(e){return swiper.isHorizontal()?e.clientX:e.clientY} function setDragPosition(e){const{scrollbar,rtlTranslate:rtl}=swiper;const{el}=scrollbar;let positionRatio;positionRatio=(getPointerPosition(e)-elementOffset(el)[swiper.isHorizontal()?'left':'top']-(dragStartPos!==null?dragStartPos:dragSize/2))/(trackSize-dragSize);positionRatio=Math.max(Math.min(positionRatio,1),0);if(rtl){positionRatio=1-positionRatio} const position=swiper.minTranslate()+(swiper.maxTranslate()-swiper.minTranslate())*positionRatio;swiper.updateProgress(position);swiper.setTranslate(position);swiper.updateActiveIndex();swiper.updateSlidesClasses()} function onDragStart(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;isTouched=!0;dragStartPos=e.target===dragEl?getPointerPosition(e)-e.target.getBoundingClientRect()[swiper.isHorizontal()?'left':'top']:null;e.preventDefault();e.stopPropagation();wrapperEl.style.transitionDuration='100ms';dragEl.style.transitionDuration='100ms';setDragPosition(e);clearTimeout(dragTimeout);el.style.transitionDuration='0ms';if(params.hide){el.style.opacity=1} if(swiper.params.cssMode){swiper.wrapperEl.style['scroll-snap-type']='none'} emit('scrollbarDragStart',e)} function onDragMove(e){const{scrollbar,wrapperEl}=swiper;const{el,dragEl}=scrollbar;if(!isTouched)return;if(e.preventDefault&&e.cancelable)e.preventDefault();else e.returnValue=!1;setDragPosition(e);wrapperEl.style.transitionDuration='0ms';el.style.transitionDuration='0ms';dragEl.style.transitionDuration='0ms';emit('scrollbarDragMove',e)} function onDragEnd(e){const params=swiper.params.scrollbar;const{scrollbar,wrapperEl}=swiper;const{el}=scrollbar;if(!isTouched)return;isTouched=!1;if(swiper.params.cssMode){swiper.wrapperEl.style['scroll-snap-type']='';wrapperEl.style.transitionDuration=''} if(params.hide){clearTimeout(dragTimeout);dragTimeout=nextTick(()=>{el.style.opacity=0;el.style.transitionDuration='400ms'},1000)} emit('scrollbarDragEnd',e);if(params.snapOnRelease){swiper.slideToClosest()}} function events(method){const{scrollbar,params}=swiper;const el=scrollbar.el;if(!el)return;const target=el;const activeListener=params.passiveListeners?{passive:!1,capture:!1}:!1;const passiveListener=params.passiveListeners?{passive:!0,capture:!1}:!1;if(!target)return;const eventMethod=method==='on'?'addEventListener':'removeEventListener';target[eventMethod]('pointerdown',onDragStart,activeListener);document[eventMethod]('pointermove',onDragMove,activeListener);document[eventMethod]('pointerup',onDragEnd,passiveListener)} function enableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events('on')} function disableDraggable(){if(!swiper.params.scrollbar.el||!swiper.scrollbar.el)return;events('off')} function init(){const{scrollbar,el:swiperEl}=swiper;swiper.params.scrollbar=createElementIfNotDefined(swiper,swiper.originalParams.scrollbar,swiper.params.scrollbar,{el:'swiper-scrollbar'});const params=swiper.params.scrollbar;if(!params.el)return;let el;if(typeof params.el==='string'&&swiper.isElement){el=swiper.el.querySelector(params.el)} if(!el&&typeof params.el==='string'){el=document.querySelectorAll(params.el);if(!el.length)return}else if(!el){el=params.el} if(swiper.params.uniqueNavElements&&typeof params.el==='string'&&el.length>1&&swiperEl.querySelectorAll(params.el).length===1){el=swiperEl.querySelector(params.el)} if(el.length>0)el=el[0];el.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass);let dragEl;if(el){dragEl=el.querySelector(classesToSelector(swiper.params.scrollbar.dragClass));if(!dragEl){dragEl=createElement('div',swiper.params.scrollbar.dragClass);el.append(dragEl)}} Object.assign(scrollbar,{el,dragEl});if(params.draggable){enableDraggable()} if(el){el.classList[swiper.enabled?'remove':'add'](...classesToTokens(swiper.params.scrollbar.lockClass))}} function destroy(){const params=swiper.params.scrollbar;const el=swiper.scrollbar.el;if(el){el.classList.remove(...classesToTokens(swiper.isHorizontal()?params.horizontalClass:params.verticalClass))} disableDraggable()} on('changeDirection',()=>{if(!swiper.scrollbar||!swiper.scrollbar.el)return;const params=swiper.params.scrollbar;let{el}=swiper.scrollbar;el=makeElementsArray(el);el.forEach(subEl=>{subEl.classList.remove(params.horizontalClass,params.verticalClass);subEl.classList.add(swiper.isHorizontal()?params.horizontalClass:params.verticalClass)})});on('init',()=>{if(swiper.params.scrollbar.enabled===!1){disable()}else{init();updateSize();setTranslate()}});on('update resize observerUpdate lock unlock changeDirection',()=>{updateSize()});on('setTranslate',()=>{setTranslate()});on('setTransition',(_s,duration)=>{setTransition(duration)});on('enable disable',()=>{const{el}=swiper.scrollbar;if(el){el.classList[swiper.enabled?'remove':'add'](...classesToTokens(swiper.params.scrollbar.lockClass))}});on('destroy',()=>{destroy()});const enable=()=>{swiper.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.remove(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))} init();updateSize();setTranslate()};const disable=()=>{swiper.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass));if(swiper.scrollbar.el){swiper.scrollbar.el.classList.add(...classesToTokens(swiper.params.scrollbar.scrollbarDisabledClass))} destroy()};Object.assign(swiper.scrollbar,{enable,disable,updateSize,setTranslate,init,destroy})} function Parallax(_ref){let{swiper,extendParams,on}=_ref;extendParams({parallax:{enabled:!1}});const elementsSelector='[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]';const setTransform=(el,progress)=>{const{rtl}=swiper;const rtlFactor=rtl?-1:1;const p=el.getAttribute('data-swiper-parallax')||'0';let x=el.getAttribute('data-swiper-parallax-x');let y=el.getAttribute('data-swiper-parallax-y');const scale=el.getAttribute('data-swiper-parallax-scale');const opacity=el.getAttribute('data-swiper-parallax-opacity');const rotate=el.getAttribute('data-swiper-parallax-rotate');if(x||y){x=x||'0';y=y||'0'}else if(swiper.isHorizontal()){x=p;y='0'}else{y=p;x='0'} if(x.indexOf('%')>=0){x=`${parseInt(x, 10) * progress * rtlFactor}%`}else{x=`${x * progress * rtlFactor}px`} if(y.indexOf('%')>=0){y=`${parseInt(y, 10) * progress}%`}else{y=`${y * progress}px`} if(typeof opacity!=='undefined'&&opacity!==null){const currentOpacity=opacity-(opacity-1)*(1-Math.abs(progress));el.style.opacity=currentOpacity} let transform=`translate3d(${x}, ${y}, 0px)`;if(typeof scale!=='undefined'&&scale!==null){const currentScale=scale-(scale-1)*(1-Math.abs(progress));transform+=` scale(${currentScale})`} if(rotate&&typeof rotate!=='undefined'&&rotate!==null){const currentRotate=rotate*progress*-1;transform+=` rotate(${currentRotate}deg)`} el.style.transform=transform};const setTranslate=()=>{const{el,slides,progress,snapGrid,isElement}=swiper;const elements=elementChildren(el,elementsSelector);if(swiper.isElement){elements.push(...elementChildren(swiper.hostEl,elementsSelector))} elements.forEach(subEl=>{setTransform(subEl,progress)});slides.forEach((slideEl,slideIndex)=>{let slideProgress=slideEl.progress;if(swiper.params.slidesPerGroup>1&&swiper.params.slidesPerView!=='auto'){slideProgress+=Math.ceil(slideIndex/2)-progress*(snapGrid.length-1)} slideProgress=Math.min(Math.max(slideProgress,-1),1);slideEl.querySelectorAll(`${elementsSelector}, [data-swiper-parallax-rotate]`).forEach(subEl=>{setTransform(subEl,slideProgress)})})};const setTransition=function(duration){if(duration===void 0){duration=swiper.params.speed} const{el,hostEl}=swiper;const elements=[...el.querySelectorAll(elementsSelector)];if(swiper.isElement){elements.push(...hostEl.querySelectorAll(elementsSelector))} elements.forEach(parallaxEl=>{let parallaxDuration=parseInt(parallaxEl.getAttribute('data-swiper-parallax-duration'),10)||duration;if(duration===0)parallaxDuration=0;parallaxEl.style.transitionDuration=`${parallaxDuration}ms`})};on('beforeInit',()=>{if(!swiper.params.parallax.enabled)return;swiper.params.watchSlidesProgress=!0;swiper.originalParams.watchSlidesProgress=!0});on('init',()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on('setTranslate',()=>{if(!swiper.params.parallax.enabled)return;setTranslate()});on('setTransition',(_swiper,duration)=>{if(!swiper.params.parallax.enabled)return;setTransition(duration)})} function Zoom(_ref){let{swiper,extendParams,on,emit}=_ref;const window=getWindow();extendParams({zoom:{enabled:!1,limitToOriginalSize:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:'swiper-zoom-container',zoomedSlideClass:'swiper-slide-zoomed'}});swiper.zoom={enabled:!1};let currentScale=1;let isScaling=!1;let fakeGestureTouched;let fakeGestureMoved;const evCache=[];const gesture={originX:0,originY:0,slideEl:undefined,slideWidth:undefined,slideHeight:undefined,imageEl:undefined,imageWrapEl:undefined,maxRatio:3};const image={isTouched:undefined,isMoved:undefined,currentX:undefined,currentY:undefined,minX:undefined,minY:undefined,maxX:undefined,maxY:undefined,width:undefined,height:undefined,startX:undefined,startY:undefined,touchesStart:{},touchesCurrent:{}};const velocity={x:undefined,y:undefined,prevPositionX:undefined,prevPositionY:undefined,prevTime:undefined};let scale=1;Object.defineProperty(swiper.zoom,'scale',{get(){return scale},set(value){if(scale!==value){const imageEl=gesture.imageEl;const slideEl=gesture.slideEl;emit('zoomChange',value,imageEl,slideEl)} scale=value}});function getDistanceBetweenTouches(){if(evCache.length<2)return 1;const x1=evCache[0].pageX;const y1=evCache[0].pageY;const x2=evCache[1].pageX;const y2=evCache[1].pageY;const distance=Math.sqrt((x2-x1)**2+(y2-y1)**2);return distance} function getMaxRatio(){const params=swiper.params.zoom;const maxRatio=gesture.imageWrapEl.getAttribute('data-swiper-zoom')||params.maxRatio;if(params.limitToOriginalSize&&gesture.imageEl&&gesture.imageEl.naturalWidth){const imageMaxRatio=gesture.imageEl.naturalWidth/gesture.imageEl.offsetWidth;return Math.min(imageMaxRatio,maxRatio)} return maxRatio} function getScaleOrigin(){if(evCache.length<2)return{x:null,y:null};const box=gesture.imageEl.getBoundingClientRect();return[(evCache[0].pageX+(evCache[1].pageX-evCache[0].pageX)/2-box.x-window.scrollX)/currentScale,(evCache[0].pageY+(evCache[1].pageY-evCache[0].pageY)/2-box.y-window.scrollY)/currentScale]} function getSlideSelector(){return swiper.isElement?`swiper-slide`:`.${swiper.params.slideClass}`} function eventWithinSlide(e){const slideSelector=getSlideSelector();if(e.target.matches(slideSelector))return!0;if(swiper.slides.filter(slideEl=>slideEl.contains(e.target)).length>0)return!0;return!1} function eventWithinZoomContainer(e){const selector=`.${swiper.params.zoom.containerClass}`;if(e.target.matches(selector))return!0;if([...swiper.hostEl.querySelectorAll(selector)].filter(containerEl=>containerEl.contains(e.target)).length>0)return!0;return!1} function onGestureStart(e){if(e.pointerType==='mouse'){evCache.splice(0,evCache.length)} if(!eventWithinSlide(e))return;const params=swiper.params.zoom;fakeGestureTouched=!1;fakeGestureMoved=!1;evCache.push(e);if(evCache.length<2){return} fakeGestureTouched=!0;gesture.scaleStart=getDistanceBetweenTouches();if(!gesture.slideEl){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!gesture.slideEl)gesture.slideEl=swiper.slides[swiper.activeIndex];let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]} gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined} if(!gesture.imageWrapEl){gesture.imageEl=undefined;return} gesture.maxRatio=getMaxRatio()} if(gesture.imageEl){const[originX,originY]=getScaleOrigin();gesture.originX=originX;gesture.originY=originY;gesture.imageEl.style.transitionDuration='0ms'} isScaling=!0} function onGestureChange(e){if(!eventWithinSlide(e))return;const params=swiper.params.zoom;const zoom=swiper.zoom;const pointerIndex=evCache.findIndex(cachedEv=>cachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache[pointerIndex]=e;if(evCache.length<2){return} fakeGestureMoved=!0;gesture.scaleMove=getDistanceBetweenTouches();if(!gesture.imageEl){return} zoom.scale=gesture.scaleMove/gesture.scaleStart*currentScale;if(zoom.scale>gesture.maxRatio){zoom.scale=gesture.maxRatio-1+(zoom.scale-gesture.maxRatio+1)**0.5} if(zoom.scalecachedEv.pointerId===e.pointerId);if(pointerIndex>=0)evCache.splice(pointerIndex,1);if(!fakeGestureTouched||!fakeGestureMoved){return} fakeGestureTouched=!1;fakeGestureMoved=!1;if(!gesture.imageEl)return;zoom.scale=Math.max(Math.min(zoom.scale,gesture.maxRatio),params.minRatio);gesture.imageEl.style.transitionDuration=`${swiper.params.speed}ms`;gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`;currentScale=zoom.scale;isScaling=!1;if(zoom.scale>1&&gesture.slideEl){gesture.slideEl.classList.add(`${params.zoomedSlideClass}`)}else if(zoom.scale<=1&&gesture.slideEl){gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`)} if(zoom.scale===1){gesture.originX=0;gesture.originY=0;gesture.slideEl=undefined}} let allowTouchMoveTimeout;function allowTouchMove(){swiper.touchEventsData.preventTouchMoveFromPointerMove=!1} function preventTouchMove(){clearTimeout(allowTouchMoveTimeout);swiper.touchEventsData.preventTouchMoveFromPointerMove=!0;allowTouchMoveTimeout=setTimeout(()=>{allowTouchMove()})} function onTouchStart(e){const device=swiper.device;if(!gesture.imageEl)return;if(image.isTouched)return;if(device.android&&e.cancelable)e.preventDefault();image.isTouched=!0;const event=evCache.length>0?evCache[0]:e;image.touchesStart.x=event.pageX;image.touchesStart.y=event.pageY} function onTouchMove(e){if(!eventWithinSlide(e)||!eventWithinZoomContainer(e)){return} const zoom=swiper.zoom;if(!gesture.imageEl){return} if(!image.isTouched||!gesture.slideEl){return} if(!image.isMoved){image.width=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;image.height=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;image.startX=getTranslate(gesture.imageWrapEl,'x')||0;image.startY=getTranslate(gesture.imageWrapEl,'y')||0;gesture.slideWidth=gesture.slideEl.offsetWidth;gesture.slideHeight=gesture.slideEl.offsetHeight;gesture.imageWrapEl.style.transitionDuration='0ms'} const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.touchesCurrent.x=evCache.length>0?evCache[0].pageX:e.pageX;image.touchesCurrent.y=evCache.length>0?evCache[0].pageY:e.pageY;const touchesDiff=Math.max(Math.abs(image.touchesCurrent.x-image.touchesStart.x),Math.abs(image.touchesCurrent.y-image.touchesStart.y));if(touchesDiff>5){swiper.allowClick=!1} if(!image.isMoved&&!isScaling){if(swiper.isHorizontal()&&(Math.floor(image.minX)===Math.floor(image.startX)&&image.touchesCurrent.ximage.touchesStart.x)){image.isTouched=!1;allowTouchMove();return} if(!swiper.isHorizontal()&&(Math.floor(image.minY)===Math.floor(image.startY)&&image.touchesCurrent.yimage.touchesStart.y)){image.isTouched=!1;allowTouchMove();return}} if(e.cancelable){e.preventDefault()} e.stopPropagation();preventTouchMove();image.isMoved=!0;const scaleRatio=(zoom.scale-currentScale)/(gesture.maxRatio-swiper.params.zoom.minRatio);const{originX,originY}=gesture;image.currentX=image.touchesCurrent.x-image.touchesStart.x+image.startX+scaleRatio*(image.width-originX*2);image.currentY=image.touchesCurrent.y-image.touchesStart.y+image.startY+scaleRatio*(image.height-originY*2);if(image.currentXimage.maxX){image.currentX=image.maxX-1+(image.currentX-image.maxX+1)**0.8} if(image.currentYimage.maxY){image.currentY=image.maxY-1+(image.currentY-image.maxY+1)**0.8} if(!velocity.prevPositionX)velocity.prevPositionX=image.touchesCurrent.x;if(!velocity.prevPositionY)velocity.prevPositionY=image.touchesCurrent.y;if(!velocity.prevTime)velocity.prevTime=Date.now();velocity.x=(image.touchesCurrent.x-velocity.prevPositionX)/(Date.now()-velocity.prevTime)/2;velocity.y=(image.touchesCurrent.y-velocity.prevPositionY)/(Date.now()-velocity.prevTime)/2;if(Math.abs(image.touchesCurrent.x-velocity.prevPositionX)<2)velocity.x=0;if(Math.abs(image.touchesCurrent.y-velocity.prevPositionY)<2)velocity.y=0;velocity.prevPositionX=image.touchesCurrent.x;velocity.prevPositionY=image.touchesCurrent.y;velocity.prevTime=Date.now();gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`} function onTouchEnd(){const zoom=swiper.zoom;if(!gesture.imageEl)return;if(!image.isTouched||!image.isMoved){image.isTouched=!1;image.isMoved=!1;return} image.isTouched=!1;image.isMoved=!1;let momentumDurationX=300;let momentumDurationY=300;const momentumDistanceX=velocity.x*momentumDurationX;const newPositionX=image.currentX+momentumDistanceX;const momentumDistanceY=velocity.y*momentumDurationY;const newPositionY=image.currentY+momentumDistanceY;if(velocity.x!==0)momentumDurationX=Math.abs((newPositionX-image.currentX)/velocity.x);if(velocity.y!==0)momentumDurationY=Math.abs((newPositionY-image.currentY)/velocity.y);const momentumDuration=Math.max(momentumDurationX,momentumDurationY);image.currentX=newPositionX;image.currentY=newPositionY;const scaledWidth=image.width*zoom.scale;const scaledHeight=image.height*zoom.scale;image.minX=Math.min(gesture.slideWidth/2-scaledWidth/2,0);image.maxX=-image.minX;image.minY=Math.min(gesture.slideHeight/2-scaledHeight/2,0);image.maxY=-image.minY;image.currentX=Math.max(Math.min(image.currentX,image.maxX),image.minX);image.currentY=Math.max(Math.min(image.currentY,image.maxY),image.minY);gesture.imageWrapEl.style.transitionDuration=`${momentumDuration}ms`;gesture.imageWrapEl.style.transform=`translate3d(${image.currentX}px, ${image.currentY}px,0)`} function onTransitionEnd(){const zoom=swiper.zoom;if(gesture.slideEl&&swiper.activeIndex!==swiper.slides.indexOf(gesture.slideEl)){if(gesture.imageEl){gesture.imageEl.style.transform='translate3d(0,0,0) scale(1)'} if(gesture.imageWrapEl){gesture.imageWrapEl.style.transform='translate3d(0,0,0)'} gesture.slideEl.classList.remove(`${swiper.params.zoom.zoomedSlideClass}`);zoom.scale=1;currentScale=1;gesture.slideEl=undefined;gesture.imageEl=undefined;gesture.imageWrapEl=undefined;gesture.originX=0;gesture.originY=0}} function zoomIn(e){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(e&&e.target){gesture.slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`)} if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]}} let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]} gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}} if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='hidden';swiper.wrapperEl.style.touchAction='none'} gesture.slideEl.classList.add(`${params.zoomedSlideClass}`);let touchX;let touchY;let offsetX;let offsetY;let diffX;let diffY;let translateX;let translateY;let imageWidth;let imageHeight;let scaledWidth;let scaledHeight;let translateMinX;let translateMinY;let translateMaxX;let translateMaxY;let slideWidth;let slideHeight;if(typeof image.touchesStart.x==='undefined'&&e){touchX=e.pageX;touchY=e.pageY}else{touchX=image.touchesStart.x;touchY=image.touchesStart.y} const forceZoomRatio=typeof e==='number'?e:null;if(currentScale===1&&forceZoomRatio){touchX=undefined;touchY=undefined} const maxRatio=getMaxRatio();zoom.scale=forceZoomRatio||maxRatio;currentScale=forceZoomRatio||maxRatio;if(e&&!(currentScale===1&&forceZoomRatio)){slideWidth=gesture.slideEl.offsetWidth;slideHeight=gesture.slideEl.offsetHeight;offsetX=elementOffset(gesture.slideEl).left+window.scrollX;offsetY=elementOffset(gesture.slideEl).top+window.scrollY;diffX=offsetX+slideWidth/2-touchX;diffY=offsetY+slideHeight/2-touchY;imageWidth=gesture.imageEl.offsetWidth||gesture.imageEl.clientWidth;imageHeight=gesture.imageEl.offsetHeight||gesture.imageEl.clientHeight;scaledWidth=imageWidth*zoom.scale;scaledHeight=imageHeight*zoom.scale;translateMinX=Math.min(slideWidth/2-scaledWidth/2,0);translateMinY=Math.min(slideHeight/2-scaledHeight/2,0);translateMaxX=-translateMinX;translateMaxY=-translateMinY;translateX=diffX*zoom.scale;translateY=diffY*zoom.scale;if(translateXtranslateMaxX){translateX=translateMaxX} if(translateYtranslateMaxY){translateY=translateMaxY}}else{translateX=0;translateY=0} if(forceZoomRatio&&zoom.scale===1){gesture.originX=0;gesture.originY=0} gesture.imageWrapEl.style.transitionDuration='300ms';gesture.imageWrapEl.style.transform=`translate3d(${translateX}px, ${translateY}px,0)`;gesture.imageEl.style.transitionDuration='300ms';gesture.imageEl.style.transform=`translate3d(0,0,0) scale(${zoom.scale})`} function zoomOut(){const zoom=swiper.zoom;const params=swiper.params.zoom;if(!gesture.slideEl){if(swiper.params.virtual&&swiper.params.virtual.enabled&&swiper.virtual){gesture.slideEl=elementChildren(swiper.slidesEl,`.${swiper.params.slideActiveClass}`)[0]}else{gesture.slideEl=swiper.slides[swiper.activeIndex]} let imageEl=gesture.slideEl.querySelector(`.${params.containerClass}`);if(imageEl){imageEl=imageEl.querySelectorAll('picture, img, svg, canvas, .swiper-zoom-target')[0]} gesture.imageEl=imageEl;if(imageEl){gesture.imageWrapEl=elementParents(gesture.imageEl,`.${params.containerClass}`)[0]}else{gesture.imageWrapEl=undefined}} if(!gesture.imageEl||!gesture.imageWrapEl)return;if(swiper.params.cssMode){swiper.wrapperEl.style.overflow='';swiper.wrapperEl.style.touchAction=''} zoom.scale=1;currentScale=1;gesture.imageWrapEl.style.transitionDuration='300ms';gesture.imageWrapEl.style.transform='translate3d(0,0,0)';gesture.imageEl.style.transitionDuration='300ms';gesture.imageEl.style.transform='translate3d(0,0,0) scale(1)';gesture.slideEl.classList.remove(`${params.zoomedSlideClass}`);gesture.slideEl=undefined;gesture.originX=0;gesture.originY=0} function zoomToggle(e){const zoom=swiper.zoom;if(zoom.scale&&zoom.scale!==1){zoomOut()}else{zoomIn(e)}} function getListeners(){const passiveListener=swiper.params.passiveListeners?{passive:!0,capture:!1}:!1;const activeListenerWithCapture=swiper.params.passiveListeners?{passive:!1,capture:!0}:!0;return{passiveListener,activeListenerWithCapture}} function enable(){const zoom=swiper.zoom;if(zoom.enabled)return;zoom.enabled=!0;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.addEventListener('pointerdown',onGestureStart,passiveListener);swiper.wrapperEl.addEventListener('pointermove',onGestureChange,activeListenerWithCapture);['pointerup','pointercancel','pointerout'].forEach(eventName=>{swiper.wrapperEl.addEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.addEventListener('pointermove',onTouchMove,activeListenerWithCapture)} function disable(){const zoom=swiper.zoom;if(!zoom.enabled)return;zoom.enabled=!1;const{passiveListener,activeListenerWithCapture}=getListeners();swiper.wrapperEl.removeEventListener('pointerdown',onGestureStart,passiveListener);swiper.wrapperEl.removeEventListener('pointermove',onGestureChange,activeListenerWithCapture);['pointerup','pointercancel','pointerout'].forEach(eventName=>{swiper.wrapperEl.removeEventListener(eventName,onGestureEnd,passiveListener)});swiper.wrapperEl.removeEventListener('pointermove',onTouchMove,activeListenerWithCapture)} on('init',()=>{if(swiper.params.zoom.enabled){enable()}});on('destroy',()=>{disable()});on('touchStart',(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchStart(e)});on('touchEnd',(_s,e)=>{if(!swiper.zoom.enabled)return;onTouchEnd()});on('doubleTap',(_s,e)=>{if(!swiper.animating&&swiper.params.zoom.enabled&&swiper.zoom.enabled&&swiper.params.zoom.toggle){zoomToggle(e)}});on('transitionEnd',()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled){onTransitionEnd()}});on('slideChange',()=>{if(swiper.zoom.enabled&&swiper.params.zoom.enabled&&swiper.params.cssMode){onTransitionEnd()}});Object.assign(swiper.zoom,{enable,disable,in:zoomIn,out:zoomOut,toggle:zoomToggle})} function Controller(_ref){let{swiper,extendParams,on}=_ref;extendParams({controller:{control:undefined,inverse:!1,by:'slide'}});swiper.controller={control:undefined};function LinearSpline(x,y){const binarySearch=function search(){let maxIndex;let minIndex;let guess;return(array,val)=>{minIndex=-1;maxIndex=array.length;while(maxIndex-minIndex>1){guess=maxIndex+minIndex>>1;if(array[guess]<=val){minIndex=guess}else{maxIndex=guess}} return maxIndex}}();this.x=x;this.y=y;this.lastIndex=x.length-1;let i1;let i3;this.interpolate=function interpolate(x2){if(!x2)return 0;i3=binarySearch(this.x,x2);i1=i3-1;return(x2-this.x[i1])*(this.y[i3]-this.y[i1])/(this.x[i3]-this.x[i1])+this.y[i1]};return this} function getInterpolateFunction(c){swiper.controller.spline=swiper.params.loop?new LinearSpline(swiper.slidesGrid,c.slidesGrid):new LinearSpline(swiper.snapGrid,c.snapGrid)} function setTranslate(_t,byController){const controlled=swiper.controller.control;let multiplier;let controlledTranslate;const Swiper=swiper.constructor;function setControlledTranslate(c){if(c.destroyed)return;const translate=swiper.rtlTranslate?-swiper.translate:swiper.translate;if(swiper.params.controller.by==='slide'){getInterpolateFunction(c);controlledTranslate=-swiper.controller.spline.interpolate(-translate)} if(!controlledTranslate||swiper.params.controller.by==='container'){multiplier=(c.maxTranslate()-c.minTranslate())/(swiper.maxTranslate()-swiper.minTranslate());if(Number.isNaN(multiplier)||!Number.isFinite(multiplier)){multiplier=1} controlledTranslate=(translate-swiper.minTranslate())*multiplier+c.minTranslate()} if(swiper.params.controller.inverse){controlledTranslate=c.maxTranslate()-controlledTranslate} c.updateProgress(controlledTranslate);c.setTranslate(controlledTranslate,swiper);c.updateActiveIndex();c.updateSlidesClasses()} if(Array.isArray(controlled)){for(let i=0;i{c.updateAutoHeight()})} elementTransitionEnd(c.wrapperEl,()=>{if(!controlled)return;c.transitionEnd()})}} if(Array.isArray(controlled)){for(i=0;i{if(typeof window!=='undefined'&&(typeof swiper.params.controller.control==='string'||swiper.params.controller.control instanceof HTMLElement)){const controlElement=document.querySelector(swiper.params.controller.control);if(controlElement&&controlElement.swiper){swiper.controller.control=controlElement.swiper}else if(controlElement){const onControllerSwiper=e=>{swiper.controller.control=e.detail[0];swiper.update();controlElement.removeEventListener('init',onControllerSwiper)};controlElement.addEventListener('init',onControllerSwiper)} return} swiper.controller.control=swiper.params.controller.control});on('update',()=>{removeSpline()});on('resize',()=>{removeSpline()});on('observerUpdate',()=>{removeSpline()});on('setTranslate',(_s,translate,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTranslate(translate,byController)});on('setTransition',(_s,duration,byController)=>{if(!swiper.controller.control||swiper.controller.control.destroyed)return;swiper.controller.setTransition(duration,byController)});Object.assign(swiper.controller,{setTranslate,setTransition})} function A11y(_ref){let{swiper,extendParams,on}=_ref;extendParams({a11y:{enabled:!0,notificationClass:'swiper-notification',prevSlideMessage:'Previous slide',nextSlideMessage:'Next slide',firstSlideMessage:'This is the first slide',lastSlideMessage:'This is the last slide',paginationBulletMessage:'Go to slide {{index}}',slideLabelMessage:'{{index}} / {{slidesLength}}',containerMessage:null,containerRoleDescriptionMessage:null,itemRoleDescriptionMessage:null,slideRole:'group',id:null}});swiper.a11y={clicked:!1};let liveRegion=null;let preventFocusHandler;let focusTargetSlideEl;let visibilityChangedTimestamp=new Date().getTime();function notify(message){const notification=liveRegion;if(notification.length===0)return;notification.innerHTML='';notification.innerHTML=message} function getRandomNumber(size){if(size===void 0){size=16} const randomChar=()=>Math.round(16*Math.random()).toString(16);return'x'.repeat(size).replace(/x/g,randomChar)} function makeElFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('tabIndex','0')})} function makeElNotFocusable(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('tabIndex','-1')})} function addElRole(el,role){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('role',role)})} function addElRoleDescription(el,description){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-roledescription',description)})} function addElControls(el,controls){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-controls',controls)})} function addElLabel(el,label){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-label',label)})} function addElId(el,id){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('id',id)})} function addElLive(el,live){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-live',live)})} function disableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-disabled',!0)})} function enableEl(el){el=makeElementsArray(el);el.forEach(subEl=>{subEl.setAttribute('aria-disabled',!1)})} function onEnterOrSpaceKey(e){if(e.keyCode!==13&&e.keyCode!==32)return;const params=swiper.params.a11y;const targetEl=e.target;if(swiper.pagination&&swiper.pagination.el&&(targetEl===swiper.pagination.el||swiper.pagination.el.contains(e.target))){if(!e.target.matches(classesToSelector(swiper.params.pagination.bulletClass)))return} if(swiper.navigation&&swiper.navigation.prevEl&&swiper.navigation.nextEl){const prevEls=makeElementsArray(swiper.navigation.prevEl);const nextEls=makeElementsArray(swiper.navigation.nextEl);if(nextEls.includes(targetEl)){if(!(swiper.isEnd&&!swiper.params.loop)){swiper.slideNext()} if(swiper.isEnd){notify(params.lastSlideMessage)}else{notify(params.nextSlideMessage)}} if(prevEls.includes(targetEl)){if(!(swiper.isBeginning&&!swiper.params.loop)){swiper.slidePrev()} if(swiper.isBeginning){notify(params.firstSlideMessage)}else{notify(params.prevSlideMessage)}}} if(swiper.pagination&&targetEl.matches(classesToSelector(swiper.params.pagination.bulletClass))){targetEl.click()}} function updateNavigation(){if(swiper.params.loop||swiper.params.rewind||!swiper.navigation)return;const{nextEl,prevEl}=swiper.navigation;if(prevEl){if(swiper.isBeginning){disableEl(prevEl);makeElNotFocusable(prevEl)}else{enableEl(prevEl);makeElFocusable(prevEl)}} if(nextEl){if(swiper.isEnd){disableEl(nextEl);makeElNotFocusable(nextEl)}else{enableEl(nextEl);makeElFocusable(nextEl)}}} function hasPagination(){return swiper.pagination&&swiper.pagination.bullets&&swiper.pagination.bullets.length} function hasClickablePagination(){return hasPagination()&&swiper.params.pagination.clickable} function updatePagination(){const params=swiper.params.a11y;if(!hasPagination())return;swiper.pagination.bullets.forEach(bulletEl=>{if(swiper.params.pagination.clickable){makeElFocusable(bulletEl);if(!swiper.params.pagination.renderBullet){addElRole(bulletEl,'button');addElLabel(bulletEl,params.paginationBulletMessage.replace(/\{\{index\}\}/,elementIndex(bulletEl)+1))}} if(bulletEl.matches(classesToSelector(swiper.params.pagination.bulletActiveClass))){bulletEl.setAttribute('aria-current','true')}else{bulletEl.removeAttribute('aria-current')}})} const initNavEl=(el,wrapperId,message)=>{makeElFocusable(el);if(el.tagName!=='BUTTON'){addElRole(el,'button');el.addEventListener('keydown',onEnterOrSpaceKey)} addElLabel(el,message);addElControls(el,wrapperId)};const handlePointerDown=e=>{if(focusTargetSlideEl&&focusTargetSlideEl!==e.target&&!focusTargetSlideEl.contains(e.target)){preventFocusHandler=!0} swiper.a11y.clicked=!0};const handlePointerUp=()=>{preventFocusHandler=!1;requestAnimationFrame(()=>{requestAnimationFrame(()=>{if(!swiper.destroyed){swiper.a11y.clicked=!1}})})};const onVisibilityChange=e=>{visibilityChangedTimestamp=new Date().getTime()};const handleFocus=e=>{if(swiper.a11y.clicked)return;if(new Date().getTime()-visibilityChangedTimestamp<100)return;const slideEl=e.target.closest(`.${swiper.params.slideClass}, swiper-slide`);if(!slideEl||!swiper.slides.includes(slideEl))return;focusTargetSlideEl=slideEl;const isActive=swiper.slides.indexOf(slideEl)===swiper.activeIndex;const isVisible=swiper.params.watchSlidesProgress&&swiper.visibleSlides&&swiper.visibleSlides.includes(slideEl);if(isActive||isVisible)return;if(e.sourceCapabilities&&e.sourceCapabilities.firesTouchEvents)return;if(swiper.isHorizontal()){swiper.el.scrollLeft=0}else{swiper.el.scrollTop=0} requestAnimationFrame(()=>{if(preventFocusHandler)return;if(swiper.params.loop){swiper.slideToLoop(parseInt(slideEl.getAttribute('data-swiper-slide-index')),0)}else{swiper.slideTo(swiper.slides.indexOf(slideEl),0)} preventFocusHandler=!1})};const initSlides=()=>{const params=swiper.params.a11y;if(params.itemRoleDescriptionMessage){addElRoleDescription(swiper.slides,params.itemRoleDescriptionMessage)} if(params.slideRole){addElRole(swiper.slides,params.slideRole)} const slidesLength=swiper.slides.length;if(params.slideLabelMessage){swiper.slides.forEach((slideEl,index)=>{const slideIndex=swiper.params.loop?parseInt(slideEl.getAttribute('data-swiper-slide-index'),10):index;const ariaLabelMessage=params.slideLabelMessage.replace(/\{\{index\}\}/,slideIndex+1).replace(/\{\{slidesLength\}\}/,slidesLength);addElLabel(slideEl,ariaLabelMessage)})}};const init=()=>{const params=swiper.params.a11y;swiper.el.append(liveRegion);const containerEl=swiper.el;if(params.containerRoleDescriptionMessage){addElRoleDescription(containerEl,params.containerRoleDescriptionMessage)} if(params.containerMessage){addElLabel(containerEl,params.containerMessage)} const wrapperEl=swiper.wrapperEl;const wrapperId=params.id||wrapperEl.getAttribute('id')||`swiper-wrapper-${getRandomNumber(16)}`;const live=swiper.params.autoplay&&swiper.params.autoplay.enabled?'off':'polite';addElId(wrapperEl,wrapperId);addElLive(wrapperEl,live);initSlides();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>initNavEl(el,wrapperId,params.nextSlideMessage))} if(prevEl){prevEl.forEach(el=>initNavEl(el,wrapperId,params.prevSlideMessage))} if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.addEventListener('keydown',onEnterOrSpaceKey)})} const document=getDocument();document.addEventListener('visibilitychange',onVisibilityChange);swiper.el.addEventListener('focus',handleFocus,!0);swiper.el.addEventListener('focus',handleFocus,!0);swiper.el.addEventListener('pointerdown',handlePointerDown,!0);swiper.el.addEventListener('pointerup',handlePointerUp,!0)};function destroy(){if(liveRegion)liveRegion.remove();let{nextEl,prevEl}=swiper.navigation?swiper.navigation:{};nextEl=makeElementsArray(nextEl);prevEl=makeElementsArray(prevEl);if(nextEl){nextEl.forEach(el=>el.removeEventListener('keydown',onEnterOrSpaceKey))} if(prevEl){prevEl.forEach(el=>el.removeEventListener('keydown',onEnterOrSpaceKey))} if(hasClickablePagination()){const paginationEl=makeElementsArray(swiper.pagination.el);paginationEl.forEach(el=>{el.removeEventListener('keydown',onEnterOrSpaceKey)})} const document=getDocument();document.removeEventListener('visibilitychange',onVisibilityChange);if(swiper.el&&typeof swiper.el!=='string'){swiper.el.removeEventListener('focus',handleFocus,!0);swiper.el.removeEventListener('pointerdown',handlePointerDown,!0);swiper.el.removeEventListener('pointerup',handlePointerUp,!0)}} on('beforeInit',()=>{liveRegion=createElement('span',swiper.params.a11y.notificationClass);liveRegion.setAttribute('aria-live','assertive');liveRegion.setAttribute('aria-atomic','true')});on('afterInit',()=>{if(!swiper.params.a11y.enabled)return;init()});on('slidesLengthChange snapGridLengthChange slidesGridLengthChange',()=>{if(!swiper.params.a11y.enabled)return;initSlides()});on('fromEdge toEdge afterInit lock unlock',()=>{if(!swiper.params.a11y.enabled)return;updateNavigation()});on('paginationUpdate',()=>{if(!swiper.params.a11y.enabled)return;updatePagination()});on('destroy',()=>{if(!swiper.params.a11y.enabled)return;destroy()})} function History(_ref){let{swiper,extendParams,on}=_ref;extendParams({history:{enabled:!1,root:'',replaceState:!1,key:'slides',keepQuery:!1}});let initialized=!1;let paths={};const slugify=text=>{return text.toString().replace(/\s+/g,'-').replace(/[^\w-]+/g,'').replace(/--+/g,'-').replace(/^-+/,'').replace(/-+$/,'')};const getPathValues=urlOverride=>{const window=getWindow();let location;if(urlOverride){location=new URL(urlOverride)}else{location=window.location} const pathArray=location.pathname.slice(1).split('/').filter(part=>part!=='');const total=pathArray.length;const key=pathArray[total-2];const value=pathArray[total-1];return{key,value}};const setHistory=(key,index)=>{const window=getWindow();if(!initialized||!swiper.params.history.enabled)return;let location;if(swiper.params.url){location=new URL(swiper.params.url)}else{location=window.location} const slide=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${index}"]`):swiper.slides[index];let value=slugify(slide.getAttribute('data-history'));if(swiper.params.history.root.length>0){let root=swiper.params.history.root;if(root[root.length-1]==='/')root=root.slice(0,root.length-1);value=`${root}/${key ? `${key}/` : ''}${value}`}else if(!location.pathname.includes(key)){value=`${key ? `${key}/` : ''}${value}`} if(swiper.params.history.keepQuery){value+=location.search} const currentState=window.history.state;if(currentState&¤tState.value===value){return} if(swiper.params.history.replaceState){window.history.replaceState({value},null,value)}else{window.history.pushState({value},null,value)}};const scrollToSlide=(speed,value,runCallbacks)=>{if(value){for(let i=0,length=swiper.slides.length;i{paths=getPathValues(swiper.params.url);scrollToSlide(swiper.params.speed,paths.value,!1)};const init=()=>{const window=getWindow();if(!swiper.params.history)return;if(!window.history||!window.history.pushState){swiper.params.history.enabled=!1;swiper.params.hashNavigation.enabled=!0;return} initialized=!0;paths=getPathValues(swiper.params.url);if(!paths.key&&!paths.value){if(!swiper.params.history.replaceState){window.addEventListener('popstate',setHistoryPopState)} return} scrollToSlide(0,paths.value,swiper.params.runCallbacksOnInit);if(!swiper.params.history.replaceState){window.addEventListener('popstate',setHistoryPopState)}};const destroy=()=>{const window=getWindow();if(!swiper.params.history.replaceState){window.removeEventListener('popstate',setHistoryPopState)}};on('init',()=>{if(swiper.params.history.enabled){init()}});on('destroy',()=>{if(swiper.params.history.enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHistory(swiper.params.history.key,swiper.activeIndex)}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHistory(swiper.params.history.key,swiper.activeIndex)}})} function HashNavigation(_ref){let{swiper,extendParams,emit,on}=_ref;let initialized=!1;const document=getDocument();const window=getWindow();extendParams({hashNavigation:{enabled:!1,replaceState:!1,watchState:!1,getSlideIndex(_s,hash){if(swiper.virtual&&swiper.params.virtual.enabled){const slideWithHash=swiper.slides.filter(slideEl=>slideEl.getAttribute('data-hash')===hash)[0];if(!slideWithHash)return 0;const index=parseInt(slideWithHash.getAttribute('data-swiper-slide-index'),10);return index} return swiper.getSlideIndex(elementChildren(swiper.slidesEl,`.${swiper.params.slideClass}[data-hash="${hash}"], swiper-slide[data-hash="${hash}"]`)[0])}}});const onHashChange=()=>{emit('hashChange');const newHash=document.location.hash.replace('#','');const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute('data-hash'):'';if(newHash!==activeSlideHash){const newIndex=swiper.params.hashNavigation.getSlideIndex(swiper,newHash);if(typeof newIndex==='undefined'||Number.isNaN(newIndex))return;swiper.slideTo(newIndex)}};const setHash=()=>{if(!initialized||!swiper.params.hashNavigation.enabled)return;const activeSlideEl=swiper.virtual&&swiper.params.virtual.enabled?swiper.slidesEl.querySelector(`[data-swiper-slide-index="${swiper.activeIndex}"]`):swiper.slides[swiper.activeIndex];const activeSlideHash=activeSlideEl?activeSlideEl.getAttribute('data-hash')||activeSlideEl.getAttribute('data-history'):'';if(swiper.params.hashNavigation.replaceState&&window.history&&window.history.replaceState){window.history.replaceState(null,null,`#${activeSlideHash}`||'');emit('hashSet')}else{document.location.hash=activeSlideHash||'';emit('hashSet')}};const init=()=>{if(!swiper.params.hashNavigation.enabled||swiper.params.history&&swiper.params.history.enabled)return;initialized=!0;const hash=document.location.hash.replace('#','');if(hash){const speed=0;const index=swiper.params.hashNavigation.getSlideIndex(swiper,hash);swiper.slideTo(index||0,speed,swiper.params.runCallbacksOnInit,!0)} if(swiper.params.hashNavigation.watchState){window.addEventListener('hashchange',onHashChange)}};const destroy=()=>{if(swiper.params.hashNavigation.watchState){window.removeEventListener('hashchange',onHashChange)}};on('init',()=>{if(swiper.params.hashNavigation.enabled){init()}});on('destroy',()=>{if(swiper.params.hashNavigation.enabled){destroy()}});on('transitionEnd _freeModeNoMomentumRelease',()=>{if(initialized){setHash()}});on('slideChange',()=>{if(initialized&&swiper.params.cssMode){setHash()}})} function Autoplay(_ref){let{swiper,extendParams,on,emit,params}=_ref;swiper.autoplay={running:!1,paused:!1,timeLeft:0};extendParams({autoplay:{enabled:!1,delay:3000,waitForTransition:!0,disableOnInteraction:!1,stopOnLastSlide:!1,reverseDirection:!1,pauseOnMouseEnter:!1}});let timeout;let raf;let autoplayDelayTotal=params&¶ms.autoplay?params.autoplay.delay:3000;let autoplayDelayCurrent=params&¶ms.autoplay?params.autoplay.delay:3000;let autoplayTimeLeft;let autoplayStartTime=new Date().getTime();let wasPaused;let isTouched;let pausedByTouch;let touchStartTimeout;let slideChanged;let pausedByInteraction;let pausedByPointerEnter;function onTransitionEnd(e){if(!swiper||swiper.destroyed||!swiper.wrapperEl)return;if(e.target!==swiper.wrapperEl)return;swiper.wrapperEl.removeEventListener('transitionend',onTransitionEnd);if(pausedByPointerEnter||e.detail&&e.detail.bySwiperTouchMove){return} resume()} const calcTimeLeft=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.autoplay.paused){wasPaused=!0}else if(wasPaused){autoplayDelayCurrent=autoplayTimeLeft;wasPaused=!1} const timeLeft=swiper.autoplay.paused?autoplayTimeLeft:autoplayStartTime+autoplayDelayCurrent-new Date().getTime();swiper.autoplay.timeLeft=timeLeft;emit('autoplayTimeLeft',timeLeft,timeLeft/autoplayDelayTotal);raf=requestAnimationFrame(()=>{calcTimeLeft()})};const getSlideDelay=()=>{let activeSlideEl;if(swiper.virtual&&swiper.params.virtual.enabled){activeSlideEl=swiper.slides.filter(slideEl=>slideEl.classList.contains('swiper-slide-active'))[0]}else{activeSlideEl=swiper.slides[swiper.activeIndex]} if(!activeSlideEl)return undefined;const currentSlideDelay=parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'),10);return currentSlideDelay};const run=delayForce=>{if(swiper.destroyed||!swiper.autoplay.running)return;cancelAnimationFrame(raf);calcTimeLeft();let delay=typeof delayForce==='undefined'?swiper.params.autoplay.delay:delayForce;autoplayDelayTotal=swiper.params.autoplay.delay;autoplayDelayCurrent=swiper.params.autoplay.delay;const currentSlideDelay=getSlideDelay();if(!Number.isNaN(currentSlideDelay)&¤tSlideDelay>0&&typeof delayForce==='undefined'){delay=currentSlideDelay;autoplayDelayTotal=currentSlideDelay;autoplayDelayCurrent=currentSlideDelay} autoplayTimeLeft=delay;const speed=swiper.params.speed;const proceed=()=>{if(!swiper||swiper.destroyed)return;if(swiper.params.autoplay.reverseDirection){if(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind){swiper.slidePrev(speed,!0,!0);emit('autoplay')}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(swiper.slides.length-1,speed,!0,!0);emit('autoplay')}}else{if(!swiper.isEnd||swiper.params.loop||swiper.params.rewind){swiper.slideNext(speed,!0,!0);emit('autoplay')}else if(!swiper.params.autoplay.stopOnLastSlide){swiper.slideTo(0,speed,!0,!0);emit('autoplay')}} if(swiper.params.cssMode){autoplayStartTime=new Date().getTime();requestAnimationFrame(()=>{run()})}};if(delay>0){clearTimeout(timeout);timeout=setTimeout(()=>{proceed()},delay)}else{requestAnimationFrame(()=>{proceed()})} return delay};const start=()=>{autoplayStartTime=new Date().getTime();swiper.autoplay.running=!0;run();emit('autoplayStart')};const stop=()=>{swiper.autoplay.running=!1;clearTimeout(timeout);cancelAnimationFrame(raf);emit('autoplayStop')};const pause=(internal,reset)=>{if(swiper.destroyed||!swiper.autoplay.running)return;clearTimeout(timeout);if(!internal){pausedByInteraction=!0} const proceed=()=>{emit('autoplayPause');if(swiper.params.autoplay.waitForTransition){swiper.wrapperEl.addEventListener('transitionend',onTransitionEnd)}else{resume()}};swiper.autoplay.paused=!0;if(reset){if(slideChanged){autoplayTimeLeft=swiper.params.autoplay.delay} slideChanged=!1;proceed();return} const delay=autoplayTimeLeft||swiper.params.autoplay.delay;autoplayTimeLeft=delay-(new Date().getTime()-autoplayStartTime);if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop)return;if(autoplayTimeLeft<0)autoplayTimeLeft=0;proceed()};const resume=()=>{if(swiper.isEnd&&autoplayTimeLeft<0&&!swiper.params.loop||swiper.destroyed||!swiper.autoplay.running)return;autoplayStartTime=new Date().getTime();if(pausedByInteraction){pausedByInteraction=!1;run(autoplayTimeLeft)}else{run()} swiper.autoplay.paused=!1;emit('autoplayResume')};const onVisibilityChange=()=>{if(swiper.destroyed||!swiper.autoplay.running)return;const document=getDocument();if(document.visibilityState==='hidden'){pausedByInteraction=!0;pause(!0)} if(document.visibilityState==='visible'){resume()}};const onPointerEnter=e=>{if(e.pointerType!=='mouse')return;pausedByInteraction=!0;pausedByPointerEnter=!0;if(swiper.animating||swiper.autoplay.paused)return;pause(!0)};const onPointerLeave=e=>{if(e.pointerType!=='mouse')return;pausedByPointerEnter=!1;if(swiper.autoplay.paused){resume()}};const attachMouseEvents=()=>{if(swiper.params.autoplay.pauseOnMouseEnter){swiper.el.addEventListener('pointerenter',onPointerEnter);swiper.el.addEventListener('pointerleave',onPointerLeave)}};const detachMouseEvents=()=>{if(swiper.el&&typeof swiper.el!=='string'){swiper.el.removeEventListener('pointerenter',onPointerEnter);swiper.el.removeEventListener('pointerleave',onPointerLeave)}};const attachDocumentEvents=()=>{const document=getDocument();document.addEventListener('visibilitychange',onVisibilityChange)};const detachDocumentEvents=()=>{const document=getDocument();document.removeEventListener('visibilitychange',onVisibilityChange)};on('init',()=>{if(swiper.params.autoplay.enabled){attachMouseEvents();attachDocumentEvents();start()}});on('destroy',()=>{detachMouseEvents();detachDocumentEvents();if(swiper.autoplay.running){stop()}});on('_freeModeStaticRelease',()=>{if(pausedByTouch||pausedByInteraction){resume()}});on('_freeModeNoMomentumRelease',()=>{if(!swiper.params.autoplay.disableOnInteraction){pause(!0,!0)}else{stop()}});on('beforeTransitionStart',(_s,speed,internal)=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(internal||!swiper.params.autoplay.disableOnInteraction){pause(!0,!0)}else{stop()}});on('sliderFirstMove',()=>{if(swiper.destroyed||!swiper.autoplay.running)return;if(swiper.params.autoplay.disableOnInteraction){stop();return} isTouched=!0;pausedByTouch=!1;pausedByInteraction=!1;touchStartTimeout=setTimeout(()=>{pausedByInteraction=!0;pausedByTouch=!0;pause(!0)},200)});on('touchEnd',()=>{if(swiper.destroyed||!swiper.autoplay.running||!isTouched)return;clearTimeout(touchStartTimeout);clearTimeout(timeout);if(swiper.params.autoplay.disableOnInteraction){pausedByTouch=!1;isTouched=!1;return} if(pausedByTouch&&swiper.params.cssMode)resume();pausedByTouch=!1;isTouched=!1});on('slideChange',()=>{if(swiper.destroyed||!swiper.autoplay.running)return;slideChanged=!0});Object.assign(swiper.autoplay,{start,stop,pause,resume})} function Thumb(_ref){let{swiper,extendParams,on}=_ref;extendParams({thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:'swiper-slide-thumb-active',thumbsContainerClass:'swiper-thumbs'}});let initialized=!1;let swiperCreated=!1;swiper.thumbs={swiper:null};function onThumbClick(){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const clickedIndex=thumbsSwiper.clickedIndex;const clickedSlide=thumbsSwiper.clickedSlide;if(clickedSlide&&clickedSlide.classList.contains(swiper.params.thumbs.slideThumbActiveClass))return;if(typeof clickedIndex==='undefined'||clickedIndex===null)return;let slideToIndex;if(thumbsSwiper.params.loop){slideToIndex=parseInt(thumbsSwiper.clickedSlide.getAttribute('data-swiper-slide-index'),10)}else{slideToIndex=clickedIndex} if(swiper.params.loop){swiper.slideToLoop(slideToIndex)}else{swiper.slideTo(slideToIndex)}} function init(){const{thumbs:thumbsParams}=swiper.params;if(initialized)return!1;initialized=!0;const SwiperClass=swiper.constructor;if(thumbsParams.swiper instanceof SwiperClass){swiper.thumbs.swiper=thumbsParams.swiper;Object.assign(swiper.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1});Object.assign(swiper.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1});swiper.thumbs.swiper.update()}else if(isObject(thumbsParams.swiper)){const thumbsSwiperParams=Object.assign({},thumbsParams.swiper);Object.assign(thumbsSwiperParams,{watchSlidesProgress:!0,slideToClickedSlide:!1});swiper.thumbs.swiper=new SwiperClass(thumbsSwiperParams);swiperCreated=!0} swiper.thumbs.swiper.el.classList.add(swiper.params.thumbs.thumbsContainerClass);swiper.thumbs.swiper.on('tap',onThumbClick);return!0} function update(initial){const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;const slidesPerView=thumbsSwiper.params.slidesPerView==='auto'?thumbsSwiper.slidesPerViewDynamic():thumbsSwiper.params.slidesPerView;let thumbsToActivate=1;const thumbActiveClass=swiper.params.thumbs.slideThumbActiveClass;if(swiper.params.slidesPerView>1&&!swiper.params.centeredSlides){thumbsToActivate=swiper.params.slidesPerView} if(!swiper.params.thumbs.multipleActiveThumbs){thumbsToActivate=1} thumbsToActivate=Math.floor(thumbsToActivate);thumbsSwiper.slides.forEach(slideEl=>slideEl.classList.remove(thumbActiveClass));if(thumbsSwiper.params.loop||thumbsSwiper.params.virtual&&thumbsSwiper.params.virtual.enabled){for(let i=0;i{slideEl.classList.add(thumbActiveClass)})}}else{for(let i=0;islideEl.getAttribute('data-swiper-slide-index')===`${swiper.realIndex}`)[0];newThumbsIndex=thumbsSwiper.slides.indexOf(newThumbsSlide);direction=swiper.activeIndex>swiper.previousIndex?'next':'prev'}else{newThumbsIndex=swiper.realIndex;direction=newThumbsIndex>swiper.previousIndex?'next':'prev'} if(useOffset){newThumbsIndex+=direction==='next'?autoScrollOffset:-1*autoScrollOffset} if(thumbsSwiper.visibleSlidesIndexes&&thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex)<0){if(thumbsSwiper.params.centeredSlides){if(newThumbsIndex>currentThumbsIndex){newThumbsIndex=newThumbsIndex-Math.floor(slidesPerView/2)+1}else{newThumbsIndex=newThumbsIndex+Math.floor(slidesPerView/2)-1}}else if(newThumbsIndex>currentThumbsIndex&&thumbsSwiper.params.slidesPerGroup===1);thumbsSwiper.slideTo(newThumbsIndex,initial?0:undefined)}}} on('beforeInit',()=>{const{thumbs}=swiper.params;if(!thumbs||!thumbs.swiper)return;if(typeof thumbs.swiper==='string'||thumbs.swiper instanceof HTMLElement){const document=getDocument();const getThumbsElementAndInit=()=>{const thumbsElement=typeof thumbs.swiper==='string'?document.querySelector(thumbs.swiper):thumbs.swiper;if(thumbsElement&&thumbsElement.swiper){thumbs.swiper=thumbsElement.swiper;init();update(!0)}else if(thumbsElement){const onThumbsSwiper=e=>{thumbs.swiper=e.detail[0];thumbsElement.removeEventListener('init',onThumbsSwiper);init();update(!0);thumbs.swiper.update();swiper.update()};thumbsElement.addEventListener('init',onThumbsSwiper)} return thumbsElement};const watchForThumbsToAppear=()=>{if(swiper.destroyed)return;const thumbsElement=getThumbsElementAndInit();if(!thumbsElement){requestAnimationFrame(watchForThumbsToAppear)}};requestAnimationFrame(watchForThumbsToAppear)}else{init();update(!0)}});on('slideChange update resize observerUpdate',()=>{update()});on('setTransition',(_s,duration)=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;thumbsSwiper.setTransition(duration)});on('beforeDestroy',()=>{const thumbsSwiper=swiper.thumbs.swiper;if(!thumbsSwiper||thumbsSwiper.destroyed)return;if(swiperCreated){thumbsSwiper.destroy()}});Object.assign(swiper.thumbs,{init,update})} function freeMode(_ref){let{swiper,extendParams,emit,once}=_ref;extendParams({freeMode:{enabled:!1,momentum:!0,momentumRatio:1,momentumBounce:!0,momentumBounceRatio:1,momentumVelocityRatio:1,sticky:!1,minimumVelocity:0.02}});function onTouchStart(){if(swiper.params.cssMode)return;const translate=swiper.getTranslate();swiper.setTranslate(translate);swiper.setTransition(0);swiper.touchEventsData.velocities.length=0;swiper.freeMode.onTouchEnd({currentPos:swiper.rtl?swiper.translate:-swiper.translate})} function onTouchMove(){if(swiper.params.cssMode)return;const{touchEventsData:data,touches}=swiper;if(data.velocities.length===0){data.velocities.push({position:touches[swiper.isHorizontal()?'startX':'startY'],time:data.touchStartTime})} data.velocities.push({position:touches[swiper.isHorizontal()?'currentX':'currentY'],time:now()})} function onTouchEnd(_ref2){let{currentPos}=_ref2;if(swiper.params.cssMode)return;const{params,wrapperEl,rtlTranslate:rtl,snapGrid,touchEventsData:data}=swiper;const touchEndTime=now();const timeDiff=touchEndTime-data.touchStartTime;if(currentPos<-swiper.minTranslate()){swiper.slideTo(swiper.activeIndex);return} if(currentPos>-swiper.maxTranslate()){if(swiper.slides.length1){const lastMoveEvent=data.velocities.pop();const velocityEvent=data.velocities.pop();const distance=lastMoveEvent.position-velocityEvent.position;const time=lastMoveEvent.time-velocityEvent.time;swiper.velocity=distance/time;swiper.velocity/=2;if(Math.abs(swiper.velocity)150||now()-lastMoveEvent.time>300){swiper.velocity=0}}else{swiper.velocity=0} swiper.velocity*=params.freeMode.momentumVelocityRatio;data.velocities.length=0;let momentumDuration=1000*params.freeMode.momentumRatio;const momentumDistance=swiper.velocity*momentumDuration;let newPosition=swiper.translate+momentumDistance;if(rtl)newPosition=-newPosition;let doBounce=!1;let afterBouncePosition;const bounceAmount=Math.abs(swiper.velocity)*20*params.freeMode.momentumBounceRatio;let needsLoopFix;if(newPositionswiper.minTranslate()){if(params.freeMode.momentumBounce){if(newPosition-swiper.minTranslate()>bounceAmount){newPosition=swiper.minTranslate()+bounceAmount} afterBouncePosition=swiper.minTranslate();doBounce=!0;data.allowMomentumBounce=!0}else{newPosition=swiper.minTranslate()} if(params.loop&¶ms.centeredSlides)needsLoopFix=!0}else if(params.freeMode.sticky){let nextSlide;for(let j=0;j-newPosition){nextSlide=j;break}} if(Math.abs(snapGrid[nextSlide]-newPosition){swiper.loopFix()})} if(swiper.velocity!==0){if(rtl){momentumDuration=Math.abs((-newPosition-swiper.translate)/swiper.velocity)}else{momentumDuration=Math.abs((newPosition-swiper.translate)/swiper.velocity)} if(params.freeMode.sticky){const moveDistance=Math.abs((rtl?-newPosition:newPosition)-swiper.translate);const currentSlideSize=swiper.slidesSizesGrid[swiper.activeIndex];if(moveDistance{if(!swiper||swiper.destroyed||!data.allowMomentumBounce)return;emit('momentumBounce');swiper.setTransition(params.speed);setTimeout(()=>{swiper.setTranslate(afterBouncePosition);elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})},0)})}else if(swiper.velocity){emit('_freeModeNoMomentumRelease');swiper.updateProgress(newPosition);swiper.setTransition(momentumDuration);swiper.setTranslate(newPosition);swiper.transitionStart(!0,swiper.swipeDirection);if(!swiper.animating){swiper.animating=!0;elementTransitionEnd(wrapperEl,()=>{if(!swiper||swiper.destroyed)return;swiper.transitionEnd()})}}else{swiper.updateProgress(newPosition)} swiper.updateActiveIndex();swiper.updateSlidesClasses()}else if(params.freeMode.sticky){swiper.slideToClosest();return}else if(params.freeMode){emit('_freeModeNoMomentumRelease')} if(!params.freeMode.momentum||timeDiff>=params.longSwipesMs){emit('_freeModeStaticRelease');swiper.updateProgress();swiper.updateActiveIndex();swiper.updateSlidesClasses()}} Object.assign(swiper,{freeMode:{onTouchStart,onTouchMove,onTouchEnd}})} function Grid(_ref){let{swiper,extendParams,on}=_ref;extendParams({grid:{rows:1,fill:'column'}});let slidesNumberEvenToRows;let slidesPerRow;let numFullColumns;let wasMultiRow;const getSpaceBetween=()=>{let spaceBetween=swiper.params.spaceBetween;if(typeof spaceBetween==='string'&&spaceBetween.indexOf('%')>=0){spaceBetween=parseFloat(spaceBetween.replace('%',''))/100*swiper.size}else if(typeof spaceBetween==='string'){spaceBetween=parseFloat(spaceBetween)} return spaceBetween};const initSlides=slides=>{const{slidesPerView}=swiper.params;const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;numFullColumns=Math.floor(slidesLength/rows);if(Math.floor(slidesLength/rows)===slidesLength/rows){slidesNumberEvenToRows=slidesLength}else{slidesNumberEvenToRows=Math.ceil(slidesLength/rows)*rows} if(slidesPerView!=='auto'&&fill==='row'){slidesNumberEvenToRows=Math.max(slidesNumberEvenToRows,slidesPerView*rows)} slidesPerRow=slidesNumberEvenToRows/rows};const unsetSlides=()=>{if(swiper.slides){swiper.slides.forEach(slide=>{if(slide.swiperSlideGridSet){slide.style.height='';slide.style[swiper.getDirectionLabel('margin-top')]=''}})}};const updateSlide=(i,slide,slides)=>{const{slidesPerGroup}=swiper.params;const spaceBetween=getSpaceBetween();const{rows,fill}=swiper.params.grid;const slidesLength=swiper.virtual&&swiper.params.virtual.enabled?swiper.virtual.slides.length:slides.length;let newSlideOrderIndex;let column;let row;if(fill==='row'&&slidesPerGroup>1){const groupIndex=Math.floor(i/(slidesPerGroup*rows));const slideIndexInGroup=i-rows*slidesPerGroup*groupIndex;const columnsInGroup=groupIndex===0?slidesPerGroup:Math.min(Math.ceil((slidesLength-groupIndex*rows*slidesPerGroup)/rows),slidesPerGroup);row=Math.floor(slideIndexInGroup/columnsInGroup);column=slideIndexInGroup-row*columnsInGroup+groupIndex*slidesPerGroup;newSlideOrderIndex=column+row*slidesNumberEvenToRows/rows;slide.style.order=newSlideOrderIndex}else if(fill==='column'){column=Math.floor(i/rows);row=i-column*rows;if(column>numFullColumns||column===numFullColumns&&row===rows-1){row+=1;if(row>=rows){row=0;column+=1}}}else{row=Math.floor(i/slidesPerRow);column=i-row*slidesPerRow} slide.row=row;slide.column=column;slide.style.height=`calc((100% - ${(rows - 1) * spaceBetween}px) / ${rows})`;slide.style[swiper.getDirectionLabel('margin-top')]=row!==0?spaceBetween&&`${spaceBetween}px`:'';slide.swiperSlideGridSet=!0};const updateWrapperSize=(slideSize,snapGrid)=>{const{centeredSlides,roundLengths}=swiper.params;const spaceBetween=getSpaceBetween();const{rows}=swiper.params.grid;swiper.virtualSize=(slideSize+spaceBetween)*slidesNumberEvenToRows;swiper.virtualSize=Math.ceil(swiper.virtualSize/rows)-spaceBetween;if(!swiper.params.cssMode){swiper.wrapperEl.style[swiper.getDirectionLabel('width')]=`${swiper.virtualSize + spaceBetween}px`} if(centeredSlides){const newSlidesGrid=[];for(let i=0;i{wasMultiRow=swiper.params.grid&&swiper.params.grid.rows>1};const onUpdate=()=>{const{params,el}=swiper;const isMultiRow=params.grid&¶ms.grid.rows>1;if(wasMultiRow&&!isMultiRow){el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`);numFullColumns=1;swiper.emitContainerClasses()}else if(!wasMultiRow&&isMultiRow){el.classList.add(`${params.containerModifierClass}grid`);if(params.grid.fill==='column'){el.classList.add(`${params.containerModifierClass}grid-column`)} swiper.emitContainerClasses()} wasMultiRow=isMultiRow};on('init',onInit);on('update',onUpdate);swiper.grid={initSlides,unsetSlides,updateSlide,updateWrapperSize}} function appendSlide(slides){const swiper=this;const{params,slidesEl}=swiper;if(params.loop){swiper.loopDestroy()} const appendElement=slideEl=>{if(typeof slideEl==='string'){const tempDOM=document.createElement('div');tempDOM.innerHTML=slideEl;slidesEl.append(tempDOM.children[0]);tempDOM.innerHTML=''}else{slidesEl.append(slideEl)}};if(typeof slides==='object'&&'length' in slides){for(let i=0;i{if(typeof slideEl==='string'){const tempDOM=document.createElement('div');tempDOM.innerHTML=slideEl;slidesEl.prepend(tempDOM.children[0]);tempDOM.innerHTML=''}else{slidesEl.prepend(slideEl)}};if(typeof slides==='object'&&'length' in slides){for(let i=0;i=baseLength){swiper.appendSlide(slides);return} let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];currentSlide.remove();slidesBuffer.unshift(currentSlide)} if(typeof slides==='object'&&'length' in slides){for(let i=0;iindex?activeIndexBuffer+slides.length:activeIndexBuffer}else{slidesEl.append(slides)} for(let i=0;i{if(swiper.params.effect!==effect)return;swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);if(perspective&&perspective()){swiper.classNames.push(`${swiper.params.containerModifierClass}3d`)} const overwriteParamsResult=overwriteParams?overwriteParams():{};Object.assign(swiper.params,overwriteParamsResult);Object.assign(swiper.originalParams,overwriteParamsResult)});on('setTranslate',()=>{if(swiper.params.effect!==effect)return;setTranslate()});on('setTransition',(_s,duration)=>{if(swiper.params.effect!==effect)return;setTransition(duration)});on('transitionEnd',()=>{if(swiper.params.effect!==effect)return;if(recreateShadows){if(!getEffectParams||!getEffectParams().slideShadows)return;swiper.slides.forEach(slideEl=>{slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=>shadowEl.remove())});recreateShadows()}});let requireUpdateOnVirtual;on('virtualUpdate',()=>{if(swiper.params.effect!==effect)return;if(!swiper.slides.length){requireUpdateOnVirtual=!0} requestAnimationFrame(()=>{if(requireUpdateOnVirtual&&swiper.slides&&swiper.slides.length){setTranslate();requireUpdateOnVirtual=!1}})})} function effectTarget(effectParams,slideEl){const transformEl=getSlideTransformEl(slideEl);if(transformEl!==slideEl){transformEl.style.backfaceVisibility='hidden';transformEl.style['-webkit-backface-visibility']='hidden'} return transformEl} function effectVirtualTransitionEnd(_ref){let{swiper,duration,transformElements,allSlides}=_ref;const{activeIndex}=swiper;const getSlide=el=>{if(!el.parentElement){const slide=swiper.slides.filter(slideEl=>slideEl.shadowRoot&&slideEl.shadowRoot===el.parentNode)[0];return slide} return el.parentElement};if(swiper.params.virtualTranslate&&duration!==0){let eventTriggered=!1;let transitionEndTarget;if(allSlides){transitionEndTarget=transformElements}else{transitionEndTarget=transformElements.filter(transformEl=>{const el=transformEl.classList.contains('swiper-slide-transform')?getSlide(transformEl):transformEl;return swiper.getSlideIndex(el)===activeIndex})} transitionEndTarget.forEach(el=>{elementTransitionEnd(el,()=>{if(eventTriggered)return;if(!swiper||swiper.destroyed)return;eventTriggered=!0;swiper.animating=!1;const evt=new window.CustomEvent('transitionend',{bubbles:!0,cancelable:!0});swiper.wrapperEl.dispatchEvent(evt)})})}} function EffectFade(_ref){let{swiper,extendParams,on}=_ref;extendParams({fadeEffect:{crossFade:!1}});const setTranslate=()=>{const{slides}=swiper;const params=swiper.params.fadeEffect;for(let i=0;i{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`});effectVirtualTransitionEnd({swiper,duration,transformElements,allSlides:!0})};effectInit({effect:'fade',swiper,on,setTranslate,setTransition,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})} function EffectCube(_ref){let{swiper,extendParams,on}=_ref;extendParams({cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:0.94}});const createSlideShadows=(slideEl,progress,isHorizontal)=>{let shadowBefore=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');let shadowAfter=isHorizontal?slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');if(!shadowBefore){shadowBefore=createElement('div',`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'left' : 'top'}`.split(' '));slideEl.append(shadowBefore)} if(!shadowAfter){shadowAfter=createElement('div',`swiper-slide-shadow-cube swiper-slide-shadow-${isHorizontal ? 'right' : 'bottom'}`.split(' '));slideEl.append(shadowAfter)} if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0);};const recreateShadows=()=>{const isHorizontal=swiper.isHorizontal();swiper.slides.forEach(slideEl=>{const progress=Math.max(Math.min(slideEl.progress,1),-1);createSlideShadows(slideEl,progress,isHorizontal)})};const setTranslate=()=>{const{el,wrapperEl,slides,width:swiperWidth,height:swiperHeight,rtlTranslate:rtl,size:swiperSize,browser}=swiper;const params=swiper.params.cubeEffect;const isHorizontal=swiper.isHorizontal();const isVirtual=swiper.virtual&&swiper.params.virtual.enabled;let wrapperRotate=0;let cubeShadowEl;if(params.shadow){if(isHorizontal){cubeShadowEl=swiper.wrapperEl.querySelector('.swiper-cube-shadow');if(!cubeShadowEl){cubeShadowEl=createElement('div','swiper-cube-shadow');swiper.wrapperEl.append(cubeShadowEl)} cubeShadowEl.style.height=`${swiperWidth}px`}else{cubeShadowEl=el.querySelector('.swiper-cube-shadow');if(!cubeShadowEl){cubeShadowEl=createElement('div','swiper-cube-shadow');el.append(cubeShadowEl)}}} for(let i=0;i-1){wrapperRotate=slideIndex*90+progress*90;if(rtl)wrapperRotate=-slideIndex*90-progress*90;if(swiper.browser&&swiper.browser.need3dFix&&Math.abs(wrapperRotate)/90%2===1){wrapperRotate+=0.001}} slideEl.style.transform=transform;if(params.slideShadows){createSlideShadows(slideEl,progress,isHorizontal)}} wrapperEl.style.transformOrigin=`50% 50% -${swiperSize / 2}px`;wrapperEl.style['-webkit-transform-origin']=`50% 50% -${swiperSize / 2}px`;if(params.shadow){if(isHorizontal){cubeShadowEl.style.transform=`translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${-swiperWidth / 2}px) rotateX(89.99deg) rotateZ(0deg) scale(${params.shadowScale})`}else{const shadowAngle=Math.abs(wrapperRotate)-Math.floor(Math.abs(wrapperRotate)/90)*90;const multiplier=1.5-(Math.sin(shadowAngle*2*Math.PI/360)/2+Math.cos(shadowAngle*2*Math.PI/360)/2);const scale1=params.shadowScale;const scale2=params.shadowScale/multiplier;const offset=params.shadowOffset;cubeShadowEl.style.transform=`scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${swiperHeight / 2 + offset}px, ${-swiperHeight / 2 / scale2}px) rotateX(-89.99deg)`}} const zFactor=(browser.isSafari||browser.isWebView)&&browser.needPerspectiveFix?-swiperSize/2:0;wrapperEl.style.transform=`translate3d(0px,0,${zFactor}px) rotateX(${swiper.isHorizontal() ? 0 : wrapperRotate}deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`;wrapperEl.style.setProperty('--swiper-cube-translate-z',`${zFactor}px`)};const setTransition=duration=>{const{el,slides}=swiper;slides.forEach(slideEl=>{slideEl.style.transitionDuration=`${duration}ms`;slideEl.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(subEl=>{subEl.style.transitionDuration=`${duration}ms`})});if(swiper.params.cubeEffect.shadow&&!swiper.isHorizontal()){const shadowEl=el.querySelector('.swiper-cube-shadow');if(shadowEl)shadowEl.style.transitionDuration=`${duration}ms`}};effectInit({effect:'cube',swiper,on,setTranslate,setTransition,recreateShadows,getEffectParams:()=>swiper.params.cubeEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0})})} function createShadow(suffix,slideEl,side){const shadowClass=`swiper-slide-shadow${side ? `-${side}` : ''}${suffix ? ` swiper-slide-shadow-${suffix}` : ''}`;const shadowContainer=getSlideTransformEl(slideEl);let shadowEl=shadowContainer.querySelector(`.${shadowClass.split(' ').join('.')}`);if(!shadowEl){shadowEl=createElement('div',shadowClass.split(' '));shadowContainer.append(shadowEl)} return shadowEl} function EffectFlip(_ref){let{swiper,extendParams,on}=_ref;extendParams({flipEffect:{slideShadows:!0,limitRotation:!0}});const createSlideShadows=(slideEl,progress)=>{let shadowBefore=swiper.isHorizontal()?slideEl.querySelector('.swiper-slide-shadow-left'):slideEl.querySelector('.swiper-slide-shadow-top');let shadowAfter=swiper.isHorizontal()?slideEl.querySelector('.swiper-slide-shadow-right'):slideEl.querySelector('.swiper-slide-shadow-bottom');if(!shadowBefore){shadowBefore=createShadow('flip',slideEl,swiper.isHorizontal()?'left':'top')} if(!shadowAfter){shadowAfter=createShadow('flip',slideEl,swiper.isHorizontal()?'right':'bottom')} if(shadowBefore)shadowBefore.style.opacity=Math.max(-progress,0);if(shadowAfter)shadowAfter.style.opacity=Math.max(progress,0);};const recreateShadows=()=>{swiper.params.flipEffect;swiper.slides.forEach(slideEl=>{let progress=slideEl.progress;if(swiper.params.flipEffect.limitRotation){progress=Math.max(Math.min(slideEl.progress,1),-1)} createSlideShadows(slideEl,progress)})};const setTranslate=()=>{const{slides,rtlTranslate:rtl}=swiper;const params=swiper.params.flipEffect;for(let i=0;i{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements})};effectInit({effect:'flip',swiper,on,setTranslate,setTransition,recreateShadows,getEffectParams:()=>swiper.params.flipEffect,perspective:()=>!0,overwriteParams:()=>({slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!swiper.params.cssMode})})} function EffectCoverflow(_ref){let{swiper,extendParams,on}=_ref;extendParams({coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}});const setTranslate=()=>{const{width:swiperWidth,height:swiperHeight,slides,slidesSizesGrid}=swiper;const params=swiper.params.coverflowEffect;const isHorizontal=swiper.isHorizontal();const transform=swiper.translate;const center=isHorizontal?-transform+swiperWidth/2:-transform+swiperHeight/2;const rotate=isHorizontal?params.rotate:-params.rotate;const translate=params.depth;for(let i=0,length=slides.length;i0?offsetMultiplier:0;if(shadowAfterEl)shadowAfterEl.style.opacity=-offsetMultiplier>0?-offsetMultiplier:0}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})})};effectInit({effect:'coverflow',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0})})} function EffectCreative(_ref){let{swiper,extendParams,on}=_ref;extendParams({creativeEffect:{limitProgress:1,shadowPerProgress:!1,progressMultiplier:1,perspective:!0,prev:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1},next:{translate:[0,0,0],rotate:[0,0,0],opacity:1,scale:1}}});const getTranslateValue=value=>{if(typeof value==='string')return value;return `${value}px`};const setTranslate=()=>{const{slides,wrapperEl,slidesSizesGrid}=swiper;const params=swiper.params.creativeEffect;const{progressMultiplier:multiplier}=params;const isCenteredSlides=swiper.params.centeredSlides;if(isCenteredSlides){const margin=slidesSizesGrid[0]/2-swiper.params.slidesOffsetBefore||0;wrapperEl.style.transform=`translateX(calc(50% - ${margin}px))`} for(let i=0;i0){data=params.prev;custom=!0} t.forEach((value,index)=>{t[index]=`calc(${value}px + (${getTranslateValue(data.translate[index])} * ${Math.abs(progress * multiplier)}))`});r.forEach((value,index)=>{let val=data.rotate[index]*Math.abs(progress*multiplier);if(swiper.browser&&swiper.browser.need3dFix&&Math.abs(val)/90%2===1){val+=0.001} r[index]=val});slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const translateString=t.join(', ');const rotateString=`rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;const scaleString=originalProgress<0?`scale(${1 + (1 - data.scale) * originalProgress * multiplier})`:`scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;const opacityString=originalProgress<0?1+(1-data.opacity)*originalProgress*multiplier:1-(1-data.opacity)*originalProgress*multiplier;const transform=`translate3d(${translateString}) ${rotateString} ${scaleString}`;if(custom&&data.shadow||!custom){let shadowEl=slideEl.querySelector('.swiper-slide-shadow');if(!shadowEl&&data.shadow){shadowEl=createShadow('creative',slideEl)} if(shadowEl){const shadowOpacity=params.shadowPerProgress?progress*(1/params.limitProgress):progress;shadowEl.style.opacity=Math.min(Math.max(Math.abs(shadowOpacity),0),1)}} const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform;targetEl.style.opacity=opacityString;if(data.origin){targetEl.style.transformOrigin=data.origin}}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements,allSlides:!0})};effectInit({effect:'creative',swiper,on,setTranslate,setTransition,perspective:()=>swiper.params.creativeEffect.perspective,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!swiper.params.cssMode})})} function EffectCards(_ref){let{swiper,extendParams,on}=_ref;extendParams({cardsEffect:{slideShadows:!0,rotate:!0,perSlideRotate:2,perSlideOffset:8}});const setTranslate=()=>{const{slides,activeIndex,rtlTranslate:rtl}=swiper;const params=swiper.params.cardsEffect;const{startTranslate,isTouched}=swiper.touchEventsData;const currentTranslate=rtl?-swiper.translate:swiper.translate;for(let i=0;i0&&progress<1&&(isTouched||swiper.params.cssMode)&¤tTranslate-1&&(isTouched||swiper.params.cssMode)&¤tTranslate>startTranslate;if(isSwipeToNext||isSwipeToPrev){const subProgress=(1-Math.abs((Math.abs(progress)-0.5)/0.5))**0.5;rotate+=-28*progress*subProgress;scale+=-0.5*subProgress;tXAdd+=96*subProgress;tY=`${-25 * subProgress * Math.abs(progress)}%`} if(progress<0){tX=`calc(${tX}px ${rtl ? '-' : '+'} (${tXAdd * Math.abs(progress)}%))`}else if(progress>0){tX=`calc(${tX}px ${rtl ? '-' : '+'} (-${tXAdd * Math.abs(progress)}%))`}else{tX=`${tX}px`} if(!swiper.isHorizontal()){const prevY=tY;tY=tX;tX=prevY} const scaleString=progress<0?`${1 + (1 - scale) * progress}`:`${1 - (1 - scale) * progress}`;const transform=` translate3d(${tX}, ${tY}, ${tZ}px) rotateZ(${params.rotate ? rtl ? -rotate : rotate : 0}deg) scale(${scaleString}) `;if(params.slideShadows){let shadowEl=slideEl.querySelector('.swiper-slide-shadow');if(!shadowEl){shadowEl=createShadow('cards',slideEl)} if(shadowEl)shadowEl.style.opacity=Math.min(Math.max((Math.abs(progress)-0.5)/0.5,0),1);} slideEl.style.zIndex=-Math.abs(Math.round(slideProgress))+slides.length;const targetEl=effectTarget(params,slideEl);targetEl.style.transform=transform}};const setTransition=duration=>{const transformElements=swiper.slides.map(slideEl=>getSlideTransformEl(slideEl));transformElements.forEach(el=>{el.style.transitionDuration=`${duration}ms`;el.querySelectorAll('.swiper-slide-shadow').forEach(shadowEl=>{shadowEl.style.transitionDuration=`${duration}ms`})});effectVirtualTransitionEnd({swiper,duration,transformElements})};effectInit({effect:'cards',swiper,on,setTranslate,setTransition,perspective:()=>!0,overwriteParams:()=>({watchSlidesProgress:!0,virtualTranslate:!swiper.params.cssMode})})} const modules=[Virtual,Keyboard,Mousewheel,Navigation,Pagination,Scrollbar,Parallax,Zoom,Controller,A11y,History,HashNavigation,Autoplay,Thumb,freeMode,Grid,Manipulation,EffectFade,EffectCube,EffectFlip,EffectCoverflow,EffectCreative,EffectCards];Swiper.use(modules);return Swiper})() ;