1(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[4084],{13801:(e,t,r)=>{"use strict";r.d(t,{S:()=>s});var i=r(48431);function o(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var n="undefined"!=typeof window?i.useLayoutEffect:i.useEffect,a=new WeakMap;function s(e,t){var r,s,c,u=(r=t||null,s=function(t){return e.forEach(function(e){return o(e,t)})},(c=(0,i.useState)(function(){return{value:r,callback:s,facade:{get current(){return c.value},set current(e){var t=c.value;t!==e&&(c.value=e,c.callback(e,t))}}}})[0]).callback=s,c.facade);return n(function(){var t=a.get(u);if(t){var r=new Set(t),i=new Set(e),n=u.current;r.forEach(function(e){i.has(e)||o(e,null)}),i.forEach(function(e){r.has(e)||o(e,n)})}a.set(u,e)},[e]),u}},33580:(e,t,r)=>{"use strict";r.d(t,{C:()=>a,f:()=>s});var i=r(78322);function o(e){return e}function n(e,t){void 0===t&&(t=o);var r=[],i=!1;return{read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return r.length?r[r.length-1]:e},useMedium:function(e){var o=t(e,i);return r.push(o),function(){r=r.filter(function(e){return e!==o})}},assignSyncMedium:function(e){for(i=!0;r.length;){var t=r;r=[],t.forEach(e)}r={push:function(t){return e(t)},filter:function(){return r}}},assignMedium:function(e){i=!0;var t=[];if(r.length){var o=r;r=[],o.forEach(e),t=r}var n=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(n)};a(),r={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),r}}}}}function a(e,t){return void 0===t&&(t=o),n(e,t)}function s(e){void 0===e&&(e={});var t=n(null);return t.options=(0,i.Cl)({async:!0,ssr:!1},e),t}},5672:e=>{e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},79898:e=>{"use strict";function t(e){return"-"===e||"^"===e||"$"===e||"+"===e||"."===e||"("===e||")"===e||"|"===e||"["===e||"]"===e||"{"===e||"}"===e||"*"===e||"?"===e||"\\"===e?"\\"+e:e}function r(e,i){if(void 0===i&&(i=!0),Array.isArray(e))return"(?:"+e.map(function(e){return"^"+r(e,i)+"$"}).join("|")+")";var o="",n="",a=".";!0===i?(o="/",n="[/\\\\]",a="[^/\\\\]"):i&&(n=function(e){for(var r="",i=0;i<e.length;i++)r+=t(e[i]);return r}(o=i),a=n.length>1?"((?!"+(n="(?:"+n+")")+").)":"[^"+n+"]");for(var s=i?n+"+?":"",c=i?n+"*?":"",u=i?e.split(o):[e],l="",d=0;d<u.length;d++){var p=u[d],g=u[d+1],f="";if(p||!(d>0))if(i&&(f=d===u.length-1?c:"**"!==g?s:""),i&&"**"===p)f&&(l+=0===d?"":f,l+="(?:"+a+"*?"+f+")*?");else{for(var _=0;_<p.length;_++){var v=p[_];"\\"===v?_<p.length-1&&(l+=t(p[_+1]),_++):l+="?"===v?a:"*"===v?a+"*?":t(v)}l+=f}}return l}function i(e,t){if("string"!=typeof t)throw new TypeError("Sample must be a string, but "+typeof t+" given");return e.test(t)}e.exports=function(e,t){if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("The first argument must be a single pattern string or an array of patterns, but "+typeof e+" given");if("string"!=typeof t&&"boolean"!=typeof t||(t={separator:t}),2===arguments.length&&void 0!==t&&("object"!=typeof t||null===t||Array.isArray(t)))throw new TypeError("The second argument must be an options object or a string/boolean separator, but "+typeof t+" given");if("\\"===(t=t||{}).separator)throw new Error("\\ is not a valid separator because it is used for escaping. Try setting the separator to `true` instead");var o=r(e,t.separator),n=new RegExp("^"+o+"$",t.flags),a=i.bind(null,n);return a.options=t,a.pattern=e,a.regexp=n,a}},7147:(e,t,r)=>{"use strict";r.d(t,{Ay:()=>le,h3:()=>ue});var i=r(79164),o=r(31454),n=new class{constructor(){this.enabledGroups=[],this.groupName=null,this.enableGroup=e=>{this.enabledGroups.push(e)},this.group=e=>(this.groupName=e,this.enabledGroups.includes(e)?o(this):{header:()=>{},check:()=>{},info:()=>{},status:()=>{},section:()=>{},log:()=>{},whisper:()=>{},data:()=>{}}),this.header=(e,t)=>{this.debugGatherer("info",{m1:e,m2:t}),console.log(`%c [${this.groupName}]: ${e}: ${t||""} ----------`,"color: blue; font-size: 12px;")},this.section=(e,t)=>{this.debugGatherer("info",{m1:e,m2:t}),console.log(`%c [${this.groupName}]: ${e}: ${t||""} `,"color: #6161ff; font-size: 12px;")},this.check=(e,t)=>{this.debugGatherer("info",{m1:e,m2:t});let r="â";-1===t&&(r="â "),0!==t&&!1!==t||(r="â"),1!==t&&!0!==t||(r="â");let i="green";-1===t&&(i="#e38c00"),0!==t&&!1!==t||(i="red"),1!==t&&!0!==t||(i="green"),console.log(`%c [${this.groupName}]: ${e}: %c ${r}`,"color: purple; font-size: 12px;",`color: ${i}; font-size: 13px;`)},this.status=(e,t,r)=>{this.debugGatherer("log",{m1:e,m2:t,m3:r});let i="orange";0!==r&&!1!==r||(i="red"),-1===r&&(i="orange"),1!==r&&!0!==r||(i="green"),console.log(`%c [${this.groupName}]: ${e}: %c ${t}`,"color: purple; font-size: 12px;",`color: ${i}; font-size: 12px;`)},this.log=(e,t)=>
1{this.debugGatherer("log",{m1:e,m2:t}),console.log(`%c [${this.groupName}]: %c ${e}: %c ${t}`,"color: purple; font-size: 12px;","color: gray; font-size: 12px;","color: blue; font-size: 12px;")},this.info=(e,t)=>{this.debugGatherer("info",{m1:e,m2:t}),console.log(`%c [${this.groupName}]: ${e}: ${t}`,"color: gray; font-size: 10px;")},this.whisper=(e,t)=>{this.debugGatherer("whisper",{m1:e,m2:t}),console.log(`%c [${this.groupName}]: ${e}: ${t}`,"color: gray; font-size: 8px;")},this.data=(e,t,r)=>{this.debugGatherer("data",{key:e,m1:t,data:r}),console.log(`%c [${this.groupName}]: ${t}:`,"color: gray; font-size: 8px;",r)}}initLocalStorageGroups(e){e&&e.forEach(e=>{localStorage.getItem(e)&&this.enableGroup(e)})}setLocalGroupValue(e,t){e&&(null===t?localStorage.removeItem(e):localStorage.setItem(e,t))}debugGatherer(e,{key:t,m1:r,m2:i,m3:o,data:n}){window.vfuk_fe_logger_debug||(window.vfuk_fe_logger_debug=[]);let a="";r&&(a+=String(r).trim()),i&&(a+=` ${String(i).trim()}`),o&&(a+=` ${String(o).trim()}`),window.vfuk_fe_logger_debug.push({type:e,message:a,key:t||null,data:n||null})}},a=r(24986),s=r(7169),c=r(46553),u=r(10613),l=r(95189),d=r(56265);const p=()=>"undefined"!=typeof window;class g{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t}),this.then=this.promise.then.bind(this.promise),this.catch=this.promise.catch.bind(this.promise)}}function f(){let e=null;return"undefined"!=typeof window&&(e=window&&window.matchMedia("(prefers-color-scheme: dark)").matches),{event:(t,r,i)=>{console.log(`%c ${r} %c ${i||""}`,`background: ${["#36B577","#2B9160","#ff0000"][t]};color:white;font-size:14px;padding:5px;margin-right:5px`,`padding:7px;background: ${e?"#272727":"#fff"};color:${e?"#fff":"#232f3e"};font-weight:bold;`)},reportEvent:(t,r,i)=>{console.log(`%c ${r} %c ${i||""}`,`padding:7px;background: ${e?"#272727":"#fff"};color:${e?"#fff":"#232f3e"};font-weight:bold;font-size:12px`,`background: ${["#36B577","#2B9160","#ff0000"][t]};color:white;font-size:14px;padding:5px;margin-right:5px`)},printGroup:(t,r,i)=>{console.groupCollapsed(`%c ${t}`,"border:2px solid #47cf73; font-size:16px;padding:10px 25px;"),console.table(r),console.groupCollapsed(`%c ${t} - ( FULL PAYLOAD )`,`border:1px solid ${e?"#f4eeff":"#421200"};font-size:14px;padding:8px 23px;`),console.table(i),console.groupEnd(),console.groupEnd()},title:(e,t)=>{console.log(`\n%c${e}\n`,`color:red;font-family:system-ui;font-size:${t&&t.size||2}rem;font-weight:bold`)},description:(t,r)=>{console.log(`%c${t}`,`background: ${e?"#272727":"#fff"};padding-left: 5px;border-left:2px solid #ff0000;color:${e?"#fff":"#232f3e"};font-family:system-ui;font-size:${r&&r.size||1}rem;`)}}}var _=new class{constructor(){this.debug=!1,this.isAnalyticsInitialized=!1,this.isLowerEnv=!1,this.log=null,this.hasAnalyticsBeenInitialized=!1,this.configGlobal=null,this.configPage=null,this.configEvents=null,this.defaultPayload={},this.analyticsLoadFailed=null,this.analyticsReadyDefer=new g}init(e){var t,r,o;this.configGlobal=e.globalConfig,this.configPage=e.pageConfig,this.configEvents=e.eventsConfig,this.debug=e.debug||!1,this.isLowerEnv=function(e="prod"){return!!p()&&"prod"!==e&&"prodb"!==e}(e.env),this.log=this.isLowerEnv&&e.logging?f():null,this.defaultPayload=i({},this.configGlobal,this.configPage),n.group("analytics").header("config"),n.group("analytics").log("configGlobal",this.configGlobal?null==(t=Object.keys(this.configGlobal))?void 0:t.length:"not set"),n.group("analytics").log("configPage",this.configPage?null==(r=Object.keys(this.configPage))?void 0:r.length:"not set"),n.group("analytics").log("configEvents",this.configEvents?null==(o=Object.keys(this.configEvents))?void 0:o.length:"not set")}};function v(e,t){return e.then(e=>[null,e]).catch(e=>t?[Object.assign({},e,t),void 0]:[e,void 0])}var h=new class{constructor(){this.events={}}once(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)}trigger(e){if(this.events[e]||(this.events[e]=[]),!this.events[e].length)return;const t=this.events[e].shift();t&&t()}},y=new class{constructor(){this.eventBuffer=[],this.bufferInProgressCount=0,this.isExecuteInProgress=!1}isBufferEmpty(){return this.eventBuffer.length+this.bufferInProgressCount<=0}addEvent(e){n.group("analytics:buffer").header("addEvent"),this.eventBuffer.push(e),n.group("analytics:buffer").log("bufferSize",String(this.eventBuffer.length))}async flushBuffer(){n.group("analytics:buffer").header("flushBuffer"),this.isExecuteInProgress?n.group("analytics:buffer").check("flush already in progress, skip",-1):(n.group("analytics:buffer").check("flush start",!0),this.isExecuteInProgress=!0,await v(this.executeBuffer()))}async executeBuffer(){n.group("analytics:buffer").section("execute","buffer"),n.group("analytics:buffer").log("bufferSize",String(this.eventBuffer.length));const e=this.eventBuffer.shift();return e?(n.group("analytics:buffer").check("execute start",!0),this.bufferInProgressCount+=1,await v(e()),this.bufferInProgressCount-=1,n.group("analytics:buffer").check("execute end",!0),this.executeBuffer()):(n.group("analytics:buffer").check("execute finished",!0),this.isExecuteInProgress=!1,void h.trigger("event:buffer:empty"))}};async function m(){if(n.group("analytics:await").header("awaitAnalyticsRequestsReady"),_.isAnalyticsInitialized&&await _.analyticsReadyDefer,n.group("analytics:await").check("analyticsReadyDefer",!0),!_.analyticsLoadFailed)return n.group("analytics:await").check("loaded",!0),new Promise(e=>{if(y.isBufferEmpty())return n.group("analytics:await").check("buffer empty, resolve",!0),e();n.group("analytics:await").check("buffer busy",-1),h.once("event:buffer:empty",()=>{n.group("analytics:await").check("buffer empty, resolve",!0),e()})})}var b=Object.defineProperty,w=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,P=Object.prototype.propertyIsEnumerable,E=(e,t,r)=>t in e?b(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,S=(e,t)=>{for(var r in t||(t={}))k.call(t,r)&&E(e,r,t[r]);if(w)for(var r of w(t))P.call(t,r)&&E(e,r,t[r]);return e};p()&&(window.analyticsDebug=function(e){for(const t of Object.entries(e))n.setLocalGroupValue(t[0],t[1])});
1var T=["analytics","analytics:testingLibrary","analytics:tealium","analytics:await","analytics:view","analytics:link","analytics:buffer","analytics:postTrack","analytics:resolver","analytics:request"];const I=[" - Make sure tealiumUrlTag exists in the config.\n - Make sure tealiumUrlTag has a correct value.\n - Open in incognito tab and hard refresh.\n - Did you call vf_analytics.getReport() too quick? Wait a bit more."],C=['GO TO THE "eventsConfig", FIND THE CORRESPONDENT "eventName" AND:\n\n - Check that the attribute is well written (case sensitive).\n - To exist must be in the mapping dictionary.\n\n If you can\'t see it, doesn\'t exist on the current spec!\n\n Check if it\'s there:\n\n https://vfuk-digital.visualstudio.com/Digital/_git/lib-web-analytics?path=%2Fsrc%2Fconfig%2FanalyticsAttrMapping.ts\n '],A=["FIND YOUR \"eventsConfig\" AND:\n\n - Check that the eventName exists in the config.\n - Check that it is well written (case sensitive).\n - Check that the .link() or the .view() that it's failing is using a \".\"\n to split the words if you have a nested eventsConfig for example:\n\nYES: analytics.view('page1.event1')\n\nNO: analytics.view('page1:event1')\n"],N=["\n - Ask in the front-end-analytics slack channel for help.\n - Want to report an implementation bug in VSTS?\n\n Let the designated Developer/Analyst/SM of this page know!\n\n https://vfuk-digital.visualstudio.com/Digital/_workitems/create/Bug?templateId=bf0b9ffb-7cfc-4b38-88d0-92da680217de&ownerId=b6b516b0-c417-4f7a-ae75-496e6555b8c2\n "];var x=new class{constructor(){this.log=f(),this.get=()=>{window.clear(),this.log.title("VF ANALYTICS REPORT"),this.loadError||this.eventNameErrors.length||Object.entries(this.attributesErrors).length>0?this._showErrorsReport():this._showSuccessReport(),this._showFooterMsg()},this.loadError=null,this.eventNameErrors=[],this.attributesErrors={}}add(e,t){const{msg:r,attribute:i}=t;switch(e){case"load":this.loadError=r;break;case"event":this.eventNameErrors.push(r);break;case"attribute":this.attributesErrors[r]||(this.attributesErrors[r]={msg:r,attributes:[]}),this.attributesErrors[r].attributes.push(i)}}clear(){this.loadError=null,this.eventNameErrors=[]}_showErrorsReport(){if(this.log.title("ð Errors were found",{size:1.5}),this.loadError)return this._showLoadError();this.eventNameErrors.length&&this._showEventNameErrors(),Object.entries(this.attributesErrors).length>0&&this._showAttributeErrors()}_showLoadError(){this.log.reportEvent(2,"â",`${this.loadError}`),this._displayHowToSolveItMsg(),I.forEach(e=>{this.log.description(e)})}_showAttributeErrors(){for(const e in this.attributesErrors)this.log.reportEvent(2,"â",`Deprecated or non-existing attributes found in the event '${e}'`),this.attributesErrors[e].attributes.forEach(e=>{this.log.description(e)});this._displayHowToSolveItMsg(),C.forEach(e=>{this.log.description(e)})}_showEventNameErrors(){this.eventNameErrors.forEach(e=>{this.log.reportEvent(2,"â",`${e}`)}),this._displayHowToSolveItMsg(),A.forEach(e=>{this.log.description(e)})}_displayHowToSolveItMsg(){this.log.title("âï¸ How to solve it?",{size:1.5})}_showSuccessReport(){this.log.reportEvent(0,"â
","â Good job! No errors were found in your configs! :D")}_showFooterMsg(){this.log.title("ðââï¸ Questions or issues?",{size:1.5}),N.forEach(e=>{this.log.description(e)})}},L=new class{constructor(){this.events=[],this.resolverName="timeout"}register(){}addEvent(){const e=new g;this.events.push(e.promise),setTimeout(()=>{e.resolve()},200)}resolveEvent(){}awaitEvents(){return Promise.all(this.events)}};function O({requirements:e,tickTime:t,retries:r}){return n.group("analytics:postTrack").whisper("retry",String(r)),new Promise((i,o)=>{setTimeout(async()=>{if(!r)return void o("failed");if(e())return i("ok");const[n,a]=await v(O({requirements:e,tickTime:t,retries:r-1}));if(n)return o(n);i(a)},t)})}var R=new class{constructor(){this.events=[],this.resolverName="postTrackCallback",this.resolveEvent=()=>{this.events.length&&this.events.shift().resolve()}}async register(e=50){n.group("analytics:postTrack").header("register"),n.group("analytics:postTrack").log("max retries",String(e));const[t]=await v(O({tickTime:1e3,retries:e,requirements:()=>window.s&&window.s.registerPostTrackCallback}));return t?(n.group("analytics:postTrack").check("failed to register",!1),null):(window.s.registerPostTrackCallback(this.resolveEvent),_.isLowerEnv&&console.log("â Analytics: postTrack ready [â
]"),!0)}addEvent(){this.events.push(new g)}async awaitEvents(){return new Promise(async e=>{let t=setTimeout(()=>(_.isLowerEnv&&console.log("analytics: utag: postTrack: timeout()"),t=null,this.events=[],e()),2e3);await Promise.all(this.events),this.events=[],e(),t&&(_.isLowerEnv&&console.log("analytics: utag: postTrack: resolve()"),clearTimeout(t))})}},D=new class{constructor(){this.resolver=L}
1async init(){n.group("analytics:resolver").header("init"),await R.register()&&(this.resolver=R),n.group("analytics:resolver").status("resolver",this.resolver.resolverName,!0)}getResolver(){return this.resolver}},$=Object.defineProperty,j=Object.getOwnPropertySymbols,B=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,z=(e,t,r)=>t in e?$(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const U=new class{constructor(){this.events={}}verify(){var e;const t=!!(null==(e=null==window?void 0:window.analyticsTestingLibrary)?void 0:e.events);n.group("analytics:testingLibrary").check("verify",t)}addEvent(e,t,r){var i,o,a,s,c;void 0===this.events[e]&&(this.events[e]=[]),null==(i=this.events[e])||i.push(((e,t)=>{for(var r in t||(t={}))B.call(t,r)&&z(e,r,t[r]);if(j)for(var r of j(t))G.call(t,r)&&z(e,r,t[r]);return e})({eventKey:t},r)),n.group("analytics:testingLibrary").status("addEvent",t,!0),n.group("analytics:testingLibrary").status("addEvent",`link:${(null==(a=null==(o=null==this?void 0:this.events)?void 0:o.link)?void 0:a.length)||0}`,-1),n.group("analytics:testingLibrary").status("addEvent",`view:${(null==(c=null==(s=null==this?void 0:this.events)?void 0:s.view)?void 0:c.length)||0}`,-1)}};p()&&(window.analyticsTestingLibrary=U,window.awaitAnalyticsRequestsReady=m);var M=Object.defineProperty,q=Object.defineProperties,V=Object.getOwnPropertyDescriptors,H=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable,Q=(e,t,r)=>t in e?M(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,K=new class{constructor(){this.loading=!1}async verifyTealium(e=4){if(!e)return n.group("analytics:tealium").check("unable to validate tealium, STOP",!1),!1;setTimeout(()=>{if(n.group("analytics:tealium").header("verifyTealium","load"),!window.utag||s(window.utag.view)){n.group("analytics:tealium").check("is tealium valid",!1);const t="Analytics:Tealium failed to load";return _.isLowerEnv&&x.add("load",{msg:t}),_.analyticsLoadFailed=!0,this.verifyTealium(e-1)}return n.group("analytics:tealium").check("is tealium valid",!0),!0},50)}async load(e){n.group("analytics:tealium").header("tealiumLoader","load"),n.group("analytics:tealium").info("url",e);const[t]=await v(this.attemptLoadScript(e));if(t){const e="Analytics:Tealium failed to load";return console.error(e,t),_.isLowerEnv&&x.add("load",{msg:e}),_.analyticsLoadFailed=!0,_.analyticsReadyDefer.resolve(),!1}return!0}async attemptLoadScript(e){var t;n.group("analytics:tealium").check("attemptToLoadScript",!0),window.utag_data={},this.loading||(window&&window.utag?n.group("analytics:tealium").check("isTealiumLoaded()",!0):(n.group("analytics:tealium").check("isTealiumLoaded()",!1),"undefined"!=typeof window?(n.group("analytics:tealium").check("isEnvSuitable()",!0),this.loading=!0,window.utag_cfg_ovrd=(t=((e,t)=>{for(var r in t||(t={}))F.call(t,r)&&Q(e,r,t[r]);if(H)for(var r of H(t))W.call(t,r)&&Q(e,r,t[r]);return e})({},window.utag_cfg_ovrd),q(t,V({noview:!0}))),await this.loadTealiumScript(e),n.group("analytics:tealium").check("isTealiumLoaded()",!0)):n.group("analytics:tealium").check("isEnvSuitable()",!1)))}async loadTealiumScript(e){const[t]=await v(function(e){const t=document.createElement("script");return t.src=e,new Promise((e,r)=>{const i=()=>e();t.onreadystatechange=i.bind(this,e),t.onload=i.bind(this,e),t.onerror=e=>r(e),document.getElementsByTagName("head")[0].appendChild(t)})}(`${e}/utag.js`));return t?(n.group("analytics:tealium").check("isTealiumLoaded()",!1),n.group("analytics:tealium").status("tealium","failed to load, STOP",!1),Promise.reject(t)):Promise.resolve()}};function Y(e,t,r){return n.group("analytics:request").header("trackingRequest"),new Promise(async o=>{n.group("analytics:request").status("eventKey",r,!0);const a=D.getResolver();n.group("analytics:request").status("using resolver",a.resolverName,!0);const c=i({},window.utag_data||{},t);n.group("analytics:request").check("finalPayload",!0),n.group("analytics:request").data(`${e}:${r}`,"trackingPayload",t),_.isLowerEnv&&_.log&&_.log.printGroup("Click to see the analytics payload",t,c),U.addEvent(e,r,c),window.utag&&!s(window.utag[e])?(n.group("analytics:request").check(`utag ${e} function exists`,!0),_.debug||(window.utag[e](c),n.group("analytics:request").check("send utag event",!0),a.addEvent(),await a.awaitEvents(),n.group("analytics:request").check("utag event sent",!0),o())):n.group("analytics:request").check(`utag ${e} function exists`,!1)})}function J(e){const t={};return Object.entries(e).forEach(([e,r])=>{c(r)&&(r=r()),t[e]=r}),t}function X(e,t){const r=u(_.configEvents,e,null);return c(r)?r(t):r}const Z={pageDomain:"page_domain",pageSubdomain:"page_subdomain",pageUrl:"page_url",pagePath:"page_path",pagePathQuery:"page_path_query",pageTitle:"page_title",visitorIdAmcvId:"visitor_id_amcv_id",pageAnalyticsLibraryVersion:"page_analytics_library_version",eventName:"event_name",eventAction:"event_action",eventLabel:"event_label",eventCategory:"event_category",campaignNotes:"campaign_codes",formFieldError:"form_field_error",formFieldCount:"form_field_count",ivrTransactionConnectionId:"ivr_transaction_connection_id",notificationTitle:"notification_title",notificationCode:"notification_code",site:"site",pageChannel:"page_channel",pageSection:"page_section",pageSubsection:"page_subsection",pageSubSubSection:"page_sub_subsection",pageSubSubSubSection:"page_sub_sub_subsection",pageType:"page_type",pageOverlay:"page_overlay",purchaseType:"purchase_type",pageName:"page_name",pageError:"page_error",pageFilters:"page_filters",pageTab:"page_tab",pageLocale:"page_locale",pagePlatform:"page_platform",pageCurrency:"page_currency",pageAppView:"page_app_view",pageCheckoutStep:"page_checkout_step",pageVariant:"page_variant",pageCheckoutMarketingPreferences:"page_checkout_marketing_preferences",relyingPartyId:"relying_party_id",speedCheckResults:"speed_check_results",searchTerms:"search_terms",searchResults:"search_results",searchCategory:"search_category",ebuColumnsSelected:"ebu_columns_selected",backendItSystem:"backend_it_system",requestedLoa:"requested_loa",loginLoaStep:"login_loa_step",loginMethod:"login_method",journeyType:"journey_type",pageCountry:"page_country",broadbandInstallationDate:"broadband_installation_date",vbpPartyId:"vbp_party_id",productBrand:"product_brand",productChordiantOfferId:"product_chordiant_offer_id",productChordiantOfferCategory:"product_chordiant_offer_category",productCapacity:"product_capacity",productCategory:"product_category",productC
1olour:"product_colour",productDiscountPercentage:"product_discount_percentage",productDiscountRecurrenceAmount:"product_discount_recurrence_amount",productDiscountRecurrenceAmountNet:"product_discount_recurrence_amount_net",productDiscountValue:"product_discount_value",productDiscountValueNet:"product_discount_value_net",productId:"product_id",productModel:"product_model",productName:"product_name",productPackageId:"product_package_id",productPackageName:"product_package_name",productPackagePlanData:"product_package_plan_data",productPackagePlanDuration:"product_package_plan_duration",productPackagePlanMinutes:"product_package_plan_minutes",productPackagePlanSms:"product_package_plan_sms",productPaymentTerms:"product_payment_terms",productPlanData:"product_plan_data",productPlanDuration:"product_plan_duration",productPlanMinutes:"product_plan_minutes",productPlanSms:"product_plan_sms",productPlanSpeed:"product_plan_speed",productPrice:"product_price",productPriceNet:"product_price_net",productPriceRecurrenceAmount:"product_price_recurrence_amount",productPriceRecurrenceAmountNet:"product_price_recurrence_amount_net",productPriceRecurrenceNumber:"product_price_recurrence_number",productPriceRecurrenceType:"product_price_recurrence_type",productQuantity:"product_quantity",productRevenuePotential:"product_revenue_potential",productRevenuePotentialNet:"product_revenue_potential_net",productStockStatus:"product_stock_status",productPackageNetworkSwitchType:"product_package_network_switch_type",productFilters:"product_filters",productHbbCategory:"product_hbb_category",productTransactionId:"product_transaction_id",productPurchaseType:"product_purchase_type",cartId:"cart_id",cartProductCategory:"cart_product_category",cartProductId:"cart_product_id",cartProductName:"cart_product_name",cartProductPrice:"cart_product_price",cartProductPriceNet:"cart_product_price_net",cartProductQuantity:"cart_product_quantity",cartStatus:"cart_status",cartTotal:"cart_total",cartTotalNet:"cart_total_net",cartTotalItems:"cart_total_items",cartTotalPackages:"cart_total_packages",userStatus:"user_status",visitorAssuranceLevel:"visitor_assurance_level",visitorAccountsNumber:"visitor_accounts_number",visitorChargesType:"visitor_charges_type",visitorIdEmail:"visitor_id_email",visitorSubscriptionsNumber:"visitor_subscriptions_number",visitorLoginStatus:"visitor_login_status",visitorPhoneNumber:"visitor_phone_number",visitorCustomerCategory:"visitor_customer_category",visitorContactId:"visitor_contact_id",visitorAccountType:"visitor_account_type",visitorAccountId:"visitor_account_id",visitorAccountCategory:"visitor_account_category",visitorAccountStatus:"visitor_account_status",visitorAccountRoles:"visitor_account_roles",visitorAccountSubcategory:"visitor_account_subcategory",visitorSubscriptionType:"visitor_subscription_type",visitorSubscriptionPaymentType:"visitor_subscription_payment_type",visitorSubscriptionRole:"visitor_subscription_role",visitorSubscriptionTypeDxidm:"visitor_subscription_type_dxidm",visitorSubscriptionId:"visitor_subscription_id",visitorSubscriptionStatus:"visitor_subscription_status",visitorBillingAccountId:"visitor_billing_account_id",visitorBillingProfileId:"visitor_billing_profile_id",visitorCustomerStatus:"visitor_customer_status",visitorIdAssetActive:"visitor_id_asset_active",visitorIdAssetPrimary:"visitor_id_asset_primary",visitorLoginAuthorisationRole:"visitor_login_authorisation_role",visitorCustomerTypeLogin:"visitor_customer_type_login",visitorCustomerType:"visitor_customer_type",visitorUpgradeEligibility:"visitor_upgrade_eligibility",visitorContractDaysRemaining:"visitor_contract_days_remaining",visitorFlexiUpgradeCost:"visitor_flexi_upgrade_cost",visitorOcpRating:"visitor_ocp_rating",visitorParentAccountId:"visitor_parent_account_id",visitorProductBrand:"visitor_product_brand",visitorProductId:"visitor_product_id",visitorProductName:"visitor_product_name",visitorProductPackageId:"visitor_product_package_id",visitorProductPackageName:"visitor_product_package_name",visitorProductPlanData:"visitor_product_plan_data",visitorProductPlanDuration:"visitor_product_plan_duration",visitorProductPrice:"visitor_product_price",visitorProductPriceNet:"visitor_product_price_net",visitorProductPriceRecurrenceAmount:"visitor_product_price_recurrence_amount",visitorPriceRecurrenceAmountNet:"visitor_price_recurrence_amount_net",visitorPriceRecurrenceType:"visitor_price_recurrence_type",visitorPriceRecurrenceNumber:"visitor_price_recurrence_number",visitorProductQuantity:"visitor_product_quantity",visitorUsername:"visitor_username",visitorDiscountPercentage:"visitor_discount_percentage",visitorDiscountRecurrenceAmount:"visitor_discount_recurrence_amount",visitorDiscountRecurrenceAmountNet:"visitor_discount_recurrence_amount_net",visitorDeviceLoanNumber:"visitor_device_loan_number",visitorBuyBackGuaranteeEligible:"visitor_buy_back_guarantee_eligible",transactionPaymentMethod:"transaction_payment_method",transactionId:"transaction_id",transactionCouponCode:"transaction_coupon_code",transactionDiscountPercentage:"transaction_discount_percentage",transactionDiscountValue:"transaction_discount_value",transactionDiscountValue_net:"transaction_discount_value_net",transactionMethod:"transaction_method",transactionPaymentType:"transaction_payment_type",transactionShipping:"transaction_shipping",transactionShippingType:"transaction_shipping_type",transactionStatus:"transaction_status",transactionTax:"transaction_tax",transactionTotal:"transaction_total",transactionTotalItems:"transaction_total_items",transactionTotalNet:"transaction_total_net",transactionTotalPackages:"transaction_total_packages",transactionType:"transaction_type",transactionPriceRecurrenceAmount:"transaction_price_recurrence_amount",transactionPriceRecurrenceAmountNet:"transaction_price_recurrence_amount_net",transactionSpendManagerLimit:"transaction_spend_manager_limit",transactionDiscountRecurrenceAmountNet:"transaction_discount_recurrence_amount_net",transactionDiscountRecurrenceAmount:"transaction_discount_recurrence_amount",transactionDiscountValueNet:"transaction_discount_value_net",transactionVoucherRefund:"transaction_voucher_refund",transactionVoucherValue:"transaction_voucher_value",transactionPurchaseType:"transaction_purchase_type",estimateId:"estimate_id",billingPaymentGrossRevenue:"billing_payment_gross_revenue",hbbContractType:"hbb_contract_type",taskId:"task_id",otsServiceProvider:"ots_service_provider",otsSuccessType:"ots_success_type",paymentRecurringPaymentMethod:"payment_recurring_payment_method",paymentCardCredentialsConsent:"payment_card_credentials_consent",quoteId:"quote_id",tradeInType:"trade_in_type",tradeInDuration:"trade_in_duration",tradeInAmount:"trade_in_amount",tradeInDevice:"trade_in_device",tradeInMethod:"trade_in_method",eventAuxiliaryData:"event_auxiliary_data",sessionId:"session_id",platformSessionId:"platform_session_id",errorReferenceId:"error_reference_id",errorCategory:"error_category",errorCode:"error_code",errorMessage:"error_message",errorId:"error_id",errorCustomerMessage:"error_customer_message",errorBackendMessage:"error_backend_message",errorStatus:"error_status",errorSource:"error_source",errorApiMessage:"error_api_message",aomStatus:"aom_status",offerId:"offer_id",offerN
1ame:"offer_name",treatmentName:"treatment_name",offerVariationName:"offer_variation_name",treatmentVariationName:"treatment_variation_name",shopOfferName:"shop_offer_name",shopTreatmentName:"shop_treatment_name",shopOfferVariationName:"shop_offer_variation_name",shopTreatmentVariationName:"shop_treatment_variation_name",aomBundleRecommendationId:"aom_bundle_recommendation_id",aomBundleRecommendedDevice:"aom_bundle_recommended_device",aomBundleRecommendedPlan:"aom_bundle_recommended_plan",aomOfferPosition:"aom_offer_position",shopSubchannel:"shop_subchannel",shopOfferId:"shop_offer_id",aomDiscount:"aom_discount",handsetOfferId:"handset_offer_id",deepLinkHandsetSkuId:"deep_link_handset_skuid",deepLinkPlanSkuId:"deep_link_plan_skuid",deepLinkJourneyType:"deep_link_journey_type",deepLinkLoanTenure:"deep_link_loan_tenure",deepLinkUpfrontPrice:"deep_link_upfront_price",deepLinkAccountType:"deep_link_account_type",deepLinkPrebuilt:"deep_link_prebuilt",deepLinkGoTo:"deep_link_go_to",leaveNetworkReason:"leave_network_reason",leaveNetworkReasonText:"leave_network_reason_text",appService:"app_service",appEnvironment:"app_environment",appVersion:"app_version",ntProfileId:"nt_profile_id",ntExperienceIds:"nt_experience_ids"};async function ee(e,t){const r={};return Object.entries(e).forEach(async([e,i])=>{Z[e]?r[Z[e]]=i:null!==e.match(/^(aux_)/)?r[e.replace(/^(aux_)/,"")]=i:(r[`${e}_____DEPRECATED_OR_NON_EXISTING_ATTRIBUTE`]=i,_.isLowerEnv&&x.add("attribute",{msg:t,attribute:e}))}),r}function te(e,t,r){e.event(t?1:2,"Event name"+(t?" found.":" not found in the config."),r),t||x.add("event",{msg:`the event '${r}' doesn't exist in your events configuration.`})}const re=e=>{if("undefined"!=typeof window){let t=l.get(e);if(t&&0===t.indexOf("j:"))return t=t.replace("j:",""),JSON.parse(t)}return{assuranceLevel:null,givenName:null,numberOfAccounts:null,numberOfSubscriptions:null,accountCategory:null,accountSubCategory:null,subscriptionIdHash:null,phoneNumberHash:null,
1subscriptionType:null}};var ie=Object.defineProperty,oe=Object.getOwnPropertySymbols,ne=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable,se=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ce=({sessionCookiePrefix:e=""})=>((e,t)=>{for(var r in t||(t={}))ne.call(t,r)&&se(e,r,t[r]);if(oe)for(var r of oe(t))ae.call(t,r)&&se(e,r,t[r]);return e})({pagePlatform:"react",pageCurrency:"gbp",pageLocale:"en gb",pageChannel:()=>function(){const e=(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)>768?"desktop":"mobile";return"undefined"!=typeof window&&(window.navigator.standalone||window.matchMedia("(display-mode: standalone)").matches)?`${e} webapp`:`${e} web`}(),pageDomain:()=>window&&window.location.hostname,pageSubdomain:()=>window&&window.location.hostname,pageUrl:()=>window&&window.location.href,pagePath:()=>window&&window.location.pathname,pagePathQuery:()=>window&&window.location.pathname+window.location.search,pageTitle:()=>document&&document.title,pageAnalyticsLibraryVersion:()=>{var e;return(null==(e=null==window?void 0:window.process)?void 0:e.libWebAnalyticsVersion)||"unknown"}},function(e=""){const t=re(`${e}_p_id_token`),r=re("Session");return Boolean(t.assuranceLevel)?{visitorLoginStatus:(i=t).assuranceLevel>=3?"logged in":"logged out",visitorAssuranceLevel:i.assuranceLevel,visitorContactId:i.contactIdHash,visitorUsername:i.usernameHash,visitorAccountsNumber:i.numberOfAccounts,visitorAccountId:i.accountIdHash,visitorAccountCategory:i.accountCategory,visitorAccountSubcategory:i.accountSubCategory,visitorAccountType:i.accountType,visitorAccountStatus:i.accountStatus,visitorAccountRoles:i.accountRoles,visitorParentAccountId:i.accountParentAccountIdHash,visitorSubscriptionsNumber:i.numberOfSubscriptions,visitorSubscriptionId:i.subscriptionIdHash,visitorSubscriptionTypeDxidm:i.subscriptionType,visitorSubscriptionRole:i.subscriptionRoles,visitorSubscriptionPaymentType:i.subscriptionPaymentType,visitorSubscriptionStatus:i.subscriptionStatus,visitorBillingAccountId:i.subscriptionBillingAccountIdHash,visitorBillingProfileId:i.subscriptionBillingProfileIdHash,ivrTransactionConnectionId:()=>{var e;const t=function(e){var t;if(!e)return;const r={},i=null==(t=e.split("?"))?void 0:t[1];return i?(i.split("&").forEach(e=>{const t=e.split("=");r[t[0]]=t[1]}),r):null}(null==(e=null==window?void 0:window.location)?void 0:e.href);return t&&t.itc?t.itc:"NO_VALUE_FOUND"}}:function(e){const{assuranceLevel:t=0,numberOfAccounts:r=0,numberOfSubscriptions:i=0,accountCategory:o=null,accountSubCategory:n=null,subscriptionIdHash:a=null,phoneNumberHash:s=null,subscriptionType:c=null}=e||{};return{visitorLoginStatus:parseInt(""+t,10)>=3?"logged in":"logged out",visitorAccountsNumber:parseInt(""+r,10),visitorSubscriptionsNumber:parseInt(""+i,10),visitorAccountCategory:o,visitorAccountSubcategory:n,visitorPhoneNumber:s,visitorIdAssetPrimary:a,visitorIdAssetActive:a,visitorSubscriptionId:a,visitorSubscriptionType:c}}(r);var i}(e));function ue({sessionCookiePrefix:e="",override:t={}}){return d({},ce({sessionCookiePrefix:e}),t)}var le={initialize:async function e(t){var r;p()&&(n.initLocalStorageGroups(T),_.isAnalyticsInitialized||(_.isAnalyticsInitialized=!0,n.group("analytics").header("Analytics","Initialize"),n.group("analytics").section("ConfigService","Initialize"),_.init(t),n.group("analytics").section("ErrorTracker","Initialize"),_.isLowerEnv&&(window.vf_analytics=x),n.group("analytics").section("TealiumLoader","load"),await v(K.load(t.tealiumTagUrl))&&(n.group("analytics").section("TealiumLoader","verify"),await K.verifyTealium(),n.group("analytics").section("RequestResolver","Initialize"),D.init(),n.group("analytics").check("analyticsReadyDefer",!0),_.analyticsReadyDefer.resolve(),n.group("analytics").section("analyticsTestingLibrary","verify"),U.verify(),window.OneTrust&&(n.group("analytics").section("OneTrust","Initialize"),null==(r=window.OneTrust)||r.OnConsentChanged(()=>{_.isAnalyticsInitialized=!1,e(t)})))))},updatePageConfig:function(e){var t,r,o,s;p()&&(n.group("analytics").header("updatePageConfig","Update"),n.group("analytics").status("updatePageConfig","update configPage",!0),_.configPage=e,a(_.defaultPayload)||(n.group("analytics").status("updatePageConfig","extend defaultPayload",!0),i(_.defaultPayload,_.configPage)),n.group("analytics").log("configPage",String(null==(r=Object.keys(null==(t=_)?void 0:t.configPage))?void 0:r.length)),n.group("analytics").log("defaultPayload",String(null==(s=Object.keys(null==(o=_)?void 0:o.defaultPayload))?void 0:s.length)))},extendPageConfig:function(e){var t,r;p()&&(n.group("analytics").header("extendPageConfig","Extend"),n.group("analytics").status("extendPageConfig","extend configPage",!0),_.configPage=i(_.configPage,e),a(_.defaultPayload)||(n.group("analytics").status("updatePageConfig","extend defaultPayload",!0),i(_.defaultPayload,_.configPage)),n.group("analytics").log("defaultPayload",String(null==(r=Object.keys(null==(t=_)?void 0:t.defaultPayload))?void 0:r.length)))},updateEventsConfig:function(e){var t,r;p()&&(n.group("analytics").header("updateEventsConfig","update"),n.group("analytics").status("updateEventsConfig","update configEvents",!0),_.configEvents=e,n.group("analytics").log("configEvents",String(null==(r=Object.keys(null==(t=_)?void 0:t.configEvents))?void 0:r.length)))},updateGlobalConfig:function(e){var t,r,o,s;p()&&(n.group("analytics").header("updateGlobalConfig","update"),n.group("analytics").status("updateGlobalConfig","update configGlobal",!0),_.configGlobal=e,a(_.defaultPayload)||(n.group("analytics").status("updateGlobalConfig","extend defaultPayload",!0),_.defaultPayload=i(_.defaultPayload,_.configGlobal)),n.group("analytics").log("configGlobal",String(null==(r=Object.keys(null==(t=_)?void 0:t.configGlobal))?void 0:r.length)),n.group("analytics").log("defaultPayload",String(null==(s=Object.keys(null==(o=_)?void 0:o.defaultPayload))?void 0:s.length)))},extendEventsConfig:function(e){var t,r,i;p()&&(n.group("analytics").header("extendsEventsConfig","extends"),n.group("analytics").status("extendsEventsConfig","extends configEvents",!0),_.configEvents=S(S({},(null==(t=_)?void 0:t.configEvents)||{}),e),n.group("analytics").log("configEvents",String(null==(i=Object.keys(null==(r=_)?void 0:r.configEvents))?void 0:i.length)))},view:async function(e,t,r){if(!p())return;if(n.group("analytics:view").header("View","call"),"untracked"===e)return void n.group("analytics:view").status("Untracked","skip",!1);if(n.group("analytics:view").status("wait","analyticsReadyDefer",-1),await _.analyticsReadyDefer,n.group("analytics:view").status("wait","analyticsReadyDefer",!0),_.analyticsLoadFailed)return void n.group("analytics:view").check("is analytics loaded",!1);n.group("analytics:view").check("is analytics loaded",!0);const o=X(e,t);let a=i({},_.defaultPayload,o);a=J(a),a=await ee(a,e),_.isLowerEnv&&_.log&&te(_.log,o,e),n.group("analytics:view").status("addAnalyticsEvent",e,!0),y.addEvent(()=>Y("view",a,e)),n.group("analytics:view").status("flushBuffer","inprogress",-1),await y.flushBuffer(),n.group("analytics:view").status("flushBuffer","resolved",!0)},link:async function(e,t,r){if(!p())return;if(n.group("analytics:link").header("Link","call"),"untracked"===e)return void n.group("analytics:link").status("Untracked","skip",!1);if(n.group("analytics:link").status("wait","analyticsReadyDefer",-1),await _.analyticsReadyDefer,n.group("analytics:link").status("wait","analyticsReadyDefer",!0),_.analyticsLoadFailed)return void n.group("analytics:link").check("is analytics loaded",!1);n.group("analytics:link").check("is analytics loaded",!0);const o=X(e,t);let a=i({},_.defaultPayload,o);a=J(a),a=await ee(a,e),_.isLowerEnv&&_.log&&te(_.log,o,e),n.group("analytics:link").status("addAnalyticsEvent",e,!0),y.addEvent(()=>Y("link",a,e)),n.group("analytics:link").status("flushBuffer","inprogress",-1),await y.flushBuffer(),n.group("analytics:link").status("flushBuffer","resolved",!0)},awaitAnalyticsRequestsReady:m,config:{events:_.configEvents}}},78322:(e,t,r)=>{"use strict";r.d(t,{Cl:()=>i,fX:()=>o});var i=function(){return i=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},i.apply(this,arguments)};function o(e,t,r){if(r||2===arguments.length)for(var i,o=0,n=t.length;o<n;o++)!i&&o in t||(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError},57148:(e,t,r)=>{"use strict";r.d(t,{A:()=>s});const i={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};let o;const n=new Uint8Array(16),a=[];for(let e=0;e<256;++e)a.push((e+256).toString(16).slice(1));const s=function(e,t,r){if(i.randomUUID&&!t&&!e)return i.randomUUID();const s=(e=e||{}).random??e.rng?.()??function(){if(!o){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");o=crypto.getRandomValues.bind(crypto)}return o(n)}();if(s.length<16)throw new Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){if((r=r||0)<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=s[e];return t}
1return function(e,t=0){return(a[e[t+0]]+a[e[t+1]]+a[e[t+2]]+a[e[t+3]]+"-"+a[e[t+4]]+a[e[t+5]]+"-"+a[e[t+6]]+a[e[t+7]]+"-"+a[e[t+8]]+a[e[t+9]]+"-"+a[e[t+10]]+a[e[t+11]]+a[e[t+12]]+a[e[t+13]]+a[e[t+14]]+a[e[t+15]]).toLowerCase()}(s)}}}]);
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.