1(()=>{"use strict";var e={156(e){var t=function(e){var t;return!!e&&"object"==typeof e&&"[object RegExp]"!==(t=Object.prototype.toString.call(e))&&"[object Date]"!==t&&e.$$typeof!==s},s="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?a(Array.isArray(e)?[]:{},e,t):e}function i(e,t,s){return e.concat(t).map(function(e){return n(e,s)})}function r(e){return Object.keys(e).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[])}function o(e,t){try{return t in e}catch(e){return!1}}function a(e,s,l){(l=l||{}).arrayMerge=l.arrayMerge||i,l.isMergeableObject=l.isMergeableObject||t,l.cloneUnlessOtherwiseSpecified=n;var c,u,h=Array.isArray(s);return h!==Array.isArray(e)?n(s,l):h?l.arrayMerge(e,s,l):(u={},(c=l).isMergeableObject(e)&&r(e).forEach(function(t){u[t]=n(e[t],c)}),r(s).forEach(function(t){(!o(e,t)||Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))&&(o(e,t)&&c.isMergeableObject(s[t])?u[t]=(function(e,t){if(!t.customMerge)return a;var s=t.customMerge(e);return"function"==typeof s?s:a})(t,c)(e[t],s[t],c):u[t]=n(s[t],c))}),u)}a.all=function(e,t){if(!Array.isArray(e))throw Error("first argument should be an array");return e.reduce(function(e,s){return a(e,s,t)},{})},e.exports=a}},t={};function s(n){var i=t[n];if(void 0!==i)return i.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,s),r.exports}s.m=e,s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,n)=>(s.f[n](e,t),t),[])),s.u=e=>"./js/swag-analytics/"+({67927:"swag-analytics.order-created-event",72330:"swag-analytics.event-module-loader"})[e]+"."+({67927:"116df6",72330:"1883e9"})[e]+".js",s.miniCssF=e=>{},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={};s.l=(t,n,i,r)=>{if(e[t]){e[t].push(n);return}if(void 0!==i)for(var o,a,l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var u=l[c];if(u.getAttribute("src")==t){o=u;break}}o||(a=!0,(o=document.createElement("script")).charset="utf-8",s.nc&&o.setAttribute("nonce",s.nc),o.src=t),e[t]=[n];var h=(s,n)=>{o.onerror=o.onload=null,clearTimeout(d);var i=e[t];if(delete e[t],o.parentNode&&o.parentNode.removeChild(o),i&&i.forEach(e=>e(n)),s)return s(n)},d=setTimeout(h.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=h.bind(null,o.onerror),o.onload=h.bind(null,o.onload),a&&document.head.appendChild(o)}})(),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{s.g.importScripts&&(e=s.g.location+"");var e,t=s.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var n=t.getElementsByTagName("script");if(n.length)for(var i=n.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=n[i--].src}if(!e)throw Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),s.p=e+"../../"})(),(()=>{var e={32994:0};s.f.j=(t,n)=>{var i=s.o(e,t)?e[t]:void 0;if(0!==i){if(i)n.push(i[2]);else{var r=new Promise((s,n)=>i=e[t]=[s,n]);n.push(i[2]=r);var o=s.p+s.u(t),a=Error();s.l(o,n=>{if(s.o(e,t)&&(0!==(i=e[t])&&(e[t]=void 0),i)){var r=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;a.message="Loading chunk "+t+" failed.\n("+r+": "+o+")",a.name="ChunkLoadError",a.type=r,a.request=o,i[1](a)}},"chunk-"+t,t)}}};var t=(t,n)=>{var i,r,[o,a,l]=n,c=0;if(o.some(t=>0!==e[t])){for(i in a)s.o(a,i)&&(s.m[i]=a[i]);l&&l(s)}for(t&&t(n);c<o.length;c++)r=o[c],s.o(e,r)&&e[r]&&e[r][0](),e[r]=0},n=self.webpackChunk=self.webpackChunk||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();
1class n{static isSupported(){return"undefined"!==document.cookie}static setItem(e,t,s){if(null==e)throw Error("You must specify a key to set a cookie");let n=new Date;n.setTime(n.getTime()+864e5*s);let i="";"https:"===location.protocol&&(i="secure"),document.cookie=`${e}=${t};expires=${n.toUTCString()};path=/;sameSite=lax;${i}`}static getItem(e){if(!e)return!1;let t=e+"=",s=document.cookie.split(";");for(let e=0;e<s.length;e++){let n=s[e];for(;" "===n.charAt(0);)n=n.substring(1);if(0===n.indexOf(t))return n.substring(t.length,n.length)}return!1}static removeItem(e){document.cookie=`${e}= ; expires = Thu, 01 Jan 1970 00:00:00 GMT;path=/`}static key(){return""}static clear(){}}class i{constructor(e=document){this._el=e,e.$emitter=this,this._listeners=[]}publish(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=new CustomEvent(e,{detail:t,cancelable:s});return this.el.dispatchEvent(n),n}subscribe(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this,i=e.split("."),r=s.scope?t.bind(s.scope):t;if(s.once&&!0===s.once){let t=r;r=function(s){n.unsubscribe(e),t(s)}}return this.el.addEventListener(i[0],r),this.listeners.push({splitEventName:i,opts:s,cb:r}),!0}unsubscribe(e){let t=e.split(".");return this.listeners=this.listeners.reduce((e,s)=>([...s.splitEventName].sort().toString()===t.sort().toString()?this.el.removeEventListener(s.splitEventName[0],s.cb):e.push(s),e),[]),!0}reset(){return this.listeners.forEach(e=>{this.el.removeEventListener(e.splitEventName[0],e.cb)}),this.listeners=[],!0}get el(){return this._el}set el(e){this._el=e}get listeners(){return this._listeners}set listeners(e){this._listeners=e}}let r="js-offcanvas-singleton";class o{constructor(){this.$emitter=new i}open(e,t,s,n,i,r,o){this._removeExistingOffCanvas();let a=this._createOffCanvas(s,r,o,n);this.setContent(e,i),this._openOffcanvas(a,t)}setContent(e,t){let s=this.getOffCanvas();s[0]&&(s[0].innerHTML=e,this._registerEvents(t),this._setAriaAttrs())}setAdditionalClassName(e){this.getOffCanvas()[0].classList.add(e)}getOffCanvas(){return document.querySelectorAll(`.${r}`)}close(e){let t=this.getOffCanvas();t.forEach(e=>{bootstrap.Offcanvas.getInstance(e).hide()}),setTimeout(()=>{this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:t})},e)}goBackInHistory(){window.history.back()}exists(){return this.getOffCanvas().length>0}_openOffcanvas(e,t){window.focusHandler.saveFocusState("offcanvas"),o.bsOffcanvas.show(),window.history.pushState("offcanvas-open",""),"function"==typeof t&&t()}_registerEvents(e){let t=this.getOffCanvas();t.forEach(s=>{let n=()=>{setTimeout(()=>{s.remove(),window.focusHandler.resumeFocusState("offcanvas"),this.$emitter.publish("onCloseOffcanvas",{offCanvasContent:t})},e),s.removeEventListener("hide.bs.offcanvas",n)};s.addEventListener("hide.bs.offcanvas",n)}),window.addEventListener("popstate",this.close.bind(this,e),{once:!0}),document.querySelectorAll(".js-offcanvas-close").forEach(t=>{t.addEventListener("click",this.close.bind(this,e))})}_setAriaAttrs(){let e=this.getOffCanvas()[0],t="off-canvas-headline",s=e.querySelector(`[data-id="${t}"]`);s&&!e.hasAttribute("aria-labelledby")&&(s.setAttribute("id",t),e.setAttribute("aria-labelledby",t))}_removeExistingOffCanvas(){this.getOffCanvas().forEach(e=>{let t=bootstrap.Offcanvas.getInstance(e);t&&"function"==typeof t.dispose&&t.dispose(),e.remove()}),o.bsOffcanvas=null}_getPositionClass(e){return"left"===e?"offcanvas-start":"right"===e?"offcanvas-end":`offcanvas-${e}`}_createOffCanvas(e,t,s,n){let i=document.createElement("div");if(i.classList.add("offcanvas",r),i.classList.add(this._getPositionClass(e)),i.setAttribute("tabindex","-1"),!0===t&&i.classList.add("is-fullwidth"),s){let e=typeof s;if("string"===e)i.classList.add(s);else if(Array.isArray(s))s.forEach(e=>{i.classList.add(e)});else throw Error(`The type "${e}" is not supported. Please pass an array or a string.`)}return document.body.appendChild(i),o.bsOffcanvas=new bootstrap.Offcanvas(i,{backdrop:!1!==n||"static"}),i}}let a=Object.freeze(new o);class l{static open(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left",n=!(arguments.length>3)||void 0===arguments[3]||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,r=arguments.length>5&&void 0!==arguments[5]&&arguments[5],o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:"";a.open(e,t,s,n,i,r,o)}static setContent(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:350;a.setContent(e,t,s)}static setAdditionalClassName(e){a.setAdditionalClassName(e)}static close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:350;a.close(e)}static exists(){return a.exists()}static getOffCanvas(){return a.getOffCanvas()}static REMOVE_OFF_CANVAS_DELAY(){return 350}}let c="loader",u={BEFORE:"before",INNER:"inner"};class h{constructor(e,t=u.BEFORE){this.parent=e instanceof Element?e:document.body.querySelector(e),this.position=t}create(){if(!this.exists()){if(this.position===u.INNER){this._previousHTML=this.parent.innerHTML,this.parent.innerHTML=h.getTemplate();return}this.parent.insertAdjacentHTML(this._getPosition(),h.getTemplate())}}remove(){if(this.position===u.INNER){this.parent.innerHTML=this._previousHTML;return}this.parent.querySelectorAll(`.${c}
1`).forEach(e=>e.remove())}exists(){return this.parent.querySelectorAll(`.${c}`).length>0}_getPosition(){return this.position===u.BEFORE?"afterbegin":"beforeend"}static getTemplate(){return`<div class="${c}" role="status"> 2 <span class="visually-hidden">Loading...</span> 3 </div>`}static SELECTOR_CLASS(){return c}}class d extends l{static open(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"left",i=!(arguments.length>4)||void 0===arguments[4]||arguments[4],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:l.REMOVE_OFF_CANVAS_DELAY(),o=arguments.length>6&&void 0!==arguments[6]&&arguments[6],c=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"";if(!e)throw Error("A url must be given!");a._removeExistingOffCanvas();let u=a._createOffCanvas(n,o,c,i);this.setContent(e,t,s,i,r),a._openOffcanvas(u)}static setContent(e,t,s,n,i){super.setContent(`<div class="offcanvas-body">${h.getTemplate()}</div>`,i);let r=e=>{super.setContent(e,i),"function"==typeof s&&s(e)};t?fetch(e,{method:"POST",body:t instanceof FormData?t:JSON.stringify(t),headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>d.executeCallback(r,e)):fetch(e,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(e=>e.text()).then(e=>d.executeCallback(r,e))}static executeCallback(e,t){"function"==typeof e&&e(t);let s=l.getOffCanvas();s.length>0&&window.PluginManager.initializePluginsInParentElement(s[0])}}var f=s(156),g=s.n(f);class p{static ucFirst(e){return e.charAt(0).toUpperCase()+e.slice(1)}static lcFirst(e){return e.charAt(0).toLowerCase()+e.slice(1)}static toDashCase(e){return e.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(e,t){let s=p.toUpperCamelCase(e,t);return p.lcFirst(s)}static toUpperCamelCase(e,t){return t?e.split(t).map(e=>p.ucFirst(e.toLowerCase())).join(""):p.ucFirst(e.toLowerCase())}static parsePrimitive(e){try{return/^\d+(.|,)\d+$/.test(e)&&(e=e.replace(",",".")),JSON.parse(e)}catch(t){return e.toString()}}}class m{constructor(e,t={},s=!1){if(!(e instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${s}".`);return}this.el=e,this.$emitter=new i(this.el),this._pluginName=this._getPluginName(s),this.options=this._mergeOptions(t),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(e){let t=[this.constructor.options,this.options,e];return t.push(this._getConfigFromDataAttribute()),t.push(this._getOptionsFromDataAttribute()),g().all(t.filter(e=>e instanceof Object&&!(e instanceof Array)).map(e=>e||{}))}_getConfigFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=p.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${t}-config`);return s?window.PluginConfigManager.get(this._pluginName,s):e}_getOptionsFromDataAttribute(){let e={};if("function"!=typeof this.el.getAttribute)return e;let t=p.toDashCase(this._pluginName),s=this.el.getAttribute(`data-${t}-options`);if(s)try{return JSON.parse(s)}catch(e){console.error(`The data attribute "data-${t}-options" could not be parsed to json: ${e.message}`)}return e}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(e){return e||(e=this.constructor.name),e}}class v{constructor(){this._request=null,this._errorHandlingInternal=!1}get(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"application/json",n=this._createPreparedRequest("GET",e,s);return this._sendRequest(n,null,t)}post(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("POST",e,n);return this._sendRequest(i,t,s)}delete(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("DELETE",e,n);return this._sendRequest(i,t,s)}patch(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"application/json";n=this._getContentType(t,n);let i=this._createPreparedRequest("PATCH",e,n);return this._sendRequest(i,t,s)}
3abort(){if(this._request)return this._request.abort()}setErrorHandlingInternal(e){this._errorHandlingInternal=e}_registerOnLoaded(e,t){t&&(!0===this._errorHandlingInternal?(e.addEventListener("load",()=>{t(e.responseText,e)}),e.addEventListener("abort",()=>{console.warn(`the request to ${e.responseURL} was aborted`)}),e.addEventListener("error",()=>{console.warn(`the request to ${e.responseURL} failed with status ${e.status}`)}),e.addEventListener("timeout",()=>{console.warn(`the request to ${e.responseURL} timed out`)})):e.addEventListener("loadend",()=>{t(e.responseText,e)}))}_sendRequest(e,t,s){return this._registerOnLoaded(e,s),e.send(t),e}_getContentType(e,t){return e instanceof FormData&&(t=!1),t}_createPreparedRequest(e,t,s){return this._request=new XMLHttpRequest,this._request.open(e,t),this._request.setRequestHeader("X-Requested-With","XMLHttpRequest"),s&&this._request.setRequestHeader("Content-type",s),this._request}}let _="CookieConfiguration_Update",C="CookieConfiguration_CloseOffCanvas";class b extends m{static #e=this.lastTriggerElement=null;static #t=this.options={defaultCookieExpiration:30,offCanvasPosition:"left",submitEvent:"click",cookiePreference:"cookie-preference",cookieConfigHash:"cookie-config-hash",cookieSelector:"[data-cookie]",buttonOpenSelector:".js-cookie-configuration-button button",buttonSubmitSelector:".js-offcanvas-cookie-submit",buttonPermissionSelector:".js-cookie-permission-button",buttonAcceptAllSelector:".js-offcanvas-cookie-accept-all",globalButtonAcceptAllSelector:".js-cookie-accept-all-button",globalButtonPermissionSelector:".js-cookie-permission-button",parentInputSelector:".offcanvas-cookie-parent-input",customLinkSelector:`[href="${window.router["frontend.cookie.offcanvas"]}"]`,entriesActiveClass:"offcanvas-cookie-entries--active",entriesClass:"offcanvas-cookie-entries",groupClass:"offcanvas-cookie-group",parentInputClass:"offcanvas-cookie-parent-input",consentAcceptButtonSelector:".js-wishlist-cookie-accept",consentLoginButtonSelector:".js-wishlist-login",consentCancelButtonSelector:".js-wishlist-cookie-offcanvas-cancel",consentPreferencesButtonSelector:".js-wishlist-cookie-preferences"};init(){this.lastState={active:[],inactive:[]},this._cleanupTasks=[],this._httpClient=new v,this._registerEvents(),this._checkCookieConfigurationHash(),document.$emitter.subscribe("CookieConfiguration/requestConsent",e=>{e instanceof CustomEvent&&(e=e.detail),this.openRequestConsentOffCanvas(e.route,e.cookieName)}),this._registerCleanup(()=>{document.$emitter.unsubscribe("CookieConfiguration/requestConsent")})}destroy(){if(this._cleanupTasks&&this._cleanupTasks.length>0){let e=this._cleanupTasks.slice();this._cleanupTasks=[];for(let t=0;t<e.length;t++)try{e[t]()}catch(e){}}}_getDefaultCookieExpiration(){let{defaultCookieExpiration:e}=this.options,t=Number(e);return Number.isInteger(t)&&t>0?t:30}_registerEvents(){if(this._delegatedEventHandler)return;let{submitEvent:e,buttonOpenSelector:t,customLinkSelector:s,buttonPermissionSelector:n,globalButtonAcceptAllSelector:i}=this.options;this._delegatedEventHandler=e=>{let r=e.target;if(r.closest(s)){this._handleCustomLink(e);return}if(r.closest(t)){this.openOffCanvas();return}if(r.closest(n)){this._handlePermission(e);return}if(r.closest(i)){this._acceptAllCookiesFromCookieBar(e);return}},document.addEventListener(e,this._delegatedEventHandler,!0),this._registerCleanup(()=>{document.removeEventListener(e,this._delegatedEventHandler,!0),this._delegatedEventHandler=null})}_registerOffCanvasEvents(){let e=this._getOffCanvas();e&&!e.hasAttribute("data-offcanvas-events-registered")&&(this._offCanvasDelegatedHandler||(this._offCanvasDelegatedHandler=this._handleOffCanvasClick.bind(this)),e.setAttribute("data-offcanvas-events-registered","true"),e.addEventListener("click",this._offCanvasDelegatedHandler,!0),this._registerCleanup(()=>{e.removeEventListener("click",this._offCanvasDelegatedHandler,!0),e.removeAttribute("data-offcanvas-events-registered"),this._offCanvasDelegatedHandler=null}))}_handleOffCanvasClick(e){let{buttonSubmitSelector:t,buttonAcceptAllSelector:s}=this.options,n=e.target;if(n.closest(t)){e.preventDefault(),this._handleSubmit(e);return}if(n.closest(s)){e.preventDefault(),this._acceptAllCookiesFromOffCanvas(e);return}if("checkbox"===n.type){this._handleCheckbox(e);return}}_handleCustomLink(e){0!==e.button||e.ctrlKey||e.metaKey||e.shiftKey||e.defaultPrevented||(e.preventDefault(),this.openOffCanvas())}async _fetchCookieGroups(){try{let e=window.router["frontend.cookie.groups"],t=await fetch(e,{method:"GET",headers:{"X-Requested-With":"XMLHttpRequest"}});return await t.json()}catch(e){return console.error("Failed to fetch cookie groups:",e),null}}async _checkCookieConfigurationHash(){let{cookiePreference:e,cookieConfigHash:t}=this.options,s=n.getItem(e),i=n.getItem(t);if(!s&&!i)return;let r=await this._fetchCookieGroups();if(!r)return;let o=r.hash,a=r.languageId,l=this._getStoredHashForLanguage(i,a);if(l&&l!==o||s&&!l){await this._resetCookieConfiguration(r);return}l&&this._storeHashForLanguage(a,o,i)}_parseStoredHashes(e){if(!e)return{};try{let t=JSON.parse(e);if("object"==typeof t&&null!==t)return t}catch(e){}return{}}_getStoredHashForLanguage(e,t){return this._parseStoredHashes(e)[t]||null}_storeHashForLanguage(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,{cookieConfigHash:i}=this.options,r=s??n.getItem(i),o=this._parseStoredHashes(r);o[e]=t,n.setItem(i,JSON.stringify(o),this._getDefaultCookieExpiration())}async _resetCookieConfiguration(e){let t=e.elements||[],{activeCookieNames:s,inactiveCookieNames:i}=this._applyCookieConfiguration(t,"required",[],e.languageId);n.removeItem(this.options.cookiePreference);let r=s.filter(e=>e!==this.options.cookiePreference);this._handleUpdateListener(r,i),this._checkAndShowCookieBarIfNeeded()}_getTechnicallyRequiredCookieNames(){return["session-","timezone"]}async _handlePermission(e){e.preventDefault();let t=await this._fetchCookieGroups();if(!t)return;let s=t.elements,{activeCookieNames:n,inactiveCookieNames:i}=this._applyCookieConfiguration(s,"required",[],t.languageId);this._handleUpdateListener(n,i),this._hideCookieBar(),this.closeOffCanvas()}_applyCookieConfiguration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=this._getTechnicallyRequiredCookieNames(),o=this._extractAllCookiesFromGroups(e),a=[],l=[];for(let e=0;e<o.length;e++){let n=o[e];("required"===t?n.isRequired:"selected"!==t||n.isRequired||s.includes(n.cookie))?a.push(n):l.push(n.cookie)}for(let e=0;e<l.length;e++)n.getItem(l[e])&&n.removeItem(l[e]);let c=[...r];for(let e=0;e<a.length;e++){let t=a[e],s=r.some(e=>t.cookie===e),o=t.cookie===this.options.cookieConfigHash;s||c.push(t.cookie),!t.value||s||(o&&i?this._storeHashForLanguage(i,t.value):o||n.setItem(t.cookie,t.value,t.expiration||this._getDefaultCookieExpiration()))}return{activeCookieNames:c,inactiveCookieNames:l}}_extractAllCookiesFromGroups(e){let t=[];for(let s=0;s<e.length;s++){let n=e[s],i=n.isRequired||!1;if(n.entries)for(let e=0;e<n.entries.length;e++){let s=n.entries[e];s.cookie&&t.push({cookie:s.cookie,value:s.value,expiration:s.expiration,isRequired:i})}n.cookie&&t.push({cookie:n.cookie,value:n.value,expiration:n.expiration,isRequired:i})}return t}
3_handleUpdateListener(e,t){let s=this._getUpdatedCookies(e,t);"function"==typeof window.registerGoogleReCaptchaPlugins&&(window.registerGoogleReCaptchaPlugins(),PluginManager.initializePlugins()),document.$emitter.publish(_,s)}_getUpdatedCookies(e,t){let{lastState:s}=this,n={};return e.forEach(e=>{s.inactive.includes(e)&&(n[e]=!0)}),t.forEach(e=>{s.active.includes(e)&&(n[e]=!1)}),n}openOffCanvas(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,{offCanvasPosition:t}=this.options,s=window.router["frontend.cookie.offcanvas"];this._hideCookieBar(),d.open(s,!1,this._onOffCanvasOpened.bind(this,e),t)}closeOffCanvas(e){d.close(),"function"==typeof e&&e()}_checkAndShowCookieBarIfNeeded(){let{cookiePreference:e}=this.options;if(!n.getItem(e)){let e=new CustomEvent("showCookieBar");document.dispatchEvent(e)}}_onOffCanvasOpened(e){this._registerOffCanvasEvents(),this._setInitialState(),this._setInitialOffcanvasState(),this._registerOffCanvasCloseListener(),PluginManager.initializePlugins(),"function"==typeof e&&e()}_registerOffCanvasCloseListener(){this._onOffCanvasOnceHandler=()=>{this._checkAndShowCookieBarIfNeeded()},a.$emitter.subscribe("onCloseOffcanvas",this._onOffCanvasOnceHandler,{once:!0}),this._registerCleanup(()=>{a.$emitter.unsubscribe("onCloseOffcanvas"),this._onOffCanvasOnceHandler=null})}_registerCleanup(e){this._cleanupTasks||(this._cleanupTasks=[]),this._cleanupTasks.push(e)}_hideCookieBar(){let e=new CustomEvent("hideCookieBar");document.dispatchEvent(e)}openRequestConsentOffCanvas(e,t){e&&t&&(b.lastTriggerElement=document.activeElement,d.open(e,!1,()=>{window.PluginManager.initializePlugins();let e=document.querySelector(".offcanvas");e&&this._registerConsentOffcanvasEvents(e,t)},"left"))}_registerConsentOffcanvasEvents(e,t){let{consentAcceptButtonSelector:s,consentLoginButtonSelector:n,consentCancelButtonSelector:i,consentPreferencesButtonSelector:r}=this.options,o=e.querySelector(s);o&&o.addEventListener("click",this._onAccept.bind(this,t));let a=e.querySelector(n);a&&a.addEventListener("click",this._onLogin.bind(this));let l=e.querySelector(i);l&&l.addEventListener("click",this._onCancel.bind(this));let c=e.querySelector(r);c&&c.addEventListener("click",this._onPreferences.bind(this))}_setInitialState(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=e||this._getCookies("all"),s=[],i=[];t.forEach(e=>{let{cookie:t,required:r}=e;n.getItem(t)||r?s.push(t):i.push(t)}),this.lastState={active:s,inactive:i}}_setInitialOffcanvasState(){let e=this.lastState.active,t=this._getOffCanvas();e.forEach(e=>{let s=t.querySelector(`[data-cookie="${e}"]`);s.checked=!0,this._childCheckboxEvent(s)})}_handleCheckbox(e){let{parentInputClass:t}=this.options,{target:s}=e;(s.classList.contains(t)?this._parentCheckboxEvent:this._childCheckboxEvent).call(this,s)}_findParentEl(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;for(;e&&!e.classList.contains(s);){if(e.classList.contains(t))return e;e=e.parentElement}return null}_isChecked(e){return!!e.checked}_parentCheckboxEvent(e){let{groupClass:t}=this.options,s=this._isChecked(e),n=this._findParentEl(e,t);this._toggleWholeGroup(s,n)}_childCheckboxEvent(e){let{groupClass:t}=this.options,s=this._isChecked(e),n=this._findParentEl(e,t);this._toggleParentCheckbox(s,n)}_toggleWholeGroup(e,t){Array.from(t.querySelectorAll("input")).forEach(t=>{t.checked=e})}_toggleParentCheckbox(e,t){let{parentInputSelector:s}=this.options,n=Array.from(t.querySelectorAll(`input:not(${s})`)),i=Array.from(t.querySelectorAll(`input:not(${s}):checked`));if(n.length>0){let e=t.querySelector(s);if(e){let t=i.length>0,s=t&&i.length!==n.length;e.checked=t,e.indeterminate=s}}}async _handleSubmit(){let e=this._getCookies("active").filter(e=>{let{required:t}=e;return!t}).map(e=>{let{cookie:t}=e;return t}),t=await this._fetchCookieGroups();if(!t)return;let s=t.elements,{activeCookieNames:n,inactiveCookieNames:i}=this._applyCookieConfiguration(s,"selected",e,t.languageId);this._handleUpdateListener(n,i),this.closeOffCanvas(document.$emitter.publish(C))}async acceptAllCookies(){arguments.length>0&&void 0!==arguments[0]&&arguments[0];let e=await this._fetchCookieGroups();if(!e)return;let t=e.elements,{activeCookieNames:s,inactiveCookieNames:n}=this._applyCookieConfiguration(t,"all",[],e.languageId);this._handleUpdateListener(s,n),this._hideCookieBar(),this.closeOffCanvas()}async _acceptAllCookiesFromCookieBar(){let e=await this._fetchCookieGroups();if(!e)return;let t=e.elements,{activeCookieNames:s,inactiveCookieNames:n}=this._applyCookieConfiguration(t,"all",[],e.languageId);this._handleUpdateListener(s,n),this._hideCookieBar()}async _acceptAllCookiesFromOffCanvas(){let e=await this._fetchCookieGroups();if(!e)return;let t=e.elements,{activeCookieNames:s,inactiveCookieNames:n}=this._applyCookieConfiguration(t,"all",[],e.languageId);this._handleUpdateListener(s,n),this.closeOffCanvas(document.$emitter.publish(C))}_getCookies(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"all",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,{cookieSelector:s}=this.options;return t||(t=this._getOffCanvas()),Array.from(t.querySelectorAll(s)).filter(t=>{switch(e){case"all":return!0;case"active":return this._isChecked(t);case"inactive":return!this._isChecked(t);default:return!1}}).map(e=>
3{let{cookie:t,cookieValue:s,cookieExpiration:n,cookieRequired:i}=e.dataset;return{cookie:t,value:s,expiration:n,required:i}})}_getOffCanvas(){let e=l?l.getOffCanvas():[];return!!e&&e.length>0&&e[0]}_onAccept(e){n.setItem(e,"1",this._getDefaultCookieExpiration()),d.close()}_onLogin(){d.close(),window.location.href=window.router["frontend.account.login.page"]}_onCancel(){d.close()}_onPreferences(e){e.preventDefault(),d.close(),this.openOffCanvas(()=>{let e=document.querySelector(".offcanvas");e&&e.addEventListener("hidden.bs.offcanvas",this._restoreFocus.bind(this),{once:!0})})}_restoreFocus(){let e=b.lastTriggerElement;e?.focus?.()}}let y={accountOrder:"Account",accountPayment:"Account",accountProfile:"Account",address:"Account",auth:"Account",checkout:"Checkout",error:"Error",landingPage:"Landing page",maintenance:"Maintenance",navigation:"Navigation",newsletter:"Newsletter",product:"Product",register:"Account",search:"Search",wishlist:"Wish list"},w={accountOrder:{orderOverview:"Order overview",orderSingleOverview:"Order details",editOrder:"Order edit"},accountPayment:{paymentOverview:"Payment overview"},accountProfile:{index:"Account overview",profileOverview:"Profile overview"},address:{accountAddressOverview:"Address overview",accountCreateAddress:"Address create"},auth:{loginPage:"Sign in",guestLoginPage:"Guest sign in",logout:"Sign out",recoverAccountForm:"Account recovery"},checkout:{cartPage:"Cart",finishPage:"Checkout finish",confirmPage:"Checkout confirm"},error:{error:"Error page"},landingPage:{index:"Landing page"},maintenance:{renderMaintenancePage:"Maintenance"},navigation:{home:"Home",index:"Product listing"},newsletter:{subscribeMail:"Newsletter subscription"},product:{index:"Product detail"},register:{accountRegisterPage:"Sign up",customerGroupRegistration:"Business sign up",checkoutRegisterPage:"Checkout sign up",confirmRegistration:"Sign up confirmation"},search:{search:"Search"},wishlist:{index:"Wish list"}};function k(e){return e.charAt(0).toLowerCase()+e.slice(1)}let O={"Checkout finish":["order-created"]};async function E(e,t){let n=O[e]||[],{load:i}=await s.e(72330).then(s.bind(s,330));n.forEach(e=>i(e).then(e=>e.pageLoaded?.(t)))}async function S(e){var t;let s=await A();if(null!==s&&s.id!==e.user.id&&e.identify(s.id,{firstName:s.firstName,lastName:s.lastName,email:s.email,customerGroupId:s.customerGroupId,customerGroupName:s.customerGroupName,guest:s.guest}),null===s&&null!==e.user.id){e.reset();return}let{category:n,name:i}=function(e,t,s){let n=k(String(e)),i=k(String(t));return"string"==typeof s?function(e){let t=null;switch(e){case"page":t="Shop page";break;case"landingpage":t="Landing page";break;case"product_list":t="Product listing";break;case"product_detail":t="Product detail"}return{category:"CMS",name:t}}(s):{category:y[k(n)]??null,name:function(e,t){let s=k(e),n=k(t);return w[s]?.[n]??null}(n,i)}}(window.shopwareAnalytics.storefrontController,window.shopwareAnalytics.storefrontAction,window.shopwareAnalytics.storefrontCmsPageType);e.page(n,i,{storefrontController:(t=window.shopwareAnalytics.storefrontController).charAt(0).toLowerCase()+t.slice(1),storefrontAction:window.shopwareAnalytics.storefrontAction,storefrontRoute:window.shopwareAnalytics.storefrontRoute,storefrontCmsPageType:window.shopwareAnalytics.storefrontCmsPageType??null}),E(i,{})}async function A(){let e=await fetch(window.router["frontend.shopware_analytics.customer.data"]),t=await e.json();return t?.customer??null}let L="_swa_consent_enabled";function I(e){let t=e.detail;"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,L)&&(t[L]?S(this.instance):(this.instance.clearStorage(),function(){let e=document.cookie.split(";"),t=/^_swa_.*$/;e.forEach(e=>{let s=e.split("=")[0].trim();s.match(t)&&n.removeItem(s)})}()))}let P="_swa_anonymousId",T="_swa_userId",x="_swa_userTraits";class q extends Event{constructor(e,t,s,n,i){super(e),this.payload={context:s.context,screen:s.screen,user:s.user,anonymousId:s.anonymousId,...t},this.instance=s,this.config=n,this.context=i}}let N="identify";class j extends q{constructor(e,t,s){super(N,{id:e,traits:t},s,s.config,s.context)}}let R="page";class $ extends q{constructor(e,t,s,n){super(R,{category:e,name:t,properties:s},n,n.config,n.context)}}let H="reset";class D extends q{constructor(e){super(H,{},e,e.config,e.context)}}let F="track";class M extends q{constructor(e,t,s){super(F,{name:e,properties:t},s,s.config,s.context)}}let U={identify:N,page:R,reset:H,track:F}
3,G=class extends EventTarget{addEventListener(e,t){let s=this._subscriber[e]||[];s.push(t),this._subscriber[e]=s}removeEventListener(e,t){this._subscriber[e]=this._subscriber[e]?.filter(e=>e!==t)}dispatchEvent(e){this._subscriber[e.type]?.forEach(t=>setTimeout(()=>t(e),0))}constructor(...e){super(...e),this._subscriber=[]}},B=window._shopwareAnalytics=new class{constructor(e={debug:!1,app:"storefront"}){this._storage=null,this._config=e,this._emitter=new G,this._storage=globalThis.localStorage}async identify(e,t){this._updateUser(e,t),this._emitter.dispatchEvent(new j(e,t,this))}async page(e,t,s){this._emitter.dispatchEvent(new $(e,t,s,this))}async track(e,t){this._emitter.dispatchEvent(new M(e,t,this))}async reset(){let e=()=>{this.clearStorage(),this._emitter.removeEventListener(U.reset,e)};this._emitter.addEventListener(U.reset,e),this._emitter.dispatchEvent(new D(this))}clearStorage(){this._storage.removeItem(T),this._storage.removeItem(x),this._storage.removeItem(P)}use(e){e.install(this)}subscribe(e,t){this._emitter.addEventListener(e,t)}get config(){return{...this._config}}get anonymousId(){return this._storage.getItem(P)||this._storage.setItem(P,JSON.stringify(globalThis.crypto.randomUUID())),JSON.parse(this._storage.getItem(P))}get user(){return{id:JSON.parse(this._storage.getItem(T)),traits:JSON.parse(this._storage.getItem(x))}}get screen(){return globalThis.screen?{width:globalThis.screen.width,height:globalThis.screen.height,density:globalThis.devicePixelRatio}:{}}get context(){return{app:this._config.app,library:{name:"shopware-analytics",version:"0.2.1"},locale:globalThis.navigator.language,page:this.getPage(),screen:this.screen,timestamp:Date.now(),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,userAgent:globalThis.navigator.userAgent,userAgentData:globalThis.navigator.userAgentData??null}}getPage(){return{path:globalThis.location.pathname,referrer:document.referrer,search:globalThis.location.search,title:document.title,url:globalThis.location.href}}_updateUser(e,t){this._storage.setItem(T,JSON.stringify(e)),this._storage.setItem(x,JSON.stringify(t))}}({debug:window.shopwareAnalytics?.debug??!1,app:"storefront"});if(window.shopwareAnalytics&&""!==window.shopwareAnalytics.trackingId){let e=new class{constructor(e){this.name="shopware-analytics",this._trackingId=e,this._trackingURL="https://analytics.shopware.io/v1";try{this._trackingURL="https://analytics.shopware.io/v1"}catch{}}async page(e){let{payload:t,config:s,context:n,instance:i}=e;s.debug&&this._trace(U.page,t,s),this._send({type:U.page,timestamp:new Date(n.timestamp).toISOString(),anonymousId:t.anonymousId,properties:this._removeEmptyValuesFromObjectRecursively({...t.properties,category:t.category,name:t.name,title:n.page.title,path:n.page.path,url:n.page.url,referrer:n.page.referrer,search:n.page.search}),context:n,customer:await this._getIdentifiedCustomer(i)})}async track(e){let{payload:t,config:s,context:n,instance:i}=e;s.debug&&this._trace(U.track,t,s),this._send({type:U.track,timestamp:new Date(n.timestamp).toISOString(),anonymousId:t.anonymousId,name:t.name,properties:t.properties,context:n,customer:await this._getIdentifiedCustomer(i)})}async identify(e){let{payload:t,config:s,context:n,instance:i}=e;s.debug&&this._trace(U.identify,t,s),this._send({type:U.identify,timestamp:new Date(n.timestamp).toISOString(),anonymousId:t.anonymousId,context:n,customer:await this._getIdentifiedCustomer(i)})}reset(e){let{payload:t,config:s,instance:n}=e;s.debug&&this._trace(U.reset,t,s),this.track(new M("user:logout",{},n))}loaded(){return!0}install(e){globalThis.crypto&&globalThis.crypto.randomUUID&&(e.subscribe(U.identify,this.identify.bind(this)),e.subscribe(U.page,this.page.bind(this)),e.subscribe(U.reset,this.reset.bind(this)),e.subscribe(U.track,this.track.bind(this)))}async _getIdentifiedCustomer(e){let{user:t}=e;return null===t.id?null:{customerGroupId:e.user.traits.customerGroupId,customerGroupName:e.user.traits.customerGroupName,guest:e.user.traits.guest}}_removeEmptyValuesFromObjectRecursively(e){return Object.fromEntries(Object.entries(e).filter(e=>{let[t,s]=e;return null!=s}).map(e=>{let[t,s]=e;return[t,s===Object(s)?this._removeEmptyValuesFromObjectRecursively(s):s]}))}_send(e){fetch(`${this._trackingURL}/${e.type}`,{method:"POST",headers:{"Content-Type":"application/json","Shopware-Tracking-Id":this._trackingId},body:JSON.stringify(e)})}_trace(e,t,s){console.dir({trackingId:this._trackingId,event:e,payload:t,config:s})}}(window.shopwareAnalytics.trackingId);B.use(e),!0===window.shopwareAnalytics.merchantConsent&&(function(e,t){window.useDefaultCookieConsent&&(n.getItem(L)?S(t):t.clearStorage(),e.subscribe(_,I.bind({instance:t})))}(document.$emitter,B),function(e,t){!0!==window.useDefaultCookieConsent&&e.addEventListener("Shopware Analytics",e=>{e.detail&&"consent_status"===e.detail.event&&(!0===e.detail["Shopware Analytics"]?S(t):t.clearStorage())})}(window,B),function(e,t){!0!==window.useDefaultCookieConsent&&(e.addEventListener("CookiebotOnAccept",()=>{Cookiebot.consent.statistics?S(t):t.clearStorage()}),e.addEventListener("CookiebotOnDecline",()=>{t.clearStorage()}))}(window,B),function(e,t){!0!==e.useDefaultCookieConsent&&"function"==typeof e.__cmp&&e.__cmp("addEventListener",["consent",()=>
3{let s=e.__cmp("getCMPData"),n=s.vendorsList?.find(e=>"Shopware Analytics"===e.name)?.id??null;if(!n){t.clearStorage();return}s.vendorConsents[n]?S(t):t.clearStorage()},!1])}(window,B),function(e,t){window.useDefaultCookieConsent||e.subscribe("sw-analytics-consent",e=>{e.detail?.consent===!0?S(t):t.clearStorage()})}(document.$emitter,B))}else B.clearStorage()})();
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.