1!function(){const t="data-impression-tracking",e="data-component-impression",o="data-gridbox-impression",i="data-product-impression",n=document.querySelectorAll(`[${e}],[${o}],[${i}]`),c=Array.prototype.slice.call(n);function r(){const t=this.getAttribute(e),n=t?JSON.parse(decodeURIComponent(t)):void 0,c=this.getAttribute(o),r=c?this.getAttribute(o):this.getAttribute(i);let s=r?JSON.parse(decodeURIComponent(r)):void 0;const d=s?"EECproductClick":"EECpromotionClick";c&&(s={list:"Recommendation",products:[s]});const a=s?{event:d,ecommerce:{click:{actionField:{list:s.list,action:"click"},products:s.products}}}:{event:d,ecommerce:{promoClick:{promotions:[n]}}};window.dataLayer.push(a)}window.dataLayer=window.dataLayer||[];for(let t=0;t<c.length;t++)c[t].addEventListener("click",r);function s(t){window.dataLayer.push({event:"gaEvent",...t})}!function(t,o){const i=c.filter(e=>e.getAttribute(t)).map(e=>JSON.parse(decodeURIComponent(e.getAttribute(t))));let n=0,r=20;do{const c={event:o,ecommerce:{}},s={promotions:i.slice(n,r)};t===e?c.ecommerce.promoView=s:c.ecommerce.impressions=i.slice(n,r),window.dataLayer.push(c),n+=20,r+=20}while(i.slice(n,r).length>0)}(e,"EECpromotionImpression"),document.querySelectorAll(`[${t}]`).forEach(e=>{e.getAttribute(t)&&e.addEventListener("click",e=>s(function(e){const o=e.getAttribute(t);return o?JSON.parse(decodeURIComponent(o)):{}}(e.target))),e.addEventListener("IMPRESSION_TRACKING_DATA_CHANGED",t=>s(t.detail))})}();
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.