{"version":3,"sources":["prebid.js","iiq.js","pricing.js","https://adncdn.net/0"],"names":["window","document","async","getCountry","keyName","country","localStorage","getItem","url","isOk","res","ok","Error","status","geo","fetch","then","json","setItem","err","console","error","message","URL_PATHS_BLACKLIST","Object","freeze","adsConfig","id","size","position","isLazyLoaded","refreshIteration","sizeMapping","desktop","tablet","mobile","refreshTime","bidders","pubmatic","sonobi","openx","unruly","adagio","adyoulike","amx","anyclip","appnexus","contxtful","conversant","criteo","exco","fluct","gamoshi","ix","kueezrtb","magnite","medianet","msft","oms","onetag","pixfuture","programmaticx","richaudience","rise","rubicon","seedtag","sharethrough","smartadserver","smilewanted","sovrn","sparteo","ssp_geniee","teads","underdogmedia","vidazoo","yandex","bidder","params","tagId","pubId","placement_id","zoneId","placementId","accountId","siteId","org","networkId","cId","pId","cid","crid","bidderSettings","storageAllowed","adnimation","taboola","bidderNames","filter","endsWith","map","s2sBidders","s2sAliases","fromEntries","slice","GDPR_GEOS","needsGdpr","maxMs","Promise","resolve","start","Date","now","check","__tcfapi","setTimeout","includes","isGdprRequired","pbjsConfig","s2sConfig","enabled","endpoint","syncEndpoint","timeout","extPrebid","aliases","priceGranularity","currency","adServerCurrency","conversionRateFile","defaultRates","USD","EUR","ratesTTL","floors","enforcement","enforceJS","enforcePBS","floorDeals","bidAdjustment","data","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","name","storage","type","expires","pid","partner","refreshInSeconds","detectMissingSizes","aliasSyncEnabled","auctionOptions","suppressStaleRender","version","customer","realTimeData","dataProviders","waitForIt","adServerTargeting","gtag","dataLayer","push","arguments","googletag","cmd","pubads","addEventListener","onImpressionViewable","onFirstAdVisible","setConfig","collapseDiv","_taboola","GA_ID","PREBID_TIMEOUT_MS","createScript","src","preCreate","scriptEl","querySelector","warn","attemptLoad","createElement","fetchPriority","defer","remove","head","appendChild","pathname","location","some","path","isBlacklistedUrl","scriptsToLoad","all","log","handleSlotRenderEnded","removeEventListener","IntentIqObject","intentIq_2072952453","pbjs","adnpbjs","callback","main","timeoutInMillis","ABTestingConfigurationSource","manualWinReportEnabled","domainName","host","vrBrowserBlackList","gamParameterName","onEvent","reportExternalWin","biddingPlatformId","partnerAuctionId","auctionId","bidderCode","prebidAuctionId","cpm","originalCpm","originalCurrency","adUnitCode","initIiq","catch","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","targeting","slotEl","getElementById","runBids","refresh","refreshAd","firstAdLogged","isEmpty","performance","runPrebidBids","que","requestBids","adUnitCodes","bidsBackHandler","setTargetingForGPTAsync","pbjsBids","bidsFn","race","allSettled","createAdCmd","slotName","length","adsEl","querySelectorAll","adPath","adpath","sizes","slotBidders","ATF","Content","BTF","Side","SideATF","Sticky","publisherId","STANDARD_SIZES","prebidSizes","standardSizes","every","Array","isArray","w","h","isNative","sw","sh","bids","code","mediaTypes","setBidderConfig","ortb2","source","ext","collectAds","addSize","build","defineSlot","defineSizeMapping","addService","intent_iq_group","pbjsAdUnit","find","addAdUnits","init","enableServices","display","getConfig","disableInitialLoad","createNativeCmd","onload","mark","destroyNativeCmd","footerEl","innerHTML","createAd","destroyAd","destroySlots","idx","indexOf","splice","removeAttribute","toLowerCase","parentElement","destroyAdCmd","createInterstitial","createInterstitialCmd","getIpInfo","cached","JSON","parse","ipInfo","stringify","removeItem","adn","createNative","destroyNative","onDomReady","callbacks","interval","setInterval","readyState","clearInterval","observeSlots","handleAdded","node","getAttribute","handleRemoved","isAdSlot","hasAttribute","nodeList","from","nodeType","Node","ELEMENT_NODE","flatMap","concat","MutationObserver","mutations","mutation","addedNodes","removedNodes","attributeName","isStyleChanged","oldStyle","oldValue","newStyle","isVisibilityChanged","style","getComputedStyle","isDisplayed","isVisible","visibility","subtree","childList","attributes","attributeFilter","attributeOldValue","defineOutOfPageSlot","enums","OutOfPageFormat","INTERSTITIAL","tryInject","href","el","onpage","textAlign","marginTop","marginBottom","minHeight","pubadsReady","attempts","pArr","addCloseButton","stickyBannerSizeDiv","innerText","right","height","color","borderRadius","backgroundColor","cursor","fontSize","classList","onclick","append","stickyBannerParent","justifyContent","isMobile","innerWidth","bottom","zIndex","stickyBanner","getElementsByTagName","flag","createStickyBanner","cloneNode","addBannerHeaderUnit","addBannerhHmeMiddleUnit","template","block","ad","addBannerStickyLeftUnits","addBannerStickyRightUnits","addBannerRightTopUnits","addBannerRightMiddleUnits","addBannerFeedPreloadHPUnits","addBannerFeedInfiniteHPUnits","addTextFeedPreloadHPUnits","addtextFeedInfiniteHPUnits","addBannerRightTopCatUnits","addBannerRightMiddleCatUnits","stack"],"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;CCCA,eAAgBA,EAAQC,GAEtBC,eAAeC,IACb,IACE,MAAMC,EAAU,SACVC,EAAUC,aAAaC,QAAQH,GACrC,GAAIC,EAAS,OAAOA,EACpB,MACMG,EAAM,8CADA,qCAENC,EAAQC,GAAQA,EAAIC,GAAKD,EAAM,MAAQ,MAAM,IAAIE,MAAM,QAAQF,EAAIG,SAAU,EAA9C,GAC/BC,QAAYC,MAAMP,GAAKQ,KAAKP,GAAMO,KAAMN,GAAQA,EAAIO,QAE1D,OADAX,aAAaY,QAAQd,EAASU,EAAIT,SAC3BS,EAAIT,OACb,CAAE,MAAOc,GAEP,OADAC,QAAQC,MAAM,yBAA0BF,EAAIG,SACrC,IACT,CACF,CAMA,MAAMC,EAAsBC,OAAOC,OAAO,IAKtCC,EAAYF,OAAOC,OAAO,CAC5B,+CAAgD,CAC9CE,GAAM,+CACNC,KAAQ,CACN,SAEFC,SAAY,UACZC,cAAgB,EAChBC,iBAAoB,EACpBC,YAAe,CACbC,QAAW,CACT,SAEFC,OAAU,CACR,SAEFC,OAAU,CA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","file":"wI9UlYbI4B","sourcesContent":[null,null,null,"// Last updated: 2026-10-19T12:08:58.951Z by Gina\r\n(async function(window, document) {\r\n\r\n  async function getCountry() {\r\n    try {\r\n      const keyName = 'adngeo';\r\n      const country = localStorage.getItem(keyName);\r\n      if (country) return country;\r\n      const key = '7c4d73767e64472ea502eacdbc47386b';\r\n      const url = `https://d2dvy74lyjayxz.cloudfront.net/?key=${key}`;\r\n      const isOk = (res) => res.ok ? res : (() => {throw new Error(`HTTP-${res.status}`)})();\r\n      const geo = await fetch(url).then(isOk).then((res) => res.json());\r\n      localStorage.setItem(keyName, geo.country);\r\n      return geo.country;\r\n    } catch (err) {\r\n      console.error('Failed to get country:', err.message);\r\n      return 'US';\r\n    }\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Configuration\r\n  // ----------------------------------------------\r\n\r\n  const URL_PATHS_BLACKLIST = Object.freeze([\r\n    // Add a list of URL paths to exclude 👇\r\n    // e.g. \"/path/to/page\"\r\n  ]);\r\n\r\nconst adsConfig = Object.freeze({\r\n    \"/25671928/lankasrinews.text/view-recommended\": {\r\n      \"id\": \"/25671928/lankasrinews.text/view-recommended\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/feed-infinite\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/feed-infinite\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/feed-preload\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/feed-preload\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/header\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/header\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [320, 50],\r\n        [320, 100],\r\n        [728, 90],\r\n        [970, 90],\r\n        [970, 250]\r\n      ],\r\n      \"position\": \"ATF\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [970, 250],\r\n          [970, 90],\r\n          [728, 90],\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90],\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280],\r\n          [320, 100],\r\n          [320, 50]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/home-middle\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/home-middle\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280],\r\n        [728, 90],\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [728, 90],\r\n        ],\r\n        \"tablet\": [\r\n          [728, 90],\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280],\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/left-top\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/left-top\",\r\n      \"size\": [\r\n        [160, 600],\r\n        [120, 600],\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"tablet\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/left-middle\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/left-middle\",\r\n      \"size\": [\r\n        [160, 600],\r\n        [120, 600],\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"tablet\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/right-bottom\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/right-bottom\",\r\n      \"size\": [\r\n        [300, 600],\r\n        [300, 250],\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/right-middle\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/right-middle\",\r\n      \"size\": [\r\n        [300, 600],\r\n        [300, 250],\r\n        [300, 100]\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/right-top\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/right-top\",\r\n      \"size\": [\r\n        [300, 600],\r\n        [300, 250],\r\n      ],\r\n      \"position\": \"Side\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 600],\r\n          [300, 250]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/sticky-left\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/sticky-left\",\r\n      \"size\": [\r\n        [160, 600],\r\n        [120, 600],\r\n      ],\r\n      \"position\": \"Sticky\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"tablet\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/sticky-right\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/sticky-right\",\r\n      \"size\": [\r\n        [160, 600],\r\n        [120, 600],\r\n      ],\r\n      \"position\": \"Sticky\",\r\n      \"isLazyLoaded\": false,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"tablet\": [\r\n          [160, 600],\r\n          [120, 600]\r\n        ],\r\n        \"mobile\": [\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/view-bottom\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/view-bottom\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.banner/view-inner\": {\r\n      \"id\": \"/25671928/lankasrinews.banner/view-inner\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.story/feed\": {\r\n      \"id\": \"/25671928/lankasrinews.story/feed\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [120, 240],\r\n        [120, 600],\r\n        [160, 600],\r\n        [300, 600],\r\n        [320, 480],\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [120, 240],\r\n          [120, 600],\r\n          [160, 600],\r\n          [300, 600],\r\n          [320, 480],\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [120, 240],\r\n          [120, 600],\r\n          [160, 600],\r\n          [300, 600],\r\n          [320, 480],\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [120, 240],\r\n          [120, 600],\r\n          [160, 600],\r\n          [300, 600],\r\n          [320, 480],\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.story/interstitial\": {\r\n      \"id\": \"/25671928/lankasrinews.story/interstitial\",\r\n      \"size\": [\r\n        [300, 250],\r\n        [336, 280],\r\n        [320, 480],\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          [300, 250],\r\n          [336, 280],\r\n          [320, 480],\r\n        ],\r\n        \"tablet\": [\r\n          [300, 250],\r\n          [336, 280],\r\n          [320, 480],\r\n        ],\r\n        \"mobile\": [\r\n          [300, 250],\r\n          [336, 280],\r\n          [320, 480],\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.text/feed-infinite\": {\r\n      \"id\": \"/25671928/lankasrinews.text/feed-infinite\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.text/feed-preload\": {\r\n      \"id\": \"/25671928/lankasrinews.text/feed-preload\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.text/home-top\": {\r\n      \"id\": \"/25671928/lankasrinews.text/home-top\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.text/view-inner\": {\r\n      \"id\": \"/25671928/lankasrinews.text/view-inner\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.text/view-top\": {\r\n      \"id\": \"/25671928/lankasrinews.text/view-top\",\r\n      \"size\": [\r\n        'fluid'\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n          'fluid'\r\n        ],\r\n        \"tablet\": [\r\n          'fluid'\r\n        ],\r\n        \"mobile\": [\r\n          'fluid'\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n    \"/25671928/lankasrinews.sticky_footer\": {\r\n      \"id\": \"/25671928/lankasrinews.sticky_footer\",\r\n      \"size\": [\r\n        [970, 90],\r\n        [728, 90],\r\n        [320, 50]\r\n      ],\r\n      \"position\": \"Content\",\r\n      \"isLazyLoaded\": true,\r\n      \"refreshIteration\": 0,\r\n      \"sizeMapping\": {\r\n        \"desktop\": [\r\n        [970, 90],\r\n        [728, 90],\r\n        ],\r\n        \"tablet\": [\r\n        [970, 90],\r\n        [728, 90],\r\n        ],\r\n        \"mobile\": [\r\n        [320, 50]\r\n        ]\r\n      },\r\n      \"refreshTime\": 30000\r\n    },\r\n  });  \r\n  \r\n  const biddersWhiteList = Object.freeze({\r\n    \"pubmatic\":[\"AU\",\"CA\",\"CH\",\"DE\",\"ES\",\"GB\",\"IL\",\"MX\",\"US\",\"ZA\"],\r\n    \"sonobi\":[\"US\"],\r\n    \"openx\":[\"US\",\"CA\"],\r\n    \"unruly\":[\"US\",\"GB\"],\r\n  });\r\n\r\n  const biddersBlackList = Object.freeze({\r\n    \"33across\":[\"GH\",\"GB\",\"CA\",\"DE\",\"NL\",\"IL\",\"SG\",\"AU\",\"IT\",\"FR\"],\r\n    \"adagio\":[\"FR\",\"IL\",\"GB\",\"AU\",\"BE\",\"CH\",\"PH\",\"DE\",\"CN\",\"SG\"],\r\n    \"adyoulike\":[\"IL\",\"CA\",\"CN\",\"SG\",\"GB\",\"AU\",\"ZA\",\"FR\",\"IN\",\"PK\"],\r\n    \"amx\":[\"NL\",\"ID\",\"IT\",\"PH\",\"CN\",\"ES\",\"BE\",\"SO\",\"CH\",\"BR\"],\r\n    \"anyclip\":[\"GH\",\"US\",\"GB\",\"IT\",\"CA\",\"FR\",\"AT\",\"BR\",\"DE\",\"DK\"],\r\n    \"appnexus\":[\"DE\",\"CA\",\"GB\",\"FR\",\"ID\",\"AU\",\"PH\",\"BR\",\"TH\",\"SG\"],\r\n    \"contxtful\":[\"IL\",\"IN\",\"GB\",\"ID\",\"SG\",\"KR\",\"CN\",\"PH\",\"DE\",\"TH\"],\r\n    \"conversant\":[\"IL\",\"IN\",\"KR\",\"PH\",\"TH\",\"JP\",\"VN\",\"PK\",\"CN\",\"EG\"],\r\n    \"criteo\":[\"CN\",\"BD\",\"BY\",\"KZ\",\"AR\",\"MA\",\"CY\",\"CO\",\"BG\",\"CI\"],\r\n    \"exco\":[\"US\",\"SG\",\"GB\",\"DE\",\"CA\",\"AU\",\"IT\",\"PL\",\"CN\",\"BR\"],\r\n    \"fluct\":[\"US\",\"CA\",\"HK\",\"JP\",\"SG\",\"GB\",\"AU\",\"DE\",\"CN\",\"TW\"],\r\n    \"gamoshi\":[\"US\",\"GB\",\"CA\",\"DE\",\"AU\",\"PH\",\"IT\",\"SG\",\"CN\",\"MY\"],\r\n    \"ix\":[\"CN\",\"PL\",\"IE\",\"FI\",\"DK\",\"AT\",\"GR\",\"AR\",\"MA\",\"PT\"],\r\n    \"kueezrtb\":[\"IT\",\"CN\",\"ES\",\"BE\",\"UA\",\"PH\",\"CH\",\"TH\",\"SE\",\"BY\"],\r\n    \"magnite\":[\"NL\",\"IT\",\"CN\",\"BE\",\"SO\",\"CH\",\"ES\",\"UA\",\"BR\",\"PL\"],\r\n    \"medianet\":[\"CN\",\"CH\",\"MY\",\"UA\",\"VN\",\"BD\",\"AE\",\"PK\",\"TR\",\"BY\"],\r\n    \"msft\":[\"CN\",\"SO\",\"SG\",\"UA\",\"PH\",\"BY\",\"KZ\",\"KE\",\"IN\",\"IT\"],\r\n    \"oms\":[\"SG\",\"IN\",\"IL\",\"NL\",\"ID\",\"KR\",\"IT\",\"PH\",\"TH\",\"CH\"],\r\n    \"onetag\":[\"CN\",\"PL\",\"BD\",\"GR\",\"SE\",\"PK\",\"CY\",\"RO\",\"AT\",\"PT\"],\r\n    \"openx\":[\"DE\",\"NL\",\"CN\",\"IT\",\"BE\",\"SO\",\"JP\",\"ES\",\"PH\",\"SE\"],\r\n    \"pixfuture\":[\"DE\",\"CN\",\"AU\",\"FR\",\"SG\",\"TH\",\"PH\",\"ID\",\"BR\",\"JP\"],\r\n    \"programmaticx\":[\"FR\",\"SG\",\"IL\",\"GB\",\"ID\",\"IN\",\"KR\",\"DE\",\"PH\",\"JP\"],\r\n    \"richaudience\":[\"IN\",\"GB\",\"CN\",\"PK\",\"DE\",\"BD\",\"BR\",\"ZA\",\"FR\",\"TW\"],\r\n    \"rise\":[\"FR\",\"SG\",\"IN\",\"GB\",\"DE\",\"ID\",\"AU\",\"PH\",\"KR\",\"CN\"],\r\n    \"rubicon\":[\"IL\",\"CA\",\"MY\",\"GH\",\"SG\",\"AU\",\"PR\",\"GB\",\"CN\",\"DE\"],\r\n    \"seedtag\":[\"CN\",\"PH\",\"NG\",\"IN\",\"NO\",\"AT\",\"MA\",\"DK\",\"MY\",\"CI\"],\r\n    \"sharethrough\":[\"FR\",\"SG\",\"IL\",\"GB\",\"DE\",\"BE\",\"CH\",\"BR\",\"NL\",\"IT\"],\r\n    \"smartadserver\":[\"US\",\"SO\",\"GB\",\"IL\",\"CA\",\"KE\",\"SE\",\"NO\",\"NL\",\"CN\"],\r\n    \"smilewanted\":[\"DE\",\"ID\",\"CN\",\"PH\",\"NL\",\"SE\",\"IT\",\"TH\",\"CH\",\"ES\"],\r\n    \"sovrn\":[\"NL\",\"SG\",\"IT\",\"CN\",\"ES\",\"SE\",\"VN\",\"MY\",\"NG\",\"MX\"],\r\n    \"sparteo\":[\"CN\",\"PK\",\"BD\",\"RO\",\"FI\",\"CZ\",\"DZ\",\"NO\",\"HU\",\"DK\"],\r\n    \"ssp_geniee\":[\"IL\",\"GB\",\"DE\",\"NL\",\"ID\",\"IN\",\"KR\",\"IT\",\"CN\",\"ZA\"],\r\n    \"teads\":[\"CN\",\"CA\",\"SG\",\"IL\",\"AU\",\"GB\",\"FR\",\"TH\",\"DE\",\"PH\"],\r\n    \"underdogmedia\":[\"SO\",\"US\",\"CA\",\"ZA\",\"undefined\"],\r\n    \"unruly\":[\"IN\",\"ID\",\"DE\",\"AU\",\"PH\",\"KR\",\"CN\",\"SG\",\"TH\",\"JP\"],\r\n    \"vidazoo\":[\"FR\",\"SG\",\"GB\",\"IN\",\"ID\",\"DE\",\"PH\",\"CN\",\"SO\",\"TH\"],\r\n    \"yandex\":[\"IL\",\"US\",\"CA\",\"DE\",\"UA\",\"AU\",\"GB\",\"BG\",\"KZ\",\"LV\"],\r\n  });\r\n\r\n  const country = await getCountry();\r\n\r\n  const isBidderAllowed = ({ bidder }) => {\r\n    const name = bidder?.toLowerCase().replace(/s2s$/, '');\r\n    const whiteOk = !biddersWhiteList[name] || biddersWhiteList[name].includes(country);\r\n    const blackOk = !biddersBlackList[name] || !biddersBlackList[name].includes(country);\r\n    return whiteOk && blackOk;\r\n  };\r\n\r\n  const bidders = [\r\n    \r\n    {bidder: \"amx\", params: {tagId: \"YWRuaW1hdGlvbi5jb20\"}},\r\n    {bidder: \"amxS2S\", params: {tagId: \"9k5RSyLDj\"}},    \r\n    {bidder:'onetag',params:{pubId:'62d98ebd4882fb0'}},\r\n    {bidder:'msft',params:{placement_id:38120523}},\r\n    {bidder:'smilewanted',params:{zoneId:'adnimation.com_hb_display'}},\r\n    {bidder:'contxtful',params:{placementId:'p101162'}},\r\n    {bidder:'magnite',params:{accountId:'24664',siteId:'649389',zoneId:'4198459'}},\r\n    {bidder:'msftS2S',params:{placement_id:38120524}},\r\n    {bidder:'magniteS2S',params:{accountId:'24664',siteId:'649389',zoneId:'4198461'}},\r\n    {bidder: 'rise', params: {org: '67dae7b0eee76c00011b7cab'}},\r\n    {bidder: 'riseS2S', params: {org: '67dae7b0eee76c00011b7cab'}},  \r\n    {bidder: \"sparteo\", params: { networkId: \"2b124411-dc3b-4083-998e-84c8175f32cf\" } },   \r\n    {bidder: 'kueezrtb', params: {cId: \"6a65f8380f25807eddc2e3c2\", pId: '65lk7c192882r0011813fn9'}},\r\n    {bidder: 'kueezrtbS2S', params: {cId: \"6a65f8550f25807eddc2e3cf\", pId: '65lk7c192882r0011813fn9'}},    \r\n    {bidder: \"medianet\", params: {cid: \"8CUAID4GW\", crid: \"788465678\"}},\r\n    {bidder: \"medianetS2S\", params: {cid: \"8CUAID4GW\", crid: \"788465678\"}},           \r\n    \r\n    ]; //.filter(isBidderAllowed);\r\n\r\n  const bidderSettings = Object.freeze({\r\n    \"33across\": { \"storageAllowed\": true },\r\n    \"adagio\": { \"storageAllowed\": true },\r\n    \"adnimation\": { \"storageAllowed\": true },\r\n    \"adyoulike\": { \"storageAllowed\": true },\r\n    \"amx\": { \"storageAllowed\": true },\r\n    \"anyclip\": { \"storageAllowed\": true },\r\n    \"appnexus\": { \"storageAllowed\": true },\r\n    \"contxtful\": { \"storageAllowed\": true },\r\n    \"conversant\": { \"storageAllowed\": true },\r\n    \"criteo\": { \"storageAllowed\": true },\r\n    \"exco\": { \"storageAllowed\": true },\r\n    \"fluct\": { \"storageAllowed\": true },\r\n    \"gamoshi\": { \"storageAllowed\": true },\r\n    \"ix\": { \"storageAllowed\": true },\r\n    \"kueezrtb\": { \"storageAllowed\": true },\r\n    \"magnite\": { \"storageAllowed\": true },\r\n    \"medianet\": { \"storageAllowed\": true },\r\n    \"msft\": { \"storageAllowed\": true },\r\n    \"oms\": { \"storageAllowed\": true },\r\n    \"onetag\": { \"storageAllowed\": true },\r\n    \"openx\": { \"storageAllowed\": true },\r\n    \"pixfuture\": { \"storageAllowed\": true },\r\n    \"programmaticx\": { \"storageAllowed\": true },\r\n    \"pubmatic\": { \"storageAllowed\": true },\r\n    \"richaudience\": { \"storageAllowed\": true },\r\n    \"rise\": { \"storageAllowed\": true },\r\n    \"rubicon\": { \"storageAllowed\": true },\r\n    \"seedtag\": { \"storageAllowed\": true },\r\n    \"sharethrough\": { \"storageAllowed\": true },\r\n    \"smartadserver\": { \"storageAllowed\": true },\r\n    \"smilewanted\": { \"storageAllowed\": true },\r\n    \"sonobi\": { \"storageAllowed\": true },\r\n    \"sovrn\": { \"storageAllowed\": true },\r\n    \"sparteo\": { \"storageAllowed\": true },\r\n    \"ssp_geniee\": { \"storageAllowed\": true },\r\n    \"taboola\": { \"storageAllowed\": true },\r\n    \"teads\": { \"storageAllowed\": true },\r\n    \"underdogmedia\": { \"storageAllowed\": true },\r\n    \"unruly\": { \"storageAllowed\": true },\r\n    \"vidazoo\": { \"storageAllowed\": true },\r\n    \"yandex\": { \"storageAllowed\": true },\r\n  });\r\n\r\n  const bidderNames = bidders.filter(({bidder}) => !bidder.endsWith('S2S')).map(({bidder}) => bidder);\r\n  const s2sBidders = bidders.filter(({bidder}) => bidder.endsWith('S2S')).map(({bidder}) => bidder);\r\n  const s2sAliases = Object.fromEntries(s2sBidders.map(bidder => [bidder, bidder.slice(0, -3)]));\r\n\r\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({\r\n    's2sConfig': {\r\n      'enabled': true,\r\n      'accountId': '1001',\r\n      'bidders': s2sBidders,\r\n      'endpoint': 'https://adnpbs.com/openrtb2/auction',\r\n      'syncEndpoint': 'https://adnpbs.com/cookie_sync',\r\n      'timeout': 1500,\r\n      'extPrebid': {\r\n        'aliases': s2sAliases\r\n      }\r\n    },\r\n    'priceGranularity': 'high',\r\n    'currency': {\r\n        'adServerCurrency': 'USD',\r\n        'conversionRateFile': 'https://cdn.jsdelivr.net/gh/prebid/currency-file@1/latest.json',\r\n        'defaultRates': {\r\n        'USD': { 'EUR': 0.92, 'USD': 1 },\r\n        'EUR': { 'USD': 1.09, 'EUR': 1 }\r\n        },\r\n        'ratesTTL': 3600000\r\n    },\r\n    'floors': {\r\n      'enforcement': {\r\n        'enforceJS': true,\r\n        'enforcePBS': true,\r\n        'floorDeals': true,\r\n        'bidAdjustment': true\r\n      },\r\n      'data': {\r\n        'currency': 'USD',\r\n        'skipRate': 0,\r\n        'schema': {\r\n          'fields': [\r\n            'mediaType'\r\n          ]\r\n        },\r\n        'values': {\r\n          'banner': 0.01,\r\n          'native': 0.01,\r\n          'video': 0.01\r\n        },\r\n        'default': 0.01\r\n      }\r\n    },\r\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    },\r\n    'useBidCache': true,\r\n    'schain': {\r\n      'validation': 'strict',\r\n      'config': {\r\n        'ver': '1.0',\r\n        'complete': 1,\r\n        'nodes': [\r\n          {\r\n            'asi': 'adnimation.com',\r\n            'sid': '20250105',\r\n            'hp': 1\r\n          }\r\n        ]\r\n      }\r\n    },\r\n    'userSync': {\r\n      'iframeEnabled': true,\r\n      'filterSettings': {\r\n        'iframe': {\r\n          'bidders': bidderNames,\r\n          'filter': 'include'\r\n        }\r\n      },\r\n      'userIds': [\r\n        {\r\n          'name': 'sharedId',\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': '_pubcid',\r\n            'expires': 365\r\n          }\r\n        },\r\n        {\r\n          'name': 'identityLink',\r\n          'params': {\r\n            'pid': '13346'\r\n          },\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': 'idl_env',\r\n            'expires': 30\r\n          }\r\n        },\r\n        {\r\n          'name': 'id5Id',\r\n          'params': {\r\n            'partner': 1262\r\n          },\r\n          'storage': {\r\n            'type': 'html5',\r\n            'name': 'id5id',\r\n            'expires': 90,\r\n            'refreshInSeconds': 28800\r\n          }\r\n        },\r\n        {\r\n          'name': '33acrossId',\r\n          'params': {\r\n            'pid': '0010b00002KBtyLAAT'\r\n          },\r\n          'storage': {\r\n            'name': '33acrossId',\r\n            'type': 'html5',\r\n            'expires': 90,\r\n            'refreshInSeconds': 28800\r\n          }\r\n        }\r\n      ]\r\n    },\r\n    'ix': {\r\n      'detectMissingSizes': true\r\n    },\r\n    'aliasSyncEnabled': true,\r\n    'auctionOptions': {\r\n      'suppressStaleRender': true\r\n    },\r\n    'contxtful': {\r\n      'version': 'v1',\r\n      'customer': 'ADNP250319'\r\n    },\r\n    'realTimeData': {\r\n      'dataProviders': [\r\n        {\r\n          'name': 'contxtful',\r\n          'waitForIt': true,\r\n          'params': {\r\n            'version': 'v1',\r\n            'customer': 'ADNP250319',\r\n            'bidders': [\r\n              'contxtful'\r\n            ],\r\n            'adServerTargeting': true\r\n          }\r\n        }\r\n      ]\r\n    }\r\n  });\r\n\r\n  // ----------------------------------------------\r\n  // Placeholders\r\n  // ----------------------------------------------\r\n\r\n\r\n\r\n  // Google Tag\r\n  window.googletag = window.googletag || {};\r\n  window.googletag.cmd = window.googletag.cmd || [];\r\n  // Manage refresh of viewable ads\r\n  window.googletag.cmd.push(() =>\r\n    window.googletag.pubads().addEventListener(\r\n      'impressionViewable', onImpressionViewable));\r\n  // Log time to first ad\r\n  window.googletag.cmd.push(() =>\r\n    window.googletag.pubads().addEventListener(\r\n      'slotRenderEnded', onFirstAdVisible));\r\n  // Visually collapse unfilled slots\r\n  window.googletag.cmd.push(() =>\r\n    window.googletag.setConfig({ collapseDiv: 'ON_NO_FILL' }));\r\n\r\n  // Google Analytics\r\n  window.dataLayer = window.dataLayer || [];\r\n  function gtag() {\r\n    window.dataLayer.push(arguments);\r\n  }\r\n\r\n  // Taboola\r\n  window._taboola = window._taboola || [];\r\n\r\n  // ----------------------------------------------\r\n  // Constants\r\n  // ----------------------------------------------\r\n\r\n  const GA_ID = 'G-4R97X14KD4';\r\n  const APS_TIMEOUT_MS = 2000;\r\n  const PREBID_TIMEOUT_MS = 1800;\r\n\r\n  // ----------------------------------------------\r\n  // Scripts\r\n  // ----------------------------------------------\r\n\r\n  function createScript(src, preCreate = () => {}) {\r\n    return new Promise((resolve) => {\r\n      let scriptEl = document.querySelector(`script[src=\"${src}\"]`);\r\n\r\n      if (scriptEl) {\r\n        console.warn('Script already exists:', src);\r\n        resolve(false);\r\n        return;\r\n      }\r\n\r\n      const attemptLoad = () => {\r\n        scriptEl = document.createElement('script');\r\n        scriptEl.src = src;\r\n        scriptEl.fetchPriority = 'high';\r\n        preCreate(scriptEl);\r\n        scriptEl.async = !scriptEl.defer;\r\n        scriptEl.addEventListener('load', () => resolve(true));\r\n        scriptEl.addEventListener('error', () => {\r\n          console.warn('Retrying to load script:', src);\r\n          scriptEl.remove();\r\n          setTimeout(attemptLoad, 100);\r\n        });\r\n        document.head.appendChild(scriptEl);\r\n      };\r\n\r\n      attemptLoad();\r\n    });\r\n  }\r\n\r\n  // Don't initialize anything if page URL is blacklisted\r\n  if (isBlacklistedUrl()) {\r\n    throw 'Skipping...';\r\n  }\r\n\r\n const scriptsToLoad = [];\r\n  scriptsToLoad.push(createScript('https://cadmus.script.ac/d3svkhbhkz2i0f/script.js'));\r\n\r\n  Promise.all(scriptsToLoad)\r\n    .then(config)\r\n    .then(main)\r\n    .catch((err) => console.error('Failed to bootstrap scripts:', err));\r\n\r\n  // Vidazoo video ads\r\n  createScript('https://static.vidazoo.com/basev/vwpt.js', (scriptEl) => {\r\n    scriptEl.setAttribute('data-widget-id', '65e9b79ebdb3a9c5732bbae8');\r\n  });\r\n\r\n  // Google Analytics\r\n  createScript(`https://www.googletagmanager.com/gtag/js?id=${GA_ID}`);\r\n\r\n  // KueezRTB cookieless solution\r\n  createScript('https://static.kueezrtb.com/latest.js', (scriptEl) => {\r\n    scriptEl.setAttribute('data-cfasync', 'false');\r\n    scriptEl.id = 'kueezrtb_latest';\r\n  });\r\n\r\n  class LazyLoader {\r\n    constructor(margin = '100px') {\r\n      this.observer = new IntersectionObserver(this.onIntersect, {\r\n        rootMargin: margin\r\n      });\r\n    }\r\n\r\n    onIntersect = (entries) => {\r\n      entries.forEach((entry) => {\r\n        if (entry.isIntersecting) {\r\n          const cb = entry.target.dataset.lazyCallback;\r\n          if (cb && window[cb]) {\r\n            window[cb](entry.target);\r\n            delete window[cb];\r\n          }\r\n          this.observer.unobserve(entry.target);\r\n        }\r\n      });\r\n    };\r\n\r\n    add(element, callback) {\r\n      if (!element || typeof callback !== 'function') return;\r\n      if (element.getBoundingClientRect().top < window.innerHeight) {\r\n        callback(element);\r\n      } else {\r\n        const cbName = 'lazy_cb_' + Math.random().toString(36).slice(2);\r\n        window[cbName] = callback;\r\n        element.dataset.lazyCallback = cbName;\r\n        this.observer.observe(element);\r\n      }\r\n    }\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // App\r\n  // ----------------------------------------------\r\n\r\n  const adUnits = [];\r\n  const slotsMap = [];\r\n  const lazyLoader = new LazyLoader();\r\n  const activeSlotIds = [];\r\n  const newPbjsAdUnits = [];\r\n  const viewportType =\r\n    window.screen.width > 1525\r\n      ? 'desktop'\r\n      : window.screen.width > 730\r\n        ? 'tablet'\r\n        : 'mobile';\r\n\r\n  /**\r\n   * Main entry point of our tag.\r\n   */\r\n  async function main() {\r\n    const isOk = await createScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js');\r\n    if (isOk) {\r\n      console.log('Starting...');\r\n    }\r\n  }\r\n\r\n  function config() {\r\n    console.log('Configuring...');\r\n    initGa();\r\n    initIiq();\r\n  }\r\n\r\n  function initGa() {\r\n    window.googletag.cmd.push(() => {\r\n      const handleSlotRenderEnded = () => {\r\n        gtag('js', new Date());\r\n        gtag('config', GA_ID);\r\n\r\n        googletag.pubads().removeEventListener('slotRenderEnded', handleSlotRenderEnded);\r\n      };\r\n      googletag.pubads().addEventListener('slotRenderEnded', handleSlotRenderEnded);\r\n    });\r\n  }\r\n\r\n  function initIiq() {\r\n    if (!window.IntentIqObject) {\r\n      console.log('IIQ not found - skipping initialization');\r\n      return;\r\n    }\r\n\r\n    try {\r\n      // Configure IntentIQ\r\n      window.intentIq_2072952453 = new IntentIqObject({\r\n        partner: 2072952453,\r\n        pbjs: adnpbjs,\r\n        callback: main,\r\n        timeoutInMillis: PREBID_TIMEOUT_MS,\r\n        ABTestingConfigurationSource: 'IIQServer',\r\n        manualWinReportEnabled: true,\r\n        domainName: window.location.host,\r\n        vrBrowserBlackList: ['chrome'],\r\n        gamParameterName: 'googletag', // Optional\r\n      });\r\n\r\n      adnpbjs.onEvent('bidWon', (data) => {\r\n        window.intentIq_2072952453.reportExternalWin({\r\n          biddingPlatformId: 1, // PreBid\r\n          partnerAuctionId: data.auctionId,\r\n          bidderCode: data.bidderCode,\r\n          prebidAuctionId: data.auctionId,\r\n          cpm: data.cpm,\r\n          currency: 'USD',\r\n          originalCpm: data.originalCpm,\r\n          originalCurrency: 'USD',\r\n          status: data.status,\r\n          placementId: data.adUnitCode\r\n        });\r\n      });\r\n\r\n    } catch (err) {\r\n      console.error('Failed to initialize IntentIQ:', err);\r\n      throw err;\r\n    }\r\n  }\r\n\r\n  function initAds() {\r\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\r\n    adsEl.forEach(slotEl => createAd(slotEl.dataset.adpath));\r\n  }\r\n\r\n  function onImpressionViewable(event) {\r\n    const { slot } = event;\r\n    const slotId = slot.getSlotElementId();\r\n    if (!activeSlotIds.includes(slotId)) {\r\n      return;\r\n    }\r\n\r\n    const adUnitPath = slot.getAdUnitPath();\r\n    const adUnit = adsConfig[adUnitPath];\r\n    const timeoutMs = adUnit.refreshTime;\r\n\r\n    setTimeout(() => refreshAd(slot, slotId, adUnit), timeoutMs);\r\n  }\r\n\r\n  let firstAdLogged = false;\r\n  function onFirstAdVisible(event) {\r\n    if (!event.isEmpty && !firstAdLogged) {\r\n      console.log('Time to first ad:', performance.now(), 'ms');\r\n      firstAdLogged = true;\r\n      googletag.pubads().removeEventListener('slotRenderEnded', onFirstAdVisible);\r\n    }\r\n  }\r\n\r\n  function collectAds() {\r\n    adUnits.length = 0;\r\n\r\n    const adsEl = document.querySelectorAll('[data-onpage=\"true\"]');\r\n    if (!adsEl.length) {\r\n      console.warn('No ads found to collect');\r\n      return;\r\n    }\r\n\r\n    adsEl.forEach((slotEl) => {\r\n      const adPath = slotEl.dataset.adpath;\r\n      const slot = adsConfig[adPath];\r\n      const slotId = slot?.id;\r\n      const sizes = slot?.sizeMapping[viewportType];\r\n\r\n      if (!sizes?.length) {\r\n        console.warn(\r\n          'Failed to find slot sizes for viewport - bids will be affected for',\r\n          viewportType, slotId\r\n        );\r\n        return;\r\n      }\r\n\r\n      const slotBidders = [...bidders];\r\n        const tagMap = {\r\n            ATF: \"ATF\",\r\n            Content: \"Content\",\r\n            BTF: \"BTF\",\r\n            Side: \"Side\",\r\n            SideATF: \"SideATF\",\r\n            Sticky: \"Sticky\"\r\n        };\r\n\r\n        slotBidders.push({\r\n            bidder: \"taboola\",\r\n            params: {\r\n                tagId: tagMap[slot.position] || \"ROS\",\r\n                publisherId: \"2089238\"\r\n            }\r\n        });\r\n      const STANDARD_SIZES = {\r\n        desktop: [\r\n          [1, 1],\r\n          [728, 90],\r\n          [970, 90],\r\n          [970, 250],\r\n          [300, 250],\r\n          [300, 600],\r\n          [160, 600],\r\n          [336, 280],\r\n          [320, 50],\r\n          [320, 100],\r\n        ],\r\n        tablet: [\r\n          [1, 1],\r\n          [728, 90],\r\n          [300, 250],\r\n          [300, 600],\r\n          [160, 600],\r\n          [336, 280],\r\n        ],\r\n        mobile: [\r\n          [1, 1],\r\n          [320, 50],\r\n          [320, 100],\r\n          [300, 250],\r\n          [336, 280],\r\n          [360, 360],\r\n        ]\r\n      };\r\n\r\n      const hasOnlyStandardSizes = (size) => {\r\n        const sizes = [size];\r\n        const standardSizes = STANDARD_SIZES[viewportType] || [];\r\n        const isNative = (w, h) => w === 1 && h === 2;\r\n\r\n        return sizes.every(size => {\r\n          if (Array.isArray(size)) {\r\n            const [w, h] = size;\r\n            return isNative(w, h)\r\n              ? true\r\n              : standardSizes.some(([sw, sh]) => sw === w && sh === h);\r\n          }\r\n          return false;\r\n        });\r\n      }\r\n\r\n      const prebidSizes = sizes.filter(hasOnlyStandardSizes);\r\n\r\n      if (!prebidSizes.length) {\r\n        console.log('No Prebid sizes for', slotId);\r\n\r\n      } else {\r\n        adUnits.push({\r\n          bids: slotBidders,\r\n          code: slotId,\r\n          mediaTypes: {\r\n            banner: {\r\n              sizes: prebidSizes\r\n            }\r\n          }\r\n        });\r\n      }\r\n    });\r\n\r\n    newPbjsAdUnits.length = 0;\r\n    newPbjsAdUnits.push(...adUnits);\r\n\r\n    window.adnpbjs.que.push(() => {\r\n      window.adnpbjs.bidderSettings = bidderSettings;\r\n      window.adnpbjs.setConfig(pbjsConfig);\r\n      window.adnpbjs.setBidderConfig({\r\n        bidders: ['sparteo'],\r\n        config: {\r\n          ortb2: {\r\n            source: {\r\n              ext: {\r\n                schain: {\r\n                  ver: \"1.0\",\r\n                  complete: 1,\r\n                  nodes: [{\r\n                    asi: \"zerodegreeads.com\",\r\n                    sid: \"42025PPP5\",\r\n                    hp: 1\r\n                  }]\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      });\r\n    });\r\n  }\r\n\r\n  function runApsBids(slotEl, resolve) {\r\n    const slotId = slotEl.id;\r\n    const adPath = slotEl.dataset.adpath;\r\n\r\n    const sizes = adsConfig[adPath].sizeMapping[viewportType];\r\n    if (!sizes.length) {\r\n      console.warn(\r\n        'Failed to find slot sizes for viewport - canceling APS bid for',\r\n        viewportType, slotId\r\n      );\r\n      resolve();\r\n      return;\r\n    }\r\n\r\n    const slots = [{\r\n      slotID: slotId,\r\n      slotName: adsConfig[adPath].id,\r\n      sizes\r\n    }];\r\n\r\n    window.apstag.fetchBids({ slots, timeout: APS_TIMEOUT_MS }, () => {\r\n      window.apstag.setDisplayBids();\r\n      resolve();\r\n    });\r\n  }\r\n\r\n  function runPrebidBids(slotEl, resolve) {\r\n    const slotId = slotEl.id;\r\n    window.adnpbjs.que.push(() =>\r\n      window.adnpbjs.requestBids({\r\n        timeout: PREBID_TIMEOUT_MS,\r\n        adUnitCodes: [slotId],\r\n        bidsBackHandler: () => {\r\n          window.adnpbjs.setTargetingForGPTAsync([slotId]);\r\n          resolve();\r\n        }\r\n      })\r\n    );\r\n  }\r\n\r\n  async function runBids(slotEl) {\r\n    \r\n    const slotId = slotEl.id;\r\n    const safeBids = (bidsFn) => Promise.race([\r\n      new Promise((resolve) => bidsFn(slotEl, resolve)),\r\n      new Promise((resolve) => setTimeout(resolve, 3000))\r\n    ]);\r\n    const pbjsBids = safeBids(runPrebidBids);\r\n    await Promise.allSettled([pbjsBids]);\r\n  }\r\n\r\n  async function createAdCmd(slotName) {\r\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\r\n    if (!slotEl) {\r\n      console.warn('Failed to find ad to create by id:', slotName);\r\n      return;\r\n    }\r\n\r\n    collectAds();\r\n\r\n    let adUnit = adsConfig[slotName];\r\n    if (!adUnit) {\r\n      console.warn('Failed to find ad with the following id:', slotName);\r\n      return;\r\n    }\r\n\r\n    const sizeMapping = googletag\r\n      .sizeMapping()\r\n      .addSize([980, 200], adUnit.sizeMapping.desktop)\r\n      .addSize([730, 200], adUnit.sizeMapping.tablet)\r\n      .addSize([0, 0], adUnit.sizeMapping.mobile)\r\n      .build();\r\n\r\n    const adPath = slotEl.dataset.adpath;\r\n    let refreshIteration = adsConfig[adPath].refreshIteration;\r\n    refreshIteration++;\r\n\r\n    const slot = googletag\r\n      .defineSlot(adUnit.id, adUnit.size)\r\n      .defineSizeMapping(sizeMapping)\r\n      .addService(window.googletag.pubads());\r\n\r\n    slot.setConfig({ targeting: { refreshIteration: refreshIteration.toString(), intent_iq_group: 'U' } });\r\n\r\n    slotEl.id = slot.getSlotElementId();\r\n\r\n    const pbjsAdUnit = newPbjsAdUnits.find(adUnit => adUnit.code === slotName);\r\n    if (pbjsAdUnit) {\r\n      pbjsAdUnit.code = slotEl.id;\r\n      window.adnpbjs.addAdUnits(pbjsAdUnit);\r\n    }\r\n\r\n    slotsMap[slotEl.id] = slot;\r\n    activeSlotIds.push(slotEl.id);\r\n\r\n    const init = async () => {\r\n      try {\r\n        await runBids(slotEl);\r\n        window.googletag.enableServices();\r\n        window.googletag.display(slotEl.id);\r\n        if (googletag.getConfig('disableInitialLoad').disableInitialLoad) {\r\n          window.googletag.pubads().refresh([slot]);\r\n        }\r\n      } catch (err) {\r\n        console.error('Failed to run bids for ad slot: %s, %s', slotEl.id, err);\r\n      }\r\n    };\r\n\r\n    const isLazyLoaded = adsConfig[adPath]?.isLazyLoaded !== false;\r\n    if (isLazyLoaded) {\r\n      lazyLoader.add(slotEl, init);\r\n    } else {\r\n      init();\r\n    }\r\n  }\r\n\r\n  async function refreshAd(slot, slotId, adUnit) {\r\n    try {\r\n      const adUnitToRefresh = googletag\r\n        .pubads()\r\n        .getSlots()\r\n        .filter((slot) => slot.getSlotElementId() === slotId)\r\n        .at(0);\r\n\r\n      if (!adUnitToRefresh) {\r\n        return;\r\n      }\r\n\r\n      adUnit.refreshIteration++;\r\n      slot.setConfig({ targeting: { refreshIteration: adUnit.refreshIteration.toString() } });\r\n\r\n      const slotEl = document.getElementById(adUnitToRefresh.getSlotElementId());\r\n      await runBids(slotEl);\r\n\r\n      window.googletag.pubads().refresh([slotsMap[slotEl.id]]);\r\n    } catch (err) {\r\n      console.error('Failed to refresh ad:', slotId, err.message);\r\n    }\r\n  }\r\n\r\n  function destroyAdCmd(slotName) {\r\n    const slotEl = document.querySelector(`[data-adpath=\"${slotName}\"]`);\r\n    if (!slotEl) {\r\n      console.warn('Failed to find ad to destroy by id:', slotName);\r\n      return;\r\n    }\r\n\r\n    const slotId = slotEl.id;\r\n    if (slotId && slotsMap[slotId]) {\r\n      window.googletag.destroySlots([slotsMap[slotId]]);\r\n      delete slotsMap[slotId];\r\n      const idx = activeSlotIds.indexOf(slotId);\r\n      if (idx > -1) {\r\n        activeSlotIds.splice(idx, 1);\r\n      }\r\n    }\r\n\r\n    slotEl.innerHTML = '';\r\n    slotEl.id = '';\r\n    slotEl.removeAttribute('data-onpage');\r\n    if (slotId.toLowerCase().includes('sticky_footer')) {\r\n        slotEl.parentElement.parentElement.remove();\r\n    }\r\n  }\r\n\r\n  function createNativeCmd() {\r\n    createScript('https://cdn.taboola.com/libtrc/adnimationnetwork/loader.js', (scriptEl) => {\r\n      scriptEl.id = 'tb_loader_script';\r\n      scriptEl.onload = () => {\r\n        window.performance?.mark?.('tbl_ic');\r\n      };\r\n    });\r\n\r\n    createScript('data:text/javascript;charset=utf-8,_taboola.push({flush:true})', (scriptEl) => {\r\n      scriptEl.setAttribute('data-taboola-flush', 'true');\r\n      scriptEl.defer = true;\r\n    });\r\n  }\r\n\r\n  function destroyNativeCmd() {\r\n    const footerEl = document.querySelector('.adn-footer');\r\n    if (footerEl) {\r\n      footerEl.innerHTML = '';\r\n    }\r\n  }\r\n\r\n  function createNative() {\r\n    window.googletag.cmd.push(createNativeCmd);\r\n  }\r\n\r\n  function destroyNative() {\r\n    window.googletag.cmd.push(destroyNativeCmd);\r\n  }\r\n\r\n  function createAd(slotName) {\r\n    window.googletag.cmd.push(() => createAdCmd(slotName));\r\n  }\r\n\r\n  function destroyAd(slotName) {\r\n    window.googletag.cmd.push(() => destroyAdCmd(slotName));\r\n  }\r\n\r\n  function createInterstitial() {\r\n    window.googletag.cmd.push(createInterstitialCmd);\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Exports\r\n  // ----------------------------------------------\r\n\r\n  window.adn = {\r\n    createAd,\r\n    destroyAd,\r\n    createNative,\r\n    destroyNative,\r\n    createInterstitial,\r\n  };\r\n\r\n  // ----------------------------------------------\r\n  // Utils\r\n  // ----------------------------------------------\r\n\r\n  async function getIpInfo() {\r\n    try {\r\n      const cached = localStorage.getItem('ipinfo');\r\n      if (cached) return JSON.parse(cached);\r\n      const key = '7c4d73767e64472ea502eacdbc47386b';\r\n      const url = `https://d2dvy74lyjayxz.cloudfront.net/?key=${key}`;\r\n      const res = await fetch(url);\r\n      if (!res.ok) throw new Error(`HTTP-${res.status}`);\r\n      const ipInfo = await res.json();\r\n      localStorage.setItem('ipinfo', JSON.stringify(ipInfo));\r\n      localStorage.removeItem('adngeo'); // Old version cleanup\r\n      return ipInfo;\r\n    } catch (err) {\r\n      console.error('Failed to get ip info:', err.message);\r\n      return null;\r\n    }\r\n  }\r\n\r\n  async function getCountry() {\r\n    const ipInfo = await getIpInfo();\r\n    return ipInfo?.country ?? 'US';\r\n  }\r\n\r\n  async function getPlatform() {\r\n    const ipInfo = await getIpInfo();\r\n    return ['ios','android','mobile','desktop'].find(k => ipInfo?.[k]) ?? 'desktop';\r\n  }\r\n\r\n  async function waitForElement(selector) {\r\n    let cnt = 0;\r\n    const timeout = 100;\r\n    const threshold = 3000 / timeout;\r\n    return new Promise((resolve) => {\r\n      let interval = setInterval(() => {\r\n        const el = document.querySelector(selector);\r\n        if (el) {\r\n          clearInterval(interval);\r\n          resolve(el);\r\n        }\r\n        if (++cnt === threshold) {\r\n          cnt = 0;\r\n          console.warn('Still waiting for selector:', selector);\r\n        }\r\n      }, timeout);\r\n    });\r\n  }\r\n\r\n  const onDomReady = (function() {\r\n    const callbacks = [];\r\n\r\n    document.addEventListener('DOMContentLoaded', () => {\r\n      callbacks.forEach((callback) => callback());\r\n      callbacks.length = 0;\r\n    });\r\n\r\n    const interval = setInterval(() => {\r\n      if (\r\n        document.readyState === 'complete' ||\r\n        document.readyState === 'interactive'\r\n      ) {\r\n        clearInterval(interval);\r\n        callbacks.forEach((callback) => callback());\r\n        callbacks.length = 0;\r\n      }\r\n    }, 100);\r\n\r\n    return (callback) => {\r\n      if (\r\n        document.readyState === 'complete' ||\r\n        document.readyState === 'interactive'\r\n      ) {\r\n        setTimeout(callback, 0);\r\n      } else {\r\n        callbacks.push(callback);\r\n      }\r\n    };\r\n  })();\r\n\r\n  // Find \"URL_PATHS_BLACKLIST\" under the \"Configuration\" section.\r\n  // There you can add any additional URL paths to blacklist.\r\n  function isBlacklistedUrl() {\r\n    const { pathname } = window.location;\r\n    const list = URL_PATHS_BLACKLIST ?? [];\r\n    const isBlacklisted = list.some((path) =>\r\n      path === '/' ? pathname === path : pathname.includes(path));\r\n    return isBlacklisted;\r\n  }\r\n\r\n  function observeSlots() {\r\n    const isVisible = (element) => {\r\n      const style = window.getComputedStyle(element);\r\n      const isDisplayed = style.display !== 'none';\r\n      const isVisible = style.visibility !== 'hidden';\r\n      return isDisplayed && isVisible;\r\n    };\r\n\r\n    const isStyleChanged = (mutation) =>\r\n      mutation.type === 'attributes' &&\r\n      (\r\n        mutation.attributeName === 'style' ||\r\n        mutation.attributeName === 'class'\r\n      );\r\n\r\n    const isVisibilityChanged = (mutation) => {\r\n      const oldStyle = mutation.oldValue || '';\r\n      const newStyle = mutation.target.getAttribute('style') || '';\r\n      const wasHidden = oldStyle.includes('hidden') || oldStyle.includes('none');\r\n      const isHidden = newStyle.includes('hidden') || newStyle.includes('none');\r\n      return wasHidden !== isHidden;\r\n    }\r\n\r\n    const handleAdded = (node) => {\r\n      const slot = node.getAttribute('data-adpath');\r\n      console.log('Added:', slot);\r\n      createAd(slot);\r\n    }\r\n\r\n    const handleRemoved = (node) => {\r\n      const slot = node.getAttribute('data-adpath');\r\n      console.log('Removed:', slot);\r\n      destroyAd(slot);\r\n    }\r\n\r\n    const isAdSlot = (node) => node.hasAttribute?.('data-adpath');\r\n\r\n    const getSlots = (nodeList) =>\r\n      Array.from(nodeList)\r\n        .filter((node) => node.nodeType === Node.ELEMENT_NODE)\r\n        .flatMap((node) => Array.from(node.querySelectorAll('[data-adpath]')).concat(node))\r\n        .filter(isAdSlot);\r\n\r\n    const handleMutations = (mutations) =>\r\n      mutations.forEach((mutation) => {\r\n        const addedNodes = getSlots(mutation.addedNodes);\r\n        const removedNodes = getSlots(mutation.removedNodes);\r\n\r\n        addedNodes.forEach(handleAdded);\r\n        removedNodes.forEach(handleRemoved);\r\n\r\n        if (\r\n          !addedNodes.includes(mutation.target) &&\r\n          !removedNodes.includes(mutation.target) &&\r\n          isStyleChanged(mutation) &&\r\n          isVisibilityChanged(mutation)\r\n        ) {\r\n          const childNodes = getSlots(mutation.target);\r\n          childNodes.forEach((node) => {\r\n            if (isVisible(node)) {\r\n              handleAdded(node);\r\n            } else {\r\n              handleRemoved(node);\r\n            }\r\n          });\r\n        }\r\n      });\r\n\r\n    const config = {\r\n      subtree: true,\r\n      childList: true,\r\n      attributes: true,\r\n      attributeFilter: ['style', 'class'],\r\n      attributeOldValue: true\r\n    };\r\n\r\n    const observer = new MutationObserver(handleMutations);\r\n    observer.observe(document, config);\r\n  }\r\n\r\n  // ----------------------------------------------\r\n  // Custom\r\n  // ----------------------------------------------\r\n\r\n  function createInterstitialCmd() {\r\n  \r\n  const slot = window.googletag.defineOutOfPageSlot(\r\n    '/25671928/lankasrinews.story/interstitial', window.googletag.enums.OutOfPageFormat.INTERSTITIAL);\r\n\r\n  if (!slot) {\r\n    console.error('Failed to define out of page slot - Interstitial');\r\n    return;\r\n  }\r\n\r\n  slot.addService(window.googletag.pubads());\r\n  window.googletag.enableServices();\r\n  window.googletag.display(slot);\r\n  \r\n}\r\n\r\nfunction createStickyBanner() {\r\n\r\n  const addCloseButton = (stickyBannerSizeDiv) => {\r\n    const el = document.createElement('div');\r\n    el.innerText = 'වසන්න';\r\n    el.style.position = 'absolute';\r\n    el.style.top = '-20px';\r\n    el.style.right = '0px';\r\n    el.style.height = '20px';\r\n    el.style.width = '50px';\r\n    el.style.color = 'white';\r\n    el.style.borderRadius = '2px';\r\n    el.style.backgroundColor = '#996d2e';\r\n    el.style.cursor = 'pointer';\r\n    el.style.fontSize = '14px';\r\n    el.style.textAlign = 'center';\r\n    el.classList.add('closeButton');\r\n    el.onclick = function () {\r\n      this.parentElement.remove();\r\n    };\r\n    stickyBannerSizeDiv.append(el);\r\n  };\r\n\r\n  const stickyBannerParent = document.createElement('div');\r\n  stickyBannerParent.classList.add('adnSticky');\r\n  stickyBannerParent.style.position = 'fixed';\r\n  stickyBannerParent.style.display = 'flex';\r\n  stickyBannerParent.style.justifyContent = 'space-evenly';\r\n\r\n  // ✅ Desktop always 0px\r\n  // ✅ Mobile: if URL contains \"article\" => 81px, else 0px\r\n  const isMobile = window.innerWidth < 768;\r\n  stickyBannerParent.style.bottom =\r\n    (isMobile && window.location.href.includes('article')) ? '81px' : '0px';\r\n\r\n  stickyBannerParent.style.width = '100%';\r\n  stickyBannerParent.style.backgroundColor = 'transparent';\r\n  stickyBannerParent.style.zIndex = '9999999999';\r\n\r\n  const stickyBannerSizeDiv = document.createElement('div');\r\n  stickyBannerSizeDiv.style.position = 'relative';\r\n\r\n  const stickyBanner = document.createElement('div');\r\n  stickyBanner.dataset.onpage = !0;\r\n  stickyBanner.dataset.adpath = '/25671928/lankasrinews.sticky_footer';\r\n\r\n  stickyBannerSizeDiv.append(stickyBanner);\r\n  stickyBannerParent.append(stickyBannerSizeDiv);\r\n  document.getElementsByTagName('body')[0].append(stickyBannerParent);\r\n\r\n  let flag = true;\r\n  googletag.cmd.push(() => {\r\n    googletag.pubads().addEventListener('slotRenderEnded', (event) => {\r\n      if (\r\n        event.slot.getSlotElementId().includes('sticky_footer') &&\r\n        !event.isEmpty && flag\r\n      ) {\r\n        flag = false;\r\n        addCloseButton(stickyBannerSizeDiv);\r\n      }\r\n    });\r\n    googletag.enableServices();\r\n  });\r\n\r\n}\r\n\r\nfunction addBannerHeaderUnit() {\r\n  \r\n  const el = document.createElement('div');\r\n  el.dataset.onpage = true;\r\n  el.dataset.adpath = '/25671928/lankasrinews.banner/header';\r\n  el.style.textAlign = 'center';\r\n  el.style.marginTop = '40px';\r\n  el.style.marginBottom = '40px';\r\n  el.style.minHeight = '250px';\r\n    //el.style.backgroundColor = 'green';\r\n  const pArr = document.querySelectorAll('body > .landing.fixed-nav.main-wrapper > .container > .section.blurb.llb-blurb')[0];\r\n  pArr.appendChild(el.cloneNode(true), pArr);\r\n  \r\n}\r\n\r\nfunction addBannerhHmeMiddleUnit() {\r\n  \r\n  const el = document.createElement('div');\r\n  el.dataset.onpage = true;\r\n  el.dataset.adpath = '/25671928/lankasrinews.banner/home-middle';\r\n  el.style.textAlign = 'center';\r\n  el.style.marginTop = '40px';\r\n  el.style.marginBottom = '40px';\r\n  el.style.minHeight = '250px';\r\n    //el.style.backgroundColor = 'green';\r\n  const pArr = document.querySelectorAll('body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-9-custom.col-12.sb-sticky > div > div > div.section.blurb.llb-blurb')[0];\r\n  pArr.appendChild(el.cloneNode(true), pArr);\r\n  \r\n}\r\n\r\nfunction addBannerStickyLeftUnits() {\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/lankasrinews.banner/sticky-left';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.sticky-blurb > div > div:nth-child(1)'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n\r\n    // Append the ad *inside* the selector\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addBannerStickyRightUnits() {\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/lankasrinews.banner/sticky-right';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.sticky-blurb > div > div.col-xl-3.offset-xl-6.d-xl-block.d-none.d-lg-none.d-md-none'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n\r\n    // Append the ad *inside* the selector\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addBannerRightTopUnits() {\r\n\r\n    const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/right-top';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-3-custom.sb-sticky.d-none.d-md-none.d-lg-block > div > div > div:nth-child(1) > div'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addBannerRightMiddleUnits() {\r\n\r\n    const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/right-middle';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-3-custom.sb-sticky.d-none.d-md-none.d-lg-block > div > div > div:nth-child(3) > div.rsba-sec > div.blurb.my-3'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\n// Home page only\r\nfunction addBannerFeedPreloadHPUnits() {\r\n\r\n  // Home page only\r\n  if (window.location.pathname !== '/' && window.location.pathname !== '') return;\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/feed-preload';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-9-custom.col-12.sb-sticky > div > div > div:nth-child(7) > div:nth-child(2)'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addTextFeedPreloadHPUnits() {\r\n\r\n  // Home page only\r\n  if (window.location.pathname !== '/' && window.location.pathname !== '') return;\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.text/feed-preload';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-9-custom.col-12.sb-sticky > div > div > div:nth-child(7) > div:nth-child(4)'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addBannerFeedInfiniteHPUnits() {\r\n\r\n  // Home page only\r\n  if (window.location.pathname !== '/' && window.location.pathname !== '') return;\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/feed-infinite';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-9-custom.col-12.sb-sticky > div > div > div:nth-child(7) > div:nth-child(6)'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addtextFeedInfiniteHPUnits() {\r\n\r\n  // Home page only\r\n  if (window.location.pathname !== '/' && window.location.pathname !== '') return;\r\n\r\n  const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.text/feed-infinite';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div > div.col-md-9-custom.col-12.sb-sticky > div > div > div:nth-child(7) > div:nth-child(8)'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\n// category page banners\r\n\r\nfunction addBannerRightTopCatUnits() {\r\n\r\n    const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/right-top';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div.col-md-3-custom.d-none.d-md-none.d-lg-block.sb-sticky > div > div > div:nth-child(1) > div'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\nfunction addBannerRightMiddleCatUnits() {\r\n\r\n    const template = document.createElement('div');\r\n  template.dataset.onpage = true;\r\n  template.dataset.adpath = '/25671928/lankasrinews.banner/right-middle';\r\n  template.style.textAlign = 'center';\r\n  template.style.marginTop = '40px';\r\n  template.style.marginBottom = '40px';\r\n  template.style.minHeight = '250px';\r\n  // template.style.backgroundColor = 'pink';\r\n\r\n  const newsBlocks = document.querySelectorAll(\r\n    'body > div.landing.fixed-nav.main-wrapper > div.container > div:nth-child(4) > div > div.col-md-3-custom.d-none.d-md-none.d-lg-block.sb-sticky > div > div > div:nth-child(3) > div.rsba-sec > div.blurb.my-3'\r\n  );\r\n\r\n  newsBlocks.forEach(block => {\r\n    const ad = template.cloneNode(true);\r\n    block.appendChild(ad);\r\n  });\r\n}\r\n\r\n\r\n// ==========================================\r\n// 1. Text Feed Preload Category Unit (/news/ pages)\r\n// ==========================================\r\n(function injectTextFeedPreloadCategoryUnits() {\r\n  function tryInject() {\r\n    if (!window.location.pathname.includes('/news/') && !window.location.href.includes('/news/')) {\r\n      return false;\r\n    }\r\n\r\n    const target = document.querySelectorAll('.mfc-article-section > div:nth-child(1)')[0];\r\n    const slotId = 'injected_div_text_feed_preload';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.text/feed-preload';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '100px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.text/feed-preload',\r\n          ['fluid', [300, 250]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 2. Text Feed Infinite Category Unit (/news/ pages)\r\n// ==========================================\r\n(function injectTextFeedInfiniteCategoryUnits() {\r\n  function tryInject() {\r\n    if (!window.location.pathname.includes('/news/') && !window.location.href.includes('/news/')) {\r\n      return false;\r\n    }\r\n\r\n    const target = document.querySelectorAll('.mfc-article-section > div:nth-child(7)')[0];\r\n    const slotId = 'injected_div_text_feed_infinite';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.text/feed-infinite';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '100px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.text/feed-infinite',\r\n          ['fluid', [300, 250]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 3. Banner Feed Preload Category Unit (/news/ pages)\r\n// ==========================================\r\n(function injectBannerFeedPreloadCategoryUnits() {\r\n  function tryInject() {\r\n    if (!window.location.pathname.includes('/news/') && !window.location.href.includes('/news/')) {\r\n      return false;\r\n    }\r\n\r\n    const target = document.querySelectorAll('.mfc-article-section > div:nth-child(13)')[0];\r\n    const slotId = 'injected_div_banner_feed_preload';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/feed-preload';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '100px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/feed-preload',\r\n          [[300, 250], [336, 280], [728, 90]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 4. Banner Feed Infinite Category Unit (/news/ pages)\r\n// ==========================================\r\n(function injectBannerFeedInfiniteCategoryUnits() {\r\n  function tryInject() {\r\n    if (!window.location.pathname.includes('/news/') && !window.location.href.includes('/news/')) {\r\n      return false;\r\n    }\r\n\r\n    const target = document.querySelectorAll('.mfc-article-section > div:nth-child(19)')[0];\r\n    const slotId = 'injected_div_banner_feed_infinite';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/feed-infinite';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '100px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/feed-infinite',\r\n          [[300, 250], [336, 280], [728, 90]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n\r\n// article page banners\r\n\r\n(function addBannerViewInnerArticleUnits() {\r\n  function tryInject() {\r\n    // Check path inside the function so SPA route changes don't bypass execution\r\n    if (!window.location.pathname.includes('/article/') && !window.location.href.includes('/article/')) {\r\n      return false;\r\n    }\r\n\r\n    const pArr = document.querySelectorAll('#read-wrap .ds-content-blurb')[0] \r\n              || document.querySelectorAll('#div-gpt-ad-nl-dvb-bfa-at')[0];\r\n\r\n    const slotId = 'injected_div_view_inner';\r\n\r\n    if (pArr) {\r\n      // Avoid duplicate injections\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/view-inner';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '250px';\r\n\r\n      pArr.appendChild(el);\r\n\r\n      // Force Google Publisher Tags to define and display the newly added slot\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/view-inner',\r\n          [[336, 280], [300, 250]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) {\r\n            googletag.pubads().refresh([slot]);\r\n          }\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  // 1. Try immediately\r\n  if (tryInject()) return;\r\n\r\n  // 2. Poll every 100ms for up to 10 seconds to catch late DOM additions\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) {\r\n      clearInterval(interval);\r\n    }\r\n  }, 100);\r\n})();\r\n\r\n// ==========================================\r\n// 1. Right Top Banner Unit\r\n// ==========================================\r\n(function injectRightTopBanner() {\r\n  function tryInject() {\r\n    const target = document.querySelectorAll('#div-gpt-ad-nl-rsb-top-pt')[0] \r\n                || document.querySelectorAll('.rsb-sections .rsb-sec-items .blurb')[0];\r\n\r\n    const slotId = 'injected_div_right_top';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/right-top';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '20px';\r\n      el.style.marginBottom = '20px';\r\n      el.style.minHeight = '250px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/right-top',\r\n          [[300, 250], [300, 600]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 2. Right Middle Banner Unit\r\n// ==========================================\r\n(function injectRightMiddleBanner() {\r\n  function tryInject() {\r\n    const target = document.querySelectorAll('#div-gpt-ad-nl-rsb-mid-pt')[0] \r\n                || document.querySelectorAll('.rsb-sections .blurb.my-3')[0];\r\n\r\n    const slotId = 'injected_div_right_middle';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/right-middle';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '20px';\r\n      el.style.marginBottom = '20px';\r\n      el.style.minHeight = '250px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/right-middle',\r\n          [[300, 250]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 3. View Bottom Article Unit (Articles only)\r\n// ==========================================\r\n(function injectViewBottomArticleBanner() {\r\n  function tryInject() {\r\n    if (!window.location.pathname.includes('/article/') && !window.location.href.includes('/article/')) {\r\n      return false;\r\n    }\r\n\r\n    const target = document.querySelectorAll('#read-wrap .section.blurb')[0] \r\n                || document.querySelectorAll('#div-gpt-ad-nl-dvb-afa-ab')[0];\r\n\r\n    const slotId = 'injected_div_view_bottom';\r\n\r\n    if (target) {\r\n      if (document.getElementById(slotId)) return true;\r\n\r\n      const el = document.createElement('div');\r\n      el.id = slotId;\r\n      el.dataset.onpage = 'true';\r\n      el.dataset.adpath = '/25671928/lankasrinews.banner/view-bottom';\r\n      el.style.textAlign = 'center';\r\n      el.style.marginTop = '40px';\r\n      el.style.marginBottom = '40px';\r\n      el.style.minHeight = '250px';\r\n\r\n      target.appendChild(el);\r\n\r\n      window.googletag = window.googletag || { cmd: [] };\r\n      googletag.cmd.push(function () {\r\n        const slot = googletag.defineSlot(\r\n          '/25671928/lankasrinews.banner/view-bottom',\r\n          [[336, 280], [300, 250]],\r\n          slotId\r\n        );\r\n        if (slot) {\r\n          slot.addService(googletag.pubads());\r\n          googletag.display(slotId);\r\n          if (googletag.pubadsReady) googletag.pubads().refresh([slot]);\r\n        }\r\n      });\r\n\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  if (tryInject()) return;\r\n  let attempts = 0;\r\n  const interval = setInterval(function () {\r\n    attempts++;\r\n    if (tryInject() || attempts > 100) clearInterval(interval);\r\n  }, 100);\r\n})();\r\n\r\n\r\n// ==========================================\r\n// 4. VDO.ai Video Player (Restricted Test Page)\r\n// ==========================================\r\n// ==========================================\r\n// 5. VDO.ai Video Player (All /article/ pages)\r\n// ==========================================\r\n// (function injectVDOPlayer() {\r\n//   const DIV_ID = \"v-lankasri\";\r\n//   const SCRIPT_SRC = \"//a.vdo.ai/core/v-lankasri/vdo.ai.js\";\r\n//   const TARGET_SELECTOR = \".ds-content > p:nth-child(5)\";\r\n\r\n//   function tryInject() {\r\n//     if (!window.location.pathname.includes('/article/') && !window.location.href.includes('/article/')) {\r\n//       return false;\r\n//     }\r\n\r\n//     const target = document.querySelector(TARGET_SELECTOR);\r\n//     if (!target) return false;\r\n\r\n//     let container = document.getElementById(DIV_ID);\r\n//     if (!container) {\r\n//       container = document.createElement(\"div\");\r\n//       container.id = DIV_ID;\r\n//     }\r\n\r\n//     target.insertAdjacentElement(\"afterend\", container);\r\n\r\n//     if (\r\n//       document.querySelector(`script[src*=\"vdo.ai.js\"]`) ||\r\n//       document.querySelector(`script[src*=\"v-lankasri\"]`)\r\n//     ) {\r\n//       return true;\r\n//     }\r\n\r\n//     const s = document.createElement(\"script\");\r\n//     s.setAttribute(\"data-cfasync\", \"false\");\r\n//     s.defer = true;\r\n//     s.async = true;\r\n//     s.src = (window.location.protocol === 'https:' ? 'https:' : 'http:') + SCRIPT_SRC;\r\n//     document.head.appendChild(s);\r\n\r\n//     return true;\r\n//   }\r\n\r\n//   if (tryInject()) return;\r\n//   let attempts = 0;\r\n//   const interval = setInterval(function () {\r\n//     attempts++;\r\n//     if (tryInject() || attempts > 100) clearInterval(interval);\r\n//   }, 100);\r\n// })();\r\n\r\n  onDomReady(async () => {\r\n    try {\r\n      \r\n           \r\n      // Add custom slots creation logic here 👇\r\n\r\n    // all page banners\r\n        createInterstitial();\r\n        createStickyBanner();\r\n        addBannerHeaderUnit();\r\n        addBannerhHmeMiddleUnit();\r\n        addBannerStickyLeftUnits();\r\n        addBannerStickyRightUnits();\r\n        addBannerRightTopUnits();\r\n        addBannerRightMiddleUnits();\r\n\r\n// home page banners\r\n        addBannerFeedPreloadHPUnits();\r\n        addBannerFeedInfiniteHPUnits();\r\n        addTextFeedPreloadHPUnits();\r\n        addtextFeedInfiniteHPUnits();\r\n\r\n    // category page banners\r\n        // addTextFeedPreloadCategoryUnits();\r\n        // addTextFeedInfiniteCategoryUnits();\r\n        // addBannerFeedPreloadCategoryUnits();\r\n        // addBannerFeedInfiniteCategoryUnits();\r\n        addBannerRightTopCatUnits()\r\n        addBannerRightMiddleCatUnits();\r\n\r\n// article page banners\r\n            // addBannerRightTopArtUnits();\r\n            // addBannerRightMiddleArtUnits();\r\n            // addBannerViewInnerArticleUnits();\r\n            // addBannerViewBottomArticleUnits();\r\n\r\n        // if (window.location.href === \"https://news.lankasri.com/article/bhuvneshwar-kumar-to-lead-india-at-hong-kong-sixes-1791205679\") {\r\n            //injectVDOPlayer();\r\n        // }\r\n\r\n\r\n    } catch(err) {\r\n      console.error('Failed to create slots:', err.stack);\r\n    }\r\n\r\n    // Must be called last\r\n    initAds();\r\n    observeSlots();\r\n  });\r\n\r\n})(window, document);\r\n"]}