PageSourceSearch

https://www.smartphoto.co.uk/jscdn/26.9.0.880/core/pages/generalpage.min.js

js smartphoto.co.uk collected 2026-09-26 16:31:52 UTC 371,124 bytes, 2 lines download raw bytes

1function escapeForJavascript(str){return str?str=(str=(str=(str=str.replace(/'/g,"")).replace(/"/g,"")).replace(/\\/g,"")).replace(/[\n\r]/g,"\\\\n"):""}function onlyLetters(input){return Boolean(input.match(/^[A-Za-z]*$/))}function onlyNumber$1(input){return Boolean(input.match(/^[0-9]*$/))}function toUrlHash(input){return escapeForJavascript(input).replace(" ","-").toLowerCase()}function stringToBase64(inputString){const bytes=(new TextEncoder).encode(inputString),binString=Array.from(bytes,byte=>String.fromCodePoint(byte)).join("");return window.btoa(binString)}function createSafeCssClassName(input){const safeClassName=input.trim().replace(/[^a-zA-Z0-9_-]+/g,"-").replace(/^-+|-+$/g,"");return safeClassName?/^[a-zA-Z_]/.test(safeClassName)?safeClassName:`technical-${safeClassName}`:""}var __awaiter$i=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const redirectTo500=()=>{-1===window.location.pathname.indexOf("500.aspx")&&window.location.replace("/error")},redirectToLogin=()=>{-1===window.location.pathname.indexOf("login")&&window.location.replace("/login")},logError$1=errorLog=>__awaiter$i(void 0,void 0,void 0,function*(){yield postRequest("/api/v1/ApplicationService.svc/json/LogJavascriptError",errorLog,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})})}),http=(path,config,keepCase)=>__awaiter$i(void 0,void 0,void 0,function*(){const finalPath=path.toLowerCase(),request=new Request(finalPath,config);return fetch(request).then(res=>{if(res.ok)return res.json().catch(()=>({}));HandleError(res.status,path,res.statusText).then(_=>Promise.reject(res.statusText))}).catch(error=>{HandleError(error.status,path,error.statusText).then(_=>Promise.reject(error.statusText))})}),httpText=(path,config)=>__awaiter$i(void 0,void 0,void 0,function*(){const response=yield getHttpResponse(path.toLowerCase(),config);return response.ok?response.text():window.context.apiFailMsg||""}),HandleError=(status,path,statusText)=>__awaiter$i(void 0,void 0,void 0,function*(){if(!(path.indexOf("LogJavascriptError")>-1))switch(status){case 500:if(path.startsWith(window.context.ecomApiUrl))return logError$1({line:0,message:escapeForJavascript(statusText),process:"Browser",url:path});redirectTo500();break;case 450:case 401:redirectToLogin();break;case 403:break;default:yield logError$1({line:0,message:escapeForJavascript(statusText),process:"Browser",url:path})}});function getHttpResponse(path,config){return __awaiter$i(this,void 0,void 0,function*(){const request=new Request(path.toLowerCase(),config),response=yield fetch(request);return response.ok?response:(yield HandleError(response.status,path,response.statusText),Promise.reject(response.statusText))})}function getRequest(path,config,keepCase){return __awaiter$i(this,void 0,void 0,function*(){const init=Object.assign({method:"get"},config);return yield http(path,init)})}function postRequest(path,body,config,traditionalBody){return __awaiter$i(this,void 0,void 0,function*(){const init=Object.assign({method:"post",body:traditionalBody&&body instanceof URLSearchParams?body:JSON.stringify(body)},config);return yield http(path,init)})}function deleteRequest(path,body,config){return __awaiter$i(this,void 0,void 0,function*(){const init=Object.assign({method:"delete",body:JSON.stringify(body)},config);return yield http(path,init)})}function getHtmlRequest(path,config){return __awaiter$i(this,void 0,void 0,function*(){const init=Object.assign({method:"get"},config);return yield httpText(path,init)})}function postHtmlRequest(path,body,config){return __awaiter$i(this,void 0,void 0,function*(){const init=Object.assign({method:"post",body:JSON.stringify(body)},config);return yield httpText(path,init)})}function isValidPartialViewResponse(res){return res.indexOf("<html>")<=0}function logErrorEvent(event){const errorEv=event;return logError(errorEv.message,errorEv.filename,errorEv.lineno,errorEv.colno,errorEv.error)}function logError(msg,url,line,col,error,process){const lastLoggedError=["","","",0];let totalLoggedErrors=0;try{if(!url&&!line)return;let urlString="",errorString="";if(Array.isArray(window.errorLogStrings)&&Array.isArray(window.errorLogStrings.Ignore)&&window.errorLogStrings.Ignore.length)for(let i=0;i<window.errorLogStrings.Ignore.length;
1i++){if(urlString=window.errorLogStrings.Ignore[i][1],errorString=window.errorLogStrings.Ignore[i][2],url&&msg&&""!==urlString&&""!==errorString&&url.indexOf(urlString)>=0&&msg.toString().indexOf(errorString)>=0)return;if(url&&""!==urlString&&url.indexOf(urlString)>=0)return;if(msg&&""!==errorString&&msg.toString().indexOf(errorString)>=0)return}if(lastLoggedError[0]===msg&&lastLoggedError[1]===url&&lastLoggedError[2]===line){let val=+lastLoggedError[3];lastLoggedError[3]=val++}else lastLoggedError[0]=msg.toString(),lastLoggedError[1]=url,lastLoggedError[2]=line,lastLoggedError[3]=1;if(totalLoggedErrors<10&&lastLoggedError[3]<=3){totalLoggedErrors++,process=process||"Browser";for(const key in window.errorLogStrings)if("Ignore"!==key)for(let i=0;i<window.errorLogStrings[key].length;i++)urlString=window.errorLogStrings[key][i][1],errorString=window.errorLogStrings[key][i][2],url&&msg&&""!==urlString&&""!==errorString?url.indexOf(urlString)>=0&&msg.toString().indexOf(errorString)>=0&&(process=key):(url&&""!==urlString&&url.indexOf(urlString)>=0&&(process=key),null!==msg&&""!==errorString&&msg.toString().indexOf(errorString)>=0&&(process=key));error&&error.stack&&(msg+="\n\nStacktrace: \n"+error.stack);postRequest("/api/v1/ApplicationService.svc/json/LogJavascriptError",{line:line,message:escapeForJavascript(msg),process:process,url:url},{headers:new Headers({"Content-type":"application/json; charset=utf-8"})}).then(res=>{})}}catch(exc){}return!1}function getCookie(cName){const allCookies=document.cookie;if(allCookies.length>0){let cStart=allCookies.indexOf(cName+"=");if(-1!==cStart){cStart=cStart+cName.length+1;let cEnd=allCookies.indexOf(";",cStart);return-1===cEnd&&(cEnd=allCookies.length),unescape(allCookies.substring(cStart,cEnd))}}return""}function writeCookie(cName,cValue,extraDays){const d=new Date;d.setTime(d.getTime()+24*extraDays*60*60*1e3);const expires="expires="+d.toUTCString();document.cookie=encodeURIComponent(cName)+"="+encodeURIComponent(cValue)+";"+expires+"; path=/"}function writeCookieThatExpiresAtTheEndOfTheDay(cName,cValue){const d=new Date,expires="expires="+new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59).toUTCString();document.cookie=encodeURIComponent(cName)+"="+encodeURIComponent(cValue)+";"+expires+"; path=/"}function expressQuerySelector(el,selectors,isRequired=!1){const resultEl=el.querySelector(selectors);if(isRequired&&!resultEl)throw new Error("querySelector didn't return any results for: "+selectors);return resultEl}function hasClass(element,cssClass){const regex=new RegExp("(?:^|\\s)"+cssClass+"(?!\\S)"),match=element.className.match(regex);return!!match&&!!match.length}function expressEventListener(element,type,listener,useCapture){const disposable={dispose:()=>{(null==disposable?void 0:disposable.handler)&&(element.removeEventListener(disposable.type,disposable.handler,useCapture),delete disposable.handler)},handler:ev=>listener(ev),type:type};return element.addEventListener(disposable.type,disposable.handler,useCapture),disposable}function expressQuerySelectorAll(el,selectors){return el?[].slice.call(el.querySelectorAll(selectors)):[]}function expressAddClass(element,cssClass){expressToggleClass(element,cssClass,!0)}function expressRemoveClass(element,cssClass){expressToggleClass(element,cssClass,!1)}function expressToggleClass(element,cssClass,on){const regex=new RegExp("(?:^|\\s)"+cssClass+"(?!\\S)"),hasClass=element.className.match(regex);hasClass&&!on?element.className=element.className.replace(new RegExp(regex.source,"g"),""):!hasClass&&on&&(element.className+=" "+cssClass)}function show(el){null===el.offsetParent&&("none"===el.style.display?el.style.display="":"none"===getComputedStyle(el).display&&(el.style.display="block"))}function hide(el){el.style.display="none"}function getHeightWithMargins(el){return el.getBoundingClientRect().height+parseInt(window.getComputedStyle(el).marginTop||"0",10)+parseInt(window.getComputedStyle(el).marginBottom||"0",10)}function getParentWithClassName(el,className){for(el&&(el=el.parentElement);el;){if(el.classList.contains(className))return el;el=el.parentElement}return null}function isDescendantOf(child,potentialParent){if(!child||!potentialParent)return!1;for(let cur=child.parentElement;cur;cur=cur.parentElement)if(cur===potentialParent)return!0;return!1}function getSelfOrParentWithClassName(el,className){return el?el.classList&&el.classList.contains(className)?el:getParentWithClassName(el,className):null}function fallbackMatchesSelector(selectors){const matches=(this.ownerDocument||document).querySelectorAll(selectors);let i=matches.length;for(;--i>=0&&matches.item(i)!==this;);return i>-1}function getParents(elem,selector){if(!Element.prototype.matches){const elementPrototype=Element.prototype;Element.prototype.matches=elementPrototype.webkitMatchesSelector||elementPrototype.msMatchesSelector||fallbackMatchesSelector}elem=elem.parentNode;const parents=[];for(;elem&&elem!==document;elem=elem.parentNode)selector?elem.matches(selector)&&parents.push(elem):parents.push(elem);return parents}function htmlToElement(html){const template=document.createElement("template");return html=html.trim(),template.innerHTML=html,template.content.firstChild}function isMobile(){return window.innerWidth<=960&&window.innerHeight<=960}function isMobileOnPageWithHeader(){const el=expressQuerySelector(document,".technical-mobile-navigation-hamburger-menu
1-button",!1);return el&&isElementVisible(el)}function isElementVisible(el){return el&&!(el.offsetWidth+el.offsetHeight+el.getBoundingClientRect().height+el.getBoundingClientRect().width===0)}const isElementGenerallyVisible=element=>{const style=window.getComputedStyle(element);return"none"!==style.display&&"hidden"!==style.visibility&&"0"!==style.opacity};function isElementVisibleInViewPort(el){if(!el)return!1;const rect=el.getBoundingClientRect();return rect.top>=0&&rect.left>=0&&rect.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&rect.right<=(window.innerWidth||document.documentElement.clientWidth)}function isElementFullyVisible(element){return isElementGenerallyVisible(element)&&isElementVisibleInViewPort(element)&&element.checkVisibility()}function onElementVisibleOrBecomeVisible(el,onVisible){if(!onVisible)return;if(isElementFullyVisible(el))onVisible&&onVisible();else{const observer=new IntersectionObserver(entries=>{entries.forEach(entry=>{entry.isIntersecting&&(onVisible&&onVisible(),observer.disconnect())})});observer.observe(el)}}function isElementPartiallyVisibleInViewport(el,percentVisible){if(!el)return!1;const rect=el.getBoundingClientRect(),windowHeight=window.innerHeight||document.documentElement.clientHeight;return!(Math.floor(100-(rect.top>=0?0:rect.top)/+-rect.height*100)<percentVisible||Math.floor(100-(rect.bottom-windowHeight)/rect.height*100)<percentVisible)}function remove(el){el.parentElement&&el.parentElement.removeChild(el)}const pageVisibilityChange=(onVisible,onHidden)=>{if(!onVisible&&!onHidden)return;let hidden="",visibilityState="",visibilityChange="";void 0!==document.hidden?(hidden="hidden",visibilityChange="visibilitychange",visibilityState="visibilityState"):void 0!==document.mozHidden?(hidden="mozHidden",visibilityChange="mozvisibilitychange",visibilityState="mozVisibilityState"):void 0!==document.msHidden?(hidden="msHidden",visibilityChange="msvisibilitychange",visibilityState="msVisibilityState"):void 0!==document.webkitHidden&&(hidden="webkitHidden",visibilityChange="webkitvisibilitychange",visibilityState="webkitVisibilityState"),void 0===document.addEventListener||void 0===hidden||expressEventListener(document,visibilityChange,()=>{setTimeout(()=>{switch(document[visibilityState]){case"visible":onVisible&&onVisible();break;case"hidden":onHidden&&onHidden()}},0)},!1)};function createClickableElement(el,onClick,options={}){let clickEvent,enterEvent;const{enable:enable,disable:disable,enableOnEnter:enableOnEnter}=options,onClicked=e=>{e.preventDefault(),e.stopPropagation(),onClick&&(dispose(),disable&&disable(),onClick().then(()=>{enable&&enable(),addClickEvent()}))},onEnter=ev=>{"Enter"!==ev.key&&13!==ev.keyCode||(ev.preventDefault(),onClick&&(dispose(),disable&&disable(),onClick().then(()=>{enable&&enable(),addClickEvent()})))},addClickEvent=()=>{clickEvent=expressEventListener(el,"click",onClicked),enableOnEnter&&(enterEvent=expressEventListener(el,"keypress",onEnter))},dispose=()=>{clickEvent.dispose(),enterEvent&&enterEvent.dispose()};return addClickEvent(),{addClickEvent:addClickEvent,dispose:dispose}}function createButton(buttonEl,onClick){const originalText=buttonEl.textContent,enable=()=>{expressRemoveClass(buttonEl,"a-button--disabled"),buttonEl.removeAttribute("disabled")},disable=()=>{expressAddClass(buttonEl,"a-button--disabled"),buttonEl.setAttribute("disabled","disabled")},button=createClickableElement(buttonEl,onClick,{enable:enable,disable:disable}),updateText=text=>{text&&buttonEl.innerText!==text&&(buttonEl.innerText=text)};return{dispose:button.dispose,enable:enable,disable:disable,updateText:updateText,revertText:()=>{updateText(originalText)}}}var __awaiter$h=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function createCollapsable(container,deps,opts){const{singleOpen:singleOpen,swapTitleDataAttribute:swapTitleDataAttribute}={},{onInit:onInit,onBeforeOpen:onBeforeOpen,onBeforeClose:onBeforeClose,titleElSelector:titleElSelector,scrollIntoViewAfterOpen:scrollIntoViewAfterOpen,contentSelector:contentSelector,openClass:openClass,onOpen:onOpen}=deps||{}
1,OPEN_CLASS=openClass||"is-collapse-open",titleEl=expressQuerySelector(container,titleElSelector||".technical-collapsable-title",!0),contentEl=expressQuerySelector(container,contentSelector||".technical-collapse-content",!1);let origTitle,collapseTitle;swapTitleDataAttribute&&(origTitle=titleEl.innerText,collapseTitle=swapTitleDataAttribute?container.getAttribute(swapTitleDataAttribute):null);const closeWithBefore=()=>__awaiter$h(this,void 0,void 0,function*(){return onBeforeClose?(yield onBeforeClose(container),close()):(close(),Promise.resolve())}),openWithBefore=(...args_1)=>__awaiter$h(this,[...args_1],void 0,function*(scrollIntoView=!1){return onOpen&&onOpen(container),onBeforeOpen?(yield onBeforeOpen(container))?open(scrollIntoView):Promise.resolve():(open(),Promise.resolve())}),close=()=>{swapTitleDataAttribute&&origTitle&&titleEl.innerText!==origTitle&&(titleEl.innerText=origTitle),container.classList.remove(OPEN_CLASS)},open=shouldScrollIntoView=>{if(singleOpen){expressQuerySelectorAll(container.parentElement,".m-collapsable").forEach(el=>el.classList.remove(OPEN_CLASS))}swapTitleDataAttribute&&titleEl.innerText!==collapseTitle&&(titleEl.innerText=collapseTitle),container.classList.add(OPEN_CLASS),(scrollIntoViewAfterOpen&&!isElementVisibleInViewPort(contentEl)||shouldScrollIntoView)&&titleEl.scrollIntoView({behavior:"smooth",block:"start"})},isOpen=()=>hasClass(container,OPEN_CLASS),button=createClickableElement(titleEl,()=>isOpen()?closeWithBefore():openWithBefore());return onInit&&onInit(container),{dispose:button.dispose,show:()=>container.classList.remove("u-hide"),hide:()=>container.classList.add("u-hide"),close:close,open:scrollIntoView=>openWithBefore(scrollIntoView),element:container,isOpen:isOpen}}function compositeDisposable(disposables){let composite={dispose:()=>
1{composite&&(composite=null,disposables&&disposables.forEach(d=>d.dispose()))},add:addDisposable=>{disposables||(disposables=[]),disposables.push(addDisposable)},addMany:addDisposables=>{disposables||(disposables=[]),disposables.push(...addDisposables)}};return composite}function debounce(fn,delay){let timeoutID=0;return(...args)=>{clearTimeout(timeoutID),timeoutID=window.setTimeout(()=>fn.apply(this,args),delay)}}function autocomplete(settings){const doc=document,container=doc.createElement("div"),containerStyle=container.style,userAgent=navigator.userAgent,mobileFirefox=-1!==userAgent.indexOf("Firefox")&&-1!==userAgent.indexOf("Mobile"),debounceWaitMs=settings.debounceWaitMs||0,preventSubmit=settings.preventSubmit||!1,keyUpEventName=mobileFirefox?"input":"keyup";let items=[],inputValue="",minLen=2;const showOnFocus=settings.showOnFocus;let selected,debounceTimer,keypressCounter=0;if(void 0!==settings.minLength&&(minLen=settings.minLength),!settings.input)throw new Error("input undefined");const input=settings.input;function clearDebounceTimer(){debounceTimer&&window.clearTimeout(debounceTimer)}function containerDisplayed(){return!!container.parentNode}function clear(){keypressCounter++,items=[],inputValue="",selected=void 0,function detach(){const parent=container.parentNode;parent&&parent.removeChild(container)}()}function update(){for(;container.firstChild;)container.removeChild(container.firstChild);let render=function(item,currentValue){const itemElement=doc.createElement("div");return itemElement.textContent=item.label||"",itemElement};settings.render&&(render=settings.render);let renderGroup=function(groupName,currentValue){const groupDiv=doc.createElement("div");return groupDiv.textContent=groupName,groupDiv};settings.renderGroup&&(renderGroup=settings.renderGroup);const fragment=doc.createDocumentFragment();let prevGroup="#9?$";if(items.forEach(function(item){if(item.group&&item.group!==prevGroup){prevGroup=item.group;const groupDiv=renderGroup(item.group,inputValue);groupDiv&&(groupDiv.className+=" group",fragment.appendChild(groupDiv))}const div=render(item,inputValue);div&&(div.addEventListener("click",function(ev){settings.onSelect(item,input),clear(),ev.preventDefault(),ev.stopPropagation()}),item===selected&&(div.className+=" selected"),fragment.appendChild(div))}),container.appendChild(fragment),items.length<1){if(!settings.emptyMsg)return void clear();{const empty=doc.createElement("div");empty.className="empty",empty.textContent=settings.emptyMsg,container.appendChild(empty)}}!function attach(){container.parentNode||doc.body.appendChild(container)}(),function updatePosition(){if(!containerDisplayed())return;containerStyle.height="auto",containerStyle.width=input.offsetWidth+"px";let inputRect,maxHeight=0;function calc(){const docEl=doc.documentElement,clientTop=docEl.clientTop||doc.body.clientTop||0,clientLeft=docEl.clientLeft||doc.body.clientLeft||0,scrollTop=window.pageYOffset||docEl.scrollTop,scrollLeft=window.pageXOffset||docEl.scrollLeft;inputRect=input.getBoundingClientRect();const top=inputRect.top+input.offsetHeight+scrollTop-clientTop,left=inputRect.left+scrollLeft-clientLeft;containerStyle.top=top+"px",containerStyle.left=left+"px",maxHeight=window.innerHeight-(inputRect.top+input.offsetHeight),maxHeight<0&&(maxHeight=0),containerStyle.top=top+"px",containerStyle.bottom="",containerStyle.left=left+"px",containerStyle.maxHeight=maxHeight+"px"}calc(),calc(),settings.customize&&inputRect&&settings.customize(input,inputRect,container,maxHeight)}(),function updateScroll(){const elements=container.getElementsByClassName("selected");if(elements.length>0){let element=elements[0];const previous=element.previousElementSibling;if(previous&&-1!==previous.className.indexOf("group")&&!previous.previousElementSibling&&(element=previous),element.offsetTop<container.scrollTop)container.scrollTop=element.offsetTop;else{const selectBottom=element.offsetTop+element.offsetHeight,containerBottom=container.scrollTop+container.offsetHeight;selectBottom>containerBottom&&(container.scrollTop+=selectBottom-containerBottom)}}}()}function updateIfDisplayed(){containerDisplayed()&&update()}function resizeEventHandler(){updateIfDisplayed()}function scrollEventHandler(e){e.target!==container?updateIfDisplayed():e.preventDefault()}function keyupEventHandler(ev){const keyCode=ev.which||ev.keyCode||0,ignore=[38,13,27,39,37,16,17,18,20,91,9];for(const key of ignore)if(keyCode===key)return;keyCode>=112&&keyCode<=123||40===keyCode&&containerDisplayed()||startFetch(0)}function keydownEventHandler(ev){const keyCode=ev.which||ev.keyCode||0;if(38===keyCode||40===keyCode||27===keyCode){const containerIsDisplayed=containerDisplayed();if(27===keyCode)clear();else{if(!containerDisplayed||items.length<1)return;38===keyCode?function selectPrev(){if(items.length<1)selected=void 0;else if(selected){if(selected===items[0])selected=settings.disableAutoSelect?void 0:items[items.length-1];else for(let i=items.length-1;i>0;i--)if(selected===items[i]||1===i){selected=items[i-1];break}}else selected=items[items.length-1]}():function selectNext(){if(items.length<1)selected=void 0;else if(selected){if(selected===items[items.length-1])selected=settings.disableAutoSelect?void 0:items[0];else for(let i=0;i<items.length-1;i++)if(selected===items[i]){selected=items[i+1];break}}else selected=items[0]}(),update()}return ev.preventDefault(),void(containerIsDisplayed&&ev.stopPropagation())}13===keyCode&&(selected&&(settings.onSelect(selected,input),clear()),preventSubmit&&ev.preventDefault())}function focusEventHandler(){showOnFocus&&startFetch(1)}function startFetch(trigger){const savedKeypressCounter=++keypressCounter,val=input.value.replace(/[<>]+/g,"");val.length>=minLen||1===trigger?(clearDebounceTimer(),debounceTimer=window.setTimeout(function(){settings.fetch(val,function(elements){keypressCounter===savedKeypressCounter&&elements&&(items=elements,inputValue=val,selected=items.length<1||settings.disableAutoSelect?void 0:items[0],update())},0)},0===trigger?debounceWaitMs:0)):clear()}function blurEventHandler(){setTimeout(()=>{doc.activeElement!==input&&clear()},200)}return container.className="autocomplete "+(settings.className||""),containerStyle.position="absolute",container.addEventListener("mousedown",function(evt){evt.stopPropagation(),evt.preventDefault()}),container.addEventListener("focus",()=>input.focus()),input.addEventListener("keydown",keydownEventHandler),input.addEventListener(keyUpEventName,keyupEventHandler),input.addEventListener("blur",blurEventHandler),input.addEventListener("focus",focusEventHandler),window.addEventListener("resize",resizeEventHandler),doc.addEventListener("scroll",scrollEventHandler,!0),{destroy:function destroy(){input.removeEventListener("focus",focusEventHandler),input.removeEventListener("keydown",keydownEventHandler),input.removeEventListener(keyUpEventName,keyupEventHandler),input.removeEventListener("blur",blurEventHandler),window.removeEventListener("resize",resizeEventHandler),doc.removeEventListener("scroll",scrollEventHandler,!0),clearDebounceTimer(),clear()}}}function createBaseFormInput(containerEl,altSelector){const inputEl=expressQuerySelector(containerEl,altSelector||".a-form-input__input",!0),errorParagraphEl=expressQuerySelector(containerEl,".a-form-input__error-text"),toggleEnable=enable=>{var attr,force;attr="disabled",force=!enable,inputEl.toggleAttribute(attr,force),expressToggleClass(containerEl,"a-form-input--disabled",!enable)},clear=(clearValue=!1)=>
1{if("radio"===inputEl.type){expressQuerySelectorAll(document,'input[name="'+inputEl.name+'"]').forEach(el=>{const parent=getParentWithClassName(el,"a-form-input");parent&&(containerEl=parent),containerEl&&(clearValue&&el.checked&&(el.checked=!1),containerEl.classList.remove("a-form-input--validated"),containerEl.classList.remove("a-form-input--error"))})}else clearValue&&(inputEl.value=altSelector&&".technical-slider-max-range"===altSelector?"-1":""),containerEl.classList.remove("a-form-input--validated"),containerEl.classList.remove("a-form-input--error")};return altSelector&&".technical-slider-max-range"===altSelector?inputEl&&inputEl.addEventListener("input",()=>clear(!1)):inputEl&&inputEl.addEventListener("focusin",()=>clear(!1)),{clear:clear,setError:(error,doClear=!1)=>{doClear&&clear(),containerEl.classList.remove("a-form-input--validated"),containerEl.classList.add("a-form-input--error"),errorParagraphEl&&(errorParagraphEl.innerHTML=error)},enable:()=>toggleEnable(!0),disable:()=>toggleEnable(!1),inputEl:inputEl,show:()=>containerEl.classList.remove("u-hide"),hide:()=>containerEl.classList.add("u-hide")}}function createSelectBox(containerEl,onSelected){const baseComponent=createBaseFormInput(containerEl),selectEl=baseComponent.inputEl,disposableEvent=expressEventListener(selectEl,"change",()=>onSelected);return Object.assign(Object.assign({},baseComponent),{dispose:disposableEvent.dispose,inputEl:selectEl,setValue:value=>selectEl.value=value,getValue:()=>selectEl.value})}function createHiddenFormInput(el){const inputEl=el,clear=clearValue=>{clearValue&&(inputEl.value="")};return{inputEl:inputEl,setValue:value=>{el.value=value},getValue:()=>inputEl.value,clear:clear,setError:(error,doClear)=>{doClear&&clear()},hide:()=>{},show:()=>{},setRequired:value=>{},enable:()=>{},disable:()=>{}}}function createFormInput(containerEl,altSelector){const baseComponent=createBaseFormInput(containerEl,altSelector),inputEl=baseComponent.inputEl,isCheckBox="checkbox"===inputEl.type.toLowerCase();return Object.assign(Object.assign({setValue:value=>isCheckBox?inputEl.checked="true"===value.toString().toLowerCase():inputEl.value=value.toString(),getValue:()=>isCheckBox?inputEl.checked:inputEl.value},baseComponent),{inputEl:inputEl})}function createPasswordFormInput(containerEl){const formInput=createFormInput(containerEl),iconEl=expressQuerySelector(containerEl,".technical-password-unhide-icon",!1);let disposableEvent;const onPasswordShowHideIconClick=()=>{switch(formInput.inputEl.getAttribute("type")){case"password":formInput.inputEl.setAttribute("type","text"),iconEl&&iconEl.classList.add("a-form-input__password-unhide-icon--hide");break;case"text":formInput.inputEl.setAttribute("type","password"),iconEl&&iconEl.classList.remove("a-form-input__password-unhide-icon--hide")}},dispose=()=>{disposableEvent&&disposableEvent.dispose()},addEvent=()=>disposableEvent=iconEl?expressEventListener(iconEl,"click",onPasswordShowHideIconClick):null;return iconEl&&addEvent(),Object.assign(Object.assign({validatePassword:()=>{const value=formInput.inputEl.value;return formInput.inputEl.dataset.lastvalidatedpassword="",formInput.inputEl.dataset.lastvalidatedresult="",!value||value.length<Number.parseInt(formInput.inputEl.dataset.minlength||"6",10)?Promise.resolve(!1):formInput.inputEl.hasAttribute("data-pristine-strongpassword")&&"true"===formInput.inputEl.dataset.pristineStrongpassword?postRequest("/apicore/myaccountapi/validatepassword",{password:stringToBase64(formInput.inputEl.value)},{headers:{"Content-type":"application/json; charset=utf-8"}}).then(res=>(formInput.inputEl.dataset.lastvalidatedpassword=value,formInput.inputEl.dataset.lastvalidatedresult=`${res}`,res)):Promise.resolve(!0)}},formInput),{disable:()=>{formInput.disable(),iconEl&&(iconEl.style.cursor="not-allowed",dispose())},enable:()=>{formInput.enable(),iconEl&&(iconEl.style.cursor="pointer",addEvent())}})}function createSingleSlider(containerEl,sendPartialUpdateForInput){const baseComponent=createBaseFormInput(containerEl,".technical-slider-max-range"),sliderMaxRangeEl=expressQuerySelector(containerEl,".technical-slider-max-range",!0),sliderLabelEls=expressQuerySelectorAll(containerEl,".technical-slider-label"),disposableEvents=compositeDisposable([]),orderLabels=()=>{const singleValueToTheLeft=(sliderMaxRangeEl.getBoundingClientRect().width-17)/(sli
1derLabelEls.length-1);sliderLabelEls.forEach((labelEl,index)=>{const valueToTheLeft=singleValueToTheLeft*index+8.5;labelEl.style.left=`calc(${valueToTheLeft}px - ${labelEl.offsetWidth/2}px)`})};if(sliderLabelEls&&sliderLabelEls.length){orderLabels();const onLabelClick=ev=>{baseComponent.clear(!1);const currentLabelEl=ev.currentTarget;sliderMaxRangeEl.value=currentLabelEl.dataset.value||"",sendPartialUpdateForInput&&sendPartialUpdateForInput(sliderMaxRangeEl)};disposableEvents&&disposableEvents.add&&(disposableEvents.add(expressEventListener(window,"resize",debounce(orderLabels,250))),sliderLabelEls.forEach((labelEl,index)=>{disposableEvents.add(expressEventListener(labelEl,"click",onLabelClick))}))}const onChange=e=>{e.stopPropagation(),sendPartialUpdateForInput&&sendPartialUpdateForInput(sliderMaxRangeEl)};return disposableEvents&&disposableEvents.add&&(disposableEvents.add(expressEventListener(sliderMaxRangeEl,"change",debounce(onChange,500))),disposableEvents.add(expressEventListener(sliderMaxRangeEl,"input",e=>{e.preventDefault(),e.stopPropagation(),baseComponent.clear(!1)}))),Object.assign(Object.assign({},baseComponent),{dispose:()=>{disposableEvents&&disposableEvents.dispose()},setValue:value=>{sliderMaxRangeEl.value=value},getValue:()=>sliderMaxRangeEl.value})}function createTextInputWithAutoComplete(inputEl,deps){const onCloseDisposable=compositeDisposable([]);inputEl.setAttribute("autocomplete","off");const{autoCompleteSearch:autoCompleteSearch,onSelect:onSelect,customize:customize,onOpen:onOpen,onClose:onClose,renderTextContent:renderTextContent,debounceWaitMs:debounceWaitMs=250,containerInsertPosition:containerInsertPosition="beforeend",containerClass:containerClass="m-autocomplete a-form-input__autocomplete",disableAutoSelect:disableAutoSelect=!0,preventSubmit:preventSubmit=!1,minLength:minLength=3}=deps,autocompleteResult=autocomplete({minLength:minLength,input:inputEl,disableAutoSelect:disableAutoSelect,preventSubmit:preventSubmit,onSelect:(item,input)=>{input.value=item.label||item.value,onSelect&&onSelect({value:item.value,label:item.label})},fetch:(text,update)=>{text=text.toLowerCase(),autoCompleteSearch(text).then(res=>update(res))},render:(item,currentValue)=>{const itemEl=document.createElement("div");return expressAddClass(itemEl,"m-suggestion-list__item technical-search-suggestion"),itemEl.innerHTML=renderTextContent&&renderTextContent(item,currentValue)||`${item.label} - ${item.value}`,itemEl},customize:(input,inputRect,container,maxHeight)=>{customize&&customize(input,inputRect,container,maxHeight),expressRemoveClass(container,"autocomplete"),expressAddClass(container,containerClass),container.removeAttribute("style"),container.style.display="block";if(input.parentElement.insertAdjacentElement(containerInsertPosition,container),onOpen&&onOpen(),onClose){const parents=getParents(container);parents&&parents.length>0&&parents.forEach(el=>{onCloseDisposable.add(expressEventListener(el,"mousedown",ev=>{((ev,container)=>{if(ev.stopPropagation(),ev.target instanceof Node){const parents=getParents(ev.target,".technical-search-suggestion");parents&&parents.length<1&&onClose()}container.remove(),onCloseDisposable.dispose()})(ev,container)}))})}},debounceWaitMs:debounceWaitMs}),disposable=onClose?compositeDisposable([expressEventListener(inputEl,"input",_=>{inputEl.value&&inputEl.value.length<minLength&&onClose()})]):null;return{dispose:()=>{disposable&&disposable.dispose(),onCloseDisposable&&onCloseDisposable.dispose,autocompleteResult.destroy()}}}var Gender,UpdateAccountResult,ChangePasswordStatus,OkResult,__awaiter$g=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function initForm(formEl,deps){const{alternativeButton:alternativeButton,onSubmitForm:onSubmitForm,buttonSelector:buttonSelector,submitOnEnter:submitOnEnter,validatorOptions:validatorOptions,showFirstErrorOnValidate:showFirstErrorOnValidate,enableParti
1alSubmit:enablePartialSubmit,partialSubmit:partialSubmit,sendPartialUpdateForInput:sendPartialUpdateForInput}=deps,submitButtonEl=alternativeButton||expressQuerySelector(formEl,buttonSelector||".m-form__button-continue",!0),validator=createFormValidator(formEl,validatorOptions);let onKeyUpEvent;const formElements=[].slice.call(formEl.elements),inputs={};let invalidFormFields,isValid;formElements.filter(el=>!el.matches("button")).forEach(el=>{let input=null;const email=el.attributes.getNamedItem("email");if((email&&"email"===email.value||"email"===el.type)&&(el.maxLength=100),el.classList.contains("a-form-input__slider-range")?input=createSingleSlider(getParentWithClassName(el,"a-form-input"),sendPartialUpdateForInput):el.classList.contains("a-form-input__select")?input=createSelectBox(getParentWithClassName(el,"a-form-input")):"hidden"===el.type?input=createHiddenFormInput(el):el.classList.contains("a-form-input__input")&&(input="password"===el.type?createPasswordFormInput(getParentWithClassName(el,"a-form-input")):createFormInput(getParentWithClassName(el,"a-form-input"))),input){let key=input.inputEl.id.toLowerCase();key||(key=input.inputEl.name),inputs[key]=input}});const getInputs=()=>Object.keys(inputs).map(key=>inputs[key]),clearAll=(clearValues=!1)=>{getInputs().map(input=>{input.clear(clearValues),input.setError("",!0)})},resetValidation=()=>{clearAll(),validator.reset()},validate=()=>__awaiter$g(this,void 0,void 0,function*(){resetValidation(),invalidFormFields=[],isValid=!1;const validations=Object.keys(inputs).map(name=>inputs[name].validatePassword?inputs[name].validatePassword():Promise.resolve(!0));return yield Promise.all(validations),isValid=validator.validate(),!isValid&&showFirstErrorOnValidate&&(invalidFormFields=expressQuerySelectorAll(formEl,".a-form-input--error"),invalidFormFields[0]&&invalidFormFields[0].scrollIntoView({behavior:"smooth"})),isValid}),onSubmit=()=>validate().then(res=>res?onSubmitForm((()=>{const data={};return Object.keys(inputs).forEach(name=>data[name]=inputs[name].getValue().toString()||""),data})()):Promise.resolve()),submitButton=createButton(submitButtonEl,onSubmit);if(submitOnEnter&&submitButtonEl&&"submit"!==submitButtonEl.type.toLowerCase()&&(onKeyUpEvent=expressEventListener(formEl,"keypress",ev=>{"Enter"!==ev.key&&13!==ev.keyCode||(ev.preventDefault(),onSubmit())})),enablePartialSubmit&&partialSubmit){const onFormInput=ev=>__awaiter$g(this,void 0,void 0,function*(){yield partialSubmit(ev)});formEl.addEventListener("input",debounce(onFormInput,500),!1)}const getInputByName=name=>inputs[name.toLowerCase()];return{submit:onSubmit,dispose:()=>{clearAll(!0),submitButton.dispose(),onKeyUpEvent&&onKeyUpEvent.dispose()},disableForm:disable=>{getInputs().map(i=>disable?i.disable():i.enable()),resetValidation(),!disable?submitButton.enable():submitButton.disable()},disableInput:name=>{const input=getInputByName(name);input&&input.disable()},validate:validate,setErrors:(clear=!1,...errors)=>{if(errors.forEach(e=>((name,error,clear=!1)=>{const input=getInputByName(name);input&&input.setError(error,clear)})(e.name,e.error,clear)),errors.length){const input=getInputByName(errors[0].name);input&&input.inputEl.parentElement.scrollIntoView({behavior:"smooth",block:"center"})}},clearInputs:(clearValue=!1,...names)=>names.forEach(name=>((name,clearValue=!1)=>{const input=getInputByName(name);input&&input.clear(clearValue)})(name,clearValue)),clearAll:()=>clearAll(!0),setValues:(...values)=>values.filter(v=>getInputByName(v.name)).forEach(v=>((name,value)=>{const input=getInputByName(name);input&&input.setValue(value)})(v.name,v.value)),hideInput:name=>{const input=getInputByName(name);input&&input.hide()},inputs:inputs,getAllVisibleInputs:()=>{const visibleInputs=[];return getInputs().forEach(input=>{getSelfOrParentWithClassName(input.inputEl,"u-hide")||visibleInputs.push(input)}),visibleInputs},resetValidation:resetValidation}}function createFormValidator(form,options={}){const{classTo:classTo="a-form-input",errorClass:errorClass="a-form-input--error",successClass:successClass="a-form-input--validated",errorTextClass:errorTextClass="a-form-input__error-text",errorTextParent:errorTextParent="a-form-input",errorTextTag:errorTextTag="p",onValidate:onValidate}=options,validator=new Pristine(form,{classTo:classTo,errorClass:errorClass,successClass:successClass,errorTextClass:errorTextClass,errorTextParent:errorTextParent,errorTextTag:errorTextTag},!1);return{validate:()=>
1(onValidate&&onValidate(),validator.validate()),reset:()=>validator.reset()}}function subscribeAsync(email,appId,posId,lang,source){const subscription={applicationId:appId,pointOfSaleId:posId,language:lang,email:email,source:source};return postRequest(window.context.ecomApiUrl+"/subscriptions/subscribe",subscription,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})})}function toggleSubscribeAsync(personId,email,appId,posId,lang,source,newsletter,personalMessage,mailFrequency,postalMail,emarsysData){const toggleSubscription={personId:personId,applicationId:appId,pointOfSaleId:posId,language:lang,email:email,source:source,newsletter:newsletter,personalMessage:personalMessage,mailFrequency:mailFrequency,postalMail:postalMail,emarsysData:emarsysData};return postRequest(window.context.ecomApiUrl+"/subscriptions/togglesubscribe",toggleSubscription,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})})}function getFullQuerystring(url){try{url=decodeURI(url||window.location.href)}catch(e){url=url||window.location.href}const pos=url.indexOf("?");return pos>-1?url.substring(pos+1):url}function getParameters(url){const pairs=getFullQuerystring(url).split("#")[0].split("&"),params={};for(const pair of pairs){const[key,value]=pair.split("=");params[key.toLowerCase()]=void 0!==value?value:"true"}return params}function getParameter(key,url,required=!1){const queryStringParam=getParameters(url)[key?key.toLowerCase():key];if(required&&!queryStringParam)throw new Error(`No queryStringParam for Required key: ${key}`);return queryStringParam}function updateParameter(key,value,url){let newAdditionalURL="",tempArray=(url=url||window.location.href).split("#");const hash=tempArray[1]?tempArray[1]:"",additionalURL=tempArray[0]?tempArray[0].split("?")[1]:"",baseURL=tempArray[0]?tempArray[0].split("?")[0]:"";let temp="";if(additionalURL){tempArray=additionalURL.split("&");for(let i=0;i<tempArray.length;i++)tempArray[i].split("=")[0]!==key&&(newAdditionalURL+=temp+tempArray[i],temp="&")}let result=temp;return value?result+=key+"="+value:result=result.substring(0,result.length-1),newAdditionalURL||result?baseURL+"?"+newAdditionalURL+result+(hash?"#"+hash:""):baseURL+(hash?"#"+hash:"")}function addParameter(key,value,url){return(url=url||window.location.href).indexOf(key)>0?updateParameter(key,value,url):(url.indexOf("?")>0?url+="&"+key+"="+value:url+="?"+key+"="+value,url)}function queryRemoveKeys(queryKeys){let url=window.location.href;return url.indexOf("?")<0||queryKeys.forEach(x=>{url=updateParameter(x?x.toLowerCase():x,"",url)}),url}!function(Gender){Gender[Gender.Undefined=0]="Undefined",Gender[Gender.Male=1]="Male",Gender[Gender.Female=2]="Female",Gender[Gender.Neutral=3]="Neutral"}(Gender||(Gender={})),function(UpdateAccountResult){UpdateAccountResult[UpdateAccountResult.success=0]="success",UpdateAccountResult[UpdateAccountResult.duplicateEmail=1]="duplicateEmail",UpdateAccountResult[UpdateAccountResult.duplicateEmailInOtherDomain=2]="duplicateEmailInOtherDomain"}(UpdateAccountResult||(UpdateAccountResult={})),function(ChangePasswordStatus){ChangePasswordStatus[ChangePasswordStatus.OK=0]="OK",ChangePasswordStatus[ChangePasswordStatus.InvalidFormat=1]="InvalidFormat",ChangePasswordStatus[ChangePasswordStatus.EqualToOld=2]="EqualToOld",ChangePasswordStatus[ChangePasswordStatus.InvalidOld=3]="InvalidOld",ChangePasswordStatus[ChangePasswordStatus.InvalidNew=4]="InvalidNew",ChangePasswordStatus[ChangePasswordStatus.WeakPassword=5]="WeakPassword",ChangePasswordStatus[ChangePasswordStatus.Error=6]="Error"}(ChangePasswordStatus||(ChangePasswordStatus={})),function(OkResult){OkResult[OkResult.OK=0]="OK"}(OkResult||(OkResult={}));const trackEvent=(category,action,customParameters)=>{(window.dataLayer||[]).push(Object.assign({event:category,action:action},customParameters))};function trackOrderStatusEvent(action,partialEventParams,nrOrdersInAccount=-1,nrItemsInOrder=-1){trackEvent("orderStatus",action,Object.assign({accountId:getCookie("accid"),nrOrdersInAccount:nrOrdersInAccount,nrItemsInOrder:nrItemsInOrder}
1,partialEventParams))}function trackComponentEvent(action){trackEvent("component",action)}function trackAccountPrefEvent(action,eventParams){trackEvent("accountPreferences",action,eventParams)}function trackSortEvent(action,eventParams){trackEvent("sorting",action,eventParams)}function trackFiltersEvent(action,eventParams){trackEvent("filters",action,eventParams)}function isValidTextWithoutAngleBrackets(text){return!!text&&new RegExp("^[^<>]+$").test(text)}function isValidEmailAddress(email){return new RegExp("^((([a-zA-Z]|\\d|!|#|\\$|\\[|\\]|%|&|'|\\\\|\\/|\\+|\\-|=|\\?|\\^|\\*|_|{|}|`|\\||~)+(\\.([a-zA-Z]|\\d|!|#|\\$|\\[|\\]|%|&|'|\\\\|\\/|\\+|\\-|=|\\?|\\^|\\*|_|{|}|`|\\||~)+)*)|((\\x22)((((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(([\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]|\\x21|[\\x23-\\x5b]|[\\x5d-\\x7e])|(([\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))))*(((\\x20|\\x09)*(\\x0d\\x0a))?(\\x20|\\x09)+)?(\\x22)))@((([a-zA-Z]|\\d)|(([a-zA-Z]|\\d)([a-zA-Z]|\\d|-|\\.|_|~)*([a-zA-Z]|\\d)))\\.)+(([a-zA-Z])|(([a-zA-Z])([a-zA-Z]|\\d|-|\\.|_|~)*([a-zA-Z])))$").test(punycode.toUnicode(email))}function isValidWithoutNonAlphaNumericCharsAtEnd(text,el){const reg=new RegExp("^[\\p{L}\\p{N}]*$","u"),elName=el.getAttribute("name")||"",alsoAlsoAllowBracket=elName&&-1!==elName.toLowerCase().indexOf("city"),last=text.trim().charAt(text.trim().length-1);return reg.test(last)||alsoAlsoAllowBracket&&")"===last||"."===last}function canNotContainOnlyNumerics(text){return!new RegExp("^[0-9]+$").test(text)}function isValidOrderNumber(orderNr){return onlyNumber(orderNr)&&14===orderNr.length}function onlyNumber(input){return Boolean(input.match(/^[0-9]*$/))}function isTempAccountEmail(email){return email.indexOf("TEMP_ACCOUNT_")>=0}function createNewsletterSubscribeAndUnsubscribe(customDocument=null){const subscriptionForms=expressQuerySelectorAll(customDocument||document,".technical-newsletter-subscribe"),unSubscriptionForms=expressQuerySelectorAll(customDocument||document,".technical-newsletter-unsubscribe");if(subscriptionForms&&subscriptionForms.length>0){let ioSubscribe;"InterSectionObserver"in window||"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype?(ioSubscribe=new IntersectionObserver((entries,observer)=>{entries.forEach(entry=>{entry.isIntersecting&&(createNewsletterSubscribe(entry.target),observer.unobserve(entry.target))})},{rootMargin:"0px 0px 0px 0px"}),subscriptionForms.forEach(el=>ioSubscribe.observe(el))):subscriptionForms.forEach(formEL=>{createNewsletterSubscribe(formEL)})}if(unSubscriptionForms&&unSubscriptionForms.length>0){let ioUnSubscribe;"InterSectionObserver"in window||"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype?(ioUnSubscribe=new IntersectionObserver((entries,observer)=>{entries.forEach(entry=>{entry.isIntersecting&&(createNewsletterUnsubscribe(entry.target),observer.unobserve(entry.target))})},{rootMargin:"0px 0px 0px 0px"}),unSubscriptionForms.forEach(el=>ioUnSubscribe.observe(el))):unSubscriptionForms.forEach(formEL=>{createNewsletterUnsubscribe(formEL)})}}function createNewsletterSubscribe(containerEl){const formEl=expressQuerySelector(containerEl,"form",!0);if(!isElementVisible(formEl))return;const emailEl=expressQuerySelector(formEl,".technical-subscribe-email",!0),emptyGuid="00000000-0000-0000-0000-000000000000",appId=containerEl.dataset.appid||emptyGuid,posId=containerEl.dataset.posid||emptyGuid,lang=containerEl.dataset.lang||"",email=getCookie("LastUsedEmail");emailEl.setAttribute("required","required"),emailEl.setAttribute("emailRFC822","true"),email&&!isTempAccountEmail(email)&&(emailEl.value=email);let source=formEl.dataset.source||void 0;!source&&(source=emailEl.dataset.sourceid);return{dispose:initForm(formEl,{onSubmitForm:()=>subscribeAsync(emailEl.value,appId,posId,lang,source).finally(()=>{trackAccountPrefEvent("Subscribe to newsletter",{page:window.context.pageName}),expressAddClass(containerEl,"m-newsletter--success"),expressAddClass(formEl,"m-newsletter__form"),writeCookieThatExpiresAtTheEndOfTheDay("subscribedInThisSession","true")}
1),buttonSelector:".technical-subscribe-button",submitOnEnter:!0}).dispose}}function createNewsletterUnsubscribe(containerEl,opts,emarsysData){const formEl=containerEl instanceof HTMLFormElement?containerEl:expressQuerySelector(containerEl,"form",!0);if(!isElementVisible(formEl))return;const successMessageEl=expressQuerySelector(containerEl,".technical-success-message",!1),errorMessageEl=expressQuerySelector(containerEl,".technical-error-message",!1),emailEl=expressQuerySelector(formEl,".technical-unsubscribe-mail",!1),checkBoxEl=expressQuerySelector(formEl,"#newsletter",!1),emptyGuid="00000000-0000-0000-0000-000000000000",appId=containerEl.dataset.appid||emptyGuid,posId=containerEl.dataset.posid||emptyGuid,lang=containerEl.dataset.lang||window.context.language,email=(getParameter("email"),getCookie("LastUsedEmail"));email&&!isTempAccountEmail(email)&&(emailEl.value=email);const showSuccessMessage=()=>{successMessageEl&&expressRemoveClass(successMessageEl,"u-hide"),errorMessageEl&&expressAddClass(errorMessageEl,"u-hide"),hide(formEl),expressAddClass(containerEl,"m-newsletter--success")};emailEl&&emailEl.setAttribute("required","required"),checkBoxEl&&checkBoxEl.setAttribute("required","required");return{dispose:initForm(formEl,{onSubmitForm:()=>{const personIdFromQuery=getParameter("personid");return emailEl&&emailEl.value||personIdFromQuery?toggleSubscribeAsync(personIdFromQuery,emailEl&&emailEl.value,appId,posId,lang,"NewsletterUnsubscribe",!1,!1,void 0,void 0,emarsysData).then(_=>{showSuccessMessage(),trackAccountPrefEvent("Unsubscribe from newsletter",{page:window.context.pageName})}).catch(_=>(successMessageEl&&expressAddClass(successMessageEl,"u-hide"),errorMessageEl&&expressRemoveClass(errorMessageEl,"u-hide"),void show(formEl))):Promise.resolve(showSuccessMessage())},buttonSelector:".technical-unsubscribe-button",submitOnEnter:!0}).dispose}}function isTouchDevice(){let result=!1;return window.PointerEvent&&"maxTouchPoints"in navigator?navigator.maxTouchPoints>0&&(result=!0):(window.matchMedia&&window.matchMedia("(any-pointer:coarse)").matches||window.TouchEvent||"ontouchstart"in window)&&(result=!0),result}function isMobileDevice(){return window.matchMedia("only screen and (max-width: 960px)").matches}function initNavigationDesktop(containerEl,deps){const firstLevelMenuEls=expressQuerySelectorAll(containerEl,".technical-desktop-first-level-menu-item"),{loadDesktopMenuItemAsync:loadDesktopMenuItemAsync}=deps,loadedMenuItemsKeys=[],disposable=compositeDisposable([]),firstLevelActiveClass="o-menu-first-level__button--active",secondLevelActiveClass="o-menu-second-level__list-item--active",closeMenu=e=>{e.stopPropagation();getParentWithClassName(e.currentTarget,"o-menu-second-level__list")||firstLevelMenuEls.forEach(el=>closeFirstLevelMenuItemAndResetChildMenus(el))},resetFocussedElement=parentEl=>{const focusEl=expressQuerySelector(parentEl,".u-focussed",!1);focusEl&&expressRemoveClass(focusEl,"u-focussed")},closeFirstLevelMenuItemAndResetChildMenus=menuItem=>{resetFocussedElement(menuItem);expressRemoveClass(expressQuerySelector(menuItem,".technical-level1-button",!0),firstLevelActiveClass),closeAllSecondLevelMenuItemsAndResetChildMenus(menuItem)},closeAllSecondLevelMenuItemsAndResetChildMenus=menuItem=>{expressQuerySelectorAll(menuItem,".technical-desktop-menu-second").forEach(secondLevelMenuEl=>{resetFocussedElement(secondLevelMenuEl),expressAddClass(secondLevelMenuEl,"u-hide"),closeAllThirdLevelMenuItemsAndResetChildMenus(secondLevelMenuEl)})},closeAllThirdLevelMenuItemsAndResetChildMenus=menuItem=>{expressQuerySelectorAll(menuItem,".technical-desktop-second-level-menu-item").forEach(el=>{resetFocussedElement(el);const contentEl=expressQuerySelector(el,".technical-desktop-second-level-content",!1);contentEl&&expressAddClass(contentEl,"u-hide"),expressRemoveClass(el,secondLevelActiveClass)})},closeMenuOnMouseOut=e=>{const menuItem=e.currentTarget;closeFirstLevelMenuItemAndResetChildMenus(menuItem),e instanceof KeyboardEvent&&menuItem.focus()},getOrLoadFirstLevelMenuItem=e=>{if(e.stopPropagation(),"mouseenter"===e.type.toLowerCase()&&isTouchDevice())return;const menuItem=e.currentTarget,secondLevelMenuEl=expressQuerySelector(menuItem,".technical-desktop-menu-second",!0),buttonEL=expressQuerySelector(menuItem,".technical-level1-button",!0);if(e instanceof KeyboardEvent){expressQuerySelectorAll(containerEl,`.${firstLevelActiveClass}`).forEach(el=>{const menuItem=getSelfOrParentWithClassName(el,"technical-desktop-first-level-menu-item");menuItem&&closeFirstLevelMenuItemAndResetChildMenus(menuItem)})}else{expressQuerySelectorAll(containerEl,".technical-desktop-menu-second").forEach(el=>closeAllSecondLevelMenuItemsAndResetChildMenus(el))}if(1===expressQuerySelectorAll(secondLevelMenuEl,".o-menu-second-level__list.skeleton-loading").length){const itemKey=parseInt(menuItem.getAttribute("data-menu-item")||"",10);itemKey in loadedMenuItemsKeys||(loadedMenuItemsKeys[itemKey]=[],expressAddClass(buttonEL,firstLevelActiveClass),loadDesktopMenuItemAsync(itemKey,-1).then(res=>{secondLevelMenuEl.innerHTML="",secondLevelMenuEl.insertAdjacentHTML("beforeend",res),window.addEventListener("resize",()=>{debounce(()=>{secondLevelMenuEl&&(secondLevelMenuEl.style.top=Math.floor(expressQuerySelector(document,".technical-header",!0).clientHeight)+"px")},250)}),secondLevelMenuEl.style.top=Math.floor(expressQuerySelector(document,".technical-header",!0).clientHeight)+"px";const buttonEls=expressQuerySelectorAll(secondLevelMenuEl,".technical-third-link-item");if(buttonEls.length&&buttonEls.every(x=>"a"===x.nodeName.toLowerCase())){expressQuerySelector(secondLevelMenuEl,".o-menu-second-level__list",!0).style.left=menuItem.offsetLeft-containerEl.offsetLeft+"px"}const secondLevelListEl=expressQuerySelector(secondLevelMenuEl,".o-menu-second-level__list",!0);if(disposable.add(expressEventListener(secondLevelListEl,"keydown",onSecondLevelListKeyDown)),initSecondLevelListeners(secondLevelMenuEl),hasClass(buttonEL,firstLevelActiveClass)&&(expressRemoveClass(secondLevelMenuEl,"u-hide"),e instanceof KeyboardEvent)){const secondLevelMenuItems=getSecondLevelMenuEls(secondLevelListEl);secondLevelMenuItems.length>0&&(item=>{if(item){expressAddClass(item,"focussed");const elToFocus=getElementToFocus(item);elToFocus&&elToFocus.focus()}})(secondLevelMenuItems[0])}}),disposable.add(compositeDisposable(firstLevelMenuEls.map(el=>expressEventListener(el,"mouseleave",closeMenuOnMouseOut)))),disposable.add(expressEventListener(secondLevelMenuEl,"click",closeMenu)))}else if("click"===e.type.toLowerCase()&&isTouchDevice())hasClass(buttonEL,firstLevelActiveClass)?(expressRemoveClass(buttonEL,firstLevelActiveClass),expressAddClass(secondLevelMenuEl,"u-hide"),closeAllThirdLevelMenuItemsAndResetChildMenus(secondLevelMenuEl)):(expressAddClass(buttonEL,firstLevelActiveClass),expressRemoveClass(secondLevelMenuEl,"u-hide"));else if(e instanceof KeyboardEvent){expressAddClass(buttonEL,firstLevelActiveClass),expressRemoveClass(secondLevelMenuEl,"u-hide");const secondLevelListEl=expressQuerySelector(secondLevelMenuEl,".o-menu-second-level__list",!0),secondLevelMenuItems=getSecondLevelMenuEls(secondLevelListEl);if(secondLevelMenuItems.length>0){expressAddClass(secondLevelMenuItems[0],"focussed");expressQuerySelector(secondLevelMenuItems[0],".technical-third-link-item",!0).focus()}}else expressAddClass(buttonEL,firstLevelActiveClass),expressRemoveClass(secondLevelMenuEl,"u-hide")}
1,getSecondLevelMenuEls=parent=>expressQuerySelectorAll(parent,".technical-desktop-second-level-menu-item"),onSecondLevelItemOnKeyDown=e=>{getSelfOrParentWithClassName(e.currentTarget,"technical-desktop-second-level-menu-item")&&("ArrowRight"===e.key&&getOrLoadSecondLevelMenuItem(e),"Enter"===e.key&&getOrLoadSecondLevelMenuItem(e))},getActiveElement=elements=>{let focusedEl;const activeEl=document.activeElement;return activeEl.nodeName===elements[0].nodeName?focusedEl=activeEl:activeEl.parentElement.nodeName===elements[0].nodeName&&(focusedEl=activeEl.parentElement),focusedEl},onArrowDown=(e,elements,activativeClass,addActiveClass=!0)=>{if(e.preventDefault(),e.stopPropagation(),!elements||0===elements.length)return;let focusedEl=getActiveElement(elements);focusedEl||(focusedEl=elements.find(el=>hasClass(el,activativeClass)));let elToFocus=getElementToFocus(elements[0]);if(focusedEl){expressRemoveClass(focusedEl,activativeClass);const nextEl=elements[Array.prototype.indexOf.call(elements,focusedEl)+1];nextEl?(elToFocus=getElementToFocus(nextEl),addActiveClass&&expressAddClass(nextEl,activativeClass),elToFocus.focus()):(addActiveClass&&expressAddClass(elements[0],activativeClass),elToFocus.focus())}else addActiveClass&&expressAddClass(elements[0],activativeClass),elToFocus.focus()},onArrowUp=(e,elements,activativeClass,addActiveClass=!0)=>{if(e.preventDefault(),e.stopPropagation(),!elements||0===elements.length)return;let focusedEl=getActiveElement(elements);focusedEl||(focusedEl=elements.find(el=>hasClass(el,activativeClass)));let elToFocus=getElementToFocus(elements[elements.length-1]);if(focusedEl){expressRemoveClass(focusedEl,activativeClass);const prevEl=elements[Array.prototype.indexOf.call(elements,focusedEl)-1];prevEl?(elToFocus=getElementToFocus(prevEl),addActiveClass&&expressAddClass(prevEl,activativeClass),elToFocus.focus()):(addActiveClass&&expressAddClass(elements[elements.length-1],activativeClass),elToFocus.focus())}else addActiveClass&&expressAddClass(elements[elements.length-1],activativeClass),elToFocus.focus()},onFirstLevelOnKeyDown=e=>{const currentItem=e.currentTarget;if(getSelfOrParentWithClassName(currentItem,"technical-desktop-first-level-menu-item")){if("Escape"!==e.key&&"ArrowUp"!==e.key||closeMenuOnMouseOut(e),"Enter"===e.key){const firstLevelButtonEl=expressQuerySelector(currentItem,".technical-level1-button",!1);firstLevelButtonEl&&hasClass(firstLevelButtonEl,firstLevelActiveClass)?closeMenuOnMouseOut(e):getOrLoadFirstLevelMenuItem(e)}"ArrowDown"===e.key&&(e.preventDefault(),getOrLoadFirstLevelMenuItem(e))}},onSecondLevelListKeyDown=e=>{const currentItem=e.currentTarget,secondLevelMenuItems=getSecondLevelMenuEls(currentItem);getSelfOrParentWithClassName(currentItem,"o-menu-second-level__list")&&("ArrowDown"===e.key&&onArrowDown(e,secondLevelMenuItems,"focussed"),"ArrowUp"===e.key&&onArrowUp(e,secondLevelMenuItems,"focussed"))},onThirdLevelItemKeyDown=e=>{const currentItem=e.currentTarget;hasClass(currentItem,"u-focussed")&&"Enter"===e.key&&(currentItem.click(),e.stopPropagation())},onThirdLevelOnKeyDown=e=>{const currentItem=e.currentTarget,secondLevelContentEl=getSelfOrParentWithClassName(currentItem,"technical-desktop-second-level-content"),elementsToFocus=expressQuerySelectorAll(secondLevelContentEl,"a");if(elementsToFocus.forEach(el=>{disposable.add(expressEventListener(el,"keydown",onThirdLevelItemKeyDown)),disposable.add(expressEventListener(el,"focus",()=>{const focussedEl=elementsToFocus.find(el=>hasClass(el,"u-focussed"));focussedEl&&expressRemoveClass(focussedEl,"u-focussed"),expressAddClass(el,"u-focussed")}))}),secondLevelContentEl&&("ArrowDown"===e.key&&onArrowDown(e,elementsToFocus,"u-focussed",!1),"ArrowUp"===e.key&&onArrowUp(e,elementsToFocus,"u-focussed",!1),"ArrowRight"===e.key&&e.stopPropagation(),"ArrowLeft"===e.key||"Escape"===e.key)){e.stopPropagation();const parent=currentItem.closest(".technical-desktop-first-level-menu-item");closeAllThirdLevelMenuItemsAndResetChildMenus(parent);const secondLevelContentMenuItem=getSelfOrParentWithClassName(secondLevelContentEl,"technical-desktop-second-level-menu-item");if(secondLevelContentMenuItem){const focusedEl=elementsToFocus.find(el=>hasClass(el,"u-focussed"));focusedEl&&expressRemoveClass(focusedEl,"u-focussed");const secondLevelMenuItemToFocus=expressQuerySelector(secondLevelContentMenuItem,".technical-third-link-item",!0);secondLevelMenuItemToFocus&&secondLevelMenuItemToFocus.focus(),expressAddClass(secondLevelContentEl,"u-hide")}}},getOrLoadSecondLevelMenuItem=e=>
1{if(e.stopPropagation(),"mouseenter"===e.type.toLowerCase()&&isTouchDevice())return;const menuItem=e.currentTarget;if(e instanceof MouseEvent&&hasClass(menuItem,secondLevelActiveClass))return;const parent=menuItem.closest(".technical-desktop-first-level-menu-item");closeAllThirdLevelMenuItemsAndResetChildMenus(parent),expressAddClass(menuItem,secondLevelActiveClass);const contentEl=expressQuerySelector(menuItem,".technical-desktop-second-level-content",!1);if(!contentEl)return;expressRemoveClass(contentEl,"u-hide");if("button"===expressQuerySelector(menuItem,".technical-third-link-item",!0).nodeName.toLowerCase()){const firstLevelIndex=parseInt(parent.getAttribute("data-menu-item")||"",10),secondLevelIndex=parseInt(menuItem.getAttribute("data-menu-item")||"",10);loadedMenuItemsKeys[firstLevelIndex]&&loadedMenuItemsKeys[firstLevelIndex].includes(secondLevelIndex)?e instanceof KeyboardEvent&&focusFirstThirdLevelItem(contentEl):(loadedMenuItemsKeys[firstLevelIndex].push(secondLevelIndex),loadDesktopMenuItemAsync(firstLevelIndex,secondLevelIndex).then(res=>{contentEl.innerHTML=res,disposable.add(expressEventListener(contentEl,"keydown",onThirdLevelOnKeyDown)),e instanceof KeyboardEvent&&focusFirstThirdLevelItem(contentEl)}))}},focusFirstThirdLevelItem=contentEl=>{const elementsToFocus=expressQuerySelectorAll(contentEl,"a");if(!elementsToFocus||0===elementsToFocus.length)return;const elToFocus=getElementToFocus(elementsToFocus[0]);elToFocus&&(elToFocus.focus(),expressAddClass(elToFocus,"u-focussed"))},unLoadSecondLevelMenuItem=e=>{if(e.stopPropagation(),"mouseenter"===e.type.toLowerCase()&&isTouchDevice())return;const menuItem=e.currentTarget;hasClass(menuItem,secondLevelActiveClass)&&expressRemoveClass(menuItem,secondLevelActiveClass)},getElementToFocus=el=>{if(!el)return null;if(el instanceof HTMLAnchorElement||el instanceof HTMLButtonElement||el instanceof HTMLInputElement)return el;{const childEl=Array.from(el.childNodes).find(el=>el instanceof HTMLAnchorElement||el instanceof HTMLButtonElement||el instanceof HTMLInputElement);return childEl||(expressQuerySelector(el,"a, button, input")||el)}},initSecondLevelListeners=currentMenuItem=>{expressQuerySelectorAll(currentMenuItem,".technical-desktop-second-level-menu-item").forEach(el=>{disposable.add(expressEventListener(el,"mouseenter",getOrLoadSecondLevelMenuItem)),disposable.add(expressEventListener(el,"mouseleave",unLoadSecondLevelMenuItem)),disposable.add(expressEventListener(el,"click",getOrLoadSecondLevelMenuItem)),disposable.add(expressEventListener(el,"keydown",onSecondLevelItemOnKeyDown))})};return firstLevelMenuEls.forEach(el=>{disposable.add(expressEventListener(el,"mouseenter",getOrLoadFirstLevelMenuItem)),disposable.add(expressEventListener(el,"click",getOrLoadFirstLevelMenuItem)),disposable.add(expressEventListener(el,"keydown",onFirstLevelOnKeyDown))}),{dispose:disposable&&disposable.dispose}}const selectedClass="selected",getElementToFocus=el=>{if(!el)return null;if(el instanceof HTMLAnchorElement||el instanceof HTMLButtonElement||el instanceof HTMLInputElement)return el;{const childEl=Array.from(el.childNodes).find(el=>el instanceof HTMLAnchorElement||el instanceof HTMLButtonElement||el instanceof HTMLInputElement);return childEl||(expressQuerySelector(el,"a, button, input")||el)}};function createDropDownKeyboardNavigator(containerEl,deps){const getActiveElement=elements=>{let focusedEl;const activeEl=document.activeElement;return activeEl.nodeName===elements[0].nodeName?focusedEl=activeEl:getSelfOrParentWithClassName(activeEl,"m-navigation-mobile-ui")&&(focusedEl=getSelfOrParentWithClassName(activeEl,"m-navigation-mobile-ui")),focusedEl},onEscape=e=>{const focusedEl=deps.dropdownItemEls.find(el=>hasClass(el,"selected"));focusedEl&&expressRemoveClass(focusedEl,"selected"),deps.onEscape(e)},closeOtherDropDowns=e=>{const currentItem=e.currentTarget,openDropdowns=expressQuerySelectorAll(document,".menu-is-open, .a-language-selector--open"),self=getSelfOrParentWithClassName(currentItem,"menu-is-open")||getSelfOrParentWithClassName(currentItem,"a-language-selector--open");openDropdowns.filter(el=>
1el!==self&&!isDescendantOf(el,currentItem)).forEach(dropdown=>{expressRemoveClass(dropdown,"menu-is-open"),expressRemoveClass(dropdown,"a-language-selector--open")})};return compositeDisposable([expressEventListener(containerEl,"keydown",e=>{"Enter"===e.key&&(e=>{const currentItem=e.currentTarget,openLanguageEl=hasClass(currentItem,"a-language-selector--open"),openDropDownEl=expressQuerySelector(currentItem,".menu-is-open");if(openLanguageEl||openDropDownEl)onEscape(e);else{closeOtherDropDowns(e);const focusedEl=deps.dropdownItemEls.find(el=>hasClass(el,"selected"));focusedEl&&expressRemoveClass(focusedEl,"selected"),deps.onEnter(e)}})(e),"Escape"===e.key&&onEscape(e),"ArrowUp"===e.key&&(deps.dropdownItemEls||deps.onArrowUp)&&(deps.dropdownItemEls?(e=>{if(e.preventDefault(),deps.onBeforeArrowUp&&deps.onBeforeArrowUp(),!deps.dropdownItemEls||0===deps.dropdownItemEls.length)return;let focusedEl=getActiveElement(deps.dropdownItemEls);focusedEl||(focusedEl=deps.dropdownItemEls.find(el=>hasClass(el,"selected")));let elToFocus=getElementToFocus(deps.dropdownItemEls[deps.dropdownItemEls.length-1]);if(focusedEl){expressRemoveClass(focusedEl,"selected");const indexOfFocusedEl=Array.prototype.indexOf.call(deps.dropdownItemEls,focusedEl),prevEl=deps.dropdownItemEls[indexOfFocusedEl-1];prevEl?(elToFocus=getElementToFocus(prevEl),expressAddClass(prevEl,"selected"),elToFocus.focus()):(expressAddClass(deps.dropdownItemEls[deps.dropdownItemEls.length-1],"selected"),elToFocus.focus())}else expressAddClass(deps.dropdownItemEls[deps.dropdownItemEls.length-1],"selected"),elToFocus.focus()})(e):deps.onArrowUp(e)),"ArrowDown"===e.key&&(deps.dropdownItemEls||deps.onArrowDown)&&(deps.dropdownItemEls?(e=>{if(e.preventDefault(),deps.onBeforeArrowDown&&(closeOtherDropDowns(e),deps.onBeforeArrowDown()),!deps.dropdownItemEls||0===deps.dropdownItemEls.length)return;let focusedEl=getActiveElement(deps.dropdownItemEls);focusedEl||(focusedEl=deps.dropdownItemEls.find(el=>hasClass(el,"selected")));let elToFocus=getElementToFocus(deps.dropdownItemEls[0]);if(focusedEl){expressRemoveClass(focusedEl,"selected");const indexOfFocusedEl=Array.prototype.indexOf.call(deps.dropdownItemEls,focusedEl),nextEl=deps.dropdownItemEls[indexOfFocusedEl+1];nextEl?(elToFocus=getElementToFocus(nextEl),expressAddClass(nextEl,"selected"),elToFocus.focus()):(expressAddClass(deps.dropdownItemEls[0],"selected"),elToFocus.focus())}else expressAddClass(deps.dropdownItemEls[0],"selected"),elToFocus.focus()})(e):deps.onArrowDown(e))})])}function initLanguageSelector(buttonEl){let eventDisposables,onDocumentClickDisposable;const openClassName="a-language-selector--open",closeMenu=()=>{buttonEl.classList.remove(openClassName),detachDocumentClick()},openMenu=()=>{buttonEl.classList.add(openClassName),attachOnDocumentClick()},isClosed=()=>!buttonEl.classList.contains(openClassName),onDocumentClick=e=>{e.target.closest(".technical-language-selector, .technical-language-selector-choices")||closeMenu()},onButtonClick=()=>{isClosed()&&attachOnDocumentClick(),buttonEl.classList.toggle(openClassName)},attachOnDocumentClick=()=>onDocumentClickDisposable=compositeDisposable([expressEventListener(document,"click",onDocumentClick,!0)]),detachDocumentClick=()=>onDocumentClickDisposable&&onDocumentClickDisposable.dispose(),dispose=()=>{eventDisposables&&eventDisposables.dispose(),detachDocumentClick()};return eventDisposables=compositeDisposable([expressEventListener(buttonEl,"click",onButtonClick)]),isMobile()||eventDisposables.add(createDropDownKeyboardNavigator(buttonEl,{onEscape:closeMenu,onEnter:openMenu,onBeforeArrowDown:()=>{isClosed()&&openMenu()},dropdownItemEls:expressQuerySelectorAll(buttonEl,".a-language-selector__link")})),{deInit:()=>{dispose(),closeMenu()},dispose:dispose}}function initTooltip(options){const{buttonEl:buttonEl,containerEl:containerEl,onOpen:onOpen,onClose:onClose,openClass:openClass,tooltipSelector:tooltipSelector,toggleIconSelector:toggleIconSelector,useCapture:useCapture=!1}=options,closeToolTip=()=>{containerEl.classList.remove(openClass||"m-tooltip--is-open"),onClose&&onClose(),document.removeEventListener("click",onDocumentClick)},openToolTip=()=>{containerEl.classList.contains(openClass||"m-tooltip--is-open")||(containerEl.classList.add(openClass||"m-tooltip--is-open"),onOpen&&onOpen(containerEl),document.addEventListener("click",onDocumentClick,{capture:useCapture}))},onButtonClick=e=>{getParents(e.target,tooltipSelector||".technical-price-tooltip").length<1&&(containerEl.classList.contains(openClass||"m-tooltip--is-open")?closeToolTip():openToolTip())},onDocumentClick=e=>{const selector=(tooltipSelector||".technical-price-tooltip")+", "+toggleIconSelector;e.target.closest(selector)||closeToolTip()};null==buttonEl||buttonEl.addEventListener("click",onButtonClick);return{dispose:()=>{null==buttonEl||buttonEl.removeEventListener("click",onButtonClick),document.removeEventListener("click",onDocumentClick)},closeToolTip:closeToolTip,openToolTip:openToolTip}}function initSearchBar(desktopSearchBarContainer,mobileSearchBarContainer,autoCompleteSearch,onOpen,onClose){const initAutoComplete=(buttonEl,inputEl,clearSearchButtonEl)=>{const form=inputEl.parentElement;buttonEl&&buttonEl.classList.add("a-action--disabled");return buttonEl.onkeyup=ev=>{"Enter"===ev.key&&(inputEl&&inputEl.value?(fixInputValue(inputEl),form.submit()):inputEl.focus())},clearSearchButtonEl.addEventListener("click",()=>{inputEl.value="",clearSearchButtonEl.classList.add("u-hide"),buttonEl&&buttonEl.classList.toggle("a-action--disabled",!inputEl.value)}),inputEl.onkeyup=function(ev){clearSearchButtonEl&&clearSearchButtonEl.classList.toggle("u-hide",!inputEl.value.length),buttonEl&&buttonEl.classList.toggle("a-action--disabled",!inputEl.value),"Enter"===ev.key&&(inputEl&&inputEl.value?(fixInputValue(inputEl),form.submit()):inputEl.focus())},form.onsubmit=function(e){inputEl&&inputEl.value&&validateInput(inputEl)?fixInputValue(inputEl):e.preventDefault()},createTextInputWithAutoComplete(inputEl,{onSelect:()=>{onClose&&onClose(),form.submit()},autoCompleteSearch:searchTerm=>{if(validateInput(inputEl,searchTerm))return autoCompleteSearch(searchTerm).then(res=>res.map(item=>({value:item,label:item})))},onOpen:onOpen,onClose:onClose,renderTextContent:(item,currentSearchterm)=>{currentSearchterm=currentSearchterm.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&");const re=new RegExp("("+currentSearchterm.split(" ").join("|")+")","gi");return`<span class"a-typography a-typography--remarks">${item.value.replace(re,"<span class='u-color-style--blue-500'>$1</span>")}</span>`},containerClass:"m-suggestion-list m-search-bar__suggestion-list technical-autocomplete-suggestions",containerInsertPosition:"afterend"})},fixInputValue=inputEl=>{inputEl.value=inputEl.value.replace(/[<>]+/g,"")},validateInput=(inputEl,searchTerm)=>isValidTextWithoutAngleBrackets(searchTerm||inputEl.value),desktopSearchBar=initAutoComplete(expressQuerySelector(desktopSearchBarContainer,".technical-search",!0),expressQuerySelector(desktopSearchBarContainer,".m-search-bar__input",!0),expressQuerySelector(desktopSearchBarContainer,".technical-clear-search",!0)),mobileSearchBar=(containerEl=>{const inputEl=expressQuerySelector(containerEl,".m-search-bar__input",!0),buttonEl=expressQuerySelector(containerEl,".technical-search",!0),clearSearchButtonEl=expressQuerySelector(containerEl,".technical-clear-search",!0),autoComplete=initAutoComplete(buttonEl,inputEl,clearSearchButtonEl);inputEl.parentElement.onsubmit=function(e){inputEl&&inputEl.value&&validateInput(inputEl)?fixInputValue(inputEl):e.preventDefault()};const overlayComponent=initTooltip({buttonEl:containerEl.parentElement.previousElementSibling,containerEl:containerEl.parentElement,onOpen:()=>inputEl.focus(),openClass:"menu-is-open",tooltipSelector:".technical-mobile-searchbar",toggleIconSelector:".icon-search_thin"});return{dipose:()=>{overlayComponent.dispose(),autoComplete.dispose()}}})(mobileSearchBarContainer);return{dispose:()=>{mobileSearchBar.dipose(),desktopSearchBar.dispose()}}}function createNotificationTile(containerEl,markNotificationAsRead){const returnElements=[],statusEl=expressQuerySelector(containerEl,".m-notification-tile__read-status",!0),cb=expressQuerySelector(statusEl,".a-form-input__input",!0),linkEl=expressQuerySelector(containerEl,".m-notification-tile__text__link",!1),onTileClick=e=>{e.preventDefault(),cb.disabled=!0,statusEl.removeEventListener("click",onTileClick),markNotificationAsRead(cb.value).then(()=>containerEl.classList.add("o-notifications-center__notification-tile--removed")).then(()=>remove(containerEl))};return statusEl.addEventListener("click",onTileClick),linkEl&&linkEl.addEventListener("click",()=>{trackOrderStatusEvent("ClickOnOrderItemNotificationLink",{orderNumber:linkEl.dataset.ordernumber||"",pvc:linkEl.dataset.sku||"",orderStatus:linkEl.dataset.orderstatus||""})}),linkEl&&returnElements.push(linkEl),returnElements.push(cb),returnElements}function createNotificationCenter(containerEl,deps){let onDocumentClickDisposable,onMarkedAllAsReadDisposable,keyboardNavigatorDisposables;const domParser=new DOMParser;let loaded=!1;const{getNotifications:getNotifications,isMobile:isMobile,markNotificationsAsRead:markNotificationsAsRead,onClose:onClose,onOpen:onOpen}=deps,buttonEl=expressQuerySelector(containerEl,".o-icon-navigation__notifications-center__icon",!0),notificationBellCountEl=expressQuerySelector(buttonEl,".o-icon-navigation__count ",!0),menuEl=expressQuerySelector(containerEl,".o-icon-navigation__notifications-center-menu",!0),overLayEl=expressQuerySelector(menuEl,".technical-notification-center-overlay",!0),contentEl=expressQuerySelector(overLayEl,".m-navigation-overlay__content",!0),closeButtonEl
1=expressQuerySelector(overLayEl,".m-navigation-overlay__close-container",!0);let markAllAsReadButton;const setOverLayClass=()=>{const mobile=isMobile();overLayEl.classList.remove("m-navigation-overlay__mobile-view","m-navigation-overlay__desktop-view"),overLayEl.classList.add(mobile?"m-navigation-overlay__mobile-view":"m-navigation-overlay__desktop-view")},getTiles=()=>expressQuerySelectorAll(contentEl,".m-notification-tile"),onMarkedAsReadSingle=ids=>markNotificationsAsRead(ids.split(";")).then(()=>loadNotifications(!0)),onMarkedAllAsRead=()=>{markAllAsReadButton&&(markAllAsReadButton.disabled=!0,markAllAsReadButton.classList.add("a-button--disabled")),detachMarkAllAsReadClick();const ids=getTiles().map(el=>expressQuerySelector(el,".a-form-input__input",!0).value.split(";")).reduce((a,b)=>a.concat(b),[]);if(ids&&ids.length>0)return markNotificationsAsRead(ids).then(res=>{res&&loadNotifications(!0)})},loadNotifications=(reload=!1)=>loaded&&!reload?Promise.resolve():getNotifications().then(res=>{if(res){const notificationCenterEl=expressQuerySelector(domParser.parseFromString(res,"text/html").documentElement,".o-notifications-center__container",!0);contentEl.innerHTML="",contentEl.insertAdjacentElement("beforeend",notificationCenterEl),markAllAsReadButton=expressQuerySelector(contentEl,".o-notifications-center__mark-as-read",!0);const tiles=getTiles(),dropdownItemEls=[];tiles.length>0&&(markAllAsReadButton.classList.remove("a-button--disabled"),tiles.forEach(el=>{dropdownItemEls.push(...createNotificationTile(el,onMarkedAsReadSingle))}),attachMarkAllAsReadClick(markAllAsReadButton)),0===tiles.length&&markAllAsReadButton.classList.add("a-button--disabled"),(amount=tiles.length)>0?(notificationBellCountEl.innerHTML=amount.toString(),show(notificationBellCountEl)):(notificationBellCountEl.innerHTML="",hide(notificationBellCountEl)),isMobile()||(keyboardNavigatorDisposables&&keyboardNavigatorDisposables.dispose(),keyboardNavigatorDisposables=compositeDisposable([createDropDownKeyboardNavigator(containerEl,{onEnter:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},onEscape:onCloseIconClick,onBeforeArrowDown:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},dropdownItemEls:dropdownItemEls})])),loaded=!0}var amount}),closeMenu=()=>(menuEl.classList.remove("menu-is-open"),detachDocumentClick(),onClose&&onClose(),Promise.resolve()),openMenu=()=>(trackOrderStatusEvent("ClickOnNotificationIcon",{}),(setOverLayClass(),loadNotifications()).then(()=>{onOpen&&onOpen(),attachOnDocumentClick(),menuEl.classList.add("menu-is-open")})),onCloseIconClick=e=>{e.stopPropagation(),closeMenu()},onButtonClick=()=>menuEl.classList.contains("menu-is-open")?closeMenu():openMenu(),onDocumentClick=e=>{e.target.closest(".o-icon-navigation__notifications-center-menu, .o-icon-navigation__notifications-center__icon")||closeMenu()},attachOnDocumentClick=()=>onDocumentClickDisposable=expressEventListener(document,"click",onDocumentClick,!0),detachDocumentClick=()=>onDocumentClickDisposable&&onDocumentClickDisposable.dispose(),attachMarkAllAsReadClick=buttonEl=>onMarkedAllAsReadDisposable=expressEventListener(buttonEl,"click",onMarkedAllAsRead),detachMarkAllAsReadClick=()=>onMarkedAllAsReadDisposable&&onMarkedAllAsReadDisposable.dispose(),button=createClickableElement(buttonEl,onButtonClick),eventDisposables=compositeDisposable([expressEventListener(closeButtonEl,"click",onCloseIconClick),expressEventListener(window,"resize",setOverLayClass)]);return isMobile()||(keyboardNavigatorDisposables=compositeDisposable([createDropDownKeyboardNavigator(containerEl,{onEnter:onButtonClick,onEscape:onCloseIconClick,onBeforeArrowDown:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},dropdownItemEls:[]})])),{dispose:()=>{eventDisposables.dispose(),button.dispose(),detachDocumentClick(),detachMarkAllAsReadClick(),closeMenu(),keyboardNavigatorDisposables&&keyboardNavigatorDisposables.dispose()}}}function calculateAndSetHeightOfMobileNavigationLevel(mobileNavigationLevel){mobileNavigationLevel.style.height="100vh";const browserUiBars=mobileNavigationLevel.getBoundingClientRect().height-window.innerHeight,menuItemsLvlPositionTop=document.body.getBoundingClientRect().top-mobileNavigationLevel.getBoundingClientRect().top;mobileNavigationLevel.style.height="calc(100vh - "+Math.abs(browserUiBars)+"px + "+menuItemsLvlPositionTop+"px)"}var _a,__awaiter$f=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function initMyAccount(mainNavigationEl,deps){const{getIconsAsync:getIconsAsync,onClose:onClose,onOpen:onOpen,isMobile:isMobile,loadAccountMenu:loadAccountMenu}=deps;let onDocumentClickDisposable,keyboardNavigatorDisposables;const icons={};let loaded=!1;const myAccountContainerEl=expressQuerySelector(mainNavigationEl,".o-icon-navigation__user",!0),buttonEl=expressQuerySelector(myAccountContainerEl,".o-icon-navigation__user-icon",!0),menuEl=expressQuerySelector(myAccountContainerEl,".o-icon-navigation__user-menu",!0),overLayEl=expressQuerySelector(menuEl,".technical-navigation-overlay",!0),contentEl=expressQuerySelector(overLayEl,".m-navigation-overlay__content",!0),closeButtonEl
1=expressQuerySelector(overLayEl,".m-navigation-overlay__close-container",!0),setOverLayClass=()=>{overLayEl.classList.remove("m-navigation-overlay__mobile-view","m-navigation-overlay__desktop-view"),overLayEl.classList.add(isMobile()?"m-navigation-overlay__mobile-view":"m-navigation-overlay__desktop-view")},onOpenMyAccount=()=>__awaiter$f(this,void 0,void 0,function*(){if(loaded)return onOpen&&onOpen(),Promise.resolve();{const res=yield loadAccountMenu();onOpen&&onOpen(),contentEl.insertAdjacentHTML("beforeend",res);const buttonEls=expressQuerySelectorAll(contentEl,".technical-hassvg").filter(el=>!!el.getAttribute("data-icon-svg")),urls=buttonEls.map(el=>el.getAttribute("data-icon-svg")).filter((value,index,self)=>self.indexOf(value)===index);getIconsAsync(urls).then(res=>{res.forEach(icon=>icons[icon.url]=icon.svg),buttonEls.forEach(el=>el.insertAdjacentHTML("beforeend",icons[el.getAttribute("data-icon-svg")]))});const logoutButton=expressQuerySelector(contentEl,'a[href*="logout"]',!1);expressEventListener(logoutButton,"click",e=>{e.preventDefault(),window.loginWatcher&&window.loginWatcher.cancel(),window.location.href=logoutButton.href}),isMobile()||(keyboardNavigatorDisposables.dispose(),keyboardNavigatorDisposables.add(createDropDownKeyboardNavigator(myAccountContainerEl,{onEnter:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},onEscape:onCloseIconClick,onBeforeArrowDown:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},dropdownItemEls:expressQuerySelectorAll(contentEl,".m-navigation-mobile-ui")}))),loaded=!0}}),closeMenu=()=>(onClose&&onClose(),menuEl.classList.remove("menu-is-open"),detachDocumentClick(),Promise.resolve()),openMenu=()=>__awaiter$f(this,void 0,void 0,function*(){if(setOverLayClass(),yield onOpenMyAccount(),menuEl.classList.add("menu-is-open"),isMobile()){calculateAndSetHeightOfMobileNavigationLevel(expressQuerySelector(menuEl,".o-my-account__list",!0))}attachOnDocumentClick()}),onCloseIconClick=e=>{e.stopPropagation(),closeMenu()},onButtonClick=()=>menuEl.classList.contains("menu-is-open")?closeMenu():openMenu(),onDocumentClick=e=>{e.target.closest(".o-icon-navigation__user-menu, .o-icon-navigation__user-icon")||closeMenu()},button=createClickableElement(buttonEl,onButtonClick),eventDisposables=compositeDisposable([expressEventListener(closeButtonEl,"click",onCloseIconClick),expressEventListener(window,"resize",setOverLayClass)]);isMobile()||(keyboardNavigatorDisposables=compositeDisposable([createDropDownKeyboardNavigator(myAccountContainerEl,{onEnter:onButtonClick,onEscape:onCloseIconClick,onBeforeArrowDown:()=>{menuEl.classList.contains("menu-is-open")||openMenu()},dropdownItemEls:[]})]));const attachOnDocumentClick=()=>onDocumentClickDisposable=expressEventListener(document,"click",onDocumentClick,!0),detachDocumentClick=()=>onDocumentClickDisposable&&onDocumentClickDisposable.dispose();return{dispose:()=>{eventDisposables.dispose(),detachDocumentClick(),button.dispose(),closeMenu(),keyboardNavigatorDisposables&&keyboardNavigatorDisposables.dispose()}}}function initCountDown(containerEl,el,countDownToDate,opts){const{showDays:showDays,onCountDownFinish:onCountDownFinish,daysLabel:daysLabel,dayLabel:dayLabel}=opts,pad=(num,size)=>{let temp=num.toString();for(;temp.length<size;)temp="0"+temp;return temp},countDownTime=(input=>{const dateString=input.split(" ")[0],timeString=input.split(" ")[1],day=parseInt(dateString.split("/")[0],10),month=parseInt(dateString.split("/")[1],10)-1,year=parseInt(dateString.split("/")[2],10),hour=parseInt(timeString.split(":")[0],10),minutes=parseInt(timeString.split(":")[1],10),seconds=parseInt(timeString.split(":")[2],10);return new Date(year,month,day,hour,minutes,seconds,0)})(countDownToDate).getTime(),interval=setInterval(()=>{const now=(new Date).getTime(),timeLeft=countDownTime-now,days=Math.floor(timeLeft/864e5);let hours=Math.floor(timeLeft%864e5/36e5);const minutes=Math.floor(timeLeft%36e5/6e4),seconds=Math.floor(timeLeft%6e4/1e3);timeLeft>0?showDays&&daysLabel&&dayLabel?el.innerHTML=days>1?days+" "+daysLabel+" "+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2):1===days?days+" "+dayLabel+" "+pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2):pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2):(hours+=24*days,el.innerHTML=pad(hours,2)+":"+pad(minutes,2)+":"+pad(seconds,2)):(onCountDownFinish&&onCountDownFinish(),clearInterval(interval))},1e3)}function initHamburgerMenu(buttonEl,deps){const openClass="a-hamburger-menu
1--open",{onMenuClick:onMenuClick}=deps,menuButtonComponent=createClickableElement(buttonEl,onMenuClick,{enableOnEnter:!0});return{open:()=>buttonEl.classList.add(openClass),close:()=>buttonEl.classList.remove(openClass),toggle:force=>buttonEl.classList.toggle(openClass,force),dispose:()=>menuButtonComponent.dispose()}}const hasLocalStorage=isLocalStorageSupported(),currentScope=(null===(_a=window.context)||void 0===_a?void 0:_a.scope)||"";function isLocalStorageSupported(){if("undefined"==typeof window)return!1;try{return void 0!==window.localStorage}catch(_a){return!1}}function setLocalStorageItem(key,value,expiry){hasLocalStorage&&(expiry?window.localStorage.setItem(key,JSON.stringify({value:value,scope:currentScope,expiry:expiry.getTime()})):window.localStorage.setItem(key,JSON.stringify({value:value,scope:currentScope})))}function getLocalStorageItem(key){if(!hasLocalStorage)return null;const item=window.localStorage.getItem(key);if(!item)return null;let parsedItem;try{parsedItem=JSON.parse(item)}catch(_a){return window.localStorage.removeItem(key),null}return parsedItem.scope&&parsedItem.scope!==currentScope?(window.localStorage.removeItem(key),null):"number"==typeof(expiry=parsedItem.expiry)&&(new Date).getTime()>expiry?(window.localStorage.removeItem(key),null):parsedItem.value;var expiry}var __awaiter$e=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function initNavigationMobile(options,deps){let firstLevelMenuSelected,onDocumentClickDisposable,onCloseClickDisposable,userContainerEl,closeContainerEl,languageSelectorEl,firstLevelMenuEls=[],secondLevelMenuEls=[],thirdLevelMenuEls=[],loaded=!1;const{mobileMenuEl:mobileMenuEl,containerEl:containerEl,menuButtonEl:menuButtonEl,menuContainerEl:menuContainerEl}=options,{getMobileMenu:getMobileMenu,getIconsAsync:getIconsAsync,onOpen:onOpen,onClose:onClose}=deps,contentPreLoaded=""!==mobileMenuEl.innerHTML.replace(/^\s+|\s+$/,""),hamburgerMenuComponent=initHamburgerMenu(menuButtonEl,{onMenuClick:()=>menuContainerEl.classList.contains("menu-is-open")?closeMenu():openMenu()}),closeMenu=()=>(setCloseClasses(),detachDocumentClick(),onClose&&onClose(),Promise.resolve()),onCloseMenuClick=e=>{e.stopPropagation(),closeMenu()},onDocumentClick=e=>{e.target.closest(".technical-mobile-navigation-hamburger-menu-container, .technical-mobile-navigation-hamburger-menu-button")||closeMenu()},detachDocumentClick=()=>onDocumentClickDisposable&&onDocumentClickDisposable.dispose(),initMenuItemsAndBehavior=()=>{const firstLevelListEl=expressQuerySelector(mobileMenuEl,".o-navigation-mobile__first-level-navigation__button-list",!0);userContainerEl=expressQuerySelector(mobileMenuEl,".technical-mobile-navigation-user-container",!0),closeContainerEl=expressQuerySelector(mobileMenuEl,".technical-mobile-navigation-close-container",!0),languageSelectorEl=expressQuerySelector(mobileMenuEl,".technical-language-selector")||void 0,firstLevelMenuEls=expressQuerySelectorAll(mobileMenuEl,".technical-mobile-navigation-first-level-container"),languageSelectorEl&&initLanguageSelector(languageSelectorEl);const iconButtonEls=expressQuerySelectorAll(firstLevelListEl,".technical-icon-svg").filter(el=>!!el.getAttribute("data-icon-svg"));iconButtonEls.length>0&&(urls=>{const icons={},uniqueUrls=urls.filter((v,i)=>urls.indexOf(v)===i);return getIconsAsync(uniqueUrls).then(res=>(res.forEach(icon=>icons[icon.url]=icon.svg),icons))})(iconButtonEls.map(el=>el.getAttribute("data-icon-svg"))).then(res=>iconButtonEls.forEach(el=>{const icon=res[el.getAttribute("data-icon-svg")];icon&&el.insertAdjacentHTML("beforeend",icon)})),closeContainerEl&&attachCloseMenuClick(closeContainerEl),attachFirstMenuItemClick(firstLevelMenuEls)},openMenu=()=>(loaded?(onOpen&&onOpen(),Promise.resolve()):contentPreLoaded?(loaded=!0,initMenuItemsAndBehavior(),Promise.resolve()):getMobileMenu().then(res=>{loaded=!0,onOpen&&onOpen(),mobileMenuEl.insertAdjacentHTML("beforeend",res),initMenuItemsAndBehavior()})).then(()=>{hamburgerMenuComponent.open(),menuContainerEl.classList.add("menu-is-open"),onDocumentClickDisposable=compositeDisposable([expressEventListener(document,"click",onDocumentClick,!0)]);const firstLevelListEl=expressQuerySelector(mobileMenuEl,".o-navigation-mobile__first-level-navigation__button-list",!0);calculateAndSetHeightOfMobileNavigationLevel(firstLevelListEl),firstLevelListEl.dataset.elementHeight=firstLevelListEl.style.height||""}),hideOtherMenuItems=elem=>{elem.parentNode&&elem.parentNode.hasChildNodes()&&[].slice.call(elem.parentNode.children).forEac
1h(el=>{elem!==el&&el.classList.toggle("u-hide")})},onFirstMenuItemClick=e=>{var _a;if(handleHeaderLink(e.target))return;const firstLevelEl=e.currentTarget,secondLevelIndex=null!==(_a=Number(firstLevelEl.dataset.index))&&void 0!==_a?_a:-1,secondLevelEl=expressQuerySelector(firstLevelEl,".technical-mobile-navigation-second-level",!1);if(!secondLevelEl)return;firstLevelMenuSelected=expressQuerySelector(firstLevelEl,".technical-mobile-navigation-second-level")||void 0;const prevClickedEl=expressQuerySelector(mobileMenuEl,".technical-clicked",!1),firstLevelListEl=expressQuerySelector(mobileMenuEl,".o-navigation-mobile__first-level-navigation__button-list",!0);if(firstLevelListEl.style.height=prevClickedEl?firstLevelListEl.dataset.elementHeight:"100vh",firstLevelListEl.scrollTop=0,firstLevelMenuSelected){if(!prevClickedEl){firstLevelEl.classList.add("technical-clicked"),firstLevelEl.dataset.offset=firstLevelEl.offsetTop+"";const parent=firstLevelEl.parentNode;parent&&(parent.dataset.offset=parent.offsetTop+"")}containerEl.classList.add("second-level-is-active"),containerEl.classList.remove("third-level-is-active"),userContainerEl.classList.toggle("u-hide"),closeContainerEl.classList.toggle("u-hide"),hideOtherMenuItems(firstLevelEl),firstLevelMenuSelected.classList.toggle("u-hide");const firstLevelMenuButton=expressQuerySelector(firstLevelEl,".o-navigation-mobile__first-level-navigation__button");firstLevelMenuButton&&firstLevelMenuButton.classList.toggle("u-hide");const secondLevelNavigationEl=expressQuerySelector(firstLevelMenuSelected,".technical-second-level");secondLevelNavigationEl&&secondLevelNavigationEl.classList.remove("u-hide");expressQuerySelectorAll(firstLevelMenuSelected,".technical-mobile-navigation-second-level-container").forEach(el=>el.classList.remove("u-hide"))}prevClickedEl&&(prevClickedEl.classList.remove("technical-clicked"),setScrollTop(prevClickedEl),prevClickedEl.parentNode&&setScrollTop(prevClickedEl.parentNode));const loadSecondLevelEl=expressQuerySelector(secondLevelEl,".technical-replace-level-loaded",!1);if(!loadSecondLevelEl||!loadSecondLevelEl.parentElement){const menuItemsSecondLvl=expressQuerySelector(firstLevelMenuSelected,".o-navigation-mobile__second-level-navigation__button-list",!1);return void(menuItemsSecondLvl&&menuItemsSecondLvl.clientHeight>0?calculateAndSetHeightOfMobileNavigationLevel(menuItemsSecondLvl):firstLevelListEl.style.height=firstLevelListEl.dataset.elementHeight||"")}getMobileMenu(secondLevelIndex,-1).then(res=>{const frag=document.createRange().createContextualFragment(res);secondLevelEl.replaceChild(frag,loadSecondLevelEl);const secondLevelItems=expressQuerySelectorAll(firstLevelEl,".technical-mobile-navigation-second-level-container");secondLevelMenuEls=secondLevelMenuEls.concat(secondLevelItems),attachSecondMenuItemClick(secondLevelItems);const menuItemsSecondLvl=expressQuerySelector(firstLevelMenuSelected,".o-navigation-mobile__second-level-navigation__button-list",!1);menuItemsSecondLvl&&menuItemsSecondLvl.clientHeight>0?calculateAndSetHeightOfMobileNavigationLevel(menuItemsSecondLvl):firstLevelListEl.style.height=firstLevelListEl.dataset.elementHeight||""})},setScrollTop=el=>{const scrollPos=el.dataset.offset||"";if(scrollPos&&el.parentNode){el.parentNode.scrollTop=parseInt(scrollPos,10),el.dataset.offset=""}},onSecondMenuItemClick=e=>{var _a,_b;if(handleHeaderLink(e.target))return;e.stopPropagation();const secondLevelEl=e.currentTarget,thirdLevelDivEl=expressQuerySelector(secondLevelEl,".technical-mobile-navigation-third-level",!1);if(!thirdLevelDivEl)return;const thirdLevelEl=secondLevelEl.querySelector(".technical-mobile-navigation-third-level");if(thirdLevelEl){if(containerEl.classList.toggle("third-level-is-active"),thirdLevelEl.classList.toggle("u-hide"),hideOtherMenuItems(secondLevelEl),firstLevelMenuSelected){const secondeLevelNavigationEl=firstLevelMenuSelected.querySelector(".technical-second-level");secondeLevelNavigationEl&&secondeLevelNavigationEl.classList.toggle("u-hide")}const thirdLevelContainerEl=secondLevelEl.querySelector(".technical-mobile-navigation-container");thirdLevelContainerEl&&thirdLevelContainerEl.classList.toggle("u-hide")}const loadThridLevelEl=expressQuerySelector(thirdLevelDivEl,".technical-replace-level-loaded",!1);if(!loadThridLevelEl||!loadThridLevelEl.parentElement){const menuItemsThirdLvl=expressQuerySelector(secondLevelEl,".o-navigation-mobile__third-level-navigation__button-list",!1);return void(menuItemsThirdLvl&&menuItemsThirdLvl.offsetHeight>0&&calculateAndSetHeightOfMobileNavigationLevel(menuItemsThirdLvl))}const secondLevelIndex=null!==(_a=Number(secondLevelEl.closest(".technical-mobile-navigation-first-level-container").dataset.index))&&void 0!==_a?_a:-1,thirdLevelIndex=null!==(_b=Number(secondLevelEl.dataset.index))&&void 0!==_b?_b:-1;getMobileMenu(secondLevelIndex,thirdLevelIndex).then(res=>{const frag=document.createRange().createContextualFragment(res);thirdLevelDivEl.replaceChild(frag,loadThridLevelEl);const thirdLevelItems=expressQuerySelectorAll(secondLevelEl,".o-navigation-mobile__third-level-navigation__button-container");thirdLevelMenuEls=thirdLevelMenuEls.concat(thirdLevelItems),attachThirdMenuItemClick(thirdLevelItems);const menuItemsThirdLvl=expressQuerySelector(secondLevelEl,".o-navigation-mobile__third-level-navigation__button-list",!1);menuItemsThirdLvl&&menuItemsThirdLvl.offsetHeight>0&&calculateAndSetHeightOfMobileNavigationLevel(menuItemsThirdLvl)})},onThirdMenuItemClick=e=>{e.stopPropagation()},handleHeaderLink=evTarget=>{if(evTarget){const target=evTarget;if("a"===target.nodeName.toLowerCase()||target.parentNode&&"a"===target.parentNode.nodeName.toLowerCase())return!0}return!1},attachCloseMenuClick=closeContainerEl=>{expressQuerySelector(closeContainerEl,".m-navigation-overlay__close-icon")&&(onCloseClickDisposable=compositeDisposable([expressEventListener(closeContainerEl,"click",onCloseMenuClick)]))},attachFirstMenuItemClick=firstLevelMenuEls=>
1{firstLevelMenuEls.forEach(e=>expressEventListener(e,"click",onFirstMenuItemClick))},attachSecondMenuItemClick=secondLevelMenuEls=>{secondLevelMenuEls.forEach(e=>expressEventListener(e,"click",onSecondMenuItemClick))},attachThirdMenuItemClick=thirdLevelMenuEls=>{thirdLevelMenuEls.forEach(e=>expressEventListener(e,"click",onThirdMenuItemClick))},dispose=()=>{hamburgerMenuComponent.dispose(),onCloseClickDisposable&&onCloseClickDisposable.dispose(),detachDocumentClick(),firstLevelMenuEls.forEach(e=>e.removeEventListener("click",onFirstMenuItemClick)),secondLevelMenuEls.forEach(e=>e.removeEventListener("click",onSecondMenuItemClick)),thirdLevelMenuEls.forEach(e=>e.removeEventListener("click",onThirdMenuItemClick))},setCloseClasses=()=>{hamburgerMenuComponent.close(),menuContainerEl.classList.remove("menu-is-open"),containerEl.classList.remove("second-level-is-active"),containerEl.classList.remove("third-level-is-active"),userContainerEl&&userContainerEl.classList.remove("u-hide"),closeContainerEl&&closeContainerEl.classList.remove("u-hide"),firstLevelMenuEls.forEach(firstLevelEl=>{firstLevelEl.classList.remove("u-hide"),expressQuerySelectorAll(firstLevelEl,".o-navigation-mobile__first-level-navigation__button").forEach(el=>el.classList.remove("u-hide"))}),expressQuerySelectorAll(containerEl,".technical-mobile-navigation-second-level").forEach(el=>{el.classList.contains("u-hide")||el.classList.add("u-hide")}),secondLevelMenuEls.forEach(secondLevelEl=>{secondLevelEl.classList.contains("u-hide")||secondLevelEl.classList.add("u-hide"),expressQuerySelectorAll(secondLevelEl,".technical-mobile-navigation-container").forEach(el=>el.classList.remove("u-hide"));const thirdLevelEls=expressQuerySelectorAll(secondLevelEl,".technical-mobile-navigation-third-level");thirdLevelEls&&thirdLevelEls.forEach(thirdLevelEl=>{thirdLevelEl.classList.contains("u-hide")||thirdLevelEl.classList.add("u-hide")})})};return{deInit:()=>{dispose(),closeMenu()},setCloseClasses:setCloseClasses}}function initNavigationMobileNew(placeholder,buttonEl,deps){let onDocumentClickDisposable,languageSelector;const menuCache=[],{getMobileMenu:getMobileMenu,getIconsAsync:getIconsAsync,onOpen:onOpen,onClose:onClose}=deps,firstLevelDisposables=compositeDisposable([]),secondLevelDisposables=compositeDisposable([]),thirdLevelDisposables=compositeDisposable([]);let currentSecondLevelIndex=-1,currentThirdLevelIndex=-1;const html=expressQuerySelector(document,"html",!0),body=expressQuerySelector(document,"body",!0),hamburgerMenuComponent=initHamburgerMenu(buttonEl,{onMenuClick:()=>placeholder.classList.contains("menu-is-open")?closeMenu():openMenu()}),onDocumentClick=e=>{e.target.closest("#technical-mobile-menu, .technical-mobile-navigation-hamburger-menu-button")||closeMenu()},detachDocumentClick=()=>onDocumentClickDisposable&&onDocumentClickDisposable.dispose(),closeMenu=()=>(expressRemoveClass(html,"has-open-dialog u-no-scroll"),expressRemoveClass(body,"u-no-scroll"),setCloseClasses(),detachDocumentClick(),onClose&&onClose(),currentSecondLevelIndex=-1,currentThirdLevelIndex=-1,disposeMenuDisposables(),Promise.resolve()),setCloseClasses=()=>{hamburgerMenuComponent.close(),placeholder.classList.remove("menu-is-open"),placeholder.classList.add("u-hide")},loadIcons=urls=>__awaiter$e(this,void 0,void 0,function*(){const icons={},uniqueUrls=urls.filter((v,i)=>urls.indexOf(v)===i);return(yield getIconsAsync(uniqueUrls)).forEach(icon=>icons[icon.url]=icon.svg),icons}),attachSecondLevelMenuItemClick=secondLevelMenuEls=>{secondLevelMenuEls.forEach(e=>secondLevelDisposables.add(expressEventListener(e,"click",e=>{const clickedEl=e.currentTarget;currentThirdLevelIndex=parseInt(clickedEl.dataset.index,10),secondLevelDisposables.dispose(),onSubLevelMenuItemClick().then(r=>initThirdLevelMenuItemsAndBehavior(r))})))},onSubLevelMenuItemClick=e=>__awaiter$e(this,void 0,void 0,function*(){const cachedMenu=getCachedMenu(currentSecondLevelIndex,currentThirdLevelIndex);if(cachedMenu)return placeholder.innerHTML=cachedMenu.content,placeholder;{const newMenuEl=htmlToElement(yield getMobileMenu(currentSecondLevelIndex,currentThirdLevelIndex));return placeholder.innerHTML=newMenuEl.innerHTML,placeholder}}),initSubLevelMenuItemsAndBehavior=(menuEl,options)=>{const{onBack:onBack,disposables:disposables,initPrevLevelMenu:initPrevLevelMenu,attachMenuItemClick:attachMenuItemClick}=options,topSecondaryEl=expressQuerySelector(menuEl,".technical-navigation-secondary-top",!0),backButtonEl=expressQuerySelector(topSecondaryEl,"button",!0);if(backButtonEl&&disposables.add(expressEventListener(backButtonEl,"click",()=>{onBack();const cachedMenu=getCachedMenu(currentSecondLevelIndex,currentThirdLevelIndex);cachedMenu&&(placeholder.innerHTML=cachedMenu.content,initPrevLevelMenu(placeholder))})),loadIconsFromCmsAndCache(menuEl),attachMenuItemClick){const menuItemEls=expressQuerySelectorAll(menuEl,"button.technical-navigation-action");menuItemEls&&menuItemEls.length>0&&attachMenuItemClick(menuItemEls)}setMaxHeightOnListElement(menuEl)},initSecondLevelMenuItemsAndBehavior=menuEl=>{initSubLevelMenuItemsAndBehavior(menuEl,{onBack:()=>{currentSecondLevelIndex=-1},disposables:secondLevelDisposables,initPrevLevelMenu:initMenuItemsAndBehavior,attachMenuItemClick:attachSecondLevelMenuItemClick})},initThirdLevelMenuItemsAndBehavior=menuEl=>{initSubLevelMenuItemsAndBehavior(menuEl,{onBack:()=>{currentThirdLevelIndex=-1},disposables:thirdLevelDisposables,initPrevLevelMenu:initSecondLevelMenuItemsAndBehavior})}
1,setMaxHeightOnListElement=menuEl=>{const topEl=expressQuerySelector(menuEl,".technical-navigation-top",!0),navigationListEl=expressQuerySelector(menuEl,".technical-navigation-list",!0),topElHeight=getHeightWithMargins(topEl);navigationListEl.style.maxHeight="calc(100% - "+topElHeight+"px)"},initMenuItemsAndBehavior=menuEl=>{languageSelector&&languageSelector.dispose();const languageSelectorEl=expressQuerySelector(menuEl,".technical-language-selector");languageSelectorEl&&(languageSelector=initLanguageSelector(languageSelectorEl)),loadIconsFromCmsAndCache(menuEl);const menuItemEls=expressQuerySelectorAll(menuEl,"button.technical-navigation-action");menuItemEls&&menuItemEls.forEach(e=>firstLevelDisposables.add(expressEventListener(e,"click",e=>{const clickedEl=e.currentTarget;currentSecondLevelIndex=parseInt(clickedEl.dataset.index,10),firstLevelDisposables.dispose(),onSubLevelMenuItemClick().then(r=>initSecondLevelMenuItemsAndBehavior(r))})))},loadMobileMenu=()=>__awaiter$e(this,void 0,void 0,function*(){const cachedMenu=getCachedMenu(currentSecondLevelIndex,currentThirdLevelIndex);if(cachedMenu)return placeholder.innerHTML=cachedMenu.content,initMenuItemsAndBehavior(placeholder),Promise.resolve();{const newMenuEl=htmlToElement(yield getMobileMenu());placeholder.innerHTML=newMenuEl.innerHTML,initMenuItemsAndBehavior(placeholder),onOpen&&onOpen()}}),loadIconsFromCmsAndCache=menuEl=>{const iconButtonEls=expressQuerySelectorAll(menuEl,".technical-icon").filter(el=>{if(!el.getAttribute("data-icon-svg"))return!1;const iconFileEl=expressQuerySelector(el,".technical-icon-file");if(!iconFileEl)return!1;return!expressQuerySelector(iconFileEl,"svg")});iconButtonEls.length>0?loadIcons(iconButtonEls.map(el=>el.getAttribute("data-icon-svg"))).then(res=>{iconButtonEls.forEach(el=>{const icon=res[el.getAttribute("data-icon-svg")];if(icon){expressQuerySelector(el,".technical-icon-file").insertAdjacentHTML("beforeend",icon)}}),updateCachedMenu(currentSecondLevelIndex,currentThirdLevelIndex,menuEl.innerHTML)}):updateCachedMenu(currentSecondLevelIndex,currentThirdLevelIndex,menuEl.innerHTML)},updateCachedMenu=(secondLevelIndex,thirdLevelIndex,content)=>{if(isLocalStorageSupported()){const localStorageCache=getLocalStorageItem("mobileMenuCache")||[],existingCacheIndex=localStorageCache.findIndex(m=>m.secondLevelIndex===secondLevelIndex&&m.thirdLevelIndex===thirdLevelIndex);-1!==existingCacheIndex?localStorageCache[existingCacheIndex].content=content:localStorageCache.push({secondLevelIndex:secondLevelIndex,thirdLevelIndex:thirdLevelIndex,content:content});const expiryDate=new Date;expiryDate.setDate(expiryDate.getDate()+1),setLocalStorageItem("mobileMenuCache",localStorageCache,expiryDate)}else menuCache.push({secondLevelIndex:currentSecondLevelIndex,thirdLevelIndex:currentThirdLevelIndex,content:content})},getCachedMenu=(secondLevelIndex,thirdLevelIndex)=>{if(isLocalStorageSupported()){const localStorageCache=getLocalStorageItem("mobileMenuCache")||[];return localStorageCache&&0!==localStorageCache.length?localStorageCache.find(m=>m.secondLevelIndex===secondLevelIndex&&m.thirdLevelIndex===thirdLevelIndex):null}return menuCache.find(m=>m.secondLevelIndex===currentSecondLevelIndex&&m.thirdLevelIndex===currentThirdLevelIndex)},openMenu=()=>__awaiter$e(this,void 0,void 0,function*(){yield loadMobileMenu(),hamburgerMenuComponent.open(),expressAddClass(html,"has-open-dialog u-no-scroll"),expressAddClass(body,"u-no-scroll"),placeholder.classList.add("menu-is-open"),placeholder.classList.remove("u-hide"),onDocumentClickDisposable=compositeDisposable([expressEventListener(document,"click",onDocumentClick,!0)]),setMaxHeightOnListElement(placeholder)}),disposeMenuDisposables=()=>{firstLevelDisposables&&firstLevelDisposables.dispose(),secondLevelDisposables&&secondLevelDisposables.dispose(),thirdLevelDisposables&&thirdLevelDisposables.dispose()},dispose=()=>{hamburgerMenuComponent.dispose(),languageSelector&&languageSelector.deInit(),disposeMenuDisposables(),detachDocumentClick()};return{deInit:()=>{dispose(),closeMenu()},setCloseClasses:setCloseClasses}}function isSafari(){const agent=navigator.userAgent;return!/Chrome|Android|CriOS|FxiOS|EdgiOS/i.test(agent)&&(/Mac|iPhone|iPod|iPad/i.test(agent)&&/Safari/i.test(agent))}var __awaiter$d=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function WatchCookie(cookieName,onCookieChange){return __awaiter$d(this,void 0,void 0,function*(){const supportsCookieStoreApi="cookieStore"in window!==void 0&&!isSafari();try{return supportsCookieStoreApi?yield WatchCookieWithCookieStore(cookieName,onCookieChange):yield WatchCookieWithInterval(cookieName,onCookieChange)}catch(_a){return yield WatchCookieWithInterval(cookieName,onCookieChange)}})}function WatchCookieWithCookieStore(cookieName,onCookieChange){return __awaiter$d(this,void 0,void 0,function*(){let disposableEvent;const initialCookieValue=yield cookieStore.get(cookieName);return{start:()=>{disposableEvent=expressEventListener(cookieStore,"change",event=>__awaiter$d(this,void 0,void 0,function*(){const cookieToWatch=yield cookieStore.get(cookieName);cookieToWatch&&cookieToWatch.value!==initialCookieValue&&onCookieChange(cookieToWatch.value)}))},stop:()=>disposableEvent.dispose()}})}function WatchCookieWithInterval(cookieName,onCookieChange){return __awaiter$d(this,void 0,void 0,function*(){let timerId=-1;const initialCookieValue=getCookie(cookieName);return{start:()=>{clearInterval(timerId),timerId=setInterval(()=>{const cookieToWatch=getCookie(cookieName);cookieToWatch!==initialCookieValue&&onCookieChange(cookieToWatch)},1500)},stop:()=>clearInterval(timerId)}})}function createMainNavigation(containerEl,deps){const mainNavigationEl=containerEl,mobileMenuEl=expressQuerySelector(mainNavigationEl,"#technical-mobile-menu",!1);let navigationMobile,wasMobile=isMobile();const initMobileMenu=(onOpen,onClose)=>{if(mobileMenuEl){const pageId=mobileMenuEl.getAttribute("data-page-id"),oldMobileMenuContainerEl=expressQuerySelector(document,".technical-mobile-navigation-hamburger-menu
1-container",!1),menuButtonEl=expressQuerySelector(document,".technical-mobile-navigation-hamburger-menu-button",!0);if(oldMobileMenuContainerEl){const path="/apicore/header/mobilemenu";navigationMobile=initNavigationMobile({mobileMenuEl:mobileMenuEl,containerEl:expressQuerySelector(document,".technical-mobile-navigation",!0),menuButtonEl:menuButtonEl,menuContainerEl:expressQuerySelector(document,".technical-mobile-navigation-hamburger-menu-container",!0)},{getMobileMenu:(indexLevel2,indexLevel3)=>getHtmlRequest(path+`?indexLevel2=${null!=indexLevel2?indexLevel2:-1}&indexLevel3=${null!=indexLevel3?indexLevel3:-1}&pageId=${pageId}`,{headers:new Headers({pragma:"no-cache","cache-control":"no-cache"})}).then(res=>res),getIconsAsync:deps.getInlineSvgsAsync,onClose:()=>{onClose(),toggleScroll()},onOpen:()=>{onOpen(),toggleScroll()}})}else{const path="/apicore/headerapi/mobilemenu";navigationMobile=initNavigationMobileNew(mobileMenuEl,menuButtonEl,{getMobileMenu:(indexLevel2,indexLevel3)=>getHtmlRequest(path+`?indexLevel2=${null!=indexLevel2?indexLevel2:-1}&indexLevel3=${null!=indexLevel3?indexLevel3:-1}&pageId=${pageId}`,{headers:new Headers({pragma:"no-cache","cache-control":"no-cache"})}).then(res=>res),getIconsAsync:deps.getInlineSvgsAsync,onClose:()=>{onClose(),toggleScroll()},onOpen:()=>{onOpen(),toggleScroll()}})}}},toggleScroll=()=>{const scrollingElement=getScrollingElement();if(scrollingElement.classList.contains("u-no-scroll-mobile")){scrollingElement.classList.remove("u-no-scroll-mobile");const scrollY=parseInt(scrollingElement.dataset.scrollY,10)||window.scrollY;scrollingElement.dataset.scrollY="",window.scroll(0,scrollY)}else scrollingElement.dataset.scrollY=`${Math.round(window.scrollY)}`,scrollingElement.classList.add("u-no-scroll-mobile")},getScrollingElement=()=>document.scrollingElement||document.documentElement;(()=>{const eventAnimation=(()=>{const eventContainer=expressQuerySelector(containerEl,".technical-event-container",!1);if(!eventContainer||!window.lottie)return{toggleEventVisibility:()=>{}};const stickyNav="true"===eventContainer.dataset.stickynav,mobile=isMobileOnPageWithHeader(),seen=getCookie("evSeen")&&"1"===getCookie("evSeen"),imageContainer=expressQuerySelector(containerEl,".technical-animate-img",!0),animation=lottie.loadAnimation({container:imageContainer,renderer:"svg",loop:!1,autoplay:!1,path:window.context.cdn+imageContainer.dataset.catimage,initialSegment:seen?[255,354]:[0,354]});animation.addEventListener("complete",()=>{animation.playSegments([255,354],!0)});const animate=expressQuerySelector(containerEl,".technical-animate-img",!0);animate.style.transition="opacity 0.5s",animate.style.opacity="1";const eventContainerInitialHeight=eventContainer.clientHeight,toggleEventVisibility=visiblePx=>{mobile?(eventContainer.style.opacity=""+(1-100/70*visiblePx/100),eventContainer.style.height=eventContainerInitialHeight+1-100/70*visiblePx/5+"px",stickyNav&&(expressQuerySelector(containerEl,".technical-mobile-searchbar",!0).style.top=130-visiblePx+"px")):imageContainer.style.opacity=""+(1-100/70*visiblePx/100)};return stickyNav&&document.addEventListener("scroll",_=>!getScrollingElement().classList.contains("u-no-scroll-mobile")&&toggleEventVisibility(mobile?window.scrollY>eventContainerInitialHeight?eventContainerInitialHeight:window.scrollY:0)),animation.play(),seen||writeCookieThatExpiresAtTheEndOfTheDay("evSeen","1"),{toggleEventVisibility:hide=>toggleEventVisibility(hide?eventContainerInitialHeight:0)}})();initMobileMenu(()=>{eventAnimation.toggleEventVisibility(!0)},()=>{eventAnimation.toggleEventVisibility(!1)});const loadDesktopMenuItemAsync=(firstLevel=-1,secondLevel=-1)=>secondLevel<0?getHtmlRequest("/apicore/header/desktopmenu?indexLevel1="+firstLevel).then(res=>res):getHtmlRequest("/apicore/header/desktopmenu?indexLevel1="+firstLevel+"&indexLevel2="+secondLevel).then(res=>res),desktopLeftMenuEl=expressQuerySelector(mainNavigationEl,".technical-desktop-left-menu",!1);desktopLeftMenuEl&&initNavigationDesktop(desktopLeftMenuEl,{loadDesktopMenuItemAsync:loadDesktopMenuItemAsync});
1const langButtonEl=expressQuerySelector(mainNavigationEl,".technical-language-selector");langButtonEl&&initLanguageSelector(langButtonEl);const searchBarEl=expressQuerySelector(mainNavigationEl,".technical-desktop-searchbar",!1);searchBarEl&&initSearchBar(searchBarEl,expressQuerySelector(mainNavigationEl,".technical-mobile-searchbar",!0),searchTerm=>getRequest("/apicore/searchapi/autocomplete?searchterm="+searchTerm).then(res=>res),()=>{!isMobileOnPageWithHeader()&&eventAnimation.toggleEventVisibility(!0)},()=>{!isMobileOnPageWithHeader()&&eventAnimation.toggleEventVisibility(!1)});const notificationCenterEl=expressQuerySelector(mainNavigationEl,".o-icon-navigation__notifications-center",!1);notificationCenterEl&&createNotificationCenter(notificationCenterEl,{getNotifications:()=>getHtmlRequest("/apicore/Header/LoadNotificationTiles",{headers:new Headers({pragma:"no-cache","cache-control":"no-cache"})}).then(res=>res),isMobile:isMobileOnPageWithHeader,markNotificationsAsRead:notificationIds=>{const data=new URLSearchParams;return notificationIds.forEach(el=>{data.append("notificationIds",el)}),postRequest("/apicore/Header/MarkNotificationAsRead",data,{headers:{"Content-Type":"application/x-www-form-urlencoded"}},!0).then(res=>res)},onOpen:()=>{isMobileOnPageWithHeader()&&eventAnimation.toggleEventVisibility(!0),toggleScroll()},onClose:()=>{eventAnimation.toggleEventVisibility(!1),toggleScroll()}});expressQuerySelector(mainNavigationEl,".o-icon-navigation__user-menu",!1)&&initMyAccount(mainNavigationEl,{getIconsAsync:deps.getInlineSvgsAsync,isMobile:isMobileOnPageWithHeader,onOpen:()=>{isMobileOnPageWithHeader()&&eventAnimation.toggleEventVisibility(!0),toggleScroll()},onClose:()=>{eventAnimation.toggleEventVisibility(!1),toggleScroll()},loadAccountMenu:()=>getHtmlRequest("/apicore/Header/LoadMyAccount").then(res=>res)});const shoppingBasket=expressQuerySelector(mainNavigationEl,".o-icon-navigation__shopping-cart",!1);if(shoppingBasket){const shoppingBasketCounter=expressQuerySelector(shoppingBasket,".technical-basket-itemcount",!1);shoppingBasketCounter&&WatchCookie("cic",cookieValue=>{shoppingBasketCounter.innerHTML=cookieValue||"0"}).then(cw=>cw.start())}const leadTimesBarEl=expressQuerySelector(mainNavigationEl,".technical-leadtimes",!1);leadTimesBarEl&&(createClickableElement(leadTimesBarEl,deps.openLeadTimesPopupAsync),"true"===getParameter("leadtimes")&&leadTimesBarEl.click());const topBarContainerEl=expressQuerySelector(mainNavigationEl,".technical-top-bar-container",!1);if(topBarContainerEl){expressQuerySelectorAll(topBarContainerEl,".technical-countdown").forEach(el=>{const countDownToDate=el.dataset.countdown||"",daysLabel=el.dataset.dayslabel||"",dayLabel=el.dataset.daylabel||"";if(""!==countDownToDate){const onCountDownFinish=()=>{const barEls=expressQuerySelectorAll(topBarContainerEl,".technical-top-bar");if(1===barEls.length)hide(topBarContainerEl);else{const myTopBar=getParentWithClassName(el,"technical-top-bar");myTopBar&&myTopBar.remove(),topBarContainerEl.classList.remove("m-top-bar--combo"),topBarContainerEl.classList.add("m-top-bar--single");const otherTopBar=barEls.filter(el=>el!==myTopBar)[0];otherTopBar&&(otherTopBar.outerHTML=otherTopBar.innerHTML)}};initCountDown(topBarContainerEl,el,countDownToDate,{showDays:!0,onCountDownFinish:onCountDownFinish,daysLabel:daysLabel,dayLabel:dayLabel})}})}})();expressEventListener(window,"resize",debounce(()=>{const mobile=isMobile();if(wasMobile&&!mobile&&navigationMobile){navigationMobile.setCloseClasses();const scrollingElement=getScrollingElement();scrollingElement.classList.contains("u-no-scroll-mobile")&&(scrollingElement.classList.remove("u-no-scroll-mobile"),scrollingElement.dataset.scrollY="")}wasMobile=mobile},250))}function CreateNavigationDesktopFirstLevel(container,deps){const ACTIVE_CLASS="m-navigation-desktop-first-level__list-item--active",navigationItems=expressQuerySelectorAll(container,".technical-navigation-item"),{activatedElement:activatedElement}=deps,disposibles=navigationItems.map(x=>compositeDisposable([expressEventListener(x,"click",()=>
1{activatedElement(x),navigationItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,ni===x))}),expressEventListener(x,"mouseover",()=>{isTouchDevice()||(activatedElement(x),navigationItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,ni===x)))})]));return{close:()=>navigationItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,!1)),dispose:()=>disposibles.forEach(x=>x.dispose())}}var __awaiter$c=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function CreateNavigationDesktopSecondLevel(container,deps){const ACTIVE_CLASS="m-navigation-desktop-second-level__item--active",loading={},{activatedElement:activatedElement,getActiveIndex:getActiveIndex}=deps;let menuItems=expressQuerySelectorAll(container,".technical-navigation-item");const addEventListenersToMenuItem=x=>compositeDisposable([expressEventListener(x,"click",()=>{activatedElement(x),menuItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,ni===x))}),expressEventListener(x,"mouseover",()=>{isTouchDevice()||(activatedElement(x),menuItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,ni===x)))})]),disposible=menuItems.map(x=>addEventListenersToMenuItem(x));return{dispose:()=>disposible.forEach(x=>x.dispose()),open:firstLevelIndex=>__awaiter$c(this,void 0,void 0,function*(){if(!menuItems.some(x=>x.dataset.parentIndex===firstLevelIndex)&&!loading[firstLevelIndex]){loading[firstLevelIndex]=!0,container.classList.toggle("u-hide",!1),container.classList.toggle("skeleton-loading",!0);const secondLevelItems=expressQuerySelectorAll(htmlToElement(yield getHtmlRequest(`apicore/headerapi/desktopmenu?indexLevel1=${firstLevelIndex}`)),`.technical-navigation-item[data-parent-index='${firstLevelIndex}'][data-has-third-level]`),isStillActiveIndex=getActiveIndex()===firstLevelIndex;if(secondLevelItems.forEach(x=>{disposible.push(addEventListenersToMenuItem(x)),x.classList.toggle("u-hide",!isStillActiveIndex),container.appendChild(x)}),menuItems=[...menuItems,...secondLevelItems],loading[firstLevelIndex]=!1,!isStillActiveIndex)return!1}return menuItems.forEach(x=>{const active=x.dataset.parentIndex===firstLevelIndex;x.classList.toggle("u-hide",!active),x.classList.toggle(ACTIVE_CLASS,!1)}),container.classList.toggle("skeleton-loading",!!loading[firstLevelIndex]),container.classList.toggle("u-hide",!1),!0}),close:()=>{container.classList.toggle("u-hide",!0),menuItems.forEach(ni=>ni.classList.toggle(ACTIVE_CLASS,!1))},resetSelected:()=>menuItems.forEach(ni=>"false"===ni.dataset.hasThirdLevel&&ni.classList.toggle(ACTIVE_CLASS,!1))}}var __awaiter$b=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function CreateNavigationDesktopThirdLevel(container,deps){const{getActiveIndex:getActiveIndex}=deps,CONTAINER_HIDE_CLASS="o-navigation-desktop__third-level--hidden",loading={},thirdLevelGrid=expressQuerySelector(container,".technical-navigation-third-level-grid");let menuItems=expressQuerySelectorAll(thirdLevelGrid,".technical-navigation-item");const gridItems=expressQuerySelectorAll(thirdLevelGrid,".technical-navigation-grid-item"),sideContainer=expressQuerySelector(container,".technical-navigation-third-level-side"),addEventListenersToMenuItem=x=>{const itemAction=expressQuerySelector(x,".technical-navigation-third-level-side-link",!1)||x;return compositeDisposable([expressEventListener(itemAction,"mouseover",()=>{!isTouchDevice()&&updateSideContainer({imageUrl:x.dataset.imageUrl,title:x.dataset.name,link:x.dataset.link},!1)}),expressEventListener(itemAction,"mouseleave",()=>{updateSideContainer({imageUrl:sideContainer.dataset.imageUrl,title:sideContainer.dataset.title,link:sideContainer.dataset.link},!0)})])},disposible=gridItems.map(x=>addEventListenersToMenuItem(x)),updateSideContainer=(settings,useTitleFormat=!0)=>{const{imageUrl:imageUrl,title:title,link:link}=settings,sideContainerImage=expressQuerySelector(sideContainer,".technical-navigation-third-level-side-image"),sideContainerImageSideLink=expressQuerySelector(sideContainer,".technical-navigation-third-level-image-side-link.technical-navigation-third-level-side-link"),sideContainerTitle=expressQuerySelector(sideContainer,".technical-navigation-third-level-side-title"),sideContainerLinks=expressQuerySelectorAll(sideContainer,".technical-navigation-third-level-side-link");sideContainerImageSideLink.classList.toggle("u-hide",!imageUrl),imageUrl?sideContainerImage.src=imageUrl:sideContainerImage.removeAttribute("src"),sideContainerTitle.textContent=useTitleFormat?sideContainer.dataset.format.replace("{0}",title):title,sideContainerLinks.forEach(x=>x.href=link)};return{open:(index,sideContainerDeps)=>__awaiter$b(this,void 0,void 0,function*(){const menuLevelParts=index.split("."),firstLevelIndex=menuLevelParts[0],secondLevelActiveIndex=menuLevelParts[1],thirdMenuAlreadyLoaded=menuItems.some(x=>x.dataset.parentIndex===index),loadingKey=index;if(!thirdMenuAlreadyLoaded&&!loading[loadingKey]){loading[loadingKey]=!0,container.classList.toggle(CONTAINER_HIDE_CLASS,!1),thirdLevelGrid.classList.toggle("u-hide",!1),sideContainer.classList.toggle("u-hide",!1),container.classList.toggle("skeleton-loading",!0);const requestNode=htmlToElement(yield getHtmlRequest(`apicore/headerapi/desktopmenu?indexLevel1=${firstLevelIndex}&indexLevel2=${secondLevelActiveIndex}`)),thirdLevelItems=expressQuerySelectorAll(requestNode,`.technical-navigation-item.m-navigation-desktop-third-level__grid-item[data-parent-index='${index}']`);expressQuerySelectorAll(requestNode,".technical-navigation-grid-item").forEach(x=>disposible.push(addEventListenersToMenuItem(x)));const isStillActiveIndex=index===getActiveIndex();
1if(thirdLevelItems.forEach(x=>{x.classList.toggle("u-hide",!isStillActiveIndex),thirdLevelGrid.appendChild(x)}),menuItems=[...menuItems,...thirdLevelItems],loading[loadingKey]=!1,!isStillActiveIndex)return!1}return menuItems.forEach(x=>x.classList.toggle("u-hide",x.dataset.parentIndex!==index)),container.classList.toggle("skeleton-loading",!!loading[loadingKey]),container.classList.toggle(CONTAINER_HIDE_CLASS,!1),thirdLevelGrid.classList.toggle("u-hide",!1),sideContainer.classList.toggle("u-hide",!1),sideContainerDeps&&(sideContainer.dataset.imageUrl=sideContainerDeps.imageUrl,sideContainer.dataset.title=sideContainerDeps.title,sideContainer.dataset.link=sideContainerDeps.link),sideContainerDeps&&updateSideContainer(sideContainerDeps),!0}),close:()=>{thirdLevelGrid.classList.toggle("u-hide",!0),sideContainer.classList.toggle("u-hide",!0),container.classList.toggle(CONTAINER_HIDE_CLASS,!0)},dispose:()=>disposible.forEach(x=>x.dispose())}}var __awaiter$a=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function CreateNavigationDesktop(container){const firstLevel=expressQuerySelector(container,".technical-navigation-first-level"),secondLevel=expressQuerySelector(container,".technical-navigation-second-level"),thirdLevel=expressQuerySelector(container,".technical-navigation-third-level"),navigationOverlay=expressQuerySelector(container,".technical-navigation-overlay"),navigationHoverContainer=expressQuerySelector(container,".technical-navigation-hover-container"),secondLevelComponent=CreateNavigationDesktopSecondLevel(secondLevel,{activatedElement:el=>toggleThirdLevelMenu(el),getActiveIndex:()=>firstLevelActiveIndex.toString()}),firstLevelComponent=CreateNavigationDesktopFirstLevel(firstLevel,{activatedElement:el=>toggleSecondLevelMenu(el)}),thirdLevelComponent=CreateNavigationDesktopThirdLevel(thirdLevel,{getActiveIndex:()=>`${firstLevelActiveIndex}.${secondLevelActiveIndex}`});let firstLevelActiveIndex=-1,secondLevelActiveIndex=-1;const updateHoverableNavigationSection=()=>{navigationHoverContainer.style.height=`${navigationOverlay.offsetHeight+20}px`,navigationHoverContainer.style.top=`${navigationOverlay.offsetTop}px`},resetHoverableNavigationSection=()=>{navigationHoverContainer.style.height="0px"},closeMenu=()=>{firstLevelComponent.close(),toggleSecondLevelMenu(null),toggleThirdLevelMenu(null)},toggleSecondLevelMenu=el=>__awaiter$a(this,void 0,void 0,function*(){if(navigationOverlay.classList.toggle("o-navigation-desktop__overlay--full-width",!1),!(null==el?void 0:el.dataset.menuItem)||"false"===el.dataset.hasSecondLevel)return navigationOverlay.style.left="",navigationOverlay.classList.add("u-hide"),secondLevelComponent.close(),thirdLevelComponent.close(),firstLevelActiveIndex=-1,void resetHoverableNavigationSection();firstLevelActiveIndex=parseInt(el.dataset.menuItem,10);if(!(yield secondLevelComponent.open(el.dataset.menuItem)))return;thirdLevelComponent.close(),navigationOverlay.classList.remove("u-hide");const containerRect=container.getBoundingClientRect(),elRect=el.getBoundingClientRect(),firstLevelPaddingLeft=firstLevel&&parseFloat(window.getComputedStyle(firstLevel).paddingLeft)||0;navigationOverlay.style.left=elRect.left-containerRect.left-firstLevelPaddingLeft+"px",updateHoverableNavigationSection()}),toggleThirdLevelMenu=el=>__awaiter$a(this,void 0,void 0,function*(){if(navigationOverlay.classList.toggle("o-navigation-desktop__overlay--full-width",el&&"true"===el.dataset.hasThirdLevel),!(null==el?void 0:el.dataset.menuItem)||firstLevelActiveIndex<0||"false"===el.dataset.hasThirdLevel)return thirdLevelComponent.close(),void resetHoverableNavigationSection();secondLevelActiveIndex=parseInt(el.dataset.menuItem,10);const sideContainerDeps={title:el.dataset.name,link:el.dataset.link,imageUrl:el.dataset.imageUrl};(yield thirdLevelComponent.open(`${firstLevelActiveIndex}.${secondLevelActiveIndex}`,sideContainerDeps))&&updateHoverableNavigationSection()}),navigationDisposible=compositeDisposable([expressEventListener(container,"mouseleave",()=>closeMenu()),expressEventListener(navigationHoverContainer,"click",()=>closeMenu()),expressEventListener(document,"pointerdown",e=>{container.contains(e.target)||closeMenu()}),expressEventListener(navigationOverlay,"mouseleave",()=>{secondLevelActiveIndex<0||secondLevelComponent.resetSelected()})]);return{dispose:()=>{navigationDisposible.dispose(),firstLevelComponent.dispose(),secondLevelComponent.dispose(),thirdLevelComponent.dispose()}}}const getInlineSvgAsync=url=>fetch(url).then(response=>response.text()).then(data=>(new window.DOMParser).parseFromString(data,"text/xml")).then(document=>{if(document&&"svg"===document.documentElement.nodeName.toLowerCase()){const svgString=(new XMLSerializer).serializeToString(document);return Promise.resolve({url:url,svg:svgString})}return Promise.resolve(void 0)});function getInlineSvgsAsync(urls){return Promise.all(urls.map(u=>getInlineSvgAsync(u))).then(items=>items.filter(item=>!!item))}function createCountrySelection(deps){let onClickDisposable;const navigateTo=navigateToLink=>{navigateToLink&&(document.location.href=navigateToLink),deps.close()},attachOnClick=(button,ev)=>onClickDisposable=expressEventListener(button,"click",ev);return deps.showCountrySelectionPopup().then(()=>{const countrySelectionPopup=expressQuerySelector(document,"#country-selection");if(countrySelectionPopup){const continueButton=expressQuerySelector(countrySelectionPopup,".technical-countryselection");if(continueButton&&continueButton.dataset.countryselectionlink){const navigateToLink=continueButton.dataset.countryselectionlink.toLowerCase();attachOnClick(continueButton,()=>navigateTo(navigateToLink))}}}),{dispose:()=>{onClickDisposable&&onClickDisposable.dispose()}}}var __awaiter$9=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};let fetchingPopupContent=!1;function createPopup(options){return __awaiter$9(this,void 0,void 0,function*(){var _a;let popupEl,isOpen=!1;const eventDisposables=compositeDisposable(void 0),html=expressQuerySelector(document,"html",!0),body=expressQuerySelector(document,"body",!0);let currentY=window.scrollY;const renderedDialogEl=expressQuerySelector(document,".renderedDialogs",!0),{closeOnClickOutsidePopup:closeOnClickOutsidePopup=!0,onClose:onClose,onBeforeOpen:onBeforeOpen,onBeforeClose:onBeforeClose,onBeforeCloseAsync:onBeforeCloseAsync,onOpen:onOpen,dialogId:dialogId,cssClass:cssClass,view:view,forceRefresh:forceRefresh,data:data,closeOnEnter:closeOnEnter,openClass:openClass,disposeOnClose:disposeOnClose,customHtml:customHtml}
1=options,safeDialogId=createSafeCssClassName(dialogId||""),baseUrl=null!==(_a=options.baseUrl)&&void 0!==_a?_a:"/apicore/dialog/",createPopupFromHtml=res=>{if(!res)return Promise.resolve(void 0);const popup=renderedDialogEl.appendChild(htmlToElement(res));return safeDialogId&&popup.setAttribute("id",safeDialogId),cssClass&&expressAddClass(popup,cssClass),Promise.resolve(popup)},close=()=>__awaiter$9(this,void 0,void 0,function*(){if(onBeforeClose&&onBeforeClose(popupEl),onBeforeCloseAsync&&!(yield onBeforeCloseAsync(popupEl)))return;openClass?expressRemoveClass(popupEl,openClass):hide(popupEl),isOpen=!1;0===expressQuerySelectorAll(renderedDialogEl,".m-popup").filter(p=>p.id!==popupEl.id&&("flex"===p.style.display||p.classList.contains("is-popup-open"))).length&&(expressRemoveClass(html,"has-open-dialog u-no-scroll"),expressRemoveClass(body,"u-no-scroll"),document.documentElement.style.marginTop="0px",window.scroll(0,currentY)),eventDisposables.dispose(),onClose&&window.setTimeout(()=>{isOpen||onClose(popupEl)},200),disposeOnClose&&dispose()}),onMouseDownEvent=ev=>__awaiter$9(this,void 0,void 0,function*(){ev.stopPropagation(),ev.target.id&&getParents(ev.target,"#"+popupEl.id).length<1&&getParents(ev.target,".m-popup").length<1&&isOpen&&(yield close())}),onKeyDownEvent=ev=>__awaiter$9(this,void 0,void 0,function*(){ev.stopPropagation(),13!==ev.which&&13!==ev.keyCode||isOpen&&(yield close())}),onCloseEvent=()=>__awaiter$9(this,void 0,void 0,function*(){isOpen&&(yield close())}),addOnClose=()=>{expressQuerySelectorAll(popupEl,".technical-popup-close").forEach(closeButton=>{eventDisposables.add(expressEventListener(closeButton,"click",onCloseEvent))}),closeOnClickOutsidePopup&&getParents(popupEl).forEach(el=>{eventDisposables.add(expressEventListener(el,"mousedown",onMouseDownEvent))}),closeOnEnter&&eventDisposables.add(expressEventListener(document,"keydown",onKeyDownEvent))};popupEl||(popupEl=yield(()=>{if(safeDialogId){const popup=expressQuerySelector(document,"#"+safeDialogId,!1);if(popup){if(!forceRefresh)return popup.parentNode.appendChild(popup),Promise.resolve(popup);popup.remove()}}if(fetchingPopupContent)return Promise.resolve(void 0);if(fetchingPopupContent=!0,customHtml)return createPopupFromHtml(customHtml).finally(()=>{fetchingPopupContent=!1});return postHtmlRequest(`${baseUrl}${view}`.toLowerCase(),data,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})}).then(res=>createPopupFromHtml(res)).finally(()=>{fetchingPopupContent=!1})})());const dispose=()=>{popupEl.remove()};return Promise.resolve({popup:popupEl,openAsync:()=>(isOpen||!popupEl||(currentY=window.scrollY,onBeforeOpen&&onBeforeOpen(popupEl),openClass?expressAddClass(popupEl,openClass):show(popupEl),isOpen=!0,addOnClose(),document.documentElement.style.marginTop="-"+Math.round(currentY)+"px",expressAddClass(html,"has-open-dialog u-no-scroll"),expressAddClass(body,"u-no-scroll"),openClass||(popupEl.style.display="flex"),isOpen&&onOpen&&onOpen(popupEl)),Promise.resolve()),close:close,replaceContent:content=>{eventDisposables.dispose();expressQuerySelector(popupEl,".technical-popup-content",!0).replaceWith(content),addOnClose()},dispose:dispose})})}function checkPersonalNumber(pin,regionCode){if(""===pin.trim())return!0;switch(regionCode){case"SWE":return checksumSe(pin);case"NOR":return checksumNo(pin);case"DNK":return checksumDk(pin);case"FIN":return checksumFi(pin);default:return!0}}const checksumDk=pin=>{if(pin&&11===pin.length){const checkSumString="4327654321";let result1=0;const temp=pin.toString().substring(0,6)+pin.toString().substring(7,10);for(let i=0;i<9;i++)result1+=parseInt(checkSumString[i].toString(),10)*parseInt(temp[i].toString(),10);let checksum=11-result1%11;return 11===checksum&&(checksum=0),checksum.toString()===pin[10]}return!1},checksumFi=pin=>{if(pin&&11===pin.length){return"0123456789ABCDEFHJKLMNPRSTUVWXY"[parseInt(pin.toString().substring(0,6)+pin.toString().substring(7,10),10)%31]===pin[10]}return!1},checksumNo=pin=>{if(pin&&12===pin.length){let result1=0,result2=0;const checkSumString1="376189-452",checkSumString2="543276-5432";for(let i=0;i<10;i++)6!==i&&(result1+=parseInt(checkSumString1[i].toString(),10)*parseInt(pin[i].toString(),10));let checksum1=11-result1%11;if(11===checksum1&&(checksum1=0),checksum1.toString()!==pin[10])return!1;for(let i=0;i<11;i++)6!==i&&(result2+=parseInt(checkSumString2[i].toString(),10)*parseInt(pin[i].toString(),10));let checksum2=11-result2%11;return 11===checksum2&&(checksum2=0),checksum2.toString()===pin[11]}return!1},checksumSe=pin=>{if(!pin||11!==pin.length&&13!==pin.length)return!1;{let result1=0;const multiplier="212121-212".split("").map(s=>+s);let temp=0;13===pin.length&&(pin=pin.toString().substring(2));const pins=pin.split("").map(s=>+s);for(let i=0;i<10;i++)6!==i&&(temp=multiplier[i]*pins[i],result1+=temp>9?parseInt(temp.toString().split("")[0],10)+parseInt(temp.toString().split("")[1],10):temp);const lastDigit=parseInt(result1.toString().split("")[result1.toString().length-1],10);let checksum;return checksum=0===lastDigit?0:10-lastDigit,checksum===pins[10]}};function createScrollToTop(){const scrollToTopEl=expressQuerySelector(document,".technical-scroll-to-top",!1);if(!scrollToTopEl)return;const progressPathEl=expressQuerySelector(scrollToTopEl,".technical-progress-path",!0);(()=>{let pathLength=0,ticking=!1;const wobblerEl=expressQuerySelector(document,".technical-wobbler",!1),stickyCtaButtonEl=expressQuerySelector(document,".technical-mobile-cta-button",!1),footerEl=expressQuerySelector(document,"footer",!1);wobblerEl&&stickyCtaButtonEl&&isElementVisible(stickyCtaButtonEl)?scrollToTopEl.classList.add("m-scroll-to-top--has-wobbler--has-sticky-button"):(wobblerEl&&scrollToTopEl.classList.add("m-scroll-to-top--has-wobbler"),stickyCtaButtonEl&&isElementVisible(stickyCtaButtonEl)&&scrollToTopEl.classList.add("m-scroll-to-top--has-sticky-button")),pathLength=progressPathEl.getTotalLength(),progressPathEl.style.strokeDasharray=`${pathLength} ${pathLength}
1`,progressPathEl.style.strokeDashoffset=pathLength+"";const updateProgress=()=>{const scroll=window.scrollY,height=document.documentElement.scrollHeight-window.innerHeight,progress=pathLength-scroll*pathLength/height;progressPathEl.style.strokeDashoffset=progress+""};const setBottomStyle=()=>{stickyCtaButtonEl&&isElementVisible(stickyCtaButtonEl)?(footerEl&&(footerEl.style.marginBottom=10+stickyCtaButtonEl.clientHeight+"px"),scrollToTopEl.style.bottom=10+stickyCtaButtonEl.clientHeight+parseFloat(window.getComputedStyle(stickyCtaButtonEl.parentElement,null).getPropertyValue("padding-bottom"))+"px"):(scrollToTopEl.style.bottom="",footerEl&&(footerEl.style.marginBottom=""))};window.addEventListener("scroll",()=>{!function handleScroll(){ticking||(window.requestAnimationFrame(()=>{updateProgress(),scrollToTopEl.classList.toggle("m-scroll-to-top--active-progress",window.scrollY>50),ticking=!1}),ticking=!0)}()});const debouncedResize=debounce(()=>{stickyCtaButtonEl&&(isElementVisible(stickyCtaButtonEl)?wobblerEl?scrollToTopEl.classList.add("m-scroll-to-top--has-wobbler--has-sticky-button"):scrollToTopEl.classList.add("m-scroll-to-top--has-sticky-button"):wobblerEl?(scrollToTopEl.classList.remove("m-scroll-to-top--has-wobbler--has-sticky-button"),scrollToTopEl.classList.add("m-scroll-to-top--has-wobbler")):scrollToTopEl.classList.remove("m-scroll-to-top--has-sticky-button"),setBottomStyle())},100);window.addEventListener("resize",debouncedResize),scrollToTopEl.addEventListener("click",()=>{window.scrollTo({top:0,behavior:"smooth"}),(()=>{const isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent),isAppleDevice=0!==navigator.userAgent.indexOf("Macintosh"),isTouchScreen=navigator.maxTouchPoints>=1;return isIOS||isAppleDevice&&(isTouchScreen||(()=>{const audio=new Audio;return audio.volume=.5,1===audio.volume})())})()&&debounce(()=>{window.scrollTo({top:0,behavior:"smooth"})},100)}),updateProgress(),setBottomStyle()})()}function initLeaveIntent(){const toggleLeaveIntent=enable=>{void 0!==window.enableLeaveIntent&&(window.enableLeaveIntent=enable)},isLeaveIntentEnabled=()=>window.enableLeaveIntent&&window.location.search.indexOf("embed")<0&&"true"!==getCookie("subscribedInThisSession"),triggerLeaveIntentPopup=()=>{createPopup({dialogId:"leave-intent-dialog",view:"leaveintentdialog"}).then(popup=>{popup.popup&&popup.openAsync().then(_=>createNewsletterSubscribe(expressQuerySelector(popup.popup,".technical-newsletter-subscribe",!0)))})},init=forceEnable=>{if(isLeaveIntentEnabled()||forceEnable)try{ouibounce(!1,{sensitivity:20,aggressive:!1,sitewide:!0,timer:1e3,delay:100,callback:triggerLeaveIntentPopup,cookieExpire:1,canFire:isLeaveIntentEnabled})}catch(exc){}};return init(!1),{EnableLeaveIntentPopup:()=>init(!0),EnableLeaveIntent:()=>toggleLeaveIntent(!0),DisableLeaveIntent:()=>toggleLeaveIntent(!1)}}function ShowContentDialog(deps){const{label:label,title:title,dialogId:dialogId,cssClass:cssClass,openFunction:openFunction,okButtonKey:okButtonKey,onClose:onClose,addTitleCssClass:addTitleCssClass,extraPopupCss:extraPopupCss}=deps;if(dialogId)return createPopup({dialogId:dialogId,view:"GenericPopup",data:{BodyLabel:(null==label?void 0:label.startsWith("Label."))?label:`Label.${label}`,TitleLabel:(null==title?void 0:title.startsWith("Label."))?title:`Label.${title}`,ExtraPopupCss:extraPopupCss,TitleCssClass:addTitleCssClass?"a-typography__no-decoration technical-popup-title":"",OkButtonLabel:okButtonKey},cssClass:cssClass,closeOnClickOutsidePopup:!0,forceRefresh:!0,onClose:onClose}).then(popup=>{if(popup.popup)return popup.openAsync(),openFunction&&openFunction(popup.popup),popup})}function CreateTabs(container,deps){let tabsCollectionContainer;tabsCollectionContainer=hasClass(container,"technical-tabs")?container:expressQuerySelector(container,".technical-tabs",!0);const tabHideClass=tabsCollectionContainer.dataset.hideclass||"u-hide",addQueryStringParameter=(key,value)=>{if("URLSearchParams"in window){const searchParams=new URLSearchParams(window.location.search);searchParams.set(key,value);const newRelativePathQuery=`${window.location.pathname}?${searchParams}${window.location.hash}`;history.replaceState({},document.title,newRelativePathQuery)}},fixDataAttributes=tabEls=>{const tabContentEls=expressQuerySelectorAll(tabsCollectionContainer,".technical-tab-content");
1if(0===tabEls.filter(el=>el.dataset.url).length){let hash;for(let i=0;i<tabEls.length;i++)tabEls[i].hasAttribute("id")?(hash=toUrlHash(tabEls[i].getAttribute("id")),tabEls[i].dataset.url=hash,tabContentEls[i].dataset.url=hash):(hash="tab"+i,tabEls[i].dataset.url=hash,tabContentEls[i].dataset.url=hash)}},addEventListenerToTabs=tabEls=>{for(let i=0;i<tabEls.length;i++)tabEls[i].addEventListener("change",e=>{updateTab(tabEls,tabHideClass,e.target.dataset.url)})},updateTab=(tabEls,hideClass,hash,pushNewHash=!0,itemId)=>{const tabToSelect=hash?expressQuerySelector(tabsCollectionContainer,`input[data-url="${hash}"]`,!1):void 0;hash&&expressQuerySelector(tabsCollectionContainer,`div[data-url="${hash}"]`,!1);const tabContentEls=expressQuerySelectorAll(tabsCollectionContainer,".technical-tab-content");(()=>{for(let z=0;z<tabEls.length;z++)tabEls[z].checked=tabEls[z]===tabToSelect||!tabToSelect&&0===z,tabContentEls[z].classList.toggle(hideClass,!tabEls[z].checked),tabEls[z].checked&&pushNewHash&&tabToSelect&&addQueryStringParameter("activetab",`${hash}${itemId?`___${itemId}`:""}`)})()};(()=>{var _a,_b;const tabEls=expressQuerySelectorAll(tabsCollectionContainer,".technical-tab-input");if(tabEls.length>1){const activeTab=null===(_a=new URLSearchParams(window.location.search).get("activetab"))||void 0===_a?void 0:_a.split("___"),activeTabName=activeTab&&activeTab[0],activeTabItemId=activeTab&&activeTab[1];activeTabItemId&&(null===(_b=expressQuerySelector(container,`#${activeTabItemId}`,!1))||void 0===_b||_b.scrollIntoView({block:"start",behavior:"smooth",inline:"start"})),0===tabEls.filter(el=>el.dataset.url).length&&fixDataAttributes(tabEls),updateTab(tabEls,tabHideClass,activeTabName,void 0,activeTabItemId),addEventListenerToTabs(tabEls)}})()}function createPopupLauncher(el){const dialogId=el.dataset.dialogid||"",contentKey=el.dataset.label||"";if(dialogId&&contentKey){const initContentParts=popupEl=>{if(!popupEl)return;const tabsEl=expressQuerySelector(popupEl,".m-tabs",!1);tabsEl&&CreateTabs(tabsEl)};expressEventListener(el,"click",e=>{e.preventDefault(),ShowContentDialog({dialogId:dialogId,label:contentKey,openFunction:initContentParts})})}}const basePath$1="/apicore/componentapi/";function getComponentContent(component,contentKey,epc="",isProspect=!1,themeKey="",pageTemplate="",pageName="",index="0",hideprices="false",hidepromotionvisualization="false"){let path=basePath$1+component;return contentKey&&(path=addParameter("contentKey",contentKey,path)),epc&&(path=addParameter("epc",epc,path)),path=addParameter("isProspect",isProspect+"",path),themeKey&&(path=addParameter("theme",themeKey,path)),pageTemplate&&(path=addParameter("pageTemplate",pageTemplate,path)),pageName&&(path=addParameter("pageName",pageName,path)),path=addParameter("index",index,path),path=addParameter("hideprices",hideprices,path),path=addParameter("hidepromotionvisualization",hidepromotionvisualization,path),getHtmlRequest(path,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})}).then()}function pushComponentEvent(componentName){window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:componentName+".component.loaded"})}function parseBool(input,defaultValue=!1){return input?"true"===input.toLowerCase()||("1"===input||defaultValue):defaultValue}function createComponentLoader(){const componentEls=expressQuerySelectorAll(document,"[data-component]"),components=[],isMobile=()=>isMobileOnPageWithHeader(),initComponent=el=>{const componentName=el.dataset.component||"",index=el.dataset.index||"",initialized=parseBool(el.dataset.init);if(!componentName||initialized)return;const currentComponent=index?components.find(c=>c.name===componentName&&c.index===index):components.find(c=>c.name===componentName);currentComponent&&currentComponent.activate()};const componentObserver=new IntersectionObserver(function callback(entries,observer){entries.forEach(entry=>{!entry.isIntersecting&&entry.intersectionRatio<=0||(initComponent(entry.target),observer.unobserve(entry.target))})},{rootMargin:"200px 0px 200px 0px",threshold:[0,.5,1]}),createComponent=componentEl=>{const name=componentEl.dataset.component||"";if(!name)return;const callback=componentEl.dataset.componentCallback||"",passElInCallback=parseBool(componentEl.dataset.componentPassElementInCallback),trackGaEvent=componentEl.dataset.componentGaEvent||"",trackHeight=parseBool(componentEl.dataset.componentTrackHeight),pushDatalayerEvent=parseBool(componentEl.dataset.componentPushDatalayerEvent),contentKey=componentEl.dataset.componentContentkey||"",epc=componentEl.dataset.componentEpc||"",isProspect=parseBool(componentEl.dataset.componentIsProspect),themeKey=componentEl.dataset.componentTheme||"",pageTemplate=componentEl.dataset.componentTemplate||"",replaceNode=componentEl.dataset.replaceNode||!1,pageName=componentEl.dataset.componentPageName||"",hideprices=componentEl.dataset.hideprices||"",hidepromotionvisualization=componentEl.dataset.hidepromotionvisualization||"";let index="0";if(components.find(el=>el.name===name)&&(index=components.filter(el=>el.name===name).length+""),componentEl.dataset.index=index,trackHeight){const height=sessionStorage.getItem(name+(isMobile()?"Mobile":"Desktop")+"Height");height&&(componentEl.style.minHeight=height+"px")}const loadJavascriptAndRunMethod=()=>{callback&&(passElInCallback?window[callback].call(this,componentEl):window[callback].call(this))},component={name:name,activate:()=>{componentEl.dataset.init="true",getComponentContent(name,contentKey,epc,isProspect,themeKey,pageTemplate,pageName,index,hideprices,hidepromotionvisualization).then(r=>{if(!r||!isValidPartialViewResponse(r))return!1;const parent=componentEl.parentElement;if(parent&&replaceNode){const elementHtml=document.createRange().createContextualFragment(r);if(parent.replaceChild(elementHtml,componentEl),componentEl=parent,trackGaEvent&&trackComponentEvent(trackGaEvent),trackHeight){const height=componentEl.offsetHeight;sessionStorage.setItem(name+(isMobile()?"Mobile":"Desktop")+"Height",he
1ight+"")}}else{if(componentEl.insertAdjacentHTML("afterbegin",r),trackGaEvent&&trackComponentEvent(trackGaEvent),trackHeight){const height=componentEl.offsetHeight;sessionStorage.setItem(name+(isMobile()?"Mobile":"Desktop")+"Height",height+"")}hasClass(componentEl,"skeleton-loading")&&expressRemoveClass(componentEl,"skeleton-loading"),componentEl.getAttribute("style")&&componentEl.removeAttribute("style")}return pushDatalayerEvent&&pushComponentEvent(name),!0}).then(r=>{r?callback&&loadJavascriptAndRunMethod():componentEl.dataset.error="true"})},index:index};components.push(component)};(componentEls.forEach(el=>createComponent(el)),Promise.resolve()).then(_=>{componentEls.forEach(el=>{isElementPartiallyVisibleInViewport(el,10)?initComponent(el):componentObserver.observe(el)})})}function isValidVatNumber(input,countryCode){if(vatNumberHasCorrectCountryCode(input,countryCode)){if("bel"!==countryCode.toLowerCase())return!0;const vatNumber=input.match(/\d/g);let vatNumberString="";vatNumber&&(vatNumberString=vatNumber.join(""));const part1=parseInt(vatNumberString.substring(0,vatNumberString.length-2),10),part2=parseInt(vatNumberString.substring(vatNumberString.length-2),10);return 97-(part1-97*parseInt(part1/97+"",10))===part2}return!1}function vatNumberHasCorrectCountryCode(vatNumber,countryCode){if("bel"!==countryCode.toLowerCase()&&"ndl"!==countryCode.toLowerCase()&&"che"!==countryCode.toLowerCase()&&"swe"!==countryCode.toLowerCase())return!0;let testVal;switch(countryCode.toLowerCase()){case"bel":return testVal=vatNumber.substring(0,2),!!onlyNumber$1(testVal)||onlyLetters(testVal)&&"be"===testVal.toLowerCase();case"ndl":return testVal=vatNumber.substring(0,2),!!onlyNumber$1(testVal)||onlyLetters(testVal)&&"nl"===testVal.toLowerCase();case"che":return testVal=vatNumber.substring(0,3),!!onlyNumber$1(testVal)||onlyLetters(testVal)&&"che"===testVal.toLowerCase();case"swe":return testVal=vatNumber.substring(0,2),!!onlyNumber$1(testVal)||onlyLetters(testVal)&&"se"===testVal.toLowerCase()}}function getDate(dateString){if(!new RegExp(/(^(0?[1-9]|[12][0-9]|3[01])[/-](0?[1-9]|1[012])[/-]\d{4}$)|(^\d{4}[-](0?[1-9]|1[012])[/-](0?[1-9]|[12][0-9]|3[01])$)/).test(dateString))throw Error("invalid date format: "+dateString+". Expected either YYYY-MM-DD or DD-MM-YYYY");let date;if(4===dateString.substr(0,dateString.indexOf("-")).length)date=new Date(dateString);else{const dateParts=dateString.split("-").map(s=>+s);date=new Date(dateParts[2],dateParts[1]-1,dateParts[0])}return date}function createAbandonedVisitTitleSwapper(){const origTitle=document.title,titleEl=expressQuerySelector(document,"title",!0);if(titleEl.dataset.abandonedvisitenabled&&"false"===titleEl.dataset.abandonedvisitenabled.toLowerCase())return;let blinkInterval;const blinkTitle=()=>{document.title===titleEl.dataset.abandonedvisittitle?document.title=titleEl.dataset.abandonedvisittitlealternate:document.title=titleEl.dataset.abandonedvisittitle};window.addEventListener("beforeunload",()=>{document.title=origTitle}),pageVisibilityChange(()=>{clearInterval(blinkInterval),blinkInterval=null,document.title=origTitle},()=>{if(!blinkInterval){const interval=parseInt(titleEl.dataset.abandonedvisitspeed,10)||2e3;blinkInterval=setInterval(blinkTitle,interval)}})}const baseUrl$1="/apicore/inlineedit/";function login(googleIdToken){return postRequest(`${baseUrl$1}login`,googleIdToken,{headers:{"Content-type":"application/json; charset=utf-8"}})}function logout(){return deleteRequest(`${baseUrl$1}logout`,{})}function saveContentItemFieldAsync(requestData){return postRequest(`${baseUrl$1}SaveContentItemField`,requestData,{headers:{"Content-type":"application/json; charset=utf-8"}})}var PageLogStyle,__awaiter$8=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function initializeInlineEditCard(){const disposible=compositeDisposable([]),element=expressQuerySelector(document,".technical-inline-edit",!1);if(!element)return;const button=expressQuerySelector(element,".technical-editing-card-collapse-button"),dataContainer=expressQuerySelector(element,".technical-inline-edit__data-container"),loginContainer=expressQuerySelector(element,".technical-inline-edit__login-container"),loggingInContainer=expressQuerySelector(element,".technical-inline-edit__logging-in-container"),loggingOutContainer=expressQuerySelector(element,".technical-inline-edit__logging-out-container"),logoutButtonEl
1=expressQuerySelector(element,".technical-inline-edit-logout"),initGoogleClient=()=>{google.accounts.id.initialize({client_id:loginContainer.dataset.googleClientId,use_fedcm_for_button:!0,callback:response=>__awaiter$8(this,void 0,void 0,function*(){response&&(expressAddClass(loginContainer.firstElementChild,"u-hide"),expressRemoveClass(loggingInContainer,"u-hide"),yield login(response.credential),window.location.reload())})}),google.accounts.id.renderButton(loginContainer,{type:"standard",shape:"rectangular",size:"large",width:250,locale:window.context.locale})};disposible.addMany([expressEventListener(button,"click",()=>{element.classList.toggle("t-inline-editing-card--collapsed")}),expressEventListener(logoutButtonEl,"click",()=>__awaiter$8(this,void 0,void 0,function*(){expressAddClass(dataContainer,"u-hide"),expressRemoveClass(loggingOutContainer,"u-hide"),yield logout(),window.location.reload()}))]);const googleScriptSrc="https://accounts.google.com/gsi/client?hl="+window.context.language,scripts=document.getElementsByTagName("script");for(const item of scripts)if(item.src===googleScriptSrc)return void initGoogleClient();const scriptEl=document.createElement("script");scriptEl.type="text/javascript",scriptEl.async=!0,scriptEl.defer=!0,scriptEl.onload=initGoogleClient,scriptEl.src=googleScriptSrc;const firstScriptEl=document.getElementsByTagName("script")[0];return firstScriptEl.parentElement.insertBefore(scriptEl,firstScriptEl),{dispose:disposible.dispose}}function createPageLog(containerEl){const iconEl=expressQuerySelector(containerEl,".technical-top-message-icon",!0),descriptionEl=expressQuerySelector(containerEl,".technical-top-message-description",!0),getClassesByPrefix=(el,prefix)=>[].slice.call(el.classList).filter(c=>c.indexOf(prefix)>-1),scrollTo=()=>window.scrollTo({top:getOffsetTop(containerEl),behavior:"smooth"}),getOffsetTop=offsetElement=>{let offsetTop=0,elem=offsetElement;do{elem.offsetTop>0&&(offsetTop+=elem.offsetTop),elem=elem.offsetParent}while(elem);return offsetTop};return{updateMessageAndStyle:(logStyle,description,overrideScrollTo=!1)=>{const disableScroll=description===descriptionEl.innerHTML;containerEl.classList.remove(...getClassesByPrefix(containerEl,"m-page-log--")),iconEl.classList.remove(...getClassesByPrefix(iconEl,"v2-a-icon--background-circle-"));const{type:type,iconBackgroundCircle:iconBackgroundCircle,icon:icon,iconTestId:iconTestId}=(logStyle=>{switch(logStyle){case PageLogStyle.Error:return{type:"m-page-log--error",iconBackgroundCircle:"v2-a-icon--background-circle-red",icon:"/svg/close-symbol.svg#close-symbol",iconTestId:"close-symbol"};case PageLogStyle.Success:return{type:"m-page-log--validation",iconBackgroundCircle:"v2-a-icon--background-circle-green",icon:"/svg/checkmark-symbol.svg#checkmark-symbol",iconTestId:"checkmark-symbol"};case PageLogStyle.WarningBlue:return{type:"m-page-log--info-blue",iconBackgroundCircle:"v2-a-icon--background-circle-blue",icon:"/svg/info-symbol.svg#info-symbol",iconTestId:"info-symbol"};case PageLogStyle.WarningOrange:return{type:"m-page-log--info-orange",iconBackgroundCircle:"v2-a-icon--background-circle-orange",icon:"/svg/info-symbol.svg#info-symbol",iconTestId:"info-symbol"};default:return{type:"",iconBackgroundCircle:"",icon:"",iconTestId:""}}})(logStyle);containerEl.classList.add(type),iconEl.classList.add(iconBackgroundCircle),iconEl.dataset.test=iconTestId;const useEl=expressQuerySelector(iconEl,"use",!0);useEl.getAttribute("href")!==icon&&useEl.setAttribute("href",icon),descriptionEl.innerHTML=description,containerEl.classList.remove("u-hide"),disableScroll&&!overrideScrollTo||scrollTo()},hideLog:()=>containerEl.classList.add("u-hide"),scrollTo:scrollTo}}!function(PageLogStyle){PageLogStyle[PageLogStyle.None=0]="None",PageLogStyle[PageLogStyle.Error=1]="Error",PageLogStyle[PageLogStyle.WarningBlue=2]="WarningBlue",PageLogStyle[PageLogStyle.WarningOrange=3]="WarningOrange",PageLogStyle[PageLogStyle.Success=4]="Success"}(PageLogStyle||(PageLogStyle={}));var __awaiter$7=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};let skipDiscardChangesCheck,mainPopup,flushContent,isFormChanged,pageLog;function openConfirmationPopupAsync(){return __awaiter$7(this,void 0,void 0,function*(){const confirmDiscardChangesDisposable=compositeDisposable([]),confirmPopup=yield createPopup({view:"GenericPopup",dialogId:"inlineedit-popup-confirmDiscardChanges",forceRefresh:!1,closeOnClickOutsidePopup:!1,data:{ExtraPopupCss:"p-default",TitleLabel:"Label.InlineEdit.ConfirmDiscardChanges.Title",BodyLabel:"Label.InlineEdit.ConfirmDiscardChanges.Description",OkButtonLabel:"Label.InlineEdit.ConfirmDiscardChanges.OkButtonText",CancelButtonLabel:"Label.InlineEdit.ConfirmDiscardChanges.CancelButtonText"},onClose:()=>{confirmDiscardChangesDisposable.dispose()}}),okButton=expressQuerySelector(confirmPopup.popup,".technical-general-popup-ok-button",!0),cancelButton=expressQuerySelector(confirmPopup.popup,".technical-general-popup-cancel-button",!0);confirmDiscardChangesDisposable.add(expressEventListener(okButton,"click",_=>{skipDiscardChangesCheck=!0,confirmPopup.close(),mainPopup.close()})),confirmDiscardChangesDisposable.add(expressEventListener(cancelButton,"click",_=>confirmPopup.close())),yield confirmPopup.openAsync()})}function saveInlineEditChanges(data){return __awaiter$7(this,void 0,void 0,function*(){const result=yield saveContentItemFieldAsync({pageId:mainPopup.popup.dataset.inlineeditPageid,contentItemId:mainPopup.popup.dataset.inlineeditContentitemid,contentKeyName:mainPopup.popup.dataset.inlineeditContentkeyname,fieldName:mainPopup.popup.dataset.inlineeditFieldname,fieldValue:data[""],flushContent:flushContent});if(!result.isSuccess)return result.errorMessage||(result.errorMessage="Something went wrong. "),void pageLog.updateMessageAndStyle(PageLogStyle.Error,result.errorMessage);skipDiscardChangesCheck=!0,flushContent&&(flushContent=!1,setTimeout(()=>{location.reload()},2500)),pageLog.updateMessageAndStyle(PageLogStyle.Success,result.successMessage);const contentDiv=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-content",!0),popupFooter=expressQuerySelector(mainPopup.popup,".m-popup__footer",!0);expressAddClass(contentDiv,"u-hide"),expressAddClass(popupFooter,"u-hide")})}function initializeInlineEditPopupAsync(inlineEditEl){return __awaiter$7(this,void 0,void 0,function*(){skipDiscardChangesCheck=!1,flushContent=!1,isFormChanged=!1;const mainPopupDisposable=compositeDisposable([]);if(mainPopup=yield createPopup({dialogId:"inlineedit-popup-detail
1s",baseUrl:"/apicore/inlineedit/",view:"getdetailspopup",forceRefresh:!0,data:{pageid:inlineEditEl.dataset.inlineeditPageid,contentkeyname:inlineEditEl.dataset.inlineeditContentkeyname,fieldname:inlineEditEl.dataset.inlineeditFieldname},onBeforeCloseAsync:_=>__awaiter$7(this,void 0,void 0,function*(){return!isFormChanged||(!!skipDiscardChangesCheck||(yield openConfirmationPopupAsync(),!1))}),onClose:()=>{mainPopupDisposable.dispose()}}),!mainPopup.popup)return mainPopup;const pageLogEl=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-pagelog",!0);pageLog=createPageLog(pageLogEl);const cancelButton=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-cancel-button");cancelButton&&mainPopupDisposable.add(expressEventListener(cancelButton,"click",()=>{mainPopup.close()}));const closeButton=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-close-button");closeButton&&mainPopupDisposable.add(expressEventListener(closeButton,"click",()=>{mainPopup.close()}));const formEl=expressQuerySelector(mainPopup.popup,"form",!1);if(!formEl)return mainPopup;const saveButton=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-save-button");saveButton&&mainPopupDisposable.add(expressEventListener(saveButton,"click",()=>{pageLog.hideLog()}));const saveAndFlushButton=expressQuerySelector(mainPopup.popup,".technical-inlineedit-popup-save-and-flush-button");saveAndFlushButton&&mainPopupDisposable.add(expressEventListener(saveAndFlushButton,"click",()=>{pageLog.hideLog(),flushContent=!0,formComponent&&formComponent.submit()}));createFormInput(mainPopup.popup).inputEl.addEventListener("input",()=>{isFormChanged=!0});const formComponent=initForm(formEl,{alternativeButton:saveButton,onSubmitForm:saveInlineEditChanges});return mainPopup})}var __awaiter$6=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function initializeInlineEditHtml(){const inlineEditEls=expressQuerySelectorAll(document,"[data-inlineedit-pageid][data-inlineedit-contentkeyname][data-inlineedit-fieldname]");0!=(null==inlineEditEls?void 0:inlineEditEls.length)&&inlineEditEls.forEach(inlineEditEl=>{const parent=inlineEditEl.parentNode,wrapper=document.createElement("div");expressAddClass(wrapper,"t-inline-editing-zone"),parent.replaceChild(wrapper,inlineEditEl),wrapper.appendChild(inlineEditEl),wrapper.appendChild(htmlToElement("<div class='t-inline-editing-zone__edit'> <span class='v2-a-icon v2-a-icon--small technial-inlineediting-editicon'> <i class='v2-a-icon__icon'title='"+inlineEditEl.dataset.inlineeditContentkeyname+"&#013;"+inlineEditEl.dataset.inlineeditFieldname+"'> <svg class='v2-a-icon__svg'> <use class='v2-a-icon__use' href='/svg/pencil-symbol.svg#pencil-symbol'> </use></svg></i></span></div>"));expressQuerySelector(wrapper,".technial-inlineediting-editicon",!0).addEventListener("click",el=>__awaiter$6(this,void 0,void 0,function*(){el.preventDefault(),el.stopImmediatePropagation();const popup=yield initializeInlineEditPopupAsync(inlineEditEl);yield popup.openAsync()}))})}function initInlineEdit(){const inlineEditCard=initializeInlineEditCard();return initializeInlineEditHtml(),{dispose:null==inlineEditCard?void 0:inlineEditCard.dispose}}var __awaiter$5=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function createPromotionBar(containerEl){const showMore=expressQuerySelector(containerEl,".technical-promotion-bar-showmore",!1);showMore&&createCollapsable(containerEl,{titleElSelector:".technical-promotion-bar-header",scrollIntoViewAfterOpen:!1,onBeforeOpen:()=>__awaiter$5(this,void 0,void 0,function*(){return isElementVisible(showMore)})});expressQuerySelectorAll(containerEl,".technical-countdown").forEach(el=>{const countDownToDate=el.dataset.countdown||"",daysLabel=el.dataset.dayslabel||"",dayLabel=el.dataset.daylabel||"";if(""!==countDownToDate){initCountDown(containerEl,el,countDownToDate,{showDays:!0,onCountDownFinish:()=>{const parent=containerEl.parentElement;parent&&parent.removeChild(containerEl)},daysLabel:daysLabel,dayLabel:dayLabel})}})}function initDisableContextMenu(el){document.addEventListener("contextmenu",ev=>{getSelfOrParentWithClassName(ev.target,"u-no-context-menu")&&disable(ev)}),document.addEventListener("keyup",ev=>{const target=ev.target;"ContextMenu"===ev.key&&getSelfOrParentWithClassName(target,"u-no-context-menu")&&disable(ev)});const disable=ev=>(ev.preventDefault(),ev.stopPropagation(),!1)}function CreateLeavePageWatcher(){let paused=!1;const leavePageDisposible=compositeDisposable([]);return{start:()=>{leavePageDisposible.dispose(),paused=!1;const links=expressQuerySelectorAll(document,"a:not(.technical-continue-button)");leavePageDisposible.addMany(links.map(x=>expressEventListener(x,"click",e=>{if(paused)return;if(e.currentTarget instanceof HTMLAnchorElement==0)return;const url=e.currentTarget.href;url&&(e.preventDefault(),e.stopPropagation(),createPopup({dialogId:"LeavePageConfirmDialog",view:"ConfirmDialog",data:{Title:"Label.LeavePage.Title",Question:"Label.LeavePage.Message"},onClose:_=>leavePageDisposible.dispose()}).then(popup=>{const okButton=expressQuerySelector(popup.popup,".technical-remove-confirmation-yes-button"),cancelButton=expressQuerySelector(popup.popup,".technical-remove-confirmation-no-button");leavePageDisposible.addMany([expressEventListener(okButton,"click",()=>{window.location.href=url}),expressEventListener(cancelButton,"click",()=>{popup.close()})]),popup.openAsync()}))})))},stop:()=>leavePageDisposible.dispose(),cancel:()=>paused=!0}}function createGeneralPageEventsAndComponents(){const gtmIFrame=expressQuerySelector(document,".technical-loadGTMiframe",!1);gtmIFrame&&(gtmIFrame.src=gtmIFrame.dataset.src);const leaveIntent=initLeaveIntent(),inlineEdit=getCookie("inlineedit");"true"==(null==inlineEdit?void 0:inlineEdit.toLowerCase())&&initInlineEdit();const dataLayerIframe=document.querySelector("#dataLayerIframe");dataLayerIframe.getAttribute("data-cookieconsent")||dataLayerIframe.setAttribute("data",dataLayerIframe.getAttribute("data-src")),window.addEventListener("CookiebotOnAccept",function(){if(window.Cookiebot.consent.marketing){const dataLayerIframe=document.querySelector("#dataLayerIframe");dataLayerIframe.setAttribute("data",dataLayerIframe.getAttribute("data-src")),(void 0===window.enableLeaveIntentConfigValue||window.enableLeaveIntentConfigValue)&&(leaveIntent.EnableLeaveIntent(),leaveIntent.EnableLeaveIntentPopup())}}),window.context&&window.context.enableLeavePageConfirmDialog&&(window.leavePageWatcher=CreateLeavePageWatcher());const forms=expressQuerySelectorAll(document,"form");if(Pristine&&forms&&forms.length>0){const isOptional=el=>!el.hasAttribute("required")&&!el.value;Pristine.addMessages(window.context.language,window.validationMessages),Pristine.setLocale(window.context.language),Pristine.addValidator("min",function(val,limit){return isOptional(this)||"date"===this.type||parseFloat(val)>=parseFloat(limit)},window.validationMessages.min,1,!0),Pristine.addValidator("ordernumber",function(val){return isValidOrderNumber(val)},window.validationMessages.ordernumber,1,!0),Pristine.addValidator("max",function(val,limit){return isOptional(this)||"date"===this.type||parseFloat(val)<=parseFloat(limit)},window.validationMessages.max,1,!0),Pristine.addValidator("mindate",function(val,limitValue){const date=new Date(val),limit=getDate(limitValue.replaceAll("/","-").replaceAll(".","-"));return isOptional(this)||date&&limit&&date>=limit},window.validationMessages.min,1,!0),Pristine.addValidator("maxdate",function(val,limitValue){const date=new Date(val),limit=getDate(limitValue.replaceAll("/","-").replaceAll(".","-"));return isOptional(this)||date&&limit&&date<=limit},window.validationMessages.max,1,!0),Pristine.addValidator("maxlength",function(val,limit){return isOptional(this)||val&&val.length<=limit},window.validationMessages.maxlength,1,!0),Pristine.addValidator("minlength",function(val,limit){return isOptional(this)||val&&val.length>=limit},window.validationMessages.minlength,1,!0),Pristine.addValidator("vat",function(value,vat){return isOptional(this)||isValidVatNumber(value,vat)},window.validationMessages.vat,1,!0),Pristine.addValidator("regex",function(value,regexp){const regex=this.getAttribute("regex")||this.getAttribute("data-pristine-regex");return isOptional(this)||new RegExp(regex).test(value)},window.validationMessages.regex,1,!0),Pristine.addValidator("phonenumber",function(value,regexp){const regex=this.getAttribute("phonenumber")||this.getAttribute("data-pristine-phonenumber");return isOptional(this)||new RegExp(regex).test(value)},window.validationMessages.phonenumber,1,!0),Pristine.addValidator("urlsafe",function(value){return isOptional(this)||isValidTextWithoutAngleBrackets(value)},window.validationMessages.urlsafe,1,!0),Pristine.addValidator("blackl
1ist",function(value,blacklist){if(!blacklist)return!0;const list=blacklist.split(",");for(let i=0;i<list.length;i++)if(value.toLowerCase()===list[i])return!1;return!0},window.validationMessages.blacklist,1,!0),Pristine.addValidator("emailrfc822",function(value){return isValidEmailAddress(value)},null,98,!0),Pristine.addValidator("personalnumber",function(value){return checkPersonalNumber(value,this.dataset.regioncode||"")},window.validationMessages.personalnumber,1,!0),Pristine.addValidator("usehousenumber",function(value,useHouseNumber){if(!useHouseNumber)return!0;const prefix=this.dataset.prefix||"",houseNumberEl=expressQuerySelector(this.form,"input[name='"+prefix+"HouseNumber']",!1);if(!houseNumberEl||!houseNumberEl.value)return!0;const atStart=value.trim().substring(0,houseNumberEl.value.trim().length+1)===houseNumberEl.value.trim()+" ",atEnd=value.trim().substring(value.trim().length-(houseNumberEl.value.trim().length+1),value.trim().length)===" "+houseNumberEl.value.trim();return!atStart&&!atEnd},window.validationMessages.usehousenumber,1,!0),Pristine.addValidator("passwordcheck",function(value){const passwordEl=expressQuerySelector(this.form,"input[name='password']",!1);return!passwordEl||value===passwordEl.value},window.validationMessages.passwordcheck,1,!0),Pristine.addValidator("strongpassword",value=>{const passwordEl=expressQuerySelector(document,"input[data-pristine-strongpassword='true']",!1);return!passwordEl||passwordEl.dataset.lastvalidatedpassword!=value||"true"===passwordEl.dataset.lastvalidatedresult},window.validationMessages.strongpassword,0,!0),Pristine.addValidator("termsrequired",function(value){const element=expressQuerySelector(this.form,"[data-pristine-termsrequired]",!1);return element&&element instanceof HTMLInputElement&&element.checked},window.validationMessages.termsrequired,1,!0),Pristine.addValidator("invalidchars",function(value){return isOptional(this)||isValidWithoutNonAlphaNumericCharsAtEnd(value,this)},window.validationMessages.invalidchars,1,!0),Pristine.addValidator("notonlynumbers",function(value){return canNotContainOnlyNumerics(value)},window.validationMessages.notonlynumbers,1,!0),Pristine.addValidator("npssliderwithcheckbox",function(value,min,max,sliderId){const sliderEl=expressQuerySelector(this.form,"#"+sliderId,!1),sliderContainer=getParentWithClassName(sliderEl,"a-form-input");return!(sliderContainer&&!hasClass(sliderContainer,"u-hide")&&isElementVisible(sliderEl))||(parseInt(sliderEl.value)>=parseInt(min)&&parseInt(sliderEl.value)<=parseInt(max)||-2===parseInt(sliderEl.value))},window.validationMessages.npsslider,1,!0),Pristine.addValidator("requiredwhenvisible",function(value,id){const inputHtmlEl=expressQuerySelector(this.form,"#"+id,!0);let input;input=(HTMLInputElement,inputHtmlEl);const inputContainer=getParentWithClassName(inputHtmlEl,"a-form-input");return!(inputContainer&&!hasClass(inputContainer,"u-hide")&&isElementVisible(input))||""!==value},window.validationMessages.required,1,!0),Pristine.addValidator("requiredradiobuttoningroup",function(value,group){const radios=expressQuerySelectorAll(this.form,"input[name='"+group+"']");if(value!==radios[radios.length-1].value)return!0;const isValid=radios.filter(r=>r.checked).length>0;return isValid||radios.forEach(radio=>{const containerEl=getParentWithClassName(radio,"a-form-input");containerEl&&!hasClass(containerEl,"u-hide")&&expressAddClass(containerEl,"a-form-input--error")}),isValid},window.validationMessages.requiredradiobuttongroup,1,!0)}const promotionBar=expressQuerySelector(document,".technical-promotion-bar",!1);promotionBar&&createPromotionBar(promotionBar);document.querySelectorAll("button[data-url]:not(.technical-disable-dataurl-onclick)").forEach(el=>{el.addEventListener("click",ev=>{ev.preventDefault(),window.location.href=el.getAttribute("data-url")})}),checkMobileAndSetCookie();const navigation=expressQuerySelector(document,".technical-navigation-desktop",!1);navigation&&CreateNavigationDesktop(navigation);const header=expressQuerySelector(document,".technical-header",!1);header&&createMainNavigation(header,{getInlineSvgsAsync:getInlineSvgsAsync,openLeadTimesPopupAsync:()=>createPopup({view:"LeadTimesDialog",dialogId:"lead-times-dialog",forceRefresh:!0,onBeforeOpen:popup=>(popup=>{expressQuerySelectorAll(popup,".m-collapsable").forEach(el=>{createCollapsable(el,{scrollIntoViewAfterOpen:!1,titleElSelector:".m-collapsable__title"})})})(popup)}).then(popup=>{if(popup.popup)return popup.openAsync()})}),window.addEventListener("error",logErrorEvent);const showCountrySelectionPopup="true"===expressQuerySelector(document,"body",!0).dataset.showcountryselection||!1,closeCountrySelectionPopup=()=>
1{writeCookie("ShowCountrySelectionPopupAgainFrom",(new Date).toISOString().slice(0,10),365)};showCountrySelectionPopup&&createCountrySelection({showCountrySelectionPopup:()=>createPopup({view:"CountrySelectionDialog",dialogId:"country-selection",forceRefresh:!0,onClose:closeCountrySelectionPopup,data:{path:window.location.pathname+window.location.search}}).then(popup=>{if(popup.popup)return popup.openAsync()}),close:()=>closeCountrySelectionPopup()}),createScrollToTop();expressQuerySelectorAll(document,".technical-popup-launcher").forEach(el=>createPopupLauncher(el));return"true"===expressQuerySelector(document,"html",!0).dataset.isbot.toLowerCase()||!1||createComponentLoader(),createNewsletterSubscribeAndUnsubscribe(),window.initFooterComponent=function initFooterComponent(){const footerAccordions=expressQuerySelectorAll(document,".technical-footer-accordion.m-accordion--mobile-only");if(footerAccordions.length>0){let previousWidth=0;const resizeObserver=new ResizeObserver(entries=>{var _a;if(0==entries.length)return;const parentEl=entries[0];if(!parentEl||!parentEl.contentRect||!parentEl.target)return;const width=null===(_a=parentEl.borderBoxSize)||void 0===_a?void 0:_a[0].inlineSize;if(width&&width!=previousWidth){previousWidth=width;for(const entry of entries)entry.contentRect&&entry.target&&handleFooterAccordions()}});resizeObserver.observe(footerAccordions[0].parentElement);const handleFooterAccordions=()=>{window.innerWidth>=768?footerAccordions.forEach(e=>e.setAttribute("open","")):footerAccordions.forEach(e=>e.removeAttribute("open"))};handleFooterAccordions()}const footerEl=expressQuerySelector(document,".technical-footer",!1);footerEl&&createNewsletterSubscribeAndUnsubscribe(footerEl)},!isMobileDevice()&&createAbandonedVisitTitleSwapper(),initDisableContextMenu(),{disableLeaveIntent:leaveIntent.DisableLeaveIntent,enableLeaveIntent:leaveIntent.EnableLeaveIntent}}const checkMobileAndSetCookie=()=>{isTouchDevice()&&(window.innerWidth<500||window.innerHeight<500)?"true"!==getCookie("IsMobileDevice")&&writeCookie("IsMobileDevice","true",365):"false"!==getCookie("IsMobileDevice")&&writeCookie("IsMobileDevice","false",365)};function createUsps(containerEl){const iconEls=expressQuerySelectorAll(containerEl,".m-usp__icon"),icons={};getInlineSvgsAsync(iconEls.filter(el=>!!el.getAttribute("data-icon-url")).map(el=>el.getAttribute("data-icon-url"))).then(res=>{res.forEach(icon=>icons[icon.url]=icon.svg),iconEls.forEach(el=>{const icon=icons[el.getAttribute("data-icon-url").replace("Icon.","").toLowerCase()];icon&&el.insertAdjacentHTML("beforeend",icon)})})}var EternalSlidingMode;function stopSkeletonLoading(){expressQuerySelectorAll(document,".skeleton-loading img").forEach(img=>{const removeSkeleton=()=>{const parent=getParentWithClassName(img,"skeleton-loading");parent&&parent.classList.remove("skeleton-loading")};img.complete?removeSkeleton():img.addEventListener("load",()=>{removeSkeleton()})})}function initVideoPlayer(videoContainerEl,autoplayOnClick=!0){const playerEl=expressQuerySelector(videoContainerEl,".technical-video-frame",!0),overlayEl=expressQuerySelector(videoContainerEl,".technical-video-overlay",!1);let overlayButtonEl,vimeoVideoPlayer;overlayEl&&(overlayButtonEl=expressQuerySelector(overlayEl,".q-video-cover-overlay__button",!1));let scriptAlreadyLoaded=!1;const onOverlayClick=ev=>{ev.preventDefault(),ev.stopPropagation(),playPauseYoutubeVideo("play")},playPauseYoutubeVideo=action=>{toggleOverLay("play"==action);const isVimeoVideo=playerEl.src.toLowerCase().indexOf("vimeo")>-1;if(isVimeoVideo&&!scriptAlreadyLoaded){const scriptEl=document.createElement("script");return scriptEl.onload=()=>{vimeoVideoPlayer=new Vimeo.Player(playerEl,{autoplay:1,muted:!1}),vimeoVideoPlayer[action]()},scriptEl.src="https://player.vimeo.com/api/player.js",document.body.appendChild(scriptEl),void(scriptAlreadyLoaded=!0)}isVimeoVideo&&vimeoVideoPlayer&&vimeoVideoPlayer[action]?vimeoVideoPlayer[action]():postMessageToPlayer({event:"command",func:"play"===action?"playVideo":"pauseVideo"})},toggleOverLay=hideOverlay=>{overlayEl&&overlayEl.classList.toggle("u-hide",hideOverlay)},postMessageToPlayer=command=>{playerEl&&playerEl.contentWindow&&playerEl.contentWindow.postMessage(JSON.stringify(command),"*")};return overlayEl&&autoplayOnClick&&expressEventListener(overlayEl,"click",onOverlayClick),overlayButtonEl&&autoplayOnClick&&expressEventListener(overlayButtonEl,"click",onOverlayClick),{dispose:()=>{overlayEl&&expressEventListener(overlayEl,"click",onOverlayClick)},playPauseYoutubeVideo:action=>playPauseYoutubeVideo(action),showOverlay:()=>toggleOverLay(!1),isOverlayVisible:()=>overlayEl&&!overlayEl.classList.contains("u-hide")}}function initPagedShowMoreElements(containerEl,buttonEl,parameter,elementSelector,arrayCounter=-1,showmoreClick,afterShowMore){const elementElsDesktop=expressQuerySelectorAll(containerEl,(elementSelector||".technical-showmore")+".u-hide-on-desktop-full"),elementElsMobile=expressQuerySelectorAll(containerEl,(elementSelector||".technical-showmore")+".u-hide-on-mobile-full"),batchSizeDesktop=parseInt(buttonEl.dataset.batchsizeDesktop||"999",10),batchSizeMobile=parseInt(buttonEl.dataset.batchsizeMobile||"999",10),showAllOnMore=buttonEl.dataset.showallonmore||!1,urlParam=parseInt(getParameter(parameter||"currentpage"));let currentPage=isNaN(urlParam)?parseInt(buttonEl.dataset.currentpage||"0",0):urlParam;if(0===elementElsDesktop.length&&0===elementElsMobile.length&&!showmoreClick)return;const toggleButtonVisibility=(allDesktopVisible,allMobileVisible)=>{(allDesktopVisible||showAllOnMore)&&(buttonEl.parentElement&&!buttonEl.classList.contains("technical-no-hide-parrent")?buttonEl.parentElement.classList.add("u-hide-on-desktop-full"):buttonEl.classList.add("u-hide-on-desktop-full")),(allMobileVisible||showAllOnMore)&&(buttonEl.parentElement&&!buttonEl.classList.contains("technical-no-hide-parrent")?buttonEl.parentElement.classList.add("u-hide-on-mobile-full"):buttonEl.classList.add("u-hide-on-mobile-full"))},showElements=(sizeMobile,sizeDesktop)=>{if(showmoreClick)return showmoreClick(currentPage,sizeDesktop,sizeMobile).then(x=>{toggleButtonVisibility(x.allShownDesktop,x.allShownMobile),afterShowMore&&afterShowMore()});(showAllOnMore?elementElsDesktop:elementElsDesktop.splice(0,sizeDesktop)).forEac
1h(e=>e.classList.remove("u-hide-on-desktop-full"));(showAllOnMore?elementElsMobile.splice(0,elementElsMobile.length):elementElsMobile.splice(0,sizeMobile)).forEach(e=>e.classList.remove("u-hide-on-mobile-full")),toggleButtonVisibility(0===elementElsDesktop.length,0===elementElsMobile.length),afterShowMore&&afterShowMore()},showMore=()=>{if(currentPage+=1,buttonEl.dataset.currentpage=currentPage.toString(),parameter){let url=location.href,urlParameter=parameter||"currentpage";arrayCounter>=0&&(urlParameter+="["+arrayCounter+"]"),url=updateParameter(urlParameter.toLowerCase(),buttonEl.dataset.currentpage,url.toLowerCase()),history.replaceState(null,"",url.toLowerCase())}showElements(batchSizeMobile,batchSizeDesktop)},disposableEvents=compositeDisposable([expressEventListener(buttonEl,"click",e=>{e.preventDefault(),showMore()})]);if(currentPage>0&&parseInt(getParameter((arrayCounter>-1&&parameter?`${parameter}[${arrayCounter}]`:parameter)||"currentpage"))!=parseInt(buttonEl.dataset.currentpage||"0"))for(let i=0;i<currentPage;i++)showElements(batchSizeMobile,batchSizeDesktop);return{dispose:()=>disposableEvents.dispose(),resetElement:()=>showMore()}}function initShowMoreElements(containerEl,buttonEl,parameter,elementSelector,arrayCounter=-1,showMoreClick,afterShowMore){let elementElsDesktop=expressQuerySelectorAll(containerEl,elementSelector),elementElsMobile=expressQuerySelectorAll(containerEl,elementSelector);const urlParam=parseInt(getParameter(parameter));let currentPage=isNaN(urlParam)?parseInt(buttonEl.dataset.currentpage||"0",0):urlParam;const buttonTextEl=expressQuerySelector(buttonEl,".technical-link-text",!1),buttonIconEl=expressQuerySelector(buttonEl,".a-link__icon",!1);if(0===elementElsDesktop.length&&0===elementElsMobile.length)return;const reFetchElements=()=>{elementElsDesktop=expressQuerySelectorAll(containerEl,elementSelector),elementElsMobile=expressQuerySelectorAll(containerEl,elementSelector)},updateUrl=add=>{if(add||0===currentPage?add&&1!==currentPage&&(currentPage+=1):currentPage-=1,buttonEl.dataset.currentpage=currentPage.toString(),parameter){let url=location.href,urlParameter=parameter||"currentpage";arrayCounter>=0&&(urlParameter+="["+arrayCounter+"]"),url=updateParameter(urlParameter.toLowerCase(),buttonEl.dataset.currentpage,url.toLowerCase()),history.replaceState(null,"",url.toLowerCase())}},showMore=(shouldUpdateUrl=!1)=>{shouldUpdateUrl&&updateUrl(!0),reFetchElements(),elementElsDesktop.forEach(e=>e.classList.remove("u-hide-on-desktop-full")),elementElsMobile.forEach(e=>e.classList.remove("u-hide-on-mobile-full"))},showLess=(shouldUpdateUrl=!1)=>{shouldUpdateUrl&&updateUrl(!1),reFetchElements(),elementElsDesktop.slice(parseInt(buttonEl.dataset.baseamount||"0",10),elementElsDesktop.length).forEach(e=>e.classList.add("u-hide-on-desktop-full")),elementElsMobile.slice(parseInt(buttonEl.dataset.baseamount||"0",10),elementElsDesktop.length).forEach(e=>e.classList.add("u-hide-on-mobile-full"))},setShowLess=(shouldUpdateUrl=!1)=>{buttonTextEl.innerHTML=buttonEl.dataset.lesstext,buttonIconEl.classList.add("icon-arrow-up"),buttonIconEl.classList.remove("icon-arrow-down"),showMore(shouldUpdateUrl)},setShowMore=(shouldUpdateUrl=!1)=>{buttonTextEl.innerHTML=buttonEl.dataset.moretext,buttonIconEl.classList.remove("icon-arrow-up"),buttonIconEl.classList.add("icon-arrow-down"),showLess(shouldUpdateUrl)},disposableEvents=compositeDisposable([expressEventListener(buttonEl,"click",e=>{e.preventDefault(),buttonTextEl&&buttonIconEl?buttonTextEl.innerText.trim()===buttonEl.dataset.moretext.trim()?setShowLess(!0):setShowMore(!0):showMore(!0)})]);return buttonTextEl&&buttonIconEl&&parseInt(getParameter(arrayCounter>-1&&parameter?`${parameter}[${arrayCounter}]`:parameter)||"0")!=parseInt(buttonEl.dataset.currentpage||"0")&&(1===currentPage?setShowLess():setShowMore()),{dispose:()=>disposableEvents.dispose(),resetElement:()=>{setShowMore(!1),parameter&&queryRemoveKeys([parameter])}}}function findInsertIndex(arr,val,getIndexOfElement){let start=0,end=arr.length-1;const indexOfElement=getIndexOfElement(val);for(;start<=end;){const mid=Math.floor((start+end)/2),index=getIndexOfElement(arr[mid]);if(index==indexOfElement)return mid;
1index<indexOfElement?start=mid+1:end=mid-1}return end+1}!function(EternalSlidingMode){EternalSlidingMode[EternalSlidingMode.Infinite=0]="Infinite",EternalSlidingMode[EternalSlidingMode.ScrollToBegin=1]="ScrollToBegin"}(EternalSlidingMode||(EternalSlidingMode={})),EternalSlidingMode.Infinite;var TemplateType,TypeOfFilter,__awaiter$4=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function createAccordion(container,deps,opts){const{singleOpen:singleOpen,swapTitleDataAttribute:swapTitleDataAttribute}={},{onInitialized:onInitialized,onBeforeOpen:onBeforeOpen,onBeforeClose:onBeforeClose,titleElSelector:titleElSelector,scrollIntoViewAfterOpen:scrollIntoViewAfterOpen,contentSelector:contentSelector,onOpen:onOpen}=deps||{},titleEl=expressQuerySelector(container,titleElSelector||".technical-accordion-title",!0),contentEl=expressQuerySelector(container,contentSelector||".technical-accordion-content",!1),closeWithBefore=()=>__awaiter$4(this,void 0,void 0,function*(){return onBeforeClose&&(yield onBeforeClose(container)),close()}),openWithBefore=(...args_1)=>__awaiter$4(this,[...args_1],void 0,function*(scrollIntoView=!1){onBeforeOpen&&!(yield onBeforeOpen(container))||(onOpen&&onOpen(container),open(scrollIntoView))}),close=()=>closeAccordion(container),closeAccordion=accordion=>{showCloseTitle(),accordion.removeAttribute("open")},open=shouldScrollIntoView=>{if(singleOpen){expressQuerySelectorAll(container.parentElement,".technical-accordion").forEach(el=>closeAccordion(el))}showOpenTitle(),container.open=!0,(scrollIntoViewAfterOpen&&!isElementVisibleInViewPort(contentEl)||shouldScrollIntoView)&&titleEl.scrollIntoView({behavior:"smooth",block:"start"})},isOpen=()=>container.open,button=createClickableElement(titleEl,()=>isOpen()?closeWithBefore():openWithBefore()),showOpenTitle=()=>{swapTitleDataAttribute&&titleEl.innerText!==container.dataset.accTitleWhenOpen&&(titleEl.innerText=container.dataset.accTitleWhenOpen)},showCloseTitle=()=>{swapTitleDataAttribute&&titleEl.innerText!=container.dataset.accTitleWhenClosed&&(titleEl.innerText=container.dataset.accTitleWhenClosed)};if(swapTitleDataAttribute){const isCurrentlyOpen=isOpen();container.dataset.accTitleWhenOpen=isCurrentlyOpen?titleEl.innerText:container.getAttribute(swapTitleDataAttribute),container.dataset.accTitleWhenClosed=isCurrentlyOpen?container.getAttribute(swapTitleDataAttribute):titleEl.innerText}return onInitialized&&onInitialized(container),{dispose:button.dispose,show:()=>container.classList.remove("u-hide"),hide:()=>container.classList.add("u-hide"),close:close,open:scrollIntoView=>openWithBefore(scrollIntoView),element:container,isOpen:isOpen}}function createCheckBoxSelectFilter(collapsableComponent,typeOfFilter,selectedFiltersContainerEl,filterqs,filterCategory,filterEl,checkboxEls,possibleValues,containerEl,deps){const selectedFilterName=filterEl.dataset.filterelement,selectedFilter=decodeURIComponent(getParameter(filterqs)).split(","),selectedLabel=expressQuerySelector(filterEl,".technical-label",!1),regExpForNumberInParentheses=/\(([0-9]+)\)$/,{updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters,addTextToFilterContainer:addTextToFilterContainer}=deps,removeSingleSelectFilter=()=>{if(typeOfFilter===TypeOfFilter.Regular)checkboxEls.forEach(el=>{expressQuerySelector(el,"input[type=checkbox],input[type=radio]",!0).checked=!1});else{expressQuerySelector(filterEl,"input[type=checkbox],input[type=radio]",!0).checked=!1}onFilter&&onFilter(typeOfFilter!==TypeOfFilter.Regular,filterqs,filterCheckboxEl.value,filterCheckboxEl.checked,containerEl,!0),updateParametersForUrl(typeOfFilter,filterqs,selectedFilterName,!0,filterEl.dataset.analytics,possibleValues),removeFromFilterContainer(containerEl,selectedFiltersContainerEl,filterCategory,selectedFilterName)}
1,addSingleSelectFilter=checkBoxEl=>{typeOfFilter===TypeOfFilter.Regular&&checkboxEls.filter(f=>f.dataset.filterelement!=selectedFilterName).forEach(el=>{const checkboxEl=expressQuerySelector(el,"input[type=checkbox],input[type=radio]",!1);checkboxEl&&(checkboxEl.checked=!1)}),checkBoxEl.checked?addTextToFilterContainer(containerEl,typeOfFilter,selectedFiltersContainerEl,filterCategory,selectedFilterName,removeSingleSelectFilter,filterEl.dataset.selectedtext||(null==selectedLabel?void 0:selectedLabel.textContent.replace(regExpForNumberInParentheses,""))):removeFromFilterContainer(containerEl,selectedFiltersContainerEl,filterCategory,selectedFilterName)};selectedFiltersContainerEl&&attachRemoveFilterEvent(selectedFiltersContainerEl,filterCategory,removeSingleSelectFilter,selectedFilterName);const filterCheckboxEl=expressQuerySelector(filterEl,"input[type=checkbox],input[type=radio]",!0);if(expressEventListener(filterEl,"change",function(){onFilter&&onFilter(typeOfFilter!==TypeOfFilter.Regular,filterqs,filterCheckboxEl.value,filterCheckboxEl.checked,containerEl,!0),filterqs?(addSingleSelectFilter(filterCheckboxEl),updateParametersForUrl(typeOfFilter,filterqs,filterEl.dataset.filterelement,!filterCheckboxEl.checked,filterEl.dataset.analytics,possibleValues)):addSingleSelectFilter(filterCheckboxEl)}),selectedFilter&&filterCheckboxEl&&selectedFilterName&&selectedFilter.includes(selectedFilterName.toLowerCase())){const valueWasUpdated=!filterCheckboxEl.checked;filterCheckboxEl.checked=!0,onFilter&&onFilter(typeOfFilter!==TypeOfFilter.Regular,filterqs,filterCheckboxEl.value,filterCheckboxEl.checked,containerEl,valueWasUpdated),toggleResetFilters(containerEl,!1),addSingleSelectFilter(filterCheckboxEl),collapsableComponent.open()}}function createColorFilter(collapsableComponent,selectedFiltersContainerEl,queryString,filterCategory,filterEl,containerEl,possibleUrlValues,deps){const selectedFilterName=filterEl.dataset.filterelement,selectedFilter=decodeURIComponent(getParameter(queryString)).split(","),{showSelectedFilters:showSelectedFilters,addFilterTemplate:addFilterTemplate,updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters}=deps,removeColorFilter=()=>{filterEl.classList.remove("v2-a-icon--selected"),filterEl.classList.add("v2-a-icon--unselected"),updateParametersForUrl(TypeOfFilter.Icons,queryString,selectedFilterName,!0,filterEl.dataset.analytics,possibleUrlValues),removeFromFilterContainer(containerEl,selectedFiltersContainerEl,filterCategory,selectedFilterName),onFilter&&onFilter(!0,queryString,filterEl.dataset.filterelement,!1,containerEl,!0)},toggleColorFilter=()=>{const selected=filterEl.classList.contains("v2-a-icon--selected");onFilter&&onFilter(!0,queryString,filterEl.dataset.filterelement,!selected,containerEl,!0),selected?(filterEl.classList.remove("v2-a-icon--selected"),filterEl.classList.add("v2-a-icon--unselected"),removeFromFilterContainer(containerEl,selectedFiltersContainerEl,filterCategory,selectedFilterName)):(filterEl.classList.remove("v2-a-icon--unselected"),filterEl.classList.add("v2-a-icon--selected"),((containerEl,selectedFiltersContainerEl,selectedFilterName,filterForCategory,removeFilterEvent)=>{if(showSelectedFilters(containerEl,selectedFiltersContainerEl),!selectedFiltersContainerEl)return;if(expressQuerySelector(selectedFiltersContainerEl,`[data-filterforcategory="${filterForCategory}"][data-filterforcategoryvalue="${selectedFilterName}"]`,!1))return;const colorFilter=addFilterTemplate(TemplateType.Icon,filterForCategory,selectedFilterName,selectedFilterName,removeFilterEvent),allSelectedColorFilters=expressQuerySelectorAll(selectedFiltersContainerEl,`[data-filterforcategory="${filterForCategory}"]`);if(allSelectedColorFilters.length)return void allSelectedColorFilters[allSelectedColorFilters.length-1].insertAdjacentElement("afterend",colorFilter);const filters=expressQuerySelectorAll(document,"[data-typeoffilter][data-filtercategory]"),selectedFiltersChildren=expressQuerySelectorAll(selectedFiltersContainerEl,"[data-filterforcategory]"),index=findInsertIndex(selectedFiltersChildren,colorFilter,val1=>filters.findIndex(e=>
1val1.dataset.filterforcategory===e.dataset.filtercategory)),elementToInsertBefore=selectedFiltersChildren[index];!elementToInsertBefore||index<=-1||index>selectedFiltersChildren.length?selectedFiltersContainerEl.appendChild(colorFilter):elementToInsertBefore.insertAdjacentElement("beforebegin",colorFilter)})(containerEl,selectedFiltersContainerEl,selectedFilterName,filterCategory,removeColorFilter)),updateParametersForUrl(TypeOfFilter.Icons,queryString,filterEl.dataset.filterelement,selected,filterEl.dataset.analytics,possibleUrlValues)};selectedFiltersContainerEl&&attachRemoveFilterEvent(selectedFiltersContainerEl,filterCategory,removeColorFilter,filterEl.dataset.filterelement),expressEventListener(filterEl,"click",()=>toggleColorFilter()),selectedFilter&&selectedFilter.includes(filterEl.dataset.filterelement.toLowerCase())&&(filterEl.classList.contains("v2-a-icon--selected")&&onFilter&&onFilter(!0,queryString,filterEl.dataset.filterelement,!0,containerEl,!1),collapsableComponent.open(),toggleResetFilters(containerEl,!1))}function createRangeFilter(collapsableComponent,selectedFiltersContainerEl,filterQs,filterCategory,filterEl,showSliderEls,filtersContainerEl,deps){const containerEl=expressQuerySelector(filterEl,".a-form-input__slider-container",!0),preBarEl=expressQuerySelector(containerEl,".a-form-input__slider-pre-bar",!0),postBarEl=expressQuerySelector(containerEl,".a-form-input__slider-post-bar",!0),rangeEl=expressQuerySelector(containerEl,".a-form-input__slider-range",!0),minRangeInputEl=expressQuerySelector(filterEl,".a-form-input__slider-range--min",!0),maxRangeInputEl=expressQuerySelector(filterEl,".a-form-input__slider-range--max",!0),minBubbleContainerEl=expressQuerySelector(containerEl,".a-form-input__slider-bubble-container--min",!1),maxBubbleContainerEl=expressQuerySelector(containerEl,".a-form-input__slider-bubble-container--max",!1),minRangeThumbEl=expressQuerySelector(filterEl,".a-form-input__slider-thumb--min",!0),maxRangeThumbEl=expressQuerySelector(filterEl,".a-form-input__slider-thumb--max",!0);let minBubbleInputEl,maxBubbleInputEl;minBubbleContainerEl&&(minBubbleInputEl=expressQuerySelector(minBubbleContainerEl,".a-form-input__slider-bubble--min",!0)),maxBubbleContainerEl&&(maxBubbleInputEl=expressQuerySelector(maxBubbleContainerEl,".a-form-input__slider-bubble--max",!0));const disposableEvents=compositeDisposable([]),selectedFilter=getParameter(filterQs),originalMinValue=parseInt(minRangeInputEl.value),originalMaxValue=parseInt(maxRangeInputEl.value);let previousMinValue,previousMaxValue,currentMinValue=parseInt(minRangeInputEl.value),currentMaxValue=parseInt(maxRangeInputEl.value);const{updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters,addTextToFilterContainer:addTextToFilterContainer}=deps,percent=(value,min,max)=>Math.ceil((value-min)/(max-min)*100),moveToTop=input=>{input===maxRangeInputEl?(maxRangeInputEl.style.zIndex="2",minRangeInputEl.style.zIndex="1"):(maxRangeInputEl.style.zIndex="1",minRangeInputEl.style.zIndex="2")},setValues=(minValue,maxValue)=>{setMinValue(minValue),setMaxValue(maxValue)},setMinValue=minValue=>{minRangeInputEl.value=minValue+"",minBubbleInputEl&&(minBubbleInputEl.value=minValue+""),(value=>{const percentStyle=percent(value,parseInt(minRangeInputEl.min),parseInt(minRangeInputEl.max))+"%";preBarEl.style.width=percentStyle,rangeEl.style.left=percentStyle,minRangeThumbEl.style.left=percentStyle})(minValue),currentMinValue=minValue},setMaxValue=maxValue=>{maxRangeInputEl.value=maxValue+"",maxBubbleInputEl&&(maxBubbleInputEl.value=maxValue+""),(value=>{const percentage=percent(value,parseInt(maxRangeInputEl.min),parseInt(maxRangeInputEl.max)),percentStyle=percentage+"%",reversePercentStyle=100-percentage+"%";postBarEl.style.width=reversePercentStyle,rangeEl.style.right=reversePercentStyle,maxRangeThumbEl.style.left=percentStyle})(maxValue),currentMaxValue=maxValue},performFiltering=(updateQuerystring=!0)=>{if(previousMinValue===currentMinValue&&previousMaxValue===currentMaxValue)return;previousMinValue=currentMinValue,previousMaxValue=currentMaxValue;const value=isNoneInputSelected()?"0":currentMinValue==currentMaxValue?currentMaxValue.toString():`${currentMinValue} - ${currentMaxValue}`;addTextToFilterContainer&&addTextToFilterContainer(filtersContainerEl,TypeOfFilter.Slider,selectedFiltersContainerEl,filterCategory,value,removeRangeFilter),triggerFilter(!0,getSliderValue()),updateQuerystring&&updateParametersForUrl&&updateParametersForUrl(TypeOfFilter.Slider,filterQs,getSliderValue(),!1,filterEl.dataset.analytics)},isNoneInputSelected=()=>showSliderEls.some(x=>
1!x.classList.contains("technical-show-slider")&&x.checked),getSliderValue=()=>{const isNoneSelected=isNoneInputSelected(),checkedOptionValue=showSliderEls.length>0&&showSliderEls.some(x=>x.checked)?`${showSliderEls.find(x=>x.checked).value}`:"";return isNoneSelected?`${checkedOptionValue}_0`:`${checkedOptionValue}_${minBubbleInputEl.value}-${maxBubbleInputEl.value}`},triggerFilter=(update,valueOverride)=>{onFilter(!1,filterQs,valueOverride||getSliderValue(),!0,containerEl,update)},toggleOption=(selectOptionValue,enable)=>{if(!showSliderEls||!showSliderEls.length)return;const originalSliderValue=getSliderValue(),isFilterActive=showSliderEls.some(x=>x.checked);if(showSliderEls.forEach(x=>{if(!selectOptionValue.includes(x.value))return;const filterValue=getParentWithClassName(x,"a-form-input");null==filterValue||filterValue.classList.toggle("a-form-input--disabled",!enable),x.toggleAttribute("disabled",!enable),x.disabled=!enable}),showSliderEls.filter(x=>!x.disabled).length>1||!isFilterActive)return;showSliderEls.forEach(x=>x.checked=!x.disabled),filterEl.classList.remove("u-hide");originalSliderValue!=getSliderValue()&&(triggerFilter(!0),updateParametersForUrl&&updateParametersForUrl(TypeOfFilter.Slider,filterQs,getSliderValue(),!1,filterEl.dataset.analytics))},removeRangeFilter=(update=!0)=>{showSliderEls.length&&filterEl.classList.add("u-hide"),showSliderEls.forEach(chk=>{chk.checked=!1}),setValues(originalMinValue,originalMaxValue);const value=getSliderValue();onFilter&&onFilter(!1,filterQs,value,!1,containerEl,update),updateParametersForUrl&&updateParametersForUrl(TypeOfFilter.Slider,filterQs,value,!0,filterEl.dataset.analytics),removeFromFilterContainer&&removeFromFilterContainer(filtersContainerEl,selectedFiltersContainerEl,filterCategory)};if(selectedFiltersContainerEl&&attachRemoveFilterEvent&&attachRemoveFilterEvent(selectedFiltersContainerEl,filterCategory,removeRangeFilter),showSliderEls.forEach(el=>expressEventListener(el,"click",()=>{(el=>{if(showSliderEls.length)if(showSliderEls.every(f=>!f.checked))removeRangeFilter();else if(el.classList.contains("technical-show-slider")&&el.checked){const max=maxRangeInputEl.max,min=minRangeInputEl.min,sameMinMaxValue=min===max;setValues(parseInt(min),parseInt(max)),addTextToFilterContainer&&addTextToFilterContainer(filtersContainerEl,TypeOfFilter.Slider,selectedFiltersContainerEl,filterCategory,sameMinMaxValue?min:min+" - "+max,removeRangeFilter),filterEl.classList.toggle("u-hide",sameMinMaxValue),triggerFilter(!0)}else addTextToFilterContainer&&addTextToFilterContainer(filtersContainerEl,TypeOfFilter.Slider,selectedFiltersContainerEl,filterCategory,"0",removeRangeFilter),filterEl.classList.add("u-hide"),triggerFilter(!0)})(el),updateParametersForUrl&&updateParametersForUrl(TypeOfFilter.Slider,filterQs,getSliderValue(),el.classList.contains("technical-show-slider")&&!el.checked,filterEl.dataset.analytics)})),showSliderEls.length||filterEl.classList.remove("u-hide"),selectedFilter&&collapsableComponent){const selectedOption=selectedFilter.split("_"),values=(selectedOption[1]||selectedFilter).split("-");let min,max,querystringCorrected=!1;values[0]&&onlyNumber(values[0])&&!isNaN(parseInt(values[0]))?min=parseInt(values[0]):(min=parseInt(minRangeInputEl.min),querystringCorrected=!0),values[1]&&onlyNumber(values[1])&&!isNaN(parseInt(values[0]))?max=parseInt(values[1]):(max=parseInt(maxRangeInputEl.max),querystringCorrected=!0),min>max&&(min=max,querystringCorrected=!0),max<min&&(max=min,querystringCorrected=!0);const minValueMinslider=parseInt(minRangeInputEl.min),maxValueMaxSlider=parseInt(maxRangeInputEl.max);if(min<minValueMinslider&&(min=minValueMinslider),max>maxValueMaxSlider&&(max=maxValueMaxSlider),"none"!=selectedOption[0]&&showSliderEls&&(showSliderEls.forEach(x=>x.checked=selectedOption[0].toLowerCase()==x.value.toLowerCase()),filterEl.classList.toggle("u-hide",minRangeInputEl.min===maxRangeInputEl.max)),setValues(min,max),min==max&&(max==minValueMinslider||min==maxValueMaxSlider)){moveToTop(min==maxValueMaxSlider?minRangeInputEl:maxRangeInputEl)}performFiltering(querystringCorrected),toggleResetFilters&&toggleResetFilters(filtersContainerEl,!1),collapsableComponent.open()}return(minBubbleInputEl&&!minBubbleInputEl.value||maxBubbleInputEl&&!maxBubbleInputEl.value)&&(minBubbleInputEl&&!minBubbleInputEl.value&&(minBubbleInputEl.value=currentMinValue.toString()),maxBubbleInputEl&&!maxBubbleInputEl.value&&(maxBubbleInputEl.value=currentMaxValue.toString())),(()=>{const onBubbleInputElConfirm=ev=>{minBubbleInputEl.value||(minBubbleInputEl.value=currentMinValue.toString()),maxBubbleInputEl.value||(maxBubbleInputEl.value=currentMaxValue.toString()),updateSliderValues(ev),performFiltering()},updateSliderValues=ev=>{const target=ev.target;if(!onlyNumber(target.value)||isNaN(parseInt(target.value))){if(""===target.value)return;target===minBubbleInputEl||target===minRangeInputEl?target.value=currentMinValue.toString():target!==maxBubbleInputEl&&target!==maxRangeInputEl||(target.value=currentMaxValue.toString())}else{let value;const fixWrongValue=(value,correctionValue)=>(0===value||value||(value=correctionValue),value),targetValue=parseInt(target.value),minRangeInputElValue=parseInt(minRangeInputEl.value),minRangeInputElMinValue=parseInt(minRangeInputEl.min),maxRangeInputElValue=parseInt(maxRangeInputEl.value),maxRangeInputElMaxValue=parseInt(maxRangeInputEl.max);target===minBubbleInputEl||target===minRangeInputEl?(value=targetValue<minRangeInputElMinValue?minRangeInputElMinValue:targetValue,value=fixWrongValue(value,minRangeInputElValue),value=value>maxRangeInputElValue?maxRangeInputElValue:value,setMinValue(value),moveToTop(minRangeInputEl)):target!==maxBubbleInputEl&&target!==maxRangeInputEl||(value=targetValue>maxRangeInputElMaxValue?maxRangeInputElMaxValue:targetValue,value=fixWrongValue(value,maxRangeInputElValue),value=value<minRangeInputElValue?minRangeInputElValue:value,setMaxValue(value),moveToTop(maxRangeInputEl))}};minBubbleInputEl&&(disposableEvents.add(expressEventListener(minBubbleInputEl,"change",onBubbleInputElConfirm)),disposableEvents.add(expressEventListener(minBubbleInputEl,"focusout",onBubbleInputElConfirm))),maxBubbleInputEl&&(disposableEvents.add(expressEventListener(maxBubbleInputEl,"change",onBubbleInputElConfirm)),disposableEvents.add(expressEventListener(maxBubbleInputEl,"focusout",onBubbleInputElConfirm))),disposableEvents.add(expressEventListener(minRangeInputEl,"input",updateSliderValues)),disposableEvents.add(expressEventListener(minRangeInputEl,"change",e=>performFiltering())),disposableEvents.add(expressEventListener(minRangeInputEl,"mousedown",()=>{moveToTop(minRangeInputEl)})),disposableEvents.add(expressEventListener(maxRangeInputEl,"input",updateSliderValues)),disposableEvents.add(expressEventListener(maxRangeInputEl,"mousedown",()=>{moveToTop(maxRangeInputEl)})),disposableEvents.add(expressEventListener(maxRangeInputEl,"change",e=>performFiltering()))})(),{filterQs:filterQs,removeRangeFilter:removeRangeFilter,disable:selectOptionValue=>toggleOption(selectOptionValue,!1),enable:selectOptionValue=>toggleOption(selectOptionValue,!0),getSelectOptions:()=>showSliderEls.map(x=>x.value),dispose:()=>disposableEvents.dispose()}}function createFilters(containerEl,opts){const selectedFiltersContainerEl=expressQuerySelector(containerEl,".technical-selectedfilters",!1),noneSelectedLabelEl=selectedFiltersContainerEl&&expressQuerySelector(selectedFiltersContainerEl,".technical-no-selected-filters",!1),{onFilter:onFilter,resetAll:resetAll}=opts,showMoreElementsComponents=[],addFilterTemplate=(templateType,filterCategory,selectedFilterName,htmlOrColor,removeFilterEvent)=>{const div=document.createElement("div");
1if(div.dataset.filterforcategory=filterCategory,div.classList.add("m-filter-tag","technical-filter-tag"),div.dataset.filterforcategoryvalue=selectedFilterName,templateType===TemplateType.Text){const p=document.createElement("p");p.classList.add("a-typography","a-typography--p","technical-filtertag-label");const content=document.createTextNode(htmlOrColor);p.appendChild(content),div.appendChild(p)}else{const iconSpan=document.createElement("span");iconSpan.classList.add("v2-a-icon","v2-a-icon--unselected","v2-a-icon--x-small","v2-a-icon--"+htmlOrColor),"white"!==htmlOrColor&&"custom-nocolor"!==htmlOrColor||iconSpan.classList.add("v2-a-icon--outline");const icon=document.createElement("i");icon.classList.add("v2-a-icon__color"),icon.setAttribute("style","color:"+htmlOrColor),iconSpan.appendChild(icon),div.appendChild(iconSpan)}const closeIconSpan=document.createElement("span");closeIconSpan.dataset.eventalreadybinded="true",closeIconSpan.classList.add("v2-a-icon","v2-a-icon--x-small","technical-close-icon","v2-a-icon--hover"),closeIconSpan.addEventListener("click",removeFilterEvent);const icon=document.createElement("i");icon.classList.add("v2-a-icon__icon");const svgEl=document.createElementNS("http://www.w3.org/2000/svg","svg");svgEl.classList.add("v2-a-icon__svg");const useEl=document.createElementNS("http://www.w3.org/2000/svg","use");return useEl.classList.add("v2-a-icon__use"),useEl.setAttribute("href","/svg/close-symbol.svg#close-symbol"),svgEl.appendChild(useEl),icon.appendChild(svgEl),closeIconSpan.appendChild(icon),div.appendChild(closeIconSpan),div},removeFromFilterContainer=(filtersContainerEl,selectedFiltersContainerEl,filterCategory,filterCategoryValue)=>{const selectedFilterCategoryEl=expressQuerySelector(selectedFiltersContainerEl,filterCategoryValue?`[data-filterforcategory="${filterCategory}"][data-filterforcategoryvalue="${filterCategoryValue}"]`:`[data-filterforcategory="${filterCategory}"]`,!1);selectedFilterCategoryEl&&selectedFilterCategoryEl.remove(),hideSelectedFilters(filtersContainerEl,selectedFiltersContainerEl)},addTextToFilterContainer=(filtersContainerEl,typeOfFilter,selectedFiltersContainerEl,filterCategory,selectedFilterValue,removeFilterEvent,selectedFilterName)=>{if(showSelectedFilters(filtersContainerEl,selectedFiltersContainerEl),!selectedFiltersContainerEl)return;const selectedFilterCategoryEl=expressQuerySelector(selectedFiltersContainerEl,typeOfFilter===TypeOfFilter.Regular||typeOfFilter===TypeOfFilter.Slider?`[data-filterforcategory="${filterCategory}"]`:`[data-filterforcategory="${filterCategory}"][data-filterforcategoryvalue="${selectedFilterValue}"]`,!1),selectedFilterDisplayName=selectedFilterName||selectedFilterValue;if(selectedFilterCategoryEl){return void(expressQuerySelector(selectedFilterCategoryEl,".technical-filtertag-label",!0).innerHTML=typeOfFilter===TypeOfFilter.Slider?filterCategory+": "+selectedFilterDisplayName:selectedFilterDisplayName)}const filter=addFilterTemplate(TemplateType.Text,filterCategory,selectedFilterValue,typeOfFilter===TypeOfFilter.Slider?filterCategory+": "+selectedFilterDisplayName:selectedFilterDisplayName,removeFilterEvent),allSelectedColorFilters=expressQuerySelectorAll(selectedFiltersContainerEl,`[data-filterforcategory="${filterCategory}"]`);if(allSelectedColorFilters.length)return void allSelectedColorFilters[allSelectedColorFilters.length-1].insertAdjacentElement("afterend",filter);const filters=expressQuerySelectorAll(document,"[data-typeoffilter][data-filtercategory]"),selectedFiltersChildren=expressQuerySelectorAll(selectedFiltersContainerEl,"[data-filterforcategory]"),index=findInsertIndex(selectedFiltersChildren,filter,val1=>filters.findIndex(e=>val1.dataset.filterforcategory===e.dataset.filtercategory)),elementToInsertBefore=selectedFiltersChildren[index];!elementToInsertBefore||index<=-1||index>selectedFiltersChildren.length?selectedFiltersContainerEl.appendChild(filter):elementToInsertBefore.insertAdjacentElement("beforebegin",filter)},attachRemoveFilterEvent=(selectedFiltersContainerEl,filterForCategory,removeEvent,filterForCategoryValue)=>{const selectedFilterCategoryEl=expressQuerySelector(selectedFiltersContainerEl,filterForCategoryValue?`[data-filterforcategory="${filterForCategory}"][data-filterforcategoryvalue="${filterForCategoryValue}"]`:`[data-filterforcategory="${filterForCategory}"]`,!1);if(selectedFilterCategoryEl){const removeEl=expressQuerySelector(selectedFilterCategoryEl,".technical-close-icon",!1);!removeEl||removeEl.dataset.eventalreadybinded&&"true"===removeEl.dataset.eventalreadybinded||(removeEl.dataset.eventalreadybinded="true",removeEl.addEventListener("click",removeEvent))}},hideSelectedFilters=(filtersContainerEl,selectedFiltersContainerEl)=>{const resetFilterEls=expressQuerySelectorAll(filtersContainerEl,".o-filters__button-reset");if(!selectedFiltersContainerEl)return void resetFilterEls.forEac
1h(resetFilterEl=>resetFilterEl.classList.add("a-button--disabled"));expressQuerySelectorAll(selectedFiltersContainerEl.parentElement,".technical-filter-tag").length||selectedFiltersContainerEl.classList.contains("o-filters__selected-filters--none")||(selectedFiltersContainerEl.classList.add("o-filters__selected-filters--none"),noneSelectedLabelEl&&noneSelectedLabelEl.classList.remove("u-hide"),resetFilterEls.forEach(resetFilterEl=>resetFilterEl.classList.add("a-button--disabled")))},toggleResetFilters=(filtersContainerEl,force)=>{expressQuerySelectorAll(filtersContainerEl,".o-filters__button-reset").forEach(resetFilterEl=>resetFilterEl.classList.toggle("a-button--disabled",force))},showSelectedFilters=(filtersContainerEl,selectedFiltersContainerEl)=>{toggleResetFilters(filtersContainerEl,!1),selectedFiltersContainerEl&&selectedFiltersContainerEl.classList.contains("o-filters__selected-filters--none")&&(selectedFiltersContainerEl.classList.remove("o-filters__selected-filters--none"),noneSelectedLabelEl&&noneSelectedLabelEl.classList.add("u-hide"))},updateParametersForUrl=(typeOfFilter,filterQs,msg,removeFromUrl,analytics,possibleValues)=>{if(trackFiltersEvent("select",{tag:filterQs,tagValue:msg,pageType:window.context.pageType,pageCode:window.context.pageName}),!filterQs)return;let url;const value=encodeURIComponent(msg.toLowerCase());if(typeOfFilter===TypeOfFilter.Regular||typeOfFilter===TypeOfFilter.Slider)url=updateParameter(filterQs.toLowerCase(),removeFromUrl?"":value);else{const param=getParameter(filterQs.toLowerCase());let params=param?param.split(","):[];params.indexOf(value)<0?params.push(value):removeFromUrl&&(params=params.filter(f=>f!==value)),possibleValues&&(params=params.filter(x=>possibleValues.includes(x))),url=updateParameter(filterQs.toLowerCase(),params.join(","))}window.history.pushState({},null,url.toLowerCase())};hideSelectedFilters(containerEl,selectedFiltersContainerEl);const filterAccordions=[],filterQsArr=[],rangeFilterComponents=[];expressQuerySelectorAll(containerEl,".technical-filter").forEach(filter=>{if(filter.classList.contains("technical-selectedfilters"))return;const filterCategory=filter.dataset.filtercategory,elFilterQs=filter.dataset.filterqs,filterAccordion=createAccordion(filter,{titleElSelector:".technical-accordion-title",scrollIntoViewAfterOpen:!1,onOpen:accordionEl=>{const filterName=accordionEl.dataset.filterqs||"";return filterName?trackFiltersEvent("open",{tag:filterName,pageType:window.context.pageType,pageCode:window.context.pageName}):hasClass(containerEl,"technical-mobile-sorting")&&trackSortEvent("open",{pageType:window.context.pageType,pageCode:window.context.pageName}),Promise.resolve()}});filterAccordions.push(filterAccordion);const showMore=expressQuerySelector(filter,".technical-showmore",!1);filterQsArr.push(elFilterQs),showMore&&(filterQsArr.push(elFilterQs?`showmore${elFilterQs.toLowerCase()}`:null),showMoreElementsComponents.push(initShowMoreElements(filter,showMore,elFilterQs?`showmore${elFilterQs.toLowerCase()}`:null,".technical-filter-value",-1)));const filterCheckboxEls=expressQuerySelectorAll(filter,".a-form-input--checkbox, .a-form-input--radio"),filterCheckboxPossibleValues=filterCheckboxEls.map(x=>{var _a,_b;
1return[null===(_a=encodeURIComponent(x.dataset.filterelement))||void 0===_a?void 0:_a.toLowerCase(),null===(_b=encodeURIComponent(x.dataset.filterkey))||void 0===_b?void 0:_b.toLowerCase()]}).flat();filterCheckboxEls.forEach(filterEl=>{TypeOfFilter[filter.dataset.typeoffilter]!==TypeOfFilter.Regular&&TypeOfFilter[filter.dataset.typeoffilter]!==TypeOfFilter.MultiSelect||createCheckBoxSelectFilter(filterAccordion,TypeOfFilter[filter.dataset.typeoffilter],selectedFiltersContainerEl,elFilterQs,filterCategory,filterEl,filterCheckboxEls,filterCheckboxPossibleValues,containerEl,{updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters,addTextToFilterContainer:addTextToFilterContainer})});const colorEls=expressQuerySelectorAll(filter,".technical-icon.technical-filter-value"),colorElsPossibleValues=colorEls.map(x=>encodeURIComponent(x.dataset.filterelement.toLowerCase()));colorEls.forEach(filterEl=>createColorFilter(filterAccordion,selectedFiltersContainerEl,elFilterQs,filterCategory,filterEl,containerEl,colorElsPossibleValues,{showSelectedFilters:showSelectedFilters,addFilterTemplate:addFilterTemplate,updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters}));expressQuerySelectorAll(filter,".a-form-input--slider").forEach(filterEl=>{const showSliderEls=expressQuerySelectorAll(filter,"input[type=checkbox],input[type=radio]"),rangeFilterComponent=createRangeFilter(filterAccordion,selectedFiltersContainerEl,elFilterQs,filterCategory,filterEl,showSliderEls,containerEl,{updateParametersForUrl:updateParametersForUrl,removeFromFilterContainer:removeFromFilterContainer,onFilter:onFilter,attachRemoveFilterEvent:attachRemoveFilterEvent,toggleResetFilters:toggleResetFilters,addTextToFilterContainer:addTextToFilterContainer});rangeFilterComponents.push(rangeFilterComponent)})});const resetFilters=expressQuerySelectorAll(containerEl.parentElement,".technical-reset-filters"),resetFiltersContainerEl=()=>{trackFiltersEvent("FilterReset"),resetAll&&resetAll(containerEl),filterAccordions.forEach(filterAccordion=>{filterAccordion.isOpen()&&(filterAccordion.element.classList.contains("technical-mobile-sorting")||filterAccordion.close())});expressQuerySelectorAll(containerEl,".technical-icon").forEach(colorEl=>{colorEl.classList.contains("v2-a-icon--selected")&&(colorEl.classList.remove("v2-a-icon--selected"),colorEl.classList.add("v2-a-icon--unselected"))});expressQuerySelectorAll(containerEl,".technical-filter").forEach((filterEl,index)=>{var _a;expressQuerySelector(filterEl,".technical-showmore",!1)&&(null===(_a=showMoreElementsComponents[index])||void 0===_a?void 0:_a.resetElement)&&showMoreElementsComponents[index].resetElement();expressQuerySelectorAll(filterEl,"input[type=checkbox]:not(.technical-sorting-radio),input[type=radio]:not(.technical-sorting-radio)").forEach(checkboxEl=>{checkboxEl.checked=!1})}),rangeFilterComponents.forEach(showSliderEl=>showSliderEl.removeRangeFilter(!1));expressQuerySelectorAll(selectedFiltersContainerEl,".technical-filter-tag").forEach(el=>el.remove()),hideSelectedFilters(containerEl,selectedFiltersContainerEl),window.history.pushState({},null,queryRemoveKeys(filterQsArr))};resetFilters.forEach(resetFilter=>expressEventListener(resetFilter,"click",_=>!resetFilter.classList.contains("a-button--disabled")&&resetFiltersContainerEl()));(expressQuerySelector(containerEl,".technical-filters-container",!1)||containerEl).classList.remove("skeleton-loading");return expressQuerySelectorAll(containerEl,".technical-filter").forEach(filterEl=>{onElementVisibleOrBecomeVisible(filterEl,()=>{trackFiltersEvent("view",{pageType:window.context.pageType,pageCode:window.context.pageName,tag:filterEl.dataset.filterqs||""})})}),{resetFiltersContainerEl:resetFiltersContainerEl,disable:(filterQs,selectOptionValue)=>{const foundfilter=rangeFilterComponents.find(x=>x.filterQs===filterQs);foundfilter&&foundfilter.disable(selectOptionValue)},enable:(filterQs,selectOptionValue)=>{const foundfilter=rangeFilterComponents.find(x=>x.filterQs===filterQs);foundfilter&&foundfilter.enable(selectOptionValue)},getSelectOptions:filterQs=>{const foundfilter=rangeFilterComponents.find(x=>x.filterQs===filterQs);return foundfilter?foundfilter.getSelectOptions():[]}}}function sortGroupFilterValues(htmlFilterValues,htmlFilter){const disabledFilterValues=htmlFilterValues.filter(el=>el.classList.contains("a-form-input--disabled")||el.classList.contains("v2-a-icon--disabled")).sort((a,b)=>a.dataset.selectedtext<b.dataset.selectedtext?-1:a.dataset.selectedtext>b.dataset.selectedtext?1:0),enabledFilterValues=htmlFilterValues.filter(el=>!el.classList.contains("a-form-input--disabled")&&!el.classList.contains("v2-a-icon--disabled")).sort((a,b)=>a.dataset.selectedtext<b.dataset.selectedtext?-1:a.dataset.selectedtext>b.dataset.selectedtext?1:0),filtersContainer=expressQuerySelector(htmlFilter,".technical-accordion-content",!0),showMoreEl=expressQuerySelector(filtersContainer,".technical-showmore",!1);
1if(filtersContainer.innerHTML="",enabledFilterValues.forEach(el=>{filtersContainer.insertAdjacentElement("beforeend",el)}),disabledFilterValues.forEach(el=>{filtersContainer.insertAdjacentElement("beforeend",el)}),showMoreEl){const buttonTextEl=expressQuerySelector(showMoreEl,".technical-link-text",!1),sorterFilterValues=expressQuerySelectorAll(filtersContainer,".technical-filter-value");buttonTextEl&&buttonTextEl.innerHTML.trim()===showMoreEl.dataset.moretext?(sorterFilterValues.slice(0,parseInt(showMoreEl.dataset.baseamount||"0",10)-1).forEach(e=>e.classList.remove("u-hide-on-desktop-full")),sorterFilterValues.slice(0,parseInt(showMoreEl.dataset.baseamount||"0",10)-1).forEach(e=>e.classList.remove("u-hide-on-mobile-full")),sorterFilterValues.slice(parseInt(showMoreEl.dataset.baseamount||"0",10),sorterFilterValues.length).forEach(e=>e.classList.add("u-hide-on-desktop-full")),sorterFilterValues.slice(parseInt(showMoreEl.dataset.baseamount||"0",10),sorterFilterValues.length).forEach(e=>e.classList.add("u-hide-on-mobile-full"))):(sorterFilterValues.forEach(e=>e.classList.remove("u-hide-on-desktop-full")),sorterFilterValues.forEach(e=>e.classList.remove("u-hide-on-mobile-full"))),filtersContainer.insertAdjacentElement("beforeend",showMoreEl)}}!function(TemplateType){TemplateType[TemplateType.Text=0]="Text",TemplateType[TemplateType.Icon=1]="Icon"}(TemplateType||(TemplateType={})),function(TypeOfFilter){TypeOfFilter[TypeOfFilter.Regular=0]="Regular",TypeOfFilter[TypeOfFilter.MultiSelect=1]="MultiSelect",TypeOfFilter[TypeOfFilter.Icons=2]="Icons",TypeOfFilter[TypeOfFilter.Slider=3]="Slider"}(TypeOfFilter||(TypeOfFilter={}));var __awaiter$3=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};const basePath="/ApiCore/WishlistApi";function getWishlistItems(){return __awaiter$3(this,void 0,void 0,function*(){return yield getRequest(basePath+"/GetWishListItems",{headers:{"Content-type":"application/json; charset=utf-8"}})})}function addWishlistItem(productCategoryCode,predefinedProductNameAndPvc,theme){return __awaiter$3(this,void 0,void 0,function*(){return yield postRequest(basePath+"/AddWishListItem",{productCategoryCode:productCategoryCode,predefinedProductNameAndPvc:predefinedProductNameAndPvc,theme:theme},{headers:{"Content-type":"application/json; charset=utf-8"}})})}function deleteWishlistItem(productCategoryCode,predefinedProductNameAndPvc){return deleteRequest(basePath+"/DeleteWishListItem",{productCategoryCode:productCategoryCode,predefinedProductNameAndPvc:predefinedProductNameAndPvc},{headers:{"Content-type":"application/json; charset=utf-8"}})}const baseUrl="/apicore/authenticationapi/";function createTemp(){return postRequest(baseUrl+"createtemp",{language:window.context.language},{headers:{"Content-type":"application/json; charset=utf-8"}})}var Device$1,Device,__awaiter$2=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function createWishListButton(el,opts,addEventListeners=!0){const iconEl=expressQuerySelector(el,".technical-icon-file",!0),iconUseEl=expressQuerySelector(iconEl,"use",!0),likedClass="a-wishlist-button--liked",likedIconPath="/svg/heart-filled-symbol.svg#heart-filled-symbol";let disposable,executingOnClick=!1,productCategoryCode=el.dataset.productcategorycode||"",predefinedProductNameAndPvc=el.dataset.predefinedproductnameandpvc||"",theme=el.dataset.theme||"";function findWishlistItem(){return window.wishlist.find(item=>{const itemTheme=item.theme||"",itemProductCategoryCode=item.productCategoryCode||"",itemPredefinedProductNameAndPvc=item.predefinedProductNameAndPvc||"";return itemProductCategoryCode.toLowerCase()===productCategoryCode.toLowerCase()&&itemPredefinedProductNameAndPvc.toLowerCase()===predefinedProductNameAndPvc.toLowerCase()&&itemTheme.toLowerCase()===theme.toLowerCase()})}const onClickAction=ev=>{const el=getSelfOrParentWithClassName(ev.target,"technical-wishlist-button");if(productCategoryCode=el.dataset.productcategorycode,predefinedProductNameAndPvc=el.dataset.predefinedproductnameandpvc,theme=el.dataset.theme||"",!productCategoryCode&&!predefinedProductNameAndPvc)return;hasClass(el,likedClass)?deleteWishlistItem(productCategoryCode,predefinedProductNameAndPvc).then(_=>{if(expressRemoveClass(el,likedClass),iconUseEl.setAttribute("href","/svg/heart-symbol.svg#heart-symbol"),el.title=el.dataset.liketitle||"",window.wishlist){const found=findWishlistItem();if(found){const index=window.wishlist.indexOf(found);index>=0&&window.wishlist.splice(index,1)}}opts&&opts.onDisLike&&opts.onDisLike(el),executingOnClick=!1}).catch(()=>{executingOnClick=!1}):addWishlistItem(productCategoryCode,predefinedProductNameAndPvc,theme).then(_=>{expressAddClass(el,likedClass),iconUseEl.setAttribute("href",likedIconPath),el.title=el.dataset.disliketitle||"",window.wishlist&&window.wishlist.push({productCategoryCode:productCategoryCode,predefinedProductNameAndPvc:predefinedProductNameAndPvc,theme:theme}),opts&&opts.onLike&&opts.onLike(el),executingOnClick=!1}).catch(()=>{executingOnClick=!1})},setState=liked=>{executingOnClick||(executingOnClick=!0,liked?(expressAddClass(el,likedClass),iconUseEl.setAttribute("href",likedIconPath),el.title=el.dataset.disliketitle||""):(expressRemoveClass(el,likedClass),iconUseEl.setAttribute("href","/svg/heart-symbol.svg#heart-symbol"),el.title=el.dataset.liketitle||""),executingOnClick=!1)};if(addEventListeners&&(disposable=expressEventListener(el,"click",ev=>__awaiter$2(this,void 0,void 0,function*(){if(ev.preventDefault(),executingOnClick)return;executingOnClick=!0;const accId=getCookie("accid"),accType=getCookie("acctype");if(accId)onClickAction(ev);else{const createTempResult=yield createTemp();createTempResult.success&&(accType!==createTempResult.accountType&&writeCookie("acctype",createTempResult.accountType,365),accId!==createTempResult.accountId&&writeCookie("accid",createTempResult.accountId,365),onClickAction(ev))}})),hasClass(el,"u-hide"))){if(window.wishlist&&window.wishlist.length>0){setState(!!findWishlistItem())}else setState(!1);expressRemoveClass(el,"u-hide")}return{dispose:()=>{disposable&&disposable.dispose(),expressAddClass(el,"u-hide")},setState:setState,hasPredefinedProductNameAndPvc:predefinedProductNameAndPvc=>el.dataset.predefinedproductnameandpvc.toLowerCase()===predefinedProductNameAndPvc.toLowerCase()}}function createEmptyState(containerEl,opts){let disposable;
1const resetButtonEl=expressQuerySelector(containerEl,".technical-reset-filters-empty-state",!1);resetButtonEl&&opts&&opts.onResetButtonClick&&(disposable=compositeDisposable([expressEventListener(resetButtonEl,"click",opts.onResetButtonClick)]));return{show:()=>{expressRemoveClass(containerEl,"u-hide"),opts&&opts.onShow&&opts.onShow()},hide:()=>{expressAddClass(containerEl,"u-hide"),opts&&opts.onHide&&opts.onHide()},dispose:()=>disposable&&disposable.dispose(),hideResetButton:()=>resetButtonEl&&expressAddClass(resetButtonEl,"u-hide")}}function addOnSelectOpen(selectEl,onOpen){let isOpen;const disposable=compositeDisposable([]),setIsOpen=value=>{isOpen=value,isOpen&&onOpen&&onOpen()},selectClickHandle=event=>{if(selectEl){const rect=selectEl.getBoundingClientRect(),{clientX:clientX,clientY:clientY}=event;0==(clientX>=rect.left&&clientX<=rect.right&&clientY>=rect.top&&clientY<=rect.bottom)&&setIsOpen(!1)}},selectBlurHandle=()=>{setIsOpen(!1)},selectKeyHandle=event=>{"Enter"!==event.key&&13!==event.keyCode&&" "!==event.key&&32!==event.keyCode||setIsOpen(!0)},selectMousePress=()=>{setIsOpen(!isOpen)};return disposable&&disposable.addMany&&disposable.addMany([expressEventListener(selectEl,"click",selectMousePress),expressEventListener(selectEl,"blur",selectBlurHandle),expressEventListener(selectEl,"keydown",selectKeyHandle),expressEventListener(document,"click",selectClickHandle)]),{dispose:()=>disposable&&disposable.dispose()}}function createProductGrid(grid,deps,opts){const{showMoreClick:showMoreClick,filterGrid:filterGrid}=deps,filters={mobile:null,desktop:null},gridCounter=parseInt(grid.dataset.gridcounter||"",10),filteredValues={};let savedSortMethod;const regExpForNumberInParentheses=/\(([0-9]+)\)$/,wishListButtons=[];let emptyState;const calculateHackFor2TilesOnLastLine=grid=>{const filtersShown=hasClass(grid,"m-product-grid--filters");expressQuerySelectorAll(grid,".technical-tile:not(.u-hide-on-desktop-full):not(.u-hide)").length%(filtersShown?3:4)==2?grid.classList.add("m-product-grid--tail-2-tiles-on-desktop"):grid.classList.remove("m-product-grid--tail-2-tiles-on-desktop")},sortingGrid=expressQuerySelector(grid,".technical-sorting-container",!1);if(sortingGrid){onElementVisibleOrBecomeVisible(sortingGrid,()=>{trackSortEvent("view",{pageType:window.context.pageType,pageCode:window.context.pageName})})}const disableSort=force=>{if(sortingGrid){const sortEl=expressQuerySelector(sortingGrid,".technical-dropdown",!1);sortEl&&(grid.classList.toggle("a-form-input--disabled",force),sortEl.toggleAttribute("disabled",force))}},filterAndSortGrid=(grid,filterName=null,sortMethod=null,selectedFilters=null)=>{var _a,_b,_c,_d,_e,_f,_g,_h;if(savedSortMethod=sortMethod,filterGrid)return filterGrid(grid,filterName,sortMethod,selectedFilters);const gridCounter=parseInt(grid.dataset.gridcounter||"",10),gridContent=expressQuerySelector(grid,".technical-product-grid-content",!0);sortMethod=sortMethod||selectedFilters&&getParameter(`sortmethod[${gridCounter}]`);const tiles=expressQuerySelectorAll(grid,".technical-tile"),resetTiles="reset"===filterName||filteredValues[gridCounter]&&(Object.keys(filteredValues[gridCounter]).every(x=>!filteredValues[gridCounter][x]||0===filteredValues[gridCounter][x].length)||0===Object.keys(filteredValues[gridCounter]).length);let switchedPrices=!1;tiles.forEach(tile=>{tile.classList.remove("technical-showmore"),tile.classList.remove("u-hide-on-desktop-full"),tile.classList.remove("u-hide-on-mobile-full"),resetTiles&&tile.classList.remove("u-hide")});const button=expressQuerySelector(grid,".technical-showmore-button",!1);button&&button.classList.remove("u-hide");
1const switchPrices=(shouldSwitchPrices,showOriginalPrice,tile)=>{const fromPriceLabelEl=expressQuerySelector(tile,".technical-staring-from-price",!1),mainPrice=expressQuerySelector(tile,".technical-main-tile-price",!1),strikedPriceEl=expressQuerySelector(tile,".technical-striked-price",!1),detailPrice=expressQuerySelector(tile,".technical-detail-price",!1),isStartingPrice=fromPriceLabelEl&&"true"===fromPriceLabelEl.dataset.startingprice,units=fromPriceLabelEl&&parseInt(fromPriceLabelEl.dataset.units,10);if(fromPriceLabelEl&&fromPriceLabelEl.classList.toggle("u-hide",showOriginalPrice?!isStartingPrice:!isStartingPrice&&units<=0),shouldSwitchPrices&&mainPrice&&detailPrice){const price=mainPrice.dataset.price,altPrice=mainPrice.dataset.altPrice;mainPrice.innerHTML=mainPrice.innerHTML===price?altPrice:price;const unitPrice=detailPrice.dataset.unitPrice,unitPriceWithPrice=detailPrice.dataset.unitPriceWithPrice;if(detailPrice.innerHTML=detailPrice.innerHTML===unitPrice?unitPriceWithPrice:unitPrice,strikedPriceEl){const strikedUnitPrice=strikedPriceEl.dataset.strikedUnitPrice,strikedPrice=strikedPriceEl.dataset.strikedPrice;strikedPriceEl.innerHTML=strikedPriceEl.innerHTML==strikedUnitPrice?strikedPrice:strikedUnitPrice}return!0}return!1};if(sortMethod){const setPriceSelected="Unit"!==(null===(_a=(selectedFilters&&selectedFilters.Pr||[])[0])||void 0===_a?void 0:_a.split("_")[0]),sortTile=(a,b,sortMethod)=>{switch(sortMethod){case"price-low-high":{const priceA=setPriceSelected?parseFloat(a.dataset.sortPrice):parseFloat(a.dataset.sortUnitPrice),priceB=setPriceSelected?parseFloat(b.dataset.sortPrice):parseFloat(b.dataset.sortUnitPrice);return priceA===priceB?parseInt(a.dataset.sortDefault,10)>parseInt(b.dataset.sortDefault,10)?1:-1:priceA>priceB?1:-1}case"price-high-low":{const priceA=setPriceSelected?parseFloat(a.dataset.sortPrice):parseFloat(a.dataset.sortUnitPrice),priceB=setPriceSelected?parseFloat(b.dataset.sortPrice):parseFloat(b.dataset.sortUnitPrice);return priceA===priceB?parseInt(a.dataset.sortDefault,10)>parseInt(b.dataset.sortDefault,10)?1:-1:priceA<=priceB?1:-1}case"delivery-early-late":return a.dataset.sortDate===b.dataset.sortDate?parseInt(a.dataset.sortDefault,10)>parseInt(b.dataset.sortDefault,10)?1:-1:a.dataset.sortDate>b.dataset.sortDate?1:-1;case"review-high-low":{const ratingA=a.dataset.reviewrating?parseFloat(a.dataset.reviewrating):-1,ratingB=b.dataset.reviewrating?parseFloat(b.dataset.reviewrating):-1,sortDefaultA=parseInt(a.dataset.sortDefault,10),sortDefaultB=parseInt(b.dataset.sortDefault,10);return ratingA!==ratingB?ratingB-ratingA:sortDefaultA-sortDefaultB}case"unit-price-low-high":{const unitPriceA=parseFloat(a.dataset.sortUnitPrice),unitPriceB=parseFloat(b.dataset.sortUnitPrice),sortDefaultA=parseInt(a.dataset.sortDefault,10),sortDefaultB=parseInt(b.dataset.sortDefault,10);return unitPriceA===unitPriceB?sortDefaultA>sortDefaultB?1:-1:unitPriceA>unitPriceB?1:-1}
1default:return parseInt(a.dataset.sortDefault,10)>parseInt(b.dataset.sortDefault,10)?1:-1}};if(tiles.sort((a,b)=>{const statusA=a.dataset.status,statusB=b.dataset.status;if(statusA==statusB)return sortTile(a,b,sortMethod);const isAUnavailable=statusA&&"available"!=statusA&&"comingsoon"!=statusA,isBUnavailable=statusB&&"available"!=statusB&&"comingsoon"!=statusB;return isAUnavailable&&!isBUnavailable?1:!isAUnavailable&&isBUnavailable?-1:sortTile(a,b,sortMethod)}),"default"!==sortMethod&&"review-high-low"!=sortMethod){let wrongTileIndex=999;for(;wrongTileIndex>=0;)if(wrongTileIndex=tiles.findIndex((value,index)=>{const defaultIndex=parseInt(value.dataset.sortDefault,10),temporarilyUnavailable=expressQuerySelector(value,".m-product__temporarily-unavailable",!1);return defaultIndex!==index&&!temporarilyUnavailable&&("delivery-early-late"==sortMethod&&!value.dataset.sortDate||(!("price-high-low"!==sortMethod&&"price-low-high"!==sortMethod||value.dataset.sortPrice&&-1!=parseFloat(value.dataset.sortPrice))||void 0))}),wrongTileIndex>=0){const element=tiles[wrongTileIndex];tiles.splice(wrongTileIndex,1),tiles.splice(parseInt(element.dataset.sortDefault,10),0,element)}}const previousSortMethod=getParameter(`sortmethod[${gridCounter}]`),showOriginalPrice="unit-price-low-high"!=sortMethod,shouldSwitch="unit-price-low-high"==sortMethod||"unit-price-low-high"==previousSortMethod&&showOriginalPrice&&"Unit"!==(null===(_b=(selectedFilters&&selectedFilters.Pr||[])[0])||void 0===_b?void 0:_b.split("_")[0]);tiles.forEach(tile=>{const hideDeliveryDate="delivery-early-late"!=sortMethod,deliveryElem=expressQuerySelector(tile,".technical-deliverydate",!1);deliveryElem&&deliveryElem.classList.toggle("u-hide",hideDeliveryDate),switchedPrices=switchPrices(shouldSwitch,showOriginalPrice,tile);const infoContentItems=expressQuerySelector(tile,".technical-info-content-items",!1);infoContentItems&&infoContentItems.classList.toggle("m-product__info--has-shipping",!hideDeliveryDate),gridContent.appendChild(tile)})}const options=null!==(_d=null===(_c=filters.desktop)||void 0===_c?void 0:_c.getSelectOptions("Pr"))&&void 0!==_d?_d:[];if(options.length>1){const previousSortMethod=getParameter(`sortmethod[${gridCounter}]`);"unit-price-low-high"==sortMethod||"unit-price-low-high"==previousSortMethod&&!sortMethod?(null===(_e=filters.desktop)||void 0===_e||_e.disable("Pr",[options[0]]),null===(_f=filters.mobile)||void 0===_f||_f.disable("Pr",[options[0]])):(null===(_g=filters.desktop)||void 0===_g||_g.enable("Pr",[options[0]]),null===(_h=filters.mobile)||void 0===_h||_h.enable("Pr",[options[0]]))}filteredValues[gridCounter]&&Object.keys(filteredValues[gridCounter]).length>0&&Object.keys(filteredValues[gridCounter]).some(x=>filteredValues[gridCounter][x]&&filteredValues[gridCounter][x].length>0)&&tiles.forEach(tile=>{if(!selectedFilters)return;const tags=tile.dataset.tagid.split("|");let validTile=!0;Object.keys(selectedFilters).forEach(category=>{var _a,_b,_c,_d;const selectedFilterInCategory=selectedFilters[category];switch(category&&category.split("[")[0]){case"Pr":{const selectedOption=null!==(_b=null===(_a=selectedFilterInCategory[0])||void 0===_a?void 0:_a.split("_"))&&void 0!==_b?_b:[],price=null===(_c=selectedOption[1]||selectedFilterInCategory[0])||void 0===_c?void 0:_c.split("-");if(!price)break;const min=+price[0],max=+price[1];switch(null===(_d=selectedOption[0])||void 0===_d?void 0:_d.toLowerCase()){case"unit":{if(!switchedPrices){const mainPrice=expressQuerySelector(tile,".technical-main-tile-price",!1),shouldSwitch=mainPrice&&mainPrice.innerHTML===mainPrice.dataset.price;switchPrices(shouldSwitch,!1,tile)}const tileUnitPrice=+tile.dataset.sortUnitPrice,isValidUnitPrice=tileUnitPrice>=min&&tileUnitPrice<=max;validTile=validTile&&(!selectedFilterInCategory.length||isValidUnitPrice);break}default:{if(selectedOption[0]&&!switchedPrices){const mainPrice=expressQuerySelector(tile,".technical-main-tile-price",!1),shouldSwitch=mainPrice&&mainPrice.innerHTML===mainPrice.dataset.altPrice;switchPrices(shouldSwitch,!0,tile)}const tileLowPrice=+tile.dataset.sortPrice,tileHighPrice=+tile.dataset.priceHigh,isValidLowPrice=tileLowPrice>=min&&tileLowPrice<=max,isValidHighPrice=tileHighPrice>=min&&tileHighPrice<=max,isValidBetweenLowPriceAndHighPrice=min-tileLowPrice>0&&tileHighPrice-max>0;validTile=validTile&&(!selectedFilterInCategory.length||isValidLowPrice||isValidHighPrice||isValidBetweenLowPriceAndHighPrice);break}}break}case"Re":{const selectedReviewRating=+selectedFilterInCategory[0];if(!selectedReviewRating)break;const tileReviewRating=+tile.dataset.reviewrating;validTile=validTile&&(!selectedFilterInCategory.length||tileReviewRating&&tileReviewRating>=selectedReviewRating);break}default:validTile=validTile&&(!selectedFilterInCategory.length||tags.filter(x=>selectedFilterInCategory.includes(x)).length>0)}}),tile.classList.toggle("u-hide",!validTile)});const noElementsEl=expressQuerySelector(gridContent,".technical-no-elements",!1);noElementsEl&&noElementsEl.classList.toggle("u-hide",!tiles.every(t=>t.classList.contains("u-hide"))),disableSort(tiles.every(t=>t.classList.contains("u-hide")));const showMore=expressQuerySelector(grid,".technical-showmore-button",!1);if(showMore){resetTiles&&(showMore.dataset.currentpage="0",window.history.pushState({},null,queryRemoveKeys(["currentpage["+gridCounter+"]"])));const baseAmountDesktop=parseInt(showMore.dataset.baseamountDesktop,10),baseAmountMobile=parseInt(showMore.dataset.baseamountMobile,10),batchSizeDesktop=parseInt(showMore.dataset.batchsizeDesktop,10),batchSizeMobile=parseInt(showMore.dataset.batchsizeMobile,10),currentPage=parseInt(getParameter("currentpage["+gridCounter+"]")||"0",10);let hideButtonDesktop=!0,hideButtonMobile=!0;const visibleTiles=tiles.filter(x=>!x.classList.contains("u-hide"));for(let i=0;i<visibleTiles.length;i++)i>=baseAmountDesktop+currentPage*batchSizeDesktop&&(visibleTiles[i].classList.add("u-hide-on-desktop-full"),visibleTiles[i].classList.add("technical-showmore"),hideButtonDesktop=!1),i>=baseAmountMobile+currentPage*batchSizeMobile&&(visibleTiles[i].classList.add("u-hide-on-mobile-full"),visibleTiles[i].classList.add("technical-showmore"),hideButtonMobile=!1);showMore.parentElement.classList.toggle("u-hide-on-desktop-full",hideButtonDesktop),showMore.parentElement.classList.toggle("u-hide-on-mobile-full",hideButtonMobile),window.showMores[gridCounter]&&window.showMores[gridCounter].dispose(),window.showMores[gridCounter]=initPagedShowMoreElements(grid,showMore,"currentpage",null,gridCounter,showMoreClick?currentPage=>
1showMoreClick(currentPage,null,null,sortMethod,selectedFilters):null,()=>calculateHackFor2TilesOnLastLine(grid))}if(filterName){const filters=expressQuerySelectorAll(grid.parentElement,".technical-filter");filters.forEach(filter=>{const filterValues=expressQuerySelectorAll(filter,".technical-filter-value"),ownCategory=filter.dataset.filterqs;filterValues.forEach(filterValue=>{const label=expressQuerySelector(filterValue,"label",!0),labelText=expressQuerySelector(label,".technical-label",!0),input=expressQuerySelector(filterValue,"input",!0);if(filterName===ownCategory){const shouldFilterBeDisabled=!input.checked&&labelText.innerHTML.includes("(0)");return filterValue.classList.toggle("a-form-input--disabled",shouldFilterBeDisabled),void input.toggleAttribute("disabled",shouldFilterBeDisabled)}const ownValue=filterValue.dataset.filterkey,filtersToCheck=Object.assign({},selectedFilters);filtersToCheck[ownCategory]=!filtersToCheck[ownCategory]||filtersToCheck[ownCategory].length<=0?[ownValue]:[...filtersToCheck[ownCategory],ownValue];const filterKeys=Object.keys(filtersToCheck),validTiles=filterValue.dataset.default_tile_count&&filterKeys.every(x=>x!=ownCategory&&0==filtersToCheck[x].length||x==ownCategory&&filtersToCheck[x].length>0)?parseInt(filterValue.dataset.default_tile_count):tiles.filter(tile=>filterKeys.every(k=>{var _a,_b,_c,_d;const filterCategoryToCheck=ownCategory==k?[ownValue]:filtersToCheck[k];if(!filterCategoryToCheck.length)return!0;switch(k&&k.split("[")[0]){case"Pr":{const selectedOption=null!==(_b=null===(_a=filterCategoryToCheck[0])||void 0===_a?void 0:_a.split("_"))&&void 0!==_b?_b:[],price=null===(_c=selectedOption[1]||filterCategoryToCheck[0])||void 0===_c?void 0:_c.split("-");if(!price)return!0;const min=+price[0],max=+price[1];if("unit"===(null===(_d=selectedOption[0])||void 0===_d?void 0:_d.toLowerCase())){const tileUnitPrice=+tile.dataset.sortUnitPrice;return tileUnitPrice>=min&&tileUnitPrice<=max}{const tileLowPrice=+tile.dataset.sortPrice,tileHighPrice=+tile.dataset.priceHigh;return tileLowPrice>=min&&tileLowPrice<=max||tileHighPrice>=min&&tileHighPrice<=max||min-tileLowPrice>0&&tileHighPrice-max>0}}case"Re":{const tileReviewRating=+tile.dataset.reviewrating;return filterCategoryToCheck.some(x=>+x<=tileReviewRating)}default:{const tagIds=tile.dataset.tagid.split("|");return filterCategoryToCheck.some(x=>tagIds.includes(x))}}})).length,shouldFilterBeDisabled=0==validTiles&&!input.checked;filterValue.classList.toggle("a-form-input--disabled",shouldFilterBeDisabled),input.toggleAttribute("disabled",shouldFilterBeDisabled);const html=labelText.innerHTML;labelText.innerHTML=html.replace(regExpForNumberInParentheses,"("+validTiles+")")})}),filters.forEach(filter=>{if(filter.dataset.typeoffilter.includes("Slider")||filter.classList.contains("technical-ignore-groupfiltervalues"))return;sortGroupFilterValues(expressQuerySelectorAll(filter,".technical-filter-value"),filter)})}if(calculateHackFor2TilesOnLastLine(grid),sortMethod){let url=location.href;url=updateParameter("sortmethod["+gridCounter+"]","default"===sortMethod?"":sortMethod,url),url!=location.href&&history.replaceState(null,"",url.toLowerCase())}updateAmount(tiles.filter(x=>!x.classList.contains("u-hide")).length)},updateAmount=numberOfVisibleTiles=>{const gridAmount=expressQuerySelector(grid,".technical-amount-of-tiles",!1);gridAmount&&(gridAmount.innerHTML=numberOfVisibleTiles>1?(gridAmount.dataset.multi||"").replace("{0}",numberOfVisibleTiles.toString()):numberOfVisibleTiles<=0?"":gridAmount.dataset.single||"",gridAmount.classList.toggle("u-hide",numberOfVisibleTiles<=0))},refilter=productGrid=>{const gridCounter=parseInt(productGrid.dataset.gridcounter||"",10);filterAndSortGrid(productGrid,null,null,filteredValues[gridCounter])},filterCreateForOneGrid=filterContainer=>createFilters(filterContainer,{onFilter:(multiselect,filterName,filterValue,checked,containerEl,updateValue)=>{const gridToFilter=expressQuerySelector(getParentWithClassName(containerEl,"technical-grid-and-filters"),".technical-product-grid",!0),gridCounter=parseInt(gridToFilter.dataset.gridcounter||"",10);filteredValues[gridCounter]||(filteredValues[gridCounter]={});const previousSelectedValue=filteredValues[gridCounter][filterName];!multiselect&&checked&&(filteredValues[gridCounter][filterName]=[]);const filteredOutValue=filteredValues[gridCounter][filterName]&&filteredValues[gridCounter][filterName].find(x=>x==filterValue);filteredValues[gridCounter][filterName]=(!filteredValues[gridCounter][filterName]||filteredValues[gridCounter][filterName].length<=0)&&checked?[filterValue]:checked?[...filteredValues[gridCounter][filterName],filterValue]:filteredOutValue?filteredValues[gridCounter][filterName].filter(x=>x!=filterValue):[];const currentValue=filteredValues[gridCounter][filterName];updateValue&&(null==previousSelectedValue?void 0:previousSelectedValue.toString())!==(null==currentValue?void 0:currentValue.toString())&&filterAndSortGrid(gridToFilter,filterName,null,filteredValues[gridCounter])},resetAll:containerEl=>{const gridToFilter=expressQuerySelector(getParentWithClassName(containerEl,"technical-grid-and-filters"),".technical-product-grid",!0),gridCounter=parseInt(gridToFilter.dataset.gridcounter||"",10);filteredValues[gridCounter]={},filterAndSortGrid(gridToFilter,"reset",null,filteredValues[gridCounter])}});if(!grid.classList.contains("technical-load-api")){const buttonEl=expressQuerySelector(grid.parentElement?grid.parentElement:document,".technical-showmore-button",!1);buttonEl&&(window.showMores[gridCounter]=initPagedShowMoreElements(grid,buttonEl,"currentpage",null,gridCounter,showMoreClick?(currentPage,sizeDesktop,sizeMobile)=>showMoreClick(currentPage,sizeDesktop,sizeMobile,savedSortMethod,filteredValues[gridCounter]):null,()=>calculateHackFor2TilesOnLastLine(grid)),expressRemoveClass(buttonEl,"skeleton-loading"));const filterContainer=expressQuerySelector(grid.parentElement?grid.parentElement:document,".technical-filters-container",!1);if(filterContainer){filters.desktop=filterCreateForOneGrid(filterContainer);const mobileButton=expressQuerySelector(grid,".technical-filters-mobile-button",!1),popup=expressQuerySelector(document,"#MobileFilters"+gridCounter,!0),mobileContainer=expressQuerySelector(popup,".technical-filters-container",!0);filters.mobile=filterCreateForOneGrid(mobileContainer);const onClickMobile=()=>{createPopup({dialogId:"MobileFilters"+gridCounter,view:"none"}).then(popup=>{if(!popup.popup)return;popup.openAsync();expressQuerySelector(popup.popup,".technical-close-dialog",!0).addEventListener("click",popup.close);const technicalMobileSortingEl=expressQuerySelector(popup.popup,".technical-mobile-sorting",!1);if(technicalMobileSortingEl){onElementVisibleOrBecomeVisible(technicalMobileSortingEl,()=>{trackSortEvent("view",{pageType:window.context.pageType,pageCode:window.context.pageName}),trackSortEvent("open",{pageType:window.context.pageType,pageCode:window.context.pageName})})}})};mobileButton&&mobileButton.addEventListener("click",onClickMobile);expressQuerySelectorAll(mobileContainer,".technical-sorting-radio").forEach(sortElMobile=>{sortElMobile.addEventListener("click",()=>(trackSortEvent("select",{pageType:window.context.pageType,pageCode:window.context.pageName,method:sortElMobile.value}),filterAndSortGrid(grid,null,sortElMobile.value,filteredValues[gridCounter])))})}const gridContent=expressQuerySelector(grid,".technical-product-grid-content",!0);gridContent.classList.remove("skeleton-loading");const gridAmount=expressQuerySelector(grid,".technical-amount-of-tiles",!1);gridAmount&&gridAmount.classList.remove("skeleton-loading");expressQuerySelectorAll(gridContent,".technical-tile").filter(tile=>expressQuerySelector(tile,".technical-wishlist-button",!1)).forEac
1h(tile=>{const wishlistButtonEl=expressQuerySelector(tile,".technical-wishlist-button",!0),wishListButton=createWishListButton(wishlistButtonEl,{onLike:el=>(null==opts?void 0:opts.wishlistButtonOnClick)&&opts.wishlistButtonOnClick(el,!0),onDisLike:el=>(el=>{const amountOfTiles=expressQuerySelectorAll(gridContent,".technical-tile").length;(null==opts?void 0:opts.wishlistButtonOnClick)&&opts.wishlistButtonOnClick(el,!1),updateAmount(amountOfTiles-1),calculateHackFor2TilesOnLastLine(grid)})(el)});wishListButtons.push(wishListButton)});const sortEl=expressQuerySelector(grid,".technical-dropdown",!1);if(sortEl){addOnSelectOpen(sortEl,()=>{trackSortEvent("open",{pageType:window.context.pageType,pageCode:window.context.pageName})}),sortEl.addEventListener("change",()=>{const selectedSortingValue=sortEl[sortEl.selectedIndex];trackSortEvent("select",{pageType:window.context.pageType,pageCode:window.context.pageName,method:selectedSortingValue.value}),filterAndSortGrid(grid,null,selectedSortingValue.value,filteredValues[gridCounter])})}(()=>{let isMobile=isMobileOnPageWithHeader();(null==opts?void 0:opts.refreshOnResize)&&window.addEventListener("resize",()=>{const isMobileOnResize=isMobileOnPageWithHeader();isMobile!==isMobileOnResize&&(document.location.reload(),isMobile=isMobileOnResize)})})(),calculateHackFor2TilesOnLastLine(grid);const resetAllFilters=()=>{filters.mobile.resetFiltersContainerEl(),filters.desktop.resetFiltersContainerEl()},emptyStateEl=expressQuerySelector(grid,".technical-no-elements",!1);emptyStateEl&&(emptyState=createEmptyState(emptyStateEl,{onResetButtonClick:filters&&resetAllFilters,onShow:()=>{disableSort(!0),!hasClass(grid,"m-product-grid--filters")&&emptyState.hideResetButton()},onHide:()=>{disableSort(!1),!hasClass(grid,"m-product-grid--filters")&&emptyState.hideResetButton()}}));const resetEmptyState=emptyStateEl=>{emptyState&&emptyState.dispose(),emptyState=createEmptyState(emptyStateEl,{onResetButtonClick:filters&&resetAllFilters,onShow:()=>{disableSort(!0),!hasClass(grid,"m-product-grid--filters")&&emptyState.hideResetButton()},onHide:()=>{disableSort(!1),!hasClass(grid,"m-product-grid--filters")&&emptyState.hideResetButton()}}),emptyState.show()};return{resetFilter:filters&&resetAllFilters,reFilter:refilter,disableSort:disableSort,getWishListButtons:()=>wishListButtons,addWishListButton:button=>wishListButtons.push(button),calculateHackFor2TilesOnLastLine:calculateHackFor2TilesOnLastLine,hideEmptyState:()=>emptyState&&emptyState.hide(),showEmptyState:()=>emptyState&&emptyState.show(),resetEmptyState:resetEmptyState,hideEmptyStateResetButton:()=>{emptyState&&emptyState.hideResetButton},getSelectedFilters:()=>filteredValues[gridCounter]||{}}}}function createTruncate(containerEl,opts){const lineHeight=Math.ceil(opts.lineHeight?opts.lineHeight:parseFloat(window.getComputedStyle(containerEl).lineHeight||"0")),lines=Math.ceil(opts.lines?opts.lines:1),maxHeight=Math.ceil(opts.maxHeight?opts.maxHeight:lineHeight*lines),shaveMoreOnContainer=expressQuerySelector(containerEl,".technical-shave-more"),shaveLessOnContainer=expressQuerySelector(containerEl,".technical-shave-less"),defaults={ellipsis:"… ",showMore:opts.showMore||(shaveMoreOnContainer?shaveMoreOnContainer.outerHTML:expressQuerySelector(document,".technical-shave-more").outerHTML),showLess:opts.showLess||(shaveLessOnContainer?shaveLessOnContainer.outerHTML:expressQuerySelector(document,".technical-shave-less").outerHTML),lineHeight:lineHeight,lines:lines,maxHeight:maxHeight<lineHeight?lineHeight:maxHeight};hasClass(containerEl,"truncate-loading-1-line")&&expressRemoveClass(containerEl,"truncate-loading-1-line"),hasClass(containerEl,"truncate-loading-2-lines")&&expressRemoveClass(containerEl,"truncate-loading-2-lines"),hasClass(containerEl,"truncate-loading-5-lines--pcp")&&expressRemoveClass(containerEl,"truncate-loading-5-lines--pcp");const onClick=ev=>{const currentEl=ev.target;currentEl.classList.contains("technical-shave-more")?(opts.eventTrackingMethod&&opts.openEventAction&&opts.eventTrackingMethod(opts.openEventAction),truncate.expand()):currentEl.classList.contains("technical-shave-less")&&(opts.eventTrackingMethod&&opts.closeEventAction&&opts.eventTrackingMethod(opts.closeEventAction),truncate.collapse())},truncate=new Truncate(containerEl,Object.assign(Object.assign({},opts),defaults));return opts.onInitEvent&&opts.onInitEvent(),containerEl.addEventListener("click",onClick),{dispose:()=>containerEl.removeEventListener("click",onClick),updateConfig:(newOpts,overrideDefault)=>{truncate.config(overrideDefault?{ellipsis:defaults.ellipsis,showMore:defaults.showMore,showLess:defaults.showLess,lineHeight:defaults.lineHeight,lines:newOpts.lines,maxHeight:newOpts.maxHeight}:Object.assign(Object.assign({},newOpts),defaults)),truncate.collapse()},updateContent:html=>{truncate.update(html),truncate.collapse()},collapse:()=>{truncate.collapse()}}}function createHighlightedTiles(containerEl){const truncateEls=expressQuerySelectorAll(containerEl,".technical-shave"),videoEls=expressQuerySelectorAll(containerEl,".technical-video-tile");let eventDisposable;const getDevice=()=>window.innerWidth<=767?Device$1.Mobile:window.innerWidth>768&&window.innerWidth<960?Device$1.Tablet:Device$1.Desktop,currentDevice=getDevice(),onResize=()=>
1currentDevice!==getDevice()&&truncatedEls.forEach(t=>t.updateConfig({lines:2}));let truncatedEls=[];return truncatedEls=truncateEls.map(el=>createTruncate(el,{lines:2})),eventDisposable=expressEventListener(window,"resize",debounce(onResize,250)),videoEls&&videoEls.forEach(vEl=>initVideoPlayer(vEl)),{dispose:()=>{eventDisposable.dispose(),truncatedEls.forEach(t=>t.dispose())}}}function createImageDescription(containerEl){const truncateEls=expressQuerySelectorAll(containerEl,".technical-shave"),getDevice=()=>window.innerWidth<=767?Device.Mobile:Device.Desktop;let currentDevice=getDevice(),truncatedEls=[];const useMaxHeight=expressQuerySelectorAll(containerEl,".technical-max-width").length>0,button=expressQuerySelector(containerEl,".technical-image-description-button",!1),outerHeight=(el,includeOffset=!0)=>{if(!el)return 0;let height=includeOffset?el.offsetHeight:0;const style=getComputedStyle(el);return height+=parseInt(style.marginTop||"0",10)+parseInt(style.marginBottom||"0",10),height},calculateTruncateMaxHeight=()=>{let maxHeight=outerHeight(expressQuerySelector(containerEl,".technical-image-container",!1)||expressQuerySelector(containerEl,".technical-video-container",!1));if(!maxHeight)return;const headerStyle=getComputedStyle(expressQuerySelector(containerEl,".m-image-description__header",!1));return maxHeight-=parseInt(headerStyle.marginTop||"0")+parseInt(headerStyle.marginBottom||"0"),maxHeight-=outerHeight(expressQuerySelector(containerEl,".m-image-description__title-content",!1)),maxHeight-=outerHeight(button),maxHeight+=2*parseInt(headerStyle.lineHeight||"1"),maxHeight},removeSkeletons=()=>{expressQuerySelectorAll(containerEl,".skeleton-loading").forEach(el=>expressRemoveClass(el,"skeleton-loading"))},getTruncateOptions=useMaxHeight=>{switch(currentDevice){case Device.Mobile:return{lines:4,onInitEvent:removeSkeletons};case Device.Desktop:return{lines:button?4:void 0,maxHeight:useMaxHeight?calculateTruncateMaxHeight():void 0,onInitEvent:removeSkeletons};default:return{onInitEvent:removeSkeletons}}};truncatedEls=truncateEls.map(el=>createTruncate(el,getTruncateOptions(useMaxHeight))),truncateEls&&0!==truncateEls.length||removeSkeletons(),button&&button.getAttribute("href")&&button.addEventListener("click",_=>window.location.href=button.getAttribute("href")),expressEventListener(window,"resize",debounce(()=>{const device=getDevice();currentDevice!=device&&(currentDevice=device,truncatedEls.forEach(t=>t.updateConfig(getTruncateOptions(useMaxHeight),!0)))},250))}function createGtmMutationObserver(targetNode,seconds){return new Promise((resolve,reject)=>{const observer=new MutationObserver((mutations,obs)=>{obs.disconnect(),clearTimeout(timeout),resolve(mutations)});observer.observe(targetNode,{childList:!0,subtree:!0});const timeout=setTimeout(()=>{observer.disconnect(),reject("Nothing happened! (Emarsys recommendations do not work)")},1e3*seconds)})}function classesToTokens(classes=""){return classes.trim().split(" ").filter(c=>!!c.trim())}function deleteProps(obj){Object.keys(obj).forEach(key=>{try{obj[key]=null}catch{}try{delete obj[key]}catch{}})}function nextTick(callback,delay=0){return setTimeout(callback,delay)}function now(){return Date.now()}function getComputedStyle$1(el){return window.getComputedStyle(el,null)}function getTranslate(el,axis="x"){const style=getComputedStyle$1(el),transform=style.transform||style.webkitTransform;if(!transform||"none"===transform)return 0;const matrix=new DOMMatrixReadOnly(transform);return"x"===axis?matrix.m41:matrix.m42}function isObject(o){return"object"==typeof o&&null!==o&&!!o.constructor&&"Object"===Object.prototype.toString.call(o).slice(8,-1)}function isNode(node){return"undefined"!=typeof HTMLElement&&node instanceof HTMLElement||!!node&&"object"==typeof node&&(1===node.nodeType||11===node.nodeType)}function extend(target,...sources){const to=Object(target);for(let i=0;i<sources.length;i+=1){const nextSource=sources[i];if(null==nextSource||isNode(nextSource))continue;const sourceObj=nextSource,keysArray=Object.keys(Object(sourceObj)).filter(key=>"__proto__"!==key&&"constructor"!==key&&"prototype"!==key);for(const nextKey of keysArray){const desc=Object.getOwnPropertyDescriptor(sourceObj,nextKey);if(!desc||!desc.enumerable)continue;const sourceVal=sourceObj[nextKey];isObject(to[nextKey])&&isObject(sourceVal)?sourceVal.__swiper__?to[nextKey]=sourceVal:extend(to[nextKey],sourceVal):!isObject(to[nextKey])&&isObject(sourceVal)?(to[nextKey]={},sourceVal.__swiper__?to[nextKey]=sourceVal:extend(to[nextKey],sourceVal)):to[nextKey]=sourceVal}}return to}function setCSSProperty(el,varName,varValue){el.style.setProperty(varName,varValue)}function elementChildren(element,selector=""){const children=[...element.children];return element instanceof HTMLSlotElement&&children.push(...element.assignedElements()),selector?children.filter(el=>el.matches(selector)):children}function elementIsChildOfSlot(el,slot){const queue=[slot];for(;queue.length>0;){const cur=queue.shift();if(el===cur)return!0;queue.push(...cur.children,...cur.shadowRoot?cur.shadowRoot.children:[],...cur.assignedElements?cur.assignedElements():[])}return!1}function elementIsChildOf(el,parent){let isChild=parent.contains(el);if(!isChild&&parent instanceof HTMLSlotElement){isChild=[...parent.assignedElements()].includes(el),isChild||(isChild=elementIsChildOfSlot(el,parent))}return isChild}function showWarning(text){try{console.warn(text)}catch{}}function createElement(tag,classes=[]){const el=document.createElement(tag);
1return el.classList.add(...Array.isArray(classes)?classes:classesToTokens(classes)),el}function elementPrevAll(el,selector){const prevEls=[];let prev=el.previousElementSibling;for(;prev;)selector&&!prev.matches(selector)||prevEls.push(prev),prev=prev.previousElementSibling;return prevEls}function elementNextAll(el,selector){const nextEls=[];let next=el.nextElementSibling;for(;next;)selector&&!next.matches(selector)||nextEls.push(next),next=next.nextElementSibling;return nextEls}function elementStyle(el,prop){return window.getComputedStyle(el,null).getPropertyValue(prop)}function elementIndex(el){if(el&&el.parentNode)return[...el.parentNode.children].indexOf(el)}function elementParents(el,selector){const parents=[];let parent=el.parentElement;for(;parent;)parents.push(parent),parent=parent.parentElement;return parents}function elementOuterSize(el,size,includeMargins){{const style=window.getComputedStyle(el,null);return el["width"===size?"offsetWidth":"offsetHeight"]+parseFloat(style.getPropertyValue("width"===size?"margin-right":"margin-top"))+parseFloat(style.getPropertyValue("width"===size?"margin-left":"margin-bottom"))}}function makeElementsArray(el){return(Array.isArray(el)?el:[el]).filter(e=>!!e)}function setInnerHTML(el,html=""){const tt=globalThis.trustedTypes;el.innerHTML=void 0!==tt?tt.createPolicy("html",{createHTML:s=>s}).createHTML(html):html}let supportCached,deviceCached,browserCached;function calcSupport(){return"undefined"==typeof window?{touch:!1}:{touch:"ontouchstart"in window||navigator.maxTouchPoints>0}}function getSupport(){return supportCached||(supportCached=calcSupport()),supportCached}function calcDevice({userAgent:userAgent}={}){if("undefined"==typeof window)return{ios:!1,android:!1};const support=getSupport(),platform=navigator.platform,ua=userAgent||navigator.userAgent,device={ios:!1,android:!1},isAndroid=/(Android);?[\s/]+([\d.]+)?/.test(ua),isIPhoneOrIPod=/(iPhone\sOS|iOS|iPod)/.test(ua),isIPadDirect=/iPad/.test(ua),isIPadMasquerade="MacIntel"===platform&&support.touch&&navigator.maxTouchPoints>1,isIPad=isIPadDirect||isIPadMasquerade;return isAndroid&&!("Win32"===platform)&&(device.os="android",device.android=!0),(isIPad||isIPhoneOrIPod)&&(device.os="ios",device.ios=!0),device}function getDevice(overrides={}){return deviceCached||(deviceCached=calcDevice(overrides)),deviceCached}function calcBrowser(){if("undefined"==typeof window)return{isSafari:!1,isWebView:!1,need3dFix:!1};const device=getDevice(),ua=navigator.userAgent,uaLower=ua.toLowerCase(),isSafari=uaLower.includes("safari")&&!uaLower.includes("chrome")&&!uaLower.includes("android"),isWebView=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(ua);return{isSafari:isSafari,isWebView:isWebView,need3dFix:isSafari||isWebView&&device.ios}}function getBrowser(){return browserCached||(browserCached=calcBrowser()),browserCached}!function(Device){Device[Device.Desktop=1]="Desktop",Device[Device.Tablet=2]="Tablet",Device[Device.Mobile=3]="Mobile"}(Device$1||(Device$1={})),function(Device){Device[Device.Desktop=1]="Desktop",Device[Device.Tablet=2]="Tablet",Device[Device.Mobile=3]="Mobile"}(Device||(Device={}));const processLazyPreloader=(swiper,imageEl)=>{if(!swiper||swiper.destroyed||!swiper.params)return;const slideEl=imageEl.closest(swiper.isElement?"swiper-slide":`.${swiper.params.slideClass}`);if(slideEl){let lazyEl=slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);!lazyEl&&swiper.isElement&&(slideEl.shadowRoot?lazyEl=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{if(slideEl.shadowRoot){const innerLazy=slideEl.shadowRoot.querySelector(`.${swiper.params.lazyPreloaderClass}`);innerLazy&&!innerLazy.lazyPreloaderManaged&&innerLazy.remove()}})),lazyEl&&!lazyEl.lazyPreloaderManaged&&lazyEl.remove()}},unlazy=(swiper,index)=>{if(!swiper.slides[index])return;const imageEl=swiper.slides[index].querySelector('[loading="lazy"]');imageEl&&imageEl.removeAttribute("loading")},preload=swiper=>{if(!swiper||swiper.destroyed||!swiper.params)return;let amount=swiper.params.lazyPreloadPrevNext;const len=swiper.slides.length;if(!len||!amount||amount<0)return;amount=Math.min(amount,len);const slidesPerView="auto"===swiper.params.slidesPerView?swiper.slidesPerViewDynamic():Math.ceil(swiper.params.slidesPerView),activeIndex=swiper.activeIndex;
vendor: 4,614 bytes, line 1
1if(swiper.params.grid&&(swiper.params.grid.rows??1)>1){const activeColumn=activeIndex,preloadColumns=[activeColumn-amount];return preloadColumns.push(...Array.from({length:amount}).map((_,i)=>activeColumn+slidesPerView+i)),void swiper.slides.forEach((slideEl,i)=>{void 0!==slideEl.column&&preloadColumns.includes(slideEl.column)&&unlazy(swiper,i)})}const slideIndexLastInView=activeIndex+slidesPerView-1;if(swiper.params.rewind||swiper.params.loop)for(let i=activeIndex-amount;i<=slideIndexLastInView+amount;i+=1){const realIndex=(i%len+len)%len;(realIndex<activeIndex||realIndex>slideIndexLastInView)&&unlazy(swiper,realIndex)}else for(let i=Math.max(activeIndex-amount,0);i<=Math.min(slideIndexLastInView+amount,len-1);i+=1)i!==activeIndex&&(i>slideIndexLastInView||i<activeIndex)&&unlazy(swiper,i)};function getBreakpoint(breakpoints,base="window",containerEl){if(!breakpoints||"container"===base&&!containerEl)return;let breakpoint=!1;const currentHeight="window"===base?window.innerHeight:containerEl.clientHeight,points=Object.keys(breakpoints).map(point=>{if("string"==typeof point&&0===point.indexOf("@")){const minRatio=parseFloat(point.substr(1));return{value:currentHeight*minRatio,point:point}}return{value:point,point:point}});points.sort((a,b)=>parseInt(String(a.value),10)-parseInt(String(b.value),10));for(let i=0;i<points.length;i+=1){const{point:point,value:value}=points[i];"window"===base?window.matchMedia(`(min-width: ${value}px)`).matches&&(breakpoint=point):value<=containerEl.clientWidth&&(breakpoint=point)}return breakpoint||"max"}const isGridEnabled=(swiper,params)=>!!(swiper.grid&&params.grid&&params.grid.rows>1);function setBreakpoint(){const swiper=this,{realIndex:realIndex,initialized:initialized,params:params,el:el}=swiper,breakpoints=params.breakpoints;if(!breakpoints||breakpoints&&0===Object.keys(breakpoints).length)return;const breakpointsBase="window"!==params.breakpointsBase&&params.breakpointsBase?"container":params.breakpointsBase,breakpointContainer=["window","container"].includes(params.breakpointsBase)||!params.breakpointsBase?swiper.el:document.querySelector(params.breakpointsBase),breakpoint=swiper.getBreakpoint(breakpoints,breakpointsBase,breakpointContainer);if(!breakpoint||swiper.currentBreakpoint===breakpoint)return;const breakpointParams=(breakpoint in breakpoints?breakpoints[breakpoint]:void 0)||swiper.originalParams,wasMultiRow=isGridEnabled(swiper,params),isMultiRow=isGridEnabled(swiper,breakpointParams),wasGrabCursor=swiper.params.grabCursor,isGrabCursor=breakpointParams.grabCursor,wasEnabled=params.enabled;wasMultiRow&&!isMultiRow?(el.classList.remove(`${params.containerModifierClass}grid`,`${params.containerModifierClass}grid-column`),swiper.emitContainerClasses()):!wasMultiRow&&isMultiRow&&(el.classList.add(`${params.containerModifierClass}grid`),(breakpointParams.grid.fill&&"column"===breakpointParams.grid.fill||!breakpointParams.grid.fill&&"column"===params.grid.fill)&&el.classList.add(`${params.containerModifierClass}grid-column`),swiper.emitContainerClasses()),wasGrabCursor&&!isGrabCursor?swiper.unsetGrabCursor():!wasGrabCursor&&isGrabCursor&&swiper.setGrabCursor();const moduleOpt=(opts,prop)=>opts[prop];["navigation","pagination","scrollbar"].forEach(prop=>{const bpOpts=moduleOpt(breakpointParams,prop);if(void 0===bpOpts)return;const paramsOpts=moduleOpt(params,prop),wasModuleEnabled="object"==typeof paramsOpts&&null!==paramsOpts&&paramsOpts.enabled,isModuleEnabled="object"==typeof bpOpts&&null!==bpOpts&&bpOpts.enabled,moduleApi=swiper[prop];wasModuleEnabled&&!isModuleEnabled&&moduleApi?.disable?.(),!wasModuleEnabled&&isModuleEnabled&&moduleApi?.enable?.()});const directionChanged=breakpointParams.direction&&breakpointParams.direction!==params.direction,needsReLoop=params.loop&&(breakpointParams.slidesPerView!==params.slidesPerView||directionChanged),wasLoop=params.loop;directionChanged&&initialized&&swiper.changeDirection(),extend(swiper.params,breakpointParams);const isEnabled=swiper.params.enabled,hasLoop=swiper.params.loop;Object.assign(swiper,{allowTouchMove:swiper.params.allowTouchMove,allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev}),wasEnabled&&!isEnabled?swiper.disable():!wasEnabled&&isEnabled&&swiper.enable(),swiper.currentBreakpoint=breakpoint,swiper.emit("_beforeBreakpoint",breakpointParams),initialized&&(needsReLoop?(swiper.loopDestroy(),swiper.loopCreate(realIndex),swiper.updateSlides()):!wasLoop&&hasLoop?(swiper.loopCreate(realIndex),swiper.updateSlides()):wasLoop&&!hasLoop&&swiper.loopDestroy()),swiper.emit("breakpoint",breakpointParams)}
1var breakpoints={setBreakpoint:setBreakpoint,getBreakpoint:getBreakpoint};function checkOverflow(){const swiper=this,{isLocked:wasLocked,params:params}=swiper,{slidesOffsetBefore:slidesOffsetBefore}=params;if(slidesOffsetBefore){const lastSlideIndex=swiper.slides.length-1,lastSlideRightEdge=swiper.slidesGrid[lastSlideIndex]+swiper.slidesSizesGrid[lastSlideIndex]+2*slidesOffsetBefore;swiper.isLocked=swiper.size>lastSlideRightEdge}else swiper.isLocked=1===swiper.snapGrid.length;!0===params.allowSlideNext&&(swiper.allowSlideNext=!swiper.isLocked),!0===params.allowSlidePrev&&(swiper.allowSlidePrev=!swiper.isLocked),wasLocked&&wasLocked!==swiper.isLocked&&(swiper.isEnd=!1),wasLocked!==swiper.isLocked&&swiper.emit(swiper.isLocked?"lock":"unlock")}var checkOverflow$1={checkOverflow:checkOverflow};function prepareClasses(entries,prefix){const resultClasses=[];return entries.forEach(item=>{"object"==typeof item?Object.keys(item).forEach(classNames=>{item[classNames]&&resultClasses.push(prefix+classNames)}):"string"==typeof item&&resultClasses.push(prefix+item)}),resultClasses}function addClasses(){const{classNames:classNames,params:params,rtl:rtl,el:el,device:device}=this,suffixes=prepareClasses(["initialized",params.direction,{"free-mode":this.params.freeMode&&params.freeMode.enabled},{autoheight:params.autoHeight},{rtl:rtl},{grid:params.grid&&params.grid.rows>1},{"grid-column":params.grid&&params.grid.rows>1&&"column"===params.grid.fill},{android:device.android},{ios:device.ios},{"css-mode":params.cssMode},{centered:params.cssMode&&params.centeredSlides},{"watch-progress":params.watchSlidesProgress}],params.containerModifierClass);classNames.push(...suffixes),el.classList.add(...classNames),this.emitContainerClasses()}function removeClasses(){const{el:el,classNames:classNames}=this;el&&"string"!=typeof el&&(el.classList.remove(...classNames),this.emitContainerClasses())}var classes={addClasses:addClasses,removeClasses:removeClasses};const defaults={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};var eventsEmitter={on(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;const method=priority?"unshift":"push";return events.split(" ").forEach(event=>{self.eventsListeners[event]||(self.eventsListeners[event]=[]),self.eventsListeners[event][method](handler)}),self},once(events,handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;const onceHandler=function onceHandlerFn(...args){self.off(events,onceHandler),onceHandler.__emitterProxy&&delete onceHandler.__emitterProxy,handler.apply(self,args)};return onceHandler.__emitterProxy=handler,self.on(events,onceHandler,priority)},onAny(handler,priority){const self=this;if(!self.eventsListeners||self.destroyed)return self;if("function"!=typeof handler)return self;const method=priority?"unshift":"push";return self.eventsAnyListeners.indexOf(handler)<0&&self.eventsAnyListeners[method](handler),self},offAny(handler){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsAnyListeners)return self;const index=self.eventsAnyListeners.indexOf(handler);return index>=0&&self.eventsAnyListeners.splice(index,1),self},off(events,handler){const self=this;return!self.eventsListeners||self.destroyed?self:self.eventsListeners?(events.split(" ").forEach(event=>{void 0===handler?self.eventsListeners[event]=[]:self.eventsListeners[event]&&self.eventsListeners[event].forEach((eventHandler,index)=>{(eventHandler===handler||eventHandler.__emitterProxy&&eventHandler.__emitterProxy===handler)&&self.eventsListeners[event].splice(index,1)})}),self):self}
vendor: 19,485 bytes, line 1
1,emit(...args){const self=this;if(!self.eventsListeners||self.destroyed)return self;if(!self.eventsListeners)return self;let events,data,context;if("string"==typeof args[0]||Array.isArray(args[0]))events=args[0],data=args.slice(1,args.length),context=self;else{const opts=args[0];events=opts.events,data=opts.data??[],context=opts.context||self}data.unshift(context);return(Array.isArray(events)?events:events.split(" ")).forEach(event=>{self.eventsAnyListeners&&self.eventsAnyListeners.length&&self.eventsAnyListeners.forEach(eventHandler=>{eventHandler.apply(context,[event,...data])}),self.eventsListeners&&self.eventsListeners[event]&&self.eventsListeners[event].forEach(eventHandler=>{eventHandler.apply(context,data)})}),self}};function onClick(e){const swiper=this;swiper.destroyed||swiper.enabled&&(swiper.allowClick||(swiper.params.preventClicks&&e.preventDefault(),swiper.params.preventClicksPropagation&&swiper.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function onDocumentTouchStart(){const swiper=this;swiper.destroyed||swiper.documentTouchHandlerProceeded||(swiper.documentTouchHandlerProceeded=!0,swiper.params.touchReleaseOnEdges&&(swiper.el.style.touchAction="auto"))}function onLoad(e){this.destroyed||(processLazyPreloader(this,e.target),this.params.cssMode||"auto"!==this.params.slidesPerView&&!this.params.autoHeight||this.update())}function onResize(){const swiper=this,{params:params,el:el}=swiper;if(el&&0===el.offsetWidth)return;params.breakpoints&&swiper.setBreakpoint();const{allowSlideNext:allowSlideNext,allowSlidePrev:allowSlidePrev,snapGrid:snapGrid}=swiper,isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;swiper.allowSlideNext=!0,swiper.allowSlidePrev=!0,swiper.updateSize(),swiper.updateSlides(),swiper.updateSlidesClasses();const isVirtualLoop=isVirtual&&params.loop;if(!("auto"===params.slidesPerView||params.slidesPerView>1)||!swiper.isEnd||swiper.isBeginning||swiper.params.centeredSlides||isVirtualLoop)swiper.params.loop&&!isVirtual?swiper.slideToLoop(swiper.realIndex,0,!1,!0):swiper.slideTo(swiper.activeIndex,0,!1,!0);else{const slidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length;swiper.slideTo(slidesLength-1,0,!1,!0)}if(swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused){const autoplay=swiper.autoplay;clearTimeout(autoplay.resizeTimeout),autoplay.resizeTimeout=setTimeout(()=>{swiper.autoplay&&swiper.autoplay.running&&swiper.autoplay.paused&&swiper.autoplay.resume()},500)}swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext,swiper.params.watchOverflow&&snapGrid!==swiper.snapGrid&&swiper.checkOverflow()}function onScroll(){const swiper=this;if(swiper.destroyed)return;const{wrapperEl:wrapperEl,rtlTranslate:rtlTranslate,enabled:enabled}=swiper;if(!enabled)return;let newProgress;swiper.previousTranslate=swiper.translate,swiper.isHorizontal()?swiper.translate=-wrapperEl.scrollLeft:swiper.translate=-wrapperEl.scrollTop,0===swiper.translate&&(swiper.translate=0),swiper.updateActiveIndex(),swiper.updateSlidesClasses();const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();newProgress=0===translatesDiff?0:(swiper.translate-swiper.minTranslate())/translatesDiff,newProgress!==swiper.progress&&swiper.updateProgress(rtlTranslate?-swiper.translate:swiper.translate),swiper.emit("setTranslate",swiper.translate,!1)}function onTouchEnd(event){const swiper=this;if(swiper.destroyed)return;const data=swiper.touchEventsData;let e=event.originalEvent??event;if("touchend"===e.type||"touchcancel"===e.type){const found=[...e.changedTouches].find(t=>t.identifier===data.touchId);if(!found||found.identifier!==data.touchId)return}else{if(null!==data.touchId)return;if(e.pointerId!==data.pointerId)return}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(e.type)){if(!(["pointercancel","contextmenu"].includes(e.type)&&(swiper.browser.isSafari||swiper.browser.isWebView)))return}data.pointerId=null,data.touchId=null;const{params:params,touches:touches,rtlTranslate:rtl,slidesGrid:slidesGrid,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===e.pointerType)return;if(data.allowTouchCallbacks&&swiper.emit("touchEnd",e),data.allowTouchCallbacks=!1,!data.isTouched)return data.isMoved&&params.grabCursor&&swiper.setGrabCursor(!1),data.isMoved=!1,void(data.startMoving=!1);params.grabCursor&&data.isMoved&&data.isTouched&&(!0===swiper.allowSlideNext||!0===swiper.allowSlidePrev)&&swiper.setGrabCursor(!1);const touchEndTime=now(),timeDiff=touchEndTime-data.touchStartTime;if(swiper.allowClick){const pathTree=e.path??(e.composedPath&&e.composedPath());swiper.updateClickedSlide(pathTree&&pathTree[0],pathTree),swiper.emit("tap click",e),timeDiff<300&&touchEndTime-data.lastClickTime<300&&swiper.emit("doubleTap doubleClick",e)}if(data.lastClickTime=now(),nextTick(()=>{swiper.destroyed||(swiper.allowClick=!0)}),!data.isTouched||!data.isMoved||!swiper.swipeDirection||0===touches.diff&&!data.loopSwapReset||data.currentTranslate===data.startTranslate&&!data.loopSwapReset)return data.isTouched=!1,data.isMoved=!1,void(data.startMoving=!1);let currentPos;if(data.isTouched=!1,data.isMoved=!1,data.startMoving=!1,currentPos=params.followFinger?rtl?swiper.translate:-swiper.translate:-(data.currentTranslate??0),params.cssMode)return;if(params.freeMode&&params.freeMode.enabled)return void swiper.freeMode.onTouchEnd({currentPos:currentPos});const swipeToLast=currentPos>=-swiper.maxTranslate()&&!swiper.params.loop;let stopIndex=0,groupSize=swiper.slidesSizesGrid[0];for(let i=0;i<slidesGrid.length;i+=i<params.slidesPerGroupSkip?1:params.slidesPerGroup){const increment=i<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;void 0!==slidesGrid[i+increment]?(swipeToLast||currentPos>=slidesGrid[i]&&currentPos<slidesGrid[i+increment])&&(stopIndex=i,groupSize=slidesGrid[i+increment]-slidesGrid[i]):(swipeToLast||currentPos>=slidesGrid[i])&&(stopIndex=i,groupSize=slidesGrid[slidesGrid.length-1]-slidesGrid[slidesGrid.length-2])}let rewindFirstIndex=null,rewindLastIndex=null;params.rewind&&(swiper.isBeginning?rewindLastIndex=params.virtual?.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1:swiper.isEnd&&(rewindFirstIndex=0));const ratio=(currentPos-slidesGrid[stopIndex])/groupSize,increment=stopIndex<params.slidesPerGroupSkip-1?1:params.slidesPerGroup;if(timeDiff>params.longSwipesMs){if(!params.longSwipes)return void swiper.slideTo(swiper.activeIndex);"next"===swiper.swipeDirection&&(ratio>=params.longSwipesRatio?swiper.slideTo(params.rewind&&swiper.isEnd?rewindFirstIndex:stopIndex+increment):swiper.slideTo(stopIndex)),"prev"===swiper.swipeDirection&&(ratio>1-params.longSwipesRatio?swiper.slideTo(stopIndex+increment):null!==rewindLastIndex&&ratio<0&&Math.abs(ratio)>params.longSwipesRatio?swiper.slideTo(rewindLastIndex):swiper.slideTo(stopIndex))}else{if(!params.shortSwipes)return void swiper.slideTo(swiper.activeIndex);swiper.navigation&&(e.target===swiper.navigation.nextEl||e.target===swiper.navigation.prevEl)?e.target===swiper.navigation.nextEl?swiper.slideTo(stopIndex+increment):swiper.slideTo(stopIndex):("next"===swiper.swipeDirection&&swiper.slideTo(null!==rewindFirstIndex?rewindFirstIndex:stopIndex+increment),"prev"===swiper.swipeDirection&&swiper.slideTo(null!==rewindLastIndex?rewindLastIndex:stopIndex))}}function onTouchMove(event){const swiper=this;if(swiper.destroyed)return;const data=swiper.touchEventsData,{params:params,touches:touches,rtlTranslate:rtl,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===event.pointerType)return;const wrapped=event,e=wrapped.originalEvent??wrapped;if("pointermove"===e.type){if(null!==data.touchId)return;if(e.pointerId!==data.pointerId)return}let targetTouch;if("touchmove"===e.type){const found=[...e.changedTouches].find(t=>t.identifier===data.touchId);if(!found||found.identifier!==data.touchId)return;targetTouch=found}else targetTouch=e;if(!data.isTouched)return void(data.startMoving&&data.isScrolling&&swiper.emit("touchMoveOpposite",e));const pageX=targetTouch.pageX,pageY=targetTouch.pageY;if(e.preventedByNestedSwiper)return touches.startX=pageX,void(touches.startY=pageY);if(!swiper.allowTouchMove)return e.target.matches(data.focusableElements)||(swiper.allowClick=!1),void(data.isTouched&&(Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY}),data.touchStartTime=now()));if(params.touchReleaseOnEdges&&!params.loop)if(swiper.isVertical()){if(pageY<touches.startY&&swiper.translate<=swiper.maxTranslate()||pageY>touches.startY&&swiper.translate>=swiper.minTranslate())return data.isTouched=!1,void(data.isMoved=!1)}else{if(rtl&&(pageX>touches.startX&&-swiper.translate<=swiper.maxTranslate()||pageX<touches.startX&&-swiper.translate>=swiper.minTranslate()))return;if(!rtl&&(pageX<touches.startX&&swiper.translate<=swiper.maxTranslate()||pageX>touches.startX&&swiper.translate>=swiper.minTranslate()))return}if(document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==e.target&&"mouse"!==e.pointerType&&document.activeElement.blur(),document.activeElement&&e.target===document.activeElement&&e.target.matches(data.focusableElements))return data.isMoved=!0,void(swiper.allowClick=!1);data.allowTouchCallbacks&&swiper.emit("touchMove",e),touches.previousX=touches.currentX,touches.previousY=touches.currentY,touches.currentX=pageX,touches.currentY=pageY;const diffX=touches.currentX-touches.startX,diffY=touches.currentY-touches.startY;if(swiper.params.threshold&&Math.sqrt(diffX**2+diffY**2)<swiper.params.threshold)return;if(void 0===data.isScrolling){let touchAngle;swiper.isHorizontal()&&touches.currentY===touches.startY||swiper.isVertical()&&touches.currentX===touches.startX?data.isScrolling=!1:diffX*diffX+diffY*diffY>=25&&(touchAngle=180*Math.atan2(Math.abs(diffY),Math.abs(diffX))/Math.PI,data.isScrolling=swiper.isHorizontal()?touchAngle>params.touchAngle:90-touchAngle>params.touchAngle)}if(data.isScrolling&&swiper.emit("touchMoveOpposite",e),void 0===data.startMoving&&(touches.currentX===touches.startX&&touches.currentY===touches.startY||(data.startMoving=!0)),data.isScrolling||"touchmove"===e.type&&data.preventTouchMoveFromPointerMove)return void(data.isTouched=!1);if(!data.startMoving)return;swiper.allowClick=!1,!params.cssMode&&e.cancelable&&e.preventDefault(),params.touchMoveStopPropagation&&!params.nested&&e.stopPropagation();let diff=swiper.isHorizontal()?diffX:diffY,touchesDiff=swiper.isHorizontal()?touches.currentX-touches.previousX:touches.currentY-touches.previousY;params.oneWayMovement&&(diff=Math.abs(diff)*(rtl?1:-1),touchesDiff=Math.abs(touchesDiff)*(rtl?1:-1)),touches.diff=diff,diff*=params.touchRatio,rtl&&(diff=-diff,touchesDiff=-touchesDiff);const prevTouchesDirection=swiper.touchesDirection;swiper.swipeDirection=diff>0?"prev":"next",swiper.touchesDirection=touchesDiff>0?"prev":"next";const isLoop=swiper.params.loop&&!params.cssMode,allowLoopFix="next"===swiper.touchesDirection&&swiper.allowSlideNext||"prev"===swiper.touchesDirection&&swiper.allowSlidePrev;if(!data.isMoved){if(isLoop&&allowLoopFix&&swiper.loopFix({direction:swiper.swipeDirection}),data.startTranslate=swiper.getTranslate(),swiper.setTransition(0),swiper.animating){const evt=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});swiper.wrapperEl.dispatchEvent(evt)}data.allowMomentumBounce=!1,!params.grabCursor||!0!==swiper.allowSlideNext&&!0!==swiper.allowSlidePrev||swiper.setGrabCursor(!0),swiper.emit("sliderFirstMove",e)}if((new Date).getTime(),!1!==params._loopSwapReset&&data.isMoved&&data.allowThresholdMove&&prevTouchesDirection!==swiper.touchesDirection&&isLoop&&allowLoopFix&&Math.abs(diff)>=1)return Object.assign(touches,{startX:pageX,startY:pageY,currentX:pageX,currentY:pageY,startTranslate:data.currentTranslate}),data.loopSwapReset=!0,void(data.startTranslate=data.currentTranslate);swiper.emit("sliderMove",e),data.isMoved=!0;const startTranslate=data.startTranslate??0;data.currentTranslate=diff+startTranslate;let disableParentSwiper=!0,resistanceRatio=params.resistanceRatio;if(params.touchReleaseOnEdges&&(resistanceRatio=0),diff>0?(isLoop&&allowLoopFix&&data.allowThresholdMove&&data.currentTranslate>(params.centeredSlides?swiper.minTranslate()-swiper.slidesSizesGrid[swiper.activeIndex+1]-("auto"!==params.slidesPerView&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.activeIndex+1]+swiper.params.spaceBetween:0)-swiper.params.spaceBetween:swiper.minTranslate())&&swiper.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),data.currentTranslate>swiper.minTranslate()&&(disableParentSwiper=!1,params.resistance&&(data.currentTranslate=swiper.minTranslate()-1+(-swiper.minTranslate()+startTranslate+diff)**resistanceRatio))):diff<0&&(isLoop&&allowLoopFix&&data.allowThresholdMove&&data.currentTranslate<(params.centeredSlides?swiper.maxTranslate()+swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween+("auto"!==params.slidesPerView&&swiper.slides.length-params.slidesPerView>=2?swiper.slidesSizesGrid[swiper.slidesSizesGrid.length-1]+swiper.params.spaceBetween:0):swiper.maxTranslate())&&swiper.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:swiper.slides.length-("auto"===params.slidesPerView?swiper.slidesPerViewDynamic():Math.ceil(parseFloat(String(params.slidesPerView))))}),data.currentTranslate<swiper.maxTranslate()&&(disableParentSwiper=!1,params.resistance&&(data.currentTranslate=swiper.maxTranslate()+1-(swiper.maxTranslate()-startTranslate-diff)**resistanceRatio))),disableParentSwiper&&(e.preventedByNestedSwiper=!0),!swiper.allowSlideNext&&"next"===swiper.swipeDirection&&(data.currentTranslate??0)<startTranslate&&(data.currentTranslate=startTranslate),!swiper.allowSlidePrev&&"prev"===swiper.swipeDirection&&(data.currentTranslate??0)>startTranslate&&(data.currentTranslate=startTranslate),swiper.allowSlidePrev||swiper.allowSlideNext||(data.currentTranslate=startTranslate),params.threshold>0){if(!(Math.abs(diff)>params.threshold||data.allowThresholdMove))return void(data.currentTranslate=data.startTranslate);if(!data.allowThresholdMove)return data.allowThresholdMove=!0,touches.startX=touches.currentX,touches.startY=touches.currentY,data.currentTranslate=data.startTranslate,void(touches.diff=swiper.isHorizontal()?touches.currentX-touches.startX:touches.currentY-touches.startY)}params.followFinger&&!params.cssMode&&((params.freeMode&&params.freeMode.enabled&&swiper.freeMode||params.watchSlidesProgress)&&(swiper.updateActiveIndex(),swiper.updateSlidesClasses()),params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.freeMode.onTouchMove(),swiper.updateProgress(data.currentTranslate),swiper.setTranslate(data.currentTranslate??0))}function closestElement(selector,base){return function __closestFrom(el){if(!el||el===document||el===window)return null;let cur=el;cur.assignedSlot&&(cur=cur.assignedSlot);const found=cur.closest(selector);if(!found&&!cur.getRootNode)return null;const root=cur.getRootNode();return found||__closestFrom(root.host)}(base)}function preventEdgeSwipe(swiper,event,startX){const{params:params}=swiper,edgeSwipeDetection=params.edgeSwipeDetection,edgeSwipeThreshold=params.edgeSwipeThreshold;return!edgeSwipeDetection||!(startX<=edgeSwipeThreshold||startX>=window.innerWidth-edgeSwipeThreshold)||"prevent"===edgeSwipeDetection&&(event.preventDefault(),!0)}function onTouchStart(event){const swiper=this;if(swiper.destroyed)return;const e=event.originalEvent??event,data=swiper.touchEventsData;if("pointerdown"===e.type){const pe=e;if(null!==data.pointerId&&data.pointerId!==pe.pointerId)return;data.pointerId=pe.pointerId}else"touchstart"===e.type&&1===e.targetTouches.length&&(data.touchId=e.targetTouches[0].identifier);if("touchstart"===e.type)return void preventEdgeSwipe(swiper,e,e.targetTouches[0].pageX);const{params:params,touches:touches,enabled:enabled}=swiper;if(!enabled)return;if(!params.simulateTouch&&"mouse"===e.pointerType)return;if(swiper.animating&&params.preventInteractionOnTransition)return;!swiper.animating&&params.cssMode&&params.loop&&swiper.loopFix();let targetEl=e.target;if("wrapper"===params.touchEventsTarget&&!elementIsChildOf(targetEl,swiper.wrapperEl))return;const mouseLike=e;if("number"==typeof mouseLike.which&&3===mouseLike.which)return;if("number"==typeof mouseLike.button&&mouseLike.button>0)return;if(data.isTouched&&data.isMoved)return;const swipingClassHasValue=!!params.noSwipingClass&&""!==params.noSwipingClass,eventPath=e.composedPath?e.composedPath():e.path;swipingClassHasValue&&e.target&&e.target.shadowRoot&&eventPath&&(targetEl=eventPath[0]);const noSwipingSelector=params.noSwipingSelector?params.noSwipingSelector:`.${params.noSwipingClass}`,isTargetShadow=!(!e.target||!e.target.shadowRoot);if(params.noSwiping&&(isTargetShadow?closestElement(noSwipingSelector,targetEl):targetEl.closest(noSwipingSelector)))return void(swiper.allowClick=!0);if(params.swipeHandler&&"string"==typeof params.swipeHandler&&!targetEl.closest(params.swipeHandler))return;const pe=e;touches.currentX=pe.pageX,touches.currentY=pe.pageY;const startX=touches.currentX,startY=touches.currentY;if(!preventEdgeSwipe(swiper,e,startX))return;Object.assign(data,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),touches.startX=startX,touches.startY=startY,data.touchStartTime=now(),swiper.allowClick=!0,swiper.updateSize(),swiper.swipeDirection=void 0,params.threshold>0&&(data.allowThresholdMove=!1);let preventDefault=!0;targetEl.matches(data.focusableElements)&&(preventDefault=!1,"SELECT"===targetEl.nodeName&&(data.isTouched=!1)),document.activeElement&&document.activeElement.matches(data.focusableElements)&&document.activeElement!==targetEl&&("mouse"===pe.pointerType||"mouse"!==pe.pointerType&&!targetEl.matches(data.focusableElements))&&document.activeElement.blur();const shouldPreventDefault=preventDefault&&swiper.allowTouchMove&&params.touchStartPreventDefault;!params.touchStartForcePreventDefault&&!shouldPreventDefault||targetEl.isContentEditable||e.preventDefault(),params.freeMode&&params.freeMode.enabled&&swiper.freeMode&&swiper.animating&&!params.cssMode&&swiper.freeMode.onTouchStart(),swiper.emit("touchStart",e)}const events=(swiper,method)=>{const{params:params,el:el,wrapperEl:wrapperEl,device:device}=swiper,capture=!!params.nested,domMethod="on"===method?"addEventListener":"removeEventListener",swiperMethod=method;if(!el||"string"==typeof el)return;document[domMethod]("touchstart",swiper.onDocumentTouchStart,{passive:!1,capture:capture}),el[domMethod]("touchstart",swiper.onTouchStart,{passive:!1}),el[domMethod]("pointerdown",swiper.onTouchStart,{passive:!1}),document[domMethod]("touchmove",swiper.onTouchMove,{passive:!1,capture:capture}),document[domMethod]("pointermove",swiper.onTouchMove,{passive:!1,capture:capture}),document[domMethod]("touchend",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerup",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointercancel",swiper.onTouchEnd,{passive:!0}),document[domMethod]("touchcancel",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerout",swiper.onTouchEnd,{passive:!0}),document[domMethod]("pointerleave",swiper.onTouchEnd,{passive:!0}),document[domMethod]("contextmenu",swiper.onTouchEnd,{passive:!0}),(params.preventClicks||params.preventClicksPropagation)&&el[domMethod]("click",
1swiper.onClick,!0),params.cssMode&&wrapperEl[domMethod]("scroll",swiper.onScroll);const subscribe=events=>{swiper[swiperMethod](events,onResize,!0)};params.updateOnWindowResize?subscribe(device.ios||device.android?"resize orientationchange observerUpdate":"resize observerUpdate"):subscribe("observerUpdate"),el[domMethod]("load",swiper.onLoad,{capture:!0})};function attachEvents(){const swiper=this,{params:params}=swiper;swiper.onTouchStart=onTouchStart.bind(swiper),swiper.onTouchMove=onTouchMove.bind(swiper),swiper.onTouchEnd=onTouchEnd.bind(swiper),swiper.onDocumentTouchStart=onDocumentTouchStart.bind(swiper),params.cssMode&&(swiper.onScroll=onScroll.bind(swiper)),swiper.onClick=onClick.bind(swiper),swiper.onLoad=onLoad.bind(swiper),events(swiper,"on")}function detachEvents(){events(this,"off")}var events$1={attachEvents:attachEvents,detachEvents:detachEvents};function setGrabCursor(moving){const swiper=this;if(!swiper.params.simulateTouch||swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode)return;const el="container"===swiper.params.touchEventsTarget?swiper.el:swiper.wrapperEl;swiper.isElement&&(swiper.__preventObserver__=!0),el.style.cursor="move",el.style.cursor=moving?"grabbing":"grab",swiper.isElement&&requestAnimationFrame(()=>{swiper.__preventObserver__=!1})}function unsetGrabCursor(){const swiper=this;swiper.params.watchOverflow&&swiper.isLocked||swiper.params.cssMode||(swiper.isElement&&(swiper.__preventObserver__=!0),swiper["container"===swiper.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="",swiper.isElement&&requestAnimationFrame(()=>{swiper.__preventObserver__=!1}))}var grabCursor={setGrabCursor:setGrabCursor,unsetGrabCursor:unsetGrabCursor};function loopCreate(slideRealIndex,initial){const swiper=this,{params:params,slidesEl:slidesEl}=swiper;if(!params.loop||swiper.virtual&&swiper.params.virtual?.enabled)return;const initSlides=()=>{elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`).forEach((el,index)=>{el.setAttribute("data-swiper-slide-index",String(index))})},gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;params.loopAddBlankSlides&&(params.slidesPerGroup>1||gridEnabled)&&(()=>{const slides=elementChildren(slidesEl,`.${params.slideBlankClass}`);slides.forEach(el=>{el.remove()}),slides.length>0&&(swiper.recalcSlides(),swiper.updateSlides())})();const slidesPerGroup=params.slidesPerGroup*(gridEnabled?params.grid.rows:1),shouldFillGroup=swiper.slides.length%slidesPerGroup!==0,shouldFillGrid=gridEnabled&&swiper.slides.length%params.grid.rows!==0,addBlankSlides=amountOfSlides=>{for(let i=0;i<amountOfSlides;i+=1){const slideEl=swiper.isElement?createElement("swiper-slide",[params.slideBlankClass]):createElement("div",[params.slideClass,params.slideBlankClass]);swiper.slidesEl.append(slideEl)}};if(shouldFillGroup){if(params.loopAddBlankSlides){addBlankSlides(slidesPerGroup-swiper.slides.length%slidesPerGroup),swiper.recalcSlides(),swiper.updateSlides()}else showWarning("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");initSlides()}else if(shouldFillGrid){if(params.loopAddBlankSlides){addBlankSlides(params.grid.rows-swiper.slides.length%params.grid.rows),swiper.recalcSlides(),swiper.updateSlides()}else showWarning("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");initSlides()}else initSlides();const bothDirections=params.centeredSlides||!!params.slidesOffsetBefore||!!params.slidesOffsetAfter;
1swiper.loopFix({slideRealIndex:slideRealIndex,direction:bothDirections?void 0:"next",initial:initial})}function loopDestroy(){const{params:params,slidesEl:slidesEl}=this;if(!params.loop||!slidesEl||this.virtual&&this.params.virtual?.enabled)return;this.recalcSlides();const newSlidesOrder=[];this.slides.forEach(slideEl=>{const loopSlideEl=slideEl,index=void 0===loopSlideEl.swiperSlideIndex?Number(slideEl.getAttribute("data-swiper-slide-index")):loopSlideEl.swiperSlideIndex;newSlidesOrder[index]=slideEl}),this.slides.forEach(slideEl=>{slideEl.removeAttribute("data-swiper-slide-index")}),newSlidesOrder.forEach(slideEl=>{slidesEl.append(slideEl)}),this.recalcSlides(),this.slideTo(this.realIndex,0)}function loopFix(options={}){const{slideRealIndex:slideRealIndex,slideTo:slideTo=!0,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndexParam,initial:initial,byController:byController,byMousewheel:byMousewheel}=options;let activeSlideIndex=activeSlideIndexParam;const swiper=this;if(!swiper.params.loop)return;swiper.emit("beforeLoopFix");const{slides:slides,allowSlidePrev:allowSlidePrev,allowSlideNext:allowSlideNext,slidesEl:slidesEl,params:params}=swiper,{centeredSlides:centeredSlides,slidesOffsetBefore:slidesOffsetBefore,slidesOffsetAfter:slidesOffsetAfter,initialSlide:initialSlide}=params,bothDirections=centeredSlides||!!slidesOffsetBefore||!!slidesOffsetAfter;if(swiper.allowSlidePrev=!0,swiper.allowSlideNext=!0,swiper.virtual&&params.virtual?.enabled){if(slideTo){const virtualSlidesLength=swiper.virtual.slides.length,virtualSlidesBefore=swiper.virtual.slidesBefore??0;bothDirections||0!==swiper.snapIndex?bothDirections&&swiper.snapIndex<params.slidesPerView?swiper.slideTo(virtualSlidesLength+swiper.snapIndex,0,!1,!0):swiper.snapIndex===swiper.snapGrid.length-1&&swiper.slideTo(virtualSlidesBefore,0,!1,!0):swiper.slideTo(virtualSlidesLength,0,!1,!0)}return swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext,void swiper.emit("loopFix")}let slidesPerView=params.slidesPerView;"auto"===slidesPerView?slidesPerView=swiper.slidesPerViewDynamic():(slidesPerView=Math.ceil(parseFloat(String(params.slidesPerView))),bothDirections&&slidesPerView%2==0&&(slidesPerView+=1));const slidesPerGroup=params.slidesPerGroupAuto?slidesPerView:params.slidesPerGroup;let loopedSlides=bothDirections?Math.max(slidesPerGroup,Math.ceil(slidesPerView/2)):slidesPerGroup;loopedSlides%slidesPerGroup!==0&&(loopedSlides+=slidesPerGroup-loopedSlides%slidesPerGroup),loopedSlides+=params.loopAdditionalSlides,swiper.loopedSlides=loopedSlides;const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;slides.length<slidesPerView+loopedSlides||"cards"===swiper.params.effect&&slides.length<slidesPerView+2*loopedSlides?showWarning("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):gridEnabled&&"row"===params.grid.fill&&showWarning("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const prependSlidesIndexes=[],appendSlidesIndexes=[],cols=gridEnabled?Math.ceil(slides.length/params.grid.rows):slides.length,isInitialOverflow=initial&&cols-initialSlide<slidesPerView&&!bothDirections;let activeIndex=isInitialOverflow?initialSlide:swiper.activeIndex;void 0===activeSlideIndex?activeSlideIndex=swiper.getSlideIndex(slides.find(el=>el.classList.contains(params.slideActiveClass))):activeIndex=activeSlideIndex;const isNext="next"===direction||!direction,isPrev="prev"===direction||!direction;let slidesPrepended=0,slidesAppended=0;const activeColIndexWithShift=(gridEnabled?slides[activeSlideIndex].column??0:activeSlideIndex)+(bothDirections&&void 0===setTranslate?-slidesPerView/2+.5:0);if(activeColIndexWithShift<loopedSlides){slidesPrepended=Math.max(loopedSlides-activeColIndexWithShift,slidesPerGroup);for(let i=0;i<loopedSlides-activeColIndexWithShift;i+=1){const index=i-Math.floor(i/cols)*cols;if(gridEnabled){const colIndexToPrepend=cols-index-1;for(let j=slides.length-1;j>=0;
vendor: 6,729 bytes, line 1
1j-=1)slides[j].column===colIndexToPrepend&&prependSlidesIndexes.push(j)}else prependSlidesIndexes.push(cols-index-1)}}else if(activeColIndexWithShift+slidesPerView>cols-loopedSlides){slidesAppended=Math.max(activeColIndexWithShift-(cols-2*loopedSlides),slidesPerGroup),isInitialOverflow&&(slidesAppended=Math.max(slidesAppended,slidesPerView-cols+initialSlide+1));for(let i=0;i<slidesAppended;i+=1){const index=i-Math.floor(i/cols)*cols;gridEnabled?slides.forEach((slide,slideIndex)=>{slide.column===index&&appendSlidesIndexes.push(slideIndex)}):appendSlidesIndexes.push(index)}}if(swiper.__preventObserver__=!0,requestAnimationFrame(()=>{swiper.__preventObserver__=!1}),"cards"===swiper.params.effect&&slides.length<slidesPerView+2*loopedSlides&&(appendSlidesIndexes.includes(activeSlideIndex)&&appendSlidesIndexes.splice(appendSlidesIndexes.indexOf(activeSlideIndex),1),prependSlidesIndexes.includes(activeSlideIndex)&&prependSlidesIndexes.splice(prependSlidesIndexes.indexOf(activeSlideIndex),1)),isPrev&&prependSlidesIndexes.forEach(index=>{const slideEl=slides[index];slideEl.swiperLoopMoveDOM=!0,slidesEl.prepend(slideEl),slideEl.swiperLoopMoveDOM=!1}),isNext&&appendSlidesIndexes.forEach(index=>{const slideEl=slides[index];slideEl.swiperLoopMoveDOM=!0,slidesEl.append(slideEl),slideEl.swiperLoopMoveDOM=!1}),swiper.recalcSlides(),"auto"===params.slidesPerView?swiper.updateSlides():gridEnabled&&(prependSlidesIndexes.length>0&&isPrev||appendSlidesIndexes.length>0&&isNext)&&swiper.slides.forEach((slide,slideIndex)=>{swiper.grid.updateSlide(slideIndex,slide,swiper.slides)}),params.watchSlidesProgress&&swiper.updateSlidesOffset(),slideTo)if(prependSlidesIndexes.length>0&&isPrev){if(void 0===slideRealIndex){const currentSlideTranslate=swiper.slidesGrid[activeIndex],diff=swiper.slidesGrid[activeIndex+slidesPrepended]-currentSlideTranslate;byMousewheel?swiper.setTranslate(swiper.translate-diff):(swiper.slideTo(activeIndex+Math.ceil(slidesPrepended),0,!1,!0),setTranslate&&(swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff,swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff))}else if(setTranslate){const shift=gridEnabled?prependSlidesIndexes.length/params.grid.rows:prependSlidesIndexes.length;swiper.slideTo(swiper.activeIndex+shift,0,!1,!0),swiper.touchEventsData.currentTranslate=swiper.translate}}else if(appendSlidesIndexes.length>0&&isNext)if(void 0===slideRealIndex){const currentSlideTranslate=swiper.slidesGrid[activeIndex],diff=swiper.slidesGrid[activeIndex-slidesAppended]-currentSlideTranslate;byMousewheel?swiper.setTranslate(swiper.translate-diff):(swiper.slideTo(activeIndex-slidesAppended,0,!1,!0),setTranslate&&(swiper.touchEventsData.startTranslate=swiper.touchEventsData.startTranslate-diff,swiper.touchEventsData.currentTranslate=swiper.touchEventsData.currentTranslate-diff))}else{const shift=gridEnabled?appendSlidesIndexes.length/params.grid.rows:appendSlidesIndexes.length;swiper.slideTo(swiper.activeIndex-shift,0,!1,!0)}swiper.allowSlidePrev=allowSlidePrev,swiper.allowSlideNext=allowSlideNext;const controlled=swiper.controller?.control;if(controlled&&!byController){const loopParams={slideRealIndex:slideRealIndex,direction:direction,setTranslate:setTranslate,activeSlideIndex:activeSlideIndex,byController:!0};Array.isArray(controlled)?controlled.forEach(c=>{!c.destroyed&&c.params.loop&&c.loopFix({...loopParams,slideTo:c.params.slidesPerView===params.slidesPerView&&slideTo})}):controlled instanceof swiper.constructor&&controlled.params.loop&&controlled.loopFix({...loopParams,slideTo:controlled.params.slidesPerView===params.slidesPerView&&slideTo})}swiper.emit("loopFix")}var loop={loopCreate:loopCreate,loopFix:loopFix,loopDestroy:loopDestroy};function moduleExtendParams(params,allModulesParams){return function extendParams(obj={}){const moduleParamName=Object.keys(obj)[0],moduleParams=obj[moduleParamName];"object"==typeof moduleParams&&null!==moduleParams?(!0===params[moduleParamName]&&(params[moduleParamName]={enabled:!0}),"navigation"===moduleParamName&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].prevEl&&!params[moduleParamName].nextEl&&(params[moduleParamName].auto=!0),["pagination","scrollbar"].indexOf(moduleParamName)>=0&&params[moduleParamName]&&params[moduleParamName].enabled&&!params[moduleParamName].el&&(params[moduleParamName].auto=!0),moduleParamName in params&&"enabled"in moduleParams?("object"!=typeof params[moduleParamName]||"enabled"in params[moduleParamName]||(params[moduleParamName].enabled=!0),params[moduleParamName]||(params[moduleParamName]={enabled:!1}),extend(allModulesParams,obj)):extend(allModulesParams,obj)):extend(allModulesParams,obj)}}const Observer=({swiper:swiper,extendParams:extendParams,on:on})=>{const observers=[],attach=(target,options={})=>{const ObserverFunc=window.MutationObserver||window.WebkitMutationObserver;if(!ObserverFunc)return;const observer=new ObserverFunc(mutations=>{if(swiper.__preventObserver__)return;if(1===mutations.length)return void swiper.emit("observerUpdate",mutations[0]);const observerUpdate=function observerUpdate(){swiper.emit("observerUpdate",mutations[0])};window.requestAnimationFrame?window.requestAnimationFrame(observerUpdate):window.setTimeout(observerUpdate,0)});observer.observe(target,{attributes:void 0===options.attributes||options.attributes,childList:swiper.isElement||void 0===options.childList||options.childList,characterData:void 0===options.characterData||options.characterData}),observers.push(observer)};extendParams({observer:!1,observeParents:!1,observeSlideChildren:!1}),on("init",()=>{if(swiper.params.observer){if(swiper.params.observeParents){const containerParents=elementParents(swiper.hostEl);for(let i=0;i<containerParents.length;i+=1)attach(containerParents[i])}attach(swiper.hostEl,{childList:swiper.params.observeSlideChildren}),attach(swiper.wrapperEl,{attributes:!1})}}),on("destroy",()=>{observers.forEach(observer=>{observer.disconnect()}),observers.splice(0,observers.length)})},Resize=({swiper:swiper,on:on,emit:emit})=>{let observer=null,animationFrame=null;const resizeHandler=()=>{swiper&&!swiper.destroyed&&swiper.initialized&&(emit("beforeResize"),emit("resize"))},orientationChangeHandler=()=>{swiper&&!swiper.destroyed&&swiper.initialized&&emit("orientationchange")};on("init",()=>{swiper.params.resizeObserver&&void 0!==window.ResizeObserver?swiper&&!swiper.destroyed&&swiper.initialized&&(observer=new ResizeObserver(entries=>{animationFrame=window.requestAnimationFrame(()=>{const{width:width,height:height}=swiper;let newWidth=width,newHeight=height;entries.forEach(({contentBoxSize:contentBoxSize,contentRect:contentRect,target:target})=>
vendor: 5,338 bytes, line 1
1{if(target&&target!==swiper.el)return;const box=Array.isArray(contentBoxSize)?contentBoxSize[0]:contentBoxSize;newWidth=contentRect?contentRect.width:box.inlineSize,newHeight=contentRect?contentRect.height:box.blockSize}),newWidth===width&&newHeight===height||resizeHandler()})}),observer.observe(swiper.el)):(window.addEventListener("resize",resizeHandler),window.addEventListener("orientationchange",orientationChangeHandler))}),on("destroy",()=>{animationFrame&&window.cancelAnimationFrame(animationFrame),observer&&observer.unobserve&&swiper.el&&(observer.unobserve(swiper.el),observer=null),window.removeEventListener("resize",resizeHandler),window.removeEventListener("orientationchange",orientationChangeHandler)})};function slideNext(speed,runCallbacks=!0,internal){const swiper=this,{enabled:enabled,params:params,animating:animating}=swiper;if(!enabled||swiper.destroyed)return swiper;void 0===speed&&(speed=swiper.params.speed);let perGroup=params.slidesPerGroup;"auto"===params.slidesPerView&&1===params.slidesPerGroup&&params.slidesPerGroupAuto&&(perGroup=Math.max(swiper.slidesPerViewDynamic("current",!0),1));const increment=swiper.activeIndex<params.slidesPerGroupSkip?1:perGroup,isVirtual=swiper.virtual&&params.virtual?.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return!1;if(swiper.loopFix({direction:"next"}),swiper._clientLeft=swiper.wrapperEl.clientLeft,swiper.activeIndex===swiper.slides.length-1&&params.cssMode)return requestAnimationFrame(()=>{swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}),!0}return params.rewind&&swiper.isEnd?swiper.slideTo(0,speed,runCallbacks,internal):swiper.slideTo(swiper.activeIndex+increment,speed,runCallbacks,internal)}function slidePrev(speed,runCallbacks=!0,internal){const swiper=this,{params:params,snapGrid:snapGrid,slidesGrid:slidesGrid,rtlTranslate:rtlTranslate,enabled:enabled,animating:animating}=swiper;if(!enabled||swiper.destroyed)return swiper;void 0===speed&&(speed=swiper.params.speed);const isVirtual=swiper.virtual&&params.virtual?.enabled;if(params.loop){if(animating&&!isVirtual&&params.loopPreventsSliding)return!1;swiper.loopFix({direction:"prev"}),swiper._clientLeft=swiper.wrapperEl.clientLeft}function normalize(val){return val<0?-Math.floor(Math.abs(val)):Math.floor(val)}const normalizedTranslate=normalize(rtlTranslate?swiper.translate:-swiper.translate),normalizedSnapGrid=snapGrid.map(val=>normalize(val)),isFreeMode=params.freeMode&&params.freeMode.enabled;let prevSnap=snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate)-1];if(void 0===prevSnap&&(params.cssMode||isFreeMode)){let prevSnapIndex;snapGrid.forEach((snap,snapIndex)=>{normalizedTranslate>=snap&&(prevSnapIndex=snapIndex)}),void 0!==prevSnapIndex&&(prevSnap=isFreeMode?snapGrid[prevSnapIndex]:snapGrid[prevSnapIndex>0?prevSnapIndex-1:prevSnapIndex])}let prevIndex=0;if(void 0!==prevSnap&&(prevIndex=slidesGrid.indexOf(prevSnap),prevIndex<0&&(prevIndex=swiper.activeIndex-1),"auto"===params.slidesPerView&&1===params.slidesPerGroup&&params.slidesPerGroupAuto&&(prevIndex=prevIndex-swiper.slidesPerViewDynamic("previous",!0)+1,prevIndex=Math.max(prevIndex,0))),params.rewind&&swiper.isBeginning){const lastIndex=swiper.params.virtual?.enabled&&swiper.virtual?swiper.virtual.slides.length-1:swiper.slides.length-1;return swiper.slideTo(lastIndex,speed,runCallbacks,internal)}return params.loop&&0===swiper.activeIndex&&params.cssMode?(requestAnimationFrame(()=>{swiper.slideTo(prevIndex,speed,runCallbacks,internal)}),!0):swiper.slideTo(prevIndex,speed,runCallbacks,internal)}function slideReset(speed,runCallbacks=!0,internal){const swiper=this;if(!swiper.destroyed)return void 0===speed&&(speed=swiper.params.speed),swiper.slideTo(swiper.activeIndex,speed,runCallbacks,internal)}function slideTo(index=0,speed,runCallbacks=!0,internal,initial){"string"==typeof index&&(index=parseInt(index,10));const swiper=this;let slideIndex=index;slideIndex<0&&(slideIndex=0);const{params:params,snapGrid:snapGrid,slidesGrid:slidesGrid,previousIndex:previousIndex,activeIndex:activeIndex,rtlTranslate:rtl,wrapperEl:wrapperEl,enabled:enabled}=swiper;if(!enabled&&!internal&&!initial||swiper.destroyed||swiper.animating&&params.preventInteractionOnTransition)return!1;void 0===speed&&(speed=swiper.params.speed);const skip=Math.min(swiper.params.slidesPerGroupSkip,slideIndex);let snapIndex=skip+Math.floor((slideIndex-skip)/swiper.params.slidesPerGroup);snapIndex>=snapGrid.length&&(snapIndex=snapGrid.length-1);const translate=-snapGrid[snapIndex];if(params.normalizeSlideIndex)for(let i=0;i<slidesGrid.length;i+=1){const normalizedTranslate=-Math.floor(100*translate),normalizedGrid=Math.floor(100*slidesGrid[i]),normalizedGridNext=Math.floor(100*slidesGrid[i+1]);void 0!==slidesGrid[i+1]?normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext-(normalizedGridNext-normalizedGrid)/2?slideIndex=i:normalizedTranslate>=normalizedGrid&&normalizedTranslate<normalizedGridNext&&(slideIndex=i+1):normalizedTranslate>=normalizedGrid&&(slideIndex=i)}if(swiper.initialized&&slideIndex!==activeIndex){if(!swiper.allowSlideNext&&(rtl?translate>swiper.translate&&translate>swiper.minTranslate():translate<swiper.translate&&translate<swiper.minTranslate()))return!1;if(!swiper.allowSlidePrev&&translate>swiper.translate&&translate>
vendor: 5,630 bytes, line 1
1swiper.maxTranslate()&&(activeIndex||0)!==slideIndex)return!1}let direction;slideIndex!==(previousIndex||0)&&runCallbacks&&swiper.emit("beforeSlideChangeStart"),swiper.updateProgress(translate),direction=slideIndex>activeIndex?"next":slideIndex<activeIndex?"prev":"reset";const isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;if(!(isVirtual&&initial)&&(rtl&&-translate===swiper.translate||!rtl&&translate===swiper.translate))return swiper.updateActiveIndex(slideIndex),params.autoHeight&&swiper.updateAutoHeight(),swiper.updateSlidesClasses(),"slide"!==params.effect&&swiper.setTranslate(translate),"reset"!==direction&&(swiper.transitionStart(runCallbacks,direction),swiper.transitionEnd(runCallbacks,direction)),!1;if(params.cssMode){const isH=swiper.isHorizontal(),t=rtl?translate:-translate;return 0===speed?(isVirtual&&(swiper.wrapperEl.style.scrollSnapType="none",swiper._immediateVirtual=!0),isVirtual&&!swiper._cssModeVirtualInitialSet&&(swiper.params.initialSlide??0)>0?(swiper._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{wrapperEl[isH?"scrollLeft":"scrollTop"]=t})):wrapperEl[isH?"scrollLeft":"scrollTop"]=t,isVirtual&&requestAnimationFrame(()=>{swiper.wrapperEl.style.scrollSnapType="",swiper._immediateVirtual=!1})):wrapperEl.scrollTo({[isH?"left":"top"]:t,behavior:"smooth"}),!0}const isSafari=getBrowser().isSafari;return isVirtual&&!initial&&isSafari&&swiper.isElement&&swiper.virtual.update(!1,!1,slideIndex),swiper.setTransition(speed),swiper.setTranslate(translate),swiper.updateActiveIndex(slideIndex),swiper.updateSlidesClasses(),swiper.emit("beforeTransitionStart",speed,internal),swiper.transitionStart(runCallbacks,direction),0===speed?swiper.transitionEnd(runCallbacks,direction):swiper.animating||(swiper.animating=!0,swiper.onSlideToWrapperTransitionEnd||(swiper.onSlideToWrapperTransitionEnd=function transitionEnd(e){swiper&&!swiper.destroyed&&e.target===this&&(swiper.wrapperEl.removeEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd),swiper.onSlideToWrapperTransitionEnd=null,delete swiper.onSlideToWrapperTransitionEnd,swiper.transitionEnd(runCallbacks,direction))}),swiper.wrapperEl.addEventListener("transitionend",swiper.onSlideToWrapperTransitionEnd)),!0}function slideToClickedSlide(){const swiper=this;if(swiper.destroyed)return;const{params:params,slidesEl:slidesEl,clickedSlide:clickedSlide,clickedIndex:clickedIndex}=swiper;if(void 0===clickedSlide||void 0===clickedIndex)return;const slidesPerView="auto"===params.slidesPerView?swiper.slidesPerViewDynamic():params.slidesPerView;let realIndex,slideToIndex=swiper.getSlideIndexWhenGrid(clickedIndex);const slideSelector=swiper.isElement?"swiper-slide":`.${params.slideClass}`,isGrid=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;if(params.loop){if(swiper.animating)return;realIndex=parseInt(clickedSlide.getAttribute("data-swiper-slide-index"),10),params.centeredSlides?swiper.slideToLoop(realIndex):slideToIndex>(isGrid?(swiper.slides.length-slidesPerView)/2-(swiper.params.grid.rows-1):swiper.slides.length-slidesPerView)?(swiper.loopFix(),slideToIndex=swiper.getSlideIndex(elementChildren(slidesEl,`${slideSelector}[data-swiper-slide-index="${realIndex}"]`)[0]),nextTick(()=>{swiper.slideTo(slideToIndex)})):swiper.slideTo(slideToIndex)}else swiper.slideTo(slideToIndex)}function slideToClosest(speed,runCallbacks=!0,internal,threshold=.5){const swiper=this;if(swiper.destroyed)return;void 0===speed&&(speed=swiper.params.speed);let index=swiper.activeIndex;const skip=Math.min(swiper.params.slidesPerGroupSkip,index),snapIndex=skip+Math.floor((index-skip)/swiper.params.slidesPerGroup),translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;if(translate>=swiper.snapGrid[snapIndex]){const currentSnap=swiper.snapGrid[snapIndex];translate-currentSnap>(swiper.snapGrid[snapIndex+1]-currentSnap)*threshold&&(index+=swiper.params.slidesPerGroup)}else{const prevSnap=swiper.snapGrid[snapIndex-1];translate-prevSnap<=(swiper.snapGrid[snapIndex]-prevSnap)*threshold&&(index-=swiper.params.slidesPerGroup)}return index=Math.max(index,0),index=Math.min(index,swiper.slidesGrid.length-1),swiper.slideTo(index,speed,runCallbacks,internal)}function slideToLoop(index=0,speed,runCallbacks=!0,internal){if("string"==typeof index){index=parseInt(index,10)}const swiper=this;if(swiper.destroyed)return;void 0===speed&&(speed=swiper.params.speed);const gridEnabled=swiper.grid&&swiper.params.grid&&swiper.params.grid.rows>1;let newIndex=index;if(swiper.params.loop)if(swiper.virtual&&swiper.params.virtual?.enabled)newIndex+=swiper.virtual.slidesBefore??0;else{let targetSlideIndex;if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows,targetSlideEl=swiper.slides.find(slideEl=>Number(slideEl.getAttribute("data-swiper-slide-index"))===slideIndex);targetSlideIndex=targetSlideEl?.column??0}else targetSlideIndex=swiper.getSlideIndexByData(newIndex);const cols=gridEnabled?Math.ceil(swiper.slides.length/swiper.params.grid.rows):swiper.slides.length,{centeredSlides:centeredSlides,slidesOffsetBefore:slidesOffsetBefore,slidesOffsetAfter:slidesOffsetAfter}=swiper.params,bothDirections=centeredSlides||!!slidesOffsetBefore||!!slidesOffsetAfter;let slidesPerView;"auto"===swiper.params.slidesPerView?slidesPerView=swiper.slidesPerViewDynamic():(slidesPerView=Math.ceil(parseFloat(String(swiper.params.slidesPerView))),bothDirections&&slidesPerView%2==0&&(slidesPerView+=1));let needLoopFix=cols-targetSlideIndex<slidesPerView;if(bothDirections&&(needLoopFix=needLoopFix||targetSlideIndex<Math.ceil(slidesPerView/2)),internal&&bothDirections&&"auto"!==swiper.params.slidesPerView&&!gr
1idEnabled&&(needLoopFix=!1),needLoopFix){const direction=bothDirections?targetSlideIndex<swiper.activeIndex?"prev":"next":targetSlideIndex-swiper.activeIndex-1<swiper.params.slidesPerView?"next":"prev";swiper.loopFix({direction:direction,slideTo:!0,activeSlideIndex:"next"===direction?targetSlideIndex+1:targetSlideIndex-cols+1,slideRealIndex:"next"===direction?swiper.realIndex:void 0})}if(gridEnabled){const slideIndex=newIndex*swiper.params.grid.rows,targetSlideEl=swiper.slides.find(slideEl=>Number(slideEl.getAttribute("data-swiper-slide-index"))===slideIndex);newIndex=targetSlideEl?.column??0}else newIndex=swiper.getSlideIndexByData(newIndex)}return requestAnimationFrame(()=>{swiper.slideTo(newIndex,speed,runCallbacks,internal)}),swiper}var slide={slideTo:slideTo,slideToLoop:slideToLoop,slideNext:slideNext,slidePrev:slidePrev,slideReset:slideReset,slideToClosest:slideToClosest,slideToClickedSlide:slideToClickedSlide};function setTransition(duration,byController){const swiper=this;swiper.params.cssMode||(swiper.wrapperEl.style.transitionDuration=`${duration}ms`,swiper.wrapperEl.style.transitionDelay=0===duration?"0ms":""),swiper.emit("setTransition",duration,byController)}function transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:step}){const{activeIndex:activeIndex,previousIndex:previousIndex}=swiper;let dir=direction;dir||(dir=activeIndex>previousIndex?"next":activeIndex<previousIndex?"prev":"reset"),swiper.emit(`transition${step}`),runCallbacks&&"reset"===dir?swiper.emit(`slideResetTransition${step}`):runCallbacks&&activeIndex!==previousIndex&&(swiper.emit(`slideChangeTransition${step}`),"next"===dir?swiper.emit(`slideNextTransition${step}`):swiper.emit(`slidePrevTransition${step}`))}function transitionEnd(runCallbacks=!0,direction){const{params:params}=this;this.animating=!1,params.cssMode||(this.setTransition(0),transitionEmit({swiper:this,runCallbacks:runCallbacks,direction:direction,step:"End"}))}function transitionStart(runCallbacks=!0,direction){const swiper=this,{params:params}=swiper;params.cssMode||(params.autoHeight&&swiper.updateAutoHeight(),transitionEmit({swiper:swiper,runCallbacks:runCallbacks,direction:direction,step:"Start"}))}var transition={setTransition:setTransition,transitionStart:transitionStart,transitionEnd:transitionEnd};function getSwiperTranslate(axis=(this.isHorizontal()?"x":"y")){const{params:params,rtlTranslate:rtl,translate:translate,wrapperEl:wrapperEl}=this;if(params.virtualTranslate)return rtl?-translate:translate;if(params.cssMode)return translate;let currentTranslate=getTranslate(wrapperEl,axis);return currentTranslate+=this.cssOverflowAdjustment(),rtl&&(currentTranslate=-currentTranslate),currentTranslate||0}function maxTranslate(){return-this.snapGrid[this.snapGrid.length-1]}function minTranslate(){return-this.snapGrid[0]}function setTranslate(translate,byController){const swiper=this,{rtlTranslate:rtl,params:params,wrapperEl:wrapperEl,progress:progress}=swiper;let x=0,y=0;let newProgress;swiper.isHorizontal()?x=rtl?-translate:translate:y=translate,params.roundLengths&&(x=Math.floor(x),y=Math.floor(y)),swiper.previousTranslate=swiper.translate,swiper.translate=swiper.isHorizontal()?x:y,params.cssMode?wrapperEl[swiper.isHorizontal()?"scrollLeft":"scrollTop"]=swiper.isHorizontal()?-x:-y:params.virtualTranslate||(swiper.isHorizontal()?x-=swiper.cssOverflowAdjustment():y-=swiper.cssOverflowAdjustment(),wrapperEl.style.transform=`translate3d(${x}px, ${y}px, 0px)`);const translatesDiff=swiper.maxTranslate()-swiper.minTranslate();newProgress=0===translatesDiff?0:(translate-swiper.minTranslate())/translatesDiff,newProgress!==progress&&swiper.updateProgress(translate),swiper.emit("setTranslate",swiper.translate,byController)}function translateTo(translate=0,speed=this.params.speed,runCallbacks=!0,translateBounds=!0,internal){const swiper=this,{params:params,wrapperEl:wrapperEl}=swiper;if(swiper.animating&&params.preventInteractionOnTransition)return!1;const minTranslate=swiper.minTranslate(),maxTranslate=swiper.maxTranslate();let newTranslate;if(newTranslate=translateBounds&&translate>minTranslate?minTranslate:translateBounds&&translate<maxTranslate?maxTranslate:translate,swiper.updateProgress(newTranslate),params.cssMode){const isH=swiper.isHorizontal();return 0===speed?wrapperEl[isH?"scrollLeft":"scrollTop"]=-newTranslate:wrapperEl.scrollTo({[isH?"left":"top"]:-newTranslate,behavior:"smooth"}),!0}return 0===speed?(swiper.setTransition(0),swiper.setTranslate(newTranslate),runCallbacks&&(swiper.emit("beforeTransitionStart",speed,internal),swiper.emit("transitionEnd"))):(swiper.setTransition(speed),swiper.setTranslate(newTranslate),runCallbacks&&(swiper.emit("beforeTransitionStart",speed,internal),swiper.emit("transitionStart")),swiper.animating||(swiper.animating=!0,swiper.onTranslateToWrapperTransitionEnd||(swiper.onTranslateToWrapperTransitionEnd=function transitionEnd(e){swiper&&!swiper.destroyed&&e.target===this&&(swiper.wrapperEl.removeEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd),swiper.onTranslateToWrapperTransitionEnd=null,delete swiper.onTranslateToWrapperTransitionEnd,swiper.animating=!1,runCallbacks&&swiper.emit("transitionEnd"))}),swiper.wrapperEl.addEventListener("transitionend",swiper.onTranslateToWrapperTransitionEnd))),!0}var translate={getTranslate:getSwiperTranslate,setTranslate:setTranslate,minTranslate:minTranslate,maxTranslate:maxTranslate,translateTo:translateTo};function getActiveIndexByTranslate(swiper){const{slidesGrid:slidesGrid,params:params}=swiper,translate=swiper.rtlTranslate?swiper.translate:-swiper.translate;let activeIndex;for(let i=0;i<slidesGrid.length;i+=1)void 0!==slidesGrid[i+1]?translate>
vendor: 15,551 bytes, line 1
1=slidesGrid[i]&&translate<slidesGrid[i+1]-(slidesGrid[i+1]-slidesGrid[i])/2?activeIndex=i:translate>=slidesGrid[i]&&translate<slidesGrid[i+1]&&(activeIndex=i+1):translate>=slidesGrid[i]&&(activeIndex=i);return params.normalizeSlideIndex&&(activeIndex<0||void 0===activeIndex)&&(activeIndex=0),activeIndex}function updateActiveIndex(newActiveIndex){const swiper=this,translate=swiper.rtlTranslate?swiper.translate:-swiper.translate,{snapGrid:snapGrid,params:params,activeIndex:previousIndex,realIndex:previousRealIndex,snapIndex:previousSnapIndex}=swiper;let snapIndex,activeIndex=newActiveIndex;const getVirtualRealIndex=aIndex=>{const virtualSlides=swiper.virtual.slides;let realIndex=aIndex-(swiper.virtual.slidesBefore??0);return realIndex<0&&(realIndex=virtualSlides.length+realIndex),realIndex>=virtualSlides.length&&(realIndex-=virtualSlides.length),realIndex};if(void 0===activeIndex&&(activeIndex=getActiveIndexByTranslate(swiper)),snapGrid.indexOf(translate)>=0)snapIndex=snapGrid.indexOf(translate);else{const skip=Math.min(params.slidesPerGroupSkip,activeIndex);snapIndex=skip+Math.floor((activeIndex-skip)/params.slidesPerGroup)}if(snapIndex>=snapGrid.length&&(snapIndex=snapGrid.length-1),activeIndex===previousIndex&&!swiper.params.loop)return void(snapIndex!==previousSnapIndex&&(swiper.snapIndex=snapIndex,swiper.emit("snapIndexChange")));if(activeIndex===previousIndex&&swiper.params.loop&&swiper.virtual&&swiper.params.virtual?.enabled)return void(swiper.realIndex=getVirtualRealIndex(activeIndex));const gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1;let realIndex;if(swiper.virtual&&params.virtual?.enabled)realIndex=params.loop?getVirtualRealIndex(activeIndex):activeIndex;else if(gridEnabled){const firstSlideInColumn=swiper.slides.find(slideEl=>slideEl.column===activeIndex);let activeSlideIndex=parseInt(firstSlideInColumn.getAttribute("data-swiper-slide-index"),10);Number.isNaN(activeSlideIndex)&&(activeSlideIndex=Math.max(swiper.slides.indexOf(firstSlideInColumn),0)),realIndex=Math.floor(activeSlideIndex/params.grid.rows)}else if(swiper.slides[activeIndex]){const slideIndex=swiper.slides[activeIndex].getAttribute("data-swiper-slide-index");realIndex=slideIndex?parseInt(slideIndex,10):activeIndex}else realIndex=activeIndex;Object.assign(swiper,{previousSnapIndex:previousSnapIndex,snapIndex:snapIndex,previousRealIndex:previousRealIndex,realIndex:realIndex,previousIndex:previousIndex,activeIndex:activeIndex}),swiper.initialized&&preload(swiper),swiper.emit("activeIndexChange"),swiper.emit("snapIndexChange"),(swiper.initialized||swiper.params.runCallbacksOnInit)&&(previousRealIndex!==realIndex&&swiper.emit("realIndexChange"),swiper.emit("slideChange"))}function updateAutoHeight(speed){const swiper=this,activeSlides=[],isVirtual=swiper.virtual&&swiper.params.virtual?.enabled;let i,newHeight=0;"number"==typeof speed?swiper.setTransition(speed):!0===speed&&swiper.setTransition(swiper.params.speed);const getSlideByIndex=index=>isVirtual?swiper.slides[swiper.getSlideIndexByData(index)]:swiper.slides[index];if("auto"!==swiper.params.slidesPerView&&swiper.params.slidesPerView>1)if(swiper.params.centeredSlides)(swiper.visibleSlides||[]).forEach(slide=>{activeSlides.push(slide)});else for(i=0;i<Math.ceil(swiper.params.slidesPerView);i+=1){const index=swiper.activeIndex+i;if(index>swiper.slides.length&&!isVirtual)break;const slide=getSlideByIndex(index);slide&&activeSlides.push(slide)}else{const slide=getSlideByIndex(swiper.activeIndex);slide&&activeSlides.push(slide)}for(i=0;i<activeSlides.length;i+=1)if(void 0!==activeSlides[i]){const height=activeSlides[i].offsetHeight;newHeight=height>newHeight?height:newHeight}(newHeight||0===newHeight)&&(swiper.wrapperEl.style.height=`${newHeight}px`)}function updateClickedSlide(el,path){const swiper=this,params=swiper.params;let slide=el.closest(`.${params.slideClass}, swiper-slide`);!slide&&swiper.isElement&&path&&path.length>1&&path.includes(el)&&[...path.slice(path.indexOf(el)+1,path.length)].forEach(pathEl=>{!slide&&pathEl.matches&&pathEl.matches(`.${params.slideClass}, swiper-slide`)&&(slide=pathEl)});let slideIndex,slideFound=!1;if(slide)for(let i=0;i<swiper.slides.length;i+=1)if(swiper.slides[i]===slide){slideFound=!0,slideIndex=i;break}if(!slide||!slideFound)return swiper.clickedSlide=void 0,void(swiper.clickedIndex=void 0);swiper.clickedSlide=slide,swiper.virtual&&swiper.params.virtual?.enabled?swiper.clickedIndex=parseInt(slide.getAttribute("data-swiper-slide-index"),10):swiper.clickedIndex=slideIndex,params.slideToClickedSlide&&void 0!==swiper.clickedIndex&&swiper.clickedIndex!==swiper.activeIndex&&swiper.slideToClickedSlide()}function updateProgress(translate){const swiper=this;if(void 0===translate){const multiplier=swiper.rtlTranslate?-1:1;translate=swiper&&swiper.translate&&swiper.translate*multiplier||0}const params=swiper.params,translatesDiff=swiper.maxTranslate()-swiper.minTranslate();let{progress:progress,isBeginning:isBeginning,isEnd:isEnd}=swiper,progressLoop=swiper.progressLoop;const wasBeginning=isBeginning,wasEnd=isEnd;if(0===translatesDiff)progress=0,isBeginning=!0,isEnd=!0;else{progress=(translate-swiper.minTranslate())/translatesDiff;const isBeginningRounded=Math.abs(translate-swiper.minTranslate())<1,isEndRounded=Math.abs(translate-swiper.maxTranslate())<1;isBeginning=isBeginningRounded||progress<=0,isEnd=isEndRounded||progress>=1,isBeginningRounded&&(progress=0),isEndRounded&&(progress=1)}if(params.loop){const firstSlideIndex=swiper.getSlideIndexByData(0),lastSlideIndex=swiper.getSlideIndexByData(swiper.slides.length-1),firstSlideTranslate=swiper.slidesGrid[firstSlideIndex],lastSlideTranslate=swiper.slidesGrid[lastSlideIndex],translateMax=swiper.slidesGrid[swiper.slidesGrid.length-1],translateAbs=Math.abs(translate);progressLoop=translateAbs>=firstSlideTranslate?(translateAbs-firstSlideTranslate)/translateMax:(translateAbs+translateMax-lastSlideTranslate)/translateMax,progressLoop>1&&(progressLoop-=1)}Object.assign(swiper,{progress:progress,progressLoop:progressLoop,isBeginning:isBeginning,isEnd:isEnd}),(params.watchSlidesProgress||params.centeredSlides&&params.autoHeight)&&swiper.updateSlidesProgress(translate),isBeginning&&!wasBeginning&&swiper.emit("reachBeginning toEdge"),isEnd&&!wasEnd&&swiper.emit("reachEnd toEdge"),(wasBeginning&&!isBeginning||wasEnd&&!isEnd)&&swiper.emit("fromEdge"),swiper.emit("progress",progress)}function updateSize(){const swiper=this;let width,height;const el=swiper.el;width=void 0!==swiper.params.width&&null!==swiper.params.width?swiper.params.width:el.clientWidth,height=void 0!==swiper.params.height&&null!==swiper.params.height?swiper.params.height:el.clientHeight,0===width&&swiper.isHorizontal()||0===height&&swiper.isVertical()||(width=width-parseInt(elementStyle(el,"padding-left")||"0",10)-parseInt(elementStyle(el,"padding-right")||"0",10),height=height-parseInt(elementStyle(el,"padding-top")||"0",10)-parseInt(elementStyle(el,"padding-bottom")||"0",10),Number.isNaN(width)&&(width=0),Number.isNaN(height)&&(height=0),Object.assign(swiper,{width:width,height:height,size:swiper.isHorizontal()?width:height}))}function updateSlides(){const swiper=this;function getDirectionPropertyValue(node,label){return parseFloat(node.getPropertyValue(swiper.getDirectionLabel(label))||"0")}const params=swiper.params,{wrapperEl:wrapperEl,slidesEl:slidesEl,rtlTranslate:rtl,wrongRTL:wrongRTL}=swiper,isVirtual=!(!swiper.virtual||!params.virtual?.enabled),previousSlidesLength=isVirtual?swiper.virtual.slides.length:swiper.slides.length,slides=elementChildren(slidesEl,`.${swiper.params.slideClass}, swiper-slide`),slidesLength=isVirtual?swiper.virtual.slides.length:slides.length;let snapGrid=[];const slidesGrid=[],slidesSizesGrid=[],resolveOffset=value=>"function"==typeof value?value.call(swiper):value,offsetBefore=resolveOffset(params.slidesOffsetBefore),offsetAfter=resolveOffset(params.slidesOffsetAfter),previousSnapGridLength=swiper.snapGrid.length,previousSlidesGridLength=swiper.slidesGrid.length,swiperSize=swiper.size-offsetBefore-offsetAfter;let spaceBetween=params.spaceBetween,slidePosition=-offsetBefore,prevSlideSize=0,index=0;if(void 0===swiperSize)return;"string"==typeof spaceBetween&&spaceBetween.indexOf("%")>=0?spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiperSize:"string"==typeof spaceBetween&&(spaceBetween=parseFloat(spaceBetween)),swiper.virtualSize=-spaceBetween-offsetBefore-offsetAfter,slides.forEach(slideEl=>{rtl?slideEl.style.marginLeft="":slideEl.style.marginRight="",slideEl.style.marginBottom="",slideEl.style.marginTop=""}),params.centeredSlides&&params.cssMode&&(setCSSProperty(wrapperEl,"--swiper-centered-offset-before",""),setCSSProperty(wrapperEl,"--swiper-centered-offset-after","")),params.cssMode&&(setCSSProperty(wrapperEl,"--swiper-slides-offset-before",`${offsetBefore}px`),setCSSProperty(wrapperEl,"--swiper-slides-offset-after",`${offsetAfter}px`));const gridEnabled=params.grid&&params.grid.rows>1&&swiper.grid;gridEnabled?swiper.grid.initSlides(slides):swiper.grid&&swiper.grid.unsetSlides();let slideSize=0;const shouldResetSlideSize="auto"===params.slidesPerView&&params.breakpoints&&Object.keys(params.breakpoints).filter(key=>{const bp=params.breakpoints[key];return void 0!==bp?.slidesPerView}).length>0;for(let i=0;i<slidesLength;i+=1){slideSize=0;const slide=slides[i];if(!slide||(gridEnabled&&swiper.grid.updateSlide(i,slide,slides),"none"!==elementStyle(slide,"display"))){if(isVirtual&&"auto"===params.slidesPerView)params.virtual?.slidesPerViewAutoSlideSize&&(slideSize=params.virtual.slidesPerViewAutoSlideSize),slideSize&&slide&&(params.roundLengths&&(slideSize=Math.floor(slideSize)),slide.style[swiper.getDirectionLabel("width")]=`${slideSize}px`);else if("auto"===params.slidesPerView){shouldResetSlideSize&&(slide.style[swiper.getDirectionLabel("width")]="");const slideStyles=getComputedStyle(slide),currentTransform=slide.style.transform,currentWebKitTransform=slide.style.webkitTransform;if(currentTransform&&(slide.style.transform="none"),currentWebKitTransform&&(slide.style.webkitTransform="none"),params.roundLengths)slideSize=swiper.isHorizontal()?elementOuterSize(slide,"width"):elementOuterSize(slide,"height");else{const width=getDirectionPropertyValue(slideStyles,"width"),paddingLeft=getDirectionPropertyValue(slideStyles,"padding-left"),paddingRight=getDirectionPropertyValue(slideStyles,"padding-right"),marginLeft=getDirectionPropertyValue(slideStyles,"margin-left"),marginRight=getDirectionPropertyValue(slideStyles,"margin-right"),boxSizing=slideStyles.getPropertyValue("box-sizing");if(boxSizing&&"border-box"===boxSizing)slideSize=width+marginLeft+marginRight;else{const{clientWidth:clientWidth,offsetWidth:offsetWidth}=slide;slideSize=width+paddingLeft+paddingRight+marginLeft+marginRight+(offsetWidth-clientWidth)}}currentTransform&&(slide.style.transform=currentTransform),currentWebKitTransform&&(slide.style.webkitTransform=currentWebKitTransform),params.roundLengths&&(slideSize=Math.floor(slideSize))}else slideSize=(swiperSize-(params.slidesPerView-1)*spaceBetween)/params.slidesPerView,params.roundLengths&&(slideSize=Math.floor(slideSize)),slide&&(slide.style[swiper.getDirectionLabel("width")]=`${slideSize}px`);slide&&(slide.swiperSlideSize=slideSize),slidesSizesGrid.push(slideSize),params.centeredSlides?(slidePosition=slidePosition+slideSize/2+prevSlideSize/2+spaceBetween,0===prevSlideSize&&0!==i&&(slidePosition=slidePosition-swiperSize/2-spaceBetween),0===i&&(slidePosition=slidePosition-swiperSize/2-spaceBetween),Math.abs(slidePosition)<.001&&(slidePosition=0),params.roundLengths&&(slidePosition=Math.floor(slidePosition)),index%params.slidesPerGroup===0&&snapGrid.push(slidePosition),slidesGrid.push(slidePosition)):(params.roundLengths&&(slidePosition=Math.floor(slidePosition)),(index-Math.min(swiper.params.slidesPerGroupSkip,index))%swiper.params.slidesPerGroup===0&&snapGrid.push(slidePosition),slidesGrid.push(slidePosition),slidePosition=slidePosition+slideSize+spaceBetween),swiper.virtualSize+=slideSize+spaceBetween,prevSlideSize=slideSize,index+=1}}if(swiper.virtualSize=Math.max(swiper.virtualSize,swiperSize)+offsetAfter,rtl&&wrongRTL&&("slide"===params.effect||"coverflow"===params.effect)&&(wrapperEl.style.width=`${swiper.virtualSize+spaceBetween}px`),params.setWrapperSize&&(wrapperEl.style[swiper.getDirectionLabel("width")]=`${swiper.virtualSize+spaceBetween}px`),gridEnabled&&swiper.grid.updateWrapperSize(slideSize,snapGrid),!params.centeredSlides){const isFractionalSlidesPerView="auto"!==params.slidesPerView&&params.slidesPerView%1!=0,shouldSnapToSlideEdge=params.snapToSlideEdge&&!params.loop&&("auto"===params.slidesPerView||isFractionalSlidesPerView);let lastAllowedSnapIndex=snapGrid.length;if(shouldSnapToSlideEdge){let minVisibleSlides;if("auto"===params.slidesPerView){minVisibleSlides=1;let accumulatedSize=0;for(let i=slidesSizesGrid.length-1;i>=0&&(accumulatedSize+=slidesSizesGrid[i]+(i<slidesSizesGrid.length-1?spaceBetween:0),accumulatedSize<=swiperSize);i-=1)minVisibleSlides=slidesSizesGrid.length-i}else minVisibleSlides=Math.floor(params.slidesPerView);lastAllowedSnapIndex=Math.max(slidesLength-minVisibleSlides,0)}const newSlidesGrid=[];for(let i=0;i<snapGrid.length;i+=1){let slidesGridItem=snapGrid[i];params.roundLengths&&(slidesGridItem=Math.floor(slidesGridItem)),shouldSnapToSlideEdge?i<=lastAllowedSnapIndex&&newSlidesGrid.push(slidesGridItem):snapGrid[i]<=swiper.virtualSize-swiperSize&&newSlidesGrid.push(slidesGridItem)}snapGrid=newSlidesGrid,Math.floor(swiper.virtualSize-swiperSize)-Math.floor(snapGrid[snapGrid.length-1])>1&&(shouldSnapToSlideEdge||snapGrid.push(swiper.virtualSize-swiperSize))}if(isVirtual&&params.loop){const size=slidesSizesGrid[0]+spaceBetween,virtualLoopCount=(swiper.virtual.slidesBefore??0)+(swiper.virtual.slidesAfter??0);if(params.slidesPerGroup>1){const groups=Math.ceil(virtualLoopCount/params.slidesPerGroup),groupSize=size*params.slidesPerGroup;for(let i=0;i<groups;i+=1)snapGrid.push(snapGrid[snapGrid.length-1]+groupSize)}for(let i=0;i<virtualLoopCount;i+=1)1===params.slidesPerGroup&&snapGrid.push(snapGrid[snapGrid.length-1]+size),slidesGrid.push(slidesGrid[slidesGrid.length-1]+size),swiper.virtualSize+=size}if(0===snapGrid.length&&(snapGrid=[0]),0!==spaceBetween){const key=swiper.isHorizontal()&&rtl?"marginLeft":swiper.getDirectionLabel("marginRight");slides.filter((_,slideIndex)=>!(params.cssMode&&!params.loop)||slideIndex!==slides.length-1).forEach(slideEl=>{slideEl.style[key]=`${spaceBetween}px`})}if(params.centeredSlides&&params.centeredSlidesBounds){let allSlidesSize=0;slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)}),allSlidesSize-=spaceBetween;const maxSnap=allSlidesSize>swiperSize?allSlidesSize-swiperSize:0;snapGrid=snapGrid.map(snap=>snap<=0?-offsetBefore:snap>maxSnap?maxSnap+offsetAfter:snap)}if(params.centerInsufficientSlides){let allSlidesSize=0;if(slidesSizesGrid.forEach(slideSizeValue=>{allSlidesSize+=slideSizeValue+(spaceBetween||0)}),allSlidesSize-=spaceBetween,allSlidesSize<swiperSize){const allSlidesOffset=(swiperSize-allSlidesSize)/2;snapGrid.forEach((snap,snapIndex)=>{snapGrid[snapIndex]=snap-allSlidesOffset}),slidesGrid.forEach((snap,snapIndex)=>{slidesGrid[snapIndex]=snap+allSlidesOffset})}}if(Object.assign(swiper,{slides:slides,snapGrid:snapGrid,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid}),params.centeredSlides&&params.cssMode&&!params.centeredSlidesBounds){setCSSProperty(wrapperEl,"--swiper-centered-offset-before",-snapGr
1id[0]+"px"),setCSSProperty(wrapperEl,"--swiper-centered-offset-after",swiper.size/2-slidesSizesGrid[slidesSizesGrid.length-1]/2+"px");const addToSnapGrid=-swiper.snapGrid[0],addToSlidesGrid=-swiper.slidesGrid[0];swiper.snapGrid=swiper.snapGrid.map(v=>v+addToSnapGrid),swiper.slidesGrid=swiper.slidesGrid.map(v=>v+addToSlidesGrid)}if(slidesLength!==previousSlidesLength&&swiper.emit("slidesLengthChange"),snapGrid.length!==previousSnapGridLength&&(swiper.params.watchOverflow&&swiper.checkOverflow(),swiper.emit("snapGridLengthChange")),slidesGrid.length!==previousSlidesGridLength&&swiper.emit("slidesGridLengthChange"),params.watchSlidesProgress&&swiper.updateSlidesOffset(),swiper.emit("slidesUpdated"),!(isVirtual||params.cssMode||"slide"!==params.effect&&"fade"!==params.effect)){const backFaceHiddenClass=`${params.containerModifierClass}backface-hidden`,hasClassBackfaceClassAdded=swiper.el.classList.contains(backFaceHiddenClass);slidesLength<=params.maxBackfaceHiddenSlides?hasClassBackfaceClassAdded||swiper.el.classList.add(backFaceHiddenClass):hasClassBackfaceClassAdded&&swiper.el.classList.remove(backFaceHiddenClass)}}const toggleSlideClasses$1=(slideEl,condition,className)=>{condition&&!slideEl.classList.contains(className)?slideEl.classList.add(className):!condition&&slideEl.classList.contains(className)&&slideEl.classList.remove(className)};function updateSlidesClasses(){const swiper=this,{slides:slides,params:params,slidesEl:slidesEl,activeIndex:activeIndex}=swiper,isVirtual=!(!swiper.virtual||!params.virtual?.enabled),gridEnabled=swiper.grid&&params.grid&&params.grid.rows>1,getFilteredSlide=selector=>elementChildren(slidesEl,`.${params.slideClass}${selector}, swiper-slide${selector}`)[0];let activeSlide,prevSlide,nextSlide;if(isVirtual)if(params.loop){const virtualSlides=swiper.virtual.slides;let slideIndex=activeIndex-(swiper.virtual.slidesBefore??0);slideIndex<0&&(slideIndex=virtualSlides.length+slideIndex),slideIndex>=virtualSlides.length&&(slideIndex-=virtualSlides.length),activeSlide=getFilteredSlide(`[data-swiper-slide-index="${slideIndex}"]`)}else activeSlide=getFilteredSlide(`[data-swiper-slide-index="${activeIndex}"]`);else gridEnabled?(activeSlide=slides.find(slideEl=>slideEl.column===activeIndex),nextSlide=slides.find(slideEl=>slideEl.column===activeIndex+1),prevSlide=slides.find(slideEl=>slideEl.column===activeIndex-1)):activeSlide=slides[activeIndex];activeSlide&&(gridEnabled||(nextSlide=elementNextAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0],params.loop&&!nextSlide&&(nextSlide=slides[0]),prevSlide=elementPrevAll(activeSlide,`.${params.slideClass}, swiper-slide`)[0],params.loop&&0===!prevSlide&&(prevSlide=slides[slides.length-1]))),slides.forEach(sli
vendor: 12,686 bytes, line 1
1deEl=>{toggleSlideClasses$1(slideEl,slideEl===activeSlide,params.slideActiveClass),toggleSlideClasses$1(slideEl,slideEl===nextSlide,params.slideNextClass),toggleSlideClasses$1(slideEl,slideEl===prevSlide,params.slidePrevClass)}),swiper.emitSlidesClasses()}function updateSlidesOffset(){const swiper=this,slides=swiper.slides,minusOffset=swiper.isElement?swiper.isHorizontal()?swiper.wrapperEl.offsetLeft:swiper.wrapperEl.offsetTop:0;for(let i=0;i<slides.length;i+=1)slides[i].swiperSlideOffset=(swiper.isHorizontal()?slides[i].offsetLeft:slides[i].offsetTop)-minusOffset-swiper.cssOverflowAdjustment()}const toggleSlideClasses=(slideEl,condition,className)=>{condition&&!slideEl.classList.contains(className)?slideEl.classList.add(className):!condition&&slideEl.classList.contains(className)&&slideEl.classList.remove(className)};function updateSlidesProgress(translate=this&&this.translate||0){const swiper=this,params=swiper.params,{slides:slides,rtlTranslate:rtl,snapGrid:snapGrid}=swiper;if(0===slides.length)return;void 0===slides[0].swiperSlideOffset&&swiper.updateSlidesOffset();let offsetCenter=-translate;rtl&&(offsetCenter=translate),swiper.visibleSlidesIndexes=[],swiper.visibleSlides=[];let spaceBetween=params.spaceBetween;"string"==typeof spaceBetween&&spaceBetween.indexOf("%")>=0?spaceBetween=parseFloat(spaceBetween.replace("%",""))/100*swiper.size:"string"==typeof spaceBetween&&(spaceBetween=parseFloat(spaceBetween));for(let i=0;i<slides.length;i+=1){const slide=slides[i];let slideOffset=slide.swiperSlideOffset??0;params.cssMode&&params.centeredSlides&&(slideOffset-=slides[0].swiperSlideOffset??0);const slideSize=slide.swiperSlideSize??0,slideProgress=(offsetCenter+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slideSize+spaceBetween),originalSlideProgress=(offsetCenter-snapGrid[0]+(params.centeredSlides?swiper.minTranslate():0)-slideOffset)/(slideSize+spaceBetween),slideBefore=-(offsetCenter-slideOffset),slideAfter=slideBefore+swiper.slidesSizesGrid[i],isFullyVisible=slideBefore>=0&&slideBefore<=swiper.size-swiper.slidesSizesGrid[i],isVisible=slideBefore>=0&&slideBefore<swiper.size-1||slideAfter>1&&slideAfter<=swiper.size||slideBefore<=0&&slideAfter>=swiper.size;isVisible&&(swiper.visibleSlides.push(slide),swiper.visibleSlidesIndexes.push(i)),toggleSlideClasses(slide,isVisible,params.slideVisibleClass),toggleSlideClasses(slide,isFullyVisible,params.slideFullyVisibleClass),slide.progress=rtl?-slideProgress:slideProgress,slide.originalProgress=rtl?-originalSlideProgress:originalSlideProgress}}var update={updateSize:updateSize,updateSlides:updateSlides,updateAutoHeight:updateAutoHeight,updateSlidesOffset:updateSlidesOffset,updateSlidesProgress:updateSlidesProgress,updateProgress:updateProgress,updateSlidesClasses:updateSlidesClasses,updateActiveIndex:updateActiveIndex,updateClickedSlide:updateClickedSlide};const prototypes={eventsEmitter:eventsEmitter,update:update,translate:translate,transition:transition,slide:slide,loop:loop,grabCursor:grabCursor,events:events$1,breakpoints:breakpoints,checkOverflow:checkOverflow$1,classes:classes},extendedDefaults={};class Swiper{static extendedDefaults;static defaults;constructor(...args){let el,params;if(1===args.length&&null!==args[0]&&"object"==typeof args[0]&&"Object"===Object.prototype.toString.call(args[0]).slice(8,-1)?params=args[0]:[el,params]=args,params||(params={}),params=extend({},params),el&&!params.el&&(params.el=el),params.el&&"string"==typeof params.el&&"undefined"!=typeof document&&document.querySelectorAll(params.el).length>1){const swipers=[];return document.querySelectorAll(params.el).forEach(containerEl=>{const newParams=extend({},params,{el:containerEl});swipers.push(new Swiper(newParams))}),swipers}const swiper=this;swiper.__swiper__=!0,swiper.support=getSupport(),swiper.device=getDevice({userAgent:params.userAgent??void 0}),swiper.browser=getBrowser(),swiper.eventsListeners={},swiper.eventsAnyListeners=[],swiper.modules=[...swiper.__modules__||[]],params.modules&&Array.isArray(params.modules)&&params.modules.forEach(mod=>{const fn=mod;"function"==typeof fn&&swiper.modules.indexOf(fn)<0&&swiper.modules.push(fn)});const allModulesParams={};swiper.modules.forEach(mod=>{mod({params:params,swiper:swiper,extendParams:moduleExtendParams(params,allModulesParams),on:swiper.on.bind(swiper),once:swiper.once.bind(swiper),off:swiper.off.bind(swiper),emit:swiper.emit.bind(swiper)})});const swiperParams=extend({},defaults,allModulesParams);if(swiper.params=extend({},swiperParams,extendedDefaults,params),swiper.originalParams=extend({},swiper.params),swiper.passedParams=extend({},params),swiper.params&&swiper.params.on){const onHandlers=swiper.params.on;Object.keys(onHandlers).forEach(eventName=>{const handler=onHandlers[eventName];handler&&swiper.on(eventName,handler)})}return swiper.params&&swiper.params.onAny&&swiper.onAny(swiper.params.onAny),Object.assign(swiper,{enabled:swiper.params.enabled,el:el,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:()=>"horizontal"===swiper.params.direction,isVertical:()=>"vertical"===swiper.params.direction,activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:swiper.params.allowSlideNext,allowSlidePrev:swiper.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:swiper.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:swiper.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),swiper.emit("_swiper"),swiper.params.init&&swiper.init(),swiper}getDirectionLabel(property){return this.isHorizontal()?property:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[property]}isHorizontal(){return"horizontal"===this.params.direction}isVertical(){return"vertical"===this.params.direction}cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23}getSlideIndex(slideEl){const{slidesEl:slidesEl,params:params}=this,firstSlideIndex=elementIndex(elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)[0]);return elementIndex(slideEl)-(firstSlideIndex??0)}getSlideIndexByData(index){return this.getSlideIndex(this.slides.find(slideEl=>Number(slideEl.getAttribute("data-swiper-slide-index"))===index))}getSlideIndexWhenGrid(index){return this.grid&&this.params.grid&&this.params.grid.rows>1&&("column"===this.params.grid.fill?index=Math.floor(index/this.params.grid.rows):"row"===this.params.grid.fill&&(index%=Math.ceil(this.slides.length/this.params.grid.rows))),index}recalcSlides(){const{slidesEl:slidesEl,params:params}=this;this.slides=elementChildren(slidesEl,`.${params.slideClass}, swiper-slide`)}enable(){this.enabled||(this.enabled=!0,this.params.grabCursor&&this.setGrabCursor(),this.emit("enable"))}disable(){this.enabled&&(this.enabled=!1,this.params.grabCursor&&this.unsetGrabCursor(),this.emit("disable"))}setProgress(progress,speed){progress=Math.min(Math.max(progress,0),1);const min=this.minTranslate(),current=(this.maxTranslate()-min)*progress+min;this.translateTo(current,void 0===speed?0:speed),this.updateActiveIndex(),this.updateSlidesClasses()}emitContainerClasses(){if(!this.params._emitClasses||!this.el)return;const cls=this.el.className.split(" ").filter(className=>0===className.indexOf("swiper")||0===className.indexOf(this.params.containerModifierClass));this.emit("_containerClasses",cls.join(" "))}getSlideClasses(slideEl){return this.destroyed?"":slideEl.className.split(" ").filter(className=>0===className.indexOf("swiper-slide")||0===className.indexOf(this.params.slideClass)).join(" ")}emitSlidesClasses(){if(!this.params._emitClasses||!this.el)return;const updates=[];this.slides.forEach(slideEl=>{const classNames=this.getSlideClasses(slideEl);updates.push({slideEl:slideEl,classNames:classNames}),this.emit("_slideClass",slideEl,classNames)}),this.emit("_slideClasses",updates)}slidesPerViewDynamic(view="current",exact=!1){const{params:params,slides:slides,slidesGrid:slidesGrid,slidesSizesGrid:slidesSizesGrid,size:swiperSize,activeIndex:activeIndex}=this;let spv=1;if("number"==typeof params.slidesPerView)return params.slidesPerView;if(!swiperSize)return spv;if(params.centeredSlides){let slideSize=slides[activeIndex]?Math.ceil(slides[activeIndex].swiperSlideSize??0):0,breakLoop=!1;for(let i=activeIndex+1;i<slides.length;i+=1)slides[i]&&!breakLoop&&(slideSize+=Math.ceil(slides[i].swiperSlideSize??0),spv+=1,slideSize>swiperSize&&(breakLoop=!0));for(let i=activeIndex-1;i>=0;i-=1)slides[i]&&!breakLoop&&(slideSize+=slides[i].swiperSlideSize??0,spv+=1,slideSize>swiperSize&&(breakLoop=!0))}else if("current"===view)for(let i=activeIndex+1;i<slides.length;i+=1){(exact?slidesGrid[i]+slidesSizesGrid[i]-slidesGrid[activeIndex]<swiperSize:slidesGrid[i]-slidesGrid[activeIndex]<swiperSize)&&(spv+=1)}else for(let i=activeIndex-1;i>=0;i-=1){slidesGrid[activeIndex]-slidesGrid[i]<swiperSize&&(spv+=1)}return spv}update(){const swiper=this;if(!swiper||swiper.destroyed)return;const{snapGrid:snapGrid,params:params}=swiper;function setTranslate(){const translateValue=swiper.rtlTranslate?-1*swiper.translate:swiper.translate,newTranslate=Math.min(Math.max(translateValue,swiper.maxTranslate()),swiper.minTranslate());swiper.setTranslate(newTranslate),swiper.updateActiveIndex(),swiper.updateSlidesClasses()}let translated;if(params.breakpoints&&swiper.setBreakpoint(),[...swiper.el.querySelectorAll('[loading="lazy"]')].forEach(imageEl=>{imageEl.complete&&processLazyPreloader(swiper,imageEl)}),swiper.updateSize(),swiper.updateSlides(),swiper.updateProgress(),swiper.updateSlidesClasses(),params.freeMode?.enabled&&!params.cssMode)setTranslate(),params.autoHeight&&swiper.updateAutoHeight();else{if(("auto"===params.slidesPerView||params.slidesPerView>1)&&swiper.isEnd&&!params.centeredSlides){const slidesLength=swiper.virtual&&params.virtual?.enabled?swiper.virtual.slides.length:swiper.slides.length;translated=swiper.slideTo(slidesLength-1,0,!1,!0)}else translated=swiper.slideTo(swiper.activeIndex,0,!1,!0);translated||setTranslate()}params.watchOverflow&&snapGrid!==swiper.snapGrid&&swiper.checkOverflow(),swiper.emit("update")}changeDirection(newDirection,needUpdate=!0){const swiper=this,currentDirection=swiper.params.direction;return newDirection||(newDirection="horizontal"===currentDirection?"vertical":"horizontal"),newDirection===currentDirection||"horizontal"!==newDirection&&"vertical"!==newDirection||(swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`),swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`),swiper.emitContainerClasses(),swiper.params.direction=newDirection,swiper.slides.forEach(slideEl=>{"vertical"===newDirection?slideEl.style.width="":slideEl.style.height=""}),swiper.emit("changeDirection"),needUpdate&&swiper.update()),swiper}changeLanguageDirection(direction){const swiper=this;swiper.rtl&&"rtl"===direction||!swiper.rtl&&"ltr"===direction||(swiper.rtl="rtl"===direction,swiper.rtlTranslate="horizontal"===swiper.params.direction&&swiper.rtl,swiper.rtl?(swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`),swiper.el.dir="rtl"):(swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`),swiper.el.dir="ltr"),swiper.update())}mount(element){const swiper=this;if(swiper.mounted)return!0;if("undefined"==typeof document)return!1;const initialEl=element??swiper.params.el;let el=null;if("string"==typeof initialEl?el=document.querySelector(initialEl):initialEl instanceof HTMLElement&&(el=initialEl),!el)return!1;el.swiper=swiper;const parent=el.parentNode;parent&&parent.host&&parent.host.nodeName===swiper.params.swiperElementNodeName.toUpperCase()&&(swiper.isElement=!0);const getWrapperSelector=()=>`.${(swiper.params.wrapperClass||"").trim().split(" ").join(".")}`;let wrapperEl=(()=>{if(el&&el.shadowRoot){return el.shadowRoot.querySelector(getWrapperSelector())}return elementChildren(el,getWrapperSelector())[0]})();!wrapperEl&&swiper.params.createElements&&(wrapperEl=createElement("div",swiper.params.wrapperClass),el.append(wrapperEl),elementChildren(el,`.${swiper.params.slideClass}
1`).forEach(slideEl=>{wrapperEl.append(slideEl)}));const host=swiper.isElement?el.parentNode.host:null;return Object.assign(swiper,{el:el,wrapperEl:wrapperEl,slidesEl:swiper.isElement&&!host.slideSlots?host:wrapperEl,hostEl:swiper.isElement?host:el,mounted:!0,rtl:"rtl"===el.dir.toLowerCase()||"rtl"===elementStyle(el,"direction"),rtlTranslate:"horizontal"===swiper.params.direction&&("rtl"===el.dir.toLowerCase()||"rtl"===elementStyle(el,"direction")),wrongRTL:"-webkit-box"===elementStyle(wrapperEl,"display")}),!0}init(el){const swiper=this;if(swiper.initialized)return swiper;if(!1===swiper.mount(el))return swiper;swiper.emit("beforeInit"),swiper.params.breakpoints&&swiper.setBreakpoint(),swiper.addClasses(),swiper.updateSize(),swiper.updateSlides(),swiper.params.watchOverflow&&swiper.checkOverflow(),swiper.params.grabCursor&&swiper.enabled&&swiper.setGrabCursor(),swiper.params.loop&&swiper.virtual&&swiper.params.virtual?.enabled?swiper.slideTo((swiper.params.initialSlide??0)+(swiper.virtual.slidesBefore??0),0,swiper.params.runCallbacksOnInit,!1,!0):swiper.slideTo(swiper.params.initialSlide,0,swiper.params.runCallbacksOnInit,!1,!0),swiper.params.loop&&swiper.loopCreate(void 0,!0),swiper.attachEvents();const lazyElements=[...swiper.el.querySelectorAll('[loading="lazy"]')];return swiper.isElement&&lazyElements.push(...swiper.hostEl.querySelectorAll('[loading="lazy"]')),lazyElements.forEach(imageEl=>{imageEl.complete?processLazyPreloader(swiper,imageEl):imageEl.addEventListener("load",e=>{processLazyPreloader(swiper,e.target)})}),preload(swiper),swiper.initialized=!0,preload(swiper),swiper.emit("init"),swiper.emit("afterInit"),swiper}destroy(deleteInstance=!0,cleanStyles=!0){const swiper=this,{params:params,el:el,wrapperEl:wrapperEl,slides:slides}=swiper;return void 0===swiper.params||swiper.destroyed||(swiper.emit("beforeDestroy"),swiper.initialized=!1,swiper.detachEvents(),params.loop&&swiper.loopDestroy(),cleanStyles&&(swiper.removeClasses(),el&&"string"!=typeof el&&el.removeAttribute("style"),wrapperEl&&wrapperEl.removeAttribute("style"),slides&&slides.length&&slides.forEach(sli
1deEl=>{slideEl.classList.remove(params.slideVisibleClass,params.slideFullyVisibleClass,params.slideActiveClass,params.slideNextClass,params.slidePrevClass),slideEl.removeAttribute("style"),slideEl.removeAttribute("data-swiper-slide-index")})),swiper.emit("destroy"),Object.keys(swiper.eventsListeners).forEach(eventName=>{swiper.off(eventName)}),!1!==deleteInstance&&(swiper.el&&"string"!=typeof swiper.el&&(swiper.el.swiper=null),deleteProps(swiper)),swiper.destroyed=!0),null}static extendDefaults(newDefaults){extend(extendedDefaults,newDefaults)}static installModule(mod){Swiper.prototype.__modules__||(Swiper.prototype.__modules__=[]);const modules=Swiper.prototype.__modules__;"function"==typeof mod&&modules.indexOf(mod)<0&&modules.push(mod)}static use(module){return Array.isArray(module)?(module.forEach(m=>Swiper.installModule(m)),Swiper):(Swiper.installModule(module),Swiper)}}Object.defineProperty(Swiper,"extendedDefaults",{get:()=>extendedDefaults}),Object.defineProperty(Swiper,"defaults",{get:()=>defaults});const prototypeRecord=prototypes,swiperProto=Swiper.prototype;function createElementIfNotDefined(swiper,originalParams,params,checkProps){const target=params??{},original=originalParams??{};return swiper.params.createElements&&Object.keys(checkProps).forEach(key=>{if(!target[key]&&!0===target.auto){let element=elementChildren(swiper.el,`.${checkProps[key]}`)[0];element||(element=createElement("div",checkProps[key]),element.className=checkProps[key],swiper.el.append(element)),target[key]=element,original[key]=element}}),target}Object.keys(prototypeRecord).forEach(prototypeGroup=>{const group=prototypeRecord[prototypeGroup];Object.keys(group).forEach(protoMethod=>{swiperProto[protoMethod]=group[protoMethod]})}),Swiper.use([Resize,Observer]);const arrowSvg='<svg class="swiper-navigation-icon" width="11" height="20" viewBox="0 0 11 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.38296 20.0762C0.111788 19.805 0.111788 19.3654 0.38296 19.0942L9.19758 10.2796L0.38296 1.46497C0.111788 1.19379 0.111788 0.754138 0.38296 0.482966C0.654131 0.211794 1.09379 0.211794 1.36496 0.482966L10.4341 9.55214C10.8359 9.9539 10.8359 10.6053 10.4341 11.007L1.36496 20.0762C1.09379 20.3474 0.654131 20.3474 0.38296 20.0762Z" fill="currentColor"/></svg>',Navigation=({swiper:swiper,extendParams:extendParams,on:on,emit:emit})=>{function getParams(){return swiper.params.navigation}function getEl(el){let res;return el&&"string"==typeof el&&swiper.isElement&&(res=swiper.el.querySelector(el)||swiper.hostEl.querySelector(el),res)?res:(el&&("string"==typeof el&&(res=[...document.querySelectorAll(el)]),swiper.params.uniqueNavElements&&"string"==typeof el&&res&&res.length>1&&1===swiper.el.querySelectorAll(el).length?res=swiper.el.querySelector(el):res&&1===res.length&&(res=res[0])),el&&!res?el:res)}function toggleEl(el,disabled){const params=getParams();makeElementsArray(el).forEach(subEl=>{subEl&&(subEl.classList[disabled?"add":"remove"](...params.disabledClass.split(" ")),"BUTTON"===subEl.tagName&&(subEl.disabled=disabled),swiper.params.watchOverflow&&swiper.enabled&&subEl.classList[swiper.isLocked?"add":"remove"](params.lockClass))})}function update(){const{nextEl:nextEl,prevEl:prevEl}=swiper.navigation;if(swiper.params.loop)return toggleEl(prevEl,!1),void toggleEl(nextEl,!1);toggleEl(prevEl,swiper.isBeginning&&!swiper.params.rewind),toggleEl(nextEl,swiper.isEnd&&!swiper.params.rewind)}function onPrevClick(e){e.preventDefault(),(!swiper.isBeginning||swiper.params.loop||swiper.params.rewind)&&(swiper.slidePrev(),emit("navigationPrev"))}function onNextClick(e){e.preventDefault(),(!swiper.isEnd||swiper.params.loop||swiper.params.rewind)&&(swiper.slideNext(),emit("navigationNext"))}function init(){swiper.params.navigation=createElementIfNotDefined(swiper,swiper.originalParams.navigation,swiper.params.navigation,{nextEl:"swiper-button-next",prevEl:"swiper-button-prev"});const params=getParams();if(!params.nextEl&&!params.prevEl)return;const nextEl=getEl(params.nextEl),prevEl=getEl(params.prevEl);Object.assign(swiper.navigation,{nextEl:nextEl,prevEl:prevEl});const nextEls=makeElementsArray(nextEl),prevEls=makeElementsArray(prevEl),initButton=(el,dir)=>{if(el){if(params.addIcons&&el.matches(".swiper-button-next,.swiper-button-prev")&&!el.querySelector("svg")){const tempEl=document.createElement("div");setInnerHTML(tempEl,arrowSvg);const svgEl=tempEl.querySelector("svg");
1svgEl&&el.appendChild(svgEl),tempEl.remove()}el.addEventListener("click","next"===dir?onNextClick:onPrevClick)}!swiper.enabled&&el&&el.classList.add(...params.lockClass.split(" "))};nextEls.forEach(el=>initButton(el,"next")),prevEls.forEach(el=>initButton(el,"prev"))}function destroy(){const params=getParams(),{nextEl:nextEl,prevEl:prevEl}=swiper.navigation,nextEls=makeElementsArray(nextEl),prevEls=makeElementsArray(prevEl),destroyButton=(el,dir)=>{el.removeEventListener("click","next"===dir?onNextClick:onPrevClick),el.classList.remove(...params.disabledClass.split(" "))};nextEls.forEach(el=>destroyButton(el,"next")),prevEls.forEach(el=>destroyButton(el,"prev"))}extendParams({navigation:{nextEl:null,prevEl:null,addIcons:!0,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock",navigationDisabledClass:"swiper-navigation-disabled"}}),swiper.navigation={nextEl:null,prevEl:null,arrowSvg:arrowSvg},on("init",()=>{!1===getParams().enabled?disable():(init(),update())}),on("toEdge fromEdge lock unlock",()=>{update()}),on("destroy",()=>{destroy()}),on("enable disable",()=>{const params=getParams(),{nextEl:nextEl,prevEl:prevEl}=swiper.navigation,nextEls=makeElementsArray(nextEl),prevEls=makeElementsArray(prevEl);swiper.enabled?update():[...nextEls,...prevEls].filter(el=>!!el).forEach(el=>el.classList.add(params.lockClass))}),on("click",(_s,e)=>{const params=getParams(),{nextEl:nextEl,prevEl:prevEl}=swiper.navigation,nextEls=makeElementsArray(nextEl),prevEls=makeElementsArray(prevEl),targetEl=e.target;let targetIsButton=prevEls.includes(targetEl)||nextEls.includes(targetEl);if(swiper.isElement&&!targetIsButton){const path=e.composedPath?e.composedPath():[];path.length&&(targetIsButton=path.find(pathEl=>nextEls.includes(pathEl)||prevEls.includes(pathEl)))}if(params.hideOnClick&&!targetIsButton){if(swiper.pagination&&swiper.params.pagination&&swiper.params.pagination.clickable&&(swiper.pagination.el===targetEl||swiper.pagination.el.contains(targetEl)))return;let isHidden;nextEls.length?isHidden=nextEls[0].classList.contains(params.hiddenClass):prevEls.length&&(isHidden=prevEls[0].classList.contains(params.hiddenClass)),emit(!0===isHidden?"navigationShow":"navigationHide"),[...nextEls,...prevEls].filter(el=>!!el).forEach(el=>el.classList.toggle(params.hiddenClass))}});const disable=()=>{const params=getParams();swiper.el.classList.add(...params.navigationDisabledClass.split(" ")),destroy()};Object.assign(swiper.navigation,{enable:()=>{const params=getParams();swiper.el.classList.remove(...params.navigationDisabledClass.split(" ")),init(),update()},disable:disable,update:update,init:init,destroy:destroy})};function addSlide(index,slides){const swiper=this,{params:params,activeIndex:activeIndex,slidesEl:slidesEl}=swiper;let activeIndexBuffer=activeIndex;params.loop&&(activeIndexBuffer-=swiper.loopedSlides??0,swiper.loopDestroy(),swiper.recalcSlides());const baseLength=swiper.slides.length;if(index<=0)return void swiper.prependSlide(slides);if(index>=baseLength)return void swiper.appendSlide(slides);let newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+1:activeIndexBuffer;const slidesBuffer=[];for(let i=baseLength-1;i>=index;i-=1){const currentSlide=swiper.slides[i];currentSlide&&(currentSlide.remove(),slidesBuffer.unshift(currentSlide))}if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){const slide=slides[i];slide&&slidesEl.append(slide)}newActiveIndex=activeIndexBuffer>index?activeIndexBuffer+slides.length:activeIndexBuffer}else slidesEl.append(slides);for(let i=0;i<slidesBuffer.length;i+=1)slidesEl.append(slidesBuffer[i]);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),params.loop?swiper.slideTo(newActiveIndex+(swiper.loopedSlides??0),0,!1):swiper.slideTo(newActiveIndex,0,!1)}function appendSlide(slides){const swiper=this,{params:params,slidesEl:slidesEl}=swiper;params.loop&&swiper.loopDestroy();const appendElement=slideEl=>{if("string"==typeof slideEl){const tempDOM=document.createElement("div");setInnerHTML(tempDOM,slideEl);const child=tempDOM.children[0];child&&slidesEl.append(child),setInnerHTML(tempDOM,"")}else slidesEl.append(slideEl)};if(Array.isArray(slides))for(let i=0;i<slides.length;i+=1){const slide=slides[i];slide&&appendElement(slide)}else appendElement(slides);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(
1)}function prependSlide(slides){const swiper=this,{params:params,activeIndex:activeIndex,slidesEl:slidesEl}=swiper;params.loop&&swiper.loopDestroy();let newActiveIndex=activeIndex+1;const prependElement=slideEl=>{if("string"==typeof slideEl){const tempDOM=document.createElement("div");setInnerHTML(tempDOM,slideEl);const child=tempDOM.children[0];child&&slidesEl.prepend(child),setInnerHTML(tempDOM,"")}else slidesEl.prepend(slideEl)};if(Array.isArray(slides)){for(let i=0;i<slides.length;i+=1){const slide=slides[i];slide&&prependElement(slide)}newActiveIndex=activeIndex+slides.length}else prependElement(slides);swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),swiper.slideTo(newActiveIndex,0,!1)}function removeAllSlides(){const swiper=this,slidesIndexes=[];for(let i=0;i<swiper.slides.length;i+=1)slidesIndexes.push(i);swiper.removeSlide(slidesIndexes)}function removeSlide(slidesIndexes){const swiper=this,{params:params,activeIndex:activeIndex}=swiper;let activeIndexBuffer=activeIndex;params.loop&&(activeIndexBuffer-=swiper.loopedSlides??0,swiper.loopDestroy());let newActiveIndex=activeIndexBuffer;if(Array.isArray(slidesIndexes)){for(let i=0;i<slidesIndexes.length;i+=1){const indexToRemove=slidesIndexes[i];swiper.slides[indexToRemove]&&swiper.slides[indexToRemove].remove(),indexToRemove<newActiveIndex&&(newActiveIndex-=1)}newActiveIndex=Math.max(newActiveIndex,0)}else{const indexToRemove=slidesIndexes;swiper.slides[indexToRemove]&&swiper.slides[indexToRemove].remove(),indexToRemove<newActiveIndex&&(newActiveIndex-=1),newActiveIndex=Math.max(newActiveIndex,0)}swiper.recalcSlides(),params.loop&&swiper.loopCreate(),params.observer&&!swiper.isElement||swiper.update(),params.loop?swiper.slideTo(newActiveIndex+(swiper.loopedSlides??0),0,!1):swiper.slideTo(newActiveIndex,0,!1)}const Manipulation=({swiper:swiper})=>{Object.assign(swiper,{appendSlide:appendSlide.bind(swiper),prependSlide:prependSlide.bind(swiper),addSlide:addSlide.bind(swiper),removeSlide:removeSlide.bind(swiper),removeAllSlides:removeAllSlides.bind(swiper)})},disposable=compositeDisposable([]),setTitleHeight=swiper=>{const slides=swiper.slides.map((slide,i)=>swiper.slides[i]);let maxTitleHeight=0,slidesHaveDifferentHeights=!1;for(let i=0,l=slides.length;i<l;i++){const sliderTitleEl=expressQuerySelector(slides[i],".technical-slide-title",!1);if(!sliderTitleEl)continue;const titleHeight=getHeightWithMargins(sliderTitleEl);0==i&&(maxTitleHeight=titleHeight),maxTitleHeight>=titleHeight||(slidesHaveDifferentHeights=!0,maxTitleHeight=titleHeight)}if(slidesHaveDifferentHeights)for(let i=0,l=slides.length;i<l;i++){const sliderTitleEl=expressQuerySelector(slides[i],".technical-slide-title",!1);sliderTitleEl&&(sliderTitleEl.style.height=`${maxTitleHeight}px`)}};function setNavigationButtonHeight(sliderContainer){if(!sliderContainer)return null;const prevButton=expressQuerySelector(sliderContainer,".technical-slider--navigation-prev"),nextButton=expressQuerySelector(sliderContainer,".technical-slider--navigation-next");if(!prevButton&&!nextButton)return;const firstImage=expressQuerySelector(sliderContainer,".technical-slider-slides-container .technical-slider-slide picture");if(!firstImage)return;const sliderTop=sliderContainer.getBoundingClientRect().top,calculatedTop=firstImage.getBoundingClientRect().top-sliderTop+firstImage.getBoundingClientRect().height/2;sliderContainer.style.setProperty("--slider-action-top",calculatedTop+"px")}function initSliders(){return expressQuerySelectorAll(document,".technical-slider-container").map(el=>initSlider(el))}function getSettings(sliderEl){let settings={};if(sliderEl.dataset.sliderSettings&&(settings=JSON.parse(sliderEl.dataset.sliderSettings),settings))return settings;if(sliderEl.dataset.sliderSettingsEl){const settingsEl=expressQuerySelector(document,sliderEl.dataset.sliderSettingsEl,!1);if(settingsEl&&settingsEl.dataset.sliderSettings&&(settings=JSON.parse(settingsEl.dataset.sliderSettings),settings))return settings}return settings}function initSlider(sliderEl){if(!sliderEl)return;if(hasClass(sliderEl,"swiper")||(sliderEl=expressQuerySelector(sliderEl,".swiper")),!sliderEl||hasClass(sliderEl,"swiper-initialized"))return;const settings=getSettings(sliderEl),navigation=settings.navigation;navigation&&navigation.enabled&&(settings.modules=[Navigation,Manipulation]);const swiper=new Swiper(sliderEl,settings),evl=expressEventListener(window,"resize",debounce(()=>setNavigationButtonHeight(sliderEl),250));
1return disposable.add(evl),setNavigationButtonHeight(swiper.hostEl),setTitleHeight(swiper),{dispose:disposable.dispose,sliderEl:swiper.hostEl,slideEls:swiper.slides.map((slide,i)=>swiper.slides[i]),addSlide:(index,slides)=>{swiper.addSlide(index,slides),swiper.update(),swiper.slideTo(0)}}}window.initSlider=initSlider;var __awaiter$1=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};function createHomepageElements(){return __awaiter$1(this,void 0,void 0,function*(){window.showMores=[],window.wishlist=yield getWishlistItems();const uspDesktopEls=expressQuerySelectorAll(document,".technical-usp-desktop");uspDesktopEls&&uspDesktopEls.forEach(uspDesktopEl=>createUsps(uspDesktopEl)),window.initProductSliderComponent=initSliders,initSliders();const recommendationsEl=expressQuerySelector(document,".technical-emarsys-recommendation",!1);recommendationsEl&&createGtmMutationObserver(recommendationsEl,2).catch(err=>{const fallbackRecommendationsEl=expressQuerySelector(document,".technical-recommendations-fallback-slider",!1);if(fallbackRecommendationsEl){const sliderContentKey=fallbackRecommendationsEl.dataset.contentkey||"",showPrices="true"===fallbackRecommendationsEl.dataset.showprice,showCurrency="false"===window.context.removeCurrencySymbolFormUpperFunnelPages;sliderContentKey&&getHtmlRequest(`/apicore/componentapi/slider?contentkey=${sliderContentKey}&isProspect=false&hidePrices=${!showPrices}&showCurrency=${showCurrency}`,{headers:new Headers({"Content-type":"application/json; charset=utf-8"})}).then(r=>{const elementHtml=document.createRange().createContextualFragment(r);fallbackRecommendationsEl.appendChild(elementHtml);expressQuerySelector(document,".technical-slider",!1)&&(expressRemoveClass(fallbackRecommendationsEl,"u-hide"),initSlider(fallbackRecommendationsEl))})}});expressQuerySelectorAll(document,".technical-highlighted-tiles").forEach(x=>createHighlightedTiles(x));expressQuerySelectorAll(document,".technical-header-component").forEach(header=>{const truncateEl=expressQuerySelector(header,".technical-shave",!1);truncateEl&&createTruncate(truncateEl,{lines:2})}),window.initProductGridComponent=function initProductGridComponent(containerEl){const gridEl=expressQuerySelector(containerEl,".technical-product-grid",!0);gridEl&&createProductGrid(gridEl,{},{refreshOnResize:!0})},window.initMaterialTilesComponent=function initMaterialTilesComponent(containerEl){createImageDescription(containerEl);expressQuerySelectorAll(containerEl,".technical-video-tile, .technical-video-container").forEach(el=>{getParentWithClassName(el,"technical-product-grid-content")||initVideoPlayer(el)});expressQuerySelectorAll(containerEl,".m-material-tiles .technical-newsletter-subscribe").forEach(el=>createNewsletterSubscribe(el));expressQuerySelectorAll(containerEl,".m-material-tiles .technical-newsletter-unsubscribe").forEach(el=>createNewsletterUnsubscribe(el))};expressQuerySelectorAll(document,":not([data-component-callback=initProductGridComponent]) .technical-grid-and-filters").forEach(x=>window.initProductGridComponent(x));expressQuerySelectorAll(document,":not([data-component-callback=initMaterialTilesComponent]) .technical-image-description").forEach(x=>window.initMaterialTilesComponent(x));if(expressQuerySelectorAll(document,".technical-video").forEach(x=>initVideoPlayer(x)),stopSkeletonLoading(),window.location.hash){const elContainerEl=expressQuerySelector(document,".technical-homepage-elements",!0),hashEl=expressQuerySelector(elContainerEl,window.location.hash,!1);hashEl?hashEl.scrollIntoView({behavior:"smooth"}):logError("Can't scroll to item with id = "+window.location.hash+" as it can't be found on the page",window.location.href,void 0,void 0,void 0,"Content")}})}function createFaq(el){(()=>{const collapsableDeps={contentSelector:".m-collapsable__content",titleElSelector:".m-collapsable__title",scrollIntoViewAfterOpen:!1},collapsableEls=expressQuerySelectorAll(el,".m-collapsable");collapsableEls&&collapsableEls.length>
10&&collapsableEls.forEach(el=>createCollapsable(el,collapsableDeps))})()}var __awaiter=window&&window.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};document.addEventListener("DOMContentLoaded",()=>__awaiter(void 0,void 0,void 0,function*(){createGeneralPageEventsAndComponents(),yield createHomepageElements();expressQuerySelectorAll(document,".technical-faq-container").forEach(faqEl=>{createFaq(faqEl);const buttonEl=expressQuerySelector(faqEl,".technical-showmore-button",!1);buttonEl&&initPagedShowMoreElements(faqEl,buttonEl,null,".technical-showmore-faq",0)})}));
2//# sourceMappingURL=generalpage.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.