// `,primisDebugDashboardAssetUrl=(e,t)=>{e=e&&e.config||{},e=String(e.absolutePath||"").replace(/\/$/,"");return(e?e+t:t)+"?cb="+Date.now()},primisDebugDashboardScriptUrl=e=>primisDebugDashboardAssetUrl(e,PRIMIS_DEBUG_DASHBOARD_SCRIPT_PATH),primisDebugDashboardCssUrl=e=>primisDebugDashboardAssetUrl(e,PRIMIS_DEBUG_DASHBOARD_CSS_PATH),primisDebugRenderPopupWindow=(t,e,i)=>{var o=t.document;o.documentElement.innerHTML=' Primis Debug
';let n=t;n.__primisDebugChannel&&"function"==typeof n.__primisDebugChannel.close&&n.__primisDebugChannel.close(),n.__primisDebugMessages=[];i=n.BroadcastChannel||BroadcastChannel;let a=n.CustomEvent||CustomEvent,s=new i(PRIMIS_DEBUG_CHANNEL_NAME);s.onmessage=e=>{e.data&&(e.data.config||e.data.plan)&&(n.__primisDebugMessages.push(e.data),t.dispatchEvent(new a("primis-debug-message",{detail:e.data})))},n.__primisDebugChannel=s;i=()=>{s.postMessage({type:"primis-debug-ready"})},i(),t.setTimeout(i,100),t.setTimeout(i,500),t.setTimeout(i,1500),i=o.createElement("script");i.src=e,o.body.appendChild(i)},primisDebugInlinePopupWindow=(e,t)=>{let i=document.getElementById("primis-debug-inline-popup");return i||((i=document.createElement("iframe")).id="primis-debug-inline-popup",i.title="Primis Debug",i.setAttribute("aria-label","Primis Debug"),Object.assign(i.style,{position:"fixed",right:"8px",bottom:"8px",width:"360px",height:"520px",zIndex:"2147483647",border:"0",background:"#fff",boxShadow:"0 12px 32px rgba(15, 23, 42, 0.22)"}),(document.body||document.documentElement).appendChild(i)),i.srcdoc=primisDebugPopupHtml(e,t),i.contentWindow},primisDebugOpenPopup=(e,t)=>{var i=window.open("",PRIMIS_DEBUG_CHANNEL_NAME,"width=360,height=520");if(i)try{return primisDebugRenderPopupWindow(i,e,t),i}catch(e){try{i.close()}catch(e){}}return primisDebugInlinePopupWindow(e,t)},getPrimisDebugSchedulerConfig=(window.PrimisDebugDashboard={init(i){if(primisDebugEnabled(i)&&"function"==typeof BroadcastChannel){var o=primisDebugDashboardScriptUrl(i),n=primisDebugDashboardCssUrl(i);if(primisDebugOpenPopup(o,n)){let e=new BroadcastChannel(PRIMIS_DEBUG_CHANNEL_NAME),t=()=>e.postMessage(getPrimisDebugStats(i));e.onmessage=e=>{e.data&&"primis-debug-ready"===e.data.type&&t()};o=i.config,n=(o&&(o.__primisDebugDashboardTimer&&window.clearInterval(o.__primisDebugDashboardTimer),o.__primisDebugDashboardResizeHandler&&window.removeEventListener("resize",o.__primisDebugDashboardResizeHandler),o.__primisDebugDashboardBus)&&o.__primisDebugDashboardBusHandler&&o.__primisDebugDashboardBus.removeCallBack("onPlayerResize",o.__primisDebugDashboardBusHandler),window.setInterval(t,1e3));o&&(o.__primisDebugDashboardTimer=n,o.__primisDebugDashboardResizeHandler=t),t(),[100,500,1500].forEach(e=>{window.setTimeout(t,e)}),o&&o.bus&&(o.bus.addCallBack("onPlayerResize",t),o.__primisDebugDashboardBus=o.bus,o.__primisDebugDashboardBusHandler=t),window.addEventListener("resize",t)}}}},e=>{var e=e&&e.config||{},t=e.adsSchedule||{},i=Array.isArray(t.mid_roll)?t.mid_roll:[],o=String(e.playerMode||e.unitType||"slider"),n=primisDebugBoolean(e.isRealPrerollEnabled),a=primisDebugNumber(t.gap&&t.gap.attGap,primisDebugNumber(e.waterfallAttemptGapVV,0));return{placementId:String(e.placementId||e.mediaSpaceId||e.adslotId||"N/A"),unitType:o,prerollEnabled:primisDebugBoolean(t.pre_roll)||n,midrollEnabled:0{var t=e&&e.config||{},i=t.adsSchedule||{},o=Array.isArray(i.mid_roll)?i.mid_roll:[],n=primisDebugBoolean(t.isRealPrerollEnabled),n=primisDebugBoolean(i.pre_roll)||n;return{playerMode:primisDebugPlayerMode(e),preroll:{enabled:n,type:primisDebugBoolean(t.isDoublePreroll)?"double":"single"},midroll:{enabled:0({version:1,config:getPrimisDebugSchedulerConfig(e),plan:getPrimisDebugPlan(e),domain:primisDebugDomain(e),playerType:primisDebugPlayerType(e),timeline:getPrimisDebugTimeline(e)}),primisDebugAdTypeLabel=e=>{e=String(e&&(e.adType||e.serveType)||"").toLowerCase();return"ima"===e?"IMA":"display"===e||"prebiddisplay"===e?"Display":"VAST"},primisDebugFormatRvn=e=>{e=primisDebugOptionalNumber(e);return null===e?null:"$"+(100<=Math.abs(e)?e/1e3:e).toFixed(2)},primisDebugNormalizeTimelineEventType=e=>{switch(e){case"ad_display":return"ad_displayed";case"viewability_change":return"viewability_mode";case"ad_request":return"cache_fill";default:return String(e||"event")}},primisDebugFormatAdTimelineData=e=>{var t=[primisDebugAdTypeLabel(e)],e=(e&&null!=e.campaignId&&t.push("campaign #"+e.campaignId),primisDebugFormatRvn(e&&e.rvn));return e&&t.push("RVN "+e),t.join(" · ")},primisDebugFormatCacheFillTimelineData=e=>{var t=e&&void 0!==e.viewableAds&&void 0!==e.viewableWatermark,i=e&&void 0!==e.nonViewableAds&&void 0!==e.nonViewableWatermark;return t||i?"VV: "+(t?e.viewableAds+"/"+e.viewableWatermark:"N/A")+" · NV: "+(i?e.nonViewableAds+"/"+e.nonViewableWatermark:"N/A"):e&&e.purpose?String(e.purpose):""},primisDebugFormatTimelineEventData=(e,t)=>{if(!e)return"";switch(t){case"ad_saved":case"ad_displayed":return primisDebugFormatAdTimelineData(e);case"viewability_mode":return e.newViewable?"viewable":"non-viewable";case"cache_fill":return primisDebugFormatCacheFillTimelineData(e);case"ad_skipped":return e.playerMode&&"inRead"!==e.playerMode&&"inUnit"!==e.playerMode?"user skip - +30s penalty":"user skip";case"ad_error":case"ad_failed_to_play":case"gap_check":return e.reason||e.data||"";default:return e.data||""}},getPrimisDebugTimeline=e=>{e=e&&e.primisDebugGetAdsScheduler;let t=null;try{t="function"==typeof e?e():null}catch(e){t=null}if(!t)return null;let i=null,o=null;try{"function"==typeof t.getStats&&(o=t.getStats(),i=o&&o.timeline)}catch(e){o=null,i=null}e=t.timelineTracker;if(!i&&e&&"function"==typeof e.getVisualization)try{i=e.getVisualization()}catch(e){i=null}if(!(i=!i&&o&&o.timeline?o.timeline:i))return null;e=primisDebugNumber(void 0!==i.durationSec?i.durationSec:i.sessionDuration,0);let n=primisDebugNumber(i.sessionStartTime,primisDebugNumber(t.state&&t.state.sessionStartTime,Date.now()-1e3*e));var a=(Array.isArray(i.events)?i.events:[]).slice().sort((e,t)=>{e=primisDebugNumber(e&&e.timestamp,n+1e3*primisDebugNumber(e&&e.time,0));return primisDebugNumber(t&&t.timestamp,n+1e3*primisDebugNumber(t&&t.time,0))-e}).slice(0,100).map(e=>{var t=primisDebugNormalizeTimelineEventType(e&&e.type);return{time:primisDebugNumber(e&&e.time,0),type:t,data:primisDebugFormatTimelineEventData(e,t)}});return{sessionStartTime:n,durationSec:e,events:a,totalEvents:void 0!==i.totalEvents?i.totalEvents:a.length}},primisDebugParamFromUrl=e=>{try{return new URL(e,window.location.href).searchParams.get("debug")}catch(e){return null}},primisDebugEnabled=e=>{e=e&&e.config||{},e=[window.location.href,new URLSearchParams(window.location.search).get("pubUrl"),e.pubUrl,document.referrer];try{window.top&&window.top!==window&&e.push(window.top.location.href)}catch(e){}return e.some(e=>!!e&&"true"===primisDebugParamFromUrl(String(e)))},primisDebugDomain=e=>{e=e&&e.config||{};try{return new URL(String(e.pubUrl||document.referrer||window.location.href),window.location.href).hostname||window.location.hostname}catch(e){return window.location.hostname}},primisDebugBoolean=e=>!0===e||1===e||"1"===e||"true"===e,primisDebugOptionalNumber=e=>null==e||""===e||(e=Number(e),isNaN(e))?null:e,primisDebugNumber=(e,t)=>{e=primisDebugOptionalNumber(e);return null===e?t:e},primisDebugPlayerType=e=>{e=e&&e.config||{};return primisDebugBoolean(e.IS_NEW_PLAYER)?"New Player":"Old Player"},primisDebugPlayerMode=e=>{var e=e&&e.config||{},t=String(e.playerMode||e.unitType||"slider").toLowerCase();return primisDebugBoolean(e.floatEnabled||e.isFloatEnabled||e.flowStatus)||-1!==["float","flow","sticky","snapit"].indexOf(t)?"float":"slider"===t?"slider":"discovery"};function prebidDisplayAd_injectContainer(e,t,i,o={}){var n=e.document.createElement("div"),i=(n.id=i,Object.assign(n.style,Object.assign(Object.assign({},{width:"100%",height:"100%",position:"absolute",left:"0px",top:"0px",visibility:"hidden",zIndex:"30000",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"}),o)),e.document.getElementById(t));return i?(i.appendChild(n),n):null}function prebidDisplayAd_injectScript(s,r,e,d,t,c){let l=e;if(l)if("string"!=typeof l)null!=t&&t("Invalid scriptToRender - must be a string");else{let a=s.document.getElementById(r);var i;if(a)try{c&&c("PreBid: Analyzing scriptToRender content type");var o=/]*>/i.test(l),n=/<\/script>[\s\S]*]*>/i.test(l),h=1<(l.match(/]*>/gi)||[]).length;if(o&&(n||h)){c&&c("PreBid: Detected complete response (script + img tags + viewability script)");var p=l.match(/]*>([\s\S]*?)<\/script>/i),m=l.indexOf("<\/script>");let n=-1!==m?l.substring(m+9):"";if(!p||!p[1])return c&&c("PreBid: No script found in complete response, injecting directly"),a.innerHTML=l,setTimeout(()=>{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),void(null!=d&&d());try{let o=s.document.createElement("iframe");o.style.cssText="position:absolute;width:1px;height:1px;border:none;visibility:hidden;",o.setAttribute("sandbox","allow-scripts allow-same-origin");var u=' `;o.srcdoc=k,a.appendChild(o);let t=!1;return o.onload=function(){var e;if(!t){t=!0;try{let i=o.contentDocument||(null==(e=o.contentWindow)?void 0:e.document);if(!i)throw new Error("Cannot access iframe document");setTimeout(()=>{if(o.parentNode)try{var e=i.body;if(!e)throw new Error("Iframe body not available");var t=e.innerHTML;a.innerHTML=t,o.parentNode&&o.parentNode.removeChild(o),c&&c("PreBid: Successfully executed script via iframe and extracted HTML"),setTimeout(()=>{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),null!=d&&d()}catch(e){c&&c("PreBid: Error extracting HTML from iframe: "+e.message),o.parentNode&&o.parentNode.removeChild(o),n()}},200)}catch(e){c&&c("PreBid: Error executing script in iframe: "+e.message),o.parentNode&&o.parentNode.removeChild(o),n()}}},void setTimeout(()=>{o.parentNode&&!t&&(c&&c("PreBid: Iframe execution timeout, falling back to regex extraction"),t=!0,o.parentNode.removeChild(o),n())},2e3)}catch(e){c&&c(`PreBid: Failed to create iframe: ${e.message}, falling back to regex`),n()}}var x,S=l.match(/document\.write\((['"`])((?:(?!\1)[^\\]|\\.)*)\1\)/);if(S&&S[2])return c&&c("PreBid: Successfully extracted HTML from single document.write"),x=S[2].replace(/\\"/g,'"').replace(/\\'/g,"'").replace(/\\\\/g,"\\"),a.innerHTML=x,setTimeout(()=>{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),void(null!=d&&d());c&&c("PreBid: Failed to extract HTML from document.write, falling back to HTML detection")}if(i=l,[/]*>/i,/]*>/i,/]*>/i,/]*>/i,/]*>/i,/]*>/i,/]*>/i].some(e=>e.test(i))){c&&c("PreBid: Detected HTML content, injecting directly");let e=l;e=(e=e.replace(/]*>[\s\S]*?<\/script>/gi,"")).replace(/]*>/gi,""),a.innerHTML=e,setTimeout(()=>{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),void(null!=d&&d())}else{c&&c("PreBid: Treating as pure JavaScript, creating script element");var b=s.document.createElement("script");b.type="text/javascript";try{b.textContent=l}catch(e){c&&c("PreBid: Script injection failed, attempting HTML fallback");try{return l.trim().startsWith("<")||l.includes("{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),void(null!=d&&d())):void(null!=t&&t("Failed to set script content: "+e.message))}catch(e){return void(null!=t&&t("Failed to set script content and HTML fallback: "+e.message))}}try{a.appendChild(b)}catch(e){c&&c("PreBid: Script append failed, attempting final HTML fallback: "+e.message);try{return l.trim().startsWith("<")||l.includes("{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),void(null!=d&&d())):void(null!=t&&t("Failed to append script to container: "+e.message))}catch(e){return void(null!=t&&t("Failed to append script and HTML fallback: "+e.message))}}setTimeout(()=>{prebidDisplayAd_styleIframe(s,r),prebidDisplayAd_addClickHandling(s,r,void 0,c)},100),null!=d&&d()}}catch(e){null!=t&&t("Nuclear fallback triggered: "+e.message)}else null!=t&&t("Container missing for creative script injection")}else null!=t&&t("Missing scriptToRender - no ad creative to display")}function prebidDisplayAd_addClickHandling(o,e,n,a){let s=o.document.getElementById(e);if(s){Object.assign(s.style,{cursor:"pointer"});let t=null;s.addEventListener("click",e=>{t||(t=setTimeout(()=>{t=null},300),(e=>{if(e.preventDefault(),e.stopPropagation(),n)try{n()}catch(e){a&&a("PreBid Display - Click tracking error: "+e)}let t="";var i,e=s.querySelector("iframe");if(e)try{e.contentWindow&&e.contentWindow.document&&0<(i=e.contentWindow.document.querySelectorAll("a")).length&&(t=i[0].href)}catch(e){}t||(e=s.querySelector("a"))&&e.href&&(t=e.href),t&&"about:blank"!==t?(o.open(t,"_blank","noopener,noreferrer"),a&&a("PreBid Display - Ad clicked: "+t)):a&&a("PreBid Display - Ad clicked (no URL found)")})(e))})}}function prebidDisplayAd_styleIframe(e,t){e=e.document.getElementById(t);e&&(t=e.querySelector("iframe"))&&(Object.assign(t.style,{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",border:"none",display:"block",position:"relative"}),t.removeAttribute("width"),t.removeAttribute("height"))}function prebidDisplayAd_removeContainer(e,t){e=e.document.getElementById(t);e&&e.parentElement&&e.parentElement.removeChild(e)}function prebidDisplayAd_injectNativeAd(i,e,o,t,n,a){var s,r,e=i.document.getElementById(e);e?(s=i.document.createElement("div"),Object.assign(s.style,{width:"100%",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",backgroundColor:"#000",color:"#fff",fontFamily:"Arial, sans-serif",textAlign:"center",padding:"20px",boxSizing:"border-box",cursor:"pointer"}),null!=(r=o.image)&&r.url&&((r=i.document.createElement("img")).src=o.image.url,Object.assign(r.style,{maxWidth:"100%",maxHeight:"60%",objectFit:"contain",marginBottom:"15px"}),s.appendChild(r)),o.title&&((r=i.document.createElement("h2")).textContent=o.title,Object.assign(r.style,{fontSize:"18px",margin:"0 0 10px 0",fontWeight:"bold"}),s.appendChild(r)),o.body&&((r=i.document.createElement("p")).textContent=o.body,Object.assign(r.style,{fontSize:"14px",margin:"0 0 15px 0",lineHeight:"1.4"}),s.appendChild(r)),o.cta&&((r=i.document.createElement("button")).textContent=o.cta,Object.assign(r.style,{backgroundColor:"#007bff",color:"#fff",border:"none",padding:"10px 20px",fontSize:"14px",borderRadius:"5px",cursor:"pointer"}),s.appendChild(r)),s.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();let t=o.clickUrl||o.click_url||o.link;(t=!t&&o.clicktrackers&&0{prebidDisplayAd_attemptContainerCreation(e,t,i,o,n,a,s+1,r)},100)):(a&&a("PreBid: Max retries reached, creating parent container"),prebidDisplayAd_createParentContainerAndRetry(e,t,i,o,n,a))}function prebidDisplayAd_createParentContainerAndRetry(t,i,e,o,n,a){if(!t.document.getElementById(i)){var s=t.document.createElement("div");s.id=i,Object.assign(s.style,{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",zIndex:"30000",backgroundColor:"transparent",visibility:"hidden",display:"none"});let e=t.document.body;var r=t.document.querySelectorAll('video, [id*="player"], [class*="player"]');(e=0{e.parentElement&&e.parentElement.removeChild(e)})),PrebidDisplayAd_InjectContainer(e,t,i,o)}function injectScript(e,t,i,o,n,a,s,r){PrebidDisplayAd_InjectScript(e,t,i,o,n,a,s,r)}function tryStyleIframe(e,t){PrebidDisplayAd_StyleIframe(e,t)}function removeContainer(e,t){PrebidDisplayAd_RemoveContainer(e,t)}function injectNativeAd(e,t,i,o,n,a){PrebidDisplayAd_InjectNativeAd(e,t,i,o,n,a)}function fireImpressionTracking(e,t){prebidDisplayAd_fireImpressionTracking(e,t)}function fireAdStartTracking(e,t){prebidDisplayAd_fireAdStartTracking(e,t)}function fireAdCompleteTracking(e,t){prebidDisplayAd_fireAdCompleteTracking(e,t)}function fireAdViewableTracking(e,t){prebidDisplayAd_fireAdViewableTracking(e,t)}function fireWinTracking(e,t){prebidDisplayAd_fireWinTracking(e,t)}function fireClickTracking(e,t){prebidDisplayAd_fireClickTracking(e,t)}function registerEvent(e,t,i){prebidDisplayAd_registerEvent(e,t,i)}function removeEvent(e,t,i){prebidDisplayAd_removeEvent(e,t,i)}function handleUserEvent(e,t,i,o,n,a,s,r){prebidDisplayAd_handleUserEvent(e,t,i,o,n,a,s,r)}function handleVisibilityChange(e){prebidDisplayAd_handleVisibilityChange(e)}function handleFloatModeChange(e,t,i,o){prebidDisplayAd_handleFloatModeChange(e,t,i,o)}function createViewabilityChecker(e,t,i,o=!0){return prebidDisplayAd_createViewabilityChecker(e,t,i,o)}function attemptContainerCreation(e,t,i,o,n,a){PrebidDisplayAd_AttemptContainerCreation(e,t,i,o,n,a)}let CreatePreBidDisplayAdUnit=function(a,s,n,t,i,o,r,d,c,e=18){let l="init",h="preBidAdContainer_"+Math.random().toString(36).slice(2,11),p=!1,m=!1,u=null,W=null,f=!1,g=!1,k=e;function x(e){a.primisConsoleLog("PreBid Ad rendering failed: "+e),f=!0,"init"!==l&&b("fail"),I()}function S(){if(f||t())x("PreBid rendering: Ad stopped or paused");else{l="started",fireWinTracking(s,a);var e=a.rootWindow.document.getElementById(h);e&&(e.style.visibility="visible",e.style.display="flex",e=a.rootWindow.document.getElementById(c))&&(e.style.visibility="visible",e.style.display="block"),a.bus.triggerNote("adStarted",{type:"display",rvn:s.rvn,skipTime:5,controls:0}),W&&W.startDurationChecker(),n({type:"started",val:R}),a.bus.triggerNote("onVideoEvent",{type:"playing",val:{player:"adsManager"}}),fireImpressionTracking(s,a),fireAdStartTracking(s,a),setTimeout(()=>{tryStyleIframe(a.rootWindow,h),PrebidDisplayAd_AddClickHandling(a.rootWindow,h,()=>{fireClickTracking(s,a)},a.primisConsoleLog)},100);{var o=k;let t=Date.now(),i=()=>{var e;g||f||(e=(Date.now()-t)/1e3,o<=e?(b("complete"),fireAdCompleteTracking(s,a),n({type:"complete",val:R})):requestAnimationFrame(i))};i()}}}function b(e){m||(m=!0,u&&(clearInterval(u),u=null),("complete"===e||"started"===l&&"fail"===e)&&(a.bus.triggerNote("adCompleted",{type:s.serveType}),r()?a.bus.triggerNote("adCompletedNormal"):(a.bus.triggerNote("adCompletedNextAd"),a.isNewAdsScheduler||d(!0)),a.bus.triggerNote("APIadCompleted")),n({type:e,val:R}),l="complete")}function v(e){handleUserEvent(e,a,f,i,R,o,b,e=>{g=e})}function _(){handleVisibilityChange(b)}function y(){return null!==a.rootWindow.document.getElementById(h)}function C(){var e=a.rootWindow.document.getElementById(h);return e&&e.parentElement?(e.parentElement.removeChild(e),a.primisConsoleLog("Container removed successfully"),!0):(a.primisConsoleLog("Container not found or no parent"),!1)}function P(){a.rootWindow?(a.inViewDurationDisplayType||(a.inViewDurationDisplayType=1),W=createViewabilityChecker(a,a.adInViewPrc,()=>{p||(p=!0,fireAdViewableTracking(s,a),W=null)},!0),attemptContainerCreation(a.rootWindow,c,h,w,x,a.primisConsoleLog)):x("Prebid: rootWindow not available")}let A=["equativ-ps"];function w(){var e="native"===s.serveType||s.creative?"native":"display"===s.serveType||s.scriptToRender?"banner":"unknown",t=a.flowStatus&&a.flowWidth&&a.flowHeight?{width:a.flowWidth,height:a.flowHeight}:a.width&&a.height?{width:a.width,height:a.height}:{width:640,height:360};if(a.primisConsoleLog(`Attempting to inject ${e} ad (${t.width}x${t.height})`),"banner"==e)if(s.scriptToRender){var i=(null!=(i=s.extHbPartner)?i:"").toString().toLowerCase(),o=(null!=(o=null==(o=null==(o=s.preBidData)?void 0:o.params)?void 0:o.bidder)?o:"").toString().toLowerCase(),i=i||o;if(A.includes(i)){var o=!(!(o=s.scriptToRender)||"string"!=typeof o||(o=o.trim(),!/<[a-z][\s\S]*>/i.test(o)&&!(o.startsWith("{null!=c&&c("HTML injection: requestAnimationFrame timeout, ensuring callback is called"),r.setTimeout(()=>{null!=d&&d()},1e3)},5e3);r.requestAnimationFrame(()=>{r.clearTimeout(e);try{let n=s.querySelectorAll("script"),a=[];n.forEach((t,e)=>{let i=r.document.createElement("script");var o;Array.from(t.attributes).forEach(e=>{i.setAttribute(e.name,e.value)}),t.src?(i.src=t.src,null!=c&&c(`Loading external script ${e+1}/${n.length}: `+t.src),o=new Promise(e=>{i.onload=()=>{null!=c&&c("Script loaded: "+t.src),e()},i.onerror=()=>{null!=c&&c("Script failed to load: "+t.src),e()},r.document.head?r.document.head.appendChild(i):r.document.body&&r.document.body.appendChild(i)}),a.push(o)):(i.textContent=t.textContent||"",o=t.textContent||"",null!=c&&c(`Executing inline script ${e+1}/${n.length} (${o.substring(0,50)}...)`),s.appendChild(i)),t.remove()}),null!=c&&c("HTML content injected successfully"),0{null!=c&&c("All external scripts loaded, waiting for ad content to render"),setTimeout(()=>{var e=s.querySelector("[data-stx-response-name]");e&&0{null!=c&&c("Script loading error: "+(e instanceof Error?e.message:String(e))),setTimeout(()=>{null!=d&&d()},1e3)}):setTimeout(()=>{null!=d&&d()},1e3)}catch(e){var t=(null==e?void 0:e.message)||"Unknown error during script execution";null!=c&&c("HTML injection script execution error: "+t),null!=n&&n(t)}})}else null!=n&&n("HTML injection: Container not found")}catch(e){o=(null==e?void 0:e.message)||"Unknown error during HTML injection";null!=c&&c("HTML injection failed: "+o),null!=n&&n(o)}}else a.primisConsoleLog("Using script injection (original path)"),injectScript(a.rootWindow,h,s.scriptToRender,S,x,a.primisConsoleLog,t.width,t.height)}else x("Banner ad: Missing scriptToRender");else"native"==e?s.creative||s.bidData?(i=s.creative||s.bidData,injectNativeAd(a.rootWindow,h,i,S,x,a.primisConsoleLog)):x("Native ad: Missing creative or bidData"):x("Unknown ad type: "+s.serveType)}function I(){f=!0,u&&(clearInterval(u),u=null),W&&(W.destruct(),W=null),C(),l="complete",g=!0,p=!0,removeEvent(a.bus,"onUserEvent",v),removeEvent(a.bus,"sliderOnVisibilityChange",_)}registerEvent(a.bus,"onUserEvent",v),registerEvent(a.bus,"sliderOnVisibilityChange",_);let R={run:P,destruct:I,isContainerReady:y,getContainerStatus:function(){var e=a.rootWindow.document.getElementById(h),t=a.rootWindow.document.getElementById(c);return{exists:null!==e,containerId:h,parentId:c,parentExists:null!==t,styles:e?{visibility:e.style.visibility,display:e.style.display,width:e.style.width,height:e.style.height}:{},children:e?e.children.length:0}},createContainer:function(){return y()?(a.primisConsoleLog("Container already exists"),!0):injectContainer(a.rootWindow,c,h)?(a.primisConsoleLog("Container created successfully"),!0):(a.primisConsoleLog("Failed to create container - parent not found"),!1)},removeContainer:C};return P(),R};function PrebidDisplayAd_InjectContainer(e,t,i,o={}){var n=e.document.createElement("div"),i=(n.id=i,Object.assign(n.style,Object.assign(Object.assign({},{width:"100%",height:"100%",position:"absolute",left:"0px",top:"0px",visibility:"hidden",zIndex:"30000",backgroundColor:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column"}),o)),e.document.getElementById(t));return i?(i.appendChild(n),n):null}function PrebidDisplayAd_RemoveContainer(e,t){e=e.document.getElementById(t);e&&e.parentElement&&e.parentElement.removeChild(e)}function PrebidDisplayAd_AttemptContainerCreation(e,t,i,o,n,a,s=0,r=5){PrebidDisplayAd_InjectContainer(e,t,i)?o():s{PrebidDisplayAd_AttemptContainerCreation(e,t,i,o,n,a,s+1,r)},100):PrebidDisplayAd_CreateParentContainerAndRetry(e,t,i,o,n,a)}function PrebidDisplayAd_CreateParentContainerAndRetry(t,i,e,o,n,a){if(!t.document.getElementById(i)){var s,r=t.document.createElement("div");r.id=i,Object.assign(r.style,{position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%",zIndex:"30000",backgroundColor:"transparent",visibility:"hidden",display:"none"});let e=t.document.getElementById("adDisplayBanner");e||0<(s=t.document.querySelectorAll('video, [id*="player"], [class*="player"]')).length&&(e=s[0].parentElement),(e=e||t.document.body).appendChild(r)}PrebidDisplayAd_InjectContainer(t,i,e)?o():n("Failed to create container after parent container creation")}function PrebidDisplayAd_StyleIframe(e,t){e=e.document.getElementById(t);e&&(t=e.querySelector("iframe"))&&(Object.assign(t.style,{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%",border:"none",display:"block",position:"relative"}),t.removeAttribute("width"),t.removeAttribute("height"))}function PrebidDisplayAd_AddClickHandling(o,e,n,a){let s=o.document.getElementById(e);if(s){let t=null;s.addEventListener("click",e=>{t||(t=setTimeout(()=>{t=null},300),(e=>{if(e.preventDefault(),e.stopPropagation(),n)try{n()}catch(e){a&&a("PreBid Display - Click tracking error: "+e)}let t="";var i,e=s.querySelector("iframe");if(e)try{e.contentWindow&&e.contentWindow.document&&0<(i=e.contentWindow.document.querySelectorAll("a")).length&&(t=i[0].href)}catch(e){}t||(e=s.querySelector("a"))&&e.href&&(t=e.href),t&&"about:blank"!==t?(o.open(t,"_blank","noopener,noreferrer"),a&&a("PreBid Display - Ad clicked: "+t)):a&&a("PreBid Display - Ad clicked (no URL found)")})(e))})}}function PrebidDisplayAd_InjectNativeAd(i,e,o,t,n,a){var s,r,e=i.document.getElementById(e);e?(s=i.document.createElement("div"),Object.assign(s.style,{width:"100%",height:"100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",backgroundColor:"#000",color:"#fff",fontFamily:"Arial, sans-serif",textAlign:"center",padding:"20px",boxSizing:"border-box",cursor:"pointer"}),null!=(r=o.image)&&r.url&&((r=i.document.createElement("img")).src=o.image.url,Object.assign(r.style,{maxWidth:"100%",maxHeight:"60%",objectFit:"contain",marginBottom:"15px"}),s.appendChild(r)),o.title&&((r=i.document.createElement("h2")).textContent=o.title,Object.assign(r.style,{fontSize:"18px",margin:"0 0 10px 0",fontWeight:"bold"}),s.appendChild(r)),o.body&&((r=i.document.createElement("p")).textContent=o.body,Object.assign(r.style,{fontSize:"14px",margin:"0 0 15px 0",lineHeight:"1.4"}),s.appendChild(r)),o.cta&&((r=i.document.createElement("button")).textContent=o.cta,Object.assign(r.style,{backgroundColor:"#007bff",color:"#fff",border:"none",padding:"10px 20px",fontSize:"14px",borderRadius:"5px",cursor:"pointer"}),s.appendChild(r)),s.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation();let t=o.clickUrl||o.click_url||o.link;(t=!t&&o.clicktrackers&&0${i}`,(d=e.document.createElement("iframe")).style.cssText="width:100%;height:100%;border:none;display:block;",d.setAttribute("sandbox","allow-scripts allow-same-origin"),d.srcdoc=i,c.appendChild(d),d.onload=()=>{try{setTimeout(()=>{PrebidDisplayAd_StyleIframe(e,t),PrebidDisplayAd_AddClickHandling(e,t,void 0,a),null!=o&&o()},100)}catch(e){a&&a("PreBid ERROR: Error handling iframe load: "+e.message),null!=n&&n(e.message)}}):null!=n&&n("Missing or invalid scriptToRender")):(i="Container missing: "+t,a&&a("PreBid ERROR: "+i),null!=n&&n(i))}function createDashboardElement(e,t){var t=t||document,i=t.createElement("div");i.className="primis-test-ads-dashboard",i.id="primis-test-ads-dashboard";let o=getCurrentDashboardValue(e),n=(console.log("[TEST ADS DASHBOARD] Creating dashboard with currentValue:",o),!1);try{"undefined"!=typeof window&&window.location&&(a=new URLSearchParams(window.location.search).get("primis_test_ads_dev"))&&"string"==typeof a&&(s=a.toLowerCase().trim(),n="1"===s||"true"===s||"yes"===s||"dev"===s)}catch(e){}var e=(n?"https://139.primis-dev.tech":"https://live.primis.tech")+"/utils/primis_demo_ads_videos/boots_logo.svg",a=t.createElement("div"),s=(a.className="primis-test-ads-dashboard-header",a.innerHTML=`
`,t.createElement("div"));return s.className="primis-test-ads-dashboard-body",s.innerHTML=`
Current Selection:
${getLabelForAdTypeValue(o)}
Show Dashboard:
`,i.appendChild(a),i.appendChild(s),i}function attachDashboardEventListeners(t,e){let o=t.querySelector("#primis-test-ads-select");var i=t.querySelector("#primis-test-ads-reload"),n=t.querySelector("#primis-test-ads-clear");let a=t.querySelector("#primis-test-ads-minimize");var s=t.querySelector("#primis-test-ads-close");let r=t.querySelector("#primis-test-ads-toggle");console.log("[TEST ADS DASHBOARD] Attaching event listeners",{hasSelect:!!o,hasReloadBtn:!!i,hasClearBtn:!!n,hasMinimizeBtn:!!a,hasCloseBtn:!!s,hasToggle:!!r,hasTestAdsService:void 0!==TestAdsService}),o&&i&&n&&a&&s&&r?(i.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),console.log("[TEST ADS DASHBOARD] Reload button clicked");var t,i,e=o.value;console.log("[TEST ADS DASHBOARD] Selected value:",e),e&&"none"!==e?(i=(t=window.top!==window.self?window.top:window).location.href,(i=new URL(i)).searchParams.set("primis_test_ads",e),e=i.toString(),console.log("[TEST ADS DASHBOARD] Updating URL to:",e),console.log("[TEST ADS DASHBOARD] Reloading",window.top!==window.self?"top window":"current window","with new URL..."),t.location.replace(e)):(console.log("[TEST ADS DASHBOARD] No valid selection, just reloading..."),(window.top!==window.self?window.top:window).location.reload())}),n.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),console.log("[TEST ADS DASHBOARD] Clear button clicked");var e=window.top!==window.self?window.top:window,t=e.location.href,t=new URL(t),t=(t.searchParams.delete("primis_test_ads"),t.toString());console.log("[TEST ADS DASHBOARD] Removing primis_test_ads from URL, reloading top window..."),e.location.replace(t)}),a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),console.log("[TEST ADS DASHBOARD] Minimize button clicked"),t.classList.toggle("minimized")?(a.textContent="+",a.title="Maximize"):(a.textContent="−",a.title="Minimize")}),s.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),console.log("[TEST ADS DASHBOARD] Close button clicked - hiding dashboard"),t.style.display="none"}),r.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();e=r.classList.contains("active");console.log("[TEST ADS DASHBOARD] Toggle clicked - isActive:",e),e?(t.style.display="none",r.classList.remove("active"),console.log("[TEST ADS DASHBOARD] Dashboard hidden")):(t.style.display="",r.classList.add("active"),console.log("[TEST ADS DASHBOARD] Dashboard shown"))}),console.log("[TEST ADS DASHBOARD] Event listeners attached successfully"),e&&e.primisConsoleLog&&e.primisConsoleLog("[TEST ADS DASHBOARD] Dashboard initialized")):console.error("[TEST ADS DASHBOARD] Missing elements!",{select:!!o,reloadBtn:!!i,clearBtn:!!n,minimizeBtn:!!a,closeBtn:!!s,toggle:!!r})}let DASHBOARD_STYLES=` .primis-test-ads-dashboard { position: fixed; top: 10px; left: 10px; z-index: 999999; background: linear-gradient(135deg, #0a0e27 0%, #1a1f3a 100%); border: 1px solid rgba(255, 50, 100, 0.2); border-radius: 16px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 50, 100, 0.1); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; font-size: 13px; color: #ffffff; min-width: 300px; max-width: 340px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); backdrop-filter: blur(10px); } .primis-test-ads-dashboard.minimized { height: 48px; overflow: hidden; } .primis-test-ads-dashboard.minimized .primis-test-ads-dashboard-header { padding: 8px 12px; border-radius: 16px; } .primis-test-ads-dashboard.minimized .primis-test-ads-dashboard-logo { display: none; } .primis-test-ads-dashboard-header { background: #0a0e27; color: white; padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; cursor: move; border-radius: 16px 16px 0 0; box-shadow: 0 2px 8px rgba(255, 50, 100, 0.3); } .primis-test-ads-dashboard-header-content { display: flex; align-items: center; gap: 10px; } .primis-test-ads-dashboard-logo { height: 100px; width: auto; object-fit: contain; } .primis-test-ads-dashboard-header h3 { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: 0.3px; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); } .primis-test-ads-dashboard-controls { display: flex; gap: 8px; } .primis-test-ads-dashboard-btn { background: rgba(255, 255, 255, 0.2); border: none; color: white; width: 20px; height: 20px; border-radius: 6px; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; transition: all 0.2s ease; backdrop-filter: blur(5px); } .primis-test-ads-dashboard-btn:hover { background: rgba(255, 255, 255, 0.35); transform: scale(1.05); } .primis-test-ads-dashboard-body { padding: 18px; background: rgba(255, 255, 255, 0.03); } .primis-test-ads-dashboard-current { margin-bottom: 16px; padding: 12px 14px; background: rgba(255, 50, 100, 0.1); border-radius: 10px; font-size: 12px; border: 1px solid rgba(255, 50, 100, 0.2); backdrop-filter: blur(5px); } .primis-test-ads-dashboard-current-label { color: rgba(255, 255, 255, 0.7); margin-bottom: 6px; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; } .primis-test-ads-dashboard-current-value { font-weight: 700; color: #ff3366; font-size: 14px; text-shadow: 0 0 8px rgba(255, 50, 100, 0.5); } .primis-test-ads-dashboard-selector { margin-bottom: 16px; } .primis-test-ads-dashboard-selector label { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, 0.9); letter-spacing: 0.2px; } .primis-test-ads-dashboard-select { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid rgba(255, 50, 100, 0.3); border-radius: 10px; font-size: 13px; background: rgba(255, 255, 255, 0.08); color: #ffffff; cursor: pointer; font-family: inherit; transition: all 0.25s ease; backdrop-filter: blur(5px); font-weight: 500; } .primis-test-ads-dashboard-select:hover { border-color: rgba(255, 50, 100, 0.5); background: rgba(255, 255, 255, 0.12); box-shadow: 0 2px 8px rgba(255, 50, 100, 0.15); } .primis-test-ads-dashboard-select:focus { outline: none; border-color: rgba(255, 50, 100, 0.7); background: rgba(255, 255, 255, 0.12); box-shadow: 0 0 0 3px rgba(255, 50, 100, 0.15), 0 2px 8px rgba(255, 50, 100, 0.2); } .primis-test-ads-dashboard-select option { background: #1a1f3a; color: #ffffff; } .primis-test-ads-dashboard-actions { display: flex; gap: 10px; } .primis-test-ads-dashboard-action-btn { flex: 1; padding: 8px 12px; border: none; border-radius: 8px; font-size: 11px; font-weight: 600; cursor: pointer; transition: all 0.25s ease; letter-spacing: 0.1px; } .primis-test-ads-dashboard-reload-btn { background: rgba(255, 50, 100, 0.15); color: rgba(255, 255, 255, 0.95); border: 1px solid rgba(255, 50, 100, 0.3); backdrop-filter: blur(5px); } .primis-test-ads-dashboard-reload-btn:hover { background: rgba(255, 50, 100, 0.25); border-color: rgba(255, 50, 100, 0.4); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(255, 50, 100, 0.2); } .primis-test-ads-dashboard-reload-btn:active { transform: translateY(0); } .primis-test-ads-dashboard-clear-btn { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.85); border: 1px solid rgba(255, 255, 255, 0.15); backdrop-filter: blur(5px); } .primis-test-ads-dashboard-clear-btn:hover { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.25); transform: translateY(-1px); } .primis-test-ads-dashboard-toggle { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 50, 100, 0.2); display: flex; justify-content: space-between; align-items: center; } .primis-test-ads-dashboard-toggle-label { font-size: 12px; color: rgba(255, 255, 255, 0.9); font-weight: 600; letter-spacing: 0.2px; } .primis-test-ads-dashboard-toggle-switch { position: relative; width: 48px; height: 26px; background: rgba(255, 255, 255, 0.2); border-radius: 13px; cursor: pointer; transition: background 0.2s ease; border: 1px solid rgba(255, 255, 255, 0.1); } .primis-test-ads-dashboard-toggle-switch.active { background: linear-gradient(135deg, #ff3366 0%, #ff0066 100%); border-color: rgba(255, 50, 100, 0.5); box-shadow: 0 0 12px rgba(255, 50, 100, 0.4); } .primis-test-ads-dashboard-toggle-switch::after { content: ''; position: absolute; width: 22px; height: 22px; background: white; border-radius: 50%; top: 1px; left: 1px; transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); } .primis-test-ads-dashboard-toggle-switch.active::after { left: 23px; } `;function injectDashboardStyles(e){let t=e||document;if(!t.getElementById("primis-test-ads-dashboard-styles")){let e=t.createElement("style");e.id="primis-test-ads-dashboard-styles",e.textContent=DASHBOARD_STYLES,t.head?t.head.appendChild(e):setTimeout(function(){t.head&&t.head.appendChild(e)},50)}}let AD_TYPES=[{value:"linear",label:"Linear VAST"},{value:"vpaid",label:"VPAID"},{value:"ima",label:"IMA"},{value:"prebidvideo",label:"Prebid Video"},{value:"sspvideo",label:"SSP Video"},{value:"display",label:"Display"},{value:"riseexchange",label:"Rise Exchange"},{value:"ordered",label:"Ordered (Cycle)"},{value:"random",label:"Random"}];function initDashboard(o){if(void 0!==TestAdsService){var e=TestAdsService&&TestAdsService.checkTestAdsParam?TestAdsService.checkTestAdsParam(o||{}):null;if(null!=e){console.log("[TEST ADS DASHBOARD] All checks passed, creating dashboard");let i=o&&o.rootDocument||document||document;i.getElementById("primis-test-ads-dashboard")?console.log("[TEST ADS DASHBOARD] Dashboard already exists in root document"):function e(){var t;i.body?(injectDashboardStyles(i),t=createDashboardElement(o,i),i.body.appendChild(t),console.log("[TEST ADS DASHBOARD] Dashboard created and appended, attaching listeners..."),attachDashboardEventListeners(t,o),o&&o.primisConsoleLog&&o.primisConsoleLog("[TEST ADS DASHBOARD] Dashboard rendered successfully"),console.log("[TEST ADS DASHBOARD] Dashboard appended to:",i===document?"main document":"rootDocument")):setTimeout(e,50)}()}}}window.TestAdsConstants=window.TestAdsConstants||{},window.TestAdsConstants.QUERY_PARAM_NAME="primis_test_ads",window.TestAdsConstants.TEST_CAMPAIGN_NAMES={LINEAR:"Test VAST",VPAID:"Test VPAID",IMA:"Test IMA",PREBID_VIDEO:"Test Prebid Video",SSP_VIDEO:"Test SSP Video",DISPLAY:"Test GPT Display",RISE_EXCHANGE:"Test Rise Exchange"},window.TestAdsConstants.TEST_VAST_URL_PATTERNS={LINEAR:"staticLinearVast.php",VPAID:"staticVpaid.php",IMA:"staticIma.php",IMA_GOOGLE:"pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples",PREBID_VIDEO:"pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples",SSP_VIDEO:"staticSspVast.php",DISPLAY:"6499/example/banner"},window.TestAdsConstants.DEV_ENV_QUERY_PARAM="primis_test_ads_dev",window.TestAdsConstants.INTERCEPT_CLEANUP_MAX_AGE_MS=2e3,window.TestAdsConstants.FAILED_RESPONSE_CLEANUP_AGE_MS=1e3,window.TestAdsConstants.MAX_INTERCEPTED_IDS=100,window.TestAdsConstants.SUPPORTED_AD_TYPES=["linear","vpaid","ima","prebidvideo","sspvideo","display","riseexchange"],window.TestAdsConstants.QUERY_PARAM_VALUES={ORDERED:"ordered",RANDOM:"random"},window.TestAdsDashboard={init:initDashboard};let INTERCEPT_CLEANUP_MAX_AGE_MS=2e3,FAILED_RESPONSE_CLEANUP_AGE_MS=1e3,MAX_INTERCEPTED_IDS=100,SUPPORTED_AD_TYPES=["linear","vpaid","ima","prebidvideo","sspvideo","display","display-html","riseexchange"];var TestAdsInterceptor=class{constructor(e){this.config=e||{},this.checked=!1,this.isTestMode=null,this.orderedAdIndex=0,this.orderedAdTypes=SUPPORTED_AD_TYPES,this.interceptedProcessorIds={},this.lastInterceptTime=0,this.testAdsParam=window.TestAdsUtils&&window.TestAdsUtils.getQueryParam?window.TestAdsUtils.getQueryParam(window.TestAdsConstants.QUERY_PARAM_NAME,this.config):null,this.staticTestAds=this.createStaticTestAds()}createStaticTestAds(){return"function"==typeof createStaticTestAdTemplates?createStaticTestAdTemplates(this.config):{}}checkTestMode(){return this.checked||(this.checked=!0,this.testAdsParam=window.TestAdsUtils&&window.TestAdsUtils.getQueryParam?window.TestAdsUtils.getQueryParam(window.TestAdsConstants.QUERY_PARAM_NAME,this.config):null,this.isTestMode=null!==this.testAdsParam),!0===this.isTestMode}getNextOrderedAdType(){var e,t=this.orderedAdTypes.filter(e=>this.staticTestAds.hasOwnProperty(e));return 0===t.length?"linear":(e=t[this.orderedAdIndex%t.length],this.orderedAdIndex=(this.orderedAdIndex+1)%t.length,e)}cleanupOldIntercepts(e){e=e||INTERCEPT_CLEANUP_MAX_AGE_MS;var t,i=Date.now(),o=[];for(t in this.interceptedProcessorIds){var n=this.interceptedProcessorIds[t];0===t.indexOf("failed_")?o.push(t):"number"==typeof n&&e{delete this.interceptedProcessorIds[e]});var a=Object.keys(this.interceptedProcessorIds).length;if(a>MAX_INTERCEPTED_IDS){var s=Object.keys(this.interceptedProcessorIds).map(e=>({pid:e,timestamp:this.interceptedProcessorIds[e]})).filter(e=>"number"==typeof e.timestamp).sort((e,t)=>e.timestamp-t.timestamp),r=a-MAX_INTERCEPTED_IDS;for(let e=0;ethis.isTestAdUnit(e))}generateStableProcessorId(e){return e.processorId||"failed_"+(e.status+(e.reason||"")+(e.waterfallUnits?e.waterfallUnits.length:0))}cloneWaterfallUnit(e,t){let i=JSON.parse(JSON.stringify(e)),o=Math.floor(Date.now()/1e3),n="test-"+Date.now(),a="undefined"!=typeof navigator?navigator.userAgent:"",s=("display"===i.serveType&&this.config&&this.config.pubUrl&&(i.pubUrl=this.config.pubUrl),"display"===i.serveType&&i.preBidData&&i.preBidData.params&&this.config&&this.config.primisConsoleLog&&this.config.primisConsoleLog("[TEST ADS INTERCEPTOR] Display ad template - adUnitId: "+(i.preBidData.params.adUnitId||"NOT SET")),e=>"string"!=typeof e?e:e.replace(/\$\{TIMESTAMP\}/g,String(o)).replace(/\$\{UUID\}/g,n).replace(/\$\{USER_UA\}/g,encodeURIComponent(a)).replace(/\$\{ATTEMPT_MULTIPLIER\}/g,"1").replace(/\$\{VP_RVN_MACRO\}/g,String(i.rvn||0))),r=e=>{if(Array.isArray(e))return e.map(r);if(null===e||"object"!=typeof e)return"string"==typeof e?s(e):e;var t,i={};for(t in e)e.hasOwnProperty(t)&&(i[t]=r(e[t]));return i};return r(i)}applyPriceMapsToUnits(e,t,i,o){e.forEach(e=>{i?e.adxPrivatePriceMap=i:t&&t.adxPrivatePriceMap?e.adxPrivatePriceMap=t.adxPrivatePriceMap:null===e.adxPrivatePriceMap&&(e.adxPrivatePriceMap={"0.00":""}),o?e.adxPublicPriceMap=o:t&&t.adxPublicPriceMap?e.adxPublicPriceMap=t.adxPublicPriceMap:null===e.adxPublicPriceMap&&(e.adxPublicPriceMap={"0.00":""}),!e.track&&t&&"function"==typeof t.track?e.track=t.track:e.track||(e.track=function(){}),!e.preBidData&&t&&t.preBidData&&(e.preBidData=t.preBidData)})}generateTestWaterfallUnits(t,i){let o;t&&"string"==typeof t||(t="linear");var e=window.TestAdsConstants&&window.TestAdsConstants.QUERY_PARAM_VALUES?window.TestAdsConstants.QUERY_PARAM_VALUES:{ORDERED:"ordered",RANDOM:"random"},e=(o=t===e.ORDERED?this.getNextOrderedAdType():t===e.RANDOM?(e=Object.keys(this.staticTestAds))[Math.floor(Math.random()*e.length)]:t.toLowerCase(),this.config&&this.config.primisConsoleLog&&this.config.primisConsoleLog("[TEST ADS INTERCEPTOR] generateTestWaterfallUnits: testAdsParam="+t+", selectedType="+o),this.staticTestAds[o]);if(!e){t=this.staticTestAds.linear;if(!t)return this.config&&this.config.primisConsoleLog&&this.config.primisConsoleLog("[TEST ADS INTERCEPTOR] Error: linear template not found, cannot generate test ad"),[];o="linear";let e=this.cloneWaterfallUnit(t,i);return[e]}let n=this.cloneWaterfallUnit(e,i);return[n]}getSupportedAdTypes(){return this.orderedAdTypes.filter(e=>this.staticTestAds.hasOwnProperty(e))}getAdTypeDisplayName(e){return{linear:"Linear VAST",vpaid:"VPAID",ima:"IMA",prebidvideo:"Prebid Video",sspvideo:"SSP Video",display:"GPT Display",riseexchange:"Rise Exchange"}[e]||e}interceptResponseData(a,s){if(a&&a.status){let n=s||this.config;if(n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Intercepting response. processorId="+(a.processorId||"none")),"success"===a.status||"failed"===a.status){s=this.isTestAdResponse(a);if(!s){var s=Date.now(),r=s-this.lastInterceptTime;if(r<500)n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Skipping intercept - too soon after last intercept ("+r+"ms ago)");else{var r=this.generateStableProcessorId(a),d=this.interceptedProcessorIds[String(r)],d=d&&(d?s-d:1/0){if(e.ok)return e.text();throw new Error("HTTP "+e.status)}).then(e=>{e&&void 0!==window.top&&(window.top.gptVast=e)}).catch(e=>{n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Failed to fetch VAST XML for Prebid Video: "+(e.message||e))});else try{let e=new XMLHttpRequest;e.open("GET",d,!0),e.onload=()=>{200===e.status&&e.responseText&&void 0!==window.top&&(window.top.gptVast=e.responseText)},e.onerror=()=>{n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Failed to fetch VAST XML for Prebid Video: Network error")},e.send()}catch(e){n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Failed to fetch VAST XML for Prebid Video: "+e.message)}}}if(!s||0===s.length)return n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] ERROR: Failed to generate test waterfall units"),this.cleanupOldIntercepts(INTERCEPT_CLEANUP_MAX_AGE_MS),a;var c,l={};for(c in a)"reason"!==c&&"error"!==c&&"errorMessage"!==c&&(l[c]=a[c]);r=Object.assign(Object.assign({},l),{status:"success",waterfallUnits:s,processorId:e});return n&&n.primisConsoleLog&&n.primisConsoleLog("[TEST ADS INTERCEPTOR] Replaced response: status="+r.status+", waterfallUnits="+(r.waterfallUnits?r.waterfallUnits.length:0)),this.cleanupOldIntercepts(INTERCEPT_CLEANUP_MAX_AGE_MS),r}this.cleanupOldIntercepts(INTERCEPT_CLEANUP_MAX_AGE_MS)}}}}return a}wrapSendResponse(o,e){let n=this,a=e||this.config;return function(e){var t,i=n.checkTestMode();return!i||(a&&a.primisConsoleLog&&a.primisConsoleLog("[TEST ADS INTERCEPTOR] Test mode active, intercepting response"),"success"!==e.status&&"failed"!==e.status)||n.isTestAdResponse(e)?o(e):(t=n.interceptResponseData(e,a),a&&a.primisConsoleLog&&i&&a.primisConsoleLog("[TEST ADS INTERCEPTOR] About to call originalSendResponse"),o(t))}}};window.TestAdsInterceptor=TestAdsInterceptor;let QUERY_PARAM_NAME="primis_test_ads";function checkTestAdsParam(e){try{if(e&&e.pubUrl){let t=e.pubUrl;0!==t.indexOf("http")&&"undefined"!=typeof window&&window.location&&(t=window.location.origin+(0===t.indexOf("/")?"":"/")+t);try{var i,o=new URL(t);if(o.searchParams.has(QUERY_PARAM_NAME))return null!==(i=o.searchParams.get(QUERY_PARAM_NAME))?i:""}catch(e){var n=t.match(new RegExp("[?&]"+QUERY_PARAM_NAME+"=([^&]*)"));if(n)return decodeURIComponent(n[1]);if(t.match(new RegExp("[?&]"+QUERY_PARAM_NAME+"(?=&|$|#)")))return""}}if("undefined"!=typeof window&&window.location)try{var t,a=new URL(window.location.href);if(a.searchParams.has(QUERY_PARAM_NAME))return null!==(t=a.searchParams.get(QUERY_PARAM_NAME))?t:""}catch(e){var s=window.location.href,r=s.match(new RegExp("[?&]"+QUERY_PARAM_NAME+"=([^&]*)"));if(r)return decodeURIComponent(r[1]);if(s.match(new RegExp("[?&]"+QUERY_PARAM_NAME+"(?=&|$|#)")))return""}}catch(e){}return null}function isTestModeActive(e){return null!==checkTestAdsParam(e)}var TestAdsService={checkTestAdsParam:checkTestAdsParam,isTestModeActive:isTestModeActive},AdStatus,SaveAdError,AdStatusChangeError,VASTAds,VASTAd,VASTLinear;function createStaticTestAdTemplates(e){var e=window.TestAdsUtils&&window.TestAdsUtils.getTestServerUrl?window.TestAdsUtils.getTestServerUrl(e):"https://live.primis.tech",t=window.TestAdsConstants&&window.TestAdsConstants.TEST_CAMPAIGN_NAMES?window.TestAdsConstants.TEST_CAMPAIGN_NAMES:{},i=window.TestAdsTemplateHelpers&&window.TestAdsTemplateHelpers.createSimplePrebidDisplayAd?window.TestAdsTemplateHelpers.createSimplePrebidDisplayAd:null,o=(e=0)=>{var t="https://pl.primis.tech/live/liveView.php",i="njs=1&ito=1&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0",o=i+"&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn="+(0===e?"0":"${VP_RVN_MACRO}")+"&contentFileId=0&mediaPlayListId=0&mediaListId=0";return{impression:[t+"?"+(i+"&ri=6C69766553746174737C736B317B54307D7B64323032362D30312D31335F31367D7B7331373236393330317D7B4333307D7B53643364334C6E5A70636E5231595778696247396E626D56336379356A6232303D7D7B626368726F6D657D7B716465736B746F707D7B6F6D61636F73787D7B583331307D7B593236307D7B66317D7B4C32323832307DFEFE&diaid=&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn="+(0===e?"0":"${VP_RVN_MACRO}")+"&contentFileId=0&mediaPlayListId=0&mediaListId=0")+"&vid_event=0&serverTime=${TIMESTAMP}"],onAttempt:[t+"?"+o+"&vid_event=6&serverTime=${TIMESTAMP}&attemptMultiplier=${ATTEMPT_MULTIPLIER}"],clickThrough:t+"?"+o+"&vid_event=3&serverTime=${TIMESTAMP}",complete:t+"?"+o+"&vid_event=1&serverTime=${TIMESTAMP}",adStart:t+"?"+o+"&vid_event=7&serverTime=${TIMESTAMP}",viewable:t+"?"+o+"&vid_event=13&serverTime=${TIMESTAMP}",response:t+"?"+o+"&vid_event=26&serverTime=${TIMESTAMP}",win:t+"?"+o+"&vid_event=41&serverTime=${TIMESTAMP}",adDuration:t+"?"+o+"&vid_event=52&serverTime=${TIMESTAMP}",vastAdDuration:t+"?"+o+"&vid_event=53&serverTime=${TIMESTAMP}",sspImpTrackers:[],sspWinTrackers:[]}},n=(e={})=>Object.assign({rvn:0,skipTime:5,adUserId:31886,rvnPct:1,killTime:2e4,maxImpressions:-1,minGapBetweenImpsSec:-1,bgColor:"black",controls:1,baseFloor:-1,initialFloor:-1,highestBidMultiplier:1,adFormat:{pre_roll:1,mid_roll:1,attempts_roll:-1},contentTargeting:{isEnabled:0},enableClickLayerProtection:!1,campaignOrientation:"horizontal",moatPartnerCode:"",campaignScope:"private",directPublicSchain:null,campaignPriority:1,campaignActivityEndTime:0,gapBetweenAdAttempts:"",blockBrands:"",pubCosts:{pubRevshare:.6,servingFee:0,isServingFeeRevshare:!1},optimizedOrder:0,scoreFactor:1,IAS:{anId:"",chanId:""},isIrisEnabled:0,eligableForLastLook:!1,isAdOneClick:!1,isStaticFloor:0,floorMultiplier:1,isForceInstream:!1,keyValueTargeting:"",isOverrideDisplayAdsRestrictions:!1,campaignRevShare:1,isDirectDeals:!1,impressionCount:{val:0},isSkipAd:!1,isSkipAttemptTracking:!1,bidId:-1,curFloor:0,isCachedBid:!1,adomain:"",cat:[],syncSource:-1,amznbid:"",adUnit:null,floor:null,adxPrivatePriceMap:null,adxPublicPriceMap:null},e),a={},i=(a.linear=Object.assign(Object.assign({},n()),{vastURL:e+"/utils/staticLinearVast.php",trackingEvents:o(0),serveType:"vast",campaignId:89851,campaignName:t.LINEAR||"Test VAST",preBidData:{params:{hbPartnerId:!1}}}),a.vpaid=Object.assign(Object.assign({},n()),{vastURL:e+"/utils/staticVpaid.php",trackingEvents:o(0),serveType:"vast",campaignId:89852,campaignName:t.VPAID||"Test VPAID",preBidData:{params:{hbPartnerId:!1}}}),a.ima=Object.assign(Object.assign({},n()),{vastURL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirectlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&correlator=${TIMESTAMP}",trackingEvents:o(0),serveType:"ima",campaignId:89853,campaignName:t.IMA||"Test IMA",preBidData:{params:{hbPartnerId:!1}}}),a.prebidvideo=Object.assign(Object.assign({},n()),{vastURL:"https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_ad_samples&sz=640x480&cust_params=sample_ct%3Dredirectlinear&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&correlator=${TIMESTAMP}",trackingEvents:o(0),serveType:"prebidVideo",campaignId:89854,campaignName:t.PREBID_VIDEO||"Test Prebid Video",preBidData:{params:{bidder:"googleOutstream",hbPartnerId:!1}}}),a.sspvideo=Object.assign(Object.assign({},n()),{vastURL:e+"/utils/staticSspVast.php",trackingEvents:o(0),serveType:"sspVideo",campaignId:89855,campaignName:t.SSP_VIDEO||"Test SSP Video",preBidData:{params:{hbPartnerId:!1}}}),a.display=Object.assign(Object.assign({},n({rvn:1500})),{serveType:"display",preBidData:{params:{adUnitId:"/6499/example/banner",bidder:"displayGoogleGpt"}},gptAdUnitId:"/6499/example/banner",displayAdTime:15,defaultSize:[300,250],sizeMapping:["fluid",[300,169],[320,180],[480,270],[640,360],[768,432],[1280,720],[1920,1080],[300,250],[336,280],[728,90],[970,250]],useSizeMapping:!1,custParams:{},trackingEvents:{impression:["https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=0&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&ri=6C69766553746174737C736B317B54307D7B64323032362D30312D31335F31367D7B7331373236393330317D7B4333307D7B53643364334C6E5A70636E5231595778696247396E626D56336379356A6232303D7D7B626368726F6D657D7B716465736B746F707D7B6F6D61636F73787D7B583331307D7B593236307D7B66317D7B4C32323832307DFEFE&diaid=&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0"],onAttempt:["https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=6&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&attemptMultiplier=${ATTEMPT_MULTIPLIER}&contentFileId=0&mediaPlayListId=0&mediaListId=0"],clickThrough:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=3&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",complete:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=1&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",adStart:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=7&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",viewable:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=13&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",response:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=26&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",win:"https://pl.primis.tech/live/liveView.php?njs=1&ito=1&vid_event=41&serverTime=${TIMESTAMP}&vid_playerVer=3.1.0&s=58057&sta=17269372&x=300&y=169&msta=17269301&vid_vastType=3&vid_viewabilityState=1&vid_passDomain=www.virtualblognews.com&subId=www.virtualblognews.com&debugInformation=&isApp=0&cudi=pip-NmxhMTp3LwElOC4kNwt%3D&userUA=${USER_UA}&csuuid=${UUID}&rvn=${VP_RVN_MACRO}&contentFileId=0&mediaPlayListId=0&mediaListId=0",sspImpTrackers:[],sspWinTrackers:[]},campaignName:t.DISPLAY||"Test GPT Display",campaignId:89856,isOverrideDisplayAdsRestrictions:!0,isDisplayTestMode:!0}),i&&(a.riseexchange=i("risexchange",e+"/utils/primis_demo_ads_videos/boots_prebid.png",t.RISE_EXCHANGE||"Test Rise Exchange",89857,e)), '