President Donald Trump gestures throughout a rally at Southern Wisconsin Regional Airport in Janesville, Wisconsin on October 17, 2020.
MANDEL NGAN/Getty Images

President Donald Trump keeps making it crystal clear that he thinks it’s hilarious to point out the likelihood that he could stay in workplace past the constitutional two-term restrict. He was at it once more Saturday night time as he egged on supporters to change their chant of “four more years!” to “12 more years.” In Muskegon, Michigan, the crowd on the Trump rally interrupted the president as he boasted about how the Republican Party is now the “Party of Trump” with a chant of “four more years!” That wasn’t sufficient for Trump although. “You really drive them crazy if you say 12 more years,” the president stated. “Then they say ‘he is a fascist,’ ‘he is a fascist’.” The crowd then dutifully breaks right into a chant of “12 more years.”

President went again to mentioning the potential for staying on past a second time period later in his speech. “We’ll be here for four years, and then if we decide to go for an extra four or eight or something,” Trump stated with a chuckle. The crowd remembered what he had requested of them earlier than and started chanting, “12 more years!”

Later he returned to that very same concern throughout his rally in Janesville, Wisconsin as he as soon as once more appeared to relish the response his phrases would get. “When someday I leave, whether it’s in 4 years, 8 years, 12 years, 16 years,” Trump stated because the crowd clapped and cheered. “Now the story tomorrow will be with the fake news, ‘he is a fascist’,” Trump stated.

Trump has usually talked about at rallies the potential for staying in the presidency past two phrases. Late final month, Trump complained that “you can’t joke” as a result of the media at all times cuts away proper earlier than he begins laughing. As he claims he is joking about staying in workplace, Trump additionally pointedly refuses to commit to settle for the outcomes of the November election. In an NBC city corridor on Thursday night time, Trump dedicated to a peaceable switch of power if he loses however nonetheless forged doubt on the election. “They spied heavily on my campaign and they tried to take down a duly elected sitting president, and then they talk about ‘will you accept a peaceful transfer?’ And the answer is, yes, I will, but I want it to be an honest election and so does everybody else,” Trump stated. “When I see thousands of ballots dumped in a garbage can and they happen to have my name on it, I’m not happy about it.”

ingredient for the amplitude part,
* hit the Amplitude APlog the web page view.
* This perform calls itself up to RETRY_LIMIT instances
* with a RETRY_DELAY delay, as a result of the machine ID is not
* accessible straight away.
*
* If the machine ID is not discovered after RETRY_LIMIT instances,
* then log the web page view with out the machine ID.
*
* @param {Element} el
* @param undefined attemptCount // defaults to 0
*/
// discover a part by classname and confirm the data-uri matches
// returns the part ingredient, or `undefined` if it might probably’t be discovered or verified

perform discoverComponent(identify) {
var part = doc.physique.questionSelector(“.” + identify);

if (part) {
var uri = part.dataset.uri;

if (uri && uri.cut up(“/”)[2] === identify) {
return part;
}
}
}

perform getLayoutBreakpoint(viewportWidth) {
// see app/world/scss/settings/_units.scss#L1
var breakpoints = [[“sm”, 320], [“md”, 768], [“lg”, 1024], [“xl”, 1440]];
var i = breakpoints.size;

whereas (i–) {
if (viewportWidth >= breakpoints[i][1]) return breakpoints[i][0];
}

return breakpoints[0][0];
}

perform logPageView(occasion, el, mpvCookie) {
var pageviewProperties = slateAmplitude.getDomEventData(el);
pageviewProperties.search = window.location.search;
pageviewProperties.amplitude_id = occasion.choices ? occasion.choices.machineId : “no options – no deviceId”;
pageviewProperties.viewportWidth = doc.docElement.clientWidth;
pageviewProperties.layoutBreakpoint = getLayoutBreakpoint(pageviewProperties.viewportWidth);
var membershipType = getUserMembershipType();

if (membershipType) {
pageviewProperties.plan = membershipType;
}

if (loginId) {
pageviewProperties.signed_in_uuid = loginId;
}

pageviewProperties.taboola_loaded = forgedAsAmplitudeBool(isTaboolaLoaded());
pageviewProperties.taboola_eligible = forgedAsAmplitudeBool(isTaboolaEligible());

if (window.Scroll && Scroll.config.detected) {
pageviewProperties.isScrollUser = true;
}
/* In case session api errors out */

pageviewProperties.visitstart = forgedAsAmplitudeBool(isVisitStart());

attempt {
pageviewProperties.adBlocker = forgedAsAmplitudeBool(isAbEnabled());
} catch (e) {
console.error(e);
}

if (!isNaN(mpvCookie.pv)) {
pageviewProperties.Nth_pageview = mpvCookie.pv + “”;
} // add occasion properties to assist measure effectiveness of affiliate and product hyperlinks

if (getAffiliateLinks().size > 0) {
pageviewProperties[“Affiliate Link”] = “✅”;
}

var product = discoverComponent(“product”);

if (product) {
pageviewProperties[“Product Component”] = “✅”;
} // occasion properties to measure the effectiveness of e-newsletter signups

var e-newsletterSignup = discoverComponent(“newsletter-signup”);
pageviewProperties[“Includes Newsletter Signup”] = forgedAsAmplitudeBool(e-newsletterSignup);

if (e-newsletterSignup) {
pageviewProperties[“Newsletter Signup Placement”] = “In Content”; // ultimately there shall be different values for this
} // occasion properties to measure the effectiveness of slate plus button

var slatePlusButtonComponent = discoverComponent(“slate-plus-button”);

if (slatePlusButtonComponent) {
var slatePlusButton = slatePlusButtonComponent.questionSelector(“.slate-plus-button__basic”);

if (slatePlusButton) {
pageviewProperties[“Slate Plus Button Component”] = slatePlusButton.internalText;
}
}

var roadblock = !membershipType && discoverComponent(“slate-roadblock”);
pageviewProperties[“Includes Slate Plus Roadblock”] = forgedAsAmplitudeBool(roadblock);
var headerPromo = discoverComponent(“header-promo”);

if (headerPromo) {
pageviewProperties[“Includes Header Promo”] = “TRUE”;
}

slateAmplitude.web page(pageviewProperties); // after the pageview was logged, trim the “via” from the url to forestall customers from sharing it

by way of.removeFromLocation();
}

perform setMemberStatusUserProp(userProps) {
var membershipType = getUserMembershipType();

if (membershipType) {
userProps.plan = membershipType;
}
}

perform setUserLoginId(userProps) {
if (loginId) {
userProps.signed_in_uuid = loginId;
}
}

perform setScrollUserProp(userProps) {
var isScrollUser = window.Scroll && Scroll.config.detected;

if (isScrollUser) {
userProps.scrollUser = isScrollUser;
}
}

perform setABUserProp(userProps) {
var abCookie = Cookies.get(“AB”); // sanitize the cookie

userProps.abTest = isValidAbTestString(abCookie) ? abCookie : “0”;
}

perform trackEndOfArticle() {
var parahTombstone = doc.questionSelector(“.slate-paragraph–tombstone”);

if (!parahTombstone) {
return;
} //makes certain monitoring is just despatched as soon as due to throttling

var monitorSent = _once(perform () {
slateAmplitude.monitor(“Completed article”);
slatePermutive.monitor(“ArticleCompletion”);
doc.removeEventListener(“scroll”, monitorScrolling);
});

var monitorScrolling = _throttle(perform () {
var scrollY = “scrollY” in window ? window.scrollY : window.pageYOffset; // non-standard prop for IE11

if (parahTombstone.offsetTop + parahTombstone.offsetHeight <= scrollY + window.innerHeight) { trackSent(); } }, 300); document.addEventListener("scroll", trackScrolling); } function logUserProperties(instance) { instance = instance || amplitude.getInstance(); var userProps = {}; setABUserProp(userProps); setMemberStatusUserProp(userProps); setUserLoginId(userProps); setScrollUserProp(userProps); // see https://help.amplitude.com/hc/en-us/articles/115001361248#setting-multiple-user-properties instance.setUserProperties(userProps); } function handleMpvCookie(el) { var pageTypesThatIncrement = ["article"https://news.google.com/__i/rss/rd/articles/,"coverstory"https://news.google.com/__i/rss/rd/articles/,"plus"]; var pageType = el.dataset.pagetype; var isCorrectPageType = pageTypesThatIncrement.includes(pageType); var mpvCookie = getMpvCookie(); if (isCorrectPageType) { mpvCookie = updateMpvValue(mpvCookie, el.dataset.pageHash); setMpvCookie(mpvCookie); } return mpvCookie; } function Constructor(el) { var mpvCookie = handleMpvCookie(el); window.slateAmplitudeQueue.push(function (instance) { // Add some tracking callbacks trackAffiliateLinks(); trackEndOfArticle(); logPageView(instance, el, mpvCookie); logUserProperties(); via.setPageType(el.dataset.pagetype); }); } return Constructor; }]); }, {"1":1,"2":2,"3":3,"40":40,"48":48,"49":49}]; window.modules["social-share.client"] = [function(require,module,exports){"use strict"; var socialPopupWindow = require(9); DS.controller("social-share", [function () { return function (el) { return socialPopupWindow.attachEvents(el); }; }]); }, {"9":9}]; window.modules["clay-tweet.client"] = [function(require,module,exports){"use strict"; window.nonIabVendorApi.registerVendor("clay-tweet", { categories: ["C0004"], initFunc: function initFunc(consent) { if (!consent) return false; var elem = document.createElement("script"); elem.src = "https://news.colma.do/wp-content/litespeed/localres/platform.twitter.com/widgets.js"; var scpt = document.getElementsByTagName("script")[0]; scpt.parentNode.insertBefore(elem, scpt); return true; }, updateConsentFunc: function updateConsentFunc(consent) {} }); }, {}]; window.modules["slate-kicker-promo.client"] = [function(require,module,exports){"use strict"; DS.controller("slate-kicker-promo", [function () { function Constructor(el) { var membership = require(3); if (!membership.isMember()) { el.hidden = false; } } return Constructor; }]); }, {"3":3}]; window.modules["permutive.client"] = [function(require,module,exports){"use strict"; /* global permutive: false */ module.exports = function (el) { var consentTokenName = "slate-token"; window.nonIabVendorApi.registerVendor("permutive", { categories: ["C0002"https://news.google.com/__i/rss/rd/articles/,"C0003"https://news.google.com/__i/rss/rd/articles/,"C0004"], initFunc: function initFunc(consent) { if (!consent) return false; function getCookie(a) [^;]+)s*" + a + "s*=s*([^;]+)"); return b ? b.pop() : ""; function getSearchParam(paramName) { try { var search = new URL(document.location).searchParams; return search.get(paramName); } catch (e) { console.error("could not get " + paramName + " url param", e); } } function addUserPermutiveParam(key, value) { if (!window.slatePermutiveData.page.user) { window.slatePermutiveData["page"]["user"] = {}; } window.slatePermutiveData["page"]["user"][key] = value; } try { var search = new URL(document.location).searchParams; if (search.get("utm_source")) { window.slatePermutiveData["page"]["utmSource"] = search.get("utm_source"); } if (search.get("utm_medium")) { window.slatePermutiveData["page"]["utmMedium"] = search.get("utm_medium"); } if (search.get("utm_campaign")) { window.slatePermutiveData["page"]["utmCampaign"] = search.get("utm_campaign"); } } catch (e) { console.error(e); } if (el.dataset.isSplusUser) { try { addUserPermutiveParam("slatePlus", true); } catch (e) { console.error(e); } } // {{!-- // identify calls we can do immediately --}} var identities = []; // add an identity to the list and also tack it onto the pageview event function addUserIdentity(tag, id) { if (id) { identities.push({ tag: tag, id: id }); addUserPermutiveParam(tag, id); } } addUserIdentity("slateId", getCookie("wapo_login_id")); addUserIdentity("publisherUserId", getCookie("slate-uuid-js")); addUserIdentity("sailthruId", getSearchParam("sid")); if (identities.length > 0) {
window.permutive.determine(identities);
}

permutive.consent({
opt_in: consent,
token: consentTokenName
});
permutive.addon(“web”, window.slatePermutiveData);
var elem = doc.createElement(“script”);
elem.src = “https://cdn.permutive.com/” + el.dataset.permutiveProjectId + “-web.js”;
elem.defer = true;
var scpt = doc.getElementsByTagIdentify(“script”)[0];
scpt.dad or mumNode.insertBefore(elem, scpt);
return true;
},
updateConsentFunc: perform updateConsentFunc(consent) {
if (permutive) {
attempt {
var currentConsent = JSON.parse(localStorage[“permutive-consent”]).opt_in;

if (currentConsent != consent) {
permutive.consent({
opt_in: consent,
token: consentTokenName
});
}
} catch (e) {
permutive.consent({
opt_in: consent,
token: consentTokenName
});
}
}
}
});
permutive.prepared(perform () {
// Amplitude is loaded later, so we’ve to queue our determine name
window.slateAmplitudeQueue.push(perform () {
var permutiveIdentities = [];

if (permutive.context) {
permutiveIdentities.push({
tag: “puid”,
id: permutive.context.user_id
});
}

attempt {
var amplitudeId = window.amplitude.getInstance().choices.machineId;

if (amplitudeId) {
permutiveIdentities.push({
tag: “amplitudeId”,
id: amplitudeId
});
}
} catch (e) {
console.error(“Error setting amplitudeId”, e);
}

if (permutiveIdentities.size > 0) {
permutive.determine(permutiveIdentities);
}
});
});
};
}, {}];
window.modules[“piano.client”] = [function(require,module,exports){“use strict”;

var slateAmplitude = require(2);

var _require = require(42),
getMorgioniProps = _require.getMorgioniProps,
setMorgioniProps = _require.setMorgioniProps;

var cookies = require(43); // tp implicit global variable initialization –
// this differs from their docs, our scripts do not run in the global context,
// and the global tp object gets replaced on init so the variable reference becomes wrong

if (!window.tp) window.tp = [];
var tp = window.tp; // this bit could prove to be helpful if we want to do something with the hydrated tp object
// tp.push([“init”, () => void (tp = window.tp)]); // re-assign native variable after init
// todo: is it okay to run this after tp init?

attempt {
var articleData = slateAmplitude.getDomEventData(); // The content material printed date

tp.push([“setContentCreated”, articleData.pub_date]); // The content material creator -only one is allowed in accordance to their docs..

tp.push([“setContentAuthor”, articleData.authors.join(“,”)]); // The content material part – or ought to we use the rubric?

tp.push([“setContentSection”, articleData.section]); // Add customized variables as any key-value pair. The first parameter is the important thing; second is the worth

tp.push([“setCustomVariable”https://news.google.com/__i/rss/rd/articles/,”contentRubric”, articleData.rubric]); // The content material tags

tp.push([“setTags”, articleData.tags]);
} catch (e) {
console.error(e);
} // If the content material is native promoting
// tp.push([“setContentIsNative”, false]);
// The customized params
// todo: what is that this and the way does it differ from a customized variable
// tp.push([“setCustomParam”https://news.google.com/__i/rss/rd/articles/,”type”https://news.google.com/__i/rss/rd/articles/,”premium”https://news.google.com/__i/rss/rd/articles/,”content”]);
// The AAM Zone
// tp.push([“setZone”https://news.google.com/__i/rss/rd/articles/,”Web”]);

tp.push([“setUsePianoIdUserProvider”, true]);
tp.push([“init”, function () {
var tp = window.tp; // fuuuuuuck
// I hate this

tp.amplitude = slateAmplitude;
tp.morgioni = {
getMorgioniProps: getMorgioniProps,
setMorgioniProps: setMorgioniProps
}; // Called by Piano Composer

tp.fireAmplitude = function (event) {
tp.morgioni.setMorgioniProps();
var eventProps = tp.morgioni.getMorgioniProps();
slateAmplitude.track(event, eventProps);
};

tp.pianoId.init({
loginSuccess: function loginSuccess() {
if (!cookies.get(“sp_secure_id”)) {
var myslateUrl = document.documentElement.dataset.myslateurl; // set sp_secure_id cookie and splus cookie for members

fetch(“”.concat(myslateUrl, “/membership/verify/”), {
credentials: “include”
}); // see slate-comments/client.js for lf_secure_login_id
}
},
loggedOut: function loggedOut() {
// these cookies are set by myslate and we don’t know what domain the cookie is on
[“.local.dev.slate.com”https://news.google.com/__i/rss/rd/articles/,”.dev.slate.com”https://news.google.com/__i/rss/rd/articles/,”.stage.slate.com”https://news.google.com/__i/rss/rd/articles/,”.slate.com”].forEach(perform (d) {
[“splus”https://news.google.com/__i/rss/rd/articles/,”sp_secure_id”https://news.google.com/__i/rss/rd/articles/,”lf_secure_login_id”].forEach(function (c) {
cookies.take away(c, {
area: d
});
});
});

attempt {
for (var i = 0; i < localStorage.length; i++) { if (localStorage.key(i).indexOf("fyre") > -1) {
localStorage.removeItem(localStorage.key(i));
}
}
} catch (e) {// do nothing, if an exception is thrown accessing cookies or storage,
// then we in all probability by no means had something saved in the primary place
}
}
});
}]);
}, {“2″:2,”42″:42,”43”:43}];
window.modules[“adblock-message.client”] = [function(require,module,exports){“use strict”;

var membership = require(3),
isMember = membership.isMember(),
isAbEnabled = require(1).isAbEnabled,
slateAmplitude = require(2);

DS.controller(“adblock-message”, [function () {
var Constructor;
/**
* @param {Element} el
* @constructor
* @property {Element} el
*/

Constructor = function Constructor(el) {
this.el = el;
this.message = el.querySelector(“.adblock-message__content”); // it’s not in the spec but in practice browsers may raise exceptions for “getItem”

try 0;
catch (e) {
return; // we can’t access storage to keep track of pageviews, bail out
}

function setPageViewCookie(count) {
try {
localStorage.pageview = count;
} catch (e) {// swallow the error, users may disable storage access after the component is constructed
}
}

function isActivePageView() {
return (pageView – 2) % 3 === 0;
}
/**
* Set and increment pageview cookie on page load
*/

window.addEventListener(“load”, function () {
pageView++;
setPageViewCookie(pageView);
});
/**
* Check conditions for displaying the adblock message
*/

var _this = this;

window.setTimeout(function () {
var adblockEnabled = isAbEnabled(),
activeView = isActivePageView();

if (!isMember && adblockEnabled && activeView) {
_this.showMessage();
}
}, 1000);
/**
* Close the ad message if user clicks outside of the message container
*/

document.body.addEventListener(“click”, function (e) {
if (_this.messageIsVisible()) {
if (!_this.message.contains(e.target)) {
_this.hideMessage();
}
}
});
document.addEventListener(“keyup”, function (e) {
if (_this.messageIsVisible() && (e.key === “Escape” || e.key === “Esc”)) {
_this.hideMessage();
}
});
};

Constructor.prototype = {
events: {
“.js-message-close click”: “hideMessage”,
“.js-message-button click”: “buttonAnalytics”
},
messageIsVisible: function messageIsVisible() {
return document.body.classList.contains(“adblock-enabled”);
},
showMessage: function showMessage() {
document.body.classList.add(“adblock-enabled”);
slateAmplitude.track(“Adblocker – View Overlay”);
},
hideMessage: function hideMessage(e) {
document.body.classList.remove(“adblock-enabled”);
},
buttonAnalytics: function buttonAnalytics(e) {
var button = e.target,
buttonEvent = button.text;
slateAmplitude.track(“Adblocker – Click ” + buttonEvent);
}
};
return Constructor;
}]);
}, {“1″:1,”2″:2,”3”:3}];
window.modules[“webapp-serviceworker.client”] = [function(require,module,exports){“use strict”;

(function () {
“use strict”;

if (!navigator.serviceWorker) {
return;
} // Temp patch on issue that affected ads. This is not permanent business logic.
// https://github.com/slategroup/slate-redux/issues/3212

if (navigator.vendor === “Apple Computer, Inc.”) {
navigator.serviceWorker.getRegistrations().then(function (registrations) {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;

try {
for (var _iterator = registrations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.subsequent()).finished); _iteratorNormalCompletion = true) {
var reg = _step.worth;
var legitimate = reg && reg.lively && reg.lively.scriptURL;

if (legitimate && reg.lively.scriptURL.indexOf(“sw.js”) > -1) {
console.log(“removing serviceworker”);
reg.unregister();
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} lastly {
attempt {
if (!_iteratorNormalCompletion && _iterator.return != null) {
_iterator.return();
}
} lastly {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
});
return;
}

var slateAmplitude = require(2);

window.addEventListener(“load”, perform () {
navigator.serviceWorker.register(“/sw.js”).then(perform (registration) {// Registration was profitable
}, perform (err) {
// registration failed 🙁
console.error(“ServiceWorker registration failed: “, err);
});
}); // by way of https://developers.google.com/web/fundamentals/app-install-banners/

window.addEventListener(“beforeinstallprompt”, perform (e) {
e.consumerChoice.then(perform (choiceResult) {
if (choiceResult.final result === “dismissed”) {
slateAmplitude.monitor(“PWA – dismissed install prompt”);
} else {
slateAmplitude.monitor(“PWA – Added to Home Screen”);
}
});
});
})();
}, {“2”:2}];
window.modules[“amazon-oneclick.client”] = [function(require,module,exports){“use strict”;

module.exports = function (el) {
window.nonIabVendorApi.registerVendor(“amazon-oneclick”, {
categories: [“C0004”],
initFunc: perform initFunc(consent) {
if (!consent) return;
var elem = doc.createElement(“script”);
elem.src = “https://z-na.amazon-adsystem.com/widgets/onejs?MarketPlace=US&adInstanceId=797217ac-ca6e-482f-8925-4c302e9c855c”;
elem.defer = true;
elem.kind = “text/javascript”;
var scpt = doc.getElementsByTagIdentify(“script”)[0];
scpt.dad or mumNode.insertBefore(elem, scpt);
},
updateConsentFunc: perform updateConsentFunc(consent) {
if (!consent) {// not a lot we are able to do right here. the script already ran.
}
}
});
};
}, {}];
window.modules[“aaa-module-mounting.legacy”] = [function(require,module,exports){‘use strict’; // blame somebody else for this shit: https://github.com/nymag/sites/blame/master/global/js/aaa-module-mounting.js
// Note: this mounts before all client.js files, so legacy client controllers may call DS.controller()
// it also mounts before other legacy services (because of the filename) so they can call DS.service()

var eventify = require(65),
_pickBy = require(69),
_each = require(66),
DS = require(64);

var _once = require(67);

var _throttle = require(68);

var Cookies = require(43);

function registerGlobals() {
window.DS = DS;
window.Eventify = eventify; // allow these libs to be imported into Dollar Slice components

DS.value(‘Eventify’, eventify);
DS.value(‘_once’, _once);
DS.value(‘_throttle’, _throttle);
DS.value(‘Cookies’, Cookies);
DS.value(‘$document’, window.document);
DS.value(‘$window’, window);
}
/**
* Mount all Dollar Slice components.
*/

function mountDollarSliceComponents() {
// search page for components, and instantiate their controllers
DS.service(‘components’, [‘$document”https://news.google.com/__i/rss/rd/articles/,”$module’, function ($document, $module) {
var controllers = _pickBy($module.definitions, function (definition) {
return definition.providerStrategy === $module.providers.controller;
}),
list = Object.keys(controllers); // for each component on the page, loop through the instances and kickoff the controller

_each(list, function (name) {
var components = $document.querySelectorAll(‘[data-uri*=”/_components/’ + name + ‘/”]’),
// matches data-uri=”/_components//instances/
defaultComponents = $doc.questionSelectorAll(‘[data-uri$=”/_components/’ + name + ‘”]’); // matches data-uri=”/_components/

_each(elements, initController(identify));

_each(defaultComponents, initController(identify));
}); // expose listing of elements on the web page

this.elements = listing;

perform initController(identify) {
return perform (part) {
attempt {
$module.get(identify, part);
} catch (error) {
logMountError(part, error);
}
};
}
}]); // different elements may need to work together with our service, however we’ll begin it right here.

DS.get(‘elements’);
}
/**
* Log an error mounting the shopper script for the required ingredient.
* @param {HtmlElement} el
* @param {Error} error
*/

perform logMountError(el, error) {
// ingredient tag would be the full contents of the part’s tag comparable to:
//

var ingredientTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(‘Error attaching controller to ‘ + ingredientTag, error);
} // globals (like DS) should be registered earlier than different recordsdata name DS.service() or DS.part()

registerGlobals(); // wait till every thing else has been mounted earlier than instantiating legacy DS controllers

doc.addEventListener(‘DOMContentLoaded’, perform () {
mountDollarSliceComponents();
});
}, {“43″:43,”64″:64,”65″:65,”66″:66,”67″:67,”68″:68,”69”:69}];
window.modules[“ads.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“adService”, [“$window”https://news.google.com/__i/rss/rd/articles/,”headerBidding”https://news.google.com/__i/rss/rd/articles/,”$visibility”, function ($window, headerBidding, $visibility) {
$window.googletag = $window.googletag || {}, $window.googletag.cmd = $window.googletag.cmd || [];
$window.pbjs = $window.pbjs || {};
$window.pbjs.que = $window.pbjs.que || [];
var advertIndex = {},
adSlotsWithRefresh = [],
testParam = getTestParam(),
web pageId = getPageId(),
slotData = [];
/**
* Checks if url question parameters comprise ‘test_ads’ and returns it is worth
* @return {string}
*/

perform getTestParam() {
var TEST_ADS_REGEX = /[?&]test_ads=([^&#?]+)/;
var outcomes = TEST_ADS_REGEX.exec($window.location.search);
return outcomes ? outcomes[1] : “”;
}
/*
* Config GPT scripts
*/

$window.googletag.cmd.push(perform () {
var web pageType = doc.questionSelector(“.js-analytics-js-data”).getAttribute(“data-pagetype”).substitute(” “https://news.google.com/__i/rss/rd/articles/,”-“);
$window.googletag.pubads().disableInitialLoad();
$window.googletag.allowServices();
var cacheBustValue = Math.flooring(Math.random() * 10000000000000),
cacheBustMeta = doc.questionSelectorAll(‘meta[name=”dfp-cache-buster”]’)[0];

if (cacheBustMeta && cacheBustMeta.content material) {
cacheBustValue = cacheBustMeta.content material;
}

$window.googletag.pubads().setTargeting(“dfp_cache_buster”, cacheBustValue).setTargeting(“page_id”, web pageId).setTargeting(“page_type”, web pageType);
var usprivacyRegex = /usprivacy=d+[YN]Y/;

if (doc.cookie.match(usprivacyRegex)) {
$window.googletag.pubads().setRequestNonPersonalizedAds(1);
}

if (testParam) {
googletag.pubads().setTargeting(“kw”https://news.google.com/__i/rss/rd/articles/,”test_” + testParam);
} // AB worth

var ABCookie = doc.cookie.match(/AB=(d+_d+)/);

if (ABCookie && ABCookie.size > 1) {
googletag.pubads().setTargeting(“ab_var”, ABCookie[1]);
}

allowAdRefresh();
});
/*
* Request advert from the DFP
*/

this.requestAd = perform (ad_data) {
ad_data.defineSlot();
googletag.pubads().refresh([ad_data.gptSlot], {
changeCorrelator: false
});
};
/**
* Add refresh to some advert slots
*/

perform allowAdRefresh() {
googletag.pubads().addEventListener(“slotRenderEnded”, perform (occasion) {
var slot = occasion.slot;
var slotId = slot.getSlotElementId();
var slotElement = $window.doc.getElementById(slotId);

if (Array.isArray(occasion.measurement) && occasion.measurement[0] && occasion.measurement[1]) {
var measurement = occasion.measurement[0] + “x” + occasion.measurement[1];

if (refreshEnabled(measurement) && !adSlotsWithRefresh[slotId]) {
updateSlotTargeting(slot);
addRefreshToSlot(slot, slotData[slotId], slotElement);
adSlotsWithRefresh[slotId] = true;
}
}
});
}
/**
* Every 20 sec test if slot is in view
* If it’s, request new advert from the DFP
*/

perform addRefreshToSlot(slot, ad_data, slotElement) {
var refreshInterval = 30000;
setInterval(perform () {
if (adIsInView(slotElement)) {
headerBidding.prebid(ad_data, slot);
}
}, refreshInterval);
}
/**
* Removes prebid concentrating on
* Adds targetig for the precise peak
*/

perform updateSlotTargeting(slot) {
slot.clearTargeting(“hb_adid”);
slot.clearTargeting(“hb_bidder”);
slot.clearTargeting(“hb_pb”);
slot.clearTargeting(“hb_size”);
slot.setTargeting(“refresh”https://news.google.com/__i/rss/rd/articles/,”yes”);
}
/**
* Checks advert’s measurement to make sure that it is enabled to refresh
*/

perform refreshEnabled(measurement) {
// Nonstandard advert sizes, not allowed to refresh
var teadsSize = “2×2”,
nativeSize = “1×2”,
customizedSize = “1×3”,
podcastTextAdSize = “1×4”;
return measurement !== teadsSize && measurement !== nativeSize && measurement !== customizedSize && measurement !== podcastTextAdSize;
}
/**
* Checks if advert slot is in view and window is concentrated
*/

perform adIsInView(slotElement) {
var windowHasFocus = $window.doc.hasFocus();

if (!windowHasFocus) {
return false;
} else {
return $visibility.isElementInViewport(slotElement);
}
}
/*
* Create advert object
*/

this.createAd = perform (el) {
var kind = el.getAttribute(“data-type”),
prebid = el.getAttribute(“data-prebid”),
dataDfpSizes = el.getAttribute(“data-sizes”),
informationPrebidSizes = el.getAttribute(“data-prebid-sizes”),
rubiconZoneId = el.getAttribute(“data-zone-id”),
appnexusPlacementId = el.getAttribute(“data-placement-id”),
trustxId = el.getAttribute(“data-trustx-id”),
criteoZoneId = el.getAttribute(“data-criteo-id”),
indexSiteId = el.getAttribute(“data-site-id”),
tripleliftCode = el.getAttribute(“data-tl-code”);

if (!advertIndex[type]) {
advertIndex[type] = 1;
}

el.id = kind + “-” + advertIndex[type];
advertIndex[type]++;
var advert = {
id: el.id,
kind: kind,
adUnit: getAdUnit(),
prebid: getBoolean(prebid),
dfpSizes: getSizeArray(dataDfpSizes),
prebidSizes: getSizeArray(informationPrebidSizes),
rubiconZoneId: rubiconZoneId,
appnexusPlacementId: appnexusPlacementId,
trustxId: trustxId,
criteoZoneId: criteoZoneId,
indexSiteId: indexSiteId,
tripleliftCode: tripleliftCode,
gptSlot: null,
defineSlot: perform defineSlot() {
this.gptSlot = $window.googletag.defineSlot(this.adUnit, this.dfpSizes, this.id);
slotData[this.id] = this;
this.gptSlot.addService(googletag.pubads()); // slot stage concentrating on

this.gptSlot.setTargeting(“site”https://news.google.com/__i/rss/rd/articles/,”redux”);
this.gptSlot.setTargeting(“refresh”https://news.google.com/__i/rss/rd/articles/,”no”);
this.gptSlot.setTargeting(“pos”, this.id);
$window.googletag.show(this.id);
}
};
return advert;
};
/**
* Converts “true” / “false” strings to boolean
* @param {string} worth
* @returns {boolean}
*/

perform getBoolean(worth) {
return worth === “true” ? true : false;
}
/**
* Returns sizes as an array
* @param {string} sizes
* @returns {array}
*/

perform getSizeArray(sizes) {
var sizesArray = [];

if (sizes && sizes.size) {
sizes = sizes.cut up(“,”);
sizes.map(perform (measurement) {
measurement = measurement.cut up(“x”);
var w = parseInt(measurement[0]);
var h = parseInt(measurement[1]);
sizesArray.push([w, h]);
});
}

return sizesArray;
}
/**
* Returns advert node
* @returns {string}
*/

perform getAdNode() {
var advertNodeElement = doc.questionSelector(“div[data-adnode]”),
advertNode = “”;

if (advertNodeElement) {
advertNode = advertNodeElement.getAttribute(“data-adnode”);
}

return advertNode;
}
/**
* Returns DFP advert unit
* @returns {string}
*/

perform getAdUnit() {
var networkCode = “91898098”,
platform = “slate.com”,
advertNode = getAdNode();
return networkCode + “/” + platform + “/” + advertNode;
}
/**
* Returns web page id
* @returns {string}
*/

perform getPageId() {
var html = window.doc.docElement,
dataUri = html.getAttribute(“data-uri”),
web pageId = dataUri.cut up(“/”)[2].substitute(“@published”https://news.google.com/__i/rss/rd/articles/,””);
return web pageId;
}
}]);
}, {}];
window.modules[“headerbidding.legacy”] = [function(require,module,exports){“use strict”;

DS.service(“headerBidding”, function () {
var adData,
permutiveData = getPermutiveData(),
isMember = require(3).isMember(),
HARD_TIMEOUT = 1500; // max amount of time ad calls are delayed for headerbidding

this.prebid = function (data) {
adData = data;
adData.biddersManager = {
adserverRequestSent: false,
prebid: false,
amazon: false
};

var _self = this;

window.slateCMP.TCF.ready.then(function (tcData) {
_self.requestBidsFromExchanges.call(_self);
}); // header bidding has a fixed amount of time to finish
// after that we call ad server

setTimeout(function () {
googletag.cmd.push(function () {
defineGptSlot(adData);
callAdServer(adData);
});
}, HARD_TIMEOUT);
}; // Request bids from the exchanges

this.requestBidsFromExchanges = function () {
this.getBidsFromPrebidExchanges();
this.getBidsFromAmazon();
}; // get bids from all prebid partners

this.getBidsFromPrebidExchanges = function () {
var prebidAdUnit = this.createPrebidAdUnit();
pbjs.que.push(function () {
pbjs.addAdUnits([prebidAdUnit]); // cache a reference to the advert information presently,
// earlier than we re-assign these variable names once we run auctions for different advert models

var information = adData;
pbjs.requestBids({
adUnitCodes: [adData.id],
bidsBackHandler: perform bidsBackHandler() {
googletag.cmd.push(perform () {
pbjs.que.push(perform () {
// gpt slot should be outlined earlier than bids are set
defineGptSlot(information);
pbjs.setTargetingForGPTAsync([data.id]); // add profitable bid to the advert slot

pbjs.take awayAdUnit(information.id); // take away advert unit from prebid

information.biddersManager.prebid = true; // mark prebid as finished

bidderFinished(information);
});
});
}
});
});
}; // get bids from amazon

this.getBidsFromAmazon = perform () {
var apsAdUnit = this.createApsAdUnit(),
prebidTimeout = pbjs.getConfig(“bidderTimeout”),
timeout = prebidTimeout ? prebidTimeout : 800,
// cache a reference to the advert information presently,
// earlier than we re-assign these variable names once we run auctions for different advert models
information = adData;

if (apstag) {
apstag.fetchBids({
slots: [apsAdUnit],
timeout: timeout
}, perform (bids) {
googletag.cmd.push(perform () {
// gpt slot should be outlined earlier than bids are set
defineGptSlot(information);
apstag.setDisplayBids();
information.biddersManager.amazon = true; // mark amazon as finished

bidderFinished(information);
});
});
}
}; // test if each prebid and amazon are finished
// and if the advert server request hasn’t been despatched but

perform bidderFinished(information) {
if (information.biddersManager.amazon && information.biddersManager.prebid) {
nameAdServer(information);
}
} // name advert server

perform nameAdServer(information) {
if (information.biddersManager.adserverRequestSent) {
return;
}

information.biddersManager.adserverRequestSent = true;
googletag.cmd.push(perform () {
googletag.pubads().refresh([data.gptSlot], {
changeCorrelator: false
}); // ship request to the dfp
});
} // gpt slot is outlined right here, after header bidding, as a result of we do not
// need to delay header bidding till gpt is prepared
// this perform shall be referred to as from amazon callback, prebid callback and after timeout
// slot shall be outlined simply as soon as

perform defineGptSlot(information) {
// test if gpt slot has been already outlined
if (!information.gptSlot) {
information.defineSlot();
}
} // Returns prebid advert unit

this.createPrebidAdUnit = perform () {
var outstreamMediaType = {
context: “outstream”,
participantSize: [444, 250]
};
var bannerMediaType = {
sizes: adData.prebidSizes
};
var adUnit = {
code: adData.id,
mediaTypes: {
banner: bannerMediaType
},
bids: this.getBidders()
}; // add outstream configs if outstream is enabled for this slot

if (this.outstreamEnabled(adData.kind)) {
adUnit.mediaTypes.video = outstreamMediaType;
}

return adUnit;
}; // returns an array of bidders to name
// bidders are added in the order they are going to be referred to as by prebid

this.getBidders = perform () {
var isMobile = window.innerWidth < 768, isMobileLeaderboard = adData.kind === "leaderboard-mobile", bidders = []; if (this.outstreamEnabled(adData.kind)) { bidders.push(this.teads()); } bidders.push(this.appnexus()); bidders.push(this.triplelift()); // kargo is a cellular solely associate if (isMobile) { if (!isMobileLeaderboard) { // if this is not cellular leaderboard kargo may be added bidders.push(this.kargo()); } else if (!isMember) { // kargo makes use of cellular leaderboard to server sticky advertisements // we do not need to present sticky advertisements to slate plus customers // due to this fact if that is cellular leaderboard, embody kargo // provided that this is not slate plus consumer bidders.push(this.kargo()); } } bidders.push(this.rubicon()); // don't embody index in prebid for EU customers if (!this.isEuUser()) { // index change wants one bid per measurement for (var i = 0; i < adData.prebidSizes.length; i++) { var size = adData.prebidSizes[i]; var indexBidForSize = this.index(size); bidders.push(indexBidForSize); } } bidders.push(this.trustx()); bidders.push(this.criteo()); return bidders; }; // Returns ad unit for amazon publisher service this.createApsAdUnit = function () { return { slotID: adData.id, slotName: adData.adUnit, sizes: adData.prebidSizes }; }; // Returns data for appnexus bid request this.appnexus = function () { return { bidder: "appnexusAst", params: { placementId: adData.appnexusPlacementId, keywords: { permutive: permutiveData } } }; }; // Returns data for rubicon bid request this.rubicon = function () { return { bidder: "rubicon", params: { accountId: "13590", siteId: "60302", zoneId: adData.rubiconZoneId } }; }; // Returns data for trustx bid request this.trustx = function () { return { bidder: "trustx", params: { uid: adData.trustxId } }; }; this.criteo = function () { return { bidder: "criteo", params: { zoneId: adData.criteoZoneId } }; }; // Returns data for index bid request this.index = function (size) { return { bidder: "ix", params: { siteId: adData.indexSiteId, size: size } }; }; this.kargo = function () { var placementId = adData.type === "leaderboard-mobile" ? "_mBJrAZ6WvF" : "_uG77kNNswo"; return { bidder: "kargo", params: { placementId: placementId } }; }; this.triplelift = function () { return { bidder: "triplelift", params: { inventoryCode: adData.tripleliftCode } }; }; this.teads = function () { var teadsData = getTeadsData(); return { bidder: "teads", params: { pageId: teadsData.pageId, placementId: teadsData.placementId } }; }; // outstream is enabled only for some in-article slots // slate plus members are excluded this.outstreamEnabled = function (type) { var outstreamEnabledTypes = ["mid-article-spot"https://news.google.com/__i/rss/rd/articles/,"mid-article-spot-tablet"https://news.google.com/__i/rss/rd/articles/,"mid-article-spot-mobile"], isOutstreamSlot = outstreamEnabledTypes.includes(type); return isOutstreamSlot && !isMember; }; // Returns whether user is from EU this.isEuUser = function () { return document.cookie.indexOf("GDPR_consent=1") > -1;
}; // returns permutive information

perform getPermutiveData() {
var pSegs;

attempt catch (e) {
pSegs = [];
}

return pSegs;
}

perform getTeadsInformation() {
var adnodeElement = doc.questionSelector(“div[data-adnode]”);
var advertNode = adnodeElement.getAttribute(“data-adnode”);
var part = advertNode.cut up(“/”)[0]; // teads information for every part

var teadsData = {
news_and_politics: {
web pageId: 79225,
placementId: 85784
},
tradition: {
web pageId: 90291,
placementId: 97769
},
expertise: {
web pageId: 90293,
placementId: 97775
},
enterprise: {
web pageId: 90294,
placementId: 97778
},
human_interest: {
web pageId: 90292,
placementId: 97772
}
};
return teadsData[section];
}
});
}, {“3”:3}];
window.modules[“lazyload.legacy”] = [function(require,module,exports){“use strict”;

require(70); // for side effects

var Layzr = require(71);

var instance = Layzr({
threshold: 100
});
instance.on(“src:before”, function (element) {
// add a load event listener
element.addEventListener(“load”, function (event) {
element.parentElement.classList.add(“loaded”);
});
});
document.addEventListener(“DOMContentLoaded”, function (event) {
instance.update().check().handlers(true);
});
}, {“70″:70,”71”:71}];
window.modules[“prebid.min.legacy”] = [function(require,module,exports){“use strict”;

function _typeof(obj) { if (typeof Symbol === “function” && typeof Symbol.iterator === “symbol”) { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === “function” && obj.constructor === Symbol && obj !== Symbol.prototype ? “symbol” : typeof obj; }; } return _typeof(obj); }

/* prebid.js v3.23.0
Updated : 2020-06-22 */
!function (u) {
var s = window.pbjsChunk;

window.pbjsChunk = function (e, t, n) {
for (var r, o, i, a = 0, c = []; a < e.size; a++) { o = e[a], d[o] && c.push(d[o][0]), d[o] = 0; } for (r in t) { Object.prototype.hasOwnProperty.name(t, r) && (u[r] = t[r]); } for (s && s(e, t, n); c.size;) { c.shift()(); } if (n) for (a = 0; a < n.length; a++) { i = f(f.s = n[a]); } return i; }; var n = {}, d = { 313: 0 }; function f(e) { if (n[e]) return n[e].exports; var t = n[e] = { i: e, l: !1, exports: {} }; return u[e].call(t.exports, t, t.exports, f), t.l = !0, t.exports; } f.m = u, f.c = n, f.d = function (e, t, n) { f.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: n }); }, f.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return f.d(t, "a", t), t; }, f.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, f.p = "", f.oe = function (e) { throw (console.error(e), e); }, f(f.s = 831); }([function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "internal", function () { return k; }), n.d(t, "bind", function () { return N; }), t.getUniqueIdentifierStr = q, t.generateUUID = function e(t) { return t ? (t ^ G() >> t / 4).toString(16) : ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).substitute(/[018]/g, e);
}, t.getBidIdParameter = perform (e, t) {
if (t && t[e]) return t[e];
return “”;
}, t.tryAppendQueryString = perform (e, t, n) {
if (n) return e + t + “=” + encodeURIComponent(n) + “&”;
return e;
}, t.parseQueryStringParameters = perform (e) {
var t = “”;

for (var n in e) {
e.hasOwnProperty(n) && (t += n + “=” + encodeURIComponent(e[n]) + “&”);
}

return t = t.substitute(/&$/, “”);
}, t.remodelAdServerTargetingObj = perform (t) {
return t && 0 < Object.getOwnPropertyNames(t).size ? ge(t).map(perform (e) { return "".concat(e, "=").concat(encodeURIComponent(ye(t, e))); }).be a part of("&") : ""; }, t.getAdUnitSizes = perform (e) { if (!e) return; var t = []; { var n; e.mediaTypes && e.mediaTypes.banner && Array.isArray(e.mediaTypes.banner.sizes) ? (n = e.mediaTypes.banner.sizes, Array.isArray(n[0]) ? t = n : t.push(n)) : Array.isArray(e.sizes) && (Array.isArray(e.sizes[0]) ? t = e.sizes : t.push(e.sizes)); } return t; }, t.parseSizesInput = perform (e) { var t = []; if ("string" == typeof e) { var n = e.cut up(","), r = /^(d)+x(d)+$/i; if (n) for (var o in n) { ae(n, o) && n[o].match(r) && t.push(n[o]); } } else if ("object" === S(e)) { var i = e.size; if (0 < i) if (2 === i && "number" == typeof e[0] && "number" == typeof e[1]) t.push(F(e));else for (var a = 0; a < i; a++) { t.push(F(e[a])); } } return t; }, t.parseGPTSingleSizeArray = F, t.parseGPTSingleSizeArrayToRtbSize = perform (e) { if (W(e)) return { w: e[0], h: e[1] }; }, t.getWindowTop = L, t.getWindowSelf = z, t.getWindowLocation = V, t.logMessage = H, t.logInfo = J, t.logWarn = Okay, t.logError = $, t.hasConsoleLogger = perform () { return _; }, t.debugTurnedOn = Q, t.createInseenIframe = perform () { var e = doc.createElement("iframe"); return e.id = q(), e.peak = 0, e.width = 0, e.border = "0px", e.hspace = "0", e.vspace = "0", e.marginWidth = "0", e.marginHeight = "0", e.model.border = "0", e.scrolling = "no", e.frameBorder = "0", e.src = "https://news.google.com/__i/rss/rd/articles/about:blank", e.model.show = "none", e; }, t.getParameterByName = perform (e) , t.isA = X, t.isFn = Z, t.isStr = ee, t.isArray = te, t.isNumber = ne, t.isPlainObject = re, t.isBoolean = perform (e) { return X(e, C); }, t.isEmpty = oe, t.isEmptyStr = perform (e) , t._each = ie, t.comprises = perform (e, t) { if (oe(e)) return !1; if (Z(e.indexOf)) return -1 !== e.indexOf(t); var n = e.size; for (; n--;) { if (e[n] === t) return !0; } return !1; }, t._map = perform (n, r) { if (oe(n)) return []; if (Z(n.map)) return n.map(r); var o = []; return ie(n, perform (e, t) { o.push(r(e, t, n)); }), o; }, t.hasOwn = ae, t.insertElement = ce, t.triggerPixel = ue, t.callBurl = perform (e) { var t = e.supply, n = e.burl; t === E.S2S.SRC && n && ok.triggerPixel(n); }, t.insertHtmlIntoIframe = perform (e) { if (!e) return; var t = doc.createElement("iframe"); t.id = q(), t.width = 0, t.peak = 0, t.hspace = "0", t.vspace = "0", t.marginWidth = "0", t.marginHeight = "0", t.model.show = "none", t.model.peak = "0px", t.model.width = "0px", t.scrolling = "no", t.frameBorder = "0", t.allowtransparency = "true", ok.insertElement(t, doc, "body"), t.contentWindow.doc.open(), t.contentWindow.doc.write(e), t.contentWindow.doc.shut(); }, t.insertUserSyncIframe = se, t.createTrackPixelHtml = perform (e) { if (!e) return ""; var t = encodeURI(e), n = '

‘;
return n += ‘President Donald Trump keeps making it crystal clear that he thinks it’s hilarious to point out the likelihood that he could stay in workplace past the constitutional two-term restrict. He was at it once more Saturday night time as he egged on supporters to change their chant of “four more years!” to “12 more years.” In Muskegon, Michigan, the crowd on the Trump rally interrupted the president as he boasted about how the Republican Party is now the “Party of Trump” with a chant of “four more years!” That wasn’t sufficient for Trump although. “You really drive them crazy if you say 12 more years,” the president stated. “Then they say ‘he is a fascist,’ ‘he is a fascist’.” The crowd then dutifully breaks right into a chant of “12 more years.”

‘;
}, t.createTrackPixelIframeHtml = de, t.getValueString = fe, t.uniques = le, t.flatten = pe, t.getBidRequest = perform (n, e) {
return n ? (e.some(perform (e) {
var t = s()(e.bids, perform (t) {
return [“bidId”https://news.google.com/__i/rss/rd/articles/,”adId”https://news.google.com/__i/rss/rd/articles/,”bid_id”].some(function (e) {
return t[e] === n;
});
});
return t && (r = t), t;
}), r) : void 0;
var r;
}, t.getKeys = ge, t.getValue = ye, t.getKeyByValue = perform (e, t) {
for (var n in e) {
if (e.hasOwnProperty(n) && e[n] === t) return n;
}
}, t.getBidderCodes = perform () {
return (0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : pbjs.adUnits).map(perform (e) { return e.bids.map(perform (e) { return e.bidder; }).scale back(pe, []); }).scale back(pe).filter(le); }, t.isGptPubadsDefined = be, n.d(t, "getHighestCpm", perform () { return ve; }), n.d(t, "getOldestHighestCpmBid", perform () { return he; }), n.d(t, "getLatestHighestCpmBid", perform () { return me; }), t.shuffle = perform (e) { var t = e.size; for (; 0 < t;) { var n = Math.flooring(Math.random() * t), r = e[--t]; e[t] = e[n], e[n] = r; } return e; }, t.adUnitsFilter = perform (e, t) { return f()(e, t && t.adUnitCode); }, t.deepClone = Ae, t.inIframe = perform () { attempt { return ok.getWindowSelf() !== ok.getWindowTop(); } catch (e) { return !0; } }, t.isSafariBrowser = perform () fxios).)*safari/i.check(navigator.userAgent); , t.substituteAuctionWorth = perform (e, t) { if (!e) return; return e.substitute(/${AUCTION_PRICE}/g, t); }, t.timestamp = perform () { return new Date().getTime(); }, t.hasDeviceAccess = perform () { return !1 !== r.b.getConfig("deviceAccess"); }, t.checkCookieSupport = Ee, t.delayExecution = perform (e, t) { if (t < 1) throw new Error("numRequiredCalls must be a positive number. Got ".concat(t)); var n = 0; return perform () { ++n === t && e.apply(this, arguments); }; }, t.groupBy = perform (e, n) { return e.scale back(perform (e, t) , {}); }, t.getDefinedParams = perform (n, e) { return e.filter(perform (e) { return n[e]; }).scale back(perform (e, t) { return m(e, h({}, t, n[t])); }, {}); }, t.isValidMediaTypes = perform (e) { var t = ["banner"https://news.google.com/__i/rss/rd/articles/,"native"https://news.google.com/__i/rss/rd/articles/,"video"]; if (!Object.keys(e).each(perform (e) { return f()(t, e); })) return !1; if (e.video && e.video.context) return f()(["instream"https://news.google.com/__i/rss/rd/articles/,"outstream"https://news.google.com/__i/rss/rd/articles/,"adpod"], e.video.context); return !0; }, t.getBidderRequest = perform (e, t, n) { return s()(e, perform (e) { return 0 < e.bids.filter(perform (e) { return e.bidder === t && e.adUnitCode === n; }).size; }) || { begin: null, public saleId: null }; }, t.getUserConfiguredParams = perform (e, t, n) { return e.filter(perform (e) { return e.code === t; }).map(perform (e) { return e.bids; }).scale back(pe, []).filter(perform (e) { return e.bidder === n; }).map(perform (e) { return e.params || {}; }); }, t.getOrigin = perform () { return window.location.origin ? window.location.origin : window.location.protocol + "//" + window.location.hostname + (window.location.port ? ":" + window.location.port : ""); }, t.getDNT = perform () , t.isAdUnitCodeMatchingSlot = perform (t) { return perform (e) { return Oe(t, e); }; }, t.isSlotMatchingAdUnitCode = Ie, t.getGptSlotInfoForAdUnitCode = perform (e) { var t; be() && (t = s()(window.googletag.pubads().getSlots(), Ie(e))); if (t) return { gptSlot: t.getAdUnitPath(), divId: t.getSlotElementId() }; return {}; }, t.unsupportedBidderMessage = perform (e, t) { var n = Object.keys(e.mediaTypes || { banner: "banner" }).be a part of("https://news.google.com/__i/rss/rd/articles/,"); return "n ".concat(e.code, " is a ").concat(n, " ad unitn containing bidders that don't support ").concat(n, ": ").concat(t, ".n This bidder won't fetch demand.n "); }, t.isInteger = Te, t.convertCamelToUnderscore = perform (e) { return e.substitute(/(?:^|.?)([A-Z])/g, perform (e, t) { return "_" + t.toLowerCase(); }).substitute(/^_/, ""); }, t.cleanObj = perform (n) { return Object.keys(n).scale back(perform (e, t) { return void 0 !== n[t] && (e[t] = n[t]), e; }, {}); }, t.decide = perform (a, c) { return "object" === S(a) ? c.scale back(perform (e, t, n) { if ("function" == typeof t) return e; var r = t, o = t.match(/^(.+?)sass(.+?)$/i); o && (t = o[1], r = o[2]); var i = a[t]; return "function" == typeof c[n + 1] && (i = c[n + 1](i, e)), void 0 !== i && (e[r] = i), e; }, {}) : {}; }, t.remodelBidderParamKeywords = perform (e) { var r = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : "keywords", o = []; return ie(e, perform (e, t) { if (te(e)) { var n = []; ie(e, perform (e) n.push(e); ), e = n; } else { if (!ee(e = fe(r + "." + t, e))) return; e = [e]; } o.push({ key: t, worth: e }); }), o; }, t.convertTypes = perform (r, o) { return Object.keys(r).forEach(perform (e) { var t, n; o[e] && (Z(r[e]) ? o[e] = r[e](o[e]) : o[e] = (t = r[e], n = o[e], "string" === t ? n && n.toString() : "number" === t ? Number(n) : n), isNaN(o[e]) && delete o.key); }), o; }, t.isArrayOfNums = perform (e, t) , t.fill = perform (e, t) { for (var n = [], r = 0; r < t; r++) { var o = re(e) ? Ae(e) : e; n.push(o); } return n; }, t.chunk = perform (e, t) { for (var n = [], r = 0; r < Math.ceil(e.size / t); r++) { var o = r * t, i = o + t; n.push(e.slice(o, i)); } return n; }, t.getMinValueFromArray = perform (e) { return Math.min.apply(Math, y(e)); }, t.getMaxValueFromArray = perform (e) { return Math.max.apply(Math, y(e)); }, t.compareOn = perform (n) { return perform (e, t) { return e[n] < t[n] ? 1 : e[n] > t[n] ? -1 : 0;
};
}, t.parseQS = je, t.formatQS = we, t.parseUrl = perform (e, t) {
var n = doc.createElement(“a”);
t && “noDecodeWholeURL” in t && t.noDecodeWholeURL ? n.href = e : n.href = decodeURIComponent(e);
var r = t && “decodeSearchAsString” in t && t.decodeSearchAsString;
return “”).substitute(/:$/, “”),
hostname: n.hostname,
port: +n.port,
pathname: n.pathname.substitute(/^(?!/)/, “/”),
search: r ? n.search : ok.parseQS(n.search ;
}, t.buildUrl = perform (e) e.hostname + (e.port ? “:”.concat(e.port) : “”)) + (e.pathname , t.deepEqual = Ce, t.mergeDeep = xe;
var r = n(3),
o = n(167),
i = n.n(o),
a = n(168),
c = n.n(a),
u = n(11),
s = n.n(u),
d = n(12),
f = n.n(d),
l = n(182);
n.d(t, “deepAccess”, perform () {
return l.a;
});
var p = n(183);

perform g(e, t) {
return perform (e) {
if (Array.isArray(e)) return e;
}(e) || perform (e, t) {
if (“undefined” == typeof Symbol || !(Symbol.iterator in Object(e))) return;
var n = [],
r = !0,
o = !1,
i = void 0;

attempt {
for (var a, c = e[Symbol.iterator](); !(r = (a = c.subsequent()).finished) && (n.push(a.worth), !t || n.size !== t); r = !0) {
;
}
} catch (e) {
o = !0, i = e;
} lastly {
attempt lastly {
if (o) throw i;
}
}

return n;
}(e, t) || b(e, t) || perform () {
throw new TypeError(“Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”);
}();
}

perform y(e) {
return perform (e) {
if (Array.isArray(e)) return v(e);
}(e) || perform (e) {
if (“undefined” != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e);
}(e) || b(e) || perform () {
throw new TypeError(“Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.”);
}();
}

perform b(e, t) {
if (e) /^(?:Ui
}

perform v(e, t) {
(null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform h(e, t, n) { return t in e ? Object.defineProperty(e, t, { worth: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } perform m() { return (m = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform S(e) { return (S = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } n.d(t, "deepSetValue", perform () { return p.a; }); var A, E = n(5), O = "Array", I = "String", T = "Function", j = "Number", w = "Object", C = "Boolean", x = Object.prototype.toString, U = Boolean(window.console), _ = Boolean(U && window.console.log), B = Boolean(U && window.console.data), R = Boolean(U && window.console.warn), P = Boolean(U && window.console.error), ok = { checkCookieSupport: Ee, createTrackPixelIframeHtml: de, getWindowSelf: z, getWindowTop: L, getWindowLocation: V, insertUserSyncIframe: se, insertElement: ce, isFn: Z, triggerPixel: ue, logError: $, logWarn: Okay, logMessage: H, logInfo: J, parseQS: je, formatQS: we, deepEqual: Ce }, D = {}, N = perform (e, t) { return t; }.bind(null, 1, D)() === D ? Function.prototype.bind : perform (e) { var t = this, n = Array.prototype.slice.name(arguments, 1); return perform () { return t.apply(e, n.concat(Array.prototype.slice.name(arguments))); }; }, M = (A = 0, perform () { return ++A; }); perform q() { return M() + Math.random().toString(16).substr(2); } perform G() { return window && window.crypto && window.crypto.getRandomValues ? crypto.getRandomValues(new Uint8Array(1))[0] % 16 : 16 * Math.random(); } perform F(e) { if (W(e)) return e[0] + "x" + e[1]; } perform W(e) { return te(e) && 2 === e.size && !isNaN(e[0]) && !isNaN(e[1]); } perform L() { return window.high; } perform z() { return window.self; } perform V() { return window.location; } perform H() { Q() && _ && console.log.apply(console, Y(arguments, "MESSAGE:")); } perform J() { Q() && B && console.data.apply(console, Y(arguments, "INFO:")); } perform Okay() { Q() && R && console.warn.apply(console, Y(arguments, "WARNING:")); } perform $() { Q() && P && console.error.apply(console, Y(arguments, "ERROR:")); } perform Y(e, t) { return e = [].slice.name(e), t && e.unshift(t), e.unshift("display: inline-block; color: #fff; background: #3b88c3; padding: 1px 4px; border-radius: 3px;"), e.unshift("%cPrebid"), e; } perform Q() { return !!r.b.getConfig("debug"); } perform X(e, t) { return x.name(e) === "[object " + t + "]"; } perform Z(e) { return X(e, T); } perform ee(e) { return X(e, I); } perform te(e) { return X(e, O); } perform ne(e) { return X(e, j); } perform re(e) { return X(e, w); } perform oe(e) { if (!e) return !0; if (te(e) || ee(e)) return !(0 < e.size); for (var t in e) { if (hasOwnProperty.name(e, t)) return !1; } return !0; } perform ie(e, t) { if (!oe(e)) { if (Z(e.forEach)) return e.forEach(t, this); var n = 0, r = e.size; if (0 < r) for (; n < r; n++) { t(e[n], n, e); } else for (n in e) { hasOwnProperty.name(e, n) && t.name(this, e[n], n); } } } perform ae(e, t) { return e.hasOwnProperty ? e.hasOwnProperty(t) : void 0 !== e[t] && e.constructor.prototype[t] !== e[t]; } perform ce(e, t, n, r) { var o; t = t || doc, o = n ? t.getElementsByTagIdentify(n) : t.getElementsByTagIdentify("head"); attempt { if ((o = o.size ? o : t.getElementsByTagIdentify("body")).size) { o = o[0]; var i = r ? null : o.firstChild; return o.insertBefore(e, i); } } catch (e) {} } perform ue(e, t) { var n = new Image(); t && ok.isFn(t) && (n.addEventListener("load", t), n.addEventListener("error", t)), n.src = e; } perform se(e, t) { var n = ok.createTrackPixelIframeHtml(e, !1, "allow-scripts allow-same-origin"), r = doc.createElement("div"); r.innerHTML = n; var o = r.firstChild; t && ok.isFn(t) && (o.addEventListener("load", t), o.addEventListener("error", t)), ok.insertElement(o, doc, "html", !0); } perform de(e) perform fe(e, t, n) { return null == t ? n : ee(t) ? t : ne(t) ? t.toString() : void ok.logWarn("Unsuported type for param: " + e + " required type: String"); } perform le(e, t, n) { return n.indexOf(e) === t; } perform pe(e, t) { return e.concat(t); } perform ge(e) { return Object.keys(e); } perform ye(e, t) { return e[t]; } perform be() { if (window.googletag && Z(window.googletag.pubads) && Z(window.googletag.pubads().getSlots)) return !0; } var ve = Se("timeToRespond", perform (e, t) { return t < e; }), he = Se("responseTimestamp", perform (e, t) { return t < e; }), me = Se("responseTimestamp", perform (e, t) { return e < t; }); perform Se(n, r) { return perform (e, t) { return e.cpm === t.cpm ? r(e[n], t[n]) ? t : e : e.cpm < t.cpm ? t : e; }; } perform Ae(e) { return i()(e); } perform Ee() var Oe = perform Oe(e, t) ; perform Ie(t) { return perform (e) { return Oe(e, t); }; } perform Te(e) { return Number.isInteger ? Number.isInteger(e) : "number" == typeof e && isFinite(e) && Math.flooring(e) === e; } perform je(e) { return e ? e.substitute(/^?/, "").cut up("&").scale back(perform (e, t) [], e[r].push(o)) : e[r] = o , {}) : {}; } perform we(e) { return Object.keys(e).map(perform (t) { return Array.isArray(e[t]) ? e[t].map(perform (e) { return "".concat(t, "[]=").concat(e); }).be a part of("&") : "".concat(t, "=").concat(e[t]); }).be a part of("&"); } perform Ce(e, t) { return c()(e, t); } perform xe(e) { for (var t = arguments.size, n = new Array(1 < t ? t - 1 : 0), r = 1; r < t; r++) { n[r - 1] = arguments[r]; } if (!n.length) return e; var o = n.shift(); if (re(e) && re(o)) for (var i in o) { re(o[i]) ? (e[i] || m(e, h({}, i, {})), xe(e[i], o[i])) : te(o[i]) && e[i] ? te(e[i]) && (e[i] = e[i].concat(o[i])) : m(e, h({}, i, o[i])); } return xe.apply(void 0, [e].concat(n)); } }, function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "storage", function () { return T; }), t.registerBidder = function (t) { var n = Array.isArray(t.supportedMediaTypes) ? { supportedMediaTypes: t.supportedMediaTypes } : void 0; function r(e) { var t = C(e); c.default.registerBidAdapter(t, e.code, n); } r(t), Array.isArray(t.aliases) && t.aliases.forEach(function (e) { c.default.aliasRegistry[e] = t.code, r(I({}, t, { code: e })); }); }, t.newBidder = C, n.d(t, "registerSyncInner", function () { return x; }), t.preloadBidderMappingFile = U, t.getIabSubCategory = function (t, e) { var n = c.default.getBidAdapter(t); if (n.getSpec().getMappingFileInfo) { var r = n.getSpec().getMappingFileInfo(), o = r.localStorageKey ? r.localStorageKey : n.getBidderCode(), i = T.getDataFromLocalStorage(o); if (i) { try { i = JSON.parse(i); } catch (e) { Object(m.logError)("Failed to parse ".concat(t, " mapping data stored in local storage")); } return i.mapping[e] ? i.mapping[e] : null; } } }, t.isValid = _; var r = n(100), c = n(7), u = n(3), b = n(32), s = n(44), i = n(35), a = n(38), o = n(5), v = n.n(o), d = n(8), h = n.n(d), f = n(12), l = n.n(f), p = n(4), m = n(0), g = n(2), y = n(13), S = n(9); function A(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try finally { if (o) throw i; } } return n; }(e, t) || function (e, t) 32)(?:Clamped)?Array$/.test(n)) return E(e, t); (e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function E(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform O(e) { return (O = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform I() { return (I = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var T = Object(S.a)("bidderFactory"), j = ["requestId"https://news.google.com/__i/rss/rd/articles/,"cpm"https://news.google.com/__i/rss/rd/articles/,"ttl"https://news.google.com/__i/rss/rd/articles/,"creativeId"https://news.google.com/__i/rss/rd/articles/,"netRevenue"https://news.google.com/__i/rss/rd/articles/,"currency"], w = 1; function C(p) { return I(new r.a(p.code), { getSpec: function getSpec() { return Object.freeze(p); }, registerSyncs: g, callBids: function callBids(i, a, e, n, c, r) { var u, s, t, d, o, f; function l() { e(), h.a.emit(v.a.EVENTS.BIDDER_DONE, i), g(s, i.gdprConsent, i.uspConsent); } Array.isArray(i.bids) && (u = {}, s = [], 0 !== (t = i.bids.filter(y)).length ? (d = {}, t.forEach(function (e) ), (o = p.buildRequests(t, i)) && 0 !== o.length ? (Array.isArray(o) || (o = [o]), f = Object(m.delayExecution)(r(l), o.length), o.forEach(function (o) { switch (o.method) { case "GET": n("".concat(o.url).concat(function (e) { if (e) return "?".concat("object" === O(e) ? Object(m.parseQueryStringParameters)(e) : e); return ""; }(o.data)), { success: r(e), error: t }, void 0, I({ method: "GET", withCredentials: !0 }, o.options)); break; case "POST": n(o.url, { success: r(e), error: t }, "string" == typeof o.data ? o.data : JSON.stringify(o.data), I({ method: "POST", contentType: "text/plain", withCredentials: !0 }, o.options)); break; default: Object(m.logWarn)("Skipping invalid request from ".concat(p.code, ". Request type ").concat(o.type, " must be GET or POST")), f(); } function e(e, t) { c(p.code); try { e = JSON.parse(e); } catch (e) {} var n; e = { body: e, headers: { get: t.getResponseHeader.bind(t) } }, s.push(e); try { n = p.interpretResponse(e, o); } catch (e) { return Object(m.logError)("Bidder ".concat(p.code, " failed to interpret the server's response. Continuing without bids"), null, e), void f(); } function r(e) { var t, n, r, o = d[e.requestId]; o ? (e.originalCpm = e.cpm, e.originalCurrency = e.currency, t = I(Object(b.a)(v.a.STATUS.GOOD, o), e), n = o.adUnitCode, r = t, u[n] = !0, _(n, r, [i]) && a(n, r)) : Object(m.logWarn)("Bidder ".concat(p.code, " made bid for unknown request ID: ").concat(e.requestId, ". Ignoring.")); } n && (Object(m.isArray)(n) ? n.forEach(r) : r(n)), f(n); } function t(e) { c(p.code), Object(m.logError)("Server call for ".concat(p.code, " failed: ").concat(e, ". Continuing without bids.")), f(); } })) : l()) : l()); } }); function g(e, t, n) { x(p, e, t, n); } function y(e) } var x = Object(y.b)("async", function (t, e, n, r) { var o, i, a = u.b.getConfig("userSync.aliasSyncEnabled"); !t.getUserSyncs || !a && c.default.aliasRegistry[t.code] || (o = u.b.getConfig("userSync.filterSettings"), (i = t.getUserSyncs( !o.image && !o.all) , e, n, r)) && (Array.isArray(i) || (i = [i]), i.forEach(function (e) { s.a.registerSync(e.type, t.code, e.url); }))); }, "registerSyncs"); function U(e, t) { if (!u.b.getConfig("adpod.brandCategoryExclusion")) return e.call(this, t); t.filter(function (e) { return Object(m.deepAccess)(e, "mediaTypes.video.context") === g.a; }).map(function (e) { return e.bids.map(function (e) { return e.bidder; }); }).reduce(m.flatten, []).filter(m.uniques).forEach(function (n) { var e = c.default.getBidAdapter(n); if (e.getSpec().getMappingFileInfo) { var t = e.getSpec().getMappingFileInfo(), r = t.refreshInDays ? t.refreshInDays : w, o = t.localStorageKey ? t.localStorageKey : e.getSpec().code, i = T.getDataFromLocalStorage(o); try { (!(i = i ? JSON.parse(i) : void 0) || Object(m.timestamp)() > i.finalUpdated + 24 * r * 60 * 60 * 1e3) && Object(p.a)(t.url, {
success: perform success(e) {
attempt {
e = JSON.parse(e);
var t = {
finalUpdated: Object(m.timestamp)(),
mapping: e.mapping
};
T.setDataInLocalStorage(o, JSON.stringify(t));
} catch (e) {
Object(m.logError)(“Failed to parse “.concat(n, ” bidder translation mapping file”));
}
},
error: perform error() {
Object(m.logError)(“Failed to load “.concat(n, ” bidder translation file”));
}
});
} catch (e) {
Object(m.logError)(“Failed to parse “.concat(n, ” bidder translation mapping file”));
}
}
}), e.name(this, t);
}

perform _(e, t, n) {
perform r(e) {
return “Invalid bid from “.concat(t.bidderCode, “. Ignoring bid: “).concat(e);
}

return e ? t ? (o = Object.keys(t), j.each(perform (e) {
return l()(o, e) && !l()([void 0, null], t[e]);
}) ? “native” !== t.mediaType || Object(i.f)(t, n) ? “video” !== t.mediaType || Object(a.d)(t, n) ? !(“banner” === t.mediaType && !perform (e, t, n) {
if ((t.width || 0 === parseInt(t.width, 10)) && (t.peak || 0 === parseInt(t.peak, 10))) return t.width = parseInt(t.width, 10), t.peak = parseInt(t.peak, 10), 1;
var r = Object(m.getBidderRequest)(n, t.bidderCode, e),
o = r && r.bids && r.bids[0] && r.bids[0].sizes,
i = Object(m.parseSizesInput)(o);

if (1 === i.size) {
var a = A(i[0].cut up(“x”), 2),
c = a[0],
u = a[1];
return t.width = parseInt(c, 10), t.peak = parseInt(u, 10), 1;
}
}(e, t, n)) || (Object(m.logError)(r(“Banner bids require a width and height”)), !1) : (Object(m.logError)(r(“Video bid does not have required vastUrl or renderer property”)), !1) : (Object(m.logError)(r(“Native bid missing some required properties.”)), !1) : (Object(m.logError)(r(“Bidder “.concat(t.bidderCode, ” is missing required params. Check https://prebid.org/dev-docs/bidder-adapter-1.html for list of params.”))), !1)) : (Object(m.logWarn)(“Some adapter tried to add an undefined bid for “.concat(e, “.”)), !1) : (Object(m.logWarn)(“No adUnitCode was supplied to addBidResponse.”), !1);
var o;
}

Object(y.a)(“checkAdUnitSetup”).earlier than(U);
}, perform (e, t, n) {
“use strict”;

n.d(t, “c”, perform () {
return r;
}), n.d(t, “d”, perform () {
return o;
}), n.d(t, “b”, perform () {
return i;
}), n.d(t, “a”, perform () {
return a;
});
var r = “native”,
o = “video”,
i = “banner”,
a = “adpod”;
}, perform (e, t, n) {
“use strict”;

n.d(t, “a”, perform () {
return v;
}), n.d(t, “b”, perform () {
return j;
});
var r = n(45),
o = n(11),
a = n.n(o),
i = n(12),
c = n.n(i),
u = n(80),
s = n.n(u),
d = n(0);

perform f() {
return (f = Object.assign || perform (e) {
for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var l = n(92), p = n(0), g = n(5), y = "TRUE" === p.getParameterByName(g.DEBUG_MODE).toUpperCase(), b = window.location.origin, v = "random", h = {}; h[v] = !0, h.fastened = !0; var m = v, S = { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" }; var A, E, O, I, T, j = (I = [], T = null, w(), { getCurrentBidder: perform getCurrentBidder() { return T; }, getConfig: perform getConfig() { if (arguments.size <= 1 && "function" != typeof (arguments.size <= 0 ? void 0 : arguments[0])) { var e = arguments.size <= 0 ? void 0 : arguments[0]; return e ? p.deepAccess(C(), e) : C(); } return perform (e, t) { var n = t; if ("string" != typeof e && (n = e, e = "*"), "function" == typeof n) { var r = { matter: e, callback: n }; return I.push(r), perform () { I.splice(I.indexOf(r), 1); }; } p.logError("listener must be a function"); }.apply(void 0, arguments); }, setConfig: perform setConfig(n) { var e, r; p.isPlainObject(n) ? (e = Object.keys(n), r = {}, e.forEach(perform (e) { var t = n[e]; p.isPlainObject(A[e]) && p.isPlainObject(t) && (t = f({}, A[e], t)), r[e] = E[e] = t; }), x(r)) : p.logError("setConfig options must be an object"); }, setDefaults: perform setDefaults(e) { p.isPlainObject(A) ? (f(A, e), f(E, e)) : p.logError("defaults must be an object"); }, resetConfig: w, runWithBidder: U, callbackWithBidder: perform callbackWithBidder(i) { return perform (o) { return perform () { if ("function" == typeof o) { for (var e, t = arguments.size, n = new Array(t), r = 0; r < t; r++) { n[r] = arguments[r]; } return U(i, (e = p.bind).name.apply(e, [o, this].concat(n))); } p.logWarn("config.callbackWithBidder callback is not a function"); }; }; }, setBidderConfig: perform setBidderConfig(r) { attempt { !perform (e) (r), r.bidders.forEach(perform (n) { O[n] || (O[n] = {}), Object.keys(r.config).forEach(perform (e) { var t = r.config[e]; p.isPlainObject(t) ? O[n][e] = f({}, O[n][e] || {}, t) : O[n][e] = t; }); }); } catch (e) { p.logError(e); } }, getBidderConfig: perform getBidderConfig() { return O; } }); perform w() { A = {}; var n = { _debug: y, get debug() { return this._debug; }, set debug(e) { this._debug = e; }, _bidderTimeout: 3e3, get bidderTimeout() { return this._bidderTimeout; }, set bidderTimeout(e) { this._bidderTimeout = e; }, _publisherDomain: b, get publisherDomain() { return this._publisherDomain; }, set publisherDomain(e) { this._publisherDomain = e; }, _priceGranularity: S.MEDIUM, set priceGranularity(e) { i(e) && ("string" == typeof e ? this._priceGranularity = o(e) ? e : S.MEDIUM : p.isPlainObject(e) && (this._customPriceBucket = e, this._priceGranularity = S.CUSTOM, p.logMessage("Using custom price granularity"))); }, get priceGranularity() { return this._priceGranularity; }, _customPriceBucket: {}, get customPriceBucket() { return this._customPriceBucket; }, _mediaTypePriceGranularity: {}, get mediaTypePriceGranularity() { return this._mediaTypePriceGranularity; }, set mediaTypePriceGranularity(n) { var r = this; this._mediaTypePriceGranularity = Object.keys(n).scale back(perform (e, t) { return i(n[t]) ? "string" == typeof n ? e[t] = o(n[t]) ? n[t] : r._priceGranularity : p.isPlainObject(n) && (e[t] = n[t], p.logMessage("Using custom price granularity for ".concat(t))) : p.logWarn("Invalid price granularity for media type: ".concat(t)), e; }, {}); }, _sendAllBids: !0, get allowSendAllBids() { return this._sendAllBids; }, set allowSendAllBids(e) { this._sendAllBids = e; }, _useBidCache: !1, get useBidCache() { return this._useBidCache; }, set useBidCache(e) { this._useBidCache = e; }, _deviceAccess: !0, get deviceAccess() { return this._deviceAccess; }, set deviceAccess(e) { this._deviceAccess = e; }, _bidderSequence: m, get bidderSequence() { return this._bidderSequence; }, set bidderSequence(e) { h[e] ? this._bidderSequence = e : p.logWarn("Invalid order: ".concat(e, ". Bidder Sequence was not set.")); }, _timeoutBuffer: 400, get timeoutBuffer() { return this._timeoutBuffer; }, set timeoutBuffer(e) { this._timeoutBuffer = e; }, _disableAjaxTimeout: !1, get disableAjaxTimeout() { return this._disableAjaxTimeout; }, set disableAjaxTimeout(e) { this._disableAjaxTimeout = e; } }; perform o(t) { return a()(Object.keys(S), perform (e) { return t === S[e]; }); } perform i(e) { if (e) p.logWarn("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if (p.isPlainObject(e) && !Object(r.b)(e)) return void p.logError("Invalid custom price value passed to `setPriceGranularity()`"); return 1; p.logError("Prebid Error: no value passed to `setPriceGranularity()`"); } E && x(Object.keys(E).scale back(perform (e, t) { return E[t] !== n[t] && (e[t] = n[t] || {}), e; }, {})), E = n, O = {}; } perform C() { if (T && O && p.isPlainObject(O[T])) { var n = O[T], e = new s.a(Object.keys(E).concat(Object.keys(n))); return l(e).scale back(perform (e, t) { return void 0 === n[t] ? e[t] = E[t] : void 0 !== E[t] && p.isPlainObject(n[t]) ? e[t] = Object(d.mergeDeep)({}, E[t], n[t]) : e[t] = n[t], e; }, {}); } return f({}, E); } perform x(o) { var t = Object.keys(o); I.filter(perform (e) { return c()(t, e.matter); }).forEach(perform (e) { var t, n, r; e.callback((t = {}, n = e.matter, r = o[e.topic], n in t ? Object.defineProperty(t, n, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t)); }), I.filter(perform (e) { return "*" === e.matter; }).forEach(perform (e) { return e.callback(o); }); } perform U(e, t) { T = e; attempt { return t(); } lastly { T = null; } } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return r; }), t.b = o; var l = n(3); perform p() { return (p = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform g(e) { return (g = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var y = n(0), b = 4, r = o(); perform o() { var s = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 3e3, e = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : {}, d = e.request, f = e.finished; return perform (e, t, n) { var r = 3 < arguments.size && void 0 !== arguments[3] ? arguments[3] : {}; attempt { var o, i = r.methodology || (n ? "POST" : "GET"), a = doc.createElement("a"); a.href = e; var c, u = "object" === g(t) && null !== t ? t : { success: perform success() { y.logMessage("xhr success"); }, error: perform error(e) { y.logError("xhr error", null, e); } }; "function" == typeof t && (u.success = t), (o = new window.XMLHttpRequest()).onreadystatechange = perform () 304 === e ? u.success(o.responseText, o) : u.error(o.statusText, o)); , l.b.getConfig("disableAjaxTimeout") || (o.ontimeout = function () { y.logError(" xhr timeout after ", o.timeout, "ms"); }), "GET" === i && n && (p((c = y.parseUrl(e, r)).search, n), e = y.buildUrl(c)), o.open(i, e, !0), l.b.getConfig("disableAjaxTimeout") || (o.timeout = s), r.withCredentials && (o.withCredentials = !0), y._each(r.customHeaders, function (e, t) { o.setRequestHeader(t, e); }), r.preflight && o.setRequestHeader("X-Requested-With"https://news.google.com/__i/rss/rd/articles/,"XMLHttpRequest"), o.setRequestHeader("Content-Type", r.contentType || "text/plain"), "function" == typeof d && d(a.origin), "POST" === i && n ? o.send(n) : o.send(); } catch (e) { y.logError("xhr construction", e); } }; } }, function (e, t) { e.exports = { JSON_MAPPING: { PL_CODE: "code", PL_SIZE: "sizes", PL_BIDS: "bids", BD_BIDDER: "bidder", BD_ID: "paramsd", BD_PL_ID: "placementId", ADSERVER_TARGETING: "adserverTargeting", BD_SETTING_STANDARD: "standard" }, DEBUG_MODE: "pbjs_debug", STATUS: { GOOD: 1, NO_BID: 2 }, CB: { TYPE: { ALL_BIDS_BACK: "allRequestedBidsBack", AD_UNIT_BIDS_BACK: "adUnitBidsBack", BID_WON: "bidWon", REQUEST_BIDS: "requestBids" } }, EVENTS: { AUCTION_INIT: "auctionInit", AUCTION_END: "auctionEnd", BID_ADJUSTMENT: "bidAdjustment", BID_TIMEOUT: "bidTimeout", BID_REQUESTED: "bidRequested", BID_RESPONSE: "bidResponse", NO_BID: "noBid", BID_WON: "bidWon", BIDDER_DONE: "bidderDone", SET_TARGETING: "setTargeting", BEFORE_REQUEST_BIDS: "beforeRequestBids", REQUEST_BIDS: "requestBids", ADD_AD_UNITS: "addAdUnits", AD_RENDER_FAILED: "adRenderFailed" }, AD_RENDER_FAILED_REASON: { PREVENT_WRITING_ON_MAIN_DOCUMENT: "preventWritingOnMainDocuemnt", NO_AD: "noAd", EXCEPTION: "exception", CANNOT_FIND_AD: "cannotFindAd", MISSING_DOC_OR_ADID: "missingDocOrAdid" }, EVENT_ID_PATHS: { bidWon: "adUnitCode" }, GRANULARITY_OPTIONS: { LOW: "low", MEDIUM: "medium", HIGH: "high", AUTO: "auto", DENSE: "dense", CUSTOM: "custom" }, TARGETING_KEYS: { BIDDER: "hb_bidder", AD_ID: "hb_adid", PRICE_BUCKET: "hb_pb", SIZE: "hb_size", DEAL: "hb_deal", SOURCE: "hb_source", FORMAT: "hb_format", UUID: "hb_uuid", CACHE_ID: "hb_cache_id", CACHE_HOST: "hb_cache_host" }, NATIVE_KEYS: { title: "hb_native_title", body: "hb_native_body", body2: "hb_native_body2", privacyLink: "hb_native_privacy", privacyIcon: "hb_native_privicon", sponsoredBy: "hb_native_brand", image: "hb_native_image", icon: "hb_native_icon", clickUrl: "hb_native_linkurl", displayUrl: "hb_native_displayurl", cta: "hb_native_cta", rating: "hb_native_rating", address: "hb_native_address", downloads: "hb_native_downloads", likes: "hb_native_likes", phone: "hb_native_phone", price: "hb_native_price", salePrice: "hb_native_saleprice" }, S2S: { SRC: "s2s", DEFAULT_ENDPOINT: "https://prebid.adnxs.com/pbs/v1/openrtb2/auction", SYNCED_BIDDERS_KEY: "pbjsSyncs" }, BID_STATUS: { BID_TARGETING_SET: "targetingSet", RENDERED: "rendered", BID_REJECTED: "bidRejected" } }; },, function (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), n.d(t, "gdprDataHandler", function () { return B; }), n.d(t, "uspDataHandler", function () { return R; }), t.setS2STestingModule = function (e) { T = e; }; var S = n(0), p = n(101), g = n(35), d = n(1), h = n(4), A = n(3), r = n(13), o = n(12), E = n.n(o), i = n(11), O = n.n(i), y = n(68), I = n(30); function m(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try finally { if (o) throw i; } } return n; }(e, t) || function (e, t) 16(e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function a(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform b() { return (b = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var T, j = n(0), w = n(5), C = n(8), f = {}, x = f.bidderRegistry = {}, l = f.aliasRegistry = {}, U = {}; A.b.getConfig("s2sConfig", perform (e) { U = e.s2sConfig; }); var c = {}; var _ = Object(r.b)("sync", perform (e) { var o = e.bidderCode, s = e.public saleId, d = e.bidderRequestId, t = e.adUnits, f = e.labels, l = e.src; return t.scale back(perform (e, c) { var t = Object(p.b)(Object(p.a)(c, f), c.mediaTypes, c.sizes), n = t.lively, u = t.mediaTypes, r = t.filterResults; return n ? r && j.logInfo('Size mapping filtered adUnit "'.concat(c.code, '" banner sizes from '), r.earlier than, "to ", r.after) : j.logInfo('Size mapping disabled adUnit "'.concat(c.code, '"')), n && e.push(c.bids.filter(perform (e) { return e.bidder === o; }).scale back(perform (e, t) { var n = c.nativeParams || j.deepAccess(c, "mediaTypes.native"); n && (t = b({}, t, { nativeParams: Object(g.g)(n) })), t = b({}, t, Object(S.getDefinedParams)(c, ["fpd"https://news.google.com/__i/rss/rd/articles/,"mediaType"https://news.google.com/__i/rss/rd/articles/,"renderer"https://news.google.com/__i/rss/rd/articles/,"storedAuctionResponse"])); var r = Object(p.b)(Object(p.a)(t, f), u), o = r.lively, i = r.mediaTypes, a = r.filterResults; return o ? a && j.logInfo('Size mapping filtered adUnit "'.concat(c.code, '" bidder "').concat(t.bidder, '" banner sizes from '), a.earlier than, "to ", a.after) : j.logInfo('Size mapping deactivated adUnit "'.concat(c.code, '" bidder "').concat(t.bidder, '"')), j.isValidMediaTypes(i) ? t = b({}, t, { mediaTypes: i }) : j.logError("mediaTypes is not correctly configured for adunit ".concat(c.code)), o && e.push(b({}, t, )), e; }, [])), e; }, []).scale back(S.flatten, []).filter(perform (e) { return "" !== e; }); }, "getBids"); var B = { consentData: null, setConsentData: perform setConsentData(e) { B.consentData = e; }, getConsentData: perform getConsentData() { return B.consentData; } }, R = { consentData: null, setConsentData: perform setConsentData(e) { R.consentData = e; }, getConsentData: perform getConsentData() { return R.consentData; } }; perform P() { return U && U.enabled && U.testing && T; } perform u(t, n, e) { attempt { var r = x[t].getSpec(); r && r[n] && "function" == typeof r[n] && (j.logInfo("Invoking ".concat(t, ".").concat(n)), A.b.runWithBidder(t, S.bind.name(r[n], r, e))); } catch (e) { j.logWarn("Error calling ".concat(n, " of ").concat(t)); } } f.makeBidRequests = Object(r.b)("sync", perform (e, o, i, a, c) { C.emit(w.EVENTS.BEFORE_REQUEST_BIDS, e); var u = [], t = Object(S.getBidderCodes)(e); A.b.getConfig("bidderSequence") === A.a && (t = Object(S.shuffle)(t)); var n, r, s, d, f, l, p, g = Object(I.b)(), y = t, b = []; U.enabled && (P() && (b = T.getSourceBidderMap(e)[T.CLIENT]), n = U.bidders, y = t.filter(perform (e) ), Boolean(P() && U.checkServerSolely) && (p = e, Boolean(O()(p, perform (e) { return O()(e.bids, perform (e) ); }))) && (y.size = 0), d = e, f = U.bidders, (l = j.deepClone(d)).forEach(perform (e) { e.bids = e.bids.filter(perform (e) ).map(perform (e) { return e.bid_id = j.getUniqueIdentifierStr(), e; }); }), r = l = l.filter(perform (e) { return 0 !== e.bids.size; }), s = j.generateUUID(), n.forEach(perform (e) { var t = j.getUniqueIdentifierStr(), n = { bidderCode: e, public saleId: i, bidderRequestId: t, tid: s, bids: _({ bidderCode: e, public saleId: i, bidderRequestId: t, adUnits: j.deepClone(r), labels: c, src: w.S2S.SRC }), auctionStart: o, timeout: U.timeout, src: w.S2S.SRC, refererInfo: g }; 0 !== n.bids.size && u.push(n); }), r.forEach(perform (e) { var t = e.bids.filter(perform (t) { return O()(u, perform (e) { return O()(e.bids, perform (e) { return e.bidId === t.bid_id; }); }); }); e.bids = t; }), u.forEach(perform (e) { e.adUnitsS2SCopy = r.filter(perform (e) { return 0 < e.bids.size; }); })); var v, h, m = (v = e, (h = j.deepClone(v)).forEach(perform (e) { e.bids = e.bids.filter(perform (e) e.finalSource !== T.SERVER; ); }), h = h.filter(perform (e) { return 0 !== e.bids.size; })); return y.forEach(perform (e) { var t = j.getUniqueIdentifierStr(), n = { bidderCode: e, public saleId: i, bidderRequestId: t, bids: _({ bidderCode: e, public saleId: i, bidderRequestId: t, adUnits: j.deepClone(m), labels: c, src: "client" }), auctionStart: o, timeout: a, refererInfo: g }, r = x[e]; r || j.logError("Trying to make a request for bidder that does not exist: ".concat(e)), r && n.bids && 0 !== n.bids.size && u.push(n); }), B.getConsentData() && u.forEach(perform (e) { e.gdprConsent = B.getConsentData(); }), R.getConsentData() && u.forEach(perform (e) { e.uspConsent = R.getConsentData(); }), u; }, "makeBidRequests"), f.nameBids = perform (e, t, o, i, a, c, u) { var n, r, s, d, f, l, p, g, y, b, v; t.size ? (r = (n = m(t.scale back(perform (e, t) { return e[Number(void 0 !== t.src && t.src === w.S2S.SRC)].push(t), e; }, [[], []]), 2))[0], (s = n[1]).size && (d = Object(h.b)(c, a ? { request: a.request.bind(null, "s2s"), finished: a.finished } : void 0), f = U.bidders, l = x[U.adapter], p = s[0].tid, g = s[0].adUnitsS2SCopy, l ? (y = { tid: p, ad_units: g }).ad_units.size && (b = s.map(perform (e) { return e.begin = Object(S.timestamp)(), i.bind(e); }), v = y.ad_units.scale back(perform (e, t) { return e.concat((t.bids || []).scale back(perform (e, t) { return e.concat(t.bidder); }, [])); }, []), j.logMessage("CALLING S2S HEADER BIDDERS ==== ".concat(f.filter(perform (e) { return E()(v, e); }).be a part of(","))), s.forEach(perform (e) { C.emit(w.EVENTS.BID_REQUESTED, e); }), l.nameBids(y, s, perform (e, t) { var n = Object(S.getBidderRequest)(s, t.bidderCode, e); n && o.name(n, e, t); }, perform () { return b.forEach(perform (e) { return e(); }); }, d)) : j.logError("missing " + U.adapter)), r.forEach(perform (t) { t.begin = Object(S.timestamp)(); var e = x[t.bidderCode]; j.logMessage("CALLING BIDDER ======= ".concat(t.bidderCode)), C.emit(w.EVENTS.BID_REQUESTED, t); var n = Object(h.b)(c, a ? { request: a.request.bind(null, t.bidderCode), finished: a.finished } : void 0), r = i.bind(t); attempt { A.b.runWithBidder(t.bidderCode, S.bind.name(e.nameBids, e, t, o.bind(t), r, n, u, A.b.callbackWithBidder(t.bidderCode))); } catch (e) { j.logError("".concat(t.bidderCode, " Bid Adapter emitted an uncaught error when parsing their bidRequest"), { e: e, bidRequest: t }), r(); } })) : j.logWarn("callBids executed with no bidRequests. Were they filtered by labels or sizing?"); }, f.videoAdapters = [], f.registerBidAdapter = perform (e, t) { var n = (2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : {}).supportedMediaTypes, r = void 0 === n ? [] : n; e && t ? "function" == typeof e.nameBids ? (x[t] = e, E()(r, "video") && f.videoAdapters.push(t), E()(r, "native") && g.e.push(t)) : j.logError("Bidder adaptor error for bidder code: " + t + "bidder must implement a callBids() function") : j.logError("bidAdaptor or bidderCode not specified"); }, f.aliasBidAdapter = perform (t, e) { var n, r; if (void 0 === x[e]) { var o = x[t]; if (void 0 === o) { var i = A.b.getConfig("s2sConfig"), a = i && i.bidders; a && E()(a, e) ? l[e] = t : j.logError('bidderCode "' + t + '" shouldn't be an current bidder."https://news.google.com/__i/rss/rd/articles/,"adapterManager.aliasBidAdapter"); } else attempt { var c, u, s = (n = t, r = [], E()(f.videoAdapters, n) && r.push("video"), E()(g.e, n) && r.push("native"), r); o.constructor.prototype != Object.prototype ? (u = new o.constructor()).setBidderCode(e) : (c = o.getSpec(), u = Object(d.newBidder)(b({}, c, { code: e })), l[e] = t), f.registerBidAdapter(u, e, { supportedMediaTypes: s }); } catch (e) { j.logError(t + " bidder does not currently support aliasing."https://news.google.com/__i/rss/rd/articles/,"adapterManager.aliasBidAdapter"); } } else j.logMessage('alias identify "' + e + '" has been already specified.'); }, f.registerAnalyticsAdapter = perform (e) { var t = e.adapter, n = e.code; t && n ? "function" == typeof t.allowAnalytics ? (t.code = n, c[n] = t) : j.logError('Prebid Error: Analytics adaptor error for analytics "'.concat(n, '"n analytics adapter should implement an allowAnalytics() perform')) : j.logError("Prebid Error: analyticsAdapter or analyticsCode not specified"); }, f.allowAnalytics = perform (e) { j.isArray(e) || (e = [e]), j._each(e, perform (e) { var t = c[e.provider]; t ? t.allowAnalytics(e) : j.logError("Prebid Error: no analytics adapter found in registry forn ".concat(e.supplier, ".")); }); }, f.getBidAdapter = perform (e) { return x[e]; }, f.callTimedOutBidders = perform (t, n, r) { n = n.map(perform (e) { return e.params = j.getUserConfiguredParams(t, e.adUnitCode, e.bidder), e.timeout = r, e; }), n = j.groupBy(n, "bidder"), Object.keys(n).forEach(perform (e) { u(e, "onTimeout", n[e]); }); }, f.nameBidReceivedBidder = perform (e, t, n) { t.params = j.getUserConfiguredParams(n, t.adUnitCode, t.bidder), y.a.incrementBidderWinsCounter(t.adUnitCode, t.bidder), u(e, "onBidWon", t); }, f.nameSetTargetingBidder = perform (e, t) { u(e, "onSetTargeting", t); }, t.default = f; }, perform (e, t, n) { perform r() { return (r = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var c, o, u = n(0), i = n(5), a = Array.prototype.slice, s = Array.prototype.push, d = u._map(i.EVENTS, perform (e) { return e; }), f = i.EVENT_ID_PATHS, l = []; e.exports = (c = {}, (o = {}).on = perform (e, t, n) { var r, o; o = e, u.comprises(d, o) ? (r = c[e] || { que: [] }, n ? (r[n] = r[n] || { que: [] }, r[n].que.push(t)) : r.que.push(t), c[e] = r) : u.logError("Wrong event name : " + e + " Valid event names :" + d); }, o.emit = perform (e) { !perform (e, t) { u.logMessage("Emitting event for: " + e); var n = t[0] || {}, r = n[f[e]], o = c[e] || { que: [] }, i = u._map(o, perform (e, t) { return t; }), a = []; l.push({ occasionType: e, args: n, id: r }), r && u.comprises(i, r) && s.apply(a, o[r].que), s.apply(a, o.que), u._each(a, perform (e) { if (e) attempt { e.apply(null, t); } catch (e) { u.logError("Error executing handler:"https://news.google.com/__i/rss/rd/articles/,"events.js", e); } }); }(e, a.name(arguments, 1)); }, o.off = perform (e, n, r) { var o = c[e]; u.isEmpty(o) || u.isEmpty(o.que) && u.isEmpty(o[r]) || r && (u.isEmpty(o[r]) || u.isEmpty(o[r].que)) || (r ? u._each(o[r].que, perform (e) { var t = o[r].que; e === n && t.splice(t.indexOf(e), 1); }) : u._each(o.que, perform (e) { var t = o.que; e === n && t.splice(t.indexOf(e), 1); }), c[e] = o); }, o.get = perform () { return c; }, o.getEvents = perform () { var n = []; return u._each(l, perform (e) { var t = r({}, e); n.push(t); }), n; }, o); }, perform (e, t, n) { "use strict"; n.d(t, "c", perform () { return f; }), n.d(t, "d", perform () { return l; }), t.a = perform (e) { return i({ moduleName: e, moduleType: "core" }); }, t.b = perform (e, t) { return i({ gvlid: e, moduleName: t }); }; var r = n(13), c = n(0), o = n(12), u = n.n(o), d = ["core"https://news.google.com/__i/rss/rd/articles/,"prebid-module"], f = []; perform i(e) { var t = 0 < arguments.size && void 0 !== e ? e : {}, o = t.gvlid, i = t.moduleName, a = t.moduleType; perform s(n) { if (u()(d, a)) { return n({ legitimate: !0 }); } var r; return l(o, i, { hasEnforcementHook: !1 }, perform (e) { var t; r = e && e.hasEnforcementHook ? n(e) : (t = { hasEnforcementHook: !1, legitimate: c.hasDeviceAccess() }, n(t)); }), r; } return { setCookie: perform setCookie(o, i, a, c, u, t) { perform n(e) { var t, n, r; e && e.legitimate && (t = u && "" !== u ? " ;domain=".concat(encodeURIComponent(u)) : "", n = a && "" !== a ? " ;expires=".concat(a) : "", r = null != c && "none" == c.toLowerCase() ? "; Secure" : "", doc.cookie = "".concat(o, "=").concat(encodeURIComponent(i)).concat(n, "; path=/").concat(t).concat(c ? "; SameSite=".concat(c) : "").concat(r)); } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, getCookie: perform getCookie(n, t) { perform r(e) { if (e && e.legitimate) $)"); return t ? decodeURIComponent(t[2]) : null; return null; } if (!t || "function" != typeof t) return s(r); f.push(perform () { var e = s(r); t(e); }); }, localStorageIsEnabled: perform localStorageIsEnabled(t) { perform n(e) { if (e && e.legitimate) attempt { return localStorage.setItem("prebid.cookieTest"https://news.google.com/__i/rss/rd/articles/,"1"), "1" === localStorage.getItem("prebid.cookieTest"); } catch (e) {} return !1; } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, cookiesAreEnabled: perform cookiesAreEnabled(t) { perform n(e) !e.legitimate) && (!!c.checkCookieSupport() if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, setDataInLocalStorage: perform setDataInLocalStorage(t, n, r) { perform o(e) { e && e.legitimate && window.localStorage.setItem(t, n); } if (!r || "function" != typeof r) return s(o); f.push(perform () { var e = s(o); r(e); }); }, getDataFromLocalStorage: perform getDataFromLocalStorage(t, n) { perform r(e) { return e && e.legitimate ? window.localStorage.getItem(t) : null; } if (!n || "function" != typeof n) return s(r); f.push(perform () { var e = s(r); n(e); }); }, removeDataFromLocalStorage: perform removeDataFromLocalStorage(t, n) { perform r(e) { e && e.legitimate && window.localStorage.removeItem(t); } if (!n || "function" != typeof n) return s(r); f.push(perform () { var e = s(r); n(e); }); }, hasLocalStorage: perform hasLocalStorage(t) { perform n(e) { if (e && e.legitimate) attempt { return !!window.localStorage; } catch (e) { c.logError("Local storage api disabled"); } return !1; } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); }, findSimilarCookies: perform findSimilarCookies(i, t) { perform n(e) { if (e && e.legitimate) { var t = []; if (c.hasDeviceAccess()) for (var n = doc.cookie.cut up(";"); n.size;) { var r = n.pop(), o = (o = r.indexOf("=")) < 0 ? r.size : o; 0 <= decodeURIComponent(r.slice(0, o).substitute(/^s+/, "")).indexOf(i) && t.push(decodeURIComponent(r.slice(o + 1))); } return t; } } if (!t || "function" != typeof t) return s(n); f.push(perform () { var e = s(n); t(e); }); } }; } var l = Object(r.b)("async", perform (e, t, n, r) { r(n); }, "validateStorageEnforcement"); }, perform (e, t, n) { "use strict"; t.a = o, t.c = perform (e) !e.url); , t.b = perform (e, t) { e.render(t); }; var u = n(39), s = n(0), r = n(11), d = n.n(r), f = "outstream"; perform o(e) { var t = this, r = e.url, n = e.config, o = e.id, i = e.callback, a = e.loaded, c = e.adUnitCode; this.url = r, this.config = n, this.handlers = {}, this.id = o, this.loaded = a, this.cmd = [], this.push = perform (e) { "function" == typeof e ? t.loaded ? e.name() : t.cmd.push(e) : s.logError("Commands given to Renderer.push must be wrapped in a function"); }, this.callback = i || perform () { t.loaded = !0, t.course of(); }, this.render = perform () { var t, e, n; t = c, e = pbjs.adUnits, (n = d()(e, perform (e) { return e.code === t; })) && n.renderer && n.renderer.url && n.renderer.render ? s.logWarn("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(c)) : Object(u.a)(r, f, this.callback), this._render ? this._render.apply(this, arguments) : s.logWarn("No render function was provided, please use .setRender on the renderer"); }.bind(this); } o.set up = perform (e) { return new o({ url: e.url, config: e.config, id: e.id, callback: e.callback, loaded: e.loaded, adUnitCode: e.adUnitCode }); }, o.prototype.getConfig = perform () { return this.config; }, o.prototype.setRender = perform (e) { this._render = e; }, o.prototype.setEventHandlers = perform (e) { this.handlers = e; }, o.prototype.deal withVideoOccasion = perform (e) { var t = e.id, n = e.eventName; "function" == typeof this.handlers[n] && this.handlers[n](), s.logMessage("Prebid Renderer event for id ".concat(t, " type ").concat(n)); }, o.prototype.course of = perform () { for (; 0 < this.cmd.size;) { attempt { this.cmd.shift().name(); } catch (e) { s.logError("Error processing Renderer command: ", e); } } }; }, perform (e, t, n) { var r = n(105); e.exports = r; }, perform (e, t, n) { var r = n(114); e.exports = r; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return a; }), n.d(t, "a", perform () { return c; }), t.d = perform (e, t) { var n = 2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : 15; 0 === e.getHooks({ hook: t }).size && e.earlier than(t, n); }, t.c = perform (e, n) { a("async", perform (e) { e.forEach(perform (e) { return n.apply(void 0, perform (e) { if (Array.isArray(e)) return i(e); }(t = e) || perform (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(t) || perform (e, t) { if (e) /^(?:Ui }(t) || perform () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }()); var t; }); }, e)([]); }, t.e = perform (e) { for (var t = arguments.size, n = new Array(1 < t ? t - 1 : 0), r = 1; r < t; r++) { n[r - 1] = arguments[r]; } c(e).before(function (e, t) { t.push(n), e(t); }); }; var r = n(184), o = n.n(r); function i(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } var a = o()( o.a.QUEUE ), c = a.get; }, perform (e, t, n) { "use strict"; perform v(r) { perform e(e, t, n) { if (this instanceof r) { change (arguments.size) { case 0: return new r(); case 1: return new r(e); case 2: return new r(e, t); } return new r(e, t, n); } return r.apply(this, arguments); } return e.prototype = r.prototype, e; } var h = n(22), m = n(107).f, S = n(109), A = n(42), E = n(21), O = n(29), I = n(24); e.exports = perform (e, t) { var n, r, o, i, a, c, u, s, d = e.goal, f = e.world, l = e.stat, p = e.proto, g = f ? h : l ? h[d] : (h[d] || {}).prototype, y = f ? A : A[d] || (A[d] = {}), b = y.prototype; for (o in t) { n = !S(f ? o : d + (l ? "." : "#") + o, e.compelled) && g && I(g, o), a = y[o], n && (c = e.noTargetGet ? (s = m(g, o)) && s.worth : g[o]), i = n && c ? c : t[o], n && _typeof(a) == _typeof(i) || (u = e.bind && n ? E(i, h) : e.wrap && n ? v(i) : p && "function" == typeof i ? E(Function.name, i) : i, (e.sham || i && i.sham || a && a.sham) && O(u, "sham", !0), y[o] = u, p && (I(A, r = d + "Prototype") || O(A, r, {}), A[r][o] = i, e.actual && b && !b[o] && O(b, o, i))); } }; }, perform (e, t, n) { var r = n(23); e.exports = perform (e) { if (!r(e)) throw TypeError(String(e) + " is not an object"); return e; }; }, perform (e, t) { e.exports = !0; }, perform (e, t, n) { perform p(e, t) { this.stopped = e, this.end result = t; } var g = n(15), y = n(82), b = n(50), v = n(21), h = n(61), m = n(83); (e.exports = perform (e, t, n, r, o) { var i, a, c, u, s, d, f, l = v(t, n, r ? 2 : 1); if (o) i = e;else { if ("function" != typeof (a = h(e))) throw TypeError("Target is not iterable"); if (y(a)) { for (c = 0, u = b(e.size); c < u; c++) { if ((s = r ? l(g(f = e[c])[0], f[1]) : l(e[c])) && s instanceof p) return s; } return new p(!1); } i = a.name(e); } for (d = i.subsequent; !(f = d.name(i)).finished;) { if ("object" == _typeof(s = m(i, l, f.worth, r)) && s && s instanceof p) return s; } return new p(!1); }).cease = perform (e) { return new p(!0, e); }; }, perform (e, t) { e.exports = perform (e) { if ("function" != typeof e) throw TypeError(String(e) + " is not a function"); return e; }; }, perform (e, t, n) , perform (e, t, n) { "use strict"; t.a = perform () { return window.pbjs; }, window.pbjs = window.pbjs || {}, window.pbjs.cmd = window.pbjs.cmd || [], window.pbjs.que = window.pbjs.que || [], window._pbjsGlobals = window._pbjsGlobals || [], window._pbjsGlobals.push("pbjs"); }, perform (e, t, n) { var i = n(18); e.exports = perform (r, o, e) { if (i(r), void 0 === o) return r; change (e) { case 0: return perform () { return r.name(o); }; case 1: return perform (e) { return r.name(o, e); }; case 2: return perform (e, t) { return r.name(o, e, t); }; case 3: return perform (e, t, n) { return r.name(o, e, t, n); }; } return perform () { return r.apply(o, arguments); }; }; }, perform (n, e, t) { (perform (e) { perform t(e) { return e && e.Math == Math && e; } n.exports = t("object" == (typeof worldThis === "undefined" ? "undefined" : _typeof(worldThis)) && worldThis) || t("object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && window) || t("object" == (typeof self === "undefined" ? "undefined" : _typeof(self)) && self) || t("object" == _typeof(e) && e) || Function("return this")(); }).name(e, t(33)); }, perform (e, t) { e.exports = perform (e) { return "object" == _typeof(e) ? null !== e : "function" == typeof e; }; }, perform (e, t) { var n = {}.hasOwnProperty; e.exports = perform (e, t) { return n.name(e, t); }; }, perform (e, t, n) { perform r(e) { return "function" == typeof e ? e : void 0; } var o = n(42), i = n(22); e.exports = perform (e, t) ; }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return u; }); var r = n(0), s = n(40), o = n(11), i = n.n(o), a = n(5); var d, c, u = (d = [], (c = {}).addWinningBid = perform (t) { var e = i()(d, perform (e) { return e.getAuctionId() === t.public saleId; }); e ? (t.standing = a.BID_STATUS.RENDERED, e.addWinningBid(t)) : Object(r.logWarn)("Auction not found when adding winning bid"); }, c.getAllWinningBids = perform () { return d.map(perform (e) { return e.getWinningBids(); }).scale back(r.flatten, []); }, c.getBidsRequested = perform () { return d.map(perform (e) { return e.getBidRequests(); }).scale back(r.flatten, []); }, c.getNoBids = perform () { return d.map(perform (e) { return e.getNoBids(); }).scale back(r.flatten, []); }, c.getBidsReceived = perform () { return d.map(perform (e) { if (e.getAuctionStanding() === s.a) return e.getBidsReceived(); }).scale back(r.flatten, []).filter(perform (e) { return e; }); }, c.getAdModels = perform () { return d.map(perform (e) { return e.getAdModels(); }).scale back(r.flatten, []); }, c.getAdUnitCodes = perform () { return d.map(perform (e) { return e.getAdUnitCodes(); }).scale back(r.flatten, []).filter(r.uniques); }, c.createAuction = perform (e) { var t, n = e.adUnits, r = e.adUnitCodes, o = e.callback, i = e.cbTimeout, a = e.labels, c = e.public saleId, u = Object(s.ok)({ adUnits: n, adUnitCodes: r, callback: o, cbTimeout: i, labels: a, public saleId: c }); return t = u, d.push(t), u; }, c.discoverBidByAdId = perform (t) { return i()(d.map(perform (e) { return e.getBidsReceived(); }).scale back(r.flatten, []), perform (e) { return e.advertId === t; }); }, c.getStandardBidderAdServerTargeting = perform () { return Object(s.j)()[a.JSON_MAPPING.ADSERVER_TARGETING]; }, c.setStatusForBids = perform (e, t) { var n, r = c.discoverBidByAdId(e); r && (r.standing = t), !r || t !== a.BID_STATUS.BID_TARGETING_SET || (n = i()(d, perform (e) { return e.getAuctionId() === r.public saleId; })) && n.setBidTargeting(r); }, c.getLastAuctionId = perform () { return d.size && d[d.length - 1].getAuctionId(); }, c); }, perform (e, t, n) { var r = n(28); e.exports = !r(perform () { return 7 != Object.defineProperty({}, 1, { get: perform get() { return 7; } })[1]; }); }, perform (e, t) { e.exports = perform (e) { attempt { return !!e(); } catch (e) { return !0; } }; }, perform (e, t, n) { var r = n(27), o = n(31), i = n(46); e.exports = r ? perform (e, t, n) { return o.f(e, t, i(1, n)); } : perform (e, t, n) { return e[t] = n, e; }; }, perform (e, t, n) { "use strict"; t.a = r, n.d(t, "b", perform () { return o; }); var a = n(0); perform c() { return (c = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } perform r(o) { perform i() { var e = perform () { var t, n = []; do { attempt { t = t ? t.dad or mum : o; attempt { var e = t == o.high, r = null, isTop: e ; e && (r = c(r, { canonicalUrl: perform (e) { attempt { var t = e.questionSelector("hyperlink[rel="canonical"]"); if (null !== t) return t.href; } catch (e) {} return null; }(t.doc) })), n.push(r); } catch (e) { n.push({ referrer: null, location: null, isTop: t == o.high }), Object(a.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location"); } } catch (e) { return n.push({ referrer: null, location: null, isTop: !1 }), n; } } whereas (t != o.high); return n; }(), t = perform () { attempt { if (!o.location.ancestorOrigins) return; return o.location.ancestorOrigins; } catch (e) {} }(); if (t) for (var n = 0, r = t.size; n < r; n++) { e[n].ancestor = t[n]; } return e; } return perform () { attempt { var e, t = i(), n = t.size - 1, r = null !== t[n].location || 0 < n && null !== t[n - 1].referrer, o = perform (e) { for (var t = [], n = null, r = null, o = null, i = null, a = null, c = null, u = e.size - 1; 0 <= u; u--) { attempt { r = e[u].location; } catch (e) {} if (r) t.push(r), c = c || r;else if (0 !== u) { o = e[u - 1]; attempt { i = o.referrer, a = o.ancestor; } catch (e) {} i ? (t.push(i), c = c || i) : a ? (t.push(a), c = c || a) : t.push(n); } else t.push(n); } return { stack: t, detectedRefererUrl: c }; }(t); return t[t.length - 1].canonicalUrl && (e = t[t.length - 1].canonicalUrl), { referer: o.detectedRefererUrl, reachedTop: r, numIframes: n, stack: o.stack, canonicalUrl: e }; } catch (e) {} }; } var o = r(window); }, perform (e, t, n) { var r = n(27), o = n(74), i = n(15), a = n(55), c = Object.defineProperty; t.f = r ? c : perform (e, t, n) { if (i(e), t = a(t, !0), i(n), o) attempt { return c(e, t, n); } catch (e) {} if ("get" in n || "set" in n) throw TypeError("Accessors not supported"); return "value" in n && (e[t] = n.worth), e; }; }, perform (e, t, n) { "use strict"; t.a = perform (e, t) { return new r(e, t); }; var o = n(0); perform r(e, t) { var n = t && t.src || "client", r = e || 0; this.bidderCode = t && t.bidder || "", this.width = 0, this.peak = 0, this.statusMessage = perform () { change (r) { case 0: return "Pending"; case 1: return "Bid available"; case 2: return "Bid returned empty or error response"; case 3: return "Bid timed out"; } }(), this.advertId = o.getUniqueIdentifierStr(), this.requestId = t && t.bidId, this.mediaType = "banner", this.supply = n, this.getStatusCode = perform () { return r; }, this.getSize = perform () { return this.width + "x" + this.peak; }; } }, perform (e, t) { var n = perform () { return this; }(); attempt Function("return this")() catch (e) { "object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && (n = window); } e.exports = n; }, perform (e, t, n) { var r = n(16), o = n(91); e.exports = r ? o : perform (e) { return Set.prototype.values.name(e); }; }, perform (e, t, n) { "use strict"; n.d(t, "e", perform () { return i; }), n.d(t, "a", perform () { return s; }), t.g = perform (e) { if (e && e.kind && perform (e) (e.kind)) return d[e.type]; return e; }, t.f = perform (t, e) { var n = Object(a.getBidRequest)(t.requestId, e); if (!n) return !1; if (!Object(a.deepAccess)(t, "native.clickUrl")) return !1; if (Object(a.deepAccess)(t, "native.image") && (!Object(a.deepAccess)(t, "native.image.height") || !Object(a.deepAccess)(t, "native.image.width"))) return !1; if (Object(a.deepAccess)(t, "native.icon") && (!Object(a.deepAccess)(t, "native.icon.height") || !Object(a.deepAccess)(t, "native.icon.width"))) return !1; var r = n.nativeParams; if (!r) return !0; var o = Object.keys(r).filter(perform (e) { return r[e].required; }), i = Object.keys(t.native).filter(perform (e) { return t.native[e]; }); return o.each(perform (e) { return c()(i, e); }); }, t.b = perform (e, t) , t.d = perform (r, o) { var i = {}; return Object.keys(r.native).forEach(perform (e) { var t = u.NATIVE_KEYS[e], n = f(r.native[e]); Object(a.deepAccess)(o, "mediaTypes.native.".concat(e, ".sendId")) && (n = "".concat(t, ":").concat(r.advertId)), t && n && (i[t] = n); }), i; }, t.c = perform (e, r) { var o = { message: "assetResponse", advertId: e.advertId, belongings: [] }; return e.belongings.forEach(perform (e) { var t = Object(a.getKeyByValue)(u.NATIVE_KEYS, e), n = f(r.native[t]); o.belongings.push({ key: t, worth: n }); }), o; }; var a = n(0), r = n(12), c = n.n(r); perform o(e) { return (o = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var u = n(5), i = [], s = Object.keys(u.NATIVE_KEYS).map(perform (e) { return u.NATIVE_KEYS[e]; }), d = { picture: { picture: { required: !0 }, title: { required: !0 }, sponsoredBy: { required: !0 }, clickUrl: { required: !0 }, physique: { required: !1 }, icon: { required: !1 } } }; perform f(e) { return "object" === o(e) && e.url ? e.url : e; } }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { var o = n(15), i = n(18), a = n(19)("species"); e.exports = perform (e, t) null == (n = o(r)[a]) ? t : i(n); ; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return c; }), n.d(t, "a", perform () { return u; }), t.d = perform (e, t) { var n = Object(i.getBidRequest)(e.requestId, t), r = n && Object(i.deepAccess)(n, "mediaTypes.video"), o = r && Object(i.deepAccess)(r, "context"); return s(e, n, r, o); }, n.d(t, "c", perform () { return s; }); n(7); var i = n(0), o = n(3), r = n(12), a = (n.n(r), n(13)), c = "outstream", u = "instream"; var s = Object(a.b)("sync", perform (e, t, n, r) { return !t || n && r !== c ? o.b.getConfig("cache.url") || !e.vastXml || e.vastUrl ? !(!e.vastUrl && !e.vastXml) : (Object(i.logError)('n This bid comprises solely vastXml and won't work when a prebid cache url shouldn't be specified.n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });n '), !1) : r !== c || !(!e.renderer && !t.renderer); }, "checkVideoBidSetup"); }, perform (e, t, n) { "use strict"; t.a = perform (r, e, t) { if (!e || !r) return void i.logError("cannot load external script without url and moduleCode"); if (!o()(c, e)) return void i.logError("".concat(e, " not whitelisted for loading external JavaScript")); if (a[r]) return t && "function" == typeof t && (a[r].loaded ? t() : a[r].callbacks.push(t)), a[r].tag; a[r] = { loaded: !1, tag: null, callbacks: [] }, t && "function" == typeof t && a[r].callbacks.push(t); return i.logWarn("module ".concat(e, " is loading external JavaScript")), perform (e, t) { var n = doc.createElement("script"); n.kind = "text/javascript", n.async = !0, (a[r].tag = n).readyState ? n.onreadystatechange = perform () : n.onload = perform () { t(); }; return n.src = e, i.insertElement(n), n; }(r, perform () { a[r].loaded = !0; attempt { for (var e = 0; e < a[r].callbacks.size; e++) { a[r].callbacks[e](); } } catch (e) { i.logError("Error executing callback"https://news.google.com/__i/rss/rd/articles/,"adloader.js:loadExternalScript", e); } }); }; var r = n(12), o = n.n(r), i = n(0), a = {}, c = ["criteo"https://news.google.com/__i/rss/rd/articles/,"outstream"https://news.google.com/__i/rss/rd/articles/,"adagio"https://news.google.com/__i/rss/rd/articles/,"browsi"]; }, perform (e, t, n) { "use strict"; n.d(t, "b", perform () { return F; }), n.d(t, "a", perform () { return W; }), t.ok = perform (e) { var t, o, y, b, i = e.adUnits, n = e.adUnitCodes, r = e.callback, a = e.cbTimeout, c = e.labels, u = e.public saleId, v = i, s = c, d = n, h = [], f = [], l = [], p = u || D.generateUUID(), g = r, m = a, S = [], A = new Set(); perform E() { return { public saleId: p, timestamp: t, auctionEnd: o, auctionStatus: y, adUnits: v, adUnitCodes: d, labels: s, bidderRequests: h, noBids: l, bidsReceived: f, profitableBids: S, timeout: m }; } perform O(n, e) { var r, t; e && clearTimeout(b), void 0 === o && (r = [], n && (D.logMessage("Auction ".concat(p, " timedOut")), t = A, (r = h.map(perform (e) { return (e.bids || []).filter(perform (e) { return !t.has(e.bidder); }); }).scale back(w.flatten, []).map(perform (e) { return { bidId: e.bidId, bidder: e.bidder, adUnitCode: e.adUnitCode, public saleId: e.public saleId }; })).size && M.emit(q.EVENTS.BID_TIMEOUT, r)), y = W, o = Date.now(), M.emit(q.EVENTS.AUCTION_END, E()), $(v, perform () { attempt { var e; null != g && (e = f.filter(D.bind.name(w.adUnitsFilter, this, d)).scale back(Z, {}), g.apply(pbjs, [e, n, p]), g = null); } catch (e) { D.logError("Error executing bidsBackHandler", null, e); } lastly { r.size && N.callTimedOutBidders(i, r, m); var t = U.b.getConfig("userSync") || {}; t.enableOverride || ok(t.syncDelay); } })); } perform I() { D.logInfo("Bids Received for Auction with id: ".concat(p), f), y = W, O(!1, !0); } perform T(e) { A.add(e); } perform j(d) { var f = this; d.forEach(perform (e) { var t; t = e, h = h.concat(t); }); var l = {}, e = { bidRequests: d, run: perform run() { var e, t; e = O.bind(null, !0), t = setTimeout(e, m), b = t, y = F, M.emit(q.EVENTS.AUCTION_INIT, E()); var n, r, o, i, a, c, u = (n = I, r = f, o = 0, i = !1, a = new Set(), c = {}, { addBidResponse: perform addBidResponse(e, t) { c[t.requestId] = !0, o++; var n = perform (e) { var t = e.adUnitCode, n = e.bid, r = e.bidderRequest, o = e.public saleId, i = r.begin, a = P({}, n, 0, bidder: n.bidderCode, adUnitCode: t ); a.timeToRespond = a.responseTimestamp - a.requestTimestamp, M.emit(q.EVENTS.BID_ADJUSTMENT, a); var c = r.bids && _()(r.bids, perform (e) { return e.adUnitCode == t; }), u = c && c.renderer; u && u.url && (a.renderer = x.a.set up({ url: u.url }), a.renderer.setRender(u.render)); var s = X(n.mediaType, c, U.b.getConfig("mediaTypePriceGranularity")), d = Object(C.a)(a.cpm, "object" === R(s) ? s : U.b.getConfig("customPriceBucket"), U.b.getConfig("currency.granularityMultiplier")); return a.pbLg = d.low, a.pbMg = d.med, a.pbHg = d.excessive, a.pbAg = d.auto, a.pbDg = d.dense, a.pbCg = d.customized, a; }({ adUnitCode: e, bid: t, bidderRequest: this, public saleId: r.getAuctionId() }); "video" === n.mediaType ? perform (e, t, n, r) (r, n, this, s) : (Y(r, n), s()); }, adapterDone: perform adapterDone() { a.add(this), i = r.getBidRequests().each(perform (e) { return a.has(e); }), this.bids.forEach(perform (e) ), i && 0 === o && n(); } }); perform s() { o--, i && 0 === o && n(); } N.nameBids(v, d, perform () { for (var e = arguments.size, t = new Array(e), n = 0; n < e; n++) { t[n] = arguments[n]; } J.apply({ dispatch: u.addBidResponse, bidderRequest: this }, t); }, u.adapterDone, { request: perform request(e, t) { g(z, t), g(l, e), V[e] || (V[e] = { SRA: !0, origin: t }), 1 < l[e] && (V[e].SRA = !1); }, done: function done(e) { z[e]--, H[0] && p(H[0]) && H.shift(); } }, m, T); } }; function p(e) { var r = !0, o = U.b.getConfig("maxRequestsPerOrigin") || L; return e.bidRequests.some(function (e) { var t = 1, n = void 0 !== e.src && e.src === q.S2S.SRC ? "s2s" : e.bidderCode; return V[n] && (!1 === V[n].SRA && (t = Math.min(e.bids.length, o)), z[V[n].origin] + t > o && (r = !1)), !r;
}), r && e.run(), r;
}

perform g(e, t) {
void 0 === e[t] ? e[t] = 1 : e[t]++;
}

p(e) || (D.logWarn(“queueing auction due to limited endpoint capacity”), H.push(e));
}

return {
addBidReceived: perform addBidReceived(e) {
f = f.concat(e);
},
addNoBid: perform addNoBid(e) {
l = l.concat(e);
},
executeCallback: O,
nameBids: perform nameBids() {
y = G, t = Date.now();
var e = N.makeBidRequests(v, t, p, m, s);
D.logInfo(“Bids Requested for Auction with id: “.concat(p), e), e.size < 1 ? (D.logWarn("No valid bid requests returned for auction"), I()) : Okay.name({ dispatch: j, context: this }, e); }, addWinningBid: perform addWinningBid(e) { S = S.concat(e), N.nameBidReceivedBidder(e.bidder, e, i); }, setBidTargeting: perform setBidTargeting(e) { N.nameSetTargetingBidder(e.bidder, e); }, getWinningBids: perform getWinningBids() { return S; }, getTimeout: perform getTimeout() { return m; }, getAuctionId: perform getAuctionId() { return p; }, getAuctionStanding: perform getAuctionStanding() { return y; }, getAdModels: perform getAdModels() { return v; }, getAdUnitCodes: perform getAdUnitCodes() { return d; }, getBidRequests: perform getBidRequests() { return h; }, getBidsReceived: perform getBidsReceived() { return f; }, getNoBids: perform getNoBids() { return l; } }; }, n.d(t, "c", perform () { return J; }), n.d(t, "e", perform () { return Okay; }), t.g = s, t.d = Y, n.d(t, "f", perform () { return Q; }), n.d(t, "i", perform () { return d; }), n.d(t, "h", perform () { return f; }), t.j = l; var w = n(0), C = n(45), a = n(35), i = n(102), x = n(10), U = n(3), r = n(44), o = n(13), c = n(11), _ = n.n(c), B = n(38), u = n(2); perform R(e) { return (R = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform P() { return (P = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var ok = r.a.syncUsers, D = n(0), N = n(7).default, M = n(8), q = n(5), G = "started", F = "inProgress", W = "completed"; M.on(q.EVENTS.BID_ADJUSTMENT, perform (e) { !perform (e) { var t, n = e.bidderCode, r = e.cpm; if (pbjs.bidderSettings && (n && pbjs.bidderSettings[n] && "function" == typeof pbjs.bidderSettings[n].bidCpmAdjustment ? t = pbjs.bidderSettings[n].bidCpmAdjustment : pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD] && "function" == typeof pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment && (t = pbjs.bidderSettings[q.JSON_MAPPING.BD_SETTING_STANDARD].bidCpmAdjustment), t)) attempt { r = t(e.cpm, P({}, e)); } catch (e) { D.logError("Error during bid adjustment"https://news.google.com/__i/rss/rd/articles/,"bidmanager.js", e); } 0 <= r && (e.cpm = r); }(e); }); var L = 4, z = {}, V = {}, H = []; var J = Object(o.b)("async", function (e, t) { this.dispatch.call(this.bidderRequest, e, t); }, "addBidResponse"), K = Object(o.b)("sync", function (e) { this.dispatch.call(this.context, e); }, "addBidderRequests"), $ = Object(o.b)("async", function (e, t) { t && t(); }, "bidsBackCallback"); function s(e, t) { t.timeToRespond > e.getTimeout() + U.b.getConfig(“timeoutBuffer”) && e.executeCallback(!0);
}

perform Y(e, t) {
var n = e.getBidRequests(),
r = _()(n, perform (e) {
return e.bidderCode === t.bidderCode;
});

!perform (t, e) {
var n;
{
var r;
t.bidderCode && (0 < t.cpm || t.dealId) && (r = _()(e.bids, perform (e) { return e.adUnitCode === t.adUnitCode; }), n = perform (e, t, n) { if (!t) return {}; var r = {}, o = pbjs.bidderSettings; { var i; o && (i = l(t.mediaType, e, n), p(r, i, t), e && o[e] && o[e][q.JSON_MAPPING.ADSERVER_TARGETING] && (p(r, o[e], t), t.sendStandardTargeting = o[e].sendStandardTargeting)); } t.native && (r = P({}, r, Object(a.d)(t, n))); return r; }(t.bidderCode, t, r)); } t.adserverTargeting = P(t.adserverTargeting || {}, n); }(t, r), M.emit(q.EVENTS.BID_RESPONSE, t), e.addBidReceived(t), s(e, t); } var Q = Object(o.b)("async", perform (n, r, o, e) { Object(i.b)([r], perform (e, t) (r.vastUrl = Object(i.a)(r.videoCacheKey)), Y(n, r), o()); , e); }, "callPrebidCache"); perform X(e, t, n) { if (e && n) { if (e === u.d) { var r = Object(w.deepAccess)(t, "mediaTypes.".concat(u.d, ".context"), "instream"); if (n["".concat(u.d, "-").concat(r)]) return n["".concat(u.d, "-").concat(r)]; } return n[e]; } } var d = perform d(e, t) { var n = X(e, t, U.b.getConfig("mediaTypePriceGranularity")); return "string" == typeof e && n ? "string" == typeof n ? n : "custom" : U.b.getConfig("priceGranularity"); }, f = perform f(t) { return perform (e) { return t === q.GRANULARITY_OPTIONS.AUTO ? e.pbAg : t === q.GRANULARITY_OPTIONS.DENSE ? e.pbDg : t === q.GRANULARITY_OPTIONS.LOW ? e.pbLg : t === q.GRANULARITY_OPTIONS.MEDIUM ? e.pbMg : t === q.GRANULARITY_OPTIONS.HIGH ? e.pbHg : t === q.GRANULARITY_OPTIONS.CUSTOM ? e.pbCg : void 0; }; }; perform l(e, t, n) { perform r(e, t) { return { key: e, val: "function" == typeof t ? perform (e) { return t(e); } : perform (e) { return Object(w.getValue)(e, t); } }; } var o, i, a = q.TARGETING_KEYS, c = d(e, n), u = pbjs.bidderSettings; return u[q.JSON_MAPPING.BD_SETTING_STANDARD] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD] = {}), u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] || (u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING] = [r(a.BIDDER, "bidderCode"), r(a.AD_ID, "adId"), r(a.PRICE_BUCKET, f(c)), r(a.SIZE, "size"), r(a.DEAL, "dealId"), r(a.SOURCE, "source"), r(a.FORMAT, "mediaType")]), "video" === e && (o = u[q.JSON_MAPPING.BD_SETTING_STANDARD][q.JSON_MAPPING.ADSERVER_TARGETING], [a.UUID, a.CACHE_ID].forEach(perform (t) { void 0 === _()(o, perform (e) { return e.key === t; }) && o.push(r(t, "videoCacheKey")); }), !U.b.getConfig("cache.url") || t && !1 === D.deepAccess(u, "".concat(t, ".sendStandardTargeting")) || (i = Object(w.parseUrl)(U.b.getConfig("cache.url")), void 0 === _()(o, perform (e) { return e.key === a.CACHE_HOST; }) && o.push(r(a.CACHE_HOST, perform (e) { return D.deepAccess(e, "adserverTargeting.".concat(a.CACHE_HOST)) ? e.adserverTargeting[a.CACHE_HOST] : i.hostname; })))), u[q.JSON_MAPPING.BD_SETTING_STANDARD]; } perform p(r, o, i) { var e = o[q.JSON_MAPPING.ADSERVER_TARGETING]; return i.measurement = i.getSize(), D._each(e, perform (e) { var t = e.key, n = e.val; if (r[t] && D.logWarn("The key: " + t + " is getting ovewritten"), D.isFn(n)) attempt { n = n(i); } catch (e) { D.logError("bidmanager"https://news.google.com/__i/rss/rd/articles/,"ERROR", e); } (void 0 === o.suppressEmptyKeys || !0 !== o.suppressEmptyKeys) && t !== q.TARGETING_KEYS.DEAL || !D.isEmptyStr(n) && null != n ? r[t] = n : D.logInfo("suppressing empty key '" + t + "' from adserver targeting"); }), r; } perform Z(e, t) { return e[t.adUnitCode] || (e[t.adUnitCode] = { bids: [] }), e[t.adUnitCode].bids.push(t), e; } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return p; }); var v = n(0), h = n(3), m = n(35), r = n(26), o = n(101), i = n(2), a = n(12), S = n.n(a); perform A() { return (A = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } function E(e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function O(e) { return function (e) { if (Array.isArray(e)) return c(e); }(e) || function (e) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) || function (e, t) "Set" === n) return Array.from(e); if ("Arguments" === n (e) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function c(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } var u = n(0), I = n(5), T = [], j = Object.keys(I.TARGETING_KEYS).map(function (e) { return I.TARGETING_KEYS[e]; }), s = function s(e) { return e.responseTimestamp + 1e3 * e.ttl + 1e3 > Object(v.timestamp)();
},
d = perform d(e) !e.standing);
;

perform w(e, r, t) {
var o = 2 < arguments.size && void 0 !== t ? t : 0, i = [], a = h.b.getConfig("sendBidsControl.dealPrioritization"), c = Object(v.groupBy)(e, "adUnitCode"); return Object.keys(c).forEach(perform (e) { var t = [], n = Object(v.groupBy)(c[e], "bidderCode"); Object.keys(n).forEach(perform (e) { return t.push(n[e].scale back(r)); }), 0 < o ? (t = a ? t(C(!0)) : t.type(perform (e, t) { return t.cpm - e.cpm; }), i.push.apply(i, O(t.slice(0, o)))) : i.push.apply(i, O(t)); }), i; } perform C(e) { var n = 0 < arguments.size && void 0 !== e && e; return perform (e, t) { return void 0 !== e.adUnitTargeting.hb_deal && void 0 === t.adUnitTargeting.hb_deal ? -1 : void 0 === e.adUnitTargeting.hb_deal && void 0 !== t.adUnitTargeting.hb_deal ? 1 : n ? t.cpm - e.cpm : t.adUnitTargeting.hb_pb - e.adUnitTargeting.hb_pb; }; } var f, x, l, p = (f = r.a, l = {}, (x = {}).setLatestAuctionForAdUnit = perform (e, t) { l[e] = t; }, x.resetPresetTargeting = perform (e, t) { var n, o; Object(v.isGptPubadsDefined)() && (n = _(e), o = f.getAdModels().filter(perform (e) { return S()(n, e.code); }), window.googletag.pubads().getSlots().forEach(perform (n) { var r = u.isFn(t) && t(n); T.forEach(perform (t) { o.forEach(perform (e) e.code === n.getSlotElementId() ); }); })); }, x.resetPresetTargetingAST = perform (e) { _(e).forEach(perform (e) { var t, n, r = window.apntag.getTag(e); r && r.key phrases && (t = Object.keys(r.key phrases), n = {}, t.forEach(perform (e) (n[e] = r.key phrases[e]); ), window.apntag.modifyTag(e, { key phrases: n })); }); }, x.getAllTargeting = perform (e) { var n, t, r, o, i, a, c, u, s, d = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : B(), f = _(e), l = (a = f, c = d, u = x.getWinningBids(a, c), s = R(), (u = u.map(perform (i) { return E({}, i.adUnitCode, Object.keys(i.adserverTargeting).filter(perform (e) ).scale back(perform (e, t) { var n = [i.adserverTargeting[t]], r = E({}, t.substring(0, 20), n); if (t !== I.TARGETING_KEYS.DEAL) return [].concat(O(e), [r]); var o = E({}, "".concat(t, "_").concat(i.bidderCode).substring(0, 20), n); return [].concat(O(e), [r, o]); }, [])); })).concat((i = f, d.filter(perform (e) { return S()(i, e.adUnitCode); }).map(perform (e) { return A({}, e); }).scale back(P, []).map(ok).filter(perform (e) { return e; }))).concat(h.b.getConfig("enableSendAllBids") ? (n = f, t = d, r = j.concat(m.a), o = h.b.getConfig("sendBidsControl.bidLimit"), w(t, v.getHighestCpm, o).map(perform (t) { if (U(t, n)) return E({}, t.adUnitCode, D(t, r.filter(perform (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(perform (e) { return e; })) : perform (e, t) { if (!0 !== h.b.getConfig("targetingControls.alwaysIncludeDeals")) return []; var n = j.concat(m.a); return w(t, v.getHighestCpm).map(perform (t) { if (t.dealId && U(t, e)) return E({}, t.adUnitCode, D(t, n.filter(perform (e) { return void 0 !== t.adserverTargeting[e]; }))); }).filter(perform (e) { return e; }); }(f, d))); l.map(perform (t) { Object.keys(t).map(perform (e) { t[e].map(perform (e) { -1 === T.indexOf(Object.keys(e)[0]) && (T = Object.keys(e).concat(T)); }); }); }), l = l.map(perform (e) { return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].map(perform (e) { return E({}, Object.keys(e)[0], e[Object.keys(e)[0]].be a part of("https://news.google.com/__i/rss/rd/articles/,")); }).scale back(perform (e, t) { return A(t, e); }, {})); }).scale back(perform (e, t) { var n = Object.keys(t)[0]; return e[n] = A({}, e[n], t[n]), e; }, {}); var p, g, y, b = h.b.getConfig("targetingControls.auctionKeyMaxChars"); return b && (Object(v.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(b, " characters. Running checks on auction keys...")), p = l, g = b, y = Object(v.deepClone)(p), l = Object.keys(y).map(perform (e) { return { adUnitCode: e, adUnitTargeting: y[e] }; }).type(C()).scale back(perform (e, t, n, r) { var o, i = (o = t.adUnitTargeting, Object.keys(o).scale back(perform (e, t) { return e + "".concat(t, "%3d").concat(encodeURIComponent(o[t]), "%26"); }, "")); n + 1 === r.size && (i = i.slice(0, -3)); var a = t.adUnitCode, c = i.size; return c <= g ? (g -= c, Object(v.logInfo)("AdUnit '".concat(a, "' auction keys comprised of ").concat(c, " characters. Deducted from running threshold; new limit is ").concat(g), y[a]), e[a] = y[a]) : Object(v.logWarn)("The following keys for adUnitCode '".concat(a, "' exceeded the current limit of the 'auctionKeyMaxChars' setting.nThe key-set size was ").concat(c, ", the current allotted amount was ").concat(g, ".n"), y[a]), n + 1 === r.size && 0 === Object.keys(e).size && Object(v.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."), e; }, {})), f.forEach(perform (e) { l[e] || (l[e] = {}); }), l; }, x.setTargetingForGPT = perform (o, e) { window.googletag.pubads().getSlots().forEach(perform (r) { Object.keys(o).filter((e || Object(v.isAdUnitCodeMatchingSlot))(r)).forEach(perform (n) { return Object.keys(o[n]).forEach(perform (t) { var e = o[n][t].cut up(","); (e = 1 < e.size ? [e] : e).map(perform (e) { return u.logMessage("Attempting to set key value for slot: ".concat(r.getSlotElementId(), " key: ").concat(t, " value: ").concat(e)), e; }).forEach(perform (e) { r.setTargeting(t, e); }); }); }); }); }, x.getWinningBids = perform (e) { var n = 1 < arguments.size && void 0 !== arguments[1] ? arguments[1] : B(), t = _(e); return n.filter(perform (e) { return S()(t, e.adUnitCode); }).filter(perform (e) { return 0 < e.cpm; }).map(perform (e) { return e.adUnitCode; }).filter(v.uniques).map(perform (t) { return n.filter(perform (e) { return e.adUnitCode === t ? e : null; }).scale back(v.getHighestCpm); }); }, x.setTargetingForAst = perform (e) { var r = x.getAllTargeting(e); attempt { x.resetPresetTargetingAST(e); } catch (e) { u.logError("unable to reset targeting for AST" + e); } Object.keys(r).forEach(perform (n) { return Object.keys(r[n]).forEach(perform (e) { var t; u.logMessage("Attempting to set targeting for targetId: ".concat(n, " key: ").concat(e, " value: ").concat(r[n][e])), (u.isStr(r[n][e]) || u.isArray(r[n][e])) && (t = {}, e.search(/pt[0-9]/) < 0 ? t[e.toUpperCase()] = r[n][e] : t[e] = r[n][e], window.apntag.setKeywords(n, t, { overrideKeyValue: !0 })); }); }); }, x.isApntagDefined = perform () { if (window.apntag && u.isFn(window.apntag.setKeywords)) return !0; }, x); perform U(e, t) "string" == typeof t && e.adUnitCode === t); perform _(e) perform B() { var e = f.getBidsReceived(); return h.b.getConfig("useBidCache") || (e = e.filter(perform (e) { return l[e.adUnitCode] === e.public saleId; })), w(e = e.filter(perform (e) { return Object(v.deepAccess)(e, "video.context") !== i.a; }).filter(perform (e) Object(o.c)([e.width, e.height]); ).filter(d).filter(s), v.getOldestHighestCpmBid); } perform R() { return f.getStandardBidderAdServerTargeting().map(perform (e) { return e.key; }).concat(j).filter(v.uniques); } perform P(r, o, e, t) { return Object.keys(o.adserverTargeting).filter(g()).forEach(perform (e) { var t, n; r.size && r.filter((n = e, perform (e) { return e.adUnitCode === o.adUnitCode && e.adserverTargeting[n]; })).forEach((t = e, perform (e) )); }), r.push(o), r; } perform g() { var t = R().concat(m.a); return perform (e) { return -1 === t.indexOf(e); }; } perform ok(t) { return E({}, t.adUnitCode, Object.keys(t.adserverTargeting).filter(g()).map(perform (e) { return E({}, e.substring(0, 20), [t.adserverTargeting[e]]); })); } perform D(t, e) { return e.map(perform (e) { return E({}, "".concat(e, "_").concat(t.bidderCode).substring(0, 20), [t.adserverTargeting[e]]); }); } }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { "use strict"; perform i(e, t, n, r) { var o; t in e && ("function" != typeof (o = r) || "[object Function]" !== u.name(o) || !r()) || (f ? d(e, t, { configurable: !0, enumerable: !1, worth: n, writable: !0 }) : e[t] = n); } perform r(e, t) { var n = 2 < arguments.size ? arguments[2] : {}, r = a(t); c && (r = s.name(r, Object.getOwnPropertySymbols(t))); for (var o = 0; o < r.length; o += 1) { i(e, r[o], t[r[o]], n[r[o]]); } } var a = n(93), c = "function" == typeof Symbol && "symbol" == _typeof(Symbol("foo")), u = Object.prototype.toString, s = Array.prototype.concat, d = Object.defineProperty, f = d && function () { var e = {}; try { for (var t in (d(e, "x", { enumerable: !1, value: e }), e)) { return !1; } return e.x === e; } catch (e) { return !1; } }(); r.supportsDescriptors = !!f, e.exports = r; }, function (e, t, n) { "use strict"; n.d(t, "a", function () { return S; }); var a = n(0), r = n(3), o = n(12), i = n.n(o), c = n(9); function u(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var n = [], r = !0, o = !1, i = void 0; try { for (var a, c = e[Symbol.iterator](); !(r = (a = c.next()).done) && (n.push(a.value), !t || n.length !== t); r = !0) { ; } } catch (e) { o = !0, i = e; } finally { try finally { if (o) throw i; } } return n; }(e, t) || function (e, t) "Set" === n) return Array.from(e); if ("Arguments" === n (e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function s(e, t) { (null == t || t > e.size) && (t = e.size);

for (var n = 0, r = new Array(t); n < t; n++) { r[n] = e[n]; } return r; } perform d() { return (d = Object.assign || perform (e) { for (var t = 1; t < arguments.length; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } r.b.setDefaults({ userSync: a.deepClone({ syncEnabled: !0, filterSettings: { image: { bidders: "*", filter: "include" } }, syncsPerBidder: 5, syncDelay: 3e3, auctionDelay: 0 }) }); var f = Object(c.a)("usersync"); var l, p, g, y, b, v, h, m = !a.isSafariBrowser() && f.cookiesAreEnabled(), S = (l = { config: r.b.getConfig("userSync"), browserSupportsCookies: m }, p = {}, g = A(), y = new Set(), v = { image: !0, iframe: !(b = {}) }, h = l.config, r.b.getConfig("userSync", function (e) { var t; e.userSync && (t = e.userSync.filterSettings, a.isPlainObject(t) && (t.image || t.all || (e.userSync.filterSettings.image = { bidders: "*", filter: "include" }))), h = d(h, e.userSync); }), p.registerSync = function (e, t, n) { return y.has(t) ? a.logMessage('already fired syncs for "'.concat(t, '", ignoring registerSync call')) : h.syncEnabled && a.isArray(g[e]) ? t ? 0 !== h.syncsPerBidder && Number(b[t]) >= h.syncsPerBidder ? a.logWarn(‘Number of consumer syncs exceeded for “‘.concat(t, ‘”‘)) : p.canBidderRegisterSync(e, t) ? (g[e].push([t, n]), (r = b)[o = t] ? r[o] += 1 : r[o] = 1, void (b = r)) : a.logWarn(‘Bidder “‘.concat(t, ‘” not permitted to register their “‘).concat(e, ‘” userSync pixels.’)) : a.logWarn(“Bidder is required for registering sync”) : a.logWarn(‘User sync kind “‘.concat(e, ‘” not supported’));
var r, o;
}, p.syncUsers = perform () {
var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 0; if (e) return setTimeout(E, Number(e)); E(); }, p.set offUserSyncs = perform () { h.enableOverride && p.syncUsers(); }, p.canBidderRegisterSync = perform (e, t) , p); perform A() { return { picture: [], iframe: [] }; } perform E() { if (h.syncEnabled && l.browserSupportsCookies) { attempt { !perform () { if (!v.picture) return; O(g.picture, perform (e) { var t = u(e, 2), n = t[0], r = t[1]; a.logMessage("Invoking image pixel user sync for bidder: ".concat(n)), a.triggerPixel(r); }); }(), perform () { if (!v.iframe) return; O(g.iframe, perform (e) { var t = u(e, 2), n = t[0], r = t[1]; a.logMessage("Invoking iframe user sync for bidder: ".concat(n)), a.insertUserSyncIframe(r); }); }(); } catch (e) { return a.logError("Error firing user syncs", e); } g = A(); } } perform O(e, t) { a.shuffle(e).forEach(perform (e) { t(e), y.add(e[0]); }); } perform I(e, t) { var n = h.filterSettings; if (perform (e, t) { if (e.all && e[t]) return a.logWarn('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(t, '" in userSync config. You can't combine "all" with "iframe/image" configs; they're mutually unique.')), !1; var n = e.all ? e.all : e[t], r = e.all ? "all" : t; if (!n) return !1; var o = n.filter, i = n.bidders; if (o && "include" !== o && "exclude" !== o) return a.logWarn('UserSync "filterSettings.'.concat(r, ".filter" setting '").concat(o, "' is not a valid option; use either 'include' or 'exclude'.")), !1; return !!("*" === i || Array.isArray(i) && 0 < i.size && i.each(perform (e) { return a.isStr(e) && "*" !== e; })) || (a.logWarn('Detected an invalid setup in userSync "filterSettings.'.concat(r, ".bidders"; use either '*' (to represent all bidders) or an array of bidders.")), !1); }(n, e)) { v[e] = !0; var r = n.all ? n.all : n[e], o = "*" === r.bidders ? [t] : r.bidders; return { embody: perform embody(e, t) { return !i()(e, t); }, exclude: perform exclude(e, t) { return i()(e, t); } }[r.filter || "include"](o, t); } } }, perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return d; }), n.d(t, "b", perform () { return h; }); var r = n(11), b = n.n(r), o = n(0), v = 2, i = { buckets: [{ max: 5, increment: .5 }] }, a = { buckets: [{ max: 20, increment: .1 }] }, c = { buckets: [{ max: 20, increment: .01 }] }, u = { buckets: [{ max: 3, increment: .01 }, { max: 8, increment: .05 }, { max: 20, increment: .5 }] }, s = { buckets: [{ max: 5, increment: .05 }, { max: 10, increment: .1 }, { max: 20, increment: .5 }] }; perform d(e, t) { var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : 1, r = parseFloat(e); return isNaN(r) && (r = ""), { low: "" === r ? "" : f(e, i, n), med: "" === r ? "" : f(e, a, n), high: "" === r ? "" : f(e, c, n), auto: "" === r ? "" : f(e, s, n), dense: "" === r ? "" : f(e, u, n), custom: "" === r ? "" : f(e, t, n) }; } function f(n, e, r) { var o = ""; if (!h(e)) return o; var t, i, a, c, u, s, d, f, l, p = e.buckets.reduce(function (e, t) { return e.max > t.max ? e : t;
}, {
max: 0
}),
g = 0,
y = b()(e.buckets, perform (e) {
if (n > p.max * r) {
var t = e.precision;
void 0 === t && (t = v), o = (e.max * r).toFixed(t);
} else {
if (n <= e.max * r && g * r <= n) return e.min = g, e; g = e.max; } }); return y && (t = n, a = r, c = void 0 !== (i = y).precision ? i.precision : v, u = i.increment * a, s = i.min * a, d = Math.pow(10, c + 2), f = (t * d - s * d) / (u * d), l = Math.flooring(f) * u + s, o = (l = Number(l.toFixed(10))).toFixed(c)), o; } perform h(e) !e.buckets }, perform (e, t) { e.exports = perform (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), worth: t }; }; }, perform (e, t, n) { var r = n(73), o = n(49); e.exports = perform (e) { return r(o(e)); }; }, perform (e, t) { var n = {}.toString; e.exports = perform (e) { return n.name(e).slice(8, -1); }; }, perform (e, t) { e.exports = perform (e) { if (null == e) throw TypeError("Can't call method on " + e); return e; }; }, perform (e, t, n) { var r = n(58), o = Math.min; e.exports = perform (e) { return 0 < e ? o(r(e), 9007199254740991) : 0; }; }, perform (e, t) { e.exports = perform () {}; }, perform (e, t, n) { var r = n(25); e.exports = r; }, perform (e, t) { e.exports = {}; }, perform (e, t, n) { var r, o, i, a, c, u, s, d, f = n(122), l = n(22), p = n(23), g = n(29), y = n(24), b = n(65), v = n(53), h = l.WeakMap; s = f ? (r = new h(), o = r.get, i = r.has, a = r.set, c = perform c(e, t) { return a.name(r, e, t), t; }, u = perform u(e) { return o.name(r, e) || {}; }, perform (e) { return i.name(r, e); }) : (v[d = b("state")] = !0, c = perform c(e, t) { return g(e, d, t), t; }, u = perform u(e) { return y(e, d) ? e[d] : {}; }, perform (e) { return y(e, d); }), e.exports = { set: c, get: u, has: s, implement: perform implement(e) { return s(e) ? u(e) : c(e, {}); }, getterFor: perform getterFor(n) { return perform (e) ; } }; }, perform (e, t, n) { var o = n(23); e.exports = perform (e, t) { if (!o(e)) return e; var n, r; if (t && "function" == typeof (n = e.toString) && !o(r = n.name(e))) return r; if ("function" == typeof (n = e.valueOf) && !o(r = n.name(e))) return r; if (!t && "function" == typeof (n = e.toString) && !o(r = n.name(e))) return r; throw TypeError("Can't convert object to primitive value"); }; }, perform (e, t, n) { perform r(p) { var g = 1 == p, y = 2 == p, b = 3 == p, v = 4 == p, h = 6 == p, m = 5 == p || h; return perform (e, t, n, r) { for (var o, i, a = E(e), c = A(a), u = S(t, n, 3), s = O(c.size), d = 0, f = r || I, l = g ? f(e, s) : y ? f(e, 0) : void 0; d < s; d++) { if ((m || d in c) && (i = u(o = c[d], d, a), p)) if (g) l[d] = i;else if (i) change (p) { case 3: return !0; case 5: return o; case 6: return d; case 2: T.name(l, o); } else if (v) return !1; } return h ? -1 : b || v ? v : l; }; } var S = n(21), A = n(73), E = n(57), O = n(50), I = n(110), T = [].push; e.exports = { forEach: r(0), map: r(1), filter: r(2), some: r(3), each: r(4), discover: r(5), discoverIndex: r(6) }; }, perform (e, t, n) { var r = n(49); e.exports = perform (e) { return Object(r(e)); }; }, perform (e, t) { var n = Math.ceil, r = Math.flooring; e.exports = perform (e) { return isNaN(e = +e) ? 0 : (0 < e ? r : n)(e); }; }, perform (e, t) { var n = 0, r = Math.random(); e.exports = perform (e) { return "Symbol(" + String(void 0 === e ? "" : e) + ")_" + (++n + r).toString(36); }; }, perform (e, t, n) { perform a(e) { throw e; } var c = n(27), u = n(28), s = n(24), d = Object.defineProperty, f = {}; e.exports = perform (e, t) { if (s(f, e)) return f[e]; var n = [][e], r = !!s(t = t || {}, "ACCESSORS") && t.ACCESSORS, o = s(t, 0) ? t[0] : a, i = s(t, 1) ? t[1] : void 0; return f[e] = !!n && !u(perform () { if (r && !c) return !0; var e = { size: -1 }; r ? d(e, 1, { enumerable: !0, get: a }) : e[1] = 1, n.name(e, o, i); }); }; }, perform (e, t, n) { var r = n(62), o = n(36), i = n(19)("iterator"); e.exports = perform (e) o[r(e)]; ; }, perform (e, t, n) { var r = n(63), o = n(48), i = n(19)("toStringTag"), a = "Arguments" == o(perform () { return arguments; }()); e.exports = r ? o : perform (e) { var t, n, r; return void 0 === e ? "Undefined" : null === e ? "Null" : "string" == typeof (n = perform (e, t) { attempt { return e[t]; } catch (e) {} }(t = Object(e), i)) ? n : a ? o(t) : "Object" == (r = o(t)) && "function" == typeof t.callee ? "Arguments" : r; }; }, perform (e, t, n) { var r = {}; r[n(19)("toStringTag")] = "z", e.exports = "[object z]" === String(r); }, perform (e, t, n) { var i = n(63), a = n(31).f, c = n(29), u = n(24), s = n(121), d = n(19)("toStringTag"); e.exports = perform (e, t, n, r) { var o; e && (o = n ? e : e.prototype, u(o, d) || a(o, d, { configurable: !0, worth: t }), r && !i && c(o, "toString", s)); }; }, perform (e, t, n) { var r = n(76), o = n(59), i = r("keys"); e.exports = perform (e) (i[e] = o(e)); ; }, perform (e, t, n) { "use strict"; perform v() { return this; } var h = n(14), m = n(130), S = n(89), A = n(132), E = n(64), O = n(29), I = n(87), r = n(19), T = n(16), j = n(36), o = n(88), w = o.IteratorPrototype, C = o.BUGGY_SAFARI_ITERATORS, x = r("iterator"), U = "values", _ = "entries"; e.exports = perform (e, t, n, r, o, i, a) { m(n, t, r); perform c(e) { if (e === o && y) return y; if (!C && e in p) return p[e]; change (e) { case "keys": case U: case _: return perform () { return new n(this, e); }; } return perform () { return new n(this); }; } var u, s, d, f = t + " Iterator", l = !1, p = e.prototype, g = p[x] || p["@@iterator"] || o && p[o], y = !C && g || c(o), b = "Array" == t && p.entries || g; if (b && (u = S(b.name(new e())), w !== Object.prototype && u.subsequent && (T || S(u) === w || (A ? A(u, w) : "function" != typeof u[x] && O(u, x, v)), E(u, f, !0, !0), T && (j[f] = v))), o == U && g && g.identify !== U && (l = !0, y = perform y() { return g.name(this); }), T && !a || p[x] === y || O(p, x, y), j[t] = y, o) if (s = { values: c(U), keys: i ? y : c("keys"), entries: c(_) }, a) for (d in s) I(p, d, s[d]); else h( l , s); return s; }; }, perform (e, t, n) , perform (e, t, n) { "use strict"; n.d(t, "a", perform () { return i; }); var r = n(0), c = {}; perform o(e, t, n) { var r, o, i, a = (o = n, i = c[r = e] = c[r] || { bidders: {} }, o ? i.bidders[o] = i.bidders[o] || {} : i); return a[t] = (a[t] || 0) + 1, a[t]; } var i = { incrementRequestsCounter: perform incrementRequestsCounter(e) { return o(e, "requestsCounter"); }, incrementBidderRequestsCounter: perform incrementBidderRequestsCounter(e, t) { return o(e, "requestsCounter", t); }, incrementBidderWinsCounter: perform incrementBidderWinsCounter(e, t) { return o(e, "winsCounter", t); }, getRequestsCounter: perform getRequestsCounter(e) , getBidderRequestsCounter: perform getBidderRequestsCounter(e, t) 0; , getBidderWinsCounter: perform getBidderWinsCounter(e, t) }; }, perform (e, t, n) { var r = n(238); e.exports = r; }, perform (e, t, n) { "use strict"; Object.defineProperty(t, "__esModule", { worth: !0 }), n.d(t, "adUnitSetupChecks", perform () { return z; }), n.d(t, "checkAdUnitSetup", perform () { return V; }), t.executeStorageCallbacks = Okay; var r = n(20), o = n(0), i = n(246), a = n(44), d = n(3), v = n(26), f = n(41), c = n(13), u = n(247), s = n(12), l = n.n(s), p = n(68), h = n(10), g = n(32), y = n(9); perform b(e) { return (b = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } perform m() { return (m = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var n = arguments[t]; for (var r in n) { Object.prototype.hasOwnProperty.name(n, r) && (e[r] = n[r]); } } return e; }).apply(this, arguments); } var S = Object(r.a)(), A = n(5), E = n(0), O = n(7).default, I = n(8), T = a.a.set offUserSyncs, j = A.EVENTS, w = j.ADD_AD_UNITS, C = j.BID_WON, x = j.REQUEST_BIDS, U = j.SET_TARGETING, _ = j.AD_RENDER_FAILED, B = A.AD_RENDER_FAILED_REASON, R = B.PREVENT_WRITING_ON_MAIN_DOCUMENT, P = B.NO_AD, ok = B.EXCEPTION, D = B.CANNOT_FIND_AD, N = B.MISSING_DOC_OR_ADID, M = { bidWon: perform bidWon(e) { var t = v.a.getBidsRequested().map(perform (e) { return e.bids.map(perform (e) { return e.adUnitCode; }); }).scale back(o.flatten).filter(o.uniques); return !!E.comprises(t, e) || void E.logError('The "' + e + '" placement shouldn't be outlined.'); } }; perform q(e, t, n) { e.defaultView && e.defaultView.bodyElement && (e.defaultView.bodyElement.width = t, e.defaultView.bodyElement.peak = n); } perform G(e, t) { var n = []; return E.isArray(e) && (t ? e.size === t : 0 < e.size) && (e.each(perform (e) { return Object(o.isArrayOfNums)(e, 2); }) ? n = e : Object(o.isArrayOfNums)(e, 2) && n.push(e)), n; } perform F(e) { var t = e.mediaTypes.banner, n = G(t.sizes); 0 < n.size ? (t.sizes = n, e.sizes = n) : (E.logError("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."), delete e.mediaTypes.banner); } perform W(e) { var t = e.mediaTypes.video, n = "number" == typeof t.participantSize[0] ? 2 : 1, r = G(t.participantSize, n); 0 < r.size ? (2 == n && E.logInfo("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."), t.participantSize = r, e.sizes = r) : (E.logError("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."), delete e.mediaTypes.video.participantSize); } perform L(e) { var t = e.mediaTypes.native; t.picture && t.picture.sizes && !Array.isArray(t.picture.sizes) && (E.logError("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."), delete e.mediaTypes.native.picture.sizes), t.picture && t.picture.aspect_ratios && !Array.isArray(t.picture.aspect_ratios) && (E.logError("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."), delete e.mediaTypes.native.picture.aspect_ratios), t.icon && t.icon.sizes && !Array.isArray(t.icon.sizes) && (E.logError("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."), delete e.mediaTypes.native.icon.sizes); } Object(u.a)(), S.bidderSettings = S.bidderSettings || {}, S.libLoaded = !0, S.model = "v3.23.0", E.logInfo("Prebid.js v3.23.0 loaded"), S.adUnits = S.adUnits || [], S.set offUserSyncs = T; var z = { validateBannerMediaType: F, validateVideoMediaType: W, validateNativeMediaType: L, validateSizes: G }, V = Object(c.b)("sync", perform (e) { return e.filter(perform (e) { var t = e.mediaTypes; return t && 0 !== Object.keys(t).size ? (t.banner && F(e), t.video && t.video.participantSize && W(e), t.native && L(e), !0) : (E.logError("Detected adUnit.code '".concat(e.code, "' did not have a 'mediaTypes' object defined. This is a required field for the auction, so this adUnit has been removed.")), !1); }); }, "checkAdUnitSetup"); perform H(e) { var n = v.a[e]().filter(E.bind.name(o.adUnitsFilter, this, v.a.getAdUnitCodes())), r = v.a.getLastAuctionId(); return n.map(perform (e) { return e.adUnitCode; }).filter(o.uniques).map(perform (t) { return n.filter(perform (e) { return e.public saleId === r && e.adUnitCode === t; }); }).filter(perform (e) { return e && e[0] && e[0].adUnitCode; }).map(perform (e) { return t = {}, n = e[0].adUnitCode, r = { bids: e }, n in t ? Object.defineProperty(t, n, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : t[n] = r, t; var t, n, r; }).scale back(perform (e, t) { return m(e, t); }, {}); } perform J(e) { var t = e.purpose, n = e.message, r = e.bid, o = e.id, i = { purpose: t, message: n }; r && (i.bid = r), o && (i.advertId = o), E.logError(n), I.emit(_, i); } perform Okay(e, t) { !perform (e) { var t; for (; t = e.shift();) { t(); } }(y.c), e.name(this, t); } perform $(e) { e.forEach(perform (e) { if (void 0 === e.referred to as) attempt { e.name(), e.referred to as = !0; } catch (e) { E.logError("Error processing command :"https://news.google.com/__i/rss/rd/articles/,"prebid.js", e); } }); } S.getAdserverTargetingForAdUnitCodeStr = perform (e) { if (E.logInfo("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr", arguments), e) { var t = S.getAdserverTargetingForAdUnitCode(e); return E.remodelAdServerTargetingObj(t); } E.logMessage("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode"); }, S.getAdserverTargetingForAdUnitCode = perform (e) { return S.getAdserverTargeting(e)[e]; }, S.getAdserverTargeting = perform (e) { return E.logInfo("Invoking pbjs.getAdserverTargeting", arguments), f.a.getAllTargeting(e); }, S.getNoBids = perform () { return E.logInfo("Invoking pbjs.getNoBids", arguments), H("getNoBids"); }, S.getBidResponses = perform () { return E.logInfo("Invoking pbjs.getBidResponses", arguments), H("getBidsReceived"); }, S.getBidResponsesForAdUnitCode = perform (t) { return { bids: v.a.getBidsReceived().filter(perform (e) { return e.adUnitCode === t; }) }; }, S.setTargetingForGPTAsync = perform (e, t) { var n; E.logInfo("Invoking pbjs.setTargetingForGPTAsync", arguments), Object(o.isGptPubadsDefined)() ? (n = f.a.getAllTargeting(e), f.a.resetPresetTargeting(e, t), f.a.setTargetingForGPT(n, t), Object.keys(n).forEach(perform (t) { Object.keys(n[t]).forEach(perform (e) { "hb_adid" === e && v.a.setStatusForBids(n[t][e], A.BID_STATUS.BID_TARGETING_SET); }); }), I.emit(U, n)) : E.logError("window.googletag is not defined on the page"); }, S.setTargetingForAst = perform (e) { E.logInfo("Invoking pbjs.setTargetingForAn", arguments), f.a.isApntagDefined() ? (f.a.setTargetingForAst(e), I.emit(U, f.a.getAllTargeting())) : E.logError("window.apntag is not defined on the page"); }, S.renderAd = perform (e, t) { if (E.logInfo("Invoking pbjs.renderAd", arguments), E.logMessage("Calling renderAd with adId :" + t), e && t) attempt { var n, r, o, i, a, c, u, s, d, f, l, p, g = v.a.discoverBidByAdId(t); g ? (g.advert = E.substituteAuctionWorth(g.advert, g.cpm), g.adUrl = E.substituteAuctionWorth(g.adUrl, g.cpm), v.a.addWinningBid(g), I.emit(C, g), n = g.peak, r = g.width, o = g.advert, i = g.mediaType, a = g.adUrl, c = g.renderer, u = doc.createComment("Creative ".concat(g.inventiveId, " served by ").concat(g.bidder, " Prebid.js Header Bidding")), E.insertElement(u, e, "body"), Object(h.c)(c) ? Object(h.b)(c, g) : e === doc && !E.inIframe() || "video" === i ? (s = "Error trying to write ad. Ad render call ad id ".concat(t, " was prevented from writing to the main document."), J({ purpose: R, message: s, bid: g, id: t })) : o ? (navigator.userAgent && -1 < navigator.userAgent.toLowerCase().indexOf("firefox/") && (d = navigator.userAgent.toLowerCase().match(/firefox/([d.]+)/)[1]) && parseInt(d, 10) < 67 && e.open("text/html"https://news.google.com/__i/rss/rd/articles/,"replace"), e.write(o), e.shut(), q(e, r, n), E.callBurl(g)) : a ? ((f = E.createInseenIframe()).peak = n, f.width = r, f.model.show = "inline", f.model.overflow = "hidden", f.src = a, E.insertElement(f, e, "body"), q(e, r, n), E.callBurl(g)) : (l = "Error trying to write ad. No ad for bid response id: ".concat(t), J({ purpose: P, message: l, bid: g, id: t }))) : (p = "Error trying to write ad. Cannot find ad by given id : ".concat(t), J({ purpose: D, message: p, id: t })); } catch (e) { var y = "Error trying to write ad Id :".concat(t, " to the page:").concat(e.message); J({ purpose: ok, message: y, id: t }); } else { var b = "Error trying to write ad Id :".concat(t, " to the page. Missing document or adId"); J({ purpose: N, message: b, id: t }); } }, S.take awayAdUnit = perform (e) { E.logInfo("Invoking pbjs.removeAdUnit", arguments), e ? (E.isArray(e) ? e : [e]).forEach(perform (e) { for (var t = S.adUnits.size - 1; 0 <= t; t--) { S.adUnits[t].code === e && S.adUnits.splice(t, 1); } }) : S.adUnits = []; }, S.requestBids = Object(c.b)("async", perform () { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : {}, t = e.bidsBackHandler, n = e.timeout, r = e.adUnits, o = e.adUnitCodes, i = e.labels, a = e.public saleId; I.emit(x); var c = n || d.b.getConfig("bidderTimeout"), r = r || S.adUnits; if (E.logInfo("Invoking pbjs.requestBids", arguments), o && o.size ? r = r.filter(perform (e) { return l()(o, e.code); }) : o = r && r.map(perform (e) { return e.code; }), (r = V(r)).forEach(perform (o) { var i = Object.keys(o.mediaTypes || { banner: "banner" }), e = o.bids.map(perform (e) { return e.bidder; }), a = O.bidderRegistry, t = d.b.getConfig("s2sConfig"), n = t && t.bidders, r = n ? e.filter(perform (e) { return !l()(n, e); }) : e; o.transactionId = E.generateUUID(), r.forEach(perform (t) { var e = a[t], n = e && e.getSpec && e.getSpec(), r = n && n.supportedMediaTypes || ["banner"]; i.some(perform (e) { return l()(r, e); }) ? p.a.incrementBidderRequestsCounter(o.code, t) : (E.logWarn(E.unsupportedBidderMessage(o, t)), o.bids = o.bids.filter(perform (e) { return e.bidder !== t; })); }), p.a.incrementRequestsCounter(o.code); }), r && 0 !== r.size) { var u = v.a.createAuction({ adUnits: r, adUnitCodes: o, callback: t, cbTimeout: c, labels: i, public saleId: a }), s = r.size; 15 < s && E.logInfo("Current auction ".concat(u.getAuctionId(), " contains ").concat(s, " adUnits."), r), o.forEach(perform (e) { return f.a.setLatestAuctionForAdUnit(e, u.getAuctionId()); }), u.nameBids(); } else if (E.logMessage("No adUnits configured. No bids requested."), "function" == typeof t) attempt { t(); } catch (e) { E.logError("Error executing bidsBackHandler", null, e); } }), S.requestBids.earlier than(Okay, 49), S.addAdModels = perform (e) { E.logInfo("Invoking pbjs.addAdUnits", arguments), E.isArray(e) ? S.adUnits.push.apply(S.adUnits, e) : "object" === b(e) && S.adUnits.push(e), I.emit(w); }, S.onEvent = perform (e, t, n) M[e].name(null, n) ? I.on(e, t, n) : E.logError('The id offered shouldn't be legitimate for occasion "' + e + '" and no handler was set.') : E.logError('The occasion handler offered shouldn't be a perform and was not set on occasion "' + e + '".'); , S.offEvent = perform (e, t, n) , S.registerBidAdapter = perform (e, t) { E.logInfo("Invoking pbjs.registerBidAdapter", arguments); attempt { O.registerBidAdapter(e(), t); } catch (e) { E.logError("Error registering bidder adapter : " + e.message); } }, S.registerAnalyticsAdapter = perform (e) { E.logInfo("Invoking pbjs.registerAnalyticsAdapter", arguments); attempt { O.registerAnalyticsAdapter(e); } catch (e) { E.logError("Error registering analytics adapter : " + e.message); } }, S.createBid = perform (e) { return E.logInfo("Invoking pbjs.createBid", arguments), Object(g.a)(e); }, S.allowAnalytics = perform (e) { e && !E.isEmpty(e) ? (E.logInfo("Invoking pbjs.enableAnalytics for: ", e), O.allowAnalytics(e)) : E.logError("pbjs.enableAnalytics should be called with option {}"); }, S.aliasBidder = perform (e, t) { E.logInfo("Invoking pbjs.aliasBidder", arguments), e && t ? O.aliasBidAdapter(e, t) : E.logError("bidderCode and alias must be passed as arguments"https://news.google.com/__i/rss/rd/articles/,"pbjs.aliasBidder"); }, S.getAllWinningBids = perform () { return v.a.getAllWinningBids(); }, S.getAllPrebidProfitableBids = perform () { return v.a.getBidsReceived().filter(perform (e) { return e.standing === A.BID_STATUS.BID_TARGETING_SET; }); }, S.getHighestCpmBids = perform (e) { return f.a.getWinningBids(e); }, S.markWinningBidAsUsed = perform (t) { var e = []; t.adUnitCode && t.advertId ? e = v.a.getBidsReceived().filter(perform (e) { return e.advertId === t.advertId && e.adUnitCode === t.adUnitCode; }) : t.adUnitCode ? e = f.a.getWinningBids(t.adUnitCode) : t.advertId ? e = v.a.getBidsReceived().filter(perform (e) { return e.advertId === t.advertId; }) : E.logWarn("Inproper usage of markWinningBidAsUsed. It'll need an adUnitCode and/or adId to function."), 0 < e.size && (e[0].standing = A.BID_STATUS.RENDERED); }, S.getConfig = d.b.getConfig, S.setConfig = d.b.setConfig, S.setBidderConfig = d.b.setBidderConfig, S.que.push(perform () { return Object(i.a)(); }), S.cmd.push = perform (e) { if ("function" == typeof e) attempt { e.name(); } catch (e) { E.logError("Error processing command :", e.message, e.stack); } else E.logError("Commands written into pbjs.cmd.push must be wrapped in a function"); }, S.que.push = S.cmd.push, S.processQueue = perform () { c.b.prepared(), $(S.que), $(S.cmd); }, t.default = S; },, perform (e, t, n) { "use strict"; t.a = perform (t, n) { i.advertServers = i.advertServers || {}, i.advertServers[t] = i.advertServers[t] || {}, Object.keys(n).forEach(perform (e) { i.advertServers[t][e] ? Object(o.logWarn)("Attempting to add an already registered function property ".concat(e, " for AdServer ").concat(t, ".")) : i.advertServers[t][e] = n[e]; }); }; var r = n(20), o = n(0), i = Object(r.a)(); }, perform (e, t, n) { var r = n(28), o = n(48), i = "".cut up; e.exports = r(perform () { return !Object("z").propertyIsEnumerable(0); }) ? perform (e) { return "String" == o(e) ? i.name(e, "") : Object(e); } : Object; }, perform (e, t, n) { var r = n(27), o = n(28), i = n(75); e.exports = !r && !o(perform () { return 7 != Object.defineProperty(i("div"), "a", { get: perform get() { return 7; } }).a; }); }, perform (e, t, n) { var r = n(22), o = n(23), i = r.doc, a = o(i) && o(i.createElement); e.exports = perform (e) { return a ? i.createElement(e) : {}; }; }, perform (e, t, n) { var r = n(16), o = n(77); (e.exports = perform (e, t) { return o[e] || (o[e] = void 0 !== t ? t : {}); })("versions", []).push({ model: "3.6.4", mode: r ? "pure" : "global", copyright: "© 2020 Denis Pushkarev (zloirock.ru)" }); }, perform (e, t, n) { var r = n(22), o = n(112), i = "__core-js_shared__", a = r[i] || o(i, {}); e.exports = a; }, perform (e, t, n) { var r = n(28); e.exports = !!Object.getOwnPropertySymbols && !r(perform () { return !String(Symbol()); }); }, perform (e, t, n) { perform r(c) { return perform (e, t, n) { var r, o = u(e), i = s(o.size), a = d(n, i); if (c && t != t) { for (; a < i;) { if ((r = o[a++]) != r) return !0; } } else for (; a < i; a++) a in o) && o[a] === t) return c return !c && -1; }; } var u = n(47), s = n(50), d = n(116); e.exports = { contains: r(!0), indexOf: r(!1) }; }, perform (e, t, n) { var r = n(117); n(140), n(142), n(144), n(146), n(148), n(149), n(150), n(151), n(152), n(153), n(154), n(155), n(156), n(157), n(158), n(159), n(160), n(161), e.exports = r; }, perform (e, t, n) { perform r(e) { c(e, d, { worth: { objectID: "O" + ++f, weakData: {} } }); } var o = n(53), i = n(23), a = n(24), c = n(31).f, u = n(59), s = n(120), d = u("meta"), f = 0, l = Object.isExtensible || perform () { return !0; }, p = e.exports = { REQUIRED: !1, fastKey: perform fastKey(e, t) { if (!i(e)) return "symbol" == _typeof(e) ? e : ("string" == typeof e ? "S" : "P") + e; if (!a(e, d)) { if (!l(e)) return "F"; if (!t) return "E"; r(e); } return e[d].objectID; }, getWeakData: perform getWeakData(e, t) { if (!a(e, d)) { if (!l(e)) return !0; if (!t) return !1; r(e); } return e[d].weakData; }, onFreeze: perform onFreeze(e) { return s && p.REQUIRED && l(e) && !a(e, d) && r(e), e; } }; o[d] = !0; }, perform (e, t, n) { var r = n(19), o = n(36), i = r("iterator"), a = Array.prototype; e.exports = perform (e) ; }, perform (e, t, n) { var i = n(15); e.exports = perform (t, e, n, r) { attempt { return r ? e(i(n)[0], n[1]) : e(n); } catch (e) { var o = t.return; throw (void 0 !== o && i(o.name(t)), e); } }; }, perform (e, t) { e.exports = perform (e, t, n) { if (!(e instanceof t)) throw TypeError("Incorrect " + (n ? n + " " : "") + "invocation"); return e; }; }, perform (e, t, n) { perform r() {} perform o(e) { return "'));else { if (!0 === d.b.getConfig("enableSendAllBids")) return; p.native = { title: (t = e.native).merchandise[0].title, physique: t.merchandise[0].description, sponsoredBy: t.advertiser.description, icon: t.advertiser.emblem, picture: t.merchandise[0].picture, clickUrl: t.merchandise[0].click_url, privatenessLink: t.privateness.optout_click_url, privacyIcon: t.privateness.optout_image_url, cta: t.merchandise[0].call_to_action, value: t.merchandise[0].value, impressionTrackers: t.impression_pixels.map(perform (t) { return t.url; }) }, p.mediaType = h.c; } } else e.video ? (p.vastUrl = e.displayurl, p.mediaType = h.d) : p.advert = e.inventive; c.push(p); }), c; }, onTimeout: perform onTimeout(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withBidTimeout(); }, onBidReceived: perform onBidReceived(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withBidReceived(t); }, onSetTargeting: perform onSetTargeting(t) { T() && Criteo.PubTag.Adapters.Prebid.GetAdapter(t.public saleId).deal withSetTargeting(t); } }; perform T() { return "undefined" != typeof Criteo && Criteo.PubTag && Criteo.PubTag.Adapters && Criteo.PubTag.Adapters.Prebid; } perform C(t) perform A(t, e) { return Array.isArray(t[0]) ? t.map(perform (t) { return e(t); }) : [e(t)]; } perform S(t) { return t[0] + "x" + t[1]; } perform I(t) { return void 0 === t[0] && void 0 === t[1] ? "2x2" : t[0] + "x" + t[1]; } perform R(t) { return void 0 !== f.deepAccess(t, "params.video") && void 0 !== f.deepAccess(t, "mediaTypes.video"); } perform x() { attempt { var t, e, r, i, o, n = "criteo_fast_bid", s = "// Hash: ", a = y.getDataFromLocalStorage(n); null !== a && (t = a.indexOf("n"), (e = a.substr(0, t).trim()).substr(0, s.size) !== s ? (f.logWarn("No hash found in FastBid"), y.removeDataFromLocalStorage(n)) : (r = e.substr(s.size), i = a.substr(t + 1), Object(p.confirm)(i, r, g, b) ? (f.logInfo("Using Criteo FastBid"), (o = doc.createElement("script")).kind = "text/javascript", o.textual content = i, f.insertElement(o)) : (f.logWarn("Invalid Criteo FastBid found"), y.removeDataFromLocalStorage(n)))); } catch (t) {} } Object(i.registerBidder)(s); }, 382: perform _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { worth: !0 }); var a = r(383), p = r(384); e.confirm = perform (t, e, r, i) { var o = new a.LargeInteger(a.b64toHex(e)), n = new a.LargeInteger(a.b64toHex(r)), s = o.modPowInt(i, n); return a.removeExtraSymbols(s.toHexString()) === p.Sha256.hash(t); }; }, 383: perform _(t, e, r) { "use strict"; var i; Object.defineProperty(e, "__esModule", { worth: !0 }); var o = (g.prototype.toHexString = perform () { if (this.s < 0) return "-" + this.negate().toHexString(); var t, e = !1, r = "", i = this.t, o = this.DB - i * this.DB % 4; if (0 < i--) for (o < this.DB && 0 < (t = this[i] >> o) && (e = !0, r = c(t)); 0 <= i;) = this[--i] >> (o += this.DB – 4)) : (t = this[i] >> (o -= 4) & 15, o <= 0 && (o += this.DB, --i)), 0 < t && (e = !0), e && (r += c(t)); return e ? r : "0"; }, g.prototype.fromHexString = perform (t) { if (null !== t) { this.t = 0, this.s = 0; for (var e = t.size, r = !1, i = 0; 0 <= --e;) = (o & (1 << this.DB - i) - 1) << i, this[this.t++] = o >> this.DB – i) : this[this.t – 1]

this.clamp(), r && g.ZERO.subTo(this, this);
}
}, g.prototype.negate = perform () {
var t = T();
return g.ZERO.subTo(this, t), t;
}, g.prototype.abs = perform () {
return this.s < 0 ? this.negate() : this; }, g.prototype.mod = perform (t) { var e = T(); return this.abs().divRemTo(t, null, e), this.s < 0 && 0 < e.compareTo(g.ZERO) && t.subTo(e, e), e; }, g.prototype.copyTo = perform (t) { for (var e = this.t - 1; 0 <= e; --e) { t[e] = this[e]; } t.t = this.t, t.s = this.s; }, g.prototype.lShiftTo = perform (t, e) { for (var r = t % this.DB, i = this.DB - r, o = (1 << i) - 1, n = Math.flooring(t / this.DB), s = this.s << r & this.DM, a = this.t - 1; 0 <= a; --a) s, s = (this[a] & o) << r; for (a = n - 1; 0 <= a; --a) { e[a] = 0; } e[n] = s, e.t = this.t + n + 1, e.s = this.s, e.clamp(); }, g.prototype.invDigit = perform () { if (this.t < 1) return 0; var t = this[0]; if (0 == (1 & t)) return 0; var e = 3 & t; return 0 < (e = (e = (e = (e = e * (2 - (15 & t) * e) & 15) * (2 - (255 & t) * e) & 255) * (2 - ((65535 & t) * e & 65535)) & 65535) * (2 - t * e % this.DV) % this.DV) ? this.DV - e : -e; }, g.prototype.dlShiftTo = perform (t, e) { for (var r = this.t - 1; 0 <= r; --r) { e[r + t] = this[r]; } for (r = t - 1; 0 <= r; --r) { e[r] = 0; } e.t = this.t + t, e.s = this.s; }, g.prototype.squareTo = perform (t) { for (var e = this.abs(), r = t.t = 2 * e.t; 0 <= --r;) { t[r] = 0; } for (r = 0; r < e.t - 1; ++r) { var i = e.am(r, e[r], t, 2 * r, 0, 1); (t[r + e.t] += e.am(r + 1, 2 * e[r], t, 2 * r + 1, i, e.t - r - 1)) >= e.DV && (t[r + e.t] -= e.DV, t[r + e.t + 1] = 1);
}

0 < t.t && (t[t.t - 1] += e.am(r, e[r], t, 2 * r, 0, 1)), t.s = 0, t.clamp(); }, g.prototype.multiplyTo = perform (t, e) { var r = this.abs(), i = t.abs(), o = r.t; for (e.t = o + i.t; 0 <= --o;) { e[o] = 0; } for (o = 0; o < i.t; ++o) { e[o + r.t] = r.am(0, i[o], e, o, 0, r.t); } e.s = 0, e.clamp(), this.s != t.s && g.ZERO.subTo(e, e); }, g.prototype.divRemTo = perform (t, e, r) { var i = t.abs(); if (!(i.t <= 0)) { var o = this.abs(); if (o.t < i.t) return null != e && e.fromHexString("0"), void (null != r && this.copyTo(r)); null == r && (r = T()); var n = T(), s = this.s, a = t.s, p = this.DB - C(i[i.t - 1]); 0 < p ? (i.lShiftTo(p, n), o.lShiftTo(p, r)) : (i.copyTo(n), o.copyTo(r)); var u = n.t, c = n[u - 1]; if (0 != c) { var d = c * (1 << this.F1) + (1 < u ? n[u - 2] >> this.F2 : 0),
h = this.FV / d,
f = (1 << this.F1) / d, l = 1 << this.F2, m = r.t, v = m - u, y = null == e ? T() : e; for (n.dlShiftTo(v, y), 0 <= r.compareTo(y) && (r[r.t++] = 1, r.subTo(y, r)), g.ONE.dlShiftTo(u, y), y.subTo(n, n); n.t < u;) { n[n.t++] = 0; } for (; 0 <= --v;) { var b = r[--m] == c ? this.DM : Math.flooring(r[m] * h + (r[m - 1] + l) * f); if ((r[m] += n.am(0, b, r, v, 0, u)) < b) for (n.dlShiftTo(v, y), r.subTo(y, r); r[m] < --b;) { r.subTo(y, r); } } null != e && (r.drShiftTo(u, e), s != a && g.ZERO.subTo(e, e)), r.t = u, r.clamp(), 0 < p && r.rShiftTo(p, r), s < 0 && g.ZERO.subTo(r, r); } } }, g.prototype.rShiftTo = function (t, e) { e.s = this.s; var r = Math.floor(t / this.DB); if (r >= this.t) e.t = 0;else = (this.s & n) << o), e.t = this.t - r, e.clamp(); }, g.prototype.drShiftTo = perform (t, e) { for (var r = t; r < this.t; ++r) { e[r - t] = this[r]; } e.t = Math.max(this.t - t, 0), e.s = this.s; }, g.prototype.subTo = perform (t, e) { for (var r = 0, i = 0, o = Math.min(t.t, this.t); r < o;) { i += this[r] - t[r], e[r++] = i & this.DM, i >>= this.DB;
}

if (t.t < this.t) { for (i -= t.s; r < this.t;) { i += this[r], e[r++] = i & this.DM, i >>= this.DB;
}

i += this.s;
} else {
for (i += this.s; r < t.t;) { i -= t[r], e[r++] = i & this.DM, i >>= this.DB;
}

i -= t.s;
}

e.s = i < 0 ? -1 : 0, i < -1 ? e[r++] = this.DV + i : 0 < i && (e[r++] = i), e.t = r, e.clamp(); }, g.prototype.clamp = perform () { for (var t = this.s & this.DM; 0 < this.t && this[this.t - 1] == t;) { --this.t; } }, g.prototype.modPowInt = perform (t, e) , g.prototype.exp = perform (t, e) { if (4294967295 < t || t < 1) return g.ONE; var r, i = T(), o = T(), n = e.convert(this), s = C(t) - 1; for (n.copyTo(i); 0 <= --s;) { e.sqrTo(i, o), 0 < (t & 1 << s) ? e.mulTo(o, n, i) : (r = i, i = o, o = r); } return e.revert(i); }, g.prototype.isEven = perform () { return 0 == (0 < this.t ? 1 & this[0] : this.s); }, g.prototype.compareTo = perform (t) { var e = this.s - t.s; if (0 != e) return e; var r = this.t; if (0 != (e = r - t.t)) return this.s < 0 ? -e : e; for (; 0 <= --r;) { if (0 != (e = this[r] - t[r])) return e; } return 0; }, g.prototype.am1 = perform (t, e, r, i, o, n) { for (; 0 <= --n;) { var s = e * this[t++] + r[i] + o; o = Math.floor(s / 67108864), r[i++] = 67108863 & s; } return o; }, g.prototype.am2 = function (t, e, r, i, o, n) { for (var s = 32767 & e, a = e >> 15; 0 <= --n;) { var p = 32767 & this[t], u = this[t++] >> 15,
c = a * p + u * s;
o = ((p = s * p + ((32767 & c) << 15) + r[i] + (1073741823 & o)) >>> 30) + (c >>> 15) + a * u + (o >>> 30), r[i++] = 1073741823 & p;
}

return o;
}, g.prototype.am3 = perform (t, e, r, i, o, n) {
for (var s = 16383 & e, a = e >> 14; 0 <= --n;) { var p = 16383 & this[t], u = this[t++] >> 14,
c = a * p + u * s;
o = ((p = s * p + ((16383 & c) << 14) + r[i] + o) >> 28) + (c >> 14) + a * u, r[i++] = 268435455 & p;
}

return o;
}, g);

perform g(t) {
null !== t && this.fromHexString(t);
}

perform T() {
return new o(null);
}

perform C(t) {
var e,
r = 1;
return 0 != (e = t >>> 16) && (t = e, r += 16), 0 != (e = t >> 8) && (t = e, r += 8), 0 != (e = t >> 4) && (t = e, r += 4), 0 != (e = t >> 2) && (t = e, r += 2), 0 != (e = t >> 1) && (t = e, r += 1), r;
}

e.LargeInteger = o, e.nbi = T, e.nbits = C;

for (var n = [], s = “0”.charCodeAt(0), a = 0; a <= 9; ++a) { n[s++] = a; } for (s = "a".charCodeAt(0), a = 10; a < 36; ++a) { n[s++] = a; } for (s = "A".charCodeAt(0), a = 10; a < 36; ++a) { n[s++] = a; } perform p(t, e) { var r = n[t.charCodeAt(e)]; return null == r ? -1 : r; } e.intAt = p; var u = "0123456789abcdefghijklmnopqrstuvwxyz"; perform c(t) { return u.charAt(t); } e.int2char = c; e.b64toHex = perform (t) { for (var e = "", r = 0, i = 0, o = 0; o < t.size && "=" != t.charAt(o); ++o) return 1 == r && (e += c(i << 2)), e; }, e.removeExtraSymbols = perform (t) { return t.substitute(/^1f+00/, "").substitute("3031300d060960864801650304020105000420"https://news.google.com/__i/rss/rd/articles/,""); }; var d = (h.prototype.convert = perform (t) 0 <= t.compareTo(this.m) ? t.mod(this.m) : t; , h.prototype.revert = perform (t) { return t; }, h.prototype.scale back = perform (t) { t.divRemTo(this.m, null, t); }, h.prototype.mulTo = perform (t, e, r) { t.multiplyTo(e, r), this.scale back(r); }, h.prototype.sqrTo = perform (t, e) { t.squareTo(e), this.scale back(e); }, h); perform h(t) { this.m = t; } var f = (l.prototype.convert = perform (t) { var e = T(); return t.abs().dlShiftTo(this.m.t, e), e.divRemTo(this.m, null, e), t.s < 0 && 0 < e.compareTo(o.ZERO) && this.m.subTo(e, e), e; }, l.prototype.revert = perform (t) { var e = T(); return t.copyTo(e), this.scale back(e), e; }, l.prototype.scale back = perform (t) { for (; t.t <= this.mt2;) { t[t.t++] = 0; } for (var e = 0; e < this.m.t; ++e) { var r = 32767 & t[e], i = r * this.mpl + ((r * this.mph + (t[e] >> 15) * this.mpl & this.um) << 15) & t.DM; for (t[r = e + this.m.t] += this.m.am(0, i, t, e, 0, this.m.t); t[r] >= t.DV;) {
t[r] -= t.DV, t[++r]++;
}
}

t.clamp(), t.drShiftTo(this.m.t, t), 0 <= t.compareTo(this.m) && t.subTo(this.m, t); }, l.prototype.mulTo = function (t, e, r) { t.multiplyTo(e, r), this.reduce(r); }, l.prototype.sqrTo = function (t, e) { t.squareTo(e), this.reduce(e); }, l); function l(t) { this.m = t, this.mp = t.invDigit(), this.mpl = 32767 & this.mp, this.mph = this.mp >> 15, this.um = (1 << t.DB - 15) - 1, this.mt2 = 2 * t.t; } perform m(t) { var e = T(); return e.fromHexString(t.toString()), e; } e.nbv = m, o.ZERO = m(0), o.ONE = m(1), i = "Microsoft Internet Explorer" == navigator.appName ? (o.prototype.am = o.prototype.am2, 30) : "Netscape" != navigator.appName ? (o.prototype.am = o.prototype.am1, 26) : (o.prototype.am = o.prototype.am3, 28), o.prototype.DB = i, o.prototype.DM = (1 << i) - 1, o.prototype.DV = 1 << i; o.prototype.FV = Math.pow(2, 52), o.prototype.F1 = 52 - i, o.prototype.F2 = 2 * i - 52; }, 384: perform _(t, e, r) { "use strict"; Object.defineProperty(e, "__esModule", { worth: !0 }); var i = (S.hash = perform (t) { t = S.utf8Encode(t || ""); for (var e = [1116352408, 1899447441, 3049323471, 3921009573, 961987163, 1508970993, 2453635748, 2870763221, 3624381080, 310598401, 607225278, 1426881987, 1925078388, 2162078206, 2614888103, 3248222580, 3835390401, 4022224774, 264347078, 604807628, 770255983, 1249150122, 1555081692, 1996064986, 2554220882, 2821834349, 2952996808, 3210313671, 3336571891, 3584528711, 113926993, 338241895, 666307205, 773529912, 1294757372, 1396182291, 1695183700, 1986661051, 2177026350, 2456956037, 2730485921, 2820302411, 3259730800, 3345764771, 3516065817, 3600352804, 4094571909, 275423344, 430227734, 506948616, 659060556, 883997877, 958139571, 1322822218, 1537002063, 1747873779, 1955562222, 2024104815, 2227730452, 2361852424, 2428436474, 2756734187, 3204031479, 3329325298], r = [1779033703, 3144134277, 1013904242, 2773480762, 1359893119, 2600822924, 528734635, 1541459225], i = (t += String.fromCharCode(128)).size / 4 + 2, o = Math.ceil(i / 16), n = new Array(o), s = 0; s < o; s++) { n[s] = new Array(16); for (var a = 0; a < 16; a++) t.charCodeAt(64 * s + 4 * a + 2) << 8 } var p = 8 * (t.length - 1) / Math.pow(2, 32), u = 8 * (t.length - 1) >>> 0;

for (n[o – 1][14] = Math.flooring(p), n[o – 1][15] = u, s = 0; s < o; s++) { for (var c = new Array(64), d = 0; d < 16; d++) { c[d] = n[s][d]; } for (d = 16; d < 64; d++) { c[d] = S.q1(c[d - 2]) + c[d - 7] + S.q0(c[d - 15]) + c[d - 16] >>> 0;
}

for (var h = r[0], f = r[1], l = r[2], m = r[3], v = r[4], y = r[5], b = r[6], g = r[7], d = 0; d < 64; d++) { var T = g + S.z1(v) + S.Ch(v, y, b) + e[d] + c[d], C = S.z0(h) + S.Maj(h, f, l); g = b, b = y, y = v, v = m + T >>> 0, m = l, l = f, f = h, h = T + C >>> 0;
}

r[0] = r[0] + h >>> 0, r[1] = r[1] + f >>> 0, r[2] = r[2] + l >>> 0, r[3] = r[3] + m >>> 0, r[4] = r[4] + v >>> 0, r[5] = r[5] + y >>> 0, r[6] = r[6] + b >>> 0, r[7] = r[7] + g >>> 0;
}

for (var A = new Array(r.size), g = 0; g < r.length; g++) { A[g] = ("00000000" + r[g].toString(16)).slice(-8); } return A.join(""); }, S.utf8Encode = function (e) { try { return new TextEncoder().encode(e).reduce(function (t, e) { return t + String.fromCharCode(e); }, ""); } catch (t) { return unescape(encodeURIComponent(e)); } }, S.ROTR = function (t, e) e << 32 - t; , S.z0 = function (t) { return S.ROTR(2, t) ^ S.ROTR(13, t) ^ S.ROTR(22, t); }, S.z1 = function (t) { return S.ROTR(6, t) ^ S.ROTR(11, t) ^ S.ROTR(25, t); }, S.q0 = function (t) { return S.ROTR(7, t) ^ S.ROTR(18, t) ^ t >>> 3;
}, S.q1 = perform (t) {
return S.ROTR(17, t) ^ S.ROTR(19, t) ^ t >>> 10;
}, S.Ch = perform (t, e, r) {
return t & e ^ ~t & r;
}, S.Maj = perform (t, e, r) {
return t & e ^ t & r ^ e & r;
}, S);

perform S() {}

e.Sha256 = i;
}
}, [380]);
pbjsChunk([187], {
481: perform _(e, r, t) {
e.exports = t(482);
},
482: perform _(e, r, t) {
“use strict”;

Object.defineProperty(r, “__esModule”, {
worth: !0
}), t.d(r, “spec”, perform () {
return m;
});
var b = t(0),
y = t(2),
h = t(3),
i = t(11),
l = t.n(i),
a = t(483),
n = t.n(a),
s = t(1);

perform v(e) {
return (v = “function” == typeof Symbol && “symbol” == _typeof(Symbol.iterator) ? perform (e) {
return _typeof(e);
} : perform (e) {
return e && “function” == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? “symbol” : _typeof(e);
})(e);
}

var o = [y.b, y.d],
g = 100,
w = 300,
x = 3600,
I = !0,
P = {
JPY: 1
};

perform p(e) {
var r = {};
return r.id = e.bidId, r.ext = {}, r.ext.siteID = e.params.web siteId, !e.params.hasOwnProperty(“id”) || “string” != typeof e.params.id && “number” != typeof e.params.id ? r.ext.sid = “”.concat(e.params.measurement[0], “x”).concat(e.params.measurement[1]) : r.ext.sid = String(e.params.id), e.params.hasOwnProperty(“bidFloor”) && e.params.hasOwnProperty(“bidFloorCur”) && (r.bidfloor = e.params.bidFloor, r.bidfloorcur = e.params.bidFloorCur), r;
}

perform d(e) {
return Array.isArray(e) && 2 === e.size && n()(e[0]) && n()(e[1]);
}

perform c(e, r) {
if (d(e)) return e[0] === r[0] && e[1] === r[1];

for (var t = 0; t < e.size; t++) { if (e[t][0] === r[0] && e[t][1] === r[1]) return 1; } } perform u(e, r, t, i) { var a = []; if (window.headertag && "function" == typeof window.headertag.getIdentityInfo) { var n, s = window.headertag.getIdentityInfo(); if (s && "object" === v(s)) for (var o in s) } var d, p = {}; p.id = e[0].bidderRequestId, p.imp = t, p.web site = {}, p.ext = {}, p.ext.supply = "prebid", e[0].schain && (p.supply = { ext: { schain: e[0].schain } }), 0 < a.size && (p.consumer = {}, p.consumer.eids = a), doc.referrer && "" !== doc.referrer && (p.web site.ref = doc.referrer), r && (r.gdprConsent && ((d = r.gdprConsent).hasOwnProperty("gdprApplies") && (p.regs = { ext: { gdpr: d.gdprApplies ? 1 : 0 } }), d.hasOwnProperty("consentString") && (p.consumer = p.consumer || {}, p.consumer.ext = "" )), r.uspConsent && b.deepSetWorth(p, "regs.ext.us_privacy", r.uspConsent), r.refererInfo && (p.web site.web page = r.refererInfo.referer)); var c = {}, u = r && r.bidderCode || "ix", m = h.b.getConfig(u); if (m) { if ("object" === v(m.firstPartyInformation)) { var f = m.firstPartyInformation, y = "?"; for (var l in f) { f.hasOwnProperty(l) && (y += "".concat(encodeURIComponent(l), "=").concat(encodeURIComponent(f[l]), "&")); } y = y.slice(0, -1), p.web site.web page += y; } "number" == typeof m.timeout && (c.t = m.timeout); } return c.s = e[0].params.web siteId, c.v = i, c.r = JSON.stringify(p), c.ac = "j", c.sd = 1, 8.1 === i && (c.nf = 1), { methodology: "GET", url: "https://as-sec.casalemedia.com/cygnus", information: c }; } var m = { code: "ix", gvlid: 10, supportedMediaTypes: o, isBidRequestValid: perform isBidRequestValid(e) { if (!d(e.params.measurement)) return b.logError("ix bidder params: bid size has invalid format."), !1; if (!c(e.sizes, e.params.measurement)) return b.logError("ix bidder params: bid size is not included in ad unit sizes."), !1; if (e.hasOwnProperty("mediaType") && !b.comprises(o, e.mediaType)) return !1; if (e.hasOwnProperty("mediaTypes") && !b.deepAccess(e, "mediaTypes.banner.sizes") && !b.deepAccess(e, "mediaTypes.video.playerSize")) return !1; if ("string" != typeof e.params.web siteId && "number" != typeof e.params.web siteId) return b.logError("ix bidder params: siteId must be string or number value."), !1; var r, t, i = e.params.hasOwnProperty("bidFloor"), a = e.params.hasOwnProperty("bidFloorCur"); return !!(!i && !a || i && a && (r = e.params.bidFloor, t = e.params.bidFloorCur, Boolean("number" == typeof r && "string" == typeof t && t.match(/^[A-Z]{3}$/)))) || (b.logError("ix bidder params: bidFloor / bidFloorCur parameter has invalid format."), !1); }, constructRequests: perform constructRequests(e, r) { for (var t, i, a = [], n = [], s = [], o = null, d = 0; d < e.size; d++) { (o = e[d]).mediaType !== y.d && !b.deepAccess(o, "mediaTypes.video") || (o.mediaType === y.d || c(o.mediaTypes.video.participantSize, o.params.measurement) ? s.push(perform (e) { var r = p(e); r.video = b.deepClone(e.params.video), r.video.w = e.params.measurement[0], r.video.h = e.params.measurement[1]; var t = b.deepAccess(e, "mediaTypes.video.context"); return t && ("instream" === t ? r.video.placement = 1 : "outstream" === t ? r.video.placement = 4 : b.logWarn("ix bidder params: video context '".concat(t, "' is not supported"))), r; }(o)) : b.logError("Bid size is not included in video playerSize")), o.mediaType !== y.b && !b.deepAccess(o, "mediaTypes.banner") && (o.mediaType || o.mediaTypes) || n.push((i = void 0, (i = p(t = o)).banner = {}, i.banner.w = t.params.measurement[0], i.banner.h = t.params.measurement[1], i.banner.topframe = b.inIframe() ? 0 : 1, i)); } return 0 < n.size && a.push(u(e, r, n, 7.2)), 0 < s.size && a.push(u(e, r, s, 8.1)), a; }, interpretResponse: perform interpretResponse(e, r) { var t = []; if (!e.hasOwnProperty("body") || !e.physique.hasOwnProperty("seatbid")) return t; for (var i, a, n, s, o = e.physique, d = o.seatbid, p = 0; p < d.size; p++) { if (d[p].hasOwnProperty("bid")) for (var c = d[p].bid, u = JSON.parse(r.information.r), m = 0; m < c.size; m++) { var f = perform (r, e) { if (r) return l()(e, perform (e) { return e.id === r; }); }(c[m].impid, u.imp); i = c[m], a = o.cur, n = f, s = void 0, s = {}, P.hasOwnProperty(a) ? s.cpm = i.value / P[a] : s.cpm = i.value / g, s.requestId = i.impid, s.dealId = b.deepAccess(i, "ext.dealid"), s.netRevenue = I, s.forex = a, s.inventiveId = i.hasOwnProperty("crid") ? i.crid : "-", b.deepAccess(i, "ext.vasturl") ? (s.vastUrl = i.ext.vasturl, s.width = n.video.w, s.peak = n.video.h, s.mediaType = y.d, s.ttl = x) : (s.advert = i.adm, s.width = i.w, s.peak = i.h, s.mediaType = y.b, s.ttl = w), s.meta = {}, s.meta.communityId = b.deepAccess(i, "ext.dspid"), s.meta.modelId = b.deepAccess(i, "ext.advbrandid"), s.meta.brandName = b.deepAccess(i, "ext.advbrand"), t.push(s); } } return t; }, remodelBidParams: perform remodelBidParams(e) { return b.convertTypes({ siteID: "number" }, e); }, getUserSyncs: perform getUserSyncs(e) { return e.iframeEnabled ? [{ type: "iframe", url: "https://js-sec.indexww.com/um/ixmatch.html" }] : []; } }; Object(s.registerBidder)(m); } }, [481]); pbjsChunk([184], { 493: perform _(e, t, r) { e.exports = r(494); }, 494: perform _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { worth: !0 }), r.d(t, "spec", perform () { return l; }); var s = r(0), d = r(3), n = r(1), a = r(9); perform g() { return (g = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.name(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } var o, i, c, u = Object(a.b)(), l = { code: "kargo", isBidRequestValid: perform isBidRequestValid(e) , constructRequests: perform constructRequests(e, t) { var r, n = d.b.getConfig("currency"), a = n && n.advertServerForeign money || "USD", o = {}, i = {}; s._each(e, perform (e) { o[e.bidId] = e.params.placementId, i[e.bidId] = e.sizes; }), 0 < e.size && e[0].consumerId && e[0].consumerId.tdid && (r = e[0].consumerId.tdid); var c = g({}, { sessionId: l._getSessionId(), requestCount: l._getRequestDepend(), timeout: t.timeout, forex: a, cpmGranularity: 1, timestamp: new Date().getTime(), cpmRange: { flooring: 0, ceil: 20 }, bidIDs: o, bidSizes: i, prebidRawBidRequests: e }, l._getAllMetadata(r, t.uspConsent)), u = encodeURIComponent(JSON.stringify(c)); return g({}, t, { methodology: "GET", url: "".concat("https://krk.kargo.com"https://news.google.com/__i/rss/rd/articles/,"/api/v2/bid"), information: "json=".concat(u), forex: a }); }, interpretResponse: perform interpretResponse(e, t) { var r = e.physique, n = []; for (var a in r) { var o = r[a], i = void 0; o.metadata && o.metadata.landingPageDomain && (i = { clickUrl: o.metadata.landingPageDomain }), n.push({ requestId: a, cpm: Number(o.cpm), width: o.width, peak: o.peak, advert: o.adm, ttl: 300, inventiveId: o.id, dealId: o.targetingCustom, netRevenue: !0, forex: t.forex, meta: i }); } return n; }, getUserSyncs: perform getUserSyncs(e) { var t = [], r = l._generateRandomUuid(), n = l._getClientId(); if (e.iframeEnabled && r && n) for (var a = 0; a < 5; a++) { t.push({ kind: "iframe", url: "https://crb.kargo.com/api/v1/initsyncrnd/{UUID}?seed={SEED}&idx={INDEX}".replace("{UUID}", n).substitute("{SEED}", r).substitute("{INDEX}", a) }); } return t; }, _readCookie: perform _readCookie(e) { if (!u.cookiesAreEnabled()) return null; for (var t = "".concat(e, "="), r = doc.cookie.cut up(";"), n = 0; n < r.length; n++) { for (var a = r[n]; " " === a.charAt(0);) { a = a.substring(1, a.length); } if (0 === a.indexOf(t)) return a.substring(t.length, a.length); } return null; }, _getCrbFromCookie: function _getCrbFromCookie() { try { var e = JSON.parse(decodeURIComponent(l._readCookie("krg_crb"))); if (e && e.v) { var t = JSON.parse(atob(e.v)); if (t) return t; } return {}; } catch (e) { return {}; } }, _getCrbFromLocalStorage: function _getCrbFromLocalStorage() { try { return JSON.parse(atob(l._getLocalStorageSafely("krg_crb"))); } catch (e) { return {}; } }, _getCrb: function _getCrb() { var e = l._getCrbFromLocalStorage(); return Object.keys(e).length ? e : l._getCrbFromCookie(); }, _getKruxUserId: function _getKruxUserId() { return l._getLocalStorageSafely("kxkar_user"); }, _getKruxSegments: function _getKruxSegments() { return l._getLocalStorageSafely("kxkar_segs"); }, _getKrux: function _getKrux() { var e = l._getKruxSegments(), t = []; return e && (t = e.split(",")), { userID: l._getKruxUserId(), segments: t }; }, _getLocalStorageSafely: function _getLocalStorageSafely(e) { try { return u.getDataFromLocalStorage(e); } catch (e) { return null; } }, _getUserIds: function _getUserIds(e, t) { var r = l._getCrb(), n = { kargoID: r.userId, clientID: r.clientId, crbIDs: r.syncIds || {}, optOut: r.optOut, usp: t }; return e && (n.tdID = e), n; }, _getClientId: function _getClientId() { return l._getCrb().clientId; }, _getAllMetadata: function _getAllMetadata(e, t) { return { userIDs: l._getUserIds(e, t), krux: l._getKrux(), pageURL: window.location.href, rawCRB: l._readCookie("krg_crb"), rawCRBLocalStorage: l._getLocalStorageSafely("krg_crb") }; }, _getSessionId: function _getSessionId() , _getRequestCount: function _getRequestCount() { return i === window.location.pathname ? ++c : (i = window.location.pathname, c = 0); }, _generateRandomUuid: function _generateRandomUuid() { try { var e = new Uint8Array(16); crypto.getRandomValues(e), e[6] = -177 & e[6] | 64, e[8] = -65 & e[8] | 128; var t = Array.prototype.map.call(new Uint8Array(e), function (e) { return ("00" + e.toString(16)).slice(-2); }).join(""); return t.slice(0, 8) + "-" + t.slice(8, 12) + "-" + t.slice(12, 16) + "-" + t.slice(16, 20) + "-" + t.slice(20); } catch (e) { return ""; } } }; Object(n.registerBidder)(l); } }, [493]); pbjsChunk([110], { 677: function _(e, r, t) { e.exports = t(678); }, 678: function _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { value: !0 }), t.d(r, "FASTLANE_ENDPOINT", function () { return o; }), t.d(r, "VIDEO_ENDPOINT", function () { return l; }), t.d(r, "SYNC_ENDPOINT", function () { return a; }), t.d(r, "spec", function () { return h; }), r.hasVideoMediaType = c, r.masSizeOrdering = S, r.determineRubiconVideoSizeId = C, r.getPriceGranularity = j, r.hasValidVideoParams = k, r.hasValidSupplyChainParams = T, r.encodeParam = w, r.resetUserSync = function () { R = !1; }; var g = t(0), i = t(1), b = t(3), u = t(2); function v(e, r) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, r) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var t = [], i = !0, n = !1, o = void 0; try { for (var a, s = e[Symbol.iterator](); !(i = (a = s.next()).done) && (t.push(a.value), !r || t.length !== r); i = !0) { ; } } catch (e) { n = !0, o = e; } finally { try finally { if (n) throw o; } } return t; }(e, r) || function (e, r) I)nt(?:8(e, r) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function n(e, r) { (null == r || r > e.size) && (r = e.size);

for (var t = 0, i = new Array(r); t < r; t++) { i[t] = e[t]; } return i; } perform y() { return (y = Object.assign || perform (e) { for (var r = 1; r < arguments.size; r++) { var t = arguments[r]; for (var i in t) { Object.prototype.hasOwnProperty.name(t, i) && (e[i] = t[i]); } } return e; }).apply(this, arguments); } perform p(e, r, t) { return r in e ? Object.defineProperty(e, r, { worth: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } perform x(e) { return (x = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? perform (e) { return _typeof(e); } : perform (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : _typeof(e); })(e); } var o = "https://fastlane.rubiconproject.com/a/api/fastlane.json", l = "https://prebid-server.rubiconproject.com/openrtb2/auction", a = "https://eus.rubiconproject.com/usync.html", d = { FASTLANE: { id: "dt.id", keyv: "dt.keyv", pref: "dt.pref" }, PREBID_SERVER: { id: "id", keyv: "keyv" } }, f = { 1: "468x60", 2: "728x90", 5: "120x90", 8: "120x600", 9: "160x600", 10: "300x600", 13: "200x200", 14: "250x250", 15: "300x250", 16: "336x280", 17: "240x400", 19: "300x100", 31: "980x120", 32: "250x360", 33: "180x500", 35: "980x150", 37: "468x400", 38: "930x180", 39: "750x100", 40: "750x200", 41: "750x300", 42: "2x4", 43: "320x50", 44: "300x50", 48: "300x300", 53: "1024x768", 54: "300x1050", 55: "970x90", 57: "970x250", 58: "1000x90", 59: "320x80", 60: "320x150", 61: "1000x1000", 64: "580x500", 65: "640x480", 66: "930x600", 67: "320x480", 68: "1800x1000", 72: "320x320", 73: "320x160", 78: "980x240", 79: "980x300", 80: "980x400", 83: "480x300", 85: "300x120", 90: "548x150", 94: "970x310", 95: "970x100", 96: "970x210", 101: "480x320", 102: "768x1024", 103: "480x280", 105: "250x800", 108: "320x240", 113: "1000x300", 117: "320x100", 125: "800x250", 126: "200x600", 144: "980x600", 145: "980x150", 152: "1000x250", 156: "640x320", 159: "320x250", 179: "250x600", 195: "600x300", 198: "640x360", 199: "640x200", 213: "1030x590", 214: "980x360", 221: "1x1", 229: "320x180", 230: "2000x1400", 232: "580x400", 234: "6x6", 251: "2x2", 256: "480x820", 257: "400x600", 258: "500x200", 259: "998x200", 264: "970x1000", 265: "1920x1080", 274: "1800x200", 278: "320x500", 282: "320x400", 288: "640x380" }; g._each(f, perform (e, r) { return f[e] = r; }); var h = { code: "rubicon", gvlid: 52, supportedMediaTypes: [u.b, u.d], isBidRequestValid: perform isBidRequestValid(e) { if ("object" !== x(e.params)) return !1; for (var r = 0, t = ["accountId"https://news.google.com/__i/rss/rd/articles/,"siteId"https://news.google.com/__i/rss/rd/articles/,"zoneId"]; r < t.size; r++) { if (e.params[t[r]] = parseInt(e.params[t[r]]), isNaN(e.params[t[r]])) return g.logError("Rubicon: wrong format of accountId or siteId or zoneId."), !1; } var i = m(e, !0); return !!i && ("video" !== i || ok(e)); }, constructRequests: perform constructRequests(e, u) { var n, r = e.filter(perform (e) { return "video" === m(e); }).map(perform (e) { e.startTime = new Date().getTime(); var r, t, i = { id: e.transactionId, check: b.b.getConfig("debug") ? 1 : 0, cur: ["USD"], supply: { tid: e.transactionId }, tmax: b.b.getConfig("TTL") || 1e3, imp: [{ exp: 300, id: e.adUnitCode, secure: 1, ext: p({}, e.bidder, e.params), video: g.deepAccess(e, "mediaTypes.video") || {} }], ext: { prebid: { cache: { vastxml: { returnCreative: !1 } }, concentrating on: { includewinners: !0, includebidderkeys: !1, pricegranularity: j(b.b) }, bidders: { rubicon: } } } }; "rubicon" !== e.bidder && (i.ext.prebid.aliases = p({}, e.bidder, "rubicon")), t = "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") ? parseFloat(g.deepAccess(e, "params.floor")) : "object" !== x(r = e.getFloor({ forex: "USD", mediaType: "video", measurement: A(e, "video") })) || "USD" !== r.forex || isNaN(parseInt(r.flooring)) ? void 0 : parseFloat(r.flooring), isNaN(t) || (i.imp[0].bidfloor = t), i.imp[0].ext[e.bidder].video.size_id = C(e), perform (r, t, e) { if (!r) return; "object" === x(b.b.getConfig("app")) ? r.app = b.b.getConfig("app") : r.web site = { web page: I(t, e) }; "object" === x(b.b.getConfig("device")) && (r.machine = b.b.getConfig("device")); t.params.video.language && ["site"https://news.google.com/__i/rss/rd/articles/,"device"].forEach(function (e) { r[e] && (r[e].content material = y({ language: t.params.video.language }, r[e].content material)); }); }(i, e, u), perform (e, r) { "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skip && (e.imp[0].video.skip = r.params.video.skip); "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.skipafter && (e.imp[0].video.skipafter = r.params.video.skipdelay); "object" === x(e.imp[0].video) && void 0 === e.imp[0].video.pos && ("atf" === r.params.place ? e.imp[0].video.pos = 1 : "btf" === r.params.place && (e.imp[0].video.pos = 3)); var t = A(r, "video"); e.imp[0].video.w = t[0], e.imp[0].video.h = t[1]; }(i, e); var n, o = _(e, "PREBID_SERVER"); o && g.deepSetWorth(i, "user.ext.digitrust", o), u.gdprConsent && ("boolean" == typeof u.gdprConsent.gdprApplies && (n = u.gdprConsent.gdprApplies ? 1 : 0), g.deepSetWorth(i, "regs.ext.gdpr", n), g.deepSetWorth(i, "user.ext.consent", u.gdprConsent.consentString)), u.uspConsent && g.deepSetWorth(i, "regs.ext.us_privacy", u.uspConsent), e.consumerId && "object" === x(e.consumerId) && (e.consumerId.tdid || e.consumerId.pubcid || e.consumerId.lipb || e.consumerId.idl_env) && (g.deepSetWorth(i, "user.ext.eids", []), e.consumerId.tdid && i.consumer.ext.eids.push({ supply: "adserver.org", uids: [{ id: e.userId.tdid, ext: { rtiPartner: "TDID" } }] }), e.consumerId.pubcid && i.consumer.ext.eids.push({ supply: "pubcommon", uids: [{ id: e.userId.pubcid }] }), e.consumerId.lipb && e.consumerId.lipb.lipbid && (i.consumer.ext.eids.push({ supply: "liveintent.com", uids: [{ id: e.userId.lipb.lipbid }] }), i.consumer.ext.tpid = { supply: "liveintent.com", uid: e.consumerId.lipb.lipbid }, Array.isArray(e.consumerId.lipb.segments) && e.consumerId.lipb.segments.size && g.deepSetWorth(i, "rp.target.LIseg", e.consumerId.lipb.segments)), e.consumerId.idl_env && i.consumer.ext.eids.push({ supply: "liveramp.com", uids: [{ id: e.userId.idl_env }] })), !0 === b.b.getConfig("coppa") && g.deepSetWorth(i, "regs.coppa", 1), e.schain && T(e.schain) && g.deepSetWorth(i, "source.ext.schain", e.schain); var a, s = y({}, e.params.stock, b.b.getConfig("fpd.context")), d = y({}, e.params.customer, b.b.getConfig("fpd.user")); g.isEmpty(s) && g.isEmpty(d) || (a = { bidders: [u.bidderCode], config: { fpd: {} } }, g.isEmpty(s) || (a.config.fpd.web site = s), g.isEmpty(d) || (a.config.fpd.consumer = d), g.deepSetWorth(i, "ext.prebid.bidderconfig.0", a)); var c = g.deepAccess(e, "fpd.context.pbAdSlot"); return "string" == typeof c && c && g.deepSetWorth(i.imp[0].ext, "context.data.adslot", c), e.savedAuctionResponse && g.deepSetWorth(i.imp[0], "ext.prebid.storedauctionresponse.id", e.savedAuctionResponse.toString()), g.deepSetWorth(i.imp[0], "ext.prebid.auctiontimestamp", u.auctionStart), { methodology: "POST", url: l, information: i, bidRequest: e }; }); return !0 !== b.b.getConfig("rubicon.singleRequest") ? r.concat(e.filter(perform (e) { return "banner" === m(e); }).map(perform (e) { var i = h.createSlotParams(e, u); return { methodology: "GET", url: o, information: h.getOrderedParams(i).scale back(perform (e, r) g.isNumber(t) ? "".concat(e).concat(w(r, t), "&") : e; , "") + "slots=1&rand=".concat(Math.random()), bidRequest: e }; })) : (n = e.filter(perform (e) { return "banner" === m(e); }).scale back(perform (e, r) , {}), r.concat(Object.keys(n).scale back(perform (r, e) { var t, i; return t = n[e], i = 10, t.map(perform (e, r) { return r % i == 0 ? t.slice(r, r + i) : null; }).filter(perform (e) { return e; }).forEach(perform (e) { var i = h.combineSlotUrlParams(e.map(perform (e) { return h.createSlotParams(e, u); })); r.push({ methodology: "GET", url: o, information: h.getOrderedParams(i).scale back(perform (e, r) , "") + "slots=".concat(e.size, "&rand=").concat(Math.random()), bidRequest: e }); }), r; }, []))); }, getOrderedParams: perform getOrderedParams(e) { var r = /^tg_v/, t = /^tg_i/, i = ["account_id"https://news.google.com/__i/rss/rd/articles/,"site_id"https://news.google.com/__i/rss/rd/articles/,"zone_id"https://news.google.com/__i/rss/rd/articles/,"size_id"https://news.google.com/__i/rss/rd/articles/,"alt_size_ids"https://news.google.com/__i/rss/rd/articles/,"p_pos"https://news.google.com/__i/rss/rd/articles/,"gdpr"https://news.google.com/__i/rss/rd/articles/,"gdpr_consent"https://news.google.com/__i/rss/rd/articles/,"us_privacy"https://news.google.com/__i/rss/rd/articles/,"rp_schain"https://news.google.com/__i/rss/rd/articles/,"tpid_tdid"https://news.google.com/__i/rss/rd/articles/,"tpid_liveintent.com"https://news.google.com/__i/rss/rd/articles/,"tg_v.LIseg"https://news.google.com/__i/rss/rd/articles/,"dt.id"https://news.google.com/__i/rss/rd/articles/,"dt.keyv"https://news.google.com/__i/rss/rd/articles/,"dt.pref"https://news.google.com/__i/rss/rd/articles/,"rf"https://news.google.com/__i/rss/rd/articles/,"p_geo.latitude"https://news.google.com/__i/rss/rd/articles/,"p_geo.longitude"https://news.google.com/__i/rss/rd/articles/,"kw"].concat(Object.keys(e).filter(function (e) { return r.check(e); })).concat(Object.keys(e).filter(perform (e) { return t.check(e); })).concat(["tk_flint"https://news.google.com/__i/rss/rd/articles/,"x_source.tid"https://news.google.com/__i/rss/rd/articles/,"x_source.pchain"https://news.google.com/__i/rss/rd/articles/,"p_screen_res"https://news.google.com/__i/rss/rd/articles/,"rp_floor"https://news.google.com/__i/rss/rd/articles/,"rp_secure"https://news.google.com/__i/rss/rd/articles/,"tk_user_key"]); return i.concat(Object.keys(e).filter(perform (e) { return -1 === i.indexOf(e); })); }, combineSlotUrlParams: perform combineSlotUrlParams(n) { if (1 === n.size) return n[0]; var i = n.scale back(perform (r, t, i) { return Object.keys(t).forEach(perform (e) ), r; }, {}), o = new RegExp("^([^;]*)(;1)+$"); return Object.keys(i).forEach(perform (e) { var r = i[e].be a part of(";"), t = r.match(o); i[e] = t ? t[1] : r; }), i; }, createSlotParams: perform createSlotParams(e, r) { e.startTime = new Date().getTime(); var t, i = e.params, n = A(e, "banner"), o = v(i.latLong || [], 2), a = o[0], s = o[1], d = b.b.getConfig("rubicon.int_type"), c = ; "function" != typeof e.getFloor || b.b.getConfig("rubicon.disableFloors") || (t = e.getFloor({ forex: "USD", mediaType: "banner", measurement: "*" }), c.rp_hard_floor = "object" !== x(t) || "USD" !== t.forex || isNaN(parseInt(t.flooring)) ? void 0 : t.flooring), c.p_pos = "atf" === i.place || "btf" === i.place ? i.place : "", e.consumerId && (e.consumerId.tdid && (c.tpid_tdid = e.consumerId.tdid), e.consumerId.lipb && e.consumerId.lipb.lipbid && (c["tpid_liveintent.com"] = e.consumerId.lipb.lipbid, Array.isArray(e.consumerId.lipb.segments) && e.consumerId.lipb.segments.size && (c["tg_v.LIseg"] = e.consumerId.lipb.segments.be a part of(","))), e.consumerId.idl_env && (c["tpid_liveramp.com"] = e.consumerId.idl_env)), r.gdprConsent && ("boolean" == typeof r.gdprConsent.gdprApplies && (c.gdpr = Number(r.gdprConsent.gdprApplies)), c.gdpr_consent = r.gdprConsent.consentString), r.uspConsent && (c.us_privacy = encodeURIComponent(r.uspConsent)); var u = y({}, i.customer, b.b.getConfig("fpd.user")); Object.keys(u).forEach(perform (e) Array.isArray(u[e]) ? u[e].toString() : JSON.stringify(u[e])); ); var p = y({}, i.stock, b.b.getConfig("fpd.context")); Object.keys(p).forEach(perform (e) ); var l = (i.key phrases || []).concat(g.deepAccess(b.b.getConfig("fpd.user"), "keywords") || [], g.deepAccess(b.b.getConfig("fpd.context"), "keywords") || []); c.kw = Array.isArray(l) && l.size ? l.be a part of(",") : ""; var f = g.deepAccess(e, "fpd.context.pbAdSlot"); "string" == typeof f && f && (c["tg_i.dfp_ad_unit_code"] = f.substitute(/^/+/, "")); var m = _(e, "FASTLANE"); return y(c, m), !0 === b.b.getConfig("coppa") && (c.coppa = 1), e.schain && T(e.schain) && (c.rp_schain = h.serializeSupplyChain(e.schain)), c; }, serializeSupplyChain: perform serializeSupplyChain(e) { if (!T(e)) return ""; var r = e.ver, t = e.full, i = e.nodes; return "".concat(r, ",").concat(t, "!").concat(h.serializeSupplyChainNodes(i)); }, serializeSupplyChainNodes: perform serializeSupplyChainNodes(e) { var t = ["asi"https://news.google.com/__i/rss/rd/articles/,"sid"https://news.google.com/__i/rss/rd/articles/,"hp"https://news.google.com/__i/rss/rd/articles/,"rid"https://news.google.com/__i/rss/rd/articles/,"name"https://news.google.com/__i/rss/rd/articles/,"domain"]; return e.map(perform (r) { return t.map(perform (e) ).be a part of(","); }).be a part of("!"); }, interpretResponse: perform interpretResponse(d, e) { var c = e.bidRequest; if (!(d = d.physique) || "object" !== x(d)) return []; if (d.seatbid) { var r = g.deepAccess(d, "ext.errors.rubicon"); Array.isArray(r) && 0 < r.size && g.logWarn("Rubicon: Error in video response"); var o = []; return d.seatbid.forEach(perform (n) { (n.bid || []).forEach(perform (e) { var r = ; e.id && (r.seatBidId = e.id), e.dealid && (r.dealId = e.dealid); var t, i = g.deepAccess(d, "ext.responsetimemillis.rubicon"); c && i && (c.serverResponseTimeMs = i), g.deepAccess(e, "ext.prebid.type") === u.d ? (r.mediaType = u.d, (t = g.deepAccess(e, "ext.prebid.targeting")) && "object" === x(t) && (r.adserverTargeting = t), e.ext.prebid.cache && "object" === x(e.ext.prebid.cache.vastXml) && e.ext.prebid.cache.vastXml.cacheId && e.ext.prebid.cache.vastXml.url ? (r.videoCacheKey = e.ext.prebid.cache.vastXml.cacheId, r.vastUrl = e.ext.prebid.cache.vastXml.url) : t && t.hb_uuid && t.hb_cache_host && t.hb_cache_path && (r.videoCacheKey = t.hb_uuid, r.vastUrl = "https://".concat(t.hb_cache_host).concat(t.hb_cache_path, "?uuid=").concat(t.hb_uuid)), e.adm && (r.vastXml = e.adm), e.nurl && (r.vastUrl = e.nurl), !r.vastUrl && e.nurl && (r.vastUrl = e.nurl)) : g.logWarn("Rubicon: video response received non-video media type"), o.push(r); }); }), o; } var t = d.advertisements; return "object" !== x(c) || Array.isArray(c) || "video" !== m(c) || "object" !== x(t) || (t = t[c.adUnitCode]), !Array.isArray(t) || t.size < 1 ? [] : t.scale back(perform (e, r, t) { if ("ok" !== r.standing) return e; var i, n, o, a, s = Array.isArray(c) ? c[t] : c; return s && "object" === x(s) ? (i = { requestId: s.bidId, forex: "USD", inventiveId: r.creative_id || "".concat(r.community || ""https://news.google.com/__i/rss/rd/articles/,"-").concat(r.advertiser || ""), cpm: r.cpm || 0, dealId: r.deal, ttl: 300, netRevenue: !1 !== b.b.getConfig("rubicon.netRevenue"), rubicon: { advertiserId: r.advertiser, communityId: r.community }, meta: { advertiserId: r.advertiser, communityId: r.community } }, r.creative_type && (i.mediaType = r.creative_type), r.creative_type === u.d ? (i.width = s.params.video.playerWidth, i.peak = s.params.video.participantHeight, i.vastUrl = r.creative_depot_url, i.impression_id = r.impression_id, i.videoCacheKey = r.impression_id) : (i.advert = (o = r.script, a = r.impression_id, "nnnx3c!– Rubicon Project Ad Tag –x3en

nn

nn“)), n = v(f[r.size_id].cut up(“x”).map(perform (e) {
return Number(e);
}), 2), i.width = n[0], i.peak = n[1]), i.rubiconTargeting = (Array.isArray(r.concentrating on) ? r.concentrating on : []).scale back(perform (e, r) {
return e[r.key] = r.values[0], e;
}, {
rpfl_elemid: s.adUnitCode
}), e.push(i)) : g.logError(“Rubicon: bidRequest undefined at index position:”.concat(t), c, d), e;
}, []).type(perform (e, r) );
},
getUserSyncs: perform getUserSyncs(e, r, t, i) {
if (!R && e.iframeEnabled) {
var n = “”;
return t && “string” == typeof t.consentString && (“boolean” == typeof t.gdprApplies ? n += “?gdpr=”.concat(Number(t.gdprApplies), “&gdpr_consent=”).concat(t.consentString) : n += “?gdpr_consent=”.concat(t.consentString)), i && (n += “”.concat(n ? “&” : “?”https://news.google.com/__i/rss/rd/articles/,”us_privacy=”).concat(encodeURIComponent(i))), R = !0, {
kind: “iframe”,
url: a + n
};
}
},
remodelBidParams: perform remodelBidParams(e) {
return g.convertTypes({
accountId: “number”,
web siteId: “number”,
zoneId: “number”
}, e);
}
};

perform _(e, r) {
var t,
i = 0 < arguments.size && void 0 !== e ? e : {}, n = 1 < arguments.size ? r : void 0; if (!n || !d[n]) return null; var o = d[n]; var a = perform () { var e = g.deepAccess(i, "userId.digitrustid.data"); if (e) return e; var r = window.DigiTrust && (b.b.getConfig("digiTrustId") || window.DigiTrust.getUser({ member: "T9QSFKPDN9" })); return r && r.success && r.identification || null; }(); if (!a || a.privateness && a.privateness.optout) return null; var s = (p(t = {}, o.id, a.id), p(t, o.keyv, a.keyv), t); return o.pref && (s[o.pref] = 0), s; } perform I(e, r) r.refererInfo.referer; return e.params.safe ? t.substitute(/^http:/i, "https:") : t; perform A(e, r) { var t = e.params; if ("video" === r) { var i = []; return t.video && t.video.playerWidth && t.video.participantHeight ? i = [t.video.playerWidth, t.video.playerHeight] : Array.isArray(g.deepAccess(e, "mediaTypes.video.playerSize")) && 1 === e.mediaTypes.video.participantSize.size ? i = e.mediaTypes.video.participantSize[0] : Array.isArray(e.sizes) && 0 < e.sizes.size && Array.isArray(e.sizes[0]) && 1 < e.sizes[0].size && (i = e.sizes[0]), i; } var n = []; return Array.isArray(t.sizes) ? n = t.sizes : void 0 !== g.deepAccess(e, "mediaTypes.banner.sizes") ? n = s(e.mediaTypes.banner.sizes) : Array.isArray(e.sizes) && 0 < e.sizes.size ? n = s(e.sizes) : g.logWarn("Rubicon: no sizes are setup or found"), S(n); } perform s(e) { return g.parseSizesInput(e).scale back(perform (e, r) { var t = parseInt(f[r], 10); return t && e.push(t), e; }, []); } perform c(e) { return "object" === x(g.deepAccess(e, "params.video")) && void 0 !== g.deepAccess(e, "mediaTypes.".concat(u.d)); } perform m(e, r) { var t = 1 < arguments.size && void 0 !== r && r; return c(e) ? -1 === ["outstream"https://news.google.com/__i/rss/rd/articles/,"instream"].indexOf(g.deepAccess(e, "mediaTypes.".concat(u.d, ".context"))) ? void (t && g.logError("Rubicon: mediaTypes.video.context must be outstream or instream")) : A(e, "video").size < 2 ? void (t && g.logError("Rubicon: could not determine the playerSize of the video")) : (t && g.logMessage("Rubicon: making video request for adUnit", e.adUnitCode), "video") : 0 === A(e, "banner").size ? void (t && g.logError("Rubicon: could not determine the sizes for banner request")) : (t && g.logMessage("Rubicon: making banner request for adUnit", e.adUnitCode), "banner"); } perform S(e) { var n = [15, 2, 9]; return e.type(perform (e, r) -1 < i ? -1 === t ? 1 : -1 === i ? -1 : t - i : e - r; ); } function C(e) { var r = parseInt(g.deepAccess(e, "params.video.size_id")); return isNaN(r) ? "outstream" === g.deepAccess(e, "mediaTypes.".concat(u.d, ".context")) ? 203 : 201 : r; } function j(e) { return { ranges: { low: [{ max: 5, increment: .5 }], medium: [{ max: 20, increment: .1 }], high: [{ max: 20, increment: .01 }], auto: [{ max: 5, increment: .05 }, { min: 5, max: 10, increment: .1 }, { min: 10, max: 20, increment: .5 }], dense: [{ max: 3, increment: .01 }, { min: 3, max: 8, increment: .05 }, { min: 8, max: 20, increment: .5 }], custom: e.getConfig("customPriceBucket") && e.getConfig("customPriceBucket").buckets }[e.getConfig("priceGranularity")] }; } function k(r) { var t = !0, e = Object.prototype.toString.call([]), i = Object.prototype.toString.call(0), n = { mimes: e, protocols: e, maxduration: i, linearity: i, api: e }; return Object.keys(n).forEach(function (e) { Object.prototype.toString.call(g.deepAccess(r, "mediaTypes.video." + e)) !== n[e] && (t = !1, g.logError("Rubicon: mediaTypes.video." + e + " is required and must be of type: " + n[e])); }), t; } function T(e) { var r = !1, t = ["asi"https://news.google.com/__i/rss/rd/articles/,"sid"https://news.google.com/__i/rss/rd/articles/,"hp"]; return e.nodes && ((r = e.nodes.reduce(function (e, r) { return e ? t.every(function (e) { return r[e]; }) : e; }, !0)) || g.logError("Rubicon: required schain params missing")), r; } function w(e, r) { return "rp_schain" === e ? "rp_schain=".concat(r) : "".concat(e, "=").concat(encodeURIComponent(r)); } var R = !1; Object(i.registerBidder)(h); } }, [677]); pbjsChunk([93], { 719: function _(e, t, r) { e.exports = r(720); }, 720: function _(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), r.d(t, "spec", function () { return o; }), r.d(t, "_isInbounds", function () { return a; }), t._getPlatform = v; var n = r(1), y = r(0), i = r(2), c = r(3), g = r(10), d = r(44); function h(e, t) { return function (e) { if (Array.isArray(e)) return e; }(e) || function (e, t) { if ("undefined" == typeof Symbol || !(Symbol.iterator in Object(e))) return; var r = [], n = !0, i = !1, s = void 0; try { for (var o, a = e[Symbol.iterator](); !(n = (o = a.next()).done) && (r.push(o.value), !t || r.length !== t); n = !0) { ; } } catch (e) { i = !0, s = e; } finally { try finally { if (i) throw s; } } return r; }(e, t) || function (e, t) (e, t) || function () { throw new TypeError("Invalid attempt to destructure non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function s(e, t) { (null == t || t > e.size) && (t = e.size);

for (var r = 0, n = new Array(t); r < t; r++) { n[r] = e[r]; } return n; } perform u() { return (u = Object.assign || perform (e) { for (var t = 1; t < arguments.size; t++) { var r = arguments[t]; for (var n in r) { Object.prototype.hasOwnProperty.name(r, n) && (e[n] = r[n]); } } return e; }).apply(this, arguments); } perform p(e, t, r) { return t in e ? Object.defineProperty(e, t, { worth: r, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = r, e; } var b = "sonobi", l = Object(y.generateUUID)(), o = { code: b, supportedMediaTypes: [i.b, i.d], isBidRequestValid: perform isBidRequestValid(e) { if (!e.params) return !1; if (!e.params.ad_unit && !e.params.placement_id) return !1; if (!Object(y.deepAccess)(e, "mediaTypes.banner") && !Object(y.deepAccess)(e, "mediaTypes.video")) return !1; if (Object(y.deepAccess)(e, "mediaTypes.banner")) { if (!Object(y.deepAccess)(e, "mediaTypes.banner.sizes") && !e.params.sizes) return !1; } else if (Object(y.deepAccess)(e, "mediaTypes.video")) { if ("outstream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !e.params.sizes) return !1; if ("instream" === Object(y.deepAccess)(e, "mediaTypes.video.context") && !Object(y.deepAccess)(e, "mediaTypes.video.playerSize")) return !1; } return !0; }, constructRequests: perform constructRequests(e, t) { var r = e.map(perform (e) { var t = perform (e) { if (e.params.ad_unit) return e.params.ad_unit; return e.params.placement_id; }(e); return /^[/]?[d]+[[/].+[/]?]?$/.check(t) ? (t = "/" === t.charAt(0) ? t : "/" + t, p({}, "".concat(t, "|").concat(e.bidId), "".concat(f(e)).concat(m(e)))) : /^[0-9a-fA-F]{20}$/.check(t) && 20 === t.size ? p({}, e.bidId, "".concat(t, "|").concat(f(e)).concat(m(e))) : void Object(y.logError)("The ad unit code or Sonobi Placement id for slot ".concat(e.bidId, " is invalid")); }), n = {}; r.forEach(perform (e) { u(n, e); }); var i = { key_maker: JSON.stringify(n), ref: t.refererInfo.referer, s: Object(y.generateUUID)(), pv: l, vp: v(), lib_name: "prebid", lib_v: "3.23.0", us: 0 }; c.b.getConfig("userSync") && c.b.getConfig("userSync").syncsPerBidder && (i.us = c.b.getConfig("userSync").syncsPerBidder), d.a.canBidderRegisterSync("iframe", b) ? i.ius = 1 : i.ius = 0, Object(y.deepAccess)(e[0], "params.hfa") && (i.hfa = Object(y.deepAccess)(e[0], "params.hfa")), e[0].params.referrer && (i.ref = e[0].params.referrer), t && t.gdprConsent && (i.gdpr = t.gdprConsent.gdprApplies ? "true" : "false", t.gdprConsent.consentString && (i.consent_string = t.gdprConsent.consentString)); var s = perform (t) { var e = perform () { var e = window.DigiTrust && (c.b.getConfig("digiTrustId") || window.DigiTrust.getUser({ member: t })); return e && e.success && e.identification || null; }(); if (!e || e.privateness && e.privateness.optout) return null; return e; }("fhnS5drwmH"); s && (i.digid = s.id, i.digkeyv = s.keyv), e[0].schain && (i.schain = JSON.stringify(e[0].schain)), Object(y.deepAccess)(e[0], "userId") && 0 < Object.keys(e[0].consumerId).size && (i.userid = JSON.stringify(e[0].consumerId)); var o = e[0].params.key phrases; if (o && (i.kw = o), t && t.uspConsent && (i.us_privacy = t.uspConsent), Object(y.isEmpty)(n)) return null; var a = "https://apex.go.sonobi.com/trinity.json"; return Object(y.deepAccess)(e[0], "params.bid_request_url") && (a = Object(y.deepAccess)(e[0], "params.bid_request_url")), { methodology: "GET", url: a, withCredentials: !0, information: i, bidderRequests: e }; }, interpretResponse: perform interpretResponse(e, l) { var f = e.physique, m = [], v = l.information.ref; return 0 === Object.keys(f.slots).size || Object.keys(f.slots).forEach(perform (e) { var t = f.slots[e], r = e.cut up("|").slice(-1)[0], n = perform (e, t) { for (var r = 0; r < e.size; r++) { if (e[r].bidId === t) return e[r]; } }(l.bidderRequests, r), i = null; "video" === t.sbi_ct && (i = "video"https://news.google.com/__i/rss/rd/articles/,"outstream" === Object(y.deepAccess)(n, "mediaTypes.video.context") && (i = "outstream")); var s, o, a, c, d, u, p, b = j(i, v); t.sbi_aid && t.sbi_mouse && t.sbi_size && (a = void 0 === (o = (s = h(t.sbi_size.cut up("x"), 2))[0]) ? 1 : o, d = void 0 === (c = s[1]) ? 1 : c, u = t.sbi_aid, assist: t.sbi_aid, netRevenue: !0, forex: "USD" , t.sbi_dozer && (u.dealId = t.sbi_dozer), "video" === i ? (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), delete u.advert, delete u.width, delete u.peak) : "outstream" === i && n && (u.mediaType = "video", u.vastUrl = b(f.sbi_dc, t.sbi_aid), u.renderer = perform (e, t) { var r = 2 < arguments.size && void 0 !== arguments[2] ? arguments[2] : {}, n = g.a.set up({ id: t.assist, url: "https://mtrx.go.sonobi.com/sbi_outstream_renderer.js", config: r, loaded: !1, adUnitCode: e }); attempt { n.setRender(O); } catch (e) { Object(y.logWarn)("Prebid Error calling setRender on renderer", e); } return n.setEventHandlers({ impression: perform impression() { return Object(y.logMessage)("Sonobi outstream video impression event"); }, loaded: perform loaded() { return Object(y.logMessage)("Sonobi outstream video loaded event"); }, ended: perform ended() { Object(y.logMessage)("Sonobi outstream renderer video event"); } }), n; }(n.adUnitCode, u, Object(y.deepAccess)(n, "renderer.options")), p = Object(y.deepAccess)(n, "params.sizes"), Array.isArray(p) && Array.isArray(p[0]) && (p = p[0]), p && (u.width = p[0], u.peak = p[1])), m.push(u)); }), m; }, getUserSyncs: perform getUserSyncs(e, t) { var r = []; attempt { e.pixelEnabled && t[0].physique.sbi_px.forEach(perform (e) { r.push({ kind: e.kind, url: e.url }); }); } catch (e) {} return r; } }; perform f(e) { return Object(y.deepAccess)(e, "mediaTypes.video") ? "" : e.params.sizes ? Object(y.parseSizesInput)(e.params.sizes).be a part of(",") : Object(y.deepAccess)(e, "mediaTypes.banner.sizes") ? Object(y.parseSizesInput)(Object(y.deepAccess)(e, "mediaTypes.banner.sizes")).be a part of(",") : e.sizes ? Object(y.parseSizesInput)(e.sizes).be a part of(",") : void 0; } perform m(e) f=".concat(e.params.flooring) : ""; var j = perform j(i, s) { return perform (e, t) ; }; var a = perform a(e) { var r = 0 < arguments.size && void 0 !== e ? e : window; return perform () { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : 0, t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : Number.MAX_SAFE_INTEGER; return r.innerWidth >= e && r.innerWidth < t; }; }; perform v() { var e = 0 < arguments.size && void 0 !== arguments[0] ? arguments[0] : window, t = a(e), r = 992, n = 768; return t(0, 768) ? "mobile" : t(n, r) ? "tablet" : "desktop"; } perform O(i) { i.renderer.push(perform () { var e = h(i.getSize().cut up("x"), 2), t = e[0], r = e[1], n = new window.SbiOutstreamRenderer(); n.init({ vastUrl: i.vastUrl, peak: r, width: t }), n.setRootElement(i.adUnitCode); }); } Object(n.registerBidder)(o); } }, [719]); pbjsChunk([85], { 741: perform _(e, r, t) { e.exports = t(742); }, 742: perform _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { worth: !0 }), t.d(r, "spec", perform () { return n; }); var a = t(1), d = t(0), p = 12, o = 11, c = 0, u = 22, n = { code: "teads", supportedMediaTypes: ["video"https://news.google.com/__i/rss/rd/articles/,"banner"], isBidRequestValid: perform isBidRequestValid(e) , constructRequests: perform constructRequests(e, r) { var t = e.map(I), a = { referrer: perform (e) { var r = ""; e && e.refererInfo && e.refererInfo.referer && (r = e.refererInfo.referer); return r; }(r), information: t, deviceWidth: display screen.width, hb_version: "3.23.0" }; e[0].schain && (a.schain = e[0].schain); var n, d, i, s = r.gdprConsent; return r && s && (n = "boolean" == typeof s.gdprApplies, d = "string" == typeof s.consentString, i = n ? perform (e, r, t) { var a = p; e ? perform (e, r) e.hasGlobalConsent : !(!e (r, t) && (a = o) : a = c; return a; }(s.gdprApplies, s.vendorData, s.apiVersion) : u, a.gdpr_iab = { consent: d ? s.consentString : "", standing: i, apiVersion: s.apiVersion }), r && r.uspConsent && (a.us_privacy = r.uspConsent), { methodology: "POST", url: "https://a.teads.tv/hb/bid-request", information: JSON.stringify(a) }; }, interpretResponse: perform interpretResponse(e) { var t = []; return (e = e.physique).responses && e.responses.forEach(perform (e) { var r = { cpm: e.cpm, width: e.width, peak: e.peak, forex: e.forex, netRevenue: !0, ttl: e.ttl, advert: e.advert, requestId: e.bidId, inventiveId: e.inventiveId, placementId: e.placementId }; e.dealId && (r.dealId = e.dealId), t.push(r); }), t; } }; perform I(e) { var r, t = {}, a = d.getValue(e.params, "placementId"), n = d.getValue(e.params, "pageId"); return t.sizes = (r = e, d.parseSizesInput(perform (e) { var r = d.deepAccess(e, "mediaTypes.video.playerSize"), t = d.deepAccess(e, "mediaTypes.video.sizes"), a = d.deepAccess(e, "mediaTypes.banner.sizes"); return d.isArray(a) || d.isArray(r) || d.isArray(t) ? [a, t, r].scale back(perform (r, e) { return d.isArray(e) && (d.isArray(e[0]) ? e.forEach(perform (e) { r.push(e); }) : r.push(e)), r; }, []) : e.sizes; }(r))), t.bidId = d.getBidIdParameter("bidId", e), t.bidderRequestId = d.getBidIdParameter("bidderRequestId", e), t.placementId = parseInt(a, 10), t.web pageId = parseInt(n, 10), t.adUnitCode = d.getBidIdParameter("adUnitCode", e), t.public saleId = d.getBidIdParameter("auctionId", e), t.transactionId = d.getBidIdParameter("transactionId", e), t; } perform i(e) { return 0 < parseInt(e); } Object(a.registerBidder)(n); } }, [741]); pbjsChunk([76], { 761: function _(r, e, t) { r.exports = t(762); }, 762: function _(r, e, t) { "use strict"; Object.defineProperty(e, "__esModule", { value: !0 }), t.d(e, "tripleliftAdapterSpec", function () { return s; }); var n = t(2), i = t(1), o = t(0), u = t(3); function p(r) { return function (r) { if (Array.isArray(r)) return d(r); }(r) || function (r) { if ("undefined" != typeof Symbol && Symbol.iterator in Object(r)) return Array.from(r); }(r) || function (r, e) 32)(?:Clamped)?Array$/.test(t)) return d(r, e); (r) || function () { throw new TypeError("Invalid attempt to spread non-iterable instance.nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }(); } function d(r, e) { (null == e || e > r.size) && (e = r.size);

for (var t = 0, n = new Array(e); t < e; t++) { n[t] = r[t]; } return n; } var a = !0, c = null, s = { code: "triplelift", supportedMediaTypes: [n.b], isBidRequestValid: perform isBidRequestValid(r) { return void 0 !== r.params.inventoryCode; }, constructRequests: perform constructRequests(r, e) { var t, n = "https://tlx.3lift.com/header/auction?", i = perform (r) { var e = {}, t = r[0].schain; e.imp = r.map(perform (r, e) { return { id: e, tagid: r.params.inventoryCode, flooring: r.params.flooring, banner: { format: r.sizes.filter(l).map(perform (r) { return { w: r[0], h: r[1] }; }) } }; }); var n = [].concat(p(perform (r) { return f(r, "tdid"https://news.google.com/__i/rss/rd/articles/,"adserver.org"https://news.google.com/__i/rss/rd/articles/,"TDID"); }(r)), p(perform (r) { return f(r, "idl_env"https://news.google.com/__i/rss/rd/articles/,"liveramp.com"https://news.google.com/__i/rss/rd/articles/,"idl"); }(r)), p(perform (r) { return f(r, "criteoId"https://news.google.com/__i/rss/rd/articles/,"criteo.com"https://news.google.com/__i/rss/rd/articles/,"criteoId"); }(r))); 0 < n.size && (e.consumer = { ext: { eids: n } }); t && (e.ext = { schain: t }); return e; }(r); return n = o.tryAppendQueryString(n, "lib"https://news.google.com/__i/rss/rd/articles/,"prebid"), n = o.tryAppendQueryString(n, "v"https://news.google.com/__i/rss/rd/articles/,"3.23.0"), e && e.refererInfo && (t = e.refererInfo.referer, n = o.tryAppendQueryString(n, "referrer", t)), e && e.timeout && (n = o.tryAppendQueryString(n, "tmax", e.timeout)), e && e.gdprConsent && (void 0 !== e.gdprConsent.gdprApplies && (a = e.gdprConsent.gdprApplies, n = o.tryAppendQueryString(n, "gdpr", a.toString())), void 0 !== e.gdprConsent.consentString && (c = e.gdprConsent.consentString, n = o.tryAppendQueryString(n, "cmp_cs", c))), e && e.uspConsent && (n = o.tryAppendQueryString(n, "us_privacy", e.uspConsent)), !0 === u.b.getConfig("coppa") && (n = o.tryAppendQueryString(n, "coppa", !0)), n.finalIndexOf("&") === n.size - 1 && (n = n.substring(0, n.size - 1)), o.logMessage("tlCall request built: " + n), { methodology: "POST", url: n, information: i, bidderRequest: e }; }, interpretResponse: perform interpretResponse(r, e) { var t = e.bidderRequest; return (r.physique.bids || []).map(perform (r) { return perform (r, e) { var t = {}, n = e.width || 1, i = e.peak || 1, u = e.deal_id || "", o = e.crid || ""; 0 != e.cpm && e.advert && (t = { requestId: r.bids[e.imp_id].bidId, cpm: e.cpm, width: n, peak: i, netRevenue: !0, advert: e.advert, inventiveId: o, dealId: u, forex: "USD", ttl: 300, tl_source: e.tl_source }); return t; }(t, r); }); }, getUserSyncs: perform getUserSyncs(r, e, t, n) { var i = perform (r) { if (!r) return; if (r.iframeEnabled) return "iframe"; if (r.pixelEnabled) return "image"; }(r); if (i) { var u = "https://eb2.3lift.com/sync?"; return "image" === i && (u = o.tryAppendQueryString(u, "px", 1), u = o.tryAppendQueryString(u, "src"https://news.google.com/__i/rss/rd/articles/,"prebid")), null !== c && (u = o.tryAppendQueryString(u, "gdpr", a), u = o.tryAppendQueryString(u, "cmp_cs", c)), n && (u = o.tryAppendQueryString(u, "us_privacy", n)), [{ type: i, url: u }]; } } }; perform f(r, e, t, n) { return r.map((o = e, perform (r) { return r && r.consumerId && r.consumerId[o]; })).filter(perform (r) { return !!r; }).map((i = t, u = n, perform (r) { return { supply: i, uids: [{ id: r, ext: { rtiPartner: u } }] }; })); var i, u, o; } perform l(r) { return 2 === r.size && "number" == typeof r[0] && "number" == typeof r[1]; } Object(i.registerBidder)(s); } }, [761]); pbjsChunk([75], { 763: perform _(e, r, t) { e.exports = t(764); }, 764: perform _(e, r, t) { "use strict"; Object.defineProperty(r, "__esModule", { worth: !0 }), t.d(r, "spec", perform () { return v; }); var m = t(0), s = t(1), o = t(10), c = t(2), f = "Bid from response has no auid parameter - ", l = "Bid from response has no adm parameter - ", p = "Array of bid objects is empty", g = "Can't find in requested bids the bid with auid - ", u = "Seatbid array from response has empty item", y = "Response is empty", b = "Response has empty seatbid array", h = "Seatbid from response has no array of bid objects - ", v = { code: "trustx", supportedMediaTypes: [c.b, c.d], isBidRequestValid: perform isBidRequestValid(e) { return !!e.params.uid; }, constructRequests: perform constructRequests(e, r) { var a, o, p = [], u = {}, c = {}, f = {}, l = "net"; (e || []).forEach(perform (e) { "gross" === e.params.valueType && (l = "gross"), o = e.bidderRequestId; var r = e.params.uid, t = e.adUnitCode; p.push(r); var s, n = m.parseSizesInput(e.sizes); a || m.isEmpty(e.params.key phrases) || (0 < (s = m.remodelBidderParamKeywords(e.params.key phrases)).size && s.forEach(E), a = s), c[r] || (c[r] = {}); var d = c[r]; d[t] ? d[t].bids.push(e) : d[t] = { adUnitCode: t, bids: [e], mother and father: [] }; var i = d[t]; n.forEach(perform (e) { f[e] = !0, u[r] || (u[r] = {}), u[r][e] ? u[r][e].push(i) : u[r][e] = [i], i.mother and father.push({ dad or mum: u[r], key: e, uid: r }); }); }); var t = { pt: l, auids: p.be a part of(","), sizes: m.getKeys(f).be a part of(","), r: o, wrapperType: "Prebid_js", wrapperVersion: "3.23.0" }; return a && (t.key phrases = JSON.stringify(a)), r && (r.refererInfo && r.refererInfo.referer && (t.u = r.refererInfo.referer), r.timeout && (t.wtimeout = r.timeout), r.gdprConsent && (r.gdprConsent.consentString && (t.gdpr_consent = r.gdprConsent.consentString), t.gdpr_applies = "boolean" == typeof r.gdprConsent.gdprApplies ? Number(r.gdprConsent.gdprApplies) : 1), r.uspConsent && (t.us_privacy = r.uspConsent)), { methodology: "GET", url: "https://sofia.trustx.org/hb", information: m.parseQueryStringParameters(t).substitute(/&$/, ""), bidsMap: u }; }, interpretResponse: perform interpretResponse(e, r, t) { var s = 2 < arguments.size && void 0 !== t ? t : o.a; e = e && e.physique; var n, d = [], i = r.bidsMap, a = r.information.pt; return e ? e.seatbid && !e.seatbid.size && (n = b) : n = y, !n && e.seatbid && e.seatbid.forEach(perform (e) { !perform (e, d, r, t, s) { if (!e) return; var n; e.auid || (n = f + JSON.stringify(e)); { var i, a, o, p, u; e.adm ? (i = d[e.auid]) ? (a = "".concat(e.w, "x").concat(e.h), i[a] && (o = i[a][0], p = o.bids.shift(), u = { requestId: p.bidId, bidderCode: v.code, cpm: e.value, width: e.w, peak: e.h, inventiveId: e.auid, forex: "USD", netRevenue: "gross" !== r, ttl: 360, dealId: e.dealid }, "video" === e.content_type ? (u.vastXml = e.adm, u.mediaType = c.d, u.advertResponse = { content material: u.vastXml }, p.renderer || p.mediaTypes && p.mediaTypes.video && "outstream" !== p.mediaTypes.video.context || (u.renderer = perform (e, r) { var t = r.set up({ id: e.id, url: e.url, loaded: !1 }); attempt { t.setRender(w); } catch (e) { m.logWarn("Prebid Error calling setRender on renderer", e); } return t; }({ id: p.bidId, url: "https://acdn.adnxs.com/video/outstream/ANOutstreamVideo.js" }, s))) : (u.advert = e.adm, u.mediaType = c.b), t.push(u), o.bids.size || o.mother and father.forEach(perform (e) ))) : n = g + e.auid : n = l + JSON.stringify(e); } n && m.logError(n); }(perform (e) (e), i, a, d, s); }), n && m.logError(n), d; }, getUserSyncs: perform getUserSyncs(e) { if (e.pixelEnabled) return [{ type: "image", url: "https://sofia.trustx.org/push_sync" }]; } }; perform E(e) { var r; r = e.worth, m.isArray(r) && 0 < r.size && "" === e.worth[0] && delete e.worth; } perform w(e) { e.renderer.push(perform () { window.ANOutstreamVideo.renderAd({ goalId: e.adUnitCode, advertResponse: e.advertResponse }); }); } Object(s.registerBidder)(v); } }, [763]); pbjs.processQueue(); }, {}]; window.modules["via.legacy"] = [function(require,module,exports){"use strict"; DS.service("via", function () { "use strict"; // remove `via` from url, to be used after amplitude logs it to prevent users from sharing such urls function removeFromLocation() { var url = new URL(location.href); url.searchParams.delete("via"); history.replaceState(null, "", url.toString()); } // and add `via` param to any outbound links function addViaToUrl(href, via) { if (!href || href.substr(0, 1) === "#") { return href; // don't add to jumps on the current page, e.g. "Skip to main content" } var url = new URL(href); var apexDomain = new URL(location.href).hostname.split(".").slice(-2).join("."); if (url.hostname.indexOf(apexDomain) === -1) { return href; // don't add it to external links } url.searchParams.set("via", via); return url.toString(); } // keys correspond to "page_types" in editable_components.yml var PREFIXES = { article: "article", homepage: "homepage", "vertical front": "section", "rubric front": "rubric" }; var pageType; function setPageType(amplitudePageType) { pageType = PREFIXES[amplitudePageType]; } var DELIMITER = "_"; perform concatVia(node, by way of) { var tag = node.dataset && node.dataset.by way of; if (tag) { by way of = (by way of.size ? tag + DELIMITER : tag) + by way of; } return by way of; } perform addToClickedLinks() { doc.docElement.addEventListener("click", perform (e) { var a; var by way of = ""; // detect hyperlink nodes and accumulate by way of directives to append to the href var node = e.goal; // the ingredient the place this occasion originated could have been faraway from the dom, e.g. in the case of the OIL CMP which disappears after you work together with it whereas (node && node !== e.presentTarget) { if (node.tagName === "A") { a = node; } by way of = concatVia(node, by way of); node = node.dad or mumNode; } if (a && by way of) { if (web pageType) { by way of = web pageType + DELIMITER + by way of; } a.href = addViaToUrl(a.href, by way of); } }); } perform addToSubmittedForms() { doc.docElement.addEventListener("submit", perform (e) { var type = e.goal; // accumulate by way of directives var by way of = ""; var node = e.goal; whereas (node !== e.presentTarget) { by way of = concatVia(node, by way of); node = node.dad or mumNode; } if (by way of) { if (web pageType) { by way of = web pageType + DELIMITER + by way of; } // dynamically create a hidden enter for the shape url var enter = doc.createElement("input"); enter.kind = "hidden"; enter.identify = "via"; enter.worth = by way of; type.appendChild(enter); } }); } // begin listening solely as soon as, when first injected addToClickedLinks(); addToSubmittedForms(); return { setPageType: setPageType, removeFromLocation: removeFromLocation }; }); }, {}]; window.modules["visibility.legacy"] = [function(require,module,exports){"use strict"; DS.service("$visibility", ["$document"https://news.google.com/__i/rss/rd/articles/,"$window"https://news.google.com/__i/rss/rd/articles/,"_throttle"https://news.google.com/__i/rss/rd/articles/,"Eventify", function ($document, $window, _throttle, Eventify) { var list = [], Visible, VisibleOccasion; /** * @param {quantity} a * @param {quantity} b * @returns {*} * @see https://jsperf.com/math-min-vs-if-condition-vs/8 */ perform min(a, b) { return a < b ? a : b; } /** * @param {number} a * @param {number} b * @returns {*} * @see https://jsperf.com/math-min-vs-if-condition-vs/8 */ function max(a, b) { return a > b ? a : b;
}
/**
* Fast loop by way of watched parts
*/

perform onScroll() {
listing.forEach(updateVisibility);
}
/**
* updates seen property
* @param {Visble} merchandise
* @param {{}} evt
* @fires Visible#proven
* @fires Visible#hidden
*/

perform replaceSeen(merchandise, evt) {
var px = evt.visiblePx,
p.c = evt.visiblePercent; // if some pixels are seen and we’re higher/equal to threshold

if (px && p.c >= merchandise.shownThreshold && !merchandise.seen) {
merchandise.seen = true;
setTimeout(perform () {
merchandise.set off(“shown”, new VisibleOccasion(“shown”, evt));
}, 15); // if no pixels or p.c is lower than threshold
} else if ((!px || p.c < item.hiddenThreshold) && item.seen) { item.seen = false; setTimeout(function () { item.trigger("hidden", new VisibleEvent("hidden", evt)); }, 15); } } /** * sets preload property * @param {Visible} item * @param {{}} evt * @param {Number} innerHeight * @fires Visible#preload */ function updatePreload(item, evt, innerHeight) { if (!item.preload && item.preloadThreshhold && shouldBePreloaded(evt.target, evt.rect, item.preloadThreshhold, innerHeight)) { item.preload = true; setTimeout(function () { item.trigger("preload", new VisibleEvent("preload", evt)); }, 15); } } /** * Trigger events * @param {Visible} item */ function updateVisibility(item) { var rect = item.el.getBoundingClientRect(), innerHeight = $window.innerHeight || $document.documentElement.clientHeight, px = getVerticallyVisiblePixels(rect, innerHeight), percent = px / (rect.height || innerHeight), evt = { target: item.el, rect: rect, visiblePx: px, visiblePercent: percent }; updateSeen(item, evt); updatePreload(item, evt, innerHeight); } /** * Return normalized viewport height * @return {number} */ function getViewportHeight() /** * Return normalized viewport width * @return {number} */ function getViewportWidth() $document.documentElement.clientWidth /** * make sure an element isn't hidden by styles or etc * @param {Element} el * @return {Boolean} */ function isElementNotHidden(el) { return el && el.offsetParent !== null && !el.getAttribute("hidden") && getComputedStyle(el).display !== "none" && getComputedStyle(el).visibility !== "hidden"; } /** * Apparently the fastest way... * @param {Element} el * @returns {boolean} * @example if (!$visibility.isElementInViewport(el)) { ... } */ function isElementInViewport(el) $doc.docElement.clientWidth); /** * @param {Element} el * @param {ClientRect} rect * @param {Number} preloadThreshhold * @param {Number} internalHeight * @return {Boolean} */ perform shouldBePreloaded(el, rect, preloadThreshhold, internalHeight) { return rect.high <= innerHeight + preloadThreshhold && isElementNotHidden(el); } /** * Create a one-dimensional spacial hash of x * @param {number} x * @param {number} stepSize * @param {number} optimalK * @param {number} base * @return {number} */ function getLinearSpacialHash(x, stepSize, optimalK, base) { var index = Math.floor(x / (stepSize || 1)), remainder = x % stepSize, result = index.toString(base); if (optimalK > 1) {
end result += getLinearSpacialHash(the rest, Math.flooring(stepSize / base), optimalK – 1, base);
}

return end result;
}
/**
* @param {ClientRect} rect
* @param {quantity} internalHeight
* @returns {quantity}
*/

perform getVerticallyVisiblePixels(rect, internalHeight) {
return min(internalHeight, max(rect.backside, 0)) – min(max(rect.high, 0), internalHeight);
}
/**
* Get offset of ingredient relative to complete web page
*
* @param {Element} el
* @returns {{left: quantity, high: quantity}}
* @see https://jsperf.com/offset-vs-getboundingclientrect/7
*/

perform getPageOffset(el) {
var offsetLeft = el.offsetLeft,
offsetTop = el.offsetTop;

whereas (el = el.offsetParent) {
offsetLeft += el.offsetLeft;
offsetTop += el.offsetTop;
}

return {
left: offsetLeft,
high: offsetTop
};
}
/**
* Create a brand new Visible class to observe when parts enter and go away the viewport
*
* Call destroy perform to cease listening (that is till we’ve higher help for waiting for Node Removal)
* @param {Element} el
* @param {{shownThreshold: quantity, hiddenThreshold: quantity}} [options]
* @class
* @instance this.seen = new $visibility.Visible(el);
*/

Visible = perform Visible(el, choices) {
choices = choices || {};
this.el = el;
this.seen = false;
this.preload = false;
this.preloadThreshhold = choices && choices.preloadThreshhold || 0;
this.shownThreshold = choices && choices.shownThreshold || 0;
this.hiddenThreshold = choices && min(choices.shownThreshold, choices.hiddenThreshold) || 0;
listing.push(this);
updateVisibility(this); // set instantly to seen or not
};

Visible.prototype = {
/**
* Stop triggering.
*/
destroy: perform destroy() {
// take away from listing
listing.splice(listing.indexOf(this), 1);
}
/**
* @identify Visible#on
* @perform
* @param ‘hidden’ e EventName
* @param {perform} cb Callback
*/

/**
* @identify Visible#set off
* @perform
* @param ‘hidden’ e
* @param {{}}
*/

};
Eventify.allow(Visible.prototype);

VisibleOccasion = perform VisibleOccasion(kind, choices) {
var _this = this;

this.kind = kind;
Object.keys(choices).forEach(perform (key) {
_this[key] = choices[key];
});
}; // hear for scroll occasions (throttled)

$doc.addEventListener(“scroll”, _throttle(onScroll, 200)); // public

this.getPageOffset = getPageOffset;
this.getLinearSpacialHash = getLinearSpacialHash;
this.getVerticallyVisiblePixels = getVerticallyVisiblePixels;
this.getViewportHeight = getViewportHeight;
this.getViewportWidth = getViewportWidth;
this.isElementNotHidden = isElementNotHidden;
this.isElementInViewport = isElementInViewport;
this.Visible = Visible;
}]);
}, {}];
require=(perform e(t,n,r){perform s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==”function”&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(“Cannot find module ‘”+o+”‘”);throw f.code=”MODULE_NOT_FOUND”,f}var l=n[o]={exports:{}};t[o][0].name(l.exports,perform(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==”function”&&require;for(var o=0;o