1!function(){"use strict";var e={1147:function(e,t,r){r.r(t),r.d(t,{EventType:function(){return y},addOrReplace:function(){return l},buildSignalObject:function(){return d},findIndexImplementation:function(){return u},getClosestDataAttribute:function(){return f},getEleInfo:function(){return g},hasFlag:function(){return _},init:function(){return w},postMessageToChannel:function(){return s},sendData:function(){return c},updateSignalData:function(){return m}});const o=function(){const e=window.location.hostname;return["m.cdw.ca","m.cdwg.com","m.cdw.com","www.cdw.ca","www.cdwg.com","www.cdw.com","fr.cdw.ca"].some((function(t){return e.indexOf(t)>=0}))?"https://origin.cdw.com/sp.prod/signals/":["webqaint1vha-proxy.corp.cdw.com","webqaint1vha-proxy.corp.cdw.ca","webqaint1vha-proxy.corp.cdwg.com","webqaint1vhb-proxy.corp.cdw.com","webqaint1vhb-proxy.corp.cdw.ca","webqaint1vhb-proxy.corp.cdwg.com"].some((function(t){return e.indexOf(t)>=0}))?"https://origin.npd.cdw.com/sp.qa/signals/":"https://origin.npd.cdw.com/sp.test/signals/"}(),n="cdw-signals",a=function(){const e=["active_products","Content"];var t="active_products";return{set name(r){e.includes(r)?t=r:console.error("set operation on target failed: "+r+" is not a valid target")},get name(){return t}}}();let i=null;try{i=new BroadcastChannel("cdw-signals-channel")}catch(e){console.log("BroadcastChannel not available")}function s(e){i&&i.postMessage(e)}function c(e){let t,r=[];for(e&&(e instanceof Array?r=e:r.push(e)),t=0;t<r.length;++t){const e=(new Date).getTime(),o=window.crypto||window.msCrypto||null,n=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^o.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)));r[t].timestamp=e,r[t].id=n}try{const e={type:"application/json"},t=new Blob([JSON.stringify(r)],e);if(!navigator.sendBeacon(o+a.name,t))throw new Error("navigator.sendBeacon failed to queue signal")}catch(e){return function(e="",t={}){const r=new XMLHttpRequest;r.addEventListener("readystatechange",(function(){this.readyState===this.DONE&&console.log(this.responseText)})),r.open("POST",e,!0),r.setRequestHeader("content-type","application/json"),r.send(t)}(o+a.name,JSON.stringify(r)),!0}}function d(e){return{template:e,queries:[],products:[],cart:[]}}function u(e,t){if(null==e)throw new TypeError('"array" is null or not defined');const r=Object(e),o=r.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");const n=arguments[1];let a=0;for(;a<o;){const e=r[a];if(t.call(n,e,a,r))return a;a++}return-1}function l(e,t,r){const o=function(e,t){return Array.prototype.findIndex&&0===[,1].findIndex(((e,t)=>0===t))?e.findIndex(t):u(e,t)}(e,(e=>e[t]&&r[t]&&e[t].toString()===r[t].toString()));o>-1?e[o]=r:e.push(r)}const p=function(){const e={};let t=!1,r=0;const o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],r++);const n=function(r){for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t&&"[object Object]"===Object.prototype.toString.call(r[o])?e[o]=p(!0,e[o],r[o]):e[o]=r[o])};for(;r<o;r++){n(arguments[r])}return e};function f(e,t){return Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){let t=this;do{if(Element.prototype.matches.call(t,e))return t;t=t.parentElement||t.parentNode}while(null!==t&&1===t.nodeType);return null}),e.closest(t)}const y={SIGNAL:1,TAGMAN:2};function _(e,t){return t===(e&t)}function g(e){let t;if(e&&f(e,"[data-signal]")&&(t=f(e,"[data-signal]").dataset.signal),t){const r=window.sessionStorage.getItem(n);if(null!=r){const o=JSON.parse(r);let a=p({},o.template);const i=f(e,"[data-product-code]"),d=f(e,"[data-sort-rank]");let u=0;null!=d&&d.dataset&&d.dataset.hasOwnProperty("sortRank")&&(u=JSON.parse(d.dataset.sortRank));let y=[];null!=i&&(y=JSON.parse(f(e,"[data-product-code]").dataset.productCode));const _=!y||y instanceof Array?null:y.toString(),g=a.params.fusion_query_id;let m=!1;switch(t){case"click":case"compare":case"specs":l(o.products,"doc_id",{fusion_query_id:g,doc_id:_}),l(o.queries,"params.fusion_query_id",a),u>0&&(a.params.res_pos=u),a.params.doc_id=_,a.type=t,m=!0;break;case"cart-search":l(o.products,"doc_id",{fusion_query_id:g,doc_id:_}),l(o.queries,"params.fusion_query_id",a),l(o.cart,"doc_id",{fusion_query_id:g,doc_id:_}),a.params.doc_id=_,u>0&&(a.params.res_pos=u),a.type="cart",m=!0;break;case"click-compare":{const e=o.products.filter((e=>e.doc_id.toString()===_.toString())).pop();if(e){const t=e.fusion_query_id,r=o.queries.filter((e=>e.params.fusion_query_id===t)).pop();r&&(a=r,a.params.doc_id=_,a.type="click",m=!0)}break}case"cart-compare":{const e=o.products.filter((e=>e.doc_id.toString()===_.toString())).pop();if(e){const t=e.fusion_query_id,r=o.queries.filter((e=>e.params.fusion_query_id===t)).pop();r&&(l(o.cart,"doc_id",{fusion_query_id:g,doc_id:_}),a=r,a.params.doc_id=_,a.type="cart-compare",m=!0)}break}case"cart-product":case"cart-product-better-together":{let e=o.products.filter((e=>e.doc_id.toString()===_.toString())).pop();if(e||(l(o.products,"doc_id",{fusion_query_id:g,doc_id:_}),l(o.queries,"params.fusion_query_id",a),e=o.products.filter((e=>e.doc_id.toString()===_.toString())).pop()),e){const r=e.fusion_query_id,n=o.queries.filter((e=>e.params.fusion_query_id===r)).pop();n&&(l(o.cart,"doc_id",{fusion_query_id:g,doc_id:_}),a=n,a.params.doc_id=_,a.type=t,m=!0)}break}case"quote":case"quote-product":{const t=_?[_]:y;let r=[],n=t.length;const i=e.dataset?.productOrderkey;for(let e=0;e<n;e++){let n=t[e];const s=o.products.filter((e=>e.doc_id.toString()===n.toString())).pop();if(s){const e=s.fusion_query_id,t=o.queries.filter((t=>t.params.fusion_query_id===e)).pop();t&&(a=t,a.params.doc_id=n,a.params.order_key=i,a.type="quote",r.pu
1sh(a),m=!0),o.cart=o.cart.filter((e=>e.doc_id.toString()!==n.toString())),o.products=o.products.filter((e=>e.doc_id.toString()!==n.toString()))}}a=r;break}case"order-details":{let t=[];const r=e.dataset?.productOrdernumber,o=e.dataset?.productOrderkey;null!=a&&r&&(a.params.order_number=r,a.params.order_key=o,a.params.type="order-details",a.params.fusion_query_id=null,a.params.doc_id=null,a.params.filter=null,a.params.filter_field=null,t.push(a),m=!0),a=t;break}case"purchase":{let t=[],r=y.length;const n=e.dataset?.productOrderkey;for(let e=0;e<r;e++){let r=y[e];const i=o.cart.filter((e=>e.doc_id.toString()===r.toString())).pop();if(i){const e=i.fusion_query_id,s=o.queries.filter((t=>t.params.fusion_query_id===e)).pop();s&&(a=s,a.params.doc_id=r,a.params.order_key=n,a.type="purchase",t.push(a),m=!0),o.cart=o.cart.filter((e=>e.doc_id.toString()!==r.toString())),o.products=o.products.filter((e=>e.doc_id.toString()!==r.toString()))}}a=t;break}case"wayfinder-click":{const r=(e,t)=>{if(!e?.dataset?.hasOwnProperty(t))return null;try{return e.dataset[t]}catch(e){return null}},o=f(e,"[data-wayfinderfacet]"),n=f(e,"[data-wayfindervalue]"),i=r(o,"wayfinderfacet"),s=r(n,"wayfindervalue");i&&s&&(a.params.wayfinder_facet=i,a.params.wayfinder_value=s,a.type=t,m=!0);break}case"filter":{const r=(e,t)=>{if(!e?.dataset?.hasOwnProperty(t))return null;try{return e.dataset[t]}catch(e){return null}},o=r(e,"facetKey"),n=r(e,"facetValue");o&&n&&(a.params.facet_key=o,a.params.facet_value=n,a.type=t,m=!0);break}}if(m){const e=JSON.stringify(o);window.sessionStorage.setItem(n,e),s(e),c(a)}return m}}}function m(e){window.sessionStorage.setItem(n,e.data)}function w(e){e&&(a.name=e),i&&(i.onmessage=e=>m(e))}}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}};return e[o](a,a.exports,r),a.exports}r.d=function(e,t){for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};const o=r(1147),n="cdw-signals",a="redirect-cdw-signals";const i=function(){const e=window.location.hostname;return["m.cdw.ca","m.cdwg.com","m.cdw.com","www.cdw.ca","www.cdwg.com","www.cdw.com"].some((function(t){return e.indexOf(t)>=0}))?"https://origin.cdw.com/sp.prod/signals/":["webqaint1vha-proxy.corp.cdw.com","webqaint1vha-proxy.corp.cdw.ca","webqaint1vha-proxy.corp.cdwg.com","webqaint1vhb-proxy.corp.cdw.com","webqaint1vhb-proxy.corp.cdw.ca","webqaint1vhb-proxy.corp.cdwg.com"].some((function(t){return e.indexOf(t)>=0}))?"https://origin.npd.cdw.com/sp.qa/signals/":"https://origin.npd.cdw.com/sp.test/signals/"}(),s=function(){const e=["active_products","Content"];var t="active_products";return{set name(r){e.includes(r)?t=r:console.error("set operation on target failed: "+r+" is not a valid target")},get name(){return t}}}();let c=null;try{c=new BroadcastChannel("cdw-signals-channel")}catch(e){console.log("BroadcastChannel not available")}function d(e){let t,r=[];for(e&&(e instanceof Array?r=e:r.push(e)),t=0;t<r.length;++t){const e=(new Date).getTime(),o=window.crypto||window.msCrypto||null,n=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^o.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)));r[t].timestamp=e,r[t].id=n}try{const e={type:"application/json"},t=new Blob([JSON.stringify(r)],e);if(!navigator.sendBeacon(i+s.name,t))throw new Error("navigator.sendBeacon failed to queue signal")}catch(e){return function(e="",t={}){const r=new XMLHttpRequest;r.addEventListener("readystatechange",(function(){this.readyState===this.DONE&&console.log(this.responseText)})),r.open("POST",e,!0),r.setRequestHeader("content-type","application/json"),r.send(t)}(i+s.name,JSON.stringify(r)),!0}}function u(e,t,r){const o=function(e,t){return Array.prototype.findIndex&&0===[,1].findIndex(((e,t)=>0===t))?e.findIndex(t):function(e,t){if(null==e)throw new TypeError('"array" is null or not defined');const r=Object(e),o=r.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");const n=arguments[1];let a=0;for(;a<o;){const e=r[a];if(t.call(n,e,a,r))return a;a++}return-1}(e,t)}(e,(e=>e[t]&&r[t]&&e[t].toString()===r[t].toString()));o>-1?e[o]=r:e.push(r)}const l=Object.freeze({CLICK:"click",COMPARE:"compare",SPECS:"specs",CART_SEARCH:"cart-search",CLICK_COMPARE:"click-compare",CART_COMPARE:"cart-compare",CART_PRODUCT:"cart-product",CART_PRODUCT_BETTER_TOGETHER:"cart-product-better-together",CART_CONFIG:"
1cart-config",QUOTE:"quote",QUOTE_PRODUCT:"quote-product",ORDER_DETAILS:"order-details",PURCHASE:"purchase",WAYFINDER_CLICK:"wayfinder-click",FILTER:"filter"}),p=Object.values(l),f="cdw-signals";class y{constructor(e,t){t=t||{},this.signalType=e,this.docId=t.docId||null;let r=t.docIds||[];!r||r instanceof Array||(r=[r.toString()]),this.docIds=r,this.sortRank=t.sortRank||0,this.orderKey=t.orderKey||null,this.orderNumber=t.orderNumber||null,this.wayfinderFacet=t.wayfinderFacet||null,this.wayfinderValue=t.wayfinderValue||null,this.facetKey=t.facetKey||null,this.facetValue=t.facetValue||null}validate(){if(!this.signalType)return{valid:!1,error:"signalType is required"};if(!p.includes(this.signalType))return{valid:!1,error:"Invalid signalType: "+this.signalType};switch(this.signalType){case l.CLICK:case l.COMPARE:case l.SPECS:case l.CART_SEARCH:case l.CLICK_COMPARE:case l.CART_COMPARE:case l.CART_PRODUCT:case l.CART_PRODUCT_BETTER_TOGETHER:case l.CART_CONFIG:if(!this.docId)return{valid:!1,error:this.signalType+" requires docId"};break;case l.QUOTE:case l.QUOTE_PRODUCT:if(!(this.docId||this.docIds&&this.docIds.length))return{valid:!1,error:this.signalType+" requires docId or docIds"};break;case l.ORDER_DETAILS:if(!this.orderNumber)return{valid:!1,error:this.signalType+" requires orderNumber"};break;case l.PURCHASE:if(!this.docIds||!this.docIds.length)return{valid:!1,error:this.signalType+" requires docIds"};break;case l.WAYFINDER_CLICK:if(!this.wayfinderFacet||!this.wayfinderValue)return{valid:!1,error:this.signalType+" requires wayfinderFacet and wayfinderValue"};break;case l.FILTER:if(!this.facetKey||!this.facetValue)return{valid:!1,error:this.signalType+" requires facetKey and facetValue"}}return{valid:!0}}toPayload(){return{docId:this.docId,docIds:this.docIds,sortRank:this.sortRank,orderKey:this.orderKey,orderNumber:this.orderNumber,wayfinderFacet:this.wayfinderFacet,wayfinderValue:this.wayfinderValue,facetKey:this.facetKey,facetValue:this.facetValue}}}function _(){const e={};let t=!1,r=0;const o=arguments.length;"[object Boolean]"===Object.prototype.toString.call(arguments[0])&&(t=arguments[0],r++);const n=function(r){for(const o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t&&"[object Object]"===Object.prototype.toString.call(r[o])?e[o]=_(!0,e[o],r[o]):e[o]=r[o])};for(;r<o;r++)n(arguments[r]);return e}function g(e,t){t=t||{};const r=window.sessionStorage.getItem(f);if(null==r)return;const o=JSON.parse(r);let n=_({},o.template);const a=t.docId||null,i=t.docIds||[],s=t.sortRank||0,l=t.orderKey||null,p=t.orderNumber||null,y=n.params.fusion_query_id;let g=!1;switch(e){case"click":case"compare":case"specs":u(o.products,"doc_id",{fusion_query_id:y,doc_id:a}),u(o.queries,"params.fusion_query_id",n),s>0&&(n.params.res_pos=s),n.params.doc_id=a,n.type=e,g=!0;break;case"cart-search":u(o.products,"doc_id",{fusion_query_id:y,doc_id:a}),u(o.queries,"params.fusion_query_id",n),u(o.cart,"doc_id",{fusion_query_id:y,doc_id:a}),n.params.doc_id=a,s>0&&(n.params.res_pos=s),n.type="cart",g=!0;break;case"click-compare":{const e=o.products.filter((e=>e.doc_id.toString()===a.toString())).pop();if(e){const t=e.fusion_query_id,r=o.queries.filter((e=>e.params.fusion_query_id===t)).pop();r&&(n=r,n.params.doc_id=a,n.type="click",g=!0)}break}case"cart-compare":{const e=o.products.filter((e=>e.doc_id.toString()===a.toString())).pop();if(e){const t=e.fusion_query_id,r=o.queries.filter((e=>e.params.fusion_query_id===t)).pop();r&&(u(o.cart,"doc_id",{fusion_query_id:y,doc_id:a}),n=r,n.params.doc_id=a,n.type="cart-compare",g=!0)}break}case"cart-product":case"cart-product-better-together":case"cart-config":{let t=o.products.filter((e=>e.doc_id.toString()===a.toString())).pop();if(t||(u(o.products,"doc_id",{fusion_query_id:y,doc_id:a}),u(o.queries,"params.fusion_query_id",n),t=o.products.filter((e=>e.doc_id.toString()===a.toString())).pop()),t){const r=t.fusion_query_id,i=o.queries.filter((e=>e.params.fusion_query_id===r)).pop();i&&(u(o.cart,"doc_id",{fusion_query_id:y,doc_id:a}),n=i,n.params.doc_id=a,n.type=e,g=!0)}break}case"quote":case"quote-product":{const e=a?[a]:i;let t=[];for(let r=0;r<e.length;r++){let a=e[r];const i=o.products.filter((e=>e.doc_id.toString()===a.toString())).pop();if(i){const e=i.fusion_query_id,r=o.queries.filter((t=>t.params.fusion_query_id===e)).pop();r&&(n=r,n.params.doc_id=a,n.params.order_key=l,n.type="quote",t.push(n),g=!0),o.cart=o.cart.filter((e=>e.doc_id.toString()!==a.toString())),o.products=o.products.filter((e=>e.doc_id.toString()!==a.toString()))}}n=t;break}case"order-details":{let e=[];null!=n&&p&&(n.params.order_number=p,n.params.order_key=l,n.params.type="order-details",n.params.fusion_query_id=null,n.params.doc_id=null,n.params.filter=null,n.params.filter_field=null,e.push(n),g=!0),n=e;break}case"purchase":{let e=[];for(let t=0;t<i.length;t++){let r=i[t];const a=o.cart.filter((e=>e.doc_id.toString()===r.toString())).pop();if(a){const t=a.fusion_query_id,i=o.queries.filter((e=>e.params.fusion_query_id===t)).pop();i&&(n=i,n.params.doc_id=r,n.params.order_key=l,n.type="purchase",e.push(n),g=!0),o.cart=o.cart.filter((e=>e.doc_id.toString()!==r.toString())),o.products=o.products.filter((e=>e.doc_id.toString()!==r.toString()))}}n=e;break}case"wayfinder-click":{const r=t.wayfinderFacet||null,o=t.wayfinderValue||null;r&&o&&(n.params.wayfinder_facet=r,n.params.wayfinder_value=o,n.type=e,g=!0);break}case"filter":{const r=t.facetKey||null,o=t.facetValue||null;r&&o&&(n.params.facet_key=r,n.params.facet_value=o,n.type=e,g=!0);break}}if(g){const e=JSON.stringify(o);window.sessionStorage.setItem(f,e),function(e){c&&c.postMessage(e)}(e),d(n)}return g}let m=!1;window.CdwSignals=(o.init(),{fireEvent:function(e,t){if(e){if(o.hasFlag(e,o.EventType.TAGMAN
1)){const e=o.getClosestDataAttribute(t,"[data-tagman]");if(e){const t=JSON.parse(e.dataset.tagman);t&&window.CdwTagMan.createElementPageTag(t.type,t.name)}}o.hasFlag(e,o.EventType.SIGNAL)&&function(e){if(window.sessionStorage.getItem(a)){const e=window.sessionStorage.getItem(a),r=JSON.parse(e);let i;if(window.sessionStorage.getItem(n)){const e=window.sessionStorage.getItem(n);i=JSON.parse(e),i.template=r}else i=o.buildSignalObject(r);var t=JSON.stringify(i);window.sessionStorage.setItem(n,t),window.sessionStorage.removeItem(a),o.postMessageToChannel(t)}o.getEleInfo(e)}(t)}}}),m||(m=!0,document.addEventListener("cdwSearchSignalEvent",(function(e){e.detail&&e.detail.signalType&&function(e,t){const r=new y(e,t),o=r.validate();o.valid?g(r.signalType,r.toPayload()):(console.error("fireSignal validation failed:",o.error),o.error)}(e.detail.signalType,e.detail.payload||{})})))}();
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.