mod-build 4.0.21 → 4.0.22-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -2
- package/package.json +1 -1
- package/public/resources/scripts/abandonment/abandonment-1df90ee155f6c0893d90.min.js +2 -0
- package/public/resources/scripts/abandonment/abandonment.min.js +2 -0
- package/public/resources/scripts/callrail/callrail-5c7c537f04af468600cf.min.js +2 -0
- package/public/resources/scripts/callrail/callrail.min.js +2 -0
- package/public/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +2 -0
- package/public/resources/scripts/footer/footer-component.min.js +2 -0
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
- package/public/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
- package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
- package/public/resources/scripts/jornaya.hbs +35 -0
- package/public/resources/scripts/jornaya.html +35 -0
- package/public/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +2 -0
- package/public/resources/scripts/mod-alytics/modalytics.min.js +2 -0
- package/public/resources/scripts/mod-form/form/homeowner-62292fdc874b2d2f5c82.min.js +2 -0
- package/public/resources/scripts/mod-form/form/homeowner.min.js +2 -0
- package/public/resources/scripts/mod-utils/modutils-15069d7b728a555fb3f7.min.js +2 -0
- package/public/resources/scripts/mod-utils/modutils.min.js +2 -0
- package/public/resources/scripts/trusted-form.hbs +38 -0
- package/public/resources/scripts/trusted-form.html +38 -0
- package/public/resources/styles/components/abandonment/abandonment-a8571a9e32ed6ef9acb4.min.css +1 -0
- package/public/resources/styles/components/abandonment/abandonment.min.css +1 -0
- package/public/resources/styles/components/footer/mod-footer-1fb2cec3278f29df57d0.min.css +1 -0
- package/public/resources/styles/components/footer/mod-footer.min.css +1 -0
- package/public/resources/styles/components/footer/qs-footer-9a3b0ab00428b03e6e9e.min.css +1 -0
- package/public/resources/styles/components/footer/qs-footer.min.css +1 -0
- package/src/accessible-components/button/_button.scss +319 -0
- package/src/accessible-components/button/back-button.html +8 -0
- package/src/accessible-components/button/button.html +17 -0
- package/src/accessible-components/carousel/_carousel.scss +112 -0
- package/src/accessible-components/carousel/carousel.html +25 -0
- package/src/accessible-components/carousel/carousel.js +3426 -0
- package/src/accessible-components/carousel/carousel.js.map +1 -0
- package/src/accessible-components/carousel/carousel.min.js +6 -0
- package/src/accessible-components/carousel/carousel.min.js.map +1 -0
- package/src/accessible-components/checkbox/_checkbox.scss +153 -0
- package/src/accessible-components/checkbox/checkbox-group.html +18 -0
- package/src/accessible-components/checkbox/checkbox.html +8 -0
- package/src/accessible-components/expand-collapse/_expand-collapse.scss +129 -0
- package/src/accessible-components/expand-collapse/expand-collapse.html +14 -0
- package/src/accessible-components/expand-collapse/expand-collapse.js +52 -0
- package/src/accessible-components/expand-collapse/expand-collapse.min.js +2 -0
- package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +1 -0
- package/src/accessible-components/featured-block/_featured-block.scss +221 -0
- package/src/accessible-components/featured-block/featured-block.html +54 -0
- package/src/accessible-components/foot-assets/foot-assets.html +112 -0
- package/src/accessible-components/footer/footer.html +2 -0
- package/src/accessible-components/gtm-body/gtm-body.html +4 -0
- package/src/accessible-components/head/head.html +187 -0
- package/src/accessible-components/header/_header.scss +289 -0
- package/src/accessible-components/header/header.html +66 -0
- package/src/accessible-components/hero/_hero.scss +405 -0
- package/src/accessible-components/hero/hero.html +53 -0
- package/src/accessible-components/how-it-works/_how-it-works.scss +217 -0
- package/src/accessible-components/how-it-works/how-it-works-carousel.html +12 -0
- package/src/accessible-components/how-it-works/how-it-works-static.html +12 -0
- package/src/accessible-components/how-it-works/how-it-works.html +14 -0
- package/src/accessible-components/information/_information.scss +96 -0
- package/src/accessible-components/information/information.html +32 -0
- package/src/accessible-components/input/_input.scss +204 -0
- package/src/accessible-components/input/input.html +22 -0
- package/src/accessible-components/input/textarea.html +9 -0
- package/src/accessible-components/partners/_partners.scss +234 -0
- package/src/accessible-components/partners/partners.html +56 -0
- package/src/accessible-components/picture/picture.html +19 -0
- package/src/accessible-components/preloader/_preloader.scss +61 -0
- package/src/accessible-components/preloader/preloader.html +23 -0
- package/src/accessible-components/progress-bar/_progress-bar.scss +140 -0
- package/src/accessible-components/progress-bar/progress-bar.html +21 -0
- package/src/accessible-components/progress-bar/progress-bar.js +37 -0
- package/src/accessible-components/progress-bar/progress-bar.min.js +2 -0
- package/src/accessible-components/progress-bar/progress-bar.min.js.map +1 -0
- package/src/accessible-components/radio-button/_radio-button.scss +586 -0
- package/src/accessible-components/radio-button/radio-button.html +33 -0
- package/src/accessible-components/reviews/_reviews.scss +180 -0
- package/src/accessible-components/reviews/reviews-carousel.html +12 -0
- package/src/accessible-components/reviews/reviews-static.html +12 -0
- package/src/accessible-components/reviews/reviews.html +37 -0
- package/src/accessible-components/select/_select.scss +87 -0
- package/src/accessible-components/select/select.html +10 -0
- package/src/accessible-components/steps/_steps.scss +640 -0
- package/src/accessible-components/steps/defaultFormFieldConfig.json +109 -0
- package/src/accessible-components/steps/step-fields.html +38 -0
- package/src/accessible-components/steps/steps.html +168 -0
- package/src/accessible-components/tcpa/_tcpa.scss +49 -0
- package/src/accessible-components/tcpa/tcpa.html +9 -0
- package/src/accessible-components/tile/_tile.scss +117 -0
- package/src/accessible-components/tile/tile.html +14 -0
- package/src/accessible-components/value-props/_value-props.scss +102 -0
- package/src/accessible-components/value-props/value-props.html +17 -0
- package/src/accessible-components/zip-control/_zip-control.scss +79 -0
- package/src/accessible-components/zip-control/zip-control.html +10 -0
- package/src/resources/data/tcpa.json +4 -0
- package/src/resources/templates/modals/about/index.hbs +9 -0
- package/src/resources/templates/modals/about/index.html +9 -0
- package/src/resources/templates/modals/contact-us/index.hbs +348 -0
- package/src/resources/templates/modals/contact-us/index.html +348 -0
- package/src/resources/templates/modals/faq/index.hbs +9 -0
- package/src/resources/templates/modals/faq/index.html +9 -0
- package/src/resources/templates/modals/privacy/index.hbs +236 -0
- package/src/resources/templates/modals/privacy/index.html +236 -0
- package/src/resources/templates/modals/terms/index.hbs +166 -0
- package/src/resources/templates/modals/terms/index.html +166 -0
- package/src/scripts/vendor/visual-website-optimizer.js +0 -1
- package/src/shared-components/card-button/_card-button.scss +49 -0
- package/src/shared-components/card-button/card-button.html +9 -0
- package/src/shared-components/carousel/_carousel.scss +106 -0
- package/src/shared-components/carousel/carousel.html +22 -0
- package/src/shared-components/carousel/carousel.js +3574 -0
- package/src/shared-components/carousel/carousel.js.map +1 -0
- package/src/shared-components/carousel/carousel.min.js +6 -0
- package/src/shared-components/carousel/carousel.min.js.map +1 -0
- package/src/shared-components/carousel/carousel.min.min.js +6 -0
- package/src/shared-components/carousel/carousel.min.min.js.map +1 -0
- package/src/shared-components/checkbox/_checkbox.scss +125 -0
- package/src/shared-components/checkbox/checkbox.html +10 -0
- package/src/shared-components/expand-collapse/_expand-collapse.scss +93 -0
- package/src/shared-components/expand-collapse/expand-collapse.html +8 -0
- package/src/shared-components/expand-collapse/expand-collapse.js +40 -0
- package/src/shared-components/expand-collapse/expand-collapse.min.js +2 -0
- package/src/shared-components/expand-collapse/expand-collapse.min.js.map +1 -0
- package/src/shared-components/featured-block/_featured-block.scss +191 -0
- package/src/shared-components/featured-block/featured-block.html +80 -0
- package/src/shared-components/foot-assets/foot-assets.html +107 -0
- package/src/shared-components/form-tcpa/form-tcpa.html +12 -0
- package/src/shared-components/gtm-body/gtm-body.html +4 -0
- package/src/shared-components/head/head.html +192 -0
- package/src/shared-components/header/_header.scss +200 -0
- package/src/shared-components/header/header.html +73 -0
- package/src/shared-components/hero/_hero.scss +253 -0
- package/src/shared-components/hero/hero.html +126 -0
- package/src/shared-components/how-it-works/_how-it-works.scss +138 -0
- package/src/shared-components/how-it-works/how-it-works.html +19 -0
- package/src/shared-components/input/_input.scss +242 -0
- package/src/shared-components/input/input.html +30 -0
- package/src/shared-components/preloader/_preloader.scss +61 -0
- package/src/shared-components/preloader/preloader.html +49 -0
- package/src/shared-components/progress-bar/_progress-bar.scss +142 -0
- package/src/shared-components/progress-bar/progress-bar.html +20 -0
- package/src/shared-components/progress-bar/progress-bar.js +25 -0
- package/src/shared-components/progress-bar/progress-bar.min.js +2 -0
- package/src/shared-components/progress-bar/progress-bar.min.js.map +1 -0
- package/src/shared-components/radio-button/_radio-button.scss +554 -0
- package/src/shared-components/radio-button/radio-button.html +25 -0
- package/src/shared-components/reviews/_reviews.scss +79 -0
- package/src/shared-components/reviews/reviews.html +27 -0
- package/src/shared-components/select/_select.scss +61 -0
- package/src/shared-components/select/select.html +8 -0
- package/src/shared-components/steps/_steps.scss +414 -0
- package/src/shared-components/steps/defaultFormFieldConfig.json +64 -0
- package/src/shared-components/steps/step-fields.html +36 -0
- package/src/shared-components/steps/steps.html +131 -0
- package/src/shared-components/textarea/_textarea.scss +96 -0
- package/src/shared-components/textarea/textarea.html +13 -0
- package/src/shared-components/theme-toggle/_theme-toggle.scss +68 -0
- package/src/shared-components/theme-toggle/theme-toggle.html +34 -0
- package/src/shared-components/tile/_tile.scss +117 -0
- package/src/shared-components/tile/tile.html +27 -0
- package/src/shared-components/value-props/_value-props.scss +98 -0
- package/src/shared-components/value-props/value-props.html +17 -0
- package/src/shared-components/zip-control/_zip-control.scss +42 -0
- package/src/shared-components/zip-control/zip-control.html +21 -0
- package/tasks/grab-shared-scripts.js +11 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://modCarousel/webpack/bootstrap","webpack://modCarousel/node_modules/ssr-window/ssr-window.esm.js","webpack://modCarousel/node_modules/dom7/dom7.esm.js","webpack://modCarousel/node_modules/swiper/shared/utils.js","webpack://modCarousel/node_modules/swiper/shared/get-support.js","webpack://modCarousel/node_modules/swiper/core/transition/transitionEmit.js","webpack://modCarousel/node_modules/swiper/core/events/onTouchStart.js","webpack://modCarousel/node_modules/swiper/core/events/onTouchMove.js","webpack://modCarousel/node_modules/swiper/core/events/onTouchEnd.js","webpack://modCarousel/node_modules/swiper/core/events/onResize.js","webpack://modCarousel/node_modules/swiper/core/events/onClick.js","webpack://modCarousel/node_modules/swiper/core/events/onScroll.js","webpack://modCarousel/node_modules/swiper/core/events/index.js","webpack://modCarousel/node_modules/swiper/core/moduleExtendParams.js","webpack://modCarousel/node_modules/swiper/shared/create-element-if-not-defined.js","webpack://modCarousel/node_modules/swiper/modules/navigation/navigation.js","webpack://modCarousel/node_modules/swiper/shared/classes-to-selector.js","webpack://modCarousel/node_modules/swiper/modules/pagination/pagination.js","webpack://modCarousel/node_modules/swiper/modules/scrollbar/scrollbar.js","webpack://modCarousel/node_modules/swiper/modules/lazy/lazy.js","webpack://modCarousel/node_modules/swiper/modules/a11y/a11y.js","webpack://modCarousel/node_modules/swiper/modules/autoplay/autoplay.js","webpack://modCarousel/node_modules/swiper/shared/effect-init.js","webpack://modCarousel/node_modules/swiper/shared/effect-target.js","webpack://modCarousel/node_modules/swiper/modules/effect-fade/effect-fade.js","webpack://modCarousel/node_modules/swiper/shared/effect-virtual-transition-end.js","webpack://modCarousel/node_modules/swiper/shared/create-shadow.js","webpack://modCarousel/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js","webpack://modCarousel/lib/index.js","webpack://modCarousel/styles.scss","webpack://modCarousel/node_modules/css-loader/dist/runtime/api.js","webpack://modCarousel/node_modules/css-loader/dist/runtime/getUrl.js","webpack://modCarousel/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://modCarousel/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:/modCarousel/webpack/runtime/compat get default export","webpack:/modCarousel/webpack/runtime/define property getters","webpack:/modCarousel/webpack/runtime/hasOwnProperty shorthand","webpack:/modCarousel/webpack/runtime/make namespace object","webpack:/modCarousel/webpack/runtime/jsonp chunk loading","webpack://modCarousel/webpack/runtime/nonce","webpack://modCarousel/node_modules/swiper/shared/dom.js","webpack://modCarousel/node_modules/swiper/shared/get-device.js","webpack://modCarousel/node_modules/swiper/shared/get-browser.js","webpack://modCarousel/node_modules/swiper/core/events-emitter.js","webpack://modCarousel/node_modules/swiper/core/update/index.js","webpack://modCarousel/node_modules/swiper/core/update/updateSize.js","webpack://modCarousel/node_modules/swiper/core/update/updateSlides.js","webpack://modCarousel/node_modules/swiper/core/update/updateAutoHeight.js","webpack://modCarousel/node_modules/swiper/core/update/updateSlidesOffset.js","webpack://modCarousel/node_modules/swiper/core/update/updateSlidesProgress.js","webpack://modCarousel/node_modules/swiper/core/update/updateProgress.js","webpack://modCarousel/node_modules/swiper/core/update/updateSlidesClasses.js","webpack://modCarousel/node_modules/swiper/core/update/updateActiveIndex.js","webpack://modCarousel/node_modules/swiper/core/update/updateClickedSlide.js","webpack://modCarousel/node_modules/swiper/core/slide/index.js","webpack://modCarousel/node_modules/swiper/core/slide/slideTo.js","webpack://modCarousel/node_modules/swiper/core/slide/slideToLoop.js","webpack://modCarousel/node_modules/swiper/core/slide/slideNext.js","webpack://modCarousel/node_modules/swiper/core/slide/slidePrev.js","webpack://modCarousel/node_modules/swiper/core/slide/slideReset.js","webpack://modCarousel/node_modules/swiper/core/slide/slideToClosest.js","webpack://modCarousel/node_modules/swiper/core/slide/slideToClickedSlide.js","webpack://modCarousel/node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack://modCarousel/node_modules/swiper/core/classes/index.js","webpack://modCarousel/node_modules/swiper/core/classes/addClasses.js","webpack://modCarousel/node_modules/swiper/core/classes/removeClasses.js","webpack://modCarousel/node_modules/swiper/core/defaults.js","webpack://modCarousel/node_modules/swiper/core/core.js","webpack://modCarousel/node_modules/swiper/core/translate/index.js","webpack://modCarousel/node_modules/swiper/core/translate/getTranslate.js","webpack://modCarousel/node_modules/swiper/core/translate/setTranslate.js","webpack://modCarousel/node_modules/swiper/core/translate/minTranslate.js","webpack://modCarousel/node_modules/swiper/core/translate/maxTranslate.js","webpack://modCarousel/node_modules/swiper/core/translate/translateTo.js","webpack://modCarousel/node_modules/swiper/core/transition/index.js","webpack://modCarousel/node_modules/swiper/core/transition/setTransition.js","webpack://modCarousel/node_modules/swiper/core/transition/transitionStart.js","webpack://modCarousel/node_modules/swiper/core/transition/transitionEnd.js","webpack://modCarousel/node_modules/swiper/core/loop/index.js","webpack://modCarousel/node_modules/swiper/core/loop/loopCreate.js","webpack://modCarousel/node_modules/swiper/core/loop/loopFix.js","webpack://modCarousel/node_modules/swiper/core/loop/loopDestroy.js","webpack://modCarousel/node_modules/swiper/core/grab-cursor/index.js","webpack://modCarousel/node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack://modCarousel/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack://modCarousel/node_modules/swiper/core/breakpoints/index.js","webpack://modCarousel/node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack://modCarousel/node_modules/swiper/core/check-overflow/index.js","webpack://modCarousel/node_modules/swiper/core/images/index.js","webpack://modCarousel/node_modules/swiper/core/images/loadImage.js","webpack://modCarousel/node_modules/swiper/core/images/preloadImages.js","webpack://modCarousel/node_modules/swiper/core/modules/resize/resize.js","webpack://modCarousel/node_modules/swiper/core/modules/observer/observer.js","webpack://modCarousel/styles.scss?be2b"],"names":["s","i","n","t","exports","a","id","e","_typeof","constructor","Object","arguments","length","undefined","keys","forEach","o","document","r","p","window","l","c","Array","isArray","push","apply","_toConsumableArray","u","prototype","filter","call","A","d","trim","indexOf","createElement","innerHTML","childNodes","querySelectorAll","nodeType","h","_len","_key","this","g","trigger","on","concat","w","setTimeout","v","Date","now","b","toString","slice","C","HTMLElement","getOwnPropertyDescriptor","enumerable","__swiper__","y","style","setProperty","E","_ref","swiper","targetPosition","side","translate","params","speed","wrapperEl","scrollSnapType","cancelAnimationFrame","cssModeFrameID","getTime","Math","max","min","cos","PI","scrollTo","_defineProperty","overflow","requestAnimationFrame","M","x","smoothScroll","documentElement","touch","DocumentTouch","passiveListener","defineProperty","get","addEventListener","gestures","$","_ref2","runCallbacks","direction","step","activeIndex","previousIndex","emit","z","touchEventsData","touches","enabled","animating","preventInteractionOnTransition","cssMode","loop","loopFix","originalEvent","m","target","touchEventsTarget","closest","isTouchEvent","type","which","button","isTouched","isMoved","noSwipingClass","composedPath","path","shadowRoot","noSwipingSelector","noSwiping","assignedSlot","getRootNode","host","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","f","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","preventDefault","assign","allowTouchCallbacks","isScrolling","startMoving","startX","startY","touchStartTime","updateSize","swipeDirection","threshold","allowThresholdMove","is","focusableElements","nodeName","activeElement","blur","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchStart","O","rtlTranslate","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","isVertical","maxTranslate","minTranslate","sqrt","pow","isHorizontal","atan2","abs","touchAngle","cancelable","touchMoveStopPropagation","nested","stopPropagation","startTranslate","getTranslate","setTransition","$wrapperEl","allowMomentumBounce","grabCursor","allowSlideNext","allowSlidePrev","setGrabCursor","diff","touchRatio","currentTranslate","resistanceRatio","resistance","followFinger","watchSlidesProgress","updateActiveIndex","updateSlidesClasses","onTouchMove","updateProgress","setTranslate","L","slidesGrid","updateClickedSlide","lastClickTime","destroyed","onTouchEnd","currentPos","slidesSizesGrid","slidesPerGroupSkip","slidesPerGroup","rewind","isBeginning","virtual","slides","isEnd","longSwipesMs","longSwipes","slideTo","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","D","el","offsetWidth","breakpoints","setBreakpoint","snapGrid","updateSlides","slidesPerView","centeredSlides","autoplay","running","paused","run","watchOverflow","checkOverflow","I","preventClicks","preventClicksPropagation","stopImmediatePropagation","G","previousTranslate","scrollLeft","scrollTop","progress","Y","V","auto","Z","createElements","$el","children","className","append","X","_ref7","uniqueNavElements","find","disabledClass","tagName","disabled","isLocked","lockClass","_e$navigation","$nextEl","$prevEl","slidePrev","slideNext","originalParams","addClass","_e$navigation2","off","removeClass","extendParams","hideOnClick","hiddenClass","navigationDisabledClass","_e$navigation3","_e$navigation4","pagination","clickable","contains","hasClass","toggleClass","enable","disable","update","init","destroy","J","replace","K","_ref8","bulletActiveClass","rtl","ceil","loopedSlides","paginationType","snapIndex","bullets","dynamicBullets","eq","css","dynamicMainBullets","map","join","each","index","currentClass","text","formatFractionCurrent","totalClass","formatFractionTotal","progressbarOpposite","progressbarFillClass","transform","transition","renderCustom","html","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","parents","clickableClass","modifierClass","horizontalClass","verticalClass","progressbarOppositeClass","paginationDisabledClass","render","ee","_ref9","scrollbar","$dragEl","width","height","hide","clearTimeout","opacity","offsetHeight","size","virtualSize","slidesOffsetBefore","dragSize","parseInt","display","clientX","clientY","offset","getBoundingClientRect","returnValue","snapOnRelease","slideToClosest","touchEventsTouch","touchEventsDesktop","support","passiveListeners","passive","capture","start","move","end","dragClass","dragEl","draggable","scrollbarDisabledClass","S","te","_ref10","lazy","slideClass","elementClass","loadedClass","loadingClass","attr","parent","loadImage","removeAttr","preloaderClass","remove","slideDuplicateClass","autoHeight","updateAutoHeight","slideVisibleClass","loadPrevNext","loadPrevNextAmount","slideNextClass","slidePrevClass","scrollingElement","innerHeight","left","top","touchEvents","checkInView","loadOnTransitionStart","preloadImages","sticky","_e$params","load","loadInSlide","se","_ref11","keyCode","a11y","lastSlideMessage","nextSlideMessage","firstSlideMessage","prevSlideMessage","click","notificationClass","paginationBulletMessage","slideLabelMessage","containerMessage","containerRoleDescriptionMessage","itemRoleDescriptionMessage","slideRole","clicked","includes","visibleSlides","sourceCapabilities","firesTouchEvents","classList","repeat","round","random","_e$navigation5","ie","_ref12","delay","reverseDirection","stopOnLastSlide","waitForTransition","visibilityState","removeEventListener","disableOnInteraction","pauseOnMouseEnter","pause","stop","ne","effect","overwriteParams","perspective","recreateShadows","getEffectParams","classNames","containerModifierClass","slideShadows","ae","transformEl","backface-visibility","-webkit-backface-visibility","re","_ref13","fadeEffect","crossFade","swiperSlideOffset","virtualTranslate","_ref14","duration","allSlides","transitionEnd","spaceBetween","oe","le","_ref15","coverflowEffect","rotate","stretch","depth","scale","modifier","parseFloat","zIndex","Te","_","modules","URL","version","sources","names","mappings","sourcesContent","sourceRoot","String","__esModule","test","hash","needQuotes","btoa","unescape","encodeURIComponent","JSON","stringify","identifier","base","media","sourceMap","supports","layer","references","updater","byIndex","splice","domAPI","querySelector","HTMLIFrameElement","contentDocument","head","Error","appendChild","setAttributes","attributes","insert","options","nc","setAttribute","insertStyleElement","styleTagTransform","parentNode","removeChild","styleSheet","cssText","firstChild","createTextNode","hasOwnProperty","Symbol","toStringTag","value","baseURI","self","location","href","body","getElementById","createEvent","initEvent","getElementsByTagName","createElementNS","importNode","hostname","origin","pathname","protocol","search","navigator","userAgent","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","Image","screen","matchMedia","_Array","_this","_classCallCheck","_callSuper","__proto__","set","_assertThisInitialized","_inherits","_createClass","_wrapNativeSuper","fn","split","_len2","_key2","_e$classList","add","_len3","_key3","_e$classList2","_len4","_key4","_len5","_key5","toggle","getAttribute","removeAttribute","transitionDuration","dom7EventData","unshift","_len6","_key6","dom7LiveListeners","listener","proxyListener","dom7Listeners","_len7","_key7","dom7proxy","_len8","_key8","detail","bubbles","dispatchEvent","outerWidth","styles","outerHeight","clientTop","clientLeft","scrollY","scrollX","textContent","matches","webkitMatchesSelector","msMatchesSelector","previousSibling","prepend","insertBefore","next","nextElementSibling","nextAll","prev","previousElementSibling","prevAll","writable","T","k","eventsListeners","once","_len9","_key9","__emitterProxy","onAny","eventsAnyListeners","offAny","_len10","_key10","events","data","context","B","clientWidth","clientHeight","Number","isNaN","margin-top","margin-bottom ","margin-left","margin-right","padding-left","padding-right","marginRight","wrongRTL","slidesOffsetAfter","marginLeft","marginBottom","marginTop","grid","rows","initSlides","updateSlide","webkitTransform","roundLengths","_r3$","floor","swiperSlideSize","setWrapperSize","updateWrapperSize","centeredSlidesBounds","centerInsufficientSlides","updateSlidesOffset","maxBackfaceHiddenSlides","offsetLeft","offsetTop","updateSlidesProgress","visibleSlidesIndexes","originalProgress","realIndex","slideActiveClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","emitSlidesClasses","normalizeSlideIndex","initialized","runCallbacksOnInit","clickedSlide","clickedIndex","slideToClickedSlide","P","isFinite","transitionStart","_immediateVirtual","_swiperImmediateVirtual","onSlideToWrapperTransitionEnd","slideToLoop","slidesPerGroupAuto","slidesPerViewDynamic","loopPreventsSlide","_clientLeft","slideReset","F","N","device","cancel","onClick","onScroll","updateOnWindowResize","ios","android","j","attachEvents","bind","detachEvents","H","R","addClasses","pointer-events","free-mode","autoheight","grid-column","fill","css-mode","centered","watch-progress","emitContainerClasses","removeClasses","W","initialSlide","resizeObserver","url","breakpointsBase","simulateTouch","updateOnImagesReady","loopAdditionalSlides","loopedSlidesLimit","loopFillGroupWithBlank","slideBlankClass","wrapperClass","_emitClasses","q","eventsEmitter","currentStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","translateTo","onTranslateToWrapperTransitionEnd","slide","loopCreate","cloneNode","loopDestroy","cursor","unsetGrabCursor","_e$loopedSlides","getBreakpoint","currentBreakpoint","changeDirection","substr","point","sort","_r$_e","classes","images","complete","onload","onerror","sizes","srcset","src","imagesLoaded","imagesToLoad","currentSrc","U","Q","_e43","_e44","_i$modules","_len11","_key11","_slicedToArray","_ref3","platform","match","os","browser","isSafari","toLowerCase","isWebView","__modules__","passedParams","velocity","clickTimeout","velocities","key","getSlideClasses","slideEl","dir","mounted","mount","installModule","use","_ref4","ResizeObserver","_ref5","contentBoxSize","contentRect","inlineSize","blockSize","observe","unobserve","_ref6","MutationObserver","WebkitMutationObserver","childList","characterData","observer","observeParents","observeSlideChildren","disconnect","ye","be","fe","ge","ue","we","de","Ce","locals"],"mappings":"kqKAIA,QAASA,GAAoBC,GAE5B,GAAIC,GAAeC,EAAyBF,EAC5C,QAAA,KAAIC,EACH,MAAOA,GAAaE,OAGrB,IAAIC,GAASF,EAAyBF,IACrCK,GAAIL,EAEJG,WAOD,OAHAG,GAAoBN,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,QCTf,QAASF,GAASK,GACd,MAAgB,QAARA,GACW,UAAAC,QAARD,IACP,eAAiBA,IACjBA,EAAIE,cAAgBC,OAE5B,QAASL,KAA2B,GAApBE,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,MAAaR,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,KACzBD,QAAOI,KAAKX,GAAKY,QAAS,SAAAf,OAAA,KACXO,EAAOP,GACdO,EAAOP,GAAOG,EAAIH,GACbE,EAASC,EAAIH,KAClBE,EAASK,EAAOP,KAChBU,OAAOI,KAAKX,EAAIH,IAAMY,OAAS,GAC/BP,EAAOE,EAAOP,GAAMG,EAAIH,MAuDpC,QAASgB,KACL,GAAMT,GAA0B,mBAAbU,UAA2BA,WAE9C,OADAZ,GAAOE,EAAKW,GACLX,EA0DX,QAASY,KACL,GAAMZ,GAAwB,mBAAXa,QAAyBA,SAE5C,OADAf,GAAOE,EAAKc,GACLd,ECxGX,QAASe,KAAgB,GAANf,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,MACXR,IAQN,OAPAI,GAAIQ,QAAQ,SAAAR,GACNgB,MAAMC,QAAQjB,GAChBJ,EAAIsB,KAAAC,MAAJvB,EAAAwB,mBAAYL,EAAUf,KAEtBJ,EAAIsB,KAAKlB,KAGNJ,EAET,QAASyB,GAAYrB,EAAKJ,GACxB,MAAOoB,OAAMM,UAAUC,OAAOC,KAAKxB,EAAKJ,GAgC1C,QAAS6B,GAAEzB,EAAUJ,GACnB,GAAMH,GAASmB,IACTlB,EAAWe,IACbd,IAEJ,KAAKC,GAAWI,YAAoB0B,GAClC,MAAO1B,EAGT,KAAKA,EACH,MAAO,IAAI0B,GAAK/B,EAGlB,IAAwB,gBAAbK,GAAuB,CAChC,GAAMP,GAAOO,EAAS2B,MAEtB,IAAIlC,EAAKmC,QAAQ,MAAQ,GAAKnC,EAAKmC,QAAQ,MAAQ,EAAG,CACpD,GAAI5B,GAAW,KACa,KAAxBP,EAAKmC,QAAQ,SAAc5B,EAAW,MACd,IAAxBP,EAAKmC,QAAQ,SAAc5B,EAAW,SACd,IAAxBP,EAAKmC,QAAQ,QAAwC,IAAxBnC,EAAKmC,QAAQ,SAAc5B,EAAW,MACxC,IAA3BP,EAAKmC,QAAQ,YAAiB5B,EAAW,SACb,IAA5BP,EAAKmC,QAAQ,aAAkB5B,EAAW,SAC9C,IAAMJ,GAAaF,EAASmC,cAAc7B,EAC1CJ,GAAWkC,UAAYrC,CAEvB,KAAK,GAAIO,GAAI,EAAGA,EAAIJ,EAAWmC,WAAW1B,OAAQL,GAAK,EACrDL,EAAIuB,KAAKtB,EAAWmC,WAAW/B,QAGjCL,GA7CN,SAAaK,EAAUJ,GACrB,GAAwB,gBAAbI,GACT,OAAQA,EAMV,KAAK,GAHCP,MACAC,EAAME,EAAQoC,iBAAiBhC,GAE5BA,EAAI,EAAGA,EAAIN,EAAIW,OAAQL,GAAK,EACnCP,EAAEyB,KAAKxB,EAAIM,GAGb,OAAOP,IAiCOO,EAAS2B,OAAQ/B,GAAWF,OAGnC,IAAIM,EAASiC,UAAYjC,IAAaP,GAAUO,IAAaN,EAClEC,EAAIuB,KAAKlB,OACJ,IAAIgB,MAAMC,QAAQjB,GAAW,CAClC,GAAIA,YAAoB0B,GAAM,MAAO1B,EACrCL,GAAMK,EAGR,MAAO,IAAI0B,GAtEb,SAAqB1B,GAGnB,IAAK,GAFCJ,MAEGH,EAAI,EAAGA,EAAIO,EAAIK,OAAQZ,GAAK,GACE,IAAjCG,EAAYgC,QAAQ5B,EAAIP,KAAYG,EAAYsB,KAAKlB,EAAIP,GAG/D,OAAOG,IA+DqBD,IAizC9B,QAASuC,GAASlC,GAiBhB,MAhBA,YAAyB,IAAA,GAAAmC,GAAA/B,UAAAC,OAAAT,EAAA,GAAAoB,OAAAmB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAxC,EAAAwC,GAAAhC,UAAAgC,EACvB,QAAA,KAAWxC,EAAK,GAAoB,CAClC,IAAK,GAAIA,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EAChC0C,EAAUV,QAAQ5B,GAAQ,IACxBA,IAAQqC,MAAKzC,GAAIyC,KAAKzC,GAAGI,KAC3ByB,EAAEY,KAAKzC,IAAI2C,QAAQvC,GAKzB,OAAOqC,MAGT,MAAOA,MAAKG,GAAArB,MAALkB,MAAQrC,GAAAyC,OAAS7C,KC16C5B,QAAS8C,GAAS1C,GAAkB,GAARJ,GAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQ,CAClC,OAAOuC,YAAW3C,EAAUJ,GAG9B,QAASgD,KACP,MAAOC,MAAKC,MA6Dd,QAASC,GAAS/C,GAChB,MAAoB,UAAAC,QAAND,IAAwB,OAANA,GAAcA,EAAEE,aAAkE,WAAnDC,OAAOmB,UAAU0B,SAASxB,KAAKxB,GAAGiD,MAAM,GAAI,GAY7G,QAASC,KAIP,IAAK,GAHCtD,GAAKO,OAAAC,UAAAC,QAAA,MAAAC,GAAAF,UAAA,IACLX,GAAY,YAAa,cAAe,aAErCE,EAAI,EAAGA,EAAIS,UAAKC,OAAQV,GAAK,EAAG,CACvC,GAAMG,GAAkBH,EAAA,GAAAS,UAAAC,QAAAV,MAAAW,GAAAF,UAAAT,EAExB,IAAI,MAAAG,IAhBQJ,EAgBmDI,IAd3C,mBAAXe,aAAA,KAAiCA,OAAOsC,YAC1CzD,YAAgByD,aAGlBzD,IAA2B,IAAlBA,EAAKuC,UAAoC,KAAlBvC,EAAKuC,YAaxC,IAAK,GAFCjC,GAAYG,OAAOI,KAAKJ,OAAOL,IAAayB,OAAO,SAAAvB,GAAA,MAAOP,GAASmC,QAAQ5B,GAAO,IAE/EP,EAAY,EAAGC,EAAMM,EAAUK,OAAQZ,EAAYC,EAAKD,GAAa,EAAG,CAC/E,GAAMC,GAAUM,EAAUP,GACpBE,EAAOQ,OAAOiD,yBAAyBtD,EAAYJ,OAAA,KAErDC,GAAsBA,EAAK0D,aACzBN,EAASnD,EAAGF,KAAaqD,EAASjD,EAAWJ,IAC3CI,EAAWJ,GAAS4D,WACtB1D,EAAGF,GAAWI,EAAWJ,GAEzBwD,EAAOtD,EAAGF,GAAUI,EAAWJ,KAEvBqD,EAASnD,EAAGF,KAAaqD,EAASjD,EAAWJ,KACvDE,EAAGF,MAECI,EAAWJ,GAAS4D,WACtB1D,EAAGF,GAAWI,EAAWJ,GAEzBwD,EAAOtD,EAAGF,GAAUI,EAAWJ,KAGjCE,EAAGF,GAAWI,EAAWJ,KAvCrC,GAAgBA,EA8Cd,OAAOE,GAGT,QAAS2D,GAAevD,EAAIJ,EAASH,GACnCO,EAAGwD,MAAMC,YAAY7D,EAASH,GAGhC,QAASiE,GAAAC,GAGP,GAKI7D,GAPJE,EAAA2D,EAD4BC,OAE5BhE,EAAA+D,EADME,eAENpE,EAAAkE,EADcG,KAGRpE,EAASkB,IACTjB,GAAiBK,EAAO+D,UAC1BpD,EAAY,KAEVF,EAAWT,EAAOgE,OAAOC,KAC/BjE,GAAOkE,UAAUV,MAAMW,eAAiB,OACxCzE,EAAO0E,qBAAqBpE,EAAOqE,eACnC,IAAMvD,GAAMlB,EAAiBD,EAAgB,OAAS,OAEhD+B,EAAe,SAAC1B,EAASJ,GAAA,MACd,SAARkB,GAAkBd,GAAWJ,GAAkB,SAARkB,GAAkBd,GAAWJ,IAG7D,QAAVmB,KACJjB,GAAO,GAAI+C,OAAOyB,UAEA,OAAd3D,IACFA,EAAYb,EAGd,IAAMgB,GAAWyD,KAAKC,IAAID,KAAKE,KAAK3E,EAAOa,GAAaF,EAAU,GAAI,GAChEG,EAAe,GAAM2D,KAAKG,IAAI5D,EAAWyD,KAAKI,IAAM,EACtDtD,EAAkB1B,EAAgBiB,GAAgBhB,EAAiBD,EAUvE,IARI+B,EAAaL,EAAiBzB,KAChCyB,EAAkBzB,GAGpBI,EAAOkE,UAAUU,SAAAC,mBACdpF,EAAO4B,IAGNK,EAAaL,EAAiBzB,GAUhC,MATAI,GAAOkE,UAAUV,MAAMsB,SAAW,SAClC9E,EAAOkE,UAAUV,MAAMW,eAAiB,GACxCxB,WAAW,WACT3C,EAAOkE,UAAUV,MAAMsB,SAAW,GAClC9E,EAAOkE,UAAUU,SAAAC,mBACdpF,EAAO4B,UAGZ3B,GAAO0E,qBAAqBpE,EAAOqE,eAIrCrE,GAAOqE,eAAiB3E,EAAOqF,sBAAsBhE,MC9JzD,QAASiE,KAKP,MAJKC,KACHA,EA/BJ,WACE,GAAMjF,GAASY,IACThB,EAAWa,GACjB,QACEyE,aAActF,EAASuF,iBAAmB,kBAAoBvF,GAASuF,gBAAgB3B,MACvF4B,SAAU,gBAAkBpF,IAAUA,EAAOqF,eAAiBzF,YAAoBI,GAAOqF,eACzFC,gBAAiB,WACf,GAAI1F,IAAA,CAEJ,KACE,GAAMH,GAAOU,OAAOoF,kBAAmB,WAErCC,IAAA,WACE5F,GAAA,IAIJI,GAAOyF,iBAAiB,sBAAuB,KAAMhG,GACrD,MAAOO,IAGT,MAAOJ,MAET8F,SACS,kBAAoB1F,QAUxBiF,ECrCM,QAASU,GAAAC,GAItB,GAHA5F,GAAA4F,EADqChC,OAErChE,EAAAgG,EADMC,aAENpG,EAAAmG,EADYE,UAEZpG,EAAAkG,EADSG,KAIPpG,EAEEK,EAHEgG,YAEJlG,EACEE,EAFSiG,cAGTtF,EAAMlB,CAQV,IANKkB,IAC8BA,EAA7BhB,EAAcG,EAAqB,OAAgBH,EAAcG,EAAqB,OAAkB,SAG9GE,EAAOkG,KAAA,aAAAzD,OAAkB/C,IAErBE,GAAgBD,IAAgBG,EAAe,CACjD,GAAY,UAARa,EAEF,WADAX,GAAOkG,KAAA,uBAAAzD,OAA4B/C,GAIrCM,GAAOkG,KAAA,wBAAAzD,OAA6B/C,IAExB,SAARiB,EACFX,EAAOkG,KAAA,sBAAAzD,OAA2B/C,IAElCM,EAAOkG,KAAA,sBAAAzD,OAA2B/C,KCTzB,QAASyG,GAAanG,GAC7B,GAAAJ,GAASyC,KACT5C,EAAWgB,IACXf,EAASkB,IACTjB,EAAOC,EAAOwG,gBAElBtG,EAGEF,EAJEoE,OAEJrD,EAEEf,EAHIyG,OAIR,IADIzG,EAFK0G,WAKL1G,EAAO2G,YAAazG,EAAO0G,gCAA/B,EAIK5G,EAAO2G,WAAazG,EAAO2G,SAAW3G,EAAO4G,MAChD9G,EAAO+G,SAGT,IAAIjF,GAAI1B,CACJ0B,GAAEkF,gBAAelF,EAAIA,EAAEkF,cAC3B,IAAI7F,GAAY8F,EAAEnF,EAAEoF,OAEpB,KAAiC,YAA7BhH,EAAOiH,mBACJhG,EAAUiG,QAAQpH,EAAOsE,WAAW7D,UAG3CV,EAAKsH,aAA0B,eAAXvF,EAAEwF,MACjBvH,EAAKsH,gBAAgB,SAAWvF,KAAiB,IAAZA,EAAEyF,WACvCxH,EAAKsH,cAAgB,UAAYvF,IAAKA,EAAE0F,OAAS,GAClDzH,EAAK0H,WAAa1H,EAAK2H,UAA3B,CAEA,GAAMjG,KAAyBvB,EAAOyH,gBAA4C,KAA1BzH,EAAOyH,eAEzD9F,EAAYzB,EAAMwH,aAAexH,EAAMwH,eAAiBxH,EAAMyH,IAEhEpG,IAAwBK,EAAEoF,QAAUpF,EAAEoF,OAAOY,YAAcjG,IAC7DV,EAAY8F,EAAEpF,EAAU,IAG1B,IAAMa,GAAoBxC,EAAO6H,kBAAoB7H,EAAO6H,kBAAA,IAAAlF,OAAwB3C,EAAOyH,gBACrFrF,KAAoBR,EAAEoF,SAAUpF,EAAEoF,OAAOY,WAE/C,IAAI5H,EAAO8H,YAAc1F,EA5D3B,SAAwBlC,GAAiB,GAAPJ,GAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAOiC,IAavC,OAZA,SAASzC,GAAcH,GACrB,IAAKA,GAAMA,IAAOgB,KAAiBhB,IAAOmB,IAAa,MAAO,KAC1DnB,GAAGoI,eAAcpI,EAAKA,EAAGoI,aAC7B,IAAMnI,GAAQD,EAAGuH,QAAQhH,EAEzB,OAAKN,IAAUD,EAAGqI,YAIXpI,GAASE,EAAcH,EAAGqI,cAAcC,MAHtC,MAMUnI,IA+CoC0C,EAAmBvB,EAAU,IAAMA,EAAUiG,QAAQ1E,GAAmB,IAE/H,YADA1C,EAAOoI,YAAA,EAIT,KAAIlI,EAAOmI,cACJlH,EAAUiG,QAAQlH,EAAOmI,cAAc,GAD9C,CAIAtH,EAAQuH,SAAsB,eAAXxG,EAAEwF,KAAwBxF,EAAEyG,cAAc,GAAGC,MAAQ1G,EAAE0G,MAC1EzH,EAAQ0H,SAAsB,eAAX3G,EAAEwF,KAAwBxF,EAAEyG,cAAc,GAAGG,MAAQ5G,EAAE4G,KAC1E,IAAMC,GAAS5H,EAAQuH,SACjBxF,EAAS/B,EAAQ0H,SAEjBtF,EAAqBjD,EAAO0I,oBAAsB1I,EAAO2I,sBACzDvF,EAAqBpD,EAAO4I,oBAAsB5I,EAAO6I,qBAE/D,IAAI5F,IAAuBwF,GAAUrF,GAAsBqF,GAAU7I,EAAOkJ,WAAa1F,GAAqB,CAC5G,GAA2B,YAAvBH,EAGF,MAFA/C,GAAM6I,iBAqBV,GAfA1I,OAAO2I,OAAOnJ,GACZ0H,WAAA,EACAC,SAAA,EACAyB,qBAAA,EACAC,gBAAA,GACAC,gBAAA,KAEFtI,EAAQuI,OAASX,EACjB5H,EAAQwI,OAASzG,EACjB/C,EAAKyJ,eAAiBxG,IACtBhD,EAAOoI,YAAA,EACPpI,EAAOyJ,aACPzJ,EAAO0J,mBAAA,GACHxJ,EAAOyJ,UAAY,IAAG5J,EAAK6J,oBAAA,GAEhB,eAAX9H,EAAEwF,KAAuB,CAC3B,GAAIlH,IAAA,CAEAe,GAAU0I,GAAG9J,EAAK+J,qBACpB1J,GAAA,EAE8B,WAA1Be,EAAU,GAAG4I,WACfhK,EAAK0H,WAAA,IAIL5H,EAASmK,eAAiB/C,EAAEpH,EAASmK,eAAeH,GAAG9J,EAAK+J,oBAAsBjK,EAASmK,gBAAkB7I,EAAU,IACzHtB,EAASmK,cAAcC,MAGzB,IAAMnK,GAAuBM,GAAkBJ,EAAOkK,gBAAkBhK,EAAOiK,0BAE1EjK,EAAOkK,gCAAiCtK,GAA0BqB,EAAU,GAAGkJ,mBAClFvI,EAAEmH,iBAIFjJ,EAAOoE,OAAOkG,UAAYtK,EAAOoE,OAAOkG,SAAS5D,SAAW1G,EAAOsK,UAAYtK,EAAO2G,YAAczG,EAAO2G,SAC7G7G,EAAOsK,SAASC,eAGlBvK,EAAOsG,KAAK,aAAcxE,MC/Hb,QAAS0I,GAAYpK,GAC5B,GAAAJ,GAAWa,IACXhB,EAAS4C,KACT3C,EAAOD,EAAO2G,gBAElBzG,EAIEF,EALEuE,OAEJlE,EAGEL,EAJI4G,QAEQ1F,EAEZlB,EAFF4K,YAGF,IADI5K,EAFe6G,QAGnB,CACA,GAAI1F,GAAIZ,CAGR,IAFIY,EAAEgG,gBAAehG,EAAIA,EAAEgG,gBAEtBlH,EAAK2H,UAKR,YAJI3H,EAAKuJ,aAAevJ,EAAKsJ,aAC3BvJ,EAAOyG,KAAK,oBAAqBtF,GAMrC,KAAIlB,EAAKuH,cAA2B,cAAXrG,EAAEsG,KAA3B,CACA,GAAMxF,GAAyB,cAAXd,EAAEsG,MAAwBtG,EAAEuH,gBAAkBvH,EAAEuH,cAAc,IAAMvH,EAAE0J,eAAe,IACnGvJ,EAAmB,cAAXH,EAAEsG,KAAuBxF,EAAY0G,MAAQxH,EAAEwH,MACvD/G,EAAmB,cAAXT,EAAEsG,KAAuBxF,EAAY4G,MAAQ1H,EAAE0H,KAE7D,IAAI1H,EAAE2J,wBAGJ,MAFAzK,GAAQoJ,OAASnI,OACjBjB,EAAQqJ,OAAS9H,EAInB,KAAK5B,EAAOqK,eAeV,MAdKjD,GAAEjG,EAAEkG,QAAQ2C,GAAG/J,EAAKgK,qBACvBjK,EAAOuI,YAAA,QAGLtI,EAAK2H,YACPlH,OAAO2I,OAAOhJ,GACZoJ,OAAQnI,EACRoI,OAAQ9H,EACR6G,SAAUnH,EACVsH,SAAUhH,IAEZ3B,EAAK0J,eAAiBxG,KAM1B,IAAIlD,EAAKuH,cAAgBtH,EAAO6K,sBAAwB7K,EAAO+G,KAC7D,GAAIjH,EAAOgL,cAET,GAAIpJ,EAAQvB,EAAQqJ,QAAU1J,EAAOsE,WAAatE,EAAOiL,gBAAkBrJ,EAAQvB,EAAQqJ,QAAU1J,EAAOsE,WAAatE,EAAOkL,eAG9H,MAFAjL,GAAK2H,WAAA,OACL3H,EAAK4H,SAAA,OAGF,IAAIvG,EAAQjB,EAAQoJ,QAAUzJ,EAAOsE,WAAatE,EAAOiL,gBAAkB3J,EAAQjB,EAAQoJ,QAAUzJ,EAAOsE,WAAatE,EAAOkL,eACrI,MAIJ,IAAIjL,EAAKuH,cAAgBrH,EAASgK,eAC5BhJ,EAAEkG,SAAWlH,EAASgK,eAAiB/C,EAAEjG,EAAEkG,QAAQ2C,GAAG/J,EAAKgK,mBAG7D,MAFAhK,GAAK4H,SAAA,OACL7H,EAAOuI,YAAA,EASX,IAJItI,EAAKqJ,qBACPtJ,EAAOyG,KAAK,YAAatF,KAGvBA,EAAEuH,eAAiBvH,EAAEuH,cAAc9H,OAAS,GAAhD,CACAP,EAAQoI,SAAWnH,EACnBjB,EAAQuI,SAAWhH,CACnB,IAAMI,GAAQ3B,EAAQoI,SAAWpI,EAAQoJ,OACnC5G,EAAQxC,EAAQuI,SAAWvI,EAAQqJ,MACzC,MAAI1J,EAAOuE,OAAOuF,WAAahF,KAAKqG,KAAKrG,KAAAsG,IAAApJ,EAAS,GAAA8C,KAAAsG,IAAIvI,EAAS,IAAK7C,EAAOuE,OAAOuF,WAAlF,CAEA,OAAA,KAAW7J,EAAKsJ,YAA6B,CAC3C,GAAIhJ,EAEAP,GAAOqL,gBAAkBhL,EAAQuI,WAAavI,EAAQqJ,QAAU1J,EAAOgL,cAAgB3K,EAAQoI,WAAapI,EAAQoJ,OACtHxJ,EAAKsJ,aAAA,EAGDvH,EAAQA,EAAQa,EAAQA,GAAS,KACnCtC,EAA4D,IAA/CuE,KAAKwG,MAAMxG,KAAKyG,IAAI1I,GAAQiC,KAAKyG,IAAIvJ,IAAgB8C,KAAKI,GACvEjF,EAAKsJ,YAAcvJ,EAAOqL,eAAiB9K,EAAaL,EAAOsL,WAAa,GAAKjL,EAAaL,EAAOsL,YAe3G,GAVIvL,EAAKsJ,aACPvJ,EAAOyG,KAAK,oBAAqBtF,OAAA,KAGxBlB,EAAKuJ,cACVnJ,EAAQoI,WAAapI,EAAQoJ,QAAUpJ,EAAQuI,WAAavI,EAAQqJ,SACtEzJ,EAAKuJ,aAAA,IAILvJ,EAAKsJ,YAEP,YADAtJ,EAAK2H,WAAA,EAIP,IAAK3H,EAAKuJ,YAAV,CAIAxJ,EAAOuI,YAAA,GAEFrI,EAAO8G,SAAW7F,EAAEsK,YACvBtK,EAAEiI,iBAGAlJ,EAAOwL,2BAA6BxL,EAAOyL,QAC7CxK,EAAEyK,kBAGC3L,EAAK4H,UACJ3H,EAAO+G,OAAS/G,EAAO8G,SACzBhH,EAAOkH,UAGTjH,EAAK4L,eAAiB7L,EAAO8L,eAC7B9L,EAAO+L,cAAc,GAEjB/L,EAAO8G,WACT9G,EAAOgM,WAAWlJ,QAAQ,qCAG5B7C,EAAKgM,qBAAA,GAED/L,EAAOgM,aAAA,IAAelM,EAAOmM,iBAAA,IAA2BnM,EAAOoM,gBACjEpM,EAAOqM,eAAA,GAGTrM,EAAOyG,KAAK,kBAAmBtF,IAGjCnB,EAAOyG,KAAK,aAActF,GAC1BlB,EAAK4H,SAAA,CACL,IAAIpF,GAAOzC,EAAOqL,eAAiBrJ,EAAQa,CAC3CxC,GAAQiM,KAAO7J,EACfA,GAAQvC,EAAOqM,WACXrL,IAAKuB,GAAQA,GACjBzC,EAAO6J,eAAiBpH,EAAO,EAAI,OAAS,OAC5CxC,EAAKuM,iBAAmB/J,EAAOxC,EAAK4L,cACpC,IAAI/C,IAAA,EACA7F,EAAkB/C,EAAOuM,eAgC7B,IA9BIvM,EAAO6K,sBACT9H,EAAkB,GAGhBR,EAAO,GAAKxC,EAAKuM,iBAAmBxM,EAAOkL,gBAC7CpC,GAAA,EACI5I,EAAOwM,aAAYzM,EAAKuM,iBAAmBxM,EAAOkL,eAAiB,EAAApG,KAAAsG,KAAMpL,EAAOkL,eAAiBjL,EAAK4L,eAAiBpJ,EAASQ,KAC3HR,EAAO,GAAKxC,EAAKuM,iBAAmBxM,EAAOiL,iBACpDnC,GAAA,EACI5I,EAAOwM,aAAYzM,EAAKuM,iBAAmBxM,EAAOiL,eAAiB,EAAAnG,KAAAsG,IAAKpL,EAAOiL,eAAiBhL,EAAK4L,eAAiBpJ,EAASQ,KAGjI6F,IACF3H,EAAE2J,yBAAA,IAIC9K,EAAOmM,gBAA4C,SAA1BnM,EAAO6J,gBAA6B5J,EAAKuM,iBAAmBvM,EAAK4L,iBAC7F5L,EAAKuM,iBAAmBvM,EAAK4L,iBAG1B7L,EAAOoM,gBAA4C,SAA1BpM,EAAO6J,gBAA6B5J,EAAKuM,iBAAmBvM,EAAK4L,iBAC7F5L,EAAKuM,iBAAmBvM,EAAK4L,gBAG1B7L,EAAOoM,gBAAmBpM,EAAOmM,iBACpClM,EAAKuM,iBAAmBvM,EAAK4L,gBAI3B3L,EAAO4J,UAAY,EAAG,CACxB,KAAIhF,KAAKyG,IAAI9I,GAAQvC,EAAO4J,WAAa7J,EAAK8J,oBAW5C,YADA9J,EAAKuM,iBAAmBvM,EAAK4L,eAT7B,KAAK5L,EAAK8J,mBAMR,MALA9J,GAAK8J,oBAAA,EACL1J,EAAQoJ,OAASpJ,EAAQoI,SACzBpI,EAAQqJ,OAASrJ,EAAQuI,SACzB3I,EAAKuM,iBAAmBvM,EAAK4L,oBAC7BxL,EAAQiM,KAAOtM,EAAOqL,eAAiBhL,EAAQoI,SAAWpI,EAAQoJ,OAASpJ,EAAQuI,SAAWvI,EAAQqJ,QASvGxJ,EAAOyM,eAAgBzM,EAAO8G,WAE/B9G,EAAOuK,UAAYvK,EAAOuK,SAAS5D,SAAW7G,EAAOyK,UAAYvK,EAAO0M,uBAC1E5M,EAAO6M,oBACP7M,EAAO8M,uBAGL9M,EAAOuE,OAAOkG,UAAYvK,EAAOuK,SAAS5D,SAAW7G,EAAOyK,UAC9DzK,EAAOyK,SAASsC,cAIlB/M,EAAOgN,eAAe/M,EAAKuM,kBAE3BxM,EAAOiN,aAAahN,EAAKuM,wBC5NZ,QAASU,GAAW3M,GAC3B,GAAAJ,GAASyC,KACT5C,EAAOG,EAAOwG,gBAElB1G,EAKEE,EANEoE,OAEJrE,EAIEC,EALIyG,QAEQvG,EAGZF,EAHFyK,aACA1J,EAEEf,EAHegN,UAInB,IADIhN,EAFQ0G,QAGZ,CACA,GAAIxF,GAAId,CASR,IARIc,EAAE8F,gBAAe9F,EAAIA,EAAE8F,eAEvBnH,EAAKsJ,qBACPnJ,EAAOsG,KAAK,WAAYpF,GAG1BrB,EAAKsJ,qBAAA,GAEAtJ,EAAK4H,UAOR,MANI5H,GAAK6H,SAAW5H,EAAOiM,YACzB/L,EAAOkM,eAAA,GAGTrM,EAAK6H,SAAA,OACL7H,EAAKwJ,aAAA,EAKHvJ,GAAOiM,YAAclM,EAAK6H,SAAW7H,EAAK4H,aAAA,IAAczH,EAAOgM,iBAAA,IAA2BhM,EAAOiM,iBACnGjM,EAAOkM,eAAA,EAIT,IAAMlL,GAAegC,IACflB,EAAWd,EAAenB,EAAK2J,cAErC,IAAIxJ,EAAOoI,WAAY,CACrB,GAAMhI,GAAWc,EAAE2G,MAAQ3G,EAAE0G,cAAgB1G,EAAE0G,cAC/C5H,GAAOiN,mBAAmB7M,GAAYA,EAAS,IAAMc,EAAEgG,QACvDlH,EAAOsG,KAAK,YAAapF,GAErBY,EAAW,KAAOd,EAAenB,EAAKqN,cAAgB,KACxDlN,EAAOsG,KAAK,wBAAyBpF,GASzC,GALArB,EAAKqN,cAAgBlK,IACrBF,EAAS,WACF9C,EAAOmN,YAAWnN,EAAOoI,YAAA,MAG3BvI,EAAK4H,YAAc5H,EAAK6H,UAAY1H,EAAO0J,gBAAmC,IAAjB3J,EAAQoM,MAActM,EAAKwM,mBAAqBxM,EAAK6L,eAIrH,MAHA7L,GAAK4H,WAAA,EACL5H,EAAK6H,SAAA,OACL7H,EAAKwJ,aAAA,EAOP,IAAIlI,EAQJ,IAXAtB,EAAK4H,WAAA,EACL5H,EAAK6H,SAAA,EACL7H,EAAKwJ,aAAA,EAIHlI,EADErB,EAAO0M,aACItM,EAAMF,EAAOmE,WAAanE,EAAOmE,WAEhCtE,EAAKwM,kBAGjBvM,EAAO+G,QAAX,CAIA,GAAI7G,EAAOoE,OAAOkG,UAAYxK,EAAOwK,SAAS5D,QAI5C,WAHA1G,GAAOsK,SAAS8C,YACdC,WAAAlM,GASJ,KAAK,GAHDM,GAAY,EACZI,EAAY7B,EAAOsN,gBAAgB,GAE9BlN,EAAI,EAAGA,EAAIW,EAAWN,OAAQL,GAAKA,EAAIN,EAAOyN,mBAAqB,EAAIzN,EAAO0N,eAAgB,CACrG,GAAMxN,GAAYI,EAAIN,EAAOyN,mBAAqB,EAAI,EAAIzN,EAAO0N,mBAAA,KAEtDzM,EAAWX,EAAIJ,GACpBmB,GAAcJ,EAAWX,IAAMe,EAAaJ,EAAWX,EAAIJ,KAC7DyB,EAAYrB,EACZyB,EAAYd,EAAWX,EAAIJ,GAAae,EAAWX,IAE5Ce,GAAcJ,EAAWX,KAClCqB,EAAYrB,EACZyB,EAAYd,EAAWA,EAAWN,OAAS,GAAKM,EAAWA,EAAWN,OAAS,IAInF,GAAIiC,GAAmB,KACnBJ,EAAkB,IAElBxC,GAAO2N,SACLzN,EAAO0N,YACTpL,EAAkBtC,EAAOoE,OAAOuJ,SAAW3N,EAAOoE,OAAOuJ,QAAQjH,SAAW1G,EAAO2N,QAAU3N,EAAO2N,QAAQC,OAAOnN,OAAS,EAAIT,EAAO4N,OAAOnN,OAAS,EAC9IT,EAAO6N,QAChBnL,EAAmB,GAKvB,IAAMiG,IAASxH,EAAaJ,EAAWU,IAAcI,EAC/CoF,EAAYxF,EAAY3B,EAAOyN,mBAAqB,EAAI,EAAIzN,EAAO0N,cAEzE,IAAI1L,EAAWhC,EAAOgO,aAAc,CAElC,IAAKhO,EAAOiO,WAEV,WADA/N,GAAOgO,QAAQhO,EAAOoG,YAIM,UAA1BpG,EAAO0J,iBACLf,GAAS7I,EAAOmO,gBAAiBjO,EAAOgO,QAAQlO,EAAO2N,QAAUzN,EAAO6N,MAAQnL,EAAmBjB,EAAYwF,GAAgBjH,EAAOgO,QAAQvM,IAGtH,SAA1BzB,EAAO0J,iBACLf,EAAQ,EAAI7I,EAAOmO,gBACrBjO,EAAOgO,QAAQvM,EAAYwF,GACE,OAApB3E,GAA4BqG,EAAQ,GAAKhE,KAAKyG,IAAIzC,GAAS7I,EAAOmO,gBAC3EjO,EAAOgO,QAAQ1L,GAEftC,EAAOgO,QAAQvM,QAGd,CAEL,IAAK3B,EAAOoO,YAEV,WADAlO,GAAOgO,QAAQhO,EAAOoG,cAIEpG,EAAOmO,YAAejN,EAAEgG,SAAWlH,EAAOmO,WAAWC,QAAUlN,EAAEgG,SAAWlH,EAAOmO,WAAWE,QAGxF,SAA1BrO,EAAO0J,gBACT1J,EAAOgO,QAA6B,OAArBtL,EAA4BA,EAAmBjB,EAAYwF,GAG9C,SAA1BjH,EAAO0J,gBACT1J,EAAOgO,QAA4B,OAApB1L,EAA2BA,EAAkBb,IAErDP,EAAEgG,SAAWlH,EAAOmO,WAAWC,OACxCpO,EAAOgO,QAAQvM,EAAYwF,GAE3BjH,EAAOgO,QAAQvM,MC7JN,QAAS6M,KAChB,GAAAlO,GAASqC,KAEbzC,EAEEI,EAHEgE,OAEJvE,EACEO,EAFImO,EAGR,KAAI1O,GAAyB,IAAnBA,EAAG2O,YAAb,CAEIxO,EAAOyO,aACTrO,EAAOsO,eAIT,IACE5O,GAGEM,EAJE4L,eAEJjM,EAEEK,EAHY6L,eAEd/L,EACEE,EAFYuO,QAIhBvO,GAAO4L,gBAAA,EACP5L,EAAO6L,gBAAA,EACP7L,EAAOqJ,aACPrJ,EAAOwO,eACPxO,EAAOuM,uBAEuB,SAAzB3M,EAAO6O,eAA4B7O,EAAO6O,cAAgB,IAAMzO,EAAOyN,QAAUzN,EAAOsN,cAAgBtN,EAAOgE,OAAO0K,eACzH1O,EAAO4N,QAAQ5N,EAAOwN,OAAOnN,OAAS,EAAG,GAAA,GAAG,GAE5CL,EAAO4N,QAAQ5N,EAAOgG,YAAa,GAAA,GAAG,GAGpChG,EAAO2O,UAAY3O,EAAO2O,SAASC,SAAW5O,EAAO2O,SAASE,QAChE7O,EAAO2O,SAASG,MAIlB9O,EAAO6L,eAAiBlM,EACxBK,EAAO4L,eAAiBlM,EAEpBM,EAAOgE,OAAO+K,eAAiBjP,IAAaE,EAAOuO,UACrDvO,EAAOgP,iBCxCI,QAASC,GAAQjP,GAC9B,GAAMJ,GAASyC,IACVzC,GAAO0G,UAEP1G,EAAOoI,aACNpI,EAAOoE,OAAOkL,eAAelP,EAAE6I,iBAE/BjJ,EAAOoE,OAAOmL,0BAA4BvP,EAAO2G,YACnDvG,EAAEqL,kBACFrL,EAAEoP,8BCTO,QAASC,KAChB,GAAArP,GAASqC,KAEbzC,EAGEI,EAJEkE,UAEJzE,EAEEO,EAHOqK,YAIX,IADIrK,EAFUsG,QAGd,CAaA,GAAI3G,EAZJK,GAAOsP,kBAAoBtP,EAAO+D,UAE9B/D,EAAO8K,eACT9K,EAAO+D,WAAanE,EAAU2P,WAE9BvP,EAAO+D,WAAanE,EAAU4P,UAIP,IAArBxP,EAAO+D,YAAiB/D,EAAO+D,UAAY,GAC/C/D,EAAOsM,oBACPtM,EAAOuM,qBAEP,IAAMzM,GAAiBE,EAAO0K,eAAiB1K,EAAO2K,cAGpDhL,GADqB,IAAnBG,EACY,GAECE,EAAO+D,UAAY/D,EAAO2K,gBAAkB7K,EAGzDH,IAAgBK,EAAOyP,UACzBzP,EAAOyM,eAAehN,GAAgBO,EAAO+D,UAAY/D,EAAO+D,WAGlE/D,EAAOkG,KAAK,eAAgBlG,EAAO+D,WAAA,ICxBrC,QAAS2L,MCRM,QAASC,GAAmB3P,EAAQJ,GACjD,MAAO,YAA6B,GAAPH,GAAAW,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,MACrBV,EAAkBS,OAAOI,KAAKd,GAAK,GACnCE,EAAeF,EAAIC,EAEG,WAAAO,QAAjBN,IAA8C,OAAjBA,IAKnC,aAAc,aAAc,aAAaiC,QAAQlC,IAAoB,IAAA,IAAKM,EAAON,KACpFM,EAAON,IACLkQ,MAAA,IAIElQ,IAAmBM,IAAU,WAAaL,KAAA,IAK5CK,EAAON,KACTM,EAAON,IACL4G,SAAA,IAImC,UAAArG,QAA5BD,EAAON,KAAmC,WAAaM,GAAON,KACvEM,EAAON,GAAiB4G,SAAA,GAGrBtG,EAAON,KAAkBM,EAAON,IACnC4G,SAAA,IAEFpD,EAAOtD,EAAkBH,IAjBvByD,EAAOtD,EAAkBH,IAXzByD,EAAOtD,EAAkBH,ICNhB,QAASoQ,GAA0B7P,EAAQJ,EAAgBH,EAAQC,GAChF,GAAMC,GAAWc,GAmBjB,OAjBIT,GAAOgE,OAAO8L,gBAChB3P,OAAOI,KAAKb,GAAYc,QAAQ,SAAAV,GAC9B,IAAKL,EAAOK,KAAA,IAAQL,EAAOmQ,KAAe,CACxC,GAAIjP,GAAUX,EAAO+P,IAAIC,SAAA,IAAAvN,OAAa/C,EAAWI,KAAQ,EAEpDa,KACHA,EAAUhB,EAASkC,cAAc,OACjClB,EAAQsP,UAAYvQ,EAAWI,GAC/BE,EAAO+P,IAAIG,OAAOvP,IAGpBlB,EAAOK,GAAOa,EACdf,EAAeE,GAAOa,KAKrBlB,ECnBM,QAAS0Q,GAAAC,GAwBtB,QAASzQ,GAAMC,GACb,GAAIH,EAUJ,OARIG,KACFH,EAAMoH,EAAEjH,GAEJI,EAAOgE,OAAOqM,mBAAmC,gBAAPzQ,IAAmBH,EAAIY,OAAS,GAAoC,IAA/BL,EAAO+P,IAAIO,KAAK1Q,GAAIS,SACrGZ,EAAMO,EAAO+P,IAAIO,KAAK1Q,KAInBH,EAGT,QAASK,GAASF,EAAKH,GACrB,GAAMC,GAASM,EAAOgE,OAAO+J,UAEzBnO,IAAOA,EAAIS,OAAS,IACtBT,EAAIH,EAAW,WAAa,eAAeC,EAAO6Q,eAC9C3Q,EAAI,IAAyB,WAAnBA,EAAI,GAAG4Q,UAAsB5Q,EAAI,GAAG6Q,SAAWhR,GAEzDO,EAAOgE,OAAO+K,eAAiB/O,EAAOsG,SACxC1G,EAAII,EAAO0Q,SAAW,WAAa,eAAehR,EAAOiR,YAK/D,QAAShQ,KAEP,IAAIX,EAAOgE,OAAO0C,KAAlB,CACA,GAAAkK,GAGI5Q,EAAO+N,WAFTnO,EAAAgR,EADIC,OAIN/Q,GAFE8Q,EADOE,QAGS9Q,EAAOsN,cAAgBtN,EAAOgE,OAAOqJ,QACvDvN,EAASF,EAASI,EAAOyN,QAAUzN,EAAOgE,OAAOqJ,SAGnD,QAAS5M,GAAYb,GACnBA,EAAEiJ,mBACE7I,EAAOsN,aAAgBtN,EAAOgE,OAAO0C,MAAS1G,EAAOgE,OAAOqJ,UAChErN,EAAO+Q,YACPrR,EAAK,mBAGP,QAASoB,GAAYlB,GACnBA,EAAEiJ,mBACE7I,EAAOyN,OAAUzN,EAAOgE,OAAO0C,MAAS1G,EAAOgE,OAAOqJ,UAC1DrN,EAAOgR,YACPtR,EAAK,mBAGP,QAASkB,KACP,GAAMhB,GAASI,EAAOgE,OAAO+J,UAK7B,IAJA/N,EAAOgE,OAAO+J,WAAa8B,EAA0B7P,EAAQA,EAAOiR,eAAelD,WAAY/N,EAAOgE,OAAO+J,YAC3GC,OAAQ,qBACRC,OAAQ,uBAEJrO,EAAOoO,QAAUpO,EAAOqO,OAA9B,CACA,GAAMxO,GAAUE,EAAMC,EAAOoO,QACvBtO,EAAUC,EAAMC,EAAOqO,OAEzBxO,IAAWA,EAAQY,OAAS,GAC9BZ,EAAQ+C,GAAG,QAAS1B,GAGlBpB,GAAWA,EAAQW,OAAS,GAC9BX,EAAQ8C,GAAG,QAAS/B,GAGtBN,OAAO2I,OAAO9I,EAAO+N,YACnB8C,QAAApR,EACAuO,OAAQvO,GAAWA,EAAQ,GAC3BqR,QAAApR,EACAuO,OAAQvO,GAAWA,EAAQ,KAGxBM,EAAOsG,UACN7G,GAASA,EAAQyR,SAAStR,EAAO+Q,WACjCjR,GAASA,EAAQwR,SAAStR,EAAO+Q,aAIzC,QAASjP,KACP,GAAAyP,GAGInR,EAAO+N,WAFTnO,EAAAuR,EADIN,QAEJpR,EAAA0R,EADOL,OAILlR,IAAWA,EAAQS,SACrBT,EAAQwR,IAAI,QAAStQ,GACrBlB,EAAQyR,YAAYrR,EAAOgE,OAAO+J,WAAWwC,gBAG3C9Q,GAAWA,EAAQY,SACrBZ,EAAQ2R,IAAI,QAAS3Q,GACrBhB,EAAQ4R,YAAYrR,EAAOgE,OAAO+J,WAAWwC,gBApHjD,GAHAvQ,GAAAoQ,EADiCxM,OAEjChE,EAAAwQ,EADMkB,aAEN7R,EAAA2Q,EADY5N,GAEZ9C,EAAA0Q,EADElK,IAGFtG,IACEmO,YACEC,OAAQ,KACRC,OAAQ,KACRsD,aAAA,EACAhB,cAAe,yBACfiB,YAAa,uBACbb,UAAW,qBACXc,wBAAyB,gCAG7BzR,EAAO+N,YACLC,OAAQ,KACR6C,QAAS,KACT5C,OAAQ,KACR6C,QAAS,MAuGXrR,EAAG,OAAQ,YAAA,IACLO,EAAOgE,OAAO+J,WAAWzH,QAE3BvF,KAEAH,IACAD,OAGJlB,EAAG,8BAA+B,WAChCkB,MAEFlB,EAAG,UAAW,WACZiC,MAEFjC,EAAG,iBAAkB,WACnB,GAAAiS,GAGI1R,EAAO+N,WAFTnO,EAAA8R,EADIb,QAEJpR,EAAAiS,EADOZ,OAILlR,IACFA,EAAQI,EAAOsG,QAAU,cAAgB,YAAYtG,EAAOgE,OAAO+J,WAAW4C,WAG5ElR,GACFA,EAAQO,EAAOsG,QAAU,cAAgB,YAAYtG,EAAOgE,OAAO+J,WAAW4C,aAGlFlR,EAAG,QAAS,SAACG,EAAIH,GACf,GAAAkS,GAGI3R,EAAO+N,WAFTpO,EAAAgS,EADId,QAEJ/Q,EAAA6R,EADOb,QAGHnQ,EAAWlB,EAAEqH,MAEnB,IAAI9G,EAAOgE,OAAO+J,WAAWwD,cAAgB1K,EAAElG,GAAU8I,GAAG3J,KAAa+G,EAAElG,GAAU8I,GAAG9J,GAAU,CAChG,GAAIK,EAAO4R,YAAc5R,EAAOgE,OAAO4N,YAAc5R,EAAOgE,OAAO4N,WAAWC,YAAc7R,EAAO4R,WAAWzD,KAAOxN,GAAYX,EAAO4R,WAAWzD,GAAG2D,SAASnR,IAAY,MAC3K,IAAIf,EAEAD,GACFC,EAAWD,EAAQoS,SAAS/R,EAAOgE,OAAO+J,WAAWyD,aAC5C1R,IACTF,EAAWE,EAAQiS,SAAS/R,EAAOgE,OAAO+J,WAAWyD,cAIrD9R,GAAA,IADEE,EACG,iBAEA,kBAGHD,GACFA,EAAQqS,YAAYhS,EAAOgE,OAAO+J,WAAWyD,aAG3C1R,GACFA,EAAQkS,YAAYhS,EAAOgE,OAAO+J,WAAWyD,eAKnD,IAMMzQ,GAAU,WACdf,EAAO+P,IAAImB,SAASlR,EAAOgE,OAAO+J,WAAW0D,yBAC7C/P,IAGFvB,QAAO2I,OAAO9I,EAAO+N,YACnBkE,OAZa,WACbjS,EAAO+P,IAAIsB,YAAYrR,EAAOgE,OAAO+J,WAAW0D,yBAChD7Q,IACAD,KAUAuR,QAAAnR,EACAoR,OAAAxR,EACAyR,KAAAxR,EACAyR,QAAA3Q,IC5MW,QAAS4Q,KACtB,MAAA,IAAA7P,QADwCrC,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAU,IAC/BuB,OAAO4Q,QAAQ,cAAe,QAChDA,QAAQ,KAAM,MCCF,QAASC,GAAAC,GA+CtB,QAAShS,KACP,OAAQT,EAAOgE,OAAO4N,WAAWzD,KAAOnO,EAAO4R,WAAWzD,KAAOnO,EAAO4R,WAAW7B,KAAwC,IAAjC/P,EAAO4R,WAAW7B,IAAI1P,OAGlH,QAASS,GAAelB,EAAWH,GACjC,GACEC,GACEM,EAAOgE,OAAO4N,WAFZc,iBAGN9S,GAAUH,KAAYyR,SAAA,GAAAzO,OAAY/C,EAAA,KAAA+C,OAAqBhD,IAAYA,KAAYyR,SAAA,GAAAzO,OAAY/C,EAAA,KAAA+C,OAAqBhD,EAAA,KAAAgD,OAAYhD,IAG9H,QAASmB,KAEP,GAAMhB,GAAMI,EAAO2S,IACblT,EAASO,EAAOgE,OAAO4N,UAC7B,KAAInR,IAAJ,CACA,GAGIiB,GAHE/B,EAAeK,EAAOuN,SAAWvN,EAAOgE,OAAOuJ,QAAQjH,QAAUtG,EAAOuN,QAAQC,OAAOnN,OAASL,EAAOwN,OAAOnN,OAC9GO,EAAMZ,EAAO4R,WAAW7B,IAGxBhP,EAAQf,EAAOgE,OAAO0C,KAAOnC,KAAKqO,MAAMjT,EAAqC,EAAtBK,EAAO6S,cAAoB7S,EAAOgE,OAAOoJ,gBAAkBpN,EAAOuO,SAASlO,MAkBxI,IAhBIL,EAAOgE,OAAO0C,MAChBhF,EAAU6C,KAAKqO,MAAM5S,EAAOgG,YAAchG,EAAO6S,cAAgB7S,EAAOgE,OAAOoJ,gBAE3E1L,EAAU/B,EAAe,EAA0B,EAAtBK,EAAO6S,eACtCnR,GAAW/B,EAAqC,EAAtBK,EAAO6S,cAG/BnR,EAAUX,EAAQ,IAAGW,GAAWX,GAChCW,EAAU,GAAsC,YAAjC1B,EAAOgE,OAAO8O,iBAA8BpR,EAAUX,EAAQW,IAEjFA,MAAA,KADgB1B,EAAO+S,UACb/S,EAAO+S,UAEP/S,EAAOgG,aAAe,EAId,YAAhBvG,EAAOyH,MAAsBlH,EAAO4R,WAAWoB,SAAWhT,EAAO4R,WAAWoB,QAAQ3S,OAAS,EAAG,CAClG,GACIV,GACAc,EACAM,EAHErB,EAAUM,EAAO4R,WAAWoB,OA0BlC,IArBIvT,EAAOwT,iBACTnT,EAAaJ,EAAQwT,GAAG,GAAGlT,EAAO8K,eAAiB,aAAe,gBAAA,GAClElK,EAAIuS,IAAInT,EAAO8K,eAAiB,QAAU,SAAahL,GAAcL,EAAO2T,mBAAqB,GAA7C,MAEhD3T,EAAO2T,mBAAqB,OAAA,KAAKpT,EAAOiG,gBAC1CtF,GAAsBe,GAAW1B,EAAOiG,cAAgBjG,EAAO6S,cAAgB,GAE3ElS,EAAqBlB,EAAO2T,mBAAqB,EACnDzS,EAAqBlB,EAAO2T,mBAAqB,EACxCzS,EAAqB,IAC9BA,EAAqB,IAIzBhB,EAAa4E,KAAKC,IAAI9C,EAAUf,EAAoB,GACpDF,EAAYd,GAAc4E,KAAKE,IAAI/E,EAAQW,OAAQZ,EAAO2T,oBAAsB,GAChFrS,GAAYN,EAAYd,GAAc,GAGxCD,EAAQ2R,aAAa,GAAI,QAAS,aAAc,QAAS,aAAc,SAASgC,IAAI,SAAArT,GAAA,MAAA,GAAAyC,OAAahD,EAAOiT,mBAAAjQ,OAAoBzC,KAAUsT,KAAK,MAEvI1S,EAAIP,OAAS,EACfX,EAAQ6T,KAAK,SAAAvT,GACX,GAAMJ,GAAUiH,EAAE7G,GACZN,EAAcE,EAAQ4T,OAExB9T,KAAgBgC,GAClB9B,EAAQsR,SAASzR,EAAOiT,mBAGtBjT,EAAOwT,iBACLvT,GAAeC,GAAcD,GAAee,GAC9Cb,EAAQsR,SAAA,GAAAzO,OAAYhD,EAAOiT,kBAAA,UAGzBhT,IAAgBC,GAClBmB,EAAelB,EAAS,QAGtBF,IAAgBe,GAClBK,EAAelB,EAAS,eAIzB,CACL,GAAMA,GAAUF,EAAQwT,GAAGxR,GACrB5B,EAAcF,EAAQ4T,OAG5B,IAFA5T,EAAQsR,SAASzR,EAAOiT,mBAEpBjT,EAAOwT,eAAgB,CAIzB,IAAK,GAHCrT,GAAwBF,EAAQwT,GAAGvT,GACnCgB,EAAuBjB,EAAQwT,GAAGzS,GAE/BT,EAAIL,EAAYK,GAAKS,EAAWT,GAAK,EAC5CN,EAAQwT,GAAGlT,GAAGkR,SAAA,GAAAzO,OAAYhD,EAAOiT,kBAAA,SAGnC,IAAI1S,EAAOgE,OAAO0C,KAChB,GAAI5G,GAAeJ,EAAQW,OAAQ,CACjC,IAAK,GAAIL,GAAIP,EAAO2T,mBAAoBpT,GAAK,EAAGA,GAAK,EACnDN,EAAQwT,GAAGxT,EAAQW,OAASL,GAAGkR,SAAA,GAAAzO,OAAYhD,EAAOiT,kBAAA,SAGpDhT,GAAQwT,GAAGxT,EAAQW,OAASZ,EAAO2T,mBAAqB,GAAGlC,SAAA,GAAAzO,OAAYhD,EAAOiT,kBAAA,cAE9E5R,GAAelB,EAAuB,QACtCkB,EAAeH,EAAsB,YAGvCG,GAAelB,EAAuB,QACtCkB,EAAeH,EAAsB,SAK3C,GAAIlB,EAAOwT,eAAgB,CACzB,GAAMtT,GAAuB4E,KAAKE,IAAI/E,EAAQW,OAAQZ,EAAO2T,mBAAqB,GAC5EzS,GAAiBb,EAAaH,EAAuBG,GAAc,EAAIiB,EAAWjB,EAClFW,EAAab,EAAM,QAAU,MACnCF,GAAQyT,IAAInT,EAAO8K,eAAiBrK,EAAa,MAAA,GAAAgC,OAAU9B,EAAA,QAS/D,GALoB,aAAhBlB,EAAOyH,OACTtG,EAAI0P,KAAKgC,EAAkB7S,EAAOgU,eAAeC,KAAKjU,EAAOkU,sBAAsBjS,EAAU,IAC7Fd,EAAI0P,KAAKgC,EAAkB7S,EAAOmU,aAAaF,KAAKjU,EAAOoU,oBAAoB9S,KAG7D,gBAAhBtB,EAAOyH,KAAwB,CACjC,GAAItH,EAGFA,GADEH,EAAOqU,oBACc9T,EAAO8K,eAAiB,WAAa,aAErC9K,EAAO8K,eAAiB,aAAe,UAGhE,IAAMpL,IAASgC,EAAU,GAAKX,EAC1BpB,EAAS,EACTG,EAAS,CAEgB,gBAAzBF,EACFD,EAASD,EAETI,EAASJ,EAGXkB,EAAI0P,KAAKgC,EAAkB7S,EAAOsU,uBAAuBC,UAAA,6BAAAvR,OAAuC9C,EAAA,aAAA8C,OAAkB3C,EAAA,MAAWmU,WAAWjU,EAAOgE,OAAOC,OAGpI,WAAhBxE,EAAOyH,MAAqBzH,EAAOyU,cACrCtT,EAAIuT,KAAK1U,EAAOyU,aAAalU,EAAQ0B,EAAU,EAAGX,IAClDrB,EAAK,mBAAoBkB,EAAI,KAE7BlB,EAAK,mBAAoBkB,EAAI,IAG3BZ,EAAOgE,OAAO+K,eAAiB/O,EAAOsG,SACxC1F,EAAIZ,EAAO0Q,SAAW,WAAa,eAAejR,EAAOkR,YAI7D,QAASjP,KAEP,GAAM9B,GAASI,EAAOgE,OAAO4N,UAC7B,KAAInR,IAAJ,CACA,GAAMhB,GAAeO,EAAOuN,SAAWvN,EAAOgE,OAAOuJ,QAAQjH,QAAUtG,EAAOuN,QAAQC,OAAOnN,OAASL,EAAOwN,OAAOnN,OAC9GV,EAAMK,EAAO4R,WAAW7B,IAC1BjQ,EAAiB,EAErB,IAAoB,YAAhBF,EAAOsH,KAAoB,CAC7B,GAAIxH,GAAkBM,EAAOgE,OAAO0C,KAAOnC,KAAKqO,MAAMnT,EAAqC,EAAtBO,EAAO6S,cAAoB7S,EAAOgE,OAAOoJ,gBAAkBpN,EAAOuO,SAASlO,MAE5IL,GAAOgE,OAAOkG,UAAYlK,EAAOgE,OAAOkG,SAAS5D,UAAYtG,EAAOgE,OAAO0C,MAAQhH,EAAkBD,IACvGC,EAAkBD,EAGpB,KAAK,GAAIA,GAAI,EAAGA,EAAIC,EAAiBD,GAAK,EACpCG,EAAOwU,aACTtU,GAAkBF,EAAOwU,aAAa5S,KAAKxB,EAAQP,EAAGG,EAAOyU,aAE7DvU,GAAA,IAAA2C,OAAsB7C,EAAO0U,cAAA,YAAA7R,OAAwB7C,EAAOyU,YAAA,QAAA5R,OAAkB7C,EAAO0U,cAAA,IAIzF3U,GAAIwU,KAAKrU,GACTE,EAAO4R,WAAWoB,QAAUrT,EAAI2Q,KAAKgC,EAAkB1S,EAAOyU,cAG5C,aAAhBzU,EAAOsH,OAEPpH,EADEF,EAAO2U,eACQ3U,EAAO2U,eAAe/S,KAAKxB,EAAQJ,EAAO6T,aAAc7T,EAAOgU,YAAA,gBAAAnR,OAE/C7C,EAAO6T,aAAA,6BAAAhR,OAAkD7C,EAAOgU,WAAA,aAGnGjU,EAAIwU,KAAKrU,IAGS,gBAAhBF,EAAOsH,OAEPpH,EADEF,EAAO4U,kBACQ5U,EAAO4U,kBAAkBhT,KAAKxB,EAAQJ,EAAOmU,sBAAA,gBAAAtR,OAE7B7C,EAAOmU,qBAAA,aAG1CpU,EAAIwU,KAAKrU,IAGS,WAAhBF,EAAOsH,MACTxH,EAAK,mBAAoBM,EAAO4R,WAAW7B,IAAI,KAInD,QAAShP,KACPf,EAAOgE,OAAO4N,WAAa/B,EAA0B7P,EAAQA,EAAOiR,eAAeW,WAAY5R,EAAOgE,OAAO4N,YAC3GzD,GAAI,qBAEN,IAAMvO,GAASI,EAAOgE,OAAO4N,UAC7B,IAAKhS,EAAOuO,GAAZ,CACA,GAAI1O,GAAMoH,EAAEjH,EAAOuO,GACA,KAAf1O,EAAIY,SAEJL,EAAOgE,OAAOqM,mBAA0C,gBAAdzQ,GAAOuO,IAAmB1O,EAAIY,OAAS,IACnFZ,EAAMO,EAAO+P,IAAIO,KAAK1Q,EAAOuO,IAEzB1O,EAAIY,OAAS,IACfZ,EAAMA,EAAI8B,OAAO,SAAA3B,GAAA,MACXiH,GAAEjH,GAAI6U,QAAQ,WAAW,KAAOzU,EAAOmO,OAM7B,YAAhBvO,EAAOsH,MAAsBtH,EAAOiS,WACtCpS,EAAIyR,SAAStR,EAAO8U,gBAGtBjV,EAAIyR,SAAStR,EAAO+U,cAAgB/U,EAAOsH,MAC3CzH,EAAIyR,SAASlR,EAAO8K,eAAiBlL,EAAOgV,gBAAkBhV,EAAOiV,eAEjD,YAAhBjV,EAAOsH,MAAsBtH,EAAOqT,iBACtCxT,EAAIyR,SAAA,GAAAzO,OAAY7C,EAAO+U,eAAAlS,OAAgB7C,EAAOsH,KAAA,aAC9CvG,EAAqB,EAEjBf,EAAOwT,mBAAqB,IAC9BxT,EAAOwT,mBAAqB,IAIZ,gBAAhBxT,EAAOsH,MAA0BtH,EAAOkU,qBAC1CrU,EAAIyR,SAAStR,EAAOkV,0BAGlBlV,EAAOiS,WACTpS,EAAI+C,GAAG,QAAS8P,EAAkB1S,EAAOyU,aAAc,SAAiBzU,GACtEA,EAAEiJ,gBACF,IAAIpJ,GAAQoH,EAAExE,MAAMmR,QAAUxT,EAAOgE,OAAOoJ,cACxCpN,GAAOgE,OAAO0C,OAAMjH,GAASO,EAAO6S,cACxC7S,EAAO4N,QAAQnO,KAInBU,OAAO2I,OAAO9I,EAAO4R,YACnB7B,IAAAtQ,EACA0O,GAAI1O,EAAI,KAGLO,EAAOsG,SACV7G,EAAIyR,SAAStR,EAAO+Q,aAIxB,QAAStP,KACP,GAAMzB,GAASI,EAAOgE,OAAO4N,UAC7B,KAAInR,IAAJ,CACA,GAAMhB,GAAMO,EAAO4R,WAAW7B,GAC9BtQ,GAAI4R,YAAYzR,EAAO4R,aACvB/R,EAAI4R,YAAYzR,EAAO+U,cAAgB/U,EAAOsH,MAC9CzH,EAAI4R,YAAYrR,EAAO8K,eAAiBlL,EAAOgV,gBAAkBhV,EAAOiV,eACpE7U,EAAO4R,WAAWoB,SAAWhT,EAAO4R,WAAWoB,QAAQ3B,aAAarR,EAAO4R,WAAWoB,QAAQ3B,YAAYzR,EAAO8S,mBAEjH9S,EAAOiS,WACTpS,EAAI2R,IAAI,QAASkB,EAAkB1S,EAAOyU,eA1U9C,GAwCIvU,GA3CJE,EAAAyS,EADiC7O,OAEjChE,EAAA6S,EADMnB,aAEN7R,EAAAgT,EADYjQ,GAEZ9C,EAAA+S,EADEvM,KAGIvG,EAAM,mBACZC,IACEgS,YACEzD,GAAI,KACJmG,cAAe,OACfzC,WAAA,EACAN,aAAA,EACA6C,aAAc,KACdI,kBAAmB,KACnBD,eAAgB,KAChBL,aAAc,KACdJ,qBAAA,EACA5M,KAAM,UAEN+L,gBAAA,EACAG,mBAAoB,EACpBO,sBAAuB,SAAA3T,GAAA,MAAUA,IACjC6T,oBAAqB,SAAA7T,GAAA,MAAUA,IAC/BqU,YAAA,GAAA5R,OAAgB9C,EAAA,WAChB+S,kBAAA,GAAAjQ,OAAsB9C,EAAA,kBACtBgV,cAAA,GAAAlS,OAAkB9C,EAAA,KAClB8T,aAAA,GAAAhR,OAAiB9C,EAAA,YACjBiU,WAAA,GAAAnR,OAAe9C,EAAA,UACf6R,YAAA,GAAA/O,OAAgB9C,EAAA,WAChBoU,qBAAA,GAAAtR,OAAyB9C,EAAA,qBACzBmV,yBAAA,GAAArS,OAA6B9C,EAAA,yBAC7B+U,eAAA,GAAAjS,OAAmB9C,EAAA,cACnBgR,UAAA,GAAAlO,OAAc9C,EAAA,SACdiV,gBAAA,GAAAnS,OAAoB9C,EAAA,eACpBkV,cAAA,GAAApS,OAAkB9C,EAAA,aAClBoV,wBAAA,GAAAtS,OAA4B9C,EAAA,gBAGhCK,EAAO4R,YACLzD,GAAI,KACJ4B,IAAK,KACLiD,WAGF,IAAIrS,GAAqB,CAqSzBlB,GAAG,OAAQ,YAAA,IACLO,EAAOgE,OAAO4N,WAAWtL,QAE3B7E,KAEAV,IACAW,IACAd,OAGJnB,EAAG,oBAAqB,YAClBO,EAAOgE,OAAO0C,UAAA,KAEA1G,EAAO+S,YADvBnS,MAKJnB,EAAG,kBAAmB,WACfO,EAAOgE,OAAO0C,MACjB9F,MAGJnB,EAAG,qBAAsB,WACnBO,EAAOgE,OAAO0C,OAChBhF,IACAd,OAGJnB,EAAG,uBAAwB,WACpBO,EAAOgE,OAAO0C,OACjBhF,IACAd,OAGJnB,EAAG,UAAW,WACZ4B,MAEF5B,EAAG,iBAAkB,WACnB,GACEG,GACEI,EAAO4R,WAFL7B,GAIFnQ,IACFA,EAAII,EAAOsG,QAAU,cAAgB,YAAYtG,EAAOgE,OAAO4N,WAAWjB,aAG9ElR,EAAG,cAAe,WAChBmB,MAEFnB,EAAG,QAAS,SAACG,EAAIH,GACT,GAAAE,GAAWF,EAAEqH,OAEjBhH,EACEE,EAAO4R,WAFL7B,GAIN,IAAI/P,EAAOgE,OAAO4N,WAAWzD,IAAMnO,EAAOgE,OAAO4N,WAAWL,aAAezR,GAAOA,EAAIO,OAAS,IAAMwG,EAAElH,GAAUoS,SAAS/R,EAAOgE,OAAO4N,WAAWyC,aAAc,CAC/J,GAAIrU,EAAO+N,aAAe/N,EAAO+N,WAAWC,QAAUrO,IAAaK,EAAO+N,WAAWC,QAAUhO,EAAO+N,WAAWE,QAAUtO,IAAaK,EAAO+N,WAAWE,QAAS,MACnK,IAAMrO,GAAWE,EAAIiS,SAAS/R,EAAOgE,OAAO4N,WAAWJ,YAGrD9R,IAAA,IADEE,EACG,iBAEA,kBAGPE,EAAIkS,YAAYhS,EAAOgE,OAAO4N,WAAWJ,eAI7C,IAYM/P,GAAU,WACdzB,EAAO+P,IAAImB,SAASlR,EAAOgE,OAAO4N,WAAWmD,yBAEzC/U,EAAO4R,WAAW7B,KACpB/P,EAAO4R,WAAW7B,IAAImB,SAASlR,EAAOgE,OAAO4N,WAAWmD,yBAG1D1T,IAGFlB,QAAO2I,OAAO9I,EAAO4R,YACnBK,OAvBa,WACbjS,EAAO+P,IAAIsB,YAAYrR,EAAOgE,OAAO4N,WAAWmD,yBAE5C/U,EAAO4R,WAAW7B,KACpB/P,EAAO4R,WAAW7B,IAAIsB,YAAYrR,EAAOgE,OAAO4N,WAAWmD,yBAG7DhU,IACAW,IACAd,KAeAsR,QAAAzQ,EACAuT,OAAAtT,EACAyQ,OAAAvR,EACAwR,KAAArR,EACAsR,QAAAhR,IClbW,QAAS4T,GAAAC,GAmCtB,QAASzT,KACP,GAAKzB,EAAOgE,OAAOmR,UAAUhH,IAAOnO,EAAOmV,UAAUhH,GAArD,CACA,GACEvO,GAGEI,EAJEmV,UAEU1V,EAEZO,EAFFqK,aACA3K,EACEM,EAFeyP,SAIjB9P,EAEEC,EAHEwV,QAEJtV,EACEF,EAFKmQ,IAGHtP,EAAST,EAAOgE,OAAOmR,UACzBvU,EAAUD,EACVe,GAAUZ,EAAYH,GAAYjB,CAElCD,IACFiC,GAAUA,EAENA,EAAS,GACXd,EAAUD,EAAWe,EACrBA,EAAS,IACCA,EAASf,EAAWG,IAC9BF,EAAUE,EAAYY,IAEfA,EAAS,GAClBd,EAAUD,EAAWe,EACrBA,EAAS,GACAA,EAASf,EAAWG,IAC7BF,EAAUE,EAAYY,GAGpB1B,EAAO8K,gBACTnL,EAAQqU,UAAA,eAAAvR,OAAyBf,EAAA,cACjC/B,EAAQ,GAAG6D,MAAM6R,MAAA,GAAA5S,OAAW7B,EAAA,QAE5BjB,EAAQqU,UAAA,oBAAAvR,OAA8Bf,EAAA,WACtC/B,EAAQ,GAAG6D,MAAM8R,OAAA,GAAA7S,OAAY7B,EAAA,OAG3BH,EAAO8U,OACTC,aAAazU,GACbjB,EAAI,GAAG0D,MAAMiS,QAAU,EACvB1U,EAAU4B,WAAW,WACnB7C,EAAI,GAAG0D,MAAMiS,QAAU,EACvB3V,EAAImU,WAAW,MACd,OASP,QAAS3R,KACP,GAAKtC,EAAOgE,OAAOmR,UAAUhH,IAAOnO,EAAOmV,UAAUhH,GAArD,CACA,GACEvO,GACEI,EAFEmV,UAIJ1V,EAEEG,EAHEwV,QAEJ1V,EACEE,EAFKmQ,GAGTtQ,GAAQ,GAAG+D,MAAM6R,MAAQ,GACzB5V,EAAQ,GAAG+D,MAAM8R,OAAS,GAC1BxU,EAAYd,EAAO8K,eAAiBpL,EAAI,GAAG0O,YAAc1O,EAAI,GAAGgW,aAChE9U,EAAUZ,EAAO2V,MAAQ3V,EAAO4V,YAAc5V,EAAOgE,OAAO6R,oBAAsB7V,EAAOgE,OAAO0K,eAAiB1O,EAAOuO,SAAS,GAAK,IAGpI5N,EADuC,SAArCX,EAAOgE,OAAOmR,UAAUW,SACfhV,EAAYF,EAEZmV,SAAS/V,EAAOgE,OAAOmR,UAAUW,SAAU,IAGpD9V,EAAO8K,eACTrL,EAAQ,GAAG+D,MAAM6R,MAAA,GAAA5S,OAAW9B,EAAA,MAE5BlB,EAAQ,GAAG+D,MAAM8R,OAAA,GAAA7S,OAAY9B,EAAA,MAI7BjB,EAAI,GAAG8D,MAAMwS,QADXpV,GAAW,EACU,OAEA,GAGrBZ,EAAOgE,OAAOmR,UAAUI,OAC1B7V,EAAI,GAAG8D,MAAMiS,QAAU,GAGrBzV,EAAOgE,OAAO+K,eAAiB/O,EAAOsG,SACxC1G,EAAUmQ,IAAI/P,EAAO0Q,SAAW,WAAa,eAAe1Q,EAAOgE,OAAOmR,UAAUxE,YAIxF,QAASzO,GAAmBtC,GAC1B,MAAII,GAAO8K,eACS,eAAXlL,EAAEsH,MAAoC,cAAXtH,EAAEsH,KAAuBtH,EAAEuI,cAAc,GAAG8N,QAAUrW,EAAEqW,QAG1E,eAAXrW,EAAEsH,MAAoC,cAAXtH,EAAEsH,KAAuBtH,EAAEuI,cAAc,GAAG+N,QAAUtW,EAAEsW,QAG5F,QAAS3N,GAAgB3I,GACvB,GAOIa,GANFhB,EAEEO,EAHEmV,UAEUzV,EACZM,EADFqK,aAGA1K,EACEF,EAFEsQ,GAINtP,IAAiByB,EAAmBtC,GAAKD,EAAIwW,SAASnW,EAAO8K,eAAiB,OAAS,QAA2B,OAAjBhL,EAAwBA,EAAea,EAAW,KAAOG,EAAYH,GACtKF,EAAgB8D,KAAKC,IAAID,KAAKE,IAAIhE,EAAe,GAAI;4BAEjDf,IACFe,EAAgB,EAAIA,EAGtB,IAAMG,GAAWZ,EAAO2K,gBAAkB3K,EAAO0K,eAAiB1K,EAAO2K,gBAAkBlK,CAC3FT,GAAOyM,eAAe7L,GACtBZ,EAAO0M,aAAa9L,GACpBZ,EAAOsM,oBACPtM,EAAOuM,sBAGT,QAAS3J,GAAYhD,GACb,GAAAH,GAASO,EAAOgE,OAAOmR,UAE3BxV,EAEEK,EAHEmV,UAEJxU,EACEX,EAFOyL,WAIThL,EAEEd,EAHEoQ,IAEJjP,EACEnB,EAFCyV,OAGL1T,IAAA,EACA5B,EAAeF,EAAEkH,SAAWhG,EAAQ,IAAMlB,EAAEkH,SAAWhG,EAAUoB,EAAmBtC,GAAKA,EAAEkH,OAAOsP,wBAAwBpW,EAAO8K,eAAiB,OAAS,OAAS,KACpKlL,EAAEiJ,iBACFjJ,EAAEyL,kBACF1K,EAAWsT,WAAW,KACtBnT,EAAQmT,WAAW,KACnB1L,EAAgB3I,GAChB4V,aAAanU,GACbZ,EAAIwT,WAAW,GAEXxU,EAAO8V,MACT9U,EAAI0S,IAAI,UAAW,GAGjBnT,EAAOgE,OAAOyC,SAChBzG,EAAOyL,WAAW0H,IAAI,mBAAoB,QAG5CzT,EAAK,qBAAsBE,GAG7B,QAASmD,GAAWnD,GAClB,GACEH,GAEEO,EAHEmV,UAEJxV,EACEK,EAFOyL,WAIT3L,EAEEL,EAHEsQ,IAEJpP,EACElB,EAFC2V,OAGA1T,KACD9B,EAAEiJ,eAAgBjJ,EAAEiJ,iBAAsBjJ,EAAEyW,aAAA,EAChD9N,EAAgB3I,GAChBD,EAAWsU,WAAW,GACtBnU,EAAImU,WAAW,GACftT,EAAQsT,WAAW,GACnBvU,EAAK,oBAAqBE,IAG5B,QAASsD,GAAUtD,GACX,GAAAH,GAASO,EAAOgE,OAAOmR,UAE3BxV,EAEEK,EAHEmV,UAEJrV,EACEE,EAFOyL,WAIT9K,EACEhB,EAFEoQ,GAGDrO,KACLA,GAAA,EAEI1B,EAAOgE,OAAOyC,UAChBzG,EAAOyL,WAAW0H,IAAI,mBAAoB,IAC1CrT,EAAWmU,WAAW,KAGpBxU,EAAO8V,OACTC,aAAanU,GACbA,EAAcqB,EAAS,WACrB/B,EAAIwS,IAAI,UAAW,GACnBxS,EAAIsT,WAAW,MACd,MAGLvU,EAAK,mBAAoBE,GAErBH,EAAO6W,eACTtW,EAAOuW,kBAIX,QAAShT,GAAO3D,GACd,GACEH,GAKEO,EANEmV,UAEJzV,EAIEM,EALOwW,iBAET1W,EAGEE,EAJcyW,mBAEhB9V,EAEEX,EAHgBgE,OAElBvD,EACET,EAFI0W,QAGF5V,EAAMrB,EAAUsQ,GACtB,IAAKjP,EAAL,CACA,GAAMF,GAASE,EAAI,GACbY,KAAiBjB,EAAQ6E,kBAAmB3E,EAAOgW,oBACvDC,SAAA,EACAC,SAAA,GAEI9V,KAAkBN,EAAQ6E,kBAAmB3E,EAAOgW,oBACxDC,SAAA,EACAC,SAAA,EAEF,IAAKjW,EAAL,CACA,GAAMS,GAAyB,OAAXzB,EAAkB,mBAAqB,qBAEtDa,GAAQ2E,OAKXxE,EAAOS,GAAa3B,EAAiBoX,MAAOlU,EAAalB,GACzDd,EAAOS,GAAa3B,EAAiBqX,KAAMhU,EAAYrB,GACvDd,EAAOS,GAAa3B,EAAiBsX,IAAK9T,EAAWnC,KANrDH,EAAOS,GAAavB,EAAmBgX,MAAOlU,EAAalB,GAC3D/B,EAAS0B,GAAavB,EAAmBiX,KAAMhU,EAAYrB,GAC3D/B,EAAS0B,GAAavB,EAAmBkX,IAAK9T,EAAWnC,MAkB7D,QAAS2C,KACP,GACE9D,GAEEI,EAHEmV,UAEC1V,EACHO,EADF+P,GAEF/P,GAAOgE,OAAOmR,UAAYtF,EAA0B7P,EAAQA,EAAOiR,eAAekE,UAAWnV,EAAOgE,OAAOmR,WACzGhH,GAAI,oBAEN,IAAMzO,GAASM,EAAOgE,OAAOmR,SAC7B,IAAKzV,EAAOyO,GAAZ,CACA,GAAIxO,GAAMkH,EAAEnH,EAAOyO,GAEfnO,GAAOgE,OAAOqM,mBAA0C,gBAAd3Q,GAAOyO,IAAmBxO,EAAIU,OAAS,GAA0C,IAArCZ,EAAU6Q,KAAK5Q,EAAOyO,IAAI9N,SAClHV,EAAMF,EAAU6Q,KAAK5Q,EAAOyO,KAG9BxO,EAAIuR,SAASlR,EAAO8K,eAAiBpL,EAAOkV,gBAAkBlV,EAAOmV,cACrE,IAAI/U,GAAUH,EAAI2Q,KAAA,IAAA7N,OAASzC,EAAOgE,OAAOmR,UAAU8B,WAE5B,KAAnBnX,EAAQO,SACVP,EAAU+G,EAAA,eAAApE,OAAiBzC,EAAOgE,OAAOmR,UAAU8B,UAAA,aACnDtX,EAAIuQ,OAAOpQ,IAGbK,OAAO2I,OAAOlJ,GACZmQ,IAAApQ,EACAwO,GAAIxO,EAAI,GACRyV,QAAAtV,EACAoX,OAAQpX,EAAQ,KAGdJ,EAAOyX,WAxCNnX,EAAOgE,OAAOmR,UAAUhH,IAAOnO,EAAOmV,UAAUhH,IACrD5K,EAAO,MA2CH5D,GACFA,EAAIK,EAAOsG,QAAU,cAAgB,YAAYtG,EAAOgE,OAAOmR,UAAUxE,YAI7E,QAAS1L,KACP,GAAMrF,GAASI,EAAOgE,OAAOmR,UACvB1V,EAAMO,EAAOmV,UAAUpF,GAEzBtQ,IACFA,EAAI4R,YAAYrR,EAAO8K,eAAiBlL,EAAOgV,gBAAkBhV,EAAOiV,eAjDrE7U,EAAOgE,OAAOmR,UAAUhH,IAAOnO,EAAOmV,UAAUhH,IACrD5K,EAAO,OAtRT,GAMIzD,GACAa,EACAG,EACAF,EAZJZ,EAAAkV,EADgCtR,OAEhChE,EAAAsV,EADM5D,aAEN7R,EAAAyV,EADY1S,GAEZ9C,EAAAwV,EADEhP,KAGIvG,EAAWc,IACbiB,GAAA,EACAX,EAAU,KACVM,EAAc,IAKlBzB,IACEuV,WACEhH,GAAI,KACJ2H,SAAU,OACVP,MAAA,EACA4B,WAAA,EACAb,eAAA,EACA3F,UAAW,wBACXsG,UAAW,wBACXG,uBAAwB,4BACxBxC,gBAAiB,8BACjBC,cAAe,+BAGnB7U,EAAOmV,WACLhH,GAAI,KACJ+I,OAAQ,KACRnH,IAAK,KACLqF,QAAS,MAgTX3V,EAAG,OAAQ,YAAA,IACLO,EAAOgE,OAAOmR,UAAU7O,QAE1B+Q,KAEA3T,IACApB,IACAb,OAGJhC,EAAG,2CAA4C,WAC7C6C,MAEF7C,EAAG,eAAgB,WACjBgC,MAEFhC,EAAG,gBAAiB,SAACG,EAAIH,IA5QzB,SAAuBG,GAChBI,EAAOgE,OAAOmR,UAAUhH,IAAOnO,EAAOmV,UAAUhH,IACrDnO,EAAOmV,UAAUC,QAAQnB,WAAWrU,IA2QtBH,KAEhBA,EAAG,iBAAkB,WACnB,GACEG,GACEI,EAAOmV,UAFLpF,GAIFnQ,IACFA,EAAII,EAAOsG,QAAU,cAAgB,YAAYtG,EAAOgE,OAAOmR,UAAUxE,aAG7ElR,EAAG,UAAW,WACZwF,KAGF,IAYMoS,GAAU,WACdrX,EAAO+P,IAAImB,SAASlR,EAAOgE,OAAOmR,UAAUiC,wBAExCpX,EAAOmV,UAAUpF,KACnB/P,EAAOmV,UAAUpF,IAAImB,SAASlR,EAAOgE,OAAOmR,UAAUiC,wBAGxDnS,IAGF9E,QAAO2I,OAAO9I,EAAOmV,WACnBlD,OAvBa,WACbjS,EAAO+P,IAAIsB,YAAYrR,EAAOgE,OAAOmR,UAAUiC,wBAE3CpX,EAAOmV,UAAUpF,KACnB/P,EAAOmV,UAAUpF,IAAIsB,YAAYrR,EAAOgE,OAAOmR,UAAUiC,wBAG3D1T,IACApB,IACAb,KAeAyQ,QAAAmF,EACAhO,WAAA/G,EACAoK,aAAAjL,EACA2Q,KAAA1O,EACA2O,QAAApN,IC9YW,QAASqS,GAAAC,GAwBtB,QAAS5W,GAAYf,GAAyB,GAAlBH,KAAAW,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GACpBT,EAASK,EAAOgE,OAAOwT,IAC7B,QAAA,KAAW5X,GACkB,IAAzBI,EAAOwN,OAAOnN,OAAlB,CACA,GACMP,GADYE,EAAOuN,SAAWvN,EAAOgE,OAAOuJ,QAAQjH,QAC7BtG,EAAOyL,WAAWuE,SAAA,IAAAvN,OAAazC,EAAOgE,OAAOyT,WAAA,8BAAAhV,OAAuC7C,EAAA,OAAaI,EAAOwN,OAAO0F,GAAGtT,GACzIa,EAAUX,EAASwQ,KAAA,IAAA7N,OAAS9C,EAAO+X,aAAA,UAAAjV,OAAqB9C,EAAOgY,YAAA,WAAAlV,OAAqB9C,EAAOiY,aAAA,OAE7F9X,EAASiS,SAASpS,EAAO+X,eAAkB5X,EAASiS,SAASpS,EAAOgY,cAAiB7X,EAASiS,SAASpS,EAAOiY,eAChHnX,EAAQS,KAAKpB,EAAS,IAGD,IAAnBW,EAAQJ,QACZI,EAAQ8S,KAAK,SAAA3T,GACX,GAAMa,GAAWoG,EAAEjH,EACnBa,GAASyQ,SAASvR,EAAOiY,aACzB,IAAM9W,GAAaL,EAASoX,KAAK,mBAC3BjX,EAAMH,EAASoX,KAAK,YACpBnW,EAASjB,EAASoX,KAAK,eACvB9W,EAAQN,EAASoX,KAAK,cACtBxW,EAAaZ,EAASqX,OAAO,UACnC9X,GAAO+X,UAAUtX,EAAS,GAAIG,GAAOE,EAAYY,EAAQX,GAAA,EAAc,WACrE,GAAI,MAAOf,GAA8CA,KAAUA,GAAWA,EAAOgE,UAAUhE,EAAO+M,UAAtG,CAoCA,GAlCIjM,GACFL,EAAS0S,IAAI,mBAAA,QAAA1Q,OAA4B3B,EAAA,OACzCL,EAASuX,WAAW,qBAEhBtW,IACFjB,EAASoX,KAAK,SAAUnW,GACxBjB,EAASuX,WAAW,gBAGlBjX,IACFN,EAASoX,KAAK,QAAS9W,GACvBN,EAASuX,WAAW,eAGlB3W,EAAWhB,QACbgB,EAAW2O,SAAS,UAAUuD,KAAK,SAAAvT,GACjC,GAAMJ,GAAUiH,EAAE7G,EAEdJ,GAAQiY,KAAK,iBACfjY,EAAQiY,KAAK,SAAUjY,EAAQiY,KAAK,gBACpCjY,EAAQoY,WAAW,kBAKrBpX,IACFH,EAASoX,KAAK,MAAOjX,GACrBH,EAASuX,WAAW,cAIxBvX,EAASyQ,SAASvR,EAAOgY,aAAatG,YAAY1R,EAAOiY,cACzD9X,EAASwQ,KAAA,IAAA7N,OAAS9C,EAAOsY,iBAAkBC,SAEvClY,EAAOgE,OAAO0C,MAAQjH,EAAiB,CACzC,GAAMG,GAAqBE,EAAS+X,KAAK,0BAErC/X,GAASiS,SAAS/R,EAAOgE,OAAOmU,qBAElCxX,EADsBX,EAAOyL,WAAWuE,SAAA,6BAAAvN,OAAsC7C,EAAA,YAAA6C,OAA6BzC,EAAOgE,OAAOmU,oBAAA,MAC/F3E,SAAA,GAG1B7S,EADwBX,EAAOyL,WAAWuE,SAAA,IAAAvN,OAAazC,EAAOgE,OAAOmU,oBAAA,8BAAA1V,OAAgD7C,EAAA,OACzF4T,SAAA,GAIhC9T,EAAK,iBAAkBI,EAAS,GAAIW,EAAS,IAEzCT,EAAOgE,OAAOoU,YAChBpY,EAAOqY,sBAGX3Y,EAAK,gBAAiBI,EAAS,GAAIW,EAAS,OAIhD,QAASA,KAeP,QAASiB,GAAW1B,GAClB,GAAIS,GACF,GAAIb,EAAWoQ,SAAA,IAAAvN,OAAahD,EAAagY,WAAA,8BAAAhV,OAAuCzC,EAAA,OAAWK,OACzF,OAAA,MAEG,IAAIX,EAAOM,GAAQ,OAAA,CAE1B,QAAA,EAGF,QAASe,GAAWf,GAClB,MAAIS,GACKoG,EAAE7G,GAAS6X,KAAK,2BAGlBhR,EAAE7G,GAASwT,QA7BpB,GACE5T,GAIEI,EALEyL,WAEIhM,EAGNO,EAHFgE,OACAtE,EAEEM,EAHkBwN,OAEpB7N,EACEK,EAFIgG,YAGFvF,EAAYT,EAAOuN,SAAW9N,EAAa8N,QAAQjH,QACnDxF,EAASrB,EAAa+X,KACxB5W,EAAgBnB,EAAagP,aA0BjC,IAxBsB,SAAlB7N,IACFA,EAAgB,GAqBbd,IAAoBA,GAAA,GAErBE,EAAOgE,OAAOqI,oBAChBzM,EAAWoQ,SAAA,IAAAvN,OAAahD,EAAa6Y,oBAAqB/E,KAAK,SAAAvT,GAE7DW,EADcF,EAAYoG,EAAE7G,GAAS6X,KAAK,2BAA6BhR,EAAE7G,GAASwT,eAG/E,IAAI5S,EAAgB,EACzB,IAAK,GAAIZ,GAAIL,EAAaK,EAAIL,EAAciB,EAAeZ,GAAK,EAC1D0B,EAAW1B,IAAIW,EAAYX,OAGjCW,GAAYhB,EAGd,IAAImB,EAAOyX,aACT,GAAI3X,EAAgB,GAAKE,EAAO0X,oBAAsB1X,EAAO0X,mBAAqB,EAAG,CAMnF,IAAK,GALCxY,GAASc,EAAO0X,mBAChB5Y,EAAM2E,KAAKqO,KAAKhS,GAChBnB,EAAW8E,KAAKE,IAAI9E,EAAcC,EAAM2E,KAAKC,IAAIxE,EAAQJ,GAAMF,EAAOW,QACtEP,EAAWyE,KAAKC,IAAI7E,EAAc4E,KAAKC,IAAI5E,EAAKI,GAAS,GAEtDA,EAAIL,EAAcC,EAAKI,EAAIP,EAAUO,GAAK,EAC7C0B,EAAW1B,IAAIW,EAAYX,EAIjC,KAAK,GAAIA,GAAIF,EAAUE,EAAIL,EAAaK,GAAK,EACvC0B,EAAW1B,IAAIW,EAAYX,OAE5B,CACL,GAAMA,GAAYJ,EAAWoQ,SAAA,IAAAvN,OAAahD,EAAagZ,gBACnDzY,GAAUK,OAAS,GAAGM,EAAYI,EAAWf,GACjD,IAAMN,GAAYE,EAAWoQ,SAAA,IAAAvN,OAAahD,EAAaiZ,gBACnDhZ,GAAUW,OAAS,GAAGM,EAAYI,EAAWrB,KAKvD,QAASoB,KACP,GAAMlB,GAASgB,GACf,IAAKZ,IAAUA,EAAO+M,UAAtB,CACM,GAAAtN,GAAuDoH,EAAtC7G,EAAOgE,OAAOwT,KAAKmB,iBAAqB3Y,EAAOgE,OAAOwT,KAAKmB,iBAAsB/Y,GAClGF,EAAWD,EAAe,KAAOG,EACjCE,EAAqBJ,EAAWE,EAAOgJ,WAAanJ,EAAe,GAAG2O,YACtEzN,EAAsBjB,EAAWE,EAAOgZ,YAAcnZ,EAAe,GAAGiW,aACxEhU,EAAe1B,EAAO+P,IAAIoG,SAEhBpV,EACZf,EADFqK,aAEEhJ,GAAA,CACAN,KAAKW,EAAamX,MAAQ7Y,EAAO+P,IAAI,GAAGR,WAG5C,KAAK,GAFC9N,KAAgBC,EAAamX,KAAMnX,EAAaoX,MAAOpX,EAAamX,KAAO7Y,EAAOqV,MAAO3T,EAAaoX,MAAOpX,EAAamX,KAAMnX,EAAaoX,IAAM9Y,EAAOsV,SAAU5T,EAAamX,KAAO7Y,EAAOqV,MAAO3T,EAAaoX,IAAM9Y,EAAOsV,SAE7NtV,EAAI,EAAGA,EAAIyB,EAAYpB,OAAQL,GAAK,EAAG,CAC9C,GAAMJ,GAAQ6B,EAAYzB,EAE1B,IAAIJ,EAAM,IAAM,GAAKA,EAAM,IAAME,GAAsBF,EAAM,IAAM,GAAKA,EAAM,IAAMe,EAAqB,CACvG,GAAiB,IAAbf,EAAM,IAAyB,IAAbA,EAAM,GAAU,QAEtCyB,IAAA,GAIJ,GAAMiB,KAA+C,eAA7BtC,EAAO+Y,YAAYjC,QAA0B9W,EAAO0W,QAAQpR,kBAAmBtF,EAAOgE,OAAO2S,oBACnHC,SAAA,EACAC,SAAA,EAGExV,IACFZ,IACAhB,EAAe2R,IAAI,SAAUtQ,EAAmBwB,IACtC3C,IACVA,GAAA,EACAF,EAAe+C,GAAG,SAAU1B,EAAmBwB,KA/MnD,GAHAtC,GAAAuX,EAD2B3T,OAE3BhE,EAAA2X,EADMjG,aAEN7R,EAAA8X,EADY/U,GAEZ9C,EAAA6X,EADErR,IAGFtG,IACE4X,MACEwB,aAAA,EACA1S,SAAA,EACAiS,cAAA,EACAC,mBAAoB,EACpBS,uBAAA,EACAN,iBAAkB,GAClBjB,aAAc,cACdE,aAAc,sBACdD,YAAa,qBACbM,eAAgB,2BAGpBjY,EAAOwX,OACP,IAAI7X,IAAA,EACAG,GAAA,CAiMJL,GAAG,aAAc,WACXO,EAAOgE,OAAOwT,KAAKlR,SAAWtG,EAAOgE,OAAOkV,gBAC9ClZ,EAAOgE,OAAOkV,eAAA,KAGlBzZ,EAAG,OAAQ,WACLO,EAAOgE,OAAOwT,KAAKlR,UACjBtG,EAAOgE,OAAOwT,KAAKwB,YACrBlY,IAEAL,OAINhB,EAAG,SAAU,WACPO,EAAOgE,OAAOkG,UAAYlK,EAAOgE,OAAOkG,SAAS5D,UAAYtG,EAAOgE,OAAOkG,SAASiP,QACtF1Y,MAGJhB,EAAG,sDAAuD,WACpDO,EAAOgE,OAAOwT,KAAKlR,UACjBtG,EAAOgE,OAAOwT,KAAKwB,YACrBlY,IAEAL,OAINhB,EAAG,kBAAmB,WAChBO,EAAOgE,OAAOwT,KAAKlR,UACjBtG,EAAOgE,OAAOwT,KAAKyB,wBAA0BjZ,EAAOgE,OAAOwT,KAAKyB,wBAA0BnZ,KACxFE,EAAOgE,OAAOwT,KAAKwB,YACrBlY,IAEAL,OAKRhB,EAAG,gBAAiB,WACdO,EAAOgE,OAAOwT,KAAKlR,UAAYtG,EAAOgE,OAAOwT,KAAKyB,wBAChDjZ,EAAOgE,OAAOwT,KAAKwB,YACrBlY,IAEAL,OAINhB,EAAG,cAAe,WAChB,GAAA2Z,GAMIpZ,EAAOgE,OALTpE,EAAAwZ,EADI5B,KAEJ/X,EAAA2Z,EADI3S,QAEJ/G,EAAA0Z,EADO/M,oBAEP1M,EAAAyZ,EADmB5O,oBAEnB1K,EAAAsZ,EADmBlN,eAIjBtM,GAAK0G,UAAY7G,GAAWC,IAAwBC,GAA2C,IAApBG,KAC7EW,MAGJhB,EAAG,UAAW,WACPO,EAAO+P,KACZ/P,EAAO+P,IAAIO,KAAA,IAAA7N,OAASzC,EAAOgE,OAAOwT,KAAKI,eAAgBvG,YAAYrR,EAAOgE,OAAOwT,KAAKI,gBAExFzX,OAAO2I,OAAO9I,EAAOwX,MACnB6B,KAAA5Y,EACA6Y,YAAA3Y,IC1RW,QAAS4Y,GAAAC,GA2BtB,QAAS7Z,GAAOK,GACd,GAAMJ,GAAeF,CACO,KAAxBE,EAAaS,SACjBT,EAAauU,KAAK,IAClBvU,EAAauU,KAAKnU,IASpB,QAASF,GAAgBE,GACvBA,EAAI6X,KAAK,WAAY,KAGvB,QAASlX,GAAmBX,GAC1BA,EAAI6X,KAAK,WAAY,MAGvB,QAASpX,GAAUT,EAAKJ,GACtBI,EAAI6X,KAAK,OAAQjY,GAGnB,QAASkB,GAAqBd,EAAKJ,GACjCI,EAAI6X,KAAK,uBAAwBjY,GAOnC,QAASgB,GAAWZ,EAAKJ,GACvBI,EAAI6X,KAAK,aAAcjY,GAWzB,QAAS8B,GAAU1B,GACjBA,EAAI6X,KAAK,iBAAA,GAGX,QAAS9W,GAASf,GAChBA,EAAI6X,KAAK,iBAAA,GAGX,QAASxW,GAAkBzB,GACzB,GAAkB,KAAdA,EAAE6Z,SAAgC,KAAd7Z,EAAE6Z,QAA1B,CACA,GAAMha,GAASO,EAAOgE,OAAO0V,KACvBha,EAAYmH,EAAEjH,EAAEkH,OAElB9G,GAAO+N,YAAc/N,EAAO+N,WAAW8C,SAAWnR,EAAU+J,GAAGzJ,EAAO+N,WAAW8C,WAC7E7Q,EAAOyN,QAAUzN,EAAOgE,OAAO0C,MACnC1G,EAAOgR,YAIPrR,EADEK,EAAOyN,MACFhO,EAAOka,iBAEPla,EAAOma,mBAId5Z,EAAO+N,YAAc/N,EAAO+N,WAAW+C,SAAWpR,EAAU+J,GAAGzJ,EAAO+N,WAAW+C,WAC7E9Q,EAAOsN,cAAgBtN,EAAOgE,OAAO0C,MACzC1G,EAAO+Q,YAIPpR,EADEK,EAAOsN,YACF7N,EAAOoa,kBAEPpa,EAAOqa,mBAId9Z,EAAO4R,YAAclS,EAAU+J,GAAG6I,EAAkBtS,EAAOgE,OAAO4N,WAAWyC,eAC/E3U,EAAU,GAAGqa,SAgCjB,QAAStY,KACP,MAAOzB,GAAO4R,YAAc5R,EAAO4R,WAAWoB,SAAWhT,EAAO4R,WAAWoB,QAAQ3S,OAGrF,QAASiC,KACP,MAAOb,MAAmBzB,EAAOgE,OAAO4N,WAAWC,UAhJrD,GAFA7R,GAAAwZ,EAD2B5V,OAE3BhE,EAAA4Z,EADMlI,aAEN7R,EAAA+Z,EADYhX,EAGZ5C,IACE8Z,MACEpT,SAAA,EACA0T,kBAAmB,sBACnBF,iBAAkB,iBAClBF,iBAAkB,aAClBC,kBAAmB,0BACnBF,iBAAkB,yBAClBM,wBAAyB,wBACzBC,kBAAmB,+BACnBC,iBAAkB,KAClBC,gCAAiC,KACjCC,2BAA4B,KAC5BC,UAAW,QACXva,GAAI,QAGRC,EAAO0Z,MACLa,SAAA,EAEF,IAAI7a,GAAa,KAoJXwC,EAAY,SAAClC,EAAKJ,EAAWH,GACjCK,EAAgBE,GAEO,WAAnBA,EAAI,GAAGwQ,UACT/P,EAAUT,EAAK,UACfA,EAAIwC,GAAG,UAAWnB,IAGpBT,EAAWZ,EAAKP,GA7HlB,SAAuBO,EAAKJ,GAC1BI,EAAI6X,KAAK,gBAAiBjY,IA6HZI,EAAKJ,IAGf2I,EAAoB,WACxBvI,EAAO0Z,KAAKa,SAAA,GAGR7X,EAAkB,WACtBqC,sBAAsB,WACpBA,sBAAsB,WACf/E,EAAO+M,YACV/M,EAAO0Z,KAAKa,SAAA,QAMd3X,EAAc,SAAAhD,GAClB,IAAII,EAAO0Z,KAAKa,QAAhB,CACA,GAAM9a,GAAUG,EAAEkH,OAAOE,QAAA,IAAAvE,OAAYzC,EAAOgE,OAAOyT,YACnD,IAAKhY,GAAYO,EAAOwN,OAAOgN,SAAS/a,GAAxC,CACA,GAAMC,GAAWM,EAAOwN,OAAO5L,QAAQnC,KAAaO,EAAOgG,YACrDrG,EAAYK,EAAOgE,OAAOqI,qBAAuBrM,EAAOya,eAAiBza,EAAOya,cAAcD,SAAS/a,EACzGC,IAAYC,GACZC,EAAE8a,oBAAsB9a,EAAE8a,mBAAmBC,mBAE7C3a,EAAO8K,eACT9K,EAAOmO,GAAGoB,WAAa,EAEvBvP,EAAOmO,GAAGqB,UAAY,EAGxBxP,EAAO4N,QAAQ5N,EAAOwN,OAAO5L,QAAQnC,GAAU,OAG3CsD,EAAa,WACjB,GAAMnD,GAASI,EAAOgE,OAAO0V,IAEzB9Z,GAAOya,4BACTvZ,EAAqB+F,EAAE7G,EAAOwN,QAAS5N,EAAOya,4BAG5Cza,EAAO0a,WACT7Z,EAAUoG,EAAE7G,EAAOwN,QAAS5N,EAAO0a,UAGrC,IAAM7a,GAAeO,EAAOgE,OAAO0C,KAAO1G,EAAOwN,OAAOjM,OAAO,SAAA3B,GAAA,OAAOA,EAAGgb,UAAU9I,SAAS9R,EAAOgE,OAAOmU,uBAAsB9X,OAASL,EAAOwN,OAAOnN,MAEnJT,GAAOsa,mBACTla,EAAOwN,OAAO+F,KAAK,SAAC7T,EAASC,GAC3B,GAAMG,GAAW+G,EAAEnH,GACbiB,EAAaX,EAAOgE,OAAO0C,KAAOqP,SAASjW,EAAS+X,KAAK,2BAA4B,IAAMlY,CAEjGiB,GAAWd,EADcF,EAAOsa,kBAAkB3H,QAAQ,gBAAiB5R,EAAa,GAAG4R,QAAQ,uBAAwB9S,MA2FjIA,GAAG,aAAc,WACfC,EAAamH,EAAA,gBAAApE,OAAkBzC,EAAOgE,OAAO0V,KAAKM,kBAAA,yDAEpDva,EAAG,YAAa,WACTO,EAAOgE,OAAO0V,KAAKpT,SAzFb,WACX,GAAM1G,GAASI,EAAOgE,OAAO0V,IAC7B1Z,GAAO+P,IAAIG,OAAOxQ,EAElB,IAAMD,GAAeO,EAAO+P,GAExBnQ,GAAOwa,iCACTtZ,EAAqBrB,EAAcG,EAAOwa,iCAGxCxa,EAAOua,kBACTvZ,EAAWnB,EAAcG,EAAOua,iBAIlC,IA/LoB1Z,GAuMhBiB,EACAX,EATEpB,EAAaK,EAAOyL,WACpB3L,EAAYF,EAAOG,IAAMJ,EAAWkY,KAAK,OAAA,kBAAApV,OA9NjD,WAGE,MAAO,IAAIoY,OAHYza,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAO,IAGNmS,QAAQ,KAFb,WAAA,MAAMhO,MAAKuW,MAAM,GAAKvW,KAAKwW,UAAU/X,SAAS,OA6NyB,KACpFrC,EAAOX,EAAOgE,OAAO2K,UAAY3O,EAAOgE,OAAO2K,SAASrI,QAAU,MAAQ,QAjM5D7F,GAkMAX,EAAZH,EAjMJkY,KAAK,KAAMpX,GAGjB,SAAmBT,EAAKJ,GACtBI,EAAI6X,KAAK,YAAajY,IA8LZD,EAAYgB,GAEtBoC,IAKI/C,EAAO+N,YAAc/N,EAAO+N,WAAW8C,UACzCnP,EAAU1B,EAAO+N,WAAW8C,SAG1B7Q,EAAO+N,YAAc/N,EAAO+N,WAAW+C,UACzC/P,EAAUf,EAAO+N,WAAW+C,SAG1BpP,GAAWA,EAAQrB,QACrB6B,EAAUR,EAAS5B,EAAWF,EAAOga,kBAGnC7Y,GAAWA,EAAQV,QACrB6B,EAAUnB,EAASjB,EAAWF,EAAOka,kBAInCxX,KACFtC,EAAO4R,WAAW7B,IAAIvN,GAAG,UAAW8P,EAAkBtS,EAAOgE,OAAO4N,WAAWyC,aAAchT,GAI/FrB,EAAO+P,IAAIvN,GAAG,QAASI,GAAA,GACvB5C,EAAO+P,IAAIvN,GAAG,cAAe+F,GAAA,GAC7BvI,EAAO+P,IAAIvN,GAAG,YAAaE,GAAA,QA0C7BjD,EAAG,iEAAkE,WAC9DO,EAAOgE,OAAO0V,KAAKpT,SACxBvD,MAEFtD,EAAG,wCAAyC,WACrCO,EAAOgE,OAAO0V,KAAKpT,SA/N1B,WACE,IAAItG,EAAOgE,OAAO0C,OAAQ1G,EAAOgE,OAAOqJ,QAAWrN,EAAO+N,WAA1D,CACA,GAAAiN,GAGIhb,EAAO+N,WAFTnO,EAAAob,EADInK,QAEJpR,EAAAub,EADOlK,OAILrR,IAAWA,EAAQY,OAAS,IAC1BL,EAAOsN,aACT5L,EAAUjC,GACVkB,EAAmBlB,KAEnBsB,EAAStB,GACTK,EAAgBL,KAIhBG,GAAWA,EAAQS,OAAS,IAC1BL,EAAOyN,OACT/L,EAAU9B,GACVe,EAAmBf,KAEnBmB,EAASnB,GACTE,EAAgBF,WA2MtBH,EAAG,mBAAoB,WAChBO,EAAOgE,OAAO0V,KAAKpT,SA/L1B,WACE,GAAM1G,GAASI,EAAOgE,OAAO0V,IACxBjY,MACLzB,EAAO4R,WAAWoB,QAAQO,KAAK,SAAA9T,GAC7B,GAAMC,GAAYmH,EAAEpH,EAEhBO,GAAOgE,OAAO4N,WAAWC,YAC3B/R,EAAgBJ,GAEXM,EAAOgE,OAAO4N,WAAWwC,eAC5B3T,EAAUf,EAAW,UACrBkB,EAAWlB,EAAWE,EAAOqa,wBAAwB1H,QAAQ,gBAAiB7S,EAAU8T,QAAU,MAIlG9T,EAAU+J,GAAA,IAAAhH,OAAOzC,EAAOgE,OAAO4N,WAAWc,oBAC5ChT,EAAUmY,KAAK,eAAgB,QAE/BnY,EAAUsY,WAAW,uBAgL3BvY,EAAG,UAAW,WACPO,EAAOgE,OAAO0V,KAAKpT,SApD1B,WAEE,GAAI1G,GACAH,CAFAC,IAAcA,EAAWW,OAAS,GAAGX,EAAWwY,SAIhDlY,EAAO+N,YAAc/N,EAAO+N,WAAW8C,UACzCjR,EAAUI,EAAO+N,WAAW8C,SAG1B7Q,EAAO+N,YAAc/N,EAAO+N,WAAW+C,UACzCrR,EAAUO,EAAO+N,WAAW+C,SAG1BlR,GACFA,EAAQwR,IAAI,UAAW/P,GAGrB5B,GACFA,EAAQ2R,IAAI,UAAW/P,GAIrBiB,KACFtC,EAAO4R,WAAW7B,IAAIqB,IAAI,UAAWkB,EAAkBtS,EAAOgE,OAAO4N,WAAWyC,aAAchT,GAIhGrB,EAAO+P,IAAIqB,IAAI,QAASxO,GAAA,GACxB5C,EAAO+P,IAAIqB,IAAI,cAAe7I,GAAA,GAC9BvI,EAAO+P,IAAIqB,IAAI,YAAa1O,GAAA,QC/TjB,QAASuY,GAAAC,GAuBtB,QAASpb,KACP,IAAKE,EAAO2V,KAGV,MAFA3V,GAAO2O,SAASC,SAAA,OAChB5O,EAAO2O,SAASE,QAAA,EAIlB,IAAMjP,GAAiBI,EAAOwN,OAAO0F,GAAGlT,EAAOgG,aAC3CvG,EAAQO,EAAOgE,OAAO2K,SAASwM,KAE/Bvb,GAAeiY,KAAK,0BACtBpY,EAAQG,EAAeiY,KAAK,yBAA2B7X,EAAOgE,OAAO2K,SAASwM,OAGhF3F,aAAa7V,GACbA,EAAU+C,EAAS,WACjB,GAAI9C,EAEAI,GAAOgE,OAAO2K,SAASyM,iBACrBpb,EAAOgE,OAAO0C,MAChB1G,EAAO2G,UACP/G,EAAiBI,EAAO+Q,UAAU/Q,EAAOgE,OAAOC,OAAA,GAAO,GACvDvE,EAAK,aACKM,EAAOsN,YAGPtN,EAAOgE,OAAO2K,SAAS0M,gBAIjCva,KAHAlB,EAAiBI,EAAO4N,QAAQ5N,EAAOwN,OAAOnN,OAAS,EAAGL,EAAOgE,OAAOC,OAAA,GAAO,GAC/EvE,EAAK,cAJLE,EAAiBI,EAAO+Q,UAAU/Q,EAAOgE,OAAOC,OAAA,GAAO,GACvDvE,EAAK,aAOEM,EAAOgE,OAAO0C,MACvB1G,EAAO2G,UACP/G,EAAiBI,EAAOgR,UAAUhR,EAAOgE,OAAOC,OAAA,GAAO,GACvDvE,EAAK,aACKM,EAAOyN,MAGPzN,EAAOgE,OAAO2K,SAAS0M,gBAIjCva,KAHAlB,EAAiBI,EAAO4N,QAAQ,EAAG5N,EAAOgE,OAAOC,OAAA,GAAO,GACxDvE,EAAK,cAJLE,EAAiBI,EAAOgR,UAAUhR,EAAOgE,OAAOC,OAAA,GAAO,GACvDvE,EAAK,cAQHM,EAAOgE,OAAOyC,SAAWzG,EAAO2O,SAASC,UAAA,IAAwBhP,IAAfE,KAGrDL,GAGL,QAASkB,KACP,WAAA,KAAWhB,IACPK,EAAO2O,SAASC,UACpB5O,EAAO2O,SAASC,SAAA,EAChBlP,EAAK,iBACLI,KAAA,GAIF,QAASgB,KACP,QAAKd,EAAO2O,SAASC,aAAA,KACVjP,IAEPA,IACF6V,aAAa7V,GACbA,MAAA,IAGFK,EAAO2O,SAASC,SAAA,EAChBlP,EAAK,iBAAA,GAIP,QAASkB,GAAMhB,GACRI,EAAO2O,SAASC,UACjB5O,EAAO2O,SAASE,SAChBlP,GAAS6V,aAAa7V,GAC1BK,EAAO2O,SAASE,QAAA,EAEF,IAAVjP,GAAgBI,EAAOgE,OAAO2K,SAAS2M,mBAIxC,gBAAiB,uBAAuB9a,QAAQ,SAAAZ,GAC/CI,EAAOyL,WAAW,GAAGhG,iBAAiB7F,EAAOmB,MAJ/Cf,EAAO2O,SAASE,QAAA,EAChB/O,OAQJ,QAAS4B,KACP,GAAM9B,GAAWa,GAEgB,YAA7Bb,EAAS2b,iBAAgCvb,EAAO2O,SAASC,SAC3DhO,IAG+B,YAA7BhB,EAAS2b,iBAAiCvb,EAAO2O,SAASE,SAC5D/O,IACAE,EAAO2O,SAASE,QAAA,GAIpB,QAAS9N,GAAgBnB,GAClBI,IAAUA,EAAO+M,WAAc/M,EAAOyL,YACvC7L,EAAEkH,SAAW9G,EAAOyL,WAAW,MAClC,gBAAiB,uBAAuBjL,QAAQ,SAAAZ,GAC/CI,EAAOyL,WAAW,GAAG+P,oBAAoB5b,EAAOmB,KAElDf,EAAO2O,SAASE,QAAA,EAEX7O,EAAO2O,SAASC,QAGnB9O,IAFAgB,KAMJ,QAASO,KACHrB,EAAOgE,OAAO2K,SAAS8M,qBACzB3a,KAEApB,EAAK,iBACLkB,MAGD,gBAAiB,uBAAuBJ,QAAQ,SAAAZ,GAC/CI,EAAOyL,WAAW,GAAG+P,oBAAoB5b,EAAOmB,KAIpD,QAASU,KACHzB,EAAOgE,OAAO2K,SAAS8M,uBAI3Bzb,EAAO2O,SAASE,QAAA,EAChBnP,EAAK,kBACLI,KA9JF,GAEIH,GALJK,EAAAkb,EAD+BtX,OAE/BhE,EAAAsb,EADM5J,aAEN7R,EAAAyb,EADY1Y,GAEZ9C,EAAAwb,EADEhV,IAIFlG,GAAO2O,UACLC,SAAA,EACAC,QAAA,GAEFjP,GACE+O,UACErI,SAAA,EACA6U,MAAO,IACPG,mBAAA,EACAG,sBAAA,EACAJ,iBAAA,EACAD,kBAAA,EACAM,mBAAA,KA8JJjc,EAAG,OAAQ,WACLO,EAAOgE,OAAO2K,SAASrI,UACzB3F,IACiBF,IACRgF,iBAAiB,mBAAoB/D,GAf5C1B,EAAOgE,OAAO2K,SAAS+M,oBACzB1b,EAAO+P,IAAIvN,GAAG,aAAcnB,GAC5BrB,EAAO+P,IAAIvN,GAAG,aAAcf,OAiBhChC,EAAG,wBAAyB,SAACG,EAAIH,EAAOC,GAClCM,EAAO2O,SAASC,UACdlP,IAAaM,EAAOgE,OAAO2K,SAAS8M,qBACtCzb,EAAO2O,SAASgN,MAAMlc,GAEtBqB,OAINrB,EAAG,kBAAmB,WAChBO,EAAO2O,SAASC,UACd5O,EAAOgE,OAAO2K,SAAS8M,qBACzB3a,IAEAF,OAINnB,EAAG,WAAY,WACTO,EAAOgE,OAAOyC,SAAWzG,EAAO2O,SAASE,SAAW7O,EAAOgE,OAAO2K,SAAS8M,sBAC7E3b,MAGJL,EAAG,UAAW,WAnCZO,EAAO+P,IAAIqB,IAAI,aAAc/P,GAC7BrB,EAAO+P,IAAIqB,IAAI,aAAc3P,GAqCzBzB,EAAO2O,SAASC,SAClB9N,IAGeL,IACR+a,oBAAoB,mBAAoB9Z,KAEnDvB,OAAO2I,OAAO9I,EAAO2O,UACnBgN,MAAA/a,EACAkO,IAAAhP,EACAgX,MAAAnW,EACAib,KAAA9a,ICnOW,QAAS+a,GAAW7b,GACjC,GA6CI0B,GA5CF9B,EASEI,EAVE8b,OAEJrc,EAQEO,EATI4D,OAENlE,EAOEM,EARIwC,GAEN7C,EAMEK,EAPA0M,aAEF5M,EAKEE,EANUwL,cAEZ7K,EAIEX,EALW+b,gBAEbtb,EAGET,EAJagc,YAEflb,EAEEd,EAHSic,gBAEXrb,EACEZ,EAFakc,eAGjBxc,GAAG,aAAc,WACf,GAAID,EAAOuE,OAAO8X,SAAWlc,EAA7B,CACAH,EAAO0c,WAAWjb,KAAA,GAAAuB,OAAQhD,EAAOuE,OAAOoY,wBAAA3Z,OAAyB7C,IAE7Da,GAAeA,KACjBhB,EAAO0c,WAAWjb,KAAA,GAAAuB,OAAQhD,EAAOuE,OAAOoY,uBAAA,MAG1C,IAAMpc,GAAwBW,EAAkBA,MAChDR,QAAO2I,OAAOrJ,EAAOuE,OAAQhE,GAC7BG,OAAO2I,OAAOrJ,EAAOwR,eAAgBjR,MAEvCN,EAAG,eAAgB,WACbD,EAAOuE,OAAO8X,SAAWlc,GAC7BD,MAEFD,EAAG,gBAAiB,SAACM,EAAIN,GACnBD,EAAOuE,OAAO8X,SAAWlc,GAC7BE,EAAcJ,KAEhBA,EAAG,gBAAiB,WAClB,GAAID,EAAOuE,OAAO8X,SAAWlc,GAEzBkB,EAAiB,CACnB,IAAKF,IAAoBA,IAAkByb,aAAc,MAEzD5c,GAAO+N,OAAO+F,KAAK,SAAAvT,GACAP,EAAOkG,EAAE3F,GACjBsQ,KAAK,gHAAgH4H,WAGhIpX,OAIJpB,EAAG,gBAAiB,WACdD,EAAOuE,OAAO8X,SAAWlc,IAExBH,EAAO+N,OAAOnN,SACjBqB,GAAA,GAGFqD,sBAAsB,WAChBrD,GAA0BjC,EAAO+N,QAAU/N,EAAO+N,OAAOnN,SAC3DV,IACA+B,GAAA,QCzDO,QAAS4a,GAAatc,EAAcJ,GACjD,MAAII,GAAauc,YACR3c,EAAS0Q,KAAKtQ,EAAauc,aAAapJ,KAC7CqJ,sBAAuB,SACvBC,8BAA+B,WAI5B7c,ECLM,QAAS8c,GAAAC,GAGtB,GAFA3c,GAAA2c,EADiC/Y,OAEjChE,EAAA+c,EADMrL,aAEN7R,EAAAkd,EADYna,EAGZ5C,IACEgd,YACEC,WAAA,EACAN,YAAa,QA4CjBV,GACEC,OAAQ,OACRlY,OAAA5D,EACAwC,GAAA/C,EACAiN,aA5CmB,WAMnB,IAAK,GAJH9M,GACEI,EAFEwN,OAGA/N,EAASO,EAAOgE,OAAO4Y,WAEpBld,EAAI,EAAGA,EAAIE,EAAOS,OAAQX,GAAK,EAAG,CACzC,GAAME,GAAWI,EAAOwN,OAAO0F,GAAGxT,GAE9BC,GADWC,EAAS,GAAGkd,iBAEtB9c,GAAOgE,OAAO+Y,mBAAkBpd,GAAMK,EAAO+D,UAClD,IAAIjE,GAAK,CAEJE,GAAO8K,iBACVhL,EAAKH,EACLA,EAAK,EAGP,IAAMgB,GAAeX,EAAOgE,OAAO4Y,WAAWC,UAAYtY,KAAKC,IAAI,EAAID,KAAKyG,IAAIpL,EAAS,GAAG6P,UAAW,GAAK,EAAIlL,KAAKE,IAAIF,KAAKC,IAAI5E,EAAS,GAAG6P,UAAW,GAAI,EAC3I6M,GAAa7c,EAAQG,GAC7BuT,KACRsC,QAAS9U,IACRqT,UAAA,eAAAvR,OAAyB9C,EAAA,QAAA8C,OAAS3C,EAAA,eAuBvC0L,cAnBoB,SAAA5L,GACpB,GACEH,GACEO,EAAOgE,OAAO4Y,WAFZL,aAGsB9c,EAAcO,EAAOwN,OAAO8C,KAAK7Q,GAAeO,EAAOwN,QAC/DyG,WAAWrU,GC9CpB,SAAAod,GAIb,GAHAhd,GAAAgd,EADiDpZ,OAEjDhE,EAAAod,EADMC,SAENxd,EAAAud,EADQT,YAER7c,EAAAsd,EADWE,UAITvd,EAGEK,EAJEwN,OAEJ1N,EAEEE,EAHIgG,YAENrF,EACEX,EAFSyL,UAIb,IAAIzL,EAAOgE,OAAO+Y,kBAAiC,IAAbnd,EAAgB,CACpD,GACIA,GADAa,GAAA,CAIFb,GADEF,EACqBD,EAAcE,EAAO2Q,KAAK7Q,GAAeE,EAEzCF,EAAcE,EAAOuT,GAAGpT,GAAawQ,KAAK7Q,GAAeE,EAAOuT,GAAGpT,GAG5FF,EAAqBud,cAAc,WACjC,IAAI1c,GACCT,IAAUA,EAAO+M,UAAtB,CACAtM,GAAA,EACAT,EAAOuG,WAAA,CAGP,KAAK,GAFC3G,IAAiB,sBAAuB,iBAErCI,EAAI,EAAGA,EAAIJ,EAAcS,OAAQL,GAAK,EAC7CW,EAAW4B,QAAQ3C,EAAcI,UDkBnC4D,OAAA5D,EACAid,SAAArd,EACA2c,YAAA9c,EACAyd,WAAA,KAUFnB,gBAAiB,WAAA,OACftN,cAAe,EACfrB,eAAgB,EAChBf,qBAAA,EACA+Q,aAAc,EACdL,kBAAmB/c,EAAOgE,OAAOyC,YEjExB,QAAS4W,GAAard,EAAQJ,EAAUH,GACrD,GAAMC,GAAc,uBAAsBD,EAAA,IAAAgD,OAAWhD,GAAS,IACxDE,EAAmBK,EAAOuc,YAAc3c,EAAS0Q,KAAKtQ,EAAOuc,aAAe3c,EAC9EE,EAAYH,EAAiBqQ,SAAA,IAAAvN,OAAa/C,GAO9C,OALKI,GAAUO,SACbP,EAAY+G,EAAA,kCAAApE,OAAoChD,EAAA,IAAAgD,OAAWhD,GAAS,GAAA,aACpEE,EAAiBuQ,OAAOpQ,IAGnBA,ECRM,QAASwd,GAAAC,GAGtB,GAFAvd,GAAAud,EADsC3Z,OAEtChE,EAAA2d,EADMjM,aAEN7R,EAAA8d,EADY/a,EAGZ5C,IACE4d,iBACEC,OAAQ,GACRC,QAAS,EACTC,MAAO,IACPC,MAAO,EACPC,SAAU,EACVxB,cAAA,EACAE,YAAa,QA4EjBV,GACEC,OAAQ,YACRlY,OAAA5D,EACAwC,GAAA/C,EACAiN,aA5EmB,WAcnB,IAAK,GAZI9M,GAILI,EAJFqV,MACQ5V,EAGNO,EAHFsV,OACA5V,EAEEM,EAHkBwN,OAEpB7N,EACEK,EAFIkN,gBAGFpN,EAASE,EAAOgE,OAAOwZ,gBACvB7c,EAAeX,EAAO8K,eACtBrK,EAAYT,EAAO+D,UACnBjD,EAASH,EAA4Bf,EAAc,EAA1Ba,EAA2ChB,EAAe,EAA3BgB,EACxDG,EAASD,EAAeb,EAAO2d,QAAU3d,EAAO2d,OAChD/b,EAAY5B,EAAO6d,MAEhB3d,EAAI,EAAGJ,EAASF,EAAOW,OAAQL,EAAIJ,EAAQI,GAAK,EAAG,CAC1D,GAAMJ,GAAWF,EAAOwT,GAAGlT,GACrBP,EAAYE,EAAgBK,GAE5BS,GAAgBK,EADFlB,EAAS,GAAGkd,kBACard,EAAY,GAAKA,EACxDsB,EAA8C,kBAApBjB,GAAO+d,SAA0B/d,EAAO+d,SAASpd,GAAgBA,EAAeX,EAAO+d,SACnHxc,EAAUV,EAAeC,EAASG,EAAmB,EACrDU,EAAUd,EAAe,EAAIC,EAASG,EAEtCuB,GAAcZ,EAAY6C,KAAKyG,IAAIjK,GACnCmB,EAAUpC,EAAO4d,OAEE,iBAAZxb,KAAkD,IAA1BA,EAAQN,QAAQ,OACjDM,EAAU4b,WAAWhe,EAAO4d,SAAW,IAAMje,EAG/C,IAAI8I,GAAa5H,EAAe,EAAIuB,EAAUnB,EAC1C8F,EAAalG,EAAeuB,EAAUnB,EAAmB,EACzD2B,EAAQ,GAAK,EAAI5C,EAAO8d,OAASrZ,KAAKyG,IAAIjK,EAE1CwD,MAAKyG,IAAInE,GAAc,OAAOA,EAAa,GAC3CtC,KAAKyG,IAAIzC,GAAc,OAAOA,EAAa,GAC3ChE,KAAKyG,IAAI1I,GAAc,OAAOA,EAAa,GAC3CiC,KAAKyG,IAAI3J,GAAW,OAAOA,EAAU,GACrCkD,KAAKyG,IAAIvJ,GAAW,OAAOA,EAAU,GACrC8C,KAAKyG,IAAItI,GAAS,OAAOA,EAAQ,EACrC,IAAME,GAAA,eAAAH,OAAgCoE,EAAA,OAAApE,OAAgB8F,EAAA,OAAA9F,OAAgBH,EAAA,iBAAAG,OAA0BhB,EAAA,iBAAAgB,OAAuBpB,EAAA,eAAAoB,OAAqBC,EAAA,IAK5I,IAJkB4Z,EAAaxc,EAAQF,GAC7BoU,UAAUpR,GACpBhD,EAAS,GAAG4D,MAAMua,OAAmD,EAAzCxZ,KAAKyG,IAAIzG,KAAKuW,MAAM/Z,IAE5CjB,EAAOuc,aAAc,CAEvB,GAAIrc,GAAkBW,EAAef,EAAS0Q,KAAK,6BAA+B1Q,EAAS0Q,KAAK,4BAC5F7Q,EAAiBkB,EAAef,EAAS0Q,KAAK,8BAAgC1Q,EAAS0Q,KAAK,8BAEjE,KAA3BtQ,EAAgBK,SAClBL,EAAkBqd,EAAavd,EAAQF,EAAUe,EAAe,OAAS,QAG7C,IAA1BlB,EAAeY,SACjBZ,EAAiB4d,EAAavd,EAAQF,EAAUe,EAAe,QAAU,WAGvEX,EAAgBK,SAAQL,EAAgB,GAAGwD,MAAMiS,QAAU1U,EAAmB,EAAIA,EAAmB,GACrGtB,EAAeY,SAAQZ,EAAe,GAAG+D,MAAMiS,SAAW1U,EAAmB,GAAKA,EAAmB,MAkB7GyK,cAboB,SAAA5L,GACpB,GACEH,GACEO,EAAOgE,OAAOwZ,gBAFZjB,aAGsB9c,EAAcO,EAAOwN,OAAO8C,KAAK7Q,GAAeO,EAAOwN,QAC/DyG,WAAWrU,GAAU0Q,KAAK,gHAAgH2D,WAAWrU,IASzKoc,YAAa,WAAA,OAAA,GACbD,gBAAiB,WAAA,OACf1P,qBAAA,41BChGC,QAAS2R,GAAMhe,EAAMJ,GAC1B,MAAO,IAAIqe,IAAOje,+VAChBke,SAAU3E,EAAMpJ,EAAYqC,EAAY8E,EAAMrC,EAAWyH,EAAYzB,EAAUqC,GAC/E9F,MACEe,cAAA,GAEFmB,MACEI,iBAAkB,iBAClBF,iBAAkB,eAEjBha,wHCVHgB,EAAgC,GAAIud,KAAI1e,EAAA,IAAAA,EAAAsD,GACxCrB,EAA0Bf,IAA4BhB,KACtDoB,EAAqCD,IAAgCF,EAEzEc,GAAwBR,MAAMlB,EAAOD,GAAA,iDAAA0C,OAAqD1B,EAAA,y4RAA26R,IAAIqd,QAAU,EAAEC,SAAW,8CAA8C,yDAAyD,uEAAuE,mEAAmE,sEAAsEC,SAAWC,SAAW;wvEAA+uEC,gBAAkB,2wMAA2wM,2JAA2J,oXAAoX,02BAA02B,+kJAA+kJC,WAAa,KAE90vB,IAAApd,GAAAK,mBCJA1B,EAAOH,QAAU,SAAUG,GACzB,GAAIJ,KA4EJ,OAzEAA,GAAKoD,SAAW,WACd,MAAOX,MAAKgR,IAAI,SAAUzT,GACxB,GAAIH,GAAU,GACVC,MAAA,KAAmBE,EAAK,EAoB5B,OAnBIA,GAAK,KACPH,GAAW,cAAcgD,OAAO7C,EAAK,GAAI,QAEvCA,EAAK,KACPH,GAAW,UAAUgD,OAAO7C,EAAK,GAAI,OAEnCF,IACFD,GAAW,SAASgD,OAAO7C,EAAK,GAAGS,OAAS,EAAI,IAAIoC,OAAO7C,EAAK,IAAM,GAAI,OAE5EH,GAAWO,EAAuBJ,GAC9BF,IACFD,GAAW,KAETG,EAAK,KACPH,GAAW,KAETG,EAAK,KACPH,GAAW,KAENA,IACN6T,KAAK,KAIV1T,EAAKF,EAAI,SAAWM,EAASP,EAAOC,EAAQC,EAAUG,GAC7B,gBAAZE,KACTA,IAAY,KAAMA,MAAA,KAEpB,IAAIW,KACJ,IAAIjB,EACF,IAAK,GAAIe,GAAI,EAAGA,EAAI4B,KAAKhC,OAAQI,IAAK,CACpC,GAAIK,GAAKuB,KAAK5B,GAAG,EACP,OAANK,IACFH,EAAuBG,IAAA,GAI7B,IAAK,GAAIF,GAAK,EAAGA,EAAKZ,EAAQK,OAAQO,IAAM,CAC1C,GAAIc,MAAUe,OAAOzC,EAAQY,GACzBlB,IAAUiB,EAAuBe,EAAK,UAAA,KAG/B5B,QAAA,KACE4B,EAAK,KAGdA,EAAK,GAAK,SAASe,OAAOf,EAAK,GAAGrB,OAAS,EAAI,IAAIoC,OAAOf,EAAK,IAAM,GAAI,MAAMe,OAAOf,EAAK,GAAI,MAF/FA,EAAK,GAAK5B,GAMVL,IACGiC,EAAK,IAGRA,EAAK,GAAK,UAAUe,OAAOf,EAAK,GAAI,MAAMe,OAAOf,EAAK,GAAI,KAC1DA,EAAK,GAAKjC,GAHViC,EAAK,GAAKjC,GAMVE,IACG+B,EAAK,IAGRA,EAAK,GAAK,cAAce,OAAOf,EAAK,GAAI,OAAOe,OAAOf,EAAK,GAAI,KAC/DA,EAAK,GAAK/B,GAHV+B,EAAK,GAAK,GAAGe,OAAO9C,IAMxBC,EAAKsB,KAAKQ,MAGP9B,oBCjFTI,EAAOH,QAAU,SAAUG,EAAKJ,GAI9B,MAHKA,KACHA,MAEGI,GAGLA,EAAM0e,OAAO1e,EAAI2e,WAAa3e,EAAA,QAAcA,GAGxC,eAAe4e,KAAK5e,KACtBA,EAAMA,EAAIiD,MAAM,GAAI,IAElBrD,EAAQif,OACV7e,GAAOJ,EAAQif,MAKb,oBAAoBD,KAAK5e,IAAQJ,EAAQkf,WACpC,IAAKrc,OAAOzC,EAAIuS,QAAQ,KAAM,OAAOA,QAAQ,MAAO,OAAQ,KAE9DvS,GAjBEA,oBCLXA,EAAOH,QAAU,SAAUG,GACzB,GAAIJ,GAAUI,EAAK,GACfP,EAAaO,EAAK,EACtB,KAAKP,EACH,MAAOG,EAET,IAAoB,kBAATmf,MAAqB,CAI9B,OAAQnf,GAAS6C,QADG,OAAOA,OADhB,+DAA+DA,OAD7Dsc,KAAKC,SAASC,mBAAmBC,KAAKC,UAAU1f,OAErB,SACC6T,KAAK,MAEhD,OAAQ1T,GAAS0T,KAAK,uBCXxB,QAAS7T,GAAqBO,GAE5B,IADA,GAAIP,IAAU,EACLC,EAAI,EAAGA,EAAIE,EAAYS,OAAQX,IACtC,GAAIE,EAAYF,GAAG0f,aAAepf,EAAY,CAC5CP,EAASC,CACT,OAGJ,MAAOD,GAET,QAASC,GAAaM,EAAMN,GAG1B,IAFA,GAAII,MACAa,KACKF,EAAI,EAAGA,EAAIT,EAAKK,OAAQI,IAAK,CACpC,GAAIK,GAAOd,EAAKS,GACZG,EAAKlB,EAAQ2f,KAAOve,EAAK,GAAKpB,EAAQ2f,KAAOve,EAAK,GAClDY,EAAQ5B,EAAWc,IAAO,EAC1BG,EAAa,GAAG0B,OAAO7B,EAAI,KAAK6B,OAAOf,EAC3C5B,GAAWc,GAAMc,EAAQ,CACzB,IAAIL,GAAoB5B,EAAqBsB,GACzCU,GACF0R,IAAKrS,EAAK,GACVwe,MAAOxe,EAAK,GACZye,UAAWze,EAAK,GAChB0e,SAAU1e,EAAK,GACf2e,MAAO3e,EAAK,GAEd,KAA2B,IAAvBO,EACFzB,EAAYyB,GAAmBqe,aAC/B9f,EAAYyB,GAAmBse,QAAQle,OAClC,CACL,GAAIa,GAAU3C,EAAgB8B,EAAK/B,EACnCA,GAAQkgB,QAAUnf,EAClBb,EAAYigB,OAAOpf,EAAG,GACpB2e,WAAYre,EACZ4e,QAASrd,EACTod,WAAY,IAGhB/e,EAAYO,KAAKH,GAEnB,MAAOJ,GAET,QAAShB,GAAgBK,EAAKJ,GAC5B,GAAIH,GAAMG,EAAQkgB,OAAOlgB,EAYzB,OAXAH,GAAI0S,OAAOnS,GACG,SAAiBJ,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOuT,MAAQnT,EAAImT,KAAOvT,EAAO0f,QAAUtf,EAAIsf,OAAS1f,EAAO2f,YAAcvf,EAAIuf,WAAa3f,EAAO4f,WAAaxf,EAAIwf,UAAY5f,EAAO6f,QAAUzf,EAAIyf,MACzJ,MAEFhgB,GAAI0S,OAAOnS,EAAMJ,OAEjBH,GAAIyY,UAtDV,GAAItY,KA2DJI,GAAOH,QAAU,SAAUG,EAAML,GAG/B,GAAIG,GAAkBJ,EADtBM,EAAOA,MADPL,EAAUA,MAGV,OAAO,UAAgBK,GACrBA,EAAUA,KACV,KAAK,GAAIW,GAAI,EAAGA,EAAIb,EAAgBO,OAAQM,IAAK,CAC/C,GACIF,GAAQhB,EADKK,EAAgBa,GAEjCf,GAAYa,GAAOif,aAGrB,IADA,GAAI5e,GAAqBpB,EAAaM,EAASL,GACtCiB,EAAK,EAAGA,EAAKd,EAAgBO,OAAQO,IAAM,CAClD,GACIc,GAASjC,EADKK,EAAgBc,GAEK,KAAnChB,EAAY8B,GAAQge,aACtB9f,EAAY8B,GAAQie,UACpB/f,EAAYigB,OAAOne,EAAQ,IAG/B5B,EAAkBgB,qBC/EtB,GAAIlB,KA+BJI,GAAOH,QAPP,SAA0BG,EAAQP,GAChC,GAAIC,GAtBN,SAAmBM,GACjB,OAAA,KAAWJ,EAAKI,GAAyB,CACvC,GAAIP,GAAciB,SAASqf,cAAc/f,EAGzC,IAAIa,OAAOmf,mBAAqBvgB,YAAuBoB,QAAOmf,kBAC5D,IAGEvgB,EAAcA,EAAYwgB,gBAAgBC,KAC1C,MAAOlgB,GAEPP,EAAc,KAGlBG,EAAKI,GAAUP,EAEjB,MAAOG,GAAKI,IAKWA,EACvB,KAAKN,EACH,KAAM,IAAIygB,OAAM,0GAElBzgB,GAAO0gB,YAAY3gB,qBCtBrBO,EAAOH,QANP,SAA4BG,GAC1B,GAAIJ,GAAUc,SAASmB,cAAc,QAGrC,OAFA7B,GAAQqgB,cAAczgB,EAASI,EAAQsgB,YACvCtgB,EAAQugB,OAAO3gB,EAASI,EAAQwgB,SACzB5gB,uBCETI,EAAOH,QANP,SAAwCG,GACtC,GAAIJ,GAAmDH,EAAAghB,EACnD7gB,IACFI,EAAa0gB,aAAa,QAAS9gB,qBCsDvCI,EAAOH,QAjBP,SAAgBG,GACd,GAAwB,mBAAbU,UACT,OACEyR,OAAQ,aACR+F,OAAQ,aAGZ,IAAItY,GAAeI,EAAQ2gB,mBAAmB3gB,EAC9C,QACEmS,OAAQ,SAAgB1S,IAjD5B,SAAeO,EAAcJ,EAASH,GACpC,GAAIC,GAAM,EACND,GAAI+f,WACN9f,GAAO,cAAc+C,OAAOhD,EAAI+f,SAAU,QAExC/f,EAAI6f,QACN5f,GAAO,UAAU+C,OAAOhD,EAAI6f,MAAO,MAErC,IAAI3f,OAAA,KAAmBF,EAAIggB,KACvB9f,KACFD,GAAO,SAAS+C,OAAOhD,EAAIggB,MAAMpf,OAAS,EAAI,IAAIoC,OAAOhD,EAAIggB,OAAS,GAAI,OAE5E/f,GAAOD,EAAI0T,IACPxT,IACFD,GAAO,KAELD,EAAI6f,QACN5f,GAAO,KAELD,EAAI+f,WACN9f,GAAO,IAET,IAAII,GAAYL,EAAI8f,SAChBzf,IAA6B,mBAATif,QACtBrf,GAAO,uDAAuD+C,OAAOsc,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUrf,MAAe,QAKtIF,EAAQghB,kBAAkBlhB,EAAKM,EAAcJ,EAAQ4gB,UAqB3C5gB,EAAcI,EAASP,IAE/ByY,OAAQ,YArBZ,SAA4BlY,GAE1B,GAAgC,OAA5BA,EAAa6gB,WACf,OAAA,CAEF7gB,GAAa6gB,WAAWC,YAAY9gB,IAiBbJ,uBC3CzBI,EAAOH,QAVP,SAA2BG,EAAKJ,GAC9B,GAAIA,EAAamhB,WACfnhB,EAAamhB,WAAWC,QAAUhhB,MAC7B,CACL,KAAOJ,EAAaqhB,YAClBrhB,EAAakhB,YAAYlhB,EAAaqhB,WAExCrhB,GAAawgB,YAAY1f,SAASwgB,eAAelhB,stEtCTjDJ,IAwBJH,GAAoBoH,EAAI7G,EuCxBxBP,EAAoBE,EAAK,SAAAK,GACxB,GAAIJ,GAASI,GAAUA,EAAO2e,WAC7B,WAAA,MAAO3e,GAAA,SACP,WAAA,MAAMA,GAEP,OADAP,GAAoBiC,EAAE9B,GAAUE,EAAGF,IAC5BA,GCLRH,EAAoBiC,EAAI,SAAC1B,EAASJ,GACjC,IAAI,GAAIF,KAAOE,GACXH,EAAoBgB,EAAEb,EAAYF,KAASD,EAAoBgB,EAAET,EAASN,IAC5ES,OAAOoF,eAAevF,EAASN,GAAO2D,YAAA,EAAkBmC,IAAK5F,EAAWF,MCJ3ED,EAAoBgB,EAAI,SAACT,EAAKJ,GAAA,MAAUO,QAAOmB,UAAU6f,eAAe3f,KAAKxB,EAAKJ,ICClFH,EAAoBkB,EAAK,SAAAX,GACH,mBAAXohB,SAA0BA,OAAOC,aAC1ClhB,OAAOoF,eAAevF,EAASohB,OAAOC,aAAeC,MAAO,WAE7DnhB,OAAOoF,eAAevF,EAAS,cAAgBshB,OAAA,KCLhD7hB,EAAoBsD,EAAIrC,SAAS6gB,SAAWC,KAAKC,SAASC,KCA1DjiB,EAAoBghB,OAAA,qD3C8BpB,IAAM9f,IACFghB,QACAlc,iBAAA,aACA+V,oBAAA,aACA5R,eACIC,KAAA,aACAF,SAAU,IAEdoW,cAAa,WAAA,MACF,OAEX/d,iBAAgB,WAAA,UAGhB4f,eAAc,WAAA,MACH,OAEXC,YAAW,WAAA,OAEHC,UAAA,eAGRjgB,cAAa,WAAA,OAELmO,YACAjO,cACAyB,SACAkd,aAAA,aACAqB,qBAAoB,WAAA,YAK5BC,gBAAe,WAAA,UAGfC,WAAU,WAAA,MACC,OAEXR,UACI5C,KAAM,GACN9W,KAAM,GACNma,SAAU,GACVR,KAAM,GACNS,OAAQ,GACRC,SAAU,GACVC,SAAU,GACVC,OAAQ,KASVxhB,GACFJ,SAAUC,EACV4hB,WACIC,UAAW,IAEff,UACI5C,KAAM,GACN9W,KAAM,GACNma,SAAU,GACVR,KAAM,GACNS,OAAQ,GACRC,SAAU,GACVC,SAAU,GACVC,OAAQ,IAEZG,SACIC,aAAA,aACAC,UAAA,aACAC,GAAA,aACAC,KAAA,cAEJC,YAAa,WACT,MAAOzgB,OAEXoD,iBAAA,aACA+V,oBAAA,aACAuH,iBAAgB,WAAA,OAERC,iBAAgB,WAAA,MACL,MAInBC,MAAA,aACApgB,KAAA,aACAqgB,UACAvgB,WAAA,aACA6S,aAAA,aACA2N,WAAU,WAAA,UAGVpe,sBAAsB,SAAA/E,GAAA,MACQ,mBAAf2C,aACP3C,IACO,MAEJ2C,WAAW3C,EAAU,IAEhCoE,qBAAA,SAAqBpE,GACS,mBAAf2C,aAGX6S,aAAaxV,KC9Gf0B,EAAA,SAAA0hB,GACJ,QAAA1hB,GAAY1B,GAAA,GAAAqjB,EAOZ,OAPYC,iBAAAjhB,KAAAX,GACW,gBAAV1B,GAAAqjB,EAAAE,WAAAlhB,KAAAX,GACH1B,KAENqjB,EAAAE,WAAAlhB,KAAAX,EAAAN,mBAAUpB,QAnBhB,SAAsBA,GACpB,GAAMJ,GAAQI,EAAIwjB,SAClBrjB,QAAOoF,eAAevF,EAAK,aACzBwF,IAAG,WAAA,MACM5F,IAGT6jB,IAAA,SAAIzjB,GACFJ,EAAM4jB,UAAYxjB,MAYlB0jB,uBAAAL,KAEJK,uBAAAL,GAAA,MAAAM,WAAAjiB,EAAA0hB,GAAAQ,aAAAliB,IAAAmiB,iBARiB7iB,OAmGnBS,GAAEqiB,GAAKpiB,EAAKJ,SA4yCZ,IAAMgB,GAAY,gBAAgByhB,MAAM,IAsB1B7hB,GAAS,SACVA,EAAS,QACRA,EAAS,SACPA,EAAS,WACRA,EAAS,YACZA,EAAS,SACPA,EAAS,WACRA,EAAS,YACXA,EAAS,UACTA,EAAS,UACNA,EAAS,aACTA,EAAS,aACXA,EAAS,WACNA,EAAS,cACTA,EAAS,cACXA,EAAS,YACRA,EAAS,aACRA,EAAS,cACXA,EAAS,YACRA,EAAS,aACZA,EAAS,UACTA,EAAS,SArBxB,I2Ch8CMqG,IACJ2I,S3CiIF,WAAqB,IAAA,GAAA8S,GAAA5jB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAgjB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAjkB,EAAAikB,GAAA7jB,UAAA6jB,EACnB,IAAMrkB,GAAamB,EAAUf,EAAQqT,IAAI,SAAArT,GAAA,MAAKA,GAAE+jB,MAAM,OAItD,OAHA1hB,MAAK7B,QAAQ,SAAAR,GAAA,GAAAkkB,IACXA,EAAAlkB,EAAG4a,WAAUuJ,IAAAhjB,MAAA+iB,EAAA9iB,mBAAOxB,MAEfyC,M2CrIPgP,Y3CwIF,WAAwB,IAAA,GAAA+S,GAAAhkB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAojB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAArkB,EAAAqkB,GAAAjkB,UAAAikB,EACtB,IAAMzkB,GAAamB,EAAUf,EAAQqT,IAAI,SAAArT,GAAA,MAAKA,GAAE+jB,MAAM,OAItD,OAHA1hB,MAAK7B,QAAQ,SAAAR,GAAA,GAAAskB,IACXA,EAAAtkB,EAAG4a,WAAU1C,OAAA/W,MAAAmjB,EAAAljB,mBAAUxB,MAElByC,M2C5IP0P,S3CwJF,WAAqB,IAAA,GAAAwS,GAAAnkB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAujB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAxkB,EAAAwkB,GAAApkB,UAAAokB,EACnB,IAAM5kB,GAAamB,EAAUf,EAAQqT,IAAI,SAAArT,GAAA,MAAKA,GAAE+jB,MAAM,OACtD,OAAO1iB,GAAYgB,KAAM,SAAArC,GAAA,MAChBJ,GAAW2B,OAAO,SAAA3B,GAAA,MAAaI,GAAG4a,UAAU9I,SAASlS,KAAYS,OAAS,IAChFA,OAAS,G2C3JZ2R,Y3C8IF,WAAwB,IAAA,GAAAyS,GAAArkB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAyjB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAA1kB,EAAA0kB,GAAAtkB,UAAAskB,EACtB,IAAM9kB,GAAamB,EAAUf,EAAQqT,IAAI,SAAArT,GAAA,MAAKA,GAAE+jB,MAAM,OACtD1hB,MAAK7B,QAAQ,SAAAR,GACXJ,EAAWY,QAAQ,SAAAZ,GACjBI,EAAG4a,UAAU+J,OAAO/kB,Q2CjJxBiY,K3C6JF,SAAc7X,EAAOJ,GACnB,GAAyB,IAArBQ,UAAUC,QAAiC,gBAAVL,GAEnC,MAAIqC,MAAK,GAAWA,KAAK,GAAGuiB,aAAa5kB,OAAA,EAK3C,KAAK,GAAIP,GAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EACpC,GAAyB,IAArBW,UAAUC,OAEZgC,KAAK5C,GAAGihB,aAAa1gB,EAAOJ,OAG5B,KAAK,GAAMA,KAAYI,GACrBqC,KAAK5C,GAAGG,GAAYI,EAAMJ,GAC1ByC,KAAK5C,GAAGihB,aAAa9gB,EAAUI,EAAMJ,GAK3C,OAAOyC,O2CjLP2V,W3CoLF,SAAoBhY,GAClB,IAAK,GAAIJ,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EACpCyC,KAAKzC,GAAGilB,gBAAgB7kB,EAG1B,OAAOqC,O2CxLP2R,U3C6TF,SAAmBhU,GACjB,IAAK,GAAIJ,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EACpCyC,KAAKzC,GAAG4D,MAAMwQ,UAAYhU,CAG5B,OAAOqC,O2CjUP4R,W3CoUF,SAAoBjU,GAClB,IAAK,GAAIJ,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EACpCyC,KAAKzC,GAAG4D,MAAMshB,mBAAyC,gBAAb9kB,GAAA,GAAAyC,OAA2BzC,EAAA,MAAeA,CAGtF,OAAOqC,O2CxUPG,G3C2UF,WAUE,QAAS1C,GAAgBE,GACvB,GAAMJ,GAASI,EAAE8G,MACjB,IAAKlH,EAAL,CACA,GAAMD,GAAYK,EAAE8G,OAAOie,iBAM3B,IAJIplB,EAAUiC,QAAQ5B,GAAK,GACzBL,EAAUqlB,QAAQhlB,GAGhByB,EAAE7B,GAAQ6J,GAAGhK,GAAiBC,EAASyB,MAAMvB,EAAQD,OAGvD,KAAK,GAFCK,GAAUyB,EAAE7B,GAAQ6U,UAEjB7U,EAAI,EAAGA,EAAII,EAAQK,OAAQT,GAAK,EACnC6B,EAAEzB,EAAQJ,IAAI6J,GAAGhK,IAAiBC,EAASyB,MAAMnB,EAAQJ,GAAID,IAKvE,QAASgB,GAAYX,GACnB,GAAMJ,GAAYI,GAAKA,EAAE8G,QAAS9G,EAAE8G,OAAOie,iBAEvCnlB,GAAUgC,QAAQ5B,GAAK,GACzBJ,EAAUolB,QAAQhlB,GAGpBN,EAASyB,MAAMkB,KAAMzC,GAnCV,IAAA,GAAAqlB,GAAA7kB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAikB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAllB,EAAAklB,GAAA9kB,UAAA8kB,EACb,IAAKtlB,GAAgDI,EAAA,GAArCP,EAAqCO,EAAA,GAArBN,EAAqBM,EAAA,GAAXL,EAAWK,EAAA,EAE9B,mBAAZA,GAAK,KACbJ,EAAgCI,EAAA,GAArBN,EAAqBM,EAAA,GAAXL,EAAWK,EAAA,GACjCP,MAAA,IAGGE,IAASA,GAAA,EAiCd,KAAK,GAFDmB,GADEL,EAASb,EAAUmkB,MAAM,KAGtB/jB,EAAI,EAAGA,EAAIqC,KAAKhC,OAAQL,GAAK,EAAG,CACvC,GAAMJ,GAAKyC,KAAKrC,EAEhB,IAAKP,EAaH,IAAKqB,EAAI,EAAGA,EAAIL,EAAOJ,OAAQS,GAAK,EAAG,CACrC,GAAMd,GAAQS,EAAOK,EAChBlB,GAAGulB,oBAAmBvlB,EAAGulB,sBACzBvlB,EAAGulB,kBAAkBnlB,KAAQJ,EAAGulB,kBAAkBnlB,OACvDJ,EAAGulB,kBAAkBnlB,GAAOkB,MAC1BkkB,SAAA1lB,EACA2lB,cAAevlB,IAEjBF,EAAG6F,iBAAiBzF,EAAOF,EAAiBH,OApB9C,KAAKmB,EAAI,EAAGA,EAAIL,EAAOJ,OAAQS,GAAK,EAAG,CACrC,GAAMd,GAAQS,EAAOK,EAChBlB,GAAG0lB,gBAAe1lB,EAAG0lB,kBACrB1lB,EAAG0lB,cAActlB,KAAQJ,EAAG0lB,cAActlB,OAC/CJ,EAAG0lB,cAActlB,GAAOkB,MACtBkkB,SAAA1lB,EACA2lB,cAAe1kB,IAEjBf,EAAG6F,iBAAiBzF,EAAOW,EAAahB,IAiB9C,MAAO0C,O2ChZP+O,I3CmZF,WAAgB,IAAA,GAAAmU,GAAAnlB,UAAAC,OAAAL,EAAA,GAAAgB,OAAAukB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAxlB,EAAAwlB,GAAAplB,UAAAolB,EACd,IAAK5lB,GAAgDI,EAAA,GAArCP,EAAqCO,EAAA,GAArBN,EAAqBM,EAAA,GAAXL,EAAWK,EAAA,EAE9B,mBAAZA,GAAK,KACbJ,EAAgCI,EAAA,GAArBN,EAAqBM,EAAA,GAAXL,EAAWK,EAAA,GACjCP,MAAA,IAGGE,IAASA,GAAA,EAGd,KAAK,GAFCG,GAASF,EAAUmkB,MAAM,KAEtB/jB,EAAI,EAAGA,EAAIF,EAAOO,OAAQL,GAAK,EAGtC,IAAK,GAFCJ,GAAQE,EAAOE,GAEZA,EAAI,EAAGA,EAAIqC,KAAKhC,OAAQL,GAAK,EAAG,CACvC,GAAMF,GAAKuC,KAAKrC,GACZW,MAAA,EAQJ,KANKlB,GAAkBK,EAAGwlB,cACxB3kB,EAAWb,EAAGwlB,cAAc1lB,GACnBH,GAAkBK,EAAGqlB,oBAC9BxkB,EAAWb,EAAGqlB,kBAAkBvlB,IAG9Be,GAAYA,EAASN,OACvB,IAAK,GAAIL,GAAIW,EAASN,OAAS,EAAGL,GAAK,EAAGA,GAAK,EAAG,CAChD,GAAMP,GAAUkB,EAASX,EAErBN,IAAYD,EAAQ2lB,WAAa1lB,GAG1BA,GAAYD,EAAQ2lB,UAAY3lB,EAAQ2lB,SAASK,WAAahmB,EAAQ2lB,SAASK,YAAc/lB,GAFtGI,EAAG0b,oBAAoB5b,EAAOH,EAAQ4lB,cAAe1lB,GACrDgB,EAASkf,OAAO7f,EAAG,IAITN,IACVI,EAAG0b,oBAAoB5b,EAAOH,EAAQ4lB,cAAe1lB,GACrDgB,EAASkf,OAAO7f,EAAG,KAO7B,MAAOqC,O2C7bPE,Q3CsdF,WAAoB,IAAA,GAAAmjB,GAAAtlB,UAAAC,OAAAL,EAAA,GAAAgB,OAAA0kB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAA3lB,EAAA2lB,GAAAvlB,UAAAulB,EAKlB,KAAK,GAJC/lB,GAASgB,IACTnB,EAASO,EAAK,GAAG+jB,MAAM,KACvBrkB,EAAYM,EAAK,GAEdL,EAAI,EAAGA,EAAIF,EAAOY,OAAQV,GAAK,EAGtC,IAAK,GAFCG,GAAQL,EAAOE,GAEZF,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EAAG,CACvC,GAAME,GAAK0C,KAAK5C,EAEhB,IAAIG,EAAOkjB,YAAa,CACtB,GAAMrjB,GAAM,GAAIG,GAAOkjB,YAAYhjB,GACjC8lB,OAAQlmB,EACRmmB,SAAA,EACA3a,YAAA,GAEFvL,GAAGolB,cAAgB/kB,EAAKuB,OAAO,SAACvB,EAAMJ,GAAA,MAAcA,GAAY,IAChED,EAAGmmB,cAAcrmB,GACjBE,EAAGolB,uBACIplB,GAAGolB,eAKhB,MAAO1iB,O2C9eP8a,c3CigBF,SAAuBnd,GACrB,GAAMJ,GAAMyC,IAYZ,OAJIrC,IACFJ,EAAI4C,GAAG,gBAPT,QAAS/C,GAAaC,GAChBA,EAAEoH,SAAWzE,OACjBrC,EAASwB,KAAKa,KAAM3C,GACpBE,EAAIwR,IAAI,gBAAiB3R,MAOpB4C,M2C7gBP0jB,W3C8iBF,SAAoB/lB,GAClB,GAAIqC,KAAKhC,OAAS,EAAG,CACnB,GAAIL,EAAgB,CAClB,GAAMA,GAASqC,KAAK2jB,QACpB,OAAO3jB,MAAK,GAAG+L,YAAc0P,WAAW9d,EAAOgjB,iBAAiB,iBAAmBlF,WAAW9d,EAAOgjB,iBAAiB,gBAGxH,MAAO3gB,MAAK,GAAG+L,YAGjB,MAAO,O2CvjBP6X,Y3CwkBF,SAAqBjmB,GACnB,GAAIqC,KAAKhC,OAAS,EAAG,CACnB,GAAIL,EAAgB,CAClB,GAAMA,GAASqC,KAAK2jB,QACpB,OAAO3jB,MAAK,GAAGqT,aAAeoI,WAAW9d,EAAOgjB,iBAAiB,eAAiBlF,WAAW9d,EAAOgjB,iBAAiB,kBAGvH,MAAO3gB,MAAK,GAAGqT,aAGjB,MAAO,O2CjlBPsQ,O3CmoBF,WACE,GAAMhmB,GAASY,GACf,OAAIyB,MAAK,GAAWrC,EAAO+iB,iBAAiB1gB,KAAK,GAAI,U2CpoBrD8T,O3CmlBF,WACE,GAAI9T,KAAKhC,OAAS,EAAG,CACnB,GAAML,GAASY,IACThB,EAAWa,IACXhB,EAAK4C,KAAK,GACV3C,EAAMD,EAAG2W,wBACTzW,EAAOC,EAAS+hB,KAChB7hB,EAAYL,EAAGymB,WAAavmB,EAAKumB,WAAa,EAC9CvlB,EAAalB,EAAG0mB,YAAcxmB,EAAKwmB,YAAc,EACjDrlB,EAAYrB,IAAOO,EAASA,EAAOomB,QAAU3mB,EAAG+P,UAChD9N,EAAajC,IAAOO,EAASA,EAAOqmB,QAAU5mB,EAAG8P,UACvD,QACEuJ,IAAKpZ,EAAIoZ,IAAMhY,EAAYhB,EAC3B+Y,KAAMnZ,EAAImZ,KAAOnX,EAAaf,GAIlC,MAAO,O2CnmBPwS,I3CuoBF,SAAanT,EAAOJ,GAClB,GACIF,GADED,EAASmB,GAGf,IAAyB,IAArBR,UAAUC,OAAc,CAC1B,GAAqB,gBAAVL,GAGJ,CAEL,IAAKN,EAAI,EAAGA,EAAI2C,KAAKhC,OAAQX,GAAK,EAChC,IAAK,GAAME,KAAQI,GACjBqC,KAAK3C,GAAG8D,MAAM5D,GAAQI,EAAMJ,EAIhC,OAAOyC,MATP,GAAIA,KAAK,GAAI,MAAO5C,GAAOsjB,iBAAiB1gB,KAAK,GAAI,MAAM2gB,iBAAiBhjB,GAahF,GAAyB,IAArBI,UAAUC,QAAiC,gBAAVL,GAAoB,CAEvD,IAAKN,EAAI,EAAGA,EAAI2C,KAAKhC,OAAQX,GAAK,EAChC2C,KAAK3C,GAAG8D,MAAMxD,GAASJ,CAGzB,OAAOyC,MAGT,MAAOA,O2CnqBPkR,K3CsqBF,SAAcvT,GACZ,MAAKA,IACLqC,KAAK7B,QAAQ,SAACZ,EAAIH,GAChBO,EAASmB,MAAMvB,GAAKA,EAAIH,MAEnB4C,MAJeA,M2CtqBtB8R,K3CkrBF,SAAcnU,GACZ,OAAA,KAAWA,EACT,MAAOqC,MAAK,GAAKA,KAAK,GAAGP,UAAY,IAGvC,KAAK,GAAIlC,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EACpCyC,KAAKzC,GAAGkC,UAAY9B,CAGtB,OAAOqC,O2C1rBPqR,K3C6rBF,SAAc1T,GACZ,OAAA,KAAWA,EACT,MAAOqC,MAAK,GAAKA,KAAK,GAAGikB,YAAY3kB,OAAS,IAGhD,KAAK,GAAI/B,GAAI,EAAGA,EAAIyC,KAAKhC,OAAQT,GAAK,EACpCyC,KAAKzC,GAAG0mB,YAActmB,CAGxB,OAAOqC,O2CrsBPoH,G3CwsBF,SAAYzJ,GACV,GAGIL,GACAG,EAJEF,EAASgB,IACTnB,EAAWgB,IACXf,EAAK2C,KAAK,EAGhB,KAAK3C,OAAA,KAAaM,EAA0B,OAAA,CAE5C,IAAwB,gBAAbA,GAAuB,CAChC,GAAIN,EAAG6mB,QAAS,MAAO7mB,GAAG6mB,QAAQvmB,EAClC,IAAIN,EAAG8mB,sBAAuB,MAAO9mB,GAAG8mB,sBAAsBxmB,EAC9D,IAAIN,EAAG+mB,kBAAmB,MAAO/mB,GAAG+mB,kBAAkBzmB,EAGtD,KAFAL,EAAc8B,EAAEzB,GAEXF,EAAI,EAAGA,EAAIH,EAAYU,OAAQP,GAAK,EACvC,GAAIH,EAAYG,KAAOJ,EAAI,OAAA,CAG7B,QAAA,EAGF,GAAIM,IAAaP,EACf,MAAOC,KAAOD,CAGhB,IAAIO,IAAaJ,EACf,MAAOF,KAAOE,CAGhB,IAAII,EAASiC,UAAYjC,YAAoB0B,GAAM,CAGjD,IAFA/B,EAAcK,EAASiC,UAAYjC,GAAYA,EAE1CF,EAAI,EAAGA,EAAIH,EAAYU,OAAQP,GAAK,EACvC,GAAIH,EAAYG,KAAOJ,EAAI,OAAA,CAG7B,QAAA,EAGF,OAAA,G2C9uBA8T,M3CivBF,WACE,GACIxT,GADAJ,EAAQyC,KAAK,EAGjB,IAAIzC,EAAO,CAGT,IAFAI,EAAI,EAEuC,QAAnCJ,EAAQA,EAAM8mB,kBACG,IAAnB9mB,EAAMqC,WAAgBjC,GAAK,EAGjC,OAAOA,K2C3vBTkT,G3CiwBF,SAAYlT,GACV,OAAA,KAAWA,EAAuB,MAAOqC,KACzC,IAAMzC,GAASyC,KAAKhC,MAEpB,IAAIL,EAAQJ,EAAS,EACnB,MAAO6B,MAGT,IAAIzB,EAAQ,EAAG,CACb,GAAMP,GAAcG,EAASI,CAC7B,OAA4ByB,GAAxBhC,EAAc,MACR4C,KAAK5C,KAGjB,MAAOgC,IAAGY,KAAKrC,M2C9wBfkQ,O3CixBF,WAIE,IAAK,GAHDtQ,GACEH,EAAWgB,IAERf,EAAI,EAAGA,EAAIU,UAAIC,OAAQX,GAAK,EAAG,CACtCE,EAAeF,EAAA,GAAAU,UAAAC,QAAAX,MAAAY,GAAAF,UAAAV,EAEf,KAAK,GAAIM,GAAI,EAAGA,EAAIqC,KAAKhC,OAAQL,GAAK,EACpC,GAAwB,gBAAbJ,GAAuB,CAChC,GAAMF,GAAUD,EAASoC,cAAc,MAGvC,KAFAnC,EAAQoC,UAAYlC,EAEbF,EAAQuhB,YACb5e,KAAKrC,GAAGogB,YAAY1gB,EAAQuhB,gBAEzB,IAAIrhB,YAAoB8B,GAC7B,IAAK,GAAIjC,GAAI,EAAGA,EAAIG,EAASS,OAAQZ,GAAK,EACxC4C,KAAKrC,GAAGogB,YAAYxgB,EAASH,QAG/B4C,MAAKrC,GAAGogB,YAAYxgB,GAK1B,MAAOyC,O2CzyBPskB,Q3CizBF,SAAiB3mB,GACf,GACIP,GACAC,EAFEE,EAAWa,GAIjB,KAAKhB,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EAChC,GAAwB,gBAAbO,GAAuB,CAChC,GAAML,GAAUC,EAASiC,cAAc,MAGvC,KAFAlC,EAAQmC,UAAY9B,EAEfN,EAAIC,EAAQoC,WAAW1B,OAAS,EAAGX,GAAK,EAAGA,GAAK,EACnD2C,KAAK5C,GAAGmnB,aAAajnB,EAAQoC,WAAWrC,GAAI2C,KAAK5C,GAAGsC,WAAW,QAE5D,IAAI/B,YAAoB0B,GAC7B,IAAKhC,EAAI,EAAGA,EAAIM,EAASK,OAAQX,GAAK,EACpC2C,KAAK5C,GAAGmnB,aAAa5mB,EAASN,GAAI2C,KAAK5C,GAAGsC,WAAW,QAGvDM,MAAK5C,GAAGmnB,aAAa5mB,EAAUqC,KAAK5C,GAAGsC,WAAW,GAItD,OAAOM,O2Ct0BPwkB,K3C02BF,SAAc7mB,GACZ,MAGayB,GAHTY,KAAKhC,OAAS,EACZL,EACEqC,KAAK,GAAGykB,oBAAsBrlB,EAAEY,KAAK,GAAGykB,oBAAoBrd,GAAGzJ,IACvDqC,KAAK,GAAGykB,uBAMlBzkB,KAAK,GAAGykB,oBAA8BzkB,KAAK,GAAGykB,4B2Cn3BpDC,Q3C03BF,SAAiB/mB,GACf,GAAMJ,MACFH,EAAK4C,KAAK,EACd,KAAK5C,EAAI,MAAOgC,MAEhB,MAAOhC,EAAGqnB,oBAAoB,CAC5B,GAAMpnB,GAAOD,EAAGqnB,kBAEZ9mB,GACEyB,EAAE/B,GAAM+J,GAAGzJ,IAAWJ,EAAQsB,KAAKxB,GAClCE,EAAQsB,KAAKxB,GAEpBD,EAAKC,EAGP,MAAO+B,GAAE7B,I2Cx4BTonB,K3C24BF,SAAchnB,GACZ,GAAIqC,KAAKhC,OAAS,EAAG,CACnB,GAAMT,GAAKyC,KAAK,EAEhB,OAEWZ,GAFPzB,EACEJ,EAAGqnB,wBAA0BxlB,EAAE7B,EAAGqnB,wBAAwBxd,GAAGzJ,IACrDJ,EAAGqnB,2BAMbrnB,EAAGqnB,wBAAkCrnB,EAAGqnB,4BAI9C,MAAOxlB,Q2C15BPylB,Q3C65BF,SAAiBlnB,GACf,GAAMJ,MACFH,EAAK4C,KAAK,EACd,KAAK5C,EAAI,MAAOgC,MAEhB,MAAOhC,EAAGwnB,wBAAwB,CAChC,GAAMvnB,GAAOD,EAAGwnB,sBAEZjnB,GACEyB,EAAE/B,GAAM+J,GAAGzJ,IAAWJ,EAAQsB,KAAKxB,GAClCE,EAAQsB,KAAKxB,GAEpBD,EAAKC,EAGP,MAAO+B,GAAE7B,I2C36BTkY,O3Ck7BF,SAAgB9X,GAGd,IAAK,GAFCJ,MAEGH,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EACT,OAAvB4C,KAAK5C,GAAGohB,aACN7gB,EACEyB,EAAEY,KAAK5C,GAAGohB,YAAYpX,GAAGzJ,IAAWJ,EAAQsB,KAAKmB,KAAK5C,GAAGohB,YAE7DjhB,EAAQsB,KAAKmB,KAAK5C,GAAGohB,YAK3B,OAAOpf,GAAE7B,I2C97BT6U,Q3Ci8BF,SAAiBzU,GAGf,IAAK,GAFCJ,MAEGH,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EAGpC,IAFA,GAAIC,GAAS2C,KAAK5C,GAAGohB,WAEdnhB,GACDM,EACEyB,EAAE/B,GAAQ+J,GAAGzJ,IAAWJ,EAAQsB,KAAKxB,GAEzCE,EAAQsB,KAAKxB,GAGfA,EAASA,EAAOmhB,UAIpB,OAAOpf,GAAE7B,I2Cj9BToH,Q3Co9BF,SAAiBhH,GACf,GAAIJ,GAAUyC,IAEd,YAAA,KAAWrC,EACFyB,OAGJ7B,EAAQ6J,GAAGzJ,KACdJ,EAAUA,EAAQ6U,QAAQzU,GAAUkT,GAAG,IAGlCtT,I2C99BP0Q,K3Ci+BF,SAActQ,GAGZ,IAAK,GAFCJ,MAEGH,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EAGpC,IAAK,GAFCC,GAAQ2C,KAAK5C,GAAGuC,iBAAiBhC,GAE9BA,EAAI,EAAGA,EAAIN,EAAMW,OAAQL,GAAK,EACrCJ,EAAcsB,KAAKxB,EAAMM,GAI7B,OAAOyB,GAAE7B,I2C3+BToQ,S3C8+BF,SAAkBhQ,GAGhB,IAAK,GAFCJ,MAEGH,EAAI,EAAGA,EAAI4C,KAAKhC,OAAQZ,GAAK,EAGpC,IAAK,GAFCC,GAAa2C,KAAK5C,GAAGuQ,SAElBvQ,EAAI,EAAGA,EAAIC,EAAWW,OAAQZ,GAAK,EACrCO,IAAYyB,EAAE/B,EAAWD,IAAIgK,GAAGzJ,IACnCJ,EAASsB,KAAKxB,EAAWD,GAK/B,OAAOgC,GAAE7B,I2C1/BT2B,O3C6pBF,SAAgBvB,GAEd,MAAOyB,GADQJ,EAAYgB,KAAMrC,K2C7pBjCkY,O3C4/BF,WACE,IAAK,GAAIlY,GAAI,EAAGA,EAAIqC,KAAKhC,OAAQL,GAAK,EAChCqC,KAAKrC,GAAG6gB,YAAYxe,KAAKrC,GAAG6gB,WAAWC,YAAYze,KAAKrC;0FAG9D,OAAOqC,O2C//BTlC,QAAOI,KAAKgI,GAAS/H,QAAQ,SAAAR,GAC3BG,OAAOoF,eAAe9D,EAAEqiB,GAAI9jB,GAC1BshB,MAAO/Y,EAAQvI,GACfmnB,UAAA,KAGJ,IzC5CIliB,G0CCAoS,ECDA+P,EF4CJvgB,EAAApF,EG5CA4lB,IACE7kB,GAAA,SAAGxC,EAAQJ,EAASH,GAClB,GAAMC,GAAO2C,IACb,KAAK3C,EAAK4nB,iBAAmB5nB,EAAKqN,UAAW,MAAOrN,EACpD,IAAuB,kBAAZE,GAAwB,MAAOF,EAC1C,IAAMC,GAASF,EAAW,UAAY,MAKtC,OAJAO,GAAO+jB,MAAM,KAAKvjB,QAAQ,SAAAR,GACnBN,EAAK4nB,gBAAgBtnB,KAAQN,EAAK4nB,gBAAgBtnB,OACvDN,EAAK4nB,gBAAgBtnB,GAAOL,GAAQC,KAE/BF,GAGT6nB,KAAA,SAAKvnB,EAAQJ,EAASH,GAKpB,QAASE,KAAe,IAAA,GAAA6nB,GAAApnB,UAAAC,OAAAZ,EAAA,GAAAuB,OAAAwmB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAhoB,EAAAgoB,GAAArnB,UAAAqnB,EACtB/nB,GAAK0R,IAAIpR,EAAQL,GAEbA,EAAY+nB,sBACP/nB,GAAY+nB,eAGrB9nB,EAAQuB,MAAMzB,EAAMD,GAXtB,GAAMC,GAAO2C,IACb,QAAK3C,EAAK4nB,iBAAmB5nB,EAAKqN,UAAkBrN,EAC7B,kBAAZE,GAA+BF,GAY1CC,EAAY+nB,eAAiB9nB,EACtBF,EAAK8C,GAAGxC,EAAQL,EAAaF,KAGtCkoB,MAAA,SAAM3nB,EAASJ,GACb,GAAMH,GAAO4C,IACb,KAAK5C,EAAK6nB,iBAAmB7nB,EAAKsN,UAAW,MAAOtN,EACpD,IAAuB,kBAAZO,GAAwB,MAAOP,EAC1C,IAAMC,GAASE,EAAW,UAAY,MAMtC,OAJIH,GAAKmoB,mBAAmBhmB,QAAQ5B,GAAW,GAC7CP,EAAKmoB,mBAAmBloB,GAAQM,GAG3BP,GAGTooB,OAAA,SAAO7nB,GACL,GAAMJ,GAAOyC,IACb,KAAKzC,EAAK0nB,iBAAmB1nB,EAAKmN,UAAW,MAAOnN,EACpD,KAAKA,EAAKgoB,mBAAoB,MAAOhoB,EACrC,IAAMH,GAAQG,EAAKgoB,mBAAmBhmB,QAAQ5B,EAM9C,OAJIP,IAAS,GACXG,EAAKgoB,mBAAmB/H,OAAOpgB,EAAO,GAGjCG,GAGTwR,IAAA,SAAIpR,EAAQJ,GACV,GAAMH,GAAO4C,IACb,QAAK5C,EAAK6nB,iBAAmB7nB,EAAKsN,UAAkBtN,EAC/CA,EAAK6nB,iBACVtnB,EAAO+jB,MAAM,KAAKvjB,QAAQ,SAAAR,OAAA,KACbJ,EACTH,EAAK6nB,gBAAgBtnB,MACZP,EAAK6nB,gBAAgBtnB,IAC9BP,EAAK6nB,gBAAgBtnB,GAAOQ,QAAQ,SAACd,EAAcC,IAC7CD,IAAiBE,GAAWF,EAAagoB,gBAAkBhoB,EAAagoB,iBAAmB9nB,IAC7FH,EAAK6nB,gBAAgBtnB,GAAO6f,OAAOlgB,EAAO,OAK3CF,GAZ2BA,GAepCyG,KAAA,WACE,GAAMtG,GAAOyC,IACb,KAAKzC,EAAK0nB,iBAAmB1nB,EAAKmN,UAAW,MAAOnN,EACpD,KAAKA,EAAK0nB,gBAAiB,MAAO1nB,EA8BlC,KAAA,GA7BIH,GACAC,EACAC,EA2BJmoB,EAAA1nB,UAAAC,OAjCML,EAAA,GAAAgB,OAAA8mB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAA/nB,EAAA+nB,GAAA3nB,UAAA2nB,EAiCN,OAzBuB,gBAAZ/nB,GAAK,IAAmBgB,MAAMC,QAAQjB,EAAK,KACpDP,EAASO,EAAK,GACdN,EAAOM,EAAKiD,MAAM,EAAGjD,EAAKK,QAC1BV,EAAUC,IAEVH,EAASO,EAAK,GAAGgoB,OACjBtoB,EAAOM,EAAK,GAAGioB,KACftoB,EAAUK,EAAK,GAAGkoB,SAAWtoB,GAG/BF,EAAKslB,QAAQrlB,IACOqB,MAAMC,QAAQxB,GAAUA,EAASA,EAAOskB,MAAM,MACtDvjB,QAAQ,SAAAR,GACdJ,EAAKgoB,oBAAsBhoB,EAAKgoB,mBAAmBvnB,QACrDT,EAAKgoB,mBAAmBpnB,QAAQ,SAAAZ,GAC9BA,EAAauB,MAAMxB,GAAUK,GAAAyC,OAAArB,mBAAU1B,OAIvCE,EAAK0nB,iBAAmB1nB,EAAK0nB,gBAAgBtnB,IAC/CJ,EAAK0nB,gBAAgBtnB,GAAOQ,QAAQ,SAAAR,GAClCA,EAAamB,MAAMxB,EAASD,OAI3BE,ICrGXuoB,IACE9e,WCVa,WACb,GACIzJ,GACAH,EAFEO,EAASqC,KAGT3C,EAAMM,EAAO+P,GAGjBnQ,OAAA,KADSI,EAAOgE,OAAOqR,OAAiD,OAAxBrV,EAAOgE,OAAOqR,MACtDrV,EAAOgE,OAAOqR,MAEd3V,EAAI,GAAG0oB,YAIf3oB,MAAA,KADSO,EAAOgE,OAAOsR,QAAmD,OAAzBtV,EAAOgE,OAAOsR,OACtDtV,EAAOgE,OAAOsR,OAEd5V,EAAI,GAAG2oB,aAGJ,IAAVzoB,GAAeI,EAAO8K,gBAA6B,IAAXrL,GAAgBO,EAAOyK,eAKnE7K,EAAQA,EAAQmW,SAASrW,EAAIyT,IAAI,iBAAmB,EAAG,IAAM4C,SAASrW,EAAIyT,IAAI,kBAAoB,EAAG,IACrG1T,EAASA,EAASsW,SAASrW,EAAIyT,IAAI,gBAAkB,EAAG,IAAM4C,SAASrW,EAAIyT,IAAI,mBAAqB,EAAG,IACnGmV,OAAOC,MAAM3oB,KAAQA,EAAQ,GAC7B0oB,OAAOC,MAAM9oB,KAASA,EAAS,GACnCU,OAAO2I,OAAO9I,GACZqV,MAAAzV,EACA0V,OAAA7V,EACAkW,KAAM3V,EAAO8K,eAAiBlL,EAAQH,MDnBxC+O,aEVa,WAGb,QAAS5O,GAAkBA,GACzB,MAAII,GAAO8K,eACFlL,GAKPyV,MAAS,SACTmT,aAAc,cACdC,iBAAkB,eAClBC,cAAe,aACfC,eAAgB,gBAChBC,eAAgB,cAChBC,gBAAiB,iBACjBC,YAAe,gBACflpB,GAGJ,QAASH,GAA0BO,EAAMP,GACvC,MAAOqe,YAAW9d,EAAKgjB,iBAAiBpjB,EAAkBH,KAAW,GArBvE,GAAMO,GAASqC,KAwBT3C,EAASM,EAAOgE,OAEpBrE,EAIEK,EALEyL,WAEE3L,EAGJE,EAHF2V,KACchV,EAEZX,EAFFqK,aACA5J,EACET,EAFe+oB,SAGbjoB,EAAYd,EAAOuN,SAAW7N,EAAO6N,QAAQjH,QAC7C1F,EAAuBE,EAAYd,EAAOuN,QAAQC,OAAOnN,OAASL,EAAOwN,OAAOnN,OAChFqB,EAAS/B,EAAWqQ,SAAA,IAAAvN,OAAazC,EAAOgE,OAAOyT,aAC/C1W,EAAeD,EAAYd,EAAOuN,QAAQC,OAAOnN,OAASqB,EAAOrB,OACnEgB,KACEI,KACAa,KACFJ,EAAexC,EAAOmW,kBAEE,mBAAjB3T,KACTA,EAAexC,EAAOmW,mBAAmBrU,KAAKxB,GAGhD,IAAIuI,GAAc7I,EAAOspB,iBAEE,mBAAhBzgB,KACTA,EAAc7I,EAAOspB,kBAAkBxnB,KAAKxB,GAG9C,IAAM6G,GAAyB7G,EAAOuO,SAASlO,OACzCqC,EAA2B1C,EAAO4M,WAAWvM,OAC/CuC,EAAelD,EAAO0d,aACtBra,GAAiBb,EACjBgB,EAAgB,EAChBQ,EAAQ,CAEZ,QAAA,KAAW5D,EAAX,CAI4B,gBAAjB8C,IAA6BA,EAAahB,QAAQ,MAAQ,IACnEgB,EAAekb,WAAWlb,EAAa2P,QAAQ,IAAK,KAAO,IAAMzS,GAGnEE,EAAO4V,aAAehT,EAElBjC,EAAKe,EAAOyR,KACd8V,WAAY,GACZC,aAAc,GACdC,UAAW,KACLznB,EAAOyR,KACb2V,YAAa,GACbI,aAAc,GACdC,UAAW,KAGTzpB,EAAOgP,gBAAkBhP,EAAO+G,UAClClD,EAAevD,EAAOkE,UAAW,kCAAmC,IACpEX,EAAevD,EAAOkE,UAAW,iCAAkC,IAGrE,IAOImT,GAPEpS,EAAcvF,EAAO0pB,MAAQ1pB,EAAO0pB,KAAKC,KAAO,GAAKrpB,EAAOopB,IAE9DnkB,IACFjF,EAAOopB,KAAKE,WAAWvoB,EASzB,KAAK,GAJCqmB,GAAgD,SAAzB1nB,EAAO+O,eAA4B/O,EAAO2O,aAAelO,OAAOI,KAAKb,EAAO2O,aAAa9M,OAAO,SAAAvB,GAAA,WAAA,KAC7GN,EAAO2O,YAAYrO,GAAKyO,gBACrCpO,OAAS,EAEHV,EAAI,EAAGA,EAAIoB,EAAcpB,GAAK,EAAG,CACxC0X,EAAY,CACZ,IAAM1W,GAAQe,EAAOwR,GAAGvT,EAMxB,IAJIsF,GACFjF,EAAOopB,KAAKG,YAAY5pB,EAAGgB,EAAOI,EAAcnB,GAGrB,SAAzBe,EAAMwS,IAAI,WAAd,CAEA,GAA6B,SAAzBzT,EAAO+O,cAA0B,CAC/B2Y,IACF1lB,EAAO/B,GAAG6D,MAAM5D,EAAkB,UAAY,GAGhD,IAAME,GAAcijB,iBAAiBpiB,EAAM,IACrCF,EAAmBE,EAAM,GAAG6C,MAAMwQ,UAClClT,EAAyBH,EAAM,GAAG6C,MAAMgmB,eAU9C,IARI/oB,IACFE,EAAM,GAAG6C,MAAMwQ,UAAY,QAGzBlT,IACFH,EAAM,GAAG6C,MAAMgmB,gBAAkB,QAG/B9pB,EAAO+pB,aACTpS,EAAYrX,EAAO8K,eAAiBnK,EAAMolB,YAAA,GAAmBplB,EAAMslB,aAAA,OAC9D,CAEL,GAAMjmB,GAAQP,EAA0BK,EAAa,SAC/CF,EAAcH,EAA0BK,EAAa,gBACrDJ,EAAeD,EAA0BK,EAAa,iBACtDH,EAAaF,EAA0BK,EAAa,eACpDW,EAAchB,EAA0BK,EAAa,gBACrDgB,EAAYhB,EAAYkjB,iBAAiB,aAE/C,IAAIliB,GAA2B,eAAdA,EACfuW,EAAYrX,EAAQL,EAAac,MAC5B,CACL,GAAAipB,GAGI/oB,EAAM,GAFRlB,EAAAiqB,EADItB,WAIN/Q,GAAYrX,EAAQJ,EAAcF,EAAeC,EAAac,GAF5DipB,EADWtb,YAG8E3O,IAI3FgB,IACFE,EAAM,GAAG6C,MAAMwQ,UAAYvT,GAGzBK,IACFH,EAAM,GAAG6C,MAAMgmB,gBAAkB1oB,GAG/BpB,EAAO+pB,eAAcpS,EAAY9S,KAAKolB,MAAMtS,QAEhDA,IAAavX,GAAcJ,EAAO+O,cAAgB,GAAK7L,GAAgBlD,EAAO+O,cAC1E/O,EAAO+pB,eAAcpS,EAAY9S,KAAKolB,MAAMtS,IAE5C3V,EAAO/B,KACT+B,EAAO/B,GAAG6D,MAAM5D,EAAkB,UAAA,GAAA6C,OAAe4U,EAAA,MAIjD3V,GAAO/B,KACT+B,EAAO/B,GAAGiqB,gBAAkBvS,GAG9B/U,EAAgBpB,KAAKmW,GAEjB3X,EAAOgP,gBACT3L,EAAgBA,EAAgBsU,EAAY,EAAInU,EAAgB,EAAIN,EAC9C,IAAlBM,GAA6B,IAANvD,IAASoD,EAAgBA,EAAgBjD,EAAa,EAAI8C,GAC3E,IAANjD,IAASoD,EAAgBA,EAAgBjD,EAAa,EAAI8C,GAC1D2B,KAAKyG,IAAIjI,GAAiB,OAAUA,EAAgB,GACpDrD,EAAO+pB,eAAc1mB,EAAgBwB,KAAKolB,MAAM5mB,IAChDW,EAAQhE,EAAO0N,gBAAmB,GAAG/L,EAASH,KAAK6B,GACvDtB,EAAWP,KAAK6B,KAEZrD,EAAO+pB,eAAc1mB,EAAgBwB,KAAKolB,MAAM5mB,KAC/CW,EAAQa,KAAKE,IAAIzE,EAAOgE,OAAOmJ,mBAAoBzJ,IAAU1D,EAAOgE,OAAOoJ,gBAAmB,GAAG/L,EAASH,KAAK6B,GACpHtB,EAAWP,KAAK6B,GAChBA,EAAgBA,EAAgBsU,EAAYzU,GAG9C5C,EAAO4V,aAAeyB,EAAYzU,EAClCM,EAAgBmU,EAChB3T,GAAS,GAsBX,GAnBA1D,EAAO4V,YAAcrR,KAAKC,IAAIxE,EAAO4V,YAAa9V,GAAcyI,EAE5D5H,GAAOF,IAA+B,UAAlBf,EAAOoc,QAAwC,cAAlBpc,EAAOoc,SAC1Dnc,EAAWwT,KACTkC,MAAA,GAAA5S,OAAUzC,EAAO4V,YAAclW,EAAO0d,aAAA,QAItC1d,EAAOmqB,gBACTlqB,EAAWwT,IAAAtO,mBACRjF,EAAkB,SAAA,GAAA6C,OAAczC,EAAO4V,YAAclW,EAAO0d,aAAA,QAI7DnY,GACFjF,EAAOopB,KAAKU,kBAAkBzS,EAAWhW,EAAUzB,IAIhDF,EAAOgP,eAAgB,CAG1B,IAAK,GAFC9O,MAEGH,EAAI,EAAGA,EAAI4B,EAAShB,OAAQZ,GAAK,EAAG,CAC3C,GAAIE,GAAiB0B,EAAS5B,EAC1BC,GAAO+pB,eAAc9pB,EAAiB4E,KAAKolB,MAAMhqB,IAEjD0B,EAAS5B,IAAMO,EAAO4V,YAAc9V,GACtCF,EAAcsB,KAAKvB,GAIvB0B,EAAWzB,EAEP2E,KAAKolB,MAAM3pB,EAAO4V,YAAc9V,GAAcyE,KAAKolB,MAAMtoB,EAASA,EAAShB,OAAS,IAAM,GAC5FgB,EAASH,KAAKlB,EAAO4V,YAAc9V,GAMvC,GAFwB,IAApBuB,EAAShB,SAAcgB,GAAY,IAEX,IAAxB3B,EAAO0d,aAAoB,CAC7B,GAAM3d,GAAMO,EAAO8K,gBAAkBnK,EAAM,aAAef,EAAkB,cAC5E8B,GAAOH,OAAO,SAACvB,EAAGJ,GAAA,OACXF,EAAO+G,SAER7G,IAAe8B,EAAOrB,OAAS,IAKlC8S,IAAAtO,mBACApF,EAAA,GAAAgD,OAASG,EAAA,QAId,GAAIlD,EAAOgP,gBAAkBhP,EAAOqqB,qBAAsB,CACxD,GAAI/pB,GAAgB,CACpBsC,GAAgB9B,QAAQ,SAAAZ,GACtBI,GAAiBJ,GAAkBF,EAAO0d,aAAe1d,EAAO0d,aAAe,KAEjFpd,GAAiBN,EAAO0d,YACxB,IAAMxd,GAAUI,EAAgBF,CAChCuB,GAAWA,EAASgS,IAAI,SAAArT,GAAA,MAClBA,GAAO,GAAWkC,EAClBlC,EAAOJ,EAAgBA,EAAU2I,EAC9BvI,IAIX,GAAIN,EAAOsqB,yBAA0B,CACnC,GAAIhqB,GAAgB,CAMpB,IALAsC,EAAgB9B,QAAQ,SAAAZ,GACtBI,GAAiBJ,GAAkBF,EAAO0d,aAAe1d,EAAO0d,aAAe,MAEjFpd,GAAiBN,EAAO0d,cAEJtd,EAAY,CAC9B,GAAMF,IAAmBE,EAAaE,GAAiB,CACvDqB,GAASb,QAAQ,SAACR,EAAMP,GACtB4B,EAAS5B,GAAaO,EAAOJ,IAE/B6B,EAAWjB,QAAQ,SAACR,EAAMP,GACxBgC,EAAWhC,GAAaO,EAAOJ,KAYrC,GAPAO,OAAO2I,OAAO9I,GACZwN,OAAA9L,EACA6M,SAAAlN,EACAuL,WAAAnL,EACAyL,gBAAA5K,IAGE5C,EAAOgP,gBAAkBhP,EAAO+G,UAAY/G,EAAOqqB,qBAAsB,CAC3ExmB,EAAevD,EAAOkE,UAAW,mCAAuC7C,EAAS,GAAb,MACpEkC,EAAevD,EAAOkE,UAAW,iCAAqClE,EAAO2V,KAAO,EAAIrT,EAAgBA,EAAgBjC,OAAS,GAAK,EAAnE,KACnE,IAAMT,IAAiBI,EAAOuO,SAAS,GACjC9O,GAAmBO,EAAO4M,WAAW,EAC3C5M,GAAOuO,SAAWvO,EAAOuO,SAAS8E,IAAI,SAAArT,GAAA,MAAKA,GAAIJ,IAC/CI,EAAO4M,WAAa5M,EAAO4M,WAAWyG,IAAI,SAAArT,GAAA,MAAKA,GAAIP,IAoBrD,GAjBIsB,IAAiBH,GACnBZ,EAAOkG,KAAK,sBAGV7E,EAAShB,SAAWwG,IAClB7G,EAAOgE,OAAO+K,eAAe/O,EAAOgP,gBACxChP,EAAOkG,KAAK,yBAGVzE,EAAWpB,SAAWqC,GACxB1C,EAAOkG,KAAK,0BAGVxG,EAAO2M,qBACTrM,EAAOiqB,uBAGJnpB,GAAcpB,EAAO+G,SAA8B,UAAlB/G,EAAOoc,QAAwC,SAAlBpc,EAAOoc,QAAoB,CAC5F,GAAMlc,GAAA,GAAA6C,OAAyB/C,EAAO0c,uBAAA,mBAChC3c,EAA6BO,EAAO+P,IAAIgC,SAASnS,EAEnDmB,IAAgBrB,EAAOwqB,wBACpBzqB,GAA4BO,EAAO+P,IAAImB,SAAStR,GAC5CH,GACTO,EAAO+P,IAAIsB,YAAYzR,MFhT3ByY,iBGXa,SAA0BrY,GACvC,GAIIL,GAJEC,EAASyC,KACT5C,KACAC,EAAYE,EAAO2N,SAAW3N,EAAOoE,OAAOuJ,QAAQjH,QACtDxG,EAAY,CAGK,iBAAVE,GACTJ,EAAO4L,cAAcxL,IAAA,IACZA,GACTJ,EAAO4L,cAAc5L,EAAOoE,OAAOC,MAGrC,IAAMtD,GAAkB,SAAAX,GAAA,MAClBN,GACKE,EAAO4N,OAAOjM,OAAO,SAAA3B,GAAA,MAAMmW,UAASnW,EAAGglB,aAAa,2BAA4B,MAAQ5kB,IAAO,GAGjGJ,EAAO4N,OAAO0F,GAAGlT,GAAO,GAIjC,IAAoC,SAAhCJ,EAAOoE,OAAOyK,eAA4B7O,EAAOoE,OAAOyK,cAAgB,EAC1E,GAAI7O,EAAOoE,OAAO0K,gBACf9O,EAAO6a,eAAiB5T,OAAO0M,KAAK,SAAAvT,GACnCP,EAAayB,KAAKlB,SAGpB,KAAKL,EAAI,EAAGA,EAAI4E,KAAKqO,KAAKhT,EAAOoE,OAAOyK,eAAgB9O,GAAK,EAAG,CAC9D,GAAMK,GAAQJ,EAAOoG,YAAcrG,CACnC,IAAIK,EAAQJ,EAAO4N,OAAOnN,SAAWX,EAAW,KAChDD,GAAayB,KAAKP,EAAgBX,QAItCP,GAAayB,KAAKP,EAAgBf,EAAOoG,aAI3C,KAAKrG,EAAI,EAAGA,EAAIF,EAAaY,OAAQV,GAAK,EACxC,OAAA,KAAWF,EAAaE,GAAoB,CAC1C,GAAMK,GAASP,EAAaE,GAAG+V,YAC/B5V,GAAYE,EAASF,EAAYE,EAASF,GAK1CA,GAA2B,IAAdA,IAAiBF,EAAO6L,WAAW0H,IAAI,SAAA,GAAA1Q,OAAa3C,EAAA,QHnCrEmqB,mBIba,WAIb,IAAK,GAHCjqB,GAASqC,KACTzC,EAASI,EAAOwN,OAEb/N,EAAI,EAAGA,EAAIG,EAAOS,OAAQZ,GAAK,EACtCG,EAAOH,GAAGqd,kBAAoB9c,EAAO8K,eAAiBlL,EAAOH,GAAG0qB,WAAavqB,EAAOH,GAAG2qB,WJSzFC,qBKba,WAAoE,GAAtCrqB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAYiC,MAAQA,KAAK0B,WAAa,EAC3EnE,EAASyC,KACT5C,EAASG,EAAOoE,OAEpBtE,EAGEE,EAJE4N,OAEU7N,EAEZC,EAFFyK,aACAvK,EACEF,EAFe2O,QAGnB,IAAsB,IAAlB7O,EAAOW,OAAX,KAAyB,KACdX,EAAO,GAAGod,mBAAmCld,EAAOqqB,oBAC/D,IAAItpB,IAAgBX,CAChBL,KAAKgB,EAAeX,GAExBN,EAAO2R,YAAY5R,EAAO6Y,mBAC1B1Y,EAAO0qB,wBACP1qB,EAAO6a,gBAEP,KAAK,GAAIza,GAAI,EAAGA,EAAIN,EAAOW,OAAQL,GAAK,EAAG,CACzC,GAAMS,GAAQf,EAAOM,GACjBc,EAAcL,EAAMqc,iBAEpBrd,GAAOgH,SAAWhH,EAAOiP,iBAC3B5N,GAAepB,EAAO,GAAGod,kBAG3B,IAAMlc,IAAiBD,GAAgBlB,EAAOiP,eAAiB9O,EAAO+K,eAAiB,GAAK7J,IAAgBL,EAAMmpB,gBAAkBnqB,EAAO2d,cACrI1b,GAAyBf,EAAeb,EAAS,IAAML,EAAOiP,eAAiB9O,EAAO+K,eAAiB,GAAK7J,IAAgBL,EAAMmpB,gBAAkBnqB,EAAO2d,cAC3Jrc,IAAgBJ,EAAeG,GAC/BO,EAAaN,EAAcnB,EAAOsN,gBAAgBlN,IACtCe,GAAe,GAAKA,EAAcnB,EAAO+V,KAAO,GAAKtU,EAAa,GAAKA,GAAczB,EAAO+V,MAAQ5U,GAAe,GAAKM,GAAczB,EAAO+V,QAG7J/V,EAAO6a,cAAcvZ,KAAKT,GAC1Bb,EAAO0qB,qBAAqBppB,KAAKlB,GACjCN,EAAOwT,GAAGlT,GAAGkR,SAASzR,EAAO6Y,oBAG/B7X,EAAMgP,SAAW9P,GAAOiB,EAAgBA,EACxCH,EAAM8pB,iBAAmB5qB,GAAO+B,EAAwBA,EAG1D9B,EAAO6a,cAAgB5T,EAAEjH,EAAO6a,iBL3BhChO,eMfa,SAAwBzM,GACrC,GAAMJ,GAASyC,IAEf,QAAA,KAAWrC,EAA2B,CACpC,GAAMP,GAAaG,EAAOyK,cAAgB,EAAI,CAE9CrK,GAAYJ,GAAUA,EAAOmE,WAAanE,EAAOmE,UAAYtE,GAAc,EAG7E,GAAMA,GAASG,EAAOoE,OAChBtE,EAAiBE,EAAO8K,eAAiB9K,EAAO+K,eAEpDhL,EAGEC,EAJA6P,SAEF3P,EAEEF,EAHM0N,YAER3M,EACEf,EAFS6N,MAGPhN,EAAeX,EACfgB,EAASH,CAEQ,KAAnBjB,GACFC,EAAW,EACXG,GAAA,EACAa,GAAA,IAEAhB,GAAYK,EAAYJ,EAAO+K,gBAAkBjL,EACjDI,EAAcH,GAAY,EAC1BgB,EAAQhB,GAAY,GAGtBQ,OAAO2I,OAAOlJ,GACZ6P,SAAA9P,EACA2N,YAAAxN,EACA2N,MAAA9M,KAEElB,EAAO4M,qBAAuB5M,EAAOiP,gBAAkBjP,EAAO2Y,aAAYxY,EAAOyqB,qBAAqBrqB,GAEtGF,IAAgBW,GAClBb,EAAOsG,KAAK,yBAGVvF,IAAUG,GACZlB,EAAOsG,KAAK,oBAGVzF,IAAiBX,GAAegB,IAAWH,IAC7Cf,EAAOsG,KAAK,YAGdtG,EAAOsG,KAAK,WAAYvG,INhCxB4M,oBOhBa,WACP,GAUF9L,GAVET,EAASqC,KAEbzC,EAKEI,EANEwN,OAEJ/N,EAIEO,EALIgE,OAENtE,EAGEM,EAJIyL,WAEN9L,EAEEK,EAHQgG,YAEVlG,EACEE,EAFSwqB,UAGP7pB,EAAYX,EAAOuN,SAAW9N,EAAO8N,QAAQjH,OACnD1G,GAAOyR,YAAA,GAAA5O,OAAehD,EAAOgrB,iBAAA,KAAAhoB,OAAoBhD,EAAOgZ,eAAA,KAAAhW,OAAkBhD,EAAOiZ,eAAA,KAAAjW,OAAkBhD,EAAOirB,0BAAA,KAAAjoB,OAA6BhD,EAAOkrB,wBAAA,KAAAloB,OAA2BhD,EAAOmrB,0BAI9KnqB,EADEE,EACYX,EAAOyL,WAAW6E,KAAA,IAAA7N,OAAShD,EAAOgY,WAAA,8BAAAhV,OAAuC9C,EAAA,OAEzEC,EAAOsT,GAAGvT,GAI1Bc,EAAYyQ,SAASzR,EAAOgrB,kBAExBhrB,EAAOiH,OAELjG,EAAYsR,SAAStS,EAAO0Y,qBAC9BzY,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,UAAAhV,OAAmBhD,EAAO0Y,oBAAA,+BAAA1V,OAAiD3C,EAAA,OAAeoR,SAASzR,EAAOirB,2BAEzIhrB,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,KAAAhV,OAAchD,EAAO0Y,oBAAA,8BAAA1V,OAAgD3C,EAAA,OAAeoR,SAASzR,EAAOirB,2BAKvI,IAAI5pB,GAAYL,EAAYsmB,QAAA,IAAAtkB,OAAYhD,EAAOgY,aAAcvE,GAAG,GAAGhC,SAASzR,EAAOgZ,eAE/EhZ,GAAOiH,MAA6B,IAArB5F,EAAUT,SAC3BS,EAAYlB,EAAOsT,GAAG,GACtBpS,EAAUoQ,SAASzR,EAAOgZ,gBAI5B,IAAI7X,GAAYH,EAAYymB,QAAA,IAAAzkB,OAAYhD,EAAOgY,aAAcvE,GAAG,GAAGhC,SAASzR,EAAOiZ,eAE/EjZ,GAAOiH,MAA6B,IAArB9F,EAAUP,SAC3BO,EAAYhB,EAAOsT,IAAI,GACvBtS,EAAUsQ,SAASzR,EAAOiZ,iBAGxBjZ,EAAOiH,OAEL5F,EAAUiR,SAAStS,EAAO0Y,qBAC5BzY,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,UAAAhV,OAAmBhD,EAAO0Y,oBAAA,+BAAA1V,OAAiD3B,EAAU+W,KAAK,2BAAA,OAAgC3G,SAASzR,EAAOkrB,yBAEzKjrB,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,KAAAhV,OAAchD,EAAO0Y,oBAAA,8BAAA1V,OAAgD3B,EAAU+W,KAAK,2BAAA,OAAgC3G,SAASzR,EAAOkrB,yBAGjK/pB,EAAUmR,SAAStS,EAAO0Y,qBAC5BzY,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,UAAAhV,OAAmBhD,EAAO0Y,oBAAA,+BAAA1V,OAAiD7B,EAAUiX,KAAK,2BAAA,OAAgC3G,SAASzR,EAAOmrB,yBAEzKlrB,EAAWsQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,KAAAhV,OAAchD,EAAO0Y,oBAAA,8BAAA1V,OAAgD7B,EAAUiX,KAAK,2BAAA,OAAgC3G,SAASzR,EAAOmrB,0BAIvK5qB,EAAO6qB,qBP7CPve,kBQjBa,SAA2BtM,GAClC,GAWFY,GAXEhB,EAASyC,KACT5C,EAAYG,EAAOyK,aAAezK,EAAOmE,WAAanE,EAAOmE,UAEjErE,EAMEE,EAPEgN,WAEJjN,EAKEC,EANQ2O,SAEVzO,EAIEF,EALMoE,OAEKrD,EAGXf,EAHFoG,YACWvF,EAETb,EAFF4qB,UACW1pB,EACTlB,EADFmT,UAEErR,EAAc1B,CAGlB,QAAA,KAAW0B,EAA6B,CACtC,IAAK,GAAI1B,GAAI,EAAGA,EAAIN,EAAWW,OAAQL,GAAK,MAAA,KAC/BN,EAAWM,EAAI,GACpBP,GAAaC,EAAWM,IAAMP,EAAYC,EAAWM,EAAI,IAAMN,EAAWM,EAAI,GAAKN,EAAWM,IAAM,EACtG0B,EAAc1B,EACLP,GAAaC,EAAWM,IAAMP,EAAYC,EAAWM,EAAI,KAClE0B,EAAc1B,EAAI,GAEXP,GAAaC,EAAWM,KACjC0B,EAAc1B,EAKdF,GAAOgrB,sBACLppB,EAAc,OAAA,KAAYA,KAA6BA,EAAc,GAI7E,GAAI/B,EAASiC,QAAQnC,IAAc,EACjCmB,EAAYjB,EAASiC,QAAQnC,OACxB,CACL,GAAMO,GAAOuE,KAAKE,IAAI3E,EAAOqN,mBAAoBzL,EACjDd,GAAYZ,EAAOuE,KAAKolB,OAAOjoB,EAAc1B,GAAQF,EAAOsN,gBAK9D,GAFIxM,GAAajB,EAASU,SAAQO,EAAYjB,EAASU,OAAS,GAE5DqB,IAAgBf,EAMlB,YALIC,IAAcE,IAChBlB,EAAOmT,UAAYnS,EACnBhB,EAAOsG,KAAK,oBAOhB,IAAMnF,GAAYgV,SAASnW,EAAO4N,OAAO0F,GAAGxR,GAAamW,KAAK,4BAA8BnW,EAAa,GACzGvB,QAAO2I,OAAOlJ,GACZmT,UAAAnS,EACA4pB,UAAAzpB,EACAkF,cAAAtF,EACAqF,YAAAtE,IAEF9B,EAAOsG,KAAK,qBACZtG,EAAOsG,KAAK,mBAERzF,IAAsBM,GACxBnB,EAAOsG,KAAK,oBAGVtG,EAAOmrB,aAAenrB,EAAOoE,OAAOgnB,qBACtCprB,EAAOsG,KAAK,gBRjDd2G,mBSjBa,SAA4B7M,GACzC,GAIIL,GAJEC,EAASyC,KACT5C,EAASG,EAAOoE,OAChBtE,EAAQmH,EAAE7G,GAAGgH,QAAA,IAAAvE,OAAYhD,EAAOgY,aAAc,GAChD3X,GAAA,CAGJ,IAAIJ,EACF,IAAK,GAAIM,GAAI,EAAGA,EAAIJ,EAAO4N,OAAOnN,OAAQL,GAAK,EAC7C,GAAIJ,EAAO4N,OAAOxN,KAAON,EAAO,CAC9BI,GAAA,EACAH,EAAaK,CACb,OAKN,IAAIN,IAASI,EAWX,MAFAF,GAAOqrB,iBAAA,QACPrrB,EAAOsrB,iBAAA,GATPtrB,GAAOqrB,aAAevrB,EAElBE,EAAO2N,SAAW3N,EAAOoE,OAAOuJ,QAAQjH,QAC1C1G,EAAOsrB,aAAenV,SAASlP,EAAEnH,GAAOmY,KAAK,2BAA4B,IAEzEjY,EAAOsrB,aAAevrB,EAQtBF,EAAO0rB,yBAAA,KAAuBvrB,EAAOsrB,cAA8BtrB,EAAOsrB,eAAiBtrB,EAAOoG,aACpGpG,EAAOurB,wBC1BXC,IACExd,QCPa,WAAsF,GAArE5N,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQ,EAAGR,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOxE,IAAAW,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBV,EAAAU,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GAAUX,EAAAS,UAAAC,OAAA,EAAAD,UAAA,OAAAE,EACnG,IAAqB,gBAAVN,IAAuC,gBAAVA,GACtC,KAAM,IAAImgB,OAAA,2EAAA1d,OAAAxC,QAAwFD,GAAA,YAGpG,IAAqB,gBAAVA,GAAoB,CAK7B,GAAMJ,GAAgBmW,SAAS/V,EAAO,GAStC,KAFsBqrB,SAASzrB,GAG7B,KAAM,IAAIugB,OAAA,sEAAA1d,OAA4EzC,EAAA,YAKxFA,GAAQJ,EAGV,GAAME,GAASuC,KACX1B,EAAaX,CACbW,GAAa,IAAGA,EAAa,EACjC,IACEF,GAQEX,EATEkE,OAEJlD,EAOEhB,EARIyO,SAEN3N,EAMEd,EAPM8M,WAERlL,EAKE5B,EANQmG,cAEVlF,EAIEjB,EALWkG,YAEC3E,EAGZvB,EAHFuK,aACA5I,EAEE3B,EAHeoE,UAEjB5B,EACExC,EAFOwG,OAIX,IAAIxG,EAAOyG,WAAa9F,EAAO+F,iCAAmClE,IAAY5C,IAAaC,EACzF,OAAA,CAGF,IAAMuC,GAAOqC,KAAKE,IAAI3E,EAAOkE,OAAOmJ,mBAAoBxM,GACpD4H,EAAYrG,EAAOqC,KAAKolB,OAAOhpB,EAAauB,GAAQpC,EAAOkE,OAAOoJ,eAClE7E,IAAazH,EAAST,SAAQkI,EAAYzH,EAAST,OAAS,EAChE,IAAMwG,IAAa/F,EAASyH,EAE5B,IAAI9H,EAAOqqB,oBACT,IAAK,GAAI9qB,GAAI,EAAGA,EAAIY,EAAWP,OAAQL,GAAK,EAAG,CAC7C,GAAMJ,IAAuB2E,KAAKolB,MAAkB,IAAZ9iB,GAClCpH,EAAiB8E,KAAKolB,MAAsB,IAAhB/oB,EAAWZ,IACvCN,EAAqB6E,KAAKolB,MAA0B,IAApB/oB,EAAWZ,EAAI,QAAA,KAE1CY,EAAWZ,EAAI,GACpBJ,GAAuBH,GAAkBG,EAAsBF,GAAsBA,EAAqBD,GAAkB,EAC9HkB,EAAaX,EACJJ,GAAuBH,GAAkBG,EAAsBF,IACxEiB,EAAaX,EAAI,GAEVJ,GAAuBH,IAChCkB,EAAaX,GAMnB,GAAIF,EAAOirB,aAAepqB,IAAeI,EAAa,CACpD,IAAKjB,EAAO8L,gBAAkB/E,EAAY/G,EAAOiE,WAAa8C,EAAY/G,EAAO6K,eAC/E,OAAA,CAGF,KAAK7K,EAAO+L,gBAAkBhF,EAAY/G,EAAOiE,WAAa8C,EAAY/G,EAAO4K,iBAC1E3J,GAAe,KAAOJ,EAAY,OAAA,EAU3C,GAAI+B,EAGJ,IATI/B,KAAgBe,GAAiB,IAAMjC,GACzCK,EAAOoG,KAAK,0BAIdpG,EAAO2M,eAAe5F,GAEQnE,EAA1B/B,EAAaI,EAAyB,OAAgBJ,EAAaI,EAAyB,OAAwB,QAEpHM,IAAQwF,IAAc/G,EAAOiE,YAAc1C,GAAOwF,IAAc/G,EAAOiE,UAkBzE,MAjBAjE,GAAOwM,kBAAkB3L,GAErBF,EAAO2X,YACTtY,EAAOuY,mBAGTvY,EAAOyM,sBAEe,UAAlB9L,EAAOqb,QACThc,EAAO4M,aAAa7F,GAGJ,UAAdnE,IACF5C,EAAOwrB,gBAAgB7rB,EAAciD,GACrC5C,EAAOqd,cAAc1d,EAAciD,KAAA,CAMvC,IAAIjC,EAAOgG,QAAS,CAClB,GAAMzG,GAAMF,EAAOgL,eACbrL,EAAI4B,EAAMwF,GAAaA,CAE7B,IAAc,IAAVjH,EAAa,CACf,GAAMA,GAAYE,EAAOyN,SAAWzN,EAAOkE,OAAOuJ,QAAQjH,OAEtD1G,KACFE,EAAOoE,UAAUV,MAAMW,eAAiB,OACxCrE,EAAOyrB,mBAAA,GAGT9pB,EAAUzB,EAAM,aAAe,aAAeP,EAE1CG,GACFmF,sBAAsB,WACpBjF,EAAOoE,UAAUV,MAAMW,eAAiB,GACxCrE,EAAO0rB,yBAAA,QAGN,CACL,IAAK1rB,EAAO4W,QAAQxR,aAMlB,MALAxB,IACEE,OAAA9D,EACA+D,eAAgBpE,EAChBqE,KAAM9D,EAAM,OAAS,SAAA,CAKzByB,GAAUmD,SAAAC,gBAAAA,mBACP7E,EAAM,OAAS,MAAQP,GAAA,WACd,WAId,OAAA,EA+BF,MA5BAK,GAAO0L,cAAc5L,GACrBE,EAAO4M,aAAa7F,GACpB/G,EAAOwM,kBAAkB3L,GACzBb,EAAOyM,sBACPzM,EAAOoG,KAAK,wBAAyBtG,EAAOF,GAC5CI,EAAOwrB,gBAAgB7rB,EAAciD,GAEvB,IAAV9C,EACFE,EAAOqd,cAAc1d,EAAciD,GACzB5C,EAAOyG,YACjBzG,EAAOyG,WAAA,EAEFzG,EAAO2rB,gCACV3rB,EAAO2rB,8BAAgC,SAAuBzrB,GACvDF,IAAUA,EAAOiN,WAClB/M,EAAE8G,SAAWzE,OACjBvC,EAAO2L,WAAW,GAAG+P,oBAAoB,gBAAiB1b,EAAO2rB,+BACjE3rB,EAAO2L,WAAW,GAAG+P,oBAAoB,sBAAuB1b,EAAO2rB,+BACvE3rB,EAAO2rB,8BAAgC,WAChC3rB,GAAO2rB,8BACd3rB,EAAOqd,cAAc1d,EAAciD,MAIvC5C,EAAO2L,WAAW,GAAGhG,iBAAiB,gBAAiB3F,EAAO2rB,+BAC9D3rB,EAAO2L,WAAW,GAAGhG,iBAAiB,sBAAuB3F,EAAO2rB,iCAAA,GDtKtEC,YETa,WAAgF,GAA3D1rB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQ,EAAGR,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOxE,IAAAW,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBV,EAAAU,UAAAC,OAAA,EAAAD,UAAA,OAAAE,EAC7F,IAAqB,gBAAVN,GAAoB,CAK7B,GAAMJ,GAAgBmW,SAAS/V,EAAO,GAStC,KAFsBqrB,SAASzrB,GAG7B,KAAM,IAAIugB,OAAA,sEAAA1d,OAA4EzC,EAAA,YAKxFA,GAAQJ,EAGV,GAAMD,GAAS0C,KACXvC,EAAWE,CAMf,OAJIL,GAAOqE,OAAO0C,OAChB5G,GAAYH,EAAOkT,cAGdlT,EAAOiO,QAAQ9N,EAAUF,EAAOH,EAAcC,IFrBrDsR,UGTa,WAAmE,GAAhDhR,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOrE,IAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBX,EAAAW,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GAC1EZ,EAAS2C,KAEb1C,EAGED,EAJE6G,UAEJzG,EAEEJ,EAHO4G,QAET3F,EACEjB,EAFKsE,MAGT,KAAKlE,EAAS,MAAOJ,EACrB,IAAIe,GAAWE,EAAOyM,cAEO,UAAzBzM,EAAO8N,eAAsD,IAA1B9N,EAAOyM,gBAAwBzM,EAAOgrB,qBAC3ElrB,EAAW8D,KAAKC,IAAI9E,EAAOksB,qBAAqB,WAAA,GAAkB,GAGpE,IAAM9qB,GAAYpB,EAAOsG,YAAcrF,EAAOwM,mBAAqB,EAAI1M,CAEvE,IAAIE,EAAO+F,KAAM,CACf,GAAI/G,GAAagB,EAAOkrB,kBAAmB,OAAA,CAC3CnsB,GAAOiH,UAEPjH,EAAOosB,YAAcpsB,EAAO+L,WAAW,GAAG0a,WAG5C,MAAIxlB,GAAO0M,QAAU3N,EAAO+N,MACnB/N,EAAOkO,QAAQ,EAAG5N,EAAOJ,EAAcH,GAGzCC,EAAOkO,QAAQlO,EAAOsG,YAAclF,EAAWd,EAAOJ,EAAcH,IHjB3EsR,UIVa,WAqBb,QAASrP,GAAU1B,GACjB,MAAIA,GAAM,GAAWuE,KAAKolB,MAAMplB,KAAKyG,IAAIhL,IAClCuE,KAAKolB,MAAM3pB,GAvB4D,GAAhDA,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOrE,IAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBX,EAAAW,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GAC1EZ,EAAS2C,KAEb1C,EAMED,EAPEsE,OAEJlE,EAKEJ,EANI6G,UAEN5F,EAIEjB,EALO6O,SAET9N,EAGEf,EAJMkN,WAER9L,EAEEpB,EAHQ2K,YAIZ,KADI3K,EAFU4G,QAGA,MAAO5G,EAErB,IAAIC,EAAO+G,KAAM,CACf,GAAI5G,GAAaH,EAAOksB,kBAAmB,OAAA,CAC3CnsB,GAAOiH,UAEPjH,EAAOosB,YAAcpsB,EAAO+L,WAAW,GAAG0a,WAU5C,GAAMplB,GAAsBW,EAPVZ,EAAepB,EAAOqE,WAAarE,EAAOqE,WAQtD1C,EAAqBV,EAAS0S,IAAI,SAAArT,GAAA,MAAO0B,GAAU1B,KACrDyB,EAAWd,EAASU,EAAmBO,QAAQb,GAAuB,EAE1E,QAAA,KAAWU,GAA4B9B,EAAO8G,QAAS,CACrD,GAAIzG,EACJW,GAASH,QAAQ,SAACZ,EAAMH,GAClBsB,GAAuBnB,IAEzBI,EAAgBP,SAClB,KAGSO,IACTyB,EAAWd,EAASX,EAAgB,EAAIA,EAAgB,EAAIA,IAIhE,GAAIsC,GAAY,CAYhB,QAAA,KAVWb,IACTa,EAAY7B,EAAWmB,QAAQH,GAC3Ba,EAAY,IAAGA,EAAY5C,EAAOsG,YAAc,GAEvB,SAAzBrG,EAAO8O,eAAsD,IAA1B9O,EAAOyN,gBAAwBzN,EAAOgsB,qBAC3ErpB,EAAYA,EAAY5C,EAAOksB,qBAAqB,YAAA,GAAoB,EACxEtpB,EAAYiC,KAAKC,IAAIlC,EAAW,KAIhC3C,EAAO0N,QAAU3N,EAAO4N,YAAa,CACvC,GAAM3N,GAAYD,EAAOsE,OAAOuJ,SAAW7N,EAAOsE,OAAOuJ,QAAQjH,SAAW5G,EAAO6N,QAAU7N,EAAO6N,QAAQC,OAAOnN,OAAS,EAAIX,EAAO8N,OAAOnN,OAAS,CACvJ,OAAOX,GAAOkO,QAAQjO,EAAWK,EAAOJ,EAAcH,GAGxD,MAAOC,GAAOkO,QAAQtL,EAAWtC,EAAOJ,EAAcH,IJlDtDssB,WKXa,WAAoE,GAAhD/rB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOrE,IAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBX,EAAAW,UAAAC,OAAA,EAAAD,UAAA,OAAAE,EAEjF,OADe+B,MACDuL,QADCvL,KACc2D,YAAahG,EAAOJ,EAAcH,ILU/D8W,eMZa,WAA8F,GAAtEvW,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOrE,IAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBX,EAAAW,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GAAUZ,EAAAU,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAY,GACrGT,EAAS0C,KACXvC,EAAQH,EAAOqG,YACbrF,EAAO4D,KAAKE,IAAI9E,EAAOqE,OAAOmJ,mBAAoBrN,GAClDW,EAAYE,EAAO4D,KAAKolB,OAAO7pB,EAAQa,GAAQhB,EAAOqE,OAAOoJ,gBAC7DtM,EAAYnB,EAAO0K,aAAe1K,EAAOoE,WAAapE,EAAOoE,SAEnE,IAAIjD,GAAanB,EAAO4O,SAAS9N,GAAY,CAG3C,GAAMT,GAAcL,EAAO4O,SAAS9N,EAGhCK,GAAYd,GAFCL,EAAO4O,SAAS9N,EAAY,GAEHT,GAAeN,IACvDI,GAASH,EAAOqE,OAAOoJ,oBAEpB,CAGL,GAAMpN,GAAWL,EAAO4O,SAAS9N,EAAY,EAGzCK,GAAYd,IAFIL,EAAO4O,SAAS9N,GAEOT,GAAYN,IACrDI,GAASH,EAAOqE,OAAOoJ,gBAM3B,MAFAtN,GAAQyE,KAAKC,IAAI1E,EAAO,GACxBA,EAAQyE,KAAKE,IAAI3E,EAAOH,EAAOiN,WAAWvM,OAAS,GAC5CV,EAAOiO,QAAQ9N,EAAOE,EAAOJ,EAAcH,INhBlD0rB,oBOZa,WACP,GAOFxrB,GAPEK,EAASqC,KAEbzC,EAEEI,EAHEgE,OAEJvE,EACEO,EAFIyL,WAGF/L,EAAyC,SAAzBE,EAAO6O,cAA2BzO,EAAO4rB,uBAAyBhsB,EAAO6O,cAC3F3O,EAAeE,EAAOkrB,YAG1B,IAAItrB,EAAO8G,KAAM,CACf,GAAI1G,EAAOuG,UAAW,MACtB5G,GAAYoW,SAASlP,EAAE7G,EAAOirB,cAAcpT,KAAK,2BAA4B,IAEzEjY,EAAO8O,eACL5O,EAAeE,EAAO6S,aAAenT,EAAgB,GAAKI,EAAeE,EAAOwN,OAAOnN,OAASL,EAAO6S,aAAenT,EAAgB,GACxIM,EAAO2G,UACP7G,EAAeL,EAAWuQ,SAAA,IAAAvN,OAAa7C,EAAO6X,WAAA,8BAAAhV,OAAuC9C,EAAA,YAAA8C,OAAoB7C,EAAOuY,oBAAA,MAAwBjF,GAAG,GAAGM,QAC9I9Q,EAAS,WACP1C,EAAO4N,QAAQ9N,MAGjBE,EAAO4N,QAAQ9N,GAERA,EAAeE,EAAOwN,OAAOnN,OAASX,GAC/CM,EAAO2G,UACP7G,EAAeL,EAAWuQ,SAAA,IAAAvN,OAAa7C,EAAO6X,WAAA,8BAAAhV,OAAuC9C,EAAA,YAAA8C,OAAoB7C,EAAOuY,oBAAA,MAAwBjF,GAAG,GAAGM,QAC9I9Q,EAAS,WACP1C,EAAO4N,QAAQ9N,MAGjBE,EAAO4N,QAAQ9N,OAGjBE,GAAO4N,QAAQ9N,KtD7BfksB,IAAA,EAIEC,GAAS,SAACjsB,EAAQJ,GAChB,GAAAH,GAAWgB,IAEff,EAMEM,EAPEgE,OAEJrE,EAKEK,EANI+Y,YAENjZ,EAIEE,EALSmO,GAEXxN,EAGEX,EAJAkE,UAEFpD,EAEEd,EAHOksB,OAETtrB,EACEZ,EAFI0W,QAGFhV,IAAYhC,EAAO0L,OACnBrK,EAAuB,OAAXnB,EAAkB,mBAAqB,sBACnDyB,EAAezB,CAErB,IAAKgB,EAAQwE,MAIN,CACL,GAAMxF,KAAwC,eAAtBD,EAAYmX,QAA0BlW,EAAQ0E,kBAAmB5F,EAAOiX,oBAC9FC,SAAA,EACAC,SAAA,EAEF/W,GAAGiB,GAAWpB,EAAYmX,MAAO9W,EAAOmK,aAAcvK,GACtDE,EAAGiB,GAAWpB,EAAYoX,KAAM/W,EAAOwM,YAAa5L,EAAQ0E,iBAC1DsR,SAAA,EACAC,QAAAnV,GACEA,GACJ5B,EAAGiB,GAAWpB,EAAYqX,IAAKhX,EAAOgN,WAAYpN,GAE9CD,EAAYwsB,QACdrsB,EAAGiB,GAAWpB,EAAYwsB,OAAQnsB,EAAOgN,WAAYpN,OAhBvDE,GAAGiB,GAAWpB,EAAYmX,MAAO9W,EAAOmK,cAAA,GACxC1K,EAASsB,GAAWpB,EAAYoX,KAAM/W,EAAOwM,YAAa9K,GAC1DjC,EAASsB,GAAWpB,EAAYqX,IAAKhX,EAAOgN,YAAA,IAmB1CtN,EAAOwP,eAAiBxP,EAAOyP,2BACjCrP,EAAGiB,GAAW,QAASf,EAAOosB,SAAA,GAG5B1sB,EAAO+G,SACT9F,EAAUI,GAAW,SAAUf,EAAOqsB,UAIpC3sB,EAAO4sB,qBACTtsB,EAAOqB,GAAcP,EAAOyrB,KAAOzrB,EAAO0rB,QAAU,0CAA4C,wBAAyBte,GAAA,GAEzHlO,EAAOqB,GAAc,iBAAkB6M,GAAA,IAkC3Cue,IACEC,aA/BF,WACQ,GAAA1sB,GAASqC,KACTzC,EAAWa,IAEfhB,EAEEO,EAHEgE,OAEJtE,EACEM,EAFI0W,OAGR1W,GAAOmK,aAAehE,EAAawmB,KAAK3sB,GACxCA,EAAOwM,YAAcpC,EAAYuiB,KAAK3sB,GACtCA,EAAOgN,WAAaL,EAAWggB,KAAK3sB,GAEhCP,EAAOgH,UACTzG,EAAOqsB,SAAWhd,EAASsd,KAAK3sB,IAGlCA,EAAOosB,QAAUnd,EAAQ0d,KAAK3sB,GAE1BN,EAAQ0F,QAAU4mB,KACpBpsB,EAAS6F,iBAAiB,aAAciK,GACxCsc,IAAA,GAGFC,GAAOjsB,EAAQ,OAUf4sB,aAPF,WAEEX,GADe5pB,KACA,SuDxFXwqB,GAAgB,SAAC7sB,EAAQJ,GAAA,MACtBI,GAAOopB,MAAQxpB,EAAOwpB,MAAQxpB,EAAOwpB,KAAKC,KAAO,GCD1DyD,IACEC,WCaa,WACP,GAAA/sB,GAASqC,KAEbzC,EAMEI,EAPEmc,WAEJ1c,EAKEO,EANQgE,OAEVtE,EAIEM,EALI2S,IAENhT,EAGEK,EAJC+P,IAEHjQ,EAEEE,EAHCksB,OAEHvrB,EACEX,EAFI0W,QAIFjW,EA3BR,SAAwBT,EAASJ,GAC/B,GAAMH,KAYN,OAXAO,GAAQQ,QAAQ,SAAAR,GACM,UAAAC,QAATD,GACTG,OAAOI,KAAKP,GAAMQ,QAAQ,SAAAd,GACpBM,EAAKN,IACPD,EAAcyB,KAAKtB,EAASF,KAGP,gBAATM,IAChBP,EAAcyB,KAAKtB,EAASI,KAGzBP,IAc0B,cAAeA,EAAOqG,WACrDknB,kBAAmBrsB,EAAQyE,QAE3B6nB,YAAajtB,EAAOgE,OAAOkG,UAAYzK,EAAOyK,SAAS5D,UAEvD4mB,WAAcztB,EAAO2Y,aAErBzF,IAAOjT,IAEP0pB,KAAQ3pB,EAAO2pB,MAAQ3pB,EAAO2pB,KAAKC,KAAO,IAE1C8D,cAAe1tB,EAAO2pB,MAAQ3pB,EAAO2pB,KAAKC,KAAO,GAA0B,WAArB5pB,EAAO2pB,KAAKgE,OAElEZ,QAAW1sB,EAAO0sB,UAElBD,IAAOzsB,EAAOysB,MAEdc,WAAY5tB,EAAOgH,UAEnB6mB,SAAY7tB,EAAOgH,SAAWhH,EAAOiP,iBAErC6e,iBAAkB9tB,EAAO4M,sBACvB5M,EAAO2c,uBACXxc,GAAWsB,KAAAC,MAAXvB,EAAAwB,mBAAmBX,IACnBd,EAAIuR,SAAS9P,mBAAIxB,GAAY0T,KAAK,MAClCtT,EAAOwtB,wBDhDPC,cEJa,WACb,GAEEztB,GAFaqC,KACT0N,IAEJnQ,EAHayC,KAEV8Z,UAGLnc,GAAIqR,YAAYzR,EAAW0T,KAAK,MALjBjR,KAMRmrB,yBCPTE,IACEtb,MAAA,EACAtM,UAAW,aACXiB,kBAAmB,UACnB4mB,aAAc,EACd1pB,MAAO,IACPwC,SAAA,EACA6lB,sBAAA,EACAsB,gBAAA,EACAxiB,QAAA,EACA0E,gBAAA,EACAxJ,SAAA,EACAoD,kBAAmB,wDAEnB2L,MAAO,KACPC,OAAQ,KAER9O,gCAAA,EAEAgc,UAAW,KACXqL,IAAK,KAELrlB,oBAAA,EACAE,mBAAoB,GAEpB0P,YAAA,EAEAyR,gBAAA,EAEA9M,kBAAA,EAEAjB,OAAQ,QAGRzN,gBAAA,GACAyf,gBAAiB,SAEjB1Q,aAAc,EACd3O,cAAe,EACfrB,eAAgB,EAChBD,mBAAoB,EACpBwe,oBAAA,EACAjd,gBAAA,EACAqb,sBAAA,EACAlU,mBAAoB,EAEpBmT,kBAAmB,EAEnB8B,qBAAA,EACAd,0BAAA,EAEAjb,eAAA,EAEA0a,cAAA,EAEAzd,WAAY,EACZf,WAAY,GACZ8iB,eAAA,EACAjgB,aAAA,EACAH,YAAA,EACAE,gBAAiB,GACjBH,aAAc,IACdtB,cAAA,EACAtC,gBAAA,EACAP,UAAW,EACX4B,0BAAA,EACApB,0BAAA,EACAC,+BAAA,EACAQ,qBAAA,EAEA6F,mBAAA,EAEAlE,YAAA,EACAD,gBAAiB,IAEjBG,qBAAA,EAEAV,YAAA,EAEAuD,eAAA,EACAC,0BAAA,EACAgc,qBAAA,EAEAjS,eAAA,EACA8U,qBAAA,EAEAtnB,MAAA,EACAunB,qBAAsB,EACtBpb,aAAc,KACdqb,mBAAA,EACAC,wBAAA,EACAtC,mBAAA,EAEAxe,QAAA,EAEAxB,gBAAA,EACAD,gBAAA,EACA3D,aAAc,KAEdL,WAAA,EACAL,eAAgB,oBAChBI,kBAAmB,KAEnBgP,kBAAA,EACAuT,wBAAyB,GAEzB9N,uBAAwB,UAExB3E,WAAY,eACZ2W,gBAAiB,+BACjB3D,iBAAkB,sBAClBC,0BAA2B,gCAC3BpS,kBAAmB,uBACnBH,oBAAqB,yBACrBM,eAAgB,oBAChBkS,wBAAyB,8BACzBjS,eAAgB,oBAChBkS,wBAAyB,8BACzByD,aAAc,iBAEdrD,oBAAA,EAEAsD,cAAA,GCnGIC,IACJC,cAAanH,GACblV,OAAMgW,GACNpkB,WCpBAwH,aCLa,WAA+D,GAAnCvL,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAOiC,KAAKyI,eAAiB,IAAM,IAG1ElL,EAFayC,KACT2B,OAEUvE,EAHD4C,KAGbgI,aACA3K,EAJa2C,KAGI0B,UAEjBpE,EALa0C,KAIJoJ,UAIX,IAAI7L,EAAOmd,iBACT,MAAOtd,IAAOC,EAAYA,CAG5B,IAAIE,EAAO6G,QACT,MAAO/G,EAGT,IAAII,GvE0BN,SAAsBE,GAAW,GAE3BN,GACAC,EACAG,EAJoBF,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAO,IACzBX,EAASmB,IAITD,EAxBR,SAA0BX,GACxB,GACIP,GADEG,EAASgB,GAef,OAZIhB,GAAOmjB,mBACTtjB,EAAQG,EAAOmjB,iBAAiB/iB,EAAI,QAGjCP,GAASO,EAAGyuB,eACfhvB,EAAQO,EAAGyuB,cAGRhvB,IACHA,EAAQO,EAAGwD,OAGN/D,GAQ2BO,EA+BlC,OA7BIP,GAAOivB,iBACT/uB,EAAegB,EAASqT,WAAarT,EAAS6oB,gBAE1C7pB,EAAaokB,MAAM,KAAK1jB,OAAS,IACnCV,EAAeA,EAAaokB,MAAM,MAAM1Q,IAAI,SAAArT,GAAA,MAAKA,GAAEuS,QAAQ,IAAK,OAAMe,KAAK,OAK7ExT,EAAkB,GAAIL,GAAOivB,gBAAiC,SAAjB/uB,EAA0B,GAAKA,KAE5EG,EAAkBa,EAASguB,cAAgBhuB,EAASiuB,YAAcjuB,EAASkuB,aAAeluB,EAASmuB,aAAenuB,EAASqT,WAAarT,EAASqiB,iBAAiB,aAAazQ,QAAQ,aAAc,sBACrM7S,EAASI,EAAgBkD,WAAW+gB,MAAM,MAG/B,MAATnkB,IAE0BD,EAAxBF,EAAOivB,gBAAgC5uB,EAAgBivB,IAChC,KAAlBrvB,EAAOW,OAA8Byd,WAAWpe,EAAO,KAC5Coe,WAAWpe,EAAO,KAG3B,MAATE,IAE0BD,EAAxBF,EAAOivB,gBAAgC5uB,EAAgBkvB,IAChC,KAAlBtvB,EAAOW,OAA8Byd,WAAWpe,EAAO,KAC5Coe,WAAWpe,EAAO,KAGjCC,GAAgB,GuE9DaA,EAAW,GAAIK,EAEnD,OADIP,KAAKK,GAAoBA,GACtBA,GAAoB,GDb3B4M,aEPa,SAAsB1M,EAAWJ,GACxC,GAgCFkB,GAhCErB,EAAS4C,KAEC3C,EAKZD,EALF4K,aACA1K,EAIEF,EALeuE,OAEjBlE,EAGEL,EAJIgM,WAEN9K,EAEElB,EAHQyE,UAEVzD,EACEhB,EAFOgQ,SAGP7O,EAAI,EACJc,EAAI,CAGJjC,GAAOqL,eACTlK,EAAIlB,GAAOM,EAAYA,EAEvB0B,EAAI1B,EAGFL,EAAO8pB,eACT7oB,EAAI2D,KAAKolB,MAAM/oB,GACfc,EAAI6C,KAAKolB,MAAMjoB,IAGb/B,EAAO8G,QACT9F,EAAUlB,EAAOqL,eAAiB,aAAe,aAAerL,EAAOqL,gBAAkBlK,GAAKc,EACpF/B,EAAOod,kBACjBjd,EAAWkU,UAAA,eAAAvR,OAAyB7B,EAAA,QAAA6B,OAAQf,EAAA,aAG9CjC,EAAO6P,kBAAoB7P,EAAOsE,UAClCtE,EAAOsE,UAAYtE,EAAOqL,eAAiBlK,EAAIc,CAG/C,IAAMX,GAAiBtB,EAAOiL,eAAiBjL,EAAOkL,cAGpD7J,GADqB,IAAnBC,EACY,GAECf,EAAYP,EAAOkL,gBAAkB5J,EAGlDD,IAAgBL,GAClBhB,EAAOgN,eAAezM,GAGxBP,EAAOyG,KAAK,eAAgBzG,EAAOsE,UAAWnE,IFtC9C+K,aGRa,WACb,OAAQtI,KAAKkM,SAAS,IHQtB7D,aITa,WACb,OAAQrI,KAAKkM,SAASlM,KAAKkM,SAASlO,OAAS,IJS7C4uB,YKTa,WAA4G,GAAvFjvB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAY,EAAGR,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAQiC,KAAK2B,OAAOC,MAAOxE,IAAAW,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBV,IAAAU,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAwBT,EAAAS,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GACnHR,EAASuC,KAEb1B,EAEEb,EAHEkE,OAEJvD,EACEX,EAFIoE,SAIR,IAAIpE,EAAOyG,WAAa5F,EAAO6F,+BAC7B,OAAA,CAGF,IAEI9E,GAFEZ,EAAehB,EAAO6K,eACtB/J,EAAed,EAAO4K,cAM5B,IAJiDhJ,EAA7ChC,GAAmBM,EAAYc,EAA6BA,EAAsBpB,GAAmBM,EAAYY,EAA6BA,EAAiCZ,EAEnLF,EAAO2M,eAAe/K,GAElBf,EAAO8F,QAAS,CAClB,GAAMzG,GAAMF,EAAOgL,cAEnB,IAAc,IAAVlL,EACFa,EAAUT,EAAM,aAAe,cAAgB0B,MAC1C,CACL,IAAK5B,EAAO4W,QAAQxR,aAMlB,MALAxB,IACEE,OAAA9D,EACA+D,gBAAiBnC,EACjBoC,KAAM9D,EAAM,OAAS,SAAA,CAKzBS,GAAUmE,SAAAC,gBAAAA,mBACP7E,EAAM,OAAS,OAAS0B,GAAA,WACf,WAId,OAAA,EA2CF,MAxCc,KAAV9B,GACFE,EAAO0L,cAAc,GACrB1L,EAAO4M,aAAahL,GAEhBjC,IACFK,EAAOoG,KAAK,wBAAyBtG,EAAOD,GAC5CG,EAAOoG,KAAK,oBAGdpG,EAAO0L,cAAc5L,GACrBE,EAAO4M,aAAahL,GAEhBjC,IACFK,EAAOoG,KAAK,wBAAyBtG,EAAOD,GAC5CG,EAAOoG,KAAK,oBAGTpG,EAAOyG,YACVzG,EAAOyG,WAAA,EAEFzG,EAAOovB,oCACVpvB,EAAOovB,kCAAoC,SAAuBlvB,GAC3DF,IAAUA,EAAOiN,WAClB/M,EAAE8G,SAAWzE,OACjBvC,EAAO2L,WAAW,GAAG+P,oBAAoB,gBAAiB1b,EAAOovB,mCACjEpvB,EAAO2L,WAAW,GAAG+P,oBAAoB,sBAAuB1b,EAAOovB,mCACvEpvB,EAAOovB,kCAAoC,WACpCpvB,GAAOovB,kCAEVzvB,GACFK,EAAOoG,KAAK,oBAKlBpG,EAAO2L,WAAW,GAAGhG,iBAAiB,gBAAiB3F,EAAOovB,mCAC9DpvB,EAAO2L,WAAW,GAAGhG,iBAAiB,sBAAuB3F,EAAOovB,sCAAA,INpDxEjb,YOvBAzI,cCJa,SAAuBxL,EAAUJ,GAC9C,GAAMH,GAAS4C,IAEV5C,GAAOuE,OAAOyC,SACjBhH,EAAOgM,WAAWwI,WAAWjU,GAG/BP,EAAOyG,KAAK,gBAAiBlG,EAAUJ,IDFvC0rB,gBEJa,WAA8C,GAArBtrB,KAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBR,EAAAQ,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GACrDb,EAAS4C,KAEb3C,EACED,EAFEuE,MAGFtE,GAAO+G,UAEP/G,EAAO0Y,YACT3Y,EAAO4Y,mBAGT1S,GACE/B,OAAAnE,EACAoG,aAAA7F,EACA8F,UAAAlG,EACAmG,KAAM,YFVRoX,cGLa,WAA4C,GAArBnd,KAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAqBR,EAAAQ,UAAAC,OAAA,EAAAD,UAAA,OAAAE,GACnDb,EAAS4C,KAEb3C,EACED,EAFEuE,MAGNvE,GAAO8G,WAAA,EACH7G,EAAO+G,UACXhH,EAAO+L,cAAc,GACrB7F,GACE/B,OAAAnE,EACAoG,aAAA7F,EACA8F,UAAAlG,EACAmG,KAAM,WVeRopB,MAAK/D,GACL1kB,MWzBA0oB,WCFa,WACP,GAAApvB,GAASqC,KACTzC,EAAWa,IAEfhB,EAEEO,EAHEgE,OAEJtE,EACEM,EAFIyL,WAIF9L,EAAYD,EAAWsQ,WAAW3P,OAAS,EAAIwG,EAAEnH,EAAWsQ,WAAW,GAAG6Q,YAAcnhB,CAC9FC,GAAUqQ,SAAA,IAAAvN,OAAahD,EAAOgY,WAAA,KAAAhV,OAAchD,EAAO0Y,sBAAuBD,QAC1E,IAAIpY,GAASH,EAAUqQ,SAAA,IAAAvN,OAAahD,EAAOgY,YAE3C,IAAIhY,EAAO0uB,uBAAwB,CACjC,GAAMnuB,GAAiBP,EAAO2N,eAAiBtN,EAAOO,OAASZ,EAAO2N,cAEtE,IAAIpN,IAAmBP,EAAO2N,eAAgB,CAC5C,IAAK,GAAI1N,GAAI,EAAGA,EAAIM,EAAgBN,GAAK,EAAG,CAC1C,GAAMM,GAAY6G,EAAEjH,EAASiC,cAAc,QAAQqP,SAAA,GAAAzO,OAAYhD,EAAOgY,WAAA,KAAAhV,OAAchD,EAAO2uB,iBAC3FzuB,GAAUuQ,OAAOlQ,GAGnBF,EAASH,EAAUqQ,SAAA,IAAAvN,OAAahD,EAAOgY,cAId,SAAzBhY,EAAOgP,eAA6BhP,EAAOoT,eAAcpT,EAAOoT,aAAe/S,EAAOO,QAC1FL,EAAO6S,aAAetO,KAAKqO,KAAKkL,WAAWre,EAAOoT,cAAgBpT,EAAOgP,cAAe,KACxFzO,EAAO6S,cAAgBpT,EAAOwuB,qBAE1BjuB,EAAO6S,aAAe/S,EAAOO,QAAUL,EAAOgE,OAAOkqB,oBACvDluB,EAAO6S,aAAe/S,EAAOO,OAG/B,IAAMM,MACAG,IACNhB,GAAOyT,KAAK,SAACvT,EAAIJ,GACDiH,EAAE7G,GACV6X,KAAK,0BAA2BjY,IAGxC,KAAK,GAAIA,GAAI,EAAGA,EAAII,EAAO6S,aAAcjT,GAAK,EAAG,CAC/C,GAAMI,GAAQJ,EAAI2E,KAAKolB,MAAM/pB,EAAIE,EAAOO,QAAUP,EAAOO,MACzDS,GAAaI,KAAKpB,EAAOoT,GAAGlT,GAAO,IACnCW,EAAcqkB,QAAQllB,EAAOoT,GAAGpT,EAAOO,OAASL,EAAQ,GAAG,IAG7D,IAAK,GAAIA,GAAI,EAAGA,EAAIc,EAAaT,OAAQL,GAAK,EAC5CL,EAAUuQ,OAAOrJ,EAAE/F,EAAad,GAAGqvB,WAAA,IAAiBne,SAASzR,EAAO0Y,qBAGtE,KAAK,GAAInY,GAAIW,EAAcN,OAAS,EAAGL,GAAK,EAAGA,GAAK,EAClDL,EAAUgnB,QAAQ9f,EAAElG,EAAcX,GAAGqvB,WAAA,IAAiBne,SAASzR,EAAO0Y,uBDhDxExR,QELa,WACb,GAAM3G,GAASqC,IACfrC,GAAOkG,KAAK,gBACZ,IASIpF,GARFlB,EAOEI,EAREgG,YAEJvG,EAMEO,EAPSwN,OAEX9N,EAKEM,EANI6S,aAENlT,EAIEK,EALU6L,eAEZ/L,EAGEE,EAJY4L,eAEdjL,EAEEX,EAHYuO,SAEA9N,EACZT,EADFqK,YAGFrK,GAAO6L,gBAAA,EACP7L,EAAO4L,gBAAA,CACP,IACMhL,IADiBD,EAASf,GACHI,EAAOuL,cAEhC3L,GAAcF,GAChBoB,EAAWrB,EAAOY,OAAwB,EAAfX,EAAmBE,EAC9CkB,GAAYpB,EACSM,EAAO4N,QAAQ9M,EAAU,GAAA,GAAG,IAEpB,IAATF,GAClBZ,EAAO0M,cAAcjM,GAAOT,EAAO+D,UAAY/D,EAAO+D,WAAanD,IAE5DhB,GAAeH,EAAOY,OAASX,IAExCoB,GAAYrB,EAAOY,OAAST,EAAcF,EAC1CoB,GAAYpB,EACSM,EAAO4N,QAAQ9M,EAAU,GAAA,GAAG,IAEpB,IAATF,GAClBZ,EAAO0M,cAAcjM,GAAOT,EAAO+D,UAAY/D,EAAO+D,WAAanD,IAIvEZ,EAAO6L,eAAiBlM,EACxBK,EAAO4L,eAAiB9L,EACxBE,EAAOkG,KAAK,YFjCZopB,YGNa,WACb,GAEEtvB,GAFaqC,KACToJ,WAEJ7L,EAHayC,KAEH2B,OAEVvE,EAJa4C,KAGPmL,MAGRxN,GAAWgQ,SAAA,IAAAvN,OAAa7C,EAAO6X,WAAA,KAAAhV,OAAc7C,EAAOuY,oBAAA,MAAA1V,OAAwB7C,EAAO6X,WAAA,KAAAhV,OAAc7C,EAAOwuB,kBAAmBlW,SAC3HzY,EAAOuY,WAAW,6BdsBlBrM,Ye3BAG,cCHa,SAAuB9L,GACpC,GAAMJ,GAASyC,IACf,MAAIzC,EAAO8W,QAAQtR,QAAUxF,EAAOoE,OAAO+pB,eAAiBnuB,EAAOoE,OAAO+K,eAAiBnP,EAAO8Q,UAAY9Q,EAAOoE,OAAOyC,SAA5H,CACA,GAAMhH,GAAyC,cAApCG,EAAOoE,OAAO+C,kBAAoCnH,EAAOuO,GAAKvO,EAAOsE,SAChFzE,GAAG+D,MAAM+rB,OAAS,OAClB9vB,EAAG+D,MAAM+rB,OAASvvB,EAAS,WAAa,SDDxCwvB,gBEJa,WACb,GAAMxvB,GAASqC,IAEXrC,GAAO0W,QAAQtR,OAASpF,EAAOgE,OAAO+K,eAAiB/O,EAAO0Q,UAAY1Q,EAAOgE,OAAOyC,UAI5FzG,EAA2C,cAApCA,EAAOgE,OAAO+C,kBAAoC,KAAO,aAAavD,MAAM+rB,OAAS,MjBwB5FvH,OAAMyE,GACNpe,akB7BAC,cvBGa,WACP,GAAAtO,GAASqC,KAEbzC,EAKEI,EANEgG,YAEJvG,EAIEO,EALS+qB,YAAA0E,EAKTzvB,EAJS6S,aACXnT,MAAA,KAAA+vB,EAAe,EAAAA,EACf9vB,EAEEK,EAHcgE,OAEhBlE,EACEE,EAFI+P,IAGFpP,EAAchB,EAAO0O,WAC3B,IAAK1N,KAAeA,GAAmD,IAApCR,OAAOI,KAAKI,GAAaN,QAA5D,CAEA,GAAMI,GAAaT,EAAO0vB,cAAc/uB,EAAaX,EAAOgE,OAAO8pB,gBAAiB9tB,EAAOmO,GAC3F,IAAK1N,GAAcT,EAAO2vB,oBAAsBlvB,EAAhD,CACA,GACMK,IADuBL,IAAcE,GAAcA,EAAYF,OAAA,KACpBT,EAAOiR,eAClDrQ,EAAcisB,GAAc7sB,EAAQL,GACpC+B,EAAamrB,GAAc7sB,EAAQc,GACnCC,EAAapB,EAAO2G,OAEtB1F,KAAgBc,GAClB5B,EAAIuR,YAAA,GAAA5O,OAAe9C,EAAOyc,uBAAA,SAAA3Z,OAA8B9C,EAAOyc,uBAAA,gBAC/Dpc,EAAOwtB,yBACG5sB,GAAec,IACzB5B,EAAIoR,SAAA,GAAAzO,OAAY9C,EAAOyc,uBAAA,UAEnBtb,EAAiBsoB,KAAKgE,MAAuC,WAA/BtsB,EAAiBsoB,KAAKgE,OAAsBtsB,EAAiBsoB,KAAKgE,MAA6B,WAArBztB,EAAOypB,KAAKgE,OACtHttB,EAAIoR,SAAA,GAAAzO,OAAY9C,EAAOyc,uBAAA,gBAGzBpc,EAAOwtB,yBAIR,aAAc,aAAc,aAAahtB,QAAQ,SAAAZ,GAChD,GAAMH,GAAmBE,EAAOC,IAASD,EAAOC,GAAM0G,QAChD5G,EAAkBoB,EAAiBlB,IAASkB,EAAiBlB,GAAM0G,OAErE7G,KAAqBC,GACvBM,EAAOJ,GAAMsS,WAGVzS,GAAoBC,GACvBM,EAAOJ,GAAMqS,UAGjB,IAAM5Q,GAAmBP,EAAiBgF,WAAahF,EAAiBgF,YAAcnG,EAAOmG,UACvFrE,EAAc9B,EAAO+G,OAAS5F,EAAiB2N,gBAAkB9O,EAAO8O,eAAiBpN,EAE3FA,IAAoB5B,GACtBO,EAAO4vB,kBAGT1sB,EAAOlD,EAAOgE,OAAQlD,EACtB,IAAMwB,GAAYtC,EAAOgE,OAAOsC,OAChCnG,QAAO2I,OAAO9I,GACZ8J,eAAgB9J,EAAOgE,OAAO8F,eAC9B8B,eAAgB5L,EAAOgE,OAAO4H,eAC9BC,eAAgB7L,EAAOgE,OAAO6H,iBAG5B9K,IAAeuB,EACjBtC,EAAOkS,WACGnR,GAAcuB,GACxBtC,EAAOiS,SAGTjS,EAAO2vB,kBAAoBlvB,EAC3BT,EAAOkG,KAAK,oBAAqBpF,GAE7BW,GAAehC,IACjBO,EAAOsvB,cACPtvB,EAAOovB,aACPpvB,EAAOwO,eACPxO,EAAO4N,QAAQhO,EAAcF,EAAeM,EAAO6S,aAAc,GAAA,IAGnE7S,EAAOkG,KAAK,aAAcpF,MuB/E1B4uB,cCHa,SAAuB1vB,GAA8B,GAAjBJ,GAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAO,SAAUX,EAAAW,UAAAC,OAAA,EAAAD,UAAA,OAAAE,EAClE,IAAKN,IAAwB,cAATJ,GAAyBH,GAA7C,CACA,GAAIC,IAAA,EACEC,EAASiB,IACTd,EAAyB,WAATF,EAAoBD,EAAOiZ,YAAcnZ,EAAY4oB,aACrE1nB,EAASR,OAAOI,KAAKP,GAAaqT,IAAI,SAAArT,GAC1C,GAAqB,gBAAVA,IAA6C,IAAvBA,EAAM4B,QAAQ,KAAY,CACzD,GAAMhC,GAAWke,WAAW9d,EAAM6vB,OAAO,GAEzC,QACEvO,MAFYxhB,EAAgBF,EAG5BkwB,MAAA9vB,GAIJ,OACEshB,MAAOthB,EACP8vB,MAAA9vB,IAGJW,GAAOovB,KAAK,SAAC/vB,EAAGJ;sBAAA,MAAMmW,UAAS/V,EAAEshB,MAAO,IAAMvL,SAASnW,EAAE0hB,MAAO,KAEhE,KAAK,GAAIthB,GAAI,EAAGA,EAAIW,EAAON,OAAQL,GAAK,EAAG,CACzC,GAAAgwB,GAGIrvB,EAAOX,GAFTF,EAAAkwB,EADIF,MAEJrvB,EAAAuvB,EADK1O,KAIM,YAAT1hB,EACED,EAAOwjB,WAAA,eAAA1gB,OAA0BhC,EAAA,QAAY8lB,UAC/C7mB,EAAaI,GAENW,GAAShB,EAAY2oB,cAC9B1oB,EAAaI,GAIjB,MAAOJ,IAAc,SnBLrBsP,eoBGAA,cApCF,WACQ,GAAAhP,GAASqC,KAEHzC,EAERI,EAFF0Q,SACAjR,EACEO,EAFiBgE,OAInBtE,EACED,EAFEoW,kBAIN,IAAInW,EAAoB,CACtB,GAAME,GAAiBI,EAAOwN,OAAOnN,OAAS,EACxCZ,EAAqBO,EAAO4M,WAAWhN,GAAkBI,EAAOkN,gBAAgBtN,GAAuC,EAArBF,CACxGM,GAAO0Q,SAAW1Q,EAAO2V,KAAOlW,MAEhCO,GAAO0Q,SAAsC,IAA3B1Q,EAAOuO,SAASlO,QAAA,IAGhCZ,EAAOmM,iBACT5L,EAAO4L,gBAAkB5L,EAAO0Q,WAAA,IAG9BjR,EAAOoM,iBACT7L,EAAO6L,gBAAkB7L,EAAO0Q,UAG9B9Q,GAAaA,IAAcI,EAAO0Q,WACpC1Q,EAAOyN,OAAA,GAGL7N,IAAcI,EAAO0Q,UACvB1Q,EAAOkG,KAAKlG,EAAO0Q,SAAW,OAAS,YpBGzCuf,QAAOnD,GACPoD,QqBhCAnY,UCDa,SAAmB/X,EAASJ,EAAKH,EAAQC,EAAOC,EAAkBG,GAI/E,QAASgB,KACHhB,GAAUA,IAJhB,GACIW,GADEE,EAASC,GAOGiG,GAAE7G,GAAS8X,OAAO,WAAW,IAE3B9X,EAAQmwB,UAAaxwB,EAsBvCmB,IArBIlB,GACFa,EAAQ,GAAIE,GAAOsiB,MACnBxiB,EAAM2vB,OAAStvB,EACfL,EAAM4vB,QAAUvvB,EAEZpB,IACFe,EAAM6vB,MAAQ5wB,GAGZD,IACFgB,EAAM8vB,OAAS9wB,GAGbG,IACFa,EAAM+vB,IAAM5wB,IAGdkB,KD1BJoY,cEJa,WAIb,QAAStZ,KACH,MAAOI,GAA8CA,IAAUA,EAAO+M,gBAAA,KACtE/M,EAAOywB,eAA4BzwB,EAAOywB,cAAgB,GAE1DzwB,EAAOywB,eAAiBzwB,EAAO0wB,aAAarwB,SAC1CL,EAAOgE,OAAOgqB,qBAAqBhuB,EAAOmS,SAC9CnS,EAAOkG,KAAK,iBAThB,GAAMlG,GAASqC,IACfrC,GAAO0wB,aAAe1wB,EAAO+P,IAAIO,KAAK,MAYtC,KAAK,GAAI7Q,GAAI,EAAGA,EAAIO,EAAO0wB,aAAarwB,OAAQZ,GAAK,EAAG,CACtD,GAAMC,GAAUM,EAAO0wB,aAAajxB,EACpCO,GAAO+X,UAAUrY,EAASA,EAAQixB,YAAcjxB,EAAQklB,aAAa,OAAQllB,EAAQ6wB,QAAU7wB,EAAQklB,aAAa,UAAWllB,EAAQ4wB,OAAS5wB,EAAQklB,aAAa,UAAA,EAAgBhlB,OvBqBnLgxB,MAEAC,GAAA,WACJ,QAAAA,KAAe,GAAAC,GAAAC,EAAAC,CAAA1N,iBAAAjhB,KAAAwuB,EAcb,KAAA,GAbIjxB,GACAH,EAYJwxB,EAAA7wB,UAAAC,OAdaL,EAAA,GAAAgB,OAAAiwB,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAAlxB,EAAAkxB,GAAA9wB,UAAA8wB,EAcb,IAVoB,IAAhBlxB,EAAKK,QAAgBL,EAAK,GAAGE,aAAwE,WAAzDC,OAAOmB,UAAU0B,SAASxB,KAAKxB,EAAK,IAAIiD,MAAM,GAAI,GAChGxD,EAASO,EAAK,IAAA8wB,EAEC9wB,EAAA+wB,EAAAI,eAAAL,EAAA,GAAdlxB,EAAAmxB,EAAA,GAAItxB,EAAAsxB,EAAA,IAGFtxB,IAAQA,MACbA,EAASyD,KAAWzD,GAChBG,IAAOH,EAAO0O,KAAI1O,EAAO0O,GAAKvO,GAE9BH,EAAO0O,IAAMtH,EAAEpH,EAAO0O,IAAI9N,OAAS,EAAG,CACxC,GAAML,KAQN,OAPA6G,GAAEpH,EAAO0O,IAAIoF,KAAK,SAAA3T,GAChB,GAAMF,GAAYwD,KAAWzD,GAC3B0O,GAAIvO,GAENI,GAAQkB,KAAK,GAAI2vB,GAAOnxB,MAGnBM,EAIT,GAAMN,GAAS2C,IACf3C,GAAO4D,YAAA,EACP5D,EAAOgX,QAAU1R,IACjBtF,EAAOwsB,O1BtBX,WAAgC,GAAblsB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,KAKjB,OAJKiX,KACHA,EA9CJ,WAEK,GAAA+Z,GAAAhxB,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,MADHJ,EAAAoxB,EADkB5O,UAGZ5iB,EAAUoF,IACVvF,EAASmB,IACTlB,EAAWD,EAAO8iB,UAAU8O,SAC5B1xB,EAAKK,GAAaP,EAAO8iB,UAAUC,UACnC1iB,GACJysB,KAAA,EACAC,SAAA,GAEI7rB,EAAclB,EAAOyjB,OAAO7N,MAC5B5U,EAAehB,EAAOyjB,OAAO5N,OAC7BxU,EAAUnB,EAAG2xB,MAAM,+BAErB5vB,EAAO/B,EAAG2xB,MAAM,wBACdvwB,EAAOpB,EAAG2xB,MAAM,2BAChBjwB,GAAUK,GAAQ/B,EAAG2xB,MAAM,8BAC3B7vB,EAAuB,UAAb/B,EACZ4C,EAAqB,aAAb5C,CAsBZ,QAlBKgC,GAAQY,GAAS1C,EAAQwF,QAFT,YAAa,YAAa,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,YAExGxD,QAAA,GAAAa,OAAW9B,EAAA,KAAA8B,OAAehC,KAAmB,IAC9FiB,EAAO/B,EAAG2xB,MAAM,uBACX5vB,IAAMA,GAAQ,EAAG,EAAG,WACzBY,GAAA,GAIExB,IAAYW,IACd3B,EAAOyxB,GAAK,UACZzxB,EAAO0sB,SAAA,IAGL9qB,GAAQL,GAAUN,KACpBjB,EAAOyxB,GAAK,MACZzxB,EAAOysB,KAAA,GAIFzsB,GAKqBE,IAGrBqX,I0BkBHmL,UAAW/iB,EAAO+iB,YAEpB9iB,EAAO8xB,SzBvDJpK,IACHA,EAhBJ,WACE,GAAMpnB,GAASY,GAOf,QACE6wB,SANF,WACE,GAAM7xB,GAAKI,EAAOuiB,UAAUC,UAAUkP,aACtC,OAAO9xB,GAAGgC,QAAQ,WAAa,GAAKhC,EAAGgC,QAAQ,UAAY,GAAKhC,EAAGgC,QAAQ,WAAa,KAKxF+vB,UAAW,+CAA+C/S,KAAK5e,EAAOuiB,UAAUC,gBAS3E4E,GyBoDL1nB,EAAO4nB,mBACP5nB,EAAOkoB,sBACPloB,EAAOwe,QAAA9c,mBAAc1B,EAAOkyB,aAExBnyB,EAAOye,SAAWld,MAAMC,QAAQxB,EAAOye,WACzC8S,EAAAtxB,EAAOwe,SAAQhd,KAAAC,MAAA6vB,EAAA5vB,mBAAQ3B,EAAOye,SAGhC,IAAMve,KACND,GAAOwe,QAAQ1d,QAAQ,SAAAR,GACrBA,GACE4D,OAAAlE,EACA4R,aAAc3B,EAAmBlQ,EAAQE,GACzC6C,GAAI9C,EAAO8C,GAAGmqB,KAAKjtB,GACnB6nB,KAAM7nB,EAAO6nB,KAAKoF,KAAKjtB,GACvB0R,IAAK1R,EAAO0R,IAAIub,KAAKjtB,GACrBwG,KAAMxG,EAAOwG,KAAKymB,KAAKjtB,MAI3B,IAAMI,GAAeoD,KAAWwqB,GAAU/tB,EAkH1C,OAhHAD,GAAOsE,OAASd,KAAWpD,EAAc8wB,GAAkBnxB,GAC3DC,EAAOuR,eAAiB/N,KAAWxD,EAAOsE,QAC1CtE,EAAOmyB,aAAe3uB,KAAWzD,GAE7BC,EAAOsE,QAAUtE,EAAOsE,OAAOxB,IACjCrC,OAAOI,KAAKb,EAAOsE,OAAOxB,IAAIhC,QAAQ,SAAAR,GACpCN,EAAO8C,GAAGxC,EAAWN,EAAOsE,OAAOxB,GAAGxC,MAItCN,EAAOsE,QAAUtE,EAAOsE,OAAO2jB,OACjCjoB,EAAOioB,MAAMjoB,EAAOsE,OAAO2jB,OAI7BjoB,EAAOiG,EAAIkB,EAEX1G,OAAO2I,OAAOpJ,GACZ4G,QAAS5G,EAAOsE,OAAOsC,QACvB6H,GAAAvO,EAEAuc,cAEA3O,OAAQ3G,IACR+F,cACA2B,YACArB,mBAGApC,aAAY,WAAA,MACyB,eAA5BpL,EAAOsE,OAAO8B,WAGvB2E,WAAU,WAAA,MAC2B,aAA5B/K,EAAOsE,OAAO8B,WAIvBE,YAAa,EACbwkB,UAAW,EAEXld,aAAA,EACAG,OAAA,EAEA1J,UAAW,EACXuL,kBAAmB,EACnBG,SAAU,EACVqiB,SAAU,EACVvrB,WAAA,EAEAqF,eAAgBlM,EAAOsE,OAAO4H,eAC9BC,eAAgBnM,EAAOsE,OAAO6H,eAE9BkN,YAAa,WACX,GAAM/Y,IAAS,aAAc,YAAa,WAAY,eAChDJ,GAAW,cAAe,cAAe,YAY/C,OAXAF,GAAO8W,kBACLM,MAAO9W,EAAM,GACb+W,KAAM/W,EAAM,GACZgX,IAAKhX,EAAM,GACXmsB,OAAQnsB,EAAM,IAEhBN,EAAO+W,oBACLK,MAAOlX,EAAQ,GACfmX,KAAMnX,EAAQ,GACdoX,IAAKpX,EAAQ,IAERF,EAAOgX,QAAQtR,QAAU1F,EAAOsE,OAAO+pB,cAAgBruB,EAAO8W,iBAAmB9W,EAAO+W,sBAEjGrQ,iBACEiB,cAAA,GACAC,YAAA,GACAyB,wBAAA,GACAK,mBAAA,GACAJ,gBAAA,GACAiD,qBAAA,GACAX,mBAAA,GACA9B,uBAAA,GAEAE,kBAAmBhK,EAAOsE,OAAO0F,kBAEjCoD,cAAelK,IACfmvB,iBAAA,GAEAC,cACAtmB,wBAAA,GACAzE,iBAAA,GACAgC,gBAAA,IAGFjB,YAAA,EAEA8B,eAAgBpK,EAAOsE,OAAO8F,eAC9BzD,SACE6C,OAAQ,EACRC,OAAQ,EACRjB,SAAU,EACVG,SAAU,EACV0D,KAAM,GAGR2kB,gBACAD,aAAc,IAEhB/wB,EAAOwG,KAAK,WAERxG,EAAOsE,OAAOoO,MAChB1S,EAAO0S,OAKF1S,EAGT,MAAAkkB,cAAAiN,IAAAoB,IAAA,SAAA3Q,MAAA,WACE,GAAMthB,GAASqC,IACXrC,GAAOsG,UACXtG,EAAOsG,SAAA,EAEHtG,EAAOgE,OAAO2H,YAChB3L,EAAO8L,gBAGT9L,EAAOkG,KAAK,cAGd+rB,IAAA,UAAA3Q,MAAA,WACE,GAAMthB,GAASqC,IACVrC,GAAOsG,UACZtG,EAAOsG,SAAA,EAEHtG,EAAOgE,OAAO2H,YAChB3L,EAAOwvB,kBAGTxvB,EAAOkG,KAAK,eAGd+rB,IAAA,cAAA3Q,MAAA,SAAYthB,EAAUJ,GACpB,GAAMH,GAAS4C,IACfrC,GAAWuE,KAAKE,IAAIF,KAAKC,IAAIxE,EAAU,GAAI,EAC3C,IAAMN,GAAMD,EAAOkL,eAEbhL,GADMF,EAAOiL,eACIhL,GAAOM,EAAWN,CACzCD,GAAOwvB,YAAYtvB,MAAA,KAAgBC,EAAwB,EAAIA,GAC/DH,EAAO6M,oBACP7M,EAAO8M,yBAGT0lB,IAAA,uBAAA3Q,MAAA,WACE,GAAMthB,GAASqC,IACf,IAAKrC,EAAOgE,OAAOsqB,cAAiBtuB,EAAOmO,GAA3C,CACA,GAAMvO,GAAMI,EAAOmO,GAAG8B,UAAU8T,MAAM,KAAKxiB,OAAO,SAAA3B,GAAA,MACT,KAAhCA,EAAUgC,QAAQ,WAA+E,IAA5DhC,EAAUgC,QAAQ5B,EAAOgE,OAAOoY,yBAE9Epc,GAAOkG,KAAK,oBAAqBtG,EAAI0T,KAAK,UAG5C2e,IAAA,kBAAA3Q,MAAA,SAAgBthB,GACd,GAAMJ,GAASyC,IACf,OAAIzC,GAAOmN,UAAkB,GACtB/M,EAAQiQ,UAAU8T,MAAM,KAAKxiB,OAAO,SAAAvB,GAAA,MACI,KAAtCA,EAAU4B,QAAQ,iBAAyE,IAAhD5B,EAAU4B,QAAQhC,EAAOoE,OAAOyT,cACjFnE,KAAK,QAGV2e,IAAA,oBAAA3Q,MAAA,WACE,GAAMthB,GAASqC,IACf,IAAKrC,EAAOgE,OAAOsqB,cAAiBtuB,EAAOmO,GAA3C,CACA,GAAMvO,KACNI,GAAOwN,OAAO+F,KAAK,SAAA9T,GACjB,GAAMC,GAAaM,EAAOkyB,gBAAgBzyB,EAC1CG,GAAQsB,MACNixB,QAAA1yB,EACA0c,WAAAzc,IAEFM,EAAOkG,KAAK,cAAezG,EAASC,KAEtCM,EAAOkG,KAAK,gBAAiBtG,OAG/BqyB,IAAA,uBAAA3Q,MAAA,WAA+C,GAA1BthB,GAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,GAAO,UAAWR,EAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,IAAAA,UAAA,GAGnCX,EAFa4C,KACT2B,OAEJtE,EAHa2C,KAEPmL,OAEN7N,EAJa0C,KAGPuK,WAEN9M,EALauC,KAIH6K,gBAEJvM,EANO0B,KAMbsT,KACAlV,EAPa4B,KAMG2D,YAGdlF,EAAM,CAEV,IAAIrB,EAAOiP,eAAgB,CAIzB,IAAK,GAFD1O,GADAJ,EAAYF,EAAOe,GAAampB,gBAG3BnqB,EAAIgB,EAAc,EAAGhB,EAAIC,EAAOW,OAAQZ,GAAK,EAChDC,EAAOD,KAAOO,IAChBJ,GAAaF,EAAOD,GAAGmqB,gBACvB9oB,GAAO,EACHlB,EAAYe,IAAYX,GAAA,GAIhC,KAAK,GAAIP,GAAIgB,EAAc,EAAGhB,GAAK,EAAGA,GAAK,EACrCC,EAAOD,KAAOO,IAChBJ,GAAaF,EAAOD,GAAGmqB,gBACvB9oB,GAAO,EACHlB,EAAYe,IAAYX,GAAA,QAKhC,IAAa,YAATA,EACF,IAAK,GAAIA,GAAIS,EAAc,EAAGT,EAAIN,EAAOW,OAAQL,GAAK,GAChCJ,EAAQD,EAAWK,GAAKF,EAAgBE,GAAKL,EAAWc,GAAeE,EAAahB,EAAWK,GAAKL,EAAWc,GAAeE,KAGhJG,GAAO,OAKX,KAAK,GAAId,GAAIS,EAAc,EAAGT,GAAK,EAAGA,GAAK,EACrBL,EAAWc,GAAed,EAAWK,GAAKW,IAG5DG,GAAO,EAMf,OAAOA,MAGTmxB,IAAA,SAAA3Q,MAAA,WAiBE,QAAS5hB,KACP,GAAME,GAAiBI,EAAOqK,cAAmC,EAApBrK,EAAO+D,UAAiB/D,EAAO+D,UACtEtE,EAAe8E,KAAKE,IAAIF,KAAKC,IAAI5E,EAAgBI,EAAO0K,gBAAiB1K,EAAO2K,eACtF3K,GAAO0M,aAAajN,GACpBO,EAAOsM,oBACPtM,EAAOuM,sBArBT,GAAMvM,GAASqC,IACf,IAAKrC,IAAUA,EAAO+M,UAAtB,CACA,GACEnN,GAEEI,EAHEuO,SAEJ9O,EACEO,EAFMgE,MAINvE,GAAO4O,aACTrO,EAAOsO,gBAGTtO,EAAOqJ,aACPrJ,EAAOwO,eACPxO,EAAOyM,iBACPzM,EAAOuM,sBAYHvM,EAAOgE,OAAOkG,UAAYlK,EAAOgE,OAAOkG,SAAS5D,SACnD5G,IAEIM,EAAOgE,OAAOoU,YAChBpY,EAAOqY,sBAG4B,SAAhCrY,EAAOgE,OAAOyK,eAA4BzO,EAAOgE,OAAOyK,cAAgB,IAAMzO,EAAOyN,QAAUzN,EAAOgE,OAAO0K,eACnG1O,EAAO4N,QAAQ5N,EAAOwN,OAAOnN,OAAS,EAAG,GAAA,GAAG,GAE5CL,EAAO4N,QAAQ5N,EAAOgG,YAAa,GAAA,GAAG,KAInDtG,IAIAD,EAAOsP,eAAiBnP,IAAaI,EAAOuO,UAC9CvO,EAAOgP,gBAGThP,EAAOkG,KAAK,cAGd+rB,IAAA,kBAAA3Q,MAAA,SAAgBthB,GAA2B,GAAbJ,KAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GACtBX,EAAS4C,KACT3C,EAAmBD,EAAOuE,OAAO8B,SAOvC,OALK9F,KAEHA,EAAoC,eAArBN,EAAoC,WAAa,cAG9DM,IAAiBN,GAAqC,eAAjBM,GAAkD,aAAjBA,IAI1EP,EAAOsQ,IAAIsB,YAAA,GAAA5O,OAAehD,EAAOuE,OAAOoY,wBAAA3Z,OAAyB/C,IAAoBwR,SAAA,GAAAzO,OAAYhD,EAAOuE,OAAOoY,wBAAA3Z,OAAyBzC,IACxIP,EAAO+tB,uBACP/tB,EAAOuE,OAAO8B,UAAY9F,EAC1BP,EAAO+N,OAAO+F,KAAK,SAAA3T,GACI,aAAjBI,EACFJ,EAAQ4D,MAAM6R,MAAQ,GAEtBzV,EAAQ4D,MAAM8R,OAAS,KAG3B7V,EAAOyG,KAAK,mBACRtG,GAAYH,EAAO0S,UAdd1S,KAkBXwyB,IAAA,0BAAA3Q,MAAA,SAAwBthB,GACtB,GAAMJ,GAASyC,IACXzC,GAAO+S,KAAqB,QAAd3S,IAAwBJ,EAAO+S,KAAqB,QAAd3S,IACxDJ,EAAO+S,IAAoB,QAAd3S,EACbJ,EAAOyK,aAA2C,eAA5BzK,EAAOoE,OAAO8B,WAA8BlG,EAAO+S,IAErE/S,EAAO+S,KACT/S,EAAOmQ,IAAImB,SAAA,GAAAzO,OAAY7C,EAAOoE,OAAOoY,uBAAA,QACrCxc,EAAOuO,GAAGikB,IAAM,QAEhBxyB,EAAOmQ,IAAIsB,YAAA,GAAA5O,OAAe7C,EAAOoE,OAAOoY,uBAAA,QACxCxc,EAAOuO,GAAGikB,IAAM,OAGlBxyB,EAAOuS,aAGT8f,IAAA,QAAA3Q,MAAA,SAAMthB,GACJ,GAAMJ,GAASyC,IACf,IAAIzC,EAAOyyB,QAAS,OAAA,CAEpB,IAAM5yB,GAAMoH,EAAE7G,GAAMJ,EAAOoE,OAAOmK,GAGlC,MAFAnO,EAAKP,EAAI,IAGP,OAAA,CAGFO,GAAG4D,OAAShE,CAEZ,IAAMF,GAAqB,WAArB,MAAA,IAAA+C,QACQ7C,EAAOoE,OAAOqqB,cAAgB,IAAI1sB,OAAOoiB,MAAM,KAAKzQ,KAAK,OAoBnE3T,EAjBe,WACjB,GAAIK,GAAMA,EAAG0H,YAAc1H,EAAG0H,WAAWqY,cAAe,CACtD,GAAMngB,GAAMiH,EAAE7G,EAAG0H,WAAWqY,cAAcrgB,KAI1C,OAFAE,GAAIoQ,SAAW,SAAAhQ,GAAA,MAAWP,GAAIuQ,SAAShQ,IAEhCJ,EAGT,MAAKH,GAAIuQ,SAIFvQ,EAAIuQ,SAAStQ,KAHXmH,EAAEpH,GAAKuQ,SAAStQ,OAS3B,IAA0B,IAAtBC,EAAWU,QAAgBT,EAAOoE,OAAO8L,eAAgB,CAC3D,GACM9P,GADWS,IACQoB,cAAc,MACvClC,GAAakH,EAAE7G,GACfA,EAAQiQ,UAAYrQ,EAAOoE,OAAOqqB,aAClC5uB,EAAIyQ,OAAOlQ,GACXP,EAAIuQ,SAAA,IAAAvN,OAAa7C,EAAOoE,OAAOyT,aAAclE,KAAK,SAAAvT,GAChDL,EAAWuQ,OAAOlQ,KAetB,MAXAG,QAAO2I,OAAOlJ,GACZmQ,IAAAtQ,EACA0O,GAAAnO,EACAyL,WAAA9L,EACAuE,UAAWvE,EAAW,GACtB0yB,SAAA,EAEA1f,IAA8B,QAAzB3S,EAAGoyB,IAAIV,eAAoD,QAAzBjyB,EAAI0T,IAAI,aAC/C9I,aAA0C,eAA5BzK,EAAOoE,OAAO8B,YAAwD,QAAzB9F,EAAGoyB,IAAIV,eAAoD,QAAzBjyB,EAAI0T,IAAI,cACrG4V,SAAwC,gBAA9BppB,EAAWwT,IAAI,cAAA,KAK7B8e,IAAA,OAAA3Q,MAAA,SAAKthB,GACH,GAAMJ,GAASyC,IACf,OAAIzC,GAAOmrB,cAAA,IACKnrB,EAAO0yB,MAAMtyB,KAE7BJ,EAAOsG,KAAK,cAERtG,EAAOoE,OAAOqK,aAChBzO,EAAO0O,gBAIT1O,EAAOmtB,aAEHntB,EAAOoE,OAAO0C,MAChB9G,EAAOwvB,aAITxvB,EAAOyJ,aAEPzJ,EAAO4O,eAEH5O,EAAOoE,OAAO+K,eAChBnP,EAAOoP,gBAILpP,EAAOoE,OAAO2H,YAAc/L,EAAO0G,SACrC1G,EAAOkM,gBAGLlM,EAAOoE,OAAOkV,eAChBtZ,EAAOsZ,gBAILtZ,EAAOoE,OAAO0C,KAChB9G,EAAOgO,QAAQhO,EAAOoE,OAAO2pB,aAAe/tB,EAAOiT,aAAc,EAAGjT,EAAOoE,OAAOgnB,oBAAA,GAAoB,GAEtGprB,EAAOgO,QAAQhO,EAAOoE,OAAO2pB,aAAc,EAAG/tB,EAAOoE,OAAOgnB,oBAAA,GAAoB,GAIlFprB,EAAO8sB,eAEP9sB,EAAOmrB,aAAA,EAEPnrB,EAAOsG,KAAK,QACZtG,EAAOsG,KAAK,cA/CmBtG,KAmDjCqyB,IAAA,UAAA3Q,MAAA,WAA6C,GAArCthB,KAAAI,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GAAuBR,IAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,KAAAA,UAAA,GACvBX,EAAS4C,KAEb3C,EAIED,EALEuE,OAEJrE,EAGEF,EAJIsQ,IAENjQ,EAEEL,EAHCgM,WAEH9K,EACElB,EAFQ+N,MAIZ,YAAA,KAAW/N,EAAOuE,QAA0BvE,EAAOsN,YAInDtN,EAAOyG,KAAK,iBAEZzG,EAAOsrB,aAAA,EAEPtrB,EAAOmtB,eAEHltB,EAAOgH,MACTjH,EAAO6vB,cAIL1vB,IACFH,EAAOguB,gBACP9tB,EAAIqY,WAAW,SACflY,EAAWkY,WAAW,SAElBrX,GAAUA,EAAON,QACnBM,EAAO0Q,aAAa3R,EAAO4Y,kBAAmB5Y,EAAO+qB,iBAAkB/qB,EAAO+Y,eAAgB/Y,EAAOgZ,gBAAgBpF,KAAK,MAAM0E,WAAW,SAASA,WAAW,4BAInKvY,EAAOyG,KAAK,WAEZ/F,OAAOI,KAAKd,EAAO6nB,iBAAiB9mB,QAAQ,SAAAR,GAC1CP,EAAO2R,IAAIpR,MAAU,IAGnBA,IACFP,EAAOsQ,IAAI,GAAGnM,OAAS,KrExkB7B,SAAqB5D,GACnB,GAAMJ,GAASI,CACfG,QAAOI,KAAKX,GAAQY,QAAQ,SAAAR,GAC1B,IACEJ,EAAOI,GAAO,KACd,MAAOA,IAGT,UACSJ,GAAOI,GACd,MAAOA,QqE+jBKP,IAGdA,EAAOsN,WAAA,GAnCE,UAuCXklB,IAAA,iBAAA3Q,MAAA,SAAsBthB,GACpBkD,EAAO0tB,GAAkB5wB,MAG3BiyB,IAAA,mBAAAzsB,IAAA,WACE,MAAOorB,OAGTqB,IAAA,WAAAzsB,IAAA,WACE,MAAOkoB,OAGTuE,IAAA,gBAAA3Q,MAAA,SAAqBthB,GACd6wB,EAAOvvB,UAAUswB,cAAaf,EAAOvvB,UAAUswB,eACpD,IAAMhyB,GAAUixB,EAAOvvB,UAAUswB,WAEd,mBAAR5xB,IAAsBJ,EAAQgC,QAAQ5B,GAAO,GACtDJ,EAAQsB,KAAKlB,MAIjBiyB,IAAA,MAAA3Q,MAAA,SAAWthB,GACT,MAAIgB,OAAMC,QAAQjB,IAChBA,EAAOQ,QAAQ,SAAAR,GAAA,MAAK6wB,GAAO0B,cAAcvyB,KAClC6wB,IAGTA,EAAO0B,cAAcvyB,GACd6wB,SAKX1wB,QAAOI,KAAKguB,IAAY/tB,QAAQ,SAAAR,GAC9BG,OAAOI,KAAKguB,GAAWvuB,IAAiBQ,QAAQ,SAAAZ,GAC9CixB,GAAOvvB,UAAU1B,GAAe2uB,GAAWvuB,GAAgBJ,OAG/DixB,GAAO2B,KwBvnBQ,SAAAC,GAGb,GAFAzyB,GAAAyyB,EAD6B7uB,OAE7BhE,EAAA6yB,EADMjwB,GAEN/C,EAAAgzB,EADEvsB,KAGIxG,EAASkB,IACXjB,EAAW,KACXG,EAAiB,KAEfa,EAAgB,WACfX,IAAUA,EAAO+M,WAAc/M,EAAO+qB,cAC3CtrB,EAAK,gBACLA,EAAK,YA0CDgB,EAA2B,WAC1BT,IAAUA,EAAO+M,WAAc/M,EAAO+qB,aAC3CtrB,EAAK,qBAGPG,GAAG,OAAQ,WACLI,EAAOgE,OAAO4pB,oBAAA,KAAyBluB,EAAOgzB,eA5C7C1yB,IAAUA,EAAO+M,WAAc/M,EAAO+qB,cAC3CprB,EAAW,GAAI+yB,gBAAe,SAAA9yB,GAC5BE,EAAiBJ,EAAOqF,sBAAsB,WAC5C,GACEtF,GAEEO,EAHEqV,MAEJ3V,EACEM,EAFGsV,OAGH3V,EAAWF,EACXK,EAAYJ,CAChBE,GAAQY,QAAQ,SAAAmyB,GAGd,GAFA/yB,GAAA+yB,EAAAC,eACAnzB,EAAAkzB,EAAAE,YACAnzB,EAAAizB,EAAA7rB,MAEIpH,IAAUA,IAAWM,EAAOmO,KAChCxO,EAAWF,EAAcA,EAAY4V,OAASzV,EAAe,IAAMA,GAAgBkzB,WACnFhzB,EAAYL,EAAcA,EAAY6V,QAAU1V,EAAe,IAAMA,GAAgBmzB,aAGnFpzB,IAAaF,GAASK,IAAcJ,GACtCiB,QAINhB,EAASqzB,QAAQhzB,EAAOmO,MAyBxBzO,EAAO+F,iBAAiB,SAAU9E,GAClCjB,EAAO+F,iBAAiB,oBAAqBhF,MAE/Cb,EAAG,UAAW,WAxBRE,GACFJ,EAAO0E,qBAAqBtE,GAG1BH,GAAYA,EAASszB,WAAajzB,EAAOmO,KAC3CxO,EAASszB,UAAUjzB,EAAOmO,IAC1BxO,EAAW,MAoBbD,EAAO8b,oBAAoB,SAAU7a,GACrCjB,EAAO8b,oBAAoB,oBAAqB/a,MCvErC,SAAAyyB,GAIb,GAHAlzB,GAAAkzB,EAD+BtvB,OAE/BhE,EAAAszB,EADM5hB,aAEN7R,EAAAyzB,EADY1wB,GAEZ9C,EAAAwzB,EADEhtB,KAGIvG,KACAG,EAASc,IAETD,EAAS,SAACX,GAAmB,GAAXJ,GAAAQ,UAAAC,OAAA,OAAAC,KAAAF,UAAA,GAAAA,UAAA,MAEhBX,EAAW,IADIK,EAAOqzB,kBAAoBrzB,EAAOszB,wBACrB,SAAApzB,GAIhC,GAAyB,IAArBA,EAAUK,OAEZ,WADAX,GAAK,iBAAkBM,EAAU,GAInC,IAAMJ,GAAiB,WACrBF,EAAK,iBAAkBM,EAAU,IAG/BF,GAAOiF,sBACTjF,EAAOiF,sBAAsBnF,GAE7BE,EAAO6C,WAAW/C,EAAgB,IAGtCH,GAASuzB,QAAQhzB,GACfsgB,eAAA,KAAmB1gB,EAAQ0gB,YAAoC1gB,EAAQ0gB,WACvE+S,cAAA,KAAkBzzB,EAAQyzB,WAAmCzzB,EAAQyzB,UACrEC,kBAAA,KAAsB1zB,EAAQ0zB,eAAuC1zB,EAAQ0zB,gBAE/E3zB,EAAUuB,KAAKzB,GA+BjBG,IACE2zB,UAAA,EACAC,gBAAA,EACAC,sBAAA,IAEFh0B,EAAG,OAjCU,WACX,GAAKO,EAAOgE,OAAOuvB,SAAnB,CAEA,GAAIvzB,EAAOgE,OAAOwvB,eAGhB,IAAK,GAFC5zB,GAAmBI,EAAO+P,IAAI0E,UAE3BzU,EAAI,EAAGA,EAAIJ,EAAiBS,OAAQL,GAAK,EAChDW,EAAOf,EAAiBI,GAK5BW,GAAOX,EAAO+P,IAAI,IAChBsjB,UAAWrzB,EAAOgE,OAAOyvB,uBAG3B9yB,EAAOX,EAAOyL,WAAW,IACvB6U,YAAA,OAiBJ7gB,EAAG,UAba,WACdE,EAAUa,QAAQ,SAAAR,GAChBA,EAAS0zB,eAEX/zB,EAAUkgB,OAAO,EAAGlgB,EAAUU,YzByjBlC,IAAA4d,IAAA4S,wI0B9mBI8C,KAEJA,IAAQ/S,kBAAoBgT,KAC5BD,GAAQtT,cAAgBwT,KAElBF,GAAQpT,OAASuT,KAAAnH,KAAc,KAAM,QAE3CgH,GAAQ7T,OAASiU,KACjBJ,GAAQhT,mBAAqBqT,KAEhBC,KAAIC,GAAAzyB,EAASkyB,IAKJO,GAAAzyB,GAAWyyB,GAAAzyB,EAAQ0yB,QAASD,GAAAzyB,EAAQ0yB","file":"carousel.min.js","sourcesContent":["// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","/**\n * Dom7 4.0.6\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2023, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: February 2, 2023\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n const proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get() {\n return proto;\n },\n\n set(value) {\n proto.__proto__ = value;\n }\n\n });\n}\n\nclass Dom7 extends Array {\n constructor(items) {\n if (typeof items === 'number') {\n super(items);\n } else {\n super(...(items || []));\n makeReactive(this);\n }\n }\n\n}\n\nfunction arrayFlat(arr = []) {\n const res = [];\n arr.forEach(el => {\n if (Array.isArray(el)) {\n res.push(...arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n const uniqueArray = [];\n\n for (let i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, (match, group) => group.toUpperCase());\n}\n\n// eslint-disable-next-line\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n const a = [];\n const res = context.querySelectorAll(selector);\n\n for (let i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n const window = getWindow();\n const document = getDocument();\n let arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n const html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n let toCreate = 'div';\n if (html.indexOf('<li') === 0) toCreate = 'ul';\n if (html.indexOf('<tr') === 0) toCreate = 'tbody';\n if (html.indexOf('<td') === 0 || html.indexOf('<th') === 0) toCreate = 'tr';\n if (html.indexOf('<tbody') === 0) toCreate = 'table';\n if (html.indexOf('<option') === 0) toCreate = 'select';\n const tempParent = document.createElement(toCreate);\n tempParent.innerHTML = html;\n\n for (let i = 0; i < tempParent.childNodes.length; i += 1) {\n arr.push(tempParent.childNodes[i]);\n }\n } else {\n arr = qsa(selector.trim(), context || document);\n } // arr = qsa(selector, document);\n\n } else if (selector.nodeType || selector === window || selector === document) {\n arr.push(selector);\n } else if (Array.isArray(selector)) {\n if (selector instanceof Dom7) return selector;\n arr = selector;\n }\n\n return new Dom7(arrayUnique(arr));\n}\n\n$.fn = Dom7.prototype;\n\n// eslint-disable-next-line\n\nfunction addClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.add(...classNames);\n });\n return this;\n}\n\nfunction removeClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n el.classList.remove(...classNames);\n });\n return this;\n}\n\nfunction toggleClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n this.forEach(el => {\n classNames.forEach(className => {\n el.classList.toggle(className);\n });\n });\n}\n\nfunction hasClass(...classes) {\n const classNames = arrayFlat(classes.map(c => c.split(' ')));\n return arrayFilter(this, el => {\n return classNames.filter(className => el.classList.contains(className)).length > 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (const attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (let i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (const propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n let el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n const dataKey = el.getAttribute(`data-${key}`);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n const el = this[0];\n if (!el) return undefined;\n const dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (const dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (let i = 0; i < el.attributes.length; i += 1) {\n const attr = el.attributes[i];\n\n if (attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(attr.name.split('data-')[1])] = attr.value;\n }\n }\n }\n\n for (const key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n const el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n const values = [];\n\n for (let i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (Array.isArray(value) && el.multiple && el.nodeName.toLowerCase() === 'select') {\n for (let j = 0; j < el.options.length; j += 1) {\n el.options[j].selected = value.indexOf(el.options[j].value) >= 0;\n }\n } else {\n el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? `${duration}ms` : duration;\n }\n\n return this;\n}\n\nfunction on(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n const target = e.target;\n if (!target) return;\n const eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n const parents = $(target).parents(); // eslint-disable-line\n\n for (let k = 0; k < parents.length; k += 1) {\n if ($(parents[k]).is(targetSelector)) listener.apply(parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n const eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n const events = eventType.split(' ');\n let j;\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n const event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];\n el.dom7LiveListeners[event].push({\n listener,\n proxyListener: handleLiveEvent\n });\n el.addEventListener(event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off(...args) {\n let [eventType, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventType, listener, capture] = args;\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n const events = eventType.split(' ');\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n let handlers;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (let k = handlers.length - 1; k >= 0; k -= 1) {\n const handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once(...args) {\n const dom = this;\n let [eventName, targetSelector, listener, capture] = args;\n\n if (typeof args[1] === 'function') {\n [eventName, listener, capture] = args;\n targetSelector = undefined;\n }\n\n function onceHandler(...eventArgs) {\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger(...args) {\n const window = getWindow();\n const events = args[0].split(' ');\n const eventData = args[1];\n\n for (let i = 0; i < events.length; i += 1) {\n const event = events[i];\n\n for (let j = 0; j < this.length; j += 1) {\n const el = this[j];\n\n if (window.CustomEvent) {\n const evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionStart(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionstart', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionstart', fireCallBack);\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n const dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetWidth + parseFloat(styles.getPropertyValue('margin-right')) + parseFloat(styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n const window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n const styles = this.styles();\n return this[0].offsetHeight + parseFloat(styles.getPropertyValue('margin-top')) + parseFloat(styles.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (let i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n const window = getWindow();\n\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n const window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n const window = getWindow();\n let i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (const prop in props) {\n this[i].style[prop] = props[prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach((el, index) => {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n const result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (let i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n const window = getWindow();\n const document = getDocument();\n const el = this[0];\n let compareWith;\n let i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n let child = this[0];\n let i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n const length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n const returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append(...els) {\n let newChild;\n const document = getDocument();\n\n for (let k = 0; k < els.length; k += 1) {\n newChild = els[k];\n\n for (let i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (let j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n const document = getDocument();\n let i;\n let j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n const before = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (let j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n const after = $(selector);\n\n for (let i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (let j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n const nextEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(next).is(selector)) nextEls.push(next);\n } else nextEls.push(next);\n\n el = next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n const el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n const prevEls = [];\n let el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(prev).is(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n\n el = prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n const parents = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n let parent = this[i].parentNode; // eslint-disable-line\n\n while (parent) {\n if (selector) {\n if ($(parent).is(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n\n parent = parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n let closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n const foundElements = [];\n\n for (let i = 0; i < this.length; i += 1) {\n const found = this[i].querySelectorAll(selector);\n\n for (let j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n const children = []; // eslint-disable-line\n\n for (let i = 0; i < this.length; i += 1) {\n const childNodes = this[i].children;\n\n for (let j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (let i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add(...els) {\n const dom = this;\n let i;\n let j;\n\n for (i = 0; i < els.length; i += 1) {\n const toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (let i = 0; i < this.length; i += 1) {\n const el = this[i];\n\n if (el.nodeType === 1) {\n for (let j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\n// eslint-disable-next-line\n\nfunction scrollTo(...args) {\n const window = getWindow();\n let [left, top, duration, easing, callback] = args;\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n [left, top, duration, callback, easing] = args;\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n const el = this;\n let currentTop;\n let currentLeft;\n let maxTop;\n let maxLeft;\n let newTop;\n let newLeft;\n let scrollTop; // eslint-disable-line\n\n let scrollLeft; // eslint-disable-line\n\n let animateTop = top > 0 || top === 0;\n let animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n let startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time = new Date().getTime()) {\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n let done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop(...args) {\n let [top, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [top, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft(...args) {\n let [left, duration, easing, callback] = args;\n\n if (args.length === 3 && typeof easing === 'function') {\n [left, duration, callback, easing] = args;\n }\n\n const dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\n// eslint-disable-next-line\n\nfunction animate(initialProps, initialParams) {\n const window = getWindow();\n const els = this;\n const a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n\n easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n\n stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n\n done(complete) {\n a.animating = false;\n a.elements.each(el => {\n const element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n const que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n\n animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n const elements = []; // Define & Cache Initials & Units\n\n a.elements.each((el, index) => {\n let initialFullValue;\n let initialValue;\n let unit;\n let finalValue;\n let finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(prop => {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue,\n initialValue,\n unit,\n finalValue,\n finalFullValue,\n currentValue: initialValue\n };\n });\n });\n let startTime = null;\n let time;\n let elementsDone = 0;\n let propsDone = 0;\n let done;\n let began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n let progress;\n let easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(element => {\n const el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(prop => {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n const {\n initialValue,\n finalValue,\n unit\n } = el[prop];\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n const currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n let animateInstance;\n\n for (let i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n const els = this;\n\n for (let i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nconst noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler(...args) {\n if (typeof args[0] === 'undefined') {\n for (let i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on(name, ...args);\n }\n\n return eventHandler;\n}\n\nconst click = shortcut('click');\nconst blur = shortcut('blur');\nconst focus = shortcut('focus');\nconst focusin = shortcut('focusin');\nconst focusout = shortcut('focusout');\nconst keyup = shortcut('keyup');\nconst keydown = shortcut('keydown');\nconst keypress = shortcut('keypress');\nconst submit = shortcut('submit');\nconst change = shortcut('change');\nconst mousedown = shortcut('mousedown');\nconst mousemove = shortcut('mousemove');\nconst mouseup = shortcut('mouseup');\nconst mouseenter = shortcut('mouseenter');\nconst mouseleave = shortcut('mouseleave');\nconst mouseout = shortcut('mouseout');\nconst mouseover = shortcut('mouseover');\nconst touchstart = shortcut('touchstart');\nconst touchend = shortcut('touchend');\nconst touchmove = shortcut('touchmove');\nconst resize = shortcut('resize');\nconst scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, transitionStart, trigger, val, value, width };\n","import { getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend(...args) {\n const to = Object(args[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\n\nfunction animateCSSModeScroll({\n swiper,\n targetPosition,\n side\n}) {\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n\n const animate = () => {\n time = new Date().getTime();\n\n if (startTime === null) {\n startTime = time;\n }\n\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n\n animate();\n}\n\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty };","import { getWindow, getDocument } from 'ssr-window';\nlet support;\n\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n passiveListener: function checkPassiveListener() {\n let supportsPassive = false;\n\n try {\n const opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get() {\n supportsPassive = true;\n }\n\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","export default function transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step\n}) {\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit(`transition${step}`);\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n\n swiper.emit(`slideChangeTransition${step}`);\n\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n\n if (!found && !el.getRootNode) {\n return null;\n }\n\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== ''; // eslint-disable-next-line\n\n const eventPath = event.composedPath ? event.composedPath() : event.path;\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n $targetEl = $(eventPath[0]);\n }\n\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, $targetEl[0]) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n let preventDefault = true;\n\n if ($targetEl.is(data.focusableElements)) {\n preventDefault = false;\n\n if ($targetEl[0].nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n const targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n const pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n const pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n if (!$(e.target).is(data.focusableElements)) {\n swiper.allowClick = false;\n }\n\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop && !params.cssMode) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n let diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n } // Find current slide\n\n\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n } // Find current slide size\n\n\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nlet dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n touchEvents,\n el,\n wrapperEl,\n device,\n support\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method; // Touch Events\n\n if (!support.touch) {\n el[domMethod](touchEvents.start, swiper.onTouchStart, false);\n document[domMethod](touchEvents.move, swiper.onTouchMove, capture);\n document[domMethod](touchEvents.end, swiper.onTouchEnd, false);\n } else {\n const passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);\n el[domMethod](touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture\n } : capture);\n el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n};\n\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n support\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n\n if (support.touch && !dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n\n events(swiper, 'on');\n}\n\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\n\nexport default {\n attachEvents,\n detachEvents\n};","import { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj = {}) {\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}","import { getDocument } from 'ssr-window';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n const document = getDocument();\n\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = swiper.$el.children(`.${checkProps[key]}`)[0];\n\n if (!element) {\n element = document.createElement('div');\n element.className = checkProps[key];\n swiper.$el.append(element);\n }\n\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n\n return params;\n}","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport $ from '../../shared/dom.js';\nexport default function Navigation({\n swiper,\n extendParams,\n on,\n emit\n}) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n $nextEl: null,\n prevEl: null,\n $prevEl: null\n };\n\n function getEl(el) {\n let $el;\n\n if (el) {\n $el = $(el);\n\n if (swiper.params.uniqueNavElements && typeof el === 'string' && $el.length > 1 && swiper.$el.find(el).length === 1) {\n $el = swiper.$el.find(el);\n }\n }\n\n return $el;\n }\n\n function toggleEl($el, disabled) {\n const params = swiper.params.navigation;\n\n if ($el && $el.length > 0) {\n $el[disabled ? 'addClass' : 'removeClass'](params.disabledClass);\n if ($el[0] && $el[0].tagName === 'BUTTON') $el[0].disabled = disabled;\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n }\n\n function update() {\n // Update Navigation Buttons\n if (swiper.params.loop) return;\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n const $nextEl = getEl(params.nextEl);\n const $prevEl = getEl(params.prevEl);\n\n if ($nextEl && $nextEl.length > 0) {\n $nextEl.on('click', onNextClick);\n }\n\n if ($prevEl && $prevEl.length > 0) {\n $prevEl.on('click', onPrevClick);\n }\n\n Object.assign(swiper.navigation, {\n $nextEl,\n nextEl: $nextEl && $nextEl[0],\n $prevEl,\n prevEl: $prevEl && $prevEl[0]\n });\n\n if (!swiper.enabled) {\n if ($nextEl) $nextEl.addClass(params.lockClass);\n if ($prevEl) $prevEl.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n\n if ($nextEl && $nextEl.length) {\n $nextEl.off('click', onNextClick);\n $nextEl.removeClass(swiper.params.navigation.disabledClass);\n }\n\n if ($prevEl && $prevEl.length) {\n $prevEl.off('click', onPrevClick);\n $prevEl.removeClass(swiper.params.navigation.disabledClass);\n }\n }\n\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n\n if ($nextEl) {\n $nextEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n\n if ($prevEl) {\n $prevEl[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.navigation.lockClass);\n }\n });\n on('click', (_s, e) => {\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n const targetEl = e.target;\n\n if (swiper.params.navigation.hideOnClick && !$(targetEl).is($prevEl) && !$(targetEl).is($nextEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n\n if ($nextEl) {\n isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);\n } else if ($prevEl) {\n isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);\n }\n\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n\n if ($nextEl) {\n $nextEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n\n if ($prevEl) {\n $prevEl.toggleClass(swiper.params.navigation.hiddenClass);\n }\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.navigation.navigationDisabledClass);\n init();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.navigation.navigationDisabledClass);\n destroy();\n };\n\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}","export default function classesToSelector(classes = '') {\n return `.${classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import $ from '../../shared/dom.js';\nimport classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Pagination({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n $el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0;\n }\n\n function setSideBullets($bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n $bulletEl[position]().addClass(`${bulletActiveClass}-${position}`)[position]().addClass(`${bulletActiveClass}-${position}-${position}`);\n }\n\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el; // Current/Total\n\n let current;\n const total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n\n if (params.dynamicBullets) {\n bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', `${bulletSize * (params.dynamicMainBullets + 4)}px`);\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex - swiper.loopedSlides || 0);\n\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`).join(' '));\n\n if ($el.length > 1) {\n bullets.each(bullet => {\n const $bullet = $(bullet);\n const bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (bulletIndex === firstIndex) {\n setSideBullets($bullet, 'prev');\n }\n\n if (bulletIndex === lastIndex) {\n setSideBullets($bullet, 'next');\n }\n }\n });\n } else {\n const $bullet = bullets.eq(current);\n const bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n const $firstDisplayedBullet = bullets.eq(firstIndex);\n const $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length) {\n for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {\n bullets.eq(bullets.length - i).addClass(`${params.bulletActiveClass}-main`);\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(`${params.bulletActiveClass}-prev`);\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n } else {\n setSideBullets($firstDisplayedBullet, 'prev');\n setSideBullets($lastDisplayedBullet, 'next');\n }\n }\n }\n\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', `${bulletsOffset}px`);\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n let progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`).transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n emit('paginationRender', $el[0]);\n } else {\n emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n }\n\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const $el = swiper.pagination.$el;\n let paginationHTML = '';\n\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\"></${params.bulletElement}>`;\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `<span class=\"${params.currentClass}\"></span>` + ' / ' + `<span class=\"${params.totalClass}\"></span>`;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = `<span class=\"${params.progressbarFillClass}\"></span>`;\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n emit('paginationRender', swiper.pagination.$el[0]);\n }\n }\n\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper\n\n if ($el.length > 1) {\n $el = $el.filter(el => {\n if ($(el).parents('.swiper')[0] !== swiper.el) return false;\n return true;\n });\n }\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n let index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n Object.assign(swiper.pagination, {\n $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n }\n\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (swiper.params.loop) {\n update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n if (!swiper.params.loop) {\n update();\n }\n });\n on('slidesLengthChange', () => {\n if (swiper.params.loop) {\n render();\n update();\n }\n });\n on('snapGridLengthChange', () => {\n if (!swiper.params.loop) {\n render();\n update();\n }\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n const {\n $el\n } = swiper.pagination;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n const {\n $el\n } = swiper.pagination;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && $el && $el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n\n $el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.removeClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n init();\n render();\n update();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n\n if (swiper.pagination.$el) {\n swiper.pagination.$el.addClass(swiper.params.pagination.paginationDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Scrollbar({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const document = getDocument();\n let isTouched = false;\n let timeout = null;\n let dragTimeout = null;\n let dragStartPos;\n let dragSize;\n let trackSize;\n let divider;\n extendParams({\n scrollbar: {\n el: null,\n dragSize: 'auto',\n hide: false,\n draggable: false,\n snapOnRelease: true,\n lockClass: 'swiper-scrollbar-lock',\n dragClass: 'swiper-scrollbar-drag',\n scrollbarDisabledClass: 'swiper-scrollbar-disabled',\n horizontalClass: `swiper-scrollbar-horizontal`,\n verticalClass: `swiper-scrollbar-vertical`\n }\n });\n swiper.scrollbar = {\n el: null,\n dragEl: null,\n $el: null,\n $dragEl: null\n };\n\n function setTranslate() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar,\n rtlTranslate: rtl,\n progress\n } = swiper;\n const {\n $dragEl,\n $el\n } = scrollbar;\n const params = swiper.params.scrollbar;\n let newSize = dragSize;\n let newPos = (trackSize - dragSize) * progress;\n\n if (rtl) {\n newPos = -newPos;\n\n if (newPos > 0) {\n newSize = dragSize - newPos;\n newPos = 0;\n } else if (-newPos + dragSize > trackSize) {\n newSize = trackSize + newPos;\n }\n } else if (newPos < 0) {\n newSize = dragSize + newPos;\n newPos = 0;\n } else if (newPos + dragSize > trackSize) {\n newSize = trackSize - newPos;\n }\n\n if (swiper.isHorizontal()) {\n $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);\n $dragEl[0].style.width = `${newSize}px`;\n } else {\n $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);\n $dragEl[0].style.height = `${newSize}px`;\n }\n\n if (params.hide) {\n clearTimeout(timeout);\n $el[0].style.opacity = 1;\n timeout = setTimeout(() => {\n $el[0].style.opacity = 0;\n $el.transition(400);\n }, 1000);\n }\n }\n\n function setTransition(duration) {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n swiper.scrollbar.$dragEl.transition(duration);\n }\n\n function updateSize() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n const {\n scrollbar\n } = swiper;\n const {\n $dragEl,\n $el\n } = scrollbar;\n $dragEl[0].style.width = '';\n $dragEl[0].style.height = '';\n trackSize = swiper.isHorizontal() ? $el[0].offsetWidth : $el[0].offsetHeight;\n divider = swiper.size / (swiper.virtualSize + swiper.params.slidesOffsetBefore - (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));\n\n if (swiper.params.scrollbar.dragSize === 'auto') {\n dragSize = trackSize * divider;\n } else {\n dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);\n }\n\n if (swiper.isHorizontal()) {\n $dragEl[0].style.width = `${dragSize}px`;\n } else {\n $dragEl[0].style.height = `${dragSize}px`;\n }\n\n if (divider >= 1) {\n $el[0].style.display = 'none';\n } else {\n $el[0].style.display = '';\n }\n\n if (swiper.params.scrollbar.hide) {\n $el[0].style.opacity = 0;\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n scrollbar.$el[swiper.isLocked ? 'addClass' : 'removeClass'](swiper.params.scrollbar.lockClass);\n }\n }\n\n function getPointerPosition(e) {\n if (swiper.isHorizontal()) {\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientX : e.clientX;\n }\n\n return e.type === 'touchstart' || e.type === 'touchmove' ? e.targetTouches[0].clientY : e.clientY;\n }\n\n function setDragPosition(e) {\n const {\n scrollbar,\n rtlTranslate: rtl\n } = swiper;\n const {\n $el\n } = scrollbar;\n let positionRatio;\n positionRatio = (getPointerPosition(e) - $el.offset()[swiper.isHorizontal() ? 'left' : 'top'] - (dragStartPos !== null ? dragStartPos : dragSize / 2)) / (trackSize - dragSize);\n positionRatio = Math.max(Math.min(positionRatio, 1), 0);\n\n if (rtl) {\n positionRatio = 1 - positionRatio;\n }\n\n const position = swiper.minTranslate() + (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;\n swiper.updateProgress(position);\n swiper.setTranslate(position);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n function onDragStart(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el,\n $dragEl\n } = scrollbar;\n isTouched = true;\n dragStartPos = e.target === $dragEl[0] || e.target === $dragEl ? getPointerPosition(e) - e.target.getBoundingClientRect()[swiper.isHorizontal() ? 'left' : 'top'] : null;\n e.preventDefault();\n e.stopPropagation();\n $wrapperEl.transition(100);\n $dragEl.transition(100);\n setDragPosition(e);\n clearTimeout(dragTimeout);\n $el.transition(0);\n\n if (params.hide) {\n $el.css('opacity', 1);\n }\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', 'none');\n }\n\n emit('scrollbarDragStart', e);\n }\n\n function onDragMove(e) {\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el,\n $dragEl\n } = scrollbar;\n if (!isTouched) return;\n if (e.preventDefault) e.preventDefault();else e.returnValue = false;\n setDragPosition(e);\n $wrapperEl.transition(0);\n $el.transition(0);\n $dragEl.transition(0);\n emit('scrollbarDragMove', e);\n }\n\n function onDragEnd(e) {\n const params = swiper.params.scrollbar;\n const {\n scrollbar,\n $wrapperEl\n } = swiper;\n const {\n $el\n } = scrollbar;\n if (!isTouched) return;\n isTouched = false;\n\n if (swiper.params.cssMode) {\n swiper.$wrapperEl.css('scroll-snap-type', '');\n $wrapperEl.transition('');\n }\n\n if (params.hide) {\n clearTimeout(dragTimeout);\n dragTimeout = nextTick(() => {\n $el.css('opacity', 0);\n $el.transition(400);\n }, 1000);\n }\n\n emit('scrollbarDragEnd', e);\n\n if (params.snapOnRelease) {\n swiper.slideToClosest();\n }\n }\n\n function events(method) {\n const {\n scrollbar,\n touchEventsTouch,\n touchEventsDesktop,\n params,\n support\n } = swiper;\n const $el = scrollbar.$el;\n if (!$el) return;\n const target = $el[0];\n const activeListener = support.passiveListener && params.passiveListeners ? {\n passive: false,\n capture: false\n } : false;\n const passiveListener = support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n if (!target) return;\n const eventMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n\n if (!support.touch) {\n target[eventMethod](touchEventsDesktop.start, onDragStart, activeListener);\n document[eventMethod](touchEventsDesktop.move, onDragMove, activeListener);\n document[eventMethod](touchEventsDesktop.end, onDragEnd, passiveListener);\n } else {\n target[eventMethod](touchEventsTouch.start, onDragStart, activeListener);\n target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);\n target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);\n }\n }\n\n function enableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('on');\n }\n\n function disableDraggable() {\n if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;\n events('off');\n }\n\n function init() {\n const {\n scrollbar,\n $el: $swiperEl\n } = swiper;\n swiper.params.scrollbar = createElementIfNotDefined(swiper, swiper.originalParams.scrollbar, swiper.params.scrollbar, {\n el: 'swiper-scrollbar'\n });\n const params = swiper.params.scrollbar;\n if (!params.el) return;\n let $el = $(params.el);\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1 && $swiperEl.find(params.el).length === 1) {\n $el = $swiperEl.find(params.el);\n }\n\n $el.addClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);\n\n if ($dragEl.length === 0) {\n $dragEl = $(`<div class=\"${swiper.params.scrollbar.dragClass}\"></div>`);\n $el.append($dragEl);\n }\n\n Object.assign(scrollbar, {\n $el,\n el: $el[0],\n $dragEl,\n dragEl: $dragEl[0]\n });\n\n if (params.draggable) {\n enableDraggable();\n }\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n }\n\n function destroy() {\n const params = swiper.params.scrollbar;\n const $el = swiper.scrollbar.$el;\n\n if ($el) {\n $el.removeClass(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n }\n\n disableDraggable();\n }\n\n on('init', () => {\n if (swiper.params.scrollbar.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n updateSize();\n setTranslate();\n }\n });\n on('update resize observerUpdate lock unlock', () => {\n updateSize();\n });\n on('setTranslate', () => {\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n setTransition(duration);\n });\n on('enable disable', () => {\n const {\n $el\n } = swiper.scrollbar;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.scrollbar.lockClass);\n }\n });\n on('destroy', () => {\n destroy();\n });\n\n const enable = () => {\n swiper.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.removeClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n\n init();\n updateSize();\n setTranslate();\n };\n\n const disable = () => {\n swiper.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n\n if (swiper.scrollbar.$el) {\n swiper.scrollbar.$el.addClass(swiper.params.scrollbar.scrollbarDisabledClass);\n }\n\n destroy();\n };\n\n Object.assign(swiper.scrollbar, {\n enable,\n disable,\n updateSize,\n setTranslate,\n init,\n destroy\n });\n}","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function Lazy({\n swiper,\n extendParams,\n on,\n emit\n}) {\n extendParams({\n lazy: {\n checkInView: false,\n enabled: false,\n loadPrevNext: false,\n loadPrevNextAmount: 1,\n loadOnTransitionStart: false,\n scrollingElement: '',\n elementClass: 'swiper-lazy',\n loadingClass: 'swiper-lazy-loading',\n loadedClass: 'swiper-lazy-loaded',\n preloaderClass: 'swiper-lazy-preloader'\n }\n });\n swiper.lazy = {};\n let scrollHandlerAttached = false;\n let initialImageLoaded = false;\n\n function loadInSlide(index, loadInDuplicate = true) {\n const params = swiper.params.lazy;\n if (typeof index === 'undefined') return;\n if (swiper.slides.length === 0) return;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n const $slideEl = isVirtual ? swiper.$wrapperEl.children(`.${swiper.params.slideClass}[data-swiper-slide-index=\"${index}\"]`) : swiper.slides.eq(index);\n const $images = $slideEl.find(`.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`);\n\n if ($slideEl.hasClass(params.elementClass) && !$slideEl.hasClass(params.loadedClass) && !$slideEl.hasClass(params.loadingClass)) {\n $images.push($slideEl[0]);\n }\n\n if ($images.length === 0) return;\n $images.each(imageEl => {\n const $imageEl = $(imageEl);\n $imageEl.addClass(params.loadingClass);\n const background = $imageEl.attr('data-background');\n const src = $imageEl.attr('data-src');\n const srcset = $imageEl.attr('data-srcset');\n const sizes = $imageEl.attr('data-sizes');\n const $pictureEl = $imageEl.parent('picture');\n swiper.loadImage($imageEl[0], src || background, srcset, sizes, false, () => {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper && !swiper.params || swiper.destroyed) return;\n\n if (background) {\n $imageEl.css('background-image', `url(\"${background}\")`);\n $imageEl.removeAttr('data-background');\n } else {\n if (srcset) {\n $imageEl.attr('srcset', srcset);\n $imageEl.removeAttr('data-srcset');\n }\n\n if (sizes) {\n $imageEl.attr('sizes', sizes);\n $imageEl.removeAttr('data-sizes');\n }\n\n if ($pictureEl.length) {\n $pictureEl.children('source').each(sourceEl => {\n const $source = $(sourceEl);\n\n if ($source.attr('data-srcset')) {\n $source.attr('srcset', $source.attr('data-srcset'));\n $source.removeAttr('data-srcset');\n }\n });\n }\n\n if (src) {\n $imageEl.attr('src', src);\n $imageEl.removeAttr('data-src');\n }\n }\n\n $imageEl.addClass(params.loadedClass).removeClass(params.loadingClass);\n $slideEl.find(`.${params.preloaderClass}`).remove();\n\n if (swiper.params.loop && loadInDuplicate) {\n const slideOriginalIndex = $slideEl.attr('data-swiper-slide-index');\n\n if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {\n const originalSlide = swiper.$wrapperEl.children(`[data-swiper-slide-index=\"${slideOriginalIndex}\"]:not(.${swiper.params.slideDuplicateClass})`);\n loadInSlide(originalSlide.index(), false);\n } else {\n const duplicatedSlide = swiper.$wrapperEl.children(`.${swiper.params.slideDuplicateClass}[data-swiper-slide-index=\"${slideOriginalIndex}\"]`);\n loadInSlide(duplicatedSlide.index(), false);\n }\n }\n\n emit('lazyImageReady', $slideEl[0], $imageEl[0]);\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n });\n emit('lazyImageLoad', $slideEl[0], $imageEl[0]);\n });\n }\n\n function load() {\n const {\n $wrapperEl,\n params: swiperParams,\n slides,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && swiperParams.virtual.enabled;\n const params = swiperParams.lazy;\n let slidesPerView = swiperParams.slidesPerView;\n\n if (slidesPerView === 'auto') {\n slidesPerView = 0;\n }\n\n function slideExist(index) {\n if (isVirtual) {\n if ($wrapperEl.children(`.${swiperParams.slideClass}[data-swiper-slide-index=\"${index}\"]`).length) {\n return true;\n }\n } else if (slides[index]) return true;\n\n return false;\n }\n\n function slideIndex(slideEl) {\n if (isVirtual) {\n return $(slideEl).attr('data-swiper-slide-index');\n }\n\n return $(slideEl).index();\n }\n\n if (!initialImageLoaded) initialImageLoaded = true;\n\n if (swiper.params.watchSlidesProgress) {\n $wrapperEl.children(`.${swiperParams.slideVisibleClass}`).each(slideEl => {\n const index = isVirtual ? $(slideEl).attr('data-swiper-slide-index') : $(slideEl).index();\n loadInSlide(index);\n });\n } else if (slidesPerView > 1) {\n for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n loadInSlide(activeIndex);\n }\n\n if (params.loadPrevNext) {\n if (slidesPerView > 1 || params.loadPrevNextAmount && params.loadPrevNextAmount > 1) {\n const amount = params.loadPrevNextAmount;\n const spv = Math.ceil(slidesPerView);\n const maxIndex = Math.min(activeIndex + spv + Math.max(amount, spv), slides.length);\n const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides\n\n for (let i = activeIndex + spv; i < maxIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n } // Prev Slides\n\n\n for (let i = minIndex; i < activeIndex; i += 1) {\n if (slideExist(i)) loadInSlide(i);\n }\n } else {\n const nextSlide = $wrapperEl.children(`.${swiperParams.slideNextClass}`);\n if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));\n const prevSlide = $wrapperEl.children(`.${swiperParams.slidePrevClass}`);\n if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));\n }\n }\n }\n\n function checkInViewOnLoad() {\n const window = getWindow();\n if (!swiper || swiper.destroyed) return;\n const $scrollElement = swiper.params.lazy.scrollingElement ? $(swiper.params.lazy.scrollingElement) : $(window);\n const isWindow = $scrollElement[0] === window;\n const scrollElementWidth = isWindow ? window.innerWidth : $scrollElement[0].offsetWidth;\n const scrollElementHeight = isWindow ? window.innerHeight : $scrollElement[0].offsetHeight;\n const swiperOffset = swiper.$el.offset();\n const {\n rtlTranslate: rtl\n } = swiper;\n let inView = false;\n if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;\n const swiperCoord = [[swiperOffset.left, swiperOffset.top], [swiperOffset.left + swiper.width, swiperOffset.top], [swiperOffset.left, swiperOffset.top + swiper.height], [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height]];\n\n for (let i = 0; i < swiperCoord.length; i += 1) {\n const point = swiperCoord[i];\n\n if (point[0] >= 0 && point[0] <= scrollElementWidth && point[1] >= 0 && point[1] <= scrollElementHeight) {\n if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line\n\n inView = true;\n }\n }\n\n const passiveListener = swiper.touchEvents.start === 'touchstart' && swiper.support.passiveListener && swiper.params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n\n if (inView) {\n load();\n $scrollElement.off('scroll', checkInViewOnLoad, passiveListener);\n } else if (!scrollHandlerAttached) {\n scrollHandlerAttached = true;\n $scrollElement.on('scroll', checkInViewOnLoad, passiveListener);\n }\n }\n\n on('beforeInit', () => {\n if (swiper.params.lazy.enabled && swiper.params.preloadImages) {\n swiper.params.preloadImages = false;\n }\n });\n on('init', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('scroll', () => {\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && !swiper.params.freeMode.sticky) {\n load();\n }\n });\n on('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('transitionStart', () => {\n if (swiper.params.lazy.enabled) {\n if (swiper.params.lazy.loadOnTransitionStart || !swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n }\n });\n on('transitionEnd', () => {\n if (swiper.params.lazy.enabled && !swiper.params.lazy.loadOnTransitionStart) {\n if (swiper.params.lazy.checkInView) {\n checkInViewOnLoad();\n } else {\n load();\n }\n }\n });\n on('slideChange', () => {\n const {\n lazy,\n cssMode,\n watchSlidesProgress,\n touchReleaseOnEdges,\n resistanceRatio\n } = swiper.params;\n\n if (lazy.enabled && (cssMode || watchSlidesProgress && (touchReleaseOnEdges || resistanceRatio === 0))) {\n load();\n }\n });\n on('destroy', () => {\n if (!swiper.$el) return;\n swiper.$el.find(`.${swiper.params.lazy.loadingClass}`).removeClass(swiper.params.lazy.loadingClass);\n });\n Object.assign(swiper.lazy, {\n load,\n loadInSlide\n });\n}","import classesToSelector from '../../shared/classes-to-selector.js';\nimport $ from '../../shared/dom.js';\nexport default function A11y({\n swiper,\n extendParams,\n on\n}) {\n extendParams({\n a11y: {\n enabled: true,\n notificationClass: 'swiper-notification',\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide',\n firstSlideMessage: 'This is the first slide',\n lastSlideMessage: 'This is the last slide',\n paginationBulletMessage: 'Go to slide {{index}}',\n slideLabelMessage: '{{index}} / {{slidesLength}}',\n containerMessage: null,\n containerRoleDescriptionMessage: null,\n itemRoleDescriptionMessage: null,\n slideRole: 'group',\n id: null\n }\n });\n swiper.a11y = {\n clicked: false\n };\n let liveRegion = null;\n\n function notify(message) {\n const notification = liveRegion;\n if (notification.length === 0) return;\n notification.html('');\n notification.html(message);\n }\n\n function getRandomNumber(size = 16) {\n const randomChar = () => Math.round(16 * Math.random()).toString(16);\n\n return 'x'.repeat(size).replace(/x/g, randomChar);\n }\n\n function makeElFocusable($el) {\n $el.attr('tabIndex', '0');\n }\n\n function makeElNotFocusable($el) {\n $el.attr('tabIndex', '-1');\n }\n\n function addElRole($el, role) {\n $el.attr('role', role);\n }\n\n function addElRoleDescription($el, description) {\n $el.attr('aria-roledescription', description);\n }\n\n function addElControls($el, controls) {\n $el.attr('aria-controls', controls);\n }\n\n function addElLabel($el, label) {\n $el.attr('aria-label', label);\n }\n\n function addElId($el, id) {\n $el.attr('id', id);\n }\n\n function addElLive($el, live) {\n $el.attr('aria-live', live);\n }\n\n function disableEl($el) {\n $el.attr('aria-disabled', true);\n }\n\n function enableEl($el) {\n $el.attr('aria-disabled', false);\n }\n\n function onEnterOrSpaceKey(e) {\n if (e.keyCode !== 13 && e.keyCode !== 32) return;\n const params = swiper.params.a11y;\n const $targetEl = $(e.target);\n\n if (swiper.navigation && swiper.navigation.$nextEl && $targetEl.is(swiper.navigation.$nextEl)) {\n if (!(swiper.isEnd && !swiper.params.loop)) {\n swiper.slideNext();\n }\n\n if (swiper.isEnd) {\n notify(params.lastSlideMessage);\n } else {\n notify(params.nextSlideMessage);\n }\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl && $targetEl.is(swiper.navigation.$prevEl)) {\n if (!(swiper.isBeginning && !swiper.params.loop)) {\n swiper.slidePrev();\n }\n\n if (swiper.isBeginning) {\n notify(params.firstSlideMessage);\n } else {\n notify(params.prevSlideMessage);\n }\n }\n\n if (swiper.pagination && $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))) {\n $targetEl[0].click();\n }\n }\n\n function updateNavigation() {\n if (swiper.params.loop || swiper.params.rewind || !swiper.navigation) return;\n const {\n $nextEl,\n $prevEl\n } = swiper.navigation;\n\n if ($prevEl && $prevEl.length > 0) {\n if (swiper.isBeginning) {\n disableEl($prevEl);\n makeElNotFocusable($prevEl);\n } else {\n enableEl($prevEl);\n makeElFocusable($prevEl);\n }\n }\n\n if ($nextEl && $nextEl.length > 0) {\n if (swiper.isEnd) {\n disableEl($nextEl);\n makeElNotFocusable($nextEl);\n } else {\n enableEl($nextEl);\n makeElFocusable($nextEl);\n }\n }\n }\n\n function hasPagination() {\n return swiper.pagination && swiper.pagination.bullets && swiper.pagination.bullets.length;\n }\n\n function hasClickablePagination() {\n return hasPagination() && swiper.params.pagination.clickable;\n }\n\n function updatePagination() {\n const params = swiper.params.a11y;\n if (!hasPagination()) return;\n swiper.pagination.bullets.each(bulletEl => {\n const $bulletEl = $(bulletEl);\n\n if (swiper.params.pagination.clickable) {\n makeElFocusable($bulletEl);\n\n if (!swiper.params.pagination.renderBullet) {\n addElRole($bulletEl, 'button');\n addElLabel($bulletEl, params.paginationBulletMessage.replace(/\\{\\{index\\}\\}/, $bulletEl.index() + 1));\n }\n }\n\n if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {\n $bulletEl.attr('aria-current', 'true');\n } else {\n $bulletEl.removeAttr('aria-current');\n }\n });\n }\n\n const initNavEl = ($el, wrapperId, message) => {\n makeElFocusable($el);\n\n if ($el[0].tagName !== 'BUTTON') {\n addElRole($el, 'button');\n $el.on('keydown', onEnterOrSpaceKey);\n }\n\n addElLabel($el, message);\n addElControls($el, wrapperId);\n };\n\n const handlePointerDown = () => {\n swiper.a11y.clicked = true;\n };\n\n const handlePointerUp = () => {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!swiper.destroyed) {\n swiper.a11y.clicked = false;\n }\n });\n });\n };\n\n const handleFocus = e => {\n if (swiper.a11y.clicked) return;\n const slideEl = e.target.closest(`.${swiper.params.slideClass}`);\n if (!slideEl || !swiper.slides.includes(slideEl)) return;\n const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;\n const isVisible = swiper.params.watchSlidesProgress && swiper.visibleSlides && swiper.visibleSlides.includes(slideEl);\n if (isActive || isVisible) return;\n if (e.sourceCapabilities && e.sourceCapabilities.firesTouchEvents) return;\n\n if (swiper.isHorizontal()) {\n swiper.el.scrollLeft = 0;\n } else {\n swiper.el.scrollTop = 0;\n }\n\n swiper.slideTo(swiper.slides.indexOf(slideEl), 0);\n };\n\n const initSlides = () => {\n const params = swiper.params.a11y;\n\n if (params.itemRoleDescriptionMessage) {\n addElRoleDescription($(swiper.slides), params.itemRoleDescriptionMessage);\n }\n\n if (params.slideRole) {\n addElRole($(swiper.slides), params.slideRole);\n }\n\n const slidesLength = swiper.params.loop ? swiper.slides.filter(el => !el.classList.contains(swiper.params.slideDuplicateClass)).length : swiper.slides.length;\n\n if (params.slideLabelMessage) {\n swiper.slides.each((slideEl, index) => {\n const $slideEl = $(slideEl);\n const slideIndex = swiper.params.loop ? parseInt($slideEl.attr('data-swiper-slide-index'), 10) : index;\n const ariaLabelMessage = params.slideLabelMessage.replace(/\\{\\{index\\}\\}/, slideIndex + 1).replace(/\\{\\{slidesLength\\}\\}/, slidesLength);\n addElLabel($slideEl, ariaLabelMessage);\n });\n }\n };\n\n const init = () => {\n const params = swiper.params.a11y;\n swiper.$el.append(liveRegion); // Container\n\n const $containerEl = swiper.$el;\n\n if (params.containerRoleDescriptionMessage) {\n addElRoleDescription($containerEl, params.containerRoleDescriptionMessage);\n }\n\n if (params.containerMessage) {\n addElLabel($containerEl, params.containerMessage);\n } // Wrapper\n\n\n const $wrapperEl = swiper.$wrapperEl;\n const wrapperId = params.id || $wrapperEl.attr('id') || `swiper-wrapper-${getRandomNumber(16)}`;\n const live = swiper.params.autoplay && swiper.params.autoplay.enabled ? 'off' : 'polite';\n addElId($wrapperEl, wrapperId);\n addElLive($wrapperEl, live); // Slide\n\n initSlides(); // Navigation\n\n let $nextEl;\n let $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl && $nextEl.length) {\n initNavEl($nextEl, wrapperId, params.nextSlideMessage);\n }\n\n if ($prevEl && $prevEl.length) {\n initNavEl($prevEl, wrapperId, params.prevSlideMessage);\n } // Pagination\n\n\n if (hasClickablePagination()) {\n swiper.pagination.$el.on('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n } // Tab focus\n\n\n swiper.$el.on('focus', handleFocus, true);\n swiper.$el.on('pointerdown', handlePointerDown, true);\n swiper.$el.on('pointerup', handlePointerUp, true);\n };\n\n function destroy() {\n if (liveRegion && liveRegion.length > 0) liveRegion.remove();\n let $nextEl;\n let $prevEl;\n\n if (swiper.navigation && swiper.navigation.$nextEl) {\n $nextEl = swiper.navigation.$nextEl;\n }\n\n if (swiper.navigation && swiper.navigation.$prevEl) {\n $prevEl = swiper.navigation.$prevEl;\n }\n\n if ($nextEl) {\n $nextEl.off('keydown', onEnterOrSpaceKey);\n }\n\n if ($prevEl) {\n $prevEl.off('keydown', onEnterOrSpaceKey);\n } // Pagination\n\n\n if (hasClickablePagination()) {\n swiper.pagination.$el.off('keydown', classesToSelector(swiper.params.pagination.bulletClass), onEnterOrSpaceKey);\n } // Tab focus\n\n\n swiper.$el.off('focus', handleFocus, true);\n swiper.$el.off('pointerdown', handlePointerDown, true);\n swiper.$el.off('pointerup', handlePointerUp, true);\n }\n\n on('beforeInit', () => {\n liveRegion = $(`<span class=\"${swiper.params.a11y.notificationClass}\" aria-live=\"assertive\" aria-atomic=\"true\"></span>`);\n });\n on('afterInit', () => {\n if (!swiper.params.a11y.enabled) return;\n init();\n });\n on('slidesLengthChange snapGridLengthChange slidesGridLengthChange', () => {\n if (!swiper.params.a11y.enabled) return;\n initSlides();\n });\n on('fromEdge toEdge afterInit lock unlock', () => {\n if (!swiper.params.a11y.enabled) return;\n updateNavigation();\n });\n on('paginationUpdate', () => {\n if (!swiper.params.a11y.enabled) return;\n updatePagination();\n });\n on('destroy', () => {\n if (!swiper.params.a11y.enabled) return;\n destroy();\n });\n}","/* eslint no-underscore-dangle: \"off\" */\n\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { nextTick } from '../../shared/utils.js';\nexport default function Autoplay({\n swiper,\n extendParams,\n on,\n emit\n}) {\n let timeout;\n swiper.autoplay = {\n running: false,\n paused: false\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n\n function run() {\n if (!swiper.size) {\n swiper.autoplay.running = false;\n swiper.autoplay.paused = false;\n return;\n }\n\n const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);\n let delay = swiper.params.autoplay.delay;\n\n if ($activeSlideEl.attr('data-swiper-autoplay')) {\n delay = $activeSlideEl.attr('data-swiper-autoplay') || swiper.params.autoplay.delay;\n }\n\n clearTimeout(timeout);\n timeout = nextTick(() => {\n let autoplayResult;\n\n if (swiper.params.autoplay.reverseDirection) {\n if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isBeginning) {\n autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(swiper.slides.length - 1, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n } else if (swiper.params.loop) {\n swiper.loopFix();\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.isEnd) {\n autoplayResult = swiper.slideNext(swiper.params.speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);\n emit('autoplay');\n } else {\n stop();\n }\n\n if (swiper.params.cssMode && swiper.autoplay.running) run();else if (autoplayResult === false) {\n run();\n }\n }, delay);\n }\n\n function start() {\n if (typeof timeout !== 'undefined') return false;\n if (swiper.autoplay.running) return false;\n swiper.autoplay.running = true;\n emit('autoplayStart');\n run();\n return true;\n }\n\n function stop() {\n if (!swiper.autoplay.running) return false;\n if (typeof timeout === 'undefined') return false;\n\n if (timeout) {\n clearTimeout(timeout);\n timeout = undefined;\n }\n\n swiper.autoplay.running = false;\n emit('autoplayStop');\n return true;\n }\n\n function pause(speed) {\n if (!swiper.autoplay.running) return;\n if (swiper.autoplay.paused) return;\n if (timeout) clearTimeout(timeout);\n swiper.autoplay.paused = true;\n\n if (speed === 0 || !swiper.params.autoplay.waitForTransition) {\n swiper.autoplay.paused = false;\n run();\n } else {\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);\n });\n }\n }\n\n function onVisibilityChange() {\n const document = getDocument();\n\n if (document.visibilityState === 'hidden' && swiper.autoplay.running) {\n pause();\n }\n\n if (document.visibilityState === 'visible' && swiper.autoplay.paused) {\n run();\n swiper.autoplay.paused = false;\n }\n }\n\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;\n if (e.target !== swiper.$wrapperEl[0]) return;\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n swiper.autoplay.paused = false;\n\n if (!swiper.autoplay.running) {\n stop();\n } else {\n run();\n }\n }\n\n function onMouseEnter() {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n emit('autoplayPause');\n pause();\n }\n\n ['transitionend', 'webkitTransitionEnd'].forEach(event => {\n swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);\n });\n }\n\n function onMouseLeave() {\n if (swiper.params.autoplay.disableOnInteraction) {\n return;\n }\n\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n run();\n }\n\n function attachMouseEvents() {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.$el.on('mouseenter', onMouseEnter);\n swiper.$el.on('mouseleave', onMouseLeave);\n }\n }\n\n function detachMouseEvents() {\n swiper.$el.off('mouseenter', onMouseEnter);\n swiper.$el.off('mouseleave', onMouseLeave);\n }\n\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n start();\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n attachMouseEvents();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.autoplay.running) {\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n swiper.autoplay.pause(speed);\n } else {\n stop();\n }\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.autoplay.running) {\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n } else {\n pause();\n }\n }\n });\n on('touchEnd', () => {\n if (swiper.params.cssMode && swiper.autoplay.paused && !swiper.params.autoplay.disableOnInteraction) {\n run();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n\n if (swiper.autoplay.running) {\n stop();\n }\n\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n });\n Object.assign(swiper.autoplay, {\n pause,\n run,\n start,\n stop\n });\n}","export default function effectInit(params) {\n const {\n effect,\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams,\n perspective,\n recreateShadows,\n getEffectParams\n } = params;\n on('beforeInit', () => {\n if (swiper.params.effect !== effect) return;\n swiper.classNames.push(`${swiper.params.containerModifierClass}${effect}`);\n\n if (perspective && perspective()) {\n swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);\n }\n\n const overwriteParamsResult = overwriteParams ? overwriteParams() : {};\n Object.assign(swiper.params, overwriteParamsResult);\n Object.assign(swiper.originalParams, overwriteParamsResult);\n });\n on('setTranslate', () => {\n if (swiper.params.effect !== effect) return;\n setTranslate();\n });\n on('setTransition', (_s, duration) => {\n if (swiper.params.effect !== effect) return;\n setTransition(duration);\n });\n on('transitionEnd', () => {\n if (swiper.params.effect !== effect) return;\n\n if (recreateShadows) {\n if (!getEffectParams || !getEffectParams().slideShadows) return; // remove shadows\n\n swiper.slides.each(slideEl => {\n const $slideEl = swiper.$(slideEl);\n $slideEl.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').remove();\n }); // create new one\n\n recreateShadows();\n }\n });\n let requireUpdateOnVirtual;\n on('virtualUpdate', () => {\n if (swiper.params.effect !== effect) return;\n\n if (!swiper.slides.length) {\n requireUpdateOnVirtual = true;\n }\n\n requestAnimationFrame(() => {\n if (requireUpdateOnVirtual && swiper.slides && swiper.slides.length) {\n setTranslate();\n requireUpdateOnVirtual = false;\n }\n });\n });\n}","export default function effectTarget(effectParams, $slideEl) {\n if (effectParams.transformEl) {\n return $slideEl.find(effectParams.transformEl).css({\n 'backface-visibility': 'hidden',\n '-webkit-backface-visibility': 'hidden'\n });\n }\n\n return $slideEl;\n}","import effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nimport effectVirtualTransitionEnd from '../../shared/effect-virtual-transition-end.js';\nexport default function EffectFade({\n swiper,\n extendParams,\n on\n}) {\n extendParams({\n fadeEffect: {\n crossFade: false,\n transformEl: null\n }\n });\n\n const setTranslate = () => {\n const {\n slides\n } = swiper;\n const params = swiper.params.fadeEffect;\n\n for (let i = 0; i < slides.length; i += 1) {\n const $slideEl = swiper.slides.eq(i);\n const offset = $slideEl[0].swiperSlideOffset;\n let tx = -offset;\n if (!swiper.params.virtualTranslate) tx -= swiper.translate;\n let ty = 0;\n\n if (!swiper.isHorizontal()) {\n ty = tx;\n tx = 0;\n }\n\n const slideOpacity = swiper.params.fadeEffect.crossFade ? Math.max(1 - Math.abs($slideEl[0].progress), 0) : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.css({\n opacity: slideOpacity\n }).transform(`translate3d(${tx}px, ${ty}px, 0px)`);\n }\n };\n\n const setTransition = duration => {\n const {\n transformEl\n } = swiper.params.fadeEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration);\n effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl,\n allSlides: true\n });\n };\n\n effectInit({\n effect: 'fade',\n swiper,\n on,\n setTranslate,\n setTransition,\n overwriteParams: () => ({\n slidesPerView: 1,\n slidesPerGroup: 1,\n watchSlidesProgress: true,\n spaceBetween: 0,\n virtualTranslate: !swiper.params.cssMode\n })\n });\n}","export default function effectVirtualTransitionEnd({\n swiper,\n duration,\n transformEl,\n allSlides\n}) {\n const {\n slides,\n activeIndex,\n $wrapperEl\n } = swiper;\n\n if (swiper.params.virtualTranslate && duration !== 0) {\n let eventTriggered = false;\n let $transitionEndTarget;\n\n if (allSlides) {\n $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;\n } else {\n $transitionEndTarget = transformEl ? slides.eq(activeIndex).find(transformEl) : slides.eq(activeIndex);\n }\n\n $transitionEndTarget.transitionEnd(() => {\n if (eventTriggered) return;\n if (!swiper || swiper.destroyed) return;\n eventTriggered = true;\n swiper.animating = false;\n const triggerEvents = ['webkitTransitionEnd', 'transitionend'];\n\n for (let i = 0; i < triggerEvents.length; i += 1) {\n $wrapperEl.trigger(triggerEvents[i]);\n }\n });\n }\n}","import $ from './dom.js';\nexport default function createShadow(params, $slideEl, side) {\n const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`;\n const $shadowContainer = params.transformEl ? $slideEl.find(params.transformEl) : $slideEl;\n let $shadowEl = $shadowContainer.children(`.${shadowClass}`);\n\n if (!$shadowEl.length) {\n $shadowEl = $(`<div class=\"swiper-slide-shadow${side ? `-${side}` : ''}\"></div>`);\n $shadowContainer.append($shadowEl);\n }\n\n return $shadowEl;\n}","import createShadow from '../../shared/create-shadow.js';\nimport effectInit from '../../shared/effect-init.js';\nimport effectTarget from '../../shared/effect-target.js';\nexport default function EffectCoverflow({\n swiper,\n extendParams,\n on\n}) {\n extendParams({\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true,\n transformEl: null\n }\n });\n\n const setTranslate = () => {\n const {\n width: swiperWidth,\n height: swiperHeight,\n slides,\n slidesSizesGrid\n } = swiper;\n const params = swiper.params.coverflowEffect;\n const isHorizontal = swiper.isHorizontal();\n const transform = swiper.translate;\n const center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n const rotate = isHorizontal ? params.rotate : -params.rotate;\n const translate = params.depth; // Each slide offset from center\n\n for (let i = 0, length = slides.length; i < length; i += 1) {\n const $slideEl = slides.eq(i);\n const slideSize = slidesSizesGrid[i];\n const slideOffset = $slideEl[0].swiperSlideOffset;\n const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;\n const offsetMultiplier = typeof params.modifier === 'function' ? params.modifier(centerOffset) : centerOffset * params.modifier;\n let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n let translateZ = -translate * Math.abs(offsetMultiplier);\n let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n let translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;\n const $targetEl = effectTarget(params, $slideEl);\n $targetEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = createShadow(params, $slideEl, isHorizontal ? 'left' : 'top');\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = createShadow(params, $slideEl, isHorizontal ? 'right' : 'bottom');\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n };\n\n const setTransition = duration => {\n const {\n transformEl\n } = swiper.params.coverflowEffect;\n const $transitionElements = transformEl ? swiper.slides.find(transformEl) : swiper.slides;\n $transitionElements.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n };\n\n effectInit({\n effect: 'coverflow',\n swiper,\n on,\n setTranslate,\n setTransition,\n perspective: () => true,\n overwriteParams: () => ({\n watchSlidesProgress: true\n })\n });\n}","import Swiper, { A11y, Navigation, Pagination, Lazy, Scrollbar, EffectFade, Autoplay, EffectCoverflow } from 'swiper';\n\nimport '../styles.scss';\n\nexport function init (elem, config) {\n return new Swiper(elem, {\n modules: [A11y, Navigation, Pagination, Lazy, Scrollbar, EffectFade, Autoplay, EffectCoverflow],\n lazy: {\n loadPrevNext: true\n },\n a11y: {\n prevSlideMessage: 'Previous slide',\n nextSlideMessage: 'Next slide'\n },\n ...config\n });\n}\n\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"./node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"./node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"./node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@font-face{font-family:\"swiper-icons\";src:url(${___CSS_LOADER_URL_REPLACEMENT_0___}) format(\"woff\");font-weight:400;font-style:normal}:root{--swiper-theme-color: #007aff}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px, 0, 0)}.swiper-pointer-events{touch-action:pan-y}.swiper-pointer-events.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d,.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:\"\";flex-shrink:0;order:9999}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;height:var(--swiper-centered-offset-after)}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none !important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-vertical>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-vertical{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:300ms opacity;transform:translate3d(0, 0, 0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none !important}.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(0.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(0.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(0.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(0.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));height:var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color, #000);opacity:var(--swiper-pagination-bullet-inactive-opacity, 0.2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none !important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color, var(--swiper-theme-color))}.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px, -50%, 0)}.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap, 6px) 0;display:block}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:200ms transform,200ms top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap, 4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:200ms transform,200ms right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color, var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite{width:4px;height:100%;left:0;top:0}.swiper-pagination-lock{display:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./node_modules/swiper/swiper.scss\",\"webpack://./node_modules/swiper/modules/a11y/a11y.scss\",\"webpack://./node_modules/swiper/modules/effect-fade/effect-fade.scss\",\"webpack://./node_modules/swiper/modules/scrollbar/scrollbar.scss\",\"webpack://./node_modules/swiper/modules/pagination/pagination.scss\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\"/**\\n * Swiper 8.4.7\\n * Most modern mobile touch slider and framework with hardware accelerated transitions\\n * https://swiperjs.com\\n *\\n * Copyright 2014-2023 Vladimir Kharlampidi\\n *\\n * Released under the MIT License\\n *\\n * Released on: January 30, 2023\\n */\\n\\n@import 'swiper-vars.scss';\\n@at-root {\\n @font-face {\\n font-family: 'swiper-icons';\\n src: url('data:application/font-woff;charset=utf-8;base64, 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')\\n format('woff');\\n font-weight: 400;\\n font-style: normal;\\n }\\n}\\n@at-root {\\n :root {\\n --swiper-theme-color: #{$themeColor};\\n }\\n}\\n.swiper {\\n margin-left: auto;\\n margin-right: auto;\\n position: relative;\\n overflow: hidden;\\n list-style: none;\\n padding: 0;\\n /* Fix of Webkit flickering */\\n z-index: 1;\\n}\\n.swiper-vertical > .swiper-wrapper {\\n flex-direction: column;\\n}\\n.swiper-wrapper {\\n position: relative;\\n width: 100%;\\n height: 100%;\\n z-index: 1;\\n display: flex;\\n transition-property: transform;\\n box-sizing: content-box;\\n}\\n.swiper-android .swiper-slide,\\n.swiper-wrapper {\\n transform: translate3d(0px, 0, 0);\\n}\\n.swiper-pointer-events {\\n touch-action: pan-y;\\n &.swiper-vertical {\\n touch-action: pan-x;\\n }\\n}\\n.swiper-slide {\\n flex-shrink: 0;\\n width: 100%;\\n height: 100%;\\n position: relative;\\n transition-property: transform;\\n}\\n.swiper-slide-invisible-blank {\\n visibility: hidden;\\n}\\n/* Auto Height */\\n.swiper-autoheight {\\n &,\\n .swiper-slide {\\n height: auto;\\n }\\n\\n .swiper-wrapper {\\n align-items: flex-start;\\n transition-property: transform, height;\\n }\\n}\\n.swiper-backface-hidden .swiper-slide {\\n transform: translateZ(0);\\n backface-visibility: hidden;\\n}\\n/* 3D Effects */\\n.swiper-3d {\\n &,\\n &.swiper-css-mode .swiper-wrapper {\\n perspective: 1200px;\\n }\\n .swiper-wrapper,\\n .swiper-slide,\\n .swiper-slide-shadow,\\n .swiper-slide-shadow-left,\\n .swiper-slide-shadow-right,\\n .swiper-slide-shadow-top,\\n .swiper-slide-shadow-bottom,\\n .swiper-cube-shadow {\\n transform-style: preserve-3d;\\n }\\n .swiper-slide-shadow,\\n .swiper-slide-shadow-left,\\n .swiper-slide-shadow-right,\\n .swiper-slide-shadow-top,\\n .swiper-slide-shadow-bottom {\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n pointer-events: none;\\n z-index: 10;\\n }\\n .swiper-slide-shadow {\\n background: rgba(0, 0, 0, 0.15);\\n }\\n .swiper-slide-shadow-left {\\n background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-right {\\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-top {\\n background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n .swiper-slide-shadow-bottom {\\n background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));\\n }\\n}\\n\\n/* CSS Mode */\\n.swiper-css-mode {\\n > .swiper-wrapper {\\n overflow: auto;\\n scrollbar-width: none; /* For Firefox */\\n -ms-overflow-style: none; /* For Internet Explorer and Edge */\\n &::-webkit-scrollbar {\\n display: none;\\n }\\n }\\n > .swiper-wrapper > .swiper-slide {\\n scroll-snap-align: start start;\\n }\\n}\\n.swiper-horizontal.swiper-css-mode {\\n > .swiper-wrapper {\\n scroll-snap-type: x mandatory;\\n }\\n}\\n.swiper-vertical.swiper-css-mode {\\n > .swiper-wrapper {\\n scroll-snap-type: y mandatory;\\n }\\n}\\n.swiper-centered {\\n > .swiper-wrapper::before {\\n content: '';\\n flex-shrink: 0;\\n order: 9999;\\n }\\n &.swiper-horizontal {\\n > .swiper-wrapper > .swiper-slide:first-child {\\n margin-inline-start: var(--swiper-centered-offset-before);\\n }\\n > .swiper-wrapper::before {\\n height: 100%;\\n width: var(--swiper-centered-offset-after);\\n }\\n }\\n &.swiper-vertical {\\n > .swiper-wrapper > .swiper-slide:first-child {\\n margin-block-start: var(--swiper-centered-offset-before);\\n }\\n > .swiper-wrapper::before {\\n width: 100%;\\n height: var(--swiper-centered-offset-after);\\n }\\n }\\n\\n > .swiper-wrapper > .swiper-slide {\\n scroll-snap-align: center center;\\n scroll-snap-stop: always;\\n }\\n}\\n\\n\\n\\n\",\"/* a11y */\\n.swiper .swiper-notification {\\n position: absolute;\\n left: 0;\\n top: 0;\\n pointer-events: none;\\n opacity: 0;\\n z-index: -1000;\\n}\\n\",\".swiper-fade {\\n &.swiper-free-mode {\\n .swiper-slide {\\n transition-timing-function: ease-out;\\n }\\n }\\n .swiper-slide {\\n pointer-events: none;\\n transition-property: opacity;\\n .swiper-slide {\\n pointer-events: none;\\n }\\n }\\n .swiper-slide-active {\\n &,\\n & .swiper-slide-active {\\n pointer-events: auto;\\n }\\n }\\n}\\n\",\"/* Scrollbar */\\n.swiper-scrollbar {\\n border-radius: 10px;\\n position: relative;\\n -ms-touch-action: none;\\n background: rgba(0, 0, 0, 0.1);\\n .swiper-scrollbar-disabled > &,\\n &.swiper-scrollbar-disabled {\\n display: none !important;\\n }\\n .swiper-horizontal > &,\\n &.swiper-scrollbar-horizontal {\\n position: absolute;\\n left: 1%;\\n bottom: 3px;\\n z-index: 50;\\n height: 5px;\\n width: 98%;\\n }\\n .swiper-vertical > &,\\n &.swiper-scrollbar-vertical {\\n position: absolute;\\n right: 3px;\\n top: 1%;\\n z-index: 50;\\n width: 5px;\\n height: 98%;\\n }\\n}\\n.swiper-scrollbar-drag {\\n height: 100%;\\n width: 100%;\\n position: relative;\\n background: rgba(0, 0, 0, 0.5);\\n border-radius: 10px;\\n left: 0;\\n top: 0;\\n}\\n.swiper-scrollbar-cursor-drag {\\n cursor: move;\\n}\\n.swiper-scrollbar-lock {\\n display: none;\\n}\\n\",\"@import '../../swiper-vars.scss';\\n@at-root {\\n :root {\\n /*\\n --swiper-pagination-color: var(--swiper-theme-color);\\n --swiper-pagination-bullet-size: 8px;\\n --swiper-pagination-bullet-width: 8px;\\n --swiper-pagination-bullet-height: 8px;\\n --swiper-pagination-bullet-inactive-color: #000;\\n --swiper-pagination-bullet-inactive-opacity: 0.2;\\n --swiper-pagination-bullet-opacity: 1;\\n --swiper-pagination-bullet-horizontal-gap: 4px;\\n --swiper-pagination-bullet-vertical-gap: 6px;\\n */\\n }\\n}\\n.swiper-pagination {\\n position: absolute;\\n text-align: center;\\n transition: 300ms opacity;\\n transform: translate3d(0, 0, 0);\\n z-index: 10;\\n &.swiper-pagination-hidden {\\n opacity: 0;\\n }\\n .swiper-pagination-disabled > &,\\n &.swiper-pagination-disabled {\\n display: none !important;\\n }\\n}\\n/* Common Styles */\\n.swiper-pagination-fraction,\\n.swiper-pagination-custom,\\n.swiper-horizontal > .swiper-pagination-bullets,\\n.swiper-pagination-bullets.swiper-pagination-horizontal {\\n bottom: 10px;\\n left: 0;\\n width: 100%;\\n}\\n/* Bullets */\\n.swiper-pagination-bullets-dynamic {\\n overflow: hidden;\\n font-size: 0;\\n .swiper-pagination-bullet {\\n transform: scale(0.33);\\n position: relative;\\n }\\n .swiper-pagination-bullet-active {\\n transform: scale(1);\\n }\\n .swiper-pagination-bullet-active-main {\\n transform: scale(1);\\n }\\n .swiper-pagination-bullet-active-prev {\\n transform: scale(0.66);\\n }\\n .swiper-pagination-bullet-active-prev-prev {\\n transform: scale(0.33);\\n }\\n .swiper-pagination-bullet-active-next {\\n transform: scale(0.66);\\n }\\n .swiper-pagination-bullet-active-next-next {\\n transform: scale(0.33);\\n }\\n}\\n.swiper-pagination-bullet {\\n width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));\\n height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));\\n display: inline-block;\\n border-radius: 50%;\\n background: var(--swiper-pagination-bullet-inactive-color, #000);\\n opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);\\n @at-root button#{&} {\\n border: none;\\n margin: 0;\\n padding: 0;\\n box-shadow: none;\\n appearance: none;\\n }\\n .swiper-pagination-clickable & {\\n cursor: pointer;\\n }\\n\\n &:only-child {\\n display: none !important;\\n }\\n}\\n.swiper-pagination-bullet-active {\\n opacity: var(--swiper-pagination-bullet-opacity, 1);\\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\\n}\\n\\n.swiper-vertical > .swiper-pagination-bullets,\\n.swiper-pagination-vertical.swiper-pagination-bullets {\\n right: 10px;\\n top: 50%;\\n transform: translate3d(0px, -50%, 0);\\n .swiper-pagination-bullet {\\n margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;\\n display: block;\\n }\\n &.swiper-pagination-bullets-dynamic {\\n top: 50%;\\n transform: translateY(-50%);\\n width: 8px;\\n .swiper-pagination-bullet {\\n display: inline-block;\\n transition: 200ms transform, 200ms top;\\n }\\n }\\n}\\n.swiper-horizontal > .swiper-pagination-bullets,\\n.swiper-pagination-horizontal.swiper-pagination-bullets {\\n .swiper-pagination-bullet {\\n margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);\\n }\\n &.swiper-pagination-bullets-dynamic {\\n left: 50%;\\n transform: translateX(-50%);\\n white-space: nowrap;\\n .swiper-pagination-bullet {\\n transition: 200ms transform, 200ms left;\\n }\\n }\\n}\\n.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {\\n transition: 200ms transform, 200ms right;\\n}\\n/* Progress */\\n.swiper-pagination-progressbar {\\n background: rgba(0, 0, 0, 0.25);\\n position: absolute;\\n .swiper-pagination-progressbar-fill {\\n background: var(--swiper-pagination-color, var(--swiper-theme-color));\\n position: absolute;\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n transform: scale(0);\\n transform-origin: left top;\\n }\\n .swiper-rtl & .swiper-pagination-progressbar-fill {\\n transform-origin: right top;\\n }\\n .swiper-horizontal > &,\\n &.swiper-pagination-horizontal,\\n .swiper-vertical > &.swiper-pagination-progressbar-opposite,\\n &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {\\n width: 100%;\\n height: 4px;\\n left: 0;\\n top: 0;\\n }\\n .swiper-vertical > &,\\n &.swiper-pagination-vertical,\\n .swiper-horizontal > &.swiper-pagination-progressbar-opposite,\\n &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {\\n width: 4px;\\n height: 100%;\\n left: 0;\\n top: 0;\\n }\\n}\\n.swiper-pagination-lock {\\n display: none;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t792: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","__webpack_require__.nc = undefined;","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nconst Methods = {\n addClass,\n removeClass,\n hasClass,\n toggleClass,\n attr,\n removeAttr,\n transform,\n transition,\n on,\n off,\n trigger,\n transitionEnd,\n outerWidth,\n outerHeight,\n styles,\n offset,\n css,\n each,\n html,\n text,\n is,\n index,\n eq,\n append,\n prepend,\n next,\n nextAll,\n prev,\n prevAll,\n parent,\n parents,\n closest,\n find,\n children,\n filter,\n remove\n};\nObject.keys(Methods).forEach(methodName => {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\nlet deviceCached;\n\nfunction calcDevice({\n userAgent\n} = {}) {\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides = {}) {\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n\n return deviceCached;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nlet browser;\n\nfunction calcBrowser() {\n const window = getWindow();\n\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","/* eslint-disable no-underscore-dangle */\nexport default {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n\n function onceHandler(...args) {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n\n emit(...args) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n\n};","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\nexport default {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};","export default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n const swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n const params = swiper.params;\n const {\n $wrapperEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n let offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n }); // reset cssMode offsets\n\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', '');\n }\n\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n } // Calc slides\n\n\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n const slide = slides.eq(i);\n\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n\n const slideStyles = getComputedStyle(slide[0]);\n const currentTransform = slide[0].style.transform;\n const currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide[0];\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (params.setWrapperSize) {\n $wrapperEl.css({\n [getDirectionLabel('width')]: `${swiper.virtualSize + params.spaceBetween}px`\n });\n }\n\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css({\n [key]: `${spaceBetween}px`\n });\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(swiper.wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.$el.hasClass(backFaceHiddenClass);\n\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.$el.addClass(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.$el.removeClass(backFaceHiddenClass);\n }\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || $([])).each(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight || newHeight === 0) swiper.$wrapperEl.css('height', `${newHeight}px`);\n}","export default function updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateSlidesProgress(translate = this && this.translate || 0) {\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","export default function updateProgress(translate) {\n const swiper = this;\n\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n Object.assign(swiper, {\n progress,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n $wrapperEl,\n activeIndex,\n realIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(`${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`);\n let activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(`.${params.slideClass}[data-swiper-slide-index=\"${activeIndex}\"]`);\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${realIndex}\"]`).addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n let nextSlide = activeSlide.nextAll(`.${params.slideClass}`).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n let prevSlide = activeSlide.prevAll(`.${params.slideClass}`).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${nextSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(`.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index=\"${prevSlide.attr('data-swiper-slide-index')}\"]`).addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","export default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n slidesGrid,\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n const realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../shared/dom.js';\nexport default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = $(e).closest(`.${params.slideClass}`)[0];\n let slideFound = false;\n let slideIndex;\n\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(`The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`);\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex]; // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n } // Update progress\n\n\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._swiperImmediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n\n return true;\n}","export default function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n const indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n const isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(`The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`);\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n const swiper = this;\n let newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n animating,\n enabled,\n params\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n params,\n animating,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n\n let prevIndex = 0;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {\n const swiper = this;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../shared/dom.js';\nimport { nextTick } from '../../shared/utils.js';\nexport default function slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n $wrapperEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(`.${params.slideClass}[data-swiper-slide-index=\"${realIndex}\"]:not(.${params.slideDuplicateClass})`).eq(0).index();\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import { extend } from '../../shared/utils.js';\n\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\n\nexport default function setBreakpoint() {\n const swiper = this;\n const {\n activeIndex,\n initialized,\n loopedSlides = 0,\n params,\n $el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(`${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(`${params.containerModifierClass}grid`);\n\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n $el.addClass(`${params.containerModifierClass}grid-column`);\n }\n\n swiper.emitContainerClasses();\n } // Toggle navigation, pagination, scrollbar\n\n\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses,\n removeClasses\n};","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n $el,\n device,\n support\n } = swiper; // prettier-ignore\n\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': !support.touch\n }, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n $el.addClass([...classNames].join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n const swiper = this;\n const {\n $el,\n classNames\n } = swiper;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopedSlidesLimit: true,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../shared/dom.js';\nimport { extend, now, deleteProps } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport images from './images/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes,\n images\n};\nconst extendedDefaults = {};\n\nclass Swiper {\n constructor(...args) {\n let el;\n let params;\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n const swipers = [];\n $(params.el).each(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n }); // eslint-disable-next-line no-constructor-return\n\n return swipers;\n } // Swiper Instance\n\n\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n }); // Extend defaults with modules params\n\n const swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n const touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n const desktop = ['pointerdown', 'pointermove', 'pointerup'];\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n // eslint-disable-next-line no-constructor-return\n\n\n return swiper;\n }\n\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n }\n\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n }\n\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.each(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n\n slidesPerViewDynamic(view = 'current', exact = false) {\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n\n return spv;\n }\n\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n let translated;\n\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n }\n\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}${currentDirection}`).addClass(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n\n if (swiper.rtl) {\n swiper.$el.addClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.$el.removeClass(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n\n swiper.update();\n }\n\n mount(el) {\n const swiper = this;\n if (swiper.mounted) return true; // Find el\n\n const $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = options => $el.children(options);\n\n return res;\n }\n\n if (!$el.children) {\n return $($el).children(getWrapperSelector());\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n let $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n const document = getDocument();\n const wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(`.${swiper.params.slideClass}`).each(slideEl => {\n $wrapperEl.append(slideEl);\n });\n }\n\n Object.assign(swiper, {\n $el,\n el,\n $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n }\n\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const {\n params,\n $el,\n $wrapperEl,\n slides\n } = swiper;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n }\n\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n\n static get extendedDefaults() {\n return extendedDefaults;\n }\n\n static get defaults() {\n return defaults;\n }\n\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n }\n\n}\n\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n $wrapperEl\n } = swiper;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n let currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n $wrapperEl,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition,\n transitionStart,\n transitionEnd\n};","export default function setTransition(duration, byController) {\n const swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate,\n loopFix,\n loopDestroy\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loopCreate() {\n const swiper = this;\n const document = getDocument();\n const {\n params,\n $wrapperEl\n } = swiper; // Remove duplicated slides\n\n const $selector = $wrapperEl.children().length > 0 ? $($wrapperEl.children()[0].parentNode) : $wrapperEl;\n $selector.children(`.${params.slideClass}.${params.slideDuplicateClass}`).remove();\n let slides = $selector.children(`.${params.slideClass}`);\n\n if (params.loopFillGroupWithBlank) {\n const blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (let i = 0; i < blankSlidesNum; i += 1) {\n const blankNode = $(document.createElement('div')).addClass(`${params.slideClass} ${params.slideBlankClass}`);\n $selector.append(blankNode);\n }\n\n slides = $selector.children(`.${params.slideClass}`);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length && swiper.params.loopedSlidesLimit) {\n swiper.loopedSlides = slides.length;\n }\n\n const prependSlides = [];\n const appendSlides = [];\n slides.each((el, index) => {\n const slide = $(el);\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (let i = 0; i < swiper.loopedSlides; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlides.push(slides.eq(index)[0]);\n prependSlides.unshift(slides.eq(slides.length - index - 1)[0]);\n }\n\n for (let i = 0; i < appendSlides.length; i += 1) {\n $selector.append($(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (let i = prependSlides.length - 1; i >= 0; i -= 1) {\n $selector.prepend($(prependSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n const swiper = this;\n swiper.emit('beforeLoopFix');\n const {\n activeIndex,\n slides,\n loopedSlides,\n allowSlidePrev,\n allowSlideNext,\n snapGrid,\n rtlTranslate: rtl\n } = swiper;\n let newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n const snapTranslate = -snapGrid[activeIndex];\n const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n const slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n const swiper = this;\n const {\n $wrapperEl,\n params,\n slides\n } = swiper;\n $wrapperEl.children(`.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor,\n unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n const swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n const swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint,\n getBreakpoint\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base = 'window', containerEl) {\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","function checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\n\nexport default {\n checkOverflow\n};","import loadImage from './loadImage.js';\nimport preloadImages from './preloadImages.js';\nexport default {\n loadImage,\n preloadImages\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../shared/dom.js';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n const window = getWindow();\n let image;\n\n function onReady() {\n if (callback) callback();\n }\n\n const isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n const swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {\n const imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import { getWindow } from 'ssr-window';\nexport default function Resize({\n swiper,\n on,\n emit\n}) {\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(({\n contentBoxSize,\n contentRect,\n target\n }) => {\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nexport default function Observer({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const observers = [];\n const window = getWindow();\n\n const attach = (target, options = {}) => {\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n\n const init = () => {\n if (!swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n const containerParents = swiper.$el.parents();\n\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n } // Observe container\n\n\n attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n };\n\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","\n import API from \"!./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!./node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!./node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!./node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!./node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./styles.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./styles.scss\";\n export default content && content.locals ? content.locals : undefined;\n"]}
|