/** * Swiper 7.2.0 * Самый современный мобильный сенсорный слайдер и структура с аппаратными ускоренными переходами * https://swiperjs.com * * Copyright 2014-2021 vladimir kharlampidi <brbr/> * Выпущено в разделе «Mit alicen 2021 */ ! Function (e, t) {"object" == typeof exports && "undefined"! = Typeof Module? Module.exports = t (): "function" == typeof define && define.amd? GlobalThis? GlobalThis: e || self) .swiper = t ()} (this, (function () {"strict"; function e (e) {return null! == e && "object" == typeof e && "Конструктор" в e && e.constructor === Объект} функция t (s = {}, a = {}) {object.keys (a) .foreach ((i => {void 0 === s [i]? S [i] = a [i]: e (a [i]) && e (s [i]) && object.keys (a [i]). Длина> 0 && t (s [i]))) s = {body: {}, addeventListener () {}, removeEventListener () {}, activeElement: {blur () {}, nodeName: ""}, QuerySelector: () => null, queryselectorall: () => [], getelementbyid: () => null, createevent: () => ({initevent () {}}), createelement: () => ({chil Dren: [], Childnodes: [], Style: {}, setattribute () {}, getElementsbytagname: () => []}), createElementns: () => ({}), importno de: () => null, местоположение: {hash: "", host: "", hostname: "", href: "", origin: "", pathname: "", protocol: "", search: ""}}; функция a () {const e = "undefined"! = Typeof Document? Document: {}; return t (e, s), e} const i = {Document: S, Navigator: {userAgent: ""}, местоположение: {hash: "", host: ",", hostname: "", href: "", Origin: "", pathname: "", p rotocol: "", search: ""}, история: {replacestate () {}, pushstate () {}, go () {}, back () {}}, customevent: function () {return Это}, addEventListener () {}, removeVentListener () {}, getComputEdStyle: () => ({getProperTyValue: () => ""}), image () {}, da te () {}, экран: {}, settimeout () {}, cleartimeout () {}, matchmedia: () => ({}), requestAnimationFrame: e => "undefined" == typeof setTimeout? (e (), null): settimeout (e, 0), cancelanimationFrame (e) {"undefined"! = typeof settimeout && cleartimeout (e)}}; function r () {const e = "undefined"! Array{constructor(e){super(...e||[]),function(e){const t=e.__proto__;Object.defineProperty(e,"__proto__",{get:()=>t,set(e){t.__proto__=e}})}(this)}}function l(e=[]){const t=[];return e.foreach ((e => {array.isarray (e)? T.push (... l (e)): t.push (e)}), t} функция O (e, t) {return array.prototype.filter.call (e, t)} функция d (e, t) {const s = r (), i = a (e, u); e; if (! e) вернуть новый n (l); if ("string" == typeof e) {const s = e.trim (); if (s.indexof ("<)> = 0 && s.indexof ("> ")> = 0) {let e =" div "; 0 === s.indexof (")> = 0) {let e = "; 0 ===e.split ("")))); return this.foreach ((e => {e.classlist.add (... t)})), this}, removeclass: function (... e) {const t = l (e.map (e => e.split (""))); return t = l (e.map (e => e.split (")); this.foreach ((e => {e.classlist.remove (... t)})), this}, hasclass: function (... e) {const t = l (e.map ((e => e.split (""))); return o (this, (e => t.filter ((t => e.classlist.contains (t))). Длина> 0)). Длина> 0}, Toggleclass: function (... e) {const t = l (e.map ((e => e.split (" ")))); this.foreach ((e => {t.foreach ((t => {e.classlist.toggle (t)})}))}, attr: function (e, t) {if (1 === Arguments.length &&" string "== typeOf E) вернуть это [0]?= 0; e- = 1) {const s = n [e]; a && s.listener === a || a && s.listener && s.listener.dom7proxy && s.listener.dom7proxy === a? (R.RemoveEventListen ER (T, S.Proxylistener, I), N.Splice (E, 1)): A || (R.RemoveEventListener (T, S.Proxylistener, I), N.Splice (E, 1))}} return это}, триггер: function (... e) {const t = r (), s = e [0] .split (""), a = e [1]; for (let i = 0; it> 0)), i.dispatchevent (s), i.dom7eventdata = [], delete i.dom7eventdata}}} return this}, transitionend: function (e) {const t = this; return e && t.on ("transitionend", (функция s (a) {a.Target === this && (e.call (this, a), t.off ("transitionend", s)}), this}, outterwidth: function (e) {if (this.length> 0) {if (e) {const e = this.styles (); return это [0] .OffSetWidth+parsefloat (e.getPropertyValue ("ляправление"))+parsefloat (e.getPropertyValue ("margin-left"))} вернуть это [0] .OffSetWidth} return null}, opterHeight: function (e) {if (this.length> 0) {if (i) {if (e) {i) {e) {if (i) {e) {if) {i) Это [0] .offsetheight+parsefloat (e.getpropertyvalue ("margin-top"))+parsefloat (e.getpropertyvalue ("margin-bottom"))} вернуть это [0] .offsetheight} return null}, стили: function () {const e = r (); Это [0]? E.GetComputEdStyle (this [0], null): {}}, offset: function () {if (this.length> 0) {const e = r (), t = a (), s = this [0], i = s.getboundingclientrect (), n = t.body, l = s.clienttop || n.clienttop || 0, o = s.clientleft || n.client Слева || 0, d = s === e? E.Scrolly: S.Scrolltop, c = s === e? E.scrollx: s.scrollleft; return {top: i.Top+d-l, слева: i.left+c-o}} return null}, css: function (e, t) {const s = r (); let a; if (1 === Arguments.length) {if ("string"! = typeof e) {for (a = 0; a{e.apply (t, [t, s])})), this): this}, html: function (e) {if (void 0 === e) вернуть это [0]?t-1) вернуть d ([]); if (e <0) {const s = t+e; return d (s <0?= 0; i- = 1) это [s] .insertbefore (a.childnodes [i], это [s] .childnodes [0])} else if (e ancementof n) для (i = 0; i10? t = []; let S = this [0]; if (! s) возвращает d ([]); for (; t = this [0]; return e? t.previouselementementsibling && d (t.previouselementsibling) .is (e)? d ([t.previouselementsibling]): d ([]): t.previouselementsibling? t = []; let S = This [0]; if (! S) возвращает d ([]); для (;6 && (i = i.split (",") .map ((e => e.replace (",", "."))). Join (",")), n = new S.WebKitcsSmatrix ("none" === I? "": i)) :( n = L.MozTransform || l.Otransform || l.mstransform || l.mstransform || l.transform || l.getpropertyvalue ("transform"). Замените ("Translate (", Matrix (1, 0, 0, 0, 0, 0, 0, 0, 0. 1, "), a = n.toString (). Split (", "))," x "=== t && (i = s.webkitcssmatrix? N.M41: 16 === A.Length? ParseFloat (a [12]): parseflo at (a [4])), "y" === t && (i = s.webkitcssmatrix? n.m42: 16 === a.length? parsefloat (a [13]): parsefloat (a [5])), i || 0} функция m (e) {return "object" == typeof e && null! == e && e.constructor && "object" === Object.prototype.tostring.call (e) .slice (8, -1)} Функция f (... e) {const t = объект (e [0]), s = ["__ proto __,", "e [0]), s = 1;s.indexof (e) <0)); для (пусть s = 0, a = e.length; si? "Next": "prev", c = (e, t) => "Next" === d && e> = t || "prev" === d && e <= t, p = () => {n = (новая дата) .getTime (), null === l && (l = n); const r = math.max (math.min ((n-l)/o, 1), 0), d = .5-math.cos (r*math.pi)/2; let u = i+d*(t-i); if (c (u, t) && (u = t), e.wrapperel.scrollto ({[s]: u}), c (u, t)) e.wrapperel.style.overflow = "hidden", e.wrapperel.style.scrollsnaptype = "", settimeout ((() => {e.wrapperel.style.overflow = "", e.wrapperel.scrollto ({[s]: u})})), void a.cancelanimationframe (e.csssmodeframeid); e.cssmodeframeid = a.requestanimationframe (p)}; p ()} let w, b, x; function y () {return w || (w = function () {const e = r (), t = a (); return {Smoothscroll: t.documentel o = r (), t = a (); t.documentelement.style, touch: !! ("ontouchstart" в e || e.documenttouch && t ancessionof e.documenttouch), passiveLiveener: function () {let t =! 1; попробуйте {const s=Object.defineProperty({},"passive",{get(){t=!0}});e.addEventListener("testPassiveListener",null,s)}catch(e){}return t}(),gestures:"ongesturestart"in e}}()),w}function E(e={}){return b || (b = function ({userAgent: e} = {}) {const t = y (), s = r (), a = s.navigator.platform, i = e || s.navigator.useragent, n = {ios :! 1, Android :! 1}, l = s.screen.width, o = s.screen.height, d = i.match (/(Android); c = i.match (/(iPad).*OS \ S ([\ d _]+)/); const p = i.match (/(iPod) (.*OS \ s ([\ d _]+))?/), u =! C && i.match (/(iPhone \ sos | ios) \ s ([\ d _]+)/), h = "win32 m = "macintel" === a; return! c && m && t.touch && ["1024x1366", "1366x1024", "834x1194", "1194x834", " 834x1112 "," 1112x834 "," 768x1024 "," 1024x768 "," 820x1180 "," 1180x820 "," 810x1080 "," 1080x810 "] .IndexOf (`$ {l} x $ {O}`)> = 0 && (c = i.match (/(версия) \/([\ d.]+)/), c || (c = [0,1, "13_0_0"]), m =! 1) , d &&! H && (N.OS = "Android", N.Android =! 0), (C || U || P) && (N.OS = "ios", N.IOS =! 0), n} (e)), B} функция T () {return x || (x = function () {const e = r (); return {issafari: function () {const t = e.navigator.useragent.tolowercase (); return t.indexof ("safari")> = 0 && t.indexof ("chrome") <0 && t.indexof ("Android") <0} (), isWebView:/(iPhone | iPod | iPad).*AppleWebKit (?!.*Safari) /i.test(e.navigator.useragent)// )),,,xbject.keys(c).foreach(e=> C = {on (e, t, s) {const a = this; if ("function"! = Typeof t) return a; const i = s? ") .foreach ((e => {a.eventslisteners [e] || (A.eventslisteners [e] = []), A.EventsListeners [e] [i] (t)})), a}, один раз (e, t, s) {const a = this; if (" function "! i (... s) {a.off (e, i), i .__ emitterproxy && delete i .__ eMitterproxy, t.apply (a, s)} return i .__ eMitterproxy = t, a.on (e, i, s)}, onanany (e, t) {const s = this; if (function "! s.eventsanylisteners.indexof (e) <0 && s. s.eventsanylisteners [a] (e), s}, offanany (e) {const t = this; if (! t.eventsanylisteners) return t; const s = t.ventsanylisteners.indexof (e); s> = 0 && t.eventsanylisteners.splice (s, 1), t}, off (e, t) {const s = this; return s.eventslisteners? (e.split ("") .foreach ((e => {void 0 === t? S.EventSisteners [e] = []: s.eventslisteners [e] && s.eventslisteners [e] .foreach (((a, i) => {(a === t || a. __emitterproxy && a .__ eMitterproxy === t) && s.eventslisteners [e] .splice (i, 1)}))})), s): s}, Emit (... e) {const t = this; if (! t.eventslisteners) return t; let s, a, i; "string" == typeof e [0] || array.isarray (e [0])? (s = e [0], a = e.slice (1, e.length), i = t) :( s = e [0] .events, a = e [0] .data, i = e [0] .context || t), A.unshift (i); return (array.isarray (s)? ")). foreach ((e => {t.eventsanylisteners && t.eventsanylisteners.length && t.eventsanylisteners.foreach ((t => {t.apply (i, [e, ... a])})), t.eventslisteners && t.eventslisteners [e] && t.eventslisteners [e] .foreach ((e => {e.apply (i, a)}))}), t}}; функция $ ({swiper: e, runcallbacks: t, направление: s, step: a}) {const {activeIndex: i, предыдущий index: r} = e; let n = s; if (n || (n = i> r? "Next": i0) return; if (n.istouched && n.ismuction) return; !! l.noswipingclass && ""! == l.noswipingclass && p.target && p.target.shadowroot && e.path && e.path [0] && (h = d (e.path [0])); const m = l.noswipingselector? L.noswipingselector: `. $ {l.noswipingclass}`, f =! (! P.Target ||! P.Target.ShadowRoot); if (l.noswiping && (f? Функция (e, t = this) {return t (s) {return S && S! == a () && S! == r ()? (S.AssignedSlot && (s = s.assignedslot), s.closest (e) || t (s.getrootnode (). host)): null} (t)} (m, p.target): h.closest (m) [0])) return void (t.allowclick =! 0); if (l.swipehandler &&! h.closest (l.swipehandler) [0]) return; o.currentx = "touchStart" === p.t. ype? P.TargetTouches [0] .Pagex: P.Pagex, O.Currenty = "touchStart" === P.Type? P.TargetTouches [0] .Pagey: P.Pagey; const g = o.currentx, v = o.currenty, w = l.edgeswipedetection || l.iosedgeswipedetection, b = l.edgeswipethreshold || l.iosedgeswipethrehold; if (w && (g <= b || g> = i. innerwidth-b)) {if ("предотвратить"! == w) return; e.preventdefault ()} if (object.assign (n, {istouched :! 0, ismoved :! 1, alluctyouchcallbacks:! 0, isscrolling: void 0, StartMoving: void 0}), O.Startx = G, O.Starty = V, N.TouchStarttime = u (), T.Alloclick =! 0, t.updatesize (), t.swipedRection = void 0, l.Threshold> 0 && (n.allesholdMove =! 1), "TouchStart"! e =! 0; H.is (n.focusableElements) && (e =! 1), S.ActiveElement && d (S.ActiveElement) .is (n.focusableElements) && s.activeElement! == h [0] && s.activeElement.blur (); const a = e && t.allowtouchmove && l.touchstartpreventDefault;! L.TouchStartForceReventDefault &&! a || H [0] .iscontantentabletable || p.preventDefault ()} t.emit ("touchStart", p)} function m (e) {const t = a (), s = this, i = s.toucheventsdata, {params: r, touchs: n, rtltranslate: l, включен: o} = s; if (! o) return; let c = e; if (c.originalevent && (c = c.originalevent),! i.istouched) возвращается void (i.StartMoving && i.isscrolling && s.emit ("touchmoveopposite", c)); if (i.istouchevent && "touchmove"! == c.type) return; const p = "touchmove" === C.Type && C.TargetTouches && (c.TargetTouches [0] || C.ChangedTouches [0]), h = "touchmove" === C.Type? P.Pagex: C.Pagex, m = "touchmove" === c.type? P.Pagey: C.PageyS n.startx = h, void (n.starty = m); if (! s. allowtouchmove) return S.AllowClick =! 1, void (i.istouched && (object.assign (n, {startx: h, starty: m, currentx: h, current: m}), i.touchstarttime = u ())); i.istouchevent && r.touchreleasedenges &&! r.looop) if (s.isvertical ()) {ifn.starty && s.translate> = s.mintranslate ()) return i.istouched =! 1, void (i.ismoved =! 1)} else if (hn.startx && s.translate> = s.mintranslate ()) return; if (i.istouchEvent && t.activeElement && c.target === t.activeElement && d (c.target) .is (i.focusableElements))) i.ismoved =! 0, void (s.allowclick =! 1); if (i.allowtouchcallbacks && s.emit ("touchmove", c), c.targettouches && c.targettouches.length> 1) return; n.currentx = h, n.currenty = m; const f = N.Currentx-N.Startx, g = N.Currenty-n.starty; if (s.params.threshold && math.sqrt (f ** 2+g ** 2)= 25 && (e = 180*math.atan2 (math.abs (g), math.abs (f))/math.pi, i.isscrolling = s.ishorizontal ()? E> r.touchangle: 90-e> r.touchangle)} if (i.isscrolling && s.emit ("touchmovepposite", c), void 0 === I.StartMoving && (n.currentx === N.Startx && N.Currenty === N.Starty || (i.StartMoving =! 0)), i.isscrolling) void (i.istouched =! 1); if (! i.StartMoving) return; s.allyclick =! 1 ,! R.cssmode && c.cancelable && c.preventdefault (), r.touchmovestoppropagation &&! R.nestest && c.stoppropag ation (), i.ismoven || (r.loop &&! r.cssmode && s.loopfix (), i.starttranslate = s.gettranslate (), s.settransition (0), s.animating && s. $ wrapperel.trigger (»webkittransitionend TransitionEnd "), I.AllowMomentumbounce =! 1 ,! R.GraBcursor ||! 0! == S.allowsLidenext &&! 0! == S.allowslideprev || s.setgrabcursor (! 0), s.emit (" sliderfirstmove ", c)), s.emit (" slidermove ", c), c), c) v = s.ishorizontal ()? f: g; n.diff = v, v*= r.touchratio, l && (v = -v), s.swipedirection = v> 0? "Prev": «Далее», i.currentTranslate = v+i.StartTransLate; Let w =! 0, b = r.resistanceratio; if (r.touchReleaseonedges && (b = 0), v> 0 && i.currentTranslate> s.mintranslate ()? (W =! 1, R.Resist ance && (i.currentTranslate = s.mintranslate ()-1+(-s.mintranslate ()+i.starttranslate+v) ** b)): v <0 && i.currenttranslateI.StartTransLate && (i.CurrentTransLate = i.StartTransLate), S.allowslidePrev || s.allowslidenext || (i.currentTranslate = i.StartTransLate), R.Threshold> 0) {if (! (Math.abs (v)> R.Threshold || I.AllesholdMove)) void (i.currentTranslate = i.StartTransLate); if (! I.AllowThresholdMove) возврат I. Allowthresholdmove =! 0, N.Startx = N.Currentx, N.Starty = N.Currenty, I.CurrentTransLate = I.StartTransLate, void (N.Diff = S.Isho Rizontal ()? N.Currentx-N.Startx: N.Currenty-n.starty)} r.followfinger &&! R.cssmode && ((r.freemode && r.freemode.enabled && s.fr eemode || r.watchslidesprogress) && (s.updateactiveindex (), s.updateslidesclasses ()), s.params.freemode && r.freemode.enabled & & s.freemode && s.freemode.onouchmove (), s.updateprogress (i.currenttranslate), s.settranslate (i.currenttranslate))} Функция P (e) {const t = this, s = t.toucheventsdata, {params: a, прикосновения: i, rtltranslate: r, slidesgrid: n, включен: l} = t; if (! L) return; let o = e; if (o.originalevent && (o = o.originalevent), s.allowtouchcallbacks && t.emit ("touchend", o), s.allowtouchcallbacks =! 1 ,! s.istouched) return s.ismoved && a.grabcursor && t.setgrabcursor (! 1), s.ismoviod =! 1, void (s.startmoving =! 1); a.grabcursor && s.ismoved && s.istouched && (! 0 === t.allowslidenext ||! 0 === t.allowslideprevVERVERV) & d = u (), c = d-s.touchstarttime; if (t.allowclick && (t.updateclickedslide (o), t.emit ("tap chlick", o), c <300 && d-s.lastclicktime <300 && t.emit ("DoubleTap DoubleClick ", O)), s.lastclicktime = u (), p ((() => {t.destroyed || (t. allowclick =! 0)}),! S.istouched ||! S.ismoved ||! T.SwipedRection || 0 === I.Diff || S.CurrentTranslate === S.StipransLate) s.istouched =! 1, s.ismoved =! 1, void (s.startmoving =! 1); пусть h; if (s.istouched =! 1, s.ismovic =! 1, s.startmoving =! 1, h = a.followfinger? t.freemode.onouchend ({currentPos: h}); let m = 0, f = t.slidessizesgrid [0]; for (let e = 0; e= n [e] && h= n [e] && (m = e, f = n [n.length-1] -n [n.length-2])} const g = (h-n [m])/f, v = ma.longswipesms) {if (! a.longswipes) return void t.slideto (t.activeIndex); "Next" === t.swipedirection && (g> = a.longswipesratio? T.slideto (m+v): t.slideto (m)), "с rev "=== t.swipedirection && (g> 1-a.longswipesratio? t.slideto (m+v): t.slideto (m))} else {if (! a.shortswipes) пустота t.slideto (t.activeIndex); t.navigation && (o.target === t.navigation.nextel || o.target === t.navigation.prevel)? O.Target === T.Navigation. NextEl? T.Slideto (M+V): T.Slideto (M) :( "Next" === T.Swipedirection && T.Slideto (M+V), "prev" === T.SwipedRection && t.slideto (m))}}} функция k () {const e = this, {params: t, el: s} = e; if (s && 0 === s.offsetwidth) return; t.breakpoints && e.setbreakpoint (); const {Allidenext: a, AllidePrev: i, snapgrid: r} = e; e .allowsLidenext =! 0, e.allowslideprev =! 0, e.updatesize (), e.updateslides (), e.updateslidesclasses (), ("auto" === t.slidesperview || t.slidesperview> 1) && E.i Send &&! e.isbeginning &&! e.params.centeredslides? e.slideto (e.slides.length-1,0 ,! 1 ,! 0): e.slideto (e.activeIndex, 0 ,! 1 ,! 0), e.Autoplay && e.Autoplay.runn ing && e.autoplay.paused && e.autoplay.run (), e.allowslideprev = i, e.allowslidenext = a, e.params.watchoverflow && r! == e.snapgrid && e.checkoverflow ()} функция z (e) {const t = this; t.enabled && (t. allowclick || (t.params.preventclicks && e.preventdefault (), t.params.preventclickspropagation && t.animating && (e.stoppropagation (), e.stopimediateprapation ()) e = this, {warperel: t, rtltranslate: s, включен: a} = e; if (! a) return; let i; e.previoustranslate = e.translate, e.ishorizontal ()? e.translate = -t.scrollleft: e.translate = -t.scrolltop, -0 === e.translate && (e.translate = 0), e.updateactiveindex (), e.updateslaslass (); r = e.maxtranslate ()-e.mintranslate (); i = 0 === r? 0: (e.translate-e.mintranslate ())/r, i! == e.progress && e.updateprogress (s? -e.translate: e.translate), E.emit ("settranslate" L () {} const a = (e, t) => {const s = a (), {params: i, touckevents: r, el: n, wrapperel: l, устройство: o, поддержка: d} = e, c = !! i.nested, p = "on" === t? t =! ("TouchStart"! == R.Start ||! D.PassieliVELENER ||! I.PassIveliEleners) && {Passive :! 0, захват :! 1}; n [P] (R.Start, E.OntouchStart, t), n [p] (R.M. ove, e.ontouchmove, d.passielivelener? {passive :! 1, захват: c}: c), n [p] (R.end, E.ontouchend, t), R.Cancel && n [P] (R.Cancel, E.Ontouchend, t)} else n [P] (R.Start, E.OntouchStart ,! 1), S [P] (R.Move, E.OntouchMove, C), S [P] (R.End, E.Ontouchend ,! 1); (I.PreventClicks || i.PreventClickSprop Agation) && n [p] ("click", e.onclick ,! 0), i.cssmode && l [p] ("scroll", e.onscroll), i.updateonWindowResize? e [u] (O.ios || o.android? " OrientationChange ObserverUpdate ":" reszize asserverupdate ", k ,! 0): e [u] (" stemverupdate ", k,! 0)}; const d = (e, t) => e.grid && t.grid && t.grid.rows> 1; var; var; G = {init :! 0, направление: «горизонтальный», TouchEventStarget: «warper», initialLide: 0, Speed: 300, CSSMode :! 1, UpdateOnWindowResize :! 0, ResizeObserver :! 0, neste:! 1, CreateElements:! Этикетка ", ширина: нулевая, высота: null, предотвращение InteractionOntransition :! 1, пользователь: null, url: null, edgeswipedetection :! 1, edgeswipethreshold: 20, autoheight:! 1, setWrappersize:! 1, VirtualTransLate:! 1, Effect:" Slide ", Breakpoints: void 0, Breakpointsbase: «Window», SpaceWeed Между: 0, Slidesperview: 1, SlidePergroup: 1, SlidePergroupskip: 0, Slidespergroupauto :! 1, CentreedSlides:! 1, CenteredLidesbounds :! 1, Slidesoftfefore: 0, SlidesOffse Tafter: 0, NormaliseLideIndex :! 0, CenterInsufficientsLides :! 1, сторож :! 0, раундовые длины :! 1, Touchratio: 1, Touchangle: 45, SimulateTouch :! 0, Shortswipes :! 0, Longswipes :! 0, longswepesratio: .5, longswipes PESM: 300, Followfinger :! 0, Alluctouchmove :! 0, порог: 0, touchmovestoppropagation :! 1, touchStartPreventDefault :! 0, touchStartForepReventDefault :! 1, touchReleaseNes: ISTANCE :! 0, Aspistanceratio: .85, WatchslidesProgress :! 1, Grabcursor :! 1, Preventclicks :! 0, PreventclicksPropagation :! 0, SlidetoclickedSlide :! 1, Preloadimages :! 0, UpdateOnimageReady:! 0, Loop:! 1, Loopaddi Tionalslides: 0, Loopedslides: Null, LoopfillGroupWithBlank :! 1, LooppreventsLide :! 0, AlslidePrev :! 0, Alslidenext :! 0, SwipeHandler: Null, Noswiping:! 0, NoswipingClass: "Swiper-No-Swiping", noswipingings Избиратель: NULL, Passivelisteners :! 0, CantemOdifierClass: «Swiper-», Slideclass: «Swiper-Slide», Slideblankclass: «Swiper-Slide-Invisiable-Blank», SlideactiveVeclass: «Swiper-Slide-Active», Slideplicate ActiveClass: «Swiper-Slide-Duplicate-Active», Slidevisibleclass: «Swiper-Slide-visible», Slideduplicateclass: «Swiper-Slide-Duplicate», Slidenextclass: «Swiper-Slide-Next», Slideduplicatenextclass: » Iper-Slide-Duplicate-next ", SlidePrevclass:" Swiper-Slide-Prev ", SlideplicatePrevclass:" Swiper-Slide-Duplicate-Prev ", warpperclass:" swiper-wrapper ", runcallbacksoninit:! 0, _emitclass :! 1}; N (e, t) {return function (s = {}) {const a = object.keys (s) [0], i = s [a]; "Object" == typeof i && null! == i? e [a] || "inabled" в e [a] || (e [a] .enabled =! 0), e [a] || (e [a] = {anabled :! 1}), f (t, s): f (t, s): f (t, s)}} const b = {eventsemiter: c, update: {updatesize: fund () {const re; a = e. $ el; t = void 0! == e.params.width && null! == e.params.width? e.params.width: a [0] .clientwidth, s = void 0! == e.params.height && null! == e.params.height? E.params.height: a [0] .clientheight, 0 === t && e.ishorizontal () || 0 === s && e.isvertical () || (t = t-parseint (a.css ("ladding-left") || 0,10) -parseint (a.css ("правом накладку") || 0,10), s = s-pa rseint (a.css ("padding-top") || 0,10) -parseint (a.css ("badding-bottom") || 0,10), number.isnan (t) && (t = 0), number.is Nan (s) && (s = 0), object.assign (e, {width: t, height: s, size: e.ishorizontal ()? T: s}))}, updateslides: function () {const e = this; function t (t) {return e.ishorizontal ()? t: {width: «высота», «маржинальный тур»: «маржиново-левое», «маржинальный дни» «:« Право маржи »,« Маргин-левый »:« Маргин-вершина »,« Права по маржи »:« маржинальный брюк »,« наполнение левого »:« накладная »,« Право надо »:« Пладдинг-дно », Marginright:« MarginBottom »} [T]} функция S (E, S) {return parsefloat (e.getPropertyValue (t (s)) || 0)} const a = e.params, {$ rabperel: i, size: r, rtltranslate: n, rongrtl: l} = e, o = e.virtual && a.virtual.enabled, d = o? e.virtual.sl ides.length: e.slides.length, c = i.children (`. $ {e.params.slideclass}`), p = o? e.virtual.slides.length: c.length; пусть u = []; const h = [], m = []; let f = a.slidesoffsetbefore; "function" == typeof f && (f = a.slidesoffsetbefore.call (e)); let v = a.slidesoffsetafter; "function" == typeof v && (v = a.slidesoftafter.call (e)); w = e.snapgrid.length, b = e.slidesgrid.length; let x = a.spaceween, y = -f, e = 0, t = 0; if (void 0 === r) return; "string" == typeof x && x.indexof ("%")> = 0 && (x = parsefloat (x.replace ("%", ""))/100*r), e.virtualsize = -x, n? C.css ({marginleft: "", marginbottom: "", Margintop: ""}): C.Css ({{{{{MarginRight: ",", ",", ",", ",", ",", ",", ",", ",", ",", " OTTOM: "", Margintop: ""}), A.Cencederedslides && a.cssmode && (g (e.wrapperel ","-Swiper-ориентированная сфера, "," "), g (e.wrapperel,"-Swiper-ориентированное снешнее "," "), конст C = A.Grid && a.grid.Rows> 1 && e.grid; let $; c && e.grid.initslides (p); const s = "auto" === a.slidesperview && a.breakpoints && object.keys (a.breakpoints) .filter ((e => void 0! = A.breakpoints [e]. i = 0; i1 && u.push (e.virtualsize-r)} if (0 === u.length && (u = [0]), 0! == a.spaceweed) {const s = e.ishorizontal () && n? e = 0; m.foreach ((t => {e+= t+(a.spaceween? a.spaceween: 0)})), e- = a.spaceweed; const t = e-r; u = u.map ((e => e <0? -f: e> t? t+v: e))} if (a.centerinsuficiendescientides) {let e = 0; if (m.foreach ((t => {e+= t+(a.spaceweed? A.spaceweed: 0)})), e- = a.spaceweed, e{u [s] = e-t})), h.foreach (((e, s) => {h [s] = e+t})}} if (object.assign (e, {slides: c, snapgrid: u, slidesgrid: h, slidessizesgrid: m}), a.centeredslides && a.cssmode &&! Dslidesbounds) {g (E.Wrapperel, "-Swiper-ориентированная оффетта-предварительная",-U [0]+"px"), G (E.Wrapperel, "-Swiper-ориентированная оффет-after", E.Size/2-M [M.Length-1]/2+"PX"); конст t = -e.snapgrid [0], s = -e.slidesgrid [0]; e.snapgrid = e.snapgrid.map ((e => e+t)), e.slidesgrid = e.slid esgrid.map ((e => e+s)} p! == d && e.emit ("SlideLengthChange"), u.length! == w && (e.params.watchoverf low && e.checkoverflow (), e.emit ("snapgridlengthChange")), h.length! == b && e.emit ("slidegridlengthChange"), a.watchslidespresspress && e.updateslidesoffset ()}, upperateautoheight: function (e) {const t = this, s = [], a = t.virtual && t.params.virtual.enabled; let i, r = 0; "number" == typeof e? t.setTransition (e):! 0 === e && t.setTransition (t.params.speed); const n = e => a? t.slides.filter ((t => parseint (t.getattribute ("Data-swiper-slide-index"), 10) === e)) [0]: t.slides.eq (e) [0]; if ("Auto"! = = t.params.slidesperview && t.params.slidesperview> 1) if (t.params.centeredslides) t.visibleslides.each (e => {s.push (e)})); else для (i = 0; it.slides.length &&! a) break; s.push (n (e))} else s.push (n (t.activeIndex)); for (i = 0; ir? e: r} r && t. $ warperel.css ("height", `$ {r} px`)}, updateslidesoffset: function () {const e = this, t = e.slides; for (let s = 0; s= 0 && p1 && u <= t.size || p <= 0 && u> = t.size) && (t.visibleslides.push (l), t.visibleslidesidexes.push (e), aqush (e) .adclass (s.slidevisible Класс)), L.Progress = i? -D: d, l.originalprogress = i? -C: c} t.visibleslides = d (t.visibleslides)}, updateprogress: function (e) {const t = this; if (void 0 === e) {const s = t.rtltranslate? -1: 1; e = t && t.translate && t.translate*s || 0} const s = t.params, a = t.maxtranslate ()-t.mintranslate (); l = r, o = n; 0 === a? (i = 0, r =! 0, n =! 0) :( i = (e-t.mintranslate ())/a, r = i <= 0, n = i> = 1), объект d: n}), (s.watchslidesprogress || s.centeredslides && s.autoheight) && t.updateslidesprogress (e), r &&! l && t.emit ("requebebeginning toegy "), n &&! o && t.emit (" Reachend toege "), (l &&! r || o &&! n) && t.emit (" fromEdge "), t.emit (" Прогресс ", i)}, UpdatesLidesClasss: function () {const e = this, {слайды: t, params: s, $ wrapperel: a, activeIndex: i, RealIndex: r} = e, n = e.virtual && s.virtual.enabled; let l; t.removeclass (`$ {s.slideactiveclass} $ {s.slidenextclass} $ {s.slidepras $ {S.SlidedUplicateActiveClass} $ {S.SlidedUplicAtenextClass} $ {s.slideduplicateprevclass} `), l = n? e. $ warperel.find (`. $ {s.slideclass} [data-swiper-slide-index = "$ {i}"] `): t.eq (i) , L.AddClass (S.SlideActiveClass), S.Loop && (l.hasclass (s.slideduplicateclass)? A.Children (`. $ {S.SlideClass}: не (. $ {s .slideduplicateClass}) [Data-Swiper-slide-index = "$ {r}"] `) .AddClass (s.slideduplicateActiveClass): a.children (`. $ {s. slideclass}. $ {s.slideduplicateclass} [data-swiper-slide-index = "$ {r}"] `) .addclass (s.slideduplicateactiveclass)); пусть o = l.nextall (`. $ {s.slideclass}`) .eq (0) .addclass (s.slidenextclass); s.loop && 0 === o.length && (o = t.eq (0), o.addclass (s.slidenextclass)); пусть d = l.prevall (`. $ {s.slideclass}`) .eq (0) .addclass (s.slideprevclass); s.loop && 0 === d.length && (d = t.eq (-1), d.addclass (s. slideprevclass)), s.loop && (o.hasclass (s.slideduplicateclass)? a.children (`. $ {s.slideclass}: не (. $ {s.slideduplicatec lass}) [Data-Swiper-Slide-Index = "$ {O.Attr (" Data-Swiper-Slide-Index ")}"] `) .AdDClass (S.SlideduplicAtenextClass): A.C. hildren (`. $ {s.slideclass}. $ {s.slideduplicateclass} [data-swiper-slide-index =" $ {o.attr ("data-swiper-slide-index")} " ] `) .AdDClass (S.SlidedUplicAtenextClass), D.Hasclass (S.SlidedUplicateClass)? A.Children (`. $ {S.SlideClass}: не (. $ {s. SlidePlicateClass}) [Data-Swiper-Slide-Index = "$ {D.Attr (" Data-Swiper-Slide-Index ")}"] `) .AdDClass (S.SlidedUplicate Prevclass): a.children (`. $ {S.slideclass}. $ {S.slideduplicateclass} [data-swiper-slide-index =" $ {d.attr ("data-swiper-s lide-index ")}"] `) .AdDClass (s.slideduplicateprevclass)), e.emitslidesclasses ()}, UpdateActiveIndex: function (e) {const t = this, s = t.rtltranslate? t.translate: -t.translate, {slidesgrid: a, snapgrid: i, params: r, activeIndex: n, realindex: l, snapindex: o} = t; let d, c = e; если (void 0 == c) {for e = 0;= a [e] && s= a [e] && s= a [e] && (c = e); r.normalizeslideindex && (c <0 || void 0 === c) && (c = 0)} if (i.IndexOf (s)> = 0) d = i.IndexOf (s); else {const e = math.min (r.slidespergroupskip, c); d = e+math.floor ((c-e) /r.slidespergroup)} if (d> = i.length && (d = i.length-1), c === n) вернуть void (d! == o && (t.snapindex = d, t.emit ("snapindex"); p = parseint (t.slides.eq (c) .attr ("data-swiper-slide-index") || c, 10); object.assign (t, {snapindex: d, Realindex: p, предыдущий инсу: n, ActiveIndex: c}), t.emit ("activeIndexchange") , t.emit ("snapindexchange"), l! == p && t.emit ("Realindexchange"), (t.initialized || t.params.runcallbacksoninit) && t.emit ("slidechange")}, updateclickedslide: function (e) {const t = this, s = t.params, a = d (e.target) .closest (`. $ {s.slideclass}`) [0]; let i, r =! 1; if (a) для (let e = 0; eo? O: A && E.= o.length && (g = o.length-1), (p || l.initialslide || 0) === (c || 0) && s && r.emit ("beforeslidechangestart"); const w = -o [g]; if (r.updateprogress (w), l.normalizes) для (let e = 0; e= s && t= s && t= s && (n = e)} if (r.initialized && n! == p) {if (! R.allowslidenext && wr.translate && w> r.maxtranslate () && (p || 0)! == n) return! 1} Пусть b; if (b = n> p? "Далее": n{r.wrapperel.style.scrollsnaptype = "", r._swiperimmediatevirtual =! 1}))} else {if (! R.support.smoothscroll) return v ({swiper: r, targetPosition: s, сторона: e? 0 === T? (R.SetTransition (0), R.SetTranslate (W), R.UpdateActiveIndex (n), R.Updateslidesclasses (), R.Emit ("beForerSitionStart", T, A), R.TransitionStart (S, B), R.TransitionEnd (S, b )) :( R.SetTransition (T), R.SetTransLate (W), R.UpdateActiveIndex (n), R.UpdatesLidesclasses (), R.Emit ("beForeRansitionStart", T, A), R.TransitionStart (S, B), R.Animation || (R.Animat ing =! 0, r.onslidetowrappertransitionend || (r.onslidetowrappertransition = function (e) {r &&! R.destroyed && e.target === this && (r. $ warperel [0] .RemoveeVentListener ("TransitionEn D ", R.onslidetowRapperTransitionEnd), R. $ warperel [0] .RemoveEventListener (" webkitTransItingEnd ", R.OnsLideTowRApperTransitionEnd), R.onslideTowrApPerTransitionEnd = null, delete R.onslidetowrapperTransitionEnd, R.TransitionEnd (S, B))}), R. $ warperelEl [0] .AddeventListener ("TransitionEnd", R.onslidetowrapperTransitionEnd), R. $ wrap perel [0] .AdDeventListener ("webKitTransIting", R.OnsLideToWrapperTransitionEnd))),! 0}, Slidetoloop: function (e = 0, t = this.params.speed, s =! 0, a) {const i = this; let r = e; return i.params.loop && (r+= i.loopedslides), i.slideto (r, t, s, a)}, slidenext: function (e = this.params.speed, t =! 0, s) {const a = this, {animating: i, Ensuret: r, params: n} = a; l = n.slidespergroup; "auto" === n.slidesperview && 1 === n.slidespergroup && n.slidespergroupauto && (l = math.max (a.slidesperviewdynamic ("current",! 0), 1)); const o = aactaintexc (e))); let h = n [u.indexof (p) -1]; if (void 0 === h && i.cssmode) {let e; n.foreach ((t, s) => {p> = t && (e = s)}), void 0! 0! == h && (m = l.indexof (h), m <0 && (m = a.activeDex-1), "auto" === i.slidesperview && 1 === i.slidespergroup && i.slidespergroupauto && (m = m-a.sl iDesperviewDynamic ("Предыдущий" ,! 0)+1, m = math.max (m, 0))), a.slideto (m, e, t, s)}, slidereset: function (e = this.params.speed, t =! 0, s) {return this.slideto (this.activeIndex, e, t, s)}, slidetoclosest: function (e = this.params.speed, t =! 0, s, a = .5) {const i = this; let r = i.ActiveIndex; const n = math.min (i.params.slidespergroupskip, r), l = n+math.floor ((r-n) /i.params.slidespergroup), o = i.rtltranslate? I.TransLate: -i.translate; if (o> = i.snapgrid [l]) {const e = i.snapgrid [l]; o-e> (i.snapgrid [l+1] -e)*a && (r+= i.params.slidespergroup)} else {const e = i.snapgrid [l-1]; o-e <= (i.snapgrid [l] -e)*a && (r-) r = math.max (r, 0), r = math.min (r, i.slidesgrid.length-1), i.slideto (r, e, t, s)}, slidetoclickedslide: function () {const e = this, {params: t, $ wrapperel: s} = e, a = "auto" === t.slidesperview? e.slidesperviewdynamic (): t.slidesperview; let i, r = e.clickedIndex; if (t.loop) {if (e.animating) return; i = parseint (d (e.clickedslide) .attr ("data-swiper-slide-index"), 10), t.centeredslides? re.slides.length-e.loopedslides+a/2? (e.loopfix (), r = s.children (`. $ {t.slideclass} [Data-Swiper-Slid e-index = "$ {i}"]: не (. $ {t.slideduplicateclass}) `) .eq (0) .index (), p (() => {e.slideto (r)})): e.slide To (r): r> e.slides.length-a? (E.loopfix (), r = s.children (`. $ {T.slideclass} [data-swiper-slide-index =" $ {i} "]: не (. $ {t.slideduplicateclass})`) .eq (0) .index (), p ((() => {e.slideto (r)}))): e.slideto (r)} else e.slideto (r)}}, loop: {loopcreate: function () {const e = this, t = a (), {params: s, $ warperel: i} = e, r = d (i.children () [0] .parentnode); r.children (`. $ {s.slideclass}. $ {s.slideduplicateclass}`) .Remove (); пусть n = r.children (`. $ {s.slideclass}`); if (s.loopfillgroupwithblank) {const e = s.slidespergroup-n.length%s.slidespergroup; if (e! == s.slidespergroup) {for (let a = 0; an.length && (e.loopedslides = n.length); const l = [], o = []; n.each ((t, s) => {const a = d (t); s= n.length-e.loopedslides && l.push (t), a.attr ("data-swiper-slide-index", s)})); for (let e = 0; e= 0; e- = 1) r.prepend (d (l [e] .clonenode (! 0)). Addclass (s.slideduplicateclass))}, loopfix: function () {const e = this; e.emit ("beforeloopfix"); const {ActiveIndex: T, Slides: S, LoopedSlides: A, AlslidePrev: I, Alslidenext: R, Snapgrid: n, rtltranslate: l} = E; Let o; e.allowslideprev =! 0, e.allowslidenext =! 0; d = -n [t] -e.getTransLate (); if (t= S.Length-A) {O = -S.Length+T+A, O+= a; e.slideto (o, 0 ,! 1 ,! 0) && 0! == d && e.setTranslate ((l? -e.translate: E.TransLate ) -d)} e.allowslideprev = i, e.allowslidenext = r, e.emit ("loopfix")}, loopdestroy: function () {const {$ wrapperel: e, p Arams: T, Slides: S} = this; e.children (`. $ {t.slideclass}. $ {t.slideduplicateclass},. $ {t.slideclass}. $ {t.slidebl ankclass} `) .Remove (), s.RemoVeattr (" data-swiper-slide-index ")}}, grabcursor: {setgrabcursor: function (e) {const t = this; if (t.support.touch ||! t.params.simulatetouch || t.params.watchoverflow && t.islocked || t.params.csmode) return; const S = "Контейнер" === T.Params.touchEventStarget? T.El: T.Wrapperel; S.Style.cursor = "Move", S.Style.Cursor = E? "-Webkit-Gabbing": "-мы BKIT-GRAB ", S.STYLE.Cursor = E?"-MOZ-GRABBIN ":"-MOZ-GRAB ", S.STYLE.Cursor = E?" GRAPBING ":" GRAB "}, UNSETGRABCURSOR: function () {const e = this; e.support.touch || e.params.watchoverflow && e.islocked || e.params.cssmode || (e ["контейнер" === e.params.toucheventstarget? "el": "wrapperel"]. style.cursor = "")}}, события: {attleevents: function () {conty e = this, t = a (), {params: s, поддержка: i} = e; e.ontouchstart = s.bind (e), e.ontouchmove = m.bind (e), e.ontouchend = p.bind (e), s.cssmode && (e.onscroll = o.bind (e)), e.onclick = z.b ind (e), i.touch &&! i && (t.addeventListener ("touchStart", l), i =! 0), a (e, "on")}, detachevents: function () {a (this, "off")}}}, breakpoints: {setBreakpoint: function () {const e = this, {activeIndex: t, инициализировано: s, loopedslides: a = 0, params: i, $ el: r} = e, n = i.breakpoints; if (! n || n && 0 === object.keys (n) .length) return; const l = e.getbreakpoint (n, e.params.breakpointsbase, e.el); if (! l || e.currentbreakpoint === l) return; const o = (l in n? n [l]: void 0) $ {i.containermodifierClass} Grid-Column`), e.emitContainerClass ()):! D && C && (r.addclass (`$ {i.containermodifierClass} grid`), (o.grid.fill &&" colum n "=== o.grid.fill ||! O.grid.fill &&" column "=== i.grid.fill) && r.addclass (` $ {i.containermodifierclass} Grid-Column`), e.emitcontainerclass ()); const U = O.Direction && O.Direction! == I.Direction, h = i.loop && (o.slidesperview! == i.slidesperview || U); U && s && e.changedirection (), f (e.params, o); const m = e.params.enabled; object.assign (e, {allowtouchmove: e.params.allowtouchmove, Alslidenext: e.params.allowslidenext, AllidePrev: e.params.allowslideprev}), p &&! m? e.disable ():! p && m && e.enable (), e.current grakpoint = E.current It ("_ перед Breakpoint", O), H && s && (e.loopdestroy (), e.loopcreate (), e.updateslides (), e.slideto (t-a+e.loopedslide s, 0 ,! 1)), e.emit ("точка останова", O)}, getBreakpoint: function (e, t = "window", s) {if (! e || "Контейнер" === t &&! S) return; let a =! 1; const i = r (), n = "window" === t? i.InnerHeight: s.ClientHeight, l = object.keys (e) .map ((e => {if ("string" == typeof e && 0 === e.indexof ("@")) {const t = parsefloat (e.substr (1)); return {value: n*t, point: e}} return {value: e, точка: e}})); l.sort ((e, t) => parseint (e.value, 10) -parseint (t.value, 10))); для (et e = 0; es} else e.islocked = 1 === e.snapgrid.length ;! 0 === s.allowslidenext && (e.allowslidenext =! e.islocked),! 0 === s.allowslideprev && (e.allowslideprev =! e. Islocked), t && t! == e.islocked && (e.isend =! 1), t! == e.islocked && e.emit (e.islocked? e = this, {classnames: t, params: s, rtl: a, $ el: i, device: r, support: n} = e, l = function (e, t) {const s = []; return e.foreach ((e => {"object" == typeof e? object.keys (e) .foreach ((a => {e [a] && s.push (t+a)})): "string" == typeof e && s.push (t+e)})), s} (["инициализировано", s.direction, {"pointer-events":! N.Touch}, {"Free-Mode": e.params.free Mode && s.freemode.enabled}, {AutoHeight: S.AutoHeight}, {rtl: a}, {grid: s.grid && s.grid.rows> 1}, {"Grid-Column" : s.grid && s.grid.rows> 1 && "column" === s.grid.fill}, {android: r.android}, {ios: r.ios}, {"css-mode": s.cssmode},, {Центр: S.CSSMODE && S.CENTERDEDSLIDES}], S.ContainerModifierClass); T.Push (... l), i.AddClass ([... t] .join (" ")), e.emitcontainerclasses ()}, removeclasses: function () {const {$ el: e, classnames: t} = this; e.removeclass (t.join (" "), this.emitcontainerclass ()}}, образы: {udloadImage: function (e, s, s, a, i, n) {strest a) c () {n && n ()} d (e) .parent ("picture") [0] || e.complete && i? C (): t? (O = новый L.Image, O.Onload = C, O.Onerror = c, a && (o.sisizes = a), s && (o.srcset = s), t && (o.src = t)): c ()}, preloadimages: function () {const e = this; function t () {null! 0! == e.imagesloaded && (e.imagesdulad+= 1), e.imagesloaded === e.imagestoload.length && (e.params.updateonimagesrede && e.update (), e.emit ("Imagesrede"))} e.imageStoLoad = e. $ El.find ("img"); для (lete s = 0;1) {const e = []; return d (s.el). a = this; a .__ Swiper __ =! 0, a.support = y (), a.device = e ({useragent: s.useragent}), a.browser = t (), aventslisteners = {}, a.events AnyListeners = [], A.Modules = [... a .__ Модули __], S.Modules && Array.isArray (S.Modules) && A.Modules.push (... S.Modules); Const i = {}; a.modules.foreach ((e => {e ({wiper: a, extendparams: n (s, i), on: a.on.bind (a), один раз: a.once.bind (a), off: a.off.bind (a), эмит: a.emit.bind (a)})); {{}; a.params = f ({}, r, x, s), a.originalparams = f ({}, a.params), a.passedparams = f ({}, s), a.params && a.params.on && object.keys (a.params.on) .foreach (e => {a, a, a.params.on) .params && a.params.onany && a.onany (a.params.onany), a. $ = d, object.assign (a, {включен: a.params.enabled, el: t, classnames: [], Slides: d (), Slidesgrid: [], Snapgrid: [], SlideSessise GRID: [], Ishorizontal: () => "Горизонтальный" === a.params.diverection, iSvertical: () => "Vertical" === A.Params.Direction, ActiveIndex: 0, Realindex: 0, Isbeginning:! 0, iSend:! 1, TranslaTat E: 0, предыдущий Translate: 0, Прогресс: 0, скорость: 0, анимация :! 1, AlslidExt: A.Params.allowsLidenext, AlslidePrev: a.params.allowslideprev, touchEvents: function () {const e = ["touchStart", "touchmove", "touchend", "touchCancel"], t = ["pointerdown", "puntromtove", "pointerup"]; вернуться a.toucheventstouch = {start: e [0], move: e [1], end: e [2], cancel: e [3]}, a.toucheventsdesktop = {start: t [0], move: t [1], end: t [2]}}}}}}}}}}}}}}}}}}}}}} , a.support.touch ||! a.params.simulatetouch? 0, ismoved: void 0, allucktouchcallbacks: void 0, touchStarttime: void 0, isscolling: void 0, currentTranslate: void 0, startTransLate: void 0, AllowThresholdMove: void 0, фокусируемые элементы: A.Params.focusableElements, LastClickTime: U (), chlickTemout: voids.focusableElements, LastClickTime: u (), clickTimeout: void. 0, скорости: [], AllingMomentumbounce: void 0, istouchevent: void 0, startmoving: void 0}, Allowclick :! 0, AlluchingTouchMove: a.params.allowtouchmove, прикосновения: {startx: 0, starty: 0, currentx: 0, custry: 0, diff: 0}, imageStoLoad: [], images adload: 0}), a.emit ("_ swiper"), a.params.init && a.init () in e = this; e.enabled || (e.enabled =! 0, e.params.grabcursor && e.setgrabcursor (), e.emit ("enable"))} disable () {const e = this; e.enabled && (e.enabled =! 1, e.params.grabcursor && e.unsetgrabcursor (), e.emit ("disable"))} setProgress (e, t) {const s = this; e = math.min (math.max (e, 0), 1); const a = s.mintranslate (), i = (s.maxtranslate ()-a)*e+a; s.translateto (i, void 0 === t? 0: t), s.updateactiveindex (), s.updateslidesclasses ()} emitcontainercess () {const e = this; if (! e.params._emitclasses ||! e.el) return; const t = e.el.classname.split ("") .filter ((t => 0 === t.indexof ("swiper") || 0 === t.indexof (e.params.containermonifier -class))); "))} getsLideClasses (e) {const t = this; return e.classname.split (" ") .filter ((e => 0 === e.indexof (" swiper-slide ") || 0 === e.indexof (t.params.slideclass)). e = this; if (! e.params._emitclasses ||! e.el) return; const t = []; e.slides.each (s => {const a = e.getslideclasses (s); t.push ({slideel: s, classnames: a}), e.emit ("_ slideclass", s, a)})), e.emit ("_ slideclasses", t)} Slides PerviewDynamic (e = "current", t =! 1) {const {params: s, слайды: a, slidesgrid: i, slidessisesgrid: r, size: n, activeIndex: l} = this; let o = 1; if (s.centeredslides) {let e, t = a [l] .swiperSlidesize; for (let s = l+1; sn && (e =! 0)); for (let s = l-1; s> = 0; s- = 1) a [s] &&! e && (t+= a [s] .swiperslidesize, o+= 1, t> n && (e =! 0))} else if ("current" === E) для (Let e ​​e+1; e= 0; e- = 1) {i [l] -i [e]1) && e.isend &&! E.params.centeredslides? E.slideto (e.slides.length-1,0 ,! 1 ,! 0): e.slideto (e.activeIndex, 0 ,! 1 ,! 0 ), i || a ()), s.watchoverflow && t! == e.snapgrid && e.checkoverflow (), e.emit ("update")} mediceRection (e, t =! 0) {const s = это, a = s.params.direction; return e || (e = "горизонтальный" === a? "Vertical": "горизонтальный"), e === a || "горизонтальный"! == e && "vertical"! == e || (s. $ e L.RemoveClass (`$ {s.params.containermodifierClass} $ {a}`) .AdDClass (`$ {s.params.containermodifier Class} $ {e} `), s.emitcontainerclasses (), s.params.direction = e, s.slides.each ((t => {" vertical "=== e? T .style.width = "": t.style.height = ""})), s.emit ("maderiection"), t && s.update ()), s} mount (e) {const t = this; if (t.mounted) return! 0; const s = d (e || t.params.el); if (! (e = s [0])) return! 1; e.swiper = t; const i = () => `. $ {(t.params.wrapperclass ||" "). r = (() => {if (e && e.shadowroot && e.shadowroot.queryselector) {const t = d (e.shadowroot.queryselector (i ())); return t.children = e => s.children (e), t} return S.Children (i ())}) (); if (0 === R.Length && t.params.createElements) {const e = a (). CreateElement ("div"); r = d (e), e.classname = t.params.wrapperclass, s.append (e), s.children (`. $ {t.params.slideclass}`) Object.assign (t, {$ el: s, el: e, $ wrapperel: r, wrapperel: r [0], монтировано :! 0, rtl: "rtl" === e.dir.tolowercase () || "rtl" === s.css ("направление"), rtltranslate: "Horiz Ontal "=== t.params.direction && (" rtl "=== e.dir.tolowercase () ||" rtl "=== s.css (" Направление ")), ошибка:"-webkit-box "=== r.css (" disploy ")}),! 0} init (e) {const t = this; if (t.initialized) return t; return! 1 === t.mount (e) || (t.emit ("ineminit"), t.params.breakpoints && t.setbreakpoint (), t.addclasses (), t.params.loop && t.loopcreate (), t.update Size (), t.updateslides (), t.params.watchoverflow && t.checkoverflow (), t.params.grabcursor && t.enabled && t.setgrabcursor (), t.params.preloadimages && t.peloadimages (), t.params.loop? t.slideto (t.params.initialslide+t.loopedslides, 0, t.params.runcallbacksoninit ,! 1 ,! 0): t.slideto (t.params.initi alsslide, 0, t.params.runcallbacksoninit ,! 1 ,! 0), t.attachevents (), t.initialized =! 0, t.emit ("init"), t.emit ("Послеинт")), t} уничтожить (e =! 0, t =! 0) {const s = this, {params: a, $ el: i, $ warperel: r, слайды: n} = s; return void 0 === S.Params || S.Destroyed || (s.emit ("beforedestroy"), s.initialized =! 1, s.detachevents (), a.loop && s.loopdestroy (), t && (s.removeclasses (), i.removeat tr ("style"), r.removeattr ("style"), n && n.length && n.removeclass ([a.slidevisibleclass, a.slideactiveclass, a.slidenextclass, a.slideprevclass] .join (" ")). removeAttr (" style "). RemoveAttr (" Data-swiper-slide-index)), s.emit ("destry"), object.keys (s.eventsliesteners) .foreach ((e => {s.off (e)})),! 1! == e && (s. $ el [0] t = e; object.keys (t) .foreach ((e => {try {t [e] = null} catch (e) {} try {delete t [e]} catch (e) {}}))} (s)), s.destroyed =! 0), null} static extendefault extendedDefaults () {return x} static get defaults () {return g} static installmodule (e) {h.prototype .__ Модули __ || (H.prototype .__ Модули __ = []); const T = H.Prototype .__ Модули __; "function" = typeof e && t.indexof Используйте (e) {return array.isarray (e)? (e.foreach (e => h.installmodule (e))), h) :( H.installmodule (e), h)}} Функция y (e, t, s, i) {const r = a (); return}}} y (e, t, s, i) {const r = a (); e.params.createelements && object.keys (i) .foreach ((a => {if (! s [a] &&! 0 === s.auto) {let n = e. $ el.children (`. $ {i [a]}`) [0]; n || (n = r.createElement ("div"), n.classname = i [a], e. $ el.append (n)), s [a] = n, t [a] = n}})), s} функция W (e = "") {return`. $ {E.trim ().. Заменить (/(m\.: !\\/ø)/ g, "\\ $ 1"). Заменить (//g,".")/) функция r (e) {const t = this, {$ rabperel: s, params: a} = t; if (a.loop && t.looproy: abyefoy "= obhopeStroy". e && "длина" в e) для (пусть t = 0; t= l) вернуть void s.appendslide (t); пусть o = n> e? n+1: n; const d = []; для (let t = l-1; t> = e; t- = 1) {const e = s.slides.eq (t); e.remove (), d.unshift (e)} if ("Object" == typeof t && "length" in t) {for (e)} if ("Object" == typeof t && "e? N+t.length: n} else a.append (t); для (пусть e = 0; e{if (s.params.effect! == t) return; s.classnames.push (`$ {s.params.containermodifierclass} $ {t}`), l && l () && s.classname.push (`$ {s.params.containermodifierclass} 3d`); e = n? n (): {}; object.assign (s.params, e), object.assign (s.originalparams, e)})), a ("settranslate", (() => {s.params.effect === t && i ()})), a ("settransition", (e, a) => {s.params.effect === t && r (a)}))} функция U (e, t) {return e.transformel? T.find (e.transformel) .css ({"backface-visibuity": "hidden", "-webkit-backface-visibuilt": "hidden"}): t} функция K ({swiper: e, продолжительность: t, transformel: s, allslides: a}) {const {slides: i, activeIndex: r, $ warperel: n} = e; if (e.params.virtualtranslate && 0! == t) {Let t, l =! 1; t = a? S? i.find (s): i: s? T.eq (r) .find (s): т.е. (r), t.transitionend ((() => {if (l) вернуть; if (! e || e.destroyed) return; l =! 0, e.Animation =! 1; const t = ["webkitTrationEd; e = 0; e`), I.Append (r)), r} object.keys (b) .foreach ((e => {object.keys (b [e]). foreach ((t => {h.prototype [t] = b [e] [t]}))}), H.USE ([function ({{swiper: e, on: t, emit: s}) й = R n = () => {e &&! e.destroyed && e.initialized && (s ("beforeresize"), s ("resize"))}, l = () => {e &&! e.destroyed && e.initialized && s ("OrientationChange")}; t ("init", () => {e.parebress 0! == A.ResizeObserver? E &&! E.Destroyed && e.Itialized && (i = new ResizeObserver ((t => {const {width: s, height: a} = e; let i = s, r = a; t.foreach ((({contentboxsize: t, contentrect: s, target: a}) => {a && a! == e.el || (i = s? s.width: (t [0] || t) .inlinesize, r = s? s .height: (t [0] || t) .blocksize)})), i === s && r === a || n ()})), i.observe (e.el)) :( A.AddeventListener ("resize", n), a.AddeventListe ner ("OrientationChange", l))}), t ("dressome", (() => {i && i.unobserve && e.el && (i.unobserve (e.el), i = null), A.RemoveEventListen Er ("resize", n), A.RemoveEventListener ("OrientationChange", L)})}, function ({swiper: e, extendparams: t, on: s, Emit: a}) {const i = [], n = r (), l = (e, t = {}) => {const s = new (n.muteobserver || n.webkitmutionobserver) ((e => {if (1 === e.length) return void a ("stemverupdate", e [0]; t = function () {a ("stemverupdate", e [0])}; n.requestanimationframe? N.RequestAnimationFrame (t): n.settimeout (t, 0)})); s.observe (e, {атрибуты: void 0 === t.attributes || t.attributes, chiedlist: void 0 === T.ChildList || T.ChildList, HARCEDDATA: void 0 === T.CharacterData || T.CharacterData}), i.push (s)}; t ({imserver :! 1, veamparents :! 1, vaseSlideChildren :! 1}), s ("init", () => {if (e.params.observer) t = e. $ el.parents (); для (пусть e = 0; e{i.foreach ((e => {e.disconnect ()})), i.splice (0, i.length)}))}]); const j = [function ({wiper: e, extendparams: t, on: s}) {let a; функция i (t, s) {const a = e.params.virtual; e.virtual.cache [s]; const i = a.renderslide? d (a.renderslide.call (e, t, s): d (`
$ {t}
`); вернуть i.attr (" data-swiper-slide-index ") || i.attr (" data-swiper-slide-index ", s), a.cache && (e.virtual.cache [s] = i), i} функция r (t) {const {slidesperview: s, slidepergroup: a, centreedslides: r} = e.params, {addslidesbefore: n, addslidesafter: l} = e.pa rams.virtual, {from: o, to: d, слайды: c, slidesgrid: p, смещение: u} = e.virtual; h = e.activeIndex || 0; let m, f, g; m = e.rtltranslate? "справа": e.ishorizontal ()? "" слева ":" top ", r? (f = math.floor (s/2)+a+l, g = мат v = math.max ((h || 0) -g, 0), w = math.min ((h || 0)+f, c.length-1), b = (e.slidesgrid [v] || 0)-(e.slidesgrid [0] || 0); функция x () {e.updateslides (), e.updateprogress (), e.updateslidesclasses (), e.lazy && e.params.lazy.enabled && e.lazy.l oad ()} if (object.assign (e.virtual, {from: v, to: w, offset: b, slidesgrid: e.slidesgrid}), o === v && d === w &&! t) вернуть e.slidesGrid!==p&&b!==u&&e.slides.css(m,`${b}px`),void e.updateProgress();if(e.params.virtual.renderExternal)return e.params.virtual.renderExternal.call(e,{offset:b,from:v,to:w,slides:function(){const e = []; for (let t = v; t <= w; t+= 1) e.push (c [t]); return e} ()}), void (e.params.virtual.renderexternalupdate && x ()); const y = [], e = []; if (t) e. $ warperel.find (`. $ {e.params.slideclass}`) .remove (); else for (let t = o; t <= d; t+= 1) (tw) && e. $ warperel.find (`. $ {e.params.slideclass} [data-swiper-slide-index =" $ {t} "]`) .Remove (); for (let e = 0; e= v && e <= w && (void 0 === d || t? e.push (e) :( e> d && e.push (e), e{e. $ warperel.append (i (c [t], t))})), y.sort (((e, t) => t-e)). foreach ((t => {e. $ wroodperel.p Refend (i (c [t], t))})), e. $ wroodperel.children (". Swiper-Slide"). CSS (m, `$ {b} px`), x ()} t ({{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ Virtual: {anabled :! 1, слайды: [], кэш:! 0, renderslide: null, renderexternal: null, renderexternalupdate :! 0, Addslidesfore: 0, addslidesafter: 0}}), e.virtual = {Cache: {}, от: void 0, до: void 0, слайды: [], смещение: 0, SlideGrid: []}, s ("ineminit", (() => {e.params.virtual.enabled && (e.virtual.slides = e.params. virtual.slides, e.classnames.push (`$ {e.params.containermodifierclass} virtual`), e.params.watchslidesprogress =! 0, e .OriginalParams.watchslidesprogress =! 0, e.params.initialslide || r ())})), s ("settranslate", (() => {e.params.virtual.e nabled && (e.params.cssmode &&! e._immediatevirtual? (cleartimeout (a), a = settimeout ((() => {r ()}), 100)): r ())})), s ("init Обновление RESRIZE ", (() => {e.params.virtual.enabled && e.params.cssmode && g (e.wrapperel,"-swiper-virtual-size ",` $ {e.virtualsize} px`)})), объект t) для (пусть s = 0; s{const a = t [e], r = a.attr ("data-swiper-slide-index"); r && a.attr ("data-swiper-slide-index", parseint (r, 10)+i), s [pars eint (e, 10)+i] = a})), e.virtual.cache = s} r (! 0), e.slideto (a, 0)}, removeslide: function (t) {if (null == t) return; let s = e.activeIndex; if (array.isarray (t)) для (let a = t.length-1; a> = 0; a- = 1) e.virtual.slides.splice (t [a], 1), e.params.virtual.cache && delete e.virtual.cache [t [a], t [a]0 && 0 === e. $ El.parents (` a = e. $ el, i = a [0] .clientWidth, r = a [0] .clientHeight, n = l.innerwidth, o = l.innerheight, d = e. $ el.offset (); s && (d.left- = e. $ el [0] .scrollleft); const c = [[D.Left, D.Top], [D.Left+I, D.Top], [D.Left, D.Top+R], [D.Left+I, D.Top+R]]; для (let e = 0; e= 0 && s [0] <= n && S [1]> = 0 && S [1] <= O) {if (0 === S [0] && 0 === S [1]) Продолжение; T =! 0}} if (! T) return} E.Ishorizontal ( )? ((d || c || p || u) && (a.preventdefault? A.preventDefault (): A.ReturnValue =! 1), ((C || U) &&! S || (D || P) && S) && e.slidenext (), ((d || p) &&! s || (c || u) && s) && e.slideprev ()): ((d || c || h || m) && (a.preventdefault? A.preventd efault (): a.returnvalue =! 1), (c || m) && e.slidenext (), (d || h) && e.slideprev ()), i ("keypress", r)}} функция c () {e.keyboard.enabled || (d (n) .on ("keydown", o), e.keyboard.enabled =! 0)} Функция p () {e.keyboard.enabled && (d (n) .Off ("keydown", o), e.keyboard.enabled =! 1)} e.keyboard = {anabled:! 1}, t ({клавиатура: {inabled:! 1, onlyinviewport:! 0, pageUpdown :! 0}}), s ("init", () => {e.para ms.keyboard.enabled && c ()})), s ("dresser", (() => {e.keyboard.enabled && p ()})), object.assign (e.keyboard, {enable: c, disable: p})}, function ({wiper: e, extendparams: t, on: s, эмит: a}) {conpeer i = r (); let n; t ({mousewheel: {anabled :! 1, releaseNge :! 1, invert :! 1, forcetoaxis :! 1, Чувствительность: 1, EventStarget: «Контейнер», Thresholddelta: NULL, Throsholdtime: null}}), E.mouseWhiel = {uned: u Let; c = []; function h () {e.enabled && (e.mouseEntered =! 0)} funct= 6 && u ()-o <60 || (t.direction <0? E.Isend &&! E.params.loop || e.animating || (e.slidenext (), a ("scroll", t.raw)): e.isbeginning &&! i.date) .getTime (),! 1)))} функция g (t) {let s = t, i =! 0; if (! e.enabled) return; const r = e.params.mousewheel; o = e. $ el; if ("контейнер"! == e.params.mousewheel.eventstarget && (o = d (e.params.mousewheel.eventstarget)),! e.mouseEntered &&! o [0] .contains (s.Target) &&! m = e.rtltranslate? -1: 1, g = function (e) {let t = 0, s = 0, a = 0, i = 0; return «detail» в E && (s = e.detail), «wheldelta» в e && (s = -e.wheeldelta/120), «wheldelta» в e && (s = -e.wheeldelta/120), «wheldeltay» в e && (s = -e.wheeldelta/120), «wheldeltay» в e && (s = -e.wheeldelta/120), «Whewdeltay» в e && (s = -e.wheeldelta/120), «wheldelta». e && (t = -e.wheeldeltax/120), "ось" в e && e.axis === e.horizontal_axis && (t = s, s = 0), a = 10*t, i = 10*s, "deltay" в e && (i = e.deltay), "deltax" в e && (a = e.deltax), e.shiftkey &&! a && (a = i, i = 0), (a || i) && e.deltamode && (1 === e.deltamode? (a*= 40, i*= 40 ) :( a*= 800, i*= 800)), a &&! t && (t = a <1? -1: 1), i &&! S && (s = i <1? -1: 1), {spinx: t, spiny: s, pixelx: a, pixely: i }} (s); if (r.forcetoaxis) if (e.ishorizontal ()) {if (! (math.abs (g.pixelx)> math.abs (g.pixely))) retu rn! 0; h = -g.pixelx*m} else {if (! (math.abs (g.pixely)> math.abs (g.pixelx))) return! 0; h = -g.pixely} else h = math.abs (g.pixelx)> math.abs (g.pixely)?-g.pixelx*m: -g.pixely; if (0 === h) return! 0; r.Invert && (h = -h); пусть v = e.getTranslate ()+h*r.sensitivity; if (v> = e.mintranslate () && (v = e.mintranslate ()), v <= e.maxtranslate () && (v = e.maxtranslate ()), i = !! e.params.loop ||! (v === e.mintranslate () || v === e.maxtranslate ()), i && e.params.nested && s.stoppropagation (), e.params.freemode && e.params.freemode.enabled) {const t = {время: u (), delta: math.abs (h), направление: math.sign (h)}, i = l && t.time= e.mintranslate () && (o = e.mintranslate ()), o <= e.maxtranslate () && (o = e.maxtranslate ()), e.settransition (0), e.settranslate (o), e.updateprogress (), e.updat eactiveindex (), e.updateslidesclasses (), (! d && e.isbeginning ||! u && e.isend) && e.updateslidesclasses (), e.params.freemode.sticky) {cleartimeout (n), n = void 0, c.length> = 15 && c.shift (); const s = c.length? C [c.length-1]: void 0, a = c [0]; if (c.push (t), s && (t.delta> s.delta || t.direction! == s.direction)) c.splice (0); else if (c.length> = 15 && t.time-a.time <500 && a.delta-t.delta> = 1 && t.delta <= 6) {const s = h> 0? .8: .2; l = t, c.splice (0), n = p (() => {e.slidetoclesest (e.params.speed,! 0, void 0, s)}), 0)} n || (n = p ((() => {l = t, c.splice (0), e.slidetoclosest (e.params.speed ,! 0, void 0, .5)}), 500))} if (i || a ("scroll", s), e.params.autoplay && e.params.autoplaydisableonInteraction && e.autoplay.stop (), o === e.mintranslate () || o === e.maxtranslate ()) вернуть! s = {время: u (), delta: math.abs (h), направление: math.sign (h), raw: t}; c.length> = 2 && c.shift (); const a = c.length? C [C.Length-1]: void 0; if (c.push (s), a? (S.Direction! == A.Direction || S.Delta> A.Delta || S.Time> A.Time+150) && f (S): f (s), функция (t) {const s = e.params.mousewheel; if (t.dierection <0) {if (e.isend &&? if (e.isbeginning &&! e.params.loop && s.releaseonedges) return! 0; return! 1} (s)) return! 0} return s.preventdefault? s.preventdefault (): s.returnvalue =! 1,! 1} Функция v (t) {let s = e. $ el; "контейнер"! == e.params.mousewheel.eventstarget && (s = d (e.params.mousewheel.eventstarget)), s [t] ("MouseEnter", h), s [t] ("mouseleave", m), s [t] ("колеса", g)} функция w () {return e.params.cssmode? (e.wrapperel.removeeventlistener ("wheel", g),! 0):! e.mousewheel.enabled && (v ("on"), e.mousewheel.enabled =! 0,! 0)} Функция b () {return e.params.cssmode? (e.wrapperel.addeventlistener (событие, g),! 0): !! e.mousewheel.enabled && (v ("off"), e.mous ewheel.enabled =! 1,! 0)} s ("init", (() => {! e.params.mousewheel.enabled && e.params.cssmode && b (), e.params.mo usewheel.enabled && w ()})), s ("drester", (() => {e.params.cssmode && w (), e.mousewheel.enabled && b ()})), объект .assign (e.mousewheel, {enable: w, disable: b})}, function ({wiper: e, extendparams: t, on: s, эмит: a}) {function i (t) {let s; return t && (s = d (t), e.params.uniquenvelments && "string" == typeof t && s.length> 1 && 1 === $ el.find (t) .length && (s = e. $ el.find (t)), s} функция r (t, s) {const. a = e.params.navigation; t && t.length> 0 && (t [s? "addclass": "removeClass"] (a.disabledClass), t [0] && "button" === t [0] .tagname & & (t [0] .disabled = s), e.params.watchoverflow && e.enabled && t [e.islocked? "addclass": "removeclass"] (a.lockclass))} функция n () {if (e.params.loop) return; const {$ nextel: t, $ prevel: s} = e.navigation; r (s, e.isbeginning), r (t, e.isend)} function l (t) {t.preventdefault (), e.isbeginning &&! o (t) {t.preventdefault (), e.isend &&! e.params.loop || e.slidenext ()} Функция c () {const t = e.params.navigation; if (e.params.navigation = y (e, e.originalparams.navigation, e.params.navigation, {nextel: "swiper-button-next", prevel: "swiper-button-prev"}),! t.nextel &&! t.prevel) return; const s = i (t.nextel), a = i (t.prevel); s && s.length> 0 && s.on ("click", o), a && a.length> 0 && a.on ("click", l), object.assign (e.navigation, {$ nex Тел: S, Nextel: S && S [0], $ prevel: a, prevel: a && a [0]}), e.enabled || (s && s.addclass (t.lockclass), a && a.addclass (t.lockclass))} функция p () {const {$ nextel: t, $ prevel: s} = e.navigation; t && t.length && (t.off ("click", o), t.removeclass (e.params.navigation.disabled Класс)), s && s.length && (s.off ("click", l), s.removeclass (e.params.navigation.disabledclass))} t ({navigation: {nextel: null, p revel: null, hideonclick:! 1, отключенный клин -Button-Lock "}}), e.navigation = {nextel: null, $ nextel: null, prevel: null, $ prevel: null}, s (" init ", (() => {c (), n ()})), s (" Toege from Edge Lock разблокировать ", (() => {n ()})), s (" dresser ", (() => {p ()})), s (" enable Disable ", (() => {const {$ nextel: t, $ prevel: s} = e.navigation; t && t [e.enabled?" removeclass ":" addclass "] (e.params.navigation. lockclass), s && s [e.enabled? EL: i, $ prevel: r} = e.navigation, n = s.target; if (e.params.navigation.hideonclick &&! D (n) .is (r) &&! D (n) .is (i)) {if (e.paginatio n && e.params.pagination && e.params.pagination.clickable && (e.pagination.el === n || e.pagination.el.contains (n))) return; let t; i? T = i.hasclass (e.params.navigation.hiddenclass): r && (t = r.hasclass (e.params.navigation.hiddenclass)), a (! 0 === t? on.hiddenclass), r && r.toggleclass (e.params.navigation.hiddenclass)}})), object.assign (e.navigation, {upply: n, init: c, disploy: p})}, function ({e, E, extendParams: t, on: s, eMit: a}) {Констап i = "Свипер-сгибание"; пусть r; t ({pagination: {el: null, bulletelement: «span», clickable :! 1, hideonclick :! 1, renderbullet: null, renderprogressbar: null, renderfaction: null, rendercustom: null, progressbaropposite:! 1, ty PE: «Bullets», DynamicBullets :! 1, DynamicMainBullets: 1, FormatFractionCurrent: E => E, FormatFractionTotal: e => E, BulletClass: `$ {i} -Bullet`, BulletActiveCass:` $ {i} -Bullet-Actacty., Modifierc lass: `$ {i} -`, currentClass:` $ {i} -current`, otallcass: `$ {i} -total`, hiddenclass:` $ {i} -hidden `, ProgressBarfillClass:` $ {i} -progressbar-fill`, progressbaroppositeclass: `$ {i} -progressbar -Opposite`, clickableClass: `$ {i} -clickable`, lockclass:` $ {i} -clock`, horizontalclass: `$ {i} -horizontal`, verticalclass:` $ {i} -ВЕРТИЧЕСКИЙ n = 0; function l () {return! e.params.pagination.el ||! E.pagination.el ||! E.Pagination. $ el || 0 === E.Pagination. $ EL.Length} Функция o (t, s) {const {bubletactiveclass: a} = e.params.pagination; t [s] (). addclass (`$ {a}-$ {s}`) [s] (). addclass (`$ {a}-$ {s}-$ {s}`)} функция c () {cont t = e.rtl, s = e.params.pagination; if (l () return; const i = e.virtual && e.params.virtual.enabled? e.virtual.slides.length: e.slides.length, c = e.pagination. $ el; Let P; const u = e.params.loop? math.ceil ((i-2*e.loopedslides)/e.params.slidespergroup): e.snapgrid.length; if (e.params.loop? (p = math.ceil ((e.activeIndex-e.loopedSlid es)/e.params.slidespergroup), p> i-1-2*e.loopedslides && (p- = i-2*e.loopedslides), p> u-1 && (p- = u), p <0 && "bullets"! == e.params.paginationtype && (p = u+p): p = Void 0! == e.snapindex? E.snapindex: e.activeIndex || 0, "Bullets" === S.Type && e.pagination.bullets && e.pagination.bullets.length> 0) {const a = e.pagination.bullets; Let i, l, u; if (s.dynamicbullets && (r = a.eq (0) [e.ishorizontal ()? 0! == e.previousIndex && (n+= p-e.previousIndex, n> s.dynamicmainbullets-1? N = s.dynamicmainbullets-1: n <0 && (n = 0)), i = p-n, l = i+(math.min (a.length, s.dynami cmainbullets) -1), u = (l+i)/2), a.RemoveClass (["", "-Next", "-Next-Next", "-prev", "-prev-prev", "-main"]. MAP ((e => `$ {S.BulletActeclass} $}`)). ")), C.Length> 1) A.each ((e => {const t = d (e), a = t.index (); a === p && t.addclass (s.bulletActiveClass), s.dynamicbullets && (a> = i && a <= l && t. addClass (`$ {S.BulletActiveClass} -main`), a === i && o (t," prev "), a === l && o (t," next "))})); else {const t = a.eq (p), r = t.index (); if (t.addclass (s.bulletactiveclass), s.dynamicbullets) {const t = a.eq (i), n = aq (l); для (Let e = i; e <= l; e+= 1) A.eq (e) .AdDClass (`$ {S.BulletActiveClass} -main`); if (e.params.loop) if (r> = a.length-s.dynamicmainbullets) {for (Let e = s.dynamicmainbullets; e> = 0; e- = 1) A.EQ (A.Length-E) .AdDClass (`$ {S.BulletActiveClass} -main`); A.EQ (A.Length-S.DynamicMainBullets-1) .AdDClass ($ {S.BulleTActActeclass} -Прев o (t, "prev"), o (n, "next"); else o (t, "prev"), o (n, "next")}} if (s.dynamicbullets) {const i = math.min (a.length, s.dynamicmainbullets+4), n = (r*i-r)/2-u*r, l = t? «справа»: «слева»; a.css (e.ishorizontal ()? L: «top», `$ {n} px`)}} if (" fropact "=== s.type && (C.Find (W (S.CurrentClass)). Text (S.FormatFractionCurrent (P+1)), C.Find (W (S.TotalClass)). Text (S.FormatFractionTotal (U))), "ProgressBar" === S.Type) {Let t; t = s.progressbaropposite? e.ishorizontal ()? i = 1, r = 1; "Horizontal" === t? I = a: r = a, c.find (w (s.progressbarfillclass)). Transform (`translate3d (0,0,0) Scalex ($ {i}) Scaley ($ {r}) `) .transition (e.params.speed)}" custom "=== s.type && s.rendercustom? (c.html (s.rendercustom (e, p+1, u)), a (" paginationrender " , c [0])): a ("paginationUpdate", c [0]), e.params.watchoverflow && e.enabled && c [e.islocked? "addclass": "removeclass"] (s.lockclass)} функция p () {const t = e.params.pagination; if (l (l ()) return; const s = e.virtual && e.params.virtual.enabled? a = e.params.loop? math.ceil ((s-2*e.loopedslides)/e.params.slidespergroup): e.snapgrid.length; e.params.freemode && e.params.freemode.enabled &&!`; i.html (r), e.pagination.bullets = i.find (w (t.bulletclass))}" fraction "=== t.type && (r = t.renderfraction? T.RenderFraction.Call (e, t.currentClass, t.totalClass):`/`, i.html (r))," progressbar "=== t.type && (r = t.renderprogressbar? T.RenderProgressBar.call (E, T.ProgressBarfillClass):``, i.html (r))," custom "! == t.type && a (" paginationrender ", e.pagination. $ el [0])} function u () {e.params.pagination = y (e, e.originalparams.pagination, e.params.pagination, {el:" Свагинирование "}); t = e.params.pagination; if (! t.el) return; let s = d (t.el); 0! == s.length && (e.params.uniquenavelments && "string" == typeof t.el && s.length> 1 && (s = e. $ el.find (t.el), s.length> 1 && (s = s.filter ((t => d (t) .parents (". swiper") [0] === e.el)))), «пули» === t.type && t.clickable && s. .addclass (t.clickableClass), s.addclass (t.modifierclass+t.type), s.addclass (t.modifierclass+e.params.direction), "Bullets" === t.type && t.dynamic Bullets && (s.addclass (`$ {t.modifierclass} $ {t.type} -dynamic`), n = 0, t.dynamicmainbullets <1 && (t.dynamicmainbullets = 1))," Projectbar "=== t.type && t .progressbaropposite && s.addclass (t.progressbaroppositeclass), t.clickable && s.on ("click", w (t.bulletclass), (function (t) {t.preventdefault (); Let s = d (this) .index ()*e.params.slidespergroup; e.params.loop && (s+= e.loopedslides), e.slideto (s)})), object.assign (e.pagination, {$ el: s, el: s [0]}), e.ennabled || s.addclass (t.lockclass)} {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {) {)}) t = e.params.pagination; if (l ()) return; const s = e.pagination. $ el; s.removeclass (t.hiddenclass), S.RemoveClass (T.ModifierClass+T.Type), S.RemoveClass (T.ModifierClass+E.Params.Direction), E.Pagination.Bullets && E.Pagination.Bullets.Remov. eclass && e.pagination.bullets.RemoveClass (t.bulletActiveClass), T.Clickable && S.Off ("click", w (t.bulletclass))} s ("init", (() => {u (), p (), c ()})), s ("activeIndexchange", () => {(.) 0 === e.snapindex) && c ()})), s ("snapindexchange", (() => {e.params.loop || c ()})), s ("slidelengthChange", (() => {e.params. Loop && (p (), c ())})), s ("snapgridlengthChange", (() => {e.params.loop || (p (), c ())})), s ("drest", () => {h ()})), s ("enable Отключить ", (() => {const {$ el: t} = e.pagination; t && t [e.enabled?" removeclass ":" addclass "] (e.params.pagination.lockclass)})), s (" lock unlock ", (() => {c ()})), s (" клик ", (t, s) => {cont i = S.Target, {$ el: r} = e.pagination; if (e.params.pagination.el && e.params.pagination.hideonclick && r.length> 0 &&! d (i) .hasclass (e.params.paginatio n.bulletclass)) {if (e.navigation && (e.navigation.nextel && i === e.navigation.nextel || e.navigation.prevel && i === e.navigation.prevel)) return; const t = r.hasclass (e.params.pagination.hiddenclass); a (! 0 === t? Class)}})), object.assign (e.pagination, {render: p, обновление: c, init: u, dissome: h})}, function ({wiper: e, extendparams: t, on: s, Emit: i}) {const r = a (); let n, l, o, c, u =! 1, h = null, m = null; функция f () {if (! e.params.scrollbar.el ||! E.scrollbar.el) return; const {scrollbar: t, rtltranslate: s, прогресс: a} = e, {$ dragel: i, $ el: r} = t, n = e.params.scrollbar; {$ el: r} = t, n = e.params.scrollbar; {$ d = l, c = (o-l)*a; s? (c = -c, c> 0? (d = l-c, c = 0):-c+l> o && (d = o+c)): c <0? (d = l+c, c = 0): c+l> o && (d = o-c), e.ishorizontal ()? 0) `), i [0] .style.width =` $ {d} px`) :( i.transform (`translate3d (0px, $ {c} px, 0) `), i [0] .style.height =` $ {d} px`), N.Hide && (clearTimeOut (h), r [0] .Style.Opacity = 1, h = settimeout ((() => {r [0] .Style.oPacity = 0, R.Transition (400)}), 1E3)) g () {if (! e.params.scrollbar.el ||! e.scrollbar.el) return; const {scrollbar: t} = e, {$ dragel: s, $ el: a} = t; s [0] .style.width = "", s [0] .Style.Height = ", o = e.ishorizont ()? .OFFSETWIDTH: a [0] .OffSetheight, c = e.size/(e.virtualsize+e.params.slidesoffsetbefore- (e.params.centeredslides? e.snapgrid [0]: 0)), l = "auto" === e.params.scrollbar.dra GSIZE? O*C: ParseInt (e.params.scrollbar.dragsize, 10), e.ishorizontal ()? S [0] .style. width = `$ {l} px`: s [0] .style.height =` $ {l} px`, a [0] .style.display = c> = 1? "" None ":", E.PA rams.scrollbar.hide && (a [0] .style.opacity = 0), e.params.watchoverflow && e.enabled && t. $ el [e.islocked? v (t) {return E.Ishorizontal ()? w (t) {const {scrollbar: s, rtltranslate: a} = e, {$ el: i} = s; let r; r = (v (t) -i.offset () [e.ishorizontal ()? d = e.mintranslate ()+(e.maxtranslate ()-e.mintranslate ())*r; e.updateprogress (d), e.settranslate (d), e.updateactiveindex (), e.updateslidesclasses ()} функция b (t) {const s = e.params.scrollbar, {scrollbar: a, $ warperelel: r} = e, {$ el: l, $ dragel: o} = a; u =! 0, n = t.target === o [0] || t.target == = o? V (t) -t.Target.getBoundingClientRect () [e.ishorizontal ()? Opagation (), R.Transition (100), O.Transition (100), W (T), ClearTimeout (M), L.Transition (0), S.Hide && L.Css ("OPAC ity ", 1), e.params.cssmode && e. $ wroodperel.css (" scroll-snap-тип "," нет "), i (" scrollbardragstart ", t)} функция x (t) {const {scrollbar: s, $ warperel: a} = e, {$ el: r, $ dragel: n} = s; u && (t.preventdefault? t.preventdefault (): t. returnValue =! 1, W (T), A.Transition (0), R.Transition (0), N.Transition (0), I ("Scrollbardragmove", T))} Функция y (t) {const s = e.params.scrollbar, {scrollbar: a, $ warperelel: r} = e, {$ el: n} = a; u && (u =! 1, e.params.csmode && (e. $ warperel.css ("scroll-snap-type", "), r.transion ("), s .hide && (cleartimeout (m), m = p ((() => {n.css ("непрозрачность", 0), n.transition (400)}), 1e3)), i ("scrollbardragend", t), s.snaponrelease && e.slidetoclosest ())} Функция E (t) {const {scrollbar: s, toucheventstouch: a, toucheventsdesktop: i, params: n, поддержка: l} = e, o = s. $ El [0], d =! (! L.passielivelistener ||! N.Pass ivelisteners) && {passive:! 1, capture:! 1}, c =! (! L.passieliveher ||! n.passiveivelierers) && {passive:! 0, capture:! 1}; if (! o) return; const P = "ON" === T? "ADDEVENTLISTENER": "RemoveEventListener"; L.Touch? (O [P] (A.Start, B, D), O [P] (A.Move, X, D), O [P] (A.End, Y, C)) :( O [P] (I.Start, B, D), R [P] (I.Move, x, r) T () {const {scrollbar: t, $ el: s} = e; e.params.scrollbar = y (e, e.originalparams.scrollbar, e.params.scrollbar, {el: "swiper-scrollbar"}); const a = e.params.scrollbar; if (! A.El) return; let i = d (a.el); e.params.UniquENavelments && "string" == typeOf a.el && i.length> 1 && 1 === S.Find (a.el) .length && (i = s.find (a.el)); let r = i.find (`. $ {e.params.scrollbar.dragclass}`);
`), I.Append (r)), object.assign (t, {$ el: i, el: i [0], $ dragel: r, r, r [0]}), a.draggable && e.params.scrollbar.el && e (" on "), i && i [e.endabled?" C () {e.params.scrollbar.el && e ("off")} t ({scrollbar: {el: null, Dragsize: "Auto", Hide:! 1, Draggable:! 1, SnaponRelease:! 0, Lockclass: "Swiper-Scrollbar -lock ", DragClass:" Swiper-Scrollbar-Drag "}}), E.Scrollbar = {el: null, dragel: null, $ el: null, $ dragel: null}, s (" init ", () => {t (), g (), f ()}), s (" () => {t (), g (), f ()}), s ("() => {t (), g (), f ()}), s (" Изменение размера stemverUpdate Lock Разблокировать ", (() => {g ()})), s (" settranslate ", (() => {f ()})), s (" settransition ", (t, s) => {! function (t) {e.params.scrollbar.el && e.scrollbar.el && e.scrollbar. $ dragel.transition (t)} (s)})), s ("enable Отключить ", (() => {const {$ el: t} = e.scrollbar; t && t [e.enabled?" removeclass ":" addclass "] (e.params.scrollbar.lockclass)})), s (" dresser ", (() => {c ()})), Obje ct.assign (e.scrollbar, {updatesize: g, settranslate: f, init: t, dresting: c})}, function ({wiper: e, extendparams: t, on: s}) {t ({parallax: {enabled:! 1}}); const a = (t, s) => {const {rtl: a} = e, i = d (t), r = a? -1: 1, n = i.attr ("data-swiper-parallax") || "0"; let l = i.attr ("data-swiper-parallax-x"), o = i.attr ("data-swiper-parallax-y c = i.attr ("Data-Swiper-Parallax-Scale"), p = i.attr ("Data-Swiper-Parallax-opacity"); if (l || o? (l = l || "0", O = O || "0"): E.Ishorizontal ()? (l = N, O = " 0 ") :( o = n, l =" 0 "), l = l.indexof ("%")> = 0? Parseint (l, 10)*s*r+"%": l*s*r+" px ", O = o.indexof ("%")> = 0? Parseint (o, 10)*s+"%": O*s+", null! e = p- (p-1)*(1-math.abs (s)); i [0] .style.opacity = e} if (null == c) i.transform (`translate3d ($ {l}, $ {o}, 0px)`); else {const e = c- (c-1)*(1-math.abs (s)); i.transform (`translate3d ($ {l}, $ {o}, 0px) Scale ($ {e}) `)}}, i = () => {const {$ el: t, Slides: S, Progress: I, Snapgrid: R} = E; T.Children (" [Data-Swiper-Parallax], [Data-Swiper-Parallax-X], [Data-Swiper-parallax-Y, [Data-Swiper-Parallax-x], [Data-Swiper-parallax-y], [Data-Swiper-Par [Data-Swiper-Parallax-Scale] "). Каждый (e => {a (e, i)})), s.each (((t, s) => {let n = t.progress; e.params.slidespergroup> 1 && "auto"! == e.params.slidesperview && (n+= math.ceil (s/2) -i*(r.length-1)), n = math.min (math.max (n, -1), 1), d (t) .find (" [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [Data-Swiper-Parallax-Scale] "). Каждый ((e => {a (e, n)}))}))}; s (" ineminit ", (() => {e.params.parallax.enabled & & (e.params.watchslidesprogress =! 0, e.originalparams.watchslidesprogress =! 0)})), s ("init", (() => {e.params. parallax.enabled && i ()})), s ("settranslate", (() => {e.params.parallax.enabled && i ()})), s ("settransition", ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((settransition " t, s) => {e.params.parallax.enabled && ((t = e.params.speed) => {const {$ el: s} = e; s.find ("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale] "). Каждый ((e => {const s = d (e); let a = parseint (s.attr ("data-swiper-parallax-duration"), 10) || t; 0 === t && (a = 0), s.transition (a)})}) (s)})}, функция ({swiper: e, extendparams: t, on: s, emit: a}) {const i = r (); t ({Zoom: {anabled :! 1, maxratio: 3, minratio: 1, toggle :! 0, контейнер: "Swiper-Zoom-Container", ZoomedSlideClass: "Swiper-Slide-Zoomed"}}), e.zoom = {Ensucted:! 1}; u = {$ slideel: void 0, slidewidth: void 0, slideheight: void 0, $ imageel: void 0, $ imagewrapel: void 0, maxratio: 3}, m = {istouched: void 0, ismoved: void 0, void 0, void 0, void 0, miny 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0. 0, maxy: void 0, width: void 0, height: void 0, startx: void 0, starty: void 0, touchesstart: {}, touchscurrent: {}}, f = {x: void 0, y: void 0, prevpositionx: void 0, prevposition: void 0, prevtime: void: void 0}; v (e) {if (e.TargetTouches.length <2) return 1; const t = e.TargetTouches [0] .Pagex, s = e.TargetTouches [0] .pagey, a = e.TargetTouches [1] .pagex, i = e.TargetTouches [1] .pagey; Math.sqrt ((a-t) ** 2+ (i-s) ** 2)} function w (t) {const s = e.support, a = e.params.zoom; if (l =! 1, o =! 1 ,! S.Stures) {if ("touchStart"! == t.type || "touchStart" == = t.type && t.targettouches.length <2) return; l =! 0, u.scalestart = v (t)} u. $ slideel && u. $ slideel.length || (u. $ slideel = d (t.target) .closest (`. $ {e.params.slideclass}`), 0 === u. $ slideel.length && (u. $ slideel = e.slides.eq (e.activeIndex)), u. $ imageel = u. $ slideel.find (`. $ {a.containerclass}`) .eq (0) .find ("img, SVG, холст, картинка, .swiper-Zoom-Target "), u. $ ImageWrapel = u. $ imageel.parent (`. $ {a.containerclass} `), u.maxratio = u. $ imagewrapel.attr (" Dat A-Swiper-Zoom ") || A.MaxRatio, 0! == U. $ ImageWrapel.length)? (U. $ ImageEl && U. $ ImageEl.Transition (0), p =! 0): u. $ imageel = void 0} Функция b (t) {const s = e.support, a = e.params.zoom, i = e.zoom; if (! s.gestures) {if ("touchmove"! == t.type || "touchmove" === t.type && t.targettouches.length <2) return; o =! 0, u.scalemove = v (t)} u. & 0! == u. $ ImageEl.Length? (S.Stures? I.Scale = T.Scale*C: I.Scale = U.ScaleMove/U.Scalestart*C, I.Scale> U.MaxRatio && (i.Scale = U.MaxRatio-1+(I.Scale-U.MaxRatio+1) **. 5), I.Scalem.touchesstart.x)) return void (m.istouched =! 1); if (! e.ishorizontal () && (math.floor (m.miny) === math.floor (m.starty) && m.touchescurrent.ym.touchesstart.y)) возврат void (m.istouched =! 1)} t.cancelable && t.preventdefault (), t.stoppropagation (), m.ismuction =! 0, m.currentx = m.toucherrent.x-m.touchesstart.x+m.startx, m.currenty = m.current.y-m.touchesstartm.maxx && (m.currentx = m.maxx-1+(m.currentx-m.maxx+1) **. 8), m.currentym.maxy && (m.currenty = m.maxy-1+(m.currenty-m.maxy+1) **. 8), f.prevpositionx || (f.prevpositionx = m.touchescurrent.x), f.prevposition || (f.prevposition = m.to uchescurrent.y), f.prevtime || (f.prevtime = date.now ()), f.x = (m.touchescurrent.x-f.prevpositionx)/(date.now ()-f.prevtime) /2,f.y= (m.toucherrent.y-f.pre vposition)/(date.now ()-f.prevtime) /2,math.abs (m.touchescurrent.x-f.prevpositionx) <2 && (f.x = 0), math.abs (m.touchescurrent.y-f.prevposition) <2 && (f.y = 0 ), f.prevpositionx = m.touchescurrent.x, f.prevposition = m.touchescurrent.y, f.prevtime = date.now (), u. $ imagewrapel.transform (`translate3d ($ {m.currentx} px, $ {m.currenty} px, 0) `)}} function e () {const t = e.zoom; u. $ slideel && e.previousIndex! == e.activeIndex && (u. $ imageEl && u. $ imageel.transform (" transtate3d (0,0,0) Scale (1) "), U. $ ImageWrapel && u. $ ImageWrapel.transform (" translate3d (0,0,0) "), T.Scale = 1, c = 1, u. $ slideel = void 0, u. $ imageel = void 0, u. $ imageWrapel = void 0)} Функция t (t) {constry 0, u. $ imageWrapel = void 0)} s = e.zoom, a = e.params.zoom; if (u. $ slideel || (t && t.target && (u. $ slideel = d (t.target) .closest (`. $ {e.params.slideclass}`)), u. $ slideel || (e.params.virtual && e.params. tual? U. $ slideel = e. $ wroodperel.children (`. $ {e.params.slideactiveclass}`): u. $ slideel = e.slides.eq (e.activeIndex)), u. $ imageEl = u. $ slideel.find (`$ {a.containerclass}`). SVG, Canvas, Picture, .swiper-Zoom-Target "), u. $ imageWrapel = u. $ imageel.parent (`. $ {a.containerclass} `)),! u. $ imageel || 0 === u. $ imageel.length ||! U. $ imagewrupel || 0 === u. u. $ image. R, N, L, O, P, H, F, G, V, W, B, X, Y, E, T, C, $, S; t; pparams.cssmode && (e.wrapperel.style.overflow = "hidden ", e.wrapperel.style.touchaction =" none "), u. $ slideel.addclass (` $ {a.zoomedslideclass} `), void 0 === m.touchesstart.x && t? (R = "touchend" === t.type? T.changedtouches [0] .pagex: t.pagex, n = "touchend" === t.type? T.ChangedTouches [0] .Pagey: t.pagey) :( r = m.touchess tart.x, n = m.touchesstart.y), s.scale = u. $ imagewrapel.attr ("data-swiper-Zoom") || a.maxratio, c = u. $ imagewrapel.attr ("data-swiper-zoom") || a.maxratio, t? ($ = u. $ sl Ideel [0] .OffSetWidth, s = u. $ slideel [0] .Offsetheight, l = u. $ slideel.offset (). слева+i.scrollx, o = u. $ slideel.offset (). Top+i.scrolly, p = l+$/2-r, h = o+s/2-n, v = u. $ ima geel [0] .offsetwidth, w = u. $ imageel [0] .OffSetheight, b = v*s.scale, x = w*s.scale, y = math.min ($/2-b/2,0), e = math.min (s/2-x/2,0), t = -y, c = e, f = p*s.scale, g = h.scale, fT && (f = t), gC && (g = c)) :( f = 0, g = 0), u. $ Imagewrapel.transition (300) .transform (`translate3d ($ {f} px, $ {g} px, 0)`), u. $ Imageel.transy (300) .Transform (`` `` `0,0). Scale ($ {S.Scale}) `)} Функция C () {const t = e.zoom, s = e.params.zoom; u. $ slideel || (e.params.virtual && e.params.virtual.enabled && e.virtual? Params.slideActiveClass} `): u. $ slideel = e.slides.eq (e.activeIndex), u. $ imageel = u. $ slideel.find (`. $ {s.containerclass} `) .eq (0) .find (" img, SVG, холст, картинка, .swiper-zoom-target "), u. $ imagewrapel = u. $ imageel.parent (`. $ {s.containerclass} `)), u. $ imageel && 0! == u. $ imageel.length && u. $ ImageWrapel && 0! == u. $ ImageWrapel.length && (e.paraMs.csmode && 0! El.style.overflow = "", e.wrapperel.style.touchaction = ""), t.scale = 1, c = 1, u. $ Imagewrapel.transition (300) .transform ("translate3d (0,0,0)"), u. $ Imageel.transiT Scale (1) "), u. $ slideel.removeclass (` $ {s.zoomedslideclass} `), u. $ slideel = void 0)} function $ (t) {const s = e.zoom; s.scale && 1! == s.scale? C (): t (t)} функция s () {const && 1! t = e.support; return {passiveListener:! ("touchStart"! == e.touchevents.start ||! T.PassiveIvelyer ||! E.Params.passiveListeners) && {Passive:! 0, Capture:! 1}, ActiveListenerWithCapture:! T.PassiEListener || M () {return`. $ {E.params.slideclass} `} функция P (t) {const {passiveListener: s} = s (), a = m (); e. $ Warperel [t] ("gesturestart", a, w, s), т. $ Wrapperel [t] ("GestureChange", A, B, S), e. $ Wrapperel [t] ("Gestureend", x, x, s)} функция k () {n || (n =! 0, p ("on"))} function z () {n && (n =! 1, p ("off"))} function o () {const t = e.zoom; if (t.enabled) return; t.enabled =! 0; const S = E.Support, {passivelistener: A, ActiveListenerWithCapture: i} = s (), r = m (); s.gestures? (e. $ warperel.on (e.touchevents.start, k , a), e. $ wroodperel.on (e.touchevents.end, z, a)): "touchstart" === e.touchevents.start && (e. $ wroodperel.on (e.touchevents.start, r, w, a), e. $ wroodperel.on (e.touchevents.move, r, b, i), e. $ wroodperel.on (e.touchevents.end, r, x, a), e.touchevents.cancel && e. $ wrappe rel.on (e.touchevents.cancel, r, x, a)), e. $ warperel.on (e.touchevents.move, `. $ {e.params.zoom.containerclass}`, y, i)} функция I () {const t = e.zoom; if (! T.enabled) return; const s = e.support; t.enabled =! 1; const {passiveListener: A, ActiveListenerWithCapture: i} = s (), r = m (); s.gestures? (e. $ warperel.off (e.touchevents.start, k, a ), e. $ wroodperel.off (e.touchevents.end, z, a)): "touchstart" === e.touchevents.start && (e. $ wroodperel.off (e.touchevents.start, r, w, a), e. $ warperel.off ( e.touchevents.move, r, b, i), e. $ warperel.off (e.touchevents.end, r, x, a), e.touchevents.cancel && e. $ warperel.off (e.touchevents.cancel, r, x, a)), e. $ wr apperel.off (e.touchevents.move, `. $ {e.params.zoom.containerclass}`, y, i)} object.defineproperty (e.zoom, "scale", {get: () => g, set (e) {if (g! == e) {const t = u. $ imageel? U. $ ImageEl [0]: void 0, s = u. $ slideel? u. $ slideel [0]: void 0; a ("ZoomChange", e, t, s)} g = e}}), s ("init", (() => {e.params.zoom.enabled && o ()})), s ("drest", (() => {i ()})), s ("touchStart", (t, s) => {e.zoom.n), s ("touchStart", (t, s) => {e.zoom.n s = e.device; u. $ ImageEl && 0! == u. $ imageEl.length && (m.istouched || (s.android && t.cancelable && t.preventdefault (), m.istouched =! 0, m.touchesstart.x = "touchStart" === t.type? T.Ta rgetTouches [0] .pagex: t.pagex, m.touchesstart.y = "touchStart" === t.type? T.TargetTouches [0] .pagey: t.pagey))} (s)})), s ("touckend", ((t, s) => {e.zoom.enabled && функции () {ind t = e.zoom; if (! u. $ ImageEl || 0 === u. $ imageEl.length) return; if (! M.Sistouched ||! M.ismoved) return m.istouched =! 1, void (m.ismodation =! 1); M.istouched =! 1, M.Ismed =! 1; Let S = 300, a = 300; Const i = f.x*s, r = m.currentx+i, n = f.y*a, l = m.currenty+n; 0! == f.x && (s = math.abs ((r-m.currentx) /f.x)), 0! == f.y && (a = math.abs ((l-m.currenty) /f.y); o = math.max (s, a); m.currentx = r, m.currenty = l; const d = M.Width*T.Scale, C = M.Height*T.Scale; M.Minx = Math.min (U.SlideWidth/2-D/2,0), M.Maxx = -M.Minx, M.Miny = Math.min (U.SlideHeight/2-C/2,0), M.Maxy = -m.min x (math.min (m.currentx, m.maxx), m.minx), m.currenty = math.max (math.min (m.currenty, m.maxy), m.miny), u. $ imagewrapel.transition (o) .transform (`translate3d ($ {m.currentx} px, $ {m.currenty} px, 0) `)} ()})), s (" doubletap ", (t, s) => {! e.animating && e.params.zoom.enabled && e.zoom.enabled && e.params.zoom.toggle && $ (s)}), s (" TransitionEnd ", ((((((((((((((((((((((((((((E.ZOM &>>>>>>>>>>>>>>>>>>>>> bled && e.params.zoom.enabled && e ()})), s ("slidechange", (() => {e.zoom.enabled && e.params.zoom.enabled && e.params.cssmode && e ()}), объект , Out: C, Toggle: $})}, function ({Swiper: E, ExtendParams: T, ON: S, Emit: a}) {t ({{ленд: {CheckInview:! 1, включено:! 1, LoadPrevnext:! 1, LoadPrevNextAmount: 1, LoadOnTransItArt:! 1, SCR OllingElement: «», ElementClass: «Swiper-Lazy», CloadingClass: «Swiper-Lazy Moading», LoadedClass: «Swiper-Lazy-загруженная», PreloaderClass: «Swiper-Lazy-Preloader»}}), e.lazy = {}; Let i =! 1, n =! 1; функция l (t, s =! 0) {const i = e.params.lazy; if (void 0 === t) return; if (0 === e.slides.length) return; const r = e.virtual && e.params.virtual.enabled? I.LoadedClass}): не (. $ {i.LoadingClass}) `);! R.Hasclass (I.ElementClass) || R.Hasclass (I.LoadedClass) || R.Hasclass (I.LoadingClass) || N.Push (R [0]), 0! n = d (t); n.addclass (i.loadingclass); const o = n.attr ("data-background"), c = n.attr ("data-src"), p = n.attr ("data-srcset"), u = n.attr ("размеры данных"), h = n.parent ("Picture"); E.LoadImage (n [0], c || o, p, u,! 1, (() => {if (null! = e && e && (! e || e.params) &&! e.destroyed) {if (o? (N.css ("ba ckground-image ",` url ("$ {o}") `), N.RemoVeattr (" Background ")) :( P && (n.attr (" srcset ", p), N.RemoVeattr (" Данные -Srcset ")), u && (n.attr (" Размеры ", U), N.RemoVeattr (" sciess ")), H.Length && H.Children (" Source "). Каждый ((e => {const t = d (e); t.attr ("data-srcset") && (t.attr ("srcset", t.attr ("data-srcset")), t.removeattr ("data-srcset")})), c && (n.attr ("src", c), n.removeatt R ("Data-Src"))), N.AddClass (i.loadedClass) .RemoVeclass (i.LoadingClass), R.Find (`. $ {i.peloaderClass}`) .Remove (), e.params.loop && s) {const t = r.attr ("Data-Swiper-Slide-Index"); if (r.hasclass (e.params.slidduplicateclass)) {l (e. $ wroodperel.children ([[Data-Swiper-Slide-Index = "$ {t}"]: не (. $ {e.params.slideduplicateclass}) `) .index (),! 1)} else {l (e. $ wrapper El.children (`. $ {E.params.slideduplicateclass} [data-swiper-slide-index =" $ {t} "]`) .index (),! 1)}} a ("lazyimag Eready ", r [0], n [0]), e.params.autoheight && e.updateautoheight ()}})), a (" lazyimageload ", r [0], n [0])}))} функция o () {const {$ wrapperel: t, params: s, слайды: a, activeIndex: i} = e, r = e.virtual && s.virtual.enabled, o = s.lazy; let c = s.slidesperview; функция p (e) {if (r) {if (t.children (`. $ {s.slideclass} [data-swiper-slide-index =" $ {e} "]`) .length) return! 0} else if (a [e]) return! 0; return! 1} функция u (e) {return r? D (e) .attr ("Data-Swiper-Slide-Index"): d (e) .index ()} if ("auto" === c && (c = 0), n || (n =! 0), e.params.watchslidesprogress ) t.children (`. $ {s.slidevisibleclass}`) if (c> 1) для (let e = i; e1 || o.loadprevnextamount && o.loadprevnextamount> 1) {const e = o.loadprevnextamount, t = c, s = math.min (i+t+math.max (e, t), a.length), r = math.max (i-math.max (t, e), 0); для (leting e+c;0 && l (u (e)); const a = t.children (`. $ {S.slideprevclass}`); a.length> 0 && l (u (a))}} funct s = e.params.lazy.scrollingelement? d (e.params.lazy.scrollingelement): d (t), a = s [0] === t, n = a? t.innerwi DTH: S [0] .OFFSETWIDTH, l = a? T.InnerHeight: S [0] .OffSetheight, p = e. $ el.offset (), {rtltranslate: u} = e; let h =! 1; u && (p.left- = e. $ el [0] .scrollleft); const m = [[p.left, p.top], [p.left+e.width, p.top], [p.left, p.top+e.height], [p.left+e.width, p.top+e.height]; для (let e = 0; e= 0 && t [0] <= n && t [1]> = 0 && t [1] <= l) {if (0 === t [0] && 0 === t [1]) Продолжить; H =! 0}} const f =! ("touchStart"! == e.touchevents.start ||! E.Support.PassieliVerener ||! E.Params.passieliVELENERS) && {Passive:! 0, захват: ! 1}; h? (O (), s.off ("scroll", c, f)): i || (i =! 0, s.on ("scroll", c, f))} s ("shethinit", (() => {e.params.lazy.enabled && e.params.prel Oadimages && (e.params.peloadimages =! 1)})), s ("init", (() => {e.params.lazy.enabled && (e.params.lazy.checkinview? C (): O ())}))) , s ("scroll", (() => {e.params.freemode && e.params.freemode.enabled &&! e.params.freemode.sticky && o ()})), s ("scrollbardragmove Изменение размера _freemoDenomomEntumRelease ", (() => {e.params.lazy.enabled && (e.params.lazy.checkinview? C (): O ())})), s (" transitionStart ", (() => {e.params.lazy.abled && (e.params.lazy .loadOntransitionStart ||! E.Params.lazy.LoadOntransitionStart &&! N) && (e.params.lazy.checkinview? C (): O ())})), s ("transitionEnd", (() => {e.params.lazy.Andabled &&! e.para ms.lazy.loadontransitionstart && (e.params.lazy.checkinview? C (): o ())})), s ("slidechange", (() => {const {lazy: t, cssmode: s, watchslidesprogresspress: a, touchReleaseonedges: i, r esistanceratio: r} = e.params; t.enabled && (s || a && (i || 0 === r)) && o ()})), object.assign (e.lazy, {нагрузка: o, loadinslide: l})}, функция ({swiper: e, extendparams: t, на: s}) {function a (e, t) {const s = function () {let e, t, s; return (a, i) => {for (t = -1, e = a.length; e-t> 1;) s = e+t >> 1, a [s] <= i? t = s: e = s; return e}} (); this.x = e, this.y = t, this.lastindex = e.length-1, this.interpolate = function (e) {return e? (i = s (this.x, e), a = i-1, (e-this.x [a])*(this.y [i] -this.y [a])/(this.x [i] -this i () {e.controller.control && e.controller.spline && (e.controller.spline = void 0, delete e.controller.spline)} t ({controller: {control: void 0, обратно:! 1,: 0}, s ("ofeinit", (() => {e.controller.control = e.params.controller.control})), s ("update", (() => {i () })), s ("resize", (() => {i ()})), s ("amserverupdate", (() => {i ()})), s ("settranslate", (t, s, a) => {e.control ler.control && e.controller.setTranslate (s, a)})), s ("settransition", (t, s, a) => {e.controller.control && e.controller.settransition (s, a)})), object.assign (e.controller, {settranslate: f -функции (t, s) {t, s) {t, s) {t, s) {t, s) {t, s) {t, s) i = e.controller.control; let r, n; const l = e.constructor; function o (t) {const s = e.rtltranslate? -e.translate: e.translate; "slide" === e.params.controller.by && (! function (t) {e.controller.spline || (e.controller.sline.sline? A (E.Slidesgrid, T.Slidesgrid): новый a (e.snapgrid, t.snapgrid))} (t), n = -e.controller.spline.interpolate (-s)), n && "контейнер"! == e.params.co ntroller.by || (r = (t.maxtranslate ()-t.mintranslate ())/(e.maxtranslate ()-e.mintranslate ()), n = (s-e.mint ranslate ())*r+t.mintranslate ()), e.params.controller.inverse && (n = t.maxtranslate ()-n), t.updateprogre ss (n), t.settranslate (n, e), t.updateactiveindex (), t.updateslidesclasses ()} if (array.isarray (i)) для (let e = 0; e{s.updateautoheight ()})), s. $ warpperel.transitionend ((() => {i && (s.params.loop && "slide" === e.params.controller.by && s.loopfix (), s.transitionend ())})))} if (array.is.is (i))))} if (array.is.is (i))))} if (array.iss.is (i)))})})})})}0 && (e.isbeginning? (P (s), n (s)) :( u (s), r (s))), t && t.length> 0 && (e.isend? (P (t), n (t)) :( u (t), r (t)))} function f () {return e.pagination && e.params.pagination.clickable && e.pagination.bullets && e.pagination.bullets.length} const g=(e,t,s)=>{r(e),"BUTTON"!==e[0].tagName&&(l(e,"button"),e.on("keydown",h)),c(e,s),function(e,t){e.attr("aria-controls",t)}(e,t)};function v(){const t = e.params.a11y; например i = e. $ warperel, r = i.attr ("id") || `swiper-wrapper-$ {function (e = 16) {return" x ".repeat (e) .replace (/x/g, (() => math.ro und (16*math.random ()). ToString (16)))} (16)} `, n = e.params.autoplay && e.params.autoplay.enabled?" off ":" celite "; var p; p = r, i.attr ("id", p), function (e, t) {e.attr ("aria-live", t)} (i, n), t.itemroledescriptionmessage && o (d (e.slides), t.itemroledescriptionmessage), l (dslides), t.sliderole); u = e.params.loop? e.slides.filter ((t =>! t.classlist.contains (e.params.slideduplicateclass))). Длина: e.slides.length; let m, v; e.slides.each ((s, a) => {const i = d (s), r = e.params.loop? parseint (i.attr ("data-swiper-slide-index"), 10): a; c (i, t.slidelabelmessage.replace (/\ {\ {index \ } \}/, r+1) .Replace (/\ {\ {SlideLength \} \}/, U))})), E.Navigation && e.navigation. $ nextel && (m = e.navigation. $ nextel), e.navig ation && e.navigation. $ prevel && (v = e.navigation. $ prevel), m && m.length && g (m, r, t.nextslidemessage), v && v.length && g (v, r, t.p revslidemessage), f () && e.pagination. $ el.on ("keydown", w (e.params.pagination.bulletclass), h)} s ("второстепенный", (() => {a = d (``)})), s (" AfterInit ", (() => {e.params.a11y.enabled && (v (), m ())})), s (" toegy ", (() => {e.params.a11y.enabled && m ()}), s (" fromedge ", (() => {e.params.a11y.enabled && m ()})), s (" paginationupdate ", (() => {e.params.a11y.enabled && function () {const t = e.params.a11y; f () && e.pagination.bullets.each ((s => {const a = d (s); r (a), e.params.pagination.renderbullet || (l (a, «кнопка»), C (a, t.paginationbulletmessage.replac e (/\ {\ {index \} \}/, a.index ()+1))}))} ()})), s ("dressome", (() => {e.params.a11y.enabled && function () {let t, s; a && a.length> 0 && a.Remove (), e.navigation && e.navigation. $ nextel && (t = e.navigation. $ nextel), e.navigation && e.navigation. $ prevel && (s = e.navigation. $ prevel), t && t.off ("keydown", h), s && s. s.ff ("keodode), t && t.off (" keydown ", h), s && s. s.foff." , h), f () && e.pagination. $ el.off ("keydown", w (e.params.pagination.bulletclass), h)} ()}))}, function ({s Wiper: e, extendParams: t, on: s}) {t ({astory: {anabled:! 1, root: ",", Replacestate:! 1, ключ: "слайды"}}); пусть a =! 1, i = {}; const n = e => e.toString (). Заменить (/\ s+/g, "-"). Заменить (/[^\ w-]+/g, ""). Заменить (/-+/g, "-"). Заменить (/^-+/, ""). Заменить (/-+$/, "), l = e = {const t;); Url (e): t.location; const a = s.pathname.slice (1) .split ("/"). Filter ((e => ""! == e)), i = a.length; return {key: a [i-2], значение: a [i-1]}}, o = (t, s) => {const i = r (); if (! a ||! e.params.history.enabled) return; let l; l = e.params.url? New Url (e.params.url): i.location; const o = e.slides.eq (s); let d = n (o.attr ("data-history"); s = e.params.history.root; "/" === S [S.Length-1] && (s = S.Slice (0, S.Length-1)), d = `$ {s}/$ {t}/$ {d}`} else l.pathName.includes (t) || (d = `$ {t}/$ {d {d {d {d {d {d {d {d {d {d {d {d {d {d {d {D c = i.history.state; c && c.value === d || (e.params.history.replacestate? i.history.replacestate ({value: d}, null, d): i.history.pushstate ({value: d}, null, d)}, d = (t, s, a) => {a) для (i) {ut i = 0, r = e.slides.length; i{i = l (e.params.url), d (e.params.speed, e.paths.value ,! 1)}; s ("init", (() => {e.params.history.enabled && (() => {const t = r (); if (e.params.history) {if (! T.History || e.params.history.enabled =! 1, void (e.params.hashnavigation.enabled =! 0); a =! 0, i = l (e.params.url), (i.key || i.value) && (d (0, i.value, e.params.runcallb acksoninit), e.params.history.replacestate || t.addeventlistener ("popstate", c))}}) ()})), s ("dresser", (() => {e.params.history.enabled && (() => {const t = r (); e.params.history.replacestate || t.removeeventlistener ("popstate", c)}) ()})), s ("transitionend _freemoDenomomentumRelease ", ((() => {a && o (e.params.history.key, e.activeIndex)})), s (" slidechange ", (() => {a && e.pa rams.cssmode && o (e.params.history.key, e.activeIndex)})}, function ({swiper: e, extendparams: t, эмит: s, on: i}) {let n =! 1; const l = a (), o = r (); t ({hashnavigation: {anabled :! 1, replacestate :! 1, watchstate :! 1}}); const c = () => {s ("hashchange"); const t = l.location.hash.replace ("#", ""); if (t! == e.slides.eq (e.activeIndex) .Attr ("data-hash")) {const s = e. $ warperel.children (`. $ {e.params.slideclass} [data-hash =" $} "]`) 0 === s) return; e.slideto (s)}}, p = () => {if (n && e.params.hashnavigation.enabled) if (e.params.hashnavigation.replacestate && o.history && o.his tory.replacestate) o.history.replacestate (null, null, `#$ {e.slides.eq (e.activeIndex) .attr (" data-hash ")}` || ""), s ("hashset"); else {const t = e.slides.eq (e.activeIndex), a = t.attr ("data-hash") || t.attr ("data-history"); l.location.hash = a || "", s ("hashset")}}; i ("init", (() => {e.pa rams.hashnavigation.enabled && (() => {if (! e.params.hashnavigation.enabled || e.params.history && e.params.history.enabled) return; n =! 0; const t = l.location.hash.replace ("#", ""); if (t) {const s = 0; for (пусть a = 0, i = e.slides.length; a{e.params.hashnavigation.enabled && e.params.hashnavigation.watchstate && d (o) .off ("hashchange", c)})), i ("transitionend _freemoDenomomEntumRelease ", ((() => {n && p ()})), i (" slidechange ", (() => {n && e.params.csmode && p ()}))}, функция ({{e, e, extendparams: t, on: s, eMiT: i) {ut r; t = e.slides.eq (e.activeIndex); let s = e.params.autoplay.delay; t.attr ("data-swiper-autoplay") && (s = t.attr ("data-swiper-autoplay") || e.params.autoplay.delay), cleartimeout (r), r = p (() => autoplay.delay), cleartimeout (r), r = p (() => autoplay t; e.params.autoplay.reversedirection? e.params.loop? (e.loopfix (), t = e.slideprev (e.params.speed ,! 0 ,! 0), i ("Autoplay")): E.isbeginning? e.params.autopla y.stoponlastslide? O () :( t = e.slideto (e.slides.length-1, e.params.speed ,! 0 ,! 0), i ("Autoplay")) :( t = e.slideprev (e.params.speed ,! 0,! 0), i ("Autoplay")): E.p arams.loop? (e.loopfix (), t = e.slidenext (e.params.speed ,! 0 ,! 0), i ("autoplay")): e.isend? e.params.autoplay.stoponlastslide? O () :( t = e.slideto (0, e.params. Скорость ,! 0 ,! 0), i ("Autoplay")) :( t = e.slidenext (e.params.speed ,! 0 ,! 0), i ("Autoplay")), (e.params.csmode && e.autoplay.running ||! 1 === t) && n ()}), s)} функция l () {return void 0 === r && (! e.autoplay.running && (e.autoplay.running =! 0, i ("autoplaystart"), n (),! 0))} function o () {return !! e.autoplay.running && (void 0! == r && (r && (raultimeout (r) 0), e.autoplay.running =! 1, i ("Autoplaystop"),! 0))} Функция d (t) {e.autoplay.running && (e.autoplay.paused || (r && cleartimeout (r), e.autoplay.paused =! 0,0! == t && e.params.autoplay.waitfortransition? "TransitionEnd", "webkitTransitionEnd"]. Foreach ((t => {e. $ warperel [0] .AddeventListener (t, u)})) :( e.Autoplay.paUsed =! 1, n ()))} функция c () {const t = a (); "hidden" === t.visibilyState && e.autoplay.running && d (), "visible" === t.visibilityState && e.Autoplay.paused && (n (), e.Autoplay.paused =! 1)} функция u (t) {e &&! e.destroyed && e. $ wroodperel && t.target === e. $ warperel [0] && (["transitionend", "webkittransitionend"]. Fore ach ((t => {e. $ warperel [0] .RemoveEventListener (t, u)})), e.Autoplay.paused =! 1, e.autoplay.running? n (): O ())} функция h () {e.params.autoplay.disableonInteraction? O (): d (), ["transitionEnd", "webkittransitionend"]. Foreach ((t => {e. $ warperel [0] .RemoveEventListener (t, u)}))} функция m () {e.params.autoplay.disableonInteraction || (e.autoplay.paused =! 1, n ())} e.autoplay = {running:! 1, приостановлен:! 1}, t ({autoplay: {uped:! 1, задержка: 3e3, waitfo rtransition :! 0, disableonInteraction :! 0, stoponlastslide :! 1, reversedirection :! 1, pauseonmouseenter:! 1}}), s ("init", () => {if (e.params.autoplay.enabled) {l (); a (). addEventListener ("VisibilityChange", c), E.params.autoplay.pauseonmouseenter && (e. $ el.on ("Mouseenter", h), $ el.on ("mouseleave", m))}})), s ("b EbroTransitionStart ", ((t, s, a) => {e.autoplay.running && (a ||! e.params.autoplay.disableonInteraction? autoplay.pause (s): o ())})), s (" sliderfirstmove ", (s): O ())), s (" sliderfirstmove ", () => {e.autoplay.running && (e.params.autoplay.disableonInteraction? O (): d ())})), s ("touchend", (() => {e.params.cssmode && e.autoplay.paused &&! e.params.au toplay.disableonInteraction && n ()})), s ("dressome", (() => {e. $ el.off ("MouseEnter", h), e. $ el.off ("mouseleave", m), e.autoplay.running && o (); a (). removeEventl ISTENER ("VisibilityChange", C)}), Object.Assign (e.Autoplay, {pause: d, run: n, n, l, остановка: o})}, функция ({swiper: e, extendparams: t, on: s}) {t ({thumbs: {sw IPER: NULL, MultipleActiveTheMbs :! 0, AutoScrolloffset: 0, SlidethumbActiveClass: «Swiper-Slide-Thumb-Active», ThumbsContainerClass: «Swiper-Thunbs»}}); пусть a =! 1, i =! 1; function r () {const t = e.thumbs.swiper; if (! t) return; const s = t.clickedIndex, a = t.clickedslide; if (a && d (a) .hasclass (e.params.thumbs.slidethumbacteclass)) return; Если (null == s) return; i; if (i = t.params.loop? parseint (d (t.clickedslide) .attr ("Data-swiper-slide-index"), 10): s, e.params.loop) {let t = e.activeIndex; e.slides.eq (t) .hasclass (e.params.slideduplicateclass) && (e.loopfix (), e._clientleft = e. $ warperel [0] .clientleft, t = e.activeIndex); const s = e.slides.eq (t) .prevall (`[data-swiper-slide-index =" $ {i} "]`) .eq (0) .index (), a = e.slides.eq (t) .nextall (`[data-swiper-slide-index =" $} "]`) 0 === S? A: void 0 === A? S: A-T1? A: O: A-OE.PreviousIndex? n = e.reelindex, l = n> e.previousIndex? "Далее": "prev"; r && (n+= "Next" === L? I: -1*i), s.visibleslidesIndexes && s.visibleslidesidexes.indexo f (n) <0 && (s.params.centeredslides? n = n> o? n-math.floor (a/2) +1: n+math.floor (a/2) -1: n> o && s.params.slidespergroup, s.slideto (n, t? 0: void 0))} пусть n = 1; const l = e.params.thumbs.slidethumbactiveClass; if (e.params.slidesperview> 1 &&! e.params.centeredslides && (n = e.params.slidesperview), e.params.thum Bs.multipleActiveTheMbs || (n = 1), n ​​= math.floor (n), s.slides.removeclass (l), s.params.loop || s.params.virtual && s.params.virtual.enabled) для (let t = 0; t{const {thumbs: t} = e.params; t && t.swiper && (n (), l (! 0))})), s ("Slidechange Update resize asserverupdate", (() => {e.thumbs.swiper && l ()}), s ("settransition", (t,) {contransition ", (t,) {constransition", (t,). a = e.thumbs.swiper; a && a.settransition (s)})), s ("beforedestroy", (() => {const t = e.thumbs.swiper; t && i && t && t.destroy ()})), obj {swiper: e, extendparams: t, Emit: s, Once: a}) {t ({freemode: {anabled:! 1, Momentum:! 0, MomentumRatio: 1, m Omentumbounce :! 0, Momentumbounceratio: 1, MomentumVelocityRatio: 1, Sticky :! 1, MinimumVelocity: .02}}), Object.Assign (e, {freemode: {ontouchmove: function () {const {touchEventsData: t, прикосновения: s} = e; 0 === t. velocities.length && t.velocities.push ({position: s [e.ishorizontal ()? )}, ontouchend: function ({currentPos: t}) {const {params: i, $ warperel: r, rtltranslate: n, snapgrid: l, toucheventsdata: o} = e, d = u ()-o.touchstarttime; if (t <-ee.mintranslate () e.slideto if (t> -e.maxtranslate ()) e.slides.length1) {const t = O.Velocities.pop (), s = O.Velocities.pop (), A = T.Position-S.Position, R = T.Time-S.Time; E.Velocity = A/R, E.Velocity/= 2, Math.Abs ​​(E.Velocity)150 || u ()-t.time> 300) && (e.velocity = 0)} else e.velocity = 0; e.velocity*= i.freemode.momentumvelocityratio, o.velocities.length = 0; let t = 1e3*i.freemode.momentumratio; constocity*t; c = e.translate+d; n && (c = -c); let p, h =! 1; const m = 20*math.abs (e.velocity)*i.freemode.momentumbounceratio; let f; if (ce.mintranslate ()) i.freemode.momentumbounce? (c-e.mintranslate ()> m && (c = e.mintranslate ()+m), p = e.mintranslate (), h =! 0, o.allowmomentumbounce =! 0): c = e.mintranslate (), i.lool && i. if (i.freemode.sticky) {let t; for (let e = 0; e-c) {t = e; break} c = math.abs (l [t] -c){e.loopfix ()})), 0! == e.velocity) {if (t = n? Math.abs ((-c-e.translate)/e.velocity): math.abs ((c-e.translate)/e.velocity), i.freemode.sticky) {const s = math.abs ((n? -c: c) -e.translate), a = e.slidessisesgrid [e.activeIndex]; t = s{e &&! e.destroyed && o.allowmomentumbounce && (s ("momentumbound"), e.settransition (i.speed), settimeout ((() => {e.settranslate (p), r.transi tionend ((() => {e &&! e.destroyed && e.transitionend ()})}), 0))}))): e.velocity? (s ("_ freemodenomomentumRelease"), e.updateprogress (c), e.se TTRANSITION (T), E.SetTransLate (C), E.TransitionStart (! 0, E.Swipedirection), E.Animating || (E.Animating =! 0, R.TransitionEnd ((() => {E &&! E.D estroyed && e.transitionend ()}))): e.updateprogress (c), e.updateactiveindex (), e.updateslidesclasses ()} else {if (i.freemode.sticky) return пустота e.slidetoclosest (); i.freemode && s ("_ freemodenomomentumRelease")} (! i.freemode.momentum || d> = i.longswipesms) && (e. UpdateProgress (), e.updateActiveIndex (), e.updateslidesclasses ())}}}})}, function ({wiper: e, extendparams: t}) {Let s, a, i; t ({grid: {row: 1, fill: "column"}}), e.grid = {initslides: t => {const {slidesperview: r} = E.Params, {Rows: n, Fill: l} = e.params.grid; a = s/n, i = math.floor (t/n), s = math.floor (t/n) === t/ n? T: math.ceil (t/n)*n, "auto"! == r && "row" === l && (s = math.max (s, r*n))}, updateslide: (t, r, n, l) => {const {slidespergroup: o, o, spaceweed: d} = e.params, {rows: c, наполнить: y, o, o, o, o, o, o, o, y. u, h, m; if ("row" === p && o> 1) {const e = math.floor (t/(o*c)), a = t-c*o*e, i = 0 === e? o: math.min (math.ceil ((n-e*c*o)/c), O); m = math.floor (a/i), h = a-m*i+e*o, u = h+m*s/c, r.css ({"-"-rome-order " R: U})} else "Column" === P? (h = math.floor (t/c), m = t-h*c, (h> i || h === i && m === c-1) && (m+= 1, m> = c && (m = 0, h+= 1))) :( m = math.floor (t/a), h = t-m*a); r.css (l ("margin-top" ), 0! == M? D && `$ {D} px`:" ")}, updateWrapperSize: (t, a, i) => {const {Spaceweed: r, centreedslides: n, glovenless: l} = e.params, {row: o} = e.params.grid; if (e.vi rtualsize = (t+r)*s, e.virtualsize = math.ceil (e.virtualsize/o) -r, e. $ warperel.css ({[i ("width")]: `$ {e.virtualsize+r} px`}), n) {a.splice (0, a.length); const t = []; для (пусть s = 0; s{const {слайды: t} = e, s = e.params.fadeeffect; for (пусть a = 0; a{const {transformel: s} = e.params.fadefefce; (s? e.slides.find (s): e.slides) .transition (t), k ({swiper: e, продолжительность: t, transformel: s, allslides:! 0})}, sopwritepar AMS: () => ({SlidePerview: 1, SlidePerGroup: 1, WatchSlidesProgress :! 0, SpaceWENSE: 0, VirtualTransLate:! E.Params.csmode})})}, функция ({e, e, extendparams : t, on: s}) {t ({cubeeffect: {slideshadows :! 0, shadow :! 0, shadowoffset: 20, shadowscale: .94}}), f ({effect: "cube", swiper: e, on: s, settranslate: () => {coube {$ el: t, $ wra Pperel: S, слайды: A, ширина: I, высота: r, rtltranslate: n, size: l, браузер: o} = e, c = e.params.cubeeffect, p = e.ishorizontal (), u = e.virtual && e.params.virtual.abled.; let h, m = 0; c.shadow && (p? (h = s.find (".. Swiper-Cube-Shadow"), 0 === H.Length && (h = d ('
'), s.append (h)), h.css ({height: `$ {i} px`})) :( H = t.find (".. Swiper-Cube-Shadow "), 0 === H.Length && (h = d ('
'), T.Append (h)))); for (let e = 0; e-1 && (m = 90*s+90*o, n && (m = 90*-s-90*o)), t.transform (v), c.slideshadows) {let e = p? T.find (".. Swiper-Slide-Shadow-left"): T.find (". Swiper-Slide-Shadow-Top"), S = P? T.Find (". Swiper-Slide-Shadow-Right-Right"): T.Find ("... Swiper-Shadow-Bottom"); 0 == E.Length && (E = D (E = D (E = D (E = D (e =
`), T.Append (e)), 0 === S.Length && (s = d (`
`), T.Append (s)), e.length && (e [0] .style.opacity = math.max (-o, 0)), s.length && (s [0] .style.opacity = math.max (o, 0))}} if (s.css ({"-webit-transform-oransform ":` 50% 50%. -$ {l/2} px`, "Transform -Origin": `50% 50% -$ {l/2} px`}), c.shadow) if (p) h.transform (` translate3d (0px, $ {i/2+c.shadowoffset} px, $ { -i/2} px) rotatex (90deg). Scale ($ {C.shadowscale}) `); else {const e = math.abs (m) -90*math.floor (math.abs (m)/90), t = 1,5- (math.sin (2*e*math.pi/360) /2+math.cos (2*e* Math.pi/360)/2), s = c.shadowscale, a = c.shadowscale/t, i = c.shadowoffset; h.transform (`scale3d ($ {s}, 1, $ {a}) translate3d (0px, $ {r/2+i} px, $ {-r/2/a} px) rotatex (-90deg) `)} const f = o.issafari || o.iswebview? -L/2: 0; rotatex ($ {e.ishorizontal ()? 0: m} deg) rotatey ($ {e.ishorizontal ()?-M: 0} deg) `)}, settransition: t => {const {$ el: s, слайды: a} = e; a.transition (t) .find (". .swiper-Slide-Shadow-Bottom, .swiper-Slide-Shadow-left "). Transition (t), e.params.cubeeffect.shadow &&! e.ishorizontal () && s.find (". Swiper-Cube-Shadow "). Переход (t )}, перспектива: () =>! 0, overwriteParams: () => ({slidesperview: 1, slidepergroup: 1, watchslidesprogress :! 0, сопротивление: 0, Spaceweed Между: 0 , CentredSlides:! 1, VirtualTransLate :! 0})})}, функция ({Swiper: e, extendParams: t, on: s}) {t ({flipeffect: {slideshadows:! 0, limitrotation:! 0 , Transformel: null}}), f ({effect: "flip", swiper: e, on: s, settranslate: () => {const {slides: t, rtltranslate: s} = e, a = e.params.fipefcect; для (let i = 0; i{const {transformel: s} = e.params.flipeffect; (s? e.slides.find (s): e.slides) .Transition (t) .find (».. Свивер-слайд-подвеска,. .swiper-Slide-Shadow-left "). Переход (T), K ({Swiper: E, Duration: T, Transformel: S})}, перспектива: () =>! 0, перевертипарам: () => ({SlidesperView: 1, Slidespergr OUP: 1, WatchSlidesProgress :! 0, SpaceWeen: 0, VirtualTransLate :! E.Params.cssmode})})}, функция ({Swiper: e, extendParams: t, on: s}) {t ({coverfloweffeeffect: {utate : 50, растяжение: 0, глубина: 100, Scale: 1, Modifier: 1, Slideshadows :! 0, Transformel: Null}}), F ({эффект: "Coverflow", Swiper: E, ON: S, SetTransLate: () => {const {Width: T, Heig ht: s, слайды: a, slidessisizesgrid: i} = e, r = e.params.coverfloweffect, n = e.ishorizontal (), l = e.translate, o = n? t/2-l: s/2-l, d = n? r.rotate: -r.rotate, c = r.depth; for (let E = 0, t = A.Length; e0? L: 0), S.Length && (s [0] .Style.Opacity = -l> 0? -L: 0)}}}, settransition: t => {const {transformel: s} = e.params.coverfloweffeefeft; (s? E.slides.find (s): e.slides). . Swiper-Slide-Shadow-Right,. Swiper-Slide-Shadow-Bottom, .swiper-slide-shadow-left "). Переход (t)}, перспектива: () =>! 0, перевертипарамы: () => ({watchslidesprogress:! 0})})}, функция ({swiper: e, extendparams: t, on: s}) {t ({creatipefce: null: naull Tprogress: 1, ShadowperProgress :! 1, ProgressMultiplier: 1, перспектива:! 0, предварительная: {Translate: [0,0,0], вращение: [0,0,0], непрозрачность: 1, шкала: 1}, следующая: {Translate: [0,0,0], rowate: [0,0,0], opacity: 1, Scale: 1t a = e => "string" == typeof e? E: `$ {e} px`; f ({effect:" creative ", swiper: e, on: s, settranslate: () => {const {Slides: t, $ warperel: s, слайдесса izesgrid: i} = e, r = e.params.creativeeffect, {progressmultiplier: n} = r, l = e.params.centeredslides; if (l) {const t = i [0] /2 -e.params.slidesoffsetbefore||0 ;s.transform (`transtatex (calc (50% - $ {t} px))`)} для (let s = 0; s0 && (f = r.prev, m =! 0), u.foreach (((e, t) => {u [t] = `calc ($ {e} px + ($ {a (f.translate [t])} * $ {Math.abs (d*n)}) ``})), H.Foreach ((e, t) => {h [t] = f.Rotate [t]*math.abs (d*n)})), i [0] .style.zindex = -math.abs (math.round (o))+t.length; "), v =` rotatex ($ {h [0]} deg) rotatey ($ {h [1]} deg) rotatez ($ {h [2]} deg) `, w = c <0?` scale ($ {1+ (1-f.scale)*c*n}) `:` scale ($ {1- (1-f.sca le)*c*n}) `, b = c <0? 1+ (1-f.opacity)*c*n: 1- (1-f.opacity)*c*n, x =` translate3d ($ {g}) $ {v} $ {w} `; if (m && f.shadow ||! m) {let e = i.children (". Swiper-Slide-Shadow "); if (0 === E.Length && F.Shadow && (e = z (r, i)), e.length) {const t = r.shadowperprogress? d*(1/r.limitprogress): d; e [0] .style.opacity = math.min (math.max (math.abs (t), 0), 1)}} const y = u (r, i); y.transform (x) .css ({opacity: b}), f.origin && y.css ("transform-Origin", f.origin)}}, settransition: t => {const {transformel: s} = e.params.creativeeffteeffteeffteeffteeffteeffteeffteeffteftefteft Lides) .transition (t) .find (".. Swiper-Slide-Shadow"). Переход (T), K ({Swiper: E, продолжительность: T, Transformel: S, Allslides :! 0})}, перспектива: () => e.params.creativeeffect.persective, Overww riteparams: () => ({watchslidesprogress :! 0, virtualtranslate :! e.params.cssmode})})}, функция ({swiper: e, extendparams: t, on: s}) {t ({cardseffect: {slideshadows:! 0, transformel: null}, e ({эффект: «карты», Swiper: E, ON: S, SetTransLate: () => {const {Slides: T, ActiveIndex: S} = e, a = e.params.cardseffect, {startTranslate: i, isTouched: r} = e.TouchEventsData, n = e.Translate; for (Let l = 0; l0 && c <1 && (r || e.params.cssmode) && n-1 && (r || e.params.cssmode) && n> i; if (w || b) {const e = (1-math.abs ((math.abs (c)-. 5)/. 5)) **. 5; g+=-28*c*e, f+=-. 5*e, v+= 96*e, h = -25*e*math.abs (c)+"%"} if (u = c <0? `chall ($} px+ ($ {v*math.abs (c)}%)) `: c> 0?` calc ($ {u} px + (-$ {v*math.abs (c)}%)) `:` $ {u} px`,! E.ishorizontal () {const e = h = u, u = e} const x = `` `` `n-tervity {$} {$}) $ {h}, $ {m} px) \ n rotatez ($ {g} deg) \ n scale ($ {c <0? ""+(1+ (1-f)*c): ""+(1- (1-f)*c)}) \ n `; if (a.slideshadows) {Let e = o.find (".. Swiper-Slide-Shadow"); 0 === e.length && (e = z (a, o)), e.length && (e [0] .style.opacity = math.min (math.max ((math.abs (c)-. 5)/. 0), 1))} o [0] .style.zindex = -math.abs (math.round (d))+t.length; u (a, o) .transform (x)}}, settransition: t => {const {transformel: s} = e.para Ms.cardseffect; (s? e.slides.find (s): e.slides) .Transition (t) .find (".. Swiper-Slide-Shadow"). Переход (T), K ({Swiper: E, Duration: T, T. ransformel: s})}, перспектива: () =>! 0, overwriteparams: () => ({watchslidesprogress:! 0, virtualtranslate:! e.params.cssmode})})}]; вернуться H.USE (j), H})); //# sourcemappurl = swiper-bundle.min.js.map