@adobe/alloy 2.33.0 → 2.33.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/alloy.js +279 -19
- package/dist/alloy.min.js +1 -1
- package/dist/types/browser/src/index.d.ts +4 -2
- package/package.json +1 -1
- package/src/index.js +9 -6
package/dist/alloy.min.js
CHANGED
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
|
|
13
13
|
!function(){"use strict";var e=e=>null==e,t=t=>!e(t)&&!Array.isArray(t)&&"object"==typeof t;const n=e=>{const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0))},r=(e,t={})=>{const{urlSafe:n=!1}=t||{},r=btoa(String.fromCharCode(...e));return n?r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):r};
|
|
14
14
|
/*! js-cookie v3.0.5 | MIT */
|
|
15
|
-
function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="BODY",v="IMG",w="STYLE",I="SCRIPT";var b=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(v,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),E=e=>"function"==typeof e,k=e=>Array.isArray(e)&&e.length>0,C=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const S=/^\s*>/;var P=(e,t)=>S.test(t)?C(e.querySelectorAll(`:scope ${t}`)):C(e.querySelectorAll(t)),D=":shadow";const R=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return`${e instanceof Element||e instanceof Document?":scope":":host"} ${n}`};var T=(e,t)=>{const n=(e=>e.split(D))(t);if(n.length<2)return P(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=R(r,t),i=P(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},O=(e,t=document)=>-1===e.indexOf(D)?P(t,e):T(t,e);const M="MutationObserver",N={childList:!0,subtree:!0},A=e=>new Error(`Could not find: ${e}`),x=e=>new Promise(e);var q=(e,t=O,n=5e3,r=window,o=document)=>{const i=t(e);return k(i)?Promise.resolve(i):(e=>E(e[M]))(r)?((e,t,n,r,o)=>x((i,a)=>{let s;const c=new e[M](()=>{const e=o(n);k(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(A(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>x((o,i)=>{const a=()=>{const n=r(t);k(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(A(t))},n)}))(r,e,n,t):((e,t,n)=>x((r,o)=>{const i=()=>{const t=n(e);k(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(A(e))},t)}))(e,n,t)};let $;const L=(e=document)=>{if(void 0===$){const t=e.querySelector("[nonce]");$=t&&(t.nonce||t.getAttribute("nonce"))}return $},U=(e,t={})=>document.querySelector(`script[src="${e}"]`)?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error(`Failed to load script: ${e}`);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var _=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=`${z}getTld`;var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>`${G}_${Q(e)}_${t}`,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",Z="Edge",ee="EdgeChromium",te="Firefox",ne="IE",re="Safari",oe="Unknown";var ie=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ae=[Y,Z,ee,"IE",oe];var se=({getBrowser:e})=>ie(()=>ae.includes(e()));var ce=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const de=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var le=e=>t=>{const n=z+t;return{session:de(e,"sessionStorage",n),persistent:de(e,"localStorage",n)}},ue=e=>"boolean"==typeof e,pe=e=>"number"==typeof e&&!Number.isNaN(e),ge=e=>{const t=parseInt(e,10);return pe(t)&&e===t},me=e=>"string"==typeof e,fe=e=>me(e)&&e.length>0,he=()=>{};const ye=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=`${n[2]}.${n[3]}`}return t},ve=(e,t=ye)=>{me(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var we,Ie;function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ee=(Ie||(Ie=1,we={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),we),ke=be(Ee);const Ce=e=>Array.isArray(e)?e.map(e=>Ce(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=Ce(e[n]),t),{}):e;var Se=e=>Ce(e),Pe=e=>e instanceof Error?e:new Error(e),De=({error:e,message:t})=>{try{e.message=t}catch{}},Re=({error:e,message:t})=>{const n=Pe(e),r=`${t}\nCaused by: ${n.message}`;return De({error:n,message:r}),n},Te=(e,t)=>{if(pe(e)||me(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Oe=(e,t,n)=>`${e}`.padStart(t,n);const Me=[];for(let e=0;e<256;++e)Me.push((e+256).toString(16).slice(1));const Ne=new Uint8Array(16);function Ae(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const r=e.random??e.rng?.()??crypto.getRandomValues(Ne);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Me[e[t+0]]+Me[e[t+1]]+Me[e[t+2]]+Me[e[t+3]]+"-"+Me[e[t+4]]+Me[e[t+5]]+"-"+Me[e[t+6]]+Me[e[t+7]]+"-"+Me[e[t+8]]+Me[e[t+9]]+"-"+Me[e[t+10]]+Me[e[t+11]]+Me[e[t+12]]+Me[e[t+13]]+Me[e[t+14]]+Me[e[t+15]]).toLowerCase()}(r)}(e,t,n):crypto.randomUUID()}const xe=e=>function(t,n){return null==t?t:e.call(this,t,n)},qe=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},$e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},Le=(e,t,n)=>Object.assign(qe(e,t),e,n),Ue=(e,t,n)=>Object.assign(qe(e,xe(t)),e,n),_e=(e,t,n,r)=>{if(!e)throw new Error(`'${n}': Expected ${r}, but got ${JSON.stringify(t)}.`)};var je=(e,t)=>(_e(ue(e),e,t,"true or false"),e),Be=(e,t)=>(_e(E(e),e,t,"a function"),e),Fe=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return _e(i,n,r,t),o},Ve=e=>function(t,n){_e(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,`${n}[${i}]`,t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},He=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r=`'${n}': ${r}`),this&&this.logger&&this.logger.warn(r)),t},ze=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?`${r}.${t}`:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Je=(e,t)=>(n,r)=>(_e(n>=t,n,r,`${e} greater than or equal to ${t}`),n),Xe=e=>(n,r)=>(t(n)?_e(!F(n),n,r,e):_e(n.length>0,n,r,e),n),Ge=e=>function(n,r){_e(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?`${r}.${t}`:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,n,r)=>function(o,i){_e(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t=`The field '${e}' is deprecated. Use '${r}' instead.`;if(i&&(t=`'${i}': ${t}`),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},Ke=()=>(e,t)=>(_e((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const We=/^[a-z0-9.-]{1,}$/i;var Ye=(e,t)=>(_e(We.test(e),e,t,"a valid domain"),e),Ze=(e,t)=>(_e(ge(e),e,t,"an integer"),e),et=(e,t)=>(_e(pe(e),e,t,"a number"),e),tt=(e,t)=>(_e((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),nt=(e,t)=>{if(null==e)throw new Error(`'${t}' is a required option`);return e},rt=(e,t)=>(_e(me(e),e,t,"a string"),e);const ot=e=>e;ot.default=function(e){return Le(this,(e=>t=>null==t?e:t)(e))},ot.required=function(){return Le(this,nt)},ot.deprecated=function(e){return Le(this,He(e))};const it=function(){return Ue(this,Ye)},at=function(e){return Ue(this,Je("an integer",e))},st=function(e){return Ue(this,Je("a number",e))},ct=function(e){return Ue(this,(t="a number",n=e,(e,r)=>(_e(e<=n,e,r,`${t} less than or equal to ${n}`),e)));var t,n},dt=function(){return Ue(this,Ze,{minimum:at})},lt=function(){return Ue(this,Xe("a non-empty string"))},ut=function(){return Ue(this,Xe("a non-empty array"))},pt=function(){return Ue(this,Xe("a non-empty object"))},gt=function(){return Ue(this,tt)},mt=function(e){return Ue(this,(e=>(t,n)=>(_e(e.test(t),t,n,`does not match the ${e.toString()}`),t))(e))},ft=function(){return Ue(this,(()=>{const e=[];return(t,n)=>(_e(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},ht=function(){return Ue(this,Ke())},yt=e=>({noUnknownFields:function(){return Ue(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?`${n}.${t}`:t;r.push(`'${e}': Unknown field.`)}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:pt,concat:function(t){const n={...e,...t.schema};return Ue(this,t,yt(n))},renamed:function(e,t,n){return r=this,o=Qe(e,t,n),Object.assign($e(xe(o),r),r,i);var r,o,i},schema:e}),vt=function(e,t){return Le(this,Fe(e,t))}.bind(ot),wt=function(){return this}.bind(ot),It=function(e){return Ue(this,Ve(e),{nonEmpty:ut,uniqueItems:ht})}.bind(ot),bt=function(){return Ue(this,je)}.bind(ot),Et=function(){return Ue(this,Be)}.bind(ot),kt=function(e){return Ue(this,(e=>(t,n)=>(_e(t===e,t,n,`${e}`),t))(e))}.bind(ot),Ct=function(){return Ue(this,et,{minimum:st,maximum:ct,integer:dt,unique:ft})}.bind(ot),St=function(e){return Ue(this,ze(e),{nonEmpty:pt})}.bind(ot),Pt=function(e){return Ue(this,Ge(e),yt(e))}.bind(ot),Dt=function(){return Ue(this,rt,{regexp:gt,domain:it,nonEmpty:lt,unique:ft,matches:mt})}.bind(ot),Rt=function(...e){return vt(e.map(kt),`one of these values: ${JSON.stringify(e)}`)};var Tt=St(It(Pt({authenticatedState:Rt("ambiguous","authenticated","loggedOut"),id:Dt(),namespace:Pt({code:Dt()}).noUnknownFields(),primary:bt(),xid:Dt()}).noUnknownFields()).required()),Ot=Pt({}),Mt="alloy_debug",Nt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=ke.parse(t),s=o(`instance.${r}.`),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[Mt]&&p((g=a[Mt],me(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const At=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var xt=e=>At.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const qt=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw Re({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw Re({error:e,message:t})})),r};var $t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error(`[ComponentRegistry] Could not register ${e} because it has existing command(s): ${r.join(",")}`);Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=qt(o.run,`[${e}] An error occurred while executing the ${r} command.`),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(qt(t[r],`[${e}] An error occurred while executing the ${r} lifecycle hook.`))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const Lt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},Ut=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var _t=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=Lt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===Ut.LEN){const r=Lt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case Ut.VARINT:t+=Lt(e,t).length;break;case Ut.I64:t+=8;break;case Ut.LEN:{const n=Lt(e,t);t+=n.length+n.value;break}case Ut.SGROUP:case Ut.EGROUP:break;case Ut.I32:t+=4;break;default:throw new Error(`Malformed kndctr cookie. Unknown wire type: ${i}`)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn(`Unable to decode ECID from ${o} cookie`,e),null}}},jt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=_t({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Bt="in",Ft="out",Vt="pending",Ht="disabled",zt="wait",Jt="auto",Xt="general",Gt="declinedConsent",Qt="default",Kt="initial",Wt="new",Yt=e=>{const t=new Error(e);return t.code=Gt,t.message=e,t};var Zt=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(Yt("No consent preferences have been set.")),i=()=>Promise.reject(Yt("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Qt?this.awaitConsent=n:(o===Kt?e.info("Loaded user consent preferences. The user previously consented."):o===Wt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Qt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===Kt?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Wt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(Yt("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Qt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const en=e=>e&&e._experience&&e._experience.decisioning&&k(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var tn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(`${e} cannot be called after event is finalized.`)},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...en(n),...en(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const nn="configure",rn="setDebug";var on=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===nn){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===rn?()=>{const e=Pt({enabled:bt().required()}).noUnknownFields(),t=i({command:{commandName:rn,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!E(n.run)){const n=[nn,rn].concat(e.getCommandNames()).join(", ");throw new Error(`The ${t} command does not exist. List of available commands: ${n}.`)}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn(`An error during configuration is preventing the ${t} command from executing.`),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,`${s} command`)).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const an="https://adobe.ly/3sHgQHb";var sn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=an,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error(`Invalid ${n} command options:\n\t - ${e} For command documentation see: ${r}`)}return i};var cn=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error(`Resolve these configuration problems:\n\t - ${e.message.split("\n").join("\n\t - ")}\nFor configuration documentation see: https://adobe.ly/3sHh553`)}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const dn=e=>({...e});var ln=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Pe(n);if(o.code===Gt)return t.warn(`The ${r} could not fully complete. ${o.message}`),{};throw De({error:o,message:`${e} ${o.message}`}),o},un=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o=`[${r.instanceName}]`;r.componentName&&(o+=` [${r.componentName}]`);const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info",`Executing ${e.commandName} command. Options:`,e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",`${e.commandName} command resolved. Result:`,e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",`${e.commandName} command was rejected. Error:`,e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info",`Request ${e.requestId}: Sending request.`,e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info",`Request ${e.requestId}: Received response with status code ${e.statusCode} and ${t}`,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error",`Request ${e.requestId}: Network request failed.`,e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},pn="__view__",gn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},mn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=Ae();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},fn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return mn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var hn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!ue(t)||"enabled"===n&&!1!==t)&&!pe(t)&&!fe(t)&&!k(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},yn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),vn=()=>{const e={};return{...hn({content:e,addIdentity:gn(e),hasIdentity:yn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},wn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const In="clientId";const bn="Event was canceled because the onBeforeEventSend callback returned false.";var En=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(`${G}_${Q(e)}_`))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var kn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),Cn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Sn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Pn="The server responded with a";var Dn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return`t${e}`})()};const Rn=[429,503,502,504];var Tn=({response:e,retriesAttempted:t})=>t<3&&Rn.includes(e.statusCode);var On=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=ge(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var Mn=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};const Nn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Pt({type:Dt(),xdm:Pt({eventType:Dt(),identityMap:Tt}),data:Pt({}),documentUnloading:bt(),renderDecisions:bt(),decisionScopes:It(Dt()).uniqueItems(),personalization:Pt({decisionScopes:It(Dt()).uniqueItems(),surfaces:It(Dt()).uniqueItems(),sendDisplayEvent:bt().default(!0),includeRenderedPropositions:bt().default(!1),defaultPersonalizationEnabled:bt(),decisionContext:Pt({})}).default({sendDisplayEvent:!0}),datasetId:Dt(),mergeId:Dt(),edgeConfigOverrides:Ot,advertising:Pt({handleAdvertisingData:Rt(Ht,zt,Jt).default(Ht)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Pt({renderDecisions:bt(),responseHeaders:St(Dt().required()),responseBody:Pt({handle:It(Pt({type:Dt().required(),payload:wt().required()})).required()}).required(),personalization:Pt({sendDisplayEvent:bt().default(!0),decisionContext:Pt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Nn.namespace="DataCollector";const An=(e,t)=>`ID sync ${t?"succeeded":"failed"}: ${e.spec.url}`;const xn=Pt({thirdPartyCookiesEnabled:bt().default(!0),idMigrationEnabled:bt().default(!0)});var qn=Pt({url:Dt().required().nonEmpty(),edgeConfigOverrides:Ot}).required().noUnknownFields(),$n="ECID",Ln=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),Un=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return E(t)&&E(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(`${t.message}, retrieving ECID from experience edge`):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},_n="CORE",jn="adobe_mc",Bn=e=>{try{return decodeURIComponent(e)}catch{return""}};var Fn=(e,t)=>{e.addIdentity($n,{id:t})},Vn=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),Hn=({payload:e,datastreamIdOverride:t})=>mn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),zn=e=>{const t={query:{identity:{fetch:e}}};return hn({content:t,addIdentity:gn(t),hasIdentity:yn(t)})};const Jn=/^([^?#]*)(\??[^#]*)(#?.*)$/;const Xn=Pt({namespaces:It(Rt($n,_n)).nonEmpty().uniqueItems().default([$n]),edgeConfigOverrides:Ot}).noUnknownFields().default({namespaces:[$n]});const Gn=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s=`AMCV_${a}`,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,`MCMID|${e}`,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:Un({logger:t,orgId:d,awaitVisitorOptIn:Ln}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=ce({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=wn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:zn,createIdentityRequest:Hn,globalConfigOverrides:u}),h=se({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity($n)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:Fn}),w=(({locationSearch:e,locationHash:t,dateProvider:n,orgId:r,logger:o})=>i=>{if(i.hasIdentity($n))return;let a=ke.parse(e)[jn]??ke.parse(t.slice(t.indexOf("?")))[jn];if(void 0===a)return;Array.isArray(a)&&(o.warn("Found multiple adobe_mc query string parameters, only using the last one."),a=a[a.length-1]);let s="";for(;s!==a;)s=a,a=Bn(a);const c=a.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=Bn(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),d=parseInt(c.TS,10),l=c.MCMID,u=Bn(c.MCORGID);n().getTime()/1e3<=d+300&&u===r&&l?(o.info(`Found valid ECID identity ${l} from the adobe_mc query string parameter.`),i.addIdentity($n,{id:l})):o.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,locationHash:window.document.location.hash,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn(`Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID ${t} configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed.`),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(An(n,!0))}).catch(()=>{t.warn(An(n,!1))}))).then(he):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),k=(({processIdSyncs:e})=>t=>{e(t.getPayloadsByType("identity:exchange"))})({processIdSyncs:E}),C=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent(`TS=${o}|MCMID=${n}|MCORGID=${encodeURIComponent(t)}`),[,a,s,c]=r.match(Jn),d=(e=>""===e?"?":"?"===e?"":"&")(s);return`${a}${s}${d}adobe_mc=${i}${c}`})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=Xn(t);if(!e&&n.namespaces.includes(_n))throw new Error(`namespaces: The ${_n} namespace cannot be requested when third-party cookies are disabled.`);return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[$n]}};return e&&t()&&n.identity.fetch.push(_n),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[$n]||!t||!t[$n]||r(t[$n]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes($n)&&(p||(p={}),p[$n]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:qn,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[$n]=t)):a(e)}).then(()=>({url:c(p[$n],e.url)})).catch(t=>(d.warn(`Unable to append identity to url. ${t.message}`),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:k,getNamespacesFromResponse:Vn,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:C,logger:t,getIdentityOptionsValidator:S})};Gn.namespace="Identity",Gn.configValidators=xn;var Qn="2.33.0";const Kn=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),nn,rn].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:Qn,configs:r,commands:n,components:o}},Wn=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:Kn({config:e,componentRegistry:t})})}}});Wn.namespace="LibraryInfo";var Yn=Object.freeze({__proto__:null,dataCollector:Nn,identity:Gn,libraryInfo:Wn});const Zn=le(window),{fetch:er,navigator:tr}=window,nr=Pt({debugEnabled:bt().default(!1),datastreamId:Dt().unique().required(),edgeDomain:Dt().domain().default("edge.adobedc.net"),edgeBasePath:Dt().nonEmpty().default("ee"),orgId:Dt().unique().required(),onBeforeEventSend:Et().default(he),edgeConfigOverrides:Ot}).renamed("edgeConfigId",Dt().unique(),"datastreamId"),rr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),or=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:er}),ir=(({appendNode:e=f,awaitSelector:t=q,createNode:n=h,fireImage:r=b}={})=>{const o=r;let i;const a=({src:o})=>t(y).then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),ar=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=ke.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(In);return t||(t=Ae(),e.persistent.setItem(In,t)),t})(n),o=`${t}|${r}`;return`&${ke.stringify({adobeAepValidationToken:o})}`}})({window:window,createNamespacedStorage:Zn}),sr=(({userAgent:e})=>ie(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return oe})({[Z]:/Edge\/([0-9\._]+)/,[ee]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[te]:/Firefox\/([0-9\.]+)(?:\s|$)/,[ne]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[re]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=$t(),s=xt(i),c=o.concat(Object.values(Yn)),d=p({logger:n,cookieJar:a}),l=ln({errorPrefix:`[${e}]`,logger:n}),g=on({logger:n,configureCommand:o=>{const l=cn({options:o,componentCreators:c,coreConfigValidators:nr,createConfig:dn,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=En({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:rr,dateProvider:()=>new Date}),h=E(tr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:tr.sendBeacon.bind(tr),sendFetchRequest:or,logger:n}):or,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),Re({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:or,sendBeaconRequest:h,isRequestRetryable:Tn,getRequestRetryDelay:On}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(`${Pn} status code ${n} and ${e?`response body:\n${e}`:"no response body."}`)}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(`${Pn} warning:`,t)}),n.forEach(t=>{e.error(`${Pn} non-fatal error:`,t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn(`Invalid adobe edge: "${t}"`)}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),b=Dn({orgId:p,cookieJar:a}),k=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?`${d}/${n}${t.getEdgeSubPath()}`:`${d}${t.getEdgeSubPath()}`,o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),`https://${e}/${r}/v1/${t.getAction()}?configId=${o}&requestId=${t.getId()}${s()}`};return({request:e,runOnResponseCallbacks:a=he,runOnRequestFailureCallbacks:s=he})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Sn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return Cn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(kn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:b,getAssuranceValidationTokenParams:ar}),C=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=he,runOnRequestFailureCallbacks:c=he})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(Cn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(kn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Xt]){case Bt:e.in(r);break;case Ft:e.out(r);break;case Vt:e.pending(r);break;default:t.warn(`Unknown consent value: ${n[Xt]}`)}};return{initializeConsent(e,t){t[Xt]?n(t,Kt):n(e,Qt)},setConsent(e){n(e,Wt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:Zt({logger:n}),logger:n}),P=jt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=wn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(bn);const e=new Error(bn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[pn],personalization:l,onResponse:m.add,onRequestFailure:he}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:tn,createDataCollectionRequestPayload:vn,createDataCollectionRequest:fn,sendEdgeNetworkRequest:k,applyResponse:C});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw Re({error:e,message:`[${t}] An error occurred during component creation.`})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:k,handleError:ln({errorPrefix:`[${e}] [${t}]`,logger:n}),createNamespacedStorage:Zn,apexDomain:rr,getBrowser:sr,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:sn});return g},dr=(e,t)=>`URL destination ${t?"succeeded":"failed"}: ${e.spec.url}`;var lr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(async n=>{const r=n.filter(e=>"url"===e.type);await Promise.allSettled(r.map(async n=>{try{await e(n.spec),t.info(dr(n,!0))}catch{t.warn(dr(n,!1))}}))})(r))};const ur=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=(({processDestinations:e})=>({response:t})=>{const n=t.getPayloadsByType("activation:push");e(n)})({processDestinations:lr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol})});return{lifecycle:{onResponse:o},commands:{}}};ur.namespace="Audiences";const pr=({standard:e,version:t})=>`${e}.${t}`;var gr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=pr(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(Se(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=pr(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=pr(t);e.setItem(n,r(t))})}}}}),mr=()=>{const e={};return{...hn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},fr=({payload:e,datastreamIdOverride:t})=>mn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),hr=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),yr=Pt({consent:It(wt()).required().nonEmpty(),identityMap:Tt,edgeConfigOverrides:Ot}).noUnknownFields().required(),vr=Pt({defaultConsent:Rt(Bt,Ft,Vt).default(Bt)});const wr=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:hr,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=wn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:mr,createConsentRequest:fr,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(`${Q(i)}.consentHashes.`),p=gr({storage:u.persistent}),g=ce({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Xt]:n};let d=e.read();const l=s(),u=void 0!==d[Xt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Xt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:yr,consentHashStore:p,doesIdentityCookieExist:g})};wr.namespace="Consent",wr.configValidators=vr;var Ir=()=>({eventMergeId:Ae()});const br=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:Ir});br.namespace="EventMerge";var Er={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},kr=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===Er.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:i,appVersion:a}=e.streamingMedia,s=t.createEvent(),{sessionDetails:c}=n.xdm.mediaCollection;return o(s),s.setUserXdm(n.xdm),s.mergeXdm({eventType:Er.SESSION_START,mediaCollection:{sessionDetails:{playerName:c.playerName||r,channel:c.channel||i,appVersion:c.appVersion||a}}}),s},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Te(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=vn(),i=(({mediaRequestPayload:e,action:t})=>mn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),Cr="main",Sr="completed",Pr=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=Sr)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var Dr=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===Er.SESSION_COMPLETE||c===Er.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===Er.AD_START||e===Er.Ad_BREAK_START||e===Er.AD_SKIP||e===Er.AD_COMPLETE?"ad":e===Er.AD_BREAK_COMPLETE||e===Er.CHAPTER_COMPLETE||e===Er.CHAPTER_START||e===Er.CHAPTER_SKIP||e===Er.SESSION_START?"main":e===Er.SESSION_END||e===Er.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:Er.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error(`Failed to trigger media event: ${c}. Session ID is not available for playerId: ${a}.`)))};return e=>r(e)},Rr=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:Cr}}),d},Tr=e=>!me(e)||!e.trim(),Or=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(k(a)){const{sessionId:r}=a[0];if(Tr(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:Er.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:Cr}),{sessionId:r}}return{}};const Mr={Video:"video",Audio:"audio"},Nr={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Ar={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},xr={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},qr="sessionStart",$r="sessionEnd",Lr="sessionComplete",Ur="play",_r="pauseStart",jr="error",Br="statesUpdate",Fr={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Vr={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},Hr={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},zr={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Jr=({logger:e})=>{const t=(t,n,r)=>{const o=Pt(n),i=Object.keys(n);return(...n)=>{const a=Object.fromEntries(i.map((e,t)=>[e,n[t]]));try{const e=o(a),t=i.map(t=>e[t]);return r(...t)}catch(n){return e.warn(`An error occurred while creating the ${t}.`,n),{}}}};return{createMediaObject:t("MediaObject",{name:Dt().nonEmpty(),id:Dt().nonEmpty(),length:Ct().required(),streamType:Dt().nonEmpty(),mediaType:Dt().nonEmpty()},(e,t,n,r,o)=>({sessionDetails:{friendlyName:e,name:t,length:Math.round(n),contentType:r,streamType:o}})),createAdBreakObject:t("AdBreakObject",{name:Dt().nonEmpty(),position:Ct(),startTime:Ct()},(e,t,n)=>({advertisingPodDetails:{friendlyName:e,index:t,offset:n}})),createAdObject:t("AdObject",{name:Dt().nonEmpty(),id:Dt().nonEmpty(),position:Ct(),length:Ct()},(e,t,n,r)=>({advertisingDetails:{friendlyName:e,name:t,podPosition:n,length:r}})),createChapterObject:t("ChapterObject",{name:Dt().nonEmpty(),position:Ct(),length:Ct(),startTime:Ct()},(e,t,n,r)=>({chapterDetails:{friendlyName:e,index:t,length:n,offset:r}})),createStateObject:t("StateObject",{stateName:Dt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.")},e=>({name:e})),createQoEObject:t("QoEObject",{bitrate:Ct(),startupTime:Ct(),fps:Ct(),droppedFrames:Ct()},(e,t,n,r)=>({bitrate:e,timeToStart:t,framesPerSecond:n,droppedFrames:r})),version:`WEBSDK ${Qn}`}};const Xr={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},Gr={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Qr=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===xr.BufferComplete||e===xr.SeekComplete?Ur:e===xr.StateStart||e===xr.StateEnd?Br:e===xr.SeekStart?_r:e)({eventType:e});if(e===xr.StateStart){return{eventType:`media.${r}`,mediaCollection:{statesStart:[t]}}}if(e===xr.StateEnd){return{eventType:`media.${r}`,mediaCollection:{statesEnd:[t]}}}const o={eventType:`media.${r}`,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{Xr[e]?o.mediaCollection.sessionDetails[Xr[e]]=n[e]:Gr[e]?o.mediaCollection.advertisingDetails[Gr[e]]=n[e]:i.push({name:e,value:n[e]})}),k(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:qr,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Ur});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:_r});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:$r});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Lr});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn(`trackError(${e})`),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:jr,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(xr).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?pe(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}},Kr=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})};const Wr=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=Pr(),a=kr({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:Kr(()=>new Date)}),s=Dr({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=Rr({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=he}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:Ae}),Event:xr,MediaType:Mr,PlayerState:Ar,StreamType:Nr,MediaObjectKey:Fr,VideoMetadataKeys:Vr,AudioMetadataKeys:Hr,AdMetadataKeys:zr,...n})}}}}))({mediaResponseHandler:Or({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Jr,createGetInstance:Qr,logger:r,config:n})};Wr.namespace="Legacy Media Analytics";const Yr="AJO",Zr="TGT",eo=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,to=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{eo(e[r])||Array.isArray(e[r])?to(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var no=e=>eo(e)?to(e):e;const ro="matcher",oo="group",io="historical",ao="eq",so="ne",co="ex",lo="nx",uo="gt",po="ge",go="lt",mo="le",fo="co",ho="nc",yo="sw",vo="ew",wo="and",Io="or",bo="ordered",Eo="mostRecent";function ko(e){return"object"==typeof e||void 0===e}function Co(e){return"number"==typeof e}const So={[ao]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[so]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[co]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[lo]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[uo]:{matches:(e,t,n=[])=>{const r=e[t];if(!Co(r))return!1;for(let e=0;e<n.length;e+=1)if(Co(n[e])&&r>n[e])return!0;return!1}},[po]:{matches:(e,t,n=[])=>{const r=e[t];if(!Co(r))return!1;for(let e=0;e<n.length;e+=1)if(Co(n[e])&&r>=n[e])return!0;return!1}},[go]:{matches:(e,t,n=[])=>{const r=e[t];if(!Co(r))return!1;for(let e=0;e<n.length;e+=1)if(Co(n[e])&&r<n[e])return!0;return!1}},[mo]:{matches:(e,t,n=[])=>{const r=e[t];if(!Co(r))return!1;for(let e=0;e<n.length;e+=1)if(Co(n[e])&&r<=n[e])return!0;return!1}},[fo]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[ho]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[yo]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[vo]:{matches:(e,t,n=[])=>{if(ko(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ko(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function Po(e){return void 0===e}const Do="eventId",Ro="eventType",To=["iam.eventType",Ro,"type"],Oo=["iam.id","id"],Mo=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!Po(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},No=e=>{const t=structuredClone(e);return[[Mo(t,To),Ro],[Mo(t,Oo),Do]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function Ao(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>`Condition{type=${e}, definition=${t}}`}}function xo(e,t,n){return{evaluate:r=>{const o=function(e){return So[e]}(t);return!!o&&o.matches(r,e,n)}}}function qo(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Eo===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(No(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):bo===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(No(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(No(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case uo:return e>n;case po:return e>=n;case go:return e<n;case mo:return e<=n;case ao:return e===n;case so:return e!==n;default:return!1}})(c,t,n)}}}function $o(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>wo===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Io===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(Lo))}function Lo(e){const{type:t,definition:n}=e;if(ro===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return xo(t,n,r)}(n);return Ao(t,e)}if(oo===t){return Ao(t,$o(n))}if(io===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return qo(t,o,i,n,r,a)}(n);return Ao(t,e)}throw new Error("Can not parse condition")}function Uo(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function _o(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>`Rule{condition=${e}, consequences=${t}}`}}(Lo(t),n.map(Uo),r)}function jo(e){const{version:t,rules:n,metadata:r}=e,o=n.map(_o),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function Bo(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function Fo(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return Po(n[o])&&(n[o]=e(...r)),n[o]}}function Vo(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const Ho=Fo(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Vo(n,o),n=(131071&n)<<15|n>>>17,n=Vo(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Vo(n,o),n=(131071&n)<<15|n>>>17,n=Vo(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Vo(a,2246822507),a^=a>>>13,a=Vo(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const zo=Fo(function(e,t){const n=Ho(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Jo(e,t,n){return{allocation:zo(e,t),...n}}function Xo(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Go(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=Xo(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=Xo(Jo(Bo(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Qo(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=jo(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Go(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}const Ko="https://ns.adobe.com/personalization/default-content-item",Wo="https://ns.adobe.com/personalization/dom-action",Yo="https://ns.adobe.com/personalization/html-content-item",Zo="https://ns.adobe.com/personalization/json-content-item",ei="https://ns.adobe.com/personalization/ruleset-item",ti="https://ns.adobe.com/personalization/redirect-item",ni="https://ns.adobe.com/personalization/message/in-app",ri="decisioning.propositionDisplay",oi="decisioning.propositionInteract",ii="decisioning.propositionTrigger",ai="decisioning.propositionDismiss",si="decisioning.propositionSuppressDisplay",ci={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},di={[ri]:ci.DISPLAY,[oi]:ci.INTERACT,[ii]:ci.TRIGGER,[ai]:ci.DISMISS,[si]:ci.SUPPRESS},li={[ci.DISPLAY]:ri,[ci.INTERACT]:oi,[ci.TRIGGER]:ii,[ci.DISMISS]:ai,[ci.SUPPRESS]:si},ui=e=>di[e],pi=e=>li[e];var gi=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=`${n}:${r}`},"");return H(n)};const mi="events",fi="~type",hi="~source",yi="com.adobe.eventType.edge",vi="com.adobe.eventType.rulesEngine",wi="com.adobe.eventSource.requestContent",Ii="cjmiam",bi="schema";var Ei=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const ki=e=>e?.scopeDetails?.activity?.id,Ci=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},Si=e=>{e.clear()};const Pi="text/html";const Di={[Ii]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:ni,data:{mobileParameters:o,webParameters:{},content:r,contentType:Pi},id:e}},[bi]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Ri=e=>{const{schema:t,data:n}=e;if(t===ei)return!0;if(t!==Zo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Ti=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Di[n]?Di[n](t,n,r):r},r=ki(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===ei?t:t.content;r&&o.push(Qo("string"==typeof r?JSON.parse(r):r,{generateEventHash:gi}))};return Array.isArray(e.items)&&e.items.filter(Ri).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ri,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:ci.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Oi=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,mi);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,mi),[r,o]=t({}),o>2097152){const e=Ei();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=gi(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Yr&&s({eventId:ki(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=gi({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const Mi=(e,...t)=>t,Ni=(e,...t)=>!0;var Ai=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[ci.INTERACT,ci.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(ci).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:pi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=Mi,t=Ni,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Pt({surfaces:It(Dt()).uniqueItems(),schemas:It(Dt()).uniqueItems(),callback:Et().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var xi=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Pt({renderDecisions:bt(),personalization:Pt({decisionContext:Pt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})}),qi=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ri,propositionEventTypes:a=[ui(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),k(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};const $i=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},Li=(e,t)=>{e.mergeQuery({personalization:{...t}})},Ui=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=qi({eventManager:t,mergeDecisionsMeta:$i}),d=n(`${Q(a)}.decisioning.`);s||Si(d.persistent);const l=Oi({storage:Ci(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=ki(n);if(!r)return;const o=Ti(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ve(t.url)},referringPage:{url:t.referrer,...ve(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":Qn},...n};return{...no(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=xi({contextProvider:p,decisionProvider:u}),m=Ai({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&Si(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=he}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...no(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[fi]:yi,[hi]:wi,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[fi]:vi,[hi]:wi,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};Ui.namespace="RulesEngine",Ui.configValidators=Pt({personalizationStorageEnabled:bt().default(!1)});var _i=Pt({streamingMedia:Pt({channel:Dt().nonEmpty().required(),playerName:Dt().nonEmpty().required(),appVersion:Dt(),mainPingInterval:Ct().minimum(10).maximum(50).default(10),adPingInterval:Ct().minimum(1).maximum(10).default(10)}).noUnknownFields()}),ji=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=he}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>vt([Pt({playerId:Dt().required(),getPlayerDetails:Et().required(),xdm:Pt({mediaCollection:Pt({sessionDetails:Pt(wt()).required()})}),edgeConfigOverrides:Ot}).required(),Pt({xdm:Pt({mediaCollection:Pt({playhead:Ct().required(),sessionDetails:Pt(wt()).required()})}),edgeConfigOverrides:Ot}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>vt([Pt({playerId:Dt().required(),xdm:Pt({eventType:Rt(...Object.values(Er)).required(),mediaCollection:Pt(wt())}).required()}).required(),Pt({xdm:Pt({eventType:Rt(...Object.values(Er)).required(),mediaCollection:Pt({playhead:Ct().integer().required(),sessionID:Dt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Bi=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=Pr(),a=kr({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:Kr(()=>new Date)}),s=Dr({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=Rr({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=Or({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return ji({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Bi.namespace="Streaming media",Bi.configValidators=_i;const Fi=Pt({interactionId:Dt(),conversationId:Dt(),conversation:Pt({feedback:Pt({classification:Dt(),comment:Dt(),reasons:It(Dt())})})});const Vi="web",Hi="webapp",zi="://",Ji=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Xi=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Gi=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Qi=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,Ki=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Wi=e=>`${e.surfaceType}${zi}${e.authority}${e.path||""}${e.fragment||""}`,Yi=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Vi+zi+n+Ki(r)},Zi=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!fe(e))return r(`Invalid surface: ${e}`);const o=((e,t)=>e.startsWith("#")?Yi(t)+e:e)(e,t),i=(e=>{const t=e.match(Ji);return t?{surfaceType:(o=t[1],fe(o)?o.toLowerCase():""),authority:(r=t[2],fe(r)?r.toLowerCase():""),path:(n=t[3],fe(n)?Ki(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r(`Invalid surface: ${e}`):[Vi,Hi].includes(i.surfaceType)?i.authority&&Xi.test(i.authority)?i.path&&!Gi.test(i.path)?r(`Invalid path ${i.path} in surface: ${e}`):i.fragment&&!Qi.test(i.fragment)?r(`Invalid fragment ${i.fragment} in surface: ${e}`):i:r(`Invalid authority ${i.authority} in surface: ${e}`):r(`Unsupported surface type ${i.surfaceType} in surface: ${e}`)},ea=e=>!!e&&0===e.indexOf(Vi+zi)&&-1===e.indexOf("#"),ta=1e4,na=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return Ae();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||Ae()};var ra=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1}=h,k=vn(),C=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1})=>mn({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:k,sessionId:l.id,voiceEnabled:E}),S=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return Yi(e)})();S.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:P}=d.current();S.mergeMeta({consent:{state:P}});const D=s();S.mergeXdm({identityMap:{ECID:[{id:D}]}}),S.mergeXdm({...I}),(v||b)&&(y=!0);const R=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:C});return c.onBeforeEvent({event:S}).then(()=>{try{S.finalize(m)}catch(e){throw w({error:e}),e}return k.addEvent(S),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(k,u),r({requestId:Ae(),url:R,request:C,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:`Stream timeout: No data received within ${t/1e3} seconds`}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},oa=Pt({conversation:Pt({stickyConversationSession:bt().default(!1),streamTimeout:Ct().integer().minimum(ta).default(ta),collectSources:bt().default(!1)}).default({stickyConversationSession:!1,streamTimeout:ta,collectSources:!1})});const ia=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:na({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return`https://${t}${n.getEdgeSubPath()}/${n.getAction()}?${a}`})({queryString:ke}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error(`Request failed with status ${e.status}`);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error(`Attempt ${o} failed, retrying in ${a}ms: ${t.message}`)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),Re({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=_t({orgId:a.orgId,cookieJar:e,logger:t}),f=ra({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=ke.parse(window.location.search).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>vt([Pt({message:Dt().required(),xdm:Fi,onStreamResponse:Et().default(he),voiceEnabled:bt().default(!1)}),Pt({xdm:Fi,voiceEnabled:bt().default(!1)}).required(),Pt({data:Pt({type:Dt().required(),payload:Pt({})}).required(),onStreamResponse:Et().default(he),voiceEnabled:bt().default(!1)})])(e))({options:e}),run:f}}}};ia.namespace="BrandConcierge",ia.configValidators=oa;const{console:aa}=window,sa=le(window),ca=(e={})=>{const t=Pt({name:Dt().default("alloy"),monitors:It(Pt({})).default([]),components:It(Et())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=Nt({console:aa,locationSearch:window.location.search,createLogger:un,instanceName:n,createNamespacedStorage:sa,getMonitors:Mn.bind(null,r)}),a=cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a};var da=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(he).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const la="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",ua=Dt().regexp().default(la),pa=Pt({clickCollectionEnabled:bt().default(!0),clickCollection:Pt({internalLinkEnabled:bt().default(!0),externalLinkEnabled:bt().default(!0),downloadLinkEnabled:bt().default(!0),sessionStorageEnabled:bt().default(!1),eventGroupingEnabled:bt().default(!1),filterClickProperties:Et()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:ua,onBeforeLinkClickSend:Et().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var ga=(e=document)=>null!==e.getElementById("cppXYctnr"),ma=e=>{let t=e;/^https?:\/\//i.test(t)||(t=`${window.location.protocol}//${e}`);return new URL(t).hostname};var fa=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;ga()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info(`Cancelling link click event due to clickCollection.${c}LinkEnabled = false.`):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,ma(d)===ma(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var ha=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const ya="clickData";var va=e=>e&&e.replace(/\s+/g," ").trim();const wa=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const Ia=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(wa)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=Ia(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},ba=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const Ea=/^(HEADER|MAIN|FOOTER|NAV)$/i,ka=e=>{let t;return"region"===e.role&&fe(e["aria-label"])&&(t=e["aria-label"]),t},Ca=e=>{let t;return e&&e.nodeName&&e.nodeName.match(Ea)&&(t=e.nodeName),t};var Sa=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Pa=e=>!!e&&!!e.onclick,Da=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Ra=e=>"BUTTON"===e.tagName&&"submit"===e.type,Ta=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Oa=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=ha({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=va(e.innerText||e.textContent);const n=Ia(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=va(e.getAttribute("alt"))),t.title||(t.title=va(e.getAttribute("title"))),t.inputValue||(t.inputValue=va(ba(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=va(ba(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=va(e.getAttribute("aria-label"))),t.name||(t.name=va(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=va(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=va(n.id||ka(n)||Ca(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(Sa(t)||Pa(t)||Da(t)||Ra(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return fe(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=Ta(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=Ta(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Ma;const Na=e=>{if(!Ma){const t=le(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Ma=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(ya,n)},load:()=>{let t=null;const n=e.getItem(ya);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(ya)}}))({storage:r})}},Aa=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==la&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Ma||Na(e);const i=fa({config:e,logger:r,clickActivityStorage:Ma,getClickedElementProperties:Oa}),a=(({clickActivityStorage:e})=>t=>{if(ga())return;const n=e.load(),r=ha({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Ma}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Ma});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;da({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Ma))}}}};Aa.namespace="ActivityCollector",Aa.configValidators=pa,Aa.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Ma||Na(e),{getLinkDetails:n=>Oa({clickActivityStorage:Ma,clickedElement:n,config:e,logger:t}).properties});var xa=Pt({advertising:Pt({id5PartnerId:Dt(),rampIdJSPath:Dt(),dspEnabled:bt(),advertiserSettings:It(Pt({advertiserId:Dt().required(),enabled:bt().required()}).noUnknownFields())}).noUnknownFields()});const qa="advertising",$a="_les_lsc",La="lastConversionTime",Ua="displayClickCookieExpires",_a="rampIdExpires",ja="surferId",Ba="hashedIp",Fa="hashedIPAddr",Va="rampId",Ha="id5Id",za="advertising.enrichment",Ja="trackingCode",Xa="trackingIdentities",Ga="Ad conversion submission failed",Qa="ev_lcc";var Ka=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error(`Error reading cookie: ${e}`,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error(`Error writing cookie: ${e}`,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(qa)||{},[e]:t};return s(qa,r,{expires:o(527040),...n})},getValue:e=>(i(qa)||{})[e]}};var Wa=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,appendAdCloudIdentityToEvent:d,collectHashedIPAddr:l,getUrlParams:u,isThrottled:p,normalizeAdvertiser:g})=>async({event:m,advertising:f={}})=>{const{state:h}=o.current();if("in"!==h)return;const{skwcid:y,efid:v}=u(),w=!(!y||!v),I=g(n?.advertiserSettings).length>0;if(!((e=>![Jt,zt].includes(e?.handleAdvertisingData?.toLowerCase()))(f)||w||!I||p(ja,e)&&p(Ha,e)&&p(Va,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===zt)(f);let u=null;r&&r()===Y||(u=s(t,n.rampIdJSPath,e,o,o));const g=n.id5PartnerId?a(t,n.id5PartnerId,o,o):Promise.resolve(null),[h,y,v,w]=await Promise.allSettled([i(o),l(),g,u]),I={},b={};if("fulfilled"===h.status&&h.value&&(b[ja]=h.value,p(ja,e)||(I[ja]=h.value)),"fulfilled"===y.status&&y.value&&(b[Ba]=y.value,p(ja,e)||(I[Ba]=y.value)),"fulfilled"===v.status&&v.value&&!p(Ha,e)&&(I.id5Id=v.value),"fulfilled"===w.status&&w.value&&!p(Va,e)&&(I.rampId=w.value),0!==Object.keys(b).length&&d(b,m),0===Object.keys(I).length&&(p(ja,e)||p(Ha,e)||p(Va,e)))return;c(I,m,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};const Ya=15,Za=3e4,es=500,ts=5e3,ns=2e3,rs={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},os=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!rs.rampIdCallInitiated?(rs.rampIdCallInitiated=!0,rs.rampIdEnv=o,rs.envelopeRetrievalInProgress=!1,rs.inProgressRampIdPromise=null,n.setValue(Va,rs.rampIdEnv),n.setValue(_a,Date.now()+1728e5),t(rs.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),rs.envelopeRetrievalInProgress=!1)},is=(e,t,n,r=!1)=>{if(rs.inProgressRampIdPromise)return rs.inProgressRampIdPromise;const o=r?ns:Za;let i=!1;const a=new Promise((r,o)=>{U(e,{onLoad:()=>{void 0===window.ats||rs.envelopeRetrievalInProgress||(rs.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||os(e,r,t,n):(rs.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{rs.envelopeRetrievalInProgress||i||(rs.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||os(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),rs.envelopeRetrievalInProgress=!1,o(e),rs.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),rs.envelopeRetrievalInProgress=!1,o(e),rs.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=Ya,i=1,a=0;const s=()=>{if(rs.rampIdEnv)return;if(a>Za)return r.error("Maximum retry time exceeded"),rs.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(rs.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),rs.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(rs.inProgressRampIdPromise=null);const c=Math.min(es*i,ts);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||rs.rampIdEnv||rs.envelopeRetrievalInProgress?s():(rs.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{os(t,e,n,r),rs.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),rs.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),rs.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return rs.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{rs.inProgressRampIdPromise=null}),rs.inProgressRampIdPromise},as=(e,t,n,r=!0,o=!1)=>{if(rs.rampIdEnv)return Promise.resolve(rs.rampIdEnv);if(n){const e=n.getValue(Va),t=n.getValue(_a);if(e&&t&&t>Date.now())return rs.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?is(t,n,e,o):Promise.resolve(null)};let ss="",cs=null;const ds=function(e,t,n=!0,r=!1){return ss&&""!==ss?Promise.resolve(ss):n?((e,t,n)=>{if(e=Math.floor(Number(e)),cs)return cs;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});ss=i.getUserId();const a=e=>{o||t(e)};ss?a(ss):window.ID5.init({partnerId:e}).onAvailable(function(t){ss=t.getUserId(),ss?a(ss):window.ID5.init({partnerId:e}).onAvailable(function(e){ss=e.getUserId(),ss?a(ss):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():U("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return cs=Promise.race([i,a]).finally(()=>{cs=null}),cs})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},ls=()=>{const e=ke.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},us=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",ps=(e,t)=>{const n=[ja,Ba,Ha,Va,"adfId"].map(t=>e[t]??"").join("|");t.mergeXdm({_experience:{adcloud:{stitchId:n}}})},gs=(e,t,n,r,o=!1)=>{const i=n.getValue($a);let a=null;const s=n.getValue(Ua);s&&s>Date.now()&&(a=n.getValue(Qa));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[ja]&&{surferId:e[ja]},...e[Ha]&&{id5:e[Ha]},...e[Va]&&{rampIdEnv:e[Va]},...e[Ba]&&{hashedIp:e[Ba]}},advIds:us(r.advertiserSettings),...o&&{eventType:za}}};return t.mergeQuery(c),t},ms=(e,t)=>{const n=Date.now(),r=t.getValue(`${e}_last_conversion`);return Boolean(r&&n-r<18e5)};async function fs({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i,collectSurferId:a,collectHashedIPAddr:s}){const c={},d={},l=s?s().catch(()=>null):Promise.resolve(null),u=async()=>{if(i=c,a=d,!Object.entries(i).some(([e])=>!a[e]))return null;var i,a;const s=await l,u=s?{...c,[Ba]:s}:{...c},p=Object.keys(c);try{const i=gs(u,e.createEvent(),t,r,!0),a={eventType:za,timestamp:(new Date).toISOString()};i.setUserXdm(a);const s=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(`${e}_last_conversion`,o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(La,o)})(p,d,t,n),s}catch(e){return n.error(Ga,e),null}},p=((e,t,n,r,o)=>{const i={};return ms(ja,n)||(i.surferId=o(!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!ms(Ha,n)&&(i.id5Id=ds(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!ms(Va,n)&&(i.rampId=as(e,t.rampIdJSPath,n,!0).catch(()=>null)),i})(n,r,t,0,a);if(0===Object.keys(p).length)return[];const g=Object.entries(p).map(([e,t])=>t.then(t=>{if(t)return c[e]=t,u()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(g)}var hs=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a,collectSurferId:s,collectHashedIPAddr:c})=>{const d=o?.advertiserSettings?us(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:l,efid:u}=ls();if(!(!l&&!u))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue($a,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[Ja]:a},...void 0!==s&&{[Xa]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(La),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(Ga,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:l,efid:u});d&&fs({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i,collectSurferId:s,collectHashedIPAddr:c}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const ys={height:0,width:0,frameBorder:0,style:{display:"none"}},vs=0xffffffffffffffffn,ws=(e,t)=>(e<<BigInt(t)|e>>BigInt(64-t))&vs,Is=e=>BigInt(255&e),bs=(e,t)=>{let n=0n;for(let r=0;r<8;r+=1)n|=Is(e[t+r])<<8n*BigInt(r);return n&vs},Es=0x87c37b91114253d5n,ks=0x4cf5ad432745937fn,Cs=e=>{let t=e&vs;return t=t*Es&vs,t=ws(t,31),t=t*ks&vs,t},Ss=e=>{let t=e&vs;return t=t*ks&vs,t=ws(t,33),t=t*Es&vs,t},Ps=e=>{let t=e&vs;return t^=t>>33n,t=0xff51afd7ed558ccdn*t&vs,t^=t>>33n,t=0xc4ceb9fe1a85ec53n*t&vs,t^=t>>33n,t&vs},Ds=(e,t=0)=>{const n=(e=>BigInt.asIntN(64,BigInt.asIntN(32,BigInt(Math.trunc(Number(e))))))(t)&vs;let r=n,o=n,i=0;const a=(new TextEncoder).encode(e),s=(e,t)=>{r^=Cs(e),r=ws(r,27),r=r+o&vs,r=5n*r+0x52dce729n&vs,o^=Ss(t),o=ws(o,31),o=o+r&vs,o=5n*o+0x38495ab5n&vs};let c=0;const d=Math.floor(a.length/16);for(let e=0;e<d;e+=1)s(bs(a,c),bs(a,c+8)),c+=16,i+=16;const l=a.length-c;i+=l;let u=0n,p=0n;const g=c;switch(l){case 15:p^=Is(a[g+14])<<48n;case 14:p^=Is(a[g+13])<<40n;case 13:p^=Is(a[g+12])<<32n;case 12:p^=Is(a[g+11])<<24n;case 11:p^=Is(a[g+10])<<16n;case 10:p^=Is(a[g+9])<<8n;case 9:p^=Is(a[g+8]);case 8:u^=bs(a,g);break;case 7:u^=Is(a[g+6])<<48n;case 6:u^=Is(a[g+5])<<40n;case 5:u^=Is(a[g+4])<<32n;case 4:u^=Is(a[g+3])<<24n;case 3:u^=Is(a[g+2])<<16n;case 2:u^=Is(a[g+1])<<8n;case 1:u^=Is(a[g])}r^=Cs(u),o^=Ss(p);const m=BigInt(i>>>0);r^=m,o^=m,r=r+o&vs,o=o+r&vs,r=Ps(r),o=Ps(o),r=r+o&vs,o=o+r&vs;const f=new Uint8Array(16),h=(e,t)=>{let n=e&vs;for(let e=0;e<8;e+=1)f[t+e]=Number(0xffn&n),n>>=8n};return h(r,0),h(o,8),[...f].map(e=>e.toString(16).padStart(2,"0")).join("")};const Rs=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=Ka({orgId:t.orgId,logger:e}),c=(({appendNode:e=f,awaitSelector:t=q,createNode:n=h}={})=>{let r=null;return()=>r||(r=new Promise((r,o)=>{const i="https:"===document.location.protocol?"https:":"http:",a=`${i}//www.everestjs.net/static/pixel_details.html#${new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__",clientIp:"__EFREMOTEADDR__"}).toString()}`,s=`${i}//pixel.everesttech.net/1/gr?${new URLSearchParams({ev_gb:"0",url:a}).toString()}`,c=n("iframe",{src:s},ys,[]);let d;const l=e=>{if(e.origin.includes("www.everestjs.net")){clearTimeout(d),window.removeEventListener("message",l,!1);try{const t=e.data,n=t.indexOf("#");if(-1===n)return void r({surferId:null,displayClickCookie:null,clientIp:""});const o=new URLSearchParams(t.substring(n+1)),i=o.get("gsurfer")||null,a=o.get("clientIp")||"",s=o.get(Qa);r({surferId:i,displayClickCookie:s&&"__LCC__"!==s?s:null,clientIp:a})}catch(e){o(e)}}};d=setTimeout(()=>{window.removeEventListener("message",l,!1),o(new Error("Advertising identity call timed out"))},5e3),window.addEventListener("message",l,!1),t(y).then(([t])=>{e(t,c)})}).finally(()=>{r=null}),r)})(),d=(({initiateAdvertisingIdentityCall:e,cookieManager:t,getBrowser:n})=>{let r=t.getValue(ja)||"";return(o=!0)=>r?Promise.resolve(r):o?e().then(e=>{const o=!n||se({getBrowser:n})();return e&&o&&(e.surferId&&(r=e.surferId,t.setValue(ja,e.surferId)),e.displayClickCookie&&(t.setValue(Qa,e.displayClickCookie),t.setValue(Ua,Date.now()+9e5))),o?e.surferId:null}):Promise.resolve(null)})({initiateAdvertisingIdentityCall:c,cookieManager:s,getBrowser:i}),l=(({cookieManager:e,hash:t=Ds})=>{let n=e.getValue(Fa)||"";const r=r=>{r&&(n=t(r),e.setValue(Fa,n))};return{captureFromIframe:r,get:()=>n,collect:e=>n?Promise.resolve(n):e().then(e=>(r(e.clientIp),n))}})({cookieManager:s}),u=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:fn,createDataCollectionRequestPayload:vn,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:Wa({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:d,getID5Id:ds,getRampId:as,appendAdvertisingIdQueryToEvent:gs,appendAdCloudIdentityToEvent:ps,collectHashedIPAddr:()=>l.collect(c),getUrlParams:ls,isThrottled:ms,normalizeAdvertiser:us}),sendAdConversionHandler:hs({eventManager:n,cookieManager:s,adConversionHandler:u,logger:e,componentConfig:a,getBrowser:i,consent:o,collectSurferId:d,collectHashedIPAddr:()=>l.collect(c)})})};Rs.namespace="Advertising",Rs.configValidators=xa;const Ts=e=>e.filter((t,n)=>e.indexOf(t)===n);var Os=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||k(o.decisionScopes),hasSurfaces:()=>k(o.surfaces),hasViewName:()=>fe(c),createQueryDetails(){const n=[...r];k(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>Zi(e,n,r)).filter(t=>!e(t)).map(Wi))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(pn)||e.push(pn)})(n),((e,t)=>{const n=Yi(t);e.includes(n)||e.push(n)})(i,t));const a=[Ko,Yo,Zo,ti,ei,ni,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(pn)&&a.push(Wo),{schemas:a,decisionScopes:Ts(n),surfaces:Ts(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const Ms={propositions:[]};var Ns=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=he,onRequestFailure:f=he}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=Os({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);k(t)&&u(o,t,[ci.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Pt({propositions:It(Pt({id:Dt().required(),scope:Dt().required(),scopeDetails:Pt({decisionProvider:Dt().required()}).required(),items:It(Pt({id:Dt().required(),schema:Dt().required(),data:Pt(wt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Pt(wt()),viewName:Dt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),Ms}})({logger:t,options:e}),run:d}}}),As=(e="undefined")=>h("DIV",{},{innerHTML:e});const xs=/:eq\((\d+)\)/g,qs=e=>-1===e.indexOf(":eq("),$s=/(#|\.)(-?\w+)/g,Ls=(e,t,n)=>`${t}${CSS.escape(n)}`,Us=e=>{const t=[],n=(e=>e.split(xs).filter(fe))((e=>e.replace($s,Ls))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},_s=e=>{const t=document;if(qs(e))return O(e,t);const n=Us(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=O(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var js=(e,t=document)=>t.getElementById(e),Bs=(e,t,n)=>{e.setAttribute(t,n)},Fs=(e,t)=>e.getAttribute(t),Vs=(e,t,n,r)=>{let o;o=r?`${t}:${n} !${r};`:`${t}:${n};`,e.style.cssText+=`;${o}`},Hs=e=>e.parentNode,zs=(e,t)=>{if(!e)return;const n=Hs(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},Js=(e,t)=>{if(!e)return;const n=Hs(e);n&&n.insertBefore(t,e)},Xs=e=>{const{childNodes:t}=e;return t?C(t):[]},Gs=e=>e.firstElementChild;let Qs;var Ks=(e=document)=>{if(void 0===Qs){const t=e.querySelector("[nonce]");Qs=t&&(t.nonce||t.getAttribute("nonce"))}return Qs};const Ws="src",Ys=e=>h(v,{src:e}),Zs=e=>{O(v,e).forEach(e=>{const t=Fs(e,Ws);t&&Ys(t)})},ec=e=>((e,t)=>e.tagName===t)(e,w)&&!Fs(e,Ws);var tc=e=>{const t=O(w,e),{length:n}=t,r=Ks();if(r)for(let e=0;e<n;e+=1){const n=t[e];ec(n)&&(n.nonce=r)}};const nc=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error(`Failed to load script: ${e}`))}}))(e,t);return document.head.appendChild(t),n},rc=(e,t)=>!!e&&e.tagName===t,oc=e=>rc(e,I)&&!Fs(e,Ws),ic=e=>rc(e,I)&&Fs(e,Ws),ac=e=>{const t=O(I,e),n=[],{length:r}=t,o=Ks(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!oc(r))continue;const{textContent:o}=r;o&&n.push(h(I,i,{textContent:o}))}return n},sc=e=>{const t=O(I,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!ic(r))continue;const o=Fs(r,Ws);o&&n.push(o)}return n},cc=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},dc=e=>Promise.all(e.map(nc));var lc=(e,t,n)=>{const r=As(t);tc(r);const o=Xs(r),i=ac(r),a=sc(r);return Zs(r),o.forEach(t=>{f(e,t)}),n(e),cc(e,i),dc(a)};var uc=(e,t,n)=>((e=>{Xs(e).forEach(_)})(e),lc(e,t,n)),pc=(e,t,n)=>{const r=As(t);tc(r);const o=Xs(r),i=ac(r),a=sc(r),{length:s}=o;let c=s-1;for(Zs(r);c>=0;){const t=o[c];n(t);const r=Gs(e);r?Js(r,t):f(e,t),c-=1}return cc(e,i),dc(a)};const gc="alloy-prehiding",mc={},fc=e=>{if(mc[e])return;const t=Ks(),n={...t&&{nonce:t}},r=h(w,n,{textContent:`${e} { visibility: hidden }`});f(document.head,r),mc[e]=r},hc=e=>{const t=mc[e];t&&(_(t),delete mc[e])};var yc=(e,t,n)=>{n(e),e.textContent=t},vc=(e,t,n)=>{const r=As(t);tc(r);const o=Xs(r),i=ac(r),a=sc(r);return Zs(r),o.forEach(t=>{n(t),Js(e,t)}),cc(e,i),dc(a)},wc=(e,t,n)=>vc(e,t,n).then(()=>{_(e)}),Ic=(e,t,n)=>{const r=As(t);tc(r);const o=Xs(r),i=ac(r),a=sc(r);Zs(r);let s=e;return o.forEach(e=>{n(e),zs(s,e),s=e}),cc(e,i),dc(a)},bc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Vs(e,t,o[t],r)}),n(e)},Ec=(e,t,n)=>{Object.keys(t).forEach(n=>{Bs(e,n,t[n])}),n(e)},kc=(e,t,n)=>{e.tagName===v&&(Ys(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,Ws),Bs(e,Ws,t))},Cc=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?C(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?zs(a,i):Js(a,i),r(a),r(i))};const Sc=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;fc(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await q(i,_s),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{hc(a)}},Pc=e=>`${e}`.endsWith("px")?e:`${e}px`;var Dc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=Pc(n)),Vs(e,t,n,r)}),n(e)},Rc=(e,t,n)=>{n(e)},Tc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=Pc(n)),Vs(e,t,n,r)}),n(e)};const Oc="setHtml",Mc="customCode",Nc="setText",Ac="setAttribute",xc="setImageSource",qc="setStyle",$c="move",Lc="resize",Uc="rearrange",_c="remove",jc="insertAfter",Bc="insertBefore",Fc="replaceHtml",Vc="prependHtml",Hc="appendHtml",zc="click",Jc="collectInteractions";var Xc=(e,t)=>{if(qs(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=_s(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Gc="view",Qc=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),Kc=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Xc(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Gc);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var Wc=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=Kc(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...Qc(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Yc=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");var Zc=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const ed=(e,t)=>e===Zo&&t===Jc,td={[Wo]:()=>!0,[Yo]:()=>!0,[Zo]:ed,[ni]:()=>!0,[Ko]:()=>!0};var nd=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof td[e]&&td[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Yo||ed(o,n)?F(t)?void 0:{...e,schema:ed(o,n)?Wo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===pn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(k(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>k(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var rd=e=>{const{selector:t,type:n}=e;return n!==Mc||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var od=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===Mc)return t;if(Tr(n))return t;if(null==r)return t;const o=_s(r);return rc(o[0],"HEAD")?(t.type=Hc,t.content=(e=>{const t=As(e);return O("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},id=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===pn||t(s)?"page":l===Gc?Gc:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},ad=()=>({render:he,setRenderAttempted:!0,includeInNotification:!0});const sd="always",cd="never",dd="decoratedElementsOnly",ld=[sd,cd,dd],ud="data-aep-interact-id",pd="data-aep-click-label";let gd=0;const md=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[sd,dd].includes(e[t]))(e,d)||t===zc?e=>{if(!e.tagName)return;const t=(c=Fs(e,ud))?parseInt(c,10):++gd;var c;s(n,r,i,a,t),Bs(e,ud,t),o&&!Fs(e,pd)&&Bs(e,pd,o)}:he};var fd=(e,t)=>e!==Gc?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},hd=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===zc)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=fd(i.getProposition().getScopeType(),i.getId()),d=md(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},yd=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=md(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=fd(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const vd="BODY";var wd=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(fc(vd),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:`Redirect action ${r.toString()} executed.`,logLevel:"info"}),t(o))).catch(e=>{throw hc(vd),e})),setRenderAttempted:!0,onlyRenderThis:!0}},Id=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info(`Action ${n.toString()} executed.`),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i=`Failed to execute action ${n.toString()}. ${r} ${o}`;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&k(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(k(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:`Scopes: ${JSON.stringify(e)} successfully executed.`,logLevel:"info"})}return r})}}};var bd=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===ni)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const Ed="defaultContent",kd=["content","contentType"],Cd=["mobileParameters","webParameters","html"];var Sd=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=Ed}=r;return e[s]?((e,t)=>{for(let n=0;n<kd.length;n+=1){const r=kd[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn(`Invalid in-app message data: missing property '${r}'.`,e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<Cd.length;r+=1){const o=Cd[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn(`Invalid in-app message data.content: missing property '${o}'.`,e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const Pd=e=>{const t=O(`#${e}`,document);t&&t.length>0&&_(t[0])};var Dd=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const Rd="alloy-messaging-container",Td="alloy-overlay-container",Od="alloy-content-iframe",Md=()=>[Rd,Td].forEach(Pd),Nd=(e,t=Dd(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(k(r)){const e=ke.parse(r[1]);s=e.interaction||"",c=Bn(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&Md(),fe(s)&&s.length>0&&t(s,!0)},Ad=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?`${n}%`:"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?`${a}px`:"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?`${s}%`:"0":"right"===r?l.right=s?`${s}%`:"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?`${c}%`:"0":"bottom"===t?(l.position="fixed",l.bottom=c?`${c}%`:"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?`${l.transform} `:"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?`${i}vh`:"100%",l},xd=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},qd=["enabled","parentElement","insertionMethod"],$d=(e={},t)=>{Md();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==Pi)return;const a=h("div",{id:Rd}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,Pi),r=n.querySelector("script");r&&r.setAttribute("nonce",Ks());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:Od});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Nd(t)),c=h("div",{id:Td});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(Rd))return!1;if(!t.includes(Td))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Pt(n[e],"style"))return!1;if(!Pt(n[e],"params"))return!1;for(let t=0;t<qd.length;t+=1)if(!Pt(n[e].params,qd[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[Od]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[Rd]:{style:Ad(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[Td]:{style:xd(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:Td,element:r},{id:Rd,element:n},{id:Od,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Ld=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;$d(e,(e,n)=>{const i={};i[ci.INTERACT]=1,-1!==Object.values(ci).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:oi,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ud=e=>{const t=e.find(e=>e.scopeType===Gc);return t?t.scope:void 0};var _d=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Fs(n,ud);e&&r.add(e),o=o||Fs(n,pd),i=i||Fs(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===sd||e[i]===dd&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:Qc(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ud(s)}};const jd=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=qi({eventManager:n,mergeDecisionsMeta:$i}),c=(e=>()=>{const t=js(gc);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),_(t))})(t),d=(e=>t=>{if(!t)return;if(js(gc))return;const n=Ks(),r={id:gc,...n&&{nonce:n}},o=h(w,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Zc(),v=(({window:e})=>()=>e.location)({window:window}),I={[Oc]:Sc(uc,!0),[Mc]:Sc(pc,!0),[Nc]:Sc(yc,!0),[Ac]:Sc(Ec,!0),[xc]:Sc(kc,!0),[qc]:Sc(bc,!0),[$c]:Sc(Dc,!0),[Lc]:Sc(Tc,!0),[Uc]:Sc(Cc),[_c]:Sc(_,!0),[jc]:Sc(Ic),[Bc]:Sc(vc),[Fc]:Sc(wc,!0),[Vc]:Sc(pc),[Hc]:Sc(lc),[Jc]:Sc(Rc,!0)},b=(E=[od,rd],e=>e?E.reduce((e,t)=>({...e,...t(e)}),e):e);var E;const C=id({preprocess:b,isPageWideSurface:ea}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Gc}},items:[{schema:Ko}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:C}),P=Dd(window),D={[Ko]:ad,[Wo]:hd({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Yo]:yd({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[ti]:wd({logger:t,executeRedirect:P,collect:s}),[ni]:Sd({modules:Ld(s),logger:t})},R=Id({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{k(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),k(n)&&e({decisionsMeta:n,eventType:si,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),M=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");k(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),k(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:pn,propositions:s.map(e=>e.toJSON())}}),k(p)&&e.logOnContentRendering({status:"rendering-started",message:`Rendering propositions started for view scope - ${l.getViewName()}.`,logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===ti)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:Li,processPropositions:R,createProposition:C,notificationHandler:O,consent:r,logger:t}),N=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),k(d)){const t={eventType:oi};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[ci.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:$i,collectInteractions:_d,collectClicks:Wc,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:`Started rendering propositions for view scope - ${s}.`,logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=nd({processPropositions:R,createProposition:C,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:he)({targetMigrationEnabled:o}),$=bd({processPropositions:R,createProposition:C,notificationHandler:O}),L=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===Ft&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return Ns({getPageLocation:v,logger:t,fetchDataHandler:M,viewChangeHandler:A,onClickHandler:N,isAuthoringModeEnabled:Yc,mergeQuery:Li,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:$i,renderedPropositions:T,onDecisionHandler:$,handleConsentFlicker:L})};jd.namespace="Personalization";const Bd=ld.map(e=>kt(e));jd.configValidators=Pt({prehidingStyle:Dt().nonEmpty(),targetMigrationEnabled:bt().default(!1),autoCollectPropositionInteractions:Pt({[Yr]:vt(Bd).default(sd),[Zr]:vt(Bd).default(cd)}).default({[Yr]:sd,[Zr]:cd}).noUnknownFields()});const Fd=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return Fd({vapidPublicKey:e,window:t})}};const Vd="config",Hd="alloyConfig";async function zd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(Vd)||e.createObjectStore(Vd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Vd,Hd),s={...a||{},...e,id:Hd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Vd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const Jd="subscriptionDetails";var Xd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=Fd})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(Se(u)),g=`${l}${p}`;if(g===n.getItem(Jd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(Jd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=vn();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>mn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await zd({ecid:l},r)};const Gd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Qd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(Gd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await zd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!Gd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(`${Q(a)}.pushNotifications.`);return Xd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Pt({}).noUnknownFields()}}});Qd.namespace="Push Notifications",Qd.configValidators=Pt({pushNotifications:Pt({vapidPublicKey:Dt().required(),appId:Dt().required(),trackingDatasetId:Dt().required()}).noUnknownFields()});var Kd=Object.freeze({__proto__:null,activityCollector:Aa,advertising:Rs,audiences:ur,brandConcierge:ia,consent:wr,eventMerge:br,mediaAnalyticsBridge:Wr,personalization:jd,pushNotifications:Qd,rulesEngine:Ui,streamingMedia:Bi});var Wd;const Yd={web:(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),device:(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Te(r);i>=0&&(o.screenHeight=i);const a=Te(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(E(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),environment:(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Te(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Te(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),placeContext:(Wd=()=>new Date,e=>{const t=Wd(),n={},r=Te(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Oe(e.getMonth()+1,2,"0"),r=Oe(e.getDate(),2,"0"),o=Oe(e.getHours(),2,"0"),i=Oe(e.getMinutes(),2,"0"),a=Oe(e.getSeconds(),2,"0"),s=Oe(e.getMilliseconds(),3,"0"),c=Te(e.getTimezoneOffset(),0);return`${t}-${n}-${r}T${o}:${i}:${a}.${s}${c>0?"-":"+"}${Oe(Math.floor(Math.abs(c)/60),2,"0")}:${Oe(Math.abs(c)%60,2,"0")}`})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})})};Pt({context:It(Dt()).default(Object.keys(Yd))});(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=ca({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Kd)})}();
|
|
15
|
+
function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="BODY",v="IMG",w="STYLE",I="SCRIPT";var b=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(v,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),E=e=>"function"==typeof e,C=e=>Array.isArray(e)&&e.length>0,k=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const S=/^\s*>/;var P=(e,t)=>S.test(t)?k(e.querySelectorAll(`:scope ${t}`)):k(e.querySelectorAll(t)),D=":shadow";const R=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return`${e instanceof Element||e instanceof Document?":scope":":host"} ${n}`};var T=(e,t)=>{const n=(e=>e.split(D))(t);if(n.length<2)return P(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=R(r,t),i=P(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},O=(e,t=document)=>-1===e.indexOf(D)?P(t,e):T(t,e);const M="MutationObserver",N={childList:!0,subtree:!0},A=e=>new Error(`Could not find: ${e}`),x=e=>new Promise(e);var q=(e,t=O,n=5e3,r=window,o=document)=>{const i=t(e);return C(i)?Promise.resolve(i):(e=>E(e[M]))(r)?((e,t,n,r,o)=>x((i,a)=>{let s;const c=new e[M](()=>{const e=o(n);C(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(A(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>x((o,i)=>{const a=()=>{const n=r(t);C(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(A(t))},n)}))(r,e,n,t):((e,t,n)=>x((r,o)=>{const i=()=>{const t=n(e);C(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(A(e))},t)}))(e,n,t)};let $;const L=(e=document)=>{if(void 0===$){const t=e.querySelector("[nonce]");$=t&&(t.nonce||t.getAttribute("nonce"))}return $},_=(e,t={})=>document.querySelector(`script[src="${e}"]`)?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error(`Failed to load script: ${e}`);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var U=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=`${z}getTld`;var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>`${G}_${Q(e)}_${t}`,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",Z="Edge",ee="EdgeChromium",te="Firefox",ne="IE",re="Safari",oe="Unknown";var ie=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ae=[Y,Z,ee,"IE",oe];var se=({getBrowser:e})=>ie(()=>ae.includes(e()));var ce=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const de=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var le=e=>t=>{const n=z+t;return{session:de(e,"sessionStorage",n),persistent:de(e,"localStorage",n)}},ue=e=>"boolean"==typeof e,pe=e=>"number"==typeof e&&!Number.isNaN(e),ge=e=>{const t=parseInt(e,10);return pe(t)&&e===t},me=e=>"string"==typeof e,fe=e=>me(e)&&e.length>0,he=()=>{};const ye=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=`${n[2]}.${n[3]}`}return t},ve=(e,t=ye)=>{me(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var we,Ie;function be(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ee=(Ie||(Ie=1,we={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),we),Ce=be(Ee);const ke=e=>Array.isArray(e)?e.map(e=>ke(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=ke(e[n]),t),{}):e;var Se=e=>ke(e),Pe=e=>e instanceof Error?e:new Error(e),De=({error:e,message:t})=>{try{e.message=t}catch{}},Re=({error:e,message:t})=>{const n=Pe(e),r=`${t}\nCaused by: ${n.message}`;return De({error:n,message:r}),n},Te=(e,t)=>{if(pe(e)||me(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Oe=(e,t,n)=>`${e}`.padStart(t,n);const Me=[];for(let e=0;e<256;++e)Me.push((e+256).toString(16).slice(1));const Ne=new Uint8Array(16);function Ae(e,t,n){return t||e||!crypto.randomUUID?function(e,t,n){e=e||{};const r=e.random??e.rng?.()??crypto.getRandomValues(Ne);if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError(`UUID byte range ${n}:${n+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Me[e[t+0]]+Me[e[t+1]]+Me[e[t+2]]+Me[e[t+3]]+"-"+Me[e[t+4]]+Me[e[t+5]]+"-"+Me[e[t+6]]+Me[e[t+7]]+"-"+Me[e[t+8]]+Me[e[t+9]]+"-"+Me[e[t+10]]+Me[e[t+11]]+Me[e[t+12]]+Me[e[t+13]]+Me[e[t+14]]+Me[e[t+15]]).toLowerCase()}(r)}(e,t,n):crypto.randomUUID()}const xe=e=>function(t,n){return null==t?t:e.call(this,t,n)},qe=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},$e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},Le=(e,t,n)=>Object.assign(qe(e,t),e,n),_e=(e,t,n)=>Object.assign(qe(e,xe(t)),e,n),Ue=(e,t,n,r)=>{if(!e)throw new Error(`'${n}': Expected ${r}, but got ${JSON.stringify(t)}.`)};var je=(e,t)=>(Ue(ue(e),e,t,"true or false"),e),Be=(e,t)=>(Ue(E(e),e,t,"a function"),e),Fe=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return Ue(i,n,r,t),o},Ve=e=>function(t,n){Ue(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,`${n}[${i}]`,t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},He=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r=`'${n}': ${r}`),this&&this.logger&&this.logger.warn(r)),t},ze=e=>function(n,r){Ue(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?`${r}.${t}`:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Je=(e,t)=>(n,r)=>(Ue(n>=t,n,r,`${e} greater than or equal to ${t}`),n),Xe=e=>(n,r)=>(t(n)?Ue(!F(n),n,r,e):Ue(n.length>0,n,r,e),n),Ge=e=>function(n,r){Ue(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?`${r}.${t}`:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,n,r)=>function(o,i){Ue(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t=`The field '${e}' is deprecated. Use '${r}' instead.`;if(i&&(t=`'${i}': ${t}`),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},Ke=()=>(e,t)=>(Ue((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const We=/^[a-z0-9.-]{1,}$/i;var Ye=(e,t)=>(Ue(We.test(e),e,t,"a valid domain"),e),Ze=(e,t)=>(Ue(ge(e),e,t,"an integer"),e),et=(e,t)=>(Ue(pe(e),e,t,"a number"),e),tt=(e,t)=>(Ue((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),nt=(e,t)=>{if(null==e)throw new Error(`'${t}' is a required option`);return e},rt=(e,t)=>(Ue(me(e),e,t,"a string"),e);const ot=e=>e;ot.default=function(e){return Le(this,(e=>t=>null==t?e:t)(e))},ot.required=function(){return Le(this,nt)},ot.deprecated=function(e){return Le(this,He(e))};const it=function(){return _e(this,Ye)},at=function(e){return _e(this,Je("an integer",e))},st=function(e){return _e(this,Je("a number",e))},ct=function(e){return _e(this,(t="a number",n=e,(e,r)=>(Ue(e<=n,e,r,`${t} less than or equal to ${n}`),e)));var t,n},dt=function(){return _e(this,Ze,{minimum:at})},lt=function(){return _e(this,Xe("a non-empty string"))},ut=function(){return _e(this,Xe("a non-empty array"))},pt=function(){return _e(this,Xe("a non-empty object"))},gt=function(){return _e(this,tt)},mt=function(e){return _e(this,(e=>(t,n)=>(Ue(e.test(t),t,n,`does not match the ${e.toString()}`),t))(e))},ft=function(){return _e(this,(()=>{const e=[];return(t,n)=>(Ue(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},ht=function(){return _e(this,Ke())},yt=e=>({noUnknownFields:function(){return _e(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?`${n}.${t}`:t;r.push(`'${e}': Unknown field.`)}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:pt,concat:function(t){const n={...e,...t.schema};return _e(this,t,yt(n))},renamed:function(e,t,n){return r=this,o=Qe(e,t,n),Object.assign($e(xe(o),r),r,i);var r,o,i},schema:e}),vt=function(e,t){return Le(this,Fe(e,t))}.bind(ot),wt=function(){return this}.bind(ot),It=function(e){return _e(this,Ve(e),{nonEmpty:ut,uniqueItems:ht})}.bind(ot),bt=function(){return _e(this,je)}.bind(ot),Et=function(){return _e(this,Be)}.bind(ot),Ct=function(e){return _e(this,(e=>(t,n)=>(Ue(t===e,t,n,`${e}`),t))(e))}.bind(ot),kt=function(){return _e(this,et,{minimum:st,maximum:ct,integer:dt,unique:ft})}.bind(ot),St=function(e){return _e(this,ze(e),{nonEmpty:pt})}.bind(ot),Pt=function(e){return _e(this,Ge(e),yt(e))}.bind(ot),Dt=function(){return _e(this,rt,{regexp:gt,domain:it,nonEmpty:lt,unique:ft,matches:mt})}.bind(ot),Rt=function(...e){return vt(e.map(Ct),`one of these values: ${JSON.stringify(e)}`)};var Tt=St(It(Pt({authenticatedState:Rt("ambiguous","authenticated","loggedOut"),id:Dt(),namespace:Pt({code:Dt()}).noUnknownFields(),primary:bt(),xid:Dt()}).noUnknownFields()).required()),Ot=Pt({}),Mt="alloy_debug",Nt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=Ce.parse(t),s=o(`instance.${r}.`),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[Mt]&&p((g=a[Mt],me(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const At=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var xt=e=>At.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const qt=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw Re({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw Re({error:e,message:t})})),r};var $t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error(`[ComponentRegistry] Could not register ${e} because it has existing command(s): ${r.join(",")}`);Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=qt(o.run,`[${e}] An error occurred while executing the ${r} command.`),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(qt(t[r],`[${e}] An error occurred while executing the ${r} lifecycle hook.`))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const Lt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},_t=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var Ut=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=Lt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===_t.LEN){const r=Lt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case _t.VARINT:t+=Lt(e,t).length;break;case _t.I64:t+=8;break;case _t.LEN:{const n=Lt(e,t);t+=n.length+n.value;break}case _t.SGROUP:case _t.EGROUP:break;case _t.I32:t+=4;break;default:throw new Error(`Malformed kndctr cookie. Unknown wire type: ${i}`)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn(`Unable to decode ECID from ${o} cookie`,e),null}}},jt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=Ut({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Bt="in",Ft="out",Vt="pending",Ht="disabled",zt="wait",Jt="auto",Xt="general",Gt="declinedConsent",Qt="default",Kt="initial",Wt="new",Yt=e=>{const t=new Error(e);return t.code=Gt,t.message=e,t};var Zt=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(Yt("No consent preferences have been set.")),i=()=>Promise.reject(Yt("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Qt?this.awaitConsent=n:(o===Kt?e.info("Loaded user consent preferences. The user previously consented."):o===Wt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Qt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===Kt?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Wt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(Yt("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Qt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const en=e=>e&&e._experience&&e._experience.decisioning&&C(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var tn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(`${e} cannot be called after event is finalized.`)},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...en(n),...en(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const nn="configure",rn="setDebug";var on=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===nn){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===rn?()=>{const e=Pt({enabled:bt().required()}).noUnknownFields(),t=i({command:{commandName:rn,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!E(n.run)){const n=[nn,rn].concat(e.getCommandNames()).join(", ");throw new Error(`The ${t} command does not exist. List of available commands: ${n}.`)}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn(`An error during configuration is preventing the ${t} command from executing.`),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,`${s} command`)).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const an="https://adobe.ly/3sHgQHb";var sn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=an,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error(`Invalid ${n} command options:\n\t - ${e} For command documentation see: ${r}`)}return i};var cn=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error(`Resolve these configuration problems:\n\t - ${e.message.split("\n").join("\n\t - ")}\nFor configuration documentation see: https://adobe.ly/3sHh553`)}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const dn=e=>({...e});var ln=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Pe(n);if(o.code===Gt)return t.warn(`The ${r} could not fully complete. ${o.message}`),{};throw De({error:o,message:`${e} ${o.message}`}),o},un=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o=`[${r.instanceName}]`;r.componentName&&(o+=` [${r.componentName}]`);const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info",`Executing ${e.commandName} command. Options:`,e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",`${e.commandName} command resolved. Result:`,e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",`${e.commandName} command was rejected. Error:`,e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info",`Request ${e.requestId}: Sending request.`,e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info",`Request ${e.requestId}: Received response with status code ${e.statusCode} and ${t}`,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error",`Request ${e.requestId}: Network request failed.`,e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},pn="__view__",gn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},mn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=Ae();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},fn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return mn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var hn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!ue(t)||"enabled"===n&&!1!==t)&&!pe(t)&&!fe(t)&&!C(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},yn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),vn=()=>{const e={};return{...hn({content:e,addIdentity:gn(e),hasIdentity:yn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},wn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const In="clientId";const bn="Event was canceled because the onBeforeEventSend callback returned false.";var En=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(`${G}_${Q(e)}_`))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var Cn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),kn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Sn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Pn="The server responded with a";var Dn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return`t${e}`})()};const Rn=[429,503,502,504];var Tn=({response:e,retriesAttempted:t})=>t<3&&Rn.includes(e.statusCode);var On=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=ge(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var Mn=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};const Nn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Pt({type:Dt(),xdm:Pt({eventType:Dt(),identityMap:Tt}),data:Pt({}),documentUnloading:bt(),renderDecisions:bt(),decisionScopes:It(Dt()).uniqueItems(),personalization:Pt({decisionScopes:It(Dt()).uniqueItems(),surfaces:It(Dt()).uniqueItems(),sendDisplayEvent:bt().default(!0),includeRenderedPropositions:bt().default(!1),defaultPersonalizationEnabled:bt(),decisionContext:Pt({})}).default({sendDisplayEvent:!0}),datasetId:Dt(),mergeId:Dt(),edgeConfigOverrides:Ot,advertising:Pt({handleAdvertisingData:Rt(Ht,zt,Jt).default(Ht)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Pt({renderDecisions:bt(),responseHeaders:St(Dt().required()),responseBody:Pt({handle:It(Pt({type:Dt().required(),payload:wt().required()})).required()}).required(),personalization:Pt({sendDisplayEvent:bt().default(!0),decisionContext:Pt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Nn.namespace="DataCollector";const An=(e,t)=>`ID sync ${t?"succeeded":"failed"}: ${e.spec.url}`;const xn=Pt({thirdPartyCookiesEnabled:bt().default(!0),idMigrationEnabled:bt().default(!0)});var qn=Pt({url:Dt().required().nonEmpty(),edgeConfigOverrides:Ot}).required().noUnknownFields(),$n="ECID",Ln=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),_n=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return E(t)&&E(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(`${t.message}, retrieving ECID from experience edge`):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},Un="CORE",jn="adobe_mc",Bn=e=>{try{return decodeURIComponent(e)}catch{return""}};var Fn=(e,t)=>{e.addIdentity($n,{id:t})},Vn=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),Hn=({payload:e,datastreamIdOverride:t})=>mn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),zn=e=>{const t={query:{identity:{fetch:e}}};return hn({content:t,addIdentity:gn(t),hasIdentity:yn(t)})};const Jn=/^([^?#]*)(\??[^#]*)(#?.*)$/;const Xn=Pt({namespaces:It(Rt($n,Un)).nonEmpty().uniqueItems().default([$n]),edgeConfigOverrides:Ot}).noUnknownFields().default({namespaces:[$n]});const Gn=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s=`AMCV_${a}`,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,`MCMID|${e}`,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:_n({logger:t,orgId:d,awaitVisitorOptIn:Ln}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=ce({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=wn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:zn,createIdentityRequest:Hn,globalConfigOverrides:u}),h=se({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity($n)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:Fn}),w=(({locationSearch:e,locationHash:t,dateProvider:n,orgId:r,logger:o})=>i=>{if(i.hasIdentity($n))return;let a=Ce.parse(e)[jn]??Ce.parse(t.slice(t.indexOf("?")))[jn];if(void 0===a)return;Array.isArray(a)&&(o.warn("Found multiple adobe_mc query string parameters, only using the last one."),a=a[a.length-1]);let s="";for(;s!==a;)s=a,a=Bn(a);const c=a.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=Bn(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),d=parseInt(c.TS,10),l=c.MCMID,u=Bn(c.MCORGID);n().getTime()/1e3<=d+300&&u===r&&l?(o.info(`Found valid ECID identity ${l} from the adobe_mc query string parameter.`),i.addIdentity($n,{id:l})):o.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,locationHash:window.document.location.hash,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn(`Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID ${t} configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed.`),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(An(n,!0))}).catch(()=>{t.warn(An(n,!1))}))).then(he):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),C=(({processIdSyncs:e})=>t=>{e(t.getPayloadsByType("identity:exchange"))})({processIdSyncs:E}),k=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent(`TS=${o}|MCMID=${n}|MCORGID=${encodeURIComponent(t)}`),[,a,s,c]=r.match(Jn),d=(e=>""===e?"?":"?"===e?"":"&")(s);return`${a}${s}${d}adobe_mc=${i}${c}`})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=Xn(t);if(!e&&n.namespaces.includes(Un))throw new Error(`namespaces: The ${Un} namespace cannot be requested when third-party cookies are disabled.`);return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[$n]}};return e&&t()&&n.identity.fetch.push(Un),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[$n]||!t||!t[$n]||r(t[$n]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes($n)&&(p||(p={}),p[$n]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:qn,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[$n]=t)):a(e)}).then(()=>({url:c(p[$n],e.url)})).catch(t=>(d.warn(`Unable to append identity to url. ${t.message}`),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:C,getNamespacesFromResponse:Vn,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:k,logger:t,getIdentityOptionsValidator:S})};Gn.namespace="Identity",Gn.configValidators=xn;var Qn="2.33.1-beta.0";const Kn=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),nn,rn].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:Qn,configs:r,commands:n,components:o}},Wn=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:Kn({config:e,componentRegistry:t})})}}});Wn.namespace="LibraryInfo";var Yn=Object.freeze({__proto__:null,dataCollector:Nn,identity:Gn,libraryInfo:Wn});const Zn=le(window),{fetch:er,navigator:tr}=window,nr=Pt({debugEnabled:bt().default(!1),datastreamId:Dt().unique().required(),edgeDomain:Dt().domain().default("edge.adobedc.net"),edgeBasePath:Dt().nonEmpty().default("ee"),orgId:Dt().unique().required(),onBeforeEventSend:Et().default(he),edgeConfigOverrides:Ot}).renamed("edgeConfigId",Dt().unique(),"datastreamId"),rr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),or=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:er}),ir=(({appendNode:e=f,awaitSelector:t=q,createNode:n=h,fireImage:r=b}={})=>{const o=r;let i;const a=({src:o})=>t(y).then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),ar=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=Ce.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(In);return t||(t=Ae(),e.persistent.setItem(In,t)),t})(n),o=`${t}|${r}`;return`&${Ce.stringify({adobeAepValidationToken:o})}`}})({window:window,createNamespacedStorage:Zn}),sr=(({userAgent:e})=>ie(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return oe})({[Z]:/Edge\/([0-9\._]+)/,[ee]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[te]:/Firefox\/([0-9\.]+)(?:\s|$)/,[ne]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[re]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=$t(),s=xt(i),c=o.concat(Object.values(Yn)),d=p({logger:n,cookieJar:a}),l=ln({errorPrefix:`[${e}]`,logger:n}),g=on({logger:n,configureCommand:o=>{const l=cn({options:o,componentCreators:c,coreConfigValidators:nr,createConfig:dn,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=En({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:rr,dateProvider:()=>new Date}),h=E(tr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:tr.sendBeacon.bind(tr),sendFetchRequest:or,logger:n}):or,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),Re({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:or,sendBeaconRequest:h,isRequestRetryable:Tn,getRequestRetryDelay:On}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(`${Pn} status code ${n} and ${e?`response body:\n${e}`:"no response body."}`)}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(`${Pn} warning:`,t)}),n.forEach(t=>{e.error(`${Pn} non-fatal error:`,t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn(`Invalid adobe edge: "${t}"`)}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),b=Dn({orgId:p,cookieJar:a}),C=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?`${d}/${n}${t.getEdgeSubPath()}`:`${d}${t.getEdgeSubPath()}`,o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),`https://${e}/${r}/v1/${t.getAction()}?configId=${o}&requestId=${t.getId()}${s()}`};return({request:e,runOnResponseCallbacks:a=he,runOnRequestFailureCallbacks:s=he})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Sn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return kn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(Cn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:b,getAssuranceValidationTokenParams:ar}),k=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=he,runOnRequestFailureCallbacks:c=he})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(kn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(Cn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Xt]){case Bt:e.in(r);break;case Ft:e.out(r);break;case Vt:e.pending(r);break;default:t.warn(`Unknown consent value: ${n[Xt]}`)}};return{initializeConsent(e,t){t[Xt]?n(t,Kt):n(e,Qt)},setConsent(e){n(e,Wt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:Zt({logger:n}),logger:n}),P=jt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=wn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(bn);const e=new Error(bn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[pn],personalization:l,onResponse:m.add,onRequestFailure:he}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:tn,createDataCollectionRequestPayload:vn,createDataCollectionRequest:fn,sendEdgeNetworkRequest:C,applyResponse:k});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw Re({error:e,message:`[${t}] An error occurred during component creation.`})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:C,handleError:ln({errorPrefix:`[${e}] [${t}]`,logger:n}),createNamespacedStorage:Zn,apexDomain:rr,getBrowser:sr,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:sn});return g},dr=(e,t)=>`URL destination ${t?"succeeded":"failed"}: ${e.spec.url}`;var lr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(async n=>{const r=n.filter(e=>"url"===e.type);await Promise.allSettled(r.map(async n=>{try{await e(n.spec),t.info(dr(n,!0))}catch{t.warn(dr(n,!1))}}))})(r))};const ur=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=(({processDestinations:e})=>({response:t})=>{const n=t.getPayloadsByType("activation:push");e(n)})({processDestinations:lr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol})});return{lifecycle:{onResponse:o},commands:{}}};ur.namespace="Audiences";const pr=({standard:e,version:t})=>`${e}.${t}`;var gr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=pr(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(Se(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=pr(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=pr(t);e.setItem(n,r(t))})}}}}),mr=()=>{const e={};return{...hn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},fr=({payload:e,datastreamIdOverride:t})=>mn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),hr=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),yr=Pt({consent:It(wt()).required().nonEmpty(),identityMap:Tt,edgeConfigOverrides:Ot}).noUnknownFields().required(),vr=Pt({defaultConsent:Rt(Bt,Ft,Vt).default(Bt)});const wr=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:hr,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=wn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:mr,createConsentRequest:fr,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(`${Q(i)}.consentHashes.`),p=gr({storage:u.persistent}),g=ce({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Xt]:n};let d=e.read();const l=s(),u=void 0!==d[Xt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Xt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:yr,consentHashStore:p,doesIdentityCookieExist:g})};wr.namespace="Consent",wr.configValidators=vr;var Ir=()=>({eventMergeId:Ae()});const br=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:Ir});br.namespace="EventMerge";var Er={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},Cr=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===Er.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:i,appVersion:a}=e.streamingMedia,s=t.createEvent(),{sessionDetails:c}=n.xdm.mediaCollection;return o(s),s.setUserXdm(n.xdm),s.mergeXdm({eventType:Er.SESSION_START,mediaCollection:{sessionDetails:{playerName:c.playerName||r,channel:c.channel||i,appVersion:c.appVersion||a}}}),s},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Te(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=vn(),i=(({mediaRequestPayload:e,action:t})=>mn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),kr="main",Sr="completed",Pr=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=Sr)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var Dr=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===Er.SESSION_COMPLETE||c===Er.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===Er.AD_START||e===Er.Ad_BREAK_START||e===Er.AD_SKIP||e===Er.AD_COMPLETE?"ad":e===Er.AD_BREAK_COMPLETE||e===Er.CHAPTER_COMPLETE||e===Er.CHAPTER_START||e===Er.CHAPTER_SKIP||e===Er.SESSION_START?"main":e===Er.SESSION_END||e===Er.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:Er.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error(`Failed to trigger media event: ${c}. Session ID is not available for playerId: ${a}.`)))};return e=>r(e)},Rr=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:kr}}),d},Tr=e=>!me(e)||!e.trim(),Or=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(C(a)){const{sessionId:r}=a[0];if(Tr(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:Er.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:kr}),{sessionId:r}}return{}};const Mr={Video:"video",Audio:"audio"},Nr={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Ar={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},xr={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},qr="sessionStart",$r="sessionEnd",Lr="sessionComplete",_r="play",Ur="pauseStart",jr="error",Br="statesUpdate",Fr={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Vr={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},Hr={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},zr={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Jr=({logger:e})=>{const t=(t,n,r)=>{const o=Pt(n),i=Object.keys(n);return(...n)=>{const a=Object.fromEntries(i.map((e,t)=>[e,n[t]]));try{const e=o(a),t=i.map(t=>e[t]);return r(...t)}catch(n){return e.warn(`An error occurred while creating the ${t}.`,n),{}}}};return{createMediaObject:t("MediaObject",{name:Dt().nonEmpty(),id:Dt().nonEmpty(),length:kt().required(),streamType:Dt().nonEmpty(),mediaType:Dt().nonEmpty()},(e,t,n,r,o)=>({sessionDetails:{friendlyName:e,name:t,length:Math.round(n),contentType:r,streamType:o}})),createAdBreakObject:t("AdBreakObject",{name:Dt().nonEmpty(),position:kt(),startTime:kt()},(e,t,n)=>({advertisingPodDetails:{friendlyName:e,index:t,offset:n}})),createAdObject:t("AdObject",{name:Dt().nonEmpty(),id:Dt().nonEmpty(),position:kt(),length:kt()},(e,t,n,r)=>({advertisingDetails:{friendlyName:e,name:t,podPosition:n,length:r}})),createChapterObject:t("ChapterObject",{name:Dt().nonEmpty(),position:kt(),length:kt(),startTime:kt()},(e,t,n,r)=>({chapterDetails:{friendlyName:e,index:t,length:n,offset:r}})),createStateObject:t("StateObject",{stateName:Dt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.")},e=>({name:e})),createQoEObject:t("QoEObject",{bitrate:kt(),startupTime:kt(),fps:kt(),droppedFrames:kt()},(e,t,n,r)=>({bitrate:e,timeToStart:t,framesPerSecond:n,droppedFrames:r})),version:`WEBSDK ${Qn}`}};const Xr={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},Gr={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Qr=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===xr.BufferComplete||e===xr.SeekComplete?_r:e===xr.StateStart||e===xr.StateEnd?Br:e===xr.SeekStart?Ur:e)({eventType:e});if(e===xr.StateStart){return{eventType:`media.${r}`,mediaCollection:{statesStart:[t]}}}if(e===xr.StateEnd){return{eventType:`media.${r}`,mediaCollection:{statesEnd:[t]}}}const o={eventType:`media.${r}`,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{Xr[e]?o.mediaCollection.sessionDetails[Xr[e]]=n[e]:Gr[e]?o.mediaCollection.advertisingDetails[Gr[e]]=n[e]:i.push({name:e,value:n[e]})}),C(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:qr,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:_r});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Ur});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:$r});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Lr});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn(`trackError(${e})`),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:jr,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(xr).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?pe(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}},Kr=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})};const Wr=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=Pr(),a=Cr({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:Kr(()=>new Date)}),s=Dr({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=Rr({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=he}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:Ae}),Event:xr,MediaType:Mr,PlayerState:Ar,StreamType:Nr,MediaObjectKey:Fr,VideoMetadataKeys:Vr,AudioMetadataKeys:Hr,AdMetadataKeys:zr,...n})}}}}))({mediaResponseHandler:Or({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Jr,createGetInstance:Qr,logger:r,config:n})};Wr.namespace="Legacy Media Analytics";const Yr="AJO",Zr="TGT",eo=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,to=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{eo(e[r])||Array.isArray(e[r])?to(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var no=e=>eo(e)?to(e):e;const ro="matcher",oo="group",io="historical",ao="eq",so="ne",co="ex",lo="nx",uo="gt",po="ge",go="lt",mo="le",fo="co",ho="nc",yo="sw",vo="ew",wo="and",Io="or",bo="ordered",Eo="mostRecent";function Co(e){return"object"==typeof e||void 0===e}function ko(e){return"number"==typeof e}const So={[ao]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[so]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[co]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[lo]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[uo]:{matches:(e,t,n=[])=>{const r=e[t];if(!ko(r))return!1;for(let e=0;e<n.length;e+=1)if(ko(n[e])&&r>n[e])return!0;return!1}},[po]:{matches:(e,t,n=[])=>{const r=e[t];if(!ko(r))return!1;for(let e=0;e<n.length;e+=1)if(ko(n[e])&&r>=n[e])return!0;return!1}},[go]:{matches:(e,t,n=[])=>{const r=e[t];if(!ko(r))return!1;for(let e=0;e<n.length;e+=1)if(ko(n[e])&&r<n[e])return!0;return!1}},[mo]:{matches:(e,t,n=[])=>{const r=e[t];if(!ko(r))return!1;for(let e=0;e<n.length;e+=1)if(ko(n[e])&&r<=n[e])return!0;return!1}},[fo]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[ho]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[yo]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[vo]:{matches:(e,t,n=[])=>{if(Co(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!Co(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function Po(e){return void 0===e}const Do="eventId",Ro="eventType",To=["iam.eventType",Ro,"type"],Oo=["iam.id","id"],Mo=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!Po(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},No=e=>{const t=structuredClone(e);return[[Mo(t,To),Ro],[Mo(t,Oo),Do]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function Ao(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>`Condition{type=${e}, definition=${t}}`}}function xo(e,t,n){return{evaluate:r=>{const o=function(e){return So[e]}(t);return!!o&&o.matches(r,e,n)}}}function qo(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Eo===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(No(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):bo===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(No(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(No(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case uo:return e>n;case po:return e>=n;case go:return e<n;case mo:return e<=n;case ao:return e===n;case so:return e!==n;default:return!1}})(c,t,n)}}}function $o(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>wo===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Io===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(Lo))}function Lo(e){const{type:t,definition:n}=e;if(ro===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return xo(t,n,r)}(n);return Ao(t,e)}if(oo===t){return Ao(t,$o(n))}if(io===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return qo(t,o,i,n,r,a)}(n);return Ao(t,e)}throw new Error("Can not parse condition")}function _o(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function Uo(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>`Rule{condition=${e}, consequences=${t}}`}}(Lo(t),n.map(_o),r)}function jo(e){const{version:t,rules:n,metadata:r}=e,o=n.map(Uo),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function Bo(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function Fo(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return Po(n[o])&&(n[o]=e(...r)),n[o]}}function Vo(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const Ho=Fo(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Vo(n,o),n=(131071&n)<<15|n>>>17,n=Vo(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Vo(n,o),n=(131071&n)<<15|n>>>17,n=Vo(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Vo(a,2246822507),a^=a>>>13,a=Vo(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const zo=Fo(function(e,t){const n=Ho(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Jo(e,t,n){return{allocation:zo(e,t),...n}}function Xo(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Go(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=Xo(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=Xo(Jo(Bo(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Qo(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=jo(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Go(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}const Ko="https://ns.adobe.com/personalization/default-content-item",Wo="https://ns.adobe.com/personalization/dom-action",Yo="https://ns.adobe.com/personalization/html-content-item",Zo="https://ns.adobe.com/personalization/json-content-item",ei="https://ns.adobe.com/personalization/ruleset-item",ti="https://ns.adobe.com/personalization/redirect-item",ni="https://ns.adobe.com/personalization/message/in-app",ri="decisioning.propositionDisplay",oi="decisioning.propositionInteract",ii="decisioning.propositionTrigger",ai="decisioning.propositionDismiss",si="decisioning.propositionSuppressDisplay",ci={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},di={[ri]:ci.DISPLAY,[oi]:ci.INTERACT,[ii]:ci.TRIGGER,[ai]:ci.DISMISS,[si]:ci.SUPPRESS},li={[ci.DISPLAY]:ri,[ci.INTERACT]:oi,[ci.TRIGGER]:ii,[ci.DISMISS]:ai,[ci.SUPPRESS]:si},ui=e=>di[e],pi=e=>li[e];var gi=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=`${n}:${r}`},"");return H(n)};const mi="events",fi="~type",hi="~source",yi="com.adobe.eventType.edge",vi="com.adobe.eventType.rulesEngine",wi="com.adobe.eventSource.requestContent",Ii="cjmiam",bi="schema";var Ei=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const Ci=e=>e?.scopeDetails?.activity?.id,ki=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},Si=e=>{e.clear()};const Pi="text/html";const Di={[Ii]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:ni,data:{mobileParameters:o,webParameters:{},content:r,contentType:Pi},id:e}},[bi]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Ri=e=>{const{schema:t,data:n}=e;if(t===ei)return!0;if(t!==Zo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Ti=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Di[n]?Di[n](t,n,r):r},r=Ci(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===ei?t:t.content;r&&o.push(Qo("string"==typeof r?JSON.parse(r):r,{generateEventHash:gi}))};return Array.isArray(e.items)&&e.items.filter(Ri).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ri,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:ci.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Oi=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,mi);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,mi),[r,o]=t({}),o>2097152){const e=Ei();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=gi(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Yr&&s({eventId:Ci(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=gi({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const Mi=(e,...t)=>t,Ni=(e,...t)=>!0;var Ai=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[ci.INTERACT,ci.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(ci).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:pi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=Mi,t=Ni,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Pt({surfaces:It(Dt()).uniqueItems(),schemas:It(Dt()).uniqueItems(),callback:Et().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var xi=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Pt({renderDecisions:bt(),personalization:Pt({decisionContext:Pt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})}),qi=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ri,propositionEventTypes:a=[ui(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),C(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};const $i=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},Li=(e,t)=>{e.mergeQuery({personalization:{...t}})},_i=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=qi({eventManager:t,mergeDecisionsMeta:$i}),d=n(`${Q(a)}.decisioning.`);s||Si(d.persistent);const l=Oi({storage:ki(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=Ci(n);if(!r)return;const o=Ti(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ve(t.url)},referringPage:{url:t.referrer,...ve(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":Qn},...n};return{...no(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=xi({contextProvider:p,decisionProvider:u}),m=Ai({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&Si(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=he}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...no(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[fi]:yi,[hi]:wi,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[fi]:vi,[hi]:wi,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};_i.namespace="RulesEngine",_i.configValidators=Pt({personalizationStorageEnabled:bt().default(!1)});var Ui=Pt({streamingMedia:Pt({channel:Dt().nonEmpty().required(),playerName:Dt().nonEmpty().required(),appVersion:Dt(),mainPingInterval:kt().minimum(10).maximum(50).default(10),adPingInterval:kt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),ji=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=he}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>vt([Pt({playerId:Dt().required(),getPlayerDetails:Et().required(),xdm:Pt({mediaCollection:Pt({sessionDetails:Pt(wt()).required()})}),edgeConfigOverrides:Ot}).required(),Pt({xdm:Pt({mediaCollection:Pt({playhead:kt().required(),sessionDetails:Pt(wt()).required()})}),edgeConfigOverrides:Ot}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>vt([Pt({playerId:Dt().required(),xdm:Pt({eventType:Rt(...Object.values(Er)).required(),mediaCollection:Pt(wt())}).required()}).required(),Pt({xdm:Pt({eventType:Rt(...Object.values(Er)).required(),mediaCollection:Pt({playhead:kt().integer().required(),sessionID:Dt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Bi=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=Pr(),a=Cr({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:Kr(()=>new Date)}),s=Dr({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=Rr({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=Or({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return ji({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Bi.namespace="Streaming media",Bi.configValidators=Ui;const Fi=Pt({interactionId:Dt(),conversationId:Dt(),conversation:Pt({feedback:Pt({classification:Dt(),comment:Dt(),reasons:It(Dt())})})});const Vi="web",Hi="webapp",zi="://",Ji=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Xi=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Gi=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Qi=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,Ki=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Wi=e=>`${e.surfaceType}${zi}${e.authority}${e.path||""}${e.fragment||""}`,Yi=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Vi+zi+n+Ki(r)},Zi=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!fe(e))return r(`Invalid surface: ${e}`);const o=((e,t)=>e.startsWith("#")?Yi(t)+e:e)(e,t),i=(e=>{const t=e.match(Ji);return t?{surfaceType:(o=t[1],fe(o)?o.toLowerCase():""),authority:(r=t[2],fe(r)?r.toLowerCase():""),path:(n=t[3],fe(n)?Ki(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r(`Invalid surface: ${e}`):[Vi,Hi].includes(i.surfaceType)?i.authority&&Xi.test(i.authority)?i.path&&!Gi.test(i.path)?r(`Invalid path ${i.path} in surface: ${e}`):i.fragment&&!Qi.test(i.fragment)?r(`Invalid fragment ${i.fragment} in surface: ${e}`):i:r(`Invalid authority ${i.authority} in surface: ${e}`):r(`Unsupported surface type ${i.surfaceType} in surface: ${e}`)},ea=e=>!!e&&0===e.indexOf(Vi+zi)&&-1===e.indexOf("#"),ta=1e4,na=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return Ae();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||Ae()};var ra=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1}=h,C=vn(),k=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1})=>mn({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:l.id,voiceEnabled:E}),S=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return Yi(e)})();S.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:P}=d.current();S.mergeMeta({consent:{state:P}});const D=s();S.mergeXdm({identityMap:{ECID:[{id:D}]}}),S.mergeXdm({...I}),(v||b)&&(y=!0);const R=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:k});return c.onBeforeEvent({event:S}).then(()=>{try{S.finalize(m)}catch(e){throw w({error:e}),e}return C.addEvent(S),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(C,u),r({requestId:Ae(),url:R,request:k,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:`Stream timeout: No data received within ${t/1e3} seconds`}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},oa=Pt({conversation:Pt({stickyConversationSession:bt().default(!1),streamTimeout:kt().integer().minimum(ta).default(ta),collectSources:bt().default(!1)}).default({stickyConversationSession:!1,streamTimeout:ta,collectSources:!1})});const ia=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:na({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return`https://${t}${n.getEdgeSubPath()}/${n.getAction()}?${a}`})({queryString:Ce}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error(`Request failed with status ${e.status}`);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error(`Attempt ${o} failed, retrying in ${a}ms: ${t.message}`)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),Re({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=Ut({orgId:a.orgId,cookieJar:e,logger:t}),f=ra({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=Ce.parse(window.location.search).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>vt([Pt({message:Dt().required(),xdm:Fi,onStreamResponse:Et().default(he),voiceEnabled:bt().default(!1)}),Pt({xdm:Fi,voiceEnabled:bt().default(!1)}).required(),Pt({data:Pt({type:Dt().required(),payload:Pt({})}).required(),onStreamResponse:Et().default(he),voiceEnabled:bt().default(!1)})])(e))({options:e}),run:f}}}};ia.namespace="BrandConcierge",ia.configValidators=oa;const{console:aa}=window,sa=le(window);var ca=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(he).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const da="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",la=Dt().regexp().default(da),ua=Pt({clickCollectionEnabled:bt().default(!0),clickCollection:Pt({internalLinkEnabled:bt().default(!0),externalLinkEnabled:bt().default(!0),downloadLinkEnabled:bt().default(!0),sessionStorageEnabled:bt().default(!1),eventGroupingEnabled:bt().default(!1),filterClickProperties:Et()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:la,onBeforeLinkClickSend:Et().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var pa=(e=document)=>null!==e.getElementById("cppXYctnr"),ga=e=>{let t=e;/^https?:\/\//i.test(t)||(t=`${window.location.protocol}//${e}`);return new URL(t).hostname};var ma=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;pa()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info(`Cancelling link click event due to clickCollection.${c}LinkEnabled = false.`):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,ga(d)===ga(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var fa=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info(`Clicked element properties were rejected by filter function: ${JSON.stringify(this.properties,null,2)}`),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const ha="clickData";var ya=e=>e&&e.replace(/\s+/g," ").trim();const va=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const wa=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(va)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=wa(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},Ia=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const ba=/^(HEADER|MAIN|FOOTER|NAV)$/i,Ea=e=>{let t;return"region"===e.role&&fe(e["aria-label"])&&(t=e["aria-label"]),t},Ca=e=>{let t;return e&&e.nodeName&&e.nodeName.match(ba)&&(t=e.nodeName),t};var ka=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Sa=e=>!!e&&!!e.onclick,Pa=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Da=e=>"BUTTON"===e.tagName&&"submit"===e.type,Ra=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Ta=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=fa({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=ya(e.innerText||e.textContent);const n=wa(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=ya(e.getAttribute("alt"))),t.title||(t.title=ya(e.getAttribute("title"))),t.inputValue||(t.inputValue=ya(Ia(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=ya(Ia(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=ya(e.getAttribute("aria-label"))),t.name||(t.name=ya(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=ya(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=ya(n.id||Ea(n)||Ca(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(ka(t)||Sa(t)||Pa(t)||Da(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return fe(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=Ra(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=Ra(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Oa;const Ma=e=>{if(!Oa){const t=le(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Oa=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(ha,n)},load:()=>{let t=null;const n=e.getItem(ha);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(ha)}}))({storage:r})}},Na=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==da&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Oa||Ma(e);const i=ma({config:e,logger:r,clickActivityStorage:Oa,getClickedElementProperties:Ta}),a=(({clickActivityStorage:e})=>t=>{if(pa())return;const n=e.load(),r=fa({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Oa}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Oa});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;ca({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Oa))}}}};Na.namespace="ActivityCollector",Na.configValidators=ua,Na.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Oa||Ma(e),{getLinkDetails:n=>Ta({clickActivityStorage:Oa,clickedElement:n,config:e,logger:t}).properties});var Aa=Pt({advertising:Pt({id5PartnerId:Dt(),rampIdJSPath:Dt(),dspEnabled:bt(),advertiserSettings:It(Pt({advertiserId:Dt().required(),enabled:bt().required()}).noUnknownFields())}).noUnknownFields()});const xa="advertising",qa="_les_lsc",$a="lastConversionTime",La="displayClickCookieExpires",_a="rampIdExpires",Ua="surferId",ja="hashedIp",Ba="hashedIPAddr",Fa="rampId",Va="id5Id",Ha="advertising.enrichment",za="trackingCode",Ja="trackingIdentities",Xa="Ad conversion submission failed",Ga="ev_lcc";var Qa=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error(`Error reading cookie: ${e}`,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error(`Error writing cookie: ${e}`,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(xa)||{},[e]:t};return s(xa,r,{expires:o(527040),...n})},getValue:e=>(i(xa)||{})[e]}};var Ka=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,appendAdCloudIdentityToEvent:d,collectHashedIPAddr:l,getUrlParams:u,isThrottled:p,normalizeAdvertiser:g})=>async({event:m,advertising:f={}})=>{const{state:h}=o.current();if("in"!==h)return;const{skwcid:y,efid:v}=u(),w=!(!y||!v),I=g(n?.advertiserSettings).length>0;if(!((e=>![Jt,zt].includes(e?.handleAdvertisingData?.toLowerCase()))(f)||w||!I||p(Ua,e)&&p(Va,e)&&p(Fa,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===zt)(f);let u=null;r&&r()===Y||(u=s(t,n.rampIdJSPath,e,o,o));const g=n.id5PartnerId?a(t,n.id5PartnerId,o,o):Promise.resolve(null),[h,y,v,w]=await Promise.allSettled([i(o),l(),g,u]),I={},b={};if("fulfilled"===h.status&&h.value&&(b[Ua]=h.value,p(Ua,e)||(I[Ua]=h.value)),"fulfilled"===y.status&&y.value&&(b[ja]=y.value,p(Ua,e)||(I[ja]=y.value)),"fulfilled"===v.status&&v.value&&!p(Va,e)&&(I.id5Id=v.value),"fulfilled"===w.status&&w.value&&!p(Fa,e)&&(I.rampId=w.value),0!==Object.keys(b).length&&d(b,m),0===Object.keys(I).length&&(p(Ua,e)||p(Va,e)||p(Fa,e)))return;c(I,m,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};const Wa=15,Ya=3e4,Za=500,es=5e3,ts=2e3,ns={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},rs=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!ns.rampIdCallInitiated?(ns.rampIdCallInitiated=!0,ns.rampIdEnv=o,ns.envelopeRetrievalInProgress=!1,ns.inProgressRampIdPromise=null,n.setValue(Fa,ns.rampIdEnv),n.setValue(_a,Date.now()+1728e5),t(ns.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),ns.envelopeRetrievalInProgress=!1)},os=(e,t,n,r=!1)=>{if(ns.inProgressRampIdPromise)return ns.inProgressRampIdPromise;const o=r?ts:Ya;let i=!1;const a=new Promise((r,o)=>{_(e,{onLoad:()=>{void 0===window.ats||ns.envelopeRetrievalInProgress||(ns.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||rs(e,r,t,n):(ns.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{ns.envelopeRetrievalInProgress||i||(ns.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||rs(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),ns.envelopeRetrievalInProgress=!1,o(e),ns.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),ns.envelopeRetrievalInProgress=!1,o(e),ns.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=Wa,i=1,a=0;const s=()=>{if(ns.rampIdEnv)return;if(a>Ya)return r.error("Maximum retry time exceeded"),ns.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(ns.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),ns.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(ns.inProgressRampIdPromise=null);const c=Math.min(Za*i,es);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||ns.rampIdEnv||ns.envelopeRetrievalInProgress?s():(ns.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{rs(t,e,n,r),ns.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),ns.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),ns.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return ns.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{ns.inProgressRampIdPromise=null}),ns.inProgressRampIdPromise},is=(e,t,n,r=!0,o=!1)=>{if(ns.rampIdEnv)return Promise.resolve(ns.rampIdEnv);if(n){const e=n.getValue(Fa),t=n.getValue(_a);if(e&&t&&t>Date.now())return ns.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?os(t,n,e,o):Promise.resolve(null)};let as="",ss=null;const cs=function(e,t,n=!0,r=!1){return as&&""!==as?Promise.resolve(as):n?((e,t,n)=>{if(e=Math.floor(Number(e)),ss)return ss;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});as=i.getUserId();const a=e=>{o||t(e)};as?a(as):window.ID5.init({partnerId:e}).onAvailable(function(t){as=t.getUserId(),as?a(as):window.ID5.init({partnerId:e}).onAvailable(function(e){as=e.getUserId(),as?a(as):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():_("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return ss=Promise.race([i,a]).finally(()=>{ss=null}),ss})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},ds=()=>{const e=Ce.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},ls=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",us=(e,t)=>{const n=[Ua,ja,Va,Fa,"adfId"].map(t=>e[t]??"").join("|");t.mergeXdm({_experience:{adcloud:{stitchId:n}}})},ps=(e,t,n,r,o=!1)=>{const i=n.getValue(qa);let a=null;const s=n.getValue(La);s&&s>Date.now()&&(a=n.getValue(Ga));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[Ua]&&{surferId:e[Ua]},...e[Va]&&{id5:e[Va]},...e[Fa]&&{rampIdEnv:e[Fa]},...e[ja]&&{hashedIp:e[ja]}},advIds:ls(r.advertiserSettings),...o&&{eventType:Ha}}};return t.mergeQuery(c),t},gs=(e,t)=>{const n=Date.now(),r=t.getValue(`${e}_last_conversion`);return Boolean(r&&n-r<18e5)};async function ms({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i,collectSurferId:a,collectHashedIPAddr:s}){const c={},d={},l=s?s().catch(()=>null):Promise.resolve(null),u=async()=>{if(i=c,a=d,!Object.entries(i).some(([e])=>!a[e]))return null;var i,a;const s=await l,u=s?{...c,[ja]:s}:{...c},p=Object.keys(c);try{const i=ps(u,e.createEvent(),t,r,!0),a={eventType:Ha,timestamp:(new Date).toISOString()};i.setUserXdm(a);const s=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(`${e}_last_conversion`,o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue($a,o)})(p,d,t,n),s}catch(e){return n.error(Xa,e),null}},p=((e,t,n,r,o)=>{const i={};return gs(Ua,n)||(i.surferId=o(!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!gs(Va,n)&&(i.id5Id=cs(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!gs(Fa,n)&&(i.rampId=is(e,t.rampIdJSPath,n,!0).catch(()=>null)),i})(n,r,t,0,a);if(0===Object.keys(p).length)return[];const g=Object.entries(p).map(([e,t])=>t.then(t=>{if(t)return c[e]=t,u()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(g)}var fs=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a,collectSurferId:s,collectHashedIPAddr:c})=>{const d=o?.advertiserSettings?ls(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:l,efid:u}=ds();if(!(!l&&!u))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(qa,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[za]:a},...void 0!==s&&{[Ja]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue($a),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(Xa,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:l,efid:u});d&&ms({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i,collectSurferId:s,collectHashedIPAddr:c}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const hs={height:0,width:0,frameBorder:0,style:{display:"none"}},ys=0xffffffffffffffffn,vs=(e,t)=>(e<<BigInt(t)|e>>BigInt(64-t))&ys,ws=e=>BigInt(255&e),Is=(e,t)=>{let n=0n;for(let r=0;r<8;r+=1)n|=ws(e[t+r])<<8n*BigInt(r);return n&ys},bs=0x87c37b91114253d5n,Es=0x4cf5ad432745937fn,Cs=e=>{let t=e&ys;return t=t*bs&ys,t=vs(t,31),t=t*Es&ys,t},ks=e=>{let t=e&ys;return t=t*Es&ys,t=vs(t,33),t=t*bs&ys,t},Ss=e=>{let t=e&ys;return t^=t>>33n,t=0xff51afd7ed558ccdn*t&ys,t^=t>>33n,t=0xc4ceb9fe1a85ec53n*t&ys,t^=t>>33n,t&ys},Ps=(e,t=0)=>{const n=(e=>BigInt.asIntN(64,BigInt.asIntN(32,BigInt(Math.trunc(Number(e))))))(t)&ys;let r=n,o=n,i=0;const a=(new TextEncoder).encode(e),s=(e,t)=>{r^=Cs(e),r=vs(r,27),r=r+o&ys,r=5n*r+0x52dce729n&ys,o^=ks(t),o=vs(o,31),o=o+r&ys,o=5n*o+0x38495ab5n&ys};let c=0;const d=Math.floor(a.length/16);for(let e=0;e<d;e+=1)s(Is(a,c),Is(a,c+8)),c+=16,i+=16;const l=a.length-c;i+=l;let u=0n,p=0n;const g=c;switch(l){case 15:p^=ws(a[g+14])<<48n;case 14:p^=ws(a[g+13])<<40n;case 13:p^=ws(a[g+12])<<32n;case 12:p^=ws(a[g+11])<<24n;case 11:p^=ws(a[g+10])<<16n;case 10:p^=ws(a[g+9])<<8n;case 9:p^=ws(a[g+8]);case 8:u^=Is(a,g);break;case 7:u^=ws(a[g+6])<<48n;case 6:u^=ws(a[g+5])<<40n;case 5:u^=ws(a[g+4])<<32n;case 4:u^=ws(a[g+3])<<24n;case 3:u^=ws(a[g+2])<<16n;case 2:u^=ws(a[g+1])<<8n;case 1:u^=ws(a[g])}r^=Cs(u),o^=ks(p);const m=BigInt(i>>>0);r^=m,o^=m,r=r+o&ys,o=o+r&ys,r=Ss(r),o=Ss(o),r=r+o&ys,o=o+r&ys;const f=new Uint8Array(16),h=(e,t)=>{let n=e&ys;for(let e=0;e<8;e+=1)f[t+e]=Number(0xffn&n),n>>=8n};return h(r,0),h(o,8),[...f].map(e=>e.toString(16).padStart(2,"0")).join("")};const Ds=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=Qa({orgId:t.orgId,logger:e}),c=(({appendNode:e=f,awaitSelector:t=q,createNode:n=h}={})=>{let r=null;return()=>r||(r=new Promise((r,o)=>{const i="https:"===document.location.protocol?"https:":"http:",a=`${i}//www.everestjs.net/static/pixel_details.html#${new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__",clientIp:"__EFREMOTEADDR__"}).toString()}`,s=`${i}//pixel.everesttech.net/1/gr?${new URLSearchParams({ev_gb:"0",url:a}).toString()}`,c=n("iframe",{src:s},hs,[]);let d;const l=e=>{if(e.origin.includes("www.everestjs.net")){clearTimeout(d),window.removeEventListener("message",l,!1);try{const t=e.data,n=t.indexOf("#");if(-1===n)return void r({surferId:null,displayClickCookie:null,clientIp:""});const o=new URLSearchParams(t.substring(n+1)),i=o.get("gsurfer")||null,a=o.get("clientIp")||"",s=o.get(Ga);r({surferId:i,displayClickCookie:s&&"__LCC__"!==s?s:null,clientIp:a})}catch(e){o(e)}}};d=setTimeout(()=>{window.removeEventListener("message",l,!1),o(new Error("Advertising identity call timed out"))},5e3),window.addEventListener("message",l,!1),t(y).then(([t])=>{e(t,c)})}).finally(()=>{r=null}),r)})(),d=(({initiateAdvertisingIdentityCall:e,cookieManager:t,getBrowser:n})=>{let r=t.getValue(Ua)||"";return(o=!0)=>r?Promise.resolve(r):o?e().then(e=>{const o=!n||se({getBrowser:n})();return e&&o&&(e.surferId&&(r=e.surferId,t.setValue(Ua,e.surferId)),e.displayClickCookie&&(t.setValue(Ga,e.displayClickCookie),t.setValue(La,Date.now()+9e5))),o?e.surferId:null}):Promise.resolve(null)})({initiateAdvertisingIdentityCall:c,cookieManager:s,getBrowser:i}),l=(({cookieManager:e,hash:t=Ps})=>{let n=e.getValue(Ba)||"";const r=r=>{r&&(n=t(r),e.setValue(Ba,n))};return{captureFromIframe:r,get:()=>n,collect:e=>n?Promise.resolve(n):e().then(e=>(r(e.clientIp),n))}})({cookieManager:s}),u=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:fn,createDataCollectionRequestPayload:vn,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:Ka({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:d,getID5Id:cs,getRampId:is,appendAdvertisingIdQueryToEvent:ps,appendAdCloudIdentityToEvent:us,collectHashedIPAddr:()=>l.collect(c),getUrlParams:ds,isThrottled:gs,normalizeAdvertiser:ls}),sendAdConversionHandler:fs({eventManager:n,cookieManager:s,adConversionHandler:u,logger:e,componentConfig:a,getBrowser:i,consent:o,collectSurferId:d,collectHashedIPAddr:()=>l.collect(c)})})};Ds.namespace="Advertising",Ds.configValidators=Aa;const Rs=e=>e.filter((t,n)=>e.indexOf(t)===n);var Ts=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||C(o.decisionScopes),hasSurfaces:()=>C(o.surfaces),hasViewName:()=>fe(c),createQueryDetails(){const n=[...r];C(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>Zi(e,n,r)).filter(t=>!e(t)).map(Wi))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(pn)||e.push(pn)})(n),((e,t)=>{const n=Yi(t);e.includes(n)||e.push(n)})(i,t));const a=[Ko,Yo,Zo,ti,ei,ni,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(pn)&&a.push(Wo),{schemas:a,decisionScopes:Rs(n),surfaces:Rs(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const Os={propositions:[]};var Ms=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=he,onRequestFailure:f=he}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=Ts({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);C(t)&&u(o,t,[ci.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Pt({propositions:It(Pt({id:Dt().required(),scope:Dt().required(),scopeDetails:Pt({decisionProvider:Dt().required()}).required(),items:It(Pt({id:Dt().required(),schema:Dt().required(),data:Pt(wt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Pt(wt()),viewName:Dt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),Os}})({logger:t,options:e}),run:d}}}),Ns=(e="undefined")=>h("DIV",{},{innerHTML:e});const As=/:eq\((\d+)\)/g,xs=e=>-1===e.indexOf(":eq("),qs=/(#|\.)(-?\w+)/g,$s=(e,t,n)=>`${t}${CSS.escape(n)}`,Ls=e=>{const t=[],n=(e=>e.split(As).filter(fe))((e=>e.replace(qs,$s))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},_s=e=>{const t=document;if(xs(e))return O(e,t);const n=Ls(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=O(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var Us=(e,t=document)=>t.getElementById(e),js=(e,t,n)=>{e.setAttribute(t,n)},Bs=(e,t)=>e.getAttribute(t),Fs=(e,t,n,r)=>{let o;o=r?`${t}:${n} !${r};`:`${t}:${n};`,e.style.cssText+=`;${o}`},Vs=e=>e.parentNode,Hs=(e,t)=>{if(!e)return;const n=Vs(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},zs=(e,t)=>{if(!e)return;const n=Vs(e);n&&n.insertBefore(t,e)},Js=e=>{const{childNodes:t}=e;return t?k(t):[]},Xs=e=>e.firstElementChild;let Gs;var Qs=(e=document)=>{if(void 0===Gs){const t=e.querySelector("[nonce]");Gs=t&&(t.nonce||t.getAttribute("nonce"))}return Gs};const Ks="src",Ws=e=>h(v,{src:e}),Ys=e=>{O(v,e).forEach(e=>{const t=Bs(e,Ks);t&&Ws(t)})},Zs=e=>((e,t)=>e.tagName===t)(e,w)&&!Bs(e,Ks);var ec=e=>{const t=O(w,e),{length:n}=t,r=Qs();if(r)for(let e=0;e<n;e+=1){const n=t[e];Zs(n)&&(n.nonce=r)}};const tc=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error(`Failed to load script: ${e}`))}}))(e,t);return document.head.appendChild(t),n},nc=(e,t)=>!!e&&e.tagName===t,rc=e=>nc(e,I)&&!Bs(e,Ks),oc=e=>nc(e,I)&&Bs(e,Ks),ic=e=>{const t=O(I,e),n=[],{length:r}=t,o=Qs(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!rc(r))continue;const{textContent:o}=r;o&&n.push(h(I,i,{textContent:o}))}return n},ac=e=>{const t=O(I,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!oc(r))continue;const o=Bs(r,Ks);o&&n.push(o)}return n},sc=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},cc=e=>Promise.all(e.map(tc));var dc=(e,t,n)=>{const r=Ns(t);ec(r);const o=Js(r),i=ic(r),a=ac(r);return Ys(r),o.forEach(t=>{f(e,t)}),n(e),sc(e,i),cc(a)};var lc=(e,t,n)=>((e=>{Js(e).forEach(U)})(e),dc(e,t,n)),uc=(e,t,n)=>{const r=Ns(t);ec(r);const o=Js(r),i=ic(r),a=ac(r),{length:s}=o;let c=s-1;for(Ys(r);c>=0;){const t=o[c];n(t);const r=Xs(e);r?zs(r,t):f(e,t),c-=1}return sc(e,i),cc(a)};const pc="alloy-prehiding",gc={},mc=e=>{if(gc[e])return;const t=Qs(),n={...t&&{nonce:t}},r=h(w,n,{textContent:`${e} { visibility: hidden }`});f(document.head,r),gc[e]=r},fc=e=>{const t=gc[e];t&&(U(t),delete gc[e])};var hc=(e,t,n)=>{n(e),e.textContent=t},yc=(e,t,n)=>{const r=Ns(t);ec(r);const o=Js(r),i=ic(r),a=ac(r);return Ys(r),o.forEach(t=>{n(t),zs(e,t)}),sc(e,i),cc(a)},vc=(e,t,n)=>yc(e,t,n).then(()=>{U(e)}),wc=(e,t,n)=>{const r=Ns(t);ec(r);const o=Js(r),i=ic(r),a=ac(r);Ys(r);let s=e;return o.forEach(e=>{n(e),Hs(s,e),s=e}),sc(e,i),cc(a)},Ic=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Fs(e,t,o[t],r)}),n(e)},bc=(e,t,n)=>{Object.keys(t).forEach(n=>{js(e,n,t[n])}),n(e)},Ec=(e,t,n)=>{e.tagName===v&&(Ws(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,Ks),js(e,Ks,t))},Cc=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?k(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Hs(a,i):zs(a,i),r(a),r(i))};const kc=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;mc(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await q(i,_s),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{fc(a)}},Sc=e=>`${e}`.endsWith("px")?e:`${e}px`;var Pc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=Sc(n)),Fs(e,t,n,r)}),n(e)},Dc=(e,t,n)=>{n(e)},Rc=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=Sc(n)),Fs(e,t,n,r)}),n(e)};const Tc="setHtml",Oc="customCode",Mc="setText",Nc="setAttribute",Ac="setImageSource",xc="setStyle",qc="move",$c="resize",Lc="rearrange",_c="remove",Uc="insertAfter",jc="insertBefore",Bc="replaceHtml",Fc="prependHtml",Vc="appendHtml",Hc="click",zc="collectInteractions";var Jc=(e,t)=>{if(xs(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=_s(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Xc="view",Gc=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),Qc=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Jc(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Xc);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var Kc=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=Qc(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...Gc(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Wc=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");var Yc=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Zc=(e,t)=>e===Zo&&t===zc,ed={[Wo]:()=>!0,[Yo]:()=>!0,[Zo]:Zc,[ni]:()=>!0,[Ko]:()=>!0};var td=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof ed[e]&&ed[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Yo||Zc(o,n)?F(t)?void 0:{...e,schema:Zc(o,n)?Wo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===pn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(C(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>C(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var nd=e=>{const{selector:t,type:n}=e;return n!==Oc||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var rd=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===Oc)return t;if(Tr(n))return t;if(null==r)return t;const o=_s(r);return nc(o[0],"HEAD")?(t.type=Vc,t.content=(e=>{const t=Ns(e);return O("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},od=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===pn||t(s)?"page":l===Xc?Xc:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},id=()=>({render:he,setRenderAttempted:!0,includeInNotification:!0});const ad="always",sd="never",cd="decoratedElementsOnly",dd=[ad,sd,cd],ld="data-aep-interact-id",ud="data-aep-click-label";let pd=0;const gd=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[ad,cd].includes(e[t]))(e,d)||t===Hc?e=>{if(!e.tagName)return;const t=(c=Bs(e,ld))?parseInt(c,10):++pd;var c;s(n,r,i,a,t),js(e,ld,t),o&&!Bs(e,ud)&&js(e,ud,o)}:he};var md=(e,t)=>e!==Xc?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},fd=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===Hc)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=md(i.getProposition().getScopeType(),i.getId()),d=gd(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},hd=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=gd(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=md(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const yd="BODY";var vd=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(mc(yd),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:`Redirect action ${r.toString()} executed.`,logLevel:"info"}),t(o))).catch(e=>{throw fc(yd),e})),setRenderAttempted:!0,onlyRenderThis:!0}},wd=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info(`Action ${n.toString()} executed.`),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i=`Failed to execute action ${n.toString()}. ${r} ${o}`;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&C(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(C(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:`Scopes: ${JSON.stringify(e)} successfully executed.`,logLevel:"info"})}return r})}}};var Id=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===ni)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const bd="defaultContent",Ed=["content","contentType"],Cd=["mobileParameters","webParameters","html"];var kd=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=bd}=r;return e[s]?((e,t)=>{for(let n=0;n<Ed.length;n+=1){const r=Ed[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn(`Invalid in-app message data: missing property '${r}'.`,e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<Cd.length;r+=1){const o=Cd[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn(`Invalid in-app message data.content: missing property '${o}'.`,e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const Sd=e=>{const t=O(`#${e}`,document);t&&t.length>0&&U(t[0])};var Pd=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const Dd="alloy-messaging-container",Rd="alloy-overlay-container",Td="alloy-content-iframe",Od=()=>[Dd,Rd].forEach(Sd),Md=(e,t=Pd(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(C(r)){const e=Ce.parse(r[1]);s=e.interaction||"",c=Bn(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&Od(),fe(s)&&s.length>0&&t(s,!0)},Nd=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?`${n}%`:"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?`${a}px`:"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?`${s}%`:"0":"right"===r?l.right=s?`${s}%`:"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?`${c}%`:"0":"bottom"===t?(l.position="fixed",l.bottom=c?`${c}%`:"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?`${l.transform} `:"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?`${i}vh`:"100%",l},Ad=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},xd=["enabled","parentElement","insertionMethod"],qd=(e={},t)=>{Od();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==Pi)return;const a=h("div",{id:Dd}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,Pi),r=n.querySelector("script");r&&r.setAttribute("nonce",Qs());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:Td});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Md(t)),c=h("div",{id:Rd});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(Dd))return!1;if(!t.includes(Rd))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Pt(n[e],"style"))return!1;if(!Pt(n[e],"params"))return!1;for(let t=0;t<xd.length;t+=1)if(!Pt(n[e].params,xd[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[Td]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[Dd]:{style:Nd(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[Rd]:{style:Ad(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:Rd,element:r},{id:Dd,element:n},{id:Td,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var $d=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;qd(e,(e,n)=>{const i={};i[ci.INTERACT]=1,-1!==Object.values(ci).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:oi,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ld=e=>{const t=e.find(e=>e.scopeType===Xc);return t?t.scope:void 0};var _d=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Bs(n,ld);e&&r.add(e),o=o||Bs(n,ud),i=i||Bs(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===ad||e[i]===cd&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:Gc(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ld(s)}};const Ud=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=qi({eventManager:n,mergeDecisionsMeta:$i}),c=(e=>()=>{const t=Us(pc);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),U(t))})(t),d=(e=>t=>{if(!t)return;if(Us(pc))return;const n=Qs(),r={id:pc,...n&&{nonce:n}},o=h(w,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Yc(),v=(({window:e})=>()=>e.location)({window:window}),I={[Tc]:kc(lc,!0),[Oc]:kc(uc,!0),[Mc]:kc(hc,!0),[Nc]:kc(bc,!0),[Ac]:kc(Ec,!0),[xc]:kc(Ic,!0),[qc]:kc(Pc,!0),[$c]:kc(Rc,!0),[Lc]:kc(Cc),[_c]:kc(U,!0),[Uc]:kc(wc),[jc]:kc(yc),[Bc]:kc(vc,!0),[Fc]:kc(uc),[Vc]:kc(dc),[zc]:kc(Dc,!0)},b=(E=[rd,nd],e=>e?E.reduce((e,t)=>({...e,...t(e)}),e):e);var E;const k=od({preprocess:b,isPageWideSurface:ea}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Xc}},items:[{schema:Ko}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:k}),P=Pd(window),D={[Ko]:id,[Wo]:fd({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Yo]:hd({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[ti]:vd({logger:t,executeRedirect:P,collect:s}),[ni]:kd({modules:$d(s),logger:t})},R=wd({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{C(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),C(n)&&e({decisionsMeta:n,eventType:si,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),M=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");C(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),C(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:pn,propositions:s.map(e=>e.toJSON())}}),C(p)&&e.logOnContentRendering({status:"rendering-started",message:`Rendering propositions started for view scope - ${l.getViewName()}.`,logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===ti)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:Li,processPropositions:R,createProposition:k,notificationHandler:O,consent:r,logger:t}),N=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),C(d)){const t={eventType:oi};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[ci.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:$i,collectInteractions:_d,collectClicks:Kc,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:`Started rendering propositions for view scope - ${s}.`,logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=td({processPropositions:R,createProposition:k,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:he)({targetMigrationEnabled:o}),$=Id({processPropositions:R,createProposition:k,notificationHandler:O}),L=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===Ft&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return Ms({getPageLocation:v,logger:t,fetchDataHandler:M,viewChangeHandler:A,onClickHandler:N,isAuthoringModeEnabled:Wc,mergeQuery:Li,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:$i,renderedPropositions:T,onDecisionHandler:$,handleConsentFlicker:L})};Ud.namespace="Personalization";const jd=dd.map(e=>Ct(e));Ud.configValidators=Pt({prehidingStyle:Dt().nonEmpty(),targetMigrationEnabled:bt().default(!1),autoCollectPropositionInteractions:Pt({[Yr]:vt(jd).default(ad),[Zr]:vt(jd).default(sd)}).default({[Yr]:ad,[Zr]:sd}).noUnknownFields()});const Bd=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return Bd({vapidPublicKey:e,window:t})}};const Fd="config",Vd="alloyConfig";async function Hd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(Fd)||e.createObjectStore(Fd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Fd,Vd),s={...a||{},...e,id:Vd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,Fd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const zd="subscriptionDetails";var Jd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=Bd})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(Se(u)),g=`${l}${p}`;if(g===n.getItem(zd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(zd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=vn();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>mn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await Hd({ecid:l},r)};const Xd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Gd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(Xd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await Hd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!Xd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(`${Q(a)}.pushNotifications.`);return Jd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Pt({}).noUnknownFields()}}});Gd.namespace="Push Notifications",Gd.configValidators=Pt({pushNotifications:Pt({vapidPublicKey:Dt().required(),appId:Dt().required(),trackingDatasetId:Dt().required()}).noUnknownFields()});var Qd=Object.freeze({__proto__:null,activityCollector:Na,advertising:Ds,audiences:ur,brandConcierge:ia,consent:wr,eventMerge:br,mediaAnalyticsBridge:Wr,personalization:Ud,pushNotifications:Gd,rulesEngine:_i,streamingMedia:Bi});var Kd=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Wd=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const Yd=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),Zd=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Te(r);i>=0&&(o.screenHeight=i);const a=Te(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(E(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),el=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Te(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Te(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),tl=(nl=()=>new Date,e=>{const t=nl(),n={},r=Te(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Oe(e.getMonth()+1,2,"0"),r=Oe(e.getDate(),2,"0"),o=Oe(e.getHours(),2,"0"),i=Oe(e.getMinutes(),2,"0"),a=Oe(e.getSeconds(),2,"0"),s=Oe(e.getMilliseconds(),3,"0"),c=Te(e.getTimezoneOffset(),0);return`${t}-${n}-${r}T${o}:${i}:${a}.${s}${c>0?"-":"+"}${Oe(Math.floor(Math.abs(c)/60),2,"0")}:${Oe(Math.abs(c)%60,2,"0")}`})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var nl;const rl=Kr(()=>new Date),ol={web:Yd,device:Zd,environment:el,placeContext:tl},il={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Kd.map(e=>e[0])).then(e=>{const n={};Kd.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn(`Unable to collect user-agent client hints. ${e.message}`),he}}:he)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Wd.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},al={...ol,...il},sl=[rl,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:Qn,environment:"browser"}})}],cl=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn(`Invalid context[${r}]: '${e}' is not available.`),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,al,sl);cl.namespace="Context",cl.configValidators=Pt({context:It(Dt()).default(Object.keys(ol))});var dl=Object.freeze({__proto__:null,context:cl});const ll=({components:e=[],...t}={})=>((e={})=>{const t=Pt({name:Dt().default("alloy"),monitors:It(Pt({})).default([]),components:It(Et())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=Nt({console:aa,locationSearch:window.location.search,createLogger:un,instanceName:n,createNamespacedStorage:sa,getMonitors:Mn.bind(null,r)}),a=cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a})({...t,components:[...Object.values(dl),...e]});(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=ll({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Qd)})}();
|