lmit.vzbl.eu
Open in
urlscan Pro
2606:4700:20::681a:817
Public Scan
URL:
https://lmit.vzbl.eu/js/lib.js
Submission: On August 07 via api from IT — Scanned from IT
Submission: On August 07 via api from IT — Scanned from IT
Form analysis
0 forms found in the DOMText Content
!function(){"use strict";function e(e,t,s){return t in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class t{static getClientInfo(){const e=navigator.userAgent;let s,i,n;e.match(/iPhone|iPod/g)?(i="ios",s="mobile"):e.match(/iPad/g)?(i="ios",s="tablet"):e.match(/Android/g)?(i="android",s=e.match(/Mobile/g)?"mobile":"tablet"):e.match(/Windows/g)?(i="windows",s="desktop"):e.match(/Mac OS/g)?(i="mac-os",s="desktop"):e.match(/Linux/g)?(i="linux",s="desktop"):e.match(/CrOS/g)?(i="chrome-os",s="desktop"):(i="other",s="unknown"),n=e.indexOf("Edg/")>-1?"edge":e.indexOf("Chrome")>-1?"chrome":e.indexOf("Safari")>-1?"safari":e.indexOf("Firefox")>-1?"firefox":e.indexOf("MSIE")>-1?"ie":e.indexOf("Samsung")>-1?"samsung":"others";const r=window.location,o="_vzbl_uid";let a=t.getCookie(o);return a||(a=t.nanoid()),t.setCookie(o,a,34164e3),{host:r.host,url:r.pathname+r.search+r.hash,device:s,os:i,browser:n,vis:a}}static nanoid(){let e="";for(let t=0;t<21;t++)e+="ModuleSymbhasOwnPr0123456789ABCDEFGHNRVfgctiUvzKqYTJkLxpZXIjQW".charAt(Math.floor(62*Math.random()));return e}static setCookie(e,t,s){const i=new Date;i.setTime(i.getTime()+1e3*s),document.cookie=`${e}=${t};path=/;expires=${i.toUTCString()}`}static getCookie(e){const t=document.cookie.match(`(^|;)\\s*${e}\\s*=\\s*([^;]+)`);return t?t.pop():void 0}static getUrlParam(e,t=null){const s=(t||window.location.search).match("[\\?&]"+e+"=([^&#]*)");return null===s?null:decodeURIComponent(s[1].replace(/\+/g," "))}static slugify(e,t=" "){return e?e.toString().normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().trim().replace(/[^a-z\d ]/g,t).replace(/\s+/g,t):void 0}static emit(e,s=null){let i=!1;try{i=navigator&&"function"==typeof navigator.sendBeacon&&navigator.sendBeacon(e,s?JSON.stringify(s):null)}catch(e){console.error(e)}i||t.apiCall(e,s)}static apiCall(e,t,s=null){const i=new XMLHttpRequest;i.open("POST",e),"function"==typeof s&&(i.responseType="json",i.onload=function(){200===this.status&&this.response&&s(this.response)}),i.send(t?JSON.stringify(t):null)}} /*! * @license MIT * @name vlitejs * @version 6.0.0 * @copyright 2023 Joris DANIEL */function s(e){const t=1e3*e,s=t/1e3/60<<0,i=t/1e3%60<<0;let n="";return n+=s<10?"0":"",n+=s+":",n+=i<10?"0":"",n+=i,n}function i({target:e,selectorString:t,nodeName:s}){if("string"==typeof s&&(s=[s]),Array.isArray(s))return s.some((s=>e.nodeName.toLowerCase()===s&&e.matches(t)))}function n({isMuted:e}){return`<button class="v-volumeButton v-controlButton${e?" v-controlPressed":""}"><svg class="v-iconUnpressed" viewBox="0 0 18 17" xmlns="http://www.w3.org/2000/svg"><path d="M0 6.461v4c0 .55.45 1 1 1h3l3.29 3.29c.63.63 1.71.18 1.71-.71V2.871c0-.89-1.08-1.34-1.71-.71L4 5.461H1c-.55 0-1 .45-1 1Zm13.5 2a4.5 4.5 0 0 0-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02ZM11 .911v.2c0 .38.25.71.6.85a7.004 7.004 0 0 1 4.4 6.5c0 2.94-1.82 5.47-4.4 6.5-.36.14-.6.47-.6.85v.2c0 .63.63 1.07 1.21.85a8.98 8.98 0 0 0 5.79-8.4c0-3.84-2.4-7.11-5.79-8.4-.58-.23-1.21.22-1.21.85Z"/></svg><svg class="v-iconPressed" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><path d="M.63.292a.996.996 0 0 0 0 1.41l3.66 3.66-.29.3H1c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h3l3.29 3.29c.63.63 1.71.18 1.71-.71v-4.17l4.18 4.18c-.49.37-1.02.68-1.6.91-.36.15-.58.53-.58.92 0 .72.73 1.18 1.39.91.8-.33 1.55-.77 2.22-1.31l1.34 1.34a.997.997 0 1 0 1.41-1.41L2.05.293c-.39-.39-1.02-.39-1.42 0ZM16 8.662c0 .82-.15 1.61-.41 2.34l1.53 1.53c.56-1.17.88-2.48.88-3.87 0-3.83-2.4-7.11-5.78-8.4-.59-.23-1.22.23-1.22.86v.19c0 .38.25.71.61.85 2.57 1.04 4.39 3.56 4.39 6.5Zm-8.71-6.29-.17.17L9 4.422v-1.35c0-.89-1.08-1.33-1.71-.7Zm6.21 6.29a4.5 4.5 0 0 0-2.5-4.03v1.79l2.48 2.48c.01-.08.02-.16.02-.24Z"/></svg></button>`}class r{constructor({player:e,type:t}){this.player=e,this.type=t,this.touchEvents=["touchstart","touchmove","touchend"],this.onInputProgressBar=this.onInputProgressBar.bind(this),this.onTouchEventProgressBar=this.onTouchEventProgressBar.bind(this),this.onClickOnControlBar=this.onClickOnControlBar.bind(this),this.togglePlayPause=this.togglePlayPause.bind(this),this.toggleVolume=this.toggleVolume.bind(this),this.toggleFullscreen=this.toggleFullscreen.bind(this)}init(){this.render(),this.cacheElements(),this.addEvents()}cacheElements(){const e=this.player.elements.container.querySelector(".v-controlBar");e&&(this.player.elements.controlBar=e,this.player.elements.playPause=e.querySelector(".v-playPauseButton"),this.player.elements.progressBar=e.querySelector(".v-progressBar"),this.player.elements.currentTime=e.querySelector(".v-currentTime"),this.player.elements.duration=e.querySelector(".v-duration"),this.player.elements.volume=e.querySelector(".v-volumeButton"),this.player.elements.fullscreen=e.querySelector(".v-fullscreenButton"),this.player.elements.volume&&this.player.elements.volume.setAttribute("aria-label",this.player.isMuted?"Unmute":"Mute"))}render(){this.player.elements.container.insertAdjacentHTML("beforeend",this.getTemplate())}onReady(){this.player.getDuration().then((e=>{this.player.elements.progressBar&&this.player.elements.progressBar.setAttribute("aria-valuemax",`${Math.round(e)}`),this.player.elements.duration&&(this.player.elements.duration.innerHTML=s(e))}))}addEvents(){this.player.elements.progressBar&&(this.player.elements.progressBar.addEventListener("input",this.onInputProgressBar),this.player.isTouch&&this.touchEvents.forEach((e=>{this.player.elements.progressBar.addEventListener(e,this.onTouchEventProgressBar)}))),this.player.elements.controlBar&&this.player.elements.controlBar.addEventListener("click",this.onClickOnControlBar)}onTouchEventProgressBar(e){e.preventDefault();const t=e.target,s=parseFloat(t.getAttribute("max")||"100"),i=t.getBoundingClientRect(),n=(e.changedTouches[0].clientX-i.left)/i.width*100;t.value=""+100*n/s,t.dispatchEvent(new Event("input"))}onInputProgressBar(e){const t=e.target;t.style.setProperty("--vlite-progressValue",`${t.value}%`),this.player.elements.outerContainer.classList.contains("v-firstStart")&&this.player.play(),this.player.getDuration().then((e=>{this.player.seekTo(parseFloat(t.value)*e/100)}))}onClickOnControlBar(e){const t=e.target,s=i({target:t,selectorString:".v-playPauseButton",nodeName:["button"]}),n=i({target:t,selectorString:".v-volumeButton",nodeName:["button"]}),r=i({target:t,selectorString:".v-fullscreenButton",nodeName:["button"]});s?this.togglePlayPause(e):n?this.toggleVolume(e):r&&this.toggleFullscreen(e)}togglePlayPause(e){e.preventDefault(),this.player.elements.outerContainer.classList.contains("v-paused")?this.player.play():this.player.pause()}toggleVolume(e){e.preventDefault(),this.player.elements.volume.classList.contains("v-controlPressed")?this.player.unMute():this.player.mute()}toggleFullscreen(e){e.preventDefault(),this.player.isFullScreen?this.player.exitFullscreen():this.player.requestFullscreen()}getTemplate(){return`${function({options:e,isMuted:t,isVideo:s}){return s?`<div class="v-controlBar">${e.playPause?'<button class="v-playPauseButton v-controlButton" aria-label="Play"><svg class="v-iconUnpressed" viewBox="0 0 11 13" xmlns="http://www.w3.org/2000/svg"><path d="M0 1v10.36c0 .79.87 1.27 1.54.84l8.14-5.18a1 1 0 0 0 0-1.69L1.54.16A.998.998 0 0 0 0 1Z"/></svg><svg class="v-iconPressed" viewBox="0 0 12 14" xmlns="http://www.w3.org/2000/svg"><path d="M2 14c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2S0 .9 0 2v10c0 1.1.9 2 2 2ZM8 2v10c0 1.1.9 2 2 2s2-.9 2-2V2c0-1.1-.9-2-2-2S8 .9 8 2Z"/></svg></button>':""}${e.time?'<div class="v-time"><span class="v-currentTime">00:00</span> / <span class="v-duration"></span></div>':""}${e.progressBar?'<input type="range" class="v-progressBar v-progressBarStyle" min="0" max="100" step="0.01" value="0" aria-label="Seek" aria-valuemin="0" />':""}${e.volume?n({isMuted:t}):""}${e.fullscreen?'<button class="v-fullscreenButton v-controlButton" aria-label="Enter fullscreen"><svg class="v-iconUnpressed" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"><path d="M1 9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h3c.55 0 1-.45 1-1s-.45-1-1-1H2v-2c0-.55-.45-1-1-1Zm0-4c.55 0 1-.45 1-1V2h2c.55 0 1-.45 1-1s-.45-1-1-1H1C.45 0 0 .45 0 1v3c0 .55.45 1 1 1Zm11 7h-2c-.55 0-1 .45-1 1s.45 1 1 1h3c.55 0 1-.45 1-1v-3c0-.55-.45-1-1-1s-1 .45-1 1v2ZM9 1c0 .55.45 1 1 1h2v2c0 .55.45 1 1 1s1-.45 1-1V1c0-.55-.45-1-1-1h-3c-.55 0-1 .45-1 1Z"/></svg><svg class="v-iconPressed" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"><path d="M1 11h2v2c0 .55.45 1 1 1s1-.45 1-1v-3c0-.55-.45-1-1-1H1c-.55 0-1 .45-1 1s.45 1 1 1Zm2-8H1c-.55 0-1 .45-1 1s.45 1 1 1h3c.55 0 1-.45 1-1V1c0-.55-.45-1-1-1S3 .45 3 1v2Zm7 11c.55 0 1-.45 1-1v-2h2c.55 0 1-.45 1-1s-.45-1-1-1h-3c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1Zm1-11V1c0-.55-.45-1-1-1S9 .45 9 1v3c0 .55.45 1 1 1h3c.55 0 1-.45 1-1s-.45-1-1-1h-2Z"/></svg></span></button>':""}</div>`:`<div class="v-controlBar">${e.playPause?'<button class="v-playPauseButton v-controlButton" aria-label="Play"><svg class="v-iconUnpressed" viewBox="0 0 11 13" xmlns="http://www.w3.org/2000/svg"><path d="M0 1v10.36c0 .79.87 1.27 1.54.84l8.14-5.18a1 1 0 0 0 0-1.69L1.54.16A.998.998 0 0 0 0 1Z"/></svg><svg class="v-iconPressed" viewBox="0 0 12 14" xmlns="http://www.w3.org/2000/svg"><path d="M2 14c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2S0 .9 0 2v10c0 1.1.9 2 2 2ZM8 2v10c0 1.1.9 2 2 2s2-.9 2-2V2c0-1.1-.9-2-2-2S8 .9 8 2Z"/></svg></button>':""}${e.time?'<div class="v-time"><span class="v-currentTime">00:00</span> / <span class="v-duration"></span></div>':""}${e.progressBar?'<input type="range" class="v-progressBar v-progressBarStyle" min="0" max="100" step="0.01" value="0" aria-label="Seek" aria-valuemin="0" />':""}${e.volume?n({isMuted:t}):""}</div>`}({options:this.player.options,isMuted:this.player.isMuted,isVideo:"video"===this.type})}`}removeEvents(){this.player.elements.progressBar&&(this.player.elements.progressBar.removeEventListener("input",this.onInputProgressBar),this.player.isTouch&&this.touchEvents.forEach((e=>{this.player.elements.progressBar.removeEventListener(e,this.onTouchEventProgressBar)}))),this.player.elements.controlBar&&this.player.elements.controlBar.removeEventListener("click",this.onClickOnControlBar)}destroy(){this.removeEvents(),this.player.elements.controlBar&&this.player.elements.controlBar.remove()}}class o{constructor({Vlitejs:e,type:t}){this.Vlitejs=e,this.type=t,this.plugins={},this.media=e.media,this.options=e.options,this.isCast=!1,this.isLinearAd=!1,this.elements={container:e.container,outerContainer:e.outerContainer,bigPlay:e.container.querySelector(".v-bigPlay"),poster:e.container.querySelector(".v-poster"),controlBar:null,playPause:null,progressBar:null,currentTime:null,duration:null,volume:null,fullscreen:null},this.isFullScreen=!1,this.isMuted=this.options.muted,this.isPaused=null,this.playerEvents=[],this.isTouch=!!("ontouchstart"in document.documentElement),this.controlBar=new r({player:this,type:t})}build(){this.options.controls&&this.controlBar.init(),this.init()}init(){throw new Error('You have to implement the function "init".')}waitUntilVideoIsReady(){throw new Error('You have to implement the function "waitUntilVideoIsReady".')}getInstance(){throw new Error('You have to implement the function "getInstance".')}getCurrentTime(){throw new Error('You have to implement the function "getCurrentTime".')}methodSeekTo(e){throw new Error('You have to implement the function "methodSeekTo".')}getDuration(){throw new Error('You have to implement the function "getDuration".')}methodPlay(){throw new Error('You have to implement the function "methodPlay".')}methodPause(){throw new Error('You have to implement the function "methodPause".')}methodSetVolume(e){throw new Error('You have to implement the function "methodSetVolume".')}methodGetVolume(){throw new Error('You have to implement the function "methodGetVolume".')}methodMute(){throw new Error('You have to implement the function "methodMute".')}methodUnMute(){throw new Error('You have to implement the function "methodUnMute".')}onReady(){this.options.muted&&this.mute(),this.media.classList.add("v-media"),this.media.setAttribute("tabindex","-1"),this.options.autoplay&&(!this.media.muted&&this.mute(),this.play()),this.Vlitejs.onReady instanceof Function&&this.Vlitejs.onReady.call(this,this),this.options.controls&&this.controlBar.onReady(),Object.keys(this.plugins).forEach((e=>{this.plugins[e].onReady instanceof Function&&this.plugins[e].onReady()})),this.loading(!1)}on(e,t){t instanceof Function&&(this.playerEvents.push({type:e,listener:t}),this.elements.container.addEventListener(e,t))}off(e,t){t instanceof Function&&this.elements.container.removeEventListener(e,t)}dispatchEvent(e,t){this.elements.container.dispatchEvent(new window.CustomEvent(e,{detail:t}))}loading(e){this.elements.outerContainer.classList[e?"add":"remove"]("v-loading"),this.dispatchEvent("progress")}onTimeUpdate(){this.options.time&&Promise.all([this.getCurrentTime(),this.getDuration()]).then((([e,t])=>this.updateProgressBar({seconds:e,duration:t})))}updateProgressBar({seconds:e,duration:t,isRemote:i=!1}){const n=Math.round(e);if(this.elements.progressBar){const s=100*n/t;this.elements.progressBar.value=`${s}`,this.elements.progressBar.style.setProperty("--vlite-progressValue",`${s}%`),this.elements.progressBar.setAttribute("aria-valuenow",`${Math.round(e)}`)}this.elements.currentTime&&(this.elements.currentTime.innerHTML=s(n)),!i&&this.dispatchEvent("timeupdate")}onMediaEnded(){this.options.loop?this.play():(this.elements.outerContainer.classList.replace("v-playing","v-paused"),this.elements.outerContainer.classList.add("v-firstStart")),this.elements.poster&&this.elements.poster.classList.add("v-active"),this.elements.progressBar&&(this.elements.progressBar.value="0",this.elements.progressBar.style.setProperty("--vlite-progressValue","0%"),this.elements.progressBar.removeAttribute("aria-valuenow")),this.elements.currentTime&&(this.elements.currentTime.innerHTML="00:00"),this.dispatchEvent("ended")}play(){this.isLinearAd||(null===this.isPaused&&(this.elements.outerContainer.classList.remove("v-firstStart"),"video"===this.type&&this.elements.poster&&this.elements.poster.classList.remove("v-active")),!this.isCast&&this.methodPlay(),this.isPaused=!1,this.elements.outerContainer.classList.replace("v-paused","v-playing"),this.elements.playPause&&(this.elements.playPause.setAttribute("aria-label","Pause"),this.elements.playPause.classList.add("v-controlPressed")),"video"===this.type&&this.elements.bigPlay&&this.elements.bigPlay.setAttribute("aria-label","Pause"),this.afterPlayPause(),this.dispatchEvent("play"))}pause(){!this.isCast&&this.methodPause(),this.isPaused=!0,this.elements.outerContainer.classList.replace("v-playing","v-paused"),this.elements.playPause&&(this.elements.playPause.setAttribute("aria-label","Play"),this.elements.playPause.classList.remove("v-controlPressed")),"video"===this.type&&this.elements.bigPlay&&this.elements.bigPlay.setAttribute("aria-label","Play"),this.afterPlayPause(),this.dispatchEvent("pause")}afterPlayPause(){this.Vlitejs.autoHideGranted&&(this.Vlitejs.stopAutoHideTimer(),!this.isPaused&&this.Vlitejs.startAutoHideTimer())}setVolume(e){e>1?e=1:e<=0?(e=0,this.isMuted=!0,this.elements.volume&&this.elements.volume.classList.add("v-controlPressed")):(this.isMuted=!1,this.elements.volume&&this.elements.volume.classList.remove("v-controlPressed")),this.methodSetVolume(e),this.dispatchEvent("volumechange",{volume:e})}getVolume(){return new window.Promise((e=>{this.methodGetVolume().then((t=>{e(t)}))}))}mute(){this.methodMute(),this.isMuted=!0,this.elements.volume&&(this.elements.volume.classList.add("v-controlPressed"),this.elements.volume.setAttribute("aria-label","Unmute")),this.dispatchEvent("volumechange")}unMute(){this.methodUnMute(),this.isMuted=!1,this.elements.volume&&(this.elements.volume.classList.remove("v-controlPressed"),this.elements.volume.setAttribute("aria-label","Mute")),this.dispatchEvent("volumechange")}seekTo(e){this.methodSeekTo(e)}requestFullscreen(){const{requestFn:e}=this.Vlitejs.supportFullScreen;this.media[e]&&(this.elements.container[e](),this.isFullScreen=!0,this.elements.outerContainer.classList.add("v-fullscreenButtonDisplay"),this.elements.fullscreen&&(this.elements.fullscreen.classList.add("v-controlPressed"),this.elements.fullscreen.setAttribute("aria-label","Exit fullscreen")),this.dispatchEvent("enterfullscreen"))}exitFullscreen({escKey:e=!1}={}){const{cancelFn:t}=this.Vlitejs.supportFullScreen;document[t]&&(!e&&document[t](),this.isFullScreen=!1,this.elements.outerContainer.classList.remove("v-fullscreenButtonDisplay"),this.elements.fullscreen&&(this.elements.fullscreen.classList.remove("v-controlPressed"),this.elements.fullscreen.setAttribute("aria-label","Enter fullscreen")),this.dispatchEvent("exitfullscreen"))}destroy(){this.controlBar&&this.controlBar.destroy(),Object.keys(this.plugins).forEach((e=>{this.plugins[e].destroy instanceof Function&&this.plugins[e].destroy()})),this.playerEvents.forEach((e=>{this.elements.container.removeEventListener(e.type,e.listener)})),this.elements.container.remove()}}const a={html5:function(e){return class extends e{constructor(e){super(e),this.events=[{type:"timeupdate",listener:super.onTimeUpdate},{type:"ended",listener:super.onMediaEnded},{type:"playing",listener:this.onPlaying},{type:"waiting",listener:this.onWaiting},{type:"seeking",listener:this.onSeeking},{type:"seeked",listener:this.onSeeked}]}init(){this.waitUntilVideoIsReady().then((()=>{this.addSpecificEvents(),super.onReady()}))}waitUntilVideoIsReady(){return new window.Promise((e=>{this.media.readyState>=2&&this.media.duration?e():(this.media.addEventListener("loadedmetadata",e,{once:!0}),this.media.addEventListener("canplay",e,{once:!0}))}))}addSpecificEvents(){this.events.forEach((e=>{this.media.addEventListener(e.type,e.listener.bind(this))}))}getInstance(){return this.media}getCurrentTime(){return new window.Promise((e=>e(this.media.currentTime)))}getDuration(){return new window.Promise((e=>e(this.media.duration)))}methodPlay(){this.media.play()}methodPause(){this.media.pause()}methodSetVolume(e){this.media.volume=e}methodGetVolume(){return new window.Promise((e=>e(this.media.volume)))}methodMute(){this.media.muted=!0,this.media.setAttribute("muted","")}methodUnMute(){this.media.muted=!1,this.media.removeAttribute("muted")}methodSeekTo(e){this.media.currentTime=e}onWaiting(){this.loading(!0)}onPlaying(){this.loading(!1)}onSeeking(){this.loading(!0)}onSeeked(){this.loading(!1)}removeSpecificEvents(){this.events.forEach((e=>{this.media.removeEventListener(e.type,e.listener)}))}destroy(){this.removeSpecificEvents(),super.destroy()}}}},l={},c={},d={};const h={audio:{controls:!0,autoplay:!1,playPause:!0,progressBar:!0,time:!0,volume:!0,loop:!1},video:{controls:!0,autoplay:!1,playPause:!0,progressBar:!0,time:!0,volume:!0,fullscreen:!0,poster:null,bigPlay:!0,playsinline:!0,loop:!1,muted:!1,autoHide:!1,autoHideDelay:3e3,providerParams:{}}};class u{constructor(e,{options:t={},provider:s="html5",plugins:i=[],onReady:n=(()=>{})}={}){if("string"==typeof e)this.media=document.querySelector(e);else{if(!(e instanceof HTMLVideoElement||e instanceof HTMLAudioElement||e instanceof HTMLDivElement))throw new TypeError("vlitejs :: The element or selector supplied is not valid.");this.media=e}this.provider=s,this.onReady=n,this.type=this.media instanceof HTMLAudioElement?"audio":"video",this.supportFullScreen=function(){const e=document.exitFullscreen instanceof Function?"":["webkit","moz","ms"].find((e=>document[e+"ExitFullscreen"]instanceof Function||document[`${e}CancelFullScreen`]instanceof Function))||"";return{requestFn:e?`${e}RequestFullScreen`:"requestFullscreen",cancelFn:e?`${e}ExitFullscreen`:"exitFullscreen",changeEvent:e?`${e}fullscreenchange`:"fullscreenchange",isFullScreen:e?`${e}FullscreenElement`:"fullscreenElement"}}(),["autoplay","playsinline","muted","loop"].forEach((e=>{this.media.hasAttribute(e)?t[e]=!0:t[e]&&this.media.setAttribute(e,"")})),this.options=Object.assign(Object.assign({},h[this.type]),t),this.autoHideGranted="video"===this.type&&!!this.options.autoHide&&!!this.options.controls,/(iPhone)/gi.test(window.navigator.userAgent)&&(this.options.fullscreen=!1),this.onClickOnPlayer=this.onClickOnPlayer.bind(this),this.onDoubleClickOnPlayer=this.onDoubleClickOnPlayer.bind(this),this.onKeydown=this.onKeydown.bind(this),this.onMousemove=this.onMousemove.bind(this),this.onChangeFullScreen=this.onChangeFullScreen.bind(this);const r=function(e,t){const s=a[e];if(s)return s(t,l[e]);throw new Error(`vlitejs :: Unknown provider "${e}"`)}(s,o);this.wrapElement(),this.container=this.media.closest(".v-container"),this.outerContainer=this.container.closest(".v-vlite"),"video"===this.type&&this.renderLayout(),this.player=new r({type:this.type,Vlitejs:this}),this.player.build(),this.addEvents(),function({plugins:e,provider:t,type:s,player:i}){(function(e){const t=[],s=Object.keys(c);return e.forEach((e=>{if(!s.includes(e))throw new Error(`vlitejs :: Unknown plugin "${e}".`);t.push({id:e,Plugin:c[e],options:d[e]})})),t})(e).forEach((({id:e,Plugin:n,options:r})=>{const o=new n({player:i,options:r});if(i.plugins[e]=o,!o.providers.includes(t)||!o.types.includes(s))throw new Error(`vlitejs :: The "${e}" plugin is only compatible with providers:"${o.providers}" and types:"${o.types}"`);o.init()}))}({plugins:i,provider:s,type:this.type,player:this.player})}wrapElement(){const e=document.createElement("div");e.classList.add("v-vlite","v-firstStart","v-paused","v-loading",`v-${this.type}`);const t=document.createElement("div");t.setAttribute("tabindex","0"),t.classList.add("v-container"),e.appendChild(t),this.media.parentNode.insertBefore(e,this.media),t.appendChild(this.media)}renderLayout(){const e=`\n\t\t\t<div class="v-overlay"></div>\n\t\t\t\n\t\t<div class="v-loader">\n\t\t\t<div class="v-loaderContent">\n\t\t\t\t<div class="v-loaderBounce1"></div>\n\t\t\t\t<div class="v-loaderBounce2"></div>\n\t\t\t\t<div class="v-loaderBounce3"></div>\n\t\t\t</div>\n\t\t</div>\n\t\n\t\t\t${this.options.poster?function({posterUrl:e=""}){return`<div class="v-poster v-active"${e&&` style="background-image: url(${e})"`}></div>`}({posterUrl:this.options.poster}):""}\n\t\t\t${this.options.bigPlay?'<button class="v-bigPlay"><svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M10 0C4.48 0 0 4.48 0 10s4.48 10 10 10 10-4.48 10-10S15.52 0 10 0ZM7.5 12.67V7.33c0-.79.88-1.27 1.54-.84l4.15 2.67a1 1 0 0 1 0 1.68l-4.15 2.67c-.66.43-1.54-.05-1.54-.84Z"/></svg></button>':""}\n\t\t`;this.container.insertAdjacentHTML("beforeend",e)}addEvents(){"video"===this.type&&(this.container.addEventListener("click",this.onClickOnPlayer),this.container.addEventListener("dblclick",this.onDoubleClickOnPlayer),this.autoHideGranted&&this.container.addEventListener("mousemove",this.onMousemove),document.addEventListener(this.supportFullScreen.changeEvent,this.onChangeFullScreen)),this.container.addEventListener("keydown",this.onKeydown)}onClickOnPlayer(e){const t=e.target;i({target:t,selectorString:".v-poster, .v-overlay, .v-bigPlay",nodeName:["div","button"]})&&(this.player.controlBar.togglePlayPause(e),t.matches(".v-bigPlay")&&this.container.focus())}onDoubleClickOnPlayer(e){i({target:e.target,selectorString:".v-overlay",nodeName:["div"]})&&this.player.controlBar.toggleFullscreen(e)}onKeydown(e){const t=document.activeElement,{keyCode:s}=e;[9,32,37,39].includes(s)&&this.autoHideGranted&&(t===this.container||(null==t?void 0:t.closest(".v-vlite")))&&(this.stopAutoHideTimer(),this.startAutoHideTimer()),![37,39].includes(s)||t!==this.container&&t!==this.player.elements.progressBar||(e.preventDefault(),37===s?this.fastForward("backward"):39===s&&this.fastForward("forward")),![38,40].includes(s)||t!==this.container&&t!==this.player.elements.volume||(38===s?this.increaseVolume():40===s&&this.decreaseVolume()),32===s&&t===this.container&&this.player.controlBar.togglePlayPause(e)}onMousemove(){!this.player.isPaused&&this.autoHideGranted&&(this.stopAutoHideTimer(),this.startAutoHideTimer())}onChangeFullScreen(){!document[this.supportFullScreen.isFullScreen]&&this.player.isFullScreen&&this.player.exitFullscreen({escKey:!0})}fastForward(e){this.player.getCurrentTime().then((t=>{this.player.seekTo("backward"===e?t-5:t+5)}))}increaseVolume(){this.player.isMuted&&this.player.unMute(),this.player.getVolume().then((e=>{this.player.setVolume(Math.round(10*(e+.1))/10)}))}decreaseVolume(){this.player.getVolume().then((e=>{this.player.setVolume(Math.round(10*(e-.1))/10)}))}stopAutoHideTimer(){"video"===this.type&&this.player.elements.controlBar&&(this.player.elements.controlBar.classList.remove("v-hidden"),clearTimeout(this.timerAutoHide))}startAutoHideTimer(){"video"===this.type&&!this.player.isPaused&&this.player.elements.controlBar&&(this.timerAutoHide=window.setTimeout((()=>{this.player.elements.controlBar.classList.add("v-hidden")}),this.options.autoHideDelay))}removeEvents(){this.container.removeEventListener("keydown",this.onKeydown),"video"===this.type&&(this.container.removeEventListener("click",this.onClickOnPlayer),this.container.removeEventListener("dblclick",this.onDoubleClickOnPlayer),this.autoHideGranted&&this.container.removeEventListener("mousemove",this.onMousemove),window.removeEventListener(this.supportFullScreen.changeEvent,this.onChangeFullScreen))}destroy(){this.removeEvents(),this.player.destroy(),this.player.controlBar.destroy()}}u.registerProvider=function(e,t,s){if(void 0!==t){if(!Object.keys(a).includes(e))return a[e]=t,void(s&&(l[e]=s));throw new Error(`vlitejs :: The provider id "${e}" is already registered.`)}throw new Error(`vlitejs :: The provider id "${e}" is undefined.`)},u.registerPlugin=function(e,t,s){if(void 0!==t){if(!Object.keys(c).includes(e))return c[e]=t,void(s&&(d[e]=s));throw new Error(`vlitejs :: The plugin id "${e}" is already registered.`)}throw new Error(`vlitejs :: The plugin id "${e}" is undefined.`)};const p={version:"247",apiDomain:"https://pp-lm.vzbl.eu",wsdQueryParam:"withsponsored"};class v{constructor(){e(this,"log",((e,t="L")=>{"d"===this.wsd&&console.log(`%cvZb-${t}`,"color: cyan",e)})),e(this,"wrn",((e,t="?")=>{"d"===this.wsd&&console.warn(`%cvZb-W-${t}`,"color: red",{error:e})})),e(this,"al",(e=>{if(e&&!String(e).includes("available"))return this.log(e,"D-va"),String(e);const t=window.tc_vars;if(t){const e=t.cdl_user_email_md5;if(this.log(e,"D-a"),e&&!String(e).includes("available"))return String(e)}})),e(this,"who",(e=>e.host.includes(".it")?"LMIT":e.host.includes(".es")?"LMES":e.host.includes(".pl")?"LMPL":e.host.includes(".pt")?"LMPT":"LMFR")),e(this,"request",((e=!1,s=!1)=>{const i={};s&&(this.msg={});try{this.wsd&&(e=!0);const s=this.visit;i.typ=s.placement,["search","plp","pdp","home","hub"].includes(i.typ)||(this.msg.badPageType=String(i.typ));const n=document.querySelector("ul.l-resultsList");"hub"===i.typ&&n&&n.children.length&&(i.typ="plp"),i.req=t.nanoid(),i.ver=p.version,i.sto=s.store||t.getCookie("store_id"),i.wsd=this.wsd,i.slots=[],this.ci.alias=this.al(s.alias),Object.assign(i,this.ci);let r=0;if(["search","plp"].includes(i.typ)){i.kwd=s.search_terms||void 0,i.word=t.slugify(i.kwd),"search"!==i.typ||i.kwd||(this.msg.noSearchKeyword=String(i.kwd));const e=n;e?r=this.maxPos(e):this.msg.noParentNode="ul.l-resultsList";const o=t.getUrlParam("sort");null!==o&&"relevance"!==o&&(this.msg.badSort=String(o)),t.getUrlParam("filters")&&(this.msg.badFilters=String(t.getUrlParam("filters"))),i.pn=this.getPage(),i.srn=0;const a=document.querySelector(".km-sorting__numbers");a&&(i.srn=Math.min(Number(a.innerHTML.replace(/\D/g,"")),1e4),i.srn<1&&(this.msg.noPageResults=String(navigator.userAgent)))}const o=[];if(window.tc_vars){const e=window.tc_vars;if(["search","plp"].includes(i.typ)&&(i.res=(e.cdl_products_list||[]).filter((e=>!e.product_is_sponsored&&!e.zone_id)).map((e=>e.sku))),["plp","pdp","hub"].includes(i.typ)){const t="cdl_page_resource";if(e[t]&&e[t].id){const s=e[t];i.rid=s.id,i.rty=s.type||null,i.rsc=s.scope||null}const s=[];let n=1;const r="cdl_page_category";for(;e[`${r}${n}_id`]&&""!==e[`${r}${n}`];)s.push(`${e[`${r}${n}_id`]}_${e[`${r}${n}`]}`),n>2&&o.push(e[`${r}${n}_id`]),n++;0===s.length&&i.rid&&"hub"===i.typ&&s.push(`${i.rid}_${e.cdl_page_name}`),i.hie=s.join("/")}["pdp"].includes(i.typ)&&(s.product&&(s.product.rating||s.product.reviews)&&(i.par=s.product.rating,i.pnr=s.product.reviews),["par","pnr"].forEach((e=>{Array.isArray(i[e])&&!isNaN(i[e][0])&&(i[e]=i[e][0])})))}if("pdp"===i.typ){i.pid=s.product?s.product.id:null,i.pid?this.prz&&this.prz.add(i.pid):this.msg.noPdpId=String(i.pid),this.prz&&this.prz.size&&(i.prz=[...this.prz]),o.length?i.cats=o.reverse():this.msg.noPdpCategories=String(i.hie);const e='[data-zone-id="ZFP5"],#component-displaycomp,#footer,#component-genericFooter';document.querySelector(e)||(this.msg.noFooterNode=e),["LMPL","LMPT"].includes(this.ci.retailer)||i.slots.push({id:"sp-bottom",max:10,fill:0})}["plp","hub"].includes(i.typ)&&(i.cat=s.category||i.rid,i.cat||(this.msg.noPlpCategory=String(i.cat))),["plp","search"].includes(i.typ)&&(i.prz=[...document.querySelectorAll("[data-vzbl-id].vzbl-i")].filter((e=>Boolean(e.dataset.reflm))).map((e=>e.dataset.reflm)),r>0&&(this.cIds(i),i.slots.push({id:"sd",fill:0,max:r}))),e&&!Object.keys(this.msg).length&&!this.trackPage&&document.querySelector(".js-list-container")&&(this.trackPage=new MutationObserver((e=>{const t=this.getPage();t!==i.pn&&(this.log(`page changed ${i.pn} => ${t}`),i.pn=t,this.trackS2S(),this.request(!0))})),this.trackPage.observe(document.querySelector(".js-list-container"),{subtree:!0,childList:!0}))}catch(e){this.msg.c3=e.message,this.wrn(e,"c3")}Object.keys(this.msg).length&&(i.err=this.msg,e=!1,i.slots=[]),i.srv=e,t.apiCall(p.apiDomain+"/v/_deliver",i,i.srv?this.display:null),this.log({srv:e,...this.msg,bdy:i},"R")})),e(this,"purchase",(e=>{const s={};s.raw=JSON.stringify(e),s.reference=e.purchase_id||e.reference?String(e.purchase_id||e.reference):void 0,s.currency=e.currency?String(e.currency):"EUR",s.version=p.version;let i=[];if(window.tc_vars){const e=window.tc_vars;e.cdl_cart_products&&(i=e.cdl_cart_products,Array.isArray(i)||(i=[]))}e.items&&e.items.length?s.items=e.items.map((e=>({sku:e.sku||e.product_id?String(e.sku||e.product_id):void 0,price:Number(e.price),quantity:Number(e.quantity),offer_id:e.offer_id?String(e.offer_id):void 0,seller:e.seller?String(e.seller):void 0,seller_id:e.seller_id?String(e.seller_id):void 0,brand:e.brand?String(e.brand):void 0}))):s.items=i.filter((e=>!e.type||String(e.type).toLowerCase().includes("product"))).map((e=>({sku:e.sku,price:Number(String(e.unitprice_ati).replace(",",".")),quantity:Number(e.quantity),offer_id:e.offer?e.offer.offer_id:void 0,seller:e.seller,seller_id:e.seller_id}))),this.ci.alias=this.al(e.alias),t.apiCall(p.apiDomain+"/v/_purchase",Object.assign(s,this.ci))})),e(this,"cart",(e=>{(e.sku||e.items&&e.items.length)&&(e.cart_id?e.id=String(e.cart_id):e.id=t.nanoid(),this.ci.alias=this.al(e.alias),t.apiCall(p.apiDomain+"/v/_cart",Object.assign(e,this.ci)))})),e(this,"cap",((e,t="d")=>{try{const[s,i]=(e||"").split("|");if(s&&i){const n=window.localStorage;let r=0,o={};const a=Date.now();let l=n.getItem("vzb_c");if(l&&(o=JSON.parse(l),o&&(Object.keys(o).forEach((e=>{a>o[e].e&&(this.wrn(`${e} expired: ${a} > ${o[e].e}`,"cap-e"),delete o[e])})),o[s]&&(r=o[s].c))),this.log(`${e}: ${r}`,"cap"),!(r<Number(i)))return this.wrn(`${e}: HIT ${r}`,"cap-h"),!0;s[0]===t&&(o[s]?o[s].c++:o[s]={c:1,m:Number(i),e:a+864e5},n.setItem("vzb_c",JSON.stringify(o)))}}catch(e){this.wrn(e,"cap")}return!1})),e(this,"cIds",(e=>{try{const t=[],s=window.localStorage,i=Date.now();let n=s.getItem("vzb_c");if(n){const e=JSON.parse(n);if(e){let n=!1;Object.keys(e).forEach((s=>{i>e[s].e?(this.wrn(e[s],`${s} exp`),delete e[s],n=!0):e[s].m&&e[s].c>=e[s].m&&t.push(s.substring(2))})),n&&s.setItem("vzb_c",JSON.stringify(e))}}t.length&&(this.log(t,"cIds"),e.c_ids=t)}catch(e){this.wrn(e,"cIds")}return!1})),e(this,"display",(e=>{if(!this.i18n[this.ci.retailer])return void this.wrn("Bad retailer");let t=0;const s={};if((e.slots||[]).forEach((e=>{e.fill&&(s[e.id]=e,t=1)})),Object.keys(s).length){const e=s["sp-bottom"];e&&this.dspSlider(e.products,e.css);const t={ins:0},i=s.sd;i&&this.dspSD(i.banners,i.css,t)}t&&"dnt"!==this.wsd&&this.trackDisplay(),this.log({dsp:document.querySelectorAll(".vzbl-v").length,...this.msg,s:e.slots},"D")})),e(this,"dspSlider",((e,t=null)=>{if(!e||e.length<4)return void this.wrn({p:e.length},"D-sld p < 4");const s=document.querySelector('[data-zone-id="ZFP5"],#component-displaycomp,#footer,#component-genericFooter');if(!s)return;const i="vZb-SL1";t&&(this.addCss(t.style),this.addLink(t.link,t.link_bkp,i));const n=this.htmlSlider(i),r=`<button class="mc-button mc-button--m@from-xl mc-button--bordered mc-button--s mc-button--full"><span class="mc-button__label">${this.i18n[this.ci.retailer].btn}</span></button>`,o=n.querySelector(".kl-swiper__slider");e.sort(((e,t)=>e.index-t.index)).forEach((e=>{const t=document.createElement("li");t.className="kl-swiper__slider-item m-carousel--item recommendation-slider__item"+(e.perf?" vzbl-v":" vzbl-d vzbl-v"),t.style.borderBottom="0px",t.dataset.vzblId=e.beacon,t.dataset.cerberus="sponsored-product-sticker",t.innerHTML=this.htmlPlot(e,"slider",r),o.insertAdjacentElement("beforeend",t),this.trackView&&(this.bag.add(t.dataset.vzblId),this.trackView.observe(t))})),s.insertAdjacentElement("beforebegin",n),this.log({pos:s,sId:i},"D-sld"),this.initSlider(i)})),e(this,"dspSD",((e,t=null,s={ins:0})=>{const i=document.querySelector("ul.l-resultsList");i&&e&&e.length&&(i.liChildren=[...i.children].filter((e=>"script"!==e.nodeName.toLowerCase())),e.forEach((({slot:e,creative:n,products:r})=>{const o=n.video_file?0:n.background_image?1:null;if(null===o||!r.length||this.cap(n.c_key))return;const a=s.ins,l=`vZb-v${a}`,c=`${l}-sl`;t&&(t.style&&this.addCss(t.style,"vZb-VID-sty"),t.link&&this.addLink(t.link,null,c));const d=this.htmlVideo(n,r,l,c);let h=this.insPos(a);this.insAt(i,d,h,this.getBZ(i)),s.ins++,this.log(`--\x3e ${e} inserted at pos ${h.pos} | index: ${a}`,"D-v"),o?this.trackView&&(this.bag.add(n.beacon),this.trackView.observe(d)):this.initVideo(l,n),this.initSlider(c);const u=()=>{const e=this.size();document.querySelectorAll(".v-sl").forEach((t=>{const s=t.querySelectorAll(".vzbl-p-img .op");s.length&&s.forEach((s=>{s.style.height="S"===e?t.offsetHeight-1+"px":""}))}))};u(),window.addEventListener("resize",(()=>{u();const e=this.insPos(a);e.fromPos=Number(d.dataset.vzblP),e.fromLiPos=Number(d.dataset.vzblLiP),e.fromSize=d.dataset.vzblSz;const t=this.bzExtraPos(i,e.pos),s=this.moveDown(e,t);e.liPos=e.pos-t+s,e.fromSize===e.size||e.fromPos===e.pos&&e.fromLiPos===e.liPos||(this.insAt(i,d,e,this.getBZ(i)),this.initSlider(c,!0))}),!0)})))})),e(this,"size",(()=>{const e=window.innerWidth;return e<680?"S":e<1024?"M":e<1280?"L":e<1920?"XL":"XXL"})),e(this,"insPos",((e=0,t="")=>{const s=t||this.size();return"S"===s?{pos:e>1?25:e?17:9,size:s}:"M"===s?{pos:e?11:7,size:s}:{pos:e?14:9,size:s}})),e(this,"maxPos",(e=>{const t=e.querySelectorAll("li.col-m-4").length+2*e.querySelectorAll("li.col-m-8, div.col-m-8").length,s=this.size();return"S"===s&&t>=this.insPos(2,s).pos?3:t>=this.insPos(1,s).pos?2:t>=this.insPos(0,s).pos?1:0})),e(this,"bzExtraPos",((e,t)=>"S"!==this.size()?this.getBZ(e).filter((e=>e.pos<t)).length:0)),e(this,"liPos",((e,t)=>{let s=1+Array.prototype.indexOf.call(e.children,t);const i=this.getBZ(e,"script");return s-=i.filter((e=>e.pos<s)).length,s})),e(this,"moveDown",((e,t)=>e.fromLiPos&&e.pos-t>e.fromLiPos?1:0)),e(this,"trackClick",(()=>{document.addEventListener("click",(e=>{const s=e.target.closest(".vzbl-v");if(s&&s.dataset.vzblId){const e=s.dataset.vzblId;t.emit(p.apiDomain+"/v/_event/click",Object.assign({evt:[e]},this.ci,this.vlz)),this.log("click","E"),s.classList.contains("vZv")&&(s.dataset.vzblId="")}}))})),e(this,"trackDisplay",(()=>{const e=new Set;document.querySelectorAll("[data-vzbl-id].vzbl-d").forEach((t=>{t.dataset.vzblId&&e.add(t.dataset.vzblId)})),e.size&&(t.emit(p.apiDomain+"/v/_event/display",Object.assign({evt:[...e]},this.ci)),this.log(`${e.size} C2s display`,"E"))})),e(this,"trackS2S",(()=>{const e=new Set;document.querySelectorAll("[data-vzbl-id]:not(.vzbl-i)").forEach((t=>{if(t.dataset.vzblId){t.dataset.position&&(t.dataset.vzblId+=`|${t.dataset.position}`),t.classList.add("vzbl-i"),e.add(t.dataset.vzblId),this.trackView&&(t.classList.add("vzbl-v"),this.bag.add(t.dataset.vzblId),this.trackView.observe(t));const s=t.querySelector("a[data-reflm]");s&&this.prz&&this.prz.add(s.dataset.reflm)}})),e.size&&(t.emit(p.apiDomain+"/v/_event/display",Object.assign({evt:[...e]},this.ci)),this.log(`${e.size} s2s display`,"E"))})),this.cc=0,this.i18n={priceFrm:(e,t="€")=>Number(e).toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g," ")+` ${t}`,discountFrm:(e,t,s="€")=>e-t>15?(e-t).toFixed(2)+` ${s}`:(100*(1-t/e)).toFixed(0)+" %",LMFR:{sp:"Sponsorisé",sel:"Vendu par",btn:"Voir le produit",slH:"Sponsorisés par nos partenaires",st:"avis",sts:"avis"},LMES:{sp:"Patrocinado",sel:"Vendido por",btn:"Ver el producto",slH:"Recomendado por nuestras marcas",st:"opinión",sts:"opiniones"},LMIT:{sp:"Sponsorizzato",sel:"Venduto da",btn:"Visualizza il prodotto",slH:"Sponsorizzato dai nostri partner",st:"recensione",sts:"recensioni"},LMPL:{sp:"Sponsorowane",sel:"Sprzedawane przez",btn:"Zobacz produkt",slH:"Sponsorowane przez naszych partnerów",st:"opinia",sts:"opinia",currency:"zł"},LMPT:{sp:"Patrocinado",sel:"Vendido por",btn:"Ver o produto",slH:"Patrocinado pelos nossos parceiros",st:"avaliação",sts:"avaliações"}},this.visit={placement:"",alias:"",category:"",search_terms:"",store:"",product:{id:"",rating:"",reviews:""}},this.msg={};try{this.ci=t.getClientInfo(),this.vlz={};const e=window.location;if(this.ci.retailer=this.who(e),this.ci.prod=/^www\.leroymerlin/.test(e.host),"LMFR"!==this.ci.retailer){const e=this.ci.prod?"s-":"";p.apiDomain=p.apiDomain.replace("pp-lm",`${e}${this.ci.retailer.toLowerCase()}`)}let s="";try{const t=window.localStorage;if(e.search.includes(p.wsdQueryParam)){s=new URLSearchParams(e.search).get(p.wsdQueryParam),"d"===s&&t.setItem("vzb_wsd","d"),"r"===s&&t.removeItem("vzb_wsd")}this.wsd=s||t.getItem("vzb_wsd")}catch(e){this.wrn(e,"wsd")}this.prz=new Set;const i=navigator.userAgent;i.indexOf("MSIE ")>-1||i.indexOf("Trident/")>-1||!("IntersectionObserver"in window)?this.msg.badBrowser=String(i):(this.bag=new Set,"dnt"!==this.wsd&&(this.ci.alias=this.al(),this.trackView=new IntersectionObserver((e=>{e.forEach((e=>{if(e.intersectionRatio>.5){const s=e.target.closest(".vzbl-v");s&&s.dataset.vzblId&&this.bag.has(s.dataset.vzblId)&&(t.emit(p.apiDomain+"/v/_event/view",Object.assign({evt:[s.dataset.vzblId]},this.ci,this.vlz)),this.log("view","E"),this.trackView.unobserve(e.target),s.dataset.cKey&&this.cap(s.dataset.cKey,"v"))}}))}),{threshold:[.5]}),this.trackS2S(),this.trackClick()))}catch(e){this.msg.c1=e.message,this.wrn(e,"c1")}}insAt(e,t,s,i){s.size=this.size();const n="S"!==s.size?i.filter((e=>e.pos<s.pos)).length:0,r=this.moveDown(s,n),o=s.pos-n+r,a=e.liChildren[o-1];e.insertBefore(t,a),t.dataset.vzblP=s.pos,t.dataset.vzblSz=s.size,t.dataset.vzblLiP=this.liPos(e,t),a&&s.bz&&!s.fromPos&&i.forEach((t=>{t.pos>=s.pos-n&&(t.pos=t.pos-s.bz+1,e.insertBefore(t.node,e.liChildren[t.pos-1]))})),e.liChildren=[...e.children].filter((e=>"script"!==e.nodeName.toLowerCase()))}htmlPlot(e,t="sp",s="",i=!0,n=""){const r=this.i18n,o=r[this.ci.retailer],a=o.currency||"€",l=`<img alt="${e.title}" class="kl-tile__figure" ${"slider"===t?'style="max-width:230px"':""} src="${e.image_link}">${n&&"r916"!==n?'<div class="op"></div>':""}`,c=`<span class="js-main-price" aria-hidden="true" data-cerberus="ELEM_PRIX">${r.priceFrm(e.price,a)}</span>`,d=e.unit?`<span class="km-main-price__unit" aria-hidden="true">/ ${e.unit}</span>`:"",h=e.stroke_price&&!n?`<div class="km-price"><div class="mc-flag mc-flag--solid-danger"><span class="mc-flag__label"> - ${r.discountFrm(e.stroke_price,e.price,a)}</span></div></div>`:"",u=e.stroke_price?`${h}<p class="km-price__from"><span class="km-price__from-without-offer">${r.priceFrm(e.stroke_price,a)}</span></p>`:"",p=`<div class="kl-blade kl-blade--price"><div class="kl-price kl-price--light${u?" kl-price--discount":""}">${u}<p class="km-main-price">${c} ${d}</p></div></div>`,v=i?`<div style="font-size:.7rem;color:#554f52;position:relative;right:0;top:-7px">${o.sp}</div>`:"",m=e.image_brand?`<img alt="${e.brand}" class="kl-tile__brand-image" src="${e.image_brand}">`:"",g=m&&n&&"r916"!==n||i?`<div class="kl-group-blades kl-group-blades--inline"><div class="kl-blade kl-blade--brand">${m}</div>${v}</div>`:"",y=e.seller&&"sp"===t&&!n?`<div class="kl-blade kl-blade--vendor">${o.sel} <span class="kl-blade--vendor__name" data-cerberus="ELEM_vendorName">${e.seller}</span></div>`:"",b="sp"===t&&e.flags&&e.flags.length?e.flags.map((e=>'<p class="ka-list-check-text stock-status_text"><span class="stock-status_badge stock-status_badge--green"></span><span class="stock-status_label">__FLG__</span></p>'.replace("__FLG__",o[e]))).join(""):"",w="sd"===t?"</div>":"",f=`<div class="kl-group-blades kl-group-blades--block">${p}${y}${b?`<div class="kl-blade kl-blade--delivery">${b}</div>`:""}</div>`;return`<article class="kl-tile ${"slider"===t?"kl-tile--v "+(s?"kl-tile--button-bottom":""):"sd"===t?"":"kl-tile--h-to-v"}">${"sd"===t?'<div class="vzbl-prd kl-tile--h-to-v">':""}${`<div class="kl-tile__group vzbl-p-img"><div class="kl-group-blades kl-group-blades--block">${n&&"r916"===n?'<div class="opV"></div>':""}<div class="kl-blade kl-blade--figure">${l}</div></div></div>`}${`<div class="kl-tile__group vzbl-p-info kl-tile__group--second"><div>${g}${`<div class="kl-group-blades kl-group-blades--block">${`<div class="kl-blade">${`<a href="${new URL(e.link).pathname+(e.seller&&e.oid?`?highlightedOfferCode=${e.oid}`:"")}" class="kl-tile-link">`}<p class="km-tile-designation">${e.title}</p></a></div>`}${this.stars(e,!!n)}</div>`}${f}</div>${n?s:""}</div>`}${w}${n?"":s}</article>`}stars(e,t=!1){if(e.rating&&e.reviews){const s=this.i18n[this.ci.retailer],i=1===e.reviews?s.st:s.sts,n=t?"":`<p class="mu-ml-050">${e.reviews} ${i}</p>`;return`<div class="kl-blade kl-blade--reviews"><div class="mc-stars-result mc-stars-result--score-${e.rating} mc-stars-result--s"><span class="mc-stars-result__visual" aria-hidden="true"></span></div>${n}</div>`}return""}htmlCTA(e="xl"){return`<button class="mc-button mc-button--m@from-${e} mc-button--bordered mc-button--s mc-button--full"><span class="mc-button__label">${this.i18n[this.ci.retailer].btn}</span></button>`}htmlVideo(e,t,s,i){const n=document.createElement("li");n.dataset.vzblId=e.beacon,e.c_key&&"v"===e.c_key[0]&&(n.dataset.cKey=e.c_key),n.dataset.cerberus="sponsored-product-sticker";let r="9:16"===e.aspect_ratio?"r916":"";if(n.className=`vZv col-container-inner col-12 ${r} `+(e.perf?" vzbl-v":" vzbl-d vzbl-v"),!e.brand){const s=t.find((e=>e.brand));e.brand=s?s.brand:""}const o=e.video_file,a=e.background_image;let l=`<div id="${i}" class="v-sl" ${e.auto_slide||(o?0:a?1:0)?'data-auto-slide="y"':""}><section class="kl-swiper__slider-container">\n<nav class="kl-swiper__controls" aria-label="Carousel navigation"> <button type="button" class="ka-nav-button ka-nav-button--hidden ka-nav-button--l" data-controls="prev"><svg aria-hidden="true" class="ku-icon-16"><use href="#Navigation_Arrow_Arrow--Left_16px"></use></svg></button> <button type="button" class="ka-nav-button ka-nav-button--hidden ka-nav-button--l" data-controls="next"><svg aria-hidden="true" class="ku-icon-16"><use href="#Navigation_Arrow_Arrow--Right_16px"></use></svg></button> </nav>\n<div class="kl-swiper"><ul class="o-products kl-swiper__slider"></ul></div></section></div>`;const c=e.href_link,d=e.headline,h=e.brand_image;if(r&&d&&h){const t=c?`<a href="${c}" class="expand"><p>${d}</p></a>`:`<p>${d}</p>`;l=`<div class="sl-brand"><div class="vZv__brand axp"><img src="${h}" alt="Logo marque ${e.brand}">${t}</div>${l}</div>`}let u=`<div class="vZv__video col-12 ${r?"col-m-4 col-l-3":"col-m-5 col-l-6"}" ${c?`data-link="${c}"`:""}><video id="${s}" playsInline muted preload="auto" src="${o}" style="visibility: hidden"/></div>`;if(!o&&a){const t=d?`<p>${d}</p>`:"",s=e.text_link,i=s?"":'style="margin-top:0"',n=c?`<a href="${c}" ${i} class="expand" ${h?"aria-label":"title"}="${s||""}">${s||" "}</a>`:"";u=`\n<div class="vZv__video col-12 col-m-5 col-l-6">\n <div class="vZfb__branding axp">\n <div class="v-poster v-active" style="background-image: url(${a})"></div>\n ${h?`<div class="vZfb__brand"><img src="${h}" alt="Logo marque ${e.brand}">${t}${n}</div>`:n}\n </div>\n</div>`}n.innerHTML=`<div role="heading" aria-level="2" class="kl-hidden-accessibility">Contenu sponsorisé</div>${u}<section class="vZv__slider col-12 ${t.length<3?"one":""} ${r?"col-m-8 col-l-9":"col-m-7 col-l-6 one"}">${l}</section>`;const p=n.querySelector(".kl-swiper__slider");return t.sort(((e,t)=>e.index-t.index)).forEach((e=>{const t=document.createElement("li");t.className="m-carousel--item",t.innerHTML=this.htmlPlot(e,r?"slider":"sd",this.htmlCTA("xxl"),!1,"r916"===r?"r916":"r169"),p.insertAdjacentElement("beforeend",t)})),n}initVideo(e,s){const i=document.getElementById(e);if(!i)return;const n=i.closest(".vZv__video");n&&(n.addEventListener("click",(t=>{if("BUTTON"!==t.target.tagName)if(n.dataset.link)window.location.href=n.dataset.link;else{const t=document.querySelector(`#${e}-sl .kl-tile-link`);t&&t.click()}})),new u(i,{options:{autoHide:"S"!==this.size(),fullscreen:!1,time:!0,progressBar:!1,playPause:!1,bigPlay:!1,loop:s.video_in_loop||!1,poster:s.video_thumb,muted:!0},onReady:n=>{let r=0,o=!1,a=!1;const l={view_s2:0,view_s5:0,view_q1:0,view_m:0,view_q3:0,unmute:0},c=new IntersectionObserver((e=>{e.forEach((e=>{if(e.intersectionRatio>.5){if(i.style.removeProperty("visibility"),n.play(),"dnt"!==this.wsd&&!o){const s=e.target.closest(".vzbl-v");s&&s.dataset.vzblId&&this.bag.has(s.dataset.vzblId)&&(t.emit(p.apiDomain+"/v/_event/view",Object.assign({evt:[s.dataset.vzblId]},this.ci,this.vlz)),this.log("view","vF"),s.dataset.cKey&&this.cap(s.dataset.cKey,"v"),o=!0)}}else n.pause()}))}),{threshold:[.5]});this.bag.add(s.beacon),c.observe(n.media),this.log(`Video ${e} observe`,"v"),n.on("play",(()=>{this.log(`Video ${e} play (loop: ${n.media.loop})`,"v")})),n.on("timeupdate",(()=>{a||n.getDuration().then((i=>{const o=Math.round(100*n.media.currentTime/i);if(o>r+1){const a=Math.floor(n.media.currentTime);o>=75&&!l.view_q3?l.view_q3=1:o>=50&&!l.view_m?l.view_m=1:o>=25&&!l.view_q1&&(l.view_q1=1),a>=5&&!l.view_s5?l.view_s5=1:a>=2&&!l.view_s2&&(l.view_s2=1),Object.keys(l).forEach((n=>{1===l[n]&&(this.log(`Video ${e} ${n} progress: ${o}% | ${a} / ${i}s`,"vP"),t.emit(p.apiDomain+`/v/_event/${n}`,Object.assign({evt:[s.beacon],view_progress:o,view_time:a},this.ci)),l[n]=2)})),r=o}o<r&&n.media.loop&&(this.log(`The Loop Video ${e} ended`,"vF"),t.emit(p.apiDomain+"/v/_event/view_f",Object.assign({evt:[s.beacon]},this.ci)),a=!0)}))})),n.on("volumechange",(()=>{l.unmute||(this.log(`Video ${e} unmuted`,"vF"),t.emit(p.apiDomain+"/v/_event/unmute",Object.assign({evt:[s.beacon]},this.ci)),l.unmute=2)})),n.on("ended",(()=>{this.log(`The Video ${e} ended`,"vF"),t.emit(p.apiDomain+"/v/_event/view_f",Object.assign({evt:[s.beacon]},this.ci)),a=!0,n.media.loop||(this.log(`Video ${e} unobserve`,"v"),c.unobserve(n.media))}))}}))}htmlSlider(e){const t=document.createElement("section");t.id=e;const s=this.i18n[this.ci.retailer].slH;return t.className="recommendation recommendation--standard",t.innerHTML=`<div class="ml-container"><div class="ml-flexy">\n<div class="ml-flexy__col ml-flexy__col--full"><h2 class="recommendation-title">${s}</h2></div>\n<div class="ml-flexy__col ml-flexy__col--full"><div class="recommendation--history__products"><section class="kl-swiper__slider-container js-recommendation-swiper">\n <nav class="kl-swiper__controls" aria-label="Carousel navigation">\n <button type="button" class="ka-nav-button ka-nav-button--hidden ka-nav-button--l" data-controls="prev"><svg aria-hidden="true" class="ku-icon-16"><use href="#Navigation_Arrow_Arrow--Left_16px"></use></svg></button>\n <button type="button" class="ka-nav-button ka-nav-button--hidden ka-nav-button--l" data-controls="next"><svg aria-hidden="true" class="ku-icon-16"><use href="#Navigation_Arrow_Arrow--Right_16px"></use></svg></button>\n </nav>\n <div class="kl-swiper recommendation-slider"><ul class="o-products kl-swiper__slider"></ul></div>\n</section></div></div></div></div>`,t}initSlider(e,t=!1){const s=document.getElementById(e);if(s){const e=s.querySelector(".kl-swiper");let i=e.scrollWidth-e.clientWidth;s.querySelector(".kl-swiper__slider").classList.toggle("kl-swiper__slider--center",i<=0);const n=s.querySelectorAll("button.ka-nav-button"),r="ka-nav-button--hidden";n[1].classList.toggle(r,i<=0);if(s.querySelectorAll(".m-carousel--item").length>1&&i>0){const o=(t=!1,o=!1)=>{i=e.scrollWidth-e.clientWidth;const a=s.querySelector(".m-carousel--item"),l=a.clientWidth+parseFloat(window.getComputedStyle(a).marginRight),c=t?-1*l:l;let d=e.scrollLeft+c+1;o&&e.scrollLeft+1>=i?(e.scrollTo({left:0}),d=0):e.scrollBy(c,0),n[0].classList.toggle(r,d<=1),n[1].classList.toggle(r,d>=i)},a=()=>!!s.dataset.autoStarted,l=(e="")=>s.dataset.autoStarted=e||"";let c;const d=(e="")=>{c||a()||(l("y"),c=setInterval((()=>{o(!1,!0)}),5e3),this.log(`start: ${s.id} | ${e}[${c}]`,"S"))},h=(e="")=>{a()&&(clearInterval(c),this.log(`stop: ${s.id} | ${e}[${c}]`,"S"),c=null,l())};if(!c&&!t){if((s.dataset.autoSlide||"")&&!a()){new IntersectionObserver((e=>{e.forEach((e=>{e.isIntersecting?d("isIn"):h("isOut")}))})).observe(s),s.addEventListener("mouseenter",(()=>{h("moEnter")})),s.addEventListener("mouseleave",(()=>{d("moLeave")}))}n.forEach((e=>{e.addEventListener("click",(()=>{o("prev"===e.dataset.controls)}))}))}}}}addCss(e,t=null){if(e){if(t&&document.getElementById(t))return;const s=document.createElement("style");s.id=t,s.textContent=e,document.head.appendChild(s)}}addLink(e,t,s){if(e){const i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.href=e,i.addEventListener("load",(()=>{this.initSlider(s)})),t&&i.addEventListener("error",(()=>{this.addLink(t,null,s)})),document.head.appendChild(i)}else t&&this.addLink(t,null,s)}getBZ(e,t="li.col-m-8, div.col-m-8"){const s=[];if(e.querySelectorAll(t).forEach((t=>{s.push({pos:1+Array.prototype.indexOf.call(e.children,t),node:t})})),"script"!==t){const t=this.getBZ(e,"script");s.forEach((e=>{e.pos-=t.filter((t=>t.pos<e.pos)).length}))}return s}getPage(){return String(Number(t.getUrlParam("p"))||"1")}push(...e){try{if(e instanceof Array&&e.length>0)for(let t=0;t<e.length;t+=1){const s=e[t];this.log({v:p.version,...this.msg,evt:s,cc:this.cc,ci:this.ci},"P"),s?"visit"===s.event?(this.cc<1&&(Object.assign(this.visit,s.value),this.request(!0,!0)),this.cc++):"purchase"===s.event?this.purchase(s.value):"cart"===s.event&&this.cart(s.value):(this.msg.c2="empty event pushed",this.wrn(this.msg,"P"))}}catch(e){this.msg.c2=e.message,this.wrn(e,"c2")}}}if(!window.vzbl_q||window.vzbl_q instanceof Array){const e=window.vzbl_q||[];if(window.vzbl_q=new v,e instanceof Array&&e.length>0&&window.vzbl_q.push(...e),"LMIT"===window.vzbl_q.ci.retailer&&window.vzbl_q.ci.prod&&window.tc_vars){const e=window.tc_vars;"detail page Product"===e.cdl_page_subtype&&e.cdl_products&&e.cdl_products.filter((e=>"product"===e.type)).some((t=>window.vzbl_q.push({event:"visit",value:{placement:"pdp",store:e.cdl_environment_shop,alias:e.cdl_user_email_md5,product:{id:t.sku,rating:t.rating?Number(t.rating):void 0,reviews:t.number_reviews?Number(t.number_reviews):void 0}}})))}}}();