!(function () { "use strict"; var e, a = function (t, s) { function r(e) { return Math.floor(e); } function i() { var e = x.params.autoplay, a = x.slides.eq(x.activeIndex); a.attr("data-swiper-autoplay") && (e = a.attr("data-swiper-autoplay") || x.params.autoplay), (x.autoplayTimeoutId = setTimeout(function () { x.params.loop ? (x.fixLoop(), x._slideNext(), x.emit("onAutoplay", x)) : x.isEnd ? s.autoplayStopOnLast ? x.stopAutoplay() : (x._slideTo(0), x.emit("onAutoplay", x)) : (x._slideNext(), x.emit("onAutoplay", x)); }, e)); } function n(a, t) { var s = e(a.target); if (!s.is(t)) if ("string" == typeof t) s = s.parents(t); else if (t.nodeType) { var r; return ( s.parents().each(function (e, a) { a === t && (r = t); }), r ? t : void 0 ); } if (0 !== s.length) return s[0]; } function o(e, a) { a = a || {}; var t = window.MutationObserver || window.WebkitMutationObserver, s = new t(function (e) { e.forEach(function (e) { x.onResize(!0), x.emit("onObserverUpdate", x, e); }); }); s.observe(e, { attributes: void 0 === a.attributes || a.attributes, childList: void 0 === a.childList || a.childList, characterData: void 0 === a.characterData || a.characterData, }), x.observers.push(s); } function l(e) { e.originalEvent && (e = e.originalEvent); var a = e.keyCode || e.charCode; if ( !x.params.allowSwipeToNext && ((x.isHorizontal() && 39 === a) || (!x.isHorizontal() && 40 === a)) ) return !1; if ( !x.params.allowSwipeToPrev && ((x.isHorizontal() && 37 === a) || (!x.isHorizontal() && 38 === a)) ) return !1; if ( !( e.shiftKey || e.altKey || e.ctrlKey || e.metaKey || (document.activeElement && document.activeElement.nodeName && ("input" === document.activeElement.nodeName.toLowerCase() || "textarea" === document.activeElement.nodeName.toLowerCase())) ) ) { if (37 === a || 39 === a || 38 === a || 40 === a) { var t = !1; if ( x.container.parents("." + x.params.slideClass).length > 0 && 0 === x.container.parents("." + x.params.slideActiveClass).length ) return; var s = { left: window.pageXOffset, top: window.pageYOffset, }, r = window.innerWidth, i = window.innerHeight, n = x.container.offset(); x.rtl && (n.left = n.left - x.container[0].scrollLeft); for ( var o = [ [n.left, n.top], [n.left + x.width, n.top], [n.left, n.top + x.height], [n.left + x.width, n.top + x.height], ], l = 0; l < o.length; l++ ) { var p = o[l]; p[0] >= s.left && p[0] <= s.left + r && p[1] >= s.top && p[1] <= s.top + i && (t = !0); } if (!t) return; } x.isHorizontal() ? ((37 !== a && 39 !== a) || (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)), ((39 === a && !x.rtl) || (37 === a && x.rtl)) && x.slideNext(), ((37 === a && !x.rtl) || (39 === a && x.rtl)) && x.slidePrev()) : ((38 !== a && 40 !== a) || (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)), 40 === a && x.slideNext(), 38 === a && x.slidePrev()), x.emit("onKeyPress", x, a); } } function p(e) { var a = 0, t = 0, s = 0, r = 0; return ( "detail" in e && (t = e.detail), "wheelDelta" in e && (t = -e.wheelDelta / 120), "wheelDeltaY" in e && (t = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (a = -e.wheelDeltaX / 120), "axis" in e && e.axis === e.HORIZONTAL_AXIS && ((a = t), (t = 0)), (s = 10 * a), (r = 10 * t), "deltaY" in e && (r = e.deltaY), "deltaX" in e && (s = e.deltaX), (s || r) && e.deltaMode && (1 === e.deltaMode ? ((s *= 40), (r *= 40)) : ((s *= 800), (r *= 800))), s && !a && (a = s < 1 ? -1 : 1), r && !t && (t = r < 1 ? -1 : 1), { spinX: a, spinY: t, pixelX: s, pixelY: r, } ); } function d(e) { e.originalEvent && (e = e.originalEvent); var a = 0, t = x.rtl ? -1 : 1, s = p(e); if (x.params.mousewheelForceToAxis) if (x.isHorizontal()) { if (!(Math.abs(s.pixelX) > Math.abs(s.pixelY))) return; a = s.pixelX * t; } else { if (!(Math.abs(s.pixelY) > Math.abs(s.pixelX))) return; a = s.pixelY; } else a = Math.abs(s.pixelX) > Math.abs(s.pixelY) ? -s.pixelX * t : -s.pixelY; if (0 !== a) { if ((x.params.mousewheelInvert && (a = -a), x.params.freeMode)) { var r = x.getWrapperTranslate() + a * x.params.mousewheelSensitivity, i = x.isBeginning, n = x.isEnd; if ( (r >= x.minTranslate() && (r = x.minTranslate()), r <= x.maxTranslate() && (r = x.maxTranslate()), x.setWrapperTransition(0), x.setWrapperTranslate(r), x.updateProgress(), x.updateActiveIndex(), ((!i && x.isBeginning) || (!n && x.isEnd)) && x.updateClasses(), x.params.freeModeSticky ? (clearTimeout(x.mousewheel.timeout), (x.mousewheel.timeout = setTimeout(function () { x.slideReset(); }, 300))) : x.params.lazyLoading && x.lazy && x.lazy.load(), x.emit("onScroll", x, e), x.params.autoplay && x.params.autoplayDisableOnInteraction && x.stopAutoplay(), 0 === r || r === x.maxTranslate()) ) return; } else { if (new window.Date().getTime() - x.mousewheel.lastScrollTime > 60) if (a < 0) if ((x.isEnd && !x.params.loop) || x.animating) { if (x.params.mousewheelReleaseOnEdges) return !0; } else x.slideNext(), x.emit("onScroll", x, e); else if ((x.isBeginning && !x.params.loop) || x.animating) { if (x.params.mousewheelReleaseOnEdges) return !0; } else x.slidePrev(), x.emit("onScroll", x, e); x.mousewheel.lastScrollTime = new window.Date().getTime(); } return ( e.preventDefault ? e.preventDefault() : (e.returnValue = !1), !1 ); } } function m(a, t) { a = e(a); var s, r, i, n = x.rtl ? -1 : 1; (s = a.attr("data-swiper-parallax") || "0"), (r = a.attr("data-swiper-parallax-x")), (i = a.attr("data-swiper-parallax-y")), r || i ? ((r = r || "0"), (i = i || "0")) : x.isHorizontal() ? ((r = s), (i = "0")) : ((i = s), (r = "0")), (r = r.indexOf("%") >= 0 ? parseInt(r, 10) * t * n + "%" : r * t * n + "px"), (i = i.indexOf("%") >= 0 ? parseInt(i, 10) * t + "%" : i * t + "px"), a.transform("translate3d(" + r + ", " + i + ",0px)"); } function u(e) { return ( 0 !== e.indexOf("on") && (e = e[0] !== e[0].toUpperCase() ? "on" + e[0].toUpperCase() + e.substring(1) : "on" + e), e ); } if (!(this instanceof a)) return new a(t, s); var c = { direction: "horizontal", touchEventsTarget: "container", initialSlide: 0, speed: 300, autoplay: !1, autoplayDisableOnInteraction: !0, autoplayStopOnLast: !1, iOSEdgeSwipeDetection: !1, iOSEdgeSwipeThreshold: 20, freeMode: !1, freeModeMomentum: !0, freeModeMomentumRatio: 1, freeModeMomentumBounce: !0, freeModeMomentumBounceRatio: 1, freeModeMomentumVelocityRatio: 1, freeModeSticky: !1, freeModeMinimumVelocity: 0.02, autoHeight: !1, setWrapperSize: !1, virtualTranslate: !1, effect: "slide", coverflow: { rotate: 50, stretch: 0, depth: 100, modifier: 1, slideShadows: !0, }, flip: { slideShadows: !0, limitRotation: !0, }, cube: { slideShadows: !0, shadow: !0, shadowOffset: 20, shadowScale: 0.94, }, fade: { crossFade: !1, }, parallax: !1, zoom: !1, zoomMax: 3, zoomMin: 1, zoomToggle: !0, scrollbar: null, scrollbarHide: !0, scrollbarDraggable: !1, scrollbarSnapOnRelease: !1, keyboardControl: !1, mousewheelControl: !1, mousewheelReleaseOnEdges: !1, mousewheelInvert: !1, mousewheelForceToAxis: !1, mousewheelSensitivity: 1, mousewheelEventsTarged: "container", hashnav: !1, hashnavWatchState: !1, history: !1, replaceState: !1, breakpoints: void 0, spaceBetween: 0, slidesPerView: 1, slidesPerColumn: 1, slidesPerColumnFill: "column", slidesPerGroup: 1, centeredSlides: !1, slidesOffsetBefore: 0, slidesOffsetAfter: 0, roundLengths: !1, touchRatio: 1, touchAngle: 45, simulateTouch: !0, shortSwipes: !0, longSwipes: !0, longSwipesRatio: 0.5, longSwipesMs: 300, followFinger: !0, onlyExternal: !1, threshold: 0, touchMoveStopPropagation: !0, touchReleaseOnEdges: !1, uniqueNavElements: !0, pagination: null, paginationElement: "span", paginationClickable: !1, paginationHide: !1, paginationBulletRender: null, paginationProgressRender: null, paginationFractionRender: null, paginationCustomRender: null, paginationType: "bullets", resistance: !0, resistanceRatio: 0.85, nextButton: null, prevButton: null, watchSlidesProgress: !1, watchSlidesVisibility: !1, grabCursor: !1, preventClicks: !0, preventClicksPropagation: !0, slideToClickedSlide: !1, lazyLoading: !1, lazyLoadingInPrevNext: !1, lazyLoadingInPrevNextAmount: 1, lazyLoadingOnTransitionStart: !1, preloadImages: !0, updateOnImagesReady: !0, loop: !1, loopAdditionalSlides: 0, loopedSlides: null, control: void 0, controlInverse: !1, controlBy: "slide", normalizeSlideIndex: !0, allowSwipeToPrev: !0, allowSwipeToNext: !0, swipeHandler: null, noSwiping: !0, noSwipingClass: "swiper-no-swiping", passiveListeners: !0, containerModifierClass: "swiper-container-", slideClass: "swiper-slide", slideActiveClass: "swiper-slide-active", slideDuplicateActiveClass: "swiper-slide-duplicate-active", slideVisibleClass: "swiper-slide-visible", slideDuplicateClass: "swiper-slide-duplicate", slideNextClass: "swiper-slide-next", slideDuplicateNextClass: "swiper-slide-duplicate-next", slidePrevClass: "swiper-slide-prev", slideDuplicatePrevClass: "swiper-slide-duplicate-prev", wrapperClass: "swiper-wrapper", bulletClass: "swiper-pagination-bullet", bulletActiveClass: "swiper-pagination-bullet-active", buttonDisabledClass: "swiper-button-disabled", paginationCurrentClass: "swiper-pagination-current", paginationTotalClass: "swiper-pagination-total", paginationHiddenClass: "swiper-pagination-hidden", paginationProgressbarClass: "swiper-pagination-progressbar", paginationClickableClass: "swiper-pagination-clickable", paginationModifierClass: "swiper-pagination-", lazyLoadingClass: "swiper-lazy", lazyStatusLoadingClass: "swiper-lazy-loading", lazyStatusLoadedClass: "swiper-lazy-loaded", lazyPreloaderClass: "swiper-lazy-preloader", notificationClass: "swiper-notification", preloaderClass: "preloader", zoomContainerClass: "swiper-zoom-container", observer: !1, observeParents: !1, a11y: !1, prevSlideMessage: "Previous slide", nextSlideMessage: "Next slide", firstSlideMessage: "This is the first slide", lastSlideMessage: "This is the last slide", paginationBulletMessage: "Go to slide {{index}}", runCallbacksOnInit: !0, }, g = s && s.virtualTranslate; s = s || {}; var h = {}; for (var v in s) if ( "object" != typeof s[v] || null === s[v] || s[v].nodeType || s[v] === window || s[v] === document || ("undefined" != typeof Dom7 && s[v] instanceof Dom7) || ("undefined" != typeof jQuery && s[v] instanceof jQuery) ) h[v] = s[v]; else { h[v] = {}; for (var f in s[v]) h[v][f] = s[v][f]; } for (var w in c) if (void 0 === s[w]) s[w] = c[w]; else if ("object" == typeof s[w]) for (var y in c[w]) void 0 === s[w][y] && (s[w][y] = c[w][y]); var x = this; if ( ((x.params = s), (x.originalParams = h), (x.classNames = []), void 0 !== e && "undefined" != typeof Dom7 && (e = Dom7), (void 0 !== e || (e = "undefined" == typeof Dom7 ? window.Dom7 || window.Zepto || window.jQuery : Dom7)) && ((x.$ = e), (x.currentBreakpoint = void 0), (x.getActiveBreakpoint = function () { if (!x.params.breakpoints) return !1; var e, a = !1, t = []; for (e in x.params.breakpoints) x.params.breakpoints.hasOwnProperty(e) && t.push(e); t.sort(function (e, a) { return parseInt(e, 10) > parseInt(a, 10); }); for (var s = 0; s < t.length; s++) (e = t[s]) >= window.innerWidth && !a && (a = e); return a || "max"; }), (x.setBreakpoint = function () { var e = x.getActiveBreakpoint(); if (e && x.currentBreakpoint !== e) { var a = e in x.params.breakpoints ? x.params.breakpoints[e] : x.originalParams, t = x.params.loop && a.slidesPerView !== x.params.slidesPerView; for (var s in a) x.params[s] = a[s]; (x.currentBreakpoint = e), t && x.destroyLoop && x.reLoop(!0); } }), x.params.breakpoints && x.setBreakpoint(), (x.container = e(t)), 0 !== x.container.length)) ) { if (x.container.length > 1) { var T = []; return ( x.container.each(function () { T.push(new a(this, s)); }), T ); } (x.container[0].swiper = x), x.container.data("swiper", x), x.classNames.push( x.params.containerModifierClass + x.params.direction ), x.params.freeMode && x.classNames.push(x.params.containerModifierClass + "free-mode"), x.support.flexbox || (x.classNames.push(x.params.containerModifierClass + "no-flexbox"), (x.params.slidesPerColumn = 1)), x.params.autoHeight && x.classNames.push(x.params.containerModifierClass + "autoheight"), (x.params.parallax || x.params.watchSlidesVisibility) && (x.params.watchSlidesProgress = !0), x.params.touchReleaseOnEdges && (x.params.resistanceRatio = 0), ["cube", "coverflow", "flip"].indexOf(x.params.effect) >= 0 && (x.support.transforms3d ? ((x.params.watchSlidesProgress = !0), x.classNames.push(x.params.containerModifierClass + "3d")) : (x.params.effect = "slide")), "slide" !== x.params.effect && x.classNames.push( x.params.containerModifierClass + x.params.effect ), "cube" === x.params.effect && ((x.params.resistanceRatio = 0), (x.params.slidesPerView = 1), (x.params.slidesPerColumn = 1), (x.params.slidesPerGroup = 1), (x.params.centeredSlides = !1), (x.params.spaceBetween = 0), (x.params.virtualTranslate = !0)), ("fade" !== x.params.effect && "flip" !== x.params.effect) || ((x.params.slidesPerView = 1), (x.params.slidesPerColumn = 1), (x.params.slidesPerGroup = 1), (x.params.watchSlidesProgress = !0), (x.params.spaceBetween = 0), void 0 === g && (x.params.virtualTranslate = !0)), x.params.grabCursor && x.support.touch && (x.params.grabCursor = !1), (x.wrapper = x.container.children("." + x.params.wrapperClass)), x.params.pagination && ((x.paginationContainer = e(x.params.pagination)), x.params.uniqueNavElements && "string" == typeof x.params.pagination && x.paginationContainer.length > 1 && 1 === x.container.find(x.params.pagination).length && (x.paginationContainer = x.container.find(x.params.pagination)), "bullets" === x.params.paginationType && x.params.paginationClickable ? x.paginationContainer.addClass( x.params.paginationModifierClass + "clickable" ) : (x.params.paginationClickable = !1), x.paginationContainer.addClass( x.params.paginationModifierClass + x.params.paginationType )), (x.params.nextButton || x.params.prevButton) && (x.params.nextButton && ((x.nextButton = e(x.params.nextButton)), x.params.uniqueNavElements && "string" == typeof x.params.nextButton && x.nextButton.length > 1 && 1 === x.container.find(x.params.nextButton).length && (x.nextButton = x.container.find(x.params.nextButton))), x.params.prevButton && ((x.prevButton = e(x.params.prevButton)), x.params.uniqueNavElements && "string" == typeof x.params.prevButton && x.prevButton.length > 1 && 1 === x.container.find(x.params.prevButton).length && (x.prevButton = x.container.find(x.params.prevButton)))), (x.isHorizontal = function () { return "horizontal" === x.params.direction; }), (x.rtl = x.isHorizontal() && ("rtl" === x.container[0].dir.toLowerCase() || "rtl" === x.container.css("direction"))), x.rtl && x.classNames.push(x.params.containerModifierClass + "rtl"), x.rtl && (x.wrongRTL = "-webkit-box" === x.wrapper.css("display")), x.params.slidesPerColumn > 1 && x.classNames.push(x.params.containerModifierClass + "multirow"), x.device.android && x.classNames.push(x.params.containerModifierClass + "android"), x.container.addClass(x.classNames.join(" ")), (x.translate = 0), (x.progress = 0), (x.velocity = 0), (x.lockSwipeToNext = function () { (x.params.allowSwipeToNext = !1), x.params.allowSwipeToPrev === !1 && x.params.grabCursor && x.unsetGrabCursor(); }), (x.lockSwipeToPrev = function () { (x.params.allowSwipeToPrev = !1), x.params.allowSwipeToNext === !1 && x.params.grabCursor && x.unsetGrabCursor(); }), (x.lockSwipes = function () { (x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !1), x.params.grabCursor && x.unsetGrabCursor(); }), (x.unlockSwipeToNext = function () { (x.params.allowSwipeToNext = !0), x.params.allowSwipeToPrev === !0 && x.params.grabCursor && x.setGrabCursor(); }), (x.unlockSwipeToPrev = function () { (x.params.allowSwipeToPrev = !0), x.params.allowSwipeToNext === !0 && x.params.grabCursor && x.setGrabCursor(); }), (x.unlockSwipes = function () { (x.params.allowSwipeToNext = x.params.allowSwipeToPrev = !0), x.params.grabCursor && x.setGrabCursor(); }), (x.setGrabCursor = function (e) { (x.container[0].style.cursor = "move"), (x.container[0].style.cursor = e ? "-webkit-grabbing" : "-webkit-grab"), (x.container[0].style.cursor = e ? "-moz-grabbin" : "-moz-grab"), (x.container[0].style.cursor = e ? "grabbing" : "grab"); }), (x.unsetGrabCursor = function () { x.container[0].style.cursor = ""; }), x.params.grabCursor && x.setGrabCursor(), (x.imagesToLoad = []), (x.imagesLoaded = 0), (x.loadImage = function (e, a, t, s, r, i) { function n() { i && i(); } var o; e.complete && r ? n() : a ? ((o = new window.Image()), (o.onload = n), (o.onerror = n), s && (o.sizes = s), t && (o.srcset = t), a && (o.src = a)) : n(); }), (x.preloadImages = function () { function e() { void 0 !== x && null !== x && x && (void 0 !== x.imagesLoaded && x.imagesLoaded++, x.imagesLoaded === x.imagesToLoad.length && (x.params.updateOnImagesReady && x.update(), x.emit("onImagesReady", x))); } x.imagesToLoad = x.container.find("img"); for (var a = 0; a < x.imagesToLoad.length; a++) x.loadImage( x.imagesToLoad[a], x.imagesToLoad[a].currentSrc || x.imagesToLoad[a].getAttribute("src"), x.imagesToLoad[a].srcset || x.imagesToLoad[a].getAttribute("srcset"), x.imagesToLoad[a].sizes || x.imagesToLoad[a].getAttribute("sizes"), !0, e ); }), (x.autoplayTimeoutId = void 0), (x.autoplaying = !1), (x.autoplayPaused = !1), (x.startAutoplay = function () { return ( void 0 === x.autoplayTimeoutId && !!x.params.autoplay && !x.autoplaying && ((x.autoplaying = !0), x.emit("onAutoplayStart", x), void i()) ); }), (x.stopAutoplay = function (e) { x.autoplayTimeoutId && (x.autoplayTimeoutId && clearTimeout(x.autoplayTimeoutId), (x.autoplaying = !1), (x.autoplayTimeoutId = void 0), x.emit("onAutoplayStop", x)); }), (x.pauseAutoplay = function (e) { x.autoplayPaused || (x.autoplayTimeoutId && clearTimeout(x.autoplayTimeoutId), (x.autoplayPaused = !0), 0 === e ? ((x.autoplayPaused = !1), i()) : x.wrapper.transitionEnd(function () { x && ((x.autoplayPaused = !1), x.autoplaying ? i() : x.stopAutoplay()); })); }), (x.minTranslate = function () { return -x.snapGrid[0]; }), (x.maxTranslate = function () { return -x.snapGrid[x.snapGrid.length - 1]; }), (x.updateAutoHeight = function () { var e, a = [], t = 0; if ("auto" !== x.params.slidesPerView && x.params.slidesPerView > 1) for (e = 0; e < Math.ceil(x.params.slidesPerView); e++) { var s = x.activeIndex + e; if (s > x.slides.length) break; a.push(x.slides.eq(s)[0]); } else a.push(x.slides.eq(x.activeIndex)[0]); for (e = 0; e < a.length; e++) if (void 0 !== a[e]) { var r = a[e].offsetHeight; t = r > t ? r : t; } t && x.wrapper.css("height", t + "px"); }), (x.updateContainerSize = function () { var e, a; (e = void 0 !== x.params.width ? x.params.width : x.container[0].clientWidth), (a = void 0 !== x.params.height ? x.params.height : x.container[0].clientHeight), (0 === e && x.isHorizontal()) || (0 === a && !x.isHorizontal()) || ((e = e - parseInt(x.container.css("padding-left"), 10) - parseInt(x.container.css("padding-right"), 10)), (a = a - parseInt(x.container.css("padding-top"), 10) - parseInt(x.container.css("padding-bottom"), 10)), (x.width = e), (x.height = a), (x.size = x.isHorizontal() ? x.width : x.height)); }), (x.updateSlidesSize = function () { (x.slides = x.wrapper.children("." + x.params.slideClass)), (x.snapGrid = []), (x.slidesGrid = []), (x.slidesSizesGrid = []); var e, a = x.params.spaceBetween, t = -x.params.slidesOffsetBefore, s = 0, i = 0; if (void 0 !== x.size) { "string" == typeof a && a.indexOf("%") >= 0 && (a = (parseFloat(a.replace("%", "")) / 100) * x.size), (x.virtualSize = -a), x.rtl ? x.slides.css({ marginLeft: "", marginTop: "", }) : x.slides.css({ marginRight: "", marginBottom: "", }); var n; x.params.slidesPerColumn > 1 && ((n = Math.floor(x.slides.length / x.params.slidesPerColumn) === x.slides.length / x.params.slidesPerColumn ? x.slides.length : Math.ceil(x.slides.length / x.params.slidesPerColumn) * x.params.slidesPerColumn), "auto" !== x.params.slidesPerView && "row" === x.params.slidesPerColumnFill && (n = Math.max( n, x.params.slidesPerView * x.params.slidesPerColumn ))); var o, l = x.params.slidesPerColumn, p = n / l, d = p - (x.params.slidesPerColumn * p - x.slides.length); for (e = 0; e < x.slides.length; e++) { o = 0; var m = x.slides.eq(e); if (x.params.slidesPerColumn > 1) { var u, c, g; "column" === x.params.slidesPerColumnFill ? ((c = Math.floor(e / l)), (g = e - c * l), (c > d || (c === d && g === l - 1)) && ++g >= l && ((g = 0), c++), (u = c + (g * n) / l), m.css({ "-webkit-box-ordinal-group": u, "-moz-box-ordinal-group": u, "-ms-flex-order": u, "-webkit-order": u, order: u, })) : ((g = Math.floor(e / p)), (c = e - g * p)), m .css( "margin-" + (x.isHorizontal() ? "top" : "left"), 0 !== g && x.params.spaceBetween && x.params.spaceBetween + "px" ) .attr("data-swiper-column", c) .attr("data-swiper-row", g); } "none" !== m.css("display") && ("auto" === x.params.slidesPerView ? ((o = x.isHorizontal() ? m.outerWidth(!0) : m.outerHeight(!0)), x.params.roundLengths && (o = r(o))) : ((o = (x.size - (x.params.slidesPerView - 1) * a) / x.params.slidesPerView), x.params.roundLengths && (o = r(o)), x.isHorizontal() ? (x.slides[e].style.width = o + "px") : (x.slides[e].style.height = o + "px")), (x.slides[e].swiperSlideSize = o), x.slidesSizesGrid.push(o), x.params.centeredSlides ? ((t = t + o / 2 + s / 2 + a), 0 === s && 0 !== e && (t = t - x.size / 2 - a), 0 === e && (t = t - x.size / 2 - a), Math.abs(t) < 0.001 && (t = 0), i % x.params.slidesPerGroup == 0 && x.snapGrid.push(t), x.slidesGrid.push(t)) : (i % x.params.slidesPerGroup == 0 && x.snapGrid.push(t), x.slidesGrid.push(t), (t = t + o + a)), (x.virtualSize += o + a), (s = o), i++); } x.virtualSize = Math.max(x.virtualSize, x.size) + x.params.slidesOffsetAfter; var h; if ( (x.rtl && x.wrongRTL && ("slide" === x.params.effect || "coverflow" === x.params.effect) && x.wrapper.css({ width: x.virtualSize + x.params.spaceBetween + "px", }), (x.support.flexbox && !x.params.setWrapperSize) || (x.isHorizontal() ? x.wrapper.css({ width: x.virtualSize + x.params.spaceBetween + "px", }) : x.wrapper.css({ height: x.virtualSize + x.params.spaceBetween + "px", })), x.params.slidesPerColumn > 1 && ((x.virtualSize = (o + x.params.spaceBetween) * n), (x.virtualSize = Math.ceil(x.virtualSize / x.params.slidesPerColumn) - x.params.spaceBetween), x.isHorizontal() ? x.wrapper.css({ width: x.virtualSize + x.params.spaceBetween + "px", }) : x.wrapper.css({ height: x.virtualSize + x.params.spaceBetween + "px", }), x.params.centeredSlides)) ) { for (h = [], e = 0; e < x.snapGrid.length; e++) x.snapGrid[e] < x.virtualSize + x.snapGrid[0] && h.push(x.snapGrid[e]); x.snapGrid = h; } if (!x.params.centeredSlides) { for (h = [], e = 0; e < x.snapGrid.length; e++) x.snapGrid[e] <= x.virtualSize - x.size && h.push(x.snapGrid[e]); (x.snapGrid = h), Math.floor(x.virtualSize - x.size) - Math.floor(x.snapGrid[x.snapGrid.length - 1]) > 1 && x.snapGrid.push(x.virtualSize - x.size); } 0 === x.snapGrid.length && (x.snapGrid = [0]), 0 !== x.params.spaceBetween && (x.isHorizontal() ? x.rtl ? x.slides.css({ marginLeft: a + "px", }) : x.slides.css({ marginRight: a + "px", }) : x.slides.css({ marginBottom: a + "px", })), x.params.watchSlidesProgress && x.updateSlidesOffset(); } }), (x.updateSlidesOffset = function () { for (var e = 0; e < x.slides.length; e++) x.slides[e].swiperSlideOffset = x.isHorizontal() ? x.slides[e].offsetLeft : x.slides[e].offsetTop; }), (x.currentSlidesPerView = function () { var e, a, t = 1; if (x.params.centeredSlides) { var s, r = x.slides[x.activeIndex].swiperSlideSize; for (e = x.activeIndex + 1; e < x.slides.length; e++) x.slides[e] && !s && ((r += x.slides[e].swiperSlideSize), t++, r > x.size && (s = !0)); for (a = x.activeIndex - 1; a >= 0; a--) x.slides[a] && !s && ((r += x.slides[a].swiperSlideSize), t++, r > x.size && (s = !0)); } else for (e = x.activeIndex + 1; e < x.slides.length; e++) x.slidesGrid[e] - x.slidesGrid[x.activeIndex] < x.size && t++; return t; }), (x.updateSlidesProgress = function (e) { if ( (void 0 === e && (e = x.translate || 0), 0 !== x.slides.length) ) { void 0 === x.slides[0].swiperSlideOffset && x.updateSlidesOffset(); var a = -e; x.rtl && (a = e), x.slides.removeClass(x.params.slideVisibleClass); for (var t = 0; t < x.slides.length; t++) { var s = x.slides[t], r = (a + (x.params.centeredSlides ? x.minTranslate() : 0) - s.swiperSlideOffset) / (s.swiperSlideSize + x.params.spaceBetween); if (x.params.watchSlidesVisibility) { var i = -(a - s.swiperSlideOffset), n = i + x.slidesSizesGrid[t]; ((i >= 0 && i < x.size) || (n > 0 && n <= x.size) || (i <= 0 && n >= x.size)) && x.slides.eq(t).addClass(x.params.slideVisibleClass); } s.progress = x.rtl ? -r : r; } } }), (x.updateProgress = function (e) { void 0 === e && (e = x.translate || 0); var a = x.maxTranslate() - x.minTranslate(), t = x.isBeginning, s = x.isEnd; 0 === a ? ((x.progress = 0), (x.isBeginning = x.isEnd = !0)) : ((x.progress = (e - x.minTranslate()) / a), (x.isBeginning = x.progress <= 0), (x.isEnd = x.progress >= 1)), x.isBeginning && !t && x.emit("onReachBeginning", x), x.isEnd && !s && x.emit("onReachEnd", x), x.params.watchSlidesProgress && x.updateSlidesProgress(e), x.emit("onProgress", x, x.progress); }), (x.updateActiveIndex = function () { var e, a, t, s = x.rtl ? x.translate : -x.translate; for (a = 0; a < x.slidesGrid.length; a++) void 0 !== x.slidesGrid[a + 1] ? s >= x.slidesGrid[a] && s < x.slidesGrid[a + 1] - (x.slidesGrid[a + 1] - x.slidesGrid[a]) / 2 ? (e = a) : s >= x.slidesGrid[a] && s < x.slidesGrid[a + 1] && (e = a + 1) : s >= x.slidesGrid[a] && (e = a); x.params.normalizeSlideIndex && (e < 0 || void 0 === e) && (e = 0), (t = Math.floor(e / x.params.slidesPerGroup)), t >= x.snapGrid.length && (t = x.snapGrid.length - 1), e !== x.activeIndex && ((x.snapIndex = t), (x.previousIndex = x.activeIndex), (x.activeIndex = e), x.updateClasses(), x.updateRealIndex()); }), (x.updateRealIndex = function () { x.realIndex = parseInt( x.slides.eq(x.activeIndex).attr("data-swiper-slide-index") || x.activeIndex, 10 ); }), (x.updateClasses = function () { x.slides.removeClass( x.params.slideActiveClass + " " + x.params.slideNextClass + " " + x.params.slidePrevClass + " " + x.params.slideDuplicateActiveClass + " " + x.params.slideDuplicateNextClass + " " + x.params.slideDuplicatePrevClass ); var a = x.slides.eq(x.activeIndex); a.addClass(x.params.slideActiveClass), s.loop && (a.hasClass(x.params.slideDuplicateClass) ? x.wrapper .children( "." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + x.realIndex + '"]' ) .addClass(x.params.slideDuplicateActiveClass) : x.wrapper .children( "." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + x.realIndex + '"]' ) .addClass(x.params.slideDuplicateActiveClass)); var t = a .next("." + x.params.slideClass) .addClass(x.params.slideNextClass); x.params.loop && 0 === t.length && ((t = x.slides.eq(0)), t.addClass(x.params.slideNextClass)); var r = a .prev("." + x.params.slideClass) .addClass(x.params.slidePrevClass); if ( (x.params.loop && 0 === r.length && ((r = x.slides.eq(-1)), r.addClass(x.params.slidePrevClass)), s.loop && (t.hasClass(x.params.slideDuplicateClass) ? x.wrapper .children( "." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + t.attr("data-swiper-slide-index") + '"]' ) .addClass(x.params.slideDuplicateNextClass) : x.wrapper .children( "." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + t.attr("data-swiper-slide-index") + '"]' ) .addClass(x.params.slideDuplicateNextClass), r.hasClass(x.params.slideDuplicateClass) ? x.wrapper .children( "." + x.params.slideClass + ":not(." + x.params.slideDuplicateClass + ')[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]' ) .addClass(x.params.slideDuplicatePrevClass) : x.wrapper .children( "." + x.params.slideClass + "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + r.attr("data-swiper-slide-index") + '"]' ) .addClass(x.params.slideDuplicatePrevClass)), x.paginationContainer && x.paginationContainer.length > 0) ) { var i, n = x.params.loop ? Math.ceil( (x.slides.length - 2 * x.loopedSlides) / x.params.slidesPerGroup ) : x.snapGrid.length; if ( (x.params.loop ? ((i = Math.ceil( (x.activeIndex - x.loopedSlides) / x.params.slidesPerGroup )), i > x.slides.length - 1 - 2 * x.loopedSlides && (i -= x.slides.length - 2 * x.loopedSlides), i > n - 1 && (i -= n), i < 0 && "bullets" !== x.params.paginationType && (i = n + i)) : (i = void 0 !== x.snapIndex ? x.snapIndex : x.activeIndex || 0), "bullets" === x.params.paginationType && x.bullets && x.bullets.length > 0 && (x.bullets.removeClass(x.params.bulletActiveClass), x.paginationContainer.length > 1 ? x.bullets.each(function () { e(this).index() === i && e(this).addClass(x.params.bulletActiveClass); }) : x.bullets.eq(i).addClass(x.params.bulletActiveClass)), "fraction" === x.params.paginationType && (x.paginationContainer .find("." + x.params.paginationCurrentClass) .text(i + 1), x.paginationContainer .find("." + x.params.paginationTotalClass) .text(n)), "progress" === x.params.paginationType) ) { var o = (i + 1) / n, l = o, p = 1; x.isHorizontal() || ((p = o), (l = 1)), x.paginationContainer .find("." + x.params.paginationProgressbarClass) .transform( "translate3d(0,0,0) scaleX(" + l + ") scaleY(" + p + ")" ) .transition(x.params.speed); } "custom" === x.params.paginationType && x.params.paginationCustomRender && (x.paginationContainer.html( x.params.paginationCustomRender(x, i + 1, n) ), x.emit("onPaginationRendered", x, x.paginationContainer[0])); } x.params.loop || (x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.isBeginning ? (x.prevButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.prevButton)) : (x.prevButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.prevButton))), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.isEnd ? (x.nextButton.addClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.disable(x.nextButton)) : (x.nextButton.removeClass(x.params.buttonDisabledClass), x.params.a11y && x.a11y && x.a11y.enable(x.nextButton)))); }), (x.updatePagination = function () { if ( x.params.pagination && x.paginationContainer && x.paginationContainer.length > 0 ) { var e = ""; if ("bullets" === x.params.paginationType) { for ( var a = x.params.loop ? Math.ceil( (x.slides.length - 2 * x.loopedSlides) / x.params.slidesPerGroup ) : x.snapGrid.length, t = 0; t < a; t++ ) e += x.params.paginationBulletRender ? x.params.paginationBulletRender( x, t, x.params.bulletClass ) : "<" + x.params.paginationElement + ' class="' + x.params.bulletClass + '">"; x.paginationContainer.html(e), (x.bullets = x.paginationContainer.find( "." + x.params.bulletClass )), x.params.paginationClickable && x.params.a11y && x.a11y && x.a11y.initPagination(); } "fraction" === x.params.paginationType && ((e = x.params.paginationFractionRender ? x.params.paginationFractionRender( x, x.params.paginationCurrentClass, x.params.paginationTotalClass ) : ' / '), x.paginationContainer.html(e)), "progress" === x.params.paginationType && ((e = x.params.paginationProgressRender ? x.params.paginationProgressRender( x, x.params.paginationProgressbarClass ) : ''), x.paginationContainer.html(e)), "custom" !== x.params.paginationType && x.emit("onPaginationRendered", x, x.paginationContainer[0]); } }), (x.update = function (e) { function a() { x.rtl, x.translate; (t = Math.min( Math.max(x.translate, x.maxTranslate()), x.minTranslate() )), x.setWrapperTranslate(t), x.updateActiveIndex(), x.updateClasses(); } if (x) { x.updateContainerSize(), x.updateSlidesSize(), x.updateProgress(), x.updatePagination(), x.updateClasses(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(); var t; if (e) { x.controller && x.controller.spline && (x.controller.spline = void 0), x.params.freeMode ? (a(), x.params.autoHeight && x.updateAutoHeight()) : (("auto" === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length - 1, 0, !1, !0) : x.slideTo(x.activeIndex, 0, !1, !0)) || a(); } else x.params.autoHeight && x.updateAutoHeight(); } }), (x.onResize = function (e) { x.params.onBeforeResize && x.params.onBeforeResize(x), x.params.breakpoints && x.setBreakpoint(); var a = x.params.allowSwipeToPrev, t = x.params.allowSwipeToNext; (x.params.allowSwipeToPrev = x.params.allowSwipeToNext = !0), x.updateContainerSize(), x.updateSlidesSize(), ("auto" === x.params.slidesPerView || x.params.freeMode || e) && x.updatePagination(), x.params.scrollbar && x.scrollbar && x.scrollbar.set(), x.controller && x.controller.spline && (x.controller.spline = void 0); var s = !1; if (x.params.freeMode) { var r = Math.min( Math.max(x.translate, x.maxTranslate()), x.minTranslate() ); x.setWrapperTranslate(r), x.updateActiveIndex(), x.updateClasses(), x.params.autoHeight && x.updateAutoHeight(); } else x.updateClasses(), (s = ("auto" === x.params.slidesPerView || x.params.slidesPerView > 1) && x.isEnd && !x.params.centeredSlides ? x.slideTo(x.slides.length - 1, 0, !1, !0) : x.slideTo(x.activeIndex, 0, !1, !0)); x.params.lazyLoading && !s && x.lazy && x.lazy.load(), (x.params.allowSwipeToPrev = a), (x.params.allowSwipeToNext = t), x.params.onAfterResize && x.params.onAfterResize(x); }), (x.touchEventsDesktop = { start: "mousedown", move: "mousemove", end: "mouseup", }), window.navigator.pointerEnabled ? (x.touchEventsDesktop = { start: "pointerdown", move: "pointermove", end: "pointerup", }) : window.navigator.msPointerEnabled && (x.touchEventsDesktop = { start: "MSPointerDown", move: "MSPointerMove", end: "MSPointerUp", }), (x.touchEvents = { start: x.support.touch || !x.params.simulateTouch ? "touchstart" : x.touchEventsDesktop.start, move: x.support.touch || !x.params.simulateTouch ? "touchmove" : x.touchEventsDesktop.move, end: x.support.touch || !x.params.simulateTouch ? "touchend" : x.touchEventsDesktop.end, }), (window.navigator.pointerEnabled || window.navigator.msPointerEnabled) && ("container" === x.params.touchEventsTarget ? x.container : x.wrapper ).addClass("swiper-wp8-" + x.params.direction), (x.initEvents = function (e) { var a = e ? "off" : "on", t = e ? "removeEventListener" : "addEventListener", r = "container" === x.params.touchEventsTarget ? x.container[0] : x.wrapper[0], i = x.support.touch ? r : document, n = !!x.params.nested; if (x.browser.ie) r[t](x.touchEvents.start, x.onTouchStart, !1), i[t](x.touchEvents.move, x.onTouchMove, n), i[t](x.touchEvents.end, x.onTouchEnd, !1); else { if (x.support.touch) { var o = !( "touchstart" !== x.touchEvents.start || !x.support.passiveListener || !x.params.passiveListeners ) && { passive: !0, capture: !1, }; r[t](x.touchEvents.start, x.onTouchStart, o), r[t](x.touchEvents.move, x.onTouchMove, n), r[t](x.touchEvents.end, x.onTouchEnd, o); } ((s.simulateTouch && !x.device.ios && !x.device.android) || (s.simulateTouch && !x.support.touch && x.device.ios)) && (r[t]("mousedown", x.onTouchStart, !1), document[t]("mousemove", x.onTouchMove, n), document[t]("mouseup", x.onTouchEnd, !1)); } window[t]("resize", x.onResize), x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.nextButton[a]("click", x.onClickNext), x.params.a11y && x.a11y && x.nextButton[a]("keydown", x.a11y.onEnterKey)), x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.prevButton[a]("click", x.onClickPrev), x.params.a11y && x.a11y && x.prevButton[a]("keydown", x.a11y.onEnterKey)), x.params.pagination && x.params.paginationClickable && (x.paginationContainer[a]( "click", "." + x.params.bulletClass, x.onClickIndex ), x.params.a11y && x.a11y && x.paginationContainer[a]( "keydown", "." + x.params.bulletClass, x.a11y.onEnterKey )), (x.params.preventClicks || x.params.preventClicksPropagation) && r[t]("click", x.preventClicks, !0); }), (x.attachEvents = function () { x.initEvents(); }), (x.detachEvents = function () { x.initEvents(!0); }), (x.allowClick = !0), (x.preventClicks = function (e) { x.allowClick || (x.params.preventClicks && e.preventDefault(), x.params.preventClicksPropagation && x.animating && (e.stopPropagation(), e.stopImmediatePropagation())); }), (x.onClickNext = function (e) { e.preventDefault(), (x.isEnd && !x.params.loop) || x.slideNext(); }), (x.onClickPrev = function (e) { e.preventDefault(), (x.isBeginning && !x.params.loop) || x.slidePrev(); }), (x.onClickIndex = function (a) { a.preventDefault(); var t = e(this).index() * x.params.slidesPerGroup; x.params.loop && (t += x.loopedSlides), x.slideTo(t); }), (x.updateClickedSlide = function (a) { var t = n(a, "." + x.params.slideClass), s = !1; if (t) for (var r = 0; r < x.slides.length; r++) x.slides[r] === t && (s = !0); if (!t || !s) return (x.clickedSlide = void 0), void (x.clickedIndex = void 0); if ( ((x.clickedSlide = t), (x.clickedIndex = e(t).index()), x.params.slideToClickedSlide && void 0 !== x.clickedIndex && x.clickedIndex !== x.activeIndex) ) { var i, o = x.clickedIndex, l = "auto" === x.params.slidesPerView ? x.currentSlidesPerView() : x.params.slidesPerView; if (x.params.loop) { if (x.animating) return; (i = parseInt( e(x.clickedSlide).attr("data-swiper-slide-index"), 10 )), x.params.centeredSlides ? o < x.loopedSlides - l / 2 || o > x.slides.length - x.loopedSlides + l / 2 ? (x.fixLoop(), (o = x.wrapper .children( "." + x.params.slideClass + '[data-swiper-slide-index="' + i + '"]:not(.' + x.params.slideDuplicateClass + ")" ) .eq(0) .index()), setTimeout(function () { x.slideTo(o); }, 0)) : x.slideTo(o) : o > x.slides.length - l ? (x.fixLoop(), (o = x.wrapper .children( "." + x.params.slideClass + '[data-swiper-slide-index="' + i + '"]:not(.' + x.params.slideDuplicateClass + ")" ) .eq(0) .index()), setTimeout(function () { x.slideTo(o); }, 0)) : x.slideTo(o); } else x.slideTo(o); } }); var b, C, S, z, M, P, E, I, k, D, L = "input, select, textarea, button, video", B = Date.now(), H = []; (x.animating = !1), (x.touches = { startX: 0, startY: 0, currentX: 0, currentY: 0, diff: 0, }); var G, X; (x.onTouchStart = function (a) { if ( (a.originalEvent && (a = a.originalEvent), (G = "touchstart" === a.type) || !("which" in a) || 3 !== a.which) ) { if (x.params.noSwiping && n(a, "." + x.params.noSwipingClass)) return void (x.allowClick = !0); if (!x.params.swipeHandler || n(a, x.params.swipeHandler)) { var t = (x.touches.currentX = "touchstart" === a.type ? a.targetTouches[0].pageX : a.pageX), s = (x.touches.currentY = "touchstart" === a.type ? a.targetTouches[0].pageY : a.pageY); if ( !( x.device.ios && x.params.iOSEdgeSwipeDetection && t <= x.params.iOSEdgeSwipeThreshold ) ) { if ( ((b = !0), (C = !1), (S = !0), (M = void 0), (X = void 0), (x.touches.startX = t), (x.touches.startY = s), (z = Date.now()), (x.allowClick = !0), x.updateContainerSize(), (x.swipeDirection = void 0), x.params.threshold > 0 && (I = !1), "touchstart" !== a.type) ) { var r = !0; e(a.target).is(L) && (r = !1), document.activeElement && e(document.activeElement).is(L) && document.activeElement.blur(), r && a.preventDefault(); } x.emit("onTouchStart", x, a); } } } }), (x.onTouchMove = function (a) { if ( (a.originalEvent && (a = a.originalEvent), !G || "mousemove" !== a.type) ) { if (a.preventedByNestedSwiper) return ( (x.touches.startX = "touchmove" === a.type ? a.targetTouches[0].pageX : a.pageX), void (x.touches.startY = "touchmove" === a.type ? a.targetTouches[0].pageY : a.pageY) ); if (x.params.onlyExternal) return ( (x.allowClick = !1), void ( b && ((x.touches.startX = x.touches.currentX = "touchmove" === a.type ? a.targetTouches[0].pageX : a.pageX), (x.touches.startY = x.touches.currentY = "touchmove" === a.type ? a.targetTouches[0].pageY : a.pageY), (z = Date.now())) ) ); if (G && x.params.touchReleaseOnEdges && !x.params.loop) if (x.isHorizontal()) { if ( (x.touches.currentX < x.touches.startX && x.translate <= x.maxTranslate()) || (x.touches.currentX > x.touches.startX && x.translate >= x.minTranslate()) ) return; } else if ( (x.touches.currentY < x.touches.startY && x.translate <= x.maxTranslate()) || (x.touches.currentY > x.touches.startY && x.translate >= x.minTranslate()) ) return; if ( G && document.activeElement && a.target === document.activeElement && e(a.target).is(L) ) return (C = !0), void (x.allowClick = !1); if ( (S && x.emit("onTouchMove", x, a), !(a.targetTouches && a.targetTouches.length > 1)) ) { if ( ((x.touches.currentX = "touchmove" === a.type ? a.targetTouches[0].pageX : a.pageX), (x.touches.currentY = "touchmove" === a.type ? a.targetTouches[0].pageY : a.pageY), void 0 === M) ) { var t; (x.isHorizontal() && x.touches.currentY === x.touches.startY) || (!x.isHorizontal() && x.touches.currentX === x.touches.startX) ? (M = !1) : ((t = (180 * Math.atan2( Math.abs(x.touches.currentY - x.touches.startY), Math.abs(x.touches.currentX - x.touches.startX) )) / Math.PI), (M = x.isHorizontal() ? t > x.params.touchAngle : 90 - t > x.params.touchAngle)); } if ( (M && x.emit("onTouchMoveOpposite", x, a), void 0 === X && ((x.touches.currentX === x.touches.startX && x.touches.currentY === x.touches.startY) || (X = !0)), b) ) { if (M) return void (b = !1); if (X) { (x.allowClick = !1), x.emit("onSliderMove", x, a), a.preventDefault(), x.params.touchMoveStopPropagation && !x.params.nested && a.stopPropagation(), C || (s.loop && x.fixLoop(), (E = x.getWrapperTranslate()), x.setWrapperTransition(0), x.animating && x.wrapper.trigger( "webkitTransitionEnd transitionend oTransitionEnd MSTransitionEnd msTransitionEnd" ), x.params.autoplay && x.autoplaying && (x.params.autoplayDisableOnInteraction ? x.stopAutoplay() : x.pauseAutoplay()), (D = !1), !x.params.grabCursor || (x.params.allowSwipeToNext !== !0 && x.params.allowSwipeToPrev !== !0) || x.setGrabCursor(!0)), (C = !0); var r = (x.touches.diff = x.isHorizontal() ? x.touches.currentX - x.touches.startX : x.touches.currentY - x.touches.startY); (r *= x.params.touchRatio), x.rtl && (r = -r), (x.swipeDirection = r > 0 ? "prev" : "next"), (P = r + E); var i = !0; if ( (r > 0 && P > x.minTranslate() ? ((i = !1), x.params.resistance && (P = x.minTranslate() - 1 + Math.pow( -x.minTranslate() + E + r, x.params.resistanceRatio ))) : r < 0 && P < x.maxTranslate() && ((i = !1), x.params.resistance && (P = x.maxTranslate() + 1 - Math.pow( x.maxTranslate() - E - r, x.params.resistanceRatio ))), i && (a.preventedByNestedSwiper = !0), !x.params.allowSwipeToNext && "next" === x.swipeDirection && P < E && (P = E), !x.params.allowSwipeToPrev && "prev" === x.swipeDirection && P > E && (P = E), x.params.threshold > 0) ) { if (!(Math.abs(r) > x.params.threshold || I)) return void (P = E); if (!I) return ( (I = !0), (x.touches.startX = x.touches.currentX), (x.touches.startY = x.touches.currentY), (P = E), void (x.touches.diff = x.isHorizontal() ? x.touches.currentX - x.touches.startX : x.touches.currentY - x.touches.startY) ); } x.params.followFinger && ((x.params.freeMode || x.params.watchSlidesProgress) && x.updateActiveIndex(), x.params.freeMode && (0 === H.length && H.push({ position: x.touches[x.isHorizontal() ? "startX" : "startY"], time: z, }), H.push({ position: x.touches[ x.isHorizontal() ? "currentX" : "currentY" ], time: new window.Date().getTime(), })), x.updateProgress(P), x.setWrapperTranslate(P)); } } } } }), (x.onTouchEnd = function (a) { if ( (a.originalEvent && (a = a.originalEvent), S && x.emit("onTouchEnd", x, a), (S = !1), b) ) { x.params.grabCursor && C && b && (x.params.allowSwipeToNext === !0 || x.params.allowSwipeToPrev === !0) && x.setGrabCursor(!1); var t = Date.now(), s = t - z; if ( (x.allowClick && (x.updateClickedSlide(a), x.emit("onTap", x, a), s < 300 && t - B > 300 && (k && clearTimeout(k), (k = setTimeout(function () { x && (x.params.paginationHide && x.paginationContainer.length > 0 && !e(a.target).hasClass(x.params.bulletClass) && x.paginationContainer.toggleClass( x.params.paginationHiddenClass ), x.emit("onClick", x, a)); }, 300))), s < 300 && t - B < 300 && (k && clearTimeout(k), x.emit("onDoubleTap", x, a))), (B = Date.now()), setTimeout(function () { x && (x.allowClick = !0); }, 0), !b || !C || !x.swipeDirection || 0 === x.touches.diff || P === E) ) return void (b = C = !1); b = C = !1; var r; if ( ((r = x.params.followFinger ? x.rtl ? x.translate : -x.translate : -P), x.params.freeMode) ) { if (r < -x.minTranslate()) return void x.slideTo(x.activeIndex); if (r > -x.maxTranslate()) return void (x.slides.length < x.snapGrid.length ? x.slideTo(x.snapGrid.length - 1) : x.slideTo(x.slides.length - 1)); if (x.params.freeModeMomentum) { if (H.length > 1) { var i = H.pop(), n = H.pop(), o = i.position - n.position, l = i.time - n.time; (x.velocity = o / l), (x.velocity = x.velocity / 2), Math.abs(x.velocity) < x.params.freeModeMinimumVelocity && (x.velocity = 0), (l > 150 || new window.Date().getTime() - i.time > 300) && (x.velocity = 0); } else x.velocity = 0; (x.velocity = x.velocity * x.params.freeModeMomentumVelocityRatio), (H.length = 0); var p = 1e3 * x.params.freeModeMomentumRatio, d = x.velocity * p, m = x.translate + d; x.rtl && (m = -m); var u, c = !1, g = 20 * Math.abs(x.velocity) * x.params.freeModeMomentumBounceRatio; if (m < x.maxTranslate()) x.params.freeModeMomentumBounce ? (m + x.maxTranslate() < -g && (m = x.maxTranslate() - g), (u = x.maxTranslate()), (c = !0), (D = !0)) : (m = x.maxTranslate()); else if (m > x.minTranslate()) x.params.freeModeMomentumBounce ? (m - x.minTranslate() > g && (m = x.minTranslate() + g), (u = x.minTranslate()), (c = !0), (D = !0)) : (m = x.minTranslate()); else if (x.params.freeModeSticky) { var h, v = 0; for (v = 0; v < x.snapGrid.length; v += 1) if (x.snapGrid[v] > -m) { h = v; break; } (m = Math.abs(x.snapGrid[h] - m) < Math.abs(x.snapGrid[h - 1] - m) || "next" === x.swipeDirection ? x.snapGrid[h] : x.snapGrid[h - 1]), x.rtl || (m = -m); } if (0 !== x.velocity) p = x.rtl ? Math.abs((-m - x.translate) / x.velocity) : Math.abs((m - x.translate) / x.velocity); else if (x.params.freeModeSticky) return void x.slideReset(); x.params.freeModeMomentumBounce && c ? (x.updateProgress(u), x.setWrapperTransition(p), x.setWrapperTranslate(m), x.onTransitionStart(), (x.animating = !0), x.wrapper.transitionEnd(function () { x && D && (x.emit("onMomentumBounce", x), x.setWrapperTransition(x.params.speed), x.setWrapperTranslate(u), x.wrapper.transitionEnd(function () { x && x.onTransitionEnd(); })); })) : x.velocity ? (x.updateProgress(m), x.setWrapperTransition(p), x.setWrapperTranslate(m), x.onTransitionStart(), x.animating || ((x.animating = !0), x.wrapper.transitionEnd(function () { x && x.onTransitionEnd(); }))) : x.updateProgress(m), x.updateActiveIndex(); } return void ( (!x.params.freeModeMomentum || s >= x.params.longSwipesMs) && (x.updateProgress(), x.updateActiveIndex()) ); } var f, w = 0, y = x.slidesSizesGrid[0]; for (f = 0; f < x.slidesGrid.length; f += x.params.slidesPerGroup) void 0 !== x.slidesGrid[f + x.params.slidesPerGroup] ? r >= x.slidesGrid[f] && r < x.slidesGrid[f + x.params.slidesPerGroup] && ((w = f), (y = x.slidesGrid[f + x.params.slidesPerGroup] - x.slidesGrid[f])) : r >= x.slidesGrid[f] && ((w = f), (y = x.slidesGrid[x.slidesGrid.length - 1] - x.slidesGrid[x.slidesGrid.length - 2])); var T = (r - x.slidesGrid[w]) / y; if (s > x.params.longSwipesMs) { if (!x.params.longSwipes) return void x.slideTo(x.activeIndex); "next" === x.swipeDirection && (T >= x.params.longSwipesRatio ? x.slideTo(w + x.params.slidesPerGroup) : x.slideTo(w)), "prev" === x.swipeDirection && (T > 1 - x.params.longSwipesRatio ? x.slideTo(w + x.params.slidesPerGroup) : x.slideTo(w)); } else { if (!x.params.shortSwipes) return void x.slideTo(x.activeIndex); "next" === x.swipeDirection && x.slideTo(w + x.params.slidesPerGroup), "prev" === x.swipeDirection && x.slideTo(w); } } }), (x._slideTo = function (e, a) { return x.slideTo(e, a, !0, !0); }), (x.slideTo = function (e, a, t, s) { void 0 === t && (t = !0), void 0 === e && (e = 0), e < 0 && (e = 0), (x.snapIndex = Math.floor(e / x.params.slidesPerGroup)), x.snapIndex >= x.snapGrid.length && (x.snapIndex = x.snapGrid.length - 1); var r = -x.snapGrid[x.snapIndex]; if ( (x.params.autoplay && x.autoplaying && (s || !x.params.autoplayDisableOnInteraction ? x.pauseAutoplay(a) : x.stopAutoplay()), x.updateProgress(r), x.params.normalizeSlideIndex) ) for (var i = 0; i < x.slidesGrid.length; i++) -Math.floor(100 * r) >= Math.floor(100 * x.slidesGrid[i]) && (e = i); return ( !( !x.params.allowSwipeToNext && r < x.translate && r < x.minTranslate() ) && !( !x.params.allowSwipeToPrev && r > x.translate && r > x.maxTranslate() && (x.activeIndex || 0) !== e ) && (void 0 === a && (a = x.params.speed), (x.previousIndex = x.activeIndex || 0), (x.activeIndex = e), x.updateRealIndex(), (x.rtl && -r === x.translate) || (!x.rtl && r === x.translate) ? (x.params.autoHeight && x.updateAutoHeight(), x.updateClasses(), "slide" !== x.params.effect && x.setWrapperTranslate(r), !1) : (x.updateClasses(), x.onTransitionStart(t), 0 === a || x.browser.lteIE9 ? (x.setWrapperTranslate(r), x.setWrapperTransition(0), x.onTransitionEnd(t)) : (x.setWrapperTranslate(r), x.setWrapperTransition(a), x.animating || ((x.animating = !0), x.wrapper.transitionEnd(function () { x && x.onTransitionEnd(t); }))), !0)) ); }), (x.onTransitionStart = function (e) { void 0 === e && (e = !0), x.params.autoHeight && x.updateAutoHeight(), x.lazy && x.lazy.onTransitionStart(), e && (x.emit("onTransitionStart", x), x.activeIndex !== x.previousIndex && (x.emit("onSlideChangeStart", x), x.activeIndex > x.previousIndex ? x.emit("onSlideNextStart", x) : x.emit("onSlidePrevStart", x))); }), (x.onTransitionEnd = function (e) { (x.animating = !1), x.setWrapperTransition(0), void 0 === e && (e = !0), x.lazy && x.lazy.onTransitionEnd(), e && (x.emit("onTransitionEnd", x), x.activeIndex !== x.previousIndex && (x.emit("onSlideChangeEnd", x), x.activeIndex > x.previousIndex ? x.emit("onSlideNextEnd", x) : x.emit("onSlidePrevEnd", x))), x.params.history && x.history && x.history.setHistory(x.params.history, x.activeIndex), x.params.hashnav && x.hashnav && x.hashnav.setHash(); }), (x.slideNext = function (e, a, t) { if (x.params.loop) { if (x.animating) return !1; x.fixLoop(); x.container[0].clientLeft; return x.slideTo( x.activeIndex + x.params.slidesPerGroup, a, e, t ); } return x.slideTo(x.activeIndex + x.params.slidesPerGroup, a, e, t); }), (x._slideNext = function (e) { return x.slideNext(!0, e, !0); }), (x.slidePrev = function (e, a, t) { if (x.params.loop) { if (x.animating) return !1; x.fixLoop(); x.container[0].clientLeft; return x.slideTo(x.activeIndex - 1, a, e, t); } return x.slideTo(x.activeIndex - 1, a, e, t); }), (x._slidePrev = function (e) { return x.slidePrev(!0, e, !0); }), (x.slideReset = function (e, a, t) { return x.slideTo(x.activeIndex, a, e); }), (x.disableTouchControl = function () { return (x.params.onlyExternal = !0), !0; }), (x.enableTouchControl = function () { return (x.params.onlyExternal = !1), !0; }), (x.setWrapperTransition = function (e, a) { x.wrapper.transition(e), "slide" !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTransition(e), x.params.parallax && x.parallax && x.parallax.setTransition(e), x.params.scrollbar && x.scrollbar && x.scrollbar.setTransition(e), x.params.control && x.controller && x.controller.setTransition(e, a), x.emit("onSetTransition", x, e); }), (x.setWrapperTranslate = function (e, a, t) { var s = 0, i = 0; x.isHorizontal() ? (s = x.rtl ? -e : e) : (i = e), x.params.roundLengths && ((s = r(s)), (i = r(i))), x.params.virtualTranslate || (x.support.transforms3d ? x.wrapper.transform( "translate3d(" + s + "px, " + i + "px, 0px)" ) : x.wrapper.transform("translate(" + s + "px, " + i + "px)")), (x.translate = x.isHorizontal() ? s : i); var n, o = x.maxTranslate() - x.minTranslate(); (n = 0 === o ? 0 : (e - x.minTranslate()) / o), n !== x.progress && x.updateProgress(e), a && x.updateActiveIndex(), "slide" !== x.params.effect && x.effects[x.params.effect] && x.effects[x.params.effect].setTranslate(x.translate), x.params.parallax && x.parallax && x.parallax.setTranslate(x.translate), x.params.scrollbar && x.scrollbar && x.scrollbar.setTranslate(x.translate), x.params.control && x.controller && x.controller.setTranslate(x.translate, t), x.emit("onSetTranslate", x, x.translate); }), (x.getTranslate = function (e, a) { var t, s, r, i; return ( void 0 === a && (a = "x"), x.params.virtualTranslate ? x.rtl ? -x.translate : x.translate : ((r = window.getComputedStyle(e, null)), window.WebKitCSSMatrix ? ((s = r.transform || r.webkitTransform), s.split(",").length > 6 && (s = s .split(", ") .map(function (e) { return e.replace(",", "."); }) .join(", ")), (i = new window.WebKitCSSMatrix("none" === s ? "" : s))) : ((i = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r .getPropertyValue("transform") .replace("translate(", "matrix(1, 0, 0, 1,")), (t = i.toString().split(","))), "x" === a && (s = window.WebKitCSSMatrix ? i.m41 : 16 === t.length ? parseFloat(t[12]) : parseFloat(t[4])), "y" === a && (s = window.WebKitCSSMatrix ? i.m42 : 16 === t.length ? parseFloat(t[13]) : parseFloat(t[5])), x.rtl && s && (s = -s), s || 0) ); }), (x.getWrapperTranslate = function (e) { return ( void 0 === e && (e = x.isHorizontal() ? "x" : "y"), x.getTranslate(x.wrapper[0], e) ); }), (x.observers = []), (x.initObservers = function () { if (x.params.observeParents) for (var e = x.container.parents(), a = 0; a < e.length; a++) o(e[a]); o(x.container[0], { childList: !1, }), o(x.wrapper[0], { attributes: !1, }); }), (x.disconnectObservers = function () { for (var e = 0; e < x.observers.length; e++) x.observers[e].disconnect(); x.observers = []; }), (x.createLoop = function () { x.wrapper .children( "." + x.params.slideClass + "." + x.params.slideDuplicateClass ) .remove(); var a = x.wrapper.children("." + x.params.slideClass); "auto" !== x.params.slidesPerView || x.params.loopedSlides || (x.params.loopedSlides = a.length), (x.loopedSlides = parseInt( x.params.loopedSlides || x.params.slidesPerView, 10 )), (x.loopedSlides = x.loopedSlides + x.params.loopAdditionalSlides), x.loopedSlides > a.length && (x.loopedSlides = a.length); var t, s = [], r = []; for ( a.each(function (t, i) { var n = e(this); t < x.loopedSlides && r.push(i), t < a.length && t >= a.length - x.loopedSlides && s.push(i), n.attr("data-swiper-slide-index", t); }), t = 0; t < r.length; t++ ) x.wrapper.append( e(r[t].cloneNode(!0)).addClass(x.params.slideDuplicateClass) ); for (t = s.length - 1; t >= 0; t--) x.wrapper.prepend( e(s[t].cloneNode(!0)).addClass(x.params.slideDuplicateClass) ); }), (x.destroyLoop = function () { x.wrapper .children( "." + x.params.slideClass + "." + x.params.slideDuplicateClass ) .remove(), x.slides.removeAttr("data-swiper-slide-index"); }), (x.reLoop = function (e) { var a = x.activeIndex - x.loopedSlides; x.destroyLoop(), x.createLoop(), x.updateSlidesSize(), e && x.slideTo(a + x.loopedSlides, 0, !1); }), (x.fixLoop = function () { var e; x.activeIndex < x.loopedSlides ? ((e = x.slides.length - 3 * x.loopedSlides + x.activeIndex), (e += x.loopedSlides), x.slideTo(e, 0, !1, !0)) : (("auto" === x.params.slidesPerView && x.activeIndex >= 2 * x.loopedSlides) || x.activeIndex > x.slides.length - 2 * x.params.slidesPerView) && ((e = -x.slides.length + x.activeIndex + x.loopedSlides), (e += x.loopedSlides), x.slideTo(e, 0, !1, !0)); }), (x.appendSlide = function (e) { if ( (x.params.loop && x.destroyLoop(), "object" == typeof e && e.length) ) for (var a = 0; a < e.length; a++) e[a] && x.wrapper.append(e[a]); else x.wrapper.append(e); x.params.loop && x.createLoop(), (x.params.observer && x.support.observer) || x.update(!0); }), (x.prependSlide = function (e) { x.params.loop && x.destroyLoop(); var a = x.activeIndex + 1; if ("object" == typeof e && e.length) { for (var t = 0; t < e.length; t++) e[t] && x.wrapper.prepend(e[t]); a = x.activeIndex + e.length; } else x.wrapper.prepend(e); x.params.loop && x.createLoop(), (x.params.observer && x.support.observer) || x.update(!0), x.slideTo(a, 0, !1); }), (x.removeSlide = function (e) { x.params.loop && (x.destroyLoop(), (x.slides = x.wrapper.children("." + x.params.slideClass))); var a, t = x.activeIndex; if ("object" == typeof e && e.length) { for (var s = 0; s < e.length; s++) (a = e[s]), x.slides[a] && x.slides.eq(a).remove(), a < t && t--; t = Math.max(t, 0); } else (a = e), x.slides[a] && x.slides.eq(a).remove(), a < t && t--, (t = Math.max(t, 0)); x.params.loop && x.createLoop(), (x.params.observer && x.support.observer) || x.update(!0), x.params.loop ? x.slideTo(t + x.loopedSlides, 0, !1) : x.slideTo(t, 0, !1); }), (x.removeAllSlides = function () { for (var e = [], a = 0; a < x.slides.length; a++) e.push(a); x.removeSlide(e); }), (x.effects = { fade: { setTranslate: function () { for (var e = 0; e < x.slides.length; e++) { var a = x.slides.eq(e), t = a[0].swiperSlideOffset, s = -t; x.params.virtualTranslate || (s -= x.translate); var r = 0; x.isHorizontal() || ((r = s), (s = 0)); var i = x.params.fade.crossFade ? Math.max(1 - Math.abs(a[0].progress), 0) : 1 + Math.min(Math.max(a[0].progress, -1), 0); a.css({ opacity: i, }).transform("translate3d(" + s + "px, " + r + "px, 0px)"); } }, setTransition: function (e) { if ( (x.slides.transition(e), x.params.virtualTranslate && 0 !== e) ) { var a = !1; x.slides.transitionEnd(function () { if (!a && x) { (a = !0), (x.animating = !1); for ( var e = [ "webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd", ], t = 0; t < e.length; t++ ) x.wrapper.trigger(e[t]); } }); } }, }, flip: { setTranslate: function () { for (var a = 0; a < x.slides.length; a++) { var t = x.slides.eq(a), s = t[0].progress; x.params.flip.limitRotation && (s = Math.max(Math.min(t[0].progress, 1), -1)); var r = t[0].swiperSlideOffset, i = -180 * s, n = i, o = 0, l = -r, p = 0; if ( (x.isHorizontal() ? x.rtl && (n = -n) : ((p = l), (l = 0), (o = -n), (n = 0)), (t[0].style.zIndex = -Math.abs(Math.round(s)) + x.slides.length), x.params.flip.slideShadows) ) { var d = x.isHorizontal() ? t.find(".swiper-slide-shadow-left") : t.find(".swiper-slide-shadow-top"), m = x.isHorizontal() ? t.find(".swiper-slide-shadow-right") : t.find(".swiper-slide-shadow-bottom"); 0 === d.length && ((d = e( '
' )), t.append(d)), 0 === m.length && ((m = e( '
' )), t.append(m)), d.length && (d[0].style.opacity = Math.max(-s, 0)), m.length && (m[0].style.opacity = Math.max(s, 0)); } t.transform( "translate3d(" + l + "px, " + p + "px, 0px) rotateX(" + o + "deg) rotateY(" + n + "deg)" ); } }, setTransition: function (a) { if ( (x.slides .transition(a) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(a), x.params.virtualTranslate && 0 !== a) ) { var t = !1; x.slides.eq(x.activeIndex).transitionEnd(function () { if ( !t && x && e(this).hasClass(x.params.slideActiveClass) ) { (t = !0), (x.animating = !1); for ( var a = [ "webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd", ], s = 0; s < a.length; s++ ) x.wrapper.trigger(a[s]); } }); } }, }, cube: { setTranslate: function () { var a, t = 0; x.params.cube.shadow && (x.isHorizontal() ? ((a = x.wrapper.find(".swiper-cube-shadow")), 0 === a.length && ((a = e('
')), x.wrapper.append(a)), a.css({ height: x.width + "px", })) : ((a = x.container.find(".swiper-cube-shadow")), 0 === a.length && ((a = e('
')), x.container.append(a)))); for (var s = 0; s < x.slides.length; s++) { var r = x.slides.eq(s), i = 90 * s, n = Math.floor(i / 360); x.rtl && ((i = -i), (n = Math.floor(-i / 360))); var o = Math.max(Math.min(r[0].progress, 1), -1), l = 0, p = 0, d = 0; s % 4 == 0 ? ((l = 4 * -n * x.size), (d = 0)) : (s - 1) % 4 == 0 ? ((l = 0), (d = 4 * -n * x.size)) : (s - 2) % 4 == 0 ? ((l = x.size + 4 * n * x.size), (d = x.size)) : (s - 3) % 4 == 0 && ((l = -x.size), (d = 3 * x.size + 4 * x.size * n)), x.rtl && (l = -l), x.isHorizontal() || ((p = l), (l = 0)); var m = "rotateX(" + (x.isHorizontal() ? 0 : -i) + "deg) rotateY(" + (x.isHorizontal() ? i : 0) + "deg) translate3d(" + l + "px, " + p + "px, " + d + "px)"; if ( (o <= 1 && o > -1 && ((t = 90 * s + 90 * o), x.rtl && (t = 90 * -s - 90 * o)), r.transform(m), x.params.cube.slideShadows) ) { var u = x.isHorizontal() ? r.find(".swiper-slide-shadow-left") : r.find(".swiper-slide-shadow-top"), c = x.isHorizontal() ? r.find(".swiper-slide-shadow-right") : r.find(".swiper-slide-shadow-bottom"); 0 === u.length && ((u = e( '
' )), r.append(u)), 0 === c.length && ((c = e( '
' )), r.append(c)), u.length && (u[0].style.opacity = Math.max(-o, 0)), c.length && (c[0].style.opacity = Math.max(o, 0)); } } if ( (x.wrapper.css({ "-webkit-transform-origin": "50% 50% -" + x.size / 2 + "px", "-moz-transform-origin": "50% 50% -" + x.size / 2 + "px", "-ms-transform-origin": "50% 50% -" + x.size / 2 + "px", "transform-origin": "50% 50% -" + x.size / 2 + "px", }), x.params.cube.shadow) ) if (x.isHorizontal()) a.transform( "translate3d(0px, " + (x.width / 2 + x.params.cube.shadowOffset) + "px, " + -x.width / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + x.params.cube.shadowScale + ")" ); else { var g = Math.abs(t) - 90 * Math.floor(Math.abs(t) / 90), h = 1.5 - (Math.sin((2 * g * Math.PI) / 360) / 2 + Math.cos((2 * g * Math.PI) / 360) / 2), v = x.params.cube.shadowScale, f = x.params.cube.shadowScale / h, w = x.params.cube.shadowOffset; a.transform( "scale3d(" + v + ", 1, " + f + ") translate3d(0px, " + (x.height / 2 + w) + "px, " + -x.height / 2 / f + "px) rotateX(-90deg)" ); } var y = x.isSafari || x.isUiWebView ? -x.size / 2 : 0; x.wrapper.transform( "translate3d(0px,0," + y + "px) rotateX(" + (x.isHorizontal() ? 0 : t) + "deg) rotateY(" + (x.isHorizontal() ? -t : 0) + "deg)" ); }, setTransition: function (e) { x.slides .transition(e) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(e), x.params.cube.shadow && !x.isHorizontal() && x.container.find(".swiper-cube-shadow").transition(e); }, }, coverflow: { setTranslate: function () { for ( var a = x.translate, t = x.isHorizontal() ? -a + x.width / 2 : -a + x.height / 2, s = x.isHorizontal() ? x.params.coverflow.rotate : -x.params.coverflow.rotate, r = x.params.coverflow.depth, i = 0, n = x.slides.length; i < n; i++ ) { var o = x.slides.eq(i), l = x.slidesSizesGrid[i], p = o[0].swiperSlideOffset, d = ((t - p - l / 2) / l) * x.params.coverflow.modifier, m = x.isHorizontal() ? s * d : 0, u = x.isHorizontal() ? 0 : s * d, c = -r * Math.abs(d), g = x.isHorizontal() ? 0 : x.params.coverflow.stretch * d, h = x.isHorizontal() ? x.params.coverflow.stretch * d : 0; Math.abs(h) < 0.001 && (h = 0), Math.abs(g) < 0.001 && (g = 0), Math.abs(c) < 0.001 && (c = 0), Math.abs(m) < 0.001 && (m = 0), Math.abs(u) < 0.001 && (u = 0); var v = "translate3d(" + h + "px," + g + "px," + c + "px) rotateX(" + u + "deg) rotateY(" + m + "deg)"; if ( (o.transform(v), (o[0].style.zIndex = 1 - Math.abs(Math.round(d))), x.params.coverflow.slideShadows) ) { var f = x.isHorizontal() ? o.find(".swiper-slide-shadow-left") : o.find(".swiper-slide-shadow-top"), w = x.isHorizontal() ? o.find(".swiper-slide-shadow-right") : o.find(".swiper-slide-shadow-bottom"); 0 === f.length && ((f = e( '
' )), o.append(f)), 0 === w.length && ((w = e( '
' )), o.append(w)), f.length && (f[0].style.opacity = d > 0 ? d : 0), w.length && (w[0].style.opacity = -d > 0 ? -d : 0); } } if (x.browser.ie) { x.wrapper[0].style.perspectiveOrigin = t + "px 50%"; } }, setTransition: function (e) { x.slides .transition(e) .find( ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left" ) .transition(e); }, }, }), (x.lazy = { initialImageLoaded: !1, loadImageInSlide: function (a, t) { if ( void 0 !== a && (void 0 === t && (t = !0), 0 !== x.slides.length) ) { var s = x.slides.eq(a), r = s.find( "." + x.params.lazyLoadingClass + ":not(." + x.params.lazyStatusLoadedClass + "):not(." + x.params.lazyStatusLoadingClass + ")" ); !s.hasClass(x.params.lazyLoadingClass) || s.hasClass(x.params.lazyStatusLoadedClass) || s.hasClass(x.params.lazyStatusLoadingClass) || (r = r.add(s[0])), 0 !== r.length && r.each(function () { var a = e(this); a.addClass(x.params.lazyStatusLoadingClass); var r = a.attr("data-background"), i = a.attr("data-src"), n = a.attr("data-srcset"), o = a.attr("data-sizes"); x.loadImage(a[0], i || r, n, o, !1, function () { if (void 0 !== x && null !== x && x) { if ( (r ? (a.css("background-image", 'url("' + r + '")'), a.removeAttr("data-background")) : (n && (a.attr("srcset", n), a.removeAttr("data-srcset")), o && (a.attr("sizes", o), a.removeAttr("data-sizes")), i && (a.attr("src", i), a.removeAttr("data-src"))), a .addClass(x.params.lazyStatusLoadedClass) .removeClass(x.params.lazyStatusLoadingClass), s .find( "." + x.params.lazyPreloaderClass + ", ." + x.params.preloaderClass ) .remove(), x.params.loop && t) ) { var e = s.attr("data-swiper-slide-index"); if (s.hasClass(x.params.slideDuplicateClass)) { var l = x.wrapper.children( '[data-swiper-slide-index="' + e + '"]:not(.' + x.params.slideDuplicateClass + ")" ); x.lazy.loadImageInSlide(l.index(), !1); } else { var p = x.wrapper.children( "." + x.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]' ); x.lazy.loadImageInSlide(p.index(), !1); } } x.emit("onLazyImageReady", x, s[0], a[0]); } }), x.emit("onLazyImageLoad", x, s[0], a[0]); }); } }, load: function () { var a, t = x.params.slidesPerView; if ( ("auto" === t && (t = 0), x.lazy.initialImageLoaded || (x.lazy.initialImageLoaded = !0), x.params.watchSlidesVisibility) ) x.wrapper .children("." + x.params.slideVisibleClass) .each(function () { x.lazy.loadImageInSlide(e(this).index()); }); else if (t > 1) for (a = x.activeIndex; a < x.activeIndex + t; a++) x.slides[a] && x.lazy.loadImageInSlide(a); else x.lazy.loadImageInSlide(x.activeIndex); if (x.params.lazyLoadingInPrevNext) if ( t > 1 || (x.params.lazyLoadingInPrevNextAmount && x.params.lazyLoadingInPrevNextAmount > 1) ) { var s = x.params.lazyLoadingInPrevNextAmount, r = t, i = Math.min( x.activeIndex + r + Math.max(s, r), x.slides.length ), n = Math.max(x.activeIndex - Math.max(r, s), 0); for (a = x.activeIndex + t; a < i; a++) x.slides[a] && x.lazy.loadImageInSlide(a); for (a = n; a < x.activeIndex; a++) x.slides[a] && x.lazy.loadImageInSlide(a); } else { var o = x.wrapper.children("." + x.params.slideNextClass); o.length > 0 && x.lazy.loadImageInSlide(o.index()); var l = x.wrapper.children("." + x.params.slidePrevClass); l.length > 0 && x.lazy.loadImageInSlide(l.index()); } }, onTransitionStart: function () { x.params.lazyLoading && (x.params.lazyLoadingOnTransitionStart || (!x.params.lazyLoadingOnTransitionStart && !x.lazy.initialImageLoaded)) && x.lazy.load(); }, onTransitionEnd: function () { x.params.lazyLoading && !x.params.lazyLoadingOnTransitionStart && x.lazy.load(); }, }), (x.scrollbar = { isTouched: !1, setDragPosition: function (e) { var a = x.scrollbar, t = x.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e.clientY, s = t - a.track.offset()[x.isHorizontal() ? "left" : "top"] - a.dragSize / 2, r = -x.minTranslate() * a.moveDivider, i = -x.maxTranslate() * a.moveDivider; s < r ? (s = r) : s > i && (s = i), (s = -s / a.moveDivider), x.updateProgress(s), x.setWrapperTranslate(s, !0); }, dragStart: function (e) { var a = x.scrollbar; (a.isTouched = !0), e.preventDefault(), e.stopPropagation(), a.setDragPosition(e), clearTimeout(a.dragTimeout), a.track.transition(0), x.params.scrollbarHide && a.track.css("opacity", 1), x.wrapper.transition(100), a.drag.transition(100), x.emit("onScrollbarDragStart", x); }, dragMove: function (e) { var a = x.scrollbar; a.isTouched && (e.preventDefault ? e.preventDefault() : (e.returnValue = !1), a.setDragPosition(e), x.wrapper.transition(0), a.track.transition(0), a.drag.transition(0), x.emit("onScrollbarDragMove", x)); }, dragEnd: function (e) { var a = x.scrollbar; a.isTouched && ((a.isTouched = !1), x.params.scrollbarHide && (clearTimeout(a.dragTimeout), (a.dragTimeout = setTimeout(function () { a.track.css("opacity", 0), a.track.transition(400); }, 1e3))), x.emit("onScrollbarDragEnd", x), x.params.scrollbarSnapOnRelease && x.slideReset()); }, draggableEvents: (function () { return x.params.simulateTouch !== !1 || x.support.touch ? x.touchEvents : x.touchEventsDesktop; })(), enableDraggable: function () { var a = x.scrollbar, t = x.support.touch ? a.track : document; e(a.track).on(a.draggableEvents.start, a.dragStart), e(t).on(a.draggableEvents.move, a.dragMove), e(t).on(a.draggableEvents.end, a.dragEnd); }, disableDraggable: function () { var a = x.scrollbar, t = x.support.touch ? a.track : document; e(a.track).off(a.draggableEvents.start, a.dragStart), e(t).off(a.draggableEvents.move, a.dragMove), e(t).off(a.draggableEvents.end, a.dragEnd); }, set: function () { if (x.params.scrollbar) { var a = x.scrollbar; (a.track = e(x.params.scrollbar)), x.params.uniqueNavElements && "string" == typeof x.params.scrollbar && a.track.length > 1 && 1 === x.container.find(x.params.scrollbar).length && (a.track = x.container.find(x.params.scrollbar)), (a.drag = a.track.find(".swiper-scrollbar-drag")), 0 === a.drag.length && ((a.drag = e('
')), a.track.append(a.drag)), (a.drag[0].style.width = ""), (a.drag[0].style.height = ""), (a.trackSize = x.isHorizontal() ? a.track[0].offsetWidth : a.track[0].offsetHeight), (a.divider = x.size / x.virtualSize), (a.moveDivider = a.divider * (a.trackSize / x.size)), (a.dragSize = a.trackSize * a.divider), x.isHorizontal() ? (a.drag[0].style.width = a.dragSize + "px") : (a.drag[0].style.height = a.dragSize + "px"), a.divider >= 1 ? (a.track[0].style.display = "none") : (a.track[0].style.display = ""), x.params.scrollbarHide && (a.track[0].style.opacity = 0); } }, setTranslate: function () { if (x.params.scrollbar) { var e, a = x.scrollbar, t = (x.translate, a.dragSize); (e = (a.trackSize - a.dragSize) * x.progress), x.rtl && x.isHorizontal() ? ((e = -e), e > 0 ? ((t = a.dragSize - e), (e = 0)) : -e + a.dragSize > a.trackSize && (t = a.trackSize + e)) : e < 0 ? ((t = a.dragSize + e), (e = 0)) : e + a.dragSize > a.trackSize && (t = a.trackSize - e), x.isHorizontal() ? (x.support.transforms3d ? a.drag.transform("translate3d(" + e + "px, 0, 0)") : a.drag.transform("translateX(" + e + "px)"), (a.drag[0].style.width = t + "px")) : (x.support.transforms3d ? a.drag.transform("translate3d(0px, " + e + "px, 0)") : a.drag.transform("translateY(" + e + "px)"), (a.drag[0].style.height = t + "px")), x.params.scrollbarHide && (clearTimeout(a.timeout), (a.track[0].style.opacity = 1), (a.timeout = setTimeout(function () { (a.track[0].style.opacity = 0), a.track.transition(400); }, 1e3))); } }, setTransition: function (e) { x.params.scrollbar && x.scrollbar.drag.transition(e); }, }), (x.controller = { LinearSpline: function (e, a) { var t = (function () { var e, a, t; return function (s, r) { for (a = -1, e = s.length; e - a > 1; ) s[(t = (e + a) >> 1)] <= r ? (a = t) : (e = t); return e; }; })(); (this.x = e), (this.y = a), (this.lastIndex = e.length - 1); var s, r; this.x.length; this.interpolate = function (e) { return e ? ((r = t(this.x, e)), (s = r - 1), ((e - this.x[s]) * (this.y[r] - this.y[s])) / (this.x[r] - this.x[s]) + this.y[s]) : 0; }; }, getInterpolateFunction: function (e) { x.controller.spline || (x.controller.spline = x.params.loop ? new x.controller.LinearSpline(x.slidesGrid, e.slidesGrid) : new x.controller.LinearSpline(x.snapGrid, e.snapGrid)); }, setTranslate: function (e, t) { function s(a) { (e = a.rtl && "horizontal" === a.params.direction ? -x.translate : x.translate), "slide" === x.params.controlBy && (x.controller.getInterpolateFunction(a), (i = -x.controller.spline.interpolate(-e))), (i && "container" !== x.params.controlBy) || ((r = (a.maxTranslate() - a.minTranslate()) / (x.maxTranslate() - x.minTranslate())), (i = (e - x.minTranslate()) * r + a.minTranslate())), x.params.controlInverse && (i = a.maxTranslate() - i), a.updateProgress(i), a.setWrapperTranslate(i, !1, x), a.updateActiveIndex(); } var r, i, n = x.params.control; if (Array.isArray(n)) for (var o = 0; o < n.length; o++) n[o] !== t && n[o] instanceof a && s(n[o]); else n instanceof a && t !== n && s(n); }, setTransition: function (e, t) { function s(a) { a.setWrapperTransition(e, x), 0 !== e && (a.onTransitionStart(), a.wrapper.transitionEnd(function () { i && (a.params.loop && "slide" === x.params.controlBy && a.fixLoop(), a.onTransitionEnd()); })); } var r, i = x.params.control; if (Array.isArray(i)) for (r = 0; r < i.length; r++) i[r] !== t && i[r] instanceof a && s(i[r]); else i instanceof a && t !== i && s(i); }, }), (x.hashnav = { onHashCange: function (e, a) { var t = document.location.hash.replace("#", ""); t !== x.slides.eq(x.activeIndex).attr("data-hash") && x.slideTo( x.wrapper .children( "." + x.params.slideClass + '[data-hash="' + t + '"]' ) .index() ); }, attachEvents: function (a) { var t = a ? "off" : "on"; e(window)[t]("hashchange", x.hashnav.onHashCange); }, setHash: function () { if (x.hashnav.initialized && x.params.hashnav) if ( x.params.replaceState && window.history && window.history.replaceState ) window.history.replaceState( null, null, "#" + x.slides.eq(x.activeIndex).attr("data-hash") || "" ); else { var e = x.slides.eq(x.activeIndex), a = e.attr("data-hash") || e.attr("data-history"); document.location.hash = a || ""; } }, init: function () { if (x.params.hashnav && !x.params.history) { x.hashnav.initialized = !0; var e = document.location.hash.replace("#", ""); if (e) for (var a = 0, t = x.slides.length; a < t; a++) { var s = x.slides.eq(a), r = s.attr("data-hash") || s.attr("data-history"); if (r === e && !s.hasClass(x.params.slideDuplicateClass)) { var i = s.index(); x.slideTo(i, 0, x.params.runCallbacksOnInit, !0); } } x.params.hashnavWatchState && x.hashnav.attachEvents(); } }, destroy: function () { x.params.hashnavWatchState && x.hashnav.attachEvents(!0); }, }), (x.history = { init: function () { if (x.params.history) { if (!window.history || !window.history.pushState) return (x.params.history = !1), void (x.params.hashnav = !0); (x.history.initialized = !0), (this.paths = this.getPathValues()), (this.paths.key || this.paths.value) && (this.scrollToSlide( 0, this.paths.value, x.params.runCallbacksOnInit ), x.params.replaceState || window.addEventListener( "popstate", this.setHistoryPopState )); } }, setHistoryPopState: function () { (x.history.paths = x.history.getPathValues()), x.history.scrollToSlide( x.params.speed, x.history.paths.value, !1 ); }, getPathValues: function () { var e = window.location.pathname.slice(1).split("/"), a = e.length; return { key: e[a - 2], value: e[a - 1], }; }, setHistory: function (e, a) { if (x.history.initialized && x.params.history) { var t = x.slides.eq(a), s = this.slugify(t.attr("data-history")); window.location.pathname.includes(e) || (s = e + "/" + s), x.params.replaceState ? window.history.replaceState(null, null, s) : window.history.pushState(null, null, s); } }, slugify: function (e) { return e .toString() .toLowerCase() .replace(/\s+/g, "-") .replace(/[^\w\-]+/g, "") .replace(/\-\-+/g, "-") .replace(/^-+/, "") .replace(/-+$/, ""); }, scrollToSlide: function (e, a, t) { if (a) for (var s = 0, r = x.slides.length; s < r; s++) { var i = x.slides.eq(s), n = this.slugify(i.attr("data-history")); if (n === a && !i.hasClass(x.params.slideDuplicateClass)) { var o = i.index(); x.slideTo(o, e, t); } } else x.slideTo(0, e, t); }, }), (x.disableKeyboardControl = function () { (x.params.keyboardControl = !1), e(document).off("keydown", l); }), (x.enableKeyboardControl = function () { (x.params.keyboardControl = !0), e(document).on("keydown", l); }), (x.mousewheel = { event: !1, lastScrollTime: new window.Date().getTime(), }), x.params.mousewheelControl && (x.mousewheel.event = navigator.userAgent.indexOf("firefox") > -1 ? "DOMMouseScroll" : (function () { var e = "onwheel" in document; if (!e) { var a = document.createElement("div"); a.setAttribute("onwheel", "return;"), (e = "function" == typeof a.onwheel); } return ( !e && document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("", "") !== !0 && (e = document.implementation.hasFeature( "Events.wheel", "3.0" )), e ); })() ? "wheel" : "mousewheel"), (x.disableMousewheelControl = function () { if (!x.mousewheel.event) return !1; var a = x.container; return ( "container" !== x.params.mousewheelEventsTarged && (a = e(x.params.mousewheelEventsTarged)), a.off(x.mousewheel.event, d), (x.params.mousewheelControl = !1), !0 ); }), (x.enableMousewheelControl = function () { if (!x.mousewheel.event) return !1; var a = x.container; return ( "container" !== x.params.mousewheelEventsTarged && (a = e(x.params.mousewheelEventsTarged)), a.on(x.mousewheel.event, d), (x.params.mousewheelControl = !0), !0 ); }), (x.parallax = { setTranslate: function () { x.container .children( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]" ) .each(function () { m(this, x.progress); }), x.slides.each(function () { var a = e(this); a.find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]" ).each(function () { m(this, Math.min(Math.max(a[0].progress, -1), 1)); }); }); }, setTransition: function (a) { void 0 === a && (a = x.params.speed), x.container .find( "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]" ) .each(function () { var t = e(this), s = parseInt(t.attr("data-swiper-parallax-duration"), 10) || a; 0 === a && (s = 0), t.transition(s); }); }, }), (x.zoom = { scale: 1, currentScale: 1, isScaling: !1, gesture: { slide: void 0, slideWidth: void 0, slideHeight: void 0, image: void 0, imageWrap: void 0, zoomMax: x.params.zoomMax, }, image: { isTouched: void 0, isMoved: void 0, currentX: void 0, currentY: void 0, minX: void 0, minY: void 0, maxX: void 0, maxY: void 0, width: void 0, height: void 0, startX: void 0, startY: void 0, touchesStart: {}, touchesCurrent: {}, }, velocity: { x: void 0, y: void 0, prevPositionX: void 0, prevPositionY: void 0, prevTime: void 0, }, getDistanceBetweenTouches: function (e) { if (e.targetTouches.length < 2) return 1; var a = e.targetTouches[0].pageX, t = e.targetTouches[0].pageY, s = e.targetTouches[1].pageX, r = e.targetTouches[1].pageY; return Math.sqrt(Math.pow(s - a, 2) + Math.pow(r - t, 2)); }, onGestureStart: function (a) { var t = x.zoom; if (!x.support.gestures) { if ( "touchstart" !== a.type || ("touchstart" === a.type && a.targetTouches.length < 2) ) return; t.gesture.scaleStart = t.getDistanceBetweenTouches(a); } if ( !( (t.gesture.slide && t.gesture.slide.length) || ((t.gesture.slide = e(this)), 0 === t.gesture.slide.length && (t.gesture.slide = x.slides.eq(x.activeIndex)), (t.gesture.image = t.gesture.slide.find("img, svg, canvas")), (t.gesture.imageWrap = t.gesture.image.parent( "." + x.params.zoomContainerClass )), (t.gesture.zoomMax = t.gesture.imageWrap.attr("data-swiper-zoom") || x.params.zoomMax), 0 !== t.gesture.imageWrap.length) ) ) return void (t.gesture.image = void 0); t.gesture.image.transition(0), (t.isScaling = !0); }, onGestureChange: function (e) { var a = x.zoom; if (!x.support.gestures) { if ( "touchmove" !== e.type || ("touchmove" === e.type && e.targetTouches.length < 2) ) return; a.gesture.scaleMove = a.getDistanceBetweenTouches(e); } a.gesture.image && 0 !== a.gesture.image.length && (x.support.gestures ? (a.scale = e.scale * a.currentScale) : (a.scale = (a.gesture.scaleMove / a.gesture.scaleStart) * a.currentScale), a.scale > a.gesture.zoomMax && (a.scale = a.gesture.zoomMax - 1 + Math.pow(a.scale - a.gesture.zoomMax + 1, 0.5)), a.scale < x.params.zoomMin && (a.scale = x.params.zoomMin + 1 - Math.pow(x.params.zoomMin - a.scale + 1, 0.5)), a.gesture.image.transform( "translate3d(0,0,0) scale(" + a.scale + ")" )); }, onGestureEnd: function (e) { var a = x.zoom; (!x.support.gestures && ("touchend" !== e.type || ("touchend" === e.type && e.changedTouches.length < 2))) || (a.gesture.image && 0 !== a.gesture.image.length && ((a.scale = Math.max( Math.min(a.scale, a.gesture.zoomMax), x.params.zoomMin )), a.gesture.image .transition(x.params.speed) .transform("translate3d(0,0,0) scale(" + a.scale + ")"), (a.currentScale = a.scale), (a.isScaling = !1), 1 === a.scale && (a.gesture.slide = void 0))); }, onTouchStart: function (e, a) { var t = e.zoom; t.gesture.image && 0 !== t.gesture.image.length && (t.image.isTouched || ("android" === e.device.os && a.preventDefault(), (t.image.isTouched = !0), (t.image.touchesStart.x = "touchstart" === a.type ? a.targetTouches[0].pageX : a.pageX), (t.image.touchesStart.y = "touchstart" === a.type ? a.targetTouches[0].pageY : a.pageY))); }, onTouchMove: function (e) { var a = x.zoom; if ( a.gesture.image && 0 !== a.gesture.image.length && ((x.allowClick = !1), a.image.isTouched && a.gesture.slide) ) { a.image.isMoved || ((a.image.width = a.gesture.image[0].offsetWidth), (a.image.height = a.gesture.image[0].offsetHeight), (a.image.startX = x.getTranslate(a.gesture.imageWrap[0], "x") || 0), (a.image.startY = x.getTranslate(a.gesture.imageWrap[0], "y") || 0), (a.gesture.slideWidth = a.gesture.slide[0].offsetWidth), (a.gesture.slideHeight = a.gesture.slide[0].offsetHeight), a.gesture.imageWrap.transition(0), x.rtl && (a.image.startX = -a.image.startX), x.rtl && (a.image.startY = -a.image.startY)); var t = a.image.width * a.scale, s = a.image.height * a.scale; if (!(t < a.gesture.slideWidth && s < a.gesture.slideHeight)) { if ( ((a.image.minX = Math.min( a.gesture.slideWidth / 2 - t / 2, 0 )), (a.image.maxX = -a.image.minX), (a.image.minY = Math.min( a.gesture.slideHeight / 2 - s / 2, 0 )), (a.image.maxY = -a.image.minY), (a.image.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX), (a.image.touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY), !a.image.isMoved && !a.isScaling) ) { if ( (x.isHorizontal() && Math.floor(a.image.minX) === Math.floor(a.image.startX) && a.image.touchesCurrent.x < a.image.touchesStart.x) || (Math.floor(a.image.maxX) === Math.floor(a.image.startX) && a.image.touchesCurrent.x > a.image.touchesStart.x) ) return void (a.image.isTouched = !1); if ( (!x.isHorizontal() && Math.floor(a.image.minY) === Math.floor(a.image.startY) && a.image.touchesCurrent.y < a.image.touchesStart.y) || (Math.floor(a.image.maxY) === Math.floor(a.image.startY) && a.image.touchesCurrent.y > a.image.touchesStart.y) ) return void (a.image.isTouched = !1); } e.preventDefault(), e.stopPropagation(), (a.image.isMoved = !0), (a.image.currentX = a.image.touchesCurrent.x - a.image.touchesStart.x + a.image.startX), (a.image.currentY = a.image.touchesCurrent.y - a.image.touchesStart.y + a.image.startY), a.image.currentX < a.image.minX && (a.image.currentX = a.image.minX + 1 - Math.pow(a.image.minX - a.image.currentX + 1, 0.8)), a.image.currentX > a.image.maxX && (a.image.currentX = a.image.maxX - 1 + Math.pow(a.image.currentX - a.image.maxX + 1, 0.8)), a.image.currentY < a.image.minY && (a.image.currentY = a.image.minY + 1 - Math.pow(a.image.minY - a.image.currentY + 1, 0.8)), a.image.currentY > a.image.maxY && (a.image.currentY = a.image.maxY - 1 + Math.pow(a.image.currentY - a.image.maxY + 1, 0.8)), a.velocity.prevPositionX || (a.velocity.prevPositionX = a.image.touchesCurrent.x), a.velocity.prevPositionY || (a.velocity.prevPositionY = a.image.touchesCurrent.y), a.velocity.prevTime || (a.velocity.prevTime = Date.now()), (a.velocity.x = (a.image.touchesCurrent.x - a.velocity.prevPositionX) / (Date.now() - a.velocity.prevTime) / 2), (a.velocity.y = (a.image.touchesCurrent.y - a.velocity.prevPositionY) / (Date.now() - a.velocity.prevTime) / 2), Math.abs( a.image.touchesCurrent.x - a.velocity.prevPositionX ) < 2 && (a.velocity.x = 0), Math.abs( a.image.touchesCurrent.y - a.velocity.prevPositionY ) < 2 && (a.velocity.y = 0), (a.velocity.prevPositionX = a.image.touchesCurrent.x), (a.velocity.prevPositionY = a.image.touchesCurrent.y), (a.velocity.prevTime = Date.now()), a.gesture.imageWrap.transform( "translate3d(" + a.image.currentX + "px, " + a.image.currentY + "px,0)" ); } } }, onTouchEnd: function (e, a) { var t = e.zoom; if (t.gesture.image && 0 !== t.gesture.image.length) { if (!t.image.isTouched || !t.image.isMoved) return (t.image.isTouched = !1), void (t.image.isMoved = !1); (t.image.isTouched = !1), (t.image.isMoved = !1); var s = 300, r = 300, i = t.velocity.x * s, n = t.image.currentX + i, o = t.velocity.y * r, l = t.image.currentY + o; 0 !== t.velocity.x && (s = Math.abs((n - t.image.currentX) / t.velocity.x)), 0 !== t.velocity.y && (r = Math.abs((l - t.image.currentY) / t.velocity.y)); var p = Math.max(s, r); (t.image.currentX = n), (t.image.currentY = l); var d = t.image.width * t.scale, m = t.image.height * t.scale; (t.image.minX = Math.min(t.gesture.slideWidth / 2 - d / 2, 0)), (t.image.maxX = -t.image.minX), (t.image.minY = Math.min( t.gesture.slideHeight / 2 - m / 2, 0 )), (t.image.maxY = -t.image.minY), (t.image.currentX = Math.max( Math.min(t.image.currentX, t.image.maxX), t.image.minX )), (t.image.currentY = Math.max( Math.min(t.image.currentY, t.image.maxY), t.image.minY )), t.gesture.imageWrap .transition(p) .transform( "translate3d(" + t.image.currentX + "px, " + t.image.currentY + "px,0)" ); } }, onTransitionEnd: function (e) { var a = e.zoom; a.gesture.slide && e.previousIndex !== e.activeIndex && (a.gesture.image.transform("translate3d(0,0,0) scale(1)"), a.gesture.imageWrap.transform("translate3d(0,0,0)"), (a.gesture.slide = a.gesture.image = a.gesture.imageWrap = void 0), (a.scale = a.currentScale = 1)); }, toggleZoom: function (a, t) { var s = a.zoom; if ( (s.gesture.slide || ((s.gesture.slide = a.clickedSlide ? e(a.clickedSlide) : a.slides.eq(a.activeIndex)), (s.gesture.image = s.gesture.slide.find("img, svg, canvas")), (s.gesture.imageWrap = s.gesture.image.parent( "." + a.params.zoomContainerClass ))), s.gesture.image && 0 !== s.gesture.image.length) ) { var r, i, n, o, l, p, d, m, u, c, g, h, v, f, w, y, x, T; void 0 === s.image.touchesStart.x && t ? ((r = "touchend" === t.type ? t.changedTouches[0].pageX : t.pageX), (i = "touchend" === t.type ? t.changedTouches[0].pageY : t.pageY)) : ((r = s.image.touchesStart.x), (i = s.image.touchesStart.y)), s.scale && 1 !== s.scale ? ((s.scale = s.currentScale = 1), s.gesture.imageWrap .transition(300) .transform("translate3d(0,0,0)"), s.gesture.image .transition(300) .transform("translate3d(0,0,0) scale(1)"), (s.gesture.slide = void 0)) : ((s.scale = s.currentScale = s.gesture.imageWrap.attr("data-swiper-zoom") || a.params.zoomMax), t ? ((x = s.gesture.slide[0].offsetWidth), (T = s.gesture.slide[0].offsetHeight), (n = s.gesture.slide.offset().left), (o = s.gesture.slide.offset().top), (l = n + x / 2 - r), (p = o + T / 2 - i), (u = s.gesture.image[0].offsetWidth), (c = s.gesture.image[0].offsetHeight), (g = u * s.scale), (h = c * s.scale), (v = Math.min(x / 2 - g / 2, 0)), (f = Math.min(T / 2 - h / 2, 0)), (w = -v), (y = -f), (d = l * s.scale), (m = p * s.scale), d < v && (d = v), d > w && (d = w), m < f && (m = f), m > y && (m = y)) : ((d = 0), (m = 0)), s.gesture.imageWrap .transition(300) .transform("translate3d(" + d + "px, " + m + "px,0)"), s.gesture.image .transition(300) .transform( "translate3d(0,0,0) scale(" + s.scale + ")" )); } }, attachEvents: function (a) { var t = a ? "off" : "on"; if (x.params.zoom) { var s = (x.slides, !( "touchstart" !== x.touchEvents.start || !x.support.passiveListener || !x.params.passiveListeners ) && { passive: !0, capture: !1, }); x.support.gestures ? (x.slides[t]("gesturestart", x.zoom.onGestureStart, s), x.slides[t]("gesturechange", x.zoom.onGestureChange, s), x.slides[t]("gestureend", x.zoom.onGestureEnd, s)) : "touchstart" === x.touchEvents.start && (x.slides[t](x.touchEvents.start, x.zoom.onGestureStart, s), x.slides[t](x.touchEvents.move, x.zoom.onGestureChange, s), x.slides[t](x.touchEvents.end, x.zoom.onGestureEnd, s)), x[t]("touchStart", x.zoom.onTouchStart), x.slides.each(function (a, s) { e(s).find("." + x.params.zoomContainerClass).length > 0 && e(s)[t](x.touchEvents.move, x.zoom.onTouchMove); }), x[t]("touchEnd", x.zoom.onTouchEnd), x[t]("transitionEnd", x.zoom.onTransitionEnd), x.params.zoomToggle && x.on("doubleTap", x.zoom.toggleZoom); } }, init: function () { x.zoom.attachEvents(); }, destroy: function () { x.zoom.attachEvents(!0); }, }), (x._plugins = []); for (var Y in x.plugins) { var A = x.plugins[Y](x, x.params[Y]); A && x._plugins.push(A); } return ( (x.callPlugins = function (e) { for (var a = 0; a < x._plugins.length; a++) e in x._plugins[a] && x._plugins[a][e]( arguments[1], arguments[2], arguments[3], arguments[4], arguments[5] ); }), (x.emitterEventListeners = {}), (x.emit = function (e) { x.params[e] && x.params[e]( arguments[1], arguments[2], arguments[3], arguments[4], arguments[5] ); var a; if (x.emitterEventListeners[e]) for (a = 0; a < x.emitterEventListeners[e].length; a++) x.emitterEventListeners[e][a]( arguments[1], arguments[2], arguments[3], arguments[4], arguments[5] ); x.callPlugins && x.callPlugins( e, arguments[1], arguments[2], arguments[3], arguments[4], arguments[5] ); }), (x.on = function (e, a) { return ( (e = u(e)), x.emitterEventListeners[e] || (x.emitterEventListeners[e] = []), x.emitterEventListeners[e].push(a), x ); }), (x.off = function (e, a) { var t; if (((e = u(e)), void 0 === a)) return (x.emitterEventListeners[e] = []), x; if ( x.emitterEventListeners[e] && 0 !== x.emitterEventListeners[e].length ) { for (t = 0; t < x.emitterEventListeners[e].length; t++) x.emitterEventListeners[e][t] === a && x.emitterEventListeners[e].splice(t, 1); return x; } }), (x.once = function (e, a) { e = u(e); var t = function () { a( arguments[0], arguments[1], arguments[2], arguments[3], arguments[4] ), x.off(e, t); }; return x.on(e, t), x; }), (x.a11y = { makeFocusable: function (e) { return e.attr("tabIndex", "0"), e; }, addRole: function (e, a) { return e.attr("role", a), e; }, addLabel: function (e, a) { return e.attr("aria-label", a), e; }, disable: function (e) { return e.attr("aria-disabled", !0), e; }, enable: function (e) { return e.attr("aria-disabled", !1), e; }, onEnterKey: function (a) { 13 === a.keyCode && (e(a.target).is(x.params.nextButton) ? (x.onClickNext(a), x.isEnd ? x.a11y.notify(x.params.lastSlideMessage) : x.a11y.notify(x.params.nextSlideMessage)) : e(a.target).is(x.params.prevButton) && (x.onClickPrev(a), x.isBeginning ? x.a11y.notify(x.params.firstSlideMessage) : x.a11y.notify(x.params.prevSlideMessage)), e(a.target).is("." + x.params.bulletClass) && e(a.target)[0].click()); }, liveRegion: e( '' ), notify: function (e) { var a = x.a11y.liveRegion; 0 !== a.length && (a.html(""), a.html(e)); }, init: function () { x.params.nextButton && x.nextButton && x.nextButton.length > 0 && (x.a11y.makeFocusable(x.nextButton), x.a11y.addRole(x.nextButton, "button"), x.a11y.addLabel(x.nextButton, x.params.nextSlideMessage)), x.params.prevButton && x.prevButton && x.prevButton.length > 0 && (x.a11y.makeFocusable(x.prevButton), x.a11y.addRole(x.prevButton, "button"), x.a11y.addLabel(x.prevButton, x.params.prevSlideMessage)), e(x.container).append(x.a11y.liveRegion); }, initPagination: function () { x.params.pagination && x.params.paginationClickable && x.bullets && x.bullets.length && x.bullets.each(function () { var a = e(this); x.a11y.makeFocusable(a), x.a11y.addRole(a, "button"), x.a11y.addLabel( a, x.params.paginationBulletMessage.replace( /{{index}}/, a.index() + 1 ) ); }); }, destroy: function () { x.a11y.liveRegion && x.a11y.liveRegion.length > 0 && x.a11y.liveRegion.remove(); }, }), (x.init = function () { x.params.loop && x.createLoop(), x.updateContainerSize(), x.updateSlidesSize(), x.updatePagination(), x.params.scrollbar && x.scrollbar && (x.scrollbar.set(), x.params.scrollbarDraggable && x.scrollbar.enableDraggable()), "slide" !== x.params.effect && x.effects[x.params.effect] && (x.params.loop || x.updateProgress(), x.effects[x.params.effect].setTranslate()), x.params.loop ? x.slideTo( x.params.initialSlide + x.loopedSlides, 0, x.params.runCallbacksOnInit ) : (x.slideTo( x.params.initialSlide, 0, x.params.runCallbacksOnInit ), 0 === x.params.initialSlide && (x.parallax && x.params.parallax && x.parallax.setTranslate(), x.lazy && x.params.lazyLoading && (x.lazy.load(), (x.lazy.initialImageLoaded = !0)))), x.attachEvents(), x.params.observer && x.support.observer && x.initObservers(), x.params.preloadImages && !x.params.lazyLoading && x.preloadImages(), x.params.zoom && x.zoom && x.zoom.init(), x.params.autoplay && x.startAutoplay(), x.params.keyboardControl && x.enableKeyboardControl && x.enableKeyboardControl(), x.params.mousewheelControl && x.enableMousewheelControl && x.enableMousewheelControl(), x.params.hashnavReplaceState && (x.params.replaceState = x.params.hashnavReplaceState), x.params.history && x.history && x.history.init(), x.params.hashnav && x.hashnav && x.hashnav.init(), x.params.a11y && x.a11y && x.a11y.init(), x.emit("onInit", x); }), (x.cleanupStyles = function () { x.container.removeClass(x.classNames.join(" ")).removeAttr("style"), x.wrapper.removeAttr("style"), x.slides && x.slides.length && x.slides .removeClass( [ x.params.slideVisibleClass, x.params.slideActiveClass, x.params.slideNextClass, x.params.slidePrevClass, ].join(" ") ) .removeAttr("style") .removeAttr("data-swiper-column") .removeAttr("data-swiper-row"), x.paginationContainer && x.paginationContainer.length && x.paginationContainer.removeClass( x.params.paginationHiddenClass ), x.bullets && x.bullets.length && x.bullets.removeClass(x.params.bulletActiveClass), x.params.prevButton && e(x.params.prevButton).removeClass( x.params.buttonDisabledClass ), x.params.nextButton && e(x.params.nextButton).removeClass( x.params.buttonDisabledClass ), x.params.scrollbar && x.scrollbar && (x.scrollbar.track && x.scrollbar.track.length && x.scrollbar.track.removeAttr("style"), x.scrollbar.drag && x.scrollbar.drag.length && x.scrollbar.drag.removeAttr("style")); }), (x.destroy = function (e, a) { x.detachEvents(), x.stopAutoplay(), x.params.scrollbar && x.scrollbar && x.params.scrollbarDraggable && x.scrollbar.disableDraggable(), x.params.loop && x.destroyLoop(), a && x.cleanupStyles(), x.disconnectObservers(), x.params.zoom && x.zoom && x.zoom.destroy(), x.params.keyboardControl && x.disableKeyboardControl && x.disableKeyboardControl(), x.params.mousewheelControl && x.disableMousewheelControl && x.disableMousewheelControl(), x.params.a11y && x.a11y && x.a11y.destroy(), x.params.history && !x.params.replaceState && window.removeEventListener( "popstate", x.history.setHistoryPopState ), x.params.hashnav && x.hashnav && x.hashnav.destroy(), x.emit("onDestroy"), e !== !1 && (x = null); }), x.init(), x ); } }; a.prototype = { isSafari: (function () { var e = window.navigator.userAgent.toLowerCase(); return ( e.indexOf("safari") >= 0 && e.indexOf("chrome") < 0 && e.indexOf("android") < 0 ); })(), isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test( window.navigator.userAgent ), isArray: function (e) { return "[object Array]" === Object.prototype.toString.apply(e); }, browser: { ie: window.navigator.pointerEnabled || window.navigator.msPointerEnabled, ieTouch: (window.navigator.msPointerEnabled && window.navigator.msMaxTouchPoints > 1) || (window.navigator.pointerEnabled && window.navigator.maxTouchPoints > 1), lteIE9: (function () { var e = document.createElement("div"); return ( (e.innerHTML = ""), 1 === e.getElementsByTagName("i").length ); })(), }, device: (function () { var e = window.navigator.userAgent, a = e.match(/(Android);?[\s\/]+([\d.]+)?/), t = e.match(/(iPad).*OS\s([\d_]+)/), s = e.match(/(iPod)(.*OS\s([\d_]+))?/), r = !t && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/); return { ios: t || r || s, android: a, }; })(), support: { touch: (window.Modernizr && Modernizr.touch === !0) || (function () { return !!( "ontouchstart" in window || (window.DocumentTouch && document instanceof DocumentTouch) ); })(), transforms3d: (window.Modernizr && Modernizr.csstransforms3d === !0) || (function () { var e = document.createElement("div").style; return ( "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e ); })(), flexbox: (function () { for ( var e = document.createElement("div").style, a = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split( " " ), t = 0; t < a.length; t++ ) if (a[t] in e) return !0; })(), observer: (function () { return ( "MutationObserver" in window || "WebkitMutationObserver" in window ); })(), passiveListener: (function () { var e = !1; try { var a = Object.defineProperty({}, "passive", { get: function () { e = !0; }, }); window.addEventListener("testPassiveListener", null, a); } catch (e) {} return e; })(), gestures: (function () { return "ongesturestart" in window; })(), }, plugins: {}, }; for (var t = ["jQuery", "Zepto", "Dom7"], s = 0; s < t.length; s++) window[t[s]] && (function (e) { e.fn.swiper = function (t) { var s; return ( e(this).each(function () { var e = new a(this, t); s || (s = e); }), s ); }; })(window[t[s]]); var r; (r = "undefined" == typeof Dom7 ? window.Dom7 || window.Zepto || window.jQuery : Dom7), r && ("transitionEnd" in r.fn || (r.fn.transitionEnd = function (e) { function a(i) { if (i.target === this) for (e.call(this, i), t = 0; t < s.length; t++) r.off(s[t], a); } var t, s = [ "webkitTransitionEnd", "transitionend", "oTransitionEnd", "MSTransitionEnd", "msTransitionEnd", ], r = this; if (e) for (t = 0; t < s.length; t++) r.on(s[t], a); return this; }), "transform" in r.fn || (r.fn.transform = function (e) { for (var a = 0; a < this.length; a++) { var t = this[a].style; t.webkitTransform = t.MsTransform = t.msTransform = t.MozTransform = t.OTransform = t.transform = e; } return this; }), "transition" in r.fn || (r.fn.transition = function (e) { "string" != typeof e && (e += "ms"); for (var a = 0; a < this.length; a++) { var t = this[a].style; t.webkitTransitionDuration = t.MsTransitionDuration = t.msTransitionDuration = t.MozTransitionDuration = t.OTransitionDuration = t.transitionDuration = e; } return this; }), "outerWidth" in r.fn || (r.fn.outerWidth = function (e) { return this.length > 0 ? e ? this[0].offsetWidth + parseFloat(this.css("margin-right")) + parseFloat(this.css("margin-left")) : this[0].offsetWidth : null; })), (window.Swiper = a); })(), "undefined" != typeof module ? (module.exports = window.Swiper) : "function" == typeof define && define.amd && define([], function () { "use strict"; return window.Swiper; });