{"version":3,"sources":["prebid.js","iiq.js","pricing.js","https://adncdn.net/0"],"names":["window","document","URL_PATHS_BLACKLIST","Object","freeze","adsConfig","id","size","position","isLazyLoaded","refreshIteration","sizeMapping","desktop","tablet","mobile","refreshTime","biddersWhiteList","appnexus","magnite","msft","pubmatic","rubicon","openx","unruly","country","adagio","adyoulike","amx","anyclip","contxtful","conversant","criteo","exco","fluct","gamoshi","ix","kueezrtb","medianet","oms","onetag","pixfuture","programmaticx","richaudience","rise","seedtag","sharethrough","smartadserver","smilewanted","sovrn","sparteo","ssp_geniee","teads","underdogmedia","vidazoo","yandex","getCountry","bidders","bidder","params","tagId","siteId","cId","pId","accountId","zoneId","pubId","placementId","unit","delDomain","tagid","filter","name","toLowerCase","replace","includes","bidderSettings","storageAllowed","adnimation","sonobi","taboola","bidderNames","endsWith","map","s2sBidders","s2sAliases","fromEntries","slice","GDPR_GEOS","needsGdpr","async","maxMs","Promise","resolve","start","Date","now","check","__tcfapi","setTimeout","isGdprRequired","pbjsConfig","s2sConfig","enabled","endpoint","syncEndpoint","timeout","extPrebid","aliases","priceGranularity","floors","enforcement","enforceJS","enforcePBS","floorDeals","bidAdjustment","data","currency","skipRate","schema","fields","values","banner","native","video","default","gvlMapping","amxS2S","magniteS2S","riseS2S","kueezrtbS2S","adagioS2S","consentManagement","gdpr","cmpApi","defaultGdprScope","actionTimeout","usp","useBidCache","schain","validation","config","ver","complete","nodes","asi","sid","hp","userSync","iframeEnabled","filterSettings","iframe","userIds","storage","type","expires","pid","partner","refreshInSeconds","detectMissingSizes","aliasSyncEnabled","auctionOptions","suppressStaleRender","gtag","dataLayer","push","arguments","pbjs","que","googletag","cmd","pubads","addEventListener","onImpressionViewable","_taboola","GA_ID","PREBID_TIMEOUT_MS","createScript","src","preCreate","scriptEl","querySelector","console","warn","attemptLoad","createElement","fetchPriority","defer","remove","head","appendChild","pathname","location","some","path","isBlacklistedUrl","all","then","log","handleSlotRenderEnded","removeEventListener","IntentIqObject","main","intentIq_2072952453","adnpbjs","callback","timeoutInMillis","ABTestingConfigurationSource","manualWinReportEnabled","domainName","host","vrBrowserBlackList","gamParameterName","onEvent","reportExternalWin","biddingPlatformId","partnerAuctionId","auctionId","bidderCode","prebidAuctionId","cpm","originalCpm","originalCurrency","status","adUnitCode","err","error","initIiq","setAttribute","adUnits","slotsMap","lazyLoader","constructor","margin","this","observer","IntersectionObserver","onIntersect","rootMargin","entries","forEach","entry","isIntersecting","cb","target","dataset","lazyCallback","unobserve","add","element","getBoundingClientRect","top","innerHeight","cbName","Math","random","toString","observe","activeSlotIds","newPbjsAdUnits","viewportType","screen","width","event","slot","slotId","getSlotElementId","adUnitPath","getAdUnitPath","adUnit","timeoutMs","adUnitToRefresh","getSlots","at","setConfig","targeting","slotEl","getElementById","runBids","refresh","message","refreshAd","pbjsBids","requestBids","adUnitCodes","bidsBackHandler","setTargetingForGPTAsync","runPrebidBids","allSettled","createAdCmd","slotName","length","adsEl","querySelectorAll","adPath","adpath","sizes","bids","code","mediaTypes","collectAds","addSize","build","defineSlot","defineSizeMapping","addService","intent_iq_group","pbjsAdUnit","find","addAdUnits","init","enableServices","display","getConfig","disableInitialLoad","createNativeCmd","onload","performance","mark","destroyNativeCmd","footerEl","innerHTML","createAd","destroyAd","destroySlots","idx","indexOf","splice","removeAttribute","parentElement","destroyAdCmd","createInterstitial","createInterstitialCmd","getIpInfo","cached","localStorage","getItem","JSON","parse","url","res","fetch","ok","Error","ipInfo","json","setItem","stringify","removeItem","adn","createNative","destroyNative","addSideBarRightHPAdUnits","retries","ad","onpage","style","textAlign","marginTop","marginBottom","minHeight","addSideBarLeftHPAdUnits","addSideBarLeftHP2AdUnits","defineOutOfPageSlot","enums","OutOfPageFormat","INTERSTITIAL","callbacks","interval","setInterval","readyState","clearInterval","onDomReady","addCloseButton","stickyBannerSizeDiv","el","innerText","right","height","color","borderRadius","backgroundColor","cursor","fontSize","classList","onclick","append","stickyBannerParent","justifyContent","bottom","zIndex","stickyBanner","getElementsByTagName","flag","isEmpty","createStickyBanner","pElement","cloneNode","addInContentAdUnits","pArr","addAtfUnit","innerWidth","js","className","fjs","parentNode","insertBefore","createOutstreamPlayer","addSideBarLeftDXWAdUnits","addSideBarLeftDXWTwoAdUnits","addSideBarRightDXWAdUnits","addSideBarLeftSupportAdUnits"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5HA;ACAA;CCAA,eAAgBA,EAAQC,GAMtB,MAAMC,EAAsBC,OAAOC,OAAO,CAExC,WAGIC,EAAYF,OAAOC,OAAO,CAC9B,2BAA4B,CAC1BE,GAAM,2BACNC,KAAQ,CACN,CAAC,IAAK,IACN,CAAC,IAAK,KACN,CAAC,IAAK,KAERC,SAAY,MACZC,cAAgB,EAChBC,iBAAoB,EACpBC,YAAe,CACbC,QAAW,CACT,CAAC,IAAK,KAERC,OAAU,CACR,CAAC,IAAK,KAERC,OAAU,CACR,CAAC,IAAK,IACN,CAAC,IAAK,OAGVC,YAAe,KAEjB,iCAAkC,CAChCT,GAAM,iCACNC,KAAQ,CACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MAERC,SAAY,QACZC,cAAgB,EAChBC,iBAAoB,EACpBC,YAAe,CACbC,QAAW,CACT,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,MAERC,OAAU,CACR,CAAC,IAAK,KACN,CAAC,IAAK,MAERC,OAAU,IAEZC,YAAe,K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","file":"W3Zn4kPY4H","sourcesContent":[null,null,null,"(async function(window, document) {\n\n// ----------------------------------------------\n  // Configuration\n  // ----------------------------------------------\n\n  const URL_PATHS_BLACKLIST = Object.freeze([\n    // Add a list of URL paths to exclude.\n    \"/login\"\n  ]);\n\n  const adsConfig = Object.freeze({\n    \"/21817360883/DXWatch/ATF\": {\n      \"id\": \"/21817360883/DXWatch/ATF\",\n      \"size\": [\n        [320, 50],\n        [320, 100],\n        [728, 90],\n      ],\n      \"position\": \"ATF\",\n      \"isLazyLoaded\": false,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [728, 90],\n        ],\n        \"tablet\": [\n          [728, 90]\n        ],\n        \"mobile\": [\n          [320, 50],\n          [320, 100]\n        ]\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Sky_Right\": {\n      \"id\": \"/21817360883/DXWatch/Sky_Right\",\n      \"size\": [\n        [120, 600],\n        [160, 600],\n        [300, 600]\n      ],\n      \"position\": \"Other\",\n      \"isLazyLoaded\": false,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [120, 600],\n          [160, 600],\n          [300, 600]\n        ],\n        \"tablet\": [\n          [120, 600],\n          [160, 600],\n        ],\n        \"mobile\": []\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Side_Left\": {\n      \"id\": \"/21817360883/DXWatch/Side_Left\",\n      \"size\": [\n        [120, 600],\n        [160, 600]\n      ],\n      \"position\": \"Side\",\n      \"isLazyLoaded\": true,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [120, 600],\n          [160, 600]\n        ],\n        \"tablet\": [\n          [120, 600],\n        ],\n        \"mobile\": []\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Side_Left_0\": {\n      \"id\": \"/21817360883/DXWatch/Side_Left_0\",\n      \"size\": [\n        [120, 600],\n        [160, 600]\n      ],\n      \"position\": \"Side\",\n      \"isLazyLoaded\": true,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [120, 600],\n          [160, 600]\n        ],\n        \"tablet\": [\n          [120, 600],\n        ],\n        \"mobile\": []\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Sticky_Footer\": {\n      \"id\": \"/21817360883/DXWatch/Sticky_Footer\",\n      \"size\": [\n        [320, 50],\n        [728, 90],\n        [970, 90]\n      ],\n      \"position\": \"Sticky\",\n      \"isLazyLoaded\": false,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [728, 90],\n          [970, 90]\n        ],\n        \"tablet\": [\n          [728, 90]\n        ],\n        \"mobile\": [\n          [320, 50]\n        ]\n      },\n      \"refreshTime\": 45000\n    },\n    \"/21817360883/DXWatch/Sky_Left\": {\n      \"id\": \"/21817360883/DXWatch/Sky_Left\",\n      \"size\": [\n        [120, 600],\n        [160, 600],\n        [300, 600]\n      ],\n      \"position\": \"Other\",\n      \"isLazyLoaded\": false,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [120, 600],\n          [160, 600],\n          [300, 600]\n        ],\n        \"tablet\": [\n          [120, 600],\n          [160, 600],\n        ],\n        \"mobile\": []\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Side_Right\": {\n      \"id\": \"/21817360883/DXWatch/Side_Right\",\n      \"size\": [\n        [120, 600],\n        [160, 600]\n      ],\n      \"position\": \"Side\",\n      \"isLazyLoaded\": true,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [120, 600],\n          [160, 600]\n        ],\n        \"tablet\": [\n          [120, 600],\n        ],\n        \"mobile\": []\n      },\n      \"refreshTime\": 30000\n    },\n    \"/21817360883/DXWatch/Middle\": {\n      \"id\": \"/21817360883/DXWatch/Middle\",\n      \"size\": [\n        [300, 250],\n        [336, 280],\n        [729, 90]\n      ],\n      \"position\": \"Content\",\n      \"isLazyLoaded\": true,\n      \"refreshIteration\": 0,\n      \"sizeMapping\": {\n        \"desktop\": [\n          [729, 90],\n          [300, 250],\n          [336, 280]\n        ],\n        \"tablet\": [\n          [729, 90],\n          [300, 250],\n          [336, 280]\n        ],\n        \"mobile\": [\n          [300, 250],\n          [336, 280]\n        ]\n      },\n      \"refreshTime\": 30000\n    },\n  });\n\n  const biddersWhiteList = Object.freeze({\n    \"appnexus\":[\"US\",\"GB\",\"CA\",\"IL\",\"JP\",\"AU\",\"NZ\",\"IN\",\"BR\",\"ID\",\"EG\",\"AE\",\"SA\",\"AR\",\"CL\",\"MY\",\"PH\",\"PT\",\"HK\",\"SG\",\"NL\",\"BE\",\"IE\",\"NO\",\"SE\",\"FI\",\"DK\",\"CH\",\"DE\",\"TR\",\"PL\",\"RO\",\"CZ\",\"ZA\"],\n    \"magnite\":[\"US\",\"GB\",\"IL\",\"PS\",\"TR\",\"CA\",\"DE\",\"GH\",\"ZA\",\"FR\",\"ES\",\"IT\",\"AU\",\"NZ\",\"IN\",\"MX\",\"PL\",\"EC\",\"KR\",\"UA\",\"SA\",\"NL\",\"BE\",\"BD\",\"AE\",\"SG\",\"AM\",\"JP\",\"BR\",\"NG\",\"TH\",\"MY\",\"HK\",\"UZ\",\"SE\",\"AT\",\"PH\",\"VN\",\"CL\",\"IE\",\"CH\",\"NO\",\"FI\",\"DK\",\"PT\"],\n    \"msft\":[\"US\",\"GB\",\"CA\",\"IL\",\"JP\",\"AU\",\"NZ\",\"IN\",\"BR\",\"ID\",\"EG\",\"AE\",\"SA\",\"AR\",\"CL\",\"MY\",\"PH\",\"PT\",\"HK\",\"SG\",\"NL\",\"BE\",\"IE\",\"NO\",\"SE\",\"FI\",\"DK\",\"CH\",\"DE\",\"TR\",\"PL\",\"RO\",\"CZ\",\"ZA\"],\n    \"pubmatic\":[\"US\",\"CA\",\"GB\",\"IE\",\"AU\",\"NZ\",\"DE\",\"AT\",\"CH\",\"NL\",\"BE\",\"NO\",\"SE\",\"FI\",\"DK\",\"IL\",\"PR\"],\n    \"rubicon\":[\"US\",\"GB\",\"IL\",\"PS\",\"TR\",\"CA\",\"DE\",\"GH\",\"ZA\",\"FR\",\"ES\",\"IT\",\"AU\",\"NZ\",\"IN\",\"MX\",\"PL\",\"EC\",\"KR\",\"UA\",\"SA\",\"NL\",\"BE\",\"BD\",\"AE\",\"SG\",\"AM\",\"JP\",\"BR\",\"NG\",\"TH\",\"MY\",\"HK\",\"UZ\",\"SE\",\"AT\",\"PH\",\"VN\",\"CL\",\"IE\",\"CH\",\"NO\",\"FI\",\"DK\",\"PT\"],\n    \"openx\":[\"US\",\"CA\"],\n    \"unruly\":[\"US\",\"GB\"],\n  });\n\n  const biddersBlackList = Object.freeze({\n    \"33across\":[\"GH\",\"GB\",\"CA\",\"DE\",\"NL\",\"IL\",\"SG\",\"AU\",\"IT\",\"FR\"],\n    \"adagio\":[\"FR\",\"IL\",\"GB\",\"AU\",\"BE\",\"CH\",\"PH\",\"DE\",\"CN\",\"SG\"],\n    \"adyoulike\":[\"IL\",\"CA\",\"CN\",\"SG\",\"GB\",\"AU\",\"ZA\",\"FR\",\"IN\",\"PK\"],\n    \"amx\":[\"NL\",\"ID\",\"IT\",\"PH\",\"CN\",\"ES\",\"BE\",\"SO\",\"CH\",\"BR\"],\n    \"anyclip\":[\"GH\",\"US\",\"GB\",\"IT\",\"CA\",\"FR\",\"AT\",\"BR\",\"DE\",\"DK\"],\n    \"appnexus\":[\"DE\",\"CA\",\"GB\",\"FR\",\"ID\",\"AU\",\"PH\",\"BR\",\"TH\",\"SG\"],\n    \"contxtful\":[\"IL\",\"IN\",\"GB\",\"ID\",\"SG\",\"KR\",\"CN\",\"PH\",\"DE\",\"TH\"],\n    \"conversant\":[\"IL\",\"IN\",\"KR\",\"PH\",\"TH\",\"JP\",\"VN\",\"PK\",\"CN\",\"EG\"],\n    \"criteo\":[\"CN\",\"BD\",\"BY\",\"KZ\",\"AR\",\"MA\",\"CY\",\"CO\",\"BG\",\"CI\"],\n    \"exco\":[\"US\",\"SG\",\"GB\",\"DE\",\"CA\",\"AU\",\"IT\",\"PL\",\"CN\",\"BR\"],\n    \"fluct\":[\"US\",\"CA\",\"HK\",\"JP\",\"SG\",\"GB\",\"AU\",\"DE\",\"CN\",\"TW\"],\n    \"gamoshi\":[\"US\",\"GB\",\"CA\",\"DE\",\"AU\",\"PH\",\"IT\",\"SG\",\"CN\",\"MY\"],\n    \"ix\":[\"CN\",\"PL\",\"IE\",\"FI\",\"DK\",\"AT\",\"GR\",\"AR\",\"MA\",\"PT\"],\n    \"kueezrtb\":[\"IT\",\"CN\",\"ES\",\"BE\",\"UA\",\"PH\",\"CH\",\"TH\",\"SE\",\"BY\"],\n    \"magnite\":[\"NL\",\"IT\",\"CN\",\"BE\",\"SO\",\"CH\",\"ES\",\"UA\",\"BR\",\"PL\"],\n    \"medianet\":[\"CN\",\"CH\",\"MY\",\"UA\",\"VN\",\"BD\",\"AE\",\"PK\",\"TR\",\"BY\"],\n    \"msft\":[\"CN\",\"SO\",\"SG\",\"UA\",\"PH\",\"BY\",\"KZ\",\"KE\",\"IN\",\"IT\"],\n    \"oms\":[\"SG\",\"IN\",\"IL\",\"NL\",\"ID\",\"KR\",\"IT\",\"PH\",\"TH\",\"CH\"],\n    \"onetag\":[\"CN\",\"PL\",\"BD\",\"GR\",\"SE\",\"PK\",\"CY\",\"RO\",\"AT\",\"PT\"],\n    \"openx\":[\"DE\",\"NL\",\"CN\",\"IT\",\"BE\",\"SO\",\"JP\",\"ES\",\"PH\",\"SE\"],\n    \"pixfuture\":[\"DE\",\"CN\",\"AU\",\"FR\",\"SG\",\"TH\",\"PH\",\"ID\",\"BR\",\"JP\"],\n    \"programmaticx\":[\"FR\",\"SG\",\"IL\",\"GB\",\"ID\",\"IN\",\"KR\",\"DE\",\"PH\",\"JP\"],\n    \"richaudience\":[\"IN\",\"GB\",\"CN\",\"PK\",\"DE\",\"BD\",\"BR\",\"ZA\",\"FR\",\"TW\"],\n    \"rise\":[\"FR\",\"SG\",\"IN\",\"GB\",\"DE\",\"ID\",\"AU\",\"PH\",\"KR\",\"CN\"],\n    \"rubicon\":[\"IL\",\"CA\",\"MY\",\"GH\",\"SG\",\"AU\",\"PR\",\"GB\",\"CN\",\"DE\"],\n    \"seedtag\":[\"CN\",\"PH\",\"NG\",\"IN\",\"NO\",\"AT\",\"MA\",\"DK\",\"MY\",\"CI\"],\n    \"sharethrough\":[\"FR\",\"SG\",\"IL\",\"GB\",\"DE\",\"BE\",\"CH\",\"BR\",\"NL\",\"IT\"],\n    \"smartadserver\":[\"US\",\"SO\",\"GB\",\"IL\",\"CA\",\"KE\",\"SE\",\"NO\",\"NL\",\"CN\"],\n    \"smilewanted\":[\"DE\",\"ID\",\"CN\",\"PH\",\"NL\",\"SE\",\"IT\",\"TH\",\"CH\",\"ES\"],\n    \"sovrn\":[\"NL\",\"SG\",\"IT\",\"CN\",\"ES\",\"SE\",\"VN\",\"MY\",\"NG\",\"MX\"],\n    \"sparteo\":[\"CN\",\"PK\",\"BD\",\"RO\",\"FI\",\"CZ\",\"DZ\",\"NO\",\"HU\",\"DK\"],\n    \"ssp_geniee\":[\"IL\",\"GB\",\"DE\",\"NL\",\"ID\",\"IN\",\"KR\",\"IT\",\"CN\",\"ZA\"],\n    \"teads\":[\"CN\",\"CA\",\"SG\",\"IL\",\"AU\",\"GB\",\"FR\",\"TH\",\"DE\",\"PH\"],\n    \"underdogmedia\":[\"SO\",\"US\",\"CA\",\"ZA\",\"undefined\"],\n    \"unruly\":[\"IN\",\"ID\",\"DE\",\"AU\",\"PH\",\"KR\",\"CN\",\"SG\",\"TH\",\"JP\"],\n    \"vidazoo\":[\"FR\",\"SG\",\"GB\",\"IN\",\"ID\",\"DE\",\"PH\",\"CN\",\"SO\",\"TH\"],\n    \"yandex\":[\"IL\",\"US\",\"CA\",\"DE\",\"UA\",\"AU\",\"GB\",\"BG\",\"KZ\",\"LV\"]\n  });\n\n  const country = await getCountry();\n\n  const isBidderAllowed = ({ bidder }) => {\n    const name = bidder?.toLowerCase().replace(/s2s$/, '');\n    const whiteOk = !biddersWhiteList[name] || biddersWhiteList[name].includes(country);\n    // const blackOk = !biddersBlackList[name] || !biddersBlackList[name].includes(country);\n    return whiteOk;\n  };\n\n  const bidders = ([\n\n    {\n      bidder: \"amx\",\n      params: {\n        tagId: \"YWRuaW1hdGlvbi5jb20\"\n      }\n    },\n    // {\n    //   bidder: \"pubmatic\",\n    //   params: {\n    //     publisherId: \"160685\"\n    //   }\n    // },\n    {\n      bidder: \"unruly\",\n      params: {\n        siteId: 233835\n      }\n    },\n    {\n      bidder: \"unrulyS2S\",\n      params: {\n        siteId: 233835\n      }\n    },\n    {\n      bidder: \"vidazoo\",\n      params: {\n        cId: \"640af7e8a3aca06fc94e206c\",\n        pId: \"59ac17c192832d0011283fe3\"\n      }\n    },\n    {\n      bidder: \"rubicon\",\n      params: {\n        accountId: 24664,\n        siteId: 599034,\n        zoneId: 3842450\n      }\n    },\n    {\n      bidder: \"rubiconS2S\",\n      params: {\n        accountId: 24664,\n        siteId: 599034,\n        zoneId: 3842452\n      }\n    },\n    {\n      bidder: \"smilewanted\",\n      params: {\n        zoneId: \"adnimation.com_hb_display\"\n      }\n    },\n    {\n      bidder: \"onetag\",\n      params: {\n        pubId: \"62d98ebd4882fb0\"\n      }\n    },\n    {\n      bidder: \"contxtful\",\n      params: {\n        placementId: \"p101162\"\n      }\n    },\n    {\n      bidder: \"openx\",\n      params: {\n        unit: \"563695135\",\n        delDomain: \"adnimation-d.openx.net\"\n      }\n    },\n    {\n      bidder: \"openxS2S\",\n      params: {\n        unit: \"563695136\",\n        delDomain: \"adnimation-d.openx.net\"\n      }\n    },\n\n    {\n      bidder: \"sovrn\",\n      params: {\n        tagid: \"1285532\"\n      }\n    },\n    {\n      bidder: \"sovrnS2S\",\n      params: {\n        tagid: \"1285533\"\n      }\n    },\n    {\n      bidder: \"kueezrtb\",\n      params: {\n        cId: \"682d9dc7f19c1eb401379cc8\",\n        pId: \"65lk7c192882r0011813fn9\"\n      }\n    },\n\n  ]).filter(isBidderAllowed);\n\n  const bidderSettings = Object.freeze({\n    \"33across\": { \"storageAllowed\": true },\n    \"adagio\": { \"storageAllowed\": true },\n    \"adnimation\": { \"storageAllowed\": true },\n    \"adyoulike\": { \"storageAllowed\": true },\n    \"amx\": { \"storageAllowed\": true },\n    \"anyclip\": { \"storageAllowed\": true },\n    \"appnexus\": { \"storageAllowed\": true },\n    \"contxtful\": { \"storageAllowed\": true },\n    \"conversant\": { \"storageAllowed\": true },\n    \"criteo\": { \"storageAllowed\": true },\n    \"exco\": { \"storageAllowed\": true },\n    \"fluct\": { \"storageAllowed\": true },\n    \"gamoshi\": { \"storageAllowed\": true },\n    \"ix\": { \"storageAllowed\": true },\n    \"kueezrtb\": { \"storageAllowed\": true },\n    \"magnite\": { \"storageAllowed\": true },\n    \"medianet\": { \"storageAllowed\": true },\n    \"msft\": { \"storageAllowed\": true },\n    \"oms\": { \"storageAllowed\": true },\n    \"onetag\": { \"storageAllowed\": true },\n    \"openx\": { \"storageAllowed\": true },\n    \"pixfuture\": { \"storageAllowed\": true },\n    \"programmaticx\": { \"storageAllowed\": true },\n    \"pubmatic\": { \"storageAllowed\": true },\n    \"richaudience\": { \"storageAllowed\": true },\n    \"rise\": { \"storageAllowed\": true },\n    \"rubicon\": { \"storageAllowed\": true },\n    \"seedtag\": { \"storageAllowed\": true },\n    \"sharethrough\": { \"storageAllowed\": true },\n    \"smartadserver\": { \"storageAllowed\": true },\n    \"smilewanted\": { \"storageAllowed\": true },\n    \"sonobi\": { \"storageAllowed\": true },\n    \"sovrn\": { \"storageAllowed\": true },\n    \"sparteo\": { \"storageAllowed\": true },\n    \"ssp_geniee\": { \"storageAllowed\": true },\n    \"taboola\": { \"storageAllowed\": true },\n    \"teads\": { \"storageAllowed\": true },\n    \"underdogmedia\": { \"storageAllowed\": true },\n    \"unruly\": { \"storageAllowed\": true },\n    \"vidazoo\": { \"storageAllowed\": true },\n    \"yandex\": { \"storageAllowed\": true },\n  });\n\n  const bidderNames = bidders.filter(({bidder}) => !bidder.endsWith('S2S')).map(({bidder}) => bidder);\n  const s2sBidders = bidders.filter(({\n      bidder\n    }) =>\n    bidder.endsWith('S2S')).map(({\n    bidder\n  }) => bidder);\n  const s2sAliases = Object.fromEntries(s2sBidders.map(bidder => [bidder, bidder.slice(0, -3)]));\n\n  const GDPR_GEOS = Object.freeze(['AT','BE','BG','HR','CY','CZ','DK','EE','FI','FR','DE','GR','HU','IE','IT','LV','LT','LU','MT','NL','PL','PT','RO','SK','SI','ES','SE','IS','LI','NO','GB','CH']);\n  const CMP_WAIT_MS = 3000;\n  function waitForTcfApi(maxMs){return new Promise((resolve)=>{const start=Date.now();(function check(){if(typeof window.__tcfapi==='function')return resolve(true);if(Date.now()-start>=maxMs)return resolve(false);setTimeout(check,50);})();});}\n  async function isGdprRequired(country){const hasCmp=await waitForTcfApi(CMP_WAIT_MS);return hasCmp||GDPR_GEOS.includes(country);}\n  const needsGdpr = await isGdprRequired(await getCountry());\n\n  const pbjsConfig = Object.freeze({\n    's2sConfig': {\n      'enabled': true,\n      'accountId': '1001',\n      'bidders': s2sBidders,\n      'endpoint': 'https://adnpbs.com/openrtb2/auction',\n      'syncEndpoint': 'https://adnpbs.com/cookie_sync',\n      'timeout': 1500,\n      'extPrebid': {\n        'aliases': s2sAliases\n      }\n    },\n    'priceGranularity': 'high',\n    'floors': {\n      'enforcement': {\n        'enforceJS': true,\n        'enforcePBS': true,\n        'floorDeals': true,\n        'bidAdjustment': true\n      },\n      'data': {\n        'currency': 'USD',\n        'skipRate': 0,\n        'schema': {\n          'fields': [\n            'mediaType'\n          ]\n        },\n        'values': {\n          'banner': 0.01,\n          'native': 0.01,\n          'video': 0.01\n        },\n        'default': 0.01\n      }\n    },\n    'gvlMapping': {'amxS2S':737,'magniteS2S':52,'riseS2S':1043,'kueezrtbS2S':1165,'adagioS2S':617,'anyclip':1400,'exco':444},\n    'consentManagement': {\n      'gdpr': needsGdpr && {'cmpApi':'iab','defaultGdprScope':true,'timeout':500,'actionTimeout':2000},\n      'usp': { 'cmpApi':'iab', 'timeout':500 }\n    },\n    'useBidCache': true,\n    'schain': {\n      'validation': 'strict',\n      'config': {\n        'ver': '1.0',\n        'complete': 1,\n        'nodes': [{\n          'asi': 'adnimation.com',\n          'sid': '20250040',\n          'hp': 1\n        }]\n      }\n    },\n    'userSync': {\n      'iframeEnabled': true,\n      'filterSettings': {\n        'iframe': {\n          'bidders': bidderNames,\n          'filter': 'include'\n        }\n      },\n      'userIds': [{\n          'name': 'sharedId',\n          'storage': {\n            'type': 'html5',\n            'name': '_pubcid',\n            'expires': 365\n          }\n        },\n        {\n          'name': 'identityLink',\n          'params': {\n            'pid': '13346'\n          },\n          'storage': {\n            'type': 'html5',\n            'name': 'idl_env',\n            'expires': 30\n          }\n        },\n        {\n          'name': 'id5Id',\n          'params': {\n            'partner': 1262\n          },\n          'storage': {\n            'type': 'html5',\n            'name': 'id5id',\n            'expires': 90,\n            'refreshInSeconds': 28800\n          }\n        },\n        {\n          'name': '33acrossId',\n          'params': {\n            'pid': '0010b00002KBtyLAAT'\n          },\n          'storage': {\n            'name': '33acrossId',\n            'type': 'html5',\n            'expires': 90,\n            'refreshInSeconds': 28800\n          }\n        }\n      ]\n    },\n    'ix': {\n      'detectMissingSizes': true\n    },\n    'aliasSyncEnabled': true,\n    'auctionOptions': {\n      'suppressStaleRender': true\n    }\n  });\n\n  // ----------------------------------------------\n  // Placeholders\n  // ----------------------------------------------\n\n  // Prebid\n  window.pbjs = window.pbjs || {};\n  window.pbjs.que = window.pbjs.que || [];\n\n  // Google Tag\n  window.googletag = window.googletag || {};\n  window.googletag.cmd = window.googletag.cmd || [];\n  window.googletag.cmd.push(() =>\n    window.googletag.pubads().addEventListener(\n      'impressionViewable', onImpressionViewable));\n\n  // Google Analytics\n  window.dataLayer = window.dataLayer || [];\n\n  function gtag() {\n    window.dataLayer.push(arguments);\n  }\n\n  // Taboola\n  window._taboola = window._taboola || [];\n\n  // ----------------------------------------------\n  // Constants\n  // ----------------------------------------------\n\n  const GA_ID = 'G-RNFK0L7MYN';\n\n  const APS_TIMEOUT_MS = 2000;\n  const PREBID_TIMEOUT_MS = 1800;\n\n  // ----------------------------------------------\n  // Scripts\n  // ----------------------------------------------\n\n  function createScript(src, preCreate = () => {}) {\n    return new Promise((resolve) => {\n      let scriptEl = document.querySelector(`script[src=\"${src}\"]`);\n\n      if (scriptEl) {\n        console.warn('Script already exists:', src);\n        resolve();\n        return;\n      }\n\n      const attemptLoad = () => {\n        scriptEl = document.createElement('script');\n        scriptEl.src = src;\n        scriptEl.fetchPriority = 'high';\n        preCreate(scriptEl);\n        scriptEl.async = !scriptEl.defer;\n        scriptEl.addEventListener('load', resolve);\n        scriptEl.addEventListener('error', () => {\n          console.warn('Retrying to load script:', src);\n          scriptEl.remove();\n          setTimeout(attemptLoad, 100);\n        });\n        document.head.appendChild(scriptEl);\n      };\n\n      attemptLoad();\n    });\n  }\n\n  // Don't initialize anything if page URL is blacklisted\n  if (isBlacklistedUrl()) {\n    throw 'Skipping...';\n  }\n\n  Promise.all([\n    // Amazon Publisher Services\n//     createScript('https://c.amazon-adsystem.com/aax2/apstag.js'),\n\n    // Human anti-bot protection\n    createScript('https://cadmus.script.ac/d3svkhbhkz2i0f/script.js'),\n\n]).then(config);\n\n  // Block Through anti-adblock\n  createScript('https://btloader.com/tag?o=5696523966873600&upapi=true');\n\n  // Vidazoo video ads\n  createScript('https://static.vidazoo.com/basev/vwpt.js', (scriptEl) => {\n    scriptEl.setAttribute('data-widget-id', '65e9b79ebdb3a9c5732bbae8');\n  });\n\n  // Google Analytics\n  createScript(`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`);\n\n  // KueezRTB cookieless solution\n  createScript('https://static.kueezrtb.com/latest.js', (scriptEl) => {\n    scriptEl.setAttribute('data-cfasync', 'false');\n    scriptEl.id = 'kueezrtb_latest';\n  });\n\n  class LazyLoader {\n    constructor(margin = '100px') {\n      this.observer = new IntersectionObserver(this.onIntersect, {\n        rootMargin: margin\n      });\n    }\n\n    onIntersect = (entries) => {\n      entries.forEach((entry) => {\n        if (entry.isIntersecting) {\n          const cb = entry.target.dataset.lazyCallback;\n          if (cb && window[cb]) {\n            window[cb](entry.target);\n            delete window[cb];\n          }\n          this.observer.unobserve(entry.target);\n        }\n      });\n    };\n\n    add(element, callback) {\n      if (!element || typeof callback !== 'function') return;\n      if (element.getBoundingClientRect().top < window.innerHeight) {\n        callback(element);\n      } else {\n        const cbName = 'lazy_cb_' + Math.random().toString(36).slice(2);\n        window[cbName] = callback;\n        element.dataset.lazyCallback = cbName;\n        this.observer.observe(element);\n      }\n    }\n  }\n\n  // ----------------------------------------------\n  // App\n  // ----------------------------------------------\n\n  const adUnits = [];\n  const slotsMap = [];\n  const lazyLoader = new LazyLoader();\n  const activeSlotIds = [];\n  const newPbjsAdUnits = [];\n  const viewportType =\n    window.screen.width > 1525 ?\n    'desktop' :\n    window.screen.width > 730 ?\n    'tablet' :\n    'mobile';\n\n  /**\n   * Main entry point of our tag.\n   */\n  function main() {\n    console.log('Starting...');\n    createScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js');\n  }\n\n  function config() {\n    console.log('Configuring...');\n    // initAps();\n    initGa();\n    initIiq();\n  }\n\n  function initAps() {\n    window.apstag.init({\n      pubID: '83d5088d-5f70-4acf-a888-15a83bf33932',\n      adServer: 'googletag'\n    });\n  }\n\n  function initGa() {\n    window.googletag.cmd.push(() => {\n      const handleSlotRenderEnded = () => {\n        gtag('js', new Date());\n        gtag('config', GA_ID);\n\n        googletag.pubads().removeEventListener('slotRenderEnded', handleSlotRenderEnded);\n      };\n      googletag.pubads().addEventListener('slotRenderEnded', handleSlotRenderEnded);\n    });\n  }\n\n  function initIiq() {\n    if (!window.IntentIqObject) {\n      console.log('IIQ not found - skipping initialization');\n      main();\n      return;\n    }\n\n    try {\n      // Configure IntentIQ\n      window.intentIq_2072952453 = new IntentIqObject({\n        partner: 2072952453,\n        pbjs: adnpbjs,\n        callback: main,\n        timeoutInMillis: 1800,\n        ABTestingConfigurationSource: 'IIQServer',\n        manualWinReportEnabled: true,\n        domainName: window.location.host,\n        vrBrowserBlackList: ['chrome'],\n        gamParameterName: 'googletag', // Optional\n      });\n\n      adnpbjs.onEvent('bidWon', (data) => {\n        window.intentIq_2072952453.reportExternalWin({\n          biddingPlatformId: 1, // PreBid\n          partnerAuctionId: data.auctionId,\n          bidderCode: data.bidderCode,\n          prebidAuctionId: data.auctionId,\n          cpm: data.cpm,\n          currency: 'USD',\n          originalCpm: data.originalCpm,\n          originalCurrency: 'USD',\n          status: data.status,\n          placementId: data.adUnitCode\n        });\n      });\n\n    } catch (err) {\n      console.error('Failed to initialize IntentIQ:', err);\n      throw err;\n    }\n  }\n\n  function initAds() {\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\n    adsEl.forEach(slotEl => createAd(slotEl.dataset.adpath));\n  }\n\n  function onImpressionViewable(event) {\n    const {\n      slot\n    } = event;\n    const slotId = slot.getSlotElementId();\n    if (!activeSlotIds.includes(slotId)) {\n      return;\n    }\n\n    const adUnitPath = slot.getAdUnitPath();\n    const adUnit = adsConfig[adUnitPath];\n    const timeoutMs = adUnit.refreshTime;\n\n    setTimeout(() => refreshAd(slot, slotId, adUnit), timeoutMs);\n  }\n\n  function collectAds() {\n    adUnits.length = 0;\n\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\n    if (!adsEl.length) {\n      console.warn('No ads found to collect');\n      return;\n    }\n\n    adsEl.forEach((slotEl) => {\n      const adPath = slotEl.dataset.adpath;\n      const slot = adsConfig[adPath];\n      const slotId = slot?.id;\n      const sizes = slot?.sizeMapping[viewportType];\n\n      if (!sizes?.length) {\n        console.warn(\n          'Failed to find slot sizes for viewport - bids will be affected for',\n          viewportType, slotId\n        );\n        return;\n      }\n\n      adUnits.push({\n        bids: bidders,\n        code: slotId,\n        mediaTypes: {\n          banner: {\n            sizes\n          }\n        }\n      });\n    });\n\n    newPbjsAdUnits.length = 0;\n    newPbjsAdUnits.push(...adUnits);\n\n    window.adnpbjs.que.push(() => {\n      window.adnpbjs.bidderSettings = bidderSettings;\n      window.adnpbjs.setConfig(pbjsConfig);\n\n    });\n  }\n\n  function runApsBids(slotEl, resolve) {\n    return;\n\n    const slotId = slotEl.id;\n    const adPath = slotEl.dataset.adpath;\n\n    const sizes = adsConfig[adPath].sizeMapping[viewportType];\n    if (!sizes.length) {\n      console.warn(\n        'Failed to find slot sizes for viewport - canceling APS bid for',\n        viewportType, slotId\n      );\n      resolve();\n      return;\n    }\n\n    const slots = [{\n      slotID: slotId,\n      slotName: adsConfig[adPath].id,\n      sizes\n    }];\n\n    window.apstag.fetchBids({\n      slots,\n      timeout: APS_TIMEOUT_MS\n    }, () => {\n      window.apstag.setDisplayBids();\n      resolve();\n    });\n  }\n\n  function runPrebidBids(slotEl, resolve) {\n    const slotId = slotEl.id;\n    window.pbjs.que.push(() =>\n      window.pbjs.requestBids({\n        timeout: PREBID_TIMEOUT_MS,\n        adUnitCodes: [slotId],\n        bidsBackHandler: () => {\n          window.pbjs.setTargetingForGPTAsync([slotId]);\n          resolve();\n        }\n      })\n    );\n  }\n\n  async function runBids(slotEl) {\n    const slotId = slotEl.id;\n    // const apsBids = new Promise((resolve) => runApsBids(slotEl, resolve));\n    const pbjsBids = new Promise((resolve) => runPrebidBids(slotEl, resolve));\n    await Promise.allSettled([pbjsBids]);\n  }\n\n  async function createAdCmd(slotName) {\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\n    if (!slotEl) {\n      console.warn('Failed to find ad to create by id:', slotName);\n      return;\n    }\n\n    collectAds();\n\n    let adUnit = adsConfig[slotName];\n    if (!adUnit) {\n      console.warn('Failed to find ad with the following id:', slotName);\n      return;\n    }\n\n    const sizeMapping = googletag\n      .sizeMapping()\n      .addSize([980, 200], adUnit.sizeMapping.desktop)\n      .addSize([730, 200], adUnit.sizeMapping.tablet)\n      .addSize([0, 0], adUnit.sizeMapping.mobile)\n      .build();\n\n    const adPath = slotEl.dataset.adpath;\n    let refreshIteration = adsConfig[adPath].refreshIteration;\n    refreshIteration++;\n\n    const slot = googletag\n      .defineSlot(adUnit.id, adUnit.size)\n      .defineSizeMapping(sizeMapping)\n      .addService(window.googletag.pubads());\n\n    slot.setConfig({ targeting: { refreshIteration: refreshIteration.toString(), intent_iq_group: 'U' } });\n\n    slotEl.id = slot.getSlotElementId();\n\n    const pbjsAdUnit = newPbjsAdUnits.find(adUnit => adUnit.code === slotName);\n    if (pbjsAdUnit) {\n      pbjsAdUnit.code = slotEl.id;\n      window.adnpbjs.addAdUnits(pbjsAdUnit);\n      window.pbjs = adnpbjs;\n    }\n\n    slotsMap[slotEl.id] = slot;\n    activeSlotIds.push(slotEl.id);\n\n    const init = async () => {\n      try {\n        await runBids(slotEl);\n        window.googletag.enableServices();\n        window.googletag.display(slotEl.id);\n        if (googletag.getConfig('disableInitialLoad').disableInitialLoad) {\n          window.googletag.pubads().refresh([slot]);\n        }\n      } catch (err) {\n        console.error('Failed to run bids for ad slot: %s, %s', slotEl.id, err);\n      }\n    };\n\n    const isLazyLoaded = adsConfig[adPath]?.isLazyLoaded !== false;\n    if (isLazyLoaded) {\n      lazyLoader.add(slotEl, init);\n    } else {\n      init();\n    }\n  }\n\n  async function refreshAd(slot, slotId, adUnit) {\n    try {\n      const adUnitToRefresh = googletag\n        .pubads()\n        .getSlots()\n        .filter((slot) => slot.getSlotElementId() === slotId)\n        .at(0);\n\n      if (!adUnitToRefresh) {\n        return;\n      }\n\n      adUnit.refreshIteration++;\n      slot.setConfig({ targeting: { refreshIteration: adUnit.refreshIteration.toString() } });\n\n      const slotEl = document.getElementById(adUnitToRefresh.getSlotElementId());\n      await runBids(slotEl);\n\n      window.googletag.pubads().refresh([slotsMap[slotEl.id]]);\n    } catch (err) {\n      console.error('Failed to refresh ad:', slotId, err.message);\n    }\n  }\n\n  function destroyAdCmd(slotName) {\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\n    if (!slotEl) {\n      console.warn('Failed to find ad to destroy by id:', slotName);\n      return;\n    }\n\n    const slotId = slotEl.id;\n    if (slotId && slotsMap[slotId]) {\n      window.googletag.destroySlots([slotsMap[slotId]]);\n      delete slotsMap[slotId];\n      const idx = activeSlotIds.indexOf(slotId);\n      if (idx > -1) {\n        activeSlotIds.splice(idx, 1);\n      }\n    }\n\n    slotEl.innerHTML = '';\n    slotEl.id = '';\n    slotEl.removeAttribute('data-onpage');\n    if (slotId.toLowerCase().includes('sticky_footer')) {\n      slotEl.parentElement.parentElement.remove();\n    }\n  }\n\n  function createNativeCmd() {\n    createScript('https://cdn.taboola.com/libtrc/adnimationnetwork/loader.js', (scriptEl) => {\n      scriptEl.id = 'tb_loader_script';\n      scriptEl.onload = () => {\n        window.performance?.mark?.('tbl_ic');\n      };\n    });\n\n    createScript('data:text/javascript;charset=utf-8,_taboola.push({flush:true})', (scriptEl) => {\n      scriptEl.setAttribute('data-taboola-flush', 'true');\n      scriptEl.defer = true;\n    });\n  }\n\n  function destroyNativeCmd() {\n    const footerEl = document.querySelector('.adn-footer');\n    if (footerEl) {\n      footerEl.innerHTML = '';\n    }\n  }\n\n  function createNative() {\n    window.googletag.cmd.push(createNativeCmd);\n  }\n\n  function destroyNative() {\n    window.googletag.cmd.push(destroyNativeCmd);\n  }\n\n  function createAd(slotName) {\n    window.googletag.cmd.push(() => createAdCmd(slotName));\n  }\n\n  function destroyAd(slotName) {\n    window.googletag.cmd.push(() => destroyAdCmd(slotName));\n  }\n\n  function createInterstitial() {\n    window.googletag.cmd.push(createInterstitialCmd);\n  }\n\n  // ----------------------------------------------\n  // Exports\n  // ----------------------------------------------\n\n  window.adn = {\n    createAd,\n    destroyAd,\n    createNative,\n    destroyNative,\n    createInterstitial,\n  };\n\n  // ----------------------------------------------\n  // Utils\n  // ----------------------------------------------\n\n  async function getIpInfo() {\n    try {\n      const cached = localStorage.getItem('ipinfo');\n      if (cached) return JSON.parse(cached);\n      const key = '7c4d73767e64472ea502eacdbc47386b';\n      const url = `https://d2dvy74lyjayxz.cloudfront.net/?key=${key}`;\n      const res = await fetch(url);\n      if (!res.ok) throw new Error(`HTTP-${res.status}`);\n      const ipInfo = await res.json();\n      localStorage.setItem('ipinfo', JSON.stringify(ipInfo));\n      localStorage.removeItem('adngeo'); // Old version cleanup\n      return ipInfo;\n    } catch (err) {\n      console.error('Failed to get ip info:', err.message);\n      return null;\n    }\n  }\n\n  async function getCountry() {\n    const ipInfo = await getIpInfo();\n    return ipInfo?.country ?? 'US';\n  }\n\n  async function getPlatform() {\n    const ipInfo = await getIpInfo();\n    return ['ios','android','mobile','desktop'].find(k => ipInfo?.[k]) ?? 'desktop';\n  }\n\n  async function waitForElement(selector) {\n    let cnt = 0;\n    const timeout = 100;\n    const threshold = 3000 / timeout;\n    return new Promise((resolve) => {\n      let interval = setInterval(() => {\n        if (document.querySelector(selector)) {\n          clearInterval(interval);\n          resolve();\n        }\n        if (++cnt === threshold) {\n          cnt = 0;\n          console.warn('Still waiting for selector:', selector);\n        }\n      }, timeout);\n    });\n  }\n\n  const onDomReady = (function() {\n    const callbacks = [];\n\n    document.addEventListener('DOMContentLoaded', () => {\n      callbacks.forEach((callback) => callback());\n      callbacks.length = 0;\n    });\n\n    const interval = setInterval(() => {\n      if (\n        document.readyState === 'complete' ||\n        document.readyState === 'interactive'\n      ) {\n        clearInterval(interval);\n        callbacks.forEach((callback) => callback());\n        callbacks.length = 0;\n      }\n    }, 100);\n\n    return (callback) => {\n      if (\n        document.readyState === 'complete' ||\n        document.readyState === 'interactive'\n      ) {\n        setTimeout(callback, 0);\n      } else {\n        callbacks.push(callback);\n      }\n    };\n  })();\n\n  // Find \"URL_PATHS_BLACKLIST\" under the \"Configuration\" section.\n  // There you can add any additional URL paths to blacklist.\n  function isBlacklistedUrl() {\n    const { pathname } = window.location;\n    const list = URL_PATHS_BLACKLIST ?? [];\n    const isBlacklisted = list.some((path) =>\n      path === '/' ? pathname === path : pathname.includes(path));\n    return isBlacklisted;\n  }\n\n  function observeSlots() {\n    const isVisible = (element) => {\n      const style = window.getComputedStyle(element);\n      const isDisplayed = style.display !== 'none';\n      const isVisible = style.visibility !== 'hidden';\n      return isDisplayed && isVisible;\n    };\n\n    const isStyleChanged = (mutation) =>\n      mutation.type === 'attributes' &&\n      (\n        mutation.attributeName === 'style' ||\n        mutation.attributeName === 'class'\n      );\n\n    const isVisibilityChanged = (mutation) => {\n      const oldStyle = mutation.oldValue || '';\n      const newStyle = mutation.target.getAttribute('style') || '';\n      const wasHidden = oldStyle.includes('hidden') || oldStyle.includes('none');\n      const isHidden = newStyle.includes('hidden') || newStyle.includes('none');\n      return wasHidden !== isHidden;\n    }\n\n    const handleAdded = (node) => {\n      const slot = node.getAttribute('data-adpath');\n      console.log('Added:', slot);\n      createAd(slot);\n    }\n\n    const handleRemoved = (node) => {\n      const slot = node.getAttribute('data-adpath');\n      console.log('Removed:', slot);\n      destroyAd(slot);\n    }\n\n    const isAdSlot = (node) => node.hasAttribute?.('data-adpath');\n\n    const getSlots = (nodeList) =>\n      Array.from(nodeList)\n        .filter((node) => node.nodeType === Node.ELEMENT_NODE)\n        .flatMap((node) => Array.from(node.querySelectorAll('[data-adpath]')).concat(node))\n        .filter(isAdSlot);\n\n    const handleMutations = (mutations) =>\n      mutations.forEach((mutation) => {\n        const addedNodes = getSlots(mutation.addedNodes);\n        const removedNodes = getSlots(mutation.removedNodes);\n\n        addedNodes.forEach(handleAdded);\n        removedNodes.forEach(handleRemoved);\n\n        if (\n          !addedNodes.includes(mutation.target) &&\n          !removedNodes.includes(mutation.target) &&\n          isStyleChanged(mutation) &&\n          isVisibilityChanged(mutation)\n        ) {\n          const childNodes = getSlots(mutation.target);\n          childNodes.forEach((node) => {\n            if (isVisible(node)) {\n              handleAdded(node);\n            } else {\n              handleRemoved(node);\n            }\n          });\n        }\n      });\n\n    const config = {\n      subtree: true,\n      childList: true,\n      attributes: true,\n      attributeFilter: ['style', 'class'],\n      attributeOldValue: true\n    };\n\n    const observer = new MutationObserver(handleMutations);\n    observer.observe(document, config);\n  }\n\n  // ----------------------------------------------\n  // Custom\n  // ----------------------------------------------\n\n  function createStickyBanner() {\n\n    const addCloseButton = (stickyBannerSizeDiv) => {\n      const el = document.createElement('div');\n      el.innerText = 'Close';\n      el.style.position = 'absolute';\n      el.style.top = '-20px';\n      el.style.right = '0px';\n      el.style.height = '20px';\n      el.style.width = '50px';\n      el.style.color = 'white';\n      el.style.borderRadius = '2px';\n      el.style.backgroundColor = 'black';\n      el.style.cursor = 'pointer';\n      el.style.fontSize = '14px';\n      el.style.textAlign = 'center';\n      el.classList.add('closeButton');\n      el.onclick = function() {\n        this.parentElement.remove();\n      };\n      stickyBannerSizeDiv.append(el);\n    };\n\n    const stickyBannerParent = document.createElement('div');\n    stickyBannerParent.classList.add('adnSticky');\n    stickyBannerParent.style.position = 'fixed';\n    stickyBannerParent.style.display = 'flex';\n    stickyBannerParent.style.justifyContent = 'space-evenly';\n    stickyBannerParent.style.bottom = '0px';\n    stickyBannerParent.style.width = '100%';\n    stickyBannerParent.style.backgroundColor = 'transparent';\n    stickyBannerParent.style.zIndex = '9999999999';\n\n    const stickyBannerSizeDiv = document.createElement('div');\n    stickyBannerSizeDiv.style.position = 'relative';\n\n    const stickyBanner = document.createElement('div');\n    stickyBanner.dataset.onpage = !0;\n    stickyBanner.dataset.adpath = '/21817360883/DXWatch/Sticky_Footer';\n\n    stickyBannerSizeDiv.append(stickyBanner);\n    stickyBannerParent.append(stickyBannerSizeDiv);\n    document.getElementsByTagName('body')[0].append(stickyBannerParent);\n\n    let flag = true;\n    googletag.cmd.push(() => {\n      googletag.pubads().addEventListener('slotRenderEnded', (event) => {\n        if (event.slot.getSlotElementId().includes('Sticky_Footer') && !event.isEmpty && flag) {\n          flag = false;\n          addCloseButton(stickyBannerSizeDiv);\n        }\n      });\n      googletag.enableServices();\n    });\n\n  }\n\n  function addInContentAdUnits() {\n\n    const el = document.createElement('div');\n    el.dataset.onpage = true;\n    el.dataset.adpath = '/21817360883/DXWatch/Middle';\n    el.style.textAlign = 'center';\n    el.style.marginTop = '40px';\n    el.style.marginBottom = '40px';\n    el.style.minHeight = '250px';\n    // el.style.backgroundColor = 'pink'; // Uncomment for visual debugging\n\n    const h2Sections = document.querySelectorAll('#col-b-ads-bottom');\n\n    h2Sections.forEach(pElement => {\n      const ad = el.cloneNode(true);\n      pElement.appendChild(ad);\n    });\n\n  }\n\n  function addAtfUnit() {\n\n    const el = document.createElement('div');\n    el.dataset.onpage = true;\n    el.dataset.adpath = '/21817360883/DXWatch/ATF';\n    el.style.textAlign = 'center';\n    el.style.marginTop = '5px';\n    el.style.marginBottom = '5px';\n    el.style.minHeight = '100px';\n    //el.style.backgroundColor = 'green';\n    const pArr = document.querySelectorAll('#col-b-ads-top')[0];\n    pArr.appendChild(el.cloneNode(true), pArr);\n\n  }\n\n  function addSideBarRightAdUnits() {\n    if (window.innerWidth > 768) {\n      document.addEventListener('DOMContentLoaded', function() {\n        const el = document.createElement('div');\n        el.dataset.onpage = true;\n        el.dataset.adpath = '/21817360883/DXWatch/Side_Right';\n        el.style.textAlign = 'center';\n        el.style.marginTop = '40px';\n        el.style.marginBottom = '40px';\n        el.style.minHeight = '250px';\n        // el.style.backgroundColor = 'yellow'; // optional styling\n\n        const pArr = document.querySelectorAll('._ads_p_dxw_hp_col-c_r');\n        pArr.forEach(pElement => {\n          const ad = el.cloneNode(true);\n          pElement.appendChild(ad);\n        });\n      });\n\n    }\n  }\n\nfunction addSideBarRightHPAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_hp_col-c_r');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarRightHPAdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Right';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\nfunction addSideBarLeftAdUnits() {\n    if (window.innerWidth > 768) {\n      document.addEventListener('DOMContentLoaded', function() {\n        const el = document.createElement('div');\n        el.dataset.onpage = true;\n        el.dataset.adpath = '/21817360883/DXWatch/Side_Left';\n        el.style.textAlign = 'center';\n        el.style.marginTop = '40px';\n        el.style.marginBottom = '40px';\n        el.style.minHeight = '250px';\n        // el.style.backgroundColor = 'yellow'; // optional styling\n\n        const pArr = document.querySelectorAll('._ads_p_dxw_spots_col-a_r');\n        pArr.forEach(pElement => {\n          const ad = el.cloneNode(true);\n          pElement.appendChild(ad);\n        });\n      });\n\n    }\n  }\n\nfunction addSideBarLeftSupportAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_gen_col-a_r');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarLeftHPAdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Left';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\nfunction addSideBarLeftDXWAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_spots_col-a_r');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarLeftHPAdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Left';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\n  function addSideBarLeftDXWTwoAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_spots_col-a_btf');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarLeftHP2AdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Left_0';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\n  function addSideBarRightDXWAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_spots_col-c_r');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarRightHPAdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Right';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\nfunction addSideBarLeftHPAdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_hp_col-a_r');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarLeftHPAdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Left';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\n  function addSideBarLeftHP2AdUnits(retries = 10) {\n    const target = document.querySelector('._ads_dxw_hp_col-a_btf');\n\n    if (!target) {\n      if (retries > 0) {\n        //console.log(`Waiting for sidebar ad container... (${retries})`);\n        return setTimeout(() => addSideBarLeftHP2AdUnits(retries - 1), 500);\n      } else {\n        //console.warn('❌ Sidebar ad container not found after retries');\n        return;\n      }\n    }\n\n    const ad = document.createElement('div');\n    ad.dataset.onpage = 'true';\n    ad.dataset.adpath = '/21817360883/DXWatch/Side_Left_0';\n    ad.style.textAlign = 'center';\n    ad.style.marginTop = '40px';\n    ad.style.marginBottom = '40px';\n    ad.style.minHeight = '250px';\n    // ad.style.backgroundColor = 'red'; // Debug only – remove or change in prod\n    // ad.style.color = 'white';\n    // ad.textContent = '✅ Injected sidebar ad unit';\n\n    target.appendChild(ad);\n    //console.log('✅ Sidebar ad successfully injected into:', target);\n  }\n\n  function createInterstitialCmd() {\n\n    const slot = window.googletag.defineOutOfPageSlot(\n      '/21817360883/DXWatch/DXWatch_Interstitial', window.googletag.enums.OutOfPageFormat.INTERSTITIAL);\n\n    if (!slot) {\n      console.error('Failed to define out of page slot - Interstitial');\n      return;\n    }\n\n    slot.addService(window.googletag.pubads());\n    window.googletag.enableServices();\n    window.googletag.display(slot);\n\n  }\n\n  function createOutstreamPlayer() {\n    // Create a new script element\n    const js = document.createElement('script');\n\n    // Add the necessary class name\n    js.className = 'exco-player';\n\n    // Set the source URL for the outstream player\n    js.src = \"//player.ex.co/player/7ca2a153-572e-48a1-8560-685f0a504f0c\";\n\n    // Insert the script tag at the beginning of the document\n    const fjs = document.getElementsByTagName('script')[0];\n    fjs.parentNode.insertBefore(js, fjs);\n  }\n\n  onDomReady(async () => {\n    try {\n      // Add custom slots creation logic here 👇\n      createStickyBanner();\n      addInContentAdUnits();\n      addAtfUnit();\n      addSideBarRightAdUnits();\n      addSideBarLeftAdUnits();\n      createOutstreamPlayer();\n      createInterstitial();\n      addSideBarLeftHPAdUnits();\n      addSideBarLeftHP2AdUnits();\n      addSideBarRightHPAdUnits();\n      addSideBarLeftDXWAdUnits();\n      addSideBarLeftDXWTwoAdUnits();\n      addSideBarRightDXWAdUnits();\n      addSideBarLeftSupportAdUnits();\n    } catch (err) {\n      console.error('Failed to create slots:', err.message);\n    }\n\n    // Must be called last\n    initAds();\n  });\n\n})(window, document);\n\n"]}