{"version":3,"sources":["main.js","partials/svgxuse.min.js","partials/vanillaTextMask.js","partials/tooltipster.bundle.min.js","partials/jquery.fancybox.min.js","partials/swiper.min.js","partials/select2.js","partials/nouislider.min.js","partials/scripts.js","components/accordion.js","components/dropdown.js","components/tabs.js","components/fancybox.js","components/header.js","components/hero-slider.js","components/products-slider.js","components/reviews.js","components/product-list.js","components/product-info.js","components/checkout.js","components/radio-variation.js","components/shop-filters.js","components/cart.js","components/shop-search.js"],"names":[],"mappings":"AAAA;AACA;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;ACAA;AACA;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACriFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9kPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC99IA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ARtCA;ASVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACZA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACleA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AvBjDA","file":"main.js","sourcesContent":["var $ = jQuery;\n/*//=include partials/jquery-1.11.1.min.js*/\n//=include partials/svgxuse.min.js\n//=include partials/vanillaTextMask.js\n//=include partials/tooltipster.bundle.min.js\n//=include partials/jquery.fancybox.min.js\n//=include partials/swiper.min.js\n//=include partials/select2.js\n//=include partials/nouislider.min.js\n//=include partials/scripts.js\n\n//=include components/accordion.js\n//=include components/dropdown.js\n//=include components/tabs.js\n//=include components/fancybox.js\n//=include components/header.js\n//=include components/hero-slider.js\n//=include components/products-slider.js\n//=include components/reviews.js\n//=include components/product-list.js\n//=include components/product-info.js\n//=include components/checkout.js\n//=include components/radio-variation.js\n//=include components/shop-filters.js\n//=include components/cart.js\n//=include components/shop-search.js\n","/*!\n * @copyright Copyright (c) 2017 IcoMoon.io\n * @license   Licensed under MIT license\n *            See https://github.com/Keyamoon/svgxuse\n * @version   1.2.6\n */\n(function(){if(\"undefined\"!==typeof window&&window.addEventListener){var e=Object.create(null),l,d=function(){clearTimeout(l);l=setTimeout(n,100)},m=function(){},t=function(){window.addEventListener(\"resize\",d,!1);window.addEventListener(\"orientationchange\",d,!1);if(window.MutationObserver){var k=new MutationObserver(d);k.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0});m=function(){try{k.disconnect(),window.removeEventListener(\"resize\",d,!1),window.removeEventListener(\"orientationchange\",\nd,!1)}catch(v){}}}else document.documentElement.addEventListener(\"DOMSubtreeModified\",d,!1),m=function(){document.documentElement.removeEventListener(\"DOMSubtreeModified\",d,!1);window.removeEventListener(\"resize\",d,!1);window.removeEventListener(\"orientationchange\",d,!1)}},u=function(k){function e(a){if(void 0!==a.protocol)var c=a;else c=document.createElement(\"a\"),c.href=a;return c.protocol.replace(/:/g,\"\")+c.host}if(window.XMLHttpRequest){var d=new XMLHttpRequest;var m=e(location);k=e(k);d=void 0===\nd.withCredentials&&\"\"!==k&&k!==m?XDomainRequest||void 0:XMLHttpRequest}return d};var n=function(){function d(){--q;0===q&&(m(),t())}function l(a){return function(){!0!==e[a.base]&&(a.useEl.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",\"#\"+a.hash),a.useEl.hasAttribute(\"href\")&&a.useEl.setAttribute(\"href\",\"#\"+a.hash))}}function p(a){return function(){var c=document.body,b=document.createElement(\"x\");a.onload=null;b.innerHTML=a.responseText;if(b=b.getElementsByTagName(\"svg\")[0])b.setAttribute(\"aria-hidden\",\n\"true\"),b.style.position=\"absolute\",b.style.width=0,b.style.height=0,b.style.overflow=\"hidden\",c.insertBefore(b,c.firstChild);d()}}function n(a){return function(){a.onerror=null;a.ontimeout=null;d()}}var a,c,q=0;m();var f=document.getElementsByTagName(\"use\");for(c=0;c<f.length;c+=1){try{var g=f[c].getBoundingClientRect()}catch(w){g=!1}var h=(a=f[c].getAttribute(\"href\")||f[c].getAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\")||f[c].getAttribute(\"xlink:href\"))&&a.split?a.split(\"#\"):[\"\",\"\"];var b=\nh[0];h=h[1];var r=g&&0===g.left&&0===g.right&&0===g.top&&0===g.bottom;g&&0===g.width&&0===g.height&&!r?(f[c].hasAttribute(\"href\")&&f[c].setAttributeNS(\"http://www.w3.org/1999/xlink\",\"xlink:href\",a),b.length&&(a=e[b],!0!==a&&setTimeout(l({useEl:f[c],base:b,hash:h}),0),void 0===a&&(h=u(b),void 0!==h&&(a=new h,e[b]=a,a.onload=p(a),a.onerror=n(a),a.ontimeout=n(a),a.open(\"GET\",b),a.send(),q+=1)))):r?b.length&&e[b]&&setTimeout(l({useEl:f[c],base:b,hash:h}),0):void 0===e[b]?e[b]=!0:e[b].onload&&(e[b].abort(),\ndelete e[b].onload,e[b]=!0)}f=\"\";q+=1;d()};var p=function(){window.removeEventListener(\"load\",p,!1);l=setTimeout(n,0)};\"complete\"!==document.readyState?window.addEventListener(\"load\",p,!1):p()}})();\n","!function(e,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define([],r):\"object\"==typeof exports?exports.vanillaTextMask=r():e.vanillaTextMask=r()}(this,function(){return function(e){function r(n){if(t[n])return t[n].exports;var o=t[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var t={};return r.m=e,r.c=t,r.p=\"\",r(0)}([function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r=e.inputElement,t=(0,u.default)(e),n=function(e){var r=e.target.value;return t.update(r)};return r.addEventListener(\"input\",n),t.update(r.value),{textMaskInputElement:t,destroy:function(){r.removeEventListener(\"input\",n)}}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.conformToMask=void 0,r.maskInput=o;var i=t(2);Object.defineProperty(r,\"conformToMask\",{enumerable:!0,get:function(){return n(i).default}});var a=t(5),u=n(a);r.default=o},function(e,r){\"use strict\";Object.defineProperty(r,\"__esModule\",{value:!0}),r.placeholderChar=\"_\"},function(e,r,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=t.guide,u=void 0===n||n,l=t.previousConformedValue,s=void 0===l?a:l,f=t.placeholderChar,d=void 0===f?i.placeholderChar:f,c=t.placeholder,v=void 0===c?(0,o.convertMaskToPlaceholder)(r,d):c,p=t.currentCaretPosition,h=t.keepCharPositions,g=u===!1&&void 0!==s,m=e.length,y=s.length,b=v.length,C=r.length,P=m-y,x=P>0,k=p+(x?-P:0),O=k+Math.abs(P);if(h===!0&&!x){for(var M=a,T=k;T<O;T++)v[T]===d&&(M+=d);e=e.slice(0,k)+M+e.slice(k,m)}for(var w=e.split(a).map(function(e,r){return{char:e,isNew:r>=k&&r<O}}),_=m-1;_>=0;_--){var j=w[_].char;if(j!==d){var V=_>=k&&y===C;j===v[V?_-P:_]&&w.splice(_,1)}}var S=a,E=!1;e:for(var N=0;N<b;N++){var A=v[N];if(A===d){if(w.length>0)for(;w.length>0;){var I=w.shift(),L=I.char,R=I.isNew;if(L===d&&g!==!0){S+=d;continue e}if(r[N].test(L)){if(h===!0&&R!==!1&&s!==a&&u!==!1&&x){for(var J=w.length,q=null,F=0;F<J;F++){var W=w[F];if(W.char!==d&&W.isNew===!1)break;if(W.char===d){q=F;break}}null!==q?(S+=L,w.splice(q,1)):N--}else S+=L;continue e}E=!0}g===!1&&(S+=v.substr(N,b));break}S+=A}if(g&&x===!1){for(var z=null,B=0;B<S.length;B++)v[B]===d&&(z=B);S=null!==z?S.substr(0,z+1):a}return{conformedValue:S,meta:{someCharsRejected:E}}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=n;var o=t(3),i=t(1),a=\"\"},function(e,r,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.placeholderChar;if(e.indexOf(r)!==-1)throw new Error(\"Placeholder character must not be used as part of the mask. Please specify a character that is not present in your mask as your placeholder character.\\n\\n\"+(\"The placeholder character that was received is: \"+JSON.stringify(r)+\"\\n\\n\")+(\"The mask that was received is: \"+JSON.stringify(e)));return e.map(function(e){return e instanceof RegExp?r:e}).join(\"\")}function o(e){return\"string\"==typeof e||e instanceof String}function i(e){return\"number\"==typeof e&&void 0===e.length&&!isNaN(e)}function a(e){for(var r=[],t=void 0;t=e.indexOf(s),t!==-1;)r.push(t),e.splice(t,1);return{maskWithoutCaretTraps:e,indexes:r}}Object.defineProperty(r,\"__esModule\",{value:!0}),r.convertMaskToPlaceholder=n,r.isString=o,r.isNumber=i,r.processCaretTraps=a;var u=t(1),l=[],s=\"[]\"},function(e,r){\"use strict\";function t(e){var r=e.previousConformedValue,t=void 0===r?o:r,i=e.previousPlaceholder,a=void 0===i?o:i,u=e.currentCaretPosition,l=void 0===u?0:u,s=e.conformedValue,f=e.rawValue,d=e.placeholderChar,c=e.placeholder,v=e.indexesOfPipedChars,p=void 0===v?n:v,h=e.caretTrapIndexes,g=void 0===h?n:h;if(0===l)return 0;var m=f.length,y=t.length,b=c.length,C=s.length,P=m-y,x=P>0,k=0===y,O=P>1&&!x&&!k;if(O)return l;var M=x&&(t===s||s===c),T=0,w=void 0,_=void 0;if(M)T=l-P;else{var j=s.toLowerCase(),V=f.toLowerCase(),S=V.substr(0,l).split(o),E=S.filter(function(e){return j.indexOf(e)!==-1});_=E[E.length-1];var N=a.substr(0,E.length).split(o).filter(function(e){return e!==d}).length,A=c.substr(0,E.length).split(o).filter(function(e){return e!==d}).length,I=A!==N,L=void 0!==a[E.length-1]&&void 0!==c[E.length-2]&&a[E.length-1]!==d&&a[E.length-1]!==c[E.length-1]&&a[E.length-1]===c[E.length-2];!x&&(I||L)&&N>0&&c.indexOf(_)>-1&&void 0!==f[l]&&(w=!0,_=f[l]);for(var R=p.map(function(e){return j[e]}),J=R.filter(function(e){return e===_}).length,q=E.filter(function(e){return e===_}).length,F=c.substr(0,c.indexOf(d)).split(o).filter(function(e,r){return e===_&&f[r]!==e}).length,W=F+q+J+(w?1:0),z=0,B=0;B<C;B++){var D=j[B];if(T=B+1,D===_&&z++,z>=W)break}}if(x){for(var G=T,H=T;H<=b;H++)if(c[H]===d&&(G=H),c[H]===d||g.indexOf(H)!==-1||H===b)return G}else if(w){for(var K=T-1;K>=0;K--)if(s[K]===_||g.indexOf(K)!==-1||0===K)return K}else for(var Q=T;Q>=0;Q--)if(c[Q-1]===d||g.indexOf(Q)!==-1||0===Q)return Q}Object.defineProperty(r,\"__esModule\",{value:!0}),r.default=t;var n=[],o=\"\"},function(e,r,t){\"use strict\";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){var r={previousConformedValue:void 0,previousPlaceholder:void 0};return{state:r,update:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=n.inputElement,s=n.mask,d=n.guide,m=n.pipe,b=n.placeholderChar,C=void 0===b?p.placeholderChar:b,P=n.keepCharPositions,x=void 0!==P&&P,k=n.showMask,O=void 0!==k&&k;if(\"undefined\"==typeof t&&(t=o.value),t!==r.previousConformedValue){(\"undefined\"==typeof s?\"undefined\":l(s))===y&&void 0!==s.pipe&&void 0!==s.mask&&(m=s.pipe,s=s.mask);var M=void 0,T=void 0;if(s instanceof Array&&(M=(0,v.convertMaskToPlaceholder)(s,C)),s!==!1){var w=a(t),_=o.selectionEnd,j=r.previousConformedValue,V=r.previousPlaceholder,S=void 0;if((\"undefined\"==typeof s?\"undefined\":l(s))===h){if(T=s(w,{currentCaretPosition:_,previousConformedValue:j,placeholderChar:C}),T===!1)return;var E=(0,v.processCaretTraps)(T),N=E.maskWithoutCaretTraps,A=E.indexes;T=N,S=A,M=(0,v.convertMaskToPlaceholder)(T,C)}else T=s;var I={previousConformedValue:j,guide:d,placeholderChar:C,pipe:m,placeholder:M,currentCaretPosition:_,keepCharPositions:x},L=(0,c.default)(w,T,I),R=L.conformedValue,J=(\"undefined\"==typeof m?\"undefined\":l(m))===h,q={};J&&(q=m(R,u({rawValue:w},I)),q===!1?q={value:j,rejected:!0}:(0,v.isString)(q)&&(q={value:q}));var F=J?q.value:R,W=(0,f.default)({previousConformedValue:j,previousPlaceholder:V,conformedValue:F,placeholder:M,rawValue:w,currentCaretPosition:_,placeholderChar:C,indexesOfPipedChars:q.indexesOfPipedChars,caretTrapIndexes:S}),z=F===M&&0===W,B=O?M:g,D=z?B:F;r.previousConformedValue=D,r.previousPlaceholder=M,o.value!==D&&(o.value=D,i(o,W))}}}}}function i(e,r){document.activeElement===e&&(b?C(function(){return e.setSelectionRange(r,r,m)},0):e.setSelectionRange(r,r,m))}function a(e){if((0,v.isString)(e))return e;if((0,v.isNumber)(e))return String(e);if(void 0===e||null===e)return g;throw new Error(\"The 'value' provided to Text Mask needs to be a string or a number. The value received was:\\n\\n \"+JSON.stringify(e))}Object.defineProperty(r,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},l=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e};r.default=o;var s=t(4),f=n(s),d=t(2),c=n(d),v=t(3),p=t(1),h=\"function\",g=\"\",m=\"none\",y=\"object\",b=\"undefined\"!=typeof navigator&&/Android/i.test(navigator.userAgent),C=\"undefined\"!=typeof requestAnimationFrame?requestAnimationFrame:setTimeout}])});","/*! tooltipster v4.2.8 */!function(a,b){\"function\"==typeof define&&define.amd?define([\"jquery\"],function(a){return b(a)}):\"object\"==typeof exports?module.exports=b(require(\"jquery\")):b(jQuery)}(this,function(a){function b(a){this.$container,this.constraints=null,this.__$tooltip,this.__init(a)}function c(b,c){var d=!0;return a.each(b,function(a,e){return void 0===c[a]||b[a]!==c[a]?(d=!1,!1):void 0}),d}function d(b){var c=b.attr(\"id\"),d=c?h.window.document.getElementById(c):null;return d?d===b[0]:a.contains(h.window.document.body,b[0])}function e(){if(!g)return!1;var a=g.document.body||g.document.documentElement,b=a.style,c=\"transition\",d=[\"Moz\",\"Webkit\",\"Khtml\",\"O\",\"ms\"];if(\"string\"==typeof b[c])return!0;c=c.charAt(0).toUpperCase()+c.substr(1);for(var e=0;e<d.length;e++)if(\"string\"==typeof b[d[e]+c])return!0;return!1}var f={animation:\"fade\",animationDuration:350,content:null,contentAsHTML:!1,contentCloning:!1,debug:!0,delay:300,delayTouch:[300,500],functionInit:null,functionBefore:null,functionReady:null,functionAfter:null,functionFormat:null,IEmin:6,interactive:!1,multiple:!1,parent:null,plugins:[\"sideTip\"],repositionOnScroll:!1,restoration:\"none\",selfDestruction:!0,theme:[],timer:0,trackerInterval:500,trackOrigin:!1,trackTooltip:!1,trigger:\"hover\",triggerClose:{click:!1,mouseleave:!1,originClick:!1,scroll:!1,tap:!1,touchleave:!1},triggerOpen:{click:!1,mouseenter:!1,tap:!1,touchstart:!1},updateAnimation:\"rotate\",zIndex:9999999},g=\"undefined\"!=typeof window?window:null,h={hasTouchCapability:!(!g||!(\"ontouchstart\"in g||g.DocumentTouch&&g.document instanceof g.DocumentTouch||g.navigator.maxTouchPoints)),hasTransitions:e(),IE:!1,semVer:\"4.2.8\",window:g},i=function(){this.__$emitterPrivate=a({}),this.__$emitterPublic=a({}),this.__instancesLatestArr=[],this.__plugins={},this._env=h};i.prototype={__bridge:function(b,c,d){if(!c[d]){var e=function(){};e.prototype=b;var g=new e;g.__init&&g.__init(c),a.each(b,function(a,b){0!=a.indexOf(\"__\")&&(c[a]?f.debug&&console.log(\"The \"+a+\" method of the \"+d+\" plugin conflicts with another plugin or native methods\"):(c[a]=function(){return g[a].apply(g,Array.prototype.slice.apply(arguments))},c[a].bridged=g))}),c[d]=g}return this},__setWindow:function(a){return h.window=a,this},_getRuler:function(a){return new b(a)},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_plugin:function(b){var c=this;if(\"string\"==typeof b){var d=b,e=null;return d.indexOf(\".\")>0?e=c.__plugins[d]:a.each(c.__plugins,function(a,b){return b.name.substring(b.name.length-d.length-1)==\".\"+d?(e=b,!1):void 0}),e}if(b.name.indexOf(\".\")<0)throw new Error(\"Plugins must be namespaced\");return c.__plugins[b.name]=b,b.core&&c.__bridge(b.core,c,b.name),this},_trigger:function(){var a=Array.prototype.slice.apply(arguments);return\"string\"==typeof a[0]&&(a[0]={type:a[0]}),this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,a),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,a),this},instances:function(b){var c=[],d=b||\".tooltipstered\";return a(d).each(function(){var b=a(this),d=b.data(\"tooltipster-ns\");d&&a.each(d,function(a,d){c.push(b.data(d))})}),c},instancesLatest:function(){return this.__instancesLatestArr},off:function(){return this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},origins:function(b){var c=b?b+\" \":\"\";return a(c+\".tooltipstered\").toArray()},setDefaults:function(b){return a.extend(f,b),this},triggerHandler:function(){return this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},a.tooltipster=new i,a.Tooltipster=function(b,c){this.__callbacks={close:[],open:[]},this.__closingTime,this.__Content,this.__contentBcr,this.__destroyed=!1,this.__$emitterPrivate=a({}),this.__$emitterPublic=a({}),this.__enabled=!0,this.__garbageCollector,this.__Geometry,this.__lastPosition,this.__namespace=\"tooltipster-\"+Math.round(1e6*Math.random()),this.__options,this.__$originParents,this.__pointerIsOverOrigin=!1,this.__previousThemes=[],this.__state=\"closed\",this.__timeouts={close:[],open:null},this.__touchEvents=[],this.__tracker=null,this._$origin,this._$tooltip,this.__init(b,c)},a.Tooltipster.prototype={__init:function(b,c){var d=this;if(d._$origin=a(b),d.__options=a.extend(!0,{},f,c),d.__optionsFormat(),!h.IE||h.IE>=d.__options.IEmin){var e=null;if(void 0===d._$origin.data(\"tooltipster-initialTitle\")&&(e=d._$origin.attr(\"title\"),void 0===e&&(e=null),d._$origin.data(\"tooltipster-initialTitle\",e)),null!==d.__options.content)d.__contentSet(d.__options.content);else{var g,i=d._$origin.attr(\"data-tooltip-content\");i&&(g=a(i)),g&&g[0]?d.__contentSet(g.first()):d.__contentSet(e)}d._$origin.removeAttr(\"title\").addClass(\"tooltipstered\"),d.__prepareOrigin(),d.__prepareGC(),a.each(d.__options.plugins,function(a,b){d._plug(b)}),h.hasTouchCapability&&a(h.window.document.body).on(\"touchmove.\"+d.__namespace+\"-triggerOpen\",function(a){d._touchRecordEvent(a)}),d._on(\"created\",function(){d.__prepareTooltip()})._on(\"repositioned\",function(a){d.__lastPosition=a.position})}else d.__options.disabled=!0},__contentInsert:function(){var a=this,b=a._$tooltip.find(\".tooltipster-content\"),c=a.__Content,d=function(a){c=a};return a._trigger({type:\"format\",content:a.__Content,format:d}),a.__options.functionFormat&&(c=a.__options.functionFormat.call(a,a,{origin:a._$origin[0]},a.__Content)),\"string\"!=typeof c||a.__options.contentAsHTML?b.empty().append(c):b.text(c),a},__contentSet:function(b){return b instanceof a&&this.__options.contentCloning&&(b=b.clone(!0)),this.__Content=b,this._trigger({type:\"updated\",content:b}),this},__destroyError:function(){throw new Error(\"This tooltip has been destroyed and cannot execute your method call.\")},__geometry:function(){var b=this,c=b._$origin,d=b._$origin.is(\"area\");if(d){var e=b._$origin.parent().attr(\"name\");c=a('img[usemap=\"#'+e+'\"]')}var f=c[0].getBoundingClientRect(),g=a(h.window.document),i=a(h.window),j=c,k={available:{document:null,window:null},document:{size:{height:g.height(),width:g.width()}},window:{scroll:{left:h.window.scrollX||h.window.document.documentElement.scrollLeft,top:h.window.scrollY||h.window.document.documentElement.scrollTop},size:{height:i.height(),width:i.width()}},origin:{fixedLineage:!1,offset:{},size:{height:f.bottom-f.top,width:f.right-f.left},usemapImage:d?c[0]:null,windowOffset:{bottom:f.bottom,left:f.left,right:f.right,top:f.top}}};if(d){var l=b._$origin.attr(\"shape\"),m=b._$origin.attr(\"coords\");if(m&&(m=m.split(\",\"),a.map(m,function(a,b){m[b]=parseInt(a)})),\"default\"!=l)switch(l){case\"circle\":var n=m[0],o=m[1],p=m[2],q=o-p,r=n-p;k.origin.size.height=2*p,k.origin.size.width=k.origin.size.height,k.origin.windowOffset.left+=r,k.origin.windowOffset.top+=q;break;case\"rect\":var s=m[0],t=m[1],u=m[2],v=m[3];k.origin.size.height=v-t,k.origin.size.width=u-s,k.origin.windowOffset.left+=s,k.origin.windowOffset.top+=t;break;case\"poly\":for(var w=0,x=0,y=0,z=0,A=\"even\",B=0;B<m.length;B++){var C=m[B];\"even\"==A?(C>y&&(y=C,0===B&&(w=y)),w>C&&(w=C),A=\"odd\"):(C>z&&(z=C,1==B&&(x=z)),x>C&&(x=C),A=\"even\")}k.origin.size.height=z-x,k.origin.size.width=y-w,k.origin.windowOffset.left+=w,k.origin.windowOffset.top+=x}}var D=function(a){k.origin.size.height=a.height,k.origin.windowOffset.left=a.left,k.origin.windowOffset.top=a.top,k.origin.size.width=a.width};for(b._trigger({type:\"geometry\",edit:D,geometry:{height:k.origin.size.height,left:k.origin.windowOffset.left,top:k.origin.windowOffset.top,width:k.origin.size.width}}),k.origin.windowOffset.right=k.origin.windowOffset.left+k.origin.size.width,k.origin.windowOffset.bottom=k.origin.windowOffset.top+k.origin.size.height,k.origin.offset.left=k.origin.windowOffset.left+k.window.scroll.left,k.origin.offset.top=k.origin.windowOffset.top+k.window.scroll.top,k.origin.offset.bottom=k.origin.offset.top+k.origin.size.height,k.origin.offset.right=k.origin.offset.left+k.origin.size.width,k.available.document={bottom:{height:k.document.size.height-k.origin.offset.bottom,width:k.document.size.width},left:{height:k.document.size.height,width:k.origin.offset.left},right:{height:k.document.size.height,width:k.document.size.width-k.origin.offset.right},top:{height:k.origin.offset.top,width:k.document.size.width}},k.available.window={bottom:{height:Math.max(k.window.size.height-Math.max(k.origin.windowOffset.bottom,0),0),width:k.window.size.width},left:{height:k.window.size.height,width:Math.max(k.origin.windowOffset.left,0)},right:{height:k.window.size.height,width:Math.max(k.window.size.width-Math.max(k.origin.windowOffset.right,0),0)},top:{height:Math.max(k.origin.windowOffset.top,0),width:k.window.size.width}};\"html\"!=j[0].tagName.toLowerCase();){if(\"fixed\"==j.css(\"position\")){k.origin.fixedLineage=!0;break}j=j.parent()}return k},__optionsFormat:function(){return\"number\"==typeof this.__options.animationDuration&&(this.__options.animationDuration=[this.__options.animationDuration,this.__options.animationDuration]),\"number\"==typeof this.__options.delay&&(this.__options.delay=[this.__options.delay,this.__options.delay]),\"number\"==typeof this.__options.delayTouch&&(this.__options.delayTouch=[this.__options.delayTouch,this.__options.delayTouch]),\"string\"==typeof this.__options.theme&&(this.__options.theme=[this.__options.theme]),null===this.__options.parent?this.__options.parent=a(h.window.document.body):\"string\"==typeof this.__options.parent&&(this.__options.parent=a(this.__options.parent)),\"hover\"==this.__options.trigger?(this.__options.triggerOpen={mouseenter:!0,touchstart:!0},this.__options.triggerClose={mouseleave:!0,originClick:!0,touchleave:!0}):\"click\"==this.__options.trigger&&(this.__options.triggerOpen={click:!0,tap:!0},this.__options.triggerClose={click:!0,tap:!0}),this._trigger(\"options\"),this},__prepareGC:function(){var b=this;return b.__options.selfDestruction?b.__garbageCollector=setInterval(function(){var c=(new Date).getTime();b.__touchEvents=a.grep(b.__touchEvents,function(a,b){return c-a.time>6e4}),d(b._$origin)||b.close(function(){b.destroy()})},2e4):clearInterval(b.__garbageCollector),b},__prepareOrigin:function(){var a=this;if(a._$origin.off(\".\"+a.__namespace+\"-triggerOpen\"),h.hasTouchCapability&&a._$origin.on(\"touchstart.\"+a.__namespace+\"-triggerOpen touchend.\"+a.__namespace+\"-triggerOpen touchcancel.\"+a.__namespace+\"-triggerOpen\",function(b){a._touchRecordEvent(b)}),a.__options.triggerOpen.click||a.__options.triggerOpen.tap&&h.hasTouchCapability){var b=\"\";a.__options.triggerOpen.click&&(b+=\"click.\"+a.__namespace+\"-triggerOpen \"),a.__options.triggerOpen.tap&&h.hasTouchCapability&&(b+=\"touchend.\"+a.__namespace+\"-triggerOpen\"),a._$origin.on(b,function(b){a._touchIsMeaningfulEvent(b)&&a._open(b)})}if(a.__options.triggerOpen.mouseenter||a.__options.triggerOpen.touchstart&&h.hasTouchCapability){var b=\"\";a.__options.triggerOpen.mouseenter&&(b+=\"mouseenter.\"+a.__namespace+\"-triggerOpen \"),a.__options.triggerOpen.touchstart&&h.hasTouchCapability&&(b+=\"touchstart.\"+a.__namespace+\"-triggerOpen\"),a._$origin.on(b,function(b){!a._touchIsTouchEvent(b)&&a._touchIsEmulatedEvent(b)||(a.__pointerIsOverOrigin=!0,a._openShortly(b))})}if(a.__options.triggerClose.mouseleave||a.__options.triggerClose.touchleave&&h.hasTouchCapability){var b=\"\";a.__options.triggerClose.mouseleave&&(b+=\"mouseleave.\"+a.__namespace+\"-triggerOpen \"),a.__options.triggerClose.touchleave&&h.hasTouchCapability&&(b+=\"touchend.\"+a.__namespace+\"-triggerOpen touchcancel.\"+a.__namespace+\"-triggerOpen\"),a._$origin.on(b,function(b){a._touchIsMeaningfulEvent(b)&&(a.__pointerIsOverOrigin=!1)})}return a},__prepareTooltip:function(){var b=this,c=b.__options.interactive?\"auto\":\"\";return b._$tooltip.attr(\"id\",b.__namespace).css({\"pointer-events\":c,zIndex:b.__options.zIndex}),a.each(b.__previousThemes,function(a,c){b._$tooltip.removeClass(c)}),a.each(b.__options.theme,function(a,c){b._$tooltip.addClass(c)}),b.__previousThemes=a.merge([],b.__options.theme),b},__scrollHandler:function(b){var c=this;if(c.__options.triggerClose.scroll)c._close(b);else if(d(c._$origin)&&d(c._$tooltip)){var e=null;if(b.target===h.window.document)c.__Geometry.origin.fixedLineage||c.__options.repositionOnScroll&&c.reposition(b);else{e=c.__geometry();var f=!1;if(\"fixed\"!=c._$origin.css(\"position\")&&c.__$originParents.each(function(b,c){var d=a(c),g=d.css(\"overflow-x\"),h=d.css(\"overflow-y\");if(\"visible\"!=g||\"visible\"!=h){var i=c.getBoundingClientRect();if(\"visible\"!=g&&(e.origin.windowOffset.left<i.left||e.origin.windowOffset.right>i.right))return f=!0,!1;if(\"visible\"!=h&&(e.origin.windowOffset.top<i.top||e.origin.windowOffset.bottom>i.bottom))return f=!0,!1}return\"fixed\"==d.css(\"position\")?!1:void 0}),f)c._$tooltip.css(\"visibility\",\"hidden\");else if(c._$tooltip.css(\"visibility\",\"visible\"),c.__options.repositionOnScroll)c.reposition(b);else{var g=e.origin.offset.left-c.__Geometry.origin.offset.left,i=e.origin.offset.top-c.__Geometry.origin.offset.top;c._$tooltip.css({left:c.__lastPosition.coord.left+g,top:c.__lastPosition.coord.top+i})}}c._trigger({type:\"scroll\",event:b,geo:e})}return c},__stateSet:function(a){return this.__state=a,this._trigger({type:\"state\",state:a}),this},__timeoutsClear:function(){return clearTimeout(this.__timeouts.open),this.__timeouts.open=null,a.each(this.__timeouts.close,function(a,b){clearTimeout(b)}),this.__timeouts.close=[],this},__trackerStart:function(){var a=this,b=a._$tooltip.find(\".tooltipster-content\");return a.__options.trackTooltip&&(a.__contentBcr=b[0].getBoundingClientRect()),a.__tracker=setInterval(function(){if(d(a._$origin)&&d(a._$tooltip)){if(a.__options.trackOrigin){var e=a.__geometry(),f=!1;c(e.origin.size,a.__Geometry.origin.size)&&(a.__Geometry.origin.fixedLineage?c(e.origin.windowOffset,a.__Geometry.origin.windowOffset)&&(f=!0):c(e.origin.offset,a.__Geometry.origin.offset)&&(f=!0)),f||(a.__options.triggerClose.mouseleave?a._close():a.reposition())}if(a.__options.trackTooltip){var g=b[0].getBoundingClientRect();g.height===a.__contentBcr.height&&g.width===a.__contentBcr.width||(a.reposition(),a.__contentBcr=g)}}else a._close()},a.__options.trackerInterval),a},_close:function(b,c,d){var e=this,f=!0;if(e._trigger({type:\"close\",event:b,stop:function(){f=!1}}),f||d){c&&e.__callbacks.close.push(c),e.__callbacks.open=[],e.__timeoutsClear();var g=function(){a.each(e.__callbacks.close,function(a,c){c.call(e,e,{event:b,origin:e._$origin[0]})}),e.__callbacks.close=[]};if(\"closed\"!=e.__state){var i=!0,j=new Date,k=j.getTime(),l=k+e.__options.animationDuration[1];if(\"disappearing\"==e.__state&&l>e.__closingTime&&e.__options.animationDuration[1]>0&&(i=!1),i){e.__closingTime=l,\"disappearing\"!=e.__state&&e.__stateSet(\"disappearing\");var m=function(){clearInterval(e.__tracker),e._trigger({type:\"closing\",event:b}),e._$tooltip.off(\".\"+e.__namespace+\"-triggerClose\").removeClass(\"tooltipster-dying\"),a(h.window).off(\".\"+e.__namespace+\"-triggerClose\"),e.__$originParents.each(function(b,c){a(c).off(\"scroll.\"+e.__namespace+\"-triggerClose\")}),e.__$originParents=null,a(h.window.document.body).off(\".\"+e.__namespace+\"-triggerClose\"),e._$origin.off(\".\"+e.__namespace+\"-triggerClose\"),e._off(\"dismissable\"),e.__stateSet(\"closed\"),e._trigger({type:\"after\",event:b}),e.__options.functionAfter&&e.__options.functionAfter.call(e,e,{event:b,origin:e._$origin[0]}),g()};h.hasTransitions?(e._$tooltip.css({\"-moz-animation-duration\":e.__options.animationDuration[1]+\"ms\",\"-ms-animation-duration\":e.__options.animationDuration[1]+\"ms\",\"-o-animation-duration\":e.__options.animationDuration[1]+\"ms\",\"-webkit-animation-duration\":e.__options.animationDuration[1]+\"ms\",\"animation-duration\":e.__options.animationDuration[1]+\"ms\",\"transition-duration\":e.__options.animationDuration[1]+\"ms\"}),e._$tooltip.clearQueue().removeClass(\"tooltipster-show\").addClass(\"tooltipster-dying\"),e.__options.animationDuration[1]>0&&e._$tooltip.delay(e.__options.animationDuration[1]),e._$tooltip.queue(m)):e._$tooltip.stop().fadeOut(e.__options.animationDuration[1],m)}}else g()}return e},_off:function(){return this.__$emitterPrivate.off.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_on:function(){return this.__$emitterPrivate.on.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_one:function(){return this.__$emitterPrivate.one.apply(this.__$emitterPrivate,Array.prototype.slice.apply(arguments)),this},_open:function(b,c){var e=this;if(!e.__destroying&&d(e._$origin)&&e.__enabled){var f=!0;if(\"closed\"==e.__state&&(e._trigger({type:\"before\",event:b,stop:function(){f=!1}}),f&&e.__options.functionBefore&&(f=e.__options.functionBefore.call(e,e,{event:b,origin:e._$origin[0]}))),f!==!1&&null!==e.__Content){c&&e.__callbacks.open.push(c),e.__callbacks.close=[],e.__timeoutsClear();var g,i=function(){\"stable\"!=e.__state&&e.__stateSet(\"stable\"),a.each(e.__callbacks.open,function(a,b){b.call(e,e,{origin:e._$origin[0],tooltip:e._$tooltip[0]})}),e.__callbacks.open=[]};if(\"closed\"!==e.__state)g=0,\"disappearing\"===e.__state?(e.__stateSet(\"appearing\"),h.hasTransitions?(e._$tooltip.clearQueue().removeClass(\"tooltipster-dying\").addClass(\"tooltipster-show\"),e.__options.animationDuration[0]>0&&e._$tooltip.delay(e.__options.animationDuration[0]),e._$tooltip.queue(i)):e._$tooltip.stop().fadeIn(i)):\"stable\"==e.__state&&i();else{if(e.__stateSet(\"appearing\"),g=e.__options.animationDuration[0],e.__contentInsert(),e.reposition(b,!0),h.hasTransitions?(e._$tooltip.addClass(\"tooltipster-\"+e.__options.animation).addClass(\"tooltipster-initial\").css({\"-moz-animation-duration\":e.__options.animationDuration[0]+\"ms\",\"-ms-animation-duration\":e.__options.animationDuration[0]+\"ms\",\"-o-animation-duration\":e.__options.animationDuration[0]+\"ms\",\"-webkit-animation-duration\":e.__options.animationDuration[0]+\"ms\",\"animation-duration\":e.__options.animationDuration[0]+\"ms\",\"transition-duration\":e.__options.animationDuration[0]+\"ms\"}),setTimeout(function(){\"closed\"!=e.__state&&(e._$tooltip.addClass(\"tooltipster-show\").removeClass(\"tooltipster-initial\"),e.__options.animationDuration[0]>0&&e._$tooltip.delay(e.__options.animationDuration[0]),e._$tooltip.queue(i))},0)):e._$tooltip.css(\"display\",\"none\").fadeIn(e.__options.animationDuration[0],i),e.__trackerStart(),a(h.window).on(\"resize.\"+e.__namespace+\"-triggerClose\",function(b){var c=a(document.activeElement);(c.is(\"input\")||c.is(\"textarea\"))&&a.contains(e._$tooltip[0],c[0])||e.reposition(b)}).on(\"scroll.\"+e.__namespace+\"-triggerClose\",function(a){e.__scrollHandler(a)}),e.__$originParents=e._$origin.parents(),e.__$originParents.each(function(b,c){a(c).on(\"scroll.\"+e.__namespace+\"-triggerClose\",function(a){e.__scrollHandler(a)})}),e.__options.triggerClose.mouseleave||e.__options.triggerClose.touchleave&&h.hasTouchCapability){e._on(\"dismissable\",function(a){a.dismissable?a.delay?(m=setTimeout(function(){e._close(a.event)},a.delay),e.__timeouts.close.push(m)):e._close(a):clearTimeout(m)});var j=e._$origin,k=\"\",l=\"\",m=null;e.__options.interactive&&(j=j.add(e._$tooltip)),e.__options.triggerClose.mouseleave&&(k+=\"mouseenter.\"+e.__namespace+\"-triggerClose \",l+=\"mouseleave.\"+e.__namespace+\"-triggerClose \"),e.__options.triggerClose.touchleave&&h.hasTouchCapability&&(k+=\"touchstart.\"+e.__namespace+\"-triggerClose\",l+=\"touchend.\"+e.__namespace+\"-triggerClose touchcancel.\"+e.__namespace+\"-triggerClose\"),j.on(l,function(a){if(e._touchIsTouchEvent(a)||!e._touchIsEmulatedEvent(a)){var b=\"mouseleave\"==a.type?e.__options.delay:e.__options.delayTouch;e._trigger({delay:b[1],dismissable:!0,event:a,type:\"dismissable\"})}}).on(k,function(a){!e._touchIsTouchEvent(a)&&e._touchIsEmulatedEvent(a)||e._trigger({dismissable:!1,event:a,type:\"dismissable\"})})}e.__options.triggerClose.originClick&&e._$origin.on(\"click.\"+e.__namespace+\"-triggerClose\",function(a){e._touchIsTouchEvent(a)||e._touchIsEmulatedEvent(a)||e._close(a)}),(e.__options.triggerClose.click||e.__options.triggerClose.tap&&h.hasTouchCapability)&&setTimeout(function(){if(\"closed\"!=e.__state){var b=\"\",c=a(h.window.document.body);e.__options.triggerClose.click&&(b+=\"click.\"+e.__namespace+\"-triggerClose \"),e.__options.triggerClose.tap&&h.hasTouchCapability&&(b+=\"touchend.\"+e.__namespace+\"-triggerClose\"),c.on(b,function(b){e._touchIsMeaningfulEvent(b)&&(e._touchRecordEvent(b),e.__options.interactive&&a.contains(e._$tooltip[0],b.target)||e._close(b))}),e.__options.triggerClose.tap&&h.hasTouchCapability&&c.on(\"touchstart.\"+e.__namespace+\"-triggerClose\",function(a){e._touchRecordEvent(a)})}},0),e._trigger(\"ready\"),e.__options.functionReady&&e.__options.functionReady.call(e,e,{origin:e._$origin[0],tooltip:e._$tooltip[0]})}if(e.__options.timer>0){var m=setTimeout(function(){e._close()},e.__options.timer+g);e.__timeouts.close.push(m)}}}return e},_openShortly:function(a){var b=this,c=!0;if(\"stable\"!=b.__state&&\"appearing\"!=b.__state&&!b.__timeouts.open&&(b._trigger({type:\"start\",event:a,stop:function(){c=!1}}),c)){var d=0==a.type.indexOf(\"touch\")?b.__options.delayTouch:b.__options.delay;d[0]?b.__timeouts.open=setTimeout(function(){b.__timeouts.open=null,b.__pointerIsOverOrigin&&b._touchIsMeaningfulEvent(a)?(b._trigger(\"startend\"),b._open(a)):b._trigger(\"startcancel\")},d[0]):(b._trigger(\"startend\"),b._open(a))}return b},_optionsExtract:function(b,c){var d=this,e=a.extend(!0,{},c),f=d.__options[b];return f||(f={},a.each(c,function(a,b){var c=d.__options[a];void 0!==c&&(f[a]=c)})),a.each(e,function(b,c){void 0!==f[b]&&(\"object\"!=typeof c||c instanceof Array||null==c||\"object\"!=typeof f[b]||f[b]instanceof Array||null==f[b]?e[b]=f[b]:a.extend(e[b],f[b]))}),e},_plug:function(b){var c=a.tooltipster._plugin(b);if(!c)throw new Error('The \"'+b+'\" plugin is not defined');return c.instance&&a.tooltipster.__bridge(c.instance,this,c.name),this},_touchIsEmulatedEvent:function(a){for(var b=!1,c=(new Date).getTime(),d=this.__touchEvents.length-1;d>=0;d--){var e=this.__touchEvents[d];if(!(c-e.time<500))break;e.target===a.target&&(b=!0)}return b},_touchIsMeaningfulEvent:function(a){return this._touchIsTouchEvent(a)&&!this._touchSwiped(a.target)||!this._touchIsTouchEvent(a)&&!this._touchIsEmulatedEvent(a)},_touchIsTouchEvent:function(a){return 0==a.type.indexOf(\"touch\")},_touchRecordEvent:function(a){return this._touchIsTouchEvent(a)&&(a.time=(new Date).getTime(),this.__touchEvents.push(a)),this},_touchSwiped:function(a){for(var b=!1,c=this.__touchEvents.length-1;c>=0;c--){var d=this.__touchEvents[c];if(\"touchmove\"==d.type){b=!0;break}if(\"touchstart\"==d.type&&a===d.target)break}return b},_trigger:function(){var b=Array.prototype.slice.apply(arguments);return\"string\"==typeof b[0]&&(b[0]={type:b[0]}),b[0].instance=this,b[0].origin=this._$origin?this._$origin[0]:null,b[0].tooltip=this._$tooltip?this._$tooltip[0]:null,this.__$emitterPrivate.trigger.apply(this.__$emitterPrivate,b),a.tooltipster._trigger.apply(a.tooltipster,b),this.__$emitterPublic.trigger.apply(this.__$emitterPublic,b),this},_unplug:function(b){var c=this;if(c[b]){var d=a.tooltipster._plugin(b);d.instance&&a.each(d.instance,function(a,d){c[a]&&c[a].bridged===c[b]&&delete c[a]}),c[b].__destroy&&c[b].__destroy(),delete c[b]}return c},close:function(a){return this.__destroyed?this.__destroyError():this._close(null,a),this},content:function(a){var b=this;if(void 0===a)return b.__Content;if(b.__destroyed)b.__destroyError();else if(b.__contentSet(a),null!==b.__Content){if(\"closed\"!==b.__state&&(b.__contentInsert(),b.reposition(),b.__options.updateAnimation))if(h.hasTransitions){var c=b.__options.updateAnimation;b._$tooltip.addClass(\"tooltipster-update-\"+c),setTimeout(function(){\"closed\"!=b.__state&&b._$tooltip.removeClass(\"tooltipster-update-\"+c)},1e3)}else b._$tooltip.fadeTo(200,.5,function(){\"closed\"!=b.__state&&b._$tooltip.fadeTo(200,1)})}else b._close();return b},destroy:function(){var b=this;if(b.__destroyed)b.__destroyError();else{\"closed\"!=b.__state?b.option(\"animationDuration\",0)._close(null,null,!0):b.__timeoutsClear(),b._trigger(\"destroy\"),b.__destroyed=!0,b._$origin.removeData(b.__namespace).off(\".\"+b.__namespace+\"-triggerOpen\"),a(h.window.document.body).off(\".\"+b.__namespace+\"-triggerOpen\");var c=b._$origin.data(\"tooltipster-ns\");if(c)if(1===c.length){var d=null;\"previous\"==b.__options.restoration?d=b._$origin.data(\"tooltipster-initialTitle\"):\"current\"==b.__options.restoration&&(d=\"string\"==typeof b.__Content?b.__Content:a(\"<div></div>\").append(b.__Content).html()),d&&b._$origin.attr(\"title\",d),b._$origin.removeClass(\"tooltipstered\"),b._$origin.removeData(\"tooltipster-ns\").removeData(\"tooltipster-initialTitle\")}else c=a.grep(c,function(a,c){return a!==b.__namespace}),b._$origin.data(\"tooltipster-ns\",c);b._trigger(\"destroyed\"),b._off(),b.off(),b.__Content=null,b.__$emitterPrivate=null,b.__$emitterPublic=null,b.__options.parent=null,b._$origin=null,b._$tooltip=null,a.tooltipster.__instancesLatestArr=a.grep(a.tooltipster.__instancesLatestArr,function(a,c){return b!==a}),clearInterval(b.__garbageCollector)}return b},disable:function(){return this.__destroyed?(this.__destroyError(),this):(this._close(),this.__enabled=!1,this)},elementOrigin:function(){return this.__destroyed?void this.__destroyError():this._$origin[0]},elementTooltip:function(){return this._$tooltip?this._$tooltip[0]:null},enable:function(){return this.__enabled=!0,this},hide:function(a){return this.close(a)},instance:function(){return this},off:function(){return this.__destroyed||this.__$emitterPublic.off.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},on:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.on.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},one:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.one.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this},open:function(a){return this.__destroyed?this.__destroyError():this._open(null,a),this},option:function(b,c){return void 0===c?this.__options[b]:(this.__destroyed?this.__destroyError():(this.__options[b]=c,this.__optionsFormat(),a.inArray(b,[\"trigger\",\"triggerClose\",\"triggerOpen\"])>=0&&this.__prepareOrigin(),\"selfDestruction\"===b&&this.__prepareGC()),this)},reposition:function(a,b){var c=this;return c.__destroyed?c.__destroyError():\"closed\"!=c.__state&&d(c._$origin)&&(b||d(c._$tooltip))&&(b||c._$tooltip.detach(),c.__Geometry=c.__geometry(),c._trigger({type:\"reposition\",event:a,helper:{geo:c.__Geometry}})),c},show:function(a){return this.open(a)},status:function(){return{destroyed:this.__destroyed,enabled:this.__enabled,open:\"closed\"!==this.__state,state:this.__state}},triggerHandler:function(){return this.__destroyed?this.__destroyError():this.__$emitterPublic.triggerHandler.apply(this.__$emitterPublic,Array.prototype.slice.apply(arguments)),this}},a.fn.tooltipster=function(){var b=Array.prototype.slice.apply(arguments),c=\"You are using a single HTML element as content for several tooltips. You probably want to set the contentCloning option to TRUE.\";if(0===this.length)return this;if(\"string\"==typeof b[0]){var d=\"#*$~&\";return this.each(function(){var e=a(this).data(\"tooltipster-ns\"),f=e?a(this).data(e[0]):null;if(!f)throw new Error(\"You called Tooltipster's \\\"\"+b[0]+'\" method on an uninitialized element');if(\"function\"!=typeof f[b[0]])throw new Error('Unknown method \"'+b[0]+'\"');this.length>1&&\"content\"==b[0]&&(b[1]instanceof a||\"object\"==typeof b[1]&&null!=b[1]&&b[1].tagName)&&!f.__options.contentCloning&&f.__options.debug&&console.log(c);var g=f[b[0]](b[1],b[2]);return g!==f||\"instance\"===b[0]?(d=g,!1):void 0}),\"#*$~&\"!==d?d:this}a.tooltipster.__instancesLatestArr=[];var e=b[0]&&void 0!==b[0].multiple,g=e&&b[0].multiple||!e&&f.multiple,h=b[0]&&void 0!==b[0].content,i=h&&b[0].content||!h&&f.content,j=b[0]&&void 0!==b[0].contentCloning,k=j&&b[0].contentCloning||!j&&f.contentCloning,l=b[0]&&void 0!==b[0].debug,m=l&&b[0].debug||!l&&f.debug;return this.length>1&&(i instanceof a||\"object\"==typeof i&&null!=i&&i.tagName)&&!k&&m&&console.log(c),this.each(function(){var c=!1,d=a(this),e=d.data(\"tooltipster-ns\"),f=null;e?g?c=!0:m&&(console.log(\"Tooltipster: one or more tooltips are already attached to the element below. Ignoring.\"),console.log(this)):c=!0,c&&(f=new a.Tooltipster(this,b[0]),e||(e=[]),e.push(f.__namespace),d.data(\"tooltipster-ns\",e),d.data(f.__namespace,f),f.__options.functionInit&&f.__options.functionInit.call(f,f,{origin:this}),f._trigger(\"init\")),a.tooltipster.__instancesLatestArr.push(f)}),this},b.prototype={__init:function(b){this.__$tooltip=b,this.__$tooltip.css({left:0,overflow:\"hidden\",position:\"absolute\",top:0}).find(\".tooltipster-content\").css(\"overflow\",\"auto\"),this.$container=a('<div class=\"tooltipster-ruler\"></div>').append(this.__$tooltip).appendTo(h.window.document.body)},__forceRedraw:function(){var a=this.__$tooltip.parent();this.__$tooltip.detach(),this.__$tooltip.appendTo(a)},constrain:function(a,b){return this.constraints={width:a,height:b},this.__$tooltip.css({display:\"block\",height:\"\",overflow:\"auto\",width:a}),this},destroy:function(){this.__$tooltip.detach().find(\".tooltipster-content\").css({display:\"\",overflow:\"\"}),this.$container.remove()},free:function(){return this.constraints=null,this.__$tooltip.css({display:\"\",height:\"\",overflow:\"visible\",width:\"\"}),this},measure:function(){this.__forceRedraw();var a=this.__$tooltip[0].getBoundingClientRect(),b={size:{height:a.height||a.bottom-a.top,width:a.width||a.right-a.left}};if(this.constraints){var c=this.__$tooltip.find(\".tooltipster-content\"),d=this.__$tooltip.outerHeight(),e=c[0].getBoundingClientRect(),f={height:d<=this.constraints.height,width:a.width<=this.constraints.width&&e.width>=c[0].scrollWidth-1};b.fits=f.height&&f.width}return h.IE&&h.IE<=11&&b.size.width!==h.window.document.documentElement.clientWidth&&(b.size.width=Math.ceil(b.size.width)+1),b}};var j=navigator.userAgent.toLowerCase();-1!=j.indexOf(\"msie\")?h.IE=parseInt(j.split(\"msie\")[1]):-1!==j.toLowerCase().indexOf(\"trident\")&&-1!==j.indexOf(\" rv:11\")?h.IE=11:-1!=j.toLowerCase().indexOf(\"edge/\")&&(h.IE=parseInt(j.toLowerCase().split(\"edge/\")[1]));var k=\"tooltipster.sideTip\";return a.tooltipster._plugin({name:k,instance:{__defaults:function(){return{arrow:!0,distance:6,functionPosition:null,maxWidth:null,minIntersection:16,minWidth:0,position:null,side:\"top\",viewportAware:!0}},__init:function(a){var b=this;b.__instance=a,b.__namespace=\"tooltipster-sideTip-\"+Math.round(1e6*Math.random()),b.__previousState=\"closed\",b.__options,b.__optionsFormat(),b.__instance._on(\"state.\"+b.__namespace,function(a){\"closed\"==a.state?b.__close():\"appearing\"==a.state&&\"closed\"==b.__previousState&&b.__create(),b.__previousState=a.state}),b.__instance._on(\"options.\"+b.__namespace,function(){b.__optionsFormat()}),b.__instance._on(\"reposition.\"+b.__namespace,function(a){b.__reposition(a.event,a.helper)})},__close:function(){this.__instance.content()instanceof a&&this.__instance.content().detach(),this.__instance._$tooltip.remove(),this.__instance._$tooltip=null},__create:function(){var b=a('<div class=\"tooltipster-base tooltipster-sidetip\"><div class=\"tooltipster-box\"><div class=\"tooltipster-content\"></div></div><div class=\"tooltipster-arrow\"><div class=\"tooltipster-arrow-uncropped\"><div class=\"tooltipster-arrow-border\"></div><div class=\"tooltipster-arrow-background\"></div></div></div></div>');this.__options.arrow||b.find(\".tooltipster-box\").css(\"margin\",0).end().find(\".tooltipster-arrow\").hide(),this.__options.minWidth&&b.css(\"min-width\",this.__options.minWidth+\"px\"),this.__options.maxWidth&&b.css(\"max-width\",this.__options.maxWidth+\"px\"),\nthis.__instance._$tooltip=b,this.__instance._trigger(\"created\")},__destroy:function(){this.__instance._off(\".\"+self.__namespace)},__optionsFormat:function(){var b=this;if(b.__options=b.__instance._optionsExtract(k,b.__defaults()),b.__options.position&&(b.__options.side=b.__options.position),\"object\"!=typeof b.__options.distance&&(b.__options.distance=[b.__options.distance]),b.__options.distance.length<4&&(void 0===b.__options.distance[1]&&(b.__options.distance[1]=b.__options.distance[0]),void 0===b.__options.distance[2]&&(b.__options.distance[2]=b.__options.distance[0]),void 0===b.__options.distance[3]&&(b.__options.distance[3]=b.__options.distance[1])),b.__options.distance={top:b.__options.distance[0],right:b.__options.distance[1],bottom:b.__options.distance[2],left:b.__options.distance[3]},\"string\"==typeof b.__options.side){var c={top:\"bottom\",right:\"left\",bottom:\"top\",left:\"right\"};b.__options.side=[b.__options.side,c[b.__options.side]],\"left\"==b.__options.side[0]||\"right\"==b.__options.side[0]?b.__options.side.push(\"top\",\"bottom\"):b.__options.side.push(\"right\",\"left\")}6===a.tooltipster._env.IE&&b.__options.arrow!==!0&&(b.__options.arrow=!1)},__reposition:function(b,c){var d,e=this,f=e.__targetFind(c),g=[];e.__instance._$tooltip.detach();var h=e.__instance._$tooltip.clone(),i=a.tooltipster._getRuler(h),j=!1,k=e.__instance.option(\"animation\");switch(k&&h.removeClass(\"tooltipster-\"+k),a.each([\"window\",\"document\"],function(d,k){var l=null;if(e.__instance._trigger({container:k,helper:c,satisfied:j,takeTest:function(a){l=a},results:g,type:\"positionTest\"}),1==l||0!=l&&0==j&&(\"window\"!=k||e.__options.viewportAware))for(var d=0;d<e.__options.side.length;d++){var m={horizontal:0,vertical:0},n=e.__options.side[d];\"top\"==n||\"bottom\"==n?m.vertical=e.__options.distance[n]:m.horizontal=e.__options.distance[n],e.__sideChange(h,n),a.each([\"natural\",\"constrained\"],function(a,d){if(l=null,e.__instance._trigger({container:k,event:b,helper:c,mode:d,results:g,satisfied:j,side:n,takeTest:function(a){l=a},type:\"positionTest\"}),1==l||0!=l&&0==j){var h={container:k,distance:m,fits:null,mode:d,outerSize:null,side:n,size:null,target:f[n],whole:null},o=\"natural\"==d?i.free():i.constrain(c.geo.available[k][n].width-m.horizontal,c.geo.available[k][n].height-m.vertical),p=o.measure();if(h.size=p.size,h.outerSize={height:p.size.height+m.vertical,width:p.size.width+m.horizontal},\"natural\"==d?c.geo.available[k][n].width>=h.outerSize.width&&c.geo.available[k][n].height>=h.outerSize.height?h.fits=!0:h.fits=!1:h.fits=p.fits,\"window\"==k&&(h.fits?\"top\"==n||\"bottom\"==n?h.whole=c.geo.origin.windowOffset.right>=e.__options.minIntersection&&c.geo.window.size.width-c.geo.origin.windowOffset.left>=e.__options.minIntersection:h.whole=c.geo.origin.windowOffset.bottom>=e.__options.minIntersection&&c.geo.window.size.height-c.geo.origin.windowOffset.top>=e.__options.minIntersection:h.whole=!1),g.push(h),h.whole)j=!0;else if(\"natural\"==h.mode&&(h.fits||h.size.width<=c.geo.available[k][n].width))return!1}})}}),e.__instance._trigger({edit:function(a){g=a},event:b,helper:c,results:g,type:\"positionTested\"}),g.sort(function(a,b){if(a.whole&&!b.whole)return-1;if(!a.whole&&b.whole)return 1;if(a.whole&&b.whole){var c=e.__options.side.indexOf(a.side),d=e.__options.side.indexOf(b.side);return d>c?-1:c>d?1:\"natural\"==a.mode?-1:1}if(a.fits&&!b.fits)return-1;if(!a.fits&&b.fits)return 1;if(a.fits&&b.fits){var c=e.__options.side.indexOf(a.side),d=e.__options.side.indexOf(b.side);return d>c?-1:c>d?1:\"natural\"==a.mode?-1:1}return\"document\"==a.container&&\"bottom\"==a.side&&\"natural\"==a.mode?-1:1}),d=g[0],d.coord={},d.side){case\"left\":case\"right\":d.coord.top=Math.floor(d.target-d.size.height/2);break;case\"bottom\":case\"top\":d.coord.left=Math.floor(d.target-d.size.width/2)}switch(d.side){case\"left\":d.coord.left=c.geo.origin.windowOffset.left-d.outerSize.width;break;case\"right\":d.coord.left=c.geo.origin.windowOffset.right+d.distance.horizontal;break;case\"top\":d.coord.top=c.geo.origin.windowOffset.top-d.outerSize.height;break;case\"bottom\":d.coord.top=c.geo.origin.windowOffset.bottom+d.distance.vertical}\"window\"==d.container?\"top\"==d.side||\"bottom\"==d.side?d.coord.left<0?c.geo.origin.windowOffset.right-this.__options.minIntersection>=0?d.coord.left=0:d.coord.left=c.geo.origin.windowOffset.right-this.__options.minIntersection-1:d.coord.left>c.geo.window.size.width-d.size.width&&(c.geo.origin.windowOffset.left+this.__options.minIntersection<=c.geo.window.size.width?d.coord.left=c.geo.window.size.width-d.size.width:d.coord.left=c.geo.origin.windowOffset.left+this.__options.minIntersection+1-d.size.width):d.coord.top<0?c.geo.origin.windowOffset.bottom-this.__options.minIntersection>=0?d.coord.top=0:d.coord.top=c.geo.origin.windowOffset.bottom-this.__options.minIntersection-1:d.coord.top>c.geo.window.size.height-d.size.height&&(c.geo.origin.windowOffset.top+this.__options.minIntersection<=c.geo.window.size.height?d.coord.top=c.geo.window.size.height-d.size.height:d.coord.top=c.geo.origin.windowOffset.top+this.__options.minIntersection+1-d.size.height):(d.coord.left>c.geo.window.size.width-d.size.width&&(d.coord.left=c.geo.window.size.width-d.size.width),d.coord.left<0&&(d.coord.left=0)),e.__sideChange(h,d.side),c.tooltipClone=h[0],c.tooltipParent=e.__instance.option(\"parent\").parent[0],c.mode=d.mode,c.whole=d.whole,c.origin=e.__instance._$origin[0],c.tooltip=e.__instance._$tooltip[0],delete d.container,delete d.fits,delete d.mode,delete d.outerSize,delete d.whole,d.distance=d.distance.horizontal||d.distance.vertical;var l=a.extend(!0,{},d);if(e.__instance._trigger({edit:function(a){d=a},event:b,helper:c,position:l,type:\"position\"}),e.__options.functionPosition){var m=e.__options.functionPosition.call(e,e.__instance,c,l);m&&(d=m)}i.destroy();var n,o;\"top\"==d.side||\"bottom\"==d.side?(n={prop:\"left\",val:d.target-d.coord.left},o=d.size.width-this.__options.minIntersection):(n={prop:\"top\",val:d.target-d.coord.top},o=d.size.height-this.__options.minIntersection),n.val<this.__options.minIntersection?n.val=this.__options.minIntersection:n.val>o&&(n.val=o);var p;p=c.geo.origin.fixedLineage?c.geo.origin.windowOffset:{left:c.geo.origin.windowOffset.left+c.geo.window.scroll.left,top:c.geo.origin.windowOffset.top+c.geo.window.scroll.top},d.coord={left:p.left+(d.coord.left-c.geo.origin.windowOffset.left),top:p.top+(d.coord.top-c.geo.origin.windowOffset.top)},e.__sideChange(e.__instance._$tooltip,d.side),c.geo.origin.fixedLineage?e.__instance._$tooltip.css(\"position\",\"fixed\"):e.__instance._$tooltip.css(\"position\",\"\"),e.__instance._$tooltip.css({left:d.coord.left,top:d.coord.top,height:d.size.height,width:d.size.width}).find(\".tooltipster-arrow\").css({left:\"\",top:\"\"}).css(n.prop,n.val),e.__instance._$tooltip.appendTo(e.__instance.option(\"parent\")),e.__instance._trigger({type:\"repositioned\",event:b,position:d})},__sideChange:function(a,b){a.removeClass(\"tooltipster-bottom\").removeClass(\"tooltipster-left\").removeClass(\"tooltipster-right\").removeClass(\"tooltipster-top\").addClass(\"tooltipster-\"+b)},__targetFind:function(a){var b={},c=this.__instance._$origin[0].getClientRects();if(c.length>1){var d=this.__instance._$origin.css(\"opacity\");1==d&&(this.__instance._$origin.css(\"opacity\",.99),c=this.__instance._$origin[0].getClientRects(),this.__instance._$origin.css(\"opacity\",1))}if(c.length<2)b.top=Math.floor(a.geo.origin.windowOffset.left+a.geo.origin.size.width/2),b.bottom=b.top,b.left=Math.floor(a.geo.origin.windowOffset.top+a.geo.origin.size.height/2),b.right=b.left;else{var e=c[0];b.top=Math.floor(e.left+(e.right-e.left)/2),e=c.length>2?c[Math.ceil(c.length/2)-1]:c[0],b.right=Math.floor(e.top+(e.bottom-e.top)/2),e=c[c.length-1],b.bottom=Math.floor(e.left+(e.right-e.left)/2),e=c.length>2?c[Math.ceil((c.length+1)/2)-1]:c[c.length-1],b.left=Math.floor(e.top+(e.bottom-e.top)/2)}return b}}}),a});","// ==================================================\n// fancyBox v3.0.47\n//\n// Licensed GPLv3 for open source use\n// or fancyBox Commercial License for commercial use\n//\n// http://fancyapps.com/fancybox/\n// Copyright 2017 fancyApps\n//\n// ==================================================\n!(function (t, e, n, o) {\n    \"use strict\";\n    function s(t) {\n        var e = t.currentTarget,\n            o = t.data ? t.data.options : {},\n            s = t.data ? t.data.items : [],\n            i = \"\",\n            a = 0;\n        t.preventDefault(),\n            t.stopPropagation(),\n            n(e).attr(\"data-fancybox\") && (i = n(e).data(\"fancybox\")),\n            i\n                ? ((s = s.length\n                      ? s.filter('[data-fancybox=\"' + i + '\"]')\n                      : n(\"[data-fancybox=\" + i + \"]\")),\n                  (a = s.index(e)))\n                : (s = [e]),\n            n.fancybox.open(s, o, a);\n    }\n    if (!n) return o;\n    var i = {\n            speed: 330,\n            loop: !0,\n            opacity: \"auto\",\n            margin: [44, 0],\n            gutter: 30,\n            infobar: !0,\n            buttons: !0,\n            slideShow: !0,\n            fullScreen: !0,\n            thumbs: !0,\n            closeBtn: !0,\n            smallBtn: \"auto\",\n            image: { preload: \"auto\", protect: !1 },\n            ajax: { settings: { data: { fancybox: !0 } } },\n            iframe: {\n                tpl: '<iframe id=\"fancybox-frame{rnd}\" name=\"fancybox-frame{rnd}\" class=\"fancybox-iframe\" frameborder=\"0\" vspace=\"0\" hspace=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency=\"true\" src=\"\"></iframe>',\n                preload: !0,\n                scrolling: \"no\",\n                css: {},\n            },\n            baseClass: \"\",\n            slideClass: \"\",\n            baseTpl:\n                '<div class=\"fancybox-container\" role=\"dialog\" tabindex=\"-1\"><div class=\"fancybox-bg\"></div><div class=\"fancybox-controls\"><div class=\"fancybox-infobar\"><button data-fancybox-previous class=\"fancybox-button fancybox-button--left\" title=\"Previous\"></button><div class=\"fancybox-infobar__body\"><span class=\"js-fancybox-index\"></span>&nbsp;/&nbsp;<span class=\"js-fancybox-count\"></span></div><button data-fancybox-next class=\"fancybox-button fancybox-button--right\" title=\"Next\"></button></div><div class=\"fancybox-buttons\"><button data-fancybox-close class=\"fancybox-button fancybox-button--close\" title=\"Close (Esc)\"></button></div></div><div class=\"fancybox-slider-wrap\"><div class=\"fancybox-slider\"></div></div><div class=\"fancybox-caption-wrap\"><div class=\"fancybox-caption\"></div></div></div>',\n            spinnerTpl: '<div class=\"fancybox-loading\"></div>',\n            errorTpl:\n                '<div class=\"fancybox-error\"><p>The requested content cannot be loaded. <br /> Please try again later.<p></div>',\n            closeTpl:\n                '<button data-fancybox-close class=\"fancybox-close-small\"></button>',\n            parentEl: \"body\",\n            touch: !0,\n            keyboard: !0,\n            focus: !0,\n            closeClickOutside: !0,\n            beforeLoad: n.noop,\n            afterLoad: n.noop,\n            beforeMove: n.noop,\n            afterMove: n.noop,\n            onComplete: n.noop,\n            onInit: n.noop,\n            beforeClose: n.noop,\n            afterClose: n.noop,\n            onActivate: n.noop,\n            onDeactivate: n.noop,\n        },\n        a = n(t),\n        r = n(e),\n        c = 0,\n        l = function (t) {\n            return t && t.hasOwnProperty && t instanceof n;\n        },\n        u = (function () {\n            return (\n                t.requestAnimationFrame ||\n                t.webkitRequestAnimationFrame ||\n                t.mozRequestAnimationFrame ||\n                function (e) {\n                    t.setTimeout(e, 1e3 / 60);\n                }\n            );\n        })(),\n        d = function (o) {\n            var s;\n            return (\n                \"function\" == typeof n && o instanceof n && (o = o[0]),\n                (s = o.getBoundingClientRect()),\n                s.bottom > 0 &&\n                    s.right > 0 &&\n                    s.left < (t.innerWidth || e.documentElement.clientWidth) &&\n                    s.top < (t.innerHeight || e.documentElement.clientHeight)\n            );\n        },\n        p = function (t, o, s) {\n            var a = this;\n            (a.opts = n.extend(!0, { index: s }, i, o || {})),\n                (a.id = a.opts.id || ++c),\n                (a.group = []),\n                (a.currIndex = parseInt(a.opts.index, 10) || 0),\n                (a.prevIndex = null),\n                (a.prevPos = null),\n                (a.currPos = 0),\n                (a.firstRun = null),\n                a.createGroup(t),\n                a.group.length &&\n                    ((a.$lastFocus = n(e.activeElement).blur()),\n                    (a.slides = {}),\n                    a.init(t));\n        };\n    n.extend(p.prototype, {\n        init: function () {\n            var t,\n                e,\n                o = this,\n                s = !1;\n            (o.scrollTop = r.scrollTop()),\n                (o.scrollLeft = r.scrollLeft()),\n                n.fancybox.getInstance() ||\n                    ((t = n(\"body\").width()),\n                    n(\"html\").addClass(\"fancybox-enabled\"),\n                    n.fancybox.isTouch\n                        ? (n.each(o.group, function (t, e) {\n                              if (\"image\" !== e.type && \"iframe\" !== e.type)\n                                  return (s = !0), !1;\n                          }),\n                          s &&\n                              n(\"body\").css({\n                                  position: \"fixed\",\n                                  width: t,\n                                  top: o.scrollTop * -1,\n                              }))\n                        : ((t = n(\"body\").width() - t),\n                          t > 1 &&\n                              n(\n                                  '<style id=\"fancybox-noscroll\" type=\"text/css\">'\n                              )\n                                  .html(\n                                      \".compensate-for-scrollbar, .fancybox-enabled body { margin-right: \" +\n                                          t +\n                                          \"px; }\"\n                                  )\n                                  .appendTo(\"head\"))),\n                (e = n(o.opts.baseTpl)\n                    .attr(\"id\", \"fancybox-container-\" + o.id)\n                    .data(\"FancyBox\", o)\n                    .addClass(o.opts.baseClass)\n                    .hide()\n                    .prependTo(o.opts.parentEl)),\n                (o.$refs = {\n                    container: e,\n                    bg: e.find(\".fancybox-bg\"),\n                    controls: e.find(\".fancybox-controls\"),\n                    buttons: e.find(\".fancybox-buttons\"),\n                    slider_wrap: e.find(\".fancybox-slider-wrap\"),\n                    slider: e.find(\".fancybox-slider\"),\n                    caption: e.find(\".fancybox-caption\"),\n                }),\n                o.trigger(\"onInit\"),\n                o.activate(),\n                o.current || o.jumpTo(o.currIndex);\n        },\n        createGroup: function (t) {\n            var e = this,\n                s = n.makeArray(t);\n            n.each(s, function (t, s) {\n                var i,\n                    a,\n                    r,\n                    c,\n                    l = {},\n                    u = {},\n                    d = [];\n                n.isPlainObject(s)\n                    ? ((l = s), (u = s.opts || {}))\n                    : \"object\" === n.type(s) && n(s).length\n                    ? ((i = n(s)),\n                      (d = i.data()),\n                      (u = \"options\" in d ? d.options : {}),\n                      (u = \"object\" === n.type(u) ? u : {}),\n                      (l.type = \"type\" in d ? d.type : u.type),\n                      (l.src = \"src\" in d ? d.src : u.src || i.attr(\"href\")),\n                      (u.width = \"width\" in d ? d.width : u.width),\n                      (u.height = \"height\" in d ? d.height : u.height),\n                      (u.thumb = \"thumb\" in d ? d.thumb : u.thumb),\n                      (u.selector = \"selector\" in d ? d.selector : u.selector),\n                      \"srcset\" in d && (u.image = { srcset: d.srcset }),\n                      (u.$orig = i))\n                    : (l = { type: \"html\", content: s + \"\" }),\n                    (l.opts = n.extend(!0, {}, e.opts, u)),\n                    (a = l.type),\n                    (r = l.src || \"\"),\n                    a ||\n                        (l.content\n                            ? (a = \"html\")\n                            : r.match(\n                                  /(^data:image\\/[a-z0-9+\\/=]*,)|(\\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\\?|#).*)?$)/i\n                              )\n                            ? (a = \"image\")\n                            : r.match(/\\.(pdf)((\\?|#).*)?$/i)\n                            ? (a = \"pdf\")\n                            : \"#\" === r.charAt(0) && (a = \"inline\"),\n                        (l.type = a)),\n                    (l.index = e.group.length),\n                    l.opts.$orig && !l.opts.$orig.length && delete l.opts.$orig,\n                    !l.opts.$thumb &&\n                        l.opts.$orig &&\n                        (l.opts.$thumb = l.opts.$orig.find(\"img:first\")),\n                    l.opts.$thumb &&\n                        !l.opts.$thumb.length &&\n                        delete l.opts.$thumb,\n                    \"function\" === n.type(l.opts.caption)\n                        ? (l.opts.caption = l.opts.caption.apply(s, [e, l]))\n                        : \"caption\" in d\n                        ? (l.opts.caption = d.caption)\n                        : u.$orig && (l.opts.caption = i.attr(\"title\")),\n                    (l.opts.caption =\n                        l.opts.caption === o ? \"\" : l.opts.caption + \"\"),\n                    \"ajax\" === a &&\n                        ((c = r.split(/\\s+/, 2)),\n                        c.length > 1 &&\n                            ((l.src = c.shift()),\n                            (l.opts.selector = c.shift()))),\n                    \"auto\" == l.opts.smallBtn &&\n                        (n.inArray(a, [\"html\", \"inline\", \"ajax\"]) > -1\n                            ? ((l.opts.buttons = !1), (l.opts.smallBtn = !0))\n                            : (l.opts.smallBtn = !1)),\n                    \"pdf\" === a &&\n                        ((l.type = \"iframe\"),\n                        (l.opts.closeBtn = !0),\n                        (l.opts.smallBtn = !1),\n                        (l.opts.iframe.preload = !1)),\n                    l.opts.modal &&\n                        n.extend(!0, l.opts, {\n                            infobar: 0,\n                            buttons: 0,\n                            keyboard: 0,\n                            slideShow: 0,\n                            fullScreen: 0,\n                            closeClickOutside: 0,\n                        }),\n                    e.group.push(l);\n            });\n        },\n        addEvents: function () {\n            var e = this;\n            e.removeEvents(),\n                e.$refs.container\n                    .on(\n                        \"click.fb-close\",\n                        \"[data-fancybox-close]\",\n                        function (t) {\n                            t.stopPropagation(), t.preventDefault(), e.close(t);\n                        }\n                    )\n                    .on(\n                        \"click.fb-previous\",\n                        \"[data-fancybox-previous]\",\n                        function (t) {\n                            t.stopPropagation(),\n                                t.preventDefault(),\n                                e.previous();\n                        }\n                    )\n                    .on(\"click.fb-next\", \"[data-fancybox-next]\", function (t) {\n                        t.stopPropagation(), t.preventDefault(), e.next();\n                    }),\n                n(t).on(\"orientationchange.fb resize.fb\", function (t) {\n                    u(function () {\n                        t &&\n                        t.originalEvent &&\n                        \"resize\" === t.originalEvent.type\n                            ? e.update()\n                            : (e.$refs.slider_wrap.hide(),\n                              u(function () {\n                                  e.$refs.slider_wrap.show(), e.update();\n                              }));\n                    });\n                }),\n                r.on(\"focusin.fb\", function (t) {\n                    var o = n.fancybox ? n.fancybox.getInstance() : null;\n                    !o ||\n                        n(t.target).hasClass(\"fancybox-container\") ||\n                        n.contains(o.$refs.container[0], t.target) ||\n                        (t.stopPropagation(),\n                        o.focus(),\n                        a.scrollTop(e.scrollTop).scrollLeft(e.scrollLeft));\n                }),\n                r.on(\"keydown.fb\", function (t) {\n                    var o = e.current,\n                        s = t.keyCode || t.which;\n                    if (\n                        o &&\n                        o.opts.keyboard &&\n                        !n(t.target).is(\"input\") &&\n                        !n(t.target).is(\"textarea\")\n                    ) {\n                        if (8 === s || 27 === s)\n                            return t.preventDefault(), void e.close(t);\n                        switch (s) {\n                            case 37:\n                            case 38:\n                                t.preventDefault(), e.previous();\n                                break;\n                            case 39:\n                            case 40:\n                                t.preventDefault(), e.next();\n                                break;\n                            case 80:\n                            case 32:\n                                t.preventDefault(),\n                                    e.SlideShow &&\n                                        (t.preventDefault(),\n                                        e.SlideShow.toggle());\n                                break;\n                            case 70:\n                                e.FullScreen &&\n                                    (t.preventDefault(), e.FullScreen.toggle());\n                                break;\n                            case 71:\n                                e.Thumbs &&\n                                    (t.preventDefault(), e.Thumbs.toggle());\n                        }\n                    }\n                });\n        },\n        removeEvents: function () {\n            a.off(\"scroll.fb resize.fb orientationchange.fb\"),\n                r.off(\"keydown.fb focusin.fb click.fb-close\"),\n                this.$refs.container.off(\n                    \"click.fb-close click.fb-previous click.fb-next\"\n                );\n        },\n        previous: function (t) {\n            this.jumpTo(this.currIndex - 1, t);\n        },\n        next: function (t) {\n            this.jumpTo(this.currIndex + 1, t);\n        },\n        jumpTo: function (t, e) {\n            var n,\n                s,\n                i,\n                a,\n                r = this;\n            if (\n                ((n = r.firstRun = null === r.firstRun),\n                (s = i = t = parseInt(t, 10)),\n                (a = !!r.current && r.current.opts.loop),\n                !r.isAnimating && (s != r.currIndex || n))\n            ) {\n                if (r.group.length > 1 && a)\n                    (s %= r.group.length),\n                        (s = s < 0 ? r.group.length + s : s),\n                        2 == r.group.length\n                            ? (i = t - r.currIndex + r.currPos)\n                            : ((i = s - r.currIndex + r.currPos),\n                              Math.abs(r.currPos - (i + r.group.length)) <\n                              Math.abs(r.currPos - i)\n                                  ? (i += r.group.length)\n                                  : Math.abs(r.currPos - (i - r.group.length)) <\n                                        Math.abs(r.currPos - i) &&\n                                    (i -= r.group.length));\n                else if (!r.group[s]) return void r.update(!1, !1, e);\n                r.current &&\n                    (r.current.$slide.removeClass(\n                        \"fancybox-slide--current fancybox-slide--complete\"\n                    ),\n                    r.updateSlide(r.current, !0)),\n                    (r.prevIndex = r.currIndex),\n                    (r.prevPos = r.currPos),\n                    (r.currIndex = s),\n                    (r.currPos = i),\n                    (r.current = r.createSlide(i)),\n                    r.group.length > 1 &&\n                        ((r.opts.loop || i - 1 >= 0) && r.createSlide(i - 1),\n                        (r.opts.loop || i + 1 < r.group.length) &&\n                            r.createSlide(i + 1)),\n                    (r.current.isMoved = !1),\n                    (r.current.isComplete = !1),\n                    (e = parseInt(\n                        e === o ? 1.5 * r.current.opts.speed : e,\n                        10\n                    )),\n                    r.trigger(\"beforeMove\"),\n                    r.updateControls(),\n                    n &&\n                        (r.current.$slide.addClass(\"fancybox-slide--current\"),\n                        r.$refs.container.show(),\n                        u(function () {\n                            r.$refs.bg.css(\n                                \"transition-duration\",\n                                r.current.opts.speed + \"ms\"\n                            ),\n                                r.$refs.container.addClass(\n                                    \"fancybox-container--ready\"\n                                );\n                        })),\n                    r.update(!0, !1, n ? 0 : e, function () {\n                        r.afterMove();\n                    }),\n                    r.loadSlide(r.current),\n                    (n && r.current.$ghost) || r.preload();\n            }\n        },\n        createSlide: function (t) {\n            var e,\n                o,\n                s,\n                i = this;\n            if (\n                ((o = t % i.group.length),\n                (o = o < 0 ? i.group.length + o : o),\n                !i.slides[t] && i.group[o])\n            ) {\n                if (i.opts.loop && i.group.length > 2)\n                    for (var a in i.slides)\n                        if (i.slides[a].index === o)\n                            return (\n                                (s = i.slides[a]),\n                                (s.pos = t),\n                                (i.slides[t] = s),\n                                delete i.slides[a],\n                                i.updateSlide(s),\n                                s\n                            );\n                (e = n('<div class=\"fancybox-slide\"></div>').appendTo(\n                    i.$refs.slider\n                )),\n                    (i.slides[t] = n.extend(!0, {}, i.group[o], {\n                        pos: t,\n                        $slide: e,\n                        isMoved: !1,\n                        isLoaded: !1,\n                    }));\n            }\n            return i.slides[t];\n        },\n        zoomInOut: function (t, e, o) {\n            var s,\n                i,\n                a,\n                r = this,\n                c = r.current,\n                l = c.$placeholder,\n                u = c.opts.opacity,\n                p = c.opts.$thumb,\n                h = p ? p.offset() : 0,\n                f = c.$slide.offset();\n            return (\n                !!(l && c.isMoved && h && d(p)) &&\n                !(\"In\" === t && !r.firstRun) &&\n                (n.fancybox.stop(l),\n                (r.isAnimating = !0),\n                (s = {\n                    top:\n                        h.top -\n                        f.top +\n                        parseFloat(p.css(\"border-top-width\") || 0),\n                    left:\n                        h.left -\n                        f.left +\n                        parseFloat(p.css(\"border-left-width\") || 0),\n                    width: p.width(),\n                    height: p.height(),\n                    scaleX: 1,\n                    scaleY: 1,\n                }),\n                \"auto\" == u &&\n                    (u =\n                        Math.abs(c.width / c.height - s.width / s.height) >\n                        0.1),\n                \"In\" === t\n                    ? ((i = s),\n                      (a = r.getFitPos(c)),\n                      (a.scaleX = a.width / i.width),\n                      (a.scaleY = a.height / i.height),\n                      u && ((i.opacity = 0.1), (a.opacity = 1)))\n                    : ((i = n.fancybox.getTranslate(l)),\n                      (a = s),\n                      c.$ghost &&\n                          (c.$ghost.show(), c.$image && c.$image.remove()),\n                      (i.scaleX = i.width / a.width),\n                      (i.scaleY = i.height / a.height),\n                      (i.width = a.width),\n                      (i.height = a.height),\n                      u && (a.opacity = 0)),\n                r.updateCursor(a.width, a.height),\n                delete a.width,\n                delete a.height,\n                n.fancybox.setTranslate(l, i),\n                l.show(),\n                r.trigger(\"beforeZoom\" + t),\n                l.css(\"transition\", \"all \" + e + \"ms\"),\n                n.fancybox.setTranslate(l, a),\n                setTimeout(function () {\n                    var e;\n                    l.css(\"transition\", \"none\"),\n                        (e = n.fancybox.getTranslate(l)),\n                        (e.scaleX = 1),\n                        (e.scaleY = 1),\n                        n.fancybox.setTranslate(l, e),\n                        r.trigger(\"afterZoom\" + t),\n                        o.apply(r),\n                        (r.isAnimating = !1);\n                }, e),\n                !0)\n            );\n        },\n        canPan: function () {\n            var t = this,\n                e = t.current,\n                n = e.$placeholder,\n                o = !1;\n            return (\n                n &&\n                    ((o = t.getFitPos(e)),\n                    (o =\n                        Math.abs(n.width() - o.width) > 1 ||\n                        Math.abs(n.height() - o.height) > 1)),\n                o\n            );\n        },\n        isScaledDown: function () {\n            var t = this,\n                e = t.current,\n                o = e.$placeholder,\n                s = !1;\n            return (\n                o &&\n                    ((s = n.fancybox.getTranslate(o)),\n                    (s = s.width < e.width || s.height < e.height)),\n                s\n            );\n        },\n        scaleToActual: function (t, e, s) {\n            var i,\n                a,\n                r,\n                c,\n                l,\n                u = this,\n                d = u.current,\n                p = d.$placeholder,\n                h = parseInt(d.$slide.width(), 10),\n                f = parseInt(d.$slide.height(), 10),\n                g = d.width,\n                b = d.height;\n            p &&\n                ((u.isAnimating = !0),\n                (t = t === o ? 0.5 * h : t),\n                (e = e === o ? 0.5 * f : e),\n                (i = n.fancybox.getTranslate(p)),\n                (c = g / i.width),\n                (l = b / i.height),\n                (a = 0.5 * h - 0.5 * g),\n                (r = 0.5 * f - 0.5 * b),\n                g > h &&\n                    ((a = i.left * c - (t * c - t)),\n                    a > 0 && (a = 0),\n                    a < h - g && (a = h - g)),\n                b > f &&\n                    ((r = i.top * l - (e * l - e)),\n                    r > 0 && (r = 0),\n                    r < f - b && (r = f - b)),\n                u.updateCursor(g, b),\n                n.fancybox.animate(\n                    p,\n                    null,\n                    { top: r, left: a, scaleX: c, scaleY: l },\n                    s || d.opts.speed,\n                    function () {\n                        u.isAnimating = !1;\n                    }\n                ));\n        },\n        scaleToFit: function (t) {\n            var e,\n                o = this,\n                s = o.current,\n                i = s.$placeholder;\n            i &&\n                ((o.isAnimating = !0),\n                (e = o.getFitPos(s)),\n                o.updateCursor(e.width, e.height),\n                n.fancybox.animate(\n                    i,\n                    null,\n                    {\n                        top: e.top,\n                        left: e.left,\n                        scaleX: e.width / i.width(),\n                        scaleY: e.height / i.height(),\n                    },\n                    t || s.opts.speed,\n                    function () {\n                        o.isAnimating = !1;\n                    }\n                ));\n        },\n        getFitPos: function (t) {\n            var e,\n                o,\n                s,\n                i,\n                r,\n                c,\n                l,\n                u = t.$placeholder || t.$content,\n                d = t.width,\n                p = t.height,\n                h = t.opts.margin;\n            return (\n                !(!u || !u.length || (!d && !p)) &&\n                (\"number\" === n.type(h) && (h = [h, h]),\n                2 == h.length && (h = [h[0], h[1], h[0], h[1]]),\n                a.width() < 800 && (h = [0, 0, 0, 0]),\n                (e = parseInt(t.$slide.width(), 10) - (h[1] + h[3])),\n                (o = parseInt(t.$slide.height(), 10) - (h[0] + h[2])),\n                (s = Math.min(1, e / d, o / p)),\n                (c = Math.floor(s * d)),\n                (l = Math.floor(s * p)),\n                (i = Math.floor(0.5 * (o - l)) + h[0]),\n                (r = Math.floor(0.5 * (e - c)) + h[3]),\n                { top: i, left: r, width: c, height: l })\n            );\n        },\n        update: function (t, e, o, s) {\n            var i,\n                a = this;\n            a.isAnimating !== !0 &&\n                a.current &&\n                ((i =\n                    a.current.pos * Math.floor(a.current.$slide.width()) * -1 -\n                    a.current.pos * a.current.opts.gutter),\n                (o = parseInt(o, 10) || 0),\n                n.fancybox.stop(a.$refs.slider),\n                t === !1\n                    ? a.updateSlide(a.current, e)\n                    : n.each(a.slides, function (t, n) {\n                          a.updateSlide(n, e);\n                      }),\n                o\n                    ? n.fancybox.animate(\n                          a.$refs.slider,\n                          null,\n                          { top: 0, left: i },\n                          o,\n                          function () {\n                              (a.current.isMoved = !0),\n                                  \"function\" === n.type(s) && s.apply(a);\n                          }\n                      )\n                    : (n.fancybox.setTranslate(a.$refs.slider, {\n                          top: 0,\n                          left: i,\n                      }),\n                      (a.current.isMoved = !0),\n                      \"function\" === n.type(s) && s.apply(a)));\n        },\n        updateSlide: function (t, e) {\n            var o,\n                s = this,\n                i = t.$placeholder;\n            (t = t || s.current),\n                t &&\n                    !s.isClosing &&\n                    ((o =\n                        t.pos * Math.floor(t.$slide.width()) +\n                        t.pos * t.opts.gutter),\n                    o !== t.leftPos &&\n                        (n.fancybox.setTranslate(t.$slide, { top: 0, left: o }),\n                        (t.leftPos = o)),\n                    e !== !1 &&\n                        i &&\n                        (n.fancybox.setTranslate(i, s.getFitPos(t)),\n                        t.pos === s.currPos && s.updateCursor()),\n                    t.$slide.trigger(\"refresh\"),\n                    s.trigger(\"onUpdate\", t));\n        },\n        updateCursor: function (t, e) {\n            var n,\n                s = this,\n                i = s.$refs.container.removeClass(\n                    \"fancybox-controls--canzoomIn fancybox-controls--canzoomOut fancybox-controls--canGrab\"\n                );\n            !s.isClosing &&\n                s.opts.touch &&\n                ((n =\n                    t !== o && e !== o\n                        ? t < s.current.width && e < s.current.height\n                        : s.isScaledDown()),\n                n\n                    ? i.addClass(\"fancybox-controls--canzoomIn\")\n                    : s.group.length < 2\n                    ? i.addClass(\"fancybox-controls--canzoomOut\")\n                    : i.addClass(\"fancybox-controls--canGrab\"));\n        },\n        loadSlide: function (t) {\n            var e,\n                o,\n                s,\n                i = this;\n            if (t && !t.isLoaded && !t.isLoading) {\n                switch (\n                    ((t.isLoading = !0),\n                    i.trigger(\"beforeLoad\", t),\n                    (e = t.type),\n                    (o = t.$slide),\n                    o\n                        .off(\"refresh\")\n                        .trigger(\"onReset\")\n                        .addClass(\"fancybox-slide--\" + (e || \"unknown\"))\n                        .addClass(t.opts.slideClass),\n                    e)\n                ) {\n                    case \"image\":\n                        i.setImage(t);\n                        break;\n                    case \"iframe\":\n                        i.setIframe(t);\n                        break;\n                    case \"html\":\n                        i.setContent(t, t.content);\n                        break;\n                    case \"inline\":\n                        n(t.src).length\n                            ? i.setContent(t, n(t.src))\n                            : i.setError(t);\n                        break;\n                    case \"ajax\":\n                        i.showLoading(t),\n                            (s = n.ajax(\n                                n.extend({}, t.opts.ajax.settings, {\n                                    url: t.src,\n                                    success: function (e, n) {\n                                        \"success\" === n && i.setContent(t, e);\n                                    },\n                                    error: function (e, n) {\n                                        e && \"abort\" !== n && i.setError(t);\n                                    },\n                                })\n                            )),\n                            o.one(\"onReset\", function () {\n                                s.abort();\n                            });\n                        break;\n                    default:\n                        i.setError(t);\n                }\n                return !0;\n            }\n        },\n        setImage: function (e) {\n            var o,\n                s,\n                i,\n                a,\n                r = this,\n                c = e.opts.image.srcset;\n            if (e.isLoaded && !e.hasError) return void r.afterLoad(e);\n            if (c) {\n                (i = t.devicePixelRatio || 1),\n                    (a = t.innerWidth * i),\n                    (s = c.split(\",\").map(function (t) {\n                        var e = {};\n                        return (\n                            t\n                                .trim()\n                                .split(/\\s+/)\n                                .forEach(function (t, n) {\n                                    var o = parseInt(\n                                        t.substring(0, t.length - 1),\n                                        10\n                                    );\n                                    return 0 === n\n                                        ? (e.url = t)\n                                        : void (\n                                              o &&\n                                              ((e.value = o),\n                                              (e.postfix = t[t.length - 1]))\n                                          );\n                                }),\n                            e\n                        );\n                    })),\n                    s.sort(function (t, e) {\n                        return t.value - e.value;\n                    });\n                for (var l = 0; l < s.length; l++) {\n                    var u = s[l];\n                    if (\n                        (\"w\" === u.postfix && u.value >= a) ||\n                        (\"x\" === u.postfix && u.value >= i)\n                    ) {\n                        o = u;\n                        break;\n                    }\n                }\n                !o && s.length && (o = s[s.length - 1]),\n                    o &&\n                        ((e.src = o.url),\n                        e.width &&\n                            e.height &&\n                            \"w\" == o.postfix &&\n                            ((e.height = (e.width / e.height) * o.value),\n                            (e.width = o.value)));\n            }\n            (e.$placeholder = n('<div class=\"fancybox-placeholder\"></div>')\n                .hide()\n                .appendTo(e.$slide)),\n                e.opts.preload !== !1 &&\n                e.opts.width &&\n                e.opts.height &&\n                (e.opts.thumb || e.opts.$thumb)\n                    ? ((e.width = e.opts.width),\n                      (e.height = e.opts.height),\n                      (e.$ghost = n(\"<img />\")\n                          .one(\"load error\", function () {\n                              r.isClosing ||\n                                  ((n(\"<img/>\")[0].src = e.src),\n                                  r.revealImage(e, function () {\n                                      r.setBigImage(e),\n                                          r.firstRun &&\n                                              e.index === r.currIndex &&\n                                              r.preload();\n                                  }));\n                          })\n                          .addClass(\"fancybox-image\")\n                          .appendTo(e.$placeholder)\n                          .attr(\n                              \"src\",\n                              e.opts.thumb || e.opts.$thumb.attr(\"src\")\n                          )))\n                    : r.setBigImage(e);\n        },\n        setBigImage: function (t) {\n            var e = this,\n                o = n(\"<img />\");\n            (t.$image = o\n                .one(\"error\", function () {\n                    e.setError(t);\n                })\n                .one(\"load\", function () {\n                    clearTimeout(t.timouts),\n                        (t.timouts = null),\n                        e.isClosing ||\n                            ((t.width = this.naturalWidth),\n                            (t.height = this.naturalHeight),\n                            t.opts.image.srcset &&\n                                o\n                                    .attr(\"sizes\", \"100vw\")\n                                    .attr(\"srcset\", t.opts.image.srcset),\n                            e.afterLoad(t),\n                            t.$ghost &&\n                                (t.timouts = setTimeout(function () {\n                                    t.$ghost.hide();\n                                }, 350)));\n                })\n                .addClass(\"fancybox-image\")\n                .attr(\"src\", t.src)\n                .appendTo(t.$placeholder)),\n                o[0].complete\n                    ? o.trigger(\"load\")\n                    : o[0].error\n                    ? o.trigger(\"error\")\n                    : (t.timouts = setTimeout(function () {\n                          o[0].complete || t.hasError || e.showLoading(t);\n                      }, 150)),\n                t.opts.image.protect &&\n                    n('<div class=\"fancybox-spaceball\"></div>')\n                        .appendTo(t.$placeholder)\n                        .on(\"contextmenu.fb\", function (t) {\n                            return 2 == t.button && t.preventDefault(), !0;\n                        });\n        },\n        revealImage: function (t, e) {\n            var o = this;\n            return (\n                (e = e || n.noop),\n                \"image\" !== t.type || t.hasError || t.isRevealed === !0\n                    ? void e.apply(o)\n                    : ((t.isRevealed = !0),\n                      void (\n                          (t.pos === o.currPos &&\n                              o.zoomInOut(\"In\", t.opts.speed, e)) ||\n                          (t.$ghost && !t.isLoaded && o.updateSlide(t, !0),\n                          t.pos === o.currPos\n                              ? n.fancybox.animate(\n                                    t.$placeholder,\n                                    { opacity: 0 },\n                                    { opacity: 1 },\n                                    300,\n                                    e\n                                )\n                              : t.$placeholder.show(),\n                          e.apply(o))\n                      ))\n            );\n        },\n        setIframe: function (t) {\n            var e,\n                s = this,\n                i = t.opts.iframe,\n                a = t.$slide;\n            (t.$content = n('<div class=\"fancybox-content\"></div>')\n                .css(i.css)\n                .appendTo(a)),\n                (e = n(i.tpl.replace(/\\{rnd\\}/g, new Date().getTime()))\n                    .attr(\n                        \"scrolling\",\n                        n.fancybox.isTouch ? \"auto\" : i.scrolling\n                    )\n                    .appendTo(t.$content)),\n                i.preload\n                    ? (t.$content.addClass(\"fancybox-tmp\"),\n                      s.showLoading(t),\n                      e.on(\"load.fb error.fb\", function (e) {\n                          (this.isReady = 1),\n                              t.$slide.trigger(\"refresh\"),\n                              s.afterLoad(t);\n                      }),\n                      a.on(\"refresh.fb\", function () {\n                          var n,\n                              s,\n                              a,\n                              r,\n                              c,\n                              l = t.$content;\n                          if (1 === e[0].isReady) {\n                              try {\n                                  (n = e.contents()), (s = n.find(\"body\"));\n                              } catch (t) {}\n                              s &&\n                                  s.length &&\n                                  (i.css.width === o || i.css.height === o) &&\n                                  ((a =\n                                      e[0].contentWindow.document\n                                          .documentElement.scrollWidth),\n                                  (r = Math.ceil(\n                                      s.outerWidth(!0) + (l.width() - a)\n                                  )),\n                                  (c = Math.ceil(s.outerHeight(!0))),\n                                  l.css({\n                                      width:\n                                          i.css.width === o\n                                              ? r +\n                                                (l.outerWidth() -\n                                                    l.innerWidth())\n                                              : i.css.width,\n                                      height:\n                                          i.css.height === o\n                                              ? c +\n                                                (l.outerHeight() -\n                                                    l.innerHeight())\n                                              : i.css.height,\n                                  })),\n                                  l.removeClass(\"fancybox-tmp\");\n                          }\n                      }))\n                    : this.afterLoad(t),\n                e.attr(\"src\", t.src),\n                t.opts.smallBtn && t.$content.prepend(t.opts.closeTpl),\n                a.one(\"onReset\", function () {\n                    try {\n                        n(this)\n                            .find(\"iframe\")\n                            .hide()\n                            .attr(\"src\", \"//about:blank\");\n                    } catch (t) {}\n                    n(this).empty(), (t.isLoaded = !1);\n                });\n        },\n        setContent: function (t, e) {\n            var o = this;\n            o.isClosing ||\n                (o.hideLoading(t),\n                t.$slide.empty(),\n                l(e) && e.parent().length\n                    ? (e.data(\"placeholder\") &&\n                          e.parents(\".fancybox-slide\").trigger(\"onReset\"),\n                      e\n                          .data({\n                              placeholder: n(\"<div></div>\")\n                                  .hide()\n                                  .insertAfter(e),\n                          })\n                          .css(\"display\", \"inline-block\"))\n                    : (\"string\" === n.type(e) &&\n                          ((e = n(\"<div>\").append(e).contents()),\n                          3 === e[0].nodeType && (e = n(\"<div>\").html(e))),\n                      t.opts.selector &&\n                          (e = n(\"<div>\").html(e).find(t.opts.selector))),\n                t.$slide.one(\"onReset\", function () {\n                    var o = l(e) ? e.data(\"placeholder\") : 0;\n                    o && (e.hide().replaceAll(o), e.data(\"placeholder\", null)),\n                        t.hasError || (n(this).empty(), (t.isLoaded = !1));\n                }),\n                (t.$content = n(e).appendTo(t.$slide)),\n                t.opts.smallBtn === !0 &&\n                    t.$content\n                        .find(\".fancybox-close-small\")\n                        .remove()\n                        .end()\n                        .eq(0)\n                        .append(t.opts.closeTpl),\n                this.afterLoad(t));\n        },\n        setError: function (t) {\n            (t.hasError = !0), this.setContent(t, t.opts.errorTpl);\n        },\n        showLoading: function (t) {\n            var e = this;\n            (t = t || e.current),\n                t &&\n                    !t.$spinner &&\n                    (t.$spinner = n(e.opts.spinnerTpl).appendTo(t.$slide));\n        },\n        hideLoading: function (t) {\n            var e = this;\n            (t = t || e.current),\n                t && t.$spinner && (t.$spinner.remove(), delete t.$spinner);\n        },\n        afterMove: function () {\n            var t = this,\n                e = t.current,\n                o = {};\n            e &&\n                (e.$slide.siblings().trigger(\"onReset\"),\n                n.each(t.slides, function (e, n) {\n                    n.pos >= t.currPos - 1 && n.pos <= t.currPos + 1\n                        ? (o[n.pos] = n)\n                        : n && n.$slide.remove();\n                }),\n                (t.slides = o),\n                t.trigger(\"afterMove\"),\n                e.isLoaded && t.complete());\n        },\n        afterLoad: function (t) {\n            var e = this;\n            e.isClosing ||\n                ((t.isLoading = !1),\n                (t.isLoaded = !0),\n                e.trigger(\"afterLoad\", t),\n                e.hideLoading(t),\n                t.$ghost || e.updateSlide(t, !0),\n                t.index === e.currIndex && t.isMoved\n                    ? e.complete()\n                    : t.$ghost || e.revealImage(t));\n        },\n        complete: function () {\n            var t = this,\n                e = t.current;\n            t.revealImage(e, function () {\n                (e.isComplete = !0),\n                    e.$slide.addClass(\"fancybox-slide--complete\"),\n                    t.updateCursor(),\n                    t.trigger(\"onComplete\"),\n                    e.opts.focus &&\n                        \"image\" !== e.type &&\n                        \"iframe\" !== e.type &&\n                        t.focus();\n            });\n        },\n        preload: function () {\n            var t,\n                e,\n                n = this;\n            n.group.length < 2 ||\n                ((t = n.slides[n.currPos + 1]),\n                (e = n.slides[n.currPos - 1]),\n                t && \"image\" === t.type && n.loadSlide(t),\n                e && \"image\" === e.type && n.loadSlide(e));\n        },\n        focus: function () {\n            var t,\n                e = this.current;\n            (t =\n                e && e.isComplete\n                    ? e.$slide\n                          .find('button,:input,[tabindex],a:not(\".disabled\")')\n                          .filter(\":visible:first\")\n                    : null),\n                (t && t.length) || (t = this.$refs.container),\n                t.focus(),\n                this.$refs.slider_wrap.scrollLeft(0),\n                e && e.$slide.scrollTop(0);\n        },\n        activate: function () {\n            var t = this;\n            n(\".fancybox-container\").each(function () {\n                var e = n(this).data(\"FancyBox\");\n                e &&\n                    e.uid !== t.uid &&\n                    !e.isClosing &&\n                    e.trigger(\"onDeactivate\");\n            }),\n                t.current &&\n                    (t.$refs.container.index() > 0 &&\n                        t.$refs.container.prependTo(e.body),\n                    t.updateControls()),\n                t.trigger(\"onActivate\"),\n                t.addEvents();\n        },\n        close: function (t) {\n            var e = this,\n                o = e.current,\n                s = o.opts.speed,\n                i = n.proxy(function () {\n                    e.cleanUp(t);\n                }, this);\n            return (\n                !e.isAnimating &&\n                !e.isClosing &&\n                (e.trigger(\"beforeClose\", t) === !1\n                    ? (n.fancybox.stop(e.$refs.slider),\n                      void u(function () {\n                          e.update(!0, !0, 150);\n                      }))\n                    : ((e.isClosing = !0),\n                      o.timouts && clearTimeout(o.timouts),\n                      t !== !0 && n.fancybox.stop(e.$refs.slider),\n                      e.$refs.container\n                          .removeClass(\"fancybox-container--active\")\n                          .addClass(\"fancybox-container--closing\"),\n                      o.$slide\n                          .removeClass(\"fancybox-slide--complete\")\n                          .siblings()\n                          .remove(),\n                      o.isMoved || o.$slide.css(\"overflow\", \"visible\"),\n                      e.removeEvents(),\n                      e.hideLoading(o),\n                      e.hideControls(),\n                      e.updateCursor(),\n                      e.$refs.bg.css(\"transition-duration\", s + \"ms\"),\n                      this.$refs.container.removeClass(\n                          \"fancybox-container--ready\"\n                      ),\n                      void (t === !0\n                          ? setTimeout(i, s)\n                          : e.zoomInOut(\"Out\", s, i) ||\n                            n.fancybox.animate(\n                                e.$refs.container,\n                                null,\n                                { opacity: 0 },\n                                s,\n                                \"easeInSine\",\n                                i\n                            ))))\n            );\n        },\n        cleanUp: function (t) {\n            var e,\n                o = this;\n            o.$refs.slider.children().trigger(\"onReset\"),\n                o.$refs.container.empty().remove(),\n                o.trigger(\"afterClose\", t),\n                (o.current = null),\n                (e = n.fancybox.getInstance()),\n                e\n                    ? e.activate()\n                    : (n(\"html\").removeClass(\"fancybox-enabled\"),\n                      n(\"body\").removeAttr(\"style\"),\n                      a.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),\n                      n(\"#fancybox-noscroll\").remove()),\n                o.$lastFocus && o.$lastFocus.focus();\n        },\n        trigger: function (t, o) {\n            var s,\n                i = Array.prototype.slice.call(arguments, 1),\n                a = this,\n                r = o && o.opts ? o : a.current;\n            return (\n                r ? i.unshift(r) : (r = a),\n                i.unshift(a),\n                n.isFunction(r.opts[t]) && (s = r.opts[t].apply(r, i)),\n                s === !1\n                    ? s\n                    : void (\"afterClose\" === t\n                          ? n(e).trigger(t + \".fb\", i)\n                          : a.$refs.container.trigger(t + \".fb\", i))\n            );\n        },\n        toggleControls: function (t) {\n            this.isHiddenControls\n                ? this.updateControls(t)\n                : this.hideControls();\n        },\n        hideControls: function () {\n            (this.isHiddenControls = !0),\n                this.$refs.container.removeClass(\"fancybox-show-controls\"),\n                this.$refs.container.removeClass(\"fancybox-show-caption\");\n        },\n        updateControls: function (t) {\n            var e = this,\n                o = e.$refs.container,\n                s = e.$refs.caption,\n                i = e.current,\n                a = i.index,\n                r = i.opts,\n                c = r.caption;\n            (this.isHiddenControls && t !== !0) ||\n                ((this.isHiddenControls = !1),\n                o\n                    .addClass(\"fancybox-show-controls\")\n                    .toggleClass(\n                        \"fancybox-show-infobar\",\n                        !!r.infobar && e.group.length > 1\n                    )\n                    .toggleClass(\"fancybox-show-buttons\", !!r.buttons)\n                    .toggleClass(\"fancybox-is-modal\", !!r.modal),\n                n(\".fancybox-button--left\", o).toggleClass(\n                    \"fancybox-button--disabled\",\n                    !r.loop && a <= 0\n                ),\n                n(\".fancybox-button--right\", o).toggleClass(\n                    \"fancybox-button--disabled\",\n                    !r.loop && a >= e.group.length - 1\n                ),\n                n(\".fancybox-button--play\", o).toggle(\n                    !!(r.slideShow && e.group.length > 1)\n                ),\n                n(\".fancybox-button--close\", o).toggle(!!r.closeBtn),\n                n(\".js-fancybox-count\", o).html(e.group.length),\n                n(\".js-fancybox-index\", o).html(a + 1),\n                i.$slide.trigger(\"refresh\"),\n                s && s.empty(),\n                c && c.length\n                    ? (s.html(c),\n                      this.$refs.container.addClass(\"fancybox-show-caption \"),\n                      (e.$caption = s))\n                    : this.$refs.container.removeClass(\n                          \"fancybox-show-caption\"\n                      ));\n        },\n    }),\n        (n.fancybox = {\n            version: \"3.0.47\",\n            defaults: i,\n            getInstance: function (t) {\n                var e = n(\n                        '.fancybox-container:not(\".fancybox-container--closing\"):first'\n                    ).data(\"FancyBox\"),\n                    o = Array.prototype.slice.call(arguments, 1);\n                return (\n                    e instanceof p &&\n                    (\"string\" === n.type(t)\n                        ? e[t].apply(e, o)\n                        : \"function\" === n.type(t) && t.apply(e, o),\n                    e)\n                );\n            },\n            open: function (t, e, n) {\n                return new p(t, e, n);\n            },\n            close: function (t) {\n                var e = this.getInstance();\n                e && (e.close(), t === !0 && this.close());\n            },\n            isTouch:\n                e.createTouch !== o &&\n                /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(\n                    navigator.userAgent\n                ),\n            use3d: (function () {\n                var n = e.createElement(\"div\");\n                return (\n                    t.getComputedStyle(n).getPropertyValue(\"transform\") &&\n                    !(e.documentMode && e.documentMode <= 11)\n                );\n            })(),\n            getTranslate: function (t) {\n                var e, n;\n                return (\n                    !(!t || !t.length) &&\n                    ((e = t.get(0).getBoundingClientRect()),\n                    (n = t.eq(0).css(\"transform\")),\n                    n && n.indexOf(\"matrix\") !== -1\n                        ? ((n = n.split(\"(\")[1]),\n                          (n = n.split(\")\")[0]),\n                          (n = n.split(\",\")))\n                        : (n = []),\n                    n.length\n                        ? ((n =\n                              n.length > 10\n                                  ? [n[13], n[12], n[0], n[5]]\n                                  : [n[5], n[4], n[0], n[3]]),\n                          (n = n.map(parseFloat)))\n                        : (n = [0, 0, 1, 1]),\n                    {\n                        top: n[0],\n                        left: n[1],\n                        scaleX: n[2],\n                        scaleY: n[3],\n                        opacity: parseFloat(t.css(\"opacity\")),\n                        width: e.width,\n                        height: e.height,\n                    })\n                );\n            },\n            setTranslate: function (t, e) {\n                var n = \"\",\n                    s = {};\n                if (t && e)\n                    return (\n                        (e.left === o && e.top === o) ||\n                            ((n =\n                                (e.left === o ? t.position().top : e.left) +\n                                \"px, \" +\n                                (e.top === o ? t.position().top : e.top) +\n                                \"px\"),\n                            (n = this.use3d\n                                ? \"translate3d(\" + n + \", 0px)\"\n                                : \"translate(\" + n + \")\")),\n                        e.scaleX !== o &&\n                            e.scaleY !== o &&\n                            (n =\n                                (n.length ? n + \" \" : \"\") +\n                                \"scale(\" +\n                                e.scaleX +\n                                \", \" +\n                                e.scaleY +\n                                \")\"),\n                        n.length && (s.transform = n),\n                        e.opacity !== o && (s.opacity = e.opacity),\n                        e.width !== o && (s.width = e.width),\n                        e.height !== o && (s.height = e.height),\n                        t.css(s)\n                    );\n            },\n            easing: {\n                easeOutCubic: function (t, e, n, o) {\n                    return n * ((t = t / o - 1) * t * t + 1) + e;\n                },\n                easeInCubic: function (t, e, n, o) {\n                    return n * (t /= o) * t * t + e;\n                },\n                easeOutSine: function (t, e, n, o) {\n                    return n * Math.sin((t / o) * (Math.PI / 2)) + e;\n                },\n                easeInSine: function (t, e, n, o) {\n                    return -n * Math.cos((t / o) * (Math.PI / 2)) + n + e;\n                },\n            },\n            stop: function (t) {\n                t.removeData(\"animateID\");\n            },\n            animate: function (t, e, s, i, a, r) {\n                var c,\n                    l,\n                    d,\n                    p = this,\n                    h = null,\n                    f = 0,\n                    g = function () {\n                        s.scaleX !== o &&\n                            s.scaleY !== o &&\n                            e &&\n                            e.width !== o &&\n                            e.height !== o &&\n                            ((s.width = e.width * s.scaleX),\n                            (s.height = e.height * s.scaleY),\n                            (s.scaleX = 1),\n                            (s.scaleY = 1)),\n                            p.setTranslate(t, s),\n                            r();\n                    },\n                    b = function (n) {\n                        if (\n                            ((c = []),\n                            (l = 0),\n                            t.length && t.data(\"animateID\") === d)\n                        ) {\n                            if (\n                                ((n = n || Date.now()),\n                                h && (l = n - h),\n                                (h = n),\n                                (f += l),\n                                f >= i)\n                            )\n                                return void g();\n                            for (var r in s)\n                                s.hasOwnProperty(r) &&\n                                    e[r] !== o &&\n                                    (e[r] == s[r]\n                                        ? (c[r] = s[r])\n                                        : (c[r] = p.easing[a](\n                                              f,\n                                              e[r],\n                                              s[r] - e[r],\n                                              i\n                                          )));\n                            p.setTranslate(t, c), u(b);\n                        }\n                    };\n                (p.animateID = d = p.animateID === o ? 1 : p.animateID + 1),\n                    t.data(\"animateID\", d),\n                    r === o && \"function\" == n.type(a) && ((r = a), (a = o)),\n                    a || (a = \"easeOutCubic\"),\n                    (r = r || n.noop),\n                    e ? this.setTranslate(t, e) : (e = this.getTranslate(t)),\n                    i ? (t.show(), u(b)) : g();\n            },\n        }),\n        (n.fn.fancybox = function (t) {\n            return (\n                this.off(\"click.fb-start\").on(\n                    \"click.fb-start\",\n                    { items: this, options: t || {} },\n                    s\n                ),\n                this\n            );\n        }),\n        n(e).on(\"click.fb-start\", \"[data-fancybox]\", s);\n})(window, document, window.jQuery),\n    (function (t) {\n        \"use strict\";\n        var e = function (e, n, o) {\n                if (e)\n                    return (\n                        (o = o || \"\"),\n                        \"object\" === t.type(o) && (o = t.param(o, !0)),\n                        t.each(n, function (t, n) {\n                            e = e.replace(\"$\" + t, n || \"\");\n                        }),\n                        o.length && (e += (e.indexOf(\"?\") > 0 ? \"&\" : \"?\") + o),\n                        e\n                    );\n            },\n            n = {\n                youtube: {\n                    matcher:\n                        /(youtube\\.com|youtu\\.be|youtube\\-nocookie\\.com)\\/(watch\\?(.*&)?v=|v\\/|u\\/|embed\\/?)?(videoseries\\?list=(.*)|[\\w-]{11}|\\?listType=(.*)&list=(.*))(.*)/i,\n                    params: {\n                        autoplay: 1,\n                        autohide: 1,\n                        fs: 1,\n                        rel: 0,\n                        hd: 1,\n                        wmode: \"transparent\",\n                        enablejsapi: 1,\n                        html5: 1,\n                    },\n                    paramPlace: 8,\n                    type: \"iframe\",\n                    url: \"//www.youtube.com/embed/$4\",\n                    thumb: \"//img.youtube.com/vi/$4/hqdefault.jpg\",\n                },\n                vimeo: {\n                    matcher: /^.+vimeo.com\\/(.*\\/)?([\\d]+)(.*)?/,\n                    params: {\n                        autoplay: 1,\n                        hd: 1,\n                        show_title: 1,\n                        show_byline: 1,\n                        show_portrait: 0,\n                        fullscreen: 1,\n                        api: 1,\n                    },\n                    paramPlace: 3,\n                    type: \"iframe\",\n                    url: \"//player.vimeo.com/video/$2\",\n                },\n                metacafe: {\n                    matcher: /metacafe.com\\/watch\\/(\\d+)\\/(.*)?/,\n                    type: \"iframe\",\n                    url: \"//www.metacafe.com/embed/$1/?ap=1\",\n                },\n                dailymotion: {\n                    matcher: /dailymotion.com\\/video\\/(.*)\\/?(.*)/,\n                    params: { additionalInfos: 0, autoStart: 1 },\n                    type: \"iframe\",\n                    url: \"//www.dailymotion.com/embed/video/$1\",\n                },\n                vine: {\n                    matcher: /vine.co\\/v\\/([a-zA-Z0-9\\?\\=\\-]+)/,\n                    type: \"iframe\",\n                    url: \"//vine.co/v/$1/embed/simple\",\n                },\n                instagram: {\n                    matcher:\n                        /(instagr\\.am|instagram\\.com)\\/p\\/([a-zA-Z0-9_\\-]+)\\/?/i,\n                    type: \"image\",\n                    url: \"//$1/p/$2/media/?size=l\",\n                },\n                google_maps: {\n                    matcher:\n                        /(maps\\.)?google\\.([a-z]{2,3}(\\.[a-z]{2})?)\\/(((maps\\/(place\\/(.*)\\/)?\\@(.*),(\\d+.?\\d+?)z))|(\\?ll=))(.*)?/i,\n                    type: \"iframe\",\n                    url: function (t) {\n                        return (\n                            \"//maps.google.\" +\n                            t[2] +\n                            \"/?ll=\" +\n                            (t[9]\n                                ? t[9] +\n                                  \"&z=\" +\n                                  Math.floor(t[10]) +\n                                  (t[12] ? t[12].replace(/^\\//, \"&\") : \"\")\n                                : t[12]) +\n                            \"&output=\" +\n                            (t[12] && t[12].indexOf(\"layer=c\") > 0\n                                ? \"svembed\"\n                                : \"embed\")\n                        );\n                    },\n                },\n            };\n        t(document).on(\"onInit.fb\", function (o, s) {\n            t.each(s.group, function (o, s) {\n                var i,\n                    a,\n                    r,\n                    c,\n                    l,\n                    u,\n                    d = s.src || \"\",\n                    p = !1;\n                s.type ||\n                    (t.each(n, function (n, o) {\n                        if (((a = d.match(o.matcher)), (l = {}), (u = n), a)) {\n                            if (\n                                ((p = o.type), o.paramPlace && a[o.paramPlace])\n                            ) {\n                                (c = a[o.paramPlace]),\n                                    \"?\" == c[0] && (c = c.substring(1)),\n                                    (c = c.split(\"&\"));\n                                for (var h = 0; h < c.length; ++h) {\n                                    var f = c[h].split(\"=\", 2);\n                                    2 == f.length &&\n                                        (l[f[0]] = decodeURIComponent(\n                                            f[1].replace(/\\+/g, \" \")\n                                        ));\n                                }\n                            }\n                            return (\n                                (r = t.extend(!0, {}, o.params, s.opts[n], l)),\n                                (d =\n                                    \"function\" === t.type(o.url)\n                                        ? o.url.call(this, a, r, s)\n                                        : e(o.url, a, r)),\n                                (i =\n                                    \"function\" === t.type(o.thumb)\n                                        ? o.thumb.call(this, a, r, s)\n                                        : e(o.thumb, a)),\n                                \"vimeo\" === u && (d = d.replace(\"&%23\", \"#\")),\n                                !1\n                            );\n                        }\n                    }),\n                    p\n                        ? ((s.src = d),\n                          (s.type = p),\n                          s.opts.thumb ||\n                              (s.opts.$thumb && s.opts.$thumb.length) ||\n                              (s.opts.thumb = i),\n                          \"iframe\" === p &&\n                              (t.extend(!0, s.opts, {\n                                  iframe: { preload: !1, scrolling: \"no\" },\n                                  smallBtn: !1,\n                                  closeBtn: !0,\n                                  fullScreen: !1,\n                                  slideShow: !1,\n                              }),\n                              (s.opts.slideClass += \" fancybox-slide--video\")))\n                        : (s.type = \"iframe\"));\n            });\n        });\n    })(window.jQuery),\n    (function (t, e, n) {\n        \"use strict\";\n        var o = (function () {\n                return (\n                    t.requestAnimationFrame ||\n                    t.webkitRequestAnimationFrame ||\n                    t.mozRequestAnimationFrame ||\n                    function (e) {\n                        t.setTimeout(e, 1e3 / 60);\n                    }\n                );\n            })(),\n            s = function (e) {\n                var n = [];\n                (e = e.originalEvent || e || t.e),\n                    (e =\n                        e.touches && e.touches.length\n                            ? e.touches\n                            : e.changedTouches && e.changedTouches.length\n                            ? e.changedTouches\n                            : [e]);\n                for (var o in e)\n                    e[o].pageX\n                        ? n.push({ x: e[o].pageX, y: e[o].pageY })\n                        : e[o].clientX &&\n                          n.push({ x: e[o].clientX, y: e[o].clientY });\n                return n;\n            },\n            i = function (t, e, n) {\n                return e && t\n                    ? \"x\" === n\n                        ? t.x - e.x\n                        : \"y\" === n\n                        ? t.y - e.y\n                        : Math.sqrt(\n                              Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)\n                          )\n                    : 0;\n            },\n            a = function (t) {\n                return (\n                    t.is(\"a\") ||\n                    t.is(\"button\") ||\n                    t.is(\"input\") ||\n                    t.is(\"select\") ||\n                    t.is(\"textarea\") ||\n                    n.isFunction(t.get(0).onclick)\n                );\n            },\n            r = function (e) {\n                var n = t.getComputedStyle(e)[\"overflow-y\"],\n                    o = t.getComputedStyle(e)[\"overflow-x\"],\n                    s =\n                        (\"scroll\" === n || \"auto\" === n) &&\n                        e.scrollHeight > e.clientHeight,\n                    i =\n                        (\"scroll\" === o || \"auto\" === o) &&\n                        e.scrollWidth > e.clientWidth;\n                return s || i;\n            },\n            c = function (t) {\n                for (var e = !1; ; ) {\n                    if ((e = r(t.get(0)))) break;\n                    if (\n                        ((t = t.parent()),\n                        !t.length ||\n                            t.hasClass(\"fancybox-slider\") ||\n                            t.is(\"body\"))\n                    )\n                        break;\n                }\n                return e;\n            },\n            l = function (t) {\n                var e = this;\n                (e.instance = t),\n                    (e.$wrap = t.$refs.slider_wrap),\n                    (e.$slider = t.$refs.slider),\n                    (e.$container = t.$refs.container),\n                    e.destroy(),\n                    e.$wrap.on(\n                        \"touchstart.fb mousedown.fb\",\n                        n.proxy(e, \"ontouchstart\")\n                    );\n            };\n        (l.prototype.destroy = function () {\n            this.$wrap.off(\n                \"touchstart.fb mousedown.fb touchmove.fb mousemove.fb touchend.fb touchcancel.fb mouseup.fb mouseleave.fb\"\n            );\n        }),\n            (l.prototype.ontouchstart = function (e) {\n                var o = this,\n                    r = n(e.target),\n                    l = o.instance,\n                    u = l.current,\n                    d = u.$content || u.$placeholder;\n                return (\n                    (o.startPoints = s(e)),\n                    (o.$target = r),\n                    (o.$content = d),\n                    (o.canvasWidth = Math.round(u.$slide[0].clientWidth)),\n                    (o.canvasHeight = Math.round(u.$slide[0].clientHeight)),\n                    (o.startEvent = e),\n                    e.originalEvent.clientX >\n                        o.canvasWidth + u.$slide.offset().left ||\n                        (a(r) || a(r.parent()) || c(r)\n                            ? void 0\n                            : u.opts.touch\n                            ? void (\n                                  (e.originalEvent &&\n                                      2 == e.originalEvent.button) ||\n                                  (e.stopPropagation(),\n                                  e.preventDefault(),\n                                  !u ||\n                                      o.instance.isAnimating ||\n                                      o.instance.isClosing ||\n                                      !o.startPoints ||\n                                      (o.startPoints.length > 1 &&\n                                          !u.isMoved) ||\n                                      (o.$wrap.off(\n                                          \"touchmove.fb mousemove.fb\",\n                                          n.proxy(o, \"ontouchmove\")\n                                      ),\n                                      o.$wrap.off(\n                                          \"touchend.fb touchcancel.fb mouseup.fb mouseleave.fb\",\n                                          n.proxy(o, \"ontouchend\")\n                                      ),\n                                      o.$wrap.on(\n                                          \"touchend.fb touchcancel.fb mouseup.fb mouseleave.fb\",\n                                          n.proxy(o, \"ontouchend\")\n                                      ),\n                                      o.$wrap.on(\n                                          \"touchmove.fb mousemove.fb\",\n                                          n.proxy(o, \"ontouchmove\")\n                                      ),\n                                      (o.startTime = new Date().getTime()),\n                                      (o.distanceX =\n                                          o.distanceY =\n                                          o.distance =\n                                              0),\n                                      (o.canTap = !1),\n                                      (o.isPanning = !1),\n                                      (o.isSwiping = !1),\n                                      (o.isZooming = !1),\n                                      (o.sliderStartPos =\n                                          n.fancybox.getTranslate(o.$slider)),\n                                      (o.contentStartPos =\n                                          n.fancybox.getTranslate(o.$content)),\n                                      (o.contentLastPos = null),\n                                      1 !== o.startPoints.length ||\n                                          o.isZooming ||\n                                          ((o.canTap = u.isMoved),\n                                          \"image\" === u.type &&\n                                          (o.contentStartPos.width >\n                                              o.canvasWidth + 1 ||\n                                              o.contentStartPos.height >\n                                                  o.canvasHeight + 1)\n                                              ? (n.fancybox.stop(o.$content),\n                                                (o.isPanning = !0))\n                                              : (n.fancybox.stop(o.$slider),\n                                                (o.isSwiping = !0)),\n                                          o.$container.addClass(\n                                              \"fancybox-controls--isGrabbing\"\n                                          )),\n                                      2 === o.startPoints.length &&\n                                          u.isMoved &&\n                                          !u.hasError &&\n                                          \"image\" === u.type &&\n                                          (u.isLoaded || u.$ghost) &&\n                                          ((o.isZooming = !0),\n                                          (o.isSwiping = !1),\n                                          (o.isPanning = !1),\n                                          n.fancybox.stop(o.$content),\n                                          (o.centerPointStartX =\n                                              0.5 *\n                                                  (o.startPoints[0].x +\n                                                      o.startPoints[1].x) -\n                                              n(t).scrollLeft()),\n                                          (o.centerPointStartY =\n                                              0.5 *\n                                                  (o.startPoints[0].y +\n                                                      o.startPoints[1].y) -\n                                              n(t).scrollTop()),\n                                          (o.percentageOfImageAtPinchPointX =\n                                              (o.centerPointStartX -\n                                                  o.contentStartPos.left) /\n                                              o.contentStartPos.width),\n                                          (o.percentageOfImageAtPinchPointY =\n                                              (o.centerPointStartY -\n                                                  o.contentStartPos.top) /\n                                              o.contentStartPos.height),\n                                          (o.startDistanceBetweenFingers = i(\n                                              o.startPoints[0],\n                                              o.startPoints[1]\n                                          )))))\n                              )\n                            : ((o.endPoints = o.startPoints), o.ontap()))\n                );\n            }),\n            (l.prototype.ontouchmove = function (t) {\n                var e = this;\n                t.preventDefault(),\n                    (e.newPoints = s(t)),\n                    e.newPoints &&\n                        e.newPoints.length &&\n                        ((e.distanceX = i(\n                            e.newPoints[0],\n                            e.startPoints[0],\n                            \"x\"\n                        )),\n                        (e.distanceY = i(\n                            e.newPoints[0],\n                            e.startPoints[0],\n                            \"y\"\n                        )),\n                        (e.distance = i(e.newPoints[0], e.startPoints[0])),\n                        e.distance > 0 &&\n                            (e.isSwiping\n                                ? e.onSwipe()\n                                : e.isPanning\n                                ? e.onPan()\n                                : e.isZooming && e.onZoom()));\n            }),\n            (l.prototype.onSwipe = function () {\n                var e,\n                    s = this,\n                    i = s.isSwiping,\n                    a = s.sliderStartPos.left;\n                i === !0\n                    ? Math.abs(s.distance) > 10 &&\n                      (s.instance.group.length < 2\n                          ? (s.isSwiping = \"y\")\n                          : !s.instance.current.isMoved ||\n                            s.instance.opts.touch.vertical === !1 ||\n                            (\"auto\" === s.instance.opts.touch.vertical &&\n                                n(t).width() > 800)\n                          ? (s.isSwiping = \"x\")\n                          : ((e = Math.abs(\n                                (180 * Math.atan2(s.distanceY, s.distanceX)) /\n                                    Math.PI\n                            )),\n                            (s.isSwiping = e > 45 && e < 135 ? \"y\" : \"x\")),\n                      (s.canTap = !1),\n                      (s.instance.current.isMoved = !1),\n                      (s.startPoints = s.newPoints))\n                    : (\"x\" == i &&\n                          (!s.instance.current.opts.loop &&\n                          0 === s.instance.current.index &&\n                          s.distanceX > 0\n                              ? (a += Math.pow(s.distanceX, 0.8))\n                              : !s.instance.current.opts.loop &&\n                                s.instance.current.index ===\n                                    s.instance.group.length - 1 &&\n                                s.distanceX < 0\n                              ? (a -= Math.pow(-s.distanceX, 0.8))\n                              : (a += s.distanceX)),\n                      (s.sliderLastPos = {\n                          top:\n                              \"x\" == i ? 0 : s.sliderStartPos.top + s.distanceY,\n                          left: a,\n                      }),\n                      o(function () {\n                          n.fancybox.setTranslate(s.$slider, s.sliderLastPos);\n                      }));\n            }),\n            (l.prototype.onPan = function () {\n                var t,\n                    e,\n                    s,\n                    i = this;\n                (i.canTap = !1),\n                    (t =\n                        i.contentStartPos.width > i.canvasWidth\n                            ? i.contentStartPos.left + i.distanceX\n                            : i.contentStartPos.left),\n                    (e = i.contentStartPos.top + i.distanceY),\n                    (s = i.limitMovement(\n                        t,\n                        e,\n                        i.contentStartPos.width,\n                        i.contentStartPos.height\n                    )),\n                    (s.scaleX = i.contentStartPos.scaleX),\n                    (s.scaleY = i.contentStartPos.scaleY),\n                    (i.contentLastPos = s),\n                    o(function () {\n                        n.fancybox.setTranslate(i.$content, i.contentLastPos);\n                    });\n            }),\n            (l.prototype.limitMovement = function (t, e, n, o) {\n                var s,\n                    i,\n                    a,\n                    r,\n                    c = this,\n                    l = c.canvasWidth,\n                    u = c.canvasHeight,\n                    d = c.contentStartPos.left,\n                    p = c.contentStartPos.top,\n                    h = c.distanceX,\n                    f = c.distanceY;\n                return (\n                    (s = Math.max(0, 0.5 * l - 0.5 * n)),\n                    (i = Math.max(0, 0.5 * u - 0.5 * o)),\n                    (a = Math.min(l - n, 0.5 * l - 0.5 * n)),\n                    (r = Math.min(u - o, 0.5 * u - 0.5 * o)),\n                    n > l &&\n                        (h > 0 &&\n                            t > s &&\n                            (t = s - 1 + Math.pow(-s + d + h, 0.8) || 0),\n                        h < 0 &&\n                            t < a &&\n                            (t = a + 1 - Math.pow(a - d - h, 0.8) || 0)),\n                    o > u &&\n                        (f > 0 &&\n                            e > i &&\n                            (e = i - 1 + Math.pow(-i + p + f, 0.8) || 0),\n                        f < 0 &&\n                            e < r &&\n                            (e = r + 1 - Math.pow(r - p - f, 0.8) || 0)),\n                    { top: e, left: t }\n                );\n            }),\n            (l.prototype.limitPosition = function (t, e, n, o) {\n                var s = this,\n                    i = s.canvasWidth,\n                    a = s.canvasHeight;\n                return (\n                    n > i\n                        ? ((t = t > 0 ? 0 : t), (t = t < i - n ? i - n : t))\n                        : (t = Math.max(0, i / 2 - n / 2)),\n                    o > a\n                        ? ((e = e > 0 ? 0 : e), (e = e < a - o ? a - o : e))\n                        : (e = Math.max(0, a / 2 - o / 2)),\n                    { top: e, left: t }\n                );\n            }),\n            (l.prototype.onZoom = function () {\n                var e = this,\n                    s = e.contentStartPos.width,\n                    a = e.contentStartPos.height,\n                    r = e.contentStartPos.left,\n                    c = e.contentStartPos.top,\n                    l = i(e.newPoints[0], e.newPoints[1]),\n                    u = l / e.startDistanceBetweenFingers,\n                    d = Math.floor(s * u),\n                    p = Math.floor(a * u),\n                    h = (s - d) * e.percentageOfImageAtPinchPointX,\n                    f = (a - p) * e.percentageOfImageAtPinchPointY,\n                    g =\n                        (e.newPoints[0].x + e.newPoints[1].x) / 2 -\n                        n(t).scrollLeft(),\n                    b =\n                        (e.newPoints[0].y + e.newPoints[1].y) / 2 -\n                        n(t).scrollTop(),\n                    m = g - e.centerPointStartX,\n                    y = b - e.centerPointStartY,\n                    v = r + (h + m),\n                    x = c + (f + y),\n                    w = {\n                        top: x,\n                        left: v,\n                        scaleX: e.contentStartPos.scaleX * u,\n                        scaleY: e.contentStartPos.scaleY * u,\n                    };\n                (e.canTap = !1),\n                    (e.newWidth = d),\n                    (e.newHeight = p),\n                    (e.contentLastPos = w),\n                    o(function () {\n                        n.fancybox.setTranslate(e.$content, e.contentLastPos);\n                    });\n            }),\n            (l.prototype.ontouchend = function (t) {\n                var e = this,\n                    o = e.instance.current,\n                    i = Math.max(new Date().getTime() - e.startTime, 1),\n                    a = e.isSwiping,\n                    r = e.isPanning,\n                    c = e.isZooming;\n                return (\n                    (e.endPoints = s(t)),\n                    e.$container.removeClass(\"fancybox-controls--isGrabbing\"),\n                    e.$wrap.off(\n                        \"touchmove.fb mousemove.fb\",\n                        n.proxy(this, \"ontouchmove\")\n                    ),\n                    e.$wrap.off(\n                        \"touchend.fb touchcancel.fb mouseup.fb mouseleave.fb\",\n                        n.proxy(this, \"ontouchend\")\n                    ),\n                    (e.isSwiping = !1),\n                    (e.isPanning = !1),\n                    (e.isZooming = !1),\n                    e.canTap\n                        ? e.ontap()\n                        : ((e.velocityX = (e.distanceX / i) * 0.5),\n                          (e.velocityY = (e.distanceY / i) * 0.5),\n                          (e.speed = o.opts.speed || 330),\n                          (e.speedX = Math.max(\n                              0.75 * e.speed,\n                              Math.min(\n                                  1.5 * e.speed,\n                                  (1 / Math.abs(e.velocityX)) * e.speed\n                              )\n                          )),\n                          (e.speedY = Math.max(\n                              0.75 * e.speed,\n                              Math.min(\n                                  1.5 * e.speed,\n                                  (1 / Math.abs(e.velocityY)) * e.speed\n                              )\n                          )),\n                          void (r\n                              ? e.endPanning()\n                              : c\n                              ? e.endZooming()\n                              : e.endSwiping(a)))\n                );\n            }),\n            (l.prototype.endSwiping = function (t) {\n                var e = this;\n                \"y\" == t && Math.abs(e.distanceY) > 50\n                    ? (n.fancybox.animate(\n                          e.$slider,\n                          null,\n                          {\n                              top:\n                                  e.sliderStartPos.top +\n                                  e.distanceY +\n                                  150 * e.velocityY,\n                              left: e.sliderStartPos.left,\n                              opacity: 0,\n                          },\n                          e.speedY\n                      ),\n                      e.instance.close(!0))\n                    : \"x\" == t && e.distanceX > 50\n                    ? e.instance.previous(e.speedX)\n                    : \"x\" == t && e.distanceX < -50\n                    ? e.instance.next(e.speedX)\n                    : e.instance.update(!1, !0, 150);\n            }),\n            (l.prototype.endPanning = function () {\n                var t,\n                    e,\n                    o,\n                    s = this;\n                s.contentLastPos &&\n                    ((t = s.contentLastPos.left + s.velocityX * s.speed * 2),\n                    (e = s.contentLastPos.top + s.velocityY * s.speed * 2),\n                    (o = s.limitPosition(\n                        t,\n                        e,\n                        s.contentStartPos.width,\n                        s.contentStartPos.height\n                    )),\n                    (o.width = s.contentStartPos.width),\n                    (o.height = s.contentStartPos.height),\n                    n.fancybox.animate(\n                        s.$content,\n                        null,\n                        o,\n                        s.speed,\n                        \"easeOutSine\"\n                    ));\n            }),\n            (l.prototype.endZooming = function () {\n                var t,\n                    e,\n                    o,\n                    s,\n                    i = this,\n                    a = i.instance.current,\n                    r = i.newWidth,\n                    c = i.newHeight;\n                i.contentLastPos &&\n                    ((t = i.contentLastPos.left),\n                    (e = i.contentLastPos.top),\n                    (s = {\n                        top: e,\n                        left: t,\n                        width: r,\n                        height: c,\n                        scaleX: 1,\n                        scaleY: 1,\n                    }),\n                    n.fancybox.setTranslate(i.$content, s),\n                    r < i.canvasWidth && c < i.canvasHeight\n                        ? i.instance.scaleToFit(150)\n                        : r > a.width || c > a.height\n                        ? i.instance.scaleToActual(\n                              i.centerPointStartX,\n                              i.centerPointStartY,\n                              150\n                          )\n                        : ((o = i.limitPosition(t, e, r, c)),\n                          n.fancybox.animate(\n                              i.$content,\n                              null,\n                              o,\n                              i.speed,\n                              \"easeOutSine\"\n                          )));\n            }),\n            (l.prototype.ontap = function () {\n                var t = this,\n                    e = t.instance,\n                    o = e.current,\n                    s = t.endPoints[0].x,\n                    i = t.endPoints[0].y;\n                if (\n                    ((s -= t.$wrap.offset().left),\n                    (i -= t.$wrap.offset().top),\n                    e.SlideShow && e.SlideShow.isActive && e.SlideShow.stop(),\n                    !n.fancybox.isTouch)\n                )\n                    return o.opts.closeClickOutside &&\n                        t.$target.is(\".fancybox-slide\")\n                        ? void e.close(t.startEvent)\n                        : void (\n                              \"image\" == o.type &&\n                              o.isMoved &&\n                              (e.canPan()\n                                  ? e.scaleToFit()\n                                  : e.isScaledDown()\n                                  ? e.scaleToActual(s, i)\n                                  : e.group.length < 2 && e.close(t.startEvent))\n                          );\n                if (t.tapped) {\n                    if (\n                        (clearTimeout(t.tapped),\n                        (t.tapped = null),\n                        Math.abs(s - t.x) > 50 ||\n                            Math.abs(i - t.y) > 50 ||\n                            !o.isMoved)\n                    )\n                        return this;\n                    \"image\" == o.type &&\n                        (o.isLoaded || o.$ghost) &&\n                        (e.canPan()\n                            ? e.scaleToFit()\n                            : e.isScaledDown() && e.scaleToActual(s, i));\n                } else\n                    (t.x = s),\n                        (t.y = i),\n                        (t.tapped = setTimeout(function () {\n                            (t.tapped = null), e.toggleControls(!0);\n                        }, 300));\n                return this;\n            }),\n            n(e).on(\"onActivate.fb\", function (t, e) {\n                e && !e.Guestures && (e.Guestures = new l(e));\n            }),\n            n(e).on(\"beforeClose.fb\", function (t, e) {\n                e && e.Guestures && e.Guestures.destroy();\n            });\n    })(window, document, window.jQuery),\n    (function (t, e) {\n        \"use strict\";\n        var n = function (t) {\n            (this.instance = t), this.init();\n        };\n        e.extend(n.prototype, {\n            timer: null,\n            isActive: !1,\n            $button: null,\n            speed: 3e3,\n            init: function () {\n                var t = this;\n                (t.$button = e(\n                    '<button data-fancybox-play class=\"fancybox-button fancybox-button--play\" title=\"Slideshow (P)\"></button>'\n                ).appendTo(t.instance.$refs.buttons)),\n                    t.instance.$refs.container.on(\n                        \"click\",\n                        \"[data-fancybox-play]\",\n                        function () {\n                            t.toggle();\n                        }\n                    );\n            },\n            set: function () {\n                var t = this;\n                t.instance &&\n                t.instance.current &&\n                (t.instance.current.opts.loop ||\n                    t.instance.currIndex < t.instance.group.length - 1)\n                    ? (t.timer = setTimeout(function () {\n                          t.instance.next();\n                      }, t.instance.current.opts.slideShow.speed || t.speed))\n                    : t.stop();\n            },\n            clear: function () {\n                var t = this;\n                clearTimeout(t.timer), (t.timer = null);\n            },\n            start: function () {\n                var t = this;\n                t.stop(),\n                    t.instance &&\n                        t.instance.current &&\n                        (t.instance.current.opts.loop ||\n                            t.instance.currIndex <\n                                t.instance.group.length - 1) &&\n                        (t.instance.$refs.container.on({\n                            \"beforeLoad.fb.player\": e.proxy(t, \"clear\"),\n                            \"onComplete.fb.player\": e.proxy(t, \"set\"),\n                        }),\n                        (t.isActive = !0),\n                        t.instance.current.isComplete && t.set(),\n                        t.instance.$refs.container.trigger(\"onPlayStart\"),\n                        t.$button.addClass(\"fancybox-button--pause\"));\n            },\n            stop: function () {\n                var t = this;\n                t.clear(),\n                    t.instance.$refs.container\n                        .trigger(\"onPlayEnd\")\n                        .off(\".player\"),\n                    t.$button.removeClass(\"fancybox-button--pause\"),\n                    (t.isActive = !1);\n            },\n            toggle: function () {\n                var t = this;\n                t.isActive ? t.stop() : t.start();\n            },\n        }),\n            e(t).on(\"onInit.fb\", function (t, e) {\n                e &&\n                    e.group.length > 1 &&\n                    e.opts.slideShow &&\n                    !e.SlideShow &&\n                    (e.SlideShow = new n(e));\n            }),\n            e(t).on(\"beforeClose.fb onDeactivate.fb\", function (t, e) {\n                e && e.SlideShow && e.SlideShow.stop();\n            });\n    })(document, window.jQuery),\n    (function (t, e) {\n        \"use strict\";\n        var n = (function () {\n            var e,\n                n,\n                o,\n                s = [\n                    [\n                        \"requestFullscreen\",\n                        \"exitFullscreen\",\n                        \"fullscreenElement\",\n                        \"fullscreenEnabled\",\n                        \"fullscreenchange\",\n                        \"fullscreenerror\",\n                    ],\n                    [\n                        \"webkitRequestFullscreen\",\n                        \"webkitExitFullscreen\",\n                        \"webkitFullscreenElement\",\n                        \"webkitFullscreenEnabled\",\n                        \"webkitfullscreenchange\",\n                        \"webkitfullscreenerror\",\n                    ],\n                    [\n                        \"webkitRequestFullScreen\",\n                        \"webkitCancelFullScreen\",\n                        \"webkitCurrentFullScreenElement\",\n                        \"webkitCancelFullScreen\",\n                        \"webkitfullscreenchange\",\n                        \"webkitfullscreenerror\",\n                    ],\n                    [\n                        \"mozRequestFullScreen\",\n                        \"mozCancelFullScreen\",\n                        \"mozFullScreenElement\",\n                        \"mozFullScreenEnabled\",\n                        \"mozfullscreenchange\",\n                        \"mozfullscreenerror\",\n                    ],\n                    [\n                        \"msRequestFullscreen\",\n                        \"msExitFullscreen\",\n                        \"msFullscreenElement\",\n                        \"msFullscreenEnabled\",\n                        \"MSFullscreenChange\",\n                        \"MSFullscreenError\",\n                    ],\n                ],\n                i = {};\n            for (n = 0; n < s.length; n++)\n                if (((e = s[n]), e && e[1] in t)) {\n                    for (o = 0; o < e.length; o++) i[s[0][o]] = e[o];\n                    return i;\n                }\n            return !1;\n        })();\n        if (n) {\n            var o = {\n                request: function (e) {\n                    (e = e || t.documentElement),\n                        e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT);\n                },\n                exit: function () {\n                    t[n.exitFullscreen]();\n                },\n                toggle: function (t) {\n                    this.isFullscreen() ? this.exit() : this.request(t);\n                },\n                isFullscreen: function () {\n                    return Boolean(t[n.fullscreenElement]);\n                },\n                enabled: function () {\n                    return Boolean(t[n.fullscreenEnabled]);\n                },\n            };\n            e(t).on({\n                \"onInit.fb\": function (t, n) {\n                    var s;\n                    n &&\n                        n.opts.fullScreen &&\n                        !n.FullScreen &&\n                        ((s = n.$refs.container),\n                        (n.$refs.button_fs = e(\n                            '<button data-fancybox-fullscreen class=\"fancybox-button fancybox-button--fullscreen\" title=\"Full screen (F)\"></button>'\n                        ).appendTo(n.$refs.buttons)),\n                        s.on(\n                            \"click.fb-fullscreen\",\n                            \"[data-fancybox-fullscreen]\",\n                            function (t) {\n                                t.stopPropagation(),\n                                    t.preventDefault(),\n                                    o.toggle(s[0]);\n                            }\n                        ),\n                        n.opts.fullScreen.requestOnStart === !0 &&\n                            o.request(s[0]));\n                },\n                \"beforeMove.fb\": function (t, e) {\n                    e &&\n                        e.$refs.button_fs &&\n                        e.$refs.button_fs.toggle(!!e.current.opts.fullScreen);\n                },\n                \"beforeClose.fb\": function () {\n                    o.exit();\n                },\n            }),\n                e(t).on(n.fullscreenchange, function () {\n                    var t = e.fancybox.getInstance(),\n                        n = t ? t.current.$placeholder : null;\n                    n &&\n                        (n.css(\"transition\", \"none\"),\n                        (t.isAnimating = !1),\n                        t.update(!0, !0, 0));\n                });\n        }\n    })(document, window.jQuery),\n    (function (t, e) {\n        \"use strict\";\n        var n = function (t) {\n            (this.instance = t), this.init();\n        };\n        e.extend(n.prototype, {\n            $button: null,\n            $grid: null,\n            $list: null,\n            isVisible: !1,\n            init: function () {\n                var t = this;\n                t.$button = e(\n                    '<button data-fancybox-thumbs class=\"fancybox-button fancybox-button--thumbs\" title=\"Thumbnails (G)\"></button>'\n                )\n                    .appendTo(this.instance.$refs.buttons)\n                    .on(\"touchend click\", function (e) {\n                        e.stopPropagation(), e.preventDefault(), t.toggle();\n                    });\n            },\n            create: function () {\n                var t,\n                    n,\n                    o = this.instance;\n                (this.$grid = e('<div class=\"fancybox-thumbs\"></div>').appendTo(\n                    o.$refs.container\n                )),\n                    (t = \"<ul>\"),\n                    e.each(o.group, function (e, o) {\n                        (n =\n                            o.opts.thumb ||\n                            (o.opts.$thumb ? o.opts.$thumb.attr(\"src\") : null)),\n                            n || \"image\" !== o.type || (n = o.src),\n                            n &&\n                                n.length &&\n                                (t +=\n                                    '<li data-index=\"' +\n                                    e +\n                                    '\"  tabindex=\"0\" class=\"fancybox-thumbs-loading\"><img data-src=\"' +\n                                    n +\n                                    '\" /></li>');\n                    }),\n                    (t += \"</ul>\"),\n                    (this.$list = e(t)\n                        .appendTo(this.$grid)\n                        .on(\"click touchstart\", \"li\", function () {\n                            o.jumpTo(e(this).data(\"index\"));\n                        })),\n                    this.$list\n                        .find(\"img\")\n                        .hide()\n                        .one(\"load\", function () {\n                            var t,\n                                n,\n                                o,\n                                s,\n                                i = e(this)\n                                    .parent()\n                                    .removeClass(\"fancybox-thumbs-loading\"),\n                                a = i.outerWidth(),\n                                r = i.outerHeight();\n                            (t = this.naturalWidth || this.width),\n                                (n = this.naturalHeight || this.height),\n                                (o = t / a),\n                                (s = n / r),\n                                o >= 1 &&\n                                    s >= 1 &&\n                                    (o > s\n                                        ? ((t /= s), (n = r))\n                                        : ((t = a), (n /= o))),\n                                e(this)\n                                    .css({\n                                        width: Math.floor(t),\n                                        height: Math.floor(n),\n                                        \"margin-top\": Math.min(\n                                            0,\n                                            Math.floor(0.3 * r - 0.3 * n)\n                                        ),\n                                        \"margin-left\": Math.min(\n                                            0,\n                                            Math.floor(0.5 * a - 0.5 * t)\n                                        ),\n                                    })\n                                    .show();\n                        })\n                        .each(function () {\n                            this.src = e(this).data(\"src\");\n                        });\n            },\n            focus: function () {\n                this.instance.current &&\n                    this.$list\n                        .children()\n                        .removeClass(\"fancybox-thumbs-active\")\n                        .filter(\n                            '[data-index=\"' + this.instance.current.index + '\"]'\n                        )\n                        .addClass(\"fancybox-thumbs-active\")\n                        .focus();\n            },\n            close: function () {\n                this.$grid.hide();\n            },\n            update: function () {\n                this.instance.$refs.container.toggleClass(\n                    \"fancybox-container--thumbs\",\n                    this.isVisible\n                ),\n                    this.isVisible\n                        ? (this.$grid || this.create(),\n                          this.$grid.show(),\n                          this.focus())\n                        : this.$grid && this.$grid.hide(),\n                    this.instance.update();\n            },\n            hide: function () {\n                (this.isVisible = !1), this.update();\n            },\n            show: function () {\n                (this.isVisible = !0), this.update();\n            },\n            toggle: function () {\n                this.isVisible ? this.hide() : this.show();\n            },\n        }),\n            e(t).on(\"onInit.fb\", function (t, e) {\n                var o = e.group[0],\n                    s = e.group[1];\n                e.opts.thumbs &&\n                    !e.Thumbs &&\n                    e.group.length > 1 &&\n                    (\"image\" == o.type || o.opts.thumb || o.opts.$thumb) &&\n                    (\"image\" == s.type || s.opts.thumb || s.opts.$thumb) &&\n                    (e.Thumbs = new n(e));\n            }),\n            e(t).on(\"beforeMove.fb\", function (t, e, n) {\n                var o = e && e.Thumbs;\n                o &&\n                    (n.modal\n                        ? (o.$button.hide(), o.hide())\n                        : (e.opts.thumbs.showOnStart === !0 &&\n                              e.firstRun &&\n                              o.show(),\n                          o.$button.show(),\n                          o.isVisible && o.focus()));\n            }),\n            e(t).on(\"beforeClose.fb\", function (t, e) {\n                e &&\n                    e.Thumbs &&\n                    (e.Thumbs.isVisible &&\n                        e.opts.thumbs.hideOnClosing !== !1 &&\n                        e.Thumbs.close(),\n                    (e.Thumbs = null));\n            });\n    })(document, window.jQuery),\n    (function (t, e, n) {\n        \"use strict\";\n        function o() {\n            var t = e.location.hash.substr(1),\n                n = t.split(\"-\"),\n                o =\n                    n.length > 1 && /^\\+?\\d+$/.test(n[n.length - 1])\n                        ? parseInt(n.pop(-1), 10) || 1\n                        : 1,\n                s = n.join(\"-\");\n            return o < 1 && (o = 1), { hash: t, index: o, gallery: s };\n        }\n        function s(t) {\n            var e;\n            \"\" !== t.gallery &&\n                ((e = n(\n                    \"[data-fancybox='\" + n.escapeSelector(t.gallery) + \"']\"\n                ).eq(t.index - 1)),\n                e.length\n                    ? e.trigger(\"click\")\n                    : n(\"#\" + n.escapeSelector(t.gallery)).trigger(\"click\"));\n        }\n        function i(t) {\n            var e;\n            return (\n                !!t &&\n                ((e = t.current ? t.current.opts : t.opts),\n                e.$orig ? e.$orig.data(\"fancybox\") : e.hash || \"\")\n            );\n        }\n        n.escapeSelector ||\n            (n.escapeSelector = function (t) {\n                var e = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g,\n                    n = function (t, e) {\n                        return e\n                            ? \"\\0\" === t\n                                ? \"�\"\n                                : t.slice(0, -1) +\n                                  \"\\\\\" +\n                                  t.charCodeAt(t.length - 1).toString(16) +\n                                  \" \"\n                            : \"\\\\\" + t;\n                    };\n                return (t + \"\").replace(e, n);\n            });\n        var a = null;\n        n(function () {\n            setTimeout(function () {\n                n.fancybox.defaults.hash !== !1 &&\n                    (n(e).on(\"hashchange.fb\", function () {\n                        var t = o();\n                        n.fancybox.getInstance()\n                            ? a &&\n                              a !== t.gallery + \"-\" + t.index &&\n                              ((a = null), n.fancybox.close())\n                            : \"\" !== t.gallery && s(t);\n                    }),\n                    n(t).on({\n                        \"onInit.fb\": function (t, e) {\n                            var n = o(),\n                                s = i(e);\n                            s &&\n                                n.gallery &&\n                                s == n.gallery &&\n                                (e.currIndex = n.index - 1);\n                        },\n                        \"beforeMove.fb\": function (n, o, s) {\n                            var r = i(o);\n                            r &&\n                                \"\" !== r &&\n                                (e.location.hash.indexOf(r) < 0 &&\n                                    (o.opts.origHash = e.location.hash),\n                                (a =\n                                    r +\n                                    (o.group.length > 1\n                                        ? \"-\" + (s.index + 1)\n                                        : \"\")),\n                                \"pushState\" in history\n                                    ? history.pushState(\n                                          \"\",\n                                          t.title,\n                                          e.location.pathname +\n                                              e.location.search +\n                                              \"#\" +\n                                              a\n                                      )\n                                    : (e.location.hash = a));\n                        },\n                        \"beforeClose.fb\": function (n, o, s) {\n                            var r = i(o),\n                                c = o && o.opts.origHash ? o.opts.origHash : \"\";\n                            r &&\n                                \"\" !== r &&\n                                (\"pushState\" in history\n                                    ? history.pushState(\n                                          \"\",\n                                          t.title,\n                                          e.location.pathname +\n                                              e.location.search +\n                                              c\n                                      )\n                                    : (e.location.hash = c)),\n                                (a = null);\n                        },\n                    }),\n                    s(o()));\n            }, 50);\n        });\n    })(document, window, window.jQuery);\n","/**\n * Swiper 8.0.7\n * Most modern mobile touch slider and framework with hardware accelerated transitions\n * https://swiperjs.com\n *\n * Copyright 2014-2022 Vladimir Kharlampidi\n *\n * Released under the MIT License\n *\n * Released on: March 4, 2022\n */\n\n!(function (e, t) {\n    'object' == typeof exports && 'undefined' != typeof module\n        ? (module.exports = t())\n        : 'function' == typeof define && define.amd\n        ? define(t)\n        : ((e =\n              'undefined' != typeof globalThis\n                  ? globalThis\n                  : e || self).Swiper = t())\n})(this, function () {\n    'use strict'\n    function e(e) {\n        return (\n            null !== e &&\n            'object' == typeof e &&\n            'constructor' in e &&\n            e.constructor === Object\n        )\n    }\n    function t(s, a) {\n        void 0 === s && (s = {}),\n            void 0 === a && (a = {}),\n            Object.keys(a).forEach((i) => {\n                void 0 === s[i]\n                    ? (s[i] = a[i])\n                    : e(a[i]) &&\n                      e(s[i]) &&\n                      Object.keys(a[i]).length > 0 &&\n                      t(s[i], a[i])\n            })\n    }\n    const s = {\n        body: {},\n        addEventListener() {},\n        removeEventListener() {},\n        activeElement: { blur() {}, nodeName: '' },\n        querySelector: () => null,\n        querySelectorAll: () => [],\n        getElementById: () => null,\n        createEvent: () => ({ initEvent() {} }),\n        createElement: () => ({\n            children: [],\n            childNodes: [],\n            style: {},\n            setAttribute() {},\n            getElementsByTagName: () => [],\n        }),\n        createElementNS: () => ({}),\n        importNode: () => null,\n        location: {\n            hash: '',\n            host: '',\n            hostname: '',\n            href: '',\n            origin: '',\n            pathname: '',\n            protocol: '',\n            search: '',\n        },\n    }\n    function a() {\n        const e = 'undefined' != typeof document ? document : {}\n        return t(e, s), e\n    }\n    const i = {\n        document: s,\n        navigator: { userAgent: '' },\n        location: {\n            hash: '',\n            host: '',\n            hostname: '',\n            href: '',\n            origin: '',\n            pathname: '',\n            protocol: '',\n            search: '',\n        },\n        history: { replaceState() {}, pushState() {}, go() {}, back() {} },\n        CustomEvent: function () {\n            return this\n        },\n        addEventListener() {},\n        removeEventListener() {},\n        getComputedStyle: () => ({ getPropertyValue: () => '' }),\n        Image() {},\n        Date() {},\n        screen: {},\n        setTimeout() {},\n        clearTimeout() {},\n        matchMedia: () => ({}),\n        requestAnimationFrame: (e) =>\n            'undefined' == typeof setTimeout ? (e(), null) : setTimeout(e, 0),\n        cancelAnimationFrame(e) {\n            'undefined' != typeof setTimeout && clearTimeout(e)\n        },\n    }\n    function r() {\n        const e = 'undefined' != typeof window ? window : {}\n        return t(e, i), e\n    }\n    class n extends Array {\n        constructor(e) {\n            'number' == typeof e\n                ? super(e)\n                : (super(...(e || [])),\n                  (function (e) {\n                      const t = e.__proto__\n                      Object.defineProperty(e, '__proto__', {\n                          get: () => t,\n                          set(e) {\n                              t.__proto__ = e\n                          },\n                      })\n                  })(this))\n        }\n    }\n    function l(e) {\n        void 0 === e && (e = [])\n        const t = []\n        return (\n            e.forEach((e) => {\n                Array.isArray(e) ? t.push(...l(e)) : t.push(e)\n            }),\n            t\n        )\n    }\n    function o(e, t) {\n        return Array.prototype.filter.call(e, t)\n    }\n    function d(e, t) {\n        const s = r(),\n            i = a()\n        let l = []\n        if (!t && e instanceof n) return e\n        if (!e) return new n(l)\n        if ('string' == typeof e) {\n            const s = e.trim()\n            if (s.indexOf('<') >= 0 && s.indexOf('>') >= 0) {\n                let e = 'div'\n                0 === s.indexOf('<li') && (e = 'ul'),\n                    0 === s.indexOf('<tr') && (e = 'tbody'),\n                    (0 !== s.indexOf('<td') && 0 !== s.indexOf('<th')) ||\n                        (e = 'tr'),\n                    0 === s.indexOf('<tbody') && (e = 'table'),\n                    0 === s.indexOf('<option') && (e = 'select')\n                const t = i.createElement(e)\n                t.innerHTML = s\n                for (let e = 0; e < t.childNodes.length; e += 1)\n                    l.push(t.childNodes[e])\n            } else\n                l = (function (e, t) {\n                    if ('string' != typeof e) return [e]\n                    const s = [],\n                        a = t.querySelectorAll(e)\n                    for (let e = 0; e < a.length; e += 1) s.push(a[e])\n                    return s\n                })(e.trim(), t || i)\n        } else if (e.nodeType || e === s || e === i) l.push(e)\n        else if (Array.isArray(e)) {\n            if (e instanceof n) return e\n            l = e\n        }\n        return new n(\n            (function (e) {\n                const t = []\n                for (let s = 0; s < e.length; s += 1)\n                    -1 === t.indexOf(e[s]) && t.push(e[s])\n                return t\n            })(l)\n        )\n    }\n    d.fn = n.prototype\n    const c = {\n        addClass: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            const a = l(t.map((e) => e.split(' ')))\n            return (\n                this.forEach((e) => {\n                    e.classList.add(...a)\n                }),\n                this\n            )\n        },\n        removeClass: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            const a = l(t.map((e) => e.split(' ')))\n            return (\n                this.forEach((e) => {\n                    e.classList.remove(...a)\n                }),\n                this\n            )\n        },\n        hasClass: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            const a = l(t.map((e) => e.split(' ')))\n            return (\n                o(\n                    this,\n                    (e) => a.filter((t) => e.classList.contains(t)).length > 0\n                ).length > 0\n            )\n        },\n        toggleClass: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            const a = l(t.map((e) => e.split(' ')))\n            this.forEach((e) => {\n                a.forEach((t) => {\n                    e.classList.toggle(t)\n                })\n            })\n        },\n        attr: function (e, t) {\n            if (1 === arguments.length && 'string' == typeof e)\n                return this[0] ? this[0].getAttribute(e) : void 0\n            for (let s = 0; s < this.length; s += 1)\n                if (2 === arguments.length) this[s].setAttribute(e, t)\n                else\n                    for (const t in e)\n                        (this[s][t] = e[t]), this[s].setAttribute(t, e[t])\n            return this\n        },\n        removeAttr: function (e) {\n            for (let t = 0; t < this.length; t += 1) this[t].removeAttribute(e)\n            return this\n        },\n        transform: function (e) {\n            for (let t = 0; t < this.length; t += 1) this[t].style.transform = e\n            return this\n        },\n        transition: function (e) {\n            for (let t = 0; t < this.length; t += 1)\n                this[t].style.transitionDuration =\n                    'string' != typeof e ? `${e}ms` : e\n            return this\n        },\n        on: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            let [a, i, r, n] = t\n            function l(e) {\n                const t = e.target\n                if (!t) return\n                const s = e.target.dom7EventData || []\n                if ((s.indexOf(e) < 0 && s.unshift(e), d(t).is(i)))\n                    r.apply(t, s)\n                else {\n                    const e = d(t).parents()\n                    for (let t = 0; t < e.length; t += 1)\n                        d(e[t]).is(i) && r.apply(e[t], s)\n                }\n            }\n            function o(e) {\n                const t = (e && e.target && e.target.dom7EventData) || []\n                t.indexOf(e) < 0 && t.unshift(e), r.apply(this, t)\n            }\n            'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)),\n                n || (n = !1)\n            const c = a.split(' ')\n            let p\n            for (let e = 0; e < this.length; e += 1) {\n                const t = this[e]\n                if (i)\n                    for (p = 0; p < c.length; p += 1) {\n                        const e = c[p]\n                        t.dom7LiveListeners || (t.dom7LiveListeners = {}),\n                            t.dom7LiveListeners[e] ||\n                                (t.dom7LiveListeners[e] = []),\n                            t.dom7LiveListeners[e].push({\n                                listener: r,\n                                proxyListener: l,\n                            }),\n                            t.addEventListener(e, l, n)\n                    }\n                else\n                    for (p = 0; p < c.length; p += 1) {\n                        const e = c[p]\n                        t.dom7Listeners || (t.dom7Listeners = {}),\n                            t.dom7Listeners[e] || (t.dom7Listeners[e] = []),\n                            t.dom7Listeners[e].push({\n                                listener: r,\n                                proxyListener: o,\n                            }),\n                            t.addEventListener(e, o, n)\n                    }\n            }\n            return this\n        },\n        off: function () {\n            for (var e = arguments.length, t = new Array(e), s = 0; s < e; s++)\n                t[s] = arguments[s]\n            let [a, i, r, n] = t\n            'function' == typeof t[1] && (([a, r, n] = t), (i = void 0)),\n                n || (n = !1)\n            const l = a.split(' ')\n            for (let e = 0; e < l.length; e += 1) {\n                const t = l[e]\n                for (let e = 0; e < this.length; e += 1) {\n                    const s = this[e]\n                    let a\n                    if (\n                        (!i && s.dom7Listeners\n                            ? (a = s.dom7Listeners[t])\n                            : i &&\n                              s.dom7LiveListeners &&\n                              (a = s.dom7LiveListeners[t]),\n                        a && a.length)\n                    )\n                        for (let e = a.length - 1; e >= 0; e -= 1) {\n                            const i = a[e]\n                            ;(r && i.listener === r) ||\n                            (r &&\n                                i.listener &&\n                                i.listener.dom7proxy &&\n                                i.listener.dom7proxy === r)\n                                ? (s.removeEventListener(t, i.proxyListener, n),\n                                  a.splice(e, 1))\n                                : r ||\n                                  (s.removeEventListener(t, i.proxyListener, n),\n                                  a.splice(e, 1))\n                        }\n                }\n            }\n            return this\n        },\n        trigger: function () {\n            const e = r()\n            for (var t = arguments.length, s = new Array(t), a = 0; a < t; a++)\n                s[a] = arguments[a]\n            const i = s[0].split(' '),\n                n = s[1]\n            for (let t = 0; t < i.length; t += 1) {\n                const a = i[t]\n                for (let t = 0; t < this.length; t += 1) {\n                    const i = this[t]\n                    if (e.CustomEvent) {\n                        const t = new e.CustomEvent(a, {\n                            detail: n,\n                            bubbles: !0,\n                            cancelable: !0,\n                        })\n                        ;(i.dom7EventData = s.filter((e, t) => t > 0)),\n                            i.dispatchEvent(t),\n                            (i.dom7EventData = []),\n                            delete i.dom7EventData\n                    }\n                }\n            }\n            return this\n        },\n        transitionEnd: function (e) {\n            const t = this\n            return (\n                e &&\n                    t.on('transitionend', function s(a) {\n                        a.target === this &&\n                            (e.call(this, a), t.off('transitionend', s))\n                    }),\n                this\n            )\n        },\n        outerWidth: function (e) {\n            if (this.length > 0) {\n                if (e) {\n                    const e = this.styles()\n                    return (\n                        this[0].offsetWidth +\n                        parseFloat(e.getPropertyValue('margin-right')) +\n                        parseFloat(e.getPropertyValue('margin-left'))\n                    )\n                }\n                return this[0].offsetWidth\n            }\n            return null\n        },\n        outerHeight: function (e) {\n            if (this.length > 0) {\n                if (e) {\n                    const e = this.styles()\n                    return (\n                        this[0].offsetHeight +\n                        parseFloat(e.getPropertyValue('margin-top')) +\n                        parseFloat(e.getPropertyValue('margin-bottom'))\n                    )\n                }\n                return this[0].offsetHeight\n            }\n            return null\n        },\n        styles: function () {\n            const e = r()\n            return this[0] ? e.getComputedStyle(this[0], null) : {}\n        },\n        offset: function () {\n            if (this.length > 0) {\n                const e = r(),\n                    t = a(),\n                    s = this[0],\n                    i = s.getBoundingClientRect(),\n                    n = t.body,\n                    l = s.clientTop || n.clientTop || 0,\n                    o = s.clientLeft || n.clientLeft || 0,\n                    d = s === e ? e.scrollY : s.scrollTop,\n                    c = s === e ? e.scrollX : s.scrollLeft\n                return { top: i.top + d - l, left: i.left + c - o }\n            }\n            return null\n        },\n        css: function (e, t) {\n            const s = r()\n            let a\n            if (1 === arguments.length) {\n                if ('string' != typeof e) {\n                    for (a = 0; a < this.length; a += 1)\n                        for (const t in e) this[a].style[t] = e[t]\n                    return this\n                }\n                if (this[0])\n                    return s.getComputedStyle(this[0], null).getPropertyValue(e)\n            }\n            if (2 === arguments.length && 'string' == typeof e) {\n                for (a = 0; a < this.length; a += 1) this[a].style[e] = t\n                return this\n            }\n            return this\n        },\n        each: function (e) {\n            return e\n                ? (this.forEach((t, s) => {\n                      e.apply(t, [t, s])\n                  }),\n                  this)\n                : this\n        },\n        html: function (e) {\n            if (void 0 === e) return this[0] ? this[0].innerHTML : null\n            for (let t = 0; t < this.length; t += 1) this[t].innerHTML = e\n            return this\n        },\n        text: function (e) {\n            if (void 0 === e) return this[0] ? this[0].textContent.trim() : null\n            for (let t = 0; t < this.length; t += 1) this[t].textContent = e\n            return this\n        },\n        is: function (e) {\n            const t = r(),\n                s = a(),\n                i = this[0]\n            let l, o\n            if (!i || void 0 === e) return !1\n            if ('string' == typeof e) {\n                if (i.matches) return i.matches(e)\n                if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e)\n                if (i.msMatchesSelector) return i.msMatchesSelector(e)\n                for (l = d(e), o = 0; o < l.length; o += 1)\n                    if (l[o] === i) return !0\n                return !1\n            }\n            if (e === s) return i === s\n            if (e === t) return i === t\n            if (e.nodeType || e instanceof n) {\n                for (l = e.nodeType ? [e] : e, o = 0; o < l.length; o += 1)\n                    if (l[o] === i) return !0\n                return !1\n            }\n            return !1\n        },\n        index: function () {\n            let e,\n                t = this[0]\n            if (t) {\n                for (e = 0; null !== (t = t.previousSibling); )\n                    1 === t.nodeType && (e += 1)\n                return e\n            }\n        },\n        eq: function (e) {\n            if (void 0 === e) return this\n            const t = this.length\n            if (e > t - 1) return d([])\n            if (e < 0) {\n                const s = t + e\n                return d(s < 0 ? [] : [this[s]])\n            }\n            return d([this[e]])\n        },\n        append: function () {\n            let e\n            const t = a()\n            for (let s = 0; s < arguments.length; s += 1) {\n                e = s < 0 || arguments.length <= s ? void 0 : arguments[s]\n                for (let s = 0; s < this.length; s += 1)\n                    if ('string' == typeof e) {\n                        const a = t.createElement('div')\n                        for (a.innerHTML = e; a.firstChild; )\n                            this[s].appendChild(a.firstChild)\n                    } else if (e instanceof n)\n                        for (let t = 0; t < e.length; t += 1)\n                            this[s].appendChild(e[t])\n                    else this[s].appendChild(e)\n            }\n            return this\n        },\n        prepend: function (e) {\n            const t = a()\n            let s, i\n            for (s = 0; s < this.length; s += 1)\n                if ('string' == typeof e) {\n                    const a = t.createElement('div')\n                    for (\n                        a.innerHTML = e, i = a.childNodes.length - 1;\n                        i >= 0;\n                        i -= 1\n                    )\n                        this[s].insertBefore(\n                            a.childNodes[i],\n                            this[s].childNodes[0]\n                        )\n                } else if (e instanceof n)\n                    for (i = 0; i < e.length; i += 1)\n                        this[s].insertBefore(e[i], this[s].childNodes[0])\n                else this[s].insertBefore(e, this[s].childNodes[0])\n            return this\n        },\n        next: function (e) {\n            return this.length > 0\n                ? e\n                    ? this[0].nextElementSibling &&\n                      d(this[0].nextElementSibling).is(e)\n                        ? d([this[0].nextElementSibling])\n                        : d([])\n                    : this[0].nextElementSibling\n                    ? d([this[0].nextElementSibling])\n                    : d([])\n                : d([])\n        },\n        nextAll: function (e) {\n            const t = []\n            let s = this[0]\n            if (!s) return d([])\n            for (; s.nextElementSibling; ) {\n                const a = s.nextElementSibling\n                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a)\n            }\n            return d(t)\n        },\n        prev: function (e) {\n            if (this.length > 0) {\n                const t = this[0]\n                return e\n                    ? t.previousElementSibling &&\n                      d(t.previousElementSibling).is(e)\n                        ? d([t.previousElementSibling])\n                        : d([])\n                    : t.previousElementSibling\n                    ? d([t.previousElementSibling])\n                    : d([])\n            }\n            return d([])\n        },\n        prevAll: function (e) {\n            const t = []\n            let s = this[0]\n            if (!s) return d([])\n            for (; s.previousElementSibling; ) {\n                const a = s.previousElementSibling\n                e ? d(a).is(e) && t.push(a) : t.push(a), (s = a)\n            }\n            return d(t)\n        },\n        parent: function (e) {\n            const t = []\n            for (let s = 0; s < this.length; s += 1)\n                null !== this[s].parentNode &&\n                    (e\n                        ? d(this[s].parentNode).is(e) &&\n                          t.push(this[s].parentNode)\n                        : t.push(this[s].parentNode))\n            return d(t)\n        },\n        parents: function (e) {\n            const t = []\n            for (let s = 0; s < this.length; s += 1) {\n                let a = this[s].parentNode\n                for (; a; )\n                    e ? d(a).is(e) && t.push(a) : t.push(a), (a = a.parentNode)\n            }\n            return d(t)\n        },\n        closest: function (e) {\n            let t = this\n            return void 0 === e\n                ? d([])\n                : (t.is(e) || (t = t.parents(e).eq(0)), t)\n        },\n        find: function (e) {\n            const t = []\n            for (let s = 0; s < this.length; s += 1) {\n                const a = this[s].querySelectorAll(e)\n                for (let e = 0; e < a.length; e += 1) t.push(a[e])\n            }\n            return d(t)\n        },\n        children: function (e) {\n            const t = []\n            for (let s = 0; s < this.length; s += 1) {\n                const a = this[s].children\n                for (let s = 0; s < a.length; s += 1)\n                    (e && !d(a[s]).is(e)) || t.push(a[s])\n            }\n            return d(t)\n        },\n        filter: function (e) {\n            return d(o(this, e))\n        },\n        remove: function () {\n            for (let e = 0; e < this.length; e += 1)\n                this[e].parentNode && this[e].parentNode.removeChild(this[e])\n            return this\n        },\n    }\n    function p(e, t) {\n        return void 0 === t && (t = 0), setTimeout(e, t)\n    }\n    function u() {\n        return Date.now()\n    }\n    function h(e, t) {\n        void 0 === t && (t = 'x')\n        const s = r()\n        let a, i, n\n        const l = (function (e) {\n            const t = r()\n            let s\n            return (\n                t.getComputedStyle && (s = t.getComputedStyle(e, null)),\n                !s && e.currentStyle && (s = e.currentStyle),\n                s || (s = e.style),\n                s\n            )\n        })(e)\n        return (\n            s.WebKitCSSMatrix\n                ? ((i = l.transform || l.webkitTransform),\n                  i.split(',').length > 6 &&\n                      (i = i\n                          .split(', ')\n                          .map((e) => e.replace(',', '.'))\n                          .join(', ')),\n                  (n = new s.WebKitCSSMatrix('none' === i ? '' : i)))\n                : ((n =\n                      l.MozTransform ||\n                      l.OTransform ||\n                      l.MsTransform ||\n                      l.msTransform ||\n                      l.transform ||\n                      l\n                          .getPropertyValue('transform')\n                          .replace('translate(', 'matrix(1, 0, 0, 1,')),\n                  (a = n.toString().split(','))),\n            'x' === t &&\n                (i = s.WebKitCSSMatrix\n                    ? n.m41\n                    : 16 === a.length\n                    ? parseFloat(a[12])\n                    : parseFloat(a[4])),\n            'y' === t &&\n                (i = s.WebKitCSSMatrix\n                    ? n.m42\n                    : 16 === a.length\n                    ? parseFloat(a[13])\n                    : parseFloat(a[5])),\n            i || 0\n        )\n    }\n    function m(e) {\n        return (\n            'object' == typeof e &&\n            null !== e &&\n            e.constructor &&\n            'Object' === Object.prototype.toString.call(e).slice(8, -1)\n        )\n    }\n    function f(e) {\n        return 'undefined' != typeof window && void 0 !== window.HTMLElement\n            ? e instanceof HTMLElement\n            : e && (1 === e.nodeType || 11 === e.nodeType)\n    }\n    function g() {\n        const e = Object(arguments.length <= 0 ? void 0 : arguments[0]),\n            t = ['__proto__', 'constructor', 'prototype']\n        for (let s = 1; s < arguments.length; s += 1) {\n            const a = s < 0 || arguments.length <= s ? void 0 : arguments[s]\n            if (null != a && !f(a)) {\n                const s = Object.keys(Object(a)).filter((e) => t.indexOf(e) < 0)\n                for (let t = 0, i = s.length; t < i; t += 1) {\n                    const i = s[t],\n                        r = Object.getOwnPropertyDescriptor(a, i)\n                    void 0 !== r &&\n                        r.enumerable &&\n                        (m(e[i]) && m(a[i])\n                            ? a[i].__swiper__\n                                ? (e[i] = a[i])\n                                : g(e[i], a[i])\n                            : !m(e[i]) && m(a[i])\n                            ? ((e[i] = {}),\n                              a[i].__swiper__ ? (e[i] = a[i]) : g(e[i], a[i]))\n                            : (e[i] = a[i]))\n                }\n            }\n        }\n        return e\n    }\n    function v(e, t, s) {\n        e.style.setProperty(t, s)\n    }\n    function w(e) {\n        let { swiper: t, targetPosition: s, side: a } = e\n        const i = r(),\n            n = -t.translate\n        let l,\n            o = null\n        const d = t.params.speed\n        ;(t.wrapperEl.style.scrollSnapType = 'none'),\n            i.cancelAnimationFrame(t.cssModeFrameID)\n        const c = s > n ? 'next' : 'prev',\n            p = (e, t) => ('next' === c && e >= t) || ('prev' === c && e <= t),\n            u = () => {\n                ;(l = new Date().getTime()), null === o && (o = l)\n                const e = Math.max(Math.min((l - o) / d, 1), 0),\n                    r = 0.5 - Math.cos(e * Math.PI) / 2\n                let c = n + r * (s - n)\n                if (\n                    (p(c, s) && (c = s),\n                    t.wrapperEl.scrollTo({ [a]: c }),\n                    p(c, s))\n                )\n                    return (\n                        (t.wrapperEl.style.overflow = 'hidden'),\n                        (t.wrapperEl.style.scrollSnapType = ''),\n                        setTimeout(() => {\n                            ;(t.wrapperEl.style.overflow = ''),\n                                t.wrapperEl.scrollTo({ [a]: c })\n                        }),\n                        void i.cancelAnimationFrame(t.cssModeFrameID)\n                    )\n                t.cssModeFrameID = i.requestAnimationFrame(u)\n            }\n        u()\n    }\n    let b, x, y\n    function E() {\n        return (\n            b ||\n                (b = (function () {\n                    const e = r(),\n                        t = a()\n                    return {\n                        smoothScroll:\n                            t.documentElement &&\n                            'scrollBehavior' in t.documentElement.style,\n                        touch: !!(\n                            'ontouchstart' in e ||\n                            (e.DocumentTouch && t instanceof e.DocumentTouch)\n                        ),\n                        passiveListener: (function () {\n                            let t = !1\n                            try {\n                                const s = Object.defineProperty({}, 'passive', {\n                                    get() {\n                                        t = !0\n                                    },\n                                })\n                                e.addEventListener(\n                                    'testPassiveListener',\n                                    null,\n                                    s\n                                )\n                            } catch (e) {}\n                            return t\n                        })(),\n                        gestures: 'ongesturestart' in e,\n                    }\n                })()),\n            b\n        )\n    }\n    function T(e) {\n        return (\n            void 0 === e && (e = {}),\n            x ||\n                (x = (function (e) {\n                    let { userAgent: t } = void 0 === e ? {} : e\n                    const s = E(),\n                        a = r(),\n                        i = a.navigator.platform,\n                        n = t || a.navigator.userAgent,\n                        l = { ios: !1, android: !1 },\n                        o = a.screen.width,\n                        d = a.screen.height,\n                        c = n.match(/(Android);?[\\s\\/]+([\\d.]+)?/)\n                    let p = n.match(/(iPad).*OS\\s([\\d_]+)/)\n                    const u = n.match(/(iPod)(.*OS\\s([\\d_]+))?/),\n                        h = !p && n.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/),\n                        m = 'Win32' === i\n                    let f = 'MacIntel' === i\n                    return (\n                        !p &&\n                            f &&\n                            s.touch &&\n                            [\n                                '1024x1366',\n                                '1366x1024',\n                                '834x1194',\n                                '1194x834',\n                                '834x1112',\n                                '1112x834',\n                                '768x1024',\n                                '1024x768',\n                                '820x1180',\n                                '1180x820',\n                                '810x1080',\n                                '1080x810',\n                            ].indexOf(`${o}x${d}`) >= 0 &&\n                            ((p = n.match(/(Version)\\/([\\d.]+)/)),\n                            p || (p = [0, 1, '13_0_0']),\n                            (f = !1)),\n                        c && !m && ((l.os = 'android'), (l.android = !0)),\n                        (p || h || u) && ((l.os = 'ios'), (l.ios = !0)),\n                        l\n                    )\n                })(e)),\n            x\n        )\n    }\n    function C() {\n        return (\n            y ||\n                (y = (function () {\n                    const e = r()\n                    return {\n                        isSafari: (function () {\n                            const t = e.navigator.userAgent.toLowerCase()\n                            return (\n                                t.indexOf('safari') >= 0 &&\n                                t.indexOf('chrome') < 0 &&\n                                t.indexOf('android') < 0\n                            )\n                        })(),\n                        isWebView:\n                            /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(\n                                e.navigator.userAgent\n                            ),\n                    }\n                })()),\n            y\n        )\n    }\n    Object.keys(c).forEach((e) => {\n        Object.defineProperty(d.fn, e, { value: c[e], writable: !0 })\n    })\n    var $ = {\n        on(e, t, s) {\n            const a = this\n            if ('function' != typeof t) return a\n            const i = s ? 'unshift' : 'push'\n            return (\n                e.split(' ').forEach((e) => {\n                    a.eventsListeners[e] || (a.eventsListeners[e] = []),\n                        a.eventsListeners[e][i](t)\n                }),\n                a\n            )\n        },\n        once(e, t, s) {\n            const a = this\n            if ('function' != typeof t) return a\n            function i() {\n                a.off(e, i), i.__emitterProxy && delete i.__emitterProxy\n                for (\n                    var s = arguments.length, r = new Array(s), n = 0;\n                    n < s;\n                    n++\n                )\n                    r[n] = arguments[n]\n                t.apply(a, r)\n            }\n            return (i.__emitterProxy = t), a.on(e, i, s)\n        },\n        onAny(e, t) {\n            const s = this\n            if ('function' != typeof e) return s\n            const a = t ? 'unshift' : 'push'\n            return (\n                s.eventsAnyListeners.indexOf(e) < 0 &&\n                    s.eventsAnyListeners[a](e),\n                s\n            )\n        },\n        offAny(e) {\n            const t = this\n            if (!t.eventsAnyListeners) return t\n            const s = t.eventsAnyListeners.indexOf(e)\n            return s >= 0 && t.eventsAnyListeners.splice(s, 1), t\n        },\n        off(e, t) {\n            const s = this\n            return s.eventsListeners\n                ? (e.split(' ').forEach((e) => {\n                      void 0 === t\n                          ? (s.eventsListeners[e] = [])\n                          : s.eventsListeners[e] &&\n                            s.eventsListeners[e].forEach((a, i) => {\n                                ;(a === t ||\n                                    (a.__emitterProxy &&\n                                        a.__emitterProxy === t)) &&\n                                    s.eventsListeners[e].splice(i, 1)\n                            })\n                  }),\n                  s)\n                : s\n        },\n        emit() {\n            const e = this\n            if (!e.eventsListeners) return e\n            let t, s, a\n            for (var i = arguments.length, r = new Array(i), n = 0; n < i; n++)\n                r[n] = arguments[n]\n            'string' == typeof r[0] || Array.isArray(r[0])\n                ? ((t = r[0]), (s = r.slice(1, r.length)), (a = e))\n                : ((t = r[0].events), (s = r[0].data), (a = r[0].context || e)),\n                s.unshift(a)\n            return (\n                (Array.isArray(t) ? t : t.split(' ')).forEach((t) => {\n                    e.eventsAnyListeners &&\n                        e.eventsAnyListeners.length &&\n                        e.eventsAnyListeners.forEach((e) => {\n                            e.apply(a, [t, ...s])\n                        }),\n                        e.eventsListeners &&\n                            e.eventsListeners[t] &&\n                            e.eventsListeners[t].forEach((e) => {\n                                e.apply(a, s)\n                            })\n                }),\n                e\n            )\n        },\n    }\n    var S = {\n        updateSize: function () {\n            const e = this\n            let t, s\n            const a = e.$el\n            ;(t =\n                void 0 !== e.params.width && null !== e.params.width\n                    ? e.params.width\n                    : a[0].clientWidth),\n                (s =\n                    void 0 !== e.params.height && null !== e.params.height\n                        ? e.params.height\n                        : a[0].clientHeight),\n                (0 === t && e.isHorizontal()) ||\n                    (0 === s && e.isVertical()) ||\n                    ((t =\n                        t -\n                        parseInt(a.css('padding-left') || 0, 10) -\n                        parseInt(a.css('padding-right') || 0, 10)),\n                    (s =\n                        s -\n                        parseInt(a.css('padding-top') || 0, 10) -\n                        parseInt(a.css('padding-bottom') || 0, 10)),\n                    Number.isNaN(t) && (t = 0),\n                    Number.isNaN(s) && (s = 0),\n                    Object.assign(e, {\n                        width: t,\n                        height: s,\n                        size: e.isHorizontal() ? t : s,\n                    }))\n        },\n        updateSlides: function () {\n            const e = this\n            function t(t) {\n                return e.isHorizontal()\n                    ? t\n                    : {\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                      }[t]\n            }\n            function s(e, s) {\n                return parseFloat(e.getPropertyValue(t(s)) || 0)\n            }\n            const a = e.params,\n                { $wrapperEl: i, size: r, rtlTranslate: n, wrongRTL: l } = e,\n                o = e.virtual && a.virtual.enabled,\n                d = o ? e.virtual.slides.length : e.slides.length,\n                c = i.children(`.${e.params.slideClass}`),\n                p = o ? e.virtual.slides.length : c.length\n            let u = []\n            const h = [],\n                m = []\n            let f = a.slidesOffsetBefore\n            'function' == typeof f && (f = a.slidesOffsetBefore.call(e))\n            let g = a.slidesOffsetAfter\n            'function' == typeof g && (g = a.slidesOffsetAfter.call(e))\n            const w = e.snapGrid.length,\n                b = e.slidesGrid.length\n            let x = a.spaceBetween,\n                y = -f,\n                E = 0,\n                T = 0\n            if (void 0 === r) return\n            'string' == typeof x &&\n                x.indexOf('%') >= 0 &&\n                (x = (parseFloat(x.replace('%', '')) / 100) * r),\n                (e.virtualSize = -x),\n                n\n                    ? c.css({ marginLeft: '', marginBottom: '', marginTop: '' })\n                    : c.css({\n                          marginRight: '',\n                          marginBottom: '',\n                          marginTop: '',\n                      }),\n                a.centeredSlides &&\n                    a.cssMode &&\n                    (v(e.wrapperEl, '--swiper-centered-offset-before', ''),\n                    v(e.wrapperEl, '--swiper-centered-offset-after', ''))\n            const C = a.grid && a.grid.rows > 1 && e.grid\n            let $\n            C && e.grid.initSlides(p)\n            const S =\n                'auto' === a.slidesPerView &&\n                a.breakpoints &&\n                Object.keys(a.breakpoints).filter(\n                    (e) => void 0 !== a.breakpoints[e].slidesPerView\n                ).length > 0\n            for (let i = 0; i < p; i += 1) {\n                $ = 0\n                const n = c.eq(i)\n                if (\n                    (C && e.grid.updateSlide(i, n, p, t),\n                    'none' !== n.css('display'))\n                ) {\n                    if ('auto' === a.slidesPerView) {\n                        S && (c[i].style[t('width')] = '')\n                        const r = getComputedStyle(n[0]),\n                            l = n[0].style.transform,\n                            o = n[0].style.webkitTransform\n                        if (\n                            (l && (n[0].style.transform = 'none'),\n                            o && (n[0].style.webkitTransform = 'none'),\n                            a.roundLengths)\n                        )\n                            $ = e.isHorizontal()\n                                ? n.outerWidth(!0)\n                                : n.outerHeight(!0)\n                        else {\n                            const e = s(r, 'width'),\n                                t = s(r, 'padding-left'),\n                                a = s(r, 'padding-right'),\n                                i = s(r, 'margin-left'),\n                                l = s(r, 'margin-right'),\n                                o = r.getPropertyValue('box-sizing')\n                            if (o && 'border-box' === o) $ = e + i + l\n                            else {\n                                const { clientWidth: s, offsetWidth: r } = n[0]\n                                $ = e + t + a + i + l + (r - s)\n                            }\n                        }\n                        l && (n[0].style.transform = l),\n                            o && (n[0].style.webkitTransform = o),\n                            a.roundLengths && ($ = Math.floor($))\n                    } else\n                        ($ = (r - (a.slidesPerView - 1) * x) / a.slidesPerView),\n                            a.roundLengths && ($ = Math.floor($)),\n                            c[i] && (c[i].style[t('width')] = `${$}px`)\n                    c[i] && (c[i].swiperSlideSize = $),\n                        m.push($),\n                        a.centeredSlides\n                            ? ((y = y + $ / 2 + E / 2 + x),\n                              0 === E && 0 !== i && (y = y - r / 2 - x),\n                              0 === i && (y = y - r / 2 - x),\n                              Math.abs(y) < 0.001 && (y = 0),\n                              a.roundLengths && (y = Math.floor(y)),\n                              T % a.slidesPerGroup == 0 && u.push(y),\n                              h.push(y))\n                            : (a.roundLengths && (y = Math.floor(y)),\n                              (T - Math.min(e.params.slidesPerGroupSkip, T)) %\n                                  e.params.slidesPerGroup ==\n                                  0 && u.push(y),\n                              h.push(y),\n                              (y = y + $ + x)),\n                        (e.virtualSize += $ + x),\n                        (E = $),\n                        (T += 1)\n                }\n            }\n            if (\n                ((e.virtualSize = Math.max(e.virtualSize, r) + g),\n                n &&\n                    l &&\n                    ('slide' === a.effect || 'coverflow' === a.effect) &&\n                    i.css({ width: `${e.virtualSize + a.spaceBetween}px` }),\n                a.setWrapperSize &&\n                    i.css({\n                        [t('width')]: `${e.virtualSize + a.spaceBetween}px`,\n                    }),\n                C && e.grid.updateWrapperSize($, u, t),\n                !a.centeredSlides)\n            ) {\n                const t = []\n                for (let s = 0; s < u.length; s += 1) {\n                    let i = u[s]\n                    a.roundLengths && (i = Math.floor(i)),\n                        u[s] <= e.virtualSize - r && t.push(i)\n                }\n                ;(u = t),\n                    Math.floor(e.virtualSize - r) -\n                        Math.floor(u[u.length - 1]) >\n                        1 && u.push(e.virtualSize - r)\n            }\n            if ((0 === u.length && (u = [0]), 0 !== a.spaceBetween)) {\n                const s =\n                    e.isHorizontal() && n ? 'marginLeft' : t('marginRight')\n                c.filter((e, t) => !a.cssMode || t !== c.length - 1).css({\n                    [s]: `${x}px`,\n                })\n            }\n            if (a.centeredSlides && a.centeredSlidesBounds) {\n                let e = 0\n                m.forEach((t) => {\n                    e += t + (a.spaceBetween ? a.spaceBetween : 0)\n                }),\n                    (e -= a.spaceBetween)\n                const t = e - r\n                u = u.map((e) => (e < 0 ? -f : e > t ? t + g : e))\n            }\n            if (a.centerInsufficientSlides) {\n                let e = 0\n                if (\n                    (m.forEach((t) => {\n                        e += t + (a.spaceBetween ? a.spaceBetween : 0)\n                    }),\n                    (e -= a.spaceBetween),\n                    e < r)\n                ) {\n                    const t = (r - e) / 2\n                    u.forEach((e, s) => {\n                        u[s] = e - t\n                    }),\n                        h.forEach((e, s) => {\n                            h[s] = e + t\n                        })\n                }\n            }\n            if (\n                (Object.assign(e, {\n                    slides: c,\n                    snapGrid: u,\n                    slidesGrid: h,\n                    slidesSizesGrid: m,\n                }),\n                a.centeredSlides && a.cssMode && !a.centeredSlidesBounds)\n            ) {\n                v(e.wrapperEl, '--swiper-centered-offset-before', -u[0] + 'px'),\n                    v(\n                        e.wrapperEl,\n                        '--swiper-centered-offset-after',\n                        e.size / 2 - m[m.length - 1] / 2 + 'px'\n                    )\n                const t = -e.snapGrid[0],\n                    s = -e.slidesGrid[0]\n                ;(e.snapGrid = e.snapGrid.map((e) => e + t)),\n                    (e.slidesGrid = e.slidesGrid.map((e) => e + s))\n            }\n            if (\n                (p !== d && e.emit('slidesLengthChange'),\n                u.length !== w &&\n                    (e.params.watchOverflow && e.checkOverflow(),\n                    e.emit('snapGridLengthChange')),\n                h.length !== b && e.emit('slidesGridLengthChange'),\n                a.watchSlidesProgress && e.updateSlidesOffset(),\n                !(\n                    o ||\n                    a.cssMode ||\n                    ('slide' !== a.effect && 'fade' !== a.effect)\n                ))\n            ) {\n                const t = `${a.containerModifierClass}backface-hidden`,\n                    s = e.$el.hasClass(t)\n                p <= a.maxBackfaceHiddenSlides\n                    ? s || e.$el.addClass(t)\n                    : s && e.$el.removeClass(t)\n            }\n        },\n        updateAutoHeight: function (e) {\n            const t = this,\n                s = [],\n                a = t.virtual && t.params.virtual.enabled\n            let i,\n                r = 0\n            'number' == typeof e\n                ? t.setTransition(e)\n                : !0 === e && t.setTransition(t.params.speed)\n            const n = (e) =>\n                a\n                    ? t.slides.filter(\n                          (t) =>\n                              parseInt(\n                                  t.getAttribute('data-swiper-slide-index'),\n                                  10\n                              ) === e\n                      )[0]\n                    : t.slides.eq(e)[0]\n            if ('auto' !== t.params.slidesPerView && t.params.slidesPerView > 1)\n                if (t.params.centeredSlides)\n                    t.visibleSlides.each((e) => {\n                        s.push(e)\n                    })\n                else\n                    for (i = 0; i < Math.ceil(t.params.slidesPerView); i += 1) {\n                        const e = t.activeIndex + i\n                        if (e > t.slides.length && !a) break\n                        s.push(n(e))\n                    }\n            else s.push(n(t.activeIndex))\n            for (i = 0; i < s.length; i += 1)\n                if (void 0 !== s[i]) {\n                    const e = s[i].offsetHeight\n                    r = e > r ? e : r\n                }\n            ;(r || 0 === r) && t.$wrapperEl.css('height', `${r}px`)\n        },\n        updateSlidesOffset: function () {\n            const e = this,\n                t = e.slides\n            for (let s = 0; s < t.length; s += 1)\n                t[s].swiperSlideOffset = e.isHorizontal()\n                    ? t[s].offsetLeft\n                    : t[s].offsetTop\n        },\n        updateSlidesProgress: function (e) {\n            void 0 === e && (e = (this && this.translate) || 0)\n            const t = this,\n                s = t.params,\n                { slides: a, rtlTranslate: i, snapGrid: r } = t\n            if (0 === a.length) return\n            void 0 === a[0].swiperSlideOffset && t.updateSlidesOffset()\n            let n = -e\n            i && (n = e),\n                a.removeClass(s.slideVisibleClass),\n                (t.visibleSlidesIndexes = []),\n                (t.visibleSlides = [])\n            for (let e = 0; e < a.length; e += 1) {\n                const l = a[e]\n                let o = l.swiperSlideOffset\n                s.cssMode && s.centeredSlides && (o -= a[0].swiperSlideOffset)\n                const d =\n                        (n + (s.centeredSlides ? t.minTranslate() : 0) - o) /\n                        (l.swiperSlideSize + s.spaceBetween),\n                    c =\n                        (n -\n                            r[0] +\n                            (s.centeredSlides ? t.minTranslate() : 0) -\n                            o) /\n                        (l.swiperSlideSize + s.spaceBetween),\n                    p = -(n - o),\n                    u = p + t.slidesSizesGrid[e]\n                ;((p >= 0 && p < t.size - 1) ||\n                    (u > 1 && u <= t.size) ||\n                    (p <= 0 && u >= t.size)) &&\n                    (t.visibleSlides.push(l),\n                    t.visibleSlidesIndexes.push(e),\n                    a.eq(e).addClass(s.slideVisibleClass)),\n                    (l.progress = i ? -d : d),\n                    (l.originalProgress = i ? -c : c)\n            }\n            t.visibleSlides = d(t.visibleSlides)\n        },\n        updateProgress: function (e) {\n            const t = this\n            if (void 0 === e) {\n                const s = t.rtlTranslate ? -1 : 1\n                e = (t && t.translate && t.translate * s) || 0\n            }\n            const s = t.params,\n                a = t.maxTranslate() - t.minTranslate()\n            let { progress: i, isBeginning: r, isEnd: n } = t\n            const l = r,\n                o = n\n            0 === a\n                ? ((i = 0), (r = !0), (n = !0))\n                : ((i = (e - t.minTranslate()) / a),\n                  (r = i <= 0),\n                  (n = i >= 1)),\n                Object.assign(t, { progress: i, isBeginning: r, isEnd: n }),\n                (s.watchSlidesProgress || (s.centeredSlides && s.autoHeight)) &&\n                    t.updateSlidesProgress(e),\n                r && !l && t.emit('reachBeginning toEdge'),\n                n && !o && t.emit('reachEnd toEdge'),\n                ((l && !r) || (o && !n)) && t.emit('fromEdge'),\n                t.emit('progress', i)\n        },\n        updateSlidesClasses: function () {\n            const e = this,\n                {\n                    slides: t,\n                    params: s,\n                    $wrapperEl: a,\n                    activeIndex: i,\n                    realIndex: r,\n                } = e,\n                n = e.virtual && s.virtual.enabled\n            let l\n            t.removeClass(\n                `${s.slideActiveClass} ${s.slideNextClass} ${s.slidePrevClass} ${s.slideDuplicateActiveClass} ${s.slideDuplicateNextClass} ${s.slideDuplicatePrevClass}`\n            ),\n                (l = n\n                    ? e.$wrapperEl.find(\n                          `.${s.slideClass}[data-swiper-slide-index=\"${i}\"]`\n                      )\n                    : t.eq(i)),\n                l.addClass(s.slideActiveClass),\n                s.loop &&\n                    (l.hasClass(s.slideDuplicateClass)\n                        ? a\n                              .children(\n                                  `.${s.slideClass}:not(.${s.slideDuplicateClass})[data-swiper-slide-index=\"${r}\"]`\n                              )\n                              .addClass(s.slideDuplicateActiveClass)\n                        : a\n                              .children(\n                                  `.${s.slideClass}.${s.slideDuplicateClass}[data-swiper-slide-index=\"${r}\"]`\n                              )\n                              .addClass(s.slideDuplicateActiveClass))\n            let o = l\n                .nextAll(`.${s.slideClass}`)\n                .eq(0)\n                .addClass(s.slideNextClass)\n            s.loop &&\n                0 === o.length &&\n                ((o = t.eq(0)), o.addClass(s.slideNextClass))\n            let d = l\n                .prevAll(`.${s.slideClass}`)\n                .eq(0)\n                .addClass(s.slidePrevClass)\n            s.loop &&\n                0 === d.length &&\n                ((d = t.eq(-1)), d.addClass(s.slidePrevClass)),\n                s.loop &&\n                    (o.hasClass(s.slideDuplicateClass)\n                        ? a\n                              .children(\n                                  `.${s.slideClass}:not(.${\n                                      s.slideDuplicateClass\n                                  })[data-swiper-slide-index=\"${o.attr(\n                                      'data-swiper-slide-index'\n                                  )}\"]`\n                              )\n                              .addClass(s.slideDuplicateNextClass)\n                        : a\n                              .children(\n                                  `.${s.slideClass}.${\n                                      s.slideDuplicateClass\n                                  }[data-swiper-slide-index=\"${o.attr(\n                                      'data-swiper-slide-index'\n                                  )}\"]`\n                              )\n                              .addClass(s.slideDuplicateNextClass),\n                    d.hasClass(s.slideDuplicateClass)\n                        ? a\n                              .children(\n                                  `.${s.slideClass}:not(.${\n                                      s.slideDuplicateClass\n                                  })[data-swiper-slide-index=\"${d.attr(\n                                      'data-swiper-slide-index'\n                                  )}\"]`\n                              )\n                              .addClass(s.slideDuplicatePrevClass)\n                        : a\n                              .children(\n                                  `.${s.slideClass}.${\n                                      s.slideDuplicateClass\n                                  }[data-swiper-slide-index=\"${d.attr(\n                                      'data-swiper-slide-index'\n                                  )}\"]`\n                              )\n                              .addClass(s.slideDuplicatePrevClass)),\n                e.emitSlidesClasses()\n        },\n        updateActiveIndex: function (e) {\n            const t = this,\n                s = t.rtlTranslate ? t.translate : -t.translate,\n                {\n                    slidesGrid: a,\n                    snapGrid: i,\n                    params: r,\n                    activeIndex: n,\n                    realIndex: l,\n                    snapIndex: o,\n                } = t\n            let d,\n                c = e\n            if (void 0 === c) {\n                for (let e = 0; e < a.length; e += 1)\n                    void 0 !== a[e + 1]\n                        ? s >= a[e] && s < a[e + 1] - (a[e + 1] - a[e]) / 2\n                            ? (c = e)\n                            : s >= a[e] && s < a[e + 1] && (c = e + 1)\n                        : s >= a[e] && (c = e)\n                r.normalizeSlideIndex && (c < 0 || void 0 === c) && (c = 0)\n            }\n            if (i.indexOf(s) >= 0) d = i.indexOf(s)\n            else {\n                const e = Math.min(r.slidesPerGroupSkip, c)\n                d = e + Math.floor((c - e) / r.slidesPerGroup)\n            }\n            if ((d >= i.length && (d = i.length - 1), c === n))\n                return void (\n                    d !== o && ((t.snapIndex = d), t.emit('snapIndexChange'))\n                )\n            const p = parseInt(\n                t.slides.eq(c).attr('data-swiper-slide-index') || c,\n                10\n            )\n            Object.assign(t, {\n                snapIndex: d,\n                realIndex: p,\n                previousIndex: n,\n                activeIndex: c,\n            }),\n                t.emit('activeIndexChange'),\n                t.emit('snapIndexChange'),\n                l !== p && t.emit('realIndexChange'),\n                (t.initialized || t.params.runCallbacksOnInit) &&\n                    t.emit('slideChange')\n        },\n        updateClickedSlide: function (e) {\n            const t = this,\n                s = t.params,\n                a = d(e).closest(`.${s.slideClass}`)[0]\n            let i,\n                r = !1\n            if (a)\n                for (let e = 0; e < t.slides.length; e += 1)\n                    if (t.slides[e] === a) {\n                        ;(r = !0), (i = e)\n                        break\n                    }\n            if (!a || !r)\n                return (t.clickedSlide = void 0), void (t.clickedIndex = void 0)\n            ;(t.clickedSlide = a),\n                t.virtual && t.params.virtual.enabled\n                    ? (t.clickedIndex = parseInt(\n                          d(a).attr('data-swiper-slide-index'),\n                          10\n                      ))\n                    : (t.clickedIndex = i),\n                s.slideToClickedSlide &&\n                    void 0 !== t.clickedIndex &&\n                    t.clickedIndex !== t.activeIndex &&\n                    t.slideToClickedSlide()\n        },\n    }\n    var M = {\n        getTranslate: function (e) {\n            void 0 === e && (e = this.isHorizontal() ? 'x' : 'y')\n            const {\n                params: t,\n                rtlTranslate: s,\n                translate: a,\n                $wrapperEl: i,\n            } = this\n            if (t.virtualTranslate) return s ? -a : a\n            if (t.cssMode) return a\n            let r = h(i[0], e)\n            return s && (r = -r), r || 0\n        },\n        setTranslate: function (e, t) {\n            const s = this,\n                {\n                    rtlTranslate: a,\n                    params: i,\n                    $wrapperEl: r,\n                    wrapperEl: n,\n                    progress: l,\n                } = s\n            let o,\n                d = 0,\n                c = 0\n            s.isHorizontal() ? (d = a ? -e : e) : (c = e),\n                i.roundLengths && ((d = Math.floor(d)), (c = Math.floor(c))),\n                i.cssMode\n                    ? (n[s.isHorizontal() ? 'scrollLeft' : 'scrollTop'] =\n                          s.isHorizontal() ? -d : -c)\n                    : i.virtualTranslate ||\n                      r.transform(`translate3d(${d}px, ${c}px, 0px)`),\n                (s.previousTranslate = s.translate),\n                (s.translate = s.isHorizontal() ? d : c)\n            const p = s.maxTranslate() - s.minTranslate()\n            ;(o = 0 === p ? 0 : (e - s.minTranslate()) / p),\n                o !== l && s.updateProgress(e),\n                s.emit('setTranslate', s.translate, t)\n        },\n        minTranslate: function () {\n            return -this.snapGrid[0]\n        },\n        maxTranslate: function () {\n            return -this.snapGrid[this.snapGrid.length - 1]\n        },\n        translateTo: function (e, t, s, a, i) {\n            void 0 === e && (e = 0),\n                void 0 === t && (t = this.params.speed),\n                void 0 === s && (s = !0),\n                void 0 === a && (a = !0)\n            const r = this,\n                { params: n, wrapperEl: l } = r\n            if (r.animating && n.preventInteractionOnTransition) return !1\n            const o = r.minTranslate(),\n                d = r.maxTranslate()\n            let c\n            if (\n                ((c = a && e > o ? o : a && e < d ? d : e),\n                r.updateProgress(c),\n                n.cssMode)\n            ) {\n                const e = r.isHorizontal()\n                if (0 === t) l[e ? 'scrollLeft' : 'scrollTop'] = -c\n                else {\n                    if (!r.support.smoothScroll)\n                        return (\n                            w({\n                                swiper: r,\n                                targetPosition: -c,\n                                side: e ? 'left' : 'top',\n                            }),\n                            !0\n                        )\n                    l.scrollTo({ [e ? 'left' : 'top']: -c, behavior: 'smooth' })\n                }\n                return !0\n            }\n            return (\n                0 === t\n                    ? (r.setTransition(0),\n                      r.setTranslate(c),\n                      s &&\n                          (r.emit('beforeTransitionStart', t, i),\n                          r.emit('transitionEnd')))\n                    : (r.setTransition(t),\n                      r.setTranslate(c),\n                      s &&\n                          (r.emit('beforeTransitionStart', t, i),\n                          r.emit('transitionStart')),\n                      r.animating ||\n                          ((r.animating = !0),\n                          r.onTranslateToWrapperTransitionEnd ||\n                              (r.onTranslateToWrapperTransitionEnd = function (\n                                  e\n                              ) {\n                                  r &&\n                                      !r.destroyed &&\n                                      e.target === this &&\n                                      (r.$wrapperEl[0].removeEventListener(\n                                          'transitionend',\n                                          r.onTranslateToWrapperTransitionEnd\n                                      ),\n                                      r.$wrapperEl[0].removeEventListener(\n                                          'webkitTransitionEnd',\n                                          r.onTranslateToWrapperTransitionEnd\n                                      ),\n                                      (r.onTranslateToWrapperTransitionEnd =\n                                          null),\n                                      delete r.onTranslateToWrapperTransitionEnd,\n                                      s && r.emit('transitionEnd'))\n                              }),\n                          r.$wrapperEl[0].addEventListener(\n                              'transitionend',\n                              r.onTranslateToWrapperTransitionEnd\n                          ),\n                          r.$wrapperEl[0].addEventListener(\n                              'webkitTransitionEnd',\n                              r.onTranslateToWrapperTransitionEnd\n                          ))),\n                !0\n            )\n        },\n    }\n    function P(e) {\n        let { swiper: t, runCallbacks: s, direction: a, step: i } = e\n        const { activeIndex: r, previousIndex: n } = t\n        let l = a\n        if (\n            (l || (l = r > n ? 'next' : r < n ? 'prev' : 'reset'),\n            t.emit(`transition${i}`),\n            s && r !== n)\n        ) {\n            if ('reset' === l) return void t.emit(`slideResetTransition${i}`)\n            t.emit(`slideChangeTransition${i}`),\n                'next' === l\n                    ? t.emit(`slideNextTransition${i}`)\n                    : t.emit(`slidePrevTransition${i}`)\n        }\n    }\n    var k = {\n        slideTo: function (e, t, s, a, i) {\n            if (\n                (void 0 === e && (e = 0),\n                void 0 === t && (t = this.params.speed),\n                void 0 === s && (s = !0),\n                'number' != typeof e && 'string' != typeof e)\n            )\n                throw new Error(\n                    `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof e}] given.`\n                )\n            if ('string' == typeof e) {\n                const t = parseInt(e, 10)\n                if (!isFinite(t))\n                    throw new Error(\n                        `The passed-in 'index' (string) couldn't be converted to 'number'. [${e}] given.`\n                    )\n                e = t\n            }\n            const r = this\n            let n = e\n            n < 0 && (n = 0)\n            const {\n                params: l,\n                snapGrid: o,\n                slidesGrid: d,\n                previousIndex: c,\n                activeIndex: p,\n                rtlTranslate: u,\n                wrapperEl: h,\n                enabled: m,\n            } = r\n            if (\n                (r.animating && l.preventInteractionOnTransition) ||\n                (!m && !a && !i)\n            )\n                return !1\n            const f = Math.min(r.params.slidesPerGroupSkip, n)\n            let g = f + Math.floor((n - f) / r.params.slidesPerGroup)\n            g >= o.length && (g = o.length - 1),\n                (p || l.initialSlide || 0) === (c || 0) &&\n                    s &&\n                    r.emit('beforeSlideChangeStart')\n            const v = -o[g]\n            if ((r.updateProgress(v), l.normalizeSlideIndex))\n                for (let e = 0; e < d.length; e += 1) {\n                    const t = -Math.floor(100 * v),\n                        s = Math.floor(100 * d[e]),\n                        a = Math.floor(100 * d[e + 1])\n                    void 0 !== d[e + 1]\n                        ? t >= s && t < a - (a - s) / 2\n                            ? (n = e)\n                            : t >= s && t < a && (n = e + 1)\n                        : t >= s && (n = e)\n                }\n            if (r.initialized && n !== p) {\n                if (\n                    !r.allowSlideNext &&\n                    v < r.translate &&\n                    v < r.minTranslate()\n                )\n                    return !1\n                if (\n                    !r.allowSlidePrev &&\n                    v > r.translate &&\n                    v > r.maxTranslate() &&\n                    (p || 0) !== n\n                )\n                    return !1\n            }\n            let b\n            if (\n                ((b = n > p ? 'next' : n < p ? 'prev' : 'reset'),\n                (u && -v === r.translate) || (!u && v === r.translate))\n            )\n                return (\n                    r.updateActiveIndex(n),\n                    l.autoHeight && r.updateAutoHeight(),\n                    r.updateSlidesClasses(),\n                    'slide' !== l.effect && r.setTranslate(v),\n                    'reset' !== b &&\n                        (r.transitionStart(s, b), r.transitionEnd(s, b)),\n                    !1\n                )\n            if (l.cssMode) {\n                const e = r.isHorizontal(),\n                    s = u ? v : -v\n                if (0 === t) {\n                    const t = r.virtual && r.params.virtual.enabled\n                    t &&\n                        ((r.wrapperEl.style.scrollSnapType = 'none'),\n                        (r._immediateVirtual = !0)),\n                        (h[e ? 'scrollLeft' : 'scrollTop'] = s),\n                        t &&\n                            requestAnimationFrame(() => {\n                                ;(r.wrapperEl.style.scrollSnapType = ''),\n                                    (r._swiperImmediateVirtual = !1)\n                            })\n                } else {\n                    if (!r.support.smoothScroll)\n                        return (\n                            w({\n                                swiper: r,\n                                targetPosition: s,\n                                side: e ? 'left' : 'top',\n                            }),\n                            !0\n                        )\n                    h.scrollTo({ [e ? 'left' : 'top']: s, behavior: 'smooth' })\n                }\n                return !0\n            }\n            return (\n                r.setTransition(t),\n                r.setTranslate(v),\n                r.updateActiveIndex(n),\n                r.updateSlidesClasses(),\n                r.emit('beforeTransitionStart', t, a),\n                r.transitionStart(s, b),\n                0 === t\n                    ? r.transitionEnd(s, b)\n                    : r.animating ||\n                      ((r.animating = !0),\n                      r.onSlideToWrapperTransitionEnd ||\n                          (r.onSlideToWrapperTransitionEnd = function (e) {\n                              r &&\n                                  !r.destroyed &&\n                                  e.target === this &&\n                                  (r.$wrapperEl[0].removeEventListener(\n                                      'transitionend',\n                                      r.onSlideToWrapperTransitionEnd\n                                  ),\n                                  r.$wrapperEl[0].removeEventListener(\n                                      'webkitTransitionEnd',\n                                      r.onSlideToWrapperTransitionEnd\n                                  ),\n                                  (r.onSlideToWrapperTransitionEnd = null),\n                                  delete r.onSlideToWrapperTransitionEnd,\n                                  r.transitionEnd(s, b))\n                          }),\n                      r.$wrapperEl[0].addEventListener(\n                          'transitionend',\n                          r.onSlideToWrapperTransitionEnd\n                      ),\n                      r.$wrapperEl[0].addEventListener(\n                          'webkitTransitionEnd',\n                          r.onSlideToWrapperTransitionEnd\n                      )),\n                !0\n            )\n        },\n        slideToLoop: function (e, t, s, a) {\n            void 0 === e && (e = 0),\n                void 0 === t && (t = this.params.speed),\n                void 0 === s && (s = !0)\n            const i = this\n            let r = e\n            return i.params.loop && (r += i.loopedSlides), i.slideTo(r, t, s, a)\n        },\n        slideNext: function (e, t, s) {\n            void 0 === e && (e = this.params.speed), void 0 === t && (t = !0)\n            const a = this,\n                { animating: i, enabled: r, params: n } = a\n            if (!r) return a\n            let l = n.slidesPerGroup\n            'auto' === n.slidesPerView &&\n                1 === n.slidesPerGroup &&\n                n.slidesPerGroupAuto &&\n                (l = Math.max(a.slidesPerViewDynamic('current', !0), 1))\n            const o = a.activeIndex < n.slidesPerGroupSkip ? 1 : l\n            if (n.loop) {\n                if (i && n.loopPreventsSlide) return !1\n                a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft)\n            }\n            return n.rewind && a.isEnd\n                ? a.slideTo(0, e, t, s)\n                : a.slideTo(a.activeIndex + o, e, t, s)\n        },\n        slidePrev: function (e, t, s) {\n            void 0 === e && (e = this.params.speed), void 0 === t && (t = !0)\n            const a = this,\n                {\n                    params: i,\n                    animating: r,\n                    snapGrid: n,\n                    slidesGrid: l,\n                    rtlTranslate: o,\n                    enabled: d,\n                } = a\n            if (!d) return a\n            if (i.loop) {\n                if (r && i.loopPreventsSlide) return !1\n                a.loopFix(), (a._clientLeft = a.$wrapperEl[0].clientLeft)\n            }\n            function c(e) {\n                return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)\n            }\n            const p = c(o ? a.translate : -a.translate),\n                u = n.map((e) => c(e))\n            let h = n[u.indexOf(p) - 1]\n            if (void 0 === h && i.cssMode) {\n                let e\n                n.forEach((t, s) => {\n                    p >= t && (e = s)\n                }),\n                    void 0 !== e && (h = n[e > 0 ? e - 1 : e])\n            }\n            let m = 0\n            if (\n                (void 0 !== h &&\n                    ((m = l.indexOf(h)),\n                    m < 0 && (m = a.activeIndex - 1),\n                    'auto' === i.slidesPerView &&\n                        1 === i.slidesPerGroup &&\n                        i.slidesPerGroupAuto &&\n                        ((m = m - a.slidesPerViewDynamic('previous', !0) + 1),\n                        (m = Math.max(m, 0)))),\n                i.rewind && a.isBeginning)\n            ) {\n                const i =\n                    a.params.virtual && a.params.virtual.enabled && a.virtual\n                        ? a.virtual.slides.length - 1\n                        : a.slides.length - 1\n                return a.slideTo(i, e, t, s)\n            }\n            return a.slideTo(m, e, t, s)\n        },\n        slideReset: function (e, t, s) {\n            return (\n                void 0 === e && (e = this.params.speed),\n                void 0 === t && (t = !0),\n                this.slideTo(this.activeIndex, e, t, s)\n            )\n        },\n        slideToClosest: function (e, t, s, a) {\n            void 0 === e && (e = this.params.speed),\n                void 0 === t && (t = !0),\n                void 0 === a && (a = 0.5)\n            const i = this\n            let r = i.activeIndex\n            const n = Math.min(i.params.slidesPerGroupSkip, r),\n                l = n + Math.floor((r - n) / i.params.slidesPerGroup),\n                o = i.rtlTranslate ? i.translate : -i.translate\n            if (o >= i.snapGrid[l]) {\n                const e = i.snapGrid[l]\n                o - e > (i.snapGrid[l + 1] - e) * a &&\n                    (r += i.params.slidesPerGroup)\n            } else {\n                const e = i.snapGrid[l - 1]\n                o - e <= (i.snapGrid[l] - e) * a &&\n                    (r -= i.params.slidesPerGroup)\n            }\n            return (\n                (r = Math.max(r, 0)),\n                (r = Math.min(r, i.slidesGrid.length - 1)),\n                i.slideTo(r, e, t, s)\n            )\n        },\n        slideToClickedSlide: function () {\n            const e = this,\n                { params: t, $wrapperEl: s } = e,\n                a =\n                    'auto' === t.slidesPerView\n                        ? e.slidesPerViewDynamic()\n                        : t.slidesPerView\n            let i,\n                r = e.clickedIndex\n            if (t.loop) {\n                if (e.animating) return\n                ;(i = parseInt(\n                    d(e.clickedSlide).attr('data-swiper-slide-index'),\n                    10\n                )),\n                    t.centeredSlides\n                        ? r < e.loopedSlides - a / 2 ||\n                          r > e.slides.length - e.loopedSlides + a / 2\n                            ? (e.loopFix(),\n                              (r = s\n                                  .children(\n                                      `.${t.slideClass}[data-swiper-slide-index=\"${i}\"]:not(.${t.slideDuplicateClass})`\n                                  )\n                                  .eq(0)\n                                  .index()),\n                              p(() => {\n                                  e.slideTo(r)\n                              }))\n                            : e.slideTo(r)\n                        : r > e.slides.length - a\n                        ? (e.loopFix(),\n                          (r = s\n                              .children(\n                                  `.${t.slideClass}[data-swiper-slide-index=\"${i}\"]:not(.${t.slideDuplicateClass})`\n                              )\n                              .eq(0)\n                              .index()),\n                          p(() => {\n                              e.slideTo(r)\n                          }))\n                        : e.slideTo(r)\n            } else e.slideTo(r)\n        },\n    }\n    var z = {\n        loopCreate: function () {\n            const e = this,\n                t = a(),\n                { params: s, $wrapperEl: i } = e,\n                r = i.children().length > 0 ? d(i.children()[0].parentNode) : i\n            r.children(`.${s.slideClass}.${s.slideDuplicateClass}`).remove()\n            let n = r.children(`.${s.slideClass}`)\n            if (s.loopFillGroupWithBlank) {\n                const e = s.slidesPerGroup - (n.length % s.slidesPerGroup)\n                if (e !== s.slidesPerGroup) {\n                    for (let a = 0; a < e; a += 1) {\n                        const e = d(t.createElement('div')).addClass(\n                            `${s.slideClass} ${s.slideBlankClass}`\n                        )\n                        r.append(e)\n                    }\n                    n = r.children(`.${s.slideClass}`)\n                }\n            }\n            'auto' !== s.slidesPerView ||\n                s.loopedSlides ||\n                (s.loopedSlides = n.length),\n                (e.loopedSlides = Math.ceil(\n                    parseFloat(s.loopedSlides || s.slidesPerView, 10)\n                )),\n                (e.loopedSlides += s.loopAdditionalSlides),\n                e.loopedSlides > n.length && (e.loopedSlides = n.length)\n            const l = [],\n                o = []\n            n.each((t, s) => {\n                const a = d(t)\n                s < e.loopedSlides && o.push(t),\n                    s < n.length && s >= n.length - e.loopedSlides && l.push(t),\n                    a.attr('data-swiper-slide-index', s)\n            })\n            for (let e = 0; e < o.length; e += 1)\n                r.append(d(o[e].cloneNode(!0)).addClass(s.slideDuplicateClass))\n            for (let e = l.length - 1; e >= 0; e -= 1)\n                r.prepend(d(l[e].cloneNode(!0)).addClass(s.slideDuplicateClass))\n        },\n        loopFix: function () {\n            const e = this\n            e.emit('beforeLoopFix')\n            const {\n                activeIndex: t,\n                slides: s,\n                loopedSlides: a,\n                allowSlidePrev: i,\n                allowSlideNext: r,\n                snapGrid: n,\n                rtlTranslate: l,\n            } = e\n            let o\n            ;(e.allowSlidePrev = !0), (e.allowSlideNext = !0)\n            const d = -n[t] - e.getTranslate()\n            if (t < a) {\n                ;(o = s.length - 3 * a + t), (o += a)\n                e.slideTo(o, 0, !1, !0) &&\n                    0 !== d &&\n                    e.setTranslate((l ? -e.translate : e.translate) - d)\n            } else if (t >= s.length - a) {\n                ;(o = -s.length + t + a), (o += a)\n                e.slideTo(o, 0, !1, !0) &&\n                    0 !== d &&\n                    e.setTranslate((l ? -e.translate : e.translate) - d)\n            }\n            ;(e.allowSlidePrev = i), (e.allowSlideNext = r), e.emit('loopFix')\n        },\n        loopDestroy: function () {\n            const { $wrapperEl: e, params: t, slides: s } = this\n            e\n                .children(\n                    `.${t.slideClass}.${t.slideDuplicateClass},.${t.slideClass}.${t.slideBlankClass}`\n                )\n                .remove(),\n                s.removeAttr('data-swiper-slide-index')\n        },\n    }\n    function O(e) {\n        const t = this,\n            s = a(),\n            i = r(),\n            n = t.touchEventsData,\n            { params: l, touches: o, enabled: c } = t\n        if (!c) return\n        if (t.animating && l.preventInteractionOnTransition) return\n        !t.animating && l.cssMode && l.loop && t.loopFix()\n        let p = e\n        p.originalEvent && (p = p.originalEvent)\n        let h = d(p.target)\n        if ('wrapper' === l.touchEventsTarget && !h.closest(t.wrapperEl).length)\n            return\n        if (\n            ((n.isTouchEvent = 'touchstart' === p.type),\n            !n.isTouchEvent && 'which' in p && 3 === p.which)\n        )\n            return\n        if (!n.isTouchEvent && 'button' in p && p.button > 0) return\n        if (n.isTouched && n.isMoved) return\n        !!l.noSwipingClass &&\n            '' !== l.noSwipingClass &&\n            p.target &&\n            p.target.shadowRoot &&\n            e.path &&\n            e.path[0] &&\n            (h = d(e.path[0]))\n        const m = l.noSwipingSelector\n                ? l.noSwipingSelector\n                : `.${l.noSwipingClass}`,\n            f = !(!p.target || !p.target.shadowRoot)\n        if (\n            l.noSwiping &&\n            (f\n                ? (function (e, t) {\n                      return (\n                          void 0 === t && (t = this),\n                          (function t(s) {\n                              return s && s !== a() && s !== r()\n                                  ? (s.assignedSlot && (s = s.assignedSlot),\n                                    s.closest(e) || t(s.getRootNode().host))\n                                  : null\n                          })(t)\n                      )\n                  })(m, p.target)\n                : h.closest(m)[0])\n        )\n            return void (t.allowClick = !0)\n        if (l.swipeHandler && !h.closest(l.swipeHandler)[0]) return\n        ;(o.currentX =\n            'touchstart' === p.type ? p.targetTouches[0].pageX : p.pageX),\n            (o.currentY =\n                'touchstart' === p.type ? p.targetTouches[0].pageY : p.pageY)\n        const g = o.currentX,\n            v = o.currentY,\n            w = l.edgeSwipeDetection || l.iOSEdgeSwipeDetection,\n            b = l.edgeSwipeThreshold || l.iOSEdgeSwipeThreshold\n        if (w && (g <= b || g >= i.innerWidth - b)) {\n            if ('prevent' !== w) return\n            e.preventDefault()\n        }\n        if (\n            (Object.assign(n, {\n                isTouched: !0,\n                isMoved: !1,\n                allowTouchCallbacks: !0,\n                isScrolling: void 0,\n                startMoving: void 0,\n            }),\n            (o.startX = g),\n            (o.startY = v),\n            (n.touchStartTime = u()),\n            (t.allowClick = !0),\n            t.updateSize(),\n            (t.swipeDirection = void 0),\n            l.threshold > 0 && (n.allowThresholdMove = !1),\n            'touchstart' !== p.type)\n        ) {\n            let e = !0\n            h.is(n.focusableElements) &&\n                ((e = !1), 'SELECT' === h[0].nodeName && (n.isTouched = !1)),\n                s.activeElement &&\n                    d(s.activeElement).is(n.focusableElements) &&\n                    s.activeElement !== h[0] &&\n                    s.activeElement.blur()\n            const a = e && t.allowTouchMove && l.touchStartPreventDefault\n            ;(!l.touchStartForcePreventDefault && !a) ||\n                h[0].isContentEditable ||\n                p.preventDefault()\n        }\n        t.params.freeMode &&\n            t.params.freeMode.enabled &&\n            t.freeMode &&\n            t.animating &&\n            !l.cssMode &&\n            t.freeMode.onTouchStart(),\n            t.emit('touchStart', p)\n    }\n    function I(e) {\n        const t = a(),\n            s = this,\n            i = s.touchEventsData,\n            { params: r, touches: n, rtlTranslate: l, enabled: o } = s\n        if (!o) return\n        let c = e\n        if ((c.originalEvent && (c = c.originalEvent), !i.isTouched))\n            return void (\n                i.startMoving &&\n                i.isScrolling &&\n                s.emit('touchMoveOpposite', c)\n            )\n        if (i.isTouchEvent && 'touchmove' !== c.type) return\n        const p =\n                'touchmove' === c.type &&\n                c.targetTouches &&\n                (c.targetTouches[0] || c.changedTouches[0]),\n            h = 'touchmove' === c.type ? p.pageX : c.pageX,\n            m = 'touchmove' === c.type ? p.pageY : c.pageY\n        if (c.preventedByNestedSwiper)\n            return (n.startX = h), void (n.startY = m)\n        if (!s.allowTouchMove)\n            return (\n                d(c.target).is(i.focusableElements) || (s.allowClick = !1),\n                void (\n                    i.isTouched &&\n                    (Object.assign(n, {\n                        startX: h,\n                        startY: m,\n                        currentX: h,\n                        currentY: m,\n                    }),\n                    (i.touchStartTime = u()))\n                )\n            )\n        if (i.isTouchEvent && r.touchReleaseOnEdges && !r.loop)\n            if (s.isVertical()) {\n                if (\n                    (m < n.startY && s.translate <= s.maxTranslate()) ||\n                    (m > n.startY && s.translate >= s.minTranslate())\n                )\n                    return (i.isTouched = !1), void (i.isMoved = !1)\n            } else if (\n                (h < n.startX && s.translate <= s.maxTranslate()) ||\n                (h > n.startX && s.translate >= s.minTranslate())\n            )\n                return\n        if (\n            i.isTouchEvent &&\n            t.activeElement &&\n            c.target === t.activeElement &&\n            d(c.target).is(i.focusableElements)\n        )\n            return (i.isMoved = !0), void (s.allowClick = !1)\n        if (\n            (i.allowTouchCallbacks && s.emit('touchMove', c),\n            c.targetTouches && c.targetTouches.length > 1)\n        )\n            return\n        ;(n.currentX = h), (n.currentY = m)\n        const f = n.currentX - n.startX,\n            g = n.currentY - n.startY\n        if (\n            s.params.threshold &&\n            Math.sqrt(f ** 2 + g ** 2) < s.params.threshold\n        )\n            return\n        if (void 0 === i.isScrolling) {\n            let e\n            ;(s.isHorizontal() && n.currentY === n.startY) ||\n            (s.isVertical() && n.currentX === n.startX)\n                ? (i.isScrolling = !1)\n                : f * f + g * g >= 25 &&\n                  ((e = (180 * Math.atan2(Math.abs(g), Math.abs(f))) / Math.PI),\n                  (i.isScrolling = s.isHorizontal()\n                      ? e > r.touchAngle\n                      : 90 - e > r.touchAngle))\n        }\n        if (\n            (i.isScrolling && s.emit('touchMoveOpposite', c),\n            void 0 === i.startMoving &&\n                ((n.currentX === n.startX && n.currentY === n.startY) ||\n                    (i.startMoving = !0)),\n            i.isScrolling)\n        )\n            return void (i.isTouched = !1)\n        if (!i.startMoving) return\n        ;(s.allowClick = !1),\n            !r.cssMode && c.cancelable && c.preventDefault(),\n            r.touchMoveStopPropagation && !r.nested && c.stopPropagation(),\n            i.isMoved ||\n                (r.loop && !r.cssMode && s.loopFix(),\n                (i.startTranslate = s.getTranslate()),\n                s.setTransition(0),\n                s.animating &&\n                    s.$wrapperEl.trigger('webkitTransitionEnd transitionend'),\n                (i.allowMomentumBounce = !1),\n                !r.grabCursor ||\n                    (!0 !== s.allowSlideNext && !0 !== s.allowSlidePrev) ||\n                    s.setGrabCursor(!0),\n                s.emit('sliderFirstMove', c)),\n            s.emit('sliderMove', c),\n            (i.isMoved = !0)\n        let v = s.isHorizontal() ? f : g\n        ;(n.diff = v),\n            (v *= r.touchRatio),\n            l && (v = -v),\n            (s.swipeDirection = v > 0 ? 'prev' : 'next'),\n            (i.currentTranslate = v + i.startTranslate)\n        let w = !0,\n            b = r.resistanceRatio\n        if (\n            (r.touchReleaseOnEdges && (b = 0),\n            v > 0 && i.currentTranslate > s.minTranslate()\n                ? ((w = !1),\n                  r.resistance &&\n                      (i.currentTranslate =\n                          s.minTranslate() -\n                          1 +\n                          (-s.minTranslate() + i.startTranslate + v) ** b))\n                : v < 0 &&\n                  i.currentTranslate < s.maxTranslate() &&\n                  ((w = !1),\n                  r.resistance &&\n                      (i.currentTranslate =\n                          s.maxTranslate() +\n                          1 -\n                          (s.maxTranslate() - i.startTranslate - v) ** b)),\n            w && (c.preventedByNestedSwiper = !0),\n            !s.allowSlideNext &&\n                'next' === s.swipeDirection &&\n                i.currentTranslate < i.startTranslate &&\n                (i.currentTranslate = i.startTranslate),\n            !s.allowSlidePrev &&\n                'prev' === s.swipeDirection &&\n                i.currentTranslate > i.startTranslate &&\n                (i.currentTranslate = i.startTranslate),\n            s.allowSlidePrev ||\n                s.allowSlideNext ||\n                (i.currentTranslate = i.startTranslate),\n            r.threshold > 0)\n        ) {\n            if (!(Math.abs(v) > r.threshold || i.allowThresholdMove))\n                return void (i.currentTranslate = i.startTranslate)\n            if (!i.allowThresholdMove)\n                return (\n                    (i.allowThresholdMove = !0),\n                    (n.startX = n.currentX),\n                    (n.startY = n.currentY),\n                    (i.currentTranslate = i.startTranslate),\n                    void (n.diff = s.isHorizontal()\n                        ? n.currentX - n.startX\n                        : n.currentY - n.startY)\n                )\n        }\n        r.followFinger &&\n            !r.cssMode &&\n            (((r.freeMode && r.freeMode.enabled && s.freeMode) ||\n                r.watchSlidesProgress) &&\n                (s.updateActiveIndex(), s.updateSlidesClasses()),\n            s.params.freeMode &&\n                r.freeMode.enabled &&\n                s.freeMode &&\n                s.freeMode.onTouchMove(),\n            s.updateProgress(i.currentTranslate),\n            s.setTranslate(i.currentTranslate))\n    }\n    function L(e) {\n        const t = this,\n            s = t.touchEventsData,\n            {\n                params: a,\n                touches: i,\n                rtlTranslate: r,\n                slidesGrid: n,\n                enabled: l,\n            } = t\n        if (!l) return\n        let o = e\n        if (\n            (o.originalEvent && (o = o.originalEvent),\n            s.allowTouchCallbacks && t.emit('touchEnd', o),\n            (s.allowTouchCallbacks = !1),\n            !s.isTouched)\n        )\n            return (\n                s.isMoved && a.grabCursor && t.setGrabCursor(!1),\n                (s.isMoved = !1),\n                void (s.startMoving = !1)\n            )\n        a.grabCursor &&\n            s.isMoved &&\n            s.isTouched &&\n            (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) &&\n            t.setGrabCursor(!1)\n        const d = u(),\n            c = d - s.touchStartTime\n        if (t.allowClick) {\n            const e = o.path || (o.composedPath && o.composedPath())\n            t.updateClickedSlide((e && e[0]) || o.target),\n                t.emit('tap click', o),\n                c < 300 &&\n                    d - s.lastClickTime < 300 &&\n                    t.emit('doubleTap doubleClick', o)\n        }\n        if (\n            ((s.lastClickTime = u()),\n            p(() => {\n                t.destroyed || (t.allowClick = !0)\n            }),\n            !s.isTouched ||\n                !s.isMoved ||\n                !t.swipeDirection ||\n                0 === i.diff ||\n                s.currentTranslate === s.startTranslate)\n        )\n            return (\n                (s.isTouched = !1), (s.isMoved = !1), void (s.startMoving = !1)\n            )\n        let h\n        if (\n            ((s.isTouched = !1),\n            (s.isMoved = !1),\n            (s.startMoving = !1),\n            (h = a.followFinger\n                ? r\n                    ? t.translate\n                    : -t.translate\n                : -s.currentTranslate),\n            a.cssMode)\n        )\n            return\n        if (t.params.freeMode && a.freeMode.enabled)\n            return void t.freeMode.onTouchEnd({ currentPos: h })\n        let m = 0,\n            f = t.slidesSizesGrid[0]\n        for (\n            let e = 0;\n            e < n.length;\n            e += e < a.slidesPerGroupSkip ? 1 : a.slidesPerGroup\n        ) {\n            const t = e < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup\n            void 0 !== n[e + t]\n                ? h >= n[e] && h < n[e + t] && ((m = e), (f = n[e + t] - n[e]))\n                : h >= n[e] &&\n                  ((m = e), (f = n[n.length - 1] - n[n.length - 2]))\n        }\n        let g = null,\n            v = null\n        a.rewind &&\n            (t.isBeginning\n                ? (v =\n                      t.params.virtual && t.params.virtual.enabled && t.virtual\n                          ? t.virtual.slides.length - 1\n                          : t.slides.length - 1)\n                : t.isEnd && (g = 0))\n        const w = (h - n[m]) / f,\n            b = m < a.slidesPerGroupSkip - 1 ? 1 : a.slidesPerGroup\n        if (c > a.longSwipesMs) {\n            if (!a.longSwipes) return void t.slideTo(t.activeIndex)\n            'next' === t.swipeDirection &&\n                (w >= a.longSwipesRatio\n                    ? t.slideTo(a.rewind && t.isEnd ? g : m + b)\n                    : t.slideTo(m)),\n                'prev' === t.swipeDirection &&\n                    (w > 1 - a.longSwipesRatio\n                        ? t.slideTo(m + b)\n                        : null !== v && w < 0 && Math.abs(w) > a.longSwipesRatio\n                        ? t.slideTo(v)\n                        : t.slideTo(m))\n        } else {\n            if (!a.shortSwipes) return void t.slideTo(t.activeIndex)\n            t.navigation &&\n            (o.target === t.navigation.nextEl ||\n                o.target === t.navigation.prevEl)\n                ? o.target === t.navigation.nextEl\n                    ? t.slideTo(m + b)\n                    : t.slideTo(m)\n                : ('next' === t.swipeDirection &&\n                      t.slideTo(null !== g ? g : m + b),\n                  'prev' === t.swipeDirection && t.slideTo(null !== v ? v : m))\n        }\n    }\n    function A() {\n        const e = this,\n            { params: t, el: s } = e\n        if (s && 0 === s.offsetWidth) return\n        t.breakpoints && e.setBreakpoint()\n        const { allowSlideNext: a, allowSlidePrev: i, snapGrid: r } = e\n        ;(e.allowSlideNext = !0),\n            (e.allowSlidePrev = !0),\n            e.updateSize(),\n            e.updateSlides(),\n            e.updateSlidesClasses(),\n            ('auto' === t.slidesPerView || t.slidesPerView > 1) &&\n            e.isEnd &&\n            !e.isBeginning &&\n            !e.params.centeredSlides\n                ? e.slideTo(e.slides.length - 1, 0, !1, !0)\n                : e.slideTo(e.activeIndex, 0, !1, !0),\n            e.autoplay &&\n                e.autoplay.running &&\n                e.autoplay.paused &&\n                e.autoplay.run(),\n            (e.allowSlidePrev = i),\n            (e.allowSlideNext = a),\n            e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()\n    }\n    function D(e) {\n        const t = this\n        t.enabled &&\n            (t.allowClick ||\n                (t.params.preventClicks && e.preventDefault(),\n                t.params.preventClicksPropagation &&\n                    t.animating &&\n                    (e.stopPropagation(), e.stopImmediatePropagation())))\n    }\n    function G() {\n        const e = this,\n            { wrapperEl: t, rtlTranslate: s, enabled: a } = e\n        if (!a) return\n        let i\n        ;(e.previousTranslate = e.translate),\n            e.isHorizontal()\n                ? (e.translate = -t.scrollLeft)\n                : (e.translate = -t.scrollTop),\n            -0 === e.translate && (e.translate = 0),\n            e.updateActiveIndex(),\n            e.updateSlidesClasses()\n        const r = e.maxTranslate() - e.minTranslate()\n        ;(i = 0 === r ? 0 : (e.translate - e.minTranslate()) / r),\n            i !== e.progress &&\n                e.updateProgress(s ? -e.translate : e.translate),\n            e.emit('setTranslate', e.translate, !1)\n    }\n    let B = !1\n    function N() {}\n    const H = (e, t) => {\n        const s = a(),\n            {\n                params: i,\n                touchEvents: r,\n                el: n,\n                wrapperEl: l,\n                device: o,\n                support: d,\n            } = e,\n            c = !!i.nested,\n            p = 'on' === t ? 'addEventListener' : 'removeEventListener',\n            u = t\n        if (d.touch) {\n            const t = !(\n                'touchstart' !== r.start ||\n                !d.passiveListener ||\n                !i.passiveListeners\n            ) && { passive: !0, capture: !1 }\n            n[p](r.start, e.onTouchStart, t),\n                n[p](\n                    r.move,\n                    e.onTouchMove,\n                    d.passiveListener ? { passive: !1, capture: c } : c\n                ),\n                n[p](r.end, e.onTouchEnd, t),\n                r.cancel && n[p](r.cancel, e.onTouchEnd, t)\n        } else\n            n[p](r.start, e.onTouchStart, !1),\n                s[p](r.move, e.onTouchMove, c),\n                s[p](r.end, e.onTouchEnd, !1)\n        ;(i.preventClicks || i.preventClicksPropagation) &&\n            n[p]('click', e.onClick, !0),\n            i.cssMode && l[p]('scroll', e.onScroll),\n            i.updateOnWindowResize\n                ? e[u](\n                      o.ios || o.android\n                          ? 'resize orientationchange observerUpdate'\n                          : 'resize observerUpdate',\n                      A,\n                      !0\n                  )\n                : e[u]('observerUpdate', A, !0)\n    }\n    var X = {\n        attachEvents: function () {\n            const e = this,\n                t = a(),\n                { params: s, support: i } = e\n            ;(e.onTouchStart = O.bind(e)),\n                (e.onTouchMove = I.bind(e)),\n                (e.onTouchEnd = L.bind(e)),\n                s.cssMode && (e.onScroll = G.bind(e)),\n                (e.onClick = D.bind(e)),\n                i.touch &&\n                    !B &&\n                    (t.addEventListener('touchstart', N), (B = !0)),\n                H(e, 'on')\n        },\n        detachEvents: function () {\n            H(this, 'off')\n        },\n    }\n    const Y = (e, t) => e.grid && t.grid && t.grid.rows > 1\n    var R = {\n        addClasses: function () {\n            const e = this,\n                {\n                    classNames: t,\n                    params: s,\n                    rtl: a,\n                    $el: i,\n                    device: r,\n                    support: n,\n                } = e,\n                l = (function (e, t) {\n                    const s = []\n                    return (\n                        e.forEach((e) => {\n                            'object' == typeof e\n                                ? Object.keys(e).forEach((a) => {\n                                      e[a] && s.push(t + a)\n                                  })\n                                : 'string' == typeof e && s.push(t + e)\n                        }),\n                        s\n                    )\n                })(\n                    [\n                        'initialized',\n                        s.direction,\n                        { 'pointer-events': !n.touch },\n                        {\n                            'free-mode':\n                                e.params.freeMode && s.freeMode.enabled,\n                        },\n                        { autoheight: s.autoHeight },\n                        { rtl: a },\n                        { grid: s.grid && s.grid.rows > 1 },\n                        {\n                            'grid-column':\n                                s.grid &&\n                                s.grid.rows > 1 &&\n                                'column' === s.grid.fill,\n                        },\n                        { android: r.android },\n                        { ios: r.ios },\n                        { 'css-mode': s.cssMode },\n                        { centered: s.cssMode && s.centeredSlides },\n                    ],\n                    s.containerModifierClass\n                )\n            t.push(...l), i.addClass([...t].join(' ')), e.emitContainerClasses()\n        },\n        removeClasses: function () {\n            const { $el: e, classNames: t } = this\n            e.removeClass(t.join(' ')), this.emitContainerClasses()\n        },\n    }\n    var W = {\n        init: !0,\n        direction: 'horizontal',\n        touchEventsTarget: 'wrapper',\n        initialSlide: 0,\n        speed: 300,\n        cssMode: !1,\n        updateOnWindowResize: !0,\n        resizeObserver: !0,\n        nested: !1,\n        createElements: !1,\n        enabled: !0,\n        focusableElements:\n            'input, select, option, textarea, button, video, label',\n        width: null,\n        height: null,\n        preventInteractionOnTransition: !1,\n        userAgent: null,\n        url: null,\n        edgeSwipeDetection: !1,\n        edgeSwipeThreshold: 20,\n        autoHeight: !1,\n        setWrapperSize: !1,\n        virtualTranslate: !1,\n        effect: 'slide',\n        breakpoints: void 0,\n        breakpointsBase: 'window',\n        spaceBetween: 0,\n        slidesPerView: 1,\n        slidesPerGroup: 1,\n        slidesPerGroupSkip: 0,\n        slidesPerGroupAuto: !1,\n        centeredSlides: !1,\n        centeredSlidesBounds: !1,\n        slidesOffsetBefore: 0,\n        slidesOffsetAfter: 0,\n        normalizeSlideIndex: !0,\n        centerInsufficientSlides: !1,\n        watchOverflow: !0,\n        roundLengths: !1,\n        touchRatio: 1,\n        touchAngle: 45,\n        simulateTouch: !0,\n        shortSwipes: !0,\n        longSwipes: !0,\n        longSwipesRatio: 0.5,\n        longSwipesMs: 300,\n        followFinger: !0,\n        allowTouchMove: !0,\n        threshold: 0,\n        touchMoveStopPropagation: !1,\n        touchStartPreventDefault: !0,\n        touchStartForcePreventDefault: !1,\n        touchReleaseOnEdges: !1,\n        uniqueNavElements: !0,\n        resistance: !0,\n        resistanceRatio: 0.85,\n        watchSlidesProgress: !1,\n        grabCursor: !1,\n        preventClicks: !0,\n        preventClicksPropagation: !0,\n        slideToClickedSlide: !1,\n        preloadImages: !0,\n        updateOnImagesReady: !0,\n        loop: !1,\n        loopAdditionalSlides: 0,\n        loopedSlides: null,\n        loopFillGroupWithBlank: !1,\n        loopPreventsSlide: !0,\n        rewind: !1,\n        allowSlidePrev: !0,\n        allowSlideNext: !0,\n        swipeHandler: null,\n        noSwiping: !0,\n        noSwipingClass: 'swiper-no-swiping',\n        noSwipingSelector: null,\n        passiveListeners: !0,\n        maxBackfaceHiddenSlides: 10,\n        containerModifierClass: 'swiper-',\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        runCallbacksOnInit: !0,\n        _emitClasses: !1,\n    }\n    function j(e, t) {\n        return function (s) {\n            void 0 === s && (s = {})\n            const a = Object.keys(s)[0],\n                i = s[a]\n            'object' == typeof i && null !== i\n                ? (['navigation', 'pagination', 'scrollbar'].indexOf(a) >= 0 &&\n                      !0 === e[a] &&\n                      (e[a] = { auto: !0 }),\n                  a in e && 'enabled' in i\n                      ? (!0 === e[a] && (e[a] = { enabled: !0 }),\n                        'object' != typeof e[a] ||\n                            'enabled' in e[a] ||\n                            (e[a].enabled = !0),\n                        e[a] || (e[a] = { enabled: !1 }),\n                        g(t, s))\n                      : g(t, s))\n                : g(t, s)\n        }\n    }\n    const _ = {\n            eventsEmitter: $,\n            update: S,\n            translate: M,\n            transition: {\n                setTransition: function (e, t) {\n                    const s = this\n                    s.params.cssMode || s.$wrapperEl.transition(e),\n                        s.emit('setTransition', e, t)\n                },\n                transitionStart: function (e, t) {\n                    void 0 === e && (e = !0)\n                    const s = this,\n                        { params: a } = s\n                    a.cssMode ||\n                        (a.autoHeight && s.updateAutoHeight(),\n                        P({\n                            swiper: s,\n                            runCallbacks: e,\n                            direction: t,\n                            step: 'Start',\n                        }))\n                },\n                transitionEnd: function (e, t) {\n                    void 0 === e && (e = !0)\n                    const s = this,\n                        { params: a } = s\n                    ;(s.animating = !1),\n                        a.cssMode ||\n                            (s.setTransition(0),\n                            P({\n                                swiper: s,\n                                runCallbacks: e,\n                                direction: t,\n                                step: 'End',\n                            }))\n                },\n            },\n            slide: k,\n            loop: z,\n            grabCursor: {\n                setGrabCursor: function (e) {\n                    const t = this\n                    if (\n                        t.support.touch ||\n                        !t.params.simulateTouch ||\n                        (t.params.watchOverflow && t.isLocked) ||\n                        t.params.cssMode\n                    )\n                        return\n                    const s =\n                        'container' === t.params.touchEventsTarget\n                            ? t.el\n                            : t.wrapperEl\n                    ;(s.style.cursor = 'move'),\n                        (s.style.cursor = e\n                            ? '-webkit-grabbing'\n                            : '-webkit-grab'),\n                        (s.style.cursor = e ? '-moz-grabbin' : '-moz-grab'),\n                        (s.style.cursor = e ? 'grabbing' : 'grab')\n                },\n                unsetGrabCursor: function () {\n                    const e = this\n                    e.support.touch ||\n                        (e.params.watchOverflow && e.isLocked) ||\n                        e.params.cssMode ||\n                        (e[\n                            'container' === e.params.touchEventsTarget\n                                ? 'el'\n                                : 'wrapperEl'\n                        ].style.cursor = '')\n                },\n            },\n            events: X,\n            breakpoints: {\n                setBreakpoint: function () {\n                    const e = this,\n                        {\n                            activeIndex: t,\n                            initialized: s,\n                            loopedSlides: a = 0,\n                            params: i,\n                            $el: r,\n                        } = e,\n                        n = i.breakpoints\n                    if (!n || (n && 0 === Object.keys(n).length)) return\n                    const l = e.getBreakpoint(n, e.params.breakpointsBase, e.el)\n                    if (!l || e.currentBreakpoint === l) return\n                    const o = (l in n ? n[l] : void 0) || e.originalParams,\n                        d = Y(e, i),\n                        c = Y(e, o),\n                        p = i.enabled\n                    d && !c\n                        ? (r.removeClass(\n                              `${i.containerModifierClass}grid ${i.containerModifierClass}grid-column`\n                          ),\n                          e.emitContainerClasses())\n                        : !d &&\n                          c &&\n                          (r.addClass(`${i.containerModifierClass}grid`),\n                          ((o.grid.fill && 'column' === o.grid.fill) ||\n                              (!o.grid.fill && 'column' === i.grid.fill)) &&\n                              r.addClass(\n                                  `${i.containerModifierClass}grid-column`\n                              ),\n                          e.emitContainerClasses())\n                    const u = o.direction && o.direction !== i.direction,\n                        h = i.loop && (o.slidesPerView !== i.slidesPerView || u)\n                    u && s && e.changeDirection(), g(e.params, o)\n                    const m = e.params.enabled\n                    Object.assign(e, {\n                        allowTouchMove: e.params.allowTouchMove,\n                        allowSlideNext: e.params.allowSlideNext,\n                        allowSlidePrev: e.params.allowSlidePrev,\n                    }),\n                        p && !m ? e.disable() : !p && m && e.enable(),\n                        (e.currentBreakpoint = l),\n                        e.emit('_beforeBreakpoint', o),\n                        h &&\n                            s &&\n                            (e.loopDestroy(),\n                            e.loopCreate(),\n                            e.updateSlides(),\n                            e.slideTo(t - a + e.loopedSlides, 0, !1)),\n                        e.emit('breakpoint', o)\n                },\n                getBreakpoint: function (e, t, s) {\n                    if (\n                        (void 0 === t && (t = 'window'),\n                        !e || ('container' === t && !s))\n                    )\n                        return\n                    let a = !1\n                    const i = r(),\n                        n = 'window' === t ? i.innerHeight : s.clientHeight,\n                        l = Object.keys(e).map((e) => {\n                            if ('string' == typeof e && 0 === e.indexOf('@')) {\n                                const t = parseFloat(e.substr(1))\n                                return { value: n * t, point: e }\n                            }\n                            return { value: e, point: e }\n                        })\n                    l.sort(\n                        (e, t) => parseInt(e.value, 10) - parseInt(t.value, 10)\n                    )\n                    for (let e = 0; e < l.length; e += 1) {\n                        const { point: r, value: n } = l[e]\n                        'window' === t\n                            ? i.matchMedia(`(min-width: ${n}px)`).matches &&\n                              (a = r)\n                            : n <= s.clientWidth && (a = r)\n                    }\n                    return a || 'max'\n                },\n            },\n            checkOverflow: {\n                checkOverflow: function () {\n                    const e = this,\n                        { isLocked: t, params: s } = e,\n                        { slidesOffsetBefore: a } = s\n                    if (a) {\n                        const t = e.slides.length - 1,\n                            s = e.slidesGrid[t] + e.slidesSizesGrid[t] + 2 * a\n                        e.isLocked = e.size > s\n                    } else e.isLocked = 1 === e.snapGrid.length\n                    !0 === s.allowSlideNext && (e.allowSlideNext = !e.isLocked),\n                        !0 === s.allowSlidePrev &&\n                            (e.allowSlidePrev = !e.isLocked),\n                        t && t !== e.isLocked && (e.isEnd = !1),\n                        t !== e.isLocked &&\n                            e.emit(e.isLocked ? 'lock' : 'unlock')\n                },\n            },\n            classes: R,\n            images: {\n                loadImage: function (e, t, s, a, i, n) {\n                    const l = r()\n                    let o\n                    function c() {\n                        n && n()\n                    }\n                    d(e).parent('picture')[0] || (e.complete && i)\n                        ? c()\n                        : t\n                        ? ((o = new l.Image()),\n                          (o.onload = c),\n                          (o.onerror = c),\n                          a && (o.sizes = a),\n                          s && (o.srcset = s),\n                          t && (o.src = t))\n                        : c()\n                },\n                preloadImages: function () {\n                    const e = this\n                    function t() {\n                        null != e &&\n                            e &&\n                            !e.destroyed &&\n                            (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1),\n                            e.imagesLoaded === e.imagesToLoad.length &&\n                                (e.params.updateOnImagesReady && e.update(),\n                                e.emit('imagesReady')))\n                    }\n                    e.imagesToLoad = e.$el.find('img')\n                    for (let s = 0; s < e.imagesToLoad.length; s += 1) {\n                        const a = e.imagesToLoad[s]\n                        e.loadImage(\n                            a,\n                            a.currentSrc || a.getAttribute('src'),\n                            a.srcset || a.getAttribute('srcset'),\n                            a.sizes || a.getAttribute('sizes'),\n                            !0,\n                            t\n                        )\n                    }\n                },\n            },\n        },\n        q = {}\n    class V {\n        constructor() {\n            let e, t\n            for (var s = arguments.length, a = new Array(s), i = 0; i < s; i++)\n                a[i] = arguments[i]\n            if (\n                (1 === a.length &&\n                a[0].constructor &&\n                'Object' === Object.prototype.toString.call(a[0]).slice(8, -1)\n                    ? (t = a[0])\n                    : ([e, t] = a),\n                t || (t = {}),\n                (t = g({}, t)),\n                e && !t.el && (t.el = e),\n                t.el && d(t.el).length > 1)\n            ) {\n                const e = []\n                return (\n                    d(t.el).each((s) => {\n                        const a = g({}, t, { el: s })\n                        e.push(new V(a))\n                    }),\n                    e\n                )\n            }\n            const r = this\n            ;(r.__swiper__ = !0),\n                (r.support = E()),\n                (r.device = T({ userAgent: t.userAgent })),\n                (r.browser = C()),\n                (r.eventsListeners = {}),\n                (r.eventsAnyListeners = []),\n                (r.modules = [...r.__modules__]),\n                t.modules &&\n                    Array.isArray(t.modules) &&\n                    r.modules.push(...t.modules)\n            const n = {}\n            r.modules.forEach((e) => {\n                e({\n                    swiper: r,\n                    extendParams: j(t, n),\n                    on: r.on.bind(r),\n                    once: r.once.bind(r),\n                    off: r.off.bind(r),\n                    emit: r.emit.bind(r),\n                })\n            })\n            const l = g({}, W, n)\n            return (\n                (r.params = g({}, l, q, t)),\n                (r.originalParams = g({}, r.params)),\n                (r.passedParams = g({}, t)),\n                r.params &&\n                    r.params.on &&\n                    Object.keys(r.params.on).forEach((e) => {\n                        r.on(e, r.params.on[e])\n                    }),\n                r.params && r.params.onAny && r.onAny(r.params.onAny),\n                (r.$ = d),\n                Object.assign(r, {\n                    enabled: r.params.enabled,\n                    el: e,\n                    classNames: [],\n                    slides: d(),\n                    slidesGrid: [],\n                    snapGrid: [],\n                    slidesSizesGrid: [],\n                    isHorizontal: () => 'horizontal' === r.params.direction,\n                    isVertical: () => 'vertical' === r.params.direction,\n                    activeIndex: 0,\n                    realIndex: 0,\n                    isBeginning: !0,\n                    isEnd: !1,\n                    translate: 0,\n                    previousTranslate: 0,\n                    progress: 0,\n                    velocity: 0,\n                    animating: !1,\n                    allowSlideNext: r.params.allowSlideNext,\n                    allowSlidePrev: r.params.allowSlidePrev,\n                    touchEvents: (function () {\n                        const e = [\n                                'touchstart',\n                                'touchmove',\n                                'touchend',\n                                'touchcancel',\n                            ],\n                            t = ['pointerdown', 'pointermove', 'pointerup']\n                        return (\n                            (r.touchEventsTouch = {\n                                start: e[0],\n                                move: e[1],\n                                end: e[2],\n                                cancel: e[3],\n                            }),\n                            (r.touchEventsDesktop = {\n                                start: t[0],\n                                move: t[1],\n                                end: t[2],\n                            }),\n                            r.support.touch || !r.params.simulateTouch\n                                ? r.touchEventsTouch\n                                : r.touchEventsDesktop\n                        )\n                    })(),\n                    touchEventsData: {\n                        isTouched: void 0,\n                        isMoved: void 0,\n                        allowTouchCallbacks: void 0,\n                        touchStartTime: void 0,\n                        isScrolling: void 0,\n                        currentTranslate: void 0,\n                        startTranslate: void 0,\n                        allowThresholdMove: void 0,\n                        focusableElements: r.params.focusableElements,\n                        lastClickTime: u(),\n                        clickTimeout: void 0,\n                        velocities: [],\n                        allowMomentumBounce: void 0,\n                        isTouchEvent: void 0,\n                        startMoving: void 0,\n                    },\n                    allowClick: !0,\n                    allowTouchMove: r.params.allowTouchMove,\n                    touches: {\n                        startX: 0,\n                        startY: 0,\n                        currentX: 0,\n                        currentY: 0,\n                        diff: 0,\n                    },\n                    imagesToLoad: [],\n                    imagesLoaded: 0,\n                }),\n                r.emit('_swiper'),\n                r.params.init && r.init(),\n                r\n            )\n        }\n        enable() {\n            const e = this\n            e.enabled ||\n                ((e.enabled = !0),\n                e.params.grabCursor && e.setGrabCursor(),\n                e.emit('enable'))\n        }\n        disable() {\n            const e = this\n            e.enabled &&\n                ((e.enabled = !1),\n                e.params.grabCursor && e.unsetGrabCursor(),\n                e.emit('disable'))\n        }\n        setProgress(e, t) {\n            const s = this\n            e = Math.min(Math.max(e, 0), 1)\n            const a = s.minTranslate(),\n                i = (s.maxTranslate() - a) * e + a\n            s.translateTo(i, void 0 === t ? 0 : t),\n                s.updateActiveIndex(),\n                s.updateSlidesClasses()\n        }\n        emitContainerClasses() {\n            const e = this\n            if (!e.params._emitClasses || !e.el) return\n            const t = e.el.className\n                .split(' ')\n                .filter(\n                    (t) =>\n                        0 === t.indexOf('swiper') ||\n                        0 === t.indexOf(e.params.containerModifierClass)\n                )\n            e.emit('_containerClasses', t.join(' '))\n        }\n        getSlideClasses(e) {\n            const t = this\n            return e.className\n                .split(' ')\n                .filter(\n                    (e) =>\n                        0 === e.indexOf('swiper-slide') ||\n                        0 === e.indexOf(t.params.slideClass)\n                )\n                .join(' ')\n        }\n        emitSlidesClasses() {\n            const e = this\n            if (!e.params._emitClasses || !e.el) return\n            const t = []\n            e.slides.each((s) => {\n                const a = e.getSlideClasses(s)\n                t.push({ slideEl: s, classNames: a }),\n                    e.emit('_slideClass', s, a)\n            }),\n                e.emit('_slideClasses', t)\n        }\n        slidesPerViewDynamic(e, t) {\n            void 0 === e && (e = 'current'), void 0 === t && (t = !1)\n            const {\n                params: s,\n                slides: a,\n                slidesGrid: i,\n                slidesSizesGrid: r,\n                size: n,\n                activeIndex: l,\n            } = this\n            let o = 1\n            if (s.centeredSlides) {\n                let e,\n                    t = a[l].swiperSlideSize\n                for (let s = l + 1; s < a.length; s += 1)\n                    a[s] &&\n                        !e &&\n                        ((t += a[s].swiperSlideSize),\n                        (o += 1),\n                        t > n && (e = !0))\n                for (let s = l - 1; s >= 0; s -= 1)\n                    a[s] &&\n                        !e &&\n                        ((t += a[s].swiperSlideSize),\n                        (o += 1),\n                        t > n && (e = !0))\n            } else if ('current' === e)\n                for (let e = l + 1; e < a.length; e += 1) {\n                    ;(t ? i[e] + r[e] - i[l] < n : i[e] - i[l] < n) && (o += 1)\n                }\n            else\n                for (let e = l - 1; e >= 0; e -= 1) {\n                    i[l] - i[e] < n && (o += 1)\n                }\n            return o\n        }\n        update() {\n            const e = this\n            if (!e || e.destroyed) return\n            const { snapGrid: t, params: s } = e\n            function a() {\n                const t = e.rtlTranslate ? -1 * e.translate : e.translate,\n                    s = Math.min(\n                        Math.max(t, e.maxTranslate()),\n                        e.minTranslate()\n                    )\n                e.setTranslate(s),\n                    e.updateActiveIndex(),\n                    e.updateSlidesClasses()\n            }\n            let i\n            s.breakpoints && e.setBreakpoint(),\n                e.updateSize(),\n                e.updateSlides(),\n                e.updateProgress(),\n                e.updateSlidesClasses(),\n                e.params.freeMode && e.params.freeMode.enabled\n                    ? (a(), e.params.autoHeight && e.updateAutoHeight())\n                    : ((i =\n                          ('auto' === e.params.slidesPerView ||\n                              e.params.slidesPerView > 1) &&\n                          e.isEnd &&\n                          !e.params.centeredSlides\n                              ? e.slideTo(e.slides.length - 1, 0, !1, !0)\n                              : e.slideTo(e.activeIndex, 0, !1, !0)),\n                      i || a()),\n                s.watchOverflow && t !== e.snapGrid && e.checkOverflow(),\n                e.emit('update')\n        }\n        changeDirection(e, t) {\n            void 0 === t && (t = !0)\n            const s = this,\n                a = s.params.direction\n            return (\n                e || (e = 'horizontal' === a ? 'vertical' : 'horizontal'),\n                e === a ||\n                    ('horizontal' !== e && 'vertical' !== e) ||\n                    (s.$el\n                        .removeClass(`${s.params.containerModifierClass}${a}`)\n                        .addClass(`${s.params.containerModifierClass}${e}`),\n                    s.emitContainerClasses(),\n                    (s.params.direction = e),\n                    s.slides.each((t) => {\n                        'vertical' === e\n                            ? (t.style.width = '')\n                            : (t.style.height = '')\n                    }),\n                    s.emit('changeDirection'),\n                    t && s.update()),\n                s\n            )\n        }\n        mount(e) {\n            const t = this\n            if (t.mounted) return !0\n            const s = d(e || t.params.el)\n            if (!(e = s[0])) return !1\n            e.swiper = t\n            const i = () =>\n                `.${(t.params.wrapperClass || '').trim().split(' ').join('.')}`\n            let r = (() => {\n                if (e && e.shadowRoot && e.shadowRoot.querySelector) {\n                    const t = d(e.shadowRoot.querySelector(i()))\n                    return (t.children = (e) => s.children(e)), t\n                }\n                return s.children(i())\n            })()\n            if (0 === r.length && t.params.createElements) {\n                const e = a().createElement('div')\n                ;(r = d(e)),\n                    (e.className = t.params.wrapperClass),\n                    s.append(e),\n                    s.children(`.${t.params.slideClass}`).each((e) => {\n                        r.append(e)\n                    })\n            }\n            return (\n                Object.assign(t, {\n                    $el: s,\n                    el: e,\n                    $wrapperEl: r,\n                    wrapperEl: r[0],\n                    mounted: !0,\n                    rtl:\n                        'rtl' === e.dir.toLowerCase() ||\n                        'rtl' === s.css('direction'),\n                    rtlTranslate:\n                        'horizontal' === t.params.direction &&\n                        ('rtl' === e.dir.toLowerCase() ||\n                            'rtl' === s.css('direction')),\n                    wrongRTL: '-webkit-box' === r.css('display'),\n                }),\n                !0\n            )\n        }\n        init(e) {\n            const t = this\n            if (t.initialized) return t\n            return (\n                !1 === t.mount(e) ||\n                    (t.emit('beforeInit'),\n                    t.params.breakpoints && t.setBreakpoint(),\n                    t.addClasses(),\n                    t.params.loop && t.loopCreate(),\n                    t.updateSize(),\n                    t.updateSlides(),\n                    t.params.watchOverflow && t.checkOverflow(),\n                    t.params.grabCursor && t.enabled && t.setGrabCursor(),\n                    t.params.preloadImages && t.preloadImages(),\n                    t.params.loop\n                        ? t.slideTo(\n                              t.params.initialSlide + t.loopedSlides,\n                              0,\n                              t.params.runCallbacksOnInit,\n                              !1,\n                              !0\n                          )\n                        : t.slideTo(\n                              t.params.initialSlide,\n                              0,\n                              t.params.runCallbacksOnInit,\n                              !1,\n                              !0\n                          ),\n                    t.attachEvents(),\n                    (t.initialized = !0),\n                    t.emit('init'),\n                    t.emit('afterInit')),\n                t\n            )\n        }\n        destroy(e, t) {\n            void 0 === e && (e = !0), void 0 === t && (t = !0)\n            const s = this,\n                { params: a, $el: i, $wrapperEl: r, slides: n } = s\n            return (\n                void 0 === s.params ||\n                    s.destroyed ||\n                    (s.emit('beforeDestroy'),\n                    (s.initialized = !1),\n                    s.detachEvents(),\n                    a.loop && s.loopDestroy(),\n                    t &&\n                        (s.removeClasses(),\n                        i.removeAttr('style'),\n                        r.removeAttr('style'),\n                        n &&\n                            n.length &&\n                            n\n                                .removeClass(\n                                    [\n                                        a.slideVisibleClass,\n                                        a.slideActiveClass,\n                                        a.slideNextClass,\n                                        a.slidePrevClass,\n                                    ].join(' ')\n                                )\n                                .removeAttr('style')\n                                .removeAttr('data-swiper-slide-index')),\n                    s.emit('destroy'),\n                    Object.keys(s.eventsListeners).forEach((e) => {\n                        s.off(e)\n                    }),\n                    !1 !== e &&\n                        ((s.$el[0].swiper = null),\n                        (function (e) {\n                            const t = e\n                            Object.keys(t).forEach((e) => {\n                                try {\n                                    t[e] = null\n                                } catch (e) {}\n                                try {\n                                    delete t[e]\n                                } catch (e) {}\n                            })\n                        })(s)),\n                    (s.destroyed = !0)),\n                null\n            )\n        }\n        static extendDefaults(e) {\n            g(q, e)\n        }\n        static get extendedDefaults() {\n            return q\n        }\n        static get defaults() {\n            return W\n        }\n        static installModule(e) {\n            V.prototype.__modules__ || (V.prototype.__modules__ = [])\n            const t = V.prototype.__modules__\n            'function' == typeof e && t.indexOf(e) < 0 && t.push(e)\n        }\n        static use(e) {\n            return Array.isArray(e)\n                ? (e.forEach((e) => V.installModule(e)), V)\n                : (V.installModule(e), V)\n        }\n    }\n    function F(e, t, s, i) {\n        const r = a()\n        return (\n            e.params.createElements &&\n                Object.keys(i).forEach((a) => {\n                    if (!s[a] && !0 === s.auto) {\n                        let n = e.$el.children(`.${i[a]}`)[0]\n                        n ||\n                            ((n = r.createElement('div')),\n                            (n.className = i[a]),\n                            e.$el.append(n)),\n                            (s[a] = n),\n                            (t[a] = n)\n                    }\n                }),\n            s\n        )\n    }\n    function U(e) {\n        return (\n            void 0 === e && (e = ''),\n            `.${e\n                .trim()\n                .replace(/([\\.:!\\/])/g, '\\\\$1')\n                .replace(/ /g, '.')}`\n        )\n    }\n    function K(e) {\n        const t = this,\n            { $wrapperEl: s, params: a } = t\n        if ((a.loop && t.loopDestroy(), 'object' == typeof e && 'length' in e))\n            for (let t = 0; t < e.length; t += 1) e[t] && s.append(e[t])\n        else s.append(e)\n        a.loop && t.loopCreate(), a.observer || t.update()\n    }\n    function Z(e) {\n        const t = this,\n            { params: s, $wrapperEl: a, activeIndex: i } = t\n        s.loop && t.loopDestroy()\n        let r = i + 1\n        if ('object' == typeof e && 'length' in e) {\n            for (let t = 0; t < e.length; t += 1) e[t] && a.prepend(e[t])\n            r = i + e.length\n        } else a.prepend(e)\n        s.loop && t.loopCreate(), s.observer || t.update(), t.slideTo(r, 0, !1)\n    }\n    function J(e, t) {\n        const s = this,\n            { $wrapperEl: a, params: i, activeIndex: r } = s\n        let n = r\n        i.loop &&\n            ((n -= s.loopedSlides),\n            s.loopDestroy(),\n            (s.slides = a.children(`.${i.slideClass}`)))\n        const l = s.slides.length\n        if (e <= 0) return void s.prependSlide(t)\n        if (e >= l) return void s.appendSlide(t)\n        let o = n > e ? n + 1 : n\n        const d = []\n        for (let t = l - 1; t >= e; t -= 1) {\n            const e = s.slides.eq(t)\n            e.remove(), d.unshift(e)\n        }\n        if ('object' == typeof t && 'length' in t) {\n            for (let e = 0; e < t.length; e += 1) t[e] && a.append(t[e])\n            o = n > e ? n + t.length : n\n        } else a.append(t)\n        for (let e = 0; e < d.length; e += 1) a.append(d[e])\n        i.loop && s.loopCreate(),\n            i.observer || s.update(),\n            i.loop ? s.slideTo(o + s.loopedSlides, 0, !1) : s.slideTo(o, 0, !1)\n    }\n    function Q(e) {\n        const t = this,\n            { params: s, $wrapperEl: a, activeIndex: i } = t\n        let r = i\n        s.loop &&\n            ((r -= t.loopedSlides),\n            t.loopDestroy(),\n            (t.slides = a.children(`.${s.slideClass}`)))\n        let n,\n            l = r\n        if ('object' == typeof e && 'length' in e) {\n            for (let s = 0; s < e.length; s += 1)\n                (n = e[s]),\n                    t.slides[n] && t.slides.eq(n).remove(),\n                    n < l && (l -= 1)\n            l = Math.max(l, 0)\n        } else (n = e), t.slides[n] && t.slides.eq(n).remove(), n < l && (l -= 1), (l = Math.max(l, 0))\n        s.loop && t.loopCreate(),\n            s.observer || t.update(),\n            s.loop ? t.slideTo(l + t.loopedSlides, 0, !1) : t.slideTo(l, 0, !1)\n    }\n    function ee() {\n        const e = this,\n            t = []\n        for (let s = 0; s < e.slides.length; s += 1) t.push(s)\n        e.removeSlide(t)\n    }\n    function te(e) {\n        const {\n            effect: t,\n            swiper: s,\n            on: a,\n            setTranslate: i,\n            setTransition: r,\n            overwriteParams: n,\n            perspective: l,\n        } = e\n        let o\n        a('beforeInit', () => {\n            if (s.params.effect !== t) return\n            s.classNames.push(`${s.params.containerModifierClass}${t}`),\n                l &&\n                    l() &&\n                    s.classNames.push(`${s.params.containerModifierClass}3d`)\n            const e = n ? n() : {}\n            Object.assign(s.params, e), Object.assign(s.originalParams, e)\n        }),\n            a('setTranslate', () => {\n                s.params.effect === t && i()\n            }),\n            a('setTransition', (e, a) => {\n                s.params.effect === t && r(a)\n            }),\n            a('virtualUpdate', () => {\n                s.slides.length || (o = !0),\n                    requestAnimationFrame(() => {\n                        o && s.slides.length && (i(), (o = !1))\n                    })\n            })\n    }\n    function se(e, t) {\n        return e.transformEl\n            ? t.find(e.transformEl).css({\n                  'backface-visibility': 'hidden',\n                  '-webkit-backface-visibility': 'hidden',\n              })\n            : t\n    }\n    function ae(e) {\n        let { swiper: t, duration: s, transformEl: a, allSlides: i } = e\n        const { slides: r, activeIndex: n, $wrapperEl: l } = t\n        if (t.params.virtualTranslate && 0 !== s) {\n            let e,\n                s = !1\n            ;(e = i ? (a ? r.find(a) : r) : a ? r.eq(n).find(a) : r.eq(n)),\n                e.transitionEnd(() => {\n                    if (s) return\n                    if (!t || t.destroyed) return\n                    ;(s = !0), (t.animating = !1)\n                    const e = ['webkitTransitionEnd', 'transitionend']\n                    for (let t = 0; t < e.length; t += 1) l.trigger(e[t])\n                })\n        }\n    }\n    function ie(e, t, s) {\n        const a = 'swiper-slide-shadow' + (s ? `-${s}` : ''),\n            i = e.transformEl ? t.find(e.transformEl) : t\n        let r = i.children(`.${a}`)\n        return (\n            r.length ||\n                ((r = d(\n                    `<div class=\"swiper-slide-shadow${s ? `-${s}` : ''}\"></div>`\n                )),\n                i.append(r)),\n            r\n        )\n    }\n    Object.keys(_).forEach((e) => {\n        Object.keys(_[e]).forEach((t) => {\n            V.prototype[t] = _[e][t]\n        })\n    }),\n        V.use([\n            function (e) {\n                let { swiper: t, on: s, emit: a } = e\n                const i = r()\n                let n = null,\n                    l = null\n                const o = () => {\n                        t &&\n                            !t.destroyed &&\n                            t.initialized &&\n                            (a('beforeResize'), a('resize'))\n                    },\n                    d = () => {\n                        t &&\n                            !t.destroyed &&\n                            t.initialized &&\n                            a('orientationchange')\n                    }\n                s('init', () => {\n                    t.params.resizeObserver && void 0 !== i.ResizeObserver\n                        ? t &&\n                          !t.destroyed &&\n                          t.initialized &&\n                          ((n = new ResizeObserver((e) => {\n                              l = i.requestAnimationFrame(() => {\n                                  const { width: s, height: a } = t\n                                  let i = s,\n                                      r = a\n                                  e.forEach((e) => {\n                                      let {\n                                          contentBoxSize: s,\n                                          contentRect: a,\n                                          target: n,\n                                      } = e\n                                      ;(n && n !== t.el) ||\n                                          ((i = a\n                                              ? a.width\n                                              : (s[0] || s).inlineSize),\n                                          (r = a\n                                              ? a.height\n                                              : (s[0] || s).blockSize))\n                                  }),\n                                      (i === s && r === a) || o()\n                              })\n                          })),\n                          n.observe(t.el))\n                        : (i.addEventListener('resize', o),\n                          i.addEventListener('orientationchange', d))\n                }),\n                    s('destroy', () => {\n                        l && i.cancelAnimationFrame(l),\n                            n &&\n                                n.unobserve &&\n                                t.el &&\n                                (n.unobserve(t.el), (n = null)),\n                            i.removeEventListener('resize', o),\n                            i.removeEventListener('orientationchange', d)\n                    })\n            },\n            function (e) {\n                let { swiper: t, extendParams: s, on: a, emit: i } = e\n                const n = [],\n                    l = r(),\n                    o = function (e, t) {\n                        void 0 === t && (t = {})\n                        const s = new (l.MutationObserver ||\n                            l.WebkitMutationObserver)((e) => {\n                            if (1 === e.length)\n                                return void i('observerUpdate', e[0])\n                            const t = function () {\n                                i('observerUpdate', e[0])\n                            }\n                            l.requestAnimationFrame\n                                ? l.requestAnimationFrame(t)\n                                : l.setTimeout(t, 0)\n                        })\n                        s.observe(e, {\n                            attributes: void 0 === t.attributes || t.attributes,\n                            childList: void 0 === t.childList || t.childList,\n                            characterData:\n                                void 0 === t.characterData || t.characterData,\n                        }),\n                            n.push(s)\n                    }\n                s({\n                    observer: !1,\n                    observeParents: !1,\n                    observeSlideChildren: !1,\n                }),\n                    a('init', () => {\n                        if (t.params.observer) {\n                            if (t.params.observeParents) {\n                                const e = t.$el.parents()\n                                for (let t = 0; t < e.length; t += 1) o(e[t])\n                            }\n                            o(t.$el[0], {\n                                childList: t.params.observeSlideChildren,\n                            }),\n                                o(t.$wrapperEl[0], { attributes: !1 })\n                        }\n                    }),\n                    a('destroy', () => {\n                        n.forEach((e) => {\n                            e.disconnect()\n                        }),\n                            n.splice(0, n.length)\n                    })\n            },\n        ])\n    const re = [\n        function (e) {\n            let t,\n                { swiper: s, extendParams: a, on: i, emit: r } = e\n            function n(e, t) {\n                const a = s.params.virtual\n                if (a.cache && s.virtual.cache[t]) return s.virtual.cache[t]\n                const i = a.renderSlide\n                    ? d(a.renderSlide.call(s, e, t))\n                    : d(\n                          `<div class=\"${s.params.slideClass}\" data-swiper-slide-index=\"${t}\">${e}</div>`\n                      )\n                return (\n                    i.attr('data-swiper-slide-index') ||\n                        i.attr('data-swiper-slide-index', t),\n                    a.cache && (s.virtual.cache[t] = i),\n                    i\n                )\n            }\n            function l(e) {\n                const {\n                        slidesPerView: t,\n                        slidesPerGroup: a,\n                        centeredSlides: i,\n                    } = s.params,\n                    { addSlidesBefore: l, addSlidesAfter: o } =\n                        s.params.virtual,\n                    {\n                        from: d,\n                        to: c,\n                        slides: p,\n                        slidesGrid: u,\n                        offset: h,\n                    } = s.virtual\n                s.params.cssMode || s.updateActiveIndex()\n                const m = s.activeIndex || 0\n                let f, g, v\n                ;(f = s.rtlTranslate\n                    ? 'right'\n                    : s.isHorizontal()\n                    ? 'left'\n                    : 'top'),\n                    i\n                        ? ((g = Math.floor(t / 2) + a + o),\n                          (v = Math.floor(t / 2) + a + l))\n                        : ((g = t + (a - 1) + o), (v = a + l))\n                const w = Math.max((m || 0) - v, 0),\n                    b = Math.min((m || 0) + g, p.length - 1),\n                    x = (s.slidesGrid[w] || 0) - (s.slidesGrid[0] || 0)\n                function y() {\n                    s.updateSlides(),\n                        s.updateProgress(),\n                        s.updateSlidesClasses(),\n                        s.lazy && s.params.lazy.enabled && s.lazy.load(),\n                        r('virtualUpdate')\n                }\n                if (\n                    (Object.assign(s.virtual, {\n                        from: w,\n                        to: b,\n                        offset: x,\n                        slidesGrid: s.slidesGrid,\n                    }),\n                    d === w && c === b && !e)\n                )\n                    return (\n                        s.slidesGrid !== u &&\n                            x !== h &&\n                            s.slides.css(f, `${x}px`),\n                        s.updateProgress(),\n                        void r('virtualUpdate')\n                    )\n                if (s.params.virtual.renderExternal)\n                    return (\n                        s.params.virtual.renderExternal.call(s, {\n                            offset: x,\n                            from: w,\n                            to: b,\n                            slides: (function () {\n                                const e = []\n                                for (let t = w; t <= b; t += 1) e.push(p[t])\n                                return e\n                            })(),\n                        }),\n                        void (s.params.virtual.renderExternalUpdate\n                            ? y()\n                            : r('virtualUpdate'))\n                    )\n                const E = [],\n                    T = []\n                if (e) s.$wrapperEl.find(`.${s.params.slideClass}`).remove()\n                else\n                    for (let e = d; e <= c; e += 1)\n                        (e < w || e > b) &&\n                            s.$wrapperEl\n                                .find(\n                                    `.${s.params.slideClass}[data-swiper-slide-index=\"${e}\"]`\n                                )\n                                .remove()\n                for (let t = 0; t < p.length; t += 1)\n                    t >= w &&\n                        t <= b &&\n                        (void 0 === c || e\n                            ? T.push(t)\n                            : (t > c && T.push(t), t < d && E.push(t)))\n                T.forEach((e) => {\n                    s.$wrapperEl.append(n(p[e], e))\n                }),\n                    E.sort((e, t) => t - e).forEach((e) => {\n                        s.$wrapperEl.prepend(n(p[e], e))\n                    }),\n                    s.$wrapperEl.children('.swiper-slide').css(f, `${x}px`),\n                    y()\n            }\n            a({\n                virtual: {\n                    enabled: !1,\n                    slides: [],\n                    cache: !0,\n                    renderSlide: null,\n                    renderExternal: null,\n                    renderExternalUpdate: !0,\n                    addSlidesBefore: 0,\n                    addSlidesAfter: 0,\n                },\n            }),\n                (s.virtual = {\n                    cache: {},\n                    from: void 0,\n                    to: void 0,\n                    slides: [],\n                    offset: 0,\n                    slidesGrid: [],\n                }),\n                i('beforeInit', () => {\n                    s.params.virtual.enabled &&\n                        ((s.virtual.slides = s.params.virtual.slides),\n                        s.classNames.push(\n                            `${s.params.containerModifierClass}virtual`\n                        ),\n                        (s.params.watchSlidesProgress = !0),\n                        (s.originalParams.watchSlidesProgress = !0),\n                        s.params.initialSlide || l())\n                }),\n                i('setTranslate', () => {\n                    s.params.virtual.enabled &&\n                        (s.params.cssMode && !s._immediateVirtual\n                            ? (clearTimeout(t),\n                              (t = setTimeout(() => {\n                                  l()\n                              }, 100)))\n                            : l())\n                }),\n                i('init update resize', () => {\n                    s.params.virtual.enabled &&\n                        s.params.cssMode &&\n                        v(\n                            s.wrapperEl,\n                            '--swiper-virtual-size',\n                            `${s.virtualSize}px`\n                        )\n                }),\n                Object.assign(s.virtual, {\n                    appendSlide: function (e) {\n                        if ('object' == typeof e && 'length' in e)\n                            for (let t = 0; t < e.length; t += 1)\n                                e[t] && s.virtual.slides.push(e[t])\n                        else s.virtual.slides.push(e)\n                        l(!0)\n                    },\n                    prependSlide: function (e) {\n                        const t = s.activeIndex\n                        let a = t + 1,\n                            i = 1\n                        if (Array.isArray(e)) {\n                            for (let t = 0; t < e.length; t += 1)\n                                e[t] && s.virtual.slides.unshift(e[t])\n                            ;(a = t + e.length), (i = e.length)\n                        } else s.virtual.slides.unshift(e)\n                        if (s.params.virtual.cache) {\n                            const e = s.virtual.cache,\n                                t = {}\n                            Object.keys(e).forEach((s) => {\n                                const a = e[s],\n                                    r = a.attr('data-swiper-slide-index')\n                                r &&\n                                    a.attr(\n                                        'data-swiper-slide-index',\n                                        parseInt(r, 10) + i\n                                    ),\n                                    (t[parseInt(s, 10) + i] = a)\n                            }),\n                                (s.virtual.cache = t)\n                        }\n                        l(!0), s.slideTo(a, 0)\n                    },\n                    removeSlide: function (e) {\n                        if (null == e) return\n                        let t = s.activeIndex\n                        if (Array.isArray(e))\n                            for (let a = e.length - 1; a >= 0; a -= 1)\n                                s.virtual.slides.splice(e[a], 1),\n                                    s.params.virtual.cache &&\n                                        delete s.virtual.cache[e[a]],\n                                    e[a] < t && (t -= 1),\n                                    (t = Math.max(t, 0))\n                        else\n                            s.virtual.slides.splice(e, 1),\n                                s.params.virtual.cache &&\n                                    delete s.virtual.cache[e],\n                                e < t && (t -= 1),\n                                (t = Math.max(t, 0))\n                        l(!0), s.slideTo(t, 0)\n                    },\n                    removeAllSlides: function () {\n                        ;(s.virtual.slides = []),\n                            s.params.virtual.cache && (s.virtual.cache = {}),\n                            l(!0),\n                            s.slideTo(0, 0)\n                    },\n                    update: l,\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: i, emit: n } = e\n            const l = a(),\n                o = r()\n            function c(e) {\n                if (!t.enabled) return\n                const { rtlTranslate: s } = t\n                let a = e\n                a.originalEvent && (a = a.originalEvent)\n                const i = a.keyCode || a.charCode,\n                    r = t.params.keyboard.pageUpDown,\n                    d = r && 33 === i,\n                    c = r && 34 === i,\n                    p = 37 === i,\n                    u = 39 === i,\n                    h = 38 === i,\n                    m = 40 === i\n                if (\n                    !t.allowSlideNext &&\n                    ((t.isHorizontal() && u) || (t.isVertical() && m) || c)\n                )\n                    return !1\n                if (\n                    !t.allowSlidePrev &&\n                    ((t.isHorizontal() && p) || (t.isVertical() && h) || d)\n                )\n                    return !1\n                if (\n                    !(\n                        a.shiftKey ||\n                        a.altKey ||\n                        a.ctrlKey ||\n                        a.metaKey ||\n                        (l.activeElement &&\n                            l.activeElement.nodeName &&\n                            ('input' ===\n                                l.activeElement.nodeName.toLowerCase() ||\n                                'textarea' ===\n                                    l.activeElement.nodeName.toLowerCase()))\n                    )\n                ) {\n                    if (\n                        t.params.keyboard.onlyInViewport &&\n                        (d || c || p || u || h || m)\n                    ) {\n                        let e = !1\n                        if (\n                            t.$el.parents(`.${t.params.slideClass}`).length >\n                                0 &&\n                            0 ===\n                                t.$el.parents(`.${t.params.slideActiveClass}`)\n                                    .length\n                        )\n                            return\n                        const a = t.$el,\n                            i = a[0].clientWidth,\n                            r = a[0].clientHeight,\n                            n = o.innerWidth,\n                            l = o.innerHeight,\n                            d = t.$el.offset()\n                        s && (d.left -= t.$el[0].scrollLeft)\n                        const c = [\n                            [d.left, d.top],\n                            [d.left + i, d.top],\n                            [d.left, d.top + r],\n                            [d.left + i, d.top + r],\n                        ]\n                        for (let t = 0; t < c.length; t += 1) {\n                            const s = c[t]\n                            if (\n                                s[0] >= 0 &&\n                                s[0] <= n &&\n                                s[1] >= 0 &&\n                                s[1] <= l\n                            ) {\n                                if (0 === s[0] && 0 === s[1]) continue\n                                e = !0\n                            }\n                        }\n                        if (!e) return\n                    }\n                    t.isHorizontal()\n                        ? ((d || c || p || u) &&\n                              (a.preventDefault\n                                  ? a.preventDefault()\n                                  : (a.returnValue = !1)),\n                          (((c || u) && !s) || ((d || p) && s)) &&\n                              t.slideNext(),\n                          (((d || p) && !s) || ((c || u) && s)) &&\n                              t.slidePrev())\n                        : ((d || c || h || m) &&\n                              (a.preventDefault\n                                  ? a.preventDefault()\n                                  : (a.returnValue = !1)),\n                          (c || m) && t.slideNext(),\n                          (d || h) && t.slidePrev()),\n                        n('keyPress', i)\n                }\n            }\n            function p() {\n                t.keyboard.enabled ||\n                    (d(l).on('keydown', c), (t.keyboard.enabled = !0))\n            }\n            function u() {\n                t.keyboard.enabled &&\n                    (d(l).off('keydown', c), (t.keyboard.enabled = !1))\n            }\n            ;(t.keyboard = { enabled: !1 }),\n                s({\n                    keyboard: {\n                        enabled: !1,\n                        onlyInViewport: !0,\n                        pageUpDown: !0,\n                    },\n                }),\n                i('init', () => {\n                    t.params.keyboard.enabled && p()\n                }),\n                i('destroy', () => {\n                    t.keyboard.enabled && u()\n                }),\n                Object.assign(t.keyboard, { enable: p, disable: u })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a, emit: i } = e\n            const n = r()\n            let l\n            s({\n                mousewheel: {\n                    enabled: !1,\n                    releaseOnEdges: !1,\n                    invert: !1,\n                    forceToAxis: !1,\n                    sensitivity: 1,\n                    eventsTarget: 'container',\n                    thresholdDelta: null,\n                    thresholdTime: null,\n                },\n            }),\n                (t.mousewheel = { enabled: !1 })\n            let o,\n                c = u()\n            const h = []\n            function m() {\n                t.enabled && (t.mouseEntered = !0)\n            }\n            function f() {\n                t.enabled && (t.mouseEntered = !1)\n            }\n            function g(e) {\n                return (\n                    !(\n                        t.params.mousewheel.thresholdDelta &&\n                        e.delta < t.params.mousewheel.thresholdDelta\n                    ) &&\n                    !(\n                        t.params.mousewheel.thresholdTime &&\n                        u() - c < t.params.mousewheel.thresholdTime\n                    ) &&\n                    ((e.delta >= 6 && u() - c < 60) ||\n                        (e.direction < 0\n                            ? (t.isEnd && !t.params.loop) ||\n                              t.animating ||\n                              (t.slideNext(), i('scroll', e.raw))\n                            : (t.isBeginning && !t.params.loop) ||\n                              t.animating ||\n                              (t.slidePrev(), i('scroll', e.raw)),\n                        (c = new n.Date().getTime()),\n                        !1))\n                )\n            }\n            function v(e) {\n                let s = e,\n                    a = !0\n                if (!t.enabled) return\n                const r = t.params.mousewheel\n                t.params.cssMode && s.preventDefault()\n                let n = t.$el\n                if (\n                    ('container' !== t.params.mousewheel.eventsTarget &&\n                        (n = d(t.params.mousewheel.eventsTarget)),\n                    !t.mouseEntered &&\n                        !n[0].contains(s.target) &&\n                        !r.releaseOnEdges)\n                )\n                    return !0\n                s.originalEvent && (s = s.originalEvent)\n                let c = 0\n                const m = t.rtlTranslate ? -1 : 1,\n                    f = (function (e) {\n                        let t = 0,\n                            s = 0,\n                            a = 0,\n                            i = 0\n                        return (\n                            'detail' in e && (s = e.detail),\n                            'wheelDelta' in e && (s = -e.wheelDelta / 120),\n                            'wheelDeltaY' in e && (s = -e.wheelDeltaY / 120),\n                            'wheelDeltaX' in e && (t = -e.wheelDeltaX / 120),\n                            'axis' in e &&\n                                e.axis === e.HORIZONTAL_AXIS &&\n                                ((t = s), (s = 0)),\n                            (a = 10 * t),\n                            (i = 10 * s),\n                            'deltaY' in e && (i = e.deltaY),\n                            'deltaX' in e && (a = e.deltaX),\n                            e.shiftKey && !a && ((a = i), (i = 0)),\n                            (a || i) &&\n                                e.deltaMode &&\n                                (1 === e.deltaMode\n                                    ? ((a *= 40), (i *= 40))\n                                    : ((a *= 800), (i *= 800))),\n                            a && !t && (t = a < 1 ? -1 : 1),\n                            i && !s && (s = i < 1 ? -1 : 1),\n                            { spinX: t, spinY: s, pixelX: a, pixelY: i }\n                        )\n                    })(s)\n                if (r.forceToAxis)\n                    if (t.isHorizontal()) {\n                        if (!(Math.abs(f.pixelX) > Math.abs(f.pixelY)))\n                            return !0\n                        c = -f.pixelX * m\n                    } else {\n                        if (!(Math.abs(f.pixelY) > Math.abs(f.pixelX)))\n                            return !0\n                        c = -f.pixelY\n                    }\n                else\n                    c =\n                        Math.abs(f.pixelX) > Math.abs(f.pixelY)\n                            ? -f.pixelX * m\n                            : -f.pixelY\n                if (0 === c) return !0\n                r.invert && (c = -c)\n                let v = t.getTranslate() + c * r.sensitivity\n                if (\n                    (v >= t.minTranslate() && (v = t.minTranslate()),\n                    v <= t.maxTranslate() && (v = t.maxTranslate()),\n                    (a =\n                        !!t.params.loop ||\n                        !(v === t.minTranslate() || v === t.maxTranslate())),\n                    a && t.params.nested && s.stopPropagation(),\n                    t.params.freeMode && t.params.freeMode.enabled)\n                ) {\n                    const e = {\n                            time: u(),\n                            delta: Math.abs(c),\n                            direction: Math.sign(c),\n                        },\n                        a =\n                            o &&\n                            e.time < o.time + 500 &&\n                            e.delta <= o.delta &&\n                            e.direction === o.direction\n                    if (!a) {\n                        ;(o = void 0), t.params.loop && t.loopFix()\n                        let n = t.getTranslate() + c * r.sensitivity\n                        const d = t.isBeginning,\n                            u = t.isEnd\n                        if (\n                            (n >= t.minTranslate() && (n = t.minTranslate()),\n                            n <= t.maxTranslate() && (n = t.maxTranslate()),\n                            t.setTransition(0),\n                            t.setTranslate(n),\n                            t.updateProgress(),\n                            t.updateActiveIndex(),\n                            t.updateSlidesClasses(),\n                            ((!d && t.isBeginning) || (!u && t.isEnd)) &&\n                                t.updateSlidesClasses(),\n                            t.params.freeMode.sticky)\n                        ) {\n                            clearTimeout(l),\n                                (l = void 0),\n                                h.length >= 15 && h.shift()\n                            const s = h.length ? h[h.length - 1] : void 0,\n                                a = h[0]\n                            if (\n                                (h.push(e),\n                                s &&\n                                    (e.delta > s.delta ||\n                                        e.direction !== s.direction))\n                            )\n                                h.splice(0)\n                            else if (\n                                h.length >= 15 &&\n                                e.time - a.time < 500 &&\n                                a.delta - e.delta >= 1 &&\n                                e.delta <= 6\n                            ) {\n                                const s = c > 0 ? 0.8 : 0.2\n                                ;(o = e),\n                                    h.splice(0),\n                                    (l = p(() => {\n                                        t.slideToClosest(\n                                            t.params.speed,\n                                            !0,\n                                            void 0,\n                                            s\n                                        )\n                                    }, 0))\n                            }\n                            l ||\n                                (l = p(() => {\n                                    ;(o = e),\n                                        h.splice(0),\n                                        t.slideToClosest(\n                                            t.params.speed,\n                                            !0,\n                                            void 0,\n                                            0.5\n                                        )\n                                }, 500))\n                        }\n                        if (\n                            (a || i('scroll', s),\n                            t.params.autoplay &&\n                                t.params.autoplayDisableOnInteraction &&\n                                t.autoplay.stop(),\n                            n === t.minTranslate() || n === t.maxTranslate())\n                        )\n                            return !0\n                    }\n                } else {\n                    const s = {\n                        time: u(),\n                        delta: Math.abs(c),\n                        direction: Math.sign(c),\n                        raw: e,\n                    }\n                    h.length >= 2 && h.shift()\n                    const a = h.length ? h[h.length - 1] : void 0\n                    if (\n                        (h.push(s),\n                        a\n                            ? (s.direction !== a.direction ||\n                                  s.delta > a.delta ||\n                                  s.time > a.time + 150) &&\n                              g(s)\n                            : g(s),\n                        (function (e) {\n                            const s = t.params.mousewheel\n                            if (e.direction < 0) {\n                                if (\n                                    t.isEnd &&\n                                    !t.params.loop &&\n                                    s.releaseOnEdges\n                                )\n                                    return !0\n                            } else if (\n                                t.isBeginning &&\n                                !t.params.loop &&\n                                s.releaseOnEdges\n                            )\n                                return !0\n                            return !1\n                        })(s))\n                    )\n                        return !0\n                }\n                return (\n                    s.preventDefault\n                        ? s.preventDefault()\n                        : (s.returnValue = !1),\n                    !1\n                )\n            }\n            function w(e) {\n                let s = t.$el\n                'container' !== t.params.mousewheel.eventsTarget &&\n                    (s = d(t.params.mousewheel.eventsTarget)),\n                    s[e]('mouseenter', m),\n                    s[e]('mouseleave', f),\n                    s[e]('wheel', v)\n            }\n            function b() {\n                return t.params.cssMode\n                    ? (t.wrapperEl.removeEventListener('wheel', v), !0)\n                    : !t.mousewheel.enabled &&\n                          (w('on'), (t.mousewheel.enabled = !0), !0)\n            }\n            function x() {\n                return t.params.cssMode\n                    ? (t.wrapperEl.addEventListener(event, v), !0)\n                    : !!t.mousewheel.enabled &&\n                          (w('off'), (t.mousewheel.enabled = !1), !0)\n            }\n            a('init', () => {\n                !t.params.mousewheel.enabled && t.params.cssMode && x(),\n                    t.params.mousewheel.enabled && b()\n            }),\n                a('destroy', () => {\n                    t.params.cssMode && b(), t.mousewheel.enabled && x()\n                }),\n                Object.assign(t.mousewheel, { enable: b, disable: x })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a, emit: i } = e\n            function r(e) {\n                let s\n                return (\n                    e &&\n                        ((s = d(e)),\n                        t.params.uniqueNavElements &&\n                            'string' == typeof e &&\n                            s.length > 1 &&\n                            1 === t.$el.find(e).length &&\n                            (s = t.$el.find(e))),\n                    s\n                )\n            }\n            function n(e, s) {\n                const a = t.params.navigation\n                e &&\n                    e.length > 0 &&\n                    (e[s ? 'addClass' : 'removeClass'](a.disabledClass),\n                    e[0] && 'BUTTON' === e[0].tagName && (e[0].disabled = s),\n                    t.params.watchOverflow &&\n                        t.enabled &&\n                        e[t.isLocked ? 'addClass' : 'removeClass'](a.lockClass))\n            }\n            function l() {\n                if (t.params.loop) return\n                const { $nextEl: e, $prevEl: s } = t.navigation\n                n(s, t.isBeginning && !t.params.rewind),\n                    n(e, t.isEnd && !t.params.rewind)\n            }\n            function o(e) {\n                e.preventDefault(),\n                    (!t.isBeginning || t.params.loop || t.params.rewind) &&\n                        t.slidePrev()\n            }\n            function c(e) {\n                e.preventDefault(),\n                    (!t.isEnd || t.params.loop || t.params.rewind) &&\n                        t.slideNext()\n            }\n            function p() {\n                const e = t.params.navigation\n                if (\n                    ((t.params.navigation = F(\n                        t,\n                        t.originalParams.navigation,\n                        t.params.navigation,\n                        {\n                            nextEl: 'swiper-button-next',\n                            prevEl: 'swiper-button-prev',\n                        }\n                    )),\n                    !e.nextEl && !e.prevEl)\n                )\n                    return\n                const s = r(e.nextEl),\n                    a = r(e.prevEl)\n                s && s.length > 0 && s.on('click', c),\n                    a && a.length > 0 && a.on('click', o),\n                    Object.assign(t.navigation, {\n                        $nextEl: s,\n                        nextEl: s && s[0],\n                        $prevEl: a,\n                        prevEl: a && a[0],\n                    }),\n                    t.enabled ||\n                        (s && s.addClass(e.lockClass),\n                        a && a.addClass(e.lockClass))\n            }\n            function u() {\n                const { $nextEl: e, $prevEl: s } = t.navigation\n                e &&\n                    e.length &&\n                    (e.off('click', c),\n                    e.removeClass(t.params.navigation.disabledClass)),\n                    s &&\n                        s.length &&\n                        (s.off('click', o),\n                        s.removeClass(t.params.navigation.disabledClass))\n            }\n            s({\n                navigation: {\n                    nextEl: null,\n                    prevEl: null,\n                    hideOnClick: !1,\n                    disabledClass: 'swiper-button-disabled',\n                    hiddenClass: 'swiper-button-hidden',\n                    lockClass: 'swiper-button-lock',\n                },\n            }),\n                (t.navigation = {\n                    nextEl: null,\n                    $nextEl: null,\n                    prevEl: null,\n                    $prevEl: null,\n                }),\n                a('init', () => {\n                    p(), l()\n                }),\n                a('toEdge fromEdge lock unlock', () => {\n                    l()\n                }),\n                a('destroy', () => {\n                    u()\n                }),\n                a('enable disable', () => {\n                    const { $nextEl: e, $prevEl: s } = t.navigation\n                    e &&\n                        e[t.enabled ? 'removeClass' : 'addClass'](\n                            t.params.navigation.lockClass\n                        ),\n                        s &&\n                            s[t.enabled ? 'removeClass' : 'addClass'](\n                                t.params.navigation.lockClass\n                            )\n                }),\n                a('click', (e, s) => {\n                    const { $nextEl: a, $prevEl: r } = t.navigation,\n                        n = s.target\n                    if (\n                        t.params.navigation.hideOnClick &&\n                        !d(n).is(r) &&\n                        !d(n).is(a)\n                    ) {\n                        if (\n                            t.pagination &&\n                            t.params.pagination &&\n                            t.params.pagination.clickable &&\n                            (t.pagination.el === n ||\n                                t.pagination.el.contains(n))\n                        )\n                            return\n                        let e\n                        a\n                            ? (e = a.hasClass(t.params.navigation.hiddenClass))\n                            : r &&\n                              (e = r.hasClass(t.params.navigation.hiddenClass)),\n                            i(!0 === e ? 'navigationShow' : 'navigationHide'),\n                            a && a.toggleClass(t.params.navigation.hiddenClass),\n                            r && r.toggleClass(t.params.navigation.hiddenClass)\n                    }\n                }),\n                Object.assign(t.navigation, { update: l, init: p, destroy: u })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a, emit: i } = e\n            const r = 'swiper-pagination'\n            let n\n            s({\n                pagination: {\n                    el: null,\n                    bulletElement: 'span',\n                    clickable: !1,\n                    hideOnClick: !1,\n                    renderBullet: null,\n                    renderProgressbar: null,\n                    renderFraction: null,\n                    renderCustom: null,\n                    progressbarOpposite: !1,\n                    type: 'bullets',\n                    dynamicBullets: !1,\n                    dynamicMainBullets: 1,\n                    formatFractionCurrent: (e) => e,\n                    formatFractionTotal: (e) => e,\n                    bulletClass: `${r}-bullet`,\n                    bulletActiveClass: `${r}-bullet-active`,\n                    modifierClass: `${r}-`,\n                    currentClass: `${r}-current`,\n                    totalClass: `${r}-total`,\n                    hiddenClass: `${r}-hidden`,\n                    progressbarFillClass: `${r}-progressbar-fill`,\n                    progressbarOppositeClass: `${r}-progressbar-opposite`,\n                    clickableClass: `${r}-clickable`,\n                    lockClass: `${r}-lock`,\n                    horizontalClass: `${r}-horizontal`,\n                    verticalClass: `${r}-vertical`,\n                },\n            }),\n                (t.pagination = { el: null, $el: null, bullets: [] })\n            let l = 0\n            function o() {\n                return (\n                    !t.params.pagination.el ||\n                    !t.pagination.el ||\n                    !t.pagination.$el ||\n                    0 === t.pagination.$el.length\n                )\n            }\n            function c(e, s) {\n                const { bulletActiveClass: a } = t.params.pagination\n                e[s]().addClass(`${a}-${s}`)[s]().addClass(`${a}-${s}-${s}`)\n            }\n            function p() {\n                const e = t.rtl,\n                    s = t.params.pagination\n                if (o()) return\n                const a =\n                        t.virtual && t.params.virtual.enabled\n                            ? t.virtual.slides.length\n                            : t.slides.length,\n                    r = t.pagination.$el\n                let p\n                const u = t.params.loop\n                    ? Math.ceil(\n                          (a - 2 * t.loopedSlides) / t.params.slidesPerGroup\n                      )\n                    : t.snapGrid.length\n                if (\n                    (t.params.loop\n                        ? ((p = Math.ceil(\n                              (t.activeIndex - t.loopedSlides) /\n                                  t.params.slidesPerGroup\n                          )),\n                          p > a - 1 - 2 * t.loopedSlides &&\n                              (p -= a - 2 * t.loopedSlides),\n                          p > u - 1 && (p -= u),\n                          p < 0 &&\n                              'bullets' !== t.params.paginationType &&\n                              (p = u + p))\n                        : (p =\n                              void 0 !== t.snapIndex\n                                  ? t.snapIndex\n                                  : t.activeIndex || 0),\n                    'bullets' === s.type &&\n                        t.pagination.bullets &&\n                        t.pagination.bullets.length > 0)\n                ) {\n                    const a = t.pagination.bullets\n                    let i, o, u\n                    if (\n                        (s.dynamicBullets &&\n                            ((n = a\n                                .eq(0)\n                                [\n                                    t.isHorizontal()\n                                        ? 'outerWidth'\n                                        : 'outerHeight'\n                                ](!0)),\n                            r.css(\n                                t.isHorizontal() ? 'width' : 'height',\n                                n * (s.dynamicMainBullets + 4) + 'px'\n                            ),\n                            s.dynamicMainBullets > 1 &&\n                                void 0 !== t.previousIndex &&\n                                ((l +=\n                                    p -\n                                    (t.previousIndex - t.loopedSlides || 0)),\n                                l > s.dynamicMainBullets - 1\n                                    ? (l = s.dynamicMainBullets - 1)\n                                    : l < 0 && (l = 0)),\n                            (i = Math.max(p - l, 0)),\n                            (o =\n                                i +\n                                (Math.min(a.length, s.dynamicMainBullets) - 1)),\n                            (u = (o + i) / 2)),\n                        a.removeClass(\n                            [\n                                '',\n                                '-next',\n                                '-next-next',\n                                '-prev',\n                                '-prev-prev',\n                                '-main',\n                            ]\n                                .map((e) => `${s.bulletActiveClass}${e}`)\n                                .join(' ')\n                        ),\n                        r.length > 1)\n                    )\n                        a.each((e) => {\n                            const t = d(e),\n                                a = t.index()\n                            a === p && t.addClass(s.bulletActiveClass),\n                                s.dynamicBullets &&\n                                    (a >= i &&\n                                        a <= o &&\n                                        t.addClass(\n                                            `${s.bulletActiveClass}-main`\n                                        ),\n                                    a === i && c(t, 'prev'),\n                                    a === o && c(t, 'next'))\n                        })\n                    else {\n                        const e = a.eq(p),\n                            r = e.index()\n                        if (\n                            (e.addClass(s.bulletActiveClass), s.dynamicBullets)\n                        ) {\n                            const e = a.eq(i),\n                                n = a.eq(o)\n                            for (let e = i; e <= o; e += 1)\n                                a.eq(e).addClass(`${s.bulletActiveClass}-main`)\n                            if (t.params.loop)\n                                if (r >= a.length) {\n                                    for (\n                                        let e = s.dynamicMainBullets;\n                                        e >= 0;\n                                        e -= 1\n                                    )\n                                        a.eq(a.length - e).addClass(\n                                            `${s.bulletActiveClass}-main`\n                                        )\n                                    a.eq(\n                                        a.length - s.dynamicMainBullets - 1\n                                    ).addClass(`${s.bulletActiveClass}-prev`)\n                                } else c(e, 'prev'), c(n, 'next')\n                            else c(e, 'prev'), c(n, 'next')\n                        }\n                    }\n                    if (s.dynamicBullets) {\n                        const i = Math.min(a.length, s.dynamicMainBullets + 4),\n                            r = (n * i - n) / 2 - u * n,\n                            l = e ? 'right' : 'left'\n                        a.css(t.isHorizontal() ? l : 'top', `${r}px`)\n                    }\n                }\n                if (\n                    ('fraction' === s.type &&\n                        (r\n                            .find(U(s.currentClass))\n                            .text(s.formatFractionCurrent(p + 1)),\n                        r.find(U(s.totalClass)).text(s.formatFractionTotal(u))),\n                    'progressbar' === s.type)\n                ) {\n                    let e\n                    e = s.progressbarOpposite\n                        ? t.isHorizontal()\n                            ? 'vertical'\n                            : 'horizontal'\n                        : t.isHorizontal()\n                        ? 'horizontal'\n                        : 'vertical'\n                    const a = (p + 1) / u\n                    let i = 1,\n                        n = 1\n                    'horizontal' === e ? (i = a) : (n = a),\n                        r\n                            .find(U(s.progressbarFillClass))\n                            .transform(\n                                `translate3d(0,0,0) scaleX(${i}) scaleY(${n})`\n                            )\n                            .transition(t.params.speed)\n                }\n                'custom' === s.type && s.renderCustom\n                    ? (r.html(s.renderCustom(t, p + 1, u)),\n                      i('paginationRender', r[0]))\n                    : i('paginationUpdate', r[0]),\n                    t.params.watchOverflow &&\n                        t.enabled &&\n                        r[t.isLocked ? 'addClass' : 'removeClass'](s.lockClass)\n            }\n            function u() {\n                const e = t.params.pagination\n                if (o()) return\n                const s =\n                        t.virtual && t.params.virtual.enabled\n                            ? t.virtual.slides.length\n                            : t.slides.length,\n                    a = t.pagination.$el\n                let r = ''\n                if ('bullets' === e.type) {\n                    let i = t.params.loop\n                        ? Math.ceil(\n                              (s - 2 * t.loopedSlides) / t.params.slidesPerGroup\n                          )\n                        : t.snapGrid.length\n                    t.params.freeMode &&\n                        t.params.freeMode.enabled &&\n                        !t.params.loop &&\n                        i > s &&\n                        (i = s)\n                    for (let s = 0; s < i; s += 1)\n                        e.renderBullet\n                            ? (r += e.renderBullet.call(t, s, e.bulletClass))\n                            : (r += `<${e.bulletElement} class=\"${e.bulletClass}\"></${e.bulletElement}>`)\n                    a.html(r), (t.pagination.bullets = a.find(U(e.bulletClass)))\n                }\n                'fraction' === e.type &&\n                    ((r = e.renderFraction\n                        ? e.renderFraction.call(t, e.currentClass, e.totalClass)\n                        : `<span class=\"${e.currentClass}\"></span> / <span class=\"${e.totalClass}\"></span>`),\n                    a.html(r)),\n                    'progressbar' === e.type &&\n                        ((r = e.renderProgressbar\n                            ? e.renderProgressbar.call(\n                                  t,\n                                  e.progressbarFillClass\n                              )\n                            : `<span class=\"${e.progressbarFillClass}\"></span>`),\n                        a.html(r)),\n                    'custom' !== e.type &&\n                        i('paginationRender', t.pagination.$el[0])\n            }\n            function h() {\n                t.params.pagination = F(\n                    t,\n                    t.originalParams.pagination,\n                    t.params.pagination,\n                    { el: 'swiper-pagination' }\n                )\n                const e = t.params.pagination\n                if (!e.el) return\n                let s = d(e.el)\n                0 !== s.length &&\n                    (t.params.uniqueNavElements &&\n                        'string' == typeof e.el &&\n                        s.length > 1 &&\n                        ((s = t.$el.find(e.el)),\n                        s.length > 1 &&\n                            (s = s.filter(\n                                (e) => d(e).parents('.swiper')[0] === t.el\n                            ))),\n                    'bullets' === e.type &&\n                        e.clickable &&\n                        s.addClass(e.clickableClass),\n                    s.addClass(e.modifierClass + e.type),\n                    s.addClass(\n                        t.isHorizontal() ? e.horizontalClass : e.verticalClass\n                    ),\n                    'bullets' === e.type &&\n                        e.dynamicBullets &&\n                        (s.addClass(`${e.modifierClass}${e.type}-dynamic`),\n                        (l = 0),\n                        e.dynamicMainBullets < 1 && (e.dynamicMainBullets = 1)),\n                    'progressbar' === e.type &&\n                        e.progressbarOpposite &&\n                        s.addClass(e.progressbarOppositeClass),\n                    e.clickable &&\n                        s.on('click', U(e.bulletClass), function (e) {\n                            e.preventDefault()\n                            let s = d(this).index() * t.params.slidesPerGroup\n                            t.params.loop && (s += t.loopedSlides), t.slideTo(s)\n                        }),\n                    Object.assign(t.pagination, { $el: s, el: s[0] }),\n                    t.enabled || s.addClass(e.lockClass))\n            }\n            function m() {\n                const e = t.params.pagination\n                if (o()) return\n                const s = t.pagination.$el\n                s.removeClass(e.hiddenClass),\n                    s.removeClass(e.modifierClass + e.type),\n                    s.removeClass(\n                        t.isHorizontal() ? e.horizontalClass : e.verticalClass\n                    ),\n                    t.pagination.bullets &&\n                        t.pagination.bullets.removeClass &&\n                        t.pagination.bullets.removeClass(e.bulletActiveClass),\n                    e.clickable && s.off('click', U(e.bulletClass))\n            }\n            a('init', () => {\n                h(), u(), p()\n            }),\n                a('activeIndexChange', () => {\n                    ;(t.params.loop || void 0 === t.snapIndex) && p()\n                }),\n                a('snapIndexChange', () => {\n                    t.params.loop || p()\n                }),\n                a('slidesLengthChange', () => {\n                    t.params.loop && (u(), p())\n                }),\n                a('snapGridLengthChange', () => {\n                    t.params.loop || (u(), p())\n                }),\n                a('destroy', () => {\n                    m()\n                }),\n                a('enable disable', () => {\n                    const { $el: e } = t.pagination\n                    e &&\n                        e[t.enabled ? 'removeClass' : 'addClass'](\n                            t.params.pagination.lockClass\n                        )\n                }),\n                a('lock unlock', () => {\n                    p()\n                }),\n                a('click', (e, s) => {\n                    const a = s.target,\n                        { $el: r } = t.pagination\n                    if (\n                        t.params.pagination.el &&\n                        t.params.pagination.hideOnClick &&\n                        r.length > 0 &&\n                        !d(a).hasClass(t.params.pagination.bulletClass)\n                    ) {\n                        if (\n                            t.navigation &&\n                            ((t.navigation.nextEl &&\n                                a === t.navigation.nextEl) ||\n                                (t.navigation.prevEl &&\n                                    a === t.navigation.prevEl))\n                        )\n                            return\n                        const e = r.hasClass(t.params.pagination.hiddenClass)\n                        i(!0 === e ? 'paginationShow' : 'paginationHide'),\n                            r.toggleClass(t.params.pagination.hiddenClass)\n                    }\n                }),\n                Object.assign(t.pagination, {\n                    render: u,\n                    update: p,\n                    init: h,\n                    destroy: m,\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: i, emit: r } = e\n            const n = a()\n            let l,\n                o,\n                c,\n                u,\n                h = !1,\n                m = null,\n                f = null\n            function g() {\n                if (!t.params.scrollbar.el || !t.scrollbar.el) return\n                const { scrollbar: e, rtlTranslate: s, progress: a } = t,\n                    { $dragEl: i, $el: r } = e,\n                    n = t.params.scrollbar\n                let l = o,\n                    d = (c - o) * a\n                s\n                    ? ((d = -d),\n                      d > 0\n                          ? ((l = o - d), (d = 0))\n                          : -d + o > c && (l = c + d))\n                    : d < 0\n                    ? ((l = o + d), (d = 0))\n                    : d + o > c && (l = c - d),\n                    t.isHorizontal()\n                        ? (i.transform(`translate3d(${d}px, 0, 0)`),\n                          (i[0].style.width = `${l}px`))\n                        : (i.transform(`translate3d(0px, ${d}px, 0)`),\n                          (i[0].style.height = `${l}px`)),\n                    n.hide &&\n                        (clearTimeout(m),\n                        (r[0].style.opacity = 1),\n                        (m = setTimeout(() => {\n                            ;(r[0].style.opacity = 0), r.transition(400)\n                        }, 1e3)))\n            }\n            function v() {\n                if (!t.params.scrollbar.el || !t.scrollbar.el) return\n                const { scrollbar: e } = t,\n                    { $dragEl: s, $el: a } = e\n                ;(s[0].style.width = ''),\n                    (s[0].style.height = ''),\n                    (c = t.isHorizontal()\n                        ? a[0].offsetWidth\n                        : a[0].offsetHeight),\n                    (u =\n                        t.size /\n                        (t.virtualSize +\n                            t.params.slidesOffsetBefore -\n                            (t.params.centeredSlides ? t.snapGrid[0] : 0))),\n                    (o =\n                        'auto' === t.params.scrollbar.dragSize\n                            ? c * u\n                            : parseInt(t.params.scrollbar.dragSize, 10)),\n                    t.isHorizontal()\n                        ? (s[0].style.width = `${o}px`)\n                        : (s[0].style.height = `${o}px`),\n                    (a[0].style.display = u >= 1 ? 'none' : ''),\n                    t.params.scrollbar.hide && (a[0].style.opacity = 0),\n                    t.params.watchOverflow &&\n                        t.enabled &&\n                        e.$el[t.isLocked ? 'addClass' : 'removeClass'](\n                            t.params.scrollbar.lockClass\n                        )\n            }\n            function w(e) {\n                return t.isHorizontal()\n                    ? 'touchstart' === e.type || 'touchmove' === e.type\n                        ? e.targetTouches[0].clientX\n                        : e.clientX\n                    : 'touchstart' === e.type || 'touchmove' === e.type\n                    ? e.targetTouches[0].clientY\n                    : e.clientY\n            }\n            function b(e) {\n                const { scrollbar: s, rtlTranslate: a } = t,\n                    { $el: i } = s\n                let r\n                ;(r =\n                    (w(e) -\n                        i.offset()[t.isHorizontal() ? 'left' : 'top'] -\n                        (null !== l ? l : o / 2)) /\n                    (c - o)),\n                    (r = Math.max(Math.min(r, 1), 0)),\n                    a && (r = 1 - r)\n                const n =\n                    t.minTranslate() + (t.maxTranslate() - t.minTranslate()) * r\n                t.updateProgress(n),\n                    t.setTranslate(n),\n                    t.updateActiveIndex(),\n                    t.updateSlidesClasses()\n            }\n            function x(e) {\n                const s = t.params.scrollbar,\n                    { scrollbar: a, $wrapperEl: i } = t,\n                    { $el: n, $dragEl: o } = a\n                ;(h = !0),\n                    (l =\n                        e.target === o[0] || e.target === o\n                            ? w(e) -\n                              e.target.getBoundingClientRect()[\n                                  t.isHorizontal() ? 'left' : 'top'\n                              ]\n                            : null),\n                    e.preventDefault(),\n                    e.stopPropagation(),\n                    i.transition(100),\n                    o.transition(100),\n                    b(e),\n                    clearTimeout(f),\n                    n.transition(0),\n                    s.hide && n.css('opacity', 1),\n                    t.params.cssMode &&\n                        t.$wrapperEl.css('scroll-snap-type', 'none'),\n                    r('scrollbarDragStart', e)\n            }\n            function y(e) {\n                const { scrollbar: s, $wrapperEl: a } = t,\n                    { $el: i, $dragEl: n } = s\n                h &&\n                    (e.preventDefault\n                        ? e.preventDefault()\n                        : (e.returnValue = !1),\n                    b(e),\n                    a.transition(0),\n                    i.transition(0),\n                    n.transition(0),\n                    r('scrollbarDragMove', e))\n            }\n            function E(e) {\n                const s = t.params.scrollbar,\n                    { scrollbar: a, $wrapperEl: i } = t,\n                    { $el: n } = a\n                h &&\n                    ((h = !1),\n                    t.params.cssMode &&\n                        (t.$wrapperEl.css('scroll-snap-type', ''),\n                        i.transition('')),\n                    s.hide &&\n                        (clearTimeout(f),\n                        (f = p(() => {\n                            n.css('opacity', 0), n.transition(400)\n                        }, 1e3))),\n                    r('scrollbarDragEnd', e),\n                    s.snapOnRelease && t.slideToClosest())\n            }\n            function T(e) {\n                const {\n                        scrollbar: s,\n                        touchEventsTouch: a,\n                        touchEventsDesktop: i,\n                        params: r,\n                        support: l,\n                    } = t,\n                    o = s.$el[0],\n                    d = !(!l.passiveListener || !r.passiveListeners) && {\n                        passive: !1,\n                        capture: !1,\n                    },\n                    c = !(!l.passiveListener || !r.passiveListeners) && {\n                        passive: !0,\n                        capture: !1,\n                    }\n                if (!o) return\n                const p =\n                    'on' === e ? 'addEventListener' : 'removeEventListener'\n                l.touch\n                    ? (o[p](a.start, x, d),\n                      o[p](a.move, y, d),\n                      o[p](a.end, E, c))\n                    : (o[p](i.start, x, d),\n                      n[p](i.move, y, d),\n                      n[p](i.end, E, c))\n            }\n            function C() {\n                const { scrollbar: e, $el: s } = t\n                t.params.scrollbar = F(\n                    t,\n                    t.originalParams.scrollbar,\n                    t.params.scrollbar,\n                    { el: 'swiper-scrollbar' }\n                )\n                const a = t.params.scrollbar\n                if (!a.el) return\n                let i = d(a.el)\n                t.params.uniqueNavElements &&\n                    'string' == typeof a.el &&\n                    i.length > 1 &&\n                    1 === s.find(a.el).length &&\n                    (i = s.find(a.el))\n                let r = i.find(`.${t.params.scrollbar.dragClass}`)\n                0 === r.length &&\n                    ((r = d(\n                        `<div class=\"${t.params.scrollbar.dragClass}\"></div>`\n                    )),\n                    i.append(r)),\n                    Object.assign(e, {\n                        $el: i,\n                        el: i[0],\n                        $dragEl: r,\n                        dragEl: r[0],\n                    }),\n                    a.draggable && t.params.scrollbar.el && T('on'),\n                    i &&\n                        i[t.enabled ? 'removeClass' : 'addClass'](\n                            t.params.scrollbar.lockClass\n                        )\n            }\n            function $() {\n                t.params.scrollbar.el && T('off')\n            }\n            s({\n                scrollbar: {\n                    el: null,\n                    dragSize: 'auto',\n                    hide: !1,\n                    draggable: !1,\n                    snapOnRelease: !0,\n                    lockClass: 'swiper-scrollbar-lock',\n                    dragClass: 'swiper-scrollbar-drag',\n                },\n            }),\n                (t.scrollbar = {\n                    el: null,\n                    dragEl: null,\n                    $el: null,\n                    $dragEl: null,\n                }),\n                i('init', () => {\n                    C(), v(), g()\n                }),\n                i('update resize observerUpdate lock unlock', () => {\n                    v()\n                }),\n                i('setTranslate', () => {\n                    g()\n                }),\n                i('setTransition', (e, s) => {\n                    !(function (e) {\n                        t.params.scrollbar.el &&\n                            t.scrollbar.el &&\n                            t.scrollbar.$dragEl.transition(e)\n                    })(s)\n                }),\n                i('enable disable', () => {\n                    const { $el: e } = t.scrollbar\n                    e &&\n                        e[t.enabled ? 'removeClass' : 'addClass'](\n                            t.params.scrollbar.lockClass\n                        )\n                }),\n                i('destroy', () => {\n                    $()\n                }),\n                Object.assign(t.scrollbar, {\n                    updateSize: v,\n                    setTranslate: g,\n                    init: C,\n                    destroy: $,\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({ parallax: { enabled: !1 } })\n            const i = (e, s) => {\n                    const { rtl: a } = t,\n                        i = d(e),\n                        r = a ? -1 : 1,\n                        n = i.attr('data-swiper-parallax') || '0'\n                    let l = i.attr('data-swiper-parallax-x'),\n                        o = i.attr('data-swiper-parallax-y')\n                    const c = i.attr('data-swiper-parallax-scale'),\n                        p = i.attr('data-swiper-parallax-opacity')\n                    if (\n                        (l || o\n                            ? ((l = l || '0'), (o = o || '0'))\n                            : t.isHorizontal()\n                            ? ((l = n), (o = '0'))\n                            : ((o = n), (l = '0')),\n                        (l =\n                            l.indexOf('%') >= 0\n                                ? parseInt(l, 10) * s * r + '%'\n                                : l * s * r + 'px'),\n                        (o =\n                            o.indexOf('%') >= 0\n                                ? parseInt(o, 10) * s + '%'\n                                : o * s + 'px'),\n                        null != p)\n                    ) {\n                        const e = p - (p - 1) * (1 - Math.abs(s))\n                        i[0].style.opacity = e\n                    }\n                    if (null == c) i.transform(`translate3d(${l}, ${o}, 0px)`)\n                    else {\n                        const e = c - (c - 1) * (1 - Math.abs(s))\n                        i.transform(`translate3d(${l}, ${o}, 0px) scale(${e})`)\n                    }\n                },\n                r = () => {\n                    const { $el: e, slides: s, progress: a, snapGrid: r } = t\n                    e\n                        .children(\n                            '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'\n                        )\n                        .each((e) => {\n                            i(e, a)\n                        }),\n                        s.each((e, s) => {\n                            let n = e.progress\n                            t.params.slidesPerGroup > 1 &&\n                                'auto' !== t.params.slidesPerView &&\n                                (n += Math.ceil(s / 2) - a * (r.length - 1)),\n                                (n = Math.min(Math.max(n, -1), 1)),\n                                d(e)\n                                    .find(\n                                        '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'\n                                    )\n                                    .each((e) => {\n                                        i(e, n)\n                                    })\n                        })\n                }\n            a('beforeInit', () => {\n                t.params.parallax.enabled &&\n                    ((t.params.watchSlidesProgress = !0),\n                    (t.originalParams.watchSlidesProgress = !0))\n            }),\n                a('init', () => {\n                    t.params.parallax.enabled && r()\n                }),\n                a('setTranslate', () => {\n                    t.params.parallax.enabled && r()\n                }),\n                a('setTransition', (e, s) => {\n                    t.params.parallax.enabled &&\n                        (function (e) {\n                            void 0 === e && (e = t.params.speed)\n                            const { $el: s } = t\n                            s.find(\n                                '[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]'\n                            ).each((t) => {\n                                const s = d(t)\n                                let a =\n                                    parseInt(\n                                        s.attr('data-swiper-parallax-duration'),\n                                        10\n                                    ) || e\n                                0 === e && (a = 0), s.transition(a)\n                            })\n                        })(s)\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a, emit: i } = e\n            const n = r()\n            s({\n                zoom: {\n                    enabled: !1,\n                    maxRatio: 3,\n                    minRatio: 1,\n                    toggle: !0,\n                    containerClass: 'swiper-zoom-container',\n                    zoomedSlideClass: 'swiper-slide-zoomed',\n                },\n            }),\n                (t.zoom = { enabled: !1 })\n            let l,\n                o,\n                c,\n                p = 1,\n                u = !1\n            const m = {\n                    $slideEl: void 0,\n                    slideWidth: void 0,\n                    slideHeight: void 0,\n                    $imageEl: void 0,\n                    $imageWrapEl: void 0,\n                    maxRatio: 3,\n                },\n                f = {\n                    isTouched: void 0,\n                    isMoved: void 0,\n                    currentX: void 0,\n                    currentY: void 0,\n                    minX: void 0,\n                    minY: void 0,\n                    maxX: void 0,\n                    maxY: void 0,\n                    width: void 0,\n                    height: void 0,\n                    startX: void 0,\n                    startY: void 0,\n                    touchesStart: {},\n                    touchesCurrent: {},\n                },\n                g = {\n                    x: void 0,\n                    y: void 0,\n                    prevPositionX: void 0,\n                    prevPositionY: void 0,\n                    prevTime: void 0,\n                }\n            let v = 1\n            function w(e) {\n                if (e.targetTouches.length < 2) return 1\n                const t = e.targetTouches[0].pageX,\n                    s = e.targetTouches[0].pageY,\n                    a = e.targetTouches[1].pageX,\n                    i = e.targetTouches[1].pageY\n                return Math.sqrt((a - t) ** 2 + (i - s) ** 2)\n            }\n            function b(e) {\n                const s = t.support,\n                    a = t.params.zoom\n                if (((o = !1), (c = !1), !s.gestures)) {\n                    if (\n                        'touchstart' !== e.type ||\n                        ('touchstart' === e.type && e.targetTouches.length < 2)\n                    )\n                        return\n                    ;(o = !0), (m.scaleStart = w(e))\n                }\n                ;(m.$slideEl && m.$slideEl.length) ||\n                ((m.$slideEl = d(e.target).closest(`.${t.params.slideClass}`)),\n                0 === m.$slideEl.length &&\n                    (m.$slideEl = t.slides.eq(t.activeIndex)),\n                (m.$imageEl = m.$slideEl\n                    .find(`.${a.containerClass}`)\n                    .eq(0)\n                    .find('picture, img, svg, canvas, .swiper-zoom-target')\n                    .eq(0)),\n                (m.$imageWrapEl = m.$imageEl.parent(`.${a.containerClass}`)),\n                (m.maxRatio =\n                    m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),\n                0 !== m.$imageWrapEl.length)\n                    ? (m.$imageEl && m.$imageEl.transition(0), (u = !0))\n                    : (m.$imageEl = void 0)\n            }\n            function x(e) {\n                const s = t.support,\n                    a = t.params.zoom,\n                    i = t.zoom\n                if (!s.gestures) {\n                    if (\n                        'touchmove' !== e.type ||\n                        ('touchmove' === e.type && e.targetTouches.length < 2)\n                    )\n                        return\n                    ;(c = !0), (m.scaleMove = w(e))\n                }\n                m.$imageEl && 0 !== m.$imageEl.length\n                    ? (s.gestures\n                          ? (i.scale = e.scale * p)\n                          : (i.scale = (m.scaleMove / m.scaleStart) * p),\n                      i.scale > m.maxRatio &&\n                          (i.scale =\n                              m.maxRatio -\n                              1 +\n                              (i.scale - m.maxRatio + 1) ** 0.5),\n                      i.scale < a.minRatio &&\n                          (i.scale =\n                              a.minRatio +\n                              1 -\n                              (a.minRatio - i.scale + 1) ** 0.5),\n                      m.$imageEl.transform(\n                          `translate3d(0,0,0) scale(${i.scale})`\n                      ))\n                    : 'gesturechange' === e.type && b(e)\n            }\n            function y(e) {\n                const s = t.device,\n                    a = t.support,\n                    i = t.params.zoom,\n                    r = t.zoom\n                if (!a.gestures) {\n                    if (!o || !c) return\n                    if (\n                        'touchend' !== e.type ||\n                        ('touchend' === e.type &&\n                            e.changedTouches.length < 2 &&\n                            !s.android)\n                    )\n                        return\n                    ;(o = !1), (c = !1)\n                }\n                m.$imageEl &&\n                    0 !== m.$imageEl.length &&\n                    ((r.scale = Math.max(\n                        Math.min(r.scale, m.maxRatio),\n                        i.minRatio\n                    )),\n                    m.$imageEl\n                        .transition(t.params.speed)\n                        .transform(`translate3d(0,0,0) scale(${r.scale})`),\n                    (p = r.scale),\n                    (u = !1),\n                    1 === r.scale && (m.$slideEl = void 0))\n            }\n            function E(e) {\n                const s = t.zoom\n                if (!m.$imageEl || 0 === m.$imageEl.length) return\n                if (((t.allowClick = !1), !f.isTouched || !m.$slideEl)) return\n                f.isMoved ||\n                    ((f.width = m.$imageEl[0].offsetWidth),\n                    (f.height = m.$imageEl[0].offsetHeight),\n                    (f.startX = h(m.$imageWrapEl[0], 'x') || 0),\n                    (f.startY = h(m.$imageWrapEl[0], 'y') || 0),\n                    (m.slideWidth = m.$slideEl[0].offsetWidth),\n                    (m.slideHeight = m.$slideEl[0].offsetHeight),\n                    m.$imageWrapEl.transition(0))\n                const a = f.width * s.scale,\n                    i = f.height * s.scale\n                if (!(a < m.slideWidth && i < m.slideHeight)) {\n                    if (\n                        ((f.minX = Math.min(m.slideWidth / 2 - a / 2, 0)),\n                        (f.maxX = -f.minX),\n                        (f.minY = Math.min(m.slideHeight / 2 - i / 2, 0)),\n                        (f.maxY = -f.minY),\n                        (f.touchesCurrent.x =\n                            'touchmove' === e.type\n                                ? e.targetTouches[0].pageX\n                                : e.pageX),\n                        (f.touchesCurrent.y =\n                            'touchmove' === e.type\n                                ? e.targetTouches[0].pageY\n                                : e.pageY),\n                        !f.isMoved && !u)\n                    ) {\n                        if (\n                            t.isHorizontal() &&\n                            ((Math.floor(f.minX) === Math.floor(f.startX) &&\n                                f.touchesCurrent.x < f.touchesStart.x) ||\n                                (Math.floor(f.maxX) === Math.floor(f.startX) &&\n                                    f.touchesCurrent.x > f.touchesStart.x))\n                        )\n                            return void (f.isTouched = !1)\n                        if (\n                            !t.isHorizontal() &&\n                            ((Math.floor(f.minY) === Math.floor(f.startY) &&\n                                f.touchesCurrent.y < f.touchesStart.y) ||\n                                (Math.floor(f.maxY) === Math.floor(f.startY) &&\n                                    f.touchesCurrent.y > f.touchesStart.y))\n                        )\n                            return void (f.isTouched = !1)\n                    }\n                    e.cancelable && e.preventDefault(),\n                        e.stopPropagation(),\n                        (f.isMoved = !0),\n                        (f.currentX =\n                            f.touchesCurrent.x - f.touchesStart.x + f.startX),\n                        (f.currentY =\n                            f.touchesCurrent.y - f.touchesStart.y + f.startY),\n                        f.currentX < f.minX &&\n                            (f.currentX =\n                                f.minX + 1 - (f.minX - f.currentX + 1) ** 0.8),\n                        f.currentX > f.maxX &&\n                            (f.currentX =\n                                f.maxX - 1 + (f.currentX - f.maxX + 1) ** 0.8),\n                        f.currentY < f.minY &&\n                            (f.currentY =\n                                f.minY + 1 - (f.minY - f.currentY + 1) ** 0.8),\n                        f.currentY > f.maxY &&\n                            (f.currentY =\n                                f.maxY - 1 + (f.currentY - f.maxY + 1) ** 0.8),\n                        g.prevPositionX ||\n                            (g.prevPositionX = f.touchesCurrent.x),\n                        g.prevPositionY ||\n                            (g.prevPositionY = f.touchesCurrent.y),\n                        g.prevTime || (g.prevTime = Date.now()),\n                        (g.x =\n                            (f.touchesCurrent.x - g.prevPositionX) /\n                            (Date.now() - g.prevTime) /\n                            2),\n                        (g.y =\n                            (f.touchesCurrent.y - g.prevPositionY) /\n                            (Date.now() - g.prevTime) /\n                            2),\n                        Math.abs(f.touchesCurrent.x - g.prevPositionX) < 2 &&\n                            (g.x = 0),\n                        Math.abs(f.touchesCurrent.y - g.prevPositionY) < 2 &&\n                            (g.y = 0),\n                        (g.prevPositionX = f.touchesCurrent.x),\n                        (g.prevPositionY = f.touchesCurrent.y),\n                        (g.prevTime = Date.now()),\n                        m.$imageWrapEl.transform(\n                            `translate3d(${f.currentX}px, ${f.currentY}px,0)`\n                        )\n                }\n            }\n            function T() {\n                const e = t.zoom\n                m.$slideEl &&\n                    t.previousIndex !== t.activeIndex &&\n                    (m.$imageEl &&\n                        m.$imageEl.transform('translate3d(0,0,0) scale(1)'),\n                    m.$imageWrapEl &&\n                        m.$imageWrapEl.transform('translate3d(0,0,0)'),\n                    (e.scale = 1),\n                    (p = 1),\n                    (m.$slideEl = void 0),\n                    (m.$imageEl = void 0),\n                    (m.$imageWrapEl = void 0))\n            }\n            function C(e) {\n                const s = t.zoom,\n                    a = t.params.zoom\n                if (\n                    (m.$slideEl ||\n                        (e &&\n                            e.target &&\n                            (m.$slideEl = d(e.target).closest(\n                                `.${t.params.slideClass}`\n                            )),\n                        m.$slideEl ||\n                            (t.params.virtual &&\n                            t.params.virtual.enabled &&\n                            t.virtual\n                                ? (m.$slideEl = t.$wrapperEl.children(\n                                      `.${t.params.slideActiveClass}`\n                                  ))\n                                : (m.$slideEl = t.slides.eq(t.activeIndex))),\n                        (m.$imageEl = m.$slideEl\n                            .find(`.${a.containerClass}`)\n                            .eq(0)\n                            .find(\n                                'picture, img, svg, canvas, .swiper-zoom-target'\n                            )\n                            .eq(0)),\n                        (m.$imageWrapEl = m.$imageEl.parent(\n                            `.${a.containerClass}`\n                        ))),\n                    !m.$imageEl ||\n                        0 === m.$imageEl.length ||\n                        !m.$imageWrapEl ||\n                        0 === m.$imageWrapEl.length)\n                )\n                    return\n                let i, r, l, o, c, u, h, g, v, w, b, x, y, E, T, C, $, S\n                t.params.cssMode &&\n                    ((t.wrapperEl.style.overflow = 'hidden'),\n                    (t.wrapperEl.style.touchAction = 'none')),\n                    m.$slideEl.addClass(`${a.zoomedSlideClass}`),\n                    void 0 === f.touchesStart.x && e\n                        ? ((i =\n                              'touchend' === e.type\n                                  ? e.changedTouches[0].pageX\n                                  : e.pageX),\n                          (r =\n                              'touchend' === e.type\n                                  ? e.changedTouches[0].pageY\n                                  : e.pageY))\n                        : ((i = f.touchesStart.x), (r = f.touchesStart.y)),\n                    (s.scale =\n                        m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),\n                    (p = m.$imageWrapEl.attr('data-swiper-zoom') || a.maxRatio),\n                    e\n                        ? (($ = m.$slideEl[0].offsetWidth),\n                          (S = m.$slideEl[0].offsetHeight),\n                          (l = m.$slideEl.offset().left + n.scrollX),\n                          (o = m.$slideEl.offset().top + n.scrollY),\n                          (c = l + $ / 2 - i),\n                          (u = o + S / 2 - r),\n                          (v = m.$imageEl[0].offsetWidth),\n                          (w = m.$imageEl[0].offsetHeight),\n                          (b = v * s.scale),\n                          (x = w * s.scale),\n                          (y = Math.min($ / 2 - b / 2, 0)),\n                          (E = Math.min(S / 2 - x / 2, 0)),\n                          (T = -y),\n                          (C = -E),\n                          (h = c * s.scale),\n                          (g = u * s.scale),\n                          h < y && (h = y),\n                          h > T && (h = T),\n                          g < E && (g = E),\n                          g > C && (g = C))\n                        : ((h = 0), (g = 0)),\n                    m.$imageWrapEl\n                        .transition(300)\n                        .transform(`translate3d(${h}px, ${g}px,0)`),\n                    m.$imageEl\n                        .transition(300)\n                        .transform(`translate3d(0,0,0) scale(${s.scale})`)\n            }\n            function $() {\n                const e = t.zoom,\n                    s = t.params.zoom\n                m.$slideEl ||\n                    (t.params.virtual && t.params.virtual.enabled && t.virtual\n                        ? (m.$slideEl = t.$wrapperEl.children(\n                              `.${t.params.slideActiveClass}`\n                          ))\n                        : (m.$slideEl = t.slides.eq(t.activeIndex)),\n                    (m.$imageEl = m.$slideEl\n                        .find(`.${s.containerClass}`)\n                        .eq(0)\n                        .find('picture, img, svg, canvas, .swiper-zoom-target')\n                        .eq(0)),\n                    (m.$imageWrapEl = m.$imageEl.parent(\n                        `.${s.containerClass}`\n                    ))),\n                    m.$imageEl &&\n                        0 !== m.$imageEl.length &&\n                        m.$imageWrapEl &&\n                        0 !== m.$imageWrapEl.length &&\n                        (t.params.cssMode &&\n                            ((t.wrapperEl.style.overflow = ''),\n                            (t.wrapperEl.style.touchAction = '')),\n                        (e.scale = 1),\n                        (p = 1),\n                        m.$imageWrapEl\n                            .transition(300)\n                            .transform('translate3d(0,0,0)'),\n                        m.$imageEl\n                            .transition(300)\n                            .transform('translate3d(0,0,0) scale(1)'),\n                        m.$slideEl.removeClass(`${s.zoomedSlideClass}`),\n                        (m.$slideEl = void 0))\n            }\n            function S(e) {\n                const s = t.zoom\n                s.scale && 1 !== s.scale ? $() : C(e)\n            }\n            function M() {\n                const e = t.support\n                return {\n                    passiveListener: !(\n                        'touchstart' !== t.touchEvents.start ||\n                        !e.passiveListener ||\n                        !t.params.passiveListeners\n                    ) && { passive: !0, capture: !1 },\n                    activeListenerWithCapture: !e.passiveListener || {\n                        passive: !1,\n                        capture: !0,\n                    },\n                }\n            }\n            function P() {\n                return `.${t.params.slideClass}`\n            }\n            function k(e) {\n                const { passiveListener: s } = M(),\n                    a = P()\n                t.$wrapperEl[e]('gesturestart', a, b, s),\n                    t.$wrapperEl[e]('gesturechange', a, x, s),\n                    t.$wrapperEl[e]('gestureend', a, y, s)\n            }\n            function z() {\n                l || ((l = !0), k('on'))\n            }\n            function O() {\n                l && ((l = !1), k('off'))\n            }\n            function I() {\n                const e = t.zoom\n                if (e.enabled) return\n                e.enabled = !0\n                const s = t.support,\n                    { passiveListener: a, activeListenerWithCapture: i } = M(),\n                    r = P()\n                s.gestures\n                    ? (t.$wrapperEl.on(t.touchEvents.start, z, a),\n                      t.$wrapperEl.on(t.touchEvents.end, O, a))\n                    : 'touchstart' === t.touchEvents.start &&\n                      (t.$wrapperEl.on(t.touchEvents.start, r, b, a),\n                      t.$wrapperEl.on(t.touchEvents.move, r, x, i),\n                      t.$wrapperEl.on(t.touchEvents.end, r, y, a),\n                      t.touchEvents.cancel &&\n                          t.$wrapperEl.on(t.touchEvents.cancel, r, y, a)),\n                    t.$wrapperEl.on(\n                        t.touchEvents.move,\n                        `.${t.params.zoom.containerClass}`,\n                        E,\n                        i\n                    )\n            }\n            function L() {\n                const e = t.zoom\n                if (!e.enabled) return\n                const s = t.support\n                e.enabled = !1\n                const { passiveListener: a, activeListenerWithCapture: i } =\n                        M(),\n                    r = P()\n                s.gestures\n                    ? (t.$wrapperEl.off(t.touchEvents.start, z, a),\n                      t.$wrapperEl.off(t.touchEvents.end, O, a))\n                    : 'touchstart' === t.touchEvents.start &&\n                      (t.$wrapperEl.off(t.touchEvents.start, r, b, a),\n                      t.$wrapperEl.off(t.touchEvents.move, r, x, i),\n                      t.$wrapperEl.off(t.touchEvents.end, r, y, a),\n                      t.touchEvents.cancel &&\n                          t.$wrapperEl.off(t.touchEvents.cancel, r, y, a)),\n                    t.$wrapperEl.off(\n                        t.touchEvents.move,\n                        `.${t.params.zoom.containerClass}`,\n                        E,\n                        i\n                    )\n            }\n            Object.defineProperty(t.zoom, 'scale', {\n                get: () => v,\n                set(e) {\n                    if (v !== e) {\n                        const t = m.$imageEl ? m.$imageEl[0] : void 0,\n                            s = m.$slideEl ? m.$slideEl[0] : void 0\n                        i('zoomChange', e, t, s)\n                    }\n                    v = e\n                },\n            }),\n                a('init', () => {\n                    t.params.zoom.enabled && I()\n                }),\n                a('destroy', () => {\n                    L()\n                }),\n                a('touchStart', (e, s) => {\n                    t.zoom.enabled &&\n                        (function (e) {\n                            const s = t.device\n                            m.$imageEl &&\n                                0 !== m.$imageEl.length &&\n                                (f.isTouched ||\n                                    (s.android &&\n                                        e.cancelable &&\n                                        e.preventDefault(),\n                                    (f.isTouched = !0),\n                                    (f.touchesStart.x =\n                                        'touchstart' === e.type\n                                            ? e.targetTouches[0].pageX\n                                            : e.pageX),\n                                    (f.touchesStart.y =\n                                        'touchstart' === e.type\n                                            ? e.targetTouches[0].pageY\n                                            : e.pageY)))\n                        })(s)\n                }),\n                a('touchEnd', (e, s) => {\n                    t.zoom.enabled &&\n                        (function () {\n                            const e = t.zoom\n                            if (!m.$imageEl || 0 === m.$imageEl.length) return\n                            if (!f.isTouched || !f.isMoved)\n                                return (f.isTouched = !1), void (f.isMoved = !1)\n                            ;(f.isTouched = !1), (f.isMoved = !1)\n                            let s = 300,\n                                a = 300\n                            const i = g.x * s,\n                                r = f.currentX + i,\n                                n = g.y * a,\n                                l = f.currentY + n\n                            0 !== g.x && (s = Math.abs((r - f.currentX) / g.x)),\n                                0 !== g.y &&\n                                    (a = Math.abs((l - f.currentY) / g.y))\n                            const o = Math.max(s, a)\n                            ;(f.currentX = r), (f.currentY = l)\n                            const d = f.width * e.scale,\n                                c = f.height * e.scale\n                            ;(f.minX = Math.min(m.slideWidth / 2 - d / 2, 0)),\n                                (f.maxX = -f.minX),\n                                (f.minY = Math.min(\n                                    m.slideHeight / 2 - c / 2,\n                                    0\n                                )),\n                                (f.maxY = -f.minY),\n                                (f.currentX = Math.max(\n                                    Math.min(f.currentX, f.maxX),\n                                    f.minX\n                                )),\n                                (f.currentY = Math.max(\n                                    Math.min(f.currentY, f.maxY),\n                                    f.minY\n                                )),\n                                m.$imageWrapEl\n                                    .transition(o)\n                                    .transform(\n                                        `translate3d(${f.currentX}px, ${f.currentY}px,0)`\n                                    )\n                        })()\n                }),\n                a('doubleTap', (e, s) => {\n                    !t.animating &&\n                        t.params.zoom.enabled &&\n                        t.zoom.enabled &&\n                        t.params.zoom.toggle &&\n                        S(s)\n                }),\n                a('transitionEnd', () => {\n                    t.zoom.enabled && t.params.zoom.enabled && T()\n                }),\n                a('slideChange', () => {\n                    t.zoom.enabled &&\n                        t.params.zoom.enabled &&\n                        t.params.cssMode &&\n                        T()\n                }),\n                Object.assign(t.zoom, {\n                    enable: I,\n                    disable: L,\n                    in: C,\n                    out: $,\n                    toggle: S,\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a, emit: i } = e\n            s({\n                lazy: {\n                    checkInView: !1,\n                    enabled: !1,\n                    loadPrevNext: !1,\n                    loadPrevNextAmount: 1,\n                    loadOnTransitionStart: !1,\n                    scrollingElement: '',\n                    elementClass: 'swiper-lazy',\n                    loadingClass: 'swiper-lazy-loading',\n                    loadedClass: 'swiper-lazy-loaded',\n                    preloaderClass: 'swiper-lazy-preloader',\n                },\n            }),\n                (t.lazy = {})\n            let n = !1,\n                l = !1\n            function o(e, s) {\n                void 0 === s && (s = !0)\n                const a = t.params.lazy\n                if (void 0 === e) return\n                if (0 === t.slides.length) return\n                const r =\n                        t.virtual && t.params.virtual.enabled\n                            ? t.$wrapperEl.children(\n                                  `.${t.params.slideClass}[data-swiper-slide-index=\"${e}\"]`\n                              )\n                            : t.slides.eq(e),\n                    n = r.find(\n                        `.${a.elementClass}:not(.${a.loadedClass}):not(.${a.loadingClass})`\n                    )\n                !r.hasClass(a.elementClass) ||\n                    r.hasClass(a.loadedClass) ||\n                    r.hasClass(a.loadingClass) ||\n                    n.push(r[0]),\n                    0 !== n.length &&\n                        n.each((e) => {\n                            const n = d(e)\n                            n.addClass(a.loadingClass)\n                            const l = n.attr('data-background'),\n                                c = n.attr('data-src'),\n                                p = n.attr('data-srcset'),\n                                u = n.attr('data-sizes'),\n                                h = n.parent('picture')\n                            t.loadImage(n[0], c || l, p, u, !1, () => {\n                                if (\n                                    null != t &&\n                                    t &&\n                                    (!t || t.params) &&\n                                    !t.destroyed\n                                ) {\n                                    if (\n                                        (l\n                                            ? (n.css(\n                                                  'background-image',\n                                                  `url(\"${l}\")`\n                                              ),\n                                              n.removeAttr('data-background'))\n                                            : (p &&\n                                                  (n.attr('srcset', p),\n                                                  n.removeAttr('data-srcset')),\n                                              u &&\n                                                  (n.attr('sizes', u),\n                                                  n.removeAttr('data-sizes')),\n                                              h.length &&\n                                                  h\n                                                      .children('source')\n                                                      .each((e) => {\n                                                          const t = d(e)\n                                                          t.attr(\n                                                              'data-srcset'\n                                                          ) &&\n                                                              (t.attr(\n                                                                  'srcset',\n                                                                  t.attr(\n                                                                      'data-srcset'\n                                                                  )\n                                                              ),\n                                                              t.removeAttr(\n                                                                  'data-srcset'\n                                                              ))\n                                                      }),\n                                              c &&\n                                                  (n.attr('src', c),\n                                                  n.removeAttr('data-src'))),\n                                        n\n                                            .addClass(a.loadedClass)\n                                            .removeClass(a.loadingClass),\n                                        r.find(`.${a.preloaderClass}`).remove(),\n                                        t.params.loop && s)\n                                    ) {\n                                        const e = r.attr(\n                                            'data-swiper-slide-index'\n                                        )\n                                        if (\n                                            r.hasClass(\n                                                t.params.slideDuplicateClass\n                                            )\n                                        ) {\n                                            o(\n                                                t.$wrapperEl\n                                                    .children(\n                                                        `[data-swiper-slide-index=\"${e}\"]:not(.${t.params.slideDuplicateClass})`\n                                                    )\n                                                    .index(),\n                                                !1\n                                            )\n                                        } else {\n                                            o(\n                                                t.$wrapperEl\n                                                    .children(\n                                                        `.${t.params.slideDuplicateClass}[data-swiper-slide-index=\"${e}\"]`\n                                                    )\n                                                    .index(),\n                                                !1\n                                            )\n                                        }\n                                    }\n                                    i('lazyImageReady', r[0], n[0]),\n                                        t.params.autoHeight &&\n                                            t.updateAutoHeight()\n                                }\n                            }),\n                                i('lazyImageLoad', r[0], n[0])\n                        })\n            }\n            function c() {\n                const {\n                        $wrapperEl: e,\n                        params: s,\n                        slides: a,\n                        activeIndex: i,\n                    } = t,\n                    r = t.virtual && s.virtual.enabled,\n                    n = s.lazy\n                let c = s.slidesPerView\n                function p(t) {\n                    if (r) {\n                        if (\n                            e.children(\n                                `.${s.slideClass}[data-swiper-slide-index=\"${t}\"]`\n                            ).length\n                        )\n                            return !0\n                    } else if (a[t]) return !0\n                    return !1\n                }\n                function u(e) {\n                    return r\n                        ? d(e).attr('data-swiper-slide-index')\n                        : d(e).index()\n                }\n                if (\n                    ('auto' === c && (c = 0),\n                    l || (l = !0),\n                    t.params.watchSlidesProgress)\n                )\n                    e.children(`.${s.slideVisibleClass}`).each((e) => {\n                        o(\n                            r\n                                ? d(e).attr('data-swiper-slide-index')\n                                : d(e).index()\n                        )\n                    })\n                else if (c > 1) for (let e = i; e < i + c; e += 1) p(e) && o(e)\n                else o(i)\n                if (n.loadPrevNext)\n                    if (\n                        c > 1 ||\n                        (n.loadPrevNextAmount && n.loadPrevNextAmount > 1)\n                    ) {\n                        const e = n.loadPrevNextAmount,\n                            t = c,\n                            s = Math.min(i + t + Math.max(e, t), a.length),\n                            r = Math.max(i - Math.max(t, e), 0)\n                        for (let e = i + c; e < s; e += 1) p(e) && o(e)\n                        for (let e = r; e < i; e += 1) p(e) && o(e)\n                    } else {\n                        const t = e.children(`.${s.slideNextClass}`)\n                        t.length > 0 && o(u(t))\n                        const a = e.children(`.${s.slidePrevClass}`)\n                        a.length > 0 && o(u(a))\n                    }\n            }\n            function p() {\n                const e = r()\n                if (!t || t.destroyed) return\n                const s = t.params.lazy.scrollingElement\n                        ? d(t.params.lazy.scrollingElement)\n                        : d(e),\n                    a = s[0] === e,\n                    i = a ? e.innerWidth : s[0].offsetWidth,\n                    l = a ? e.innerHeight : s[0].offsetHeight,\n                    o = t.$el.offset(),\n                    { rtlTranslate: u } = t\n                let h = !1\n                u && (o.left -= t.$el[0].scrollLeft)\n                const m = [\n                    [o.left, o.top],\n                    [o.left + t.width, o.top],\n                    [o.left, o.top + t.height],\n                    [o.left + t.width, o.top + t.height],\n                ]\n                for (let e = 0; e < m.length; e += 1) {\n                    const t = m[e]\n                    if (t[0] >= 0 && t[0] <= i && t[1] >= 0 && t[1] <= l) {\n                        if (0 === t[0] && 0 === t[1]) continue\n                        h = !0\n                    }\n                }\n                const f = !(\n                    'touchstart' !== t.touchEvents.start ||\n                    !t.support.passiveListener ||\n                    !t.params.passiveListeners\n                ) && { passive: !0, capture: !1 }\n                h\n                    ? (c(), s.off('scroll', p, f))\n                    : n || ((n = !0), s.on('scroll', p, f))\n            }\n            a('beforeInit', () => {\n                t.params.lazy.enabled &&\n                    t.params.preloadImages &&\n                    (t.params.preloadImages = !1)\n            }),\n                a('init', () => {\n                    t.params.lazy.enabled &&\n                        (t.params.lazy.checkInView ? p() : c())\n                }),\n                a('scroll', () => {\n                    t.params.freeMode &&\n                        t.params.freeMode.enabled &&\n                        !t.params.freeMode.sticky &&\n                        c()\n                }),\n                a('scrollbarDragMove resize _freeModeNoMomentumRelease', () => {\n                    t.params.lazy.enabled &&\n                        (t.params.lazy.checkInView ? p() : c())\n                }),\n                a('transitionStart', () => {\n                    t.params.lazy.enabled &&\n                        (t.params.lazy.loadOnTransitionStart ||\n                            (!t.params.lazy.loadOnTransitionStart && !l)) &&\n                        (t.params.lazy.checkInView ? p() : c())\n                }),\n                a('transitionEnd', () => {\n                    t.params.lazy.enabled &&\n                        !t.params.lazy.loadOnTransitionStart &&\n                        (t.params.lazy.checkInView ? p() : c())\n                }),\n                a('slideChange', () => {\n                    const {\n                        lazy: e,\n                        cssMode: s,\n                        watchSlidesProgress: a,\n                        touchReleaseOnEdges: i,\n                        resistanceRatio: r,\n                    } = t.params\n                    e.enabled && (s || (a && (i || 0 === r))) && c()\n                }),\n                Object.assign(t.lazy, { load: c, loadInSlide: o })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            function i(e, t) {\n                const s = (function () {\n                    let e, t, s\n                    return (a, i) => {\n                        for (t = -1, e = a.length; e - t > 1; )\n                            (s = (e + t) >> 1), a[s] <= i ? (t = s) : (e = s)\n                        return e\n                    }\n                })()\n                let a, i\n                return (\n                    (this.x = e),\n                    (this.y = t),\n                    (this.lastIndex = e.length - 1),\n                    (this.interpolate = function (e) {\n                        return e\n                            ? ((i = s(this.x, e)),\n                              (a = i - 1),\n                              ((e - this.x[a]) * (this.y[i] - this.y[a])) /\n                                  (this.x[i] - this.x[a]) +\n                                  this.y[a])\n                            : 0\n                    }),\n                    this\n                )\n            }\n            function r() {\n                t.controller.control &&\n                    t.controller.spline &&\n                    ((t.controller.spline = void 0), delete t.controller.spline)\n            }\n            s({ controller: { control: void 0, inverse: !1, by: 'slide' } }),\n                (t.controller = { control: void 0 }),\n                a('beforeInit', () => {\n                    t.controller.control = t.params.controller.control\n                }),\n                a('update', () => {\n                    r()\n                }),\n                a('resize', () => {\n                    r()\n                }),\n                a('observerUpdate', () => {\n                    r()\n                }),\n                a('setTranslate', (e, s, a) => {\n                    t.controller.control && t.controller.setTranslate(s, a)\n                }),\n                a('setTransition', (e, s, a) => {\n                    t.controller.control && t.controller.setTransition(s, a)\n                }),\n                Object.assign(t.controller, {\n                    setTranslate: function (e, s) {\n                        const a = t.controller.control\n                        let r, n\n                        const l = t.constructor\n                        function o(e) {\n                            const s = t.rtlTranslate\n                                ? -t.translate\n                                : t.translate\n                            'slide' === t.params.controller.by &&\n                                (!(function (e) {\n                                    t.controller.spline ||\n                                        (t.controller.spline = t.params.loop\n                                            ? new i(t.slidesGrid, e.slidesGrid)\n                                            : new i(t.snapGrid, e.snapGrid))\n                                })(e),\n                                (n = -t.controller.spline.interpolate(-s))),\n                                (n && 'container' !== t.params.controller.by) ||\n                                    ((r =\n                                        (e.maxTranslate() - e.minTranslate()) /\n                                        (t.maxTranslate() - t.minTranslate())),\n                                    (n =\n                                        (s - t.minTranslate()) * r +\n                                        e.minTranslate())),\n                                t.params.controller.inverse &&\n                                    (n = e.maxTranslate() - n),\n                                e.updateProgress(n),\n                                e.setTranslate(n, t),\n                                e.updateActiveIndex(),\n                                e.updateSlidesClasses()\n                        }\n                        if (Array.isArray(a))\n                            for (let e = 0; e < a.length; e += 1)\n                                a[e] !== s && a[e] instanceof l && o(a[e])\n                        else a instanceof l && s !== a && o(a)\n                    },\n                    setTransition: function (e, s) {\n                        const a = t.constructor,\n                            i = t.controller.control\n                        let r\n                        function n(s) {\n                            s.setTransition(e, t),\n                                0 !== e &&\n                                    (s.transitionStart(),\n                                    s.params.autoHeight &&\n                                        p(() => {\n                                            s.updateAutoHeight()\n                                        }),\n                                    s.$wrapperEl.transitionEnd(() => {\n                                        i &&\n                                            (s.params.loop &&\n                                                'slide' ===\n                                                    t.params.controller.by &&\n                                                s.loopFix(),\n                                            s.transitionEnd())\n                                    }))\n                        }\n                        if (Array.isArray(i))\n                            for (r = 0; r < i.length; r += 1)\n                                i[r] !== s && i[r] instanceof a && n(i[r])\n                        else i instanceof a && s !== i && n(i)\n                    },\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                a11y: {\n                    enabled: !0,\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                },\n            })\n            let i = null\n            function r(e) {\n                const t = i\n                0 !== t.length && (t.html(''), t.html(e))\n            }\n            function n(e) {\n                e.attr('tabIndex', '0')\n            }\n            function l(e) {\n                e.attr('tabIndex', '-1')\n            }\n            function o(e, t) {\n                e.attr('role', t)\n            }\n            function c(e, t) {\n                e.attr('aria-roledescription', t)\n            }\n            function p(e, t) {\n                e.attr('aria-label', t)\n            }\n            function u(e) {\n                e.attr('aria-disabled', !0)\n            }\n            function h(e) {\n                e.attr('aria-disabled', !1)\n            }\n            function m(e) {\n                if (13 !== e.keyCode && 32 !== e.keyCode) return\n                const s = t.params.a11y,\n                    a = d(e.target)\n                t.navigation &&\n                    t.navigation.$nextEl &&\n                    a.is(t.navigation.$nextEl) &&\n                    ((t.isEnd && !t.params.loop) || t.slideNext(),\n                    t.isEnd ? r(s.lastSlideMessage) : r(s.nextSlideMessage)),\n                    t.navigation &&\n                        t.navigation.$prevEl &&\n                        a.is(t.navigation.$prevEl) &&\n                        ((t.isBeginning && !t.params.loop) || t.slidePrev(),\n                        t.isBeginning\n                            ? r(s.firstSlideMessage)\n                            : r(s.prevSlideMessage)),\n                    t.pagination &&\n                        a.is(U(t.params.pagination.bulletClass)) &&\n                        a[0].click()\n            }\n            function f() {\n                return (\n                    t.pagination &&\n                    t.pagination.bullets &&\n                    t.pagination.bullets.length\n                )\n            }\n            function g() {\n                return f() && t.params.pagination.clickable\n            }\n            const v = (e, t, s) => {\n                    n(e),\n                        'BUTTON' !== e[0].tagName &&\n                            (o(e, 'button'), e.on('keydown', m)),\n                        p(e, s),\n                        (function (e, t) {\n                            e.attr('aria-controls', t)\n                        })(e, t)\n                },\n                w = (e) => {\n                    const s = e.target.closest(`.${t.params.slideClass}`)\n                    if (!s || !t.slides.includes(s)) return\n                    const a = t.slides.indexOf(s) === t.activeIndex,\n                        i =\n                            t.params.watchSlidesProgress &&\n                            t.visibleSlides &&\n                            t.visibleSlides.includes(s)\n                    a || i || t.slideTo(t.slides.indexOf(s), 0)\n                }\n            function b() {\n                const e = t.params.a11y\n                t.$el.append(i)\n                const s = t.$el\n                e.containerRoleDescriptionMessage &&\n                    c(s, e.containerRoleDescriptionMessage),\n                    e.containerMessage && p(s, e.containerMessage)\n                const a = t.$wrapperEl,\n                    r =\n                        a.attr('id') ||\n                        `swiper-wrapper-${\n                            ((n = 16),\n                            void 0 === n && (n = 16),\n                            'x'\n                                .repeat(n)\n                                .replace(/x/g, () =>\n                                    Math.round(16 * Math.random()).toString(16)\n                                ))\n                        }`\n                var n\n                const l =\n                    t.params.autoplay && t.params.autoplay.enabled\n                        ? 'off'\n                        : 'polite'\n                var u\n                ;(u = r),\n                    a.attr('id', u),\n                    (function (e, t) {\n                        e.attr('aria-live', t)\n                    })(a, l),\n                    e.itemRoleDescriptionMessage &&\n                        c(d(t.slides), e.itemRoleDescriptionMessage),\n                    o(d(t.slides), e.slideRole)\n                const h = t.params.loop\n                    ? t.slides.filter(\n                          (e) =>\n                              !e.classList.contains(\n                                  t.params.slideDuplicateClass\n                              )\n                      ).length\n                    : t.slides.length\n                let f, b\n                t.slides.each((s, a) => {\n                    const i = d(s),\n                        r = t.params.loop\n                            ? parseInt(i.attr('data-swiper-slide-index'), 10)\n                            : a\n                    p(\n                        i,\n                        e.slideLabelMessage\n                            .replace(/\\{\\{index\\}\\}/, r + 1)\n                            .replace(/\\{\\{slidesLength\\}\\}/, h)\n                    )\n                }),\n                    t.navigation &&\n                        t.navigation.$nextEl &&\n                        (f = t.navigation.$nextEl),\n                    t.navigation &&\n                        t.navigation.$prevEl &&\n                        (b = t.navigation.$prevEl),\n                    f && f.length && v(f, r, e.nextSlideMessage),\n                    b && b.length && v(b, r, e.prevSlideMessage),\n                    g() &&\n                        t.pagination.$el.on(\n                            'keydown',\n                            U(t.params.pagination.bulletClass),\n                            m\n                        ),\n                    t.$el.on('focus', w, !0)\n            }\n            a('beforeInit', () => {\n                i = d(\n                    `<span class=\"${t.params.a11y.notificationClass}\" aria-live=\"assertive\" aria-atomic=\"true\"></span>`\n                )\n            }),\n                a('afterInit', () => {\n                    t.params.a11y.enabled && b()\n                }),\n                a('fromEdge toEdge afterInit lock unlock', () => {\n                    t.params.a11y.enabled &&\n                        (function () {\n                            if (\n                                t.params.loop ||\n                                t.params.rewind ||\n                                !t.navigation\n                            )\n                                return\n                            const { $nextEl: e, $prevEl: s } = t.navigation\n                            s &&\n                                s.length > 0 &&\n                                (t.isBeginning ? (u(s), l(s)) : (h(s), n(s))),\n                                e &&\n                                    e.length > 0 &&\n                                    (t.isEnd ? (u(e), l(e)) : (h(e), n(e)))\n                        })()\n                }),\n                a('paginationUpdate', () => {\n                    t.params.a11y.enabled &&\n                        (function () {\n                            const e = t.params.a11y\n                            f() &&\n                                t.pagination.bullets.each((s) => {\n                                    const a = d(s)\n                                    t.params.pagination.clickable &&\n                                        (n(a),\n                                        t.params.pagination.renderBullet ||\n                                            (o(a, 'button'),\n                                            p(\n                                                a,\n                                                e.paginationBulletMessage.replace(\n                                                    /\\{\\{index\\}\\}/,\n                                                    a.index() + 1\n                                                )\n                                            ))),\n                                        a.is(\n                                            `.${t.params.pagination.bulletActiveClass}`\n                                        )\n                                            ? a.attr('aria-current', 'true')\n                                            : a.removeAttr('aria-current')\n                                })\n                        })()\n                }),\n                a('destroy', () => {\n                    t.params.a11y.enabled &&\n                        (function () {\n                            let e, s\n                            i && i.length > 0 && i.remove(),\n                                t.navigation &&\n                                    t.navigation.$nextEl &&\n                                    (e = t.navigation.$nextEl),\n                                t.navigation &&\n                                    t.navigation.$prevEl &&\n                                    (s = t.navigation.$prevEl),\n                                e && e.off('keydown', m),\n                                s && s.off('keydown', m),\n                                g() &&\n                                    t.pagination.$el.off(\n                                        'keydown',\n                                        U(t.params.pagination.bulletClass),\n                                        m\n                                    ),\n                                t.$el.off('focus', w, !0)\n                        })()\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                history: {\n                    enabled: !1,\n                    root: '',\n                    replaceState: !1,\n                    key: 'slides',\n                },\n            })\n            let i = !1,\n                n = {}\n            const l = (e) =>\n                    e\n                        .toString()\n                        .replace(/\\s+/g, '-')\n                        .replace(/[^\\w-]+/g, '')\n                        .replace(/--+/g, '-')\n                        .replace(/^-+/, '')\n                        .replace(/-+$/, ''),\n                o = (e) => {\n                    const t = r()\n                    let s\n                    s = e ? new URL(e) : t.location\n                    const a = s.pathname\n                            .slice(1)\n                            .split('/')\n                            .filter((e) => '' !== e),\n                        i = a.length\n                    return { key: a[i - 2], value: a[i - 1] }\n                },\n                d = (e, s) => {\n                    const a = r()\n                    if (!i || !t.params.history.enabled) return\n                    let n\n                    n = t.params.url ? new URL(t.params.url) : a.location\n                    const o = t.slides.eq(s)\n                    let d = l(o.attr('data-history'))\n                    if (t.params.history.root.length > 0) {\n                        let s = t.params.history.root\n                        '/' === s[s.length - 1] &&\n                            (s = s.slice(0, s.length - 1)),\n                            (d = `${s}/${e}/${d}`)\n                    } else n.pathname.includes(e) || (d = `${e}/${d}`)\n                    const c = a.history.state\n                    ;(c && c.value === d) ||\n                        (t.params.history.replaceState\n                            ? a.history.replaceState({ value: d }, null, d)\n                            : a.history.pushState({ value: d }, null, d))\n                },\n                c = (e, s, a) => {\n                    if (s)\n                        for (let i = 0, r = t.slides.length; i < r; i += 1) {\n                            const r = t.slides.eq(i)\n                            if (\n                                l(r.attr('data-history')) === s &&\n                                !r.hasClass(t.params.slideDuplicateClass)\n                            ) {\n                                const s = r.index()\n                                t.slideTo(s, e, a)\n                            }\n                        }\n                    else t.slideTo(0, e, a)\n                },\n                p = () => {\n                    ;(n = o(t.params.url)), c(t.params.speed, t.paths.value, !1)\n                }\n            a('init', () => {\n                t.params.history.enabled &&\n                    (() => {\n                        const e = r()\n                        if (t.params.history) {\n                            if (!e.history || !e.history.pushState)\n                                return (\n                                    (t.params.history.enabled = !1),\n                                    void (t.params.hashNavigation.enabled = !0)\n                                )\n                            ;(i = !0),\n                                (n = o(t.params.url)),\n                                (n.key || n.value) &&\n                                    (c(0, n.value, t.params.runCallbacksOnInit),\n                                    t.params.history.replaceState ||\n                                        e.addEventListener('popstate', p))\n                        }\n                    })()\n            }),\n                a('destroy', () => {\n                    t.params.history.enabled &&\n                        (() => {\n                            const e = r()\n                            t.params.history.replaceState ||\n                                e.removeEventListener('popstate', p)\n                        })()\n                }),\n                a('transitionEnd _freeModeNoMomentumRelease', () => {\n                    i && d(t.params.history.key, t.activeIndex)\n                }),\n                a('slideChange', () => {\n                    i &&\n                        t.params.cssMode &&\n                        d(t.params.history.key, t.activeIndex)\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, emit: i, on: n } = e,\n                l = !1\n            const o = a(),\n                c = r()\n            s({\n                hashNavigation: {\n                    enabled: !1,\n                    replaceState: !1,\n                    watchState: !1,\n                },\n            })\n            const p = () => {\n                    i('hashChange')\n                    const e = o.location.hash.replace('#', '')\n                    if (e !== t.slides.eq(t.activeIndex).attr('data-hash')) {\n                        const s = t.$wrapperEl\n                            .children(\n                                `.${t.params.slideClass}[data-hash=\"${e}\"]`\n                            )\n                            .index()\n                        if (void 0 === s) return\n                        t.slideTo(s)\n                    }\n                },\n                u = () => {\n                    if (l && t.params.hashNavigation.enabled)\n                        if (\n                            t.params.hashNavigation.replaceState &&\n                            c.history &&\n                            c.history.replaceState\n                        )\n                            c.history.replaceState(\n                                null,\n                                null,\n                                `#${t.slides\n                                    .eq(t.activeIndex)\n                                    .attr('data-hash')}` || ''\n                            ),\n                                i('hashSet')\n                        else {\n                            const e = t.slides.eq(t.activeIndex),\n                                s =\n                                    e.attr('data-hash') ||\n                                    e.attr('data-history')\n                            ;(o.location.hash = s || ''), i('hashSet')\n                        }\n                }\n            n('init', () => {\n                t.params.hashNavigation.enabled &&\n                    (() => {\n                        if (\n                            !t.params.hashNavigation.enabled ||\n                            (t.params.history && t.params.history.enabled)\n                        )\n                            return\n                        l = !0\n                        const e = o.location.hash.replace('#', '')\n                        if (e) {\n                            const s = 0\n                            for (\n                                let a = 0, i = t.slides.length;\n                                a < i;\n                                a += 1\n                            ) {\n                                const i = t.slides.eq(a)\n                                if (\n                                    (i.attr('data-hash') ||\n                                        i.attr('data-history')) === e &&\n                                    !i.hasClass(t.params.slideDuplicateClass)\n                                ) {\n                                    const e = i.index()\n                                    t.slideTo(\n                                        e,\n                                        s,\n                                        t.params.runCallbacksOnInit,\n                                        !0\n                                    )\n                                }\n                            }\n                        }\n                        t.params.hashNavigation.watchState &&\n                            d(c).on('hashchange', p)\n                    })()\n            }),\n                n('destroy', () => {\n                    t.params.hashNavigation.enabled &&\n                        t.params.hashNavigation.watchState &&\n                        d(c).off('hashchange', p)\n                }),\n                n('transitionEnd _freeModeNoMomentumRelease', () => {\n                    l && u()\n                }),\n                n('slideChange', () => {\n                    l && t.params.cssMode && u()\n                })\n        },\n        function (e) {\n            let t,\n                { swiper: s, extendParams: i, on: r, emit: n } = e\n            function l() {\n                const e = s.slides.eq(s.activeIndex)\n                let a = s.params.autoplay.delay\n                e.attr('data-swiper-autoplay') &&\n                    (a =\n                        e.attr('data-swiper-autoplay') ||\n                        s.params.autoplay.delay),\n                    clearTimeout(t),\n                    (t = p(() => {\n                        let e\n                        s.params.autoplay.reverseDirection\n                            ? s.params.loop\n                                ? (s.loopFix(),\n                                  (e = s.slidePrev(s.params.speed, !0, !0)),\n                                  n('autoplay'))\n                                : s.isBeginning\n                                ? s.params.autoplay.stopOnLastSlide\n                                    ? d()\n                                    : ((e = s.slideTo(\n                                          s.slides.length - 1,\n                                          s.params.speed,\n                                          !0,\n                                          !0\n                                      )),\n                                      n('autoplay'))\n                                : ((e = s.slidePrev(s.params.speed, !0, !0)),\n                                  n('autoplay'))\n                            : s.params.loop\n                            ? (s.loopFix(),\n                              (e = s.slideNext(s.params.speed, !0, !0)),\n                              n('autoplay'))\n                            : s.isEnd\n                            ? s.params.autoplay.stopOnLastSlide\n                                ? d()\n                                : ((e = s.slideTo(0, s.params.speed, !0, !0)),\n                                  n('autoplay'))\n                            : ((e = s.slideNext(s.params.speed, !0, !0)),\n                              n('autoplay')),\n                            ((s.params.cssMode && s.autoplay.running) ||\n                                !1 === e) &&\n                                l()\n                    }, a))\n            }\n            function o() {\n                return (\n                    void 0 === t &&\n                    !s.autoplay.running &&\n                    ((s.autoplay.running = !0), n('autoplayStart'), l(), !0)\n                )\n            }\n            function d() {\n                return (\n                    !!s.autoplay.running &&\n                    void 0 !== t &&\n                    (t && (clearTimeout(t), (t = void 0)),\n                    (s.autoplay.running = !1),\n                    n('autoplayStop'),\n                    !0)\n                )\n            }\n            function c(e) {\n                s.autoplay.running &&\n                    (s.autoplay.paused ||\n                        (t && clearTimeout(t),\n                        (s.autoplay.paused = !0),\n                        0 !== e && s.params.autoplay.waitForTransition\n                            ? ['transitionend', 'webkitTransitionEnd'].forEach(\n                                  (e) => {\n                                      s.$wrapperEl[0].addEventListener(e, h)\n                                  }\n                              )\n                            : ((s.autoplay.paused = !1), l())))\n            }\n            function u() {\n                const e = a()\n                'hidden' === e.visibilityState && s.autoplay.running && c(),\n                    'visible' === e.visibilityState &&\n                        s.autoplay.paused &&\n                        (l(), (s.autoplay.paused = !1))\n            }\n            function h(e) {\n                s &&\n                    !s.destroyed &&\n                    s.$wrapperEl &&\n                    e.target === s.$wrapperEl[0] &&\n                    (['transitionend', 'webkitTransitionEnd'].forEach((e) => {\n                        s.$wrapperEl[0].removeEventListener(e, h)\n                    }),\n                    (s.autoplay.paused = !1),\n                    s.autoplay.running ? l() : d())\n            }\n            function m() {\n                s.params.autoplay.disableOnInteraction\n                    ? d()\n                    : (n('autoplayPause'), c()),\n                    ['transitionend', 'webkitTransitionEnd'].forEach((e) => {\n                        s.$wrapperEl[0].removeEventListener(e, h)\n                    })\n            }\n            function f() {\n                s.params.autoplay.disableOnInteraction ||\n                    ((s.autoplay.paused = !1), n('autoplayResume'), l())\n            }\n            ;(s.autoplay = { running: !1, paused: !1 }),\n                i({\n                    autoplay: {\n                        enabled: !1,\n                        delay: 3e3,\n                        waitForTransition: !0,\n                        disableOnInteraction: !0,\n                        stopOnLastSlide: !1,\n                        reverseDirection: !1,\n                        pauseOnMouseEnter: !1,\n                    },\n                }),\n                r('init', () => {\n                    if (s.params.autoplay.enabled) {\n                        o()\n                        a().addEventListener('visibilitychange', u),\n                            s.params.autoplay.pauseOnMouseEnter &&\n                                (s.$el.on('mouseenter', m),\n                                s.$el.on('mouseleave', f))\n                    }\n                }),\n                r('beforeTransitionStart', (e, t, a) => {\n                    s.autoplay.running &&\n                        (a || !s.params.autoplay.disableOnInteraction\n                            ? s.autoplay.pause(t)\n                            : d())\n                }),\n                r('sliderFirstMove', () => {\n                    s.autoplay.running &&\n                        (s.params.autoplay.disableOnInteraction ? d() : c())\n                }),\n                r('touchEnd', () => {\n                    s.params.cssMode &&\n                        s.autoplay.paused &&\n                        !s.params.autoplay.disableOnInteraction &&\n                        l()\n                }),\n                r('destroy', () => {\n                    s.$el.off('mouseenter', m),\n                        s.$el.off('mouseleave', f),\n                        s.autoplay.running && d()\n                    a().removeEventListener('visibilitychange', u)\n                }),\n                Object.assign(s.autoplay, {\n                    pause: c,\n                    run: l,\n                    start: o,\n                    stop: d,\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                thumbs: {\n                    swiper: null,\n                    multipleActiveThumbs: !0,\n                    autoScrollOffset: 0,\n                    slideThumbActiveClass: 'swiper-slide-thumb-active',\n                    thumbsContainerClass: 'swiper-thumbs',\n                },\n            })\n            let i = !1,\n                r = !1\n            function n() {\n                const e = t.thumbs.swiper\n                if (!e) return\n                const s = e.clickedIndex,\n                    a = e.clickedSlide\n                if (a && d(a).hasClass(t.params.thumbs.slideThumbActiveClass))\n                    return\n                if (null == s) return\n                let i\n                if (\n                    ((i = e.params.loop\n                        ? parseInt(\n                              d(e.clickedSlide).attr('data-swiper-slide-index'),\n                              10\n                          )\n                        : s),\n                    t.params.loop)\n                ) {\n                    let e = t.activeIndex\n                    t.slides.eq(e).hasClass(t.params.slideDuplicateClass) &&\n                        (t.loopFix(),\n                        (t._clientLeft = t.$wrapperEl[0].clientLeft),\n                        (e = t.activeIndex))\n                    const s = t.slides\n                            .eq(e)\n                            .prevAll(`[data-swiper-slide-index=\"${i}\"]`)\n                            .eq(0)\n                            .index(),\n                        a = t.slides\n                            .eq(e)\n                            .nextAll(`[data-swiper-slide-index=\"${i}\"]`)\n                            .eq(0)\n                            .index()\n                    i =\n                        void 0 === s\n                            ? a\n                            : void 0 === a\n                            ? s\n                            : a - e < e - s\n                            ? a\n                            : s\n                }\n                t.slideTo(i)\n            }\n            function l() {\n                const { thumbs: e } = t.params\n                if (i) return !1\n                i = !0\n                const s = t.constructor\n                if (e.swiper instanceof s)\n                    (t.thumbs.swiper = e.swiper),\n                        Object.assign(t.thumbs.swiper.originalParams, {\n                            watchSlidesProgress: !0,\n                            slideToClickedSlide: !1,\n                        }),\n                        Object.assign(t.thumbs.swiper.params, {\n                            watchSlidesProgress: !0,\n                            slideToClickedSlide: !1,\n                        })\n                else if (m(e.swiper)) {\n                    const a = Object.assign({}, e.swiper)\n                    Object.assign(a, {\n                        watchSlidesProgress: !0,\n                        slideToClickedSlide: !1,\n                    }),\n                        (t.thumbs.swiper = new s(a)),\n                        (r = !0)\n                }\n                return (\n                    t.thumbs.swiper.$el.addClass(\n                        t.params.thumbs.thumbsContainerClass\n                    ),\n                    t.thumbs.swiper.on('tap', n),\n                    !0\n                )\n            }\n            function o(e) {\n                const s = t.thumbs.swiper\n                if (!s) return\n                const a =\n                        'auto' === s.params.slidesPerView\n                            ? s.slidesPerViewDynamic()\n                            : s.params.slidesPerView,\n                    i = t.params.thumbs.autoScrollOffset,\n                    r = i && !s.params.loop\n                if (t.realIndex !== s.realIndex || r) {\n                    let n,\n                        l,\n                        o = s.activeIndex\n                    if (s.params.loop) {\n                        s.slides.eq(o).hasClass(s.params.slideDuplicateClass) &&\n                            (s.loopFix(),\n                            (s._clientLeft = s.$wrapperEl[0].clientLeft),\n                            (o = s.activeIndex))\n                        const e = s.slides\n                                .eq(o)\n                                .prevAll(\n                                    `[data-swiper-slide-index=\"${t.realIndex}\"]`\n                                )\n                                .eq(0)\n                                .index(),\n                            a = s.slides\n                                .eq(o)\n                                .nextAll(\n                                    `[data-swiper-slide-index=\"${t.realIndex}\"]`\n                                )\n                                .eq(0)\n                                .index()\n                        ;(n =\n                            void 0 === e\n                                ? a\n                                : void 0 === a\n                                ? e\n                                : a - o == o - e\n                                ? s.params.slidesPerGroup > 1\n                                    ? a\n                                    : o\n                                : a - o < o - e\n                                ? a\n                                : e),\n                            (l =\n                                t.activeIndex > t.previousIndex\n                                    ? 'next'\n                                    : 'prev')\n                    } else\n                        (n = t.realIndex),\n                            (l = n > t.previousIndex ? 'next' : 'prev')\n                    r && (n += 'next' === l ? i : -1 * i),\n                        s.visibleSlidesIndexes &&\n                            s.visibleSlidesIndexes.indexOf(n) < 0 &&\n                            (s.params.centeredSlides\n                                ? (n =\n                                      n > o\n                                          ? n - Math.floor(a / 2) + 1\n                                          : n + Math.floor(a / 2) - 1)\n                                : n > o && s.params.slidesPerGroup,\n                            s.slideTo(n, e ? 0 : void 0))\n                }\n                let n = 1\n                const l = t.params.thumbs.slideThumbActiveClass\n                if (\n                    (t.params.slidesPerView > 1 &&\n                        !t.params.centeredSlides &&\n                        (n = t.params.slidesPerView),\n                    t.params.thumbs.multipleActiveThumbs || (n = 1),\n                    (n = Math.floor(n)),\n                    s.slides.removeClass(l),\n                    s.params.loop ||\n                        (s.params.virtual && s.params.virtual.enabled))\n                )\n                    for (let e = 0; e < n; e += 1)\n                        s.$wrapperEl\n                            .children(\n                                `[data-swiper-slide-index=\"${t.realIndex + e}\"]`\n                            )\n                            .addClass(l)\n                else\n                    for (let e = 0; e < n; e += 1)\n                        s.slides.eq(t.realIndex + e).addClass(l)\n            }\n            ;(t.thumbs = { swiper: null }),\n                a('beforeInit', () => {\n                    const { thumbs: e } = t.params\n                    e && e.swiper && (l(), o(!0))\n                }),\n                a('slideChange update resize observerUpdate', () => {\n                    t.thumbs.swiper && o()\n                }),\n                a('setTransition', (e, s) => {\n                    const a = t.thumbs.swiper\n                    a && a.setTransition(s)\n                }),\n                a('beforeDestroy', () => {\n                    const e = t.thumbs.swiper\n                    e && r && e && e.destroy()\n                }),\n                Object.assign(t.thumbs, { init: l, update: o })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, emit: a, once: i } = e\n            s({\n                freeMode: {\n                    enabled: !1,\n                    momentum: !0,\n                    momentumRatio: 1,\n                    momentumBounce: !0,\n                    momentumBounceRatio: 1,\n                    momentumVelocityRatio: 1,\n                    sticky: !1,\n                    minimumVelocity: 0.02,\n                },\n            }),\n                Object.assign(t, {\n                    freeMode: {\n                        onTouchStart: function () {\n                            const e = t.getTranslate()\n                            t.setTranslate(e),\n                                t.setTransition(0),\n                                (t.touchEventsData.velocities.length = 0),\n                                t.freeMode.onTouchEnd({\n                                    currentPos: t.rtl\n                                        ? t.translate\n                                        : -t.translate,\n                                })\n                        },\n                        onTouchMove: function () {\n                            const { touchEventsData: e, touches: s } = t\n                            0 === e.velocities.length &&\n                                e.velocities.push({\n                                    position:\n                                        s[\n                                            t.isHorizontal()\n                                                ? 'startX'\n                                                : 'startY'\n                                        ],\n                                    time: e.touchStartTime,\n                                }),\n                                e.velocities.push({\n                                    position:\n                                        s[\n                                            t.isHorizontal()\n                                                ? 'currentX'\n                                                : 'currentY'\n                                        ],\n                                    time: u(),\n                                })\n                        },\n                        onTouchEnd: function (e) {\n                            let { currentPos: s } = e\n                            const {\n                                    params: r,\n                                    $wrapperEl: n,\n                                    rtlTranslate: l,\n                                    snapGrid: o,\n                                    touchEventsData: d,\n                                } = t,\n                                c = u() - d.touchStartTime\n                            if (s < -t.minTranslate()) t.slideTo(t.activeIndex)\n                            else if (s > -t.maxTranslate())\n                                t.slides.length < o.length\n                                    ? t.slideTo(o.length - 1)\n                                    : t.slideTo(t.slides.length - 1)\n                            else {\n                                if (r.freeMode.momentum) {\n                                    if (d.velocities.length > 1) {\n                                        const e = d.velocities.pop(),\n                                            s = d.velocities.pop(),\n                                            a = e.position - s.position,\n                                            i = e.time - s.time\n                                        ;(t.velocity = a / i),\n                                            (t.velocity /= 2),\n                                            Math.abs(t.velocity) <\n                                                r.freeMode.minimumVelocity &&\n                                                (t.velocity = 0),\n                                            (i > 150 || u() - e.time > 300) &&\n                                                (t.velocity = 0)\n                                    } else t.velocity = 0\n                                    ;(t.velocity *=\n                                        r.freeMode.momentumVelocityRatio),\n                                        (d.velocities.length = 0)\n                                    let e = 1e3 * r.freeMode.momentumRatio\n                                    const s = t.velocity * e\n                                    let c = t.translate + s\n                                    l && (c = -c)\n                                    let p,\n                                        h = !1\n                                    const m =\n                                        20 *\n                                        Math.abs(t.velocity) *\n                                        r.freeMode.momentumBounceRatio\n                                    let f\n                                    if (c < t.maxTranslate())\n                                        r.freeMode.momentumBounce\n                                            ? (c + t.maxTranslate() < -m &&\n                                                  (c = t.maxTranslate() - m),\n                                              (p = t.maxTranslate()),\n                                              (h = !0),\n                                              (d.allowMomentumBounce = !0))\n                                            : (c = t.maxTranslate()),\n                                            r.loop &&\n                                                r.centeredSlides &&\n                                                (f = !0)\n                                    else if (c > t.minTranslate())\n                                        r.freeMode.momentumBounce\n                                            ? (c - t.minTranslate() > m &&\n                                                  (c = t.minTranslate() + m),\n                                              (p = t.minTranslate()),\n                                              (h = !0),\n                                              (d.allowMomentumBounce = !0))\n                                            : (c = t.minTranslate()),\n                                            r.loop &&\n                                                r.centeredSlides &&\n                                                (f = !0)\n                                    else if (r.freeMode.sticky) {\n                                        let e\n                                        for (let t = 0; t < o.length; t += 1)\n                                            if (o[t] > -c) {\n                                                e = t\n                                                break\n                                            }\n                                        ;(c =\n                                            Math.abs(o[e] - c) <\n                                                Math.abs(o[e - 1] - c) ||\n                                            'next' === t.swipeDirection\n                                                ? o[e]\n                                                : o[e - 1]),\n                                            (c = -c)\n                                    }\n                                    if (\n                                        (f &&\n                                            i('transitionEnd', () => {\n                                                t.loopFix()\n                                            }),\n                                        0 !== t.velocity)\n                                    ) {\n                                        if (\n                                            ((e = l\n                                                ? Math.abs(\n                                                      (-c - t.translate) /\n                                                          t.velocity\n                                                  )\n                                                : Math.abs(\n                                                      (c - t.translate) /\n                                                          t.velocity\n                                                  )),\n                                            r.freeMode.sticky)\n                                        ) {\n                                            const s = Math.abs(\n                                                    (l ? -c : c) - t.translate\n                                                ),\n                                                a =\n                                                    t.slidesSizesGrid[\n                                                        t.activeIndex\n                                                    ]\n                                            e =\n                                                s < a\n                                                    ? r.speed\n                                                    : s < 2 * a\n                                                    ? 1.5 * r.speed\n                                                    : 2.5 * r.speed\n                                        }\n                                    } else if (r.freeMode.sticky)\n                                        return void t.slideToClosest()\n                                    r.freeMode.momentumBounce && h\n                                        ? (t.updateProgress(p),\n                                          t.setTransition(e),\n                                          t.setTranslate(c),\n                                          t.transitionStart(\n                                              !0,\n                                              t.swipeDirection\n                                          ),\n                                          (t.animating = !0),\n                                          n.transitionEnd(() => {\n                                              t &&\n                                                  !t.destroyed &&\n                                                  d.allowMomentumBounce &&\n                                                  (a('momentumBounce'),\n                                                  t.setTransition(r.speed),\n                                                  setTimeout(() => {\n                                                      t.setTranslate(p),\n                                                          n.transitionEnd(\n                                                              () => {\n                                                                  t &&\n                                                                      !t.destroyed &&\n                                                                      t.transitionEnd()\n                                                              }\n                                                          )\n                                                  }, 0))\n                                          }))\n                                        : t.velocity\n                                        ? (a('_freeModeNoMomentumRelease'),\n                                          t.updateProgress(c),\n                                          t.setTransition(e),\n                                          t.setTranslate(c),\n                                          t.transitionStart(\n                                              !0,\n                                              t.swipeDirection\n                                          ),\n                                          t.animating ||\n                                              ((t.animating = !0),\n                                              n.transitionEnd(() => {\n                                                  t &&\n                                                      !t.destroyed &&\n                                                      t.transitionEnd()\n                                              })))\n                                        : t.updateProgress(c),\n                                        t.updateActiveIndex(),\n                                        t.updateSlidesClasses()\n                                } else {\n                                    if (r.freeMode.sticky)\n                                        return void t.slideToClosest()\n                                    r.freeMode &&\n                                        a('_freeModeNoMomentumRelease')\n                                }\n                                ;(!r.freeMode.momentum ||\n                                    c >= r.longSwipesMs) &&\n                                    (t.updateProgress(),\n                                    t.updateActiveIndex(),\n                                    t.updateSlidesClasses())\n                            }\n                        },\n                    },\n                })\n        },\n        function (e) {\n            let t,\n                s,\n                a,\n                { swiper: i, extendParams: r } = e\n            r({ grid: { rows: 1, fill: 'column' } }),\n                (i.grid = {\n                    initSlides: (e) => {\n                        const { slidesPerView: r } = i.params,\n                            { rows: n, fill: l } = i.params.grid\n                        ;(s = t / n),\n                            (a = Math.floor(e / n)),\n                            (t =\n                                Math.floor(e / n) === e / n\n                                    ? e\n                                    : Math.ceil(e / n) * n),\n                            'auto' !== r &&\n                                'row' === l &&\n                                (t = Math.max(t, r * n))\n                    },\n                    updateSlide: (e, r, n, l) => {\n                        const { slidesPerGroup: o, spaceBetween: d } = i.params,\n                            { rows: c, fill: p } = i.params.grid\n                        let u, h, m\n                        if ('row' === p && o > 1) {\n                            const s = Math.floor(e / (o * c)),\n                                a = e - c * o * s,\n                                i =\n                                    0 === s\n                                        ? o\n                                        : Math.min(\n                                              Math.ceil((n - s * c * o) / c),\n                                              o\n                                          )\n                            ;(m = Math.floor(a / i)),\n                                (h = a - m * i + s * o),\n                                (u = h + (m * t) / c),\n                                r.css({ '-webkit-order': u, order: u })\n                        } else\n                            'column' === p\n                                ? ((h = Math.floor(e / c)),\n                                  (m = e - h * c),\n                                  (h > a || (h === a && m === c - 1)) &&\n                                      ((m += 1), m >= c && ((m = 0), (h += 1))))\n                                : ((m = Math.floor(e / s)), (h = e - m * s))\n                        r.css(l('margin-top'), 0 !== m ? d && `${d}px` : '')\n                    },\n                    updateWrapperSize: (e, s, a) => {\n                        const {\n                                spaceBetween: r,\n                                centeredSlides: n,\n                                roundLengths: l,\n                            } = i.params,\n                            { rows: o } = i.params.grid\n                        if (\n                            ((i.virtualSize = (e + r) * t),\n                            (i.virtualSize = Math.ceil(i.virtualSize / o) - r),\n                            i.$wrapperEl.css({\n                                [a('width')]: `${i.virtualSize + r}px`,\n                            }),\n                            n)\n                        ) {\n                            s.splice(0, s.length)\n                            const e = []\n                            for (let t = 0; t < s.length; t += 1) {\n                                let a = s[t]\n                                l && (a = Math.floor(a)),\n                                    s[t] < i.virtualSize + s[0] && e.push(a)\n                            }\n                            s.push(...e)\n                        }\n                    },\n                })\n        },\n        function (e) {\n            let { swiper: t } = e\n            Object.assign(t, {\n                appendSlide: K.bind(t),\n                prependSlide: Z.bind(t),\n                addSlide: J.bind(t),\n                removeSlide: Q.bind(t),\n                removeAllSlides: ee.bind(t),\n            })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({ fadeEffect: { crossFade: !1, transformEl: null } }),\n                te({\n                    effect: 'fade',\n                    swiper: t,\n                    on: a,\n                    setTranslate: () => {\n                        const { slides: e } = t,\n                            s = t.params.fadeEffect\n                        for (let a = 0; a < e.length; a += 1) {\n                            const e = t.slides.eq(a)\n                            let i = -e[0].swiperSlideOffset\n                            t.params.virtualTranslate || (i -= t.translate)\n                            let r = 0\n                            t.isHorizontal() || ((r = i), (i = 0))\n                            const n = t.params.fadeEffect.crossFade\n                                ? Math.max(1 - Math.abs(e[0].progress), 0)\n                                : 1 + Math.min(Math.max(e[0].progress, -1), 0)\n                            se(s, e)\n                                .css({ opacity: n })\n                                .transform(`translate3d(${i}px, ${r}px, 0px)`)\n                        }\n                    },\n                    setTransition: (e) => {\n                        const { transformEl: s } = t.params.fadeEffect\n                        ;(s ? t.slides.find(s) : t.slides).transition(e),\n                            ae({\n                                swiper: t,\n                                duration: e,\n                                transformEl: s,\n                                allSlides: !0,\n                            })\n                    },\n                    overwriteParams: () => ({\n                        slidesPerView: 1,\n                        slidesPerGroup: 1,\n                        watchSlidesProgress: !0,\n                        spaceBetween: 0,\n                        virtualTranslate: !t.params.cssMode,\n                    }),\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                cubeEffect: {\n                    slideShadows: !0,\n                    shadow: !0,\n                    shadowOffset: 20,\n                    shadowScale: 0.94,\n                },\n            }),\n                te({\n                    effect: 'cube',\n                    swiper: t,\n                    on: a,\n                    setTranslate: () => {\n                        const {\n                                $el: e,\n                                $wrapperEl: s,\n                                slides: a,\n                                width: i,\n                                height: r,\n                                rtlTranslate: n,\n                                size: l,\n                                browser: o,\n                            } = t,\n                            c = t.params.cubeEffect,\n                            p = t.isHorizontal(),\n                            u = t.virtual && t.params.virtual.enabled\n                        let h,\n                            m = 0\n                        c.shadow &&\n                            (p\n                                ? ((h = s.find('.swiper-cube-shadow')),\n                                  0 === h.length &&\n                                      ((h = d(\n                                          '<div class=\"swiper-cube-shadow\"></div>'\n                                      )),\n                                      s.append(h)),\n                                  h.css({ height: `${i}px` }))\n                                : ((h = e.find('.swiper-cube-shadow')),\n                                  0 === h.length &&\n                                      ((h = d(\n                                          '<div class=\"swiper-cube-shadow\"></div>'\n                                      )),\n                                      e.append(h))))\n                        for (let e = 0; e < a.length; e += 1) {\n                            const t = a.eq(e)\n                            let s = e\n                            u &&\n                                (s = parseInt(\n                                    t.attr('data-swiper-slide-index'),\n                                    10\n                                ))\n                            let i = 90 * s,\n                                r = Math.floor(i / 360)\n                            n && ((i = -i), (r = Math.floor(-i / 360)))\n                            const o = Math.max(Math.min(t[0].progress, 1), -1)\n                            let h = 0,\n                                f = 0,\n                                g = 0\n                            s % 4 == 0\n                                ? ((h = 4 * -r * l), (g = 0))\n                                : (s - 1) % 4 == 0\n                                ? ((h = 0), (g = 4 * -r * l))\n                                : (s - 2) % 4 == 0\n                                ? ((h = l + 4 * r * l), (g = l))\n                                : (s - 3) % 4 == 0 &&\n                                  ((h = -l), (g = 3 * l + 4 * l * r)),\n                                n && (h = -h),\n                                p || ((f = h), (h = 0))\n                            const v = `rotateX(${p ? 0 : -i}deg) rotateY(${\n                                p ? i : 0\n                            }deg) translate3d(${h}px, ${f}px, ${g}px)`\n                            if (\n                                (o <= 1 &&\n                                    o > -1 &&\n                                    ((m = 90 * s + 90 * o),\n                                    n && (m = 90 * -s - 90 * o)),\n                                t.transform(v),\n                                c.slideShadows)\n                            ) {\n                                let e = p\n                                        ? t.find('.swiper-slide-shadow-left')\n                                        : t.find('.swiper-slide-shadow-top'),\n                                    s = p\n                                        ? t.find('.swiper-slide-shadow-right')\n                                        : t.find('.swiper-slide-shadow-bottom')\n                                0 === e.length &&\n                                    ((e = d(\n                                        `<div class=\"swiper-slide-shadow-${\n                                            p ? 'left' : 'top'\n                                        }\"></div>`\n                                    )),\n                                    t.append(e)),\n                                    0 === s.length &&\n                                        ((s = d(\n                                            `<div class=\"swiper-slide-shadow-${\n                                                p ? 'right' : 'bottom'\n                                            }\"></div>`\n                                        )),\n                                        t.append(s)),\n                                    e.length &&\n                                        (e[0].style.opacity = Math.max(-o, 0)),\n                                    s.length &&\n                                        (s[0].style.opacity = Math.max(o, 0))\n                            }\n                        }\n                        if (\n                            (s.css({\n                                '-webkit-transform-origin': `50% 50% -${\n                                    l / 2\n                                }px`,\n                                'transform-origin': `50% 50% -${l / 2}px`,\n                            }),\n                            c.shadow)\n                        )\n                            if (p)\n                                h.transform(\n                                    `translate3d(0px, ${\n                                        i / 2 + c.shadowOffset\n                                    }px, ${\n                                        -i / 2\n                                    }px) rotateX(90deg) rotateZ(0deg) scale(${\n                                        c.shadowScale\n                                    })`\n                                )\n                            else {\n                                const e =\n                                        Math.abs(m) -\n                                        90 * Math.floor(Math.abs(m) / 90),\n                                    t =\n                                        1.5 -\n                                        (Math.sin((2 * e * Math.PI) / 360) / 2 +\n                                            Math.cos((2 * e * Math.PI) / 360) /\n                                                2),\n                                    s = c.shadowScale,\n                                    a = c.shadowScale / t,\n                                    i = c.shadowOffset\n                                h.transform(\n                                    `scale3d(${s}, 1, ${a}) translate3d(0px, ${\n                                        r / 2 + i\n                                    }px, ${-r / 2 / a}px) rotateX(-90deg)`\n                                )\n                            }\n                        const f = o.isSafari || o.isWebView ? -l / 2 : 0\n                        s.transform(\n                            `translate3d(0px,0,${f}px) rotateX(${\n                                t.isHorizontal() ? 0 : m\n                            }deg) rotateY(${t.isHorizontal() ? -m : 0}deg)`\n                        )\n                    },\n                    setTransition: (e) => {\n                        const { $el: s, slides: a } = t\n                        a\n                            .transition(e)\n                            .find(\n                                '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'\n                            )\n                            .transition(e),\n                            t.params.cubeEffect.shadow &&\n                                !t.isHorizontal() &&\n                                s.find('.swiper-cube-shadow').transition(e)\n                    },\n                    perspective: () => !0,\n                    overwriteParams: () => ({\n                        slidesPerView: 1,\n                        slidesPerGroup: 1,\n                        watchSlidesProgress: !0,\n                        resistanceRatio: 0,\n                        spaceBetween: 0,\n                        centeredSlides: !1,\n                        virtualTranslate: !0,\n                    }),\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                flipEffect: {\n                    slideShadows: !0,\n                    limitRotation: !0,\n                    transformEl: null,\n                },\n            }),\n                te({\n                    effect: 'flip',\n                    swiper: t,\n                    on: a,\n                    setTranslate: () => {\n                        const { slides: e, rtlTranslate: s } = t,\n                            a = t.params.flipEffect\n                        for (let i = 0; i < e.length; i += 1) {\n                            const r = e.eq(i)\n                            let n = r[0].progress\n                            t.params.flipEffect.limitRotation &&\n                                (n = Math.max(Math.min(r[0].progress, 1), -1))\n                            const l = r[0].swiperSlideOffset\n                            let o = -180 * n,\n                                d = 0,\n                                c = t.params.cssMode ? -l - t.translate : -l,\n                                p = 0\n                            if (\n                                (t.isHorizontal()\n                                    ? s && (o = -o)\n                                    : ((p = c), (c = 0), (d = -o), (o = 0)),\n                                (r[0].style.zIndex =\n                                    -Math.abs(Math.round(n)) + e.length),\n                                a.slideShadows)\n                            ) {\n                                let e = t.isHorizontal()\n                                        ? r.find('.swiper-slide-shadow-left')\n                                        : r.find('.swiper-slide-shadow-top'),\n                                    s = t.isHorizontal()\n                                        ? r.find('.swiper-slide-shadow-right')\n                                        : r.find('.swiper-slide-shadow-bottom')\n                                0 === e.length &&\n                                    (e = ie(\n                                        a,\n                                        r,\n                                        t.isHorizontal() ? 'left' : 'top'\n                                    )),\n                                    0 === s.length &&\n                                        (s = ie(\n                                            a,\n                                            r,\n                                            t.isHorizontal()\n                                                ? 'right'\n                                                : 'bottom'\n                                        )),\n                                    e.length &&\n                                        (e[0].style.opacity = Math.max(-n, 0)),\n                                    s.length &&\n                                        (s[0].style.opacity = Math.max(n, 0))\n                            }\n                            const u = `translate3d(${c}px, ${p}px, 0px) rotateX(${d}deg) rotateY(${o}deg)`\n                            se(a, r).transform(u)\n                        }\n                    },\n                    setTransition: (e) => {\n                        const { transformEl: s } = t.params.flipEffect\n                        ;(s ? t.slides.find(s) : t.slides)\n                            .transition(e)\n                            .find(\n                                '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'\n                            )\n                            .transition(e),\n                            ae({ swiper: t, duration: e, transformEl: s })\n                    },\n                    perspective: () => !0,\n                    overwriteParams: () => ({\n                        slidesPerView: 1,\n                        slidesPerGroup: 1,\n                        watchSlidesProgress: !0,\n                        spaceBetween: 0,\n                        virtualTranslate: !t.params.cssMode,\n                    }),\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                coverflowEffect: {\n                    rotate: 50,\n                    stretch: 0,\n                    depth: 100,\n                    scale: 1,\n                    modifier: 1,\n                    slideShadows: !0,\n                    transformEl: null,\n                },\n            }),\n                te({\n                    effect: 'coverflow',\n                    swiper: t,\n                    on: a,\n                    setTranslate: () => {\n                        const {\n                                width: e,\n                                height: s,\n                                slides: a,\n                                slidesSizesGrid: i,\n                            } = t,\n                            r = t.params.coverflowEffect,\n                            n = t.isHorizontal(),\n                            l = t.translate,\n                            o = n ? e / 2 - l : s / 2 - l,\n                            d = n ? r.rotate : -r.rotate,\n                            c = r.depth\n                        for (let e = 0, t = a.length; e < t; e += 1) {\n                            const t = a.eq(e),\n                                s = i[e],\n                                l = (o - t[0].swiperSlideOffset - s / 2) / s,\n                                p =\n                                    'function' == typeof r.modifier\n                                        ? r.modifier(l)\n                                        : l * r.modifier\n                            let u = n ? d * p : 0,\n                                h = n ? 0 : d * p,\n                                m = -c * Math.abs(p),\n                                f = r.stretch\n                            'string' == typeof f &&\n                                -1 !== f.indexOf('%') &&\n                                (f = (parseFloat(r.stretch) / 100) * s)\n                            let g = n ? 0 : f * p,\n                                v = n ? f * p : 0,\n                                w = 1 - (1 - r.scale) * Math.abs(p)\n                            Math.abs(v) < 0.001 && (v = 0),\n                                Math.abs(g) < 0.001 && (g = 0),\n                                Math.abs(m) < 0.001 && (m = 0),\n                                Math.abs(u) < 0.001 && (u = 0),\n                                Math.abs(h) < 0.001 && (h = 0),\n                                Math.abs(w) < 0.001 && (w = 0)\n                            const b = `translate3d(${v}px,${g}px,${m}px)  rotateX(${h}deg) rotateY(${u}deg) scale(${w})`\n                            if (\n                                (se(r, t).transform(b),\n                                (t[0].style.zIndex =\n                                    1 - Math.abs(Math.round(p))),\n                                r.slideShadows)\n                            ) {\n                                let e = n\n                                        ? t.find('.swiper-slide-shadow-left')\n                                        : t.find('.swiper-slide-shadow-top'),\n                                    s = n\n                                        ? t.find('.swiper-slide-shadow-right')\n                                        : t.find('.swiper-slide-shadow-bottom')\n                                0 === e.length &&\n                                    (e = ie(r, t, n ? 'left' : 'top')),\n                                    0 === s.length &&\n                                        (s = ie(r, t, n ? 'right' : 'bottom')),\n                                    e.length &&\n                                        (e[0].style.opacity = p > 0 ? p : 0),\n                                    s.length &&\n                                        (s[0].style.opacity = -p > 0 ? -p : 0)\n                            }\n                        }\n                    },\n                    setTransition: (e) => {\n                        const { transformEl: s } = t.params.coverflowEffect\n                        ;(s ? t.slides.find(s) : t.slides)\n                            .transition(e)\n                            .find(\n                                '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'\n                            )\n                            .transition(e)\n                    },\n                    perspective: () => !0,\n                    overwriteParams: () => ({ watchSlidesProgress: !0 }),\n                })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({\n                creativeEffect: {\n                    transformEl: null,\n                    limitProgress: 1,\n                    shadowPerProgress: !1,\n                    progressMultiplier: 1,\n                    perspective: !0,\n                    prev: {\n                        translate: [0, 0, 0],\n                        rotate: [0, 0, 0],\n                        opacity: 1,\n                        scale: 1,\n                    },\n                    next: {\n                        translate: [0, 0, 0],\n                        rotate: [0, 0, 0],\n                        opacity: 1,\n                        scale: 1,\n                    },\n                },\n            })\n            const i = (e) => ('string' == typeof e ? e : `${e}px`)\n            te({\n                effect: 'creative',\n                swiper: t,\n                on: a,\n                setTranslate: () => {\n                    const { slides: e, $wrapperEl: s, slidesSizesGrid: a } = t,\n                        r = t.params.creativeEffect,\n                        { progressMultiplier: n } = r,\n                        l = t.params.centeredSlides\n                    if (l) {\n                        const e = a[0] / 2 - t.params.slidesOffsetBefore || 0\n                        s.transform(`translateX(calc(50% - ${e}px))`)\n                    }\n                    for (let s = 0; s < e.length; s += 1) {\n                        const a = e.eq(s),\n                            o = a[0].progress,\n                            d = Math.min(\n                                Math.max(a[0].progress, -r.limitProgress),\n                                r.limitProgress\n                            )\n                        let c = d\n                        l ||\n                            (c = Math.min(\n                                Math.max(\n                                    a[0].originalProgress,\n                                    -r.limitProgress\n                                ),\n                                r.limitProgress\n                            ))\n                        const p = a[0].swiperSlideOffset,\n                            u = [\n                                t.params.cssMode ? -p - t.translate : -p,\n                                0,\n                                0,\n                            ],\n                            h = [0, 0, 0]\n                        let m = !1\n                        t.isHorizontal() || ((u[1] = u[0]), (u[0] = 0))\n                        let f = {\n                            translate: [0, 0, 0],\n                            rotate: [0, 0, 0],\n                            scale: 1,\n                            opacity: 1,\n                        }\n                        d < 0\n                            ? ((f = r.next), (m = !0))\n                            : d > 0 && ((f = r.prev), (m = !0)),\n                            u.forEach((e, t) => {\n                                u[t] = `calc(${e}px + (${i(\n                                    f.translate[t]\n                                )} * ${Math.abs(d * n)}))`\n                            }),\n                            h.forEach((e, t) => {\n                                h[t] = f.rotate[t] * Math.abs(d * n)\n                            }),\n                            (a[0].style.zIndex =\n                                -Math.abs(Math.round(o)) + e.length)\n                        const g = u.join(', '),\n                            v = `rotateX(${h[0]}deg) rotateY(${h[1]}deg) rotateZ(${h[2]}deg)`,\n                            w =\n                                c < 0\n                                    ? `scale(${1 + (1 - f.scale) * c * n})`\n                                    : `scale(${1 - (1 - f.scale) * c * n})`,\n                            b =\n                                c < 0\n                                    ? 1 + (1 - f.opacity) * c * n\n                                    : 1 - (1 - f.opacity) * c * n,\n                            x = `translate3d(${g}) ${v} ${w}`\n                        if ((m && f.shadow) || !m) {\n                            let e = a.children('.swiper-slide-shadow')\n                            if (\n                                (0 === e.length && f.shadow && (e = ie(r, a)),\n                                e.length)\n                            ) {\n                                const t = r.shadowPerProgress\n                                    ? d * (1 / r.limitProgress)\n                                    : d\n                                e[0].style.opacity = Math.min(\n                                    Math.max(Math.abs(t), 0),\n                                    1\n                                )\n                            }\n                        }\n                        const y = se(r, a)\n                        y.transform(x).css({ opacity: b }),\n                            f.origin && y.css('transform-origin', f.origin)\n                    }\n                },\n                setTransition: (e) => {\n                    const { transformEl: s } = t.params.creativeEffect\n                    ;(s ? t.slides.find(s) : t.slides)\n                        .transition(e)\n                        .find('.swiper-slide-shadow')\n                        .transition(e),\n                        ae({\n                            swiper: t,\n                            duration: e,\n                            transformEl: s,\n                            allSlides: !0,\n                        })\n                },\n                perspective: () => t.params.creativeEffect.perspective,\n                overwriteParams: () => ({\n                    watchSlidesProgress: !0,\n                    virtualTranslate: !t.params.cssMode,\n                }),\n            })\n        },\n        function (e) {\n            let { swiper: t, extendParams: s, on: a } = e\n            s({ cardsEffect: { slideShadows: !0, transformEl: null } }),\n                te({\n                    effect: 'cards',\n                    swiper: t,\n                    on: a,\n                    setTranslate: () => {\n                        const { slides: e, activeIndex: s } = t,\n                            a = t.params.cardsEffect,\n                            { startTranslate: i, isTouched: r } =\n                                t.touchEventsData,\n                            n = t.translate\n                        for (let l = 0; l < e.length; l += 1) {\n                            const o = e.eq(l),\n                                d = o[0].progress,\n                                c = Math.min(Math.max(d, -4), 4)\n                            let p = o[0].swiperSlideOffset\n                            t.params.centeredSlides &&\n                                !t.params.cssMode &&\n                                t.$wrapperEl.transform(\n                                    `translateX(${t.minTranslate()}px)`\n                                ),\n                                t.params.centeredSlides &&\n                                    t.params.cssMode &&\n                                    (p -= e[0].swiperSlideOffset)\n                            let u = t.params.cssMode ? -p - t.translate : -p,\n                                h = 0\n                            const m = -100 * Math.abs(c)\n                            let f = 1,\n                                g = -2 * c,\n                                v = 8 - 0.75 * Math.abs(c)\n                            const w =\n                                    t.virtual && t.params.virtual.enabled\n                                        ? t.virtual.from + l\n                                        : l,\n                                b =\n                                    (w === s || w === s - 1) &&\n                                    c > 0 &&\n                                    c < 1 &&\n                                    (r || t.params.cssMode) &&\n                                    n < i,\n                                x =\n                                    (w === s || w === s + 1) &&\n                                    c < 0 &&\n                                    c > -1 &&\n                                    (r || t.params.cssMode) &&\n                                    n > i\n                            if (b || x) {\n                                const e =\n                                    (1 - Math.abs((Math.abs(c) - 0.5) / 0.5)) **\n                                    0.5\n                                ;(g += -28 * c * e),\n                                    (f += -0.5 * e),\n                                    (v += 96 * e),\n                                    (h = -25 * e * Math.abs(c) + '%')\n                            }\n                            if (\n                                ((u =\n                                    c < 0\n                                        ? `calc(${u}px + (${v * Math.abs(c)}%))`\n                                        : c > 0\n                                        ? `calc(${u}px + (-${\n                                              v * Math.abs(c)\n                                          }%))`\n                                        : `${u}px`),\n                                !t.isHorizontal())\n                            ) {\n                                const e = h\n                                ;(h = u), (u = e)\n                            }\n                            const y = `\\n        translate3d(${u}, ${h}, ${m}px)\\n        rotateZ(${g}deg)\\n        scale(${\n                                c < 0\n                                    ? '' + (1 + (1 - f) * c)\n                                    : '' + (1 - (1 - f) * c)\n                            })\\n      `\n                            if (a.slideShadows) {\n                                let e = o.find('.swiper-slide-shadow')\n                                0 === e.length && (e = ie(a, o)),\n                                    e.length &&\n                                        (e[0].style.opacity = Math.min(\n                                            Math.max(\n                                                (Math.abs(c) - 0.5) / 0.5,\n                                                0\n                                            ),\n                                            1\n                                        ))\n                            }\n                            o[0].style.zIndex =\n                                -Math.abs(Math.round(d)) + e.length\n                            se(a, o).transform(y)\n                        }\n                    },\n                    setTransition: (e) => {\n                        const { transformEl: s } = t.params.cardsEffect\n                        ;(s ? t.slides.find(s) : t.slides)\n                            .transition(e)\n                            .find('.swiper-slide-shadow')\n                            .transition(e),\n                            ae({ swiper: t, duration: e, transformEl: s })\n                    },\n                    perspective: () => !0,\n                    overwriteParams: () => ({\n                        watchSlidesProgress: !0,\n                        virtualTranslate: !t.params.cssMode,\n                    }),\n                })\n        },\n    ]\n    return V.use(re), V\n})\n//# sourceMappingURL=swiper-bundle.min.js.map\n","/*! Select2 4.1.0-rc.0 | https://github.com/select2/select2/blob/master/LICENSE.md */\n!(function (n) {\n    'function' == typeof define && define.amd\n        ? define(['jquery'], n)\n        : 'object' == typeof module && module.exports\n        ? (module.exports = function (e, t) {\n              return (\n                  void 0 === t &&\n                      (t =\n                          'undefined' != typeof window\n                              ? require('jquery')\n                              : require('jquery')(e)),\n                  n(t),\n                  t\n              )\n          })\n        : n(jQuery)\n})(function (t) {\n    var e,\n        n,\n        s,\n        p,\n        r,\n        o,\n        h,\n        f,\n        g,\n        m,\n        y,\n        v,\n        i,\n        a,\n        _,\n        s =\n            (((u =\n                t && t.fn && t.fn.select2 && t.fn.select2.amd\n                    ? t.fn.select2.amd\n                    : u) &&\n                u.requirejs) ||\n                (u ? (n = u) : (u = {}),\n                (g = {}),\n                (m = {}),\n                (y = {}),\n                (v = {}),\n                (i = Object.prototype.hasOwnProperty),\n                (a = [].slice),\n                (_ = /\\.js$/),\n                (h = function (e, t) {\n                    var n,\n                        s,\n                        i = c(e),\n                        r = i[0],\n                        t = t[1]\n                    return (\n                        (e = i[1]),\n                        r && (n = x((r = l(r, t)))),\n                        r\n                            ? (e =\n                                  n && n.normalize\n                                      ? n.normalize(\n                                            e,\n                                            ((s = t),\n                                            function (e) {\n                                                return l(e, s)\n                                            })\n                                        )\n                                      : l(e, t))\n                            : ((r = (i = c((e = l(e, t))))[0]),\n                              (e = i[1]),\n                              r && (n = x(r))),\n                        { f: r ? r + '!' + e : e, n: e, pr: r, p: n }\n                    )\n                }),\n                (f = {\n                    require: function (e) {\n                        return w(e)\n                    },\n                    exports: function (e) {\n                        var t = g[e]\n                        return void 0 !== t ? t : (g[e] = {})\n                    },\n                    module: function (e) {\n                        return {\n                            id: e,\n                            uri: '',\n                            exports: g[e],\n                            config:\n                                ((t = e),\n                                function () {\n                                    return (y && y.config && y.config[t]) || {}\n                                }),\n                        }\n                        var t\n                    },\n                }),\n                (r = function (e, t, n, s) {\n                    var i,\n                        r,\n                        o,\n                        a,\n                        l,\n                        c = [],\n                        u = typeof n,\n                        d = A((s = s || e))\n                    if ('undefined' == u || 'function' == u) {\n                        for (\n                            t =\n                                !t.length && n.length\n                                    ? ['require', 'exports', 'module']\n                                    : t,\n                                a = 0;\n                            a < t.length;\n                            a += 1\n                        )\n                            if ('require' === (r = (o = h(t[a], d)).f))\n                                c[a] = f.require(e)\n                            else if ('exports' === r)\n                                (c[a] = f.exports(e)), (l = !0)\n                            else if ('module' === r) i = c[a] = f.module(e)\n                            else if (b(g, r) || b(m, r) || b(v, r)) c[a] = x(r)\n                            else {\n                                if (!o.p) throw new Error(e + ' missing ' + r)\n                                o.p.load(\n                                    o.n,\n                                    w(s, !0),\n                                    (function (t) {\n                                        return function (e) {\n                                            g[t] = e\n                                        }\n                                    })(r),\n                                    {}\n                                ),\n                                    (c[a] = g[r])\n                            }\n                        ;(u = n ? n.apply(g[e], c) : void 0),\n                            e &&\n                                (i && i.exports !== p && i.exports !== g[e]\n                                    ? (g[e] = i.exports)\n                                    : (u === p && l) || (g[e] = u))\n                    } else e && (g[e] = n)\n                }),\n                (e =\n                    n =\n                    o =\n                        function (e, t, n, s, i) {\n                            if ('string' == typeof e)\n                                return f[e] ? f[e](t) : x(h(e, A(t)).f)\n                            if (!e.splice) {\n                                if (((y = e).deps && o(y.deps, y.callback), !t))\n                                    return\n                                t.splice\n                                    ? ((e = t), (t = n), (n = null))\n                                    : (e = p)\n                            }\n                            return (\n                                (t = t || function () {}),\n                                'function' == typeof n && ((n = s), (s = i)),\n                                s\n                                    ? r(p, e, t, n)\n                                    : setTimeout(function () {\n                                          r(p, e, t, n)\n                                      }, 4),\n                                o\n                            )\n                        }),\n                (o.config = function (e) {\n                    return o(e)\n                }),\n                (e._defined = g),\n                ((s = function (e, t, n) {\n                    if ('string' != typeof e)\n                        throw new Error(\n                            'See almond README: incorrect module build, no module name'\n                        )\n                    t.splice || ((n = t), (t = [])),\n                        b(g, e) || b(m, e) || (m[e] = [e, t, n])\n                }).amd = { jQuery: !0 }),\n                (u.requirejs = e),\n                (u.require = n),\n                (u.define = s)),\n            u.define('almond', function () {}),\n            u.define('jquery', [], function () {\n                var e = t || $\n                return (\n                    null == e &&\n                        console &&\n                        console.error &&\n                        console.error(\n                            'Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.'\n                        ),\n                    e\n                )\n            }),\n            u.define('select2/utils', ['jquery'], function (r) {\n                var s = {}\n                function c(e) {\n                    var t,\n                        n = e.prototype,\n                        s = []\n                    for (t in n)\n                        'function' == typeof n[t] &&\n                            'constructor' !== t &&\n                            s.push(t)\n                    return s\n                }\n                ;(s.Extend = function (e, t) {\n                    var n,\n                        s = {}.hasOwnProperty\n                    function i() {\n                        this.constructor = e\n                    }\n                    for (n in t) s.call(t, n) && (e[n] = t[n])\n                    return (\n                        (i.prototype = t.prototype),\n                        (e.prototype = new i()),\n                        (e.__super__ = t.prototype),\n                        e\n                    )\n                }),\n                    (s.Decorate = function (s, i) {\n                        var e = c(i),\n                            t = c(s)\n                        function r() {\n                            var e = Array.prototype.unshift,\n                                t = i.prototype.constructor.length,\n                                n = s.prototype.constructor\n                            0 < t &&\n                                (e.call(arguments, s.prototype.constructor),\n                                (n = i.prototype.constructor)),\n                                n.apply(this, arguments)\n                        }\n                        ;(i.displayName = s.displayName),\n                            (r.prototype = new (function () {\n                                this.constructor = r\n                            })())\n                        for (var n = 0; n < t.length; n++) {\n                            var o = t[n]\n                            r.prototype[o] = s.prototype[o]\n                        }\n                        for (var a = 0; a < e.length; a++) {\n                            var l = e[a]\n                            r.prototype[l] = (function (e) {\n                                var t = function () {}\n                                e in r.prototype && (t = r.prototype[e])\n                                var n = i.prototype[e]\n                                return function () {\n                                    return (\n                                        Array.prototype.unshift.call(\n                                            arguments,\n                                            t\n                                        ),\n                                        n.apply(this, arguments)\n                                    )\n                                }\n                            })(l)\n                        }\n                        return r\n                    })\n                function e() {\n                    this.listeners = {}\n                }\n                ;(e.prototype.on = function (e, t) {\n                    ;(this.listeners = this.listeners || {}),\n                        e in this.listeners\n                            ? this.listeners[e].push(t)\n                            : (this.listeners[e] = [t])\n                }),\n                    (e.prototype.trigger = function (e) {\n                        var t = Array.prototype.slice,\n                            n = t.call(arguments, 1)\n                        ;(this.listeners = this.listeners || {}),\n                            0 === (n = null == n ? [] : n).length && n.push({}),\n                            (n[0]._type = e) in this.listeners &&\n                                this.invoke(\n                                    this.listeners[e],\n                                    t.call(arguments, 1)\n                                ),\n                            '*' in this.listeners &&\n                                this.invoke(this.listeners['*'], arguments)\n                    }),\n                    (e.prototype.invoke = function (e, t) {\n                        for (var n = 0, s = e.length; n < s; n++)\n                            e[n].apply(this, t)\n                    }),\n                    (s.Observable = e),\n                    (s.generateChars = function (e) {\n                        for (var t = '', n = 0; n < e; n++)\n                            t += Math.floor(36 * Math.random()).toString(36)\n                        return t\n                    }),\n                    (s.bind = function (e, t) {\n                        return function () {\n                            e.apply(t, arguments)\n                        }\n                    }),\n                    (s._convertData = function (e) {\n                        for (var t in e) {\n                            var n = t.split('-'),\n                                s = e\n                            if (1 !== n.length) {\n                                for (var i = 0; i < n.length; i++) {\n                                    var r = n[i]\n                                    ;(r =\n                                        r.substring(0, 1).toLowerCase() +\n                                        r.substring(1)) in s || (s[r] = {}),\n                                        i == n.length - 1 && (s[r] = e[t]),\n                                        (s = s[r])\n                                }\n                                delete e[t]\n                            }\n                        }\n                        return e\n                    }),\n                    (s.hasScroll = function (e, t) {\n                        var n = r(t),\n                            s = t.style.overflowX,\n                            i = t.style.overflowY\n                        return (\n                            (s !== i || ('hidden' !== i && 'visible' !== i)) &&\n                            ('scroll' === s ||\n                                'scroll' === i ||\n                                n.innerHeight() < t.scrollHeight ||\n                                n.innerWidth() < t.scrollWidth)\n                        )\n                    }),\n                    (s.escapeMarkup = function (e) {\n                        var t = {\n                            '\\\\': '&#92;',\n                            '&': '&amp;',\n                            '<': '&lt;',\n                            '>': '&gt;',\n                            '\"': '&quot;',\n                            \"'\": '&#39;',\n                            '/': '&#47;',\n                        }\n                        return 'string' != typeof e\n                            ? e\n                            : String(e).replace(/[&<>\"'\\/\\\\]/g, function (e) {\n                                  return t[e]\n                              })\n                    }),\n                    (s.__cache = {})\n                var n = 0\n                return (\n                    (s.GetUniqueElementId = function (e) {\n                        var t = e.getAttribute('data-select2-id')\n                        return (\n                            null != t ||\n                                ((t = e.id\n                                    ? 'select2-data-' + e.id\n                                    : 'select2-data-' +\n                                      (++n).toString() +\n                                      '-' +\n                                      s.generateChars(4)),\n                                e.setAttribute('data-select2-id', t)),\n                            t\n                        )\n                    }),\n                    (s.StoreData = function (e, t, n) {\n                        e = s.GetUniqueElementId(e)\n                        s.__cache[e] || (s.__cache[e] = {}),\n                            (s.__cache[e][t] = n)\n                    }),\n                    (s.GetData = function (e, t) {\n                        var n = s.GetUniqueElementId(e)\n                        return t\n                            ? s.__cache[n] && null != s.__cache[n][t]\n                                ? s.__cache[n][t]\n                                : r(e).data(t)\n                            : s.__cache[n]\n                    }),\n                    (s.RemoveData = function (e) {\n                        var t = s.GetUniqueElementId(e)\n                        null != s.__cache[t] && delete s.__cache[t],\n                            e.removeAttribute('data-select2-id')\n                    }),\n                    (s.copyNonInternalCssClasses = function (e, t) {\n                        var n = (n = e\n                                .getAttribute('class')\n                                .trim()\n                                .split(/\\s+/)).filter(function (e) {\n                                return 0 === e.indexOf('select2-')\n                            }),\n                            t = (t = t\n                                .getAttribute('class')\n                                .trim()\n                                .split(/\\s+/)).filter(function (e) {\n                                return 0 !== e.indexOf('select2-')\n                            }),\n                            t = n.concat(t)\n                        e.setAttribute('class', t.join(' '))\n                    }),\n                    s\n                )\n            }),\n            u.define('select2/results', ['jquery', './utils'], function (d, p) {\n                function s(e, t, n) {\n                    ;(this.$element = e),\n                        (this.data = n),\n                        (this.options = t),\n                        s.__super__.constructor.call(this)\n                }\n                return (\n                    p.Extend(s, p.Observable),\n                    (s.prototype.render = function () {\n                        var e = d(\n                            '<ul class=\"select2-results__options\" role=\"listbox\"></ul>'\n                        )\n                        return (\n                            this.options.get('multiple') &&\n                                e.attr('aria-multiselectable', 'true'),\n                            (this.$results = e)\n                        )\n                    }),\n                    (s.prototype.clear = function () {\n                        this.$results.empty()\n                    }),\n                    (s.prototype.displayMessage = function (e) {\n                        var t = this.options.get('escapeMarkup')\n                        this.clear(), this.hideLoading()\n                        var n = d(\n                                '<li role=\"alert\" aria-live=\"assertive\" class=\"select2-results__option\"></li>'\n                            ),\n                            s = this.options.get('translations').get(e.message)\n                        n.append(t(s(e.args))),\n                            (n[0].className += ' select2-results__message'),\n                            this.$results.append(n)\n                    }),\n                    (s.prototype.hideMessages = function () {\n                        this.$results.find('.select2-results__message').remove()\n                    }),\n                    (s.prototype.append = function (e) {\n                        this.hideLoading()\n                        var t = []\n                        if (null != e.results && 0 !== e.results.length) {\n                            e.results = this.sort(e.results)\n                            for (var n = 0; n < e.results.length; n++) {\n                                var s = e.results[n],\n                                    s = this.option(s)\n                                t.push(s)\n                            }\n                            this.$results.append(t)\n                        } else\n                            0 === this.$results.children().length &&\n                                this.trigger('results:message', {\n                                    message: 'noResults',\n                                })\n                    }),\n                    (s.prototype.position = function (e, t) {\n                        t.find('.select2-results').append(e)\n                    }),\n                    (s.prototype.sort = function (e) {\n                        return this.options.get('sorter')(e)\n                    }),\n                    (s.prototype.highlightFirstItem = function () {\n                        var e = this.$results.find(\n                                '.select2-results__option--selectable'\n                            ),\n                            t = e.filter('.select2-results__option--selected')\n                        ;(0 < t.length ? t : e).first().trigger('mouseenter'),\n                            this.ensureHighlightVisible()\n                    }),\n                    (s.prototype.setClasses = function () {\n                        var t = this\n                        this.data.current(function (e) {\n                            var s = e.map(function (e) {\n                                return e.id.toString()\n                            })\n                            t.$results\n                                .find('.select2-results__option--selectable')\n                                .each(function () {\n                                    var e = d(this),\n                                        t = p.GetData(this, 'data'),\n                                        n = '' + t.id\n                                    ;(null != t.element &&\n                                        t.element.selected) ||\n                                    (null == t.element && -1 < s.indexOf(n))\n                                        ? (this.classList.add(\n                                              'select2-results__option--selected'\n                                          ),\n                                          e.attr('aria-selected', 'true'))\n                                        : (this.classList.remove(\n                                              'select2-results__option--selected'\n                                          ),\n                                          e.attr('aria-selected', 'false'))\n                                })\n                        })\n                    }),\n                    (s.prototype.showLoading = function (e) {\n                        this.hideLoading()\n                        ;(e = {\n                            disabled: !0,\n                            loading: !0,\n                            text: this.options\n                                .get('translations')\n                                .get('searching')(e),\n                        }),\n                            (e = this.option(e))\n                        ;(e.className += ' loading-results'),\n                            this.$results.prepend(e)\n                    }),\n                    (s.prototype.hideLoading = function () {\n                        this.$results.find('.loading-results').remove()\n                    }),\n                    (s.prototype.option = function (e) {\n                        var t = document.createElement('li')\n                        t.classList.add('select2-results__option'),\n                            t.classList.add(\n                                'select2-results__option--selectable'\n                            )\n                        var n,\n                            s = { role: 'option' },\n                            i =\n                                window.Element.prototype.matches ||\n                                window.Element.prototype.msMatchesSelector ||\n                                window.Element.prototype.webkitMatchesSelector\n                        for (n in (((null != e.element &&\n                            i.call(e.element, ':disabled')) ||\n                            (null == e.element && e.disabled)) &&\n                            ((s['aria-disabled'] = 'true'),\n                            t.classList.remove(\n                                'select2-results__option--selectable'\n                            ),\n                            t.classList.add(\n                                'select2-results__option--disabled'\n                            )),\n                        null == e.id &&\n                            t.classList.remove(\n                                'select2-results__option--selectable'\n                            ),\n                        null != e._resultId && (t.id = e._resultId),\n                        e.title && (t.title = e.title),\n                        e.children &&\n                            ((s.role = 'group'),\n                            (s['aria-label'] = e.text),\n                            t.classList.remove(\n                                'select2-results__option--selectable'\n                            ),\n                            t.classList.add('select2-results__option--group')),\n                        s)) {\n                            var r = s[n]\n                            t.setAttribute(n, r)\n                        }\n                        if (e.children) {\n                            var o = d(t),\n                                a = document.createElement('strong')\n                            ;(a.className = 'select2-results__group'),\n                                this.template(e, a)\n                            for (\n                                var l = [], c = 0;\n                                c < e.children.length;\n                                c++\n                            ) {\n                                var u = e.children[c],\n                                    u = this.option(u)\n                                l.push(u)\n                            }\n                            i = d('<ul></ul>', {\n                                class: 'select2-results__options select2-results__options--nested',\n                                role: 'none',\n                            })\n                            i.append(l), o.append(a), o.append(i)\n                        } else this.template(e, t)\n                        return p.StoreData(t, 'data', e), t\n                    }),\n                    (s.prototype.bind = function (t, e) {\n                        var i = this,\n                            n = t.id + '-results'\n                        this.$results.attr('id', n),\n                            t.on('results:all', function (e) {\n                                i.clear(),\n                                    i.append(e.data),\n                                    t.isOpen() &&\n                                        (i.setClasses(), i.highlightFirstItem())\n                            }),\n                            t.on('results:append', function (e) {\n                                i.append(e.data), t.isOpen() && i.setClasses()\n                            }),\n                            t.on('query', function (e) {\n                                i.hideMessages(), i.showLoading(e)\n                            }),\n                            t.on('select', function () {\n                                t.isOpen() &&\n                                    (i.setClasses(),\n                                    i.options.get('scrollAfterSelect') &&\n                                        i.highlightFirstItem())\n                            }),\n                            t.on('unselect', function () {\n                                t.isOpen() &&\n                                    (i.setClasses(),\n                                    i.options.get('scrollAfterSelect') &&\n                                        i.highlightFirstItem())\n                            }),\n                            t.on('open', function () {\n                                i.$results.attr('aria-expanded', 'true'),\n                                    i.$results.attr('aria-hidden', 'false'),\n                                    i.setClasses(),\n                                    i.ensureHighlightVisible()\n                            }),\n                            t.on('close', function () {\n                                i.$results.attr('aria-expanded', 'false'),\n                                    i.$results.attr('aria-hidden', 'true'),\n                                    i.$results.removeAttr(\n                                        'aria-activedescendant'\n                                    )\n                            }),\n                            t.on('results:toggle', function () {\n                                var e = i.getHighlightedResults()\n                                0 !== e.length && e.trigger('mouseup')\n                            }),\n                            t.on('results:select', function () {\n                                var e,\n                                    t = i.getHighlightedResults()\n                                0 !== t.length &&\n                                    ((e = p.GetData(t[0], 'data')),\n                                    t.hasClass(\n                                        'select2-results__option--selected'\n                                    )\n                                        ? i.trigger('close', {})\n                                        : i.trigger('select', { data: e }))\n                            }),\n                            t.on('results:previous', function () {\n                                var e,\n                                    t = i.getHighlightedResults(),\n                                    n = i.$results.find(\n                                        '.select2-results__option--selectable'\n                                    ),\n                                    s = n.index(t)\n                                s <= 0 ||\n                                    ((e = s - 1),\n                                    0 === t.length && (e = 0),\n                                    (s = n.eq(e)).trigger('mouseenter'),\n                                    (t = i.$results.offset().top),\n                                    (n = s.offset().top),\n                                    (s = i.$results.scrollTop() + (n - t)),\n                                    0 === e\n                                        ? i.$results.scrollTop(0)\n                                        : n - t < 0 && i.$results.scrollTop(s))\n                            }),\n                            t.on('results:next', function () {\n                                var e,\n                                    t = i.getHighlightedResults(),\n                                    n = i.$results.find(\n                                        '.select2-results__option--selectable'\n                                    ),\n                                    s = n.index(t) + 1\n                                s >= n.length ||\n                                    ((e = n.eq(s)).trigger('mouseenter'),\n                                    (t =\n                                        i.$results.offset().top +\n                                        i.$results.outerHeight(!1)),\n                                    (n = e.offset().top + e.outerHeight(!1)),\n                                    (e = i.$results.scrollTop() + n - t),\n                                    0 === s\n                                        ? i.$results.scrollTop(0)\n                                        : t < n && i.$results.scrollTop(e))\n                            }),\n                            t.on('results:focus', function (e) {\n                                e.element[0].classList.add(\n                                    'select2-results__option--highlighted'\n                                ),\n                                    e.element[0].setAttribute(\n                                        'aria-selected',\n                                        'true'\n                                    )\n                            }),\n                            t.on('results:message', function (e) {\n                                i.displayMessage(e)\n                            }),\n                            d.fn.mousewheel &&\n                                this.$results.on('mousewheel', function (e) {\n                                    var t = i.$results.scrollTop(),\n                                        n =\n                                            i.$results.get(0).scrollHeight -\n                                            t +\n                                            e.deltaY,\n                                        t = 0 < e.deltaY && t - e.deltaY <= 0,\n                                        n =\n                                            e.deltaY < 0 &&\n                                            n <= i.$results.height()\n                                    t\n                                        ? (i.$results.scrollTop(0),\n                                          e.preventDefault(),\n                                          e.stopPropagation())\n                                        : n &&\n                                          (i.$results.scrollTop(\n                                              i.$results.get(0).scrollHeight -\n                                                  i.$results.height()\n                                          ),\n                                          e.preventDefault(),\n                                          e.stopPropagation())\n                                }),\n                            this.$results.on(\n                                'mouseup',\n                                '.select2-results__option--selectable',\n                                function (e) {\n                                    var t = d(this),\n                                        n = p.GetData(this, 'data')\n                                    t.hasClass(\n                                        'select2-results__option--selected'\n                                    )\n                                        ? i.options.get('multiple')\n                                            ? i.trigger('unselect', {\n                                                  originalEvent: e,\n                                                  data: n,\n                                              })\n                                            : i.trigger('close', {})\n                                        : i.trigger('select', {\n                                              originalEvent: e,\n                                              data: n,\n                                          })\n                                }\n                            ),\n                            this.$results.on(\n                                'mouseenter',\n                                '.select2-results__option--selectable',\n                                function (e) {\n                                    var t = p.GetData(this, 'data')\n                                    i\n                                        .getHighlightedResults()\n                                        .removeClass(\n                                            'select2-results__option--highlighted'\n                                        )\n                                        .attr('aria-selected', 'false'),\n                                        i.trigger('results:focus', {\n                                            data: t,\n                                            element: d(this),\n                                        })\n                                }\n                            )\n                    }),\n                    (s.prototype.getHighlightedResults = function () {\n                        return this.$results.find(\n                            '.select2-results__option--highlighted'\n                        )\n                    }),\n                    (s.prototype.destroy = function () {\n                        this.$results.remove()\n                    }),\n                    (s.prototype.ensureHighlightVisible = function () {\n                        var e,\n                            t,\n                            n,\n                            s,\n                            i = this.getHighlightedResults()\n                        0 !== i.length &&\n                            ((e = this.$results\n                                .find('.select2-results__option--selectable')\n                                .index(i)),\n                            (s = this.$results.offset().top),\n                            (t = i.offset().top),\n                            (n = this.$results.scrollTop() + (t - s)),\n                            (s = t - s),\n                            (n -= 2 * i.outerHeight(!1)),\n                            e <= 2\n                                ? this.$results.scrollTop(0)\n                                : (s > this.$results.outerHeight() || s < 0) &&\n                                  this.$results.scrollTop(n))\n                    }),\n                    (s.prototype.template = function (e, t) {\n                        var n = this.options.get('templateResult'),\n                            s = this.options.get('escapeMarkup'),\n                            e = n(e, t)\n                        null == e\n                            ? (t.style.display = 'none')\n                            : 'string' == typeof e\n                            ? (t.innerHTML = s(e))\n                            : d(t).append(e)\n                    }),\n                    s\n                )\n            }),\n            u.define('select2/keys', [], function () {\n                return {\n                    BACKSPACE: 8,\n                    TAB: 9,\n                    ENTER: 13,\n                    SHIFT: 16,\n                    CTRL: 17,\n                    ALT: 18,\n                    ESC: 27,\n                    SPACE: 32,\n                    PAGE_UP: 33,\n                    PAGE_DOWN: 34,\n                    END: 35,\n                    HOME: 36,\n                    LEFT: 37,\n                    UP: 38,\n                    RIGHT: 39,\n                    DOWN: 40,\n                    DELETE: 46,\n                }\n            }),\n            u.define(\n                'select2/selection/base',\n                ['jquery', '../utils', '../keys'],\n                function (n, s, i) {\n                    function r(e, t) {\n                        ;(this.$element = e),\n                            (this.options = t),\n                            r.__super__.constructor.call(this)\n                    }\n                    return (\n                        s.Extend(r, s.Observable),\n                        (r.prototype.render = function () {\n                            var e = n(\n                                '<span class=\"select2-selection\" role=\"combobox\"  aria-haspopup=\"true\" aria-expanded=\"false\"></span>'\n                            )\n                            return (\n                                (this._tabindex = 0),\n                                null !=\n                                s.GetData(this.$element[0], 'old-tabindex')\n                                    ? (this._tabindex = s.GetData(\n                                          this.$element[0],\n                                          'old-tabindex'\n                                      ))\n                                    : null != this.$element.attr('tabindex') &&\n                                      (this._tabindex =\n                                          this.$element.attr('tabindex')),\n                                e.attr('title', this.$element.attr('title')),\n                                e.attr('tabindex', this._tabindex),\n                                e.attr('aria-disabled', 'false'),\n                                (this.$selection = e)\n                            )\n                        }),\n                        (r.prototype.bind = function (e, t) {\n                            var n = this,\n                                s = e.id + '-results'\n                            ;(this.container = e),\n                                this.$selection.on('focus', function (e) {\n                                    n.trigger('focus', e)\n                                }),\n                                this.$selection.on('blur', function (e) {\n                                    n._handleBlur(e)\n                                }),\n                                this.$selection.on('keydown', function (e) {\n                                    n.trigger('keypress', e),\n                                        e.which === i.SPACE &&\n                                            e.preventDefault()\n                                }),\n                                e.on('results:focus', function (e) {\n                                    n.$selection.attr(\n                                        'aria-activedescendant',\n                                        e.data._resultId\n                                    )\n                                }),\n                                e.on('selection:update', function (e) {\n                                    n.update(e.data)\n                                }),\n                                e.on('open', function () {\n                                    n.$selection.attr('aria-expanded', 'true'),\n                                        n.$selection.attr('aria-owns', s),\n                                        n._attachCloseHandler(e)\n                                }),\n                                e.on('close', function () {\n                                    n.$selection.attr('aria-expanded', 'false'),\n                                        n.$selection.removeAttr(\n                                            'aria-activedescendant'\n                                        ),\n                                        n.$selection.removeAttr('aria-owns'),\n                                        n.$selection.trigger('focus'),\n                                        n._detachCloseHandler(e)\n                                }),\n                                e.on('enable', function () {\n                                    n.$selection.attr('tabindex', n._tabindex),\n                                        n.$selection.attr(\n                                            'aria-disabled',\n                                            'false'\n                                        )\n                                }),\n                                e.on('disable', function () {\n                                    n.$selection.attr('tabindex', '-1'),\n                                        n.$selection.attr(\n                                            'aria-disabled',\n                                            'true'\n                                        )\n                                })\n                        }),\n                        (r.prototype._handleBlur = function (e) {\n                            var t = this\n                            window.setTimeout(function () {\n                                document.activeElement == t.$selection[0] ||\n                                    n.contains(\n                                        t.$selection[0],\n                                        document.activeElement\n                                    ) ||\n                                    t.trigger('blur', e)\n                            }, 1)\n                        }),\n                        (r.prototype._attachCloseHandler = function (e) {\n                            n(document.body).on(\n                                'mousedown.select2.' + e.id,\n                                function (e) {\n                                    var t = n(e.target).closest('.select2')\n                                    n('.select2.select2-container--open').each(\n                                        function () {\n                                            this != t[0] &&\n                                                s\n                                                    .GetData(this, 'element')\n                                                    .select2('close')\n                                        }\n                                    )\n                                }\n                            )\n                        }),\n                        (r.prototype._detachCloseHandler = function (e) {\n                            n(document.body).off('mousedown.select2.' + e.id)\n                        }),\n                        (r.prototype.position = function (e, t) {\n                            t.find('.selection').append(e)\n                        }),\n                        (r.prototype.destroy = function () {\n                            this._detachCloseHandler(this.container)\n                        }),\n                        (r.prototype.update = function (e) {\n                            throw new Error(\n                                'The `update` method must be defined in child classes.'\n                            )\n                        }),\n                        (r.prototype.isEnabled = function () {\n                            return !this.isDisabled()\n                        }),\n                        (r.prototype.isDisabled = function () {\n                            return this.options.get('disabled')\n                        }),\n                        r\n                    )\n                }\n            ),\n            u.define(\n                'select2/selection/single',\n                ['jquery', './base', '../utils', '../keys'],\n                function (e, t, n, s) {\n                    function i() {\n                        i.__super__.constructor.apply(this, arguments)\n                    }\n                    return (\n                        n.Extend(i, t),\n                        (i.prototype.render = function () {\n                            var e = i.__super__.render.call(this)\n                            return (\n                                e[0].classList.add('select2-selection--single'),\n                                e.html(\n                                    '<span class=\"select2-selection__rendered\"></span><span class=\"select2-selection__arrow\" role=\"presentation\"><b role=\"presentation\"></b></span>'\n                                ),\n                                e\n                            )\n                        }),\n                        (i.prototype.bind = function (t, e) {\n                            var n = this\n                            i.__super__.bind.apply(this, arguments)\n                            var s = t.id + '-container'\n                            this.$selection\n                                .find('.select2-selection__rendered')\n                                .attr('id', s)\n                                .attr('role', 'textbox')\n                                .attr('aria-readonly', 'true'),\n                                this.$selection.attr('aria-labelledby', s),\n                                this.$selection.attr('aria-controls', s),\n                                this.$selection.on('mousedown', function (e) {\n                                    1 === e.which &&\n                                        n.trigger('toggle', {\n                                            originalEvent: e,\n                                        })\n                                }),\n                                this.$selection.on('focus', function (e) {}),\n                                this.$selection.on('blur', function (e) {}),\n                                t.on('focus', function (e) {\n                                    t.isOpen() || n.$selection.trigger('focus')\n                                })\n                        }),\n                        (i.prototype.clear = function () {\n                            var e = this.$selection.find(\n                                '.select2-selection__rendered'\n                            )\n                            e.empty(), e.removeAttr('title')\n                        }),\n                        (i.prototype.display = function (e, t) {\n                            var n = this.options.get('templateSelection')\n                            return this.options.get('escapeMarkup')(n(e, t))\n                        }),\n                        (i.prototype.selectionContainer = function () {\n                            return e('<span></span>')\n                        }),\n                        (i.prototype.update = function (e) {\n                            var t, n\n                            0 !== e.length\n                                ? ((n = e[0]),\n                                  (t = this.$selection.find(\n                                      '.select2-selection__rendered'\n                                  )),\n                                  (e = this.display(n, t)),\n                                  t.empty().append(e),\n                                  (n = n.title || n.text)\n                                      ? t.attr('title', n)\n                                      : t.removeAttr('title'))\n                                : this.clear()\n                        }),\n                        i\n                    )\n                }\n            ),\n            u.define(\n                'select2/selection/multiple',\n                ['jquery', './base', '../utils'],\n                function (i, e, c) {\n                    function r(e, t) {\n                        r.__super__.constructor.apply(this, arguments)\n                    }\n                    return (\n                        c.Extend(r, e),\n                        (r.prototype.render = function () {\n                            var e = r.__super__.render.call(this)\n                            return (\n                                e[0].classList.add(\n                                    'select2-selection--multiple'\n                                ),\n                                e.html(\n                                    '<ul class=\"select2-selection__rendered\"></ul>'\n                                ),\n                                e\n                            )\n                        }),\n                        (r.prototype.bind = function (e, t) {\n                            var n = this\n                            r.__super__.bind.apply(this, arguments)\n                            var s = e.id + '-container'\n                            this.$selection\n                                .find('.select2-selection__rendered')\n                                .attr('id', s),\n                                this.$selection.on('click', function (e) {\n                                    n.trigger('toggle', { originalEvent: e })\n                                }),\n                                this.$selection.on(\n                                    'click',\n                                    '.select2-selection__choice__remove',\n                                    function (e) {\n                                        var t\n                                        n.isDisabled() ||\n                                            ((t = i(this).parent()),\n                                            (t = c.GetData(t[0], 'data')),\n                                            n.trigger('unselect', {\n                                                originalEvent: e,\n                                                data: t,\n                                            }))\n                                    }\n                                ),\n                                this.$selection.on(\n                                    'keydown',\n                                    '.select2-selection__choice__remove',\n                                    function (e) {\n                                        n.isDisabled() || e.stopPropagation()\n                                    }\n                                )\n                        }),\n                        (r.prototype.clear = function () {\n                            var e = this.$selection.find(\n                                '.select2-selection__rendered'\n                            )\n                            e.empty(), e.removeAttr('title')\n                        }),\n                        (r.prototype.display = function (e, t) {\n                            var n = this.options.get('templateSelection')\n                            return this.options.get('escapeMarkup')(n(e, t))\n                        }),\n                        (r.prototype.selectionContainer = function () {\n                            return i(\n                                '<li class=\"select2-selection__choice\"><button type=\"button\" class=\"select2-selection__choice__remove\" tabindex=\"-1\"><span aria-hidden=\"true\">&times;</span></button><span class=\"select2-selection__choice__display\"></span></li>'\n                            )\n                        }),\n                        (r.prototype.update = function (e) {\n                            if ((this.clear(), 0 !== e.length)) {\n                                for (\n                                    var t = [],\n                                        n =\n                                            this.$selection\n                                                .find(\n                                                    '.select2-selection__rendered'\n                                                )\n                                                .attr('id') + '-choice-',\n                                        s = 0;\n                                    s < e.length;\n                                    s++\n                                ) {\n                                    var i = e[s],\n                                        r = this.selectionContainer(),\n                                        o = this.display(i, r),\n                                        a = n + c.generateChars(4) + '-'\n                                    i.id\n                                        ? (a += i.id)\n                                        : (a += c.generateChars(4)),\n                                        r\n                                            .find(\n                                                '.select2-selection__choice__display'\n                                            )\n                                            .append(o)\n                                            .attr('id', a)\n                                    var l = i.title || i.text\n                                    l && r.attr('title', l)\n                                    ;(o = this.options\n                                        .get('translations')\n                                        .get('removeItem')),\n                                        (l = r.find(\n                                            '.select2-selection__choice__remove'\n                                        ))\n                                    l.attr('title', o()),\n                                        l.attr('aria-label', o()),\n                                        l.attr('aria-describedby', a),\n                                        c.StoreData(r[0], 'data', i),\n                                        t.push(r)\n                                }\n                                this.$selection\n                                    .find('.select2-selection__rendered')\n                                    .append(t)\n                            }\n                        }),\n                        r\n                    )\n                }\n            ),\n            u.define('select2/selection/placeholder', [], function () {\n                function e(e, t, n) {\n                    ;(this.placeholder = this.normalizePlaceholder(\n                        n.get('placeholder')\n                    )),\n                        e.call(this, t, n)\n                }\n                return (\n                    (e.prototype.normalizePlaceholder = function (e, t) {\n                        return (t =\n                            'string' == typeof t ? { id: '', text: t } : t)\n                    }),\n                    (e.prototype.createPlaceholder = function (e, t) {\n                        var n = this.selectionContainer()\n                        n.html(this.display(t)),\n                            n[0].classList.add(\n                                'select2-selection__placeholder'\n                            ),\n                            n[0].classList.remove('select2-selection__choice')\n                        t = t.title || t.text || n.text()\n                        return (\n                            this.$selection\n                                .find('.select2-selection__rendered')\n                                .attr('title', t),\n                            n\n                        )\n                    }),\n                    (e.prototype.update = function (e, t) {\n                        var n = 1 == t.length && t[0].id != this.placeholder.id\n                        if (1 < t.length || n) return e.call(this, t)\n                        this.clear()\n                        t = this.createPlaceholder(this.placeholder)\n                        this.$selection\n                            .find('.select2-selection__rendered')\n                            .append(t)\n                    }),\n                    e\n                )\n            }),\n            u.define(\n                'select2/selection/allowClear',\n                ['jquery', '../keys', '../utils'],\n                function (i, s, a) {\n                    function e() {}\n                    return (\n                        (e.prototype.bind = function (e, t, n) {\n                            var s = this\n                            e.call(this, t, n),\n                                null == this.placeholder &&\n                                    this.options.get('debug') &&\n                                    window.console &&\n                                    console.error &&\n                                    console.error(\n                                        'Select2: The `allowClear` option should be used in combination with the `placeholder` option.'\n                                    ),\n                                this.$selection.on(\n                                    'mousedown',\n                                    '.select2-selection__clear',\n                                    function (e) {\n                                        s._handleClear(e)\n                                    }\n                                ),\n                                t.on('keypress', function (e) {\n                                    s._handleKeyboardClear(e, t)\n                                })\n                        }),\n                        (e.prototype._handleClear = function (e, t) {\n                            if (!this.isDisabled()) {\n                                var n = this.$selection.find(\n                                    '.select2-selection__clear'\n                                )\n                                if (0 !== n.length) {\n                                    t.stopPropagation()\n                                    var s = a.GetData(n[0], 'data'),\n                                        i = this.$element.val()\n                                    this.$element.val(this.placeholder.id)\n                                    var r = { data: s }\n                                    if ((this.trigger('clear', r), r.prevented))\n                                        this.$element.val(i)\n                                    else {\n                                        for (var o = 0; o < s.length; o++)\n                                            if (\n                                                ((r = { data: s[o] }),\n                                                this.trigger('unselect', r),\n                                                r.prevented)\n                                            )\n                                                return void this.$element.val(i)\n                                        this.$element\n                                            .trigger('input')\n                                            .trigger('change'),\n                                            this.trigger('toggle', {})\n                                    }\n                                }\n                            }\n                        }),\n                        (e.prototype._handleKeyboardClear = function (e, t, n) {\n                            n.isOpen() ||\n                                (t.which != s.DELETE &&\n                                    t.which != s.BACKSPACE) ||\n                                this._handleClear(t)\n                        }),\n                        (e.prototype.update = function (e, t) {\n                            var n, s\n                            e.call(this, t),\n                                this.$selection\n                                    .find('.select2-selection__clear')\n                                    .remove(),\n                                this.$selection[0].classList.remove(\n                                    'select2-selection--clearable'\n                                ),\n                                0 <\n                                    this.$selection.find(\n                                        '.select2-selection__placeholder'\n                                    ).length ||\n                                    0 === t.length ||\n                                    ((n = this.$selection\n                                        .find('.select2-selection__rendered')\n                                        .attr('id')),\n                                    (s = this.options\n                                        .get('translations')\n                                        .get('removeAllItems')),\n                                    (e = i(\n                                        '<button type=\"button\" class=\"select2-selection__clear\" tabindex=\"-1\"><span aria-hidden=\"true\">&times;</span></button>'\n                                    )).attr('title', s()),\n                                    e.attr('aria-label', s()),\n                                    e.attr('aria-describedby', n),\n                                    a.StoreData(e[0], 'data', t),\n                                    this.$selection.prepend(e),\n                                    this.$selection[0].classList.add(\n                                        'select2-selection--clearable'\n                                    ))\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/selection/search',\n                ['jquery', '../utils', '../keys'],\n                function (s, a, l) {\n                    function e(e, t, n) {\n                        e.call(this, t, n)\n                    }\n                    return (\n                        (e.prototype.render = function (e) {\n                            var t = this.options\n                                    .get('translations')\n                                    .get('search'),\n                                n = s(\n                                    '<span class=\"select2-search select2-search--inline\"><textarea class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"searchbox\" aria-autocomplete=\"list\" ></textarea></span>'\n                                )\n                            ;(this.$searchContainer = n),\n                                (this.$search = n.find('textarea')),\n                                this.$search.prop(\n                                    'autocomplete',\n                                    this.options.get('autocomplete')\n                                ),\n                                this.$search.attr('aria-label', t())\n                            e = e.call(this)\n                            return (\n                                this._transferTabIndex(),\n                                e.append(this.$searchContainer),\n                                e\n                            )\n                        }),\n                        (e.prototype.bind = function (e, t, n) {\n                            var s = this,\n                                i = t.id + '-results',\n                                r = t.id + '-container'\n                            e.call(this, t, n),\n                                s.$search.attr('aria-describedby', r),\n                                t.on('open', function () {\n                                    s.$search.attr('aria-controls', i),\n                                        s.$search.trigger('focus')\n                                }),\n                                t.on('close', function () {\n                                    s.$search.val(''),\n                                        s.resizeSearch(),\n                                        s.$search.removeAttr('aria-controls'),\n                                        s.$search.removeAttr(\n                                            'aria-activedescendant'\n                                        ),\n                                        s.$search.trigger('focus')\n                                }),\n                                t.on('enable', function () {\n                                    s.$search.prop('disabled', !1),\n                                        s._transferTabIndex()\n                                }),\n                                t.on('disable', function () {\n                                    s.$search.prop('disabled', !0)\n                                }),\n                                t.on('focus', function (e) {\n                                    s.$search.trigger('focus')\n                                }),\n                                t.on('results:focus', function (e) {\n                                    e.data._resultId\n                                        ? s.$search.attr(\n                                              'aria-activedescendant',\n                                              e.data._resultId\n                                          )\n                                        : s.$search.removeAttr(\n                                              'aria-activedescendant'\n                                          )\n                                }),\n                                this.$selection.on(\n                                    'focusin',\n                                    '.select2-search--inline',\n                                    function (e) {\n                                        s.trigger('focus', e)\n                                    }\n                                ),\n                                this.$selection.on(\n                                    'focusout',\n                                    '.select2-search--inline',\n                                    function (e) {\n                                        s._handleBlur(e)\n                                    }\n                                ),\n                                this.$selection.on(\n                                    'keydown',\n                                    '.select2-search--inline',\n                                    function (e) {\n                                        var t\n                                        e.stopPropagation(),\n                                            s.trigger('keypress', e),\n                                            (s._keyUpPrevented =\n                                                e.isDefaultPrevented()),\n                                            e.which !== l.BACKSPACE ||\n                                                '' !== s.$search.val() ||\n                                                (0 <\n                                                    (t = s.$selection\n                                                        .find(\n                                                            '.select2-selection__choice'\n                                                        )\n                                                        .last()).length &&\n                                                    ((t = a.GetData(\n                                                        t[0],\n                                                        'data'\n                                                    )),\n                                                    s.searchRemoveChoice(t),\n                                                    e.preventDefault()))\n                                    }\n                                ),\n                                this.$selection.on(\n                                    'click',\n                                    '.select2-search--inline',\n                                    function (e) {\n                                        s.$search.val() && e.stopPropagation()\n                                    }\n                                )\n                            var t = document.documentMode,\n                                o = t && t <= 11\n                            this.$selection.on(\n                                'input.searchcheck',\n                                '.select2-search--inline',\n                                function (e) {\n                                    o\n                                        ? s.$selection.off(\n                                              'input.search input.searchcheck'\n                                          )\n                                        : s.$selection.off('keyup.search')\n                                }\n                            ),\n                                this.$selection.on(\n                                    'keyup.search input.search',\n                                    '.select2-search--inline',\n                                    function (e) {\n                                        var t\n                                        o && 'input' === e.type\n                                            ? s.$selection.off(\n                                                  'input.search input.searchcheck'\n                                              )\n                                            : (t = e.which) != l.SHIFT &&\n                                              t != l.CTRL &&\n                                              t != l.ALT &&\n                                              t != l.TAB &&\n                                              s.handleSearch(e)\n                                    }\n                                )\n                        }),\n                        (e.prototype._transferTabIndex = function (e) {\n                            this.$search.attr(\n                                'tabindex',\n                                this.$selection.attr('tabindex')\n                            ),\n                                this.$selection.attr('tabindex', '-1')\n                        }),\n                        (e.prototype.createPlaceholder = function (e, t) {\n                            this.$search.attr('placeholder', t.text)\n                        }),\n                        (e.prototype.update = function (e, t) {\n                            var n = this.$search[0] == document.activeElement\n                            this.$search.attr('placeholder', ''),\n                                e.call(this, t),\n                                this.resizeSearch(),\n                                n && this.$search.trigger('focus')\n                        }),\n                        (e.prototype.handleSearch = function () {\n                            var e\n                            this.resizeSearch(),\n                                this._keyUpPrevented ||\n                                    ((e = this.$search.val()),\n                                    this.trigger('query', { term: e })),\n                                (this._keyUpPrevented = !1)\n                        }),\n                        (e.prototype.searchRemoveChoice = function (e, t) {\n                            this.trigger('unselect', { data: t }),\n                                this.$search.val(t.text),\n                                this.handleSearch()\n                        }),\n                        (e.prototype.resizeSearch = function () {\n                            this.$search.css('width', '25px')\n                            var e = '100%'\n                            '' === this.$search.attr('placeholder') &&\n                                (e =\n                                    0.75 * (this.$search.val().length + 1) +\n                                    'em'),\n                                this.$search.css('width', e)\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/selection/selectionCss',\n                ['../utils'],\n                function (n) {\n                    function e() {}\n                    return (\n                        (e.prototype.render = function (e) {\n                            var t = e.call(this),\n                                e = this.options.get('selectionCssClass') || ''\n                            return (\n                                -1 !== e.indexOf(':all:') &&\n                                    ((e = e.replace(':all:', '')),\n                                    n.copyNonInternalCssClasses(\n                                        t[0],\n                                        this.$element[0]\n                                    )),\n                                t.addClass(e),\n                                t\n                            )\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define('select2/selection/eventRelay', ['jquery'], function (o) {\n                function e() {}\n                return (\n                    (e.prototype.bind = function (e, t, n) {\n                        var s = this,\n                            i = [\n                                'open',\n                                'opening',\n                                'close',\n                                'closing',\n                                'select',\n                                'selecting',\n                                'unselect',\n                                'unselecting',\n                                'clear',\n                                'clearing',\n                            ],\n                            r = [\n                                'opening',\n                                'closing',\n                                'selecting',\n                                'unselecting',\n                                'clearing',\n                            ]\n                        e.call(this, t, n),\n                            t.on('*', function (e, t) {\n                                var n\n                                ;-1 !== i.indexOf(e) &&\n                                    ((t = t || {}),\n                                    (n = o.Event('select2:' + e, {\n                                        params: t,\n                                    })),\n                                    s.$element.trigger(n),\n                                    -1 !== r.indexOf(e) &&\n                                        (t.prevented = n.isDefaultPrevented()))\n                            })\n                    }),\n                    e\n                )\n            }),\n            u.define(\n                'select2/translation',\n                ['jquery', 'require'],\n                function (t, n) {\n                    function s(e) {\n                        this.dict = e || {}\n                    }\n                    return (\n                        (s.prototype.all = function () {\n                            return this.dict\n                        }),\n                        (s.prototype.get = function (e) {\n                            return this.dict[e]\n                        }),\n                        (s.prototype.extend = function (e) {\n                            this.dict = t.extend({}, e.all(), this.dict)\n                        }),\n                        (s._cache = {}),\n                        (s.loadPath = function (e) {\n                            var t\n                            return (\n                                e in s._cache ||\n                                    ((t = n(e)), (s._cache[e] = t)),\n                                new s(s._cache[e])\n                            )\n                        }),\n                        s\n                    )\n                }\n            ),\n            u.define('select2/diacritics', [], function () {\n                return {\n                    'Ⓐ': 'A',\n                    A: 'A',\n                    À: 'A',\n                    Á: 'A',\n                    Â: 'A',\n                    Ầ: 'A',\n                    Ấ: 'A',\n                    Ẫ: 'A',\n                    Ẩ: 'A',\n                    Ã: 'A',\n                    Ā: 'A',\n                    Ă: 'A',\n                    Ằ: 'A',\n                    Ắ: 'A',\n                    Ẵ: 'A',\n                    Ẳ: 'A',\n                    Ȧ: 'A',\n                    Ǡ: 'A',\n                    Ä: 'A',\n                    Ǟ: 'A',\n                    Ả: 'A',\n                    Å: 'A',\n                    Ǻ: 'A',\n                    Ǎ: 'A',\n                    Ȁ: 'A',\n                    Ȃ: 'A',\n                    Ạ: 'A',\n                    Ậ: 'A',\n                    Ặ: 'A',\n                    Ḁ: 'A',\n                    Ą: 'A',\n                    Ⱥ: 'A',\n                    Ɐ: 'A',\n                    Ꜳ: 'AA',\n                    Æ: 'AE',\n                    Ǽ: 'AE',\n                    Ǣ: 'AE',\n                    Ꜵ: 'AO',\n                    Ꜷ: 'AU',\n                    Ꜹ: 'AV',\n                    Ꜻ: 'AV',\n                    Ꜽ: 'AY',\n                    'Ⓑ': 'B',\n                    B: 'B',\n                    Ḃ: 'B',\n                    Ḅ: 'B',\n                    Ḇ: 'B',\n                    Ƀ: 'B',\n                    Ƃ: 'B',\n                    Ɓ: 'B',\n                    'Ⓒ': 'C',\n                    C: 'C',\n                    Ć: 'C',\n                    Ĉ: 'C',\n                    Ċ: 'C',\n                    Č: 'C',\n                    Ç: 'C',\n                    Ḉ: 'C',\n                    Ƈ: 'C',\n                    Ȼ: 'C',\n                    Ꜿ: 'C',\n                    'Ⓓ': 'D',\n                    D: 'D',\n                    Ḋ: 'D',\n                    Ď: 'D',\n                    Ḍ: 'D',\n                    Ḑ: 'D',\n                    Ḓ: 'D',\n                    Ḏ: 'D',\n                    Đ: 'D',\n                    Ƌ: 'D',\n                    Ɗ: 'D',\n                    Ɖ: 'D',\n                    Ꝺ: 'D',\n                    DZ: 'DZ',\n                    DŽ: 'DZ',\n                    Dz: 'Dz',\n                    Dž: 'Dz',\n                    'Ⓔ': 'E',\n                    E: 'E',\n                    È: 'E',\n                    É: 'E',\n                    Ê: 'E',\n                    Ề: 'E',\n                    Ế: 'E',\n                    Ễ: 'E',\n                    Ể: 'E',\n                    Ẽ: 'E',\n                    Ē: 'E',\n                    Ḕ: 'E',\n                    Ḗ: 'E',\n                    Ĕ: 'E',\n                    Ė: 'E',\n                    Ë: 'E',\n                    Ẻ: 'E',\n                    Ě: 'E',\n                    Ȅ: 'E',\n                    Ȇ: 'E',\n                    Ẹ: 'E',\n                    Ệ: 'E',\n                    Ȩ: 'E',\n                    Ḝ: 'E',\n                    Ę: 'E',\n                    Ḙ: 'E',\n                    Ḛ: 'E',\n                    Ɛ: 'E',\n                    Ǝ: 'E',\n                    'Ⓕ': 'F',\n                    F: 'F',\n                    Ḟ: 'F',\n                    Ƒ: 'F',\n                    Ꝼ: 'F',\n                    'Ⓖ': 'G',\n                    G: 'G',\n                    Ǵ: 'G',\n                    Ĝ: 'G',\n                    Ḡ: 'G',\n                    Ğ: 'G',\n                    Ġ: 'G',\n                    Ǧ: 'G',\n                    Ģ: 'G',\n                    Ǥ: 'G',\n                    Ɠ: 'G',\n                    Ꞡ: 'G',\n                    Ᵹ: 'G',\n                    Ꝿ: 'G',\n                    'Ⓗ': 'H',\n                    H: 'H',\n                    Ĥ: 'H',\n                    Ḣ: 'H',\n                    Ḧ: 'H',\n                    Ȟ: 'H',\n                    Ḥ: 'H',\n                    Ḩ: 'H',\n                    Ḫ: 'H',\n                    Ħ: 'H',\n                    Ⱨ: 'H',\n                    Ⱶ: 'H',\n                    Ɥ: 'H',\n                    'Ⓘ': 'I',\n                    I: 'I',\n                    Ì: 'I',\n                    Í: 'I',\n                    Î: 'I',\n                    Ĩ: 'I',\n                    Ī: 'I',\n                    Ĭ: 'I',\n                    İ: 'I',\n                    Ï: 'I',\n                    Ḯ: 'I',\n                    Ỉ: 'I',\n                    Ǐ: 'I',\n                    Ȉ: 'I',\n                    Ȋ: 'I',\n                    Ị: 'I',\n                    Į: 'I',\n                    Ḭ: 'I',\n                    Ɨ: 'I',\n                    'Ⓙ': 'J',\n                    J: 'J',\n                    Ĵ: 'J',\n                    Ɉ: 'J',\n                    'Ⓚ': 'K',\n                    K: 'K',\n                    Ḱ: 'K',\n                    Ǩ: 'K',\n                    Ḳ: 'K',\n                    Ķ: 'K',\n                    Ḵ: 'K',\n                    Ƙ: 'K',\n                    Ⱪ: 'K',\n                    Ꝁ: 'K',\n                    Ꝃ: 'K',\n                    Ꝅ: 'K',\n                    Ꞣ: 'K',\n                    'Ⓛ': 'L',\n                    L: 'L',\n                    Ŀ: 'L',\n                    Ĺ: 'L',\n                    Ľ: 'L',\n                    Ḷ: 'L',\n                    Ḹ: 'L',\n                    Ļ: 'L',\n                    Ḽ: 'L',\n                    Ḻ: 'L',\n                    Ł: 'L',\n                    Ƚ: 'L',\n                    Ɫ: 'L',\n                    Ⱡ: 'L',\n                    Ꝉ: 'L',\n                    Ꝇ: 'L',\n                    Ꞁ: 'L',\n                    LJ: 'LJ',\n                    Lj: 'Lj',\n                    'Ⓜ': 'M',\n                    M: 'M',\n                    Ḿ: 'M',\n                    Ṁ: 'M',\n                    Ṃ: 'M',\n                    Ɱ: 'M',\n                    Ɯ: 'M',\n                    'Ⓝ': 'N',\n                    N: 'N',\n                    Ǹ: 'N',\n                    Ń: 'N',\n                    Ñ: 'N',\n                    Ṅ: 'N',\n                    Ň: 'N',\n                    Ṇ: 'N',\n                    Ņ: 'N',\n                    Ṋ: 'N',\n                    Ṉ: 'N',\n                    Ƞ: 'N',\n                    Ɲ: 'N',\n                    Ꞑ: 'N',\n                    Ꞥ: 'N',\n                    NJ: 'NJ',\n                    Nj: 'Nj',\n                    'Ⓞ': 'O',\n                    O: 'O',\n                    Ò: 'O',\n                    Ó: 'O',\n                    Ô: 'O',\n                    Ồ: 'O',\n                    Ố: 'O',\n                    Ỗ: 'O',\n                    Ổ: 'O',\n                    Õ: 'O',\n                    Ṍ: 'O',\n                    Ȭ: 'O',\n                    Ṏ: 'O',\n                    Ō: 'O',\n                    Ṑ: 'O',\n                    Ṓ: 'O',\n                    Ŏ: 'O',\n                    Ȯ: 'O',\n                    Ȱ: 'O',\n                    Ö: 'O',\n                    Ȫ: 'O',\n                    Ỏ: 'O',\n                    Ő: 'O',\n                    Ǒ: 'O',\n                    Ȍ: 'O',\n                    Ȏ: 'O',\n                    Ơ: 'O',\n                    Ờ: 'O',\n                    Ớ: 'O',\n                    Ỡ: 'O',\n                    Ở: 'O',\n                    Ợ: 'O',\n                    Ọ: 'O',\n                    Ộ: 'O',\n                    Ǫ: 'O',\n                    Ǭ: 'O',\n                    Ø: 'O',\n                    Ǿ: 'O',\n                    Ɔ: 'O',\n                    Ɵ: 'O',\n                    Ꝋ: 'O',\n                    Ꝍ: 'O',\n                    Œ: 'OE',\n                    Ƣ: 'OI',\n                    Ꝏ: 'OO',\n                    Ȣ: 'OU',\n                    'Ⓟ': 'P',\n                    P: 'P',\n                    Ṕ: 'P',\n                    Ṗ: 'P',\n                    Ƥ: 'P',\n                    Ᵽ: 'P',\n                    Ꝑ: 'P',\n                    Ꝓ: 'P',\n                    Ꝕ: 'P',\n                    'Ⓠ': 'Q',\n                    Q: 'Q',\n                    Ꝗ: 'Q',\n                    Ꝙ: 'Q',\n                    Ɋ: 'Q',\n                    'Ⓡ': 'R',\n                    R: 'R',\n                    Ŕ: 'R',\n                    Ṙ: 'R',\n                    Ř: 'R',\n                    Ȑ: 'R',\n                    Ȓ: 'R',\n                    Ṛ: 'R',\n                    Ṝ: 'R',\n                    Ŗ: 'R',\n                    Ṟ: 'R',\n                    Ɍ: 'R',\n                    Ɽ: 'R',\n                    Ꝛ: 'R',\n                    Ꞧ: 'R',\n                    Ꞃ: 'R',\n                    'Ⓢ': 'S',\n                    S: 'S',\n                    ẞ: 'S',\n                    Ś: 'S',\n                    Ṥ: 'S',\n                    Ŝ: 'S',\n                    Ṡ: 'S',\n                    Š: 'S',\n                    Ṧ: 'S',\n                    Ṣ: 'S',\n                    Ṩ: 'S',\n                    Ș: 'S',\n                    Ş: 'S',\n                    Ȿ: 'S',\n                    Ꞩ: 'S',\n                    Ꞅ: 'S',\n                    'Ⓣ': 'T',\n                    T: 'T',\n                    Ṫ: 'T',\n                    Ť: 'T',\n                    Ṭ: 'T',\n                    Ț: 'T',\n                    Ţ: 'T',\n                    Ṱ: 'T',\n                    Ṯ: 'T',\n                    Ŧ: 'T',\n                    Ƭ: 'T',\n                    Ʈ: 'T',\n                    Ⱦ: 'T',\n                    Ꞇ: 'T',\n                    Ꜩ: 'TZ',\n                    'Ⓤ': 'U',\n                    U: 'U',\n                    Ù: 'U',\n                    Ú: 'U',\n                    Û: 'U',\n                    Ũ: 'U',\n                    Ṹ: 'U',\n                    Ū: 'U',\n                    Ṻ: 'U',\n                    Ŭ: 'U',\n                    Ü: 'U',\n                    Ǜ: 'U',\n                    Ǘ: 'U',\n                    Ǖ: 'U',\n                    Ǚ: 'U',\n                    Ủ: 'U',\n                    Ů: 'U',\n                    Ű: 'U',\n                    Ǔ: 'U',\n                    Ȕ: 'U',\n                    Ȗ: 'U',\n                    Ư: 'U',\n                    Ừ: 'U',\n                    Ứ: 'U',\n                    Ữ: 'U',\n                    Ử: 'U',\n                    Ự: 'U',\n                    Ụ: 'U',\n                    Ṳ: 'U',\n                    Ų: 'U',\n                    Ṷ: 'U',\n                    Ṵ: 'U',\n                    Ʉ: 'U',\n                    'Ⓥ': 'V',\n                    V: 'V',\n                    Ṽ: 'V',\n                    Ṿ: 'V',\n                    Ʋ: 'V',\n                    Ꝟ: 'V',\n                    Ʌ: 'V',\n                    Ꝡ: 'VY',\n                    'Ⓦ': 'W',\n                    W: 'W',\n                    Ẁ: 'W',\n                    Ẃ: 'W',\n                    Ŵ: 'W',\n                    Ẇ: 'W',\n                    Ẅ: 'W',\n                    Ẉ: 'W',\n                    Ⱳ: 'W',\n                    'Ⓧ': 'X',\n                    X: 'X',\n                    Ẋ: 'X',\n                    Ẍ: 'X',\n                    'Ⓨ': 'Y',\n                    Y: 'Y',\n                    Ỳ: 'Y',\n                    Ý: 'Y',\n                    Ŷ: 'Y',\n                    Ỹ: 'Y',\n                    Ȳ: 'Y',\n                    Ẏ: 'Y',\n                    Ÿ: 'Y',\n                    Ỷ: 'Y',\n                    Ỵ: 'Y',\n                    Ƴ: 'Y',\n                    Ɏ: 'Y',\n                    Ỿ: 'Y',\n                    'Ⓩ': 'Z',\n                    Z: 'Z',\n                    Ź: 'Z',\n                    Ẑ: 'Z',\n                    Ż: 'Z',\n                    Ž: 'Z',\n                    Ẓ: 'Z',\n                    Ẕ: 'Z',\n                    Ƶ: 'Z',\n                    Ȥ: 'Z',\n                    Ɀ: 'Z',\n                    Ⱬ: 'Z',\n                    Ꝣ: 'Z',\n                    'ⓐ': 'a',\n                    a: 'a',\n                    ẚ: 'a',\n                    à: 'a',\n                    á: 'a',\n                    â: 'a',\n                    ầ: 'a',\n                    ấ: 'a',\n                    ẫ: 'a',\n                    ẩ: 'a',\n                    ã: 'a',\n                    ā: 'a',\n                    ă: 'a',\n                    ằ: 'a',\n                    ắ: 'a',\n                    ẵ: 'a',\n                    ẳ: 'a',\n                    ȧ: 'a',\n                    ǡ: 'a',\n                    ä: 'a',\n                    ǟ: 'a',\n                    ả: 'a',\n                    å: 'a',\n                    ǻ: 'a',\n                    ǎ: 'a',\n                    ȁ: 'a',\n                    ȃ: 'a',\n                    ạ: 'a',\n                    ậ: 'a',\n                    ặ: 'a',\n                    ḁ: 'a',\n                    ą: 'a',\n                    ⱥ: 'a',\n                    ɐ: 'a',\n                    ꜳ: 'aa',\n                    æ: 'ae',\n                    ǽ: 'ae',\n                    ǣ: 'ae',\n                    ꜵ: 'ao',\n                    ꜷ: 'au',\n                    ꜹ: 'av',\n                    ꜻ: 'av',\n                    ꜽ: 'ay',\n                    'ⓑ': 'b',\n                    b: 'b',\n                    ḃ: 'b',\n                    ḅ: 'b',\n                    ḇ: 'b',\n                    ƀ: 'b',\n                    ƃ: 'b',\n                    ɓ: 'b',\n                    'ⓒ': 'c',\n                    c: 'c',\n                    ć: 'c',\n                    ĉ: 'c',\n                    ċ: 'c',\n                    č: 'c',\n                    ç: 'c',\n                    ḉ: 'c',\n                    ƈ: 'c',\n                    ȼ: 'c',\n                    ꜿ: 'c',\n                    ↄ: 'c',\n                    'ⓓ': 'd',\n                    d: 'd',\n                    ḋ: 'd',\n                    ď: 'd',\n                    ḍ: 'd',\n                    ḑ: 'd',\n                    ḓ: 'd',\n                    ḏ: 'd',\n                    đ: 'd',\n                    ƌ: 'd',\n                    ɖ: 'd',\n                    ɗ: 'd',\n                    ꝺ: 'd',\n                    dz: 'dz',\n                    dž: 'dz',\n                    'ⓔ': 'e',\n                    e: 'e',\n                    è: 'e',\n                    é: 'e',\n                    ê: 'e',\n                    ề: 'e',\n                    ế: 'e',\n                    ễ: 'e',\n                    ể: 'e',\n                    ẽ: 'e',\n                    ē: 'e',\n                    ḕ: 'e',\n                    ḗ: 'e',\n                    ĕ: 'e',\n                    ė: 'e',\n                    ë: 'e',\n                    ẻ: 'e',\n                    ě: 'e',\n                    ȅ: 'e',\n                    ȇ: 'e',\n                    ẹ: 'e',\n                    ệ: 'e',\n                    ȩ: 'e',\n                    ḝ: 'e',\n                    ę: 'e',\n                    ḙ: 'e',\n                    ḛ: 'e',\n                    ɇ: 'e',\n                    ɛ: 'e',\n                    ǝ: 'e',\n                    'ⓕ': 'f',\n                    f: 'f',\n                    ḟ: 'f',\n                    ƒ: 'f',\n                    ꝼ: 'f',\n                    'ⓖ': 'g',\n                    g: 'g',\n                    ǵ: 'g',\n                    ĝ: 'g',\n                    ḡ: 'g',\n                    ğ: 'g',\n                    ġ: 'g',\n                    ǧ: 'g',\n                    ģ: 'g',\n                    ǥ: 'g',\n                    ɠ: 'g',\n                    ꞡ: 'g',\n                    ᵹ: 'g',\n                    ꝿ: 'g',\n                    'ⓗ': 'h',\n                    h: 'h',\n                    ĥ: 'h',\n                    ḣ: 'h',\n                    ḧ: 'h',\n                    ȟ: 'h',\n                    ḥ: 'h',\n                    ḩ: 'h',\n                    ḫ: 'h',\n                    ẖ: 'h',\n                    ħ: 'h',\n                    ⱨ: 'h',\n                    ⱶ: 'h',\n                    ɥ: 'h',\n                    ƕ: 'hv',\n                    'ⓘ': 'i',\n                    i: 'i',\n                    ì: 'i',\n                    í: 'i',\n                    î: 'i',\n                    ĩ: 'i',\n                    ī: 'i',\n                    ĭ: 'i',\n                    ï: 'i',\n                    ḯ: 'i',\n                    ỉ: 'i',\n                    ǐ: 'i',\n                    ȉ: 'i',\n                    ȋ: 'i',\n                    ị: 'i',\n                    į: 'i',\n                    ḭ: 'i',\n                    ɨ: 'i',\n                    ı: 'i',\n                    'ⓙ': 'j',\n                    j: 'j',\n                    ĵ: 'j',\n                    ǰ: 'j',\n                    ɉ: 'j',\n                    'ⓚ': 'k',\n                    k: 'k',\n                    ḱ: 'k',\n                    ǩ: 'k',\n                    ḳ: 'k',\n                    ķ: 'k',\n                    ḵ: 'k',\n                    ƙ: 'k',\n                    ⱪ: 'k',\n                    ꝁ: 'k',\n                    ꝃ: 'k',\n                    ꝅ: 'k',\n                    ꞣ: 'k',\n                    'ⓛ': 'l',\n                    l: 'l',\n                    ŀ: 'l',\n                    ĺ: 'l',\n                    ľ: 'l',\n                    ḷ: 'l',\n                    ḹ: 'l',\n                    ļ: 'l',\n                    ḽ: 'l',\n                    ḻ: 'l',\n                    ſ: 'l',\n                    ł: 'l',\n                    ƚ: 'l',\n                    ɫ: 'l',\n                    ⱡ: 'l',\n                    ꝉ: 'l',\n                    ꞁ: 'l',\n                    ꝇ: 'l',\n                    lj: 'lj',\n                    'ⓜ': 'm',\n                    m: 'm',\n                    ḿ: 'm',\n                    ṁ: 'm',\n                    ṃ: 'm',\n                    ɱ: 'm',\n                    ɯ: 'm',\n                    'ⓝ': 'n',\n                    n: 'n',\n                    ǹ: 'n',\n                    ń: 'n',\n                    ñ: 'n',\n                    ṅ: 'n',\n                    ň: 'n',\n                    ṇ: 'n',\n                    ņ: 'n',\n                    ṋ: 'n',\n                    ṉ: 'n',\n                    ƞ: 'n',\n                    ɲ: 'n',\n                    ʼn: 'n',\n                    ꞑ: 'n',\n                    ꞥ: 'n',\n                    nj: 'nj',\n                    'ⓞ': 'o',\n                    o: 'o',\n                    ò: 'o',\n                    ó: 'o',\n                    ô: 'o',\n                    ồ: 'o',\n                    ố: 'o',\n                    ỗ: 'o',\n                    ổ: 'o',\n                    õ: 'o',\n                    ṍ: 'o',\n                    ȭ: 'o',\n                    ṏ: 'o',\n                    ō: 'o',\n                    ṑ: 'o',\n                    ṓ: 'o',\n                    ŏ: 'o',\n                    ȯ: 'o',\n                    ȱ: 'o',\n                    ö: 'o',\n                    ȫ: 'o',\n                    ỏ: 'o',\n                    ő: 'o',\n                    ǒ: 'o',\n                    ȍ: 'o',\n                    ȏ: 'o',\n                    ơ: 'o',\n                    ờ: 'o',\n                    ớ: 'o',\n                    ỡ: 'o',\n                    ở: 'o',\n                    ợ: 'o',\n                    ọ: 'o',\n                    ộ: 'o',\n                    ǫ: 'o',\n                    ǭ: 'o',\n                    ø: 'o',\n                    ǿ: 'o',\n                    ɔ: 'o',\n                    ꝋ: 'o',\n                    ꝍ: 'o',\n                    ɵ: 'o',\n                    œ: 'oe',\n                    ƣ: 'oi',\n                    ȣ: 'ou',\n                    ꝏ: 'oo',\n                    'ⓟ': 'p',\n                    p: 'p',\n                    ṕ: 'p',\n                    ṗ: 'p',\n                    ƥ: 'p',\n                    ᵽ: 'p',\n                    ꝑ: 'p',\n                    ꝓ: 'p',\n                    ꝕ: 'p',\n                    'ⓠ': 'q',\n                    q: 'q',\n                    ɋ: 'q',\n                    ꝗ: 'q',\n                    ꝙ: 'q',\n                    'ⓡ': 'r',\n                    r: 'r',\n                    ŕ: 'r',\n                    ṙ: 'r',\n                    ř: 'r',\n                    ȑ: 'r',\n                    ȓ: 'r',\n                    ṛ: 'r',\n                    ṝ: 'r',\n                    ŗ: 'r',\n                    ṟ: 'r',\n                    ɍ: 'r',\n                    ɽ: 'r',\n                    ꝛ: 'r',\n                    ꞧ: 'r',\n                    ꞃ: 'r',\n                    'ⓢ': 's',\n                    s: 's',\n                    ß: 's',\n                    ś: 's',\n                    ṥ: 's',\n                    ŝ: 's',\n                    ṡ: 's',\n                    š: 's',\n                    ṧ: 's',\n                    ṣ: 's',\n                    ṩ: 's',\n                    ș: 's',\n                    ş: 's',\n                    ȿ: 's',\n                    ꞩ: 's',\n                    ꞅ: 's',\n                    ẛ: 's',\n                    'ⓣ': 't',\n                    t: 't',\n                    ṫ: 't',\n                    ẗ: 't',\n                    ť: 't',\n                    ṭ: 't',\n                    ț: 't',\n                    ţ: 't',\n                    ṱ: 't',\n                    ṯ: 't',\n                    ŧ: 't',\n                    ƭ: 't',\n                    ʈ: 't',\n                    ⱦ: 't',\n                    ꞇ: 't',\n                    ꜩ: 'tz',\n                    'ⓤ': 'u',\n                    u: 'u',\n                    ù: 'u',\n                    ú: 'u',\n                    û: 'u',\n                    ũ: 'u',\n                    ṹ: 'u',\n                    ū: 'u',\n                    ṻ: 'u',\n                    ŭ: 'u',\n                    ü: 'u',\n                    ǜ: 'u',\n                    ǘ: 'u',\n                    ǖ: 'u',\n                    ǚ: 'u',\n                    ủ: 'u',\n                    ů: 'u',\n                    ű: 'u',\n                    ǔ: 'u',\n                    ȕ: 'u',\n                    ȗ: 'u',\n                    ư: 'u',\n                    ừ: 'u',\n                    ứ: 'u',\n                    ữ: 'u',\n                    ử: 'u',\n                    ự: 'u',\n                    ụ: 'u',\n                    ṳ: 'u',\n                    ų: 'u',\n                    ṷ: 'u',\n                    ṵ: 'u',\n                    ʉ: 'u',\n                    'ⓥ': 'v',\n                    v: 'v',\n                    ṽ: 'v',\n                    ṿ: 'v',\n                    ʋ: 'v',\n                    ꝟ: 'v',\n                    ʌ: 'v',\n                    ꝡ: 'vy',\n                    'ⓦ': 'w',\n                    w: 'w',\n                    ẁ: 'w',\n                    ẃ: 'w',\n                    ŵ: 'w',\n                    ẇ: 'w',\n                    ẅ: 'w',\n                    ẘ: 'w',\n                    ẉ: 'w',\n                    ⱳ: 'w',\n                    'ⓧ': 'x',\n                    x: 'x',\n                    ẋ: 'x',\n                    ẍ: 'x',\n                    'ⓨ': 'y',\n                    y: 'y',\n                    ỳ: 'y',\n                    ý: 'y',\n                    ŷ: 'y',\n                    ỹ: 'y',\n                    ȳ: 'y',\n                    ẏ: 'y',\n                    ÿ: 'y',\n                    ỷ: 'y',\n                    ẙ: 'y',\n                    ỵ: 'y',\n                    ƴ: 'y',\n                    ɏ: 'y',\n                    ỿ: 'y',\n                    'ⓩ': 'z',\n                    z: 'z',\n                    ź: 'z',\n                    ẑ: 'z',\n                    ż: 'z',\n                    ž: 'z',\n                    ẓ: 'z',\n                    ẕ: 'z',\n                    ƶ: 'z',\n                    ȥ: 'z',\n                    ɀ: 'z',\n                    ⱬ: 'z',\n                    ꝣ: 'z',\n                    Ά: 'Α',\n                    Έ: 'Ε',\n                    Ή: 'Η',\n                    Ί: 'Ι',\n                    Ϊ: 'Ι',\n                    Ό: 'Ο',\n                    Ύ: 'Υ',\n                    Ϋ: 'Υ',\n                    Ώ: 'Ω',\n                    ά: 'α',\n                    έ: 'ε',\n                    ή: 'η',\n                    ί: 'ι',\n                    ϊ: 'ι',\n                    ΐ: 'ι',\n                    ό: 'ο',\n                    ύ: 'υ',\n                    ϋ: 'υ',\n                    ΰ: 'υ',\n                    ώ: 'ω',\n                    ς: 'σ',\n                    '’': \"'\",\n                }\n            }),\n            u.define('select2/data/base', ['../utils'], function (n) {\n                function s(e, t) {\n                    s.__super__.constructor.call(this)\n                }\n                return (\n                    n.Extend(s, n.Observable),\n                    (s.prototype.current = function (e) {\n                        throw new Error(\n                            'The `current` method must be defined in child classes.'\n                        )\n                    }),\n                    (s.prototype.query = function (e, t) {\n                        throw new Error(\n                            'The `query` method must be defined in child classes.'\n                        )\n                    }),\n                    (s.prototype.bind = function (e, t) {}),\n                    (s.prototype.destroy = function () {}),\n                    (s.prototype.generateResultId = function (e, t) {\n                        e = e.id + '-result-'\n                        return (\n                            (e += n.generateChars(4)),\n                            null != t.id\n                                ? (e += '-' + t.id.toString())\n                                : (e += '-' + n.generateChars(4)),\n                            e\n                        )\n                    }),\n                    s\n                )\n            }),\n            u.define(\n                'select2/data/select',\n                ['./base', '../utils', 'jquery'],\n                function (e, a, l) {\n                    function n(e, t) {\n                        ;(this.$element = e),\n                            (this.options = t),\n                            n.__super__.constructor.call(this)\n                    }\n                    return (\n                        a.Extend(n, e),\n                        (n.prototype.current = function (e) {\n                            var t = this\n                            e(\n                                Array.prototype.map.call(\n                                    this.$element[0].querySelectorAll(\n                                        ':checked'\n                                    ),\n                                    function (e) {\n                                        return t.item(l(e))\n                                    }\n                                )\n                            )\n                        }),\n                        (n.prototype.select = function (i) {\n                            var e,\n                                r = this\n                            if (\n                                ((i.selected = !0),\n                                null != i.element &&\n                                    'option' ===\n                                        i.element.tagName.toLowerCase())\n                            )\n                                return (\n                                    (i.element.selected = !0),\n                                    void this.$element\n                                        .trigger('input')\n                                        .trigger('change')\n                                )\n                            this.$element.prop('multiple')\n                                ? this.current(function (e) {\n                                      var t = []\n                                      ;(i = [i]).push.apply(i, e)\n                                      for (var n = 0; n < i.length; n++) {\n                                          var s = i[n].id\n                                          ;-1 === t.indexOf(s) && t.push(s)\n                                      }\n                                      r.$element.val(t),\n                                          r.$element\n                                              .trigger('input')\n                                              .trigger('change')\n                                  })\n                                : ((e = i.id),\n                                  this.$element.val(e),\n                                  this.$element\n                                      .trigger('input')\n                                      .trigger('change'))\n                        }),\n                        (n.prototype.unselect = function (i) {\n                            var r = this\n                            if (this.$element.prop('multiple')) {\n                                if (\n                                    ((i.selected = !1),\n                                    null != i.element &&\n                                        'option' ===\n                                            i.element.tagName.toLowerCase())\n                                )\n                                    return (\n                                        (i.element.selected = !1),\n                                        void this.$element\n                                            .trigger('input')\n                                            .trigger('change')\n                                    )\n                                this.current(function (e) {\n                                    for (var t = [], n = 0; n < e.length; n++) {\n                                        var s = e[n].id\n                                        s !== i.id &&\n                                            -1 === t.indexOf(s) &&\n                                            t.push(s)\n                                    }\n                                    r.$element.val(t),\n                                        r.$element\n                                            .trigger('input')\n                                            .trigger('change')\n                                })\n                            }\n                        }),\n                        (n.prototype.bind = function (e, t) {\n                            var n = this\n                            ;(this.container = e).on('select', function (e) {\n                                n.select(e.data)\n                            }),\n                                e.on('unselect', function (e) {\n                                    n.unselect(e.data)\n                                })\n                        }),\n                        (n.prototype.destroy = function () {\n                            this.$element.find('*').each(function () {\n                                a.RemoveData(this)\n                            })\n                        }),\n                        (n.prototype.query = function (t, e) {\n                            var n = [],\n                                s = this\n                            this.$element.children().each(function () {\n                                var e\n                                ;('option' !== this.tagName.toLowerCase() &&\n                                    'optgroup' !==\n                                        this.tagName.toLowerCase()) ||\n                                    ((e = l(this)),\n                                    (e = s.item(e)),\n                                    null !== (e = s.matches(t, e)) && n.push(e))\n                            }),\n                                e({ results: n })\n                        }),\n                        (n.prototype.addOptions = function (e) {\n                            this.$element.append(e)\n                        }),\n                        (n.prototype.option = function (e) {\n                            var t\n                            e.children\n                                ? ((t =\n                                      document.createElement(\n                                          'optgroup'\n                                      )).label = e.text)\n                                : void 0 !==\n                                  (t = document.createElement('option'))\n                                      .textContent\n                                ? (t.textContent = e.text)\n                                : (t.innerText = e.text),\n                                void 0 !== e.id && (t.value = e.id),\n                                e.disabled && (t.disabled = !0),\n                                e.selected && (t.selected = !0),\n                                e.title && (t.title = e.title)\n                            e = this._normalizeItem(e)\n                            return (\n                                (e.element = t), a.StoreData(t, 'data', e), l(t)\n                            )\n                        }),\n                        (n.prototype.item = function (e) {\n                            var t = {}\n                            if (null != (t = a.GetData(e[0], 'data'))) return t\n                            var n = e[0]\n                            if ('option' === n.tagName.toLowerCase())\n                                t = {\n                                    id: e.val(),\n                                    text: e.text(),\n                                    disabled: e.prop('disabled'),\n                                    selected: e.prop('selected'),\n                                    title: e.prop('title'),\n                                }\n                            else if ('optgroup' === n.tagName.toLowerCase()) {\n                                t = {\n                                    text: e.prop('label'),\n                                    children: [],\n                                    title: e.prop('title'),\n                                }\n                                for (\n                                    var s = e.children('option'), i = [], r = 0;\n                                    r < s.length;\n                                    r++\n                                ) {\n                                    var o = l(s[r]),\n                                        o = this.item(o)\n                                    i.push(o)\n                                }\n                                t.children = i\n                            }\n                            return (\n                                ((t = this._normalizeItem(t)).element = e[0]),\n                                a.StoreData(e[0], 'data', t),\n                                t\n                            )\n                        }),\n                        (n.prototype._normalizeItem = function (e) {\n                            e !== Object(e) && (e = { id: e, text: e })\n                            return (\n                                null !=\n                                    (e = l.extend({}, { text: '' }, e)).id &&\n                                    (e.id = e.id.toString()),\n                                null != e.text && (e.text = e.text.toString()),\n                                null == e._resultId &&\n                                    e.id &&\n                                    null != this.container &&\n                                    (e._resultId = this.generateResultId(\n                                        this.container,\n                                        e\n                                    )),\n                                l.extend({}, { selected: !1, disabled: !1 }, e)\n                            )\n                        }),\n                        (n.prototype.matches = function (e, t) {\n                            return this.options.get('matcher')(e, t)\n                        }),\n                        n\n                    )\n                }\n            ),\n            u.define(\n                'select2/data/array',\n                ['./select', '../utils', 'jquery'],\n                function (e, t, c) {\n                    function s(e, t) {\n                        ;(this._dataToConvert = t.get('data') || []),\n                            s.__super__.constructor.call(this, e, t)\n                    }\n                    return (\n                        t.Extend(s, e),\n                        (s.prototype.bind = function (e, t) {\n                            s.__super__.bind.call(this, e, t),\n                                this.addOptions(\n                                    this.convertToOptions(this._dataToConvert)\n                                )\n                        }),\n                        (s.prototype.select = function (n) {\n                            var e = this.$element\n                                .find('option')\n                                .filter(function (e, t) {\n                                    return t.value == n.id.toString()\n                                })\n                            0 === e.length &&\n                                ((e = this.option(n)), this.addOptions(e)),\n                                s.__super__.select.call(this, n)\n                        }),\n                        (s.prototype.convertToOptions = function (e) {\n                            var t = this,\n                                n = this.$element.find('option'),\n                                s = n\n                                    .map(function () {\n                                        return t.item(c(this)).id\n                                    })\n                                    .get(),\n                                i = []\n                            for (var r = 0; r < e.length; r++) {\n                                var o,\n                                    a,\n                                    l = this._normalizeItem(e[r])\n                                0 <= s.indexOf(l.id)\n                                    ? ((o = n.filter(\n                                          (function (e) {\n                                              return function () {\n                                                  return c(this).val() == e.id\n                                              }\n                                          })(l)\n                                      )),\n                                      (a = this.item(o)),\n                                      (a = c.extend(!0, {}, l, a)),\n                                      (a = this.option(a)),\n                                      o.replaceWith(a))\n                                    : ((a = this.option(l)),\n                                      l.children &&\n                                          ((l = this.convertToOptions(\n                                              l.children\n                                          )),\n                                          a.append(l)),\n                                      i.push(a))\n                            }\n                            return i\n                        }),\n                        s\n                    )\n                }\n            ),\n            u.define(\n                'select2/data/ajax',\n                ['./array', '../utils', 'jquery'],\n                function (e, t, r) {\n                    function n(e, t) {\n                        ;(this.ajaxOptions = this._applyDefaults(\n                            t.get('ajax')\n                        )),\n                            null != this.ajaxOptions.processResults &&\n                                (this.processResults =\n                                    this.ajaxOptions.processResults),\n                            n.__super__.constructor.call(this, e, t)\n                    }\n                    return (\n                        t.Extend(n, e),\n                        (n.prototype._applyDefaults = function (e) {\n                            var t = {\n                                data: function (e) {\n                                    return r.extend({}, e, { q: e.term })\n                                },\n                                transport: function (e, t, n) {\n                                    e = r.ajax(e)\n                                    return e.then(t), e.fail(n), e\n                                },\n                            }\n                            return r.extend({}, t, e, !0)\n                        }),\n                        (n.prototype.processResults = function (e) {\n                            return e\n                        }),\n                        (n.prototype.query = function (t, n) {\n                            var s = this\n                            null != this._request &&\n                                ('function' == typeof this._request.abort &&\n                                    this._request.abort(),\n                                (this._request = null))\n                            var i = r.extend({ type: 'GET' }, this.ajaxOptions)\n                            function e() {\n                                var e = i.transport(\n                                    i,\n                                    function (e) {\n                                        e = s.processResults(e, t)\n                                        s.options.get('debug') &&\n                                            window.console &&\n                                            console.error &&\n                                            ((e &&\n                                                e.results &&\n                                                Array.isArray(e.results)) ||\n                                                console.error(\n                                                    'Select2: The AJAX results did not return an array in the `results` key of the response.'\n                                                )),\n                                            n(e)\n                                    },\n                                    function () {\n                                        ;('status' in e &&\n                                            (0 === e.status ||\n                                                '0' === e.status)) ||\n                                            s.trigger('results:message', {\n                                                message: 'errorLoading',\n                                            })\n                                    }\n                                )\n                                s._request = e\n                            }\n                            'function' == typeof i.url &&\n                                (i.url = i.url.call(this.$element, t)),\n                                'function' == typeof i.data &&\n                                    (i.data = i.data.call(this.$element, t)),\n                                this.ajaxOptions.delay && null != t.term\n                                    ? (this._queryTimeout &&\n                                          window.clearTimeout(\n                                              this._queryTimeout\n                                          ),\n                                      (this._queryTimeout = window.setTimeout(\n                                          e,\n                                          this.ajaxOptions.delay\n                                      )))\n                                    : e()\n                        }),\n                        n\n                    )\n                }\n            ),\n            u.define('select2/data/tags', ['jquery'], function (t) {\n                function e(e, t, n) {\n                    var s = n.get('tags'),\n                        i = n.get('createTag')\n                    void 0 !== i && (this.createTag = i)\n                    i = n.get('insertTag')\n                    if (\n                        (void 0 !== i && (this.insertTag = i),\n                        e.call(this, t, n),\n                        Array.isArray(s))\n                    )\n                        for (var r = 0; r < s.length; r++) {\n                            var o = s[r],\n                                o = this._normalizeItem(o),\n                                o = this.option(o)\n                            this.$element.append(o)\n                        }\n                }\n                return (\n                    (e.prototype.query = function (e, c, u) {\n                        var d = this\n                        this._removeOldTags(),\n                            null != c.term && null == c.page\n                                ? e.call(this, c, function e(t, n) {\n                                      for (\n                                          var s = t.results, i = 0;\n                                          i < s.length;\n                                          i++\n                                      ) {\n                                          var r = s[i],\n                                              o =\n                                                  null != r.children &&\n                                                  !e(\n                                                      { results: r.children },\n                                                      !0\n                                                  )\n                                          if (\n                                              (r.text || '').toUpperCase() ===\n                                                  (\n                                                      c.term || ''\n                                                  ).toUpperCase() ||\n                                              o\n                                          )\n                                              return (\n                                                  !n &&\n                                                  ((t.data = s), void u(t))\n                                              )\n                                      }\n                                      if (n) return !0\n                                      var a,\n                                          l = d.createTag(c)\n                                      null != l &&\n                                          ((a = d.option(l)).attr(\n                                              'data-select2-tag',\n                                              'true'\n                                          ),\n                                          d.addOptions([a]),\n                                          d.insertTag(s, l)),\n                                          (t.results = s),\n                                          u(t)\n                                  })\n                                : e.call(this, c, u)\n                    }),\n                    (e.prototype.createTag = function (e, t) {\n                        if (null == t.term) return null\n                        t = t.term.trim()\n                        return '' === t ? null : { id: t, text: t }\n                    }),\n                    (e.prototype.insertTag = function (e, t, n) {\n                        t.unshift(n)\n                    }),\n                    (e.prototype._removeOldTags = function (e) {\n                        this.$element\n                            .find('option[data-select2-tag]')\n                            .each(function () {\n                                this.selected || t(this).remove()\n                            })\n                    }),\n                    e\n                )\n            }),\n            u.define('select2/data/tokenizer', ['jquery'], function (c) {\n                function e(e, t, n) {\n                    var s = n.get('tokenizer')\n                    void 0 !== s && (this.tokenizer = s), e.call(this, t, n)\n                }\n                return (\n                    (e.prototype.bind = function (e, t, n) {\n                        e.call(this, t, n),\n                            (this.$search =\n                                t.dropdown.$search ||\n                                t.selection.$search ||\n                                n.find('.select2-search__field'))\n                    }),\n                    (e.prototype.query = function (e, t, n) {\n                        var s = this\n                        t.term = t.term || ''\n                        var i = this.tokenizer(t, this.options, function (e) {\n                            var t,\n                                n = s._normalizeItem(e)\n                            s.$element.find('option').filter(function () {\n                                return c(this).val() === n.id\n                            }).length ||\n                                ((t = s.option(n)).attr('data-select2-tag', !0),\n                                s._removeOldTags(),\n                                s.addOptions([t])),\n                                (t = n),\n                                s.trigger('select', { data: t })\n                        })\n                        i.term !== t.term &&\n                            (this.$search.length &&\n                                (this.$search.val(i.term),\n                                this.$search.trigger('focus')),\n                            (t.term = i.term)),\n                            e.call(this, t, n)\n                    }),\n                    (e.prototype.tokenizer = function (e, t, n, s) {\n                        for (\n                            var i = n.get('tokenSeparators') || [],\n                                r = t.term,\n                                o = 0,\n                                a =\n                                    this.createTag ||\n                                    function (e) {\n                                        return { id: e.term, text: e.term }\n                                    };\n                            o < r.length;\n\n                        ) {\n                            var l = r[o]\n                            ;-1 !== i.indexOf(l)\n                                ? ((l = r.substr(0, o)),\n                                  null != (l = a(c.extend({}, t, { term: l })))\n                                      ? (s(l),\n                                        (r = r.substr(o + 1) || ''),\n                                        (o = 0))\n                                      : o++)\n                                : o++\n                        }\n                        return { term: r }\n                    }),\n                    e\n                )\n            }),\n            u.define('select2/data/minimumInputLength', [], function () {\n                function e(e, t, n) {\n                    ;(this.minimumInputLength = n.get('minimumInputLength')),\n                        e.call(this, t, n)\n                }\n                return (\n                    (e.prototype.query = function (e, t, n) {\n                        ;(t.term = t.term || ''),\n                            t.term.length < this.minimumInputLength\n                                ? this.trigger('results:message', {\n                                      message: 'inputTooShort',\n                                      args: {\n                                          minimum: this.minimumInputLength,\n                                          input: t.term,\n                                          params: t,\n                                      },\n                                  })\n                                : e.call(this, t, n)\n                    }),\n                    e\n                )\n            }),\n            u.define('select2/data/maximumInputLength', [], function () {\n                function e(e, t, n) {\n                    ;(this.maximumInputLength = n.get('maximumInputLength')),\n                        e.call(this, t, n)\n                }\n                return (\n                    (e.prototype.query = function (e, t, n) {\n                        ;(t.term = t.term || ''),\n                            0 < this.maximumInputLength &&\n                            t.term.length > this.maximumInputLength\n                                ? this.trigger('results:message', {\n                                      message: 'inputTooLong',\n                                      args: {\n                                          maximum: this.maximumInputLength,\n                                          input: t.term,\n                                          params: t,\n                                      },\n                                  })\n                                : e.call(this, t, n)\n                    }),\n                    e\n                )\n            }),\n            u.define('select2/data/maximumSelectionLength', [], function () {\n                function e(e, t, n) {\n                    ;(this.maximumSelectionLength = n.get(\n                        'maximumSelectionLength'\n                    )),\n                        e.call(this, t, n)\n                }\n                return (\n                    (e.prototype.bind = function (e, t, n) {\n                        var s = this\n                        e.call(this, t, n),\n                            t.on('select', function () {\n                                s._checkIfMaximumSelected()\n                            })\n                    }),\n                    (e.prototype.query = function (e, t, n) {\n                        var s = this\n                        this._checkIfMaximumSelected(function () {\n                            e.call(s, t, n)\n                        })\n                    }),\n                    (e.prototype._checkIfMaximumSelected = function (e, t) {\n                        var n = this\n                        this.current(function (e) {\n                            e = null != e ? e.length : 0\n                            0 < n.maximumSelectionLength &&\n                            e >= n.maximumSelectionLength\n                                ? n.trigger('results:message', {\n                                      message: 'maximumSelected',\n                                      args: {\n                                          maximum: n.maximumSelectionLength,\n                                      },\n                                  })\n                                : t && t()\n                        })\n                    }),\n                    e\n                )\n            }),\n            u.define(\n                'select2/dropdown',\n                ['jquery', './utils'],\n                function (t, e) {\n                    function n(e, t) {\n                        ;(this.$element = e),\n                            (this.options = t),\n                            n.__super__.constructor.call(this)\n                    }\n                    return (\n                        e.Extend(n, e.Observable),\n                        (n.prototype.render = function () {\n                            var e = t(\n                                '<span class=\"select2-dropdown\"><span class=\"select2-results\"></span></span>'\n                            )\n                            return (\n                                e.attr('dir', this.options.get('dir')),\n                                (this.$dropdown = e)\n                            )\n                        }),\n                        (n.prototype.bind = function () {}),\n                        (n.prototype.position = function (e, t) {}),\n                        (n.prototype.destroy = function () {\n                            this.$dropdown.remove()\n                        }),\n                        n\n                    )\n                }\n            ),\n            u.define('select2/dropdown/search', ['jquery'], function (r) {\n                function e() {}\n                return (\n                    (e.prototype.render = function (e) {\n                        var t = e.call(this),\n                            n = this.options.get('translations').get('search'),\n                            e = r(\n                                '<span class=\"select2-search select2-search--dropdown\"><input class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"searchbox\" aria-autocomplete=\"list\" /></span>'\n                            )\n                        return (\n                            (this.$searchContainer = e),\n                            (this.$search = e.find('input')),\n                            this.$search.prop(\n                                'autocomplete',\n                                this.options.get('autocomplete')\n                            ),\n                            this.$search.attr('aria-label', n()),\n                            t.prepend(e),\n                            t\n                        )\n                    }),\n                    (e.prototype.bind = function (e, t, n) {\n                        var s = this,\n                            i = t.id + '-results'\n                        e.call(this, t, n),\n                            this.$search.on('keydown', function (e) {\n                                s.trigger('keypress', e),\n                                    (s._keyUpPrevented = e.isDefaultPrevented())\n                            }),\n                            this.$search.on('input', function (e) {\n                                r(this).off('keyup')\n                            }),\n                            this.$search.on('keyup input', function (e) {\n                                s.handleSearch(e)\n                            }),\n                            t.on('open', function () {\n                                s.$search.attr('tabindex', 0),\n                                    s.$search.attr('aria-controls', i),\n                                    s.$search.trigger('focus'),\n                                    window.setTimeout(function () {\n                                        s.$search.trigger('focus')\n                                    }, 0)\n                            }),\n                            t.on('close', function () {\n                                s.$search.attr('tabindex', -1),\n                                    s.$search.removeAttr('aria-controls'),\n                                    s.$search.removeAttr(\n                                        'aria-activedescendant'\n                                    ),\n                                    s.$search.val(''),\n                                    s.$search.trigger('blur')\n                            }),\n                            t.on('focus', function () {\n                                t.isOpen() || s.$search.trigger('focus')\n                            }),\n                            t.on('results:all', function (e) {\n                                ;(null != e.query.term &&\n                                    '' !== e.query.term) ||\n                                    (s.showSearch(e)\n                                        ? s.$searchContainer[0].classList.remove(\n                                              'select2-search--hide'\n                                          )\n                                        : s.$searchContainer[0].classList.add(\n                                              'select2-search--hide'\n                                          ))\n                            }),\n                            t.on('results:focus', function (e) {\n                                e.data._resultId\n                                    ? s.$search.attr(\n                                          'aria-activedescendant',\n                                          e.data._resultId\n                                      )\n                                    : s.$search.removeAttr(\n                                          'aria-activedescendant'\n                                      )\n                            })\n                    }),\n                    (e.prototype.handleSearch = function (e) {\n                        var t\n                        this._keyUpPrevented ||\n                            ((t = this.$search.val()),\n                            this.trigger('query', { term: t })),\n                            (this._keyUpPrevented = !1)\n                    }),\n                    (e.prototype.showSearch = function (e, t) {\n                        return !0\n                    }),\n                    e\n                )\n            }),\n            u.define('select2/dropdown/hidePlaceholder', [], function () {\n                function e(e, t, n, s) {\n                    ;(this.placeholder = this.normalizePlaceholder(\n                        n.get('placeholder')\n                    )),\n                        e.call(this, t, n, s)\n                }\n                return (\n                    (e.prototype.append = function (e, t) {\n                        ;(t.results = this.removePlaceholder(t.results)),\n                            e.call(this, t)\n                    }),\n                    (e.prototype.normalizePlaceholder = function (e, t) {\n                        return (t =\n                            'string' == typeof t ? { id: '', text: t } : t)\n                    }),\n                    (e.prototype.removePlaceholder = function (e, t) {\n                        for (\n                            var n = t.slice(0), s = t.length - 1;\n                            0 <= s;\n                            s--\n                        ) {\n                            var i = t[s]\n                            this.placeholder.id === i.id && n.splice(s, 1)\n                        }\n                        return n\n                    }),\n                    e\n                )\n            }),\n            u.define(\n                'select2/dropdown/infiniteScroll',\n                ['jquery'],\n                function (n) {\n                    function e(e, t, n, s) {\n                        ;(this.lastParams = {}),\n                            e.call(this, t, n, s),\n                            (this.$loadingMore = this.createLoadingMore()),\n                            (this.loading = !1)\n                    }\n                    return (\n                        (e.prototype.append = function (e, t) {\n                            this.$loadingMore.remove(),\n                                (this.loading = !1),\n                                e.call(this, t),\n                                this.showLoadingMore(t) &&\n                                    (this.$results.append(this.$loadingMore),\n                                    this.loadMoreIfNeeded())\n                        }),\n                        (e.prototype.bind = function (e, t, n) {\n                            var s = this\n                            e.call(this, t, n),\n                                t.on('query', function (e) {\n                                    ;(s.lastParams = e), (s.loading = !0)\n                                }),\n                                t.on('query:append', function (e) {\n                                    ;(s.lastParams = e), (s.loading = !0)\n                                }),\n                                this.$results.on(\n                                    'scroll',\n                                    this.loadMoreIfNeeded.bind(this)\n                                )\n                        }),\n                        (e.prototype.loadMoreIfNeeded = function () {\n                            var e = n.contains(\n                                document.documentElement,\n                                this.$loadingMore[0]\n                            )\n                            !this.loading &&\n                                e &&\n                                ((e =\n                                    this.$results.offset().top +\n                                    this.$results.outerHeight(!1)),\n                                this.$loadingMore.offset().top +\n                                    this.$loadingMore.outerHeight(!1) <=\n                                    e + 50 && this.loadMore())\n                        }),\n                        (e.prototype.loadMore = function () {\n                            this.loading = !0\n                            var e = n.extend({}, { page: 1 }, this.lastParams)\n                            e.page++, this.trigger('query:append', e)\n                        }),\n                        (e.prototype.showLoadingMore = function (e, t) {\n                            return t.pagination && t.pagination.more\n                        }),\n                        (e.prototype.createLoadingMore = function () {\n                            var e = n(\n                                    '<li class=\"select2-results__option select2-results__option--load-more\"role=\"option\" aria-disabled=\"true\"></li>'\n                                ),\n                                t = this.options\n                                    .get('translations')\n                                    .get('loadingMore')\n                            return e.html(t(this.lastParams)), e\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/dropdown/attachBody',\n                ['jquery', '../utils'],\n                function (u, o) {\n                    function e(e, t, n) {\n                        ;(this.$dropdownParent = u(\n                            n.get('dropdownParent') || document.body\n                        )),\n                            e.call(this, t, n)\n                    }\n                    return (\n                        (e.prototype.bind = function (e, t, n) {\n                            var s = this\n                            e.call(this, t, n),\n                                t.on('open', function () {\n                                    s._showDropdown(),\n                                        s._attachPositioningHandler(t),\n                                        s._bindContainerResultHandlers(t)\n                                }),\n                                t.on('close', function () {\n                                    s._hideDropdown(),\n                                        s._detachPositioningHandler(t)\n                                }),\n                                this.$dropdownContainer.on(\n                                    'mousedown',\n                                    function (e) {\n                                        e.stopPropagation()\n                                    }\n                                )\n                        }),\n                        (e.prototype.destroy = function (e) {\n                            e.call(this), this.$dropdownContainer.remove()\n                        }),\n                        (e.prototype.position = function (e, t, n) {\n                            t.attr('class', n.attr('class')),\n                                t[0].classList.remove('select2'),\n                                t[0].classList.add('select2-container--open'),\n                                t.css({ position: 'absolute', top: -999999 }),\n                                (this.$container = n)\n                        }),\n                        (e.prototype.render = function (e) {\n                            var t = u('<span></span>'),\n                                e = e.call(this)\n                            return t.append(e), (this.$dropdownContainer = t)\n                        }),\n                        (e.prototype._hideDropdown = function (e) {\n                            this.$dropdownContainer.detach()\n                        }),\n                        (e.prototype._bindContainerResultHandlers = function (\n                            e,\n                            t\n                        ) {\n                            var n\n                            this._containerResultsHandlersBound ||\n                                ((n = this),\n                                t.on('results:all', function () {\n                                    n._positionDropdown(), n._resizeDropdown()\n                                }),\n                                t.on('results:append', function () {\n                                    n._positionDropdown(), n._resizeDropdown()\n                                }),\n                                t.on('results:message', function () {\n                                    n._positionDropdown(), n._resizeDropdown()\n                                }),\n                                t.on('select', function () {\n                                    n._positionDropdown(), n._resizeDropdown()\n                                }),\n                                t.on('unselect', function () {\n                                    n._positionDropdown(), n._resizeDropdown()\n                                }),\n                                (this._containerResultsHandlersBound = !0))\n                        }),\n                        (e.prototype._attachPositioningHandler = function (\n                            e,\n                            t\n                        ) {\n                            var n = this,\n                                s = 'scroll.select2.' + t.id,\n                                i = 'resize.select2.' + t.id,\n                                r = 'orientationchange.select2.' + t.id,\n                                t = this.$container\n                                    .parents()\n                                    .filter(o.hasScroll)\n                            t.each(function () {\n                                o.StoreData(this, 'select2-scroll-position', {\n                                    x: u(this).scrollLeft(),\n                                    y: u(this).scrollTop(),\n                                })\n                            }),\n                                t.on(s, function (e) {\n                                    var t = o.GetData(\n                                        this,\n                                        'select2-scroll-position'\n                                    )\n                                    u(this).scrollTop(t.y)\n                                }),\n                                u(window).on(\n                                    s + ' ' + i + ' ' + r,\n                                    function (e) {\n                                        n._positionDropdown(),\n                                            n._resizeDropdown()\n                                    }\n                                )\n                        }),\n                        (e.prototype._detachPositioningHandler = function (\n                            e,\n                            t\n                        ) {\n                            var n = 'scroll.select2.' + t.id,\n                                s = 'resize.select2.' + t.id,\n                                t = 'orientationchange.select2.' + t.id\n                            this.$container\n                                .parents()\n                                .filter(o.hasScroll)\n                                .off(n),\n                                u(window).off(n + ' ' + s + ' ' + t)\n                        }),\n                        (e.prototype._positionDropdown = function () {\n                            var e = u(window),\n                                t = this.$dropdown[0].classList.contains(\n                                    'select2-dropdown--above'\n                                ),\n                                n = this.$dropdown[0].classList.contains(\n                                    'select2-dropdown--below'\n                                ),\n                                s = null,\n                                i = this.$container.offset()\n                            i.bottom = i.top + this.$container.outerHeight(!1)\n                            var r = { height: this.$container.outerHeight(!1) }\n                            ;(r.top = i.top), (r.bottom = i.top + r.height)\n                            var o = this.$dropdown.outerHeight(!1),\n                                a = e.scrollTop(),\n                                l = e.scrollTop() + e.height(),\n                                c = a < i.top - o,\n                                e = l > i.bottom + o,\n                                a = { left: i.left, top: r.bottom },\n                                l = this.$dropdownParent\n                            'static' === l.css('position') &&\n                                (l = l.offsetParent())\n                            i = { top: 0, left: 0 }\n                            ;(u.contains(document.body, l[0]) ||\n                                l[0].isConnected) &&\n                                (i = l.offset()),\n                                (a.top -= i.top),\n                                (a.left -= i.left),\n                                t || n || (s = 'below'),\n                                e || !c || t\n                                    ? !c && e && t && (s = 'below')\n                                    : (s = 'above'),\n                                ('above' == s || (t && 'below' !== s)) &&\n                                    (a.top = r.top - i.top - o),\n                                null != s &&\n                                    (this.$dropdown[0].classList.remove(\n                                        'select2-dropdown--below'\n                                    ),\n                                    this.$dropdown[0].classList.remove(\n                                        'select2-dropdown--above'\n                                    ),\n                                    this.$dropdown[0].classList.add(\n                                        'select2-dropdown--' + s\n                                    ),\n                                    this.$container[0].classList.remove(\n                                        'select2-container--below'\n                                    ),\n                                    this.$container[0].classList.remove(\n                                        'select2-container--above'\n                                    ),\n                                    this.$container[0].classList.add(\n                                        'select2-container--' + s\n                                    )),\n                                this.$dropdownContainer.css(a)\n                        }),\n                        (e.prototype._resizeDropdown = function () {\n                            var e = {\n                                width: this.$container.outerWidth(!1) + 'px',\n                            }\n                            this.options.get('dropdownAutoWidth') &&\n                                ((e.minWidth = e.width),\n                                (e.position = 'relative'),\n                                (e.width = 'auto')),\n                                this.$dropdown.css(e)\n                        }),\n                        (e.prototype._showDropdown = function (e) {\n                            this.$dropdownContainer.appendTo(\n                                this.$dropdownParent\n                            ),\n                                this._positionDropdown(),\n                                this._resizeDropdown()\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/dropdown/minimumResultsForSearch',\n                [],\n                function () {\n                    function e(e, t, n, s) {\n                        ;(this.minimumResultsForSearch = n.get(\n                            'minimumResultsForSearch'\n                        )),\n                            this.minimumResultsForSearch < 0 &&\n                                (this.minimumResultsForSearch = 1 / 0),\n                            e.call(this, t, n, s)\n                    }\n                    return (\n                        (e.prototype.showSearch = function (e, t) {\n                            return (\n                                !(\n                                    (function e(t) {\n                                        for (\n                                            var n = 0, s = 0;\n                                            s < t.length;\n                                            s++\n                                        ) {\n                                            var i = t[s]\n                                            i.children\n                                                ? (n += e(i.children))\n                                                : n++\n                                        }\n                                        return n\n                                    })(t.data.results) <\n                                    this.minimumResultsForSearch\n                                ) && e.call(this, t)\n                            )\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/dropdown/selectOnClose',\n                ['../utils'],\n                function (s) {\n                    function e() {}\n                    return (\n                        (e.prototype.bind = function (e, t, n) {\n                            var s = this\n                            e.call(this, t, n),\n                                t.on('close', function (e) {\n                                    s._handleSelectOnClose(e)\n                                })\n                        }),\n                        (e.prototype._handleSelectOnClose = function (e, t) {\n                            if (t && null != t.originalSelect2Event) {\n                                var n = t.originalSelect2Event\n                                if (\n                                    'select' === n._type ||\n                                    'unselect' === n._type\n                                )\n                                    return\n                            }\n                            n = this.getHighlightedResults()\n                            n.length < 1 ||\n                                (null !=\n                                    (n = s.GetData(n[0], 'data')).element &&\n                                    n.element.selected) ||\n                                (null == n.element && n.selected) ||\n                                this.trigger('select', { data: n })\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define('select2/dropdown/closeOnSelect', [], function () {\n                function e() {}\n                return (\n                    (e.prototype.bind = function (e, t, n) {\n                        var s = this\n                        e.call(this, t, n),\n                            t.on('select', function (e) {\n                                s._selectTriggered(e)\n                            }),\n                            t.on('unselect', function (e) {\n                                s._selectTriggered(e)\n                            })\n                    }),\n                    (e.prototype._selectTriggered = function (e, t) {\n                        var n = t.originalEvent\n                        ;(n && (n.ctrlKey || n.metaKey)) ||\n                            this.trigger('close', {\n                                originalEvent: n,\n                                originalSelect2Event: t,\n                            })\n                    }),\n                    e\n                )\n            }),\n            u.define(\n                'select2/dropdown/dropdownCss',\n                ['../utils'],\n                function (n) {\n                    function e() {}\n                    return (\n                        (e.prototype.render = function (e) {\n                            var t = e.call(this),\n                                e = this.options.get('dropdownCssClass') || ''\n                            return (\n                                -1 !== e.indexOf(':all:') &&\n                                    ((e = e.replace(':all:', '')),\n                                    n.copyNonInternalCssClasses(\n                                        t[0],\n                                        this.$element[0]\n                                    )),\n                                t.addClass(e),\n                                t\n                            )\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/dropdown/tagsSearchHighlight',\n                ['../utils'],\n                function (s) {\n                    function e() {}\n                    return (\n                        (e.prototype.highlightFirstItem = function (e) {\n                            var t = this.$results.find(\n                                '.select2-results__option--selectable:not(.select2-results__option--selected)'\n                            )\n                            if (0 < t.length) {\n                                var n = t.first(),\n                                    t = s.GetData(n[0], 'data').element\n                                if (\n                                    t &&\n                                    t.getAttribute &&\n                                    'true' ===\n                                        t.getAttribute('data-select2-tag')\n                                )\n                                    return void n.trigger('mouseenter')\n                            }\n                            e.call(this)\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define('select2/i18n/en', [], function () {\n                return {\n                    errorLoading: function () {\n                        return 'The results could not be loaded.'\n                    },\n                    inputTooLong: function (e) {\n                        var t = e.input.length - e.maximum,\n                            e = 'Please delete ' + t + ' character'\n                        return 1 != t && (e += 's'), e\n                    },\n                    inputTooShort: function (e) {\n                        return (\n                            'Please enter ' +\n                            (e.minimum - e.input.length) +\n                            ' or more characters'\n                        )\n                    },\n                    loadingMore: function () {\n                        return 'Loading more results…'\n                    },\n                    maximumSelected: function (e) {\n                        var t = 'You can only select ' + e.maximum + ' item'\n                        return 1 != e.maximum && (t += 's'), t\n                    },\n                    noResults: function () {\n                        return 'No results found'\n                    },\n                    searching: function () {\n                        return 'Searching…'\n                    },\n                    removeAllItems: function () {\n                        return 'Remove all items'\n                    },\n                    removeItem: function () {\n                        return 'Remove item'\n                    },\n                    search: function () {\n                        return 'Search'\n                    },\n                }\n            }),\n            u.define(\n                'select2/defaults',\n                [\n                    'jquery',\n                    './results',\n                    './selection/single',\n                    './selection/multiple',\n                    './selection/placeholder',\n                    './selection/allowClear',\n                    './selection/search',\n                    './selection/selectionCss',\n                    './selection/eventRelay',\n                    './utils',\n                    './translation',\n                    './diacritics',\n                    './data/select',\n                    './data/array',\n                    './data/ajax',\n                    './data/tags',\n                    './data/tokenizer',\n                    './data/minimumInputLength',\n                    './data/maximumInputLength',\n                    './data/maximumSelectionLength',\n                    './dropdown',\n                    './dropdown/search',\n                    './dropdown/hidePlaceholder',\n                    './dropdown/infiniteScroll',\n                    './dropdown/attachBody',\n                    './dropdown/minimumResultsForSearch',\n                    './dropdown/selectOnClose',\n                    './dropdown/closeOnSelect',\n                    './dropdown/dropdownCss',\n                    './dropdown/tagsSearchHighlight',\n                    './i18n/en',\n                ],\n                function (\n                    l,\n                    r,\n                    o,\n                    a,\n                    c,\n                    u,\n                    d,\n                    p,\n                    h,\n                    f,\n                    g,\n                    t,\n                    m,\n                    y,\n                    v,\n                    _,\n                    b,\n                    $,\n                    w,\n                    x,\n                    A,\n                    D,\n                    S,\n                    E,\n                    O,\n                    C,\n                    L,\n                    T,\n                    q,\n                    I,\n                    e\n                ) {\n                    function n() {\n                        this.reset()\n                    }\n                    return (\n                        (n.prototype.apply = function (e) {\n                            var t\n                            null ==\n                                (e = l.extend(!0, {}, this.defaults, e))\n                                    .dataAdapter &&\n                                (null != e.ajax\n                                    ? (e.dataAdapter = v)\n                                    : null != e.data\n                                    ? (e.dataAdapter = y)\n                                    : (e.dataAdapter = m),\n                                0 < e.minimumInputLength &&\n                                    (e.dataAdapter = f.Decorate(\n                                        e.dataAdapter,\n                                        $\n                                    )),\n                                0 < e.maximumInputLength &&\n                                    (e.dataAdapter = f.Decorate(\n                                        e.dataAdapter,\n                                        w\n                                    )),\n                                0 < e.maximumSelectionLength &&\n                                    (e.dataAdapter = f.Decorate(\n                                        e.dataAdapter,\n                                        x\n                                    )),\n                                e.tags &&\n                                    (e.dataAdapter = f.Decorate(\n                                        e.dataAdapter,\n                                        _\n                                    )),\n                                (null == e.tokenSeparators &&\n                                    null == e.tokenizer) ||\n                                    (e.dataAdapter = f.Decorate(\n                                        e.dataAdapter,\n                                        b\n                                    ))),\n                                null == e.resultsAdapter &&\n                                    ((e.resultsAdapter = r),\n                                    null != e.ajax &&\n                                        (e.resultsAdapter = f.Decorate(\n                                            e.resultsAdapter,\n                                            E\n                                        )),\n                                    null != e.placeholder &&\n                                        (e.resultsAdapter = f.Decorate(\n                                            e.resultsAdapter,\n                                            S\n                                        )),\n                                    e.selectOnClose &&\n                                        (e.resultsAdapter = f.Decorate(\n                                            e.resultsAdapter,\n                                            L\n                                        )),\n                                    e.tags &&\n                                        (e.resultsAdapter = f.Decorate(\n                                            e.resultsAdapter,\n                                            I\n                                        ))),\n                                null == e.dropdownAdapter &&\n                                    (e.multiple\n                                        ? (e.dropdownAdapter = A)\n                                        : ((t = f.Decorate(A, D)),\n                                          (e.dropdownAdapter = t)),\n                                    0 !== e.minimumResultsForSearch &&\n                                        (e.dropdownAdapter = f.Decorate(\n                                            e.dropdownAdapter,\n                                            C\n                                        )),\n                                    e.closeOnSelect &&\n                                        (e.dropdownAdapter = f.Decorate(\n                                            e.dropdownAdapter,\n                                            T\n                                        )),\n                                    null != e.dropdownCssClass &&\n                                        (e.dropdownAdapter = f.Decorate(\n                                            e.dropdownAdapter,\n                                            q\n                                        )),\n                                    (e.dropdownAdapter = f.Decorate(\n                                        e.dropdownAdapter,\n                                        O\n                                    ))),\n                                null == e.selectionAdapter &&\n                                    (e.multiple\n                                        ? (e.selectionAdapter = a)\n                                        : (e.selectionAdapter = o),\n                                    null != e.placeholder &&\n                                        (e.selectionAdapter = f.Decorate(\n                                            e.selectionAdapter,\n                                            c\n                                        )),\n                                    e.allowClear &&\n                                        (e.selectionAdapter = f.Decorate(\n                                            e.selectionAdapter,\n                                            u\n                                        )),\n                                    e.multiple &&\n                                        (e.selectionAdapter = f.Decorate(\n                                            e.selectionAdapter,\n                                            d\n                                        )),\n                                    null != e.selectionCssClass &&\n                                        (e.selectionAdapter = f.Decorate(\n                                            e.selectionAdapter,\n                                            p\n                                        )),\n                                    (e.selectionAdapter = f.Decorate(\n                                        e.selectionAdapter,\n                                        h\n                                    ))),\n                                (e.language = this._resolveLanguage(\n                                    e.language\n                                )),\n                                e.language.push('en')\n                            for (\n                                var n = [], s = 0;\n                                s < e.language.length;\n                                s++\n                            ) {\n                                var i = e.language[s]\n                                ;-1 === n.indexOf(i) && n.push(i)\n                            }\n                            return (\n                                (e.language = n),\n                                (e.translations = this._processTranslations(\n                                    e.language,\n                                    e.debug\n                                )),\n                                e\n                            )\n                        }),\n                        (n.prototype.reset = function () {\n                            function a(e) {\n                                return e.replace(\n                                    /[^\\u0000-\\u007E]/g,\n                                    function (e) {\n                                        return t[e] || e\n                                    }\n                                )\n                            }\n                            this.defaults = {\n                                amdLanguageBase: './i18n/',\n                                autocomplete: 'off',\n                                closeOnSelect: !0,\n                                debug: !1,\n                                dropdownAutoWidth: !1,\n                                escapeMarkup: f.escapeMarkup,\n                                language: {},\n                                matcher: function e(t, n) {\n                                    if (null == t.term || '' === t.term.trim())\n                                        return n\n                                    if (n.children && 0 < n.children.length) {\n                                        for (\n                                            var s = l.extend(!0, {}, n),\n                                                i = n.children.length - 1;\n                                            0 <= i;\n                                            i--\n                                        )\n                                            null == e(t, n.children[i]) &&\n                                                s.children.splice(i, 1)\n                                        return 0 < s.children.length\n                                            ? s\n                                            : e(t, s)\n                                    }\n                                    var r = a(n.text).toUpperCase(),\n                                        o = a(t.term).toUpperCase()\n                                    return -1 < r.indexOf(o) ? n : null\n                                },\n                                minimumInputLength: 0,\n                                maximumInputLength: 0,\n                                maximumSelectionLength: 0,\n                                minimumResultsForSearch: 0,\n                                selectOnClose: !1,\n                                scrollAfterSelect: !1,\n                                sorter: function (e) {\n                                    return e\n                                },\n                                templateResult: function (e) {\n                                    return e.text\n                                },\n                                templateSelection: function (e) {\n                                    return e.text\n                                },\n                                theme: 'default',\n                                width: 'resolve',\n                            }\n                        }),\n                        (n.prototype.applyFromElement = function (e, t) {\n                            var n = e.language,\n                                s = this.defaults.language,\n                                i = t.prop('lang'),\n                                t = t.closest('[lang]').prop('lang'),\n                                t = Array.prototype.concat.call(\n                                    this._resolveLanguage(i),\n                                    this._resolveLanguage(n),\n                                    this._resolveLanguage(s),\n                                    this._resolveLanguage(t)\n                                )\n                            return (e.language = t), e\n                        }),\n                        (n.prototype._resolveLanguage = function (e) {\n                            if (!e) return []\n                            if (l.isEmptyObject(e)) return []\n                            if (l.isPlainObject(e)) return [e]\n                            for (\n                                var t,\n                                    n = Array.isArray(e) ? e : [e],\n                                    s = [],\n                                    i = 0;\n                                i < n.length;\n                                i++\n                            )\n                                s.push(n[i]),\n                                    'string' == typeof n[i] &&\n                                        0 < n[i].indexOf('-') &&\n                                        ((t = n[i].split('-')[0]), s.push(t))\n                            return s\n                        }),\n                        (n.prototype._processTranslations = function (e, t) {\n                            for (var n = new g(), s = 0; s < e.length; s++) {\n                                var i = new g(),\n                                    r = e[s]\n                                if ('string' == typeof r)\n                                    try {\n                                        i = g.loadPath(r)\n                                    } catch (e) {\n                                        try {\n                                            ;(r =\n                                                this.defaults.amdLanguageBase +\n                                                r),\n                                                (i = g.loadPath(r))\n                                        } catch (e) {\n                                            t &&\n                                                window.console &&\n                                                console.warn &&\n                                                console.warn(\n                                                    'Select2: The language file for \"' +\n                                                        r +\n                                                        '\" could not be automatically loaded. A fallback will be used instead.'\n                                                )\n                                        }\n                                    }\n                                else i = l.isPlainObject(r) ? new g(r) : r\n                                n.extend(i)\n                            }\n                            return n\n                        }),\n                        (n.prototype.set = function (e, t) {\n                            var n = {}\n                            n[l.camelCase(e)] = t\n                            n = f._convertData(n)\n                            l.extend(!0, this.defaults, n)\n                        }),\n                        new n()\n                    )\n                }\n            ),\n            u.define(\n                'select2/options',\n                ['jquery', './defaults', './utils'],\n                function (c, n, u) {\n                    function e(e, t) {\n                        ;(this.options = e),\n                            null != t && this.fromElement(t),\n                            null != t &&\n                                (this.options = n.applyFromElement(\n                                    this.options,\n                                    t\n                                )),\n                            (this.options = n.apply(this.options))\n                    }\n                    return (\n                        (e.prototype.fromElement = function (e) {\n                            var t = ['select2']\n                            null == this.options.multiple &&\n                                (this.options.multiple = e.prop('multiple')),\n                                null == this.options.disabled &&\n                                    (this.options.disabled =\n                                        e.prop('disabled')),\n                                null == this.options.autocomplete &&\n                                    e.prop('autocomplete') &&\n                                    (this.options.autocomplete =\n                                        e.prop('autocomplete')),\n                                null == this.options.dir &&\n                                    (e.prop('dir')\n                                        ? (this.options.dir = e.prop('dir'))\n                                        : e.closest('[dir]').prop('dir')\n                                        ? (this.options.dir = e\n                                              .closest('[dir]')\n                                              .prop('dir'))\n                                        : (this.options.dir = 'ltr')),\n                                e.prop('disabled', this.options.disabled),\n                                e.prop('multiple', this.options.multiple),\n                                u.GetData(e[0], 'select2Tags') &&\n                                    (this.options.debug &&\n                                        window.console &&\n                                        console.warn &&\n                                        console.warn(\n                                            'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags=\"true\"` attributes and will be removed in future versions of Select2.'\n                                        ),\n                                    u.StoreData(\n                                        e[0],\n                                        'data',\n                                        u.GetData(e[0], 'select2Tags')\n                                    ),\n                                    u.StoreData(e[0], 'tags', !0)),\n                                u.GetData(e[0], 'ajaxUrl') &&\n                                    (this.options.debug &&\n                                        window.console &&\n                                        console.warn &&\n                                        console.warn(\n                                            'Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2.'\n                                        ),\n                                    e.attr(\n                                        'ajax--url',\n                                        u.GetData(e[0], 'ajaxUrl')\n                                    ),\n                                    u.StoreData(\n                                        e[0],\n                                        'ajax-Url',\n                                        u.GetData(e[0], 'ajaxUrl')\n                                    ))\n                            var n = {}\n                            function s(e, t) {\n                                return t.toUpperCase()\n                            }\n                            for (var i = 0; i < e[0].attributes.length; i++) {\n                                var r = e[0].attributes[i].name,\n                                    o = 'data-'\n                                r.substr(0, o.length) == o &&\n                                    ((r = r.substring(o.length)),\n                                    (o = u.GetData(e[0], r)),\n                                    (n[r.replace(/-([a-z])/g, s)] = o))\n                            }\n                            c.fn.jquery &&\n                                '1.' == c.fn.jquery.substr(0, 2) &&\n                                e[0].dataset &&\n                                (n = c.extend(!0, {}, e[0].dataset, n))\n                            var a,\n                                l = c.extend(!0, {}, u.GetData(e[0]), n)\n                            for (a in (l = u._convertData(l)))\n                                -1 < t.indexOf(a) ||\n                                    (c.isPlainObject(this.options[a])\n                                        ? c.extend(this.options[a], l[a])\n                                        : (this.options[a] = l[a]))\n                            return this\n                        }),\n                        (e.prototype.get = function (e) {\n                            return this.options[e]\n                        }),\n                        (e.prototype.set = function (e, t) {\n                            this.options[e] = t\n                        }),\n                        e\n                    )\n                }\n            ),\n            u.define(\n                'select2/core',\n                ['jquery', './options', './utils', './keys'],\n                function (t, i, r, s) {\n                    var o = function (e, t) {\n                        null != r.GetData(e[0], 'select2') &&\n                            r.GetData(e[0], 'select2').destroy(),\n                            (this.$element = e),\n                            (this.id = this._generateId(e)),\n                            (t = t || {}),\n                            (this.options = new i(t, e)),\n                            o.__super__.constructor.call(this)\n                        var n = e.attr('tabindex') || 0\n                        r.StoreData(e[0], 'old-tabindex', n),\n                            e.attr('tabindex', '-1')\n                        t = this.options.get('dataAdapter')\n                        this.dataAdapter = new t(e, this.options)\n                        n = this.render()\n                        this._placeContainer(n)\n                        t = this.options.get('selectionAdapter')\n                        ;(this.selection = new t(e, this.options)),\n                            (this.$selection = this.selection.render()),\n                            this.selection.position(this.$selection, n)\n                        t = this.options.get('dropdownAdapter')\n                        ;(this.dropdown = new t(e, this.options)),\n                            (this.$dropdown = this.dropdown.render()),\n                            this.dropdown.position(this.$dropdown, n)\n                        n = this.options.get('resultsAdapter')\n                        ;(this.results = new n(\n                            e,\n                            this.options,\n                            this.dataAdapter\n                        )),\n                            (this.$results = this.results.render()),\n                            this.results.position(this.$results, this.$dropdown)\n                        var s = this\n                        this._bindAdapters(),\n                            this._registerDomEvents(),\n                            this._registerDataEvents(),\n                            this._registerSelectionEvents(),\n                            this._registerDropdownEvents(),\n                            this._registerResultsEvents(),\n                            this._registerEvents(),\n                            this.dataAdapter.current(function (e) {\n                                s.trigger('selection:update', { data: e })\n                            }),\n                            e[0].classList.add('select2-hidden-accessible'),\n                            e.attr('aria-hidden', 'true'),\n                            this._syncAttributes(),\n                            r.StoreData(e[0], 'select2', this),\n                            e.data('select2', this)\n                    }\n                    return (\n                        r.Extend(o, r.Observable),\n                        (o.prototype._generateId = function (e) {\n                            return (\n                                'select2-' +\n                                (null != e.attr('id')\n                                    ? e.attr('id')\n                                    : null != e.attr('name')\n                                    ? e.attr('name') + '-' + r.generateChars(2)\n                                    : r.generateChars(4)\n                                ).replace(/(:|\\.|\\[|\\]|,)/g, '')\n                            )\n                        }),\n                        (o.prototype._placeContainer = function (e) {\n                            e.insertAfter(this.$element)\n                            var t = this._resolveWidth(\n                                this.$element,\n                                this.options.get('width')\n                            )\n                            null != t && e.css('width', t)\n                        }),\n                        (o.prototype._resolveWidth = function (e, t) {\n                            var n =\n                                /^width:(([-+]?([0-9]*\\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i\n                            if ('resolve' == t) {\n                                var s = this._resolveWidth(e, 'style')\n                                return null != s\n                                    ? s\n                                    : this._resolveWidth(e, 'element')\n                            }\n                            if ('element' == t) {\n                                s = e.outerWidth(!1)\n                                return s <= 0 ? 'auto' : s + 'px'\n                            }\n                            if ('style' != t)\n                                return 'computedstyle' != t\n                                    ? t\n                                    : window.getComputedStyle(e[0]).width\n                            e = e.attr('style')\n                            if ('string' != typeof e) return null\n                            for (\n                                var i = e.split(';'), r = 0, o = i.length;\n                                r < o;\n                                r += 1\n                            ) {\n                                var a = i[r].replace(/\\s/g, '').match(n)\n                                if (null !== a && 1 <= a.length) return a[1]\n                            }\n                            return null\n                        }),\n                        (o.prototype._bindAdapters = function () {\n                            this.dataAdapter.bind(this, this.$container),\n                                this.selection.bind(this, this.$container),\n                                this.dropdown.bind(this, this.$container),\n                                this.results.bind(this, this.$container)\n                        }),\n                        (o.prototype._registerDomEvents = function () {\n                            var t = this\n                            this.$element.on('change.select2', function () {\n                                t.dataAdapter.current(function (e) {\n                                    t.trigger('selection:update', { data: e })\n                                })\n                            }),\n                                this.$element.on('focus.select2', function (e) {\n                                    t.trigger('focus', e)\n                                }),\n                                (this._syncA = r.bind(\n                                    this._syncAttributes,\n                                    this\n                                )),\n                                (this._syncS = r.bind(this._syncSubtree, this)),\n                                (this._observer = new window.MutationObserver(\n                                    function (e) {\n                                        t._syncA(), t._syncS(e)\n                                    }\n                                )),\n                                this._observer.observe(this.$element[0], {\n                                    attributes: !0,\n                                    childList: !0,\n                                    subtree: !1,\n                                })\n                        }),\n                        (o.prototype._registerDataEvents = function () {\n                            var n = this\n                            this.dataAdapter.on('*', function (e, t) {\n                                n.trigger(e, t)\n                            })\n                        }),\n                        (o.prototype._registerSelectionEvents = function () {\n                            var n = this,\n                                s = ['toggle', 'focus']\n                            this.selection.on('toggle', function () {\n                                n.toggleDropdown()\n                            }),\n                                this.selection.on('focus', function (e) {\n                                    n.focus(e)\n                                }),\n                                this.selection.on('*', function (e, t) {\n                                    ;-1 === s.indexOf(e) && n.trigger(e, t)\n                                })\n                        }),\n                        (o.prototype._registerDropdownEvents = function () {\n                            var n = this\n                            this.dropdown.on('*', function (e, t) {\n                                n.trigger(e, t)\n                            })\n                        }),\n                        (o.prototype._registerResultsEvents = function () {\n                            var n = this\n                            this.results.on('*', function (e, t) {\n                                n.trigger(e, t)\n                            })\n                        }),\n                        (o.prototype._registerEvents = function () {\n                            var n = this\n                            this.on('open', function () {\n                                n.$container[0].classList.add(\n                                    'select2-container--open'\n                                )\n                            }),\n                                this.on('close', function () {\n                                    n.$container[0].classList.remove(\n                                        'select2-container--open'\n                                    )\n                                }),\n                                this.on('enable', function () {\n                                    n.$container[0].classList.remove(\n                                        'select2-container--disabled'\n                                    )\n                                }),\n                                this.on('disable', function () {\n                                    n.$container[0].classList.add(\n                                        'select2-container--disabled'\n                                    )\n                                }),\n                                this.on('blur', function () {\n                                    n.$container[0].classList.remove(\n                                        'select2-container--focus'\n                                    )\n                                }),\n                                this.on('query', function (t) {\n                                    n.isOpen() || n.trigger('open', {}),\n                                        this.dataAdapter.query(t, function (e) {\n                                            n.trigger('results:all', {\n                                                data: e,\n                                                query: t,\n                                            })\n                                        })\n                                }),\n                                this.on('query:append', function (t) {\n                                    this.dataAdapter.query(t, function (e) {\n                                        n.trigger('results:append', {\n                                            data: e,\n                                            query: t,\n                                        })\n                                    })\n                                }),\n                                this.on('keypress', function (e) {\n                                    var t = e.which\n                                    n.isOpen()\n                                        ? t === s.ESC ||\n                                          (t === s.UP && e.altKey)\n                                            ? (n.close(e), e.preventDefault())\n                                            : t === s.ENTER || t === s.TAB\n                                            ? (n.trigger('results:select', {}),\n                                              e.preventDefault())\n                                            : t === s.SPACE && e.ctrlKey\n                                            ? (n.trigger('results:toggle', {}),\n                                              e.preventDefault())\n                                            : t === s.UP\n                                            ? (n.trigger(\n                                                  'results:previous',\n                                                  {}\n                                              ),\n                                              e.preventDefault())\n                                            : t === s.DOWN &&\n                                              (n.trigger('results:next', {}),\n                                              e.preventDefault())\n                                        : (t === s.ENTER ||\n                                              t === s.SPACE ||\n                                              (t === s.DOWN && e.altKey)) &&\n                                          (n.open(), e.preventDefault())\n                                })\n                        }),\n                        (o.prototype._syncAttributes = function () {\n                            this.options.set(\n                                'disabled',\n                                this.$element.prop('disabled')\n                            ),\n                                this.isDisabled()\n                                    ? (this.isOpen() && this.close(),\n                                      this.trigger('disable', {}))\n                                    : this.trigger('enable', {})\n                        }),\n                        (o.prototype._isChangeMutation = function (e) {\n                            var t = this\n                            if (e.addedNodes && 0 < e.addedNodes.length) {\n                                for (var n = 0; n < e.addedNodes.length; n++)\n                                    if (e.addedNodes[n].selected) return !0\n                            } else {\n                                if (e.removedNodes && 0 < e.removedNodes.length)\n                                    return !0\n                                if (Array.isArray(e))\n                                    return e.some(function (e) {\n                                        return t._isChangeMutation(e)\n                                    })\n                            }\n                            return !1\n                        }),\n                        (o.prototype._syncSubtree = function (e) {\n                            var e = this._isChangeMutation(e),\n                                t = this\n                            e &&\n                                this.dataAdapter.current(function (e) {\n                                    t.trigger('selection:update', { data: e })\n                                })\n                        }),\n                        (o.prototype.trigger = function (e, t) {\n                            var n = o.__super__.trigger,\n                                s = {\n                                    open: 'opening',\n                                    close: 'closing',\n                                    select: 'selecting',\n                                    unselect: 'unselecting',\n                                    clear: 'clearing',\n                                }\n                            if ((void 0 === t && (t = {}), e in s)) {\n                                var i = s[e],\n                                    s = { prevented: !1, name: e, args: t }\n                                if ((n.call(this, i, s), s.prevented))\n                                    return void (t.prevented = !0)\n                            }\n                            n.call(this, e, t)\n                        }),\n                        (o.prototype.toggleDropdown = function () {\n                            this.isDisabled() ||\n                                (this.isOpen() ? this.close() : this.open())\n                        }),\n                        (o.prototype.open = function () {\n                            this.isOpen() ||\n                                this.isDisabled() ||\n                                this.trigger('query', {})\n                        }),\n                        (o.prototype.close = function (e) {\n                            this.isOpen() &&\n                                this.trigger('close', { originalEvent: e })\n                        }),\n                        (o.prototype.isEnabled = function () {\n                            return !this.isDisabled()\n                        }),\n                        (o.prototype.isDisabled = function () {\n                            return this.options.get('disabled')\n                        }),\n                        (o.prototype.isOpen = function () {\n                            return this.$container[0].classList.contains(\n                                'select2-container--open'\n                            )\n                        }),\n                        (o.prototype.hasFocus = function () {\n                            return this.$container[0].classList.contains(\n                                'select2-container--focus'\n                            )\n                        }),\n                        (o.prototype.focus = function (e) {\n                            this.hasFocus() ||\n                                (this.$container[0].classList.add(\n                                    'select2-container--focus'\n                                ),\n                                this.trigger('focus', {}))\n                        }),\n                        (o.prototype.enable = function (e) {\n                            this.options.get('debug') &&\n                                window.console &&\n                                console.warn &&\n                                console.warn(\n                                    'Select2: The `select2(\"enable\")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop(\"disabled\") instead.'\n                                )\n                            e = !(e = null == e || 0 === e.length ? [!0] : e)[0]\n                            this.$element.prop('disabled', e)\n                        }),\n                        (o.prototype.data = function () {\n                            this.options.get('debug') &&\n                                0 < arguments.length &&\n                                window.console &&\n                                console.warn &&\n                                console.warn(\n                                    'Select2: Data can no longer be set using `select2(\"data\")`. You should consider setting the value instead using `$element.val()`.'\n                                )\n                            var t = []\n                            return (\n                                this.dataAdapter.current(function (e) {\n                                    t = e\n                                }),\n                                t\n                            )\n                        }),\n                        (o.prototype.val = function (e) {\n                            if (\n                                (this.options.get('debug') &&\n                                    window.console &&\n                                    console.warn &&\n                                    console.warn(\n                                        'Select2: The `select2(\"val\")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'\n                                    ),\n                                null == e || 0 === e.length)\n                            )\n                                return this.$element.val()\n                            e = e[0]\n                            Array.isArray(e) &&\n                                (e = e.map(function (e) {\n                                    return e.toString()\n                                })),\n                                this.$element\n                                    .val(e)\n                                    .trigger('input')\n                                    .trigger('change')\n                        }),\n                        (o.prototype.destroy = function () {\n                            r.RemoveData(this.$container[0]),\n                                this.$container.remove(),\n                                this._observer.disconnect(),\n                                (this._observer = null),\n                                (this._syncA = null),\n                                (this._syncS = null),\n                                this.$element.off('.select2'),\n                                this.$element.attr(\n                                    'tabindex',\n                                    r.GetData(this.$element[0], 'old-tabindex')\n                                ),\n                                this.$element[0].classList.remove(\n                                    'select2-hidden-accessible'\n                                ),\n                                this.$element.attr('aria-hidden', 'false'),\n                                r.RemoveData(this.$element[0]),\n                                this.$element.removeData('select2'),\n                                this.dataAdapter.destroy(),\n                                this.selection.destroy(),\n                                this.dropdown.destroy(),\n                                this.results.destroy(),\n                                (this.dataAdapter = null),\n                                (this.selection = null),\n                                (this.dropdown = null),\n                                (this.results = null)\n                        }),\n                        (o.prototype.render = function () {\n                            var e = t(\n                                '<span class=\"select2 select2-container\"><span class=\"selection\"></span><span class=\"dropdown-wrapper\" aria-hidden=\"true\"></span></span>'\n                            )\n                            return (\n                                e.attr('dir', this.options.get('dir')),\n                                (this.$container = e),\n                                this.$container[0].classList.add(\n                                    'select2-container--' +\n                                        this.options.get('theme')\n                                ),\n                                r.StoreData(e[0], 'element', this.$element),\n                                e\n                            )\n                        }),\n                        o\n                    )\n                }\n            ),\n            u.define('jquery-mousewheel', ['jquery'], function (e) {\n                return e\n            }),\n            u.define(\n                'jquery.select2',\n                [\n                    'jquery',\n                    'jquery-mousewheel',\n                    './select2/core',\n                    './select2/defaults',\n                    './select2/utils',\n                ],\n                function (i, e, r, t, o) {\n                    var a\n                    return (\n                        null == i.fn.select2 &&\n                            ((a = ['open', 'close', 'destroy']),\n                            (i.fn.select2 = function (t) {\n                                if ('object' == typeof (t = t || {}))\n                                    return (\n                                        this.each(function () {\n                                            var e = i.extend(!0, {}, t)\n                                            new r(i(this), e)\n                                        }),\n                                        this\n                                    )\n                                if ('string' != typeof t)\n                                    throw new Error(\n                                        'Invalid arguments for Select2: ' + t\n                                    )\n                                var n,\n                                    s = Array.prototype.slice.call(arguments, 1)\n                                return (\n                                    this.each(function () {\n                                        var e = o.GetData(this, 'select2')\n                                        null == e &&\n                                            window.console &&\n                                            console.error &&\n                                            console.error(\n                                                \"The select2('\" +\n                                                    t +\n                                                    \"') method was called on an element that is not using Select2.\"\n                                            ),\n                                            (n = e[t].apply(e, s))\n                                    }),\n                                    -1 < a.indexOf(t) ? this : n\n                                )\n                            })),\n                        null == i.fn.select2.defaults &&\n                            (i.fn.select2.defaults = t),\n                        r\n                    )\n                }\n            ),\n            { define: u.define, require: u.require })\n    function b(e, t) {\n        return i.call(e, t)\n    }\n    function l(e, t) {\n        var n,\n            s,\n            i,\n            r,\n            o,\n            a,\n            l,\n            c,\n            u,\n            d,\n            p = t && t.split('/'),\n            h = y.map,\n            f = (h && h['*']) || {}\n        if (e) {\n            for (\n                t = (e = e.split('/')).length - 1,\n                    y.nodeIdCompat &&\n                        _.test(e[t]) &&\n                        (e[t] = e[t].replace(_, '')),\n                    '.' === e[0].charAt(0) &&\n                        p &&\n                        (e = p.slice(0, p.length - 1).concat(e)),\n                    c = 0;\n                c < e.length;\n                c++\n            )\n                '.' === (d = e[c])\n                    ? (e.splice(c, 1), --c)\n                    : '..' === d &&\n                      (0 === c ||\n                          (1 === c && '..' === e[2]) ||\n                          '..' === e[c - 1] ||\n                          (0 < c && (e.splice(c - 1, 2), (c -= 2))))\n            e = e.join('/')\n        }\n        if ((p || f) && h) {\n            for (c = (n = e.split('/')).length; 0 < c; --c) {\n                if (((s = n.slice(0, c).join('/')), p))\n                    for (u = p.length; 0 < u; --u)\n                        if (\n                            ((i = h[p.slice(0, u).join('/')]), (i = i && i[s]))\n                        ) {\n                            ;(r = i), (o = c)\n                            break\n                        }\n                if (r) break\n                !a && f && f[s] && ((a = f[s]), (l = c))\n            }\n            !r && a && ((r = a), (o = l)),\n                r && (n.splice(0, o, r), (e = n.join('/')))\n        }\n        return e\n    }\n    function w(t, n) {\n        return function () {\n            var e = a.call(arguments, 0)\n            return (\n                'string' != typeof e[0] && 1 === e.length && e.push(null),\n                o.apply(p, e.concat([t, n]))\n            )\n        }\n    }\n    function x(e) {\n        var t\n        if (\n            (b(m, e) && ((t = m[e]), delete m[e], (v[e] = !0), r.apply(p, t)),\n            !b(g, e) && !b(v, e))\n        )\n            throw new Error('No ' + e)\n        return g[e]\n    }\n    function c(e) {\n        var t,\n            n = e ? e.indexOf('!') : -1\n        return (\n            -1 < n &&\n                ((t = e.substring(0, n)), (e = e.substring(n + 1, e.length))),\n            [t, e]\n        )\n    }\n    function A(e) {\n        return e ? c(e) : []\n    }\n    var u = s.require('jquery.select2')\n    return (t.fn.select2.amd = s), u\n})\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).noUiSlider={})}(this,function(ot){\"use strict\";function n(t){return\"object\"==typeof t&&\"function\"==typeof t.to}function st(t){t.parentElement.removeChild(t)}function at(t){return null!=t}function lt(t){t.preventDefault()}function i(t){return\"number\"==typeof t&&!isNaN(t)&&isFinite(t)}function ut(t,e,r){0<r&&(ft(t,e),setTimeout(function(){dt(t,e)},r))}function ct(t){return Math.max(Math.min(t,100),0)}function pt(t){return Array.isArray(t)?t:[t]}function e(t){t=(t=String(t)).split(\".\");return 1<t.length?t[1].length:0}function ft(t,e){t.classList&&!/\\s/.test(e)?t.classList.add(e):t.className+=\" \"+e}function dt(t,e){t.classList&&!/\\s/.test(e)?t.classList.remove(e):t.className=t.className.replace(new RegExp(\"(^|\\\\b)\"+e.split(\" \").join(\"|\")+\"(\\\\b|$)\",\"gi\"),\" \")}function ht(t){var e=void 0!==window.pageXOffset,r=\"CSS1Compat\"===(t.compatMode||\"\");return{x:e?window.pageXOffset:(r?t.documentElement:t.body).scrollLeft,y:e?window.pageYOffset:(r?t.documentElement:t.body).scrollTop}}function s(t,e){return 100/(e-t)}function a(t,e,r){return 100*e/(t[r+1]-t[r])}function l(t,e){for(var r=1;t>=e[r];)r+=1;return r}function r(t,e,r){if(r>=t.slice(-1)[0])return 100;var n=l(r,t),i=t[n-1],o=t[n],t=e[n-1],n=e[n];return t+(r=r,a(o=[i,o],o[0]<0?r+Math.abs(o[0]):r-o[0],0)/s(t,n))}function o(t,e,r,n){if(100===n)return n;var i=l(n,t),o=t[i-1],s=t[i];return r?(s-o)/2<n-o?s:o:e[i-1]?t[i-1]+(t=n-t[i-1],i=e[i-1],Math.round(t/i)*i):n}ot.PipsMode=void 0,(H=ot.PipsMode||(ot.PipsMode={})).Range=\"range\",H.Steps=\"steps\",H.Positions=\"positions\",H.Count=\"count\",H.Values=\"values\",ot.PipsType=void 0,(H=ot.PipsType||(ot.PipsType={}))[H.None=-1]=\"None\",H[H.NoValue=0]=\"NoValue\",H[H.LargeValue=1]=\"LargeValue\",H[H.SmallValue=2]=\"SmallValue\";var u=(t.prototype.getDistance=function(t){for(var e=[],r=0;r<this.xNumSteps.length-1;r++)e[r]=a(this.xVal,t,r);return e},t.prototype.getAbsoluteDistance=function(t,e,r){var n=0;if(t<this.xPct[this.xPct.length-1])for(;t>this.xPct[n+1];)n++;else t===this.xPct[this.xPct.length-1]&&(n=this.xPct.length-2);r||t!==this.xPct[n+1]||n++;for(var i,o=1,s=(e=null===e?[]:e)[n],a=0,l=0,u=0,c=r?(t-this.xPct[n])/(this.xPct[n+1]-this.xPct[n]):(this.xPct[n+1]-t)/(this.xPct[n+1]-this.xPct[n]);0<s;)i=this.xPct[n+1+u]-this.xPct[n+u],100<e[n+u]*o+100-100*c?(a=i*c,o=(s-100*c)/e[n+u],c=1):(a=e[n+u]*i/100*o,o=0),r?(l-=a,1<=this.xPct.length+u&&u--):(l+=a,1<=this.xPct.length-u&&u++),s=e[n+u]*o;return t+l},t.prototype.toStepping=function(t){return t=r(this.xVal,this.xPct,t)},t.prototype.fromStepping=function(t){return function(t,e,r){if(100<=r)return t.slice(-1)[0];var n=l(r,e),i=t[n-1],o=t[n],t=e[n-1],n=e[n];return(r-t)*s(t,n)*((o=[i,o])[1]-o[0])/100+o[0]}(this.xVal,this.xPct,t)},t.prototype.getStep=function(t){return t=o(this.xPct,this.xSteps,this.snap,t)},t.prototype.getDefaultStep=function(t,e,r){var n=l(t,this.xPct);return(100===t||e&&t===this.xPct[n-1])&&(n=Math.max(n-1,1)),(this.xVal[n]-this.xVal[n-1])/r},t.prototype.getNearbySteps=function(t){t=l(t,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t],step:this.xNumSteps[t],highestStep:this.xHighestCompleteStep[t]}}},t.prototype.countStepDecimals=function(){var t=this.xNumSteps.map(e);return Math.max.apply(null,t)},t.prototype.hasNoSize=function(){return this.xVal[0]===this.xVal[this.xVal.length-1]},t.prototype.convert=function(t){return this.getStep(this.toStepping(t))},t.prototype.handleEntryPoint=function(t,e){t=\"min\"===t?0:\"max\"===t?100:parseFloat(t);if(!i(t)||!i(e[0]))throw new Error(\"noUiSlider: 'range' value isn't numeric.\");this.xPct.push(t),this.xVal.push(e[0]);e=Number(e[1]);t?this.xSteps.push(!isNaN(e)&&e):isNaN(e)||(this.xSteps[0]=e),this.xHighestCompleteStep.push(0)},t.prototype.handleStepPoint=function(t,e){e&&(this.xVal[t]!==this.xVal[t+1]?(this.xSteps[t]=a([this.xVal[t],this.xVal[t+1]],e,0)/s(this.xPct[t],this.xPct[t+1]),e=(this.xVal[t+1]-this.xVal[t])/this.xNumSteps[t],e=Math.ceil(Number(e.toFixed(3))-1),e=this.xVal[t]+this.xNumSteps[t]*e,this.xHighestCompleteStep[t]=e):this.xSteps[t]=this.xHighestCompleteStep[t]=this.xVal[t])},t);function t(e,t,r){var n;this.xPct=[],this.xVal=[],this.xSteps=[],this.xNumSteps=[],this.xHighestCompleteStep=[],this.xSteps=[r||!1],this.xNumSteps=[!1],this.snap=t;var i=[];for(Object.keys(e).forEach(function(t){i.push([pt(e[t]),t])}),i.sort(function(t,e){return t[0][0]-e[0][0]}),n=0;n<i.length;n++)this.handleEntryPoint(i[n][1],i[n][0]);for(this.xNumSteps=this.xSteps.slice(0),n=0;n<this.xNumSteps.length;n++)this.handleStepPoint(n,this.xNumSteps[n])}var c={to:function(t){return void 0===t?\"\":t.toFixed(2)},from:Number},p={target:\"target\",base:\"base\",origin:\"origin\",handle:\"handle\",handleLower:\"handle-lower\",handleUpper:\"handle-upper\",touchArea:\"touch-area\",horizontal:\"horizontal\",vertical:\"vertical\",background:\"background\",connect:\"connect\",connects:\"connects\",ltr:\"ltr\",rtl:\"rtl\",textDirectionLtr:\"txt-dir-ltr\",textDirectionRtl:\"txt-dir-rtl\",draggable:\"draggable\",drag:\"state-drag\",tap:\"state-tap\",active:\"active\",tooltip:\"tooltip\",pips:\"pips\",pipsHorizontal:\"pips-horizontal\",pipsVertical:\"pips-vertical\",marker:\"marker\",markerHorizontal:\"marker-horizontal\",markerVertical:\"marker-vertical\",markerNormal:\"marker-normal\",markerLarge:\"marker-large\",markerSub:\"marker-sub\",value:\"value\",valueHorizontal:\"value-horizontal\",valueVertical:\"value-vertical\",valueNormal:\"value-normal\",valueLarge:\"value-large\",valueSub:\"value-sub\"},mt={tooltips:\".__tooltips\",aria:\".__aria\"};function f(t,e){if(!i(e))throw new Error(\"noUiSlider: 'step' is not numeric.\");t.singleStep=e}function d(t,e){if(!i(e))throw new Error(\"noUiSlider: 'keyboardPageMultiplier' is not numeric.\");t.keyboardPageMultiplier=e}function h(t,e){if(!i(e))throw new Error(\"noUiSlider: 'keyboardMultiplier' is not numeric.\");t.keyboardMultiplier=e}function m(t,e){if(!i(e))throw new Error(\"noUiSlider: 'keyboardDefaultStep' is not numeric.\");t.keyboardDefaultStep=e}function g(t,e){if(\"object\"!=typeof e||Array.isArray(e))throw new Error(\"noUiSlider: 'range' is not an object.\");if(void 0===e.min||void 0===e.max)throw new Error(\"noUiSlider: Missing 'min' or 'max' in 'range'.\");t.spectrum=new u(e,t.snap||!1,t.singleStep)}function v(t,e){if(e=pt(e),!Array.isArray(e)||!e.length)throw new Error(\"noUiSlider: 'start' option is incorrect.\");t.handles=e.length,t.start=e}function b(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'snap' option must be a boolean.\");t.snap=e}function S(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'animate' option must be a boolean.\");t.animate=e}function x(t,e){if(\"number\"!=typeof e)throw new Error(\"noUiSlider: 'animationDuration' option must be a number.\");t.animationDuration=e}function y(t,e){var r,n=[!1];if(\"lower\"===e?e=[!0,!1]:\"upper\"===e&&(e=[!1,!0]),!0===e||!1===e){for(r=1;r<t.handles;r++)n.push(e);n.push(!1)}else{if(!Array.isArray(e)||!e.length||e.length!==t.handles+1)throw new Error(\"noUiSlider: 'connect' option doesn't match handle count.\");n=e}t.connect=n}function w(t,e){switch(e){case\"horizontal\":t.ort=0;break;case\"vertical\":t.ort=1;break;default:throw new Error(\"noUiSlider: 'orientation' option is invalid.\")}}function E(t,e){if(!i(e))throw new Error(\"noUiSlider: 'margin' option must be numeric.\");0!==e&&(t.margin=t.spectrum.getDistance(e))}function P(t,e){if(!i(e))throw new Error(\"noUiSlider: 'limit' option must be numeric.\");if(t.limit=t.spectrum.getDistance(e),!t.limit||t.handles<2)throw new Error(\"noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles.\")}function C(t,e){var r;if(!i(e)&&!Array.isArray(e))throw new Error(\"noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.\");if(Array.isArray(e)&&2!==e.length&&!i(e[0])&&!i(e[1]))throw new Error(\"noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers.\");if(0!==e){for(Array.isArray(e)||(e=[e,e]),t.padding=[t.spectrum.getDistance(e[0]),t.spectrum.getDistance(e[1])],r=0;r<t.spectrum.xNumSteps.length-1;r++)if(t.padding[0][r]<0||t.padding[1][r]<0)throw new Error(\"noUiSlider: 'padding' option must be a positive number(s).\");var n=e[0]+e[1],e=t.spectrum.xVal[0];if(1<n/(t.spectrum.xVal[t.spectrum.xVal.length-1]-e))throw new Error(\"noUiSlider: 'padding' option must not exceed 100% of the range.\")}}function N(t,e){switch(e){case\"ltr\":t.dir=0;break;case\"rtl\":t.dir=1;break;default:throw new Error(\"noUiSlider: 'direction' option was not recognized.\")}}function V(t,e){if(\"string\"!=typeof e)throw new Error(\"noUiSlider: 'behaviour' must be a string containing options.\");var r=0<=e.indexOf(\"tap\"),n=0<=e.indexOf(\"drag\"),i=0<=e.indexOf(\"fixed\"),o=0<=e.indexOf(\"snap\"),s=0<=e.indexOf(\"hover\"),a=0<=e.indexOf(\"unconstrained\"),l=0<=e.indexOf(\"drag-all\"),e=0<=e.indexOf(\"smooth-steps\");if(i){if(2!==t.handles)throw new Error(\"noUiSlider: 'fixed' behaviour must be used with 2 handles\");E(t,t.start[1]-t.start[0])}if(a&&(t.margin||t.limit))throw new Error(\"noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit\");t.events={tap:r||o,drag:n,dragAll:l,smoothSteps:e,fixed:i,snap:o,hover:s,unconstrained:a}}function k(t,e){if(!1!==e)if(!0===e||n(e)){t.tooltips=[];for(var r=0;r<t.handles;r++)t.tooltips.push(e)}else{if((e=pt(e)).length!==t.handles)throw new Error(\"noUiSlider: must pass a formatter for all handles.\");e.forEach(function(t){if(\"boolean\"!=typeof t&&!n(t))throw new Error(\"noUiSlider: 'tooltips' must be passed a formatter or 'false'.\")}),t.tooltips=e}}function M(t,e){if(e.length!==t.handles)throw new Error(\"noUiSlider: must pass a attributes for all handles.\");t.handleAttributes=e}function A(t,e){if(!n(e))throw new Error(\"noUiSlider: 'ariaFormat' requires 'to' method.\");t.ariaFormat=e}function U(t,e){if(!n(r=e)||\"function\"!=typeof r.from)throw new Error(\"noUiSlider: 'format' requires 'to' and 'from' methods.\");var r;t.format=e}function D(t,e){if(\"boolean\"!=typeof e)throw new Error(\"noUiSlider: 'keyboardSupport' option must be a boolean.\");t.keyboardSupport=e}function O(t,e){t.documentElement=e}function L(t,e){if(\"string\"!=typeof e&&!1!==e)throw new Error(\"noUiSlider: 'cssPrefix' must be a string or `false`.\");t.cssPrefix=e}function T(e,r){if(\"object\"!=typeof r)throw new Error(\"noUiSlider: 'cssClasses' must be an object.\");\"string\"==typeof e.cssPrefix?(e.cssClasses={},Object.keys(r).forEach(function(t){e.cssClasses[t]=e.cssPrefix+r[t]})):e.cssClasses=r}function gt(e){var r={margin:null,limit:null,padding:null,animate:!0,animationDuration:300,ariaFormat:c,format:c},n={step:{r:!1,t:f},keyboardPageMultiplier:{r:!1,t:d},keyboardMultiplier:{r:!1,t:h},keyboardDefaultStep:{r:!1,t:m},start:{r:!0,t:v},connect:{r:!0,t:y},direction:{r:!0,t:N},snap:{r:!1,t:b},animate:{r:!1,t:S},animationDuration:{r:!1,t:x},range:{r:!0,t:g},orientation:{r:!1,t:w},margin:{r:!1,t:E},limit:{r:!1,t:P},padding:{r:!1,t:C},behaviour:{r:!0,t:V},ariaFormat:{r:!1,t:A},format:{r:!1,t:U},tooltips:{r:!1,t:k},keyboardSupport:{r:!0,t:D},documentElement:{r:!1,t:O},cssPrefix:{r:!0,t:L},cssClasses:{r:!0,t:T},handleAttributes:{r:!1,t:M}},i={connect:!1,direction:\"ltr\",behaviour:\"tap\",orientation:\"horizontal\",keyboardSupport:!0,cssPrefix:\"noUi-\",cssClasses:p,keyboardPageMultiplier:5,keyboardMultiplier:1,keyboardDefaultStep:10};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(n).forEach(function(t){if(at(e[t])||void 0!==i[t])n[t].t(r,(at(e[t])?e:i)[t]);else if(n[t].r)throw new Error(\"noUiSlider: '\"+t+\"' is required.\")}),r.pips=e.pips;var t=document.createElement(\"div\"),o=void 0!==t.style.msTransform,t=void 0!==t.style.transform;r.transformRule=t?\"transform\":o?\"msTransform\":\"webkitTransform\";return r.style=[[\"left\",\"top\"],[\"right\",\"bottom\"]][r.dir][r.ort],r}function j(t,f,o){var i,l,a,n,s,u,c=window.navigator.pointerEnabled?{start:\"pointerdown\",move:\"pointermove\",end:\"pointerup\"}:window.navigator.msPointerEnabled?{start:\"MSPointerDown\",move:\"MSPointerMove\",end:\"MSPointerUp\"}:{start:\"mousedown touchstart\",move:\"mousemove touchmove\",end:\"mouseup touchend\"},p=window.CSS&&CSS.supports&&CSS.supports(\"touch-action\",\"none\")&&function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"test\",null,e)}catch(t){}return t}(),d=t,S=f.spectrum,h=[],m=[],g=[],v=0,b={},x=t.ownerDocument,y=f.documentElement||x.documentElement,w=x.body,E=\"rtl\"===x.dir||1===f.ort?0:100;function P(t,e){var r=x.createElement(\"div\");return e&&ft(r,e),t.appendChild(r),r}function C(t,e){var r,t=P(t,f.cssClasses.origin),n=P(t,f.cssClasses.handle);return P(n,f.cssClasses.touchArea),n.setAttribute(\"data-handle\",String(e)),f.keyboardSupport&&(n.setAttribute(\"tabindex\",\"0\"),n.addEventListener(\"keydown\",function(t){return function(t,e){if(V()||k(e))return!1;var r=[\"Left\",\"Right\"],n=[\"Down\",\"Up\"],i=[\"PageDown\",\"PageUp\"],o=[\"Home\",\"End\"];f.dir&&!f.ort?r.reverse():f.ort&&!f.dir&&(n.reverse(),i.reverse());var s=t.key.replace(\"Arrow\",\"\"),a=s===i[0],l=s===i[1],i=s===n[0]||s===r[0]||a,n=s===n[1]||s===r[1]||l,r=s===o[0],o=s===o[1];if(!(i||n||r||o))return!0;if(t.preventDefault(),n||i){var u=i?0:1,u=nt(e)[u];if(null===u)return!1;!1===u&&(u=S.getDefaultStep(m[e],i,f.keyboardDefaultStep)),u*=l||a?f.keyboardPageMultiplier:f.keyboardMultiplier,u=Math.max(u,1e-7),u*=i?-1:1,u=h[e]+u}else u=o?f.spectrum.xVal[f.spectrum.xVal.length-1]:f.spectrum.xVal[0];return Q(e,S.toStepping(u),!0,!0),I(\"slide\",e),I(\"update\",e),I(\"change\",e),I(\"set\",e),!1}(t,e)})),void 0!==f.handleAttributes&&(r=f.handleAttributes[e],Object.keys(r).forEach(function(t){n.setAttribute(t,r[t])})),n.setAttribute(\"role\",\"slider\"),n.setAttribute(\"aria-orientation\",f.ort?\"vertical\":\"horizontal\"),0===e?ft(n,f.cssClasses.handleLower):e===f.handles-1&&ft(n,f.cssClasses.handleUpper),t}function N(t,e){return!!e&&P(t,f.cssClasses.connect)}function e(t,e){return!(!f.tooltips||!f.tooltips[e])&&P(t.firstChild,f.cssClasses.tooltip)}function V(){return d.hasAttribute(\"disabled\")}function k(t){return l[t].hasAttribute(\"disabled\")}function M(){s&&(Y(\"update\"+mt.tooltips),s.forEach(function(t){t&&st(t)}),s=null)}function A(){M(),s=l.map(e),X(\"update\"+mt.tooltips,function(t,e,r){s&&f.tooltips&&!1!==s[e]&&(t=t[e],!0!==f.tooltips[e]&&(t=f.tooltips[e].to(r[e])),s[e].innerHTML=t)})}function U(t,e){return t.map(function(t){return S.fromStepping(e?S.getStep(t):t)})}function D(d){var h=function(t){if(t.mode===ot.PipsMode.Range||t.mode===ot.PipsMode.Steps)return S.xVal;if(t.mode!==ot.PipsMode.Count)return t.mode===ot.PipsMode.Positions?U(t.values,t.stepped):t.mode===ot.PipsMode.Values?t.stepped?t.values.map(function(t){return S.fromStepping(S.getStep(S.toStepping(t)))}):t.values:[];if(t.values<2)throw new Error(\"noUiSlider: 'values' (>= 2) required for mode 'count'.\");for(var e=t.values-1,r=100/e,n=[];e--;)n[e]=e*r;return n.push(100),U(n,t.stepped)}(d),m={},t=S.xVal[0],e=S.xVal[S.xVal.length-1],g=!1,v=!1,b=0;return(h=h.slice().sort(function(t,e){return t-e}).filter(function(t){return!this[t]&&(this[t]=!0)},{}))[0]!==t&&(h.unshift(t),g=!0),h[h.length-1]!==e&&(h.push(e),v=!0),h.forEach(function(t,e){var r,n,i,o,s,a,l,u,t=t,c=h[e+1],p=d.mode===ot.PipsMode.Steps,f=(f=p?S.xNumSteps[e]:f)||c-t;for(void 0===c&&(c=t),f=Math.max(f,1e-7),r=t;r<=c;r=Number((r+f).toFixed(7))){for(a=(o=(i=S.toStepping(r))-b)/(d.density||1),u=o/(l=Math.round(a)),n=1;n<=l;n+=1)m[(s=b+n*u).toFixed(5)]=[S.fromStepping(s),0];a=-1<h.indexOf(r)?ot.PipsType.LargeValue:p?ot.PipsType.SmallValue:ot.PipsType.NoValue,!e&&g&&r!==c&&(a=0),r===c&&v||(m[i.toFixed(5)]=[r,a]),b=i}}),m}function O(i,o,s){var t,a=x.createElement(\"div\"),n=((t={})[ot.PipsType.None]=\"\",t[ot.PipsType.NoValue]=f.cssClasses.valueNormal,t[ot.PipsType.LargeValue]=f.cssClasses.valueLarge,t[ot.PipsType.SmallValue]=f.cssClasses.valueSub,t),l=((t={})[ot.PipsType.None]=\"\",t[ot.PipsType.NoValue]=f.cssClasses.markerNormal,t[ot.PipsType.LargeValue]=f.cssClasses.markerLarge,t[ot.PipsType.SmallValue]=f.cssClasses.markerSub,t),u=[f.cssClasses.valueHorizontal,f.cssClasses.valueVertical],c=[f.cssClasses.markerHorizontal,f.cssClasses.markerVertical];function p(t,e){var r=e===f.cssClasses.value;return e+\" \"+(r?u:c)[f.ort]+\" \"+(r?n:l)[t]}return ft(a,f.cssClasses.pips),ft(a,0===f.ort?f.cssClasses.pipsHorizontal:f.cssClasses.pipsVertical),Object.keys(i).forEach(function(t){var e,r,n;r=i[e=t][0],n=i[t][1],(n=o?o(r,n):n)!==ot.PipsType.None&&((t=P(a,!1)).className=p(n,f.cssClasses.marker),t.style[f.style]=e+\"%\",n>ot.PipsType.NoValue&&((t=P(a,!1)).className=p(n,f.cssClasses.value),t.setAttribute(\"data-value\",String(r)),t.style[f.style]=e+\"%\",t.innerHTML=String(s.to(r))))}),a}function L(){n&&(st(n),n=null)}function T(t){L();var e=D(t),r=t.filter,t=t.format||{to:function(t){return String(Math.round(t))}};return n=d.appendChild(O(e,r,t))}function j(){var t=i.getBoundingClientRect(),e=\"offset\"+[\"Width\",\"Height\"][f.ort];return 0===f.ort?t.width||i[e]:t.height||i[e]}function z(n,i,o,s){function e(t){var e,r=function(e,t,r){var n=0===e.type.indexOf(\"touch\"),i=0===e.type.indexOf(\"mouse\"),o=0===e.type.indexOf(\"pointer\"),s=0,a=0;0===e.type.indexOf(\"MSPointer\")&&(o=!0);if(\"mousedown\"===e.type&&!e.buttons&&!e.touches)return!1;if(n){var l=function(t){t=t.target;return t===r||r.contains(t)||e.composed&&e.composedPath().shift()===r};if(\"touchstart\"===e.type){n=Array.prototype.filter.call(e.touches,l);if(1<n.length)return!1;s=n[0].pageX,a=n[0].pageY}else{l=Array.prototype.find.call(e.changedTouches,l);if(!l)return!1;s=l.pageX,a=l.pageY}}t=t||ht(x),(i||o)&&(s=e.clientX+t.x,a=e.clientY+t.y);return e.pageOffset=t,e.points=[s,a],e.cursor=i||o,e}(t,s.pageOffset,s.target||i);return!!r&&(!(V()&&!s.doNotReject)&&(e=d,t=f.cssClasses.tap,!((e.classList?e.classList.contains(t):new RegExp(\"\\\\b\"+t+\"\\\\b\").test(e.className))&&!s.doNotReject)&&(!(n===c.start&&void 0!==r.buttons&&1<r.buttons)&&((!s.hover||!r.buttons)&&(p||r.preventDefault(),r.calcPoint=r.points[f.ort],void o(r,s))))))}var r=[];return n.split(\" \").forEach(function(t){i.addEventListener(t,e,!!p&&{passive:!0}),r.push([t,e])}),r}function H(t){var e,r,n=ct(n=100*(t-(n=i,e=f.ort,r=n.getBoundingClientRect(),n=(t=n.ownerDocument).documentElement,t=ht(t),/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(t.x=0),e?r.top+t.y-n.clientTop:r.left+t.x-n.clientLeft))/j());return f.dir?100-n:n}function F(t,e){\"mouseout\"===t.type&&\"HTML\"===t.target.nodeName&&null===t.relatedTarget&&_(t,e)}function R(t,e){if(-1===navigator.appVersion.indexOf(\"MSIE 9\")&&0===t.buttons&&0!==e.buttonsProperty)return _(t,e);t=(f.dir?-1:1)*(t.calcPoint-e.startCalcPoint);G(0<t,100*t/e.baseSize,e.locations,e.handleNumbers,e.connect)}function _(t,e){e.handle&&(dt(e.handle,f.cssClasses.active),--v),e.listeners.forEach(function(t){y.removeEventListener(t[0],t[1])}),0===v&&(dt(d,f.cssClasses.drag),K(),t.cursor&&(w.style.cursor=\"\",w.removeEventListener(\"selectstart\",lt))),f.events.smoothSteps&&(e.handleNumbers.forEach(function(t){Q(t,m[t],!0,!0,!1,!1)}),e.handleNumbers.forEach(function(t){I(\"update\",t)})),e.handleNumbers.forEach(function(t){I(\"change\",t),I(\"set\",t),I(\"end\",t)})}function B(t,e){var r,n,i,o;e.handleNumbers.some(k)||(1===e.handleNumbers.length&&(o=l[e.handleNumbers[0]].children[0],v+=1,ft(o,f.cssClasses.active)),t.stopPropagation(),n=z(c.move,y,R,{target:t.target,handle:o,connect:e.connect,listeners:r=[],startCalcPoint:t.calcPoint,baseSize:j(),pageOffset:t.pageOffset,handleNumbers:e.handleNumbers,buttonsProperty:t.buttons,locations:m.slice()}),i=z(c.end,y,_,{target:t.target,handle:o,listeners:r,doNotReject:!0,handleNumbers:e.handleNumbers}),o=z(\"mouseout\",y,F,{target:t.target,handle:o,listeners:r,doNotReject:!0,handleNumbers:e.handleNumbers}),r.push.apply(r,n.concat(i,o)),t.cursor&&(w.style.cursor=getComputedStyle(t.target).cursor,1<l.length&&ft(d,f.cssClasses.drag),w.addEventListener(\"selectstart\",lt,!1)),e.handleNumbers.forEach(function(t){I(\"start\",t)}))}function r(t){t.stopPropagation();var i,o,s,e=H(t.calcPoint),r=(i=e,s=!(o=100),l.forEach(function(t,e){var r,n;k(e)||(r=m[e],((n=Math.abs(r-i))<o||n<=o&&r<i||100===n&&100===o)&&(s=e,o=n))}),s);!1!==r&&(f.events.snap||ut(d,f.cssClasses.tap,f.animationDuration),Q(r,e,!0,!0),K(),I(\"slide\",r,!0),I(\"update\",r,!0),f.events.snap?B(t,{handleNumbers:[r]}):(I(\"change\",r,!0),I(\"set\",r,!0)))}function q(t){var t=H(t.calcPoint),t=S.getStep(t),e=S.fromStepping(t);Object.keys(b).forEach(function(t){\"hover\"===t.split(\".\")[0]&&b[t].forEach(function(t){t.call(it,e)})})}function X(t,e){b[t]=b[t]||[],b[t].push(e),\"update\"===t.split(\".\")[0]&&l.forEach(function(t,e){I(\"update\",e)})}function Y(t){var n=t&&t.split(\".\")[0],i=n?t.substring(n.length):t;Object.keys(b).forEach(function(t){var e=t.split(\".\")[0],r=t.substring(e.length);n&&n!==e||i&&i!==r||((e=r)!==mt.aria&&e!==mt.tooltips||i===r)&&delete b[t]})}function I(r,n,i){Object.keys(b).forEach(function(t){var e=t.split(\".\")[0];r===e&&b[t].forEach(function(t){t.call(it,h.map(f.format.to),n,h.slice(),i||!1,m.slice(),it)})})}function W(t,e,r,n,i,o,s){var a;return 1<l.length&&!f.events.unconstrained&&(n&&0<e&&(a=S.getAbsoluteDistance(t[e-1],f.margin,!1),r=Math.max(r,a)),i&&e<l.length-1&&(a=S.getAbsoluteDistance(t[e+1],f.margin,!0),r=Math.min(r,a))),1<l.length&&f.limit&&(n&&0<e&&(a=S.getAbsoluteDistance(t[e-1],f.limit,!1),r=Math.min(r,a)),i&&e<l.length-1&&(a=S.getAbsoluteDistance(t[e+1],f.limit,!0),r=Math.max(r,a))),f.padding&&(0===e&&(a=S.getAbsoluteDistance(0,f.padding[0],!1),r=Math.max(r,a)),e===l.length-1&&(a=S.getAbsoluteDistance(100,f.padding[1],!0),r=Math.min(r,a))),!((r=ct(r=!s?S.getStep(r):r))===t[e]&&!o)&&r}function $(t,e){var r=f.ort;return(r?e:t)+\", \"+(r?t:e)}function G(t,r,n,e,i){var o=n.slice(),s=e[0],a=f.events.smoothSteps,l=[!t,t],u=[t,!t];e=e.slice(),t&&e.reverse(),1<e.length?e.forEach(function(t,e){e=W(o,t,o[t]+r,l[e],u[e],!1,a);!1===e?r=0:(r=e-o[t],o[t]=e)}):l=u=[!0];var c=!1;e.forEach(function(t,e){c=Q(t,n[t]+r,l[e],u[e],!1,a)||c}),c&&(e.forEach(function(t){I(\"update\",t),I(\"slide\",t)}),null!=i&&I(\"drag\",s))}function J(t,e){return f.dir?100-t-e:t}function K(){g.forEach(function(t){var e=50<m[t]?-1:1,e=3+(l.length+e*t);l[t].style.zIndex=String(e)})}function Q(t,e,r,n,i,o){return!1!==(e=i?e:W(m,t,e,r,n,!1,o))&&(e=e,m[t=t]=e,h[t]=S.fromStepping(e),e=\"translate(\"+$(J(e,0)-E+\"%\",\"0\")+\")\",l[t].style[f.transformRule]=e,Z(t),Z(t+1),!0)}function Z(t){var e,r;a[t]&&(r=100,e=\"translate(\"+$(J(e=(e=0)!==t?m[t-1]:e,r=(r=t!==a.length-1?m[t]:r)-e)+\"%\",\"0\")+\")\",r=\"scale(\"+$(r/100,\"1\")+\")\",a[t].style[f.transformRule]=e+\" \"+r)}function tt(t,e){return null===t||!1===t||void 0===t?m[e]:(\"number\"==typeof t&&(t=String(t)),!1===(t=!1!==(t=f.format.from(t))?S.toStepping(t):t)||isNaN(t)?m[e]:t)}function et(t,e,r){var n=pt(t),t=void 0===m[0];e=void 0===e||e,f.animate&&!t&&ut(d,f.cssClasses.tap,f.animationDuration),g.forEach(function(t){Q(t,tt(n[t],t),!0,!1,r)});var i,o=1===g.length?0:1;for(t&&S.hasNoSize()&&(r=!0,m[0]=0,1<g.length&&(i=100/(g.length-1),g.forEach(function(t){m[t]=t*i})));o<g.length;++o)g.forEach(function(t){Q(t,m[t],!0,!0,r)});K(),g.forEach(function(t){I(\"update\",t),null!==n[t]&&e&&I(\"set\",t)})}function rt(t){if(t=void 0===t?!1:t)return 1===h.length?h[0]:h.slice(0);t=h.map(f.format.to);return 1===t.length?t[0]:t}function nt(t){var e=m[t],r=S.getNearbySteps(e),n=h[t],i=r.thisStep.step,t=null;if(f.snap)return[n-r.stepBefore.startValue||null,r.stepAfter.startValue-n||null];!1!==i&&n+i>r.stepAfter.startValue&&(i=r.stepAfter.startValue-n),t=n>r.thisStep.startValue?r.thisStep.step:!1!==r.stepBefore.step&&n-r.stepBefore.highestStep,100===e?i=null:0===e&&(t=null);e=S.countStepDecimals();return null!==i&&!1!==i&&(i=Number(i.toFixed(e))),[t=null!==t&&!1!==t?Number(t.toFixed(e)):t,i]}ft(t=d,f.cssClasses.target),0===f.dir?ft(t,f.cssClasses.ltr):ft(t,f.cssClasses.rtl),0===f.ort?ft(t,f.cssClasses.horizontal):ft(t,f.cssClasses.vertical),ft(t,\"rtl\"===getComputedStyle(t).direction?f.cssClasses.textDirectionRtl:f.cssClasses.textDirectionLtr),i=P(t,f.cssClasses.base),function(t,e){var r=P(e,f.cssClasses.connects);l=[],(a=[]).push(N(r,t[0]));for(var n=0;n<f.handles;n++)l.push(C(e,n)),g[n]=n,a.push(N(r,t[n+1]))}(f.connect,i),(u=f.events).fixed||l.forEach(function(t,e){z(c.start,t.children[0],B,{handleNumbers:[e]})}),u.tap&&z(c.start,i,r,{}),u.hover&&z(c.move,i,q,{hover:!0}),u.drag&&a.forEach(function(e,t){var r,n,i,o,s;!1!==e&&0!==t&&t!==a.length-1&&(r=l[t-1],n=l[t],i=[e],o=[r,n],s=[t-1,t],ft(e,f.cssClasses.draggable),u.fixed&&(i.push(r.children[0]),i.push(n.children[0])),u.dragAll&&(o=l,s=g),i.forEach(function(t){z(c.start,t,B,{handles:o,handleNumbers:s,connect:e})}))}),et(f.start),f.pips&&T(f.pips),f.tooltips&&A(),Y(\"update\"+mt.aria),X(\"update\"+mt.aria,function(t,e,o,r,s){g.forEach(function(t){var e=l[t],r=W(m,t,0,!0,!0,!0),n=W(m,t,100,!0,!0,!0),i=s[t],t=String(f.ariaFormat.to(o[t])),r=S.fromStepping(r).toFixed(1),n=S.fromStepping(n).toFixed(1),i=S.fromStepping(i).toFixed(1);e.children[0].setAttribute(\"aria-valuemin\",r),e.children[0].setAttribute(\"aria-valuemax\",n),e.children[0].setAttribute(\"aria-valuenow\",i),e.children[0].setAttribute(\"aria-valuetext\",t)})});var it={destroy:function(){for(Y(mt.aria),Y(mt.tooltips),Object.keys(f.cssClasses).forEach(function(t){dt(d,f.cssClasses[t])});d.firstChild;)d.removeChild(d.firstChild);delete d.noUiSlider},steps:function(){return g.map(nt)},on:X,off:Y,get:rt,set:et,setHandle:function(t,e,r,n){if(!(0<=(t=Number(t))&&t<g.length))throw new Error(\"noUiSlider: invalid handle number, got: \"+t);Q(t,tt(e,t),!0,!0,n),I(\"update\",t),r&&I(\"set\",t)},reset:function(t){et(f.start,t)},__moveHandles:function(t,e,r){G(t,e,m,r)},options:o,updateOptions:function(e,t){var r=rt(),n=[\"margin\",\"limit\",\"padding\",\"range\",\"animate\",\"snap\",\"step\",\"format\",\"pips\",\"tooltips\"];n.forEach(function(t){void 0!==e[t]&&(o[t]=e[t])});var i=gt(o);n.forEach(function(t){void 0!==e[t]&&(f[t]=i[t])}),S=i.spectrum,f.margin=i.margin,f.limit=i.limit,f.padding=i.padding,f.pips?T(f.pips):L(),(f.tooltips?A:M)(),m=[],et(at(e.start)?e.start:r,t)},target:d,removePips:L,removeTooltips:M,getPositions:function(){return m.slice()},getTooltips:function(){return s},getOrigins:function(){return l},pips:T};return it}function z(t,e){if(!t||!t.nodeName)throw new Error(\"noUiSlider: create requires a single element, got: \"+t);if(t.noUiSlider)throw new Error(\"noUiSlider: Slider was already initialized.\");e=j(t,gt(e),e);return t.noUiSlider=e}var H={__spectrum:u,cssClasses:p,create:z};ot.create=z,ot.cssClasses=p,ot.default=H,Object.defineProperty(ot,\"__esModule\",{value:!0})});",";(function ($) {\n    //on load\n    $(window).on('load', function () {})\n\n    //on ready\n    $(document).ready(function () {\n        //masked input\n        const phoneMask = [\n            '+',\n            '7',\n            ' ',\n            '(',\n            /\\d/,\n            /\\d/,\n            /\\d/,\n            ')',\n            ' ',\n            /\\d/,\n            /\\d/,\n            /\\d/,\n            '-',\n            /\\d/,\n            /\\d/,\n            '-',\n            /\\d/,\n            /\\d/,\n        ] // +7 (___) ___-__-__\n        // const phoneMask = ['+', '3', '7', '3', ' ', '(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, '-', /\\d/, /\\d/, '-', /\\d/, /\\d/]; // +373 (__) __-__-__\n        const phoneInputs = document.querySelectorAll('input[name=phone]')\n        phoneInputs.forEach(function (phoneInput) {\n            vanillaTextMask.maskInput({\n                inputElement: phoneInput,\n                mask: phoneMask,\n                placeholderChar: '_',\n                // showMask: true\n            })\n        })\n\n        // hide placeholder on focus and return it on blur\n        $('input, textarea').focus(function () {\n            $(this).data('placeholder', $(this).attr('placeholder'))\n            $(this).attr('placeholder', '')\n        })\n        $('input, textarea').blur(function () {\n            $(this).attr('placeholder', $(this).data('placeholder'))\n        })\n    }) //END on ready\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        // accordion now now register with rebind_cart_custom_events()\n        // $('.accordion .accordion-header').on('click', function () {\n        //     $(this).closest('.accordion').toggleClass('opened')\n        //     $(this).siblings('.accordion-body').stop().slideToggle({})\n        // });\n\n        $(window).on('load resize', function () {\n            var width = $(window).width()\n            if (width <= 1024) {\n                $('.nav-accordion .accordion-header').on('click', function () {\n                    $(this).closest('.accordion').toggleClass('opened')\n                    $(this).siblings('.accordion-body').stop().slideToggle({})\n                });\n                $('.nav-accordion').removeClass('opened')\n                $('.nav-accordion .accordion-body').stop().slideUp({})\n            }\n            else {\n                $('.nav-accordion .accordion-header').off('click')\n                $('.nav-accordion').addClass('opened')\n                $('.nav-accordion .accordion-body').stop().slideDown({})\n            }\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        let mobile = 1024;\n        /*** open/close dropdown ***/\n        if($(window).width()<=mobile){\n            $('.dropdown .dropdown-btn').click(function (e) {\n                $('.dropdown .dropdown-btn')\n                    .not($(this))\n                    .closest('.dropdown')\n                    .removeClass('opened')\n    \n                $(this).closest('.dropdown').toggleClass('opened')\n    \n                e.stopPropagation()\n            })\n        }\n        else{\n            $('.dropdown .dropdown-btn').on('mouseover', function (e) {\n                $('.dropdown .dropdown-btn')\n                    .not($(this))\n                    .closest('.dropdown')\n                    .removeClass('opened')\n\n                $(this).closest('.dropdown').addClass('opened')\n                e.stopPropagation()\n            })\n        }\n\n        $('.dropdown .wpml-ls-item-toggle').click(function (e) {\n            $('.dropdown .wpml-ls-item-toggle')\n                .not($(this))\n                .closest('.dropdown')\n                .removeClass('opened')\n\n            $(this).closest('.dropdown').toggleClass('opened')\n\n            e.stopPropagation()\n        })\n\n        $('.dropdown .wcml-cs-item-toggle').click(function (e) {\n            $('.dropdown .wcml-cs-item-toggle')\n                .not($(this))\n                .closest('.dropdown')\n                .removeClass('opened')\n\n            $(this).closest('.dropdown').toggleClass('opened')\n\n            e.stopPropagation()\n        })\n\n        /*** close dropdown ***/\n        $(document).on('click', function (e) {\n            if (\n                !$('.dropdown').has(e.target).length &&\n                !$('.dropdown').is(e.target)\n            ) {\n                $('.dropdown').removeClass('opened')\n            }\n        })\n        if($(window).width()>mobile){\n            $(document).on('mouseover', function (e) {\n                if (\n                    !$('.nav .dropdown').has(e.target).length &&\n                    !$('.nav .dropdown').is(e.target)\n                ) {\n                    $('.nav .dropdown').removeClass('opened')\n                }\n            })\n        }\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        $('.tabs .nav-item').on('click', function () {\n            let tab = $(this).data()\n\n            $(`[data-${Object.keys(tab)[0]}]`).removeClass('active')\n            $(\n                `[data-${Object.keys(tab)[0]}=${Object.values(tab)[0]}]`\n            ).addClass('active')\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        $('a.fancybox').fancybox({})\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        var scrollbarWidth = window.innerWidth - $(document).width()\n\n        /* TODO: optimize this */\n        $('.toggle-nav-btn').on('click', function () {\n            $('.nav, .backing').toggleClass('opened')\n            $('body').toggleClass('fixed')\n            if ($('.nav').hasClass('opened')) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n\n        $('.toggle-cart-btn').on('click', function () {\n            $('.cart-box, .backing').toggleClass('opened')\n            $('body').toggleClass('fixed')\n\n            if ($('.cart-box').hasClass('opened')) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n        $('.toggle-search-btn').on('click', function () {\n            $('.search-box, .backing').toggleClass('opened')\n            $('body').toggleClass('fixed')\n\n            const timeout = setTimeout(function () {\n                $('.search-box .search-input input').focus()\n            }, 100)\n\n            function stopFunction() {\n                clearTimeout(timeout)\n            }\n\n            if ($('.search-box').hasClass('opened')) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n\n        $('.backing').on('click', function () {\n            $('.nav, .cart-box, .search-box, .backing').removeClass('opened')\n            $('body').toggleClass('fixed')\n\n            if (\n                $('.nav').hasClass('opened') ||\n                $('.cart-box').hasClass('opened')\n            ) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n\n        /* Toggle clean search button */\n        $('.search-box .search-input input').on('keyup', function () {\n            $(this).val().length > 0\n                ? $('.search-box .search-input .clean-input').addClass(\n                      'visible'\n                  )\n                : $('.search-box .search-input .clean-input').removeClass(\n                      'visible'\n                  )\n        })\n\n        /* Clean search input */\n        $('.search-box .search-input .clean-input').on('click', function () {\n            $('.search-box .search-input input').val('')\n            $('.search-box .search-input .clean-input').removeClass('visible')\n        })\n\n        /* Tooltip */\n        // tooltipster now register with rebind_cart_custom_events()\n        // $('.tooltipster').tooltipster({\n        //     open: true,\n        //     theme: ['tooltipster-noir-customized'],\n        // })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        new Swiper('.hero-slider .swiper', {\n            slidesPerView: 1,\n            effect: 'fade',\n            fadeEffect: {\n                crossFade: true,\n            },\n\n            pagination: {\n                el: '.hero-slider .swiper-pagination',\n                type: 'fraction',\n            },\n            navigation: {\n                nextEl: '.hero-slider .swiper-button-next',\n                prevEl: '.hero-slider .swiper-button-prev',\n            },\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        new Swiper('.products-slider .swiper', {\n            slidesPerView: 1.2,\n            slidesPerGroup: 1,\n            spaceBetween: 16,\n            navigation: {\n                nextEl: '.products-slider .swiper-button-next',\n                prevEl: '.products-slider .swiper-button-prev',\n            },\n\n            breakpoints: {\n                1344: {\n                    slidesPerView: 'auto',\n                    slidesPerGroup: 2,\n                },\n                768: {\n                    slidesPerView: 'auto',\n                    slidesPerGroup: 3,\n                    spaceBetween: 32,\n                },\n                480: {\n                    slidesPerView: 2,\n                    slidesPerGroup: 2,\n                },\n            },\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        new Swiper('.reviews .swiper', {\n            centeredSlides: true,\n            slidesPerView: 1.2,\n            slidesPerGroup: 1,\n            spaceBetween: 16,\n            navigation: {\n                nextEl: '.reviews .swiper-button-next',\n                prevEl: '.reviews .swiper-button-prev',\n            },\n\n            breakpoints: {\n                1344: {\n                    centeredSlides: false,\n                    slidesPerView: 3,\n                    slidesPerGroup: 2,\n                },\n                768: {\n                    centeredSlides: false,\n                    slidesPerView: 2,\n                    slidesPerGroup: 2,\n                    spaceBetween: 32,\n                },\n                480: {\n                    centeredSlides: false,\n                    slidesPerView: 1,\n                    slidesPerGroup: 1,\n                },\n            },\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        $('.product-list-section .toggle-filters').on('click', function () {\n            $(this).toggleClass('show-filter')\n            $('.product-list-section .box').toggleClass('show-filter')\n        })\n\n        var scrollbarWidth = window.innerWidth - $(document).width()\n\n        $('.toggle-mobile-filter').on('click', function () {\n            $('.filter, .filter-backing').toggleClass('opened')\n            $('body').toggleClass('fixed')\n\n            if ($('.filter').hasClass('opened')) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n\n        $('.filter-backing').on('click', function () {\n            $('.filter, .filter-backing').removeClass('opened')\n            $('body').toggleClass('fixed')\n\n            if ($('.filter').hasClass('opened')) {\n                $('body').css({ paddingRight: scrollbarWidth })\n            } else {\n                $('body').css({ paddingRight: 0 })\n            }\n        })\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        let swiperGallery = new Swiper('.product-info .swiper-gallery', {\n            direction: 'vertical',\n            slidesPerView: 7,\n            spaceBetween: 16,\n        })\n\n        let swiperImg = new Swiper('.swiper-img', {\n            slidesPerView: 1,\n            slidesPerGroup: 1,\n            spaceBetween: 8,\n\n            navigation: {\n                nextEl: '.product-info .swiper-button-next',\n                prevEl: '.product-info .swiper-button-prev',\n            },\n            thumbs: {\n                swiper: swiperGallery,\n            },\n\n            breakpoints: {\n                768: {\n                    slidesPerView: 1,\n                    spaceBetween: 0,\n                },\n            },\n        })\n        \n        /* Product variations */\n        $(\".single_variation_wrap\").on(\"show_variation\", function (event, variation) {\n\t\t\t$('.swiper-gallery .swiper-slide').each(function () {\n\t\t\t\tlet slideImageId = $(this).data('image_id');\n\t\t\t\tif (slideImageId == variation.image_id) {\n                    let slideIndex = $(this).data('slide_index');\n\t\t\t\t\tswiperGallery.slideTo(parseInt(slideIndex));\n\t\t\t\t\tswiperImg.slideTo(parseInt(slideIndex));\n\t\t\t\t}\n\t\t\t});\n            \n            /* Update price */\n            $('.info-box .price-row').html(variation.price_html);\n\t\t});\n    })\n})(jQuery)\n",";(function ($) {\n    $(document).ready(function () {\n        /* Country select */\n        $('.select-country').select2({\n            placeholder: 'Select country',\n            width: '100%',\n        })\n\n        /* Phone select */\n        $('.select-phone').select2({\n            placeholder: 'Code',\n            selectionCssClass: 'select-phone-container',\n        })\n\n        /* Delivery label */\n        $('.delivery-label').on('change', function () {\n            $('.delivery-label').removeClass('active')\n            $(this).toggleClass('active')\n        })\n\n        /* Payment label */\n        $('.payment-label').on('change', function () {\n            $('.payment-label').removeClass('active')\n            $(this).toggleClass('active')\n        })\n\n        $('input[type=radio][name=payment_method]').each(function () {\n            console.log(this);\n            $(this).on('change', function () {\n                console.log(1);\n                // $(this).closest('.payment-image').toggleClass('active')\n                // $('.payment-label').removeClass('active')\n                // $(this).toggleClass('active')\n            })\n        })\n\n        $( document.body ).on( 'click', '.js_showlogin', function(e) {\n            e.preventDefault();\n            $(this).parent().siblings('.formlogin').slideToggle();\n        });\n\n        $('.accordion-link').click(function (e) {\n            e.stopPropagation();\n        });\n\n        $('[name=\"billing_person_type\"]').on('change', function(){\n            let val = $(this).val();\n            if(val=='company'){\n                company_fields('show');\n            }\n            else{\n                company_fields('hide');\n            }\n        });\n        \n        function company_fields(option='show'){\n            if(option=='show'){\n                $('#billing_company_name_field').show();\n                $('#billing_company_code_field').show();\n                $('#billing_company_vat_code_field').show();\n                $('#billing_company_address_field').show();\n                $('.billing_company_field_sep').show();\n            }\n            else{\n                $('#billing_company_name_field').hide();\n                $('#billing_company_code_field').hide();\n                $('#billing_company_vat_code_field').hide();\n                $('#billing_company_address_field').hide();\n                $('.billing_company_field_sep').hide();\n            }\n        }\n        if($('[name=\"billing_person_type\"]:checked').val()=='company'){\n            company_fields('show');\n        }\n        else{\n            company_fields('hide');\n        }\n        \n    })\n})(jQuery)\n",";(function ($) {\n\t$(document).ready(function () {\n\t\t$(document).on('change', '.variations input', function () {\n\t\t\t$('.variations input:checked').each(function (index, element) {\n\t\t\t\tvar $el = $(element);\n\t\t\t\tvar thisName = $el.attr('name');\n\t\t\t\tvar thisVal = $el.attr('value');\n\t\t\t\t$('select[name=\"' + thisName + '\"]').val(thisVal).trigger('change');\n\t\t\t});\n\t\t});\n\t\t$(document).on('woocommerce_update_variation_values', function () {\n\t\t\t$('.variations input').each(function (index, element) {\n\t\t\t\tvar $el = $(element);\n\t\t\t\tvar thisName = $el.attr('name');\n\t\t\t\tvar thisVal = $el.attr('value');\n\t\t\t\t$el.removeAttr('disabled');\n\t\t\t\tif ($('select[name=\"' + thisName + '\"] option[value=\"' + thisVal + '\"]').is(':disabled')) {\n\t\t\t\t\t$el.prop('disabled', true);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t})\n})(jQuery)","var priceSlider;\nvar isReset = false;\n\nfunction get_data_posts_per_page() {\n    let posts_per_page = $('.js_data_shop_filters').data('posts_per_page');\n    return parseInt(posts_per_page);\n}\n\nfunction get_data_paged() {\n    let paged = $('.js_data_shop_filters').data('paged');\n    return parseInt(paged);\n}\n\nfunction get_data_max_num_pages() {\n    let max_num_pages = $('.js_data_shop_filters').data('max_num_pages');\n    return parseInt(max_num_pages);\n}\n\nfunction get_data_permalink() {\n    let permalink = $('.js_data_shop_filters').data('permalink');\n    return permalink;\n}\n\nfunction get_data_cat_id() {\n    let cat_id = $('.js_data_shop_filters').data('cat_id');\n    return parseInt(cat_id);\n}\n\nfunction get_data_orderby() {\n    let orderby = $('.js_data_shop_filters').data('orderby');\n    return orderby;\n}\n\nfunction get_data_keyword() {\n    let keyword = $('.js_data_shop_filters').attr('data-keyword');\n    return keyword;\n}\n\nfunction get_data_attribute_pa_colors() {\n    let attribute_pa_colors = new Array();\n    $('.js_filter_color input').each(function (index, element) {\n        if ( $(element).is(':checked') ) {\n            let data = $(this).data('attribute_pa_color');\n            if (data.length > 1) {\n                for (let i = 0; i < data.length; i++) {\n                    attribute_pa_colors.push( data[i] );\n                }\n            }\n            else {\n                attribute_pa_colors.push( data[0] );\n            }\n        }\n    })\n    return attribute_pa_colors;\n}\n\nfunction get_data_attribute_pa_materials() {\n    let attribute_pa_materials = new Array();\n    $('.js_filter_material input').each(function (index, element) {\n        if ( $(element).is(':checked') ) {\n            let data = $(this).data('attribute_pa_material');\n            if (data.length > 1) {\n                for (let i = 0; i < data.length; i++) {\n                    attribute_pa_materials.push( data[i] );\n                }\n            }\n            else {\n                attribute_pa_materials.push( data[0] );\n            }\n        }\n    })\n    return attribute_pa_materials;\n}\n\nfunction get_data_attribute_pa_sizes() {\n    let attribute_pa_sizes = new Array();\n    $('.js_filter_size input').each(function (index, element) {\n        if ( $(element).is(':checked') ) {\n            let data = $(this).data('attribute_pa_size');\n            if (data.length > 1) {\n                for (let i = 0; i < data.length; i++) {\n                    attribute_pa_sizes.push( data[i] );\n                }\n            }\n            else {\n                attribute_pa_sizes.push( data[0] );\n            }\n        }\n    })\n    return attribute_pa_sizes;\n}\n\nfunction get_data_price_start() {\n    let price_start = $('.js_price_start').attr('data-price_start');\n    return parseFloat(price_start);\n}\n\nfunction get_data_price_end() {\n    let price_end = $('.js_price_end').attr('data-price_end');\n    return parseFloat(price_end);\n}\n\nfunction get_data_min_price() {\n    let min_price = $('.js_price_start').attr('data-min_price');\n    return parseFloat(min_price);\n}\n\nfunction get_data_max_price() {\n    let max_price = $('.js_price_end').attr('data-max_price');\n    return parseFloat(max_price);\n}\n\nfunction get_data_prices() {\n    if(!$('.js_filter_price').hasClass('applied-filters')){\n        return null;\n    }\n    return new Array( get_data_price_start(), get_data_price_end() );\n}\n\nfunction get_data_price_default() {\n    if(!$('.js_filter_price').hasClass('applied-filters')){\n        return null;\n    }\n    return new Array( get_data_min_price(), get_data_max_price() );\n}\n\nfunction js_product_view() {\n    $('.js_product_view a').on('click', function (event) {\n        event.preventDefault();\n        $('.js_product_view a').removeClass('active');\n        $(this).addClass('active');\n        let posts_per_page = $(this).data('posts_per_page');\n        posts_per_page = parseInt(posts_per_page);\n        textile_ajax_shop_filters( posts_per_page, 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n}\n\nfunction js_pagination() {\n    $('.js_pagination .page-numbers').on('click', function (event) {\n        event.preventDefault();\n        let paged = $(this).text();\n        paged = parseInt(paged);\n        if ( $(this).hasClass('prev') ) {\n            paged = get_data_paged() - 1;\n            if (paged < 1) {\n                paged = 1;\n            } \n        }\n        if ( $(this).hasClass('next') ) {\n            paged = get_data_paged() + 1;\n            if ( paged > get_data_max_num_pages() ) {\n                paged = get_data_max_num_pages();\n            } \n        }\n        textile_ajax_shop_filters( get_data_posts_per_page(), paged, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n}\n\nfunction js_orderby() {\n    $('.js_orderby a').on('click', function (event) {\n        event.preventDefault();\n        $('.js_orderby a').removeClass('active');\n        $(this).addClass('active');\n        let orderby = $(this).data('orderby');\n        textile_ajax_shop_filters( get_data_posts_per_page(), get_data_paged(), get_data_permalink(), get_data_cat_id(), orderby, get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n\n    $('.js_orderby input').on('click', function () {\n        $('.js_orderby input').prop('checked', false);\n        $(this).prop('checked', true);\n        let orderby = $(this).data('orderby');\n        textile_ajax_shop_filters( get_data_posts_per_page(), get_data_paged(), get_data_permalink(), get_data_cat_id(), orderby, get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n        \n        let hasChecked = false;\n        if ( $(this).is(':checked') ) {\n            hasChecked = true;\n        }\n\n        if (hasChecked) {\n            $('.js_orderby').addClass('applied-filters');\n            $('.js_orderby .clear').addClass('active');\n        }\n        else {\n            $('.js_orderby').removeClass('applied-filters');\n            $('.js_orderby .clear').removeClass('active');\n        }\n    });\n\n    $('.js_orderby .clear').on('click', function () {\n        $('.js_orderby').removeClass('applied-filters');\n        $('.js_orderby .clear').removeClass('active');\n        $('.js_orderby input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), get_data_paged(), get_data_permalink(), get_data_cat_id(), 'none', get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n}\n\nfunction js_filter_price() {\n    if ( $('#price-slider').length > 0 ) {\n        priceSlider = document.getElementById('price-slider')\n\n        noUiSlider.create(priceSlider, {\n            connect: true,\n            behaviour: 'tap',\n            start: [get_data_min_price(), get_data_max_price()],\n            step: 1,\n            range: {\n                min: [get_data_price_start()],\n                max: [get_data_price_end()],\n            },\n            format: {\n                to: (v) => parseFloat(v).toFixed(0),\n                from: (v) => parseFloat(v).toFixed(0),\n            },\n        })\n\n        priceSlider.noUiSlider.on('update', function (values) {\n            $('.js_price_start').html(values[0])\n            $('.js_price_end').html(values[1])\n            $('.js_price_start').attr('data-price_start', values[0])\n            $('.js_price_end').attr('data-price_end', values[1])\n        })\n\n        priceSlider.noUiSlider.on('set', function () {\n            if ( get_data_price_start() > get_data_min_price() || get_data_price_end() < get_data_max_price() ) {\n                $('.js_filter_price').addClass('applied-filters');\n                $('.js_filter_price .clear').addClass('active');\n            }\n            else {\n                $('.js_filter_price').removeClass('applied-filters');\n                $('.js_filter_price .clear').removeClass('active');\n            }\n            if(!isReset){\n                textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n            }\n        })\n    }\n\n    $('.js_filter_price .clear').on('click', function () {\n        $('.js_filter_price').removeClass('applied-filters');\n        $('.js_filter_price .clear').removeClass('active');\n        isReset = true;\n        priceSlider.noUiSlider.set( [get_data_min_price(), get_data_max_price()] );\n        isReset = false;\n        if(!isReset){\n            textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_price_default(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n        }\n    });\n}\n\nfunction js_filter_color() {\n    $('.js_filter_color input').on('click', function () {\n        let hasChecked = false;\n        let attribute_pa_colors = new Array();\n        \n        $('.js_filter_color input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                hasChecked = true;\n                let data = $(this).data('attribute_pa_color');\n                if (data.length > 1) {\n                    for (let i = 0; i < data.length; i++) {\n                        attribute_pa_colors.push( data[i] );\n                    }\n                }\n                else {\n                    attribute_pa_colors.push( data[0] );\n                }\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), attribute_pa_colors, get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n        \n        if (hasChecked) {\n            $('.js_filter_color').addClass('applied-filters');\n            $('.js_filter_color .clear').addClass('active');\n        }\n        else {\n            $('.js_filter_color').removeClass('applied-filters');\n            $('.js_filter_color .clear').removeClass('active');\n        }\n    });\n\n    $('.js_filter_color .clear').on('click', function () {\n        $('.js_filter_color').removeClass('applied-filters');\n        $('.js_filter_color .clear').removeClass('active');\n        $('.js_filter_color input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), null, get_data_attribute_pa_materials(), get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n}\n\nfunction js_filter_material() {\n    $('.js_filter_material input').on('click', function () {\n        let hasChecked = false;\n        let attribute_pa_materials = new Array();\n        \n        $('.js_filter_material input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                hasChecked = true;\n                let data = $(this).data('attribute_pa_material');\n                if (data.length > 1) {\n                    for (let i = 0; i < data.length; i++) {\n                        attribute_pa_materials.push( data[i] );\n                    }\n                }\n                else {\n                    attribute_pa_materials.push( data[0] );\n                }\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), attribute_pa_materials, get_data_attribute_pa_sizes(), get_data_keyword() );\n        \n        if (hasChecked) {\n            $('.js_filter_material').addClass('applied-filters');\n            $('.js_filter_material .clear').addClass('active');\n        }\n        else {\n            $('.js_filter_material').removeClass('applied-filters');\n            $('.js_filter_material .clear').removeClass('active');\n        }\n    });\n\n    $('.js_filter_material .clear').on('click', function () {\n        $('.js_filter_material').removeClass('applied-filters');\n        $('.js_filter_material .clear').removeClass('active');\n        $('.js_filter_material input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), null, get_data_attribute_pa_sizes(), get_data_keyword() );\n    });\n}\n\nfunction js_filter_size() {\n    $('.js_filter_size input').on('click', function () {\n        let hasChecked = false;\n        let attribute_pa_sizes = new Array();\n        \n        $('.js_filter_size input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                hasChecked = true;\n                let data = $(this).data('attribute_pa_size');\n                if (data.length > 1) {\n                    for (let i = 0; i < data.length; i++) {\n                        attribute_pa_sizes.push( data[i] );\n                    }\n                }\n                else {\n                    attribute_pa_sizes.push( data[0] );\n                }\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), attribute_pa_sizes, get_data_keyword() );\n        \n        if (hasChecked) {\n            $('.js_filter_size').addClass('applied-filters');\n            $('.js_filter_size .clear').addClass('active');\n        }\n        else {\n            $('.js_filter_size').removeClass('applied-filters');\n            $('.js_filter_size .clear').removeClass('active');\n        }\n    });\n\n    $('.js_filter_size .clear').on('click', function () {\n        $('.js_filter_size').removeClass('applied-filters');\n        $('.js_filter_size .clear').removeClass('active');\n        $('.js_filter_size input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n        textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), get_data_prices(), get_data_attribute_pa_colors(), get_data_attribute_pa_materials(), null, get_data_keyword() );\n    });\n}\n\nfunction js_reset_filter() {\n    $('.js_reset_filter').on('click', function () {\n        \n        $('.accordion').removeClass('applied-filters');\n        $('.accordion .clear').removeClass('active');\n\n        $('.js_orderby input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n\n        $('.js_filter_color input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n\n        $('.js_filter_material input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n\n        $('.js_filter_size input').each(function (index, element) {\n            if ( $(element).is(':checked') ) {\n                $(this).prop('checked', false);\n            }\n        })\n\n        $('.js_filter_price').removeClass('applied-filters');\n        $('.js_filter_price .clear').removeClass('active');\n        isReset = true;\n        priceSlider.noUiSlider.set( [get_data_min_price(), get_data_max_price()] );\n        isReset = false;\n        if(!isReset){\n            textile_ajax_shop_filters( get_data_posts_per_page(), 1, get_data_permalink(), get_data_cat_id(), get_data_orderby(), null, null, null, null, '' );\n        }\n\n    });\n}\n\nfunction textile_ajax_shop_filters( posts_per_page, paged, permalink, cat_id, orderby, prices, attribute_pa_colors, attribute_pa_materials, attribute_pa_sizes, keyword ) {\n    $('.js_product_list .js_loading').fadeIn();\n    $.ajax({\n        type: 'POST',\n        dataType: 'json',\n        url: textile_ajax_obj.ajaxurl,\n        data: {\n            action: 'textile_ajax_shop_filters',\n            nonce: textile_ajax_obj.nonce,\n            posts_per_page: posts_per_page,\n            paged: paged,\n            permalink: permalink,\n            cat_id: cat_id,\n            orderby: orderby,\n            prices: prices,\n            attribute_pa_colors: attribute_pa_colors,\n            attribute_pa_materials: attribute_pa_materials,\n            attribute_pa_sizes: attribute_pa_sizes,\n            keyword: keyword,\n        },\n        success: function (res) {\n            $([document.documentElement, document.body]).animate({\n                scrollTop: 0\n            }, 500);\n            $('.js_product_list').html(res.product_list);\n            // Rebind events after AJAX call.\n            js_pagination();\n        },\n        error: function (jqXHR, textStatus, errorThrown) {\n            $('.js_product_list .js_loading').fadeOut();\n            console.log(jqXHR);\n        }\n    });\n}\n\n;(function ($) {\n    // When all AJAX requests are finished.\n    $(document).ajaxStop(function () {\n        $('.js_loading').fadeOut();\n    });\n    \n    // Products per view.\n    js_product_view();\n    // Pagination.\n    js_pagination();\n    // Short by.\n    js_orderby();\n    // Filter price.\n    js_filter_price();\n    // Filter color.\n    js_filter_color();\n    // Filter material.\n    js_filter_material();\n    // Filter size.\n    js_filter_size();\n    // Reset filters.\n    js_reset_filter();\n})(jQuery)\n","function get_data_cart_count() {\n    let cart_count = $('.js_data_mini_cart').data('cart_count');\n    return parseInt(cart_count);\n}\n\nfunction rebind_cart_custom_events() {\n    /* Tooltip */\n    $('.tooltipster').tooltipster({\n        open: true,\n        theme: ['tooltipster-noir-customized'],\n    })\n\n    /* Product qnt single product */\n    $('form.cart .field .decrease').off('click').on('click', function () {\n        let input = $(this).siblings('input')\n        input.val() > 1 && input.val(parseInt(input.val()) - 1)\n    })\n    $('form.cart .field .increase').off('click').on('click', function () {\n        let input = $(this).siblings('input')\n        let inputVal = parseInt(input.val())\n        input.val(inputVal + 1)\n    })\n\n    /* Product qnt */\n    $('.box .field .decrease').off('click').on('click', function () {\n        let input = $(this).siblings('input')\n        input.val() > 1 && input.val(parseInt(input.val()) - 1)\n    })\n    $('.box .field .increase').off('click').on('click', function () {\n        let input = $(this).siblings('input')\n        let inputVal = parseInt(input.val())\n        let inputMaxVal = parseInt(input.attr('max'))\n        !isNaN(inputMaxVal) && inputVal < inputMaxVal && input.val(inputVal + 1)\n    })\n\n    /* Accordion */\n    $('.accordion .accordion-header').off('click').on('click', function () {\n        $(this).closest('.accordion').toggleClass('opened')\n        $(this).siblings('.accordion-body').stop().slideToggle({})\n    })\n}\n\n;(function ($) {\n    /**\n     * AJAX mini cart remove item.\n     * This code is not needed. Use default instead.\n     */\n    // $(document).on('click', '.mini_cart_item a.remove', function (e) {\n    //     e.preventDefault();\n    //     $('.woocommerce-error').remove();\n\n    //     var product_id = $(this).data('product_id');\n    //     var cart_item_key = $(this).data('cart_item_key');\n\n    //     $.ajax({\n    //         type: 'POST',\n    //         dataType: 'json',\n    //         url: wc_add_to_cart_params.ajax_url,\n    //         data: {\n    //             action: 'textile_ajax_mini_cart_remove_item',\n    //             product_id: product_id,\n    //             cart_item_key: cart_item_key\n    //         },\n    //         success: function (res) {\n    //             if (!res || res.error)\n    //                 return;\n\n    //             var fragments = res.fragments;\n\n    //             // Replace fragments.\n    //             if (fragments) {\n    //                 $.each(fragments, function (key, value) {\n    //                     $(key).replaceWith(value);\n    //                 });\n    //             }\n    //         },\n    //         error: function (jqXHR, textStatus, errorThrown) {\n    //             console.log(jqXHR);\n    //         }\n    //     });\n    // });\n})(jQuery)\n","function get_keyword() {\n    let keyword = $('.js_search_shop input').val();\n    return keyword;\n}\n\nfunction set_keyword(keyword) {\n    $('.js_search_shop input').val(keyword);\n}\n\nfunction set_data_keyword(keyword) {\n    $('.js_data_shop_filters').attr('data-keyword', keyword);\n}\n\nfunction textile_ajax_shop_search() {\n    $('.js_search_result .js_loading').fadeIn();\n    $.ajax({\n        type: 'POST',\n        dataType: 'json',\n        url: textile_ajax_obj.ajaxurl,\n        data: {\n            action: 'textile_ajax_shop_search',\n            nonce: textile_ajax_obj.nonce,\n            keyword: get_keyword(),\n        },\n        success: function (res) {\n            $('.js_search_result').html(res.search_result);\n        },\n        error: function (jqXHR, textStatus, errorThrown) {\n            $('.js_loading').fadeOut();\n            console.log(jqXHR);\n        }\n    });\n}\n\n;(function ($) {\n    // When all AJAX requests are finished.\n    $(document).ajaxStop(function () {\n        $('.js_loading').fadeOut();\n    });\n    \n    $('.js_search_shop input').on('paste keyup', function () {\n        if ( get_keyword() ) {\n            set_data_keyword( get_keyword() );\n            textile_ajax_shop_search();\n        }\n    });\n\n    $('.js_search_shop input').on('change paste', function () {\n        if ( get_keyword() ) {\n            $('.js_search_shop form').submit();\n        }\n    });\n    \n    $(document).on('keypress',function(e) {\n        if ( get_keyword() ) {\n            if(e.which == 13) {\n                $('.js_search_shop form').submit();\n                window.location.href = textile_ajax_obj.wc_shop_url + '?s=' + get_keyword();\n            }\n        }\n    });\n\n    $('.js_search_shop form').on('submit', function () {\n        $(this).find('input[name=\"s\"]').val( get_keyword() );\n        $.get(window.location.origin + '?s=' + get_keyword(), $(this).serialize(), function (data) {\n            return;\n        });\n        return false;\n    });\n\n    $('.js_search_shop .js_clean_input').on('click', function () {\n        set_keyword('');\n        textile_ajax_shop_search();\n    });\n})(jQuery)\n"]}