/** Teal */
function loadTlpbjs(account) {
/* prebid.js v9.50.0
Updated: 2025-06-19
Modules: consentManagementTcf, consentManagementUsp, prebidServerBidAdapter, userId, pubProvidedIdSystem, criteoIdSystem, sharedIdSystem */
if(window.tlpbjs&&window.tlpbjs.libLoaded)try{window.tlpbjs.getConfig("debug")&&console.warn("Attempted to load a copy of Prebid.js that clashes with the existing 'tlpbjs' instance. Load aborted.")}catch(t){}else (function(){
(()=>{var r,t={433:(r,t,e)=>{function n(r,t,e,n,o){for(t=t.split?t.split("."):t,n=0;nn})},8128:r=>{
u.SYNC=1,u.ASYNC=2,u.QUEUE=4;var t="fun-hooks";var e=Object.freeze({useProxy:!0,ready:0}),n=new WeakMap,o="2,1,0"===[1].reduce((function(r,t,e){return[r,t,e]}),2).toString()?Array.prototype.reduce:function(r,t){var e,n=Object(this),o=n.length>>>0,i=0;if(t)e=t;else{for(;i{function n(r,t,e){t.split&&(t=t.split("."));for(var n,o,i=0,f=t.length,u=r;in})},5751:(r,t,e)=>{function n(r){var t,e,o;if(Array.isArray(r)){for(e=Array(t=r.length);t--;)e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}if("[object Object]"===Object.prototype.toString.call(r)){for(t in e={},r)"__proto__"===t?Object.defineProperty(e,t,{value:n(r[t]),configurable:!0,enumerable:!0,writable:!0}):e[t]=(o=r[t])&&"object"==typeof o?n(o):o;return e}return r}e.d(t,{Q:()=>n})}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.m=t,r=[],n.O=(t,e,o,i)=>{if(!e){var f=1/0;for(l=0;l=i)&&Object.keys(n.O).every((r=>n.O[r](e[a])))?e.splice(a--,1):(u=!1,i0&&r[l-1][2]>i;l--)r[l]=r[l-1];r[l]=[e,o,i]},n.n=r=>{var t=r&&r.__esModule?()=>r.default:()=>r;return n.d(t,{a:t}),t},n.d=(r,t)=>{for(var e in t)n.o(t,e)&&!n.o(r,e)&&Object.defineProperty(r,e,{enumerable:!0,get:t[e]})},n.o=(r,t)=>Object.prototype.hasOwnProperty.call(r,t),(()=>{var r={673:0};n.O.j=t=>0===r[t];var t=(t,e)=>{var o,i,f=e[0],u=e[1],a=e[2],c=0;if(f.some((t=>0!==r[t]))){for(o in u)n.o(u,o)&&(n.m[o]=u[o]);if(a)var l=a(n)}for(t&&t(e);cn(8934)));o=n.O(o)})();
(self.tlpbjsChunk=self.tlpbjsChunk||[]).push([[802],{5789:(e,t,n)=>{n.d(t,{A4:()=>c,J7:()=>l,Pg:()=>u});var i=n(1580),r=n(1069),o=n(7873),s=n(5569);const a=(0,o.m)(),d="outstream";function c(e){const{url:t,config:n,id:o,callback:c,loaded:l,adUnitCode:u,renderNow:f}=e;this.url=t,this.config=n,this.handlers={},this.id=o,this.renderNow=f,this.adUnitCode=u,this.loaded=l,this.cmd=[],this.push=e=>{"function"==typeof e?this.loaded?e.call():this.cmd.push(e):(0,r.vV)("Commands given to Renderer.push must be wrapped in a function")},this.callback=c||(()=>{this.loaded=!0,this.process()}),this.render=function(){const e=arguments,n=()=>{this._render?this._render.apply(this,e):(0,r.JE)("No render function was provided, please use .setRender on the renderer")};!function(e){const t=a.adUnits.find((t=>t.code===e));if(!t)return!1;const n=t?.renderer,i=!!(n&&n.url&&n.render),r=t?.mediaTypes?.video?.renderer,o=!!(r&&r.url&&r.render);return!!(i&&!0!==n.backupOnly||o&&!0!==r.backupOnly)}(u)?f?n():(this.cmd.unshift(n),(0,i.R)(t,s.tp,d,this.callback,this.documentContext)):((0,r.JE)(`External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ${u}`),n())}.bind(this)}function l(e){return!(!e||!e.url&&!e.renderNow)}function u(e,t,n){let i=null;e.config&&e.config.documentResolver&&(i=e.config.documentResolver(t,document,n)),i||(i=document),e.documentContext=i,e.render(t,e.documentContext)}c.install=function(e){let{url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a}=e;return new c({url:t,config:n,id:i,callback:r,loaded:o,adUnitCode:s,renderNow:a})},c.prototype.getConfig=function(){return this.config},c.prototype.setRender=function(e){this._render=e},c.prototype.setEventHandlers=function(e){this.handlers=e},c.prototype.handleVideoEvent=function(e){let{id:t,eventName:n}=e;"function"==typeof this.handlers[n]&&this.handlers[n](),(0,r.OG)(`Prebid Renderer event for id ${t} type ${n}`)},c.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,r.vV)(`Error processing Renderer command on ad unit '${this.adUnitCode}':`,e)}}},6811:(e,t,n)=>{n.d(t,{DL:()=>c,Ml:()=>r,Ue:()=>i,VJ:()=>u,hE:()=>l,hq:()=>d,mo:()=>a,pY:()=>f,uc:()=>s,yl:()=>o});const i="accessDevice",r="syncUser",o="enrichEids",s="fetchBids",a="reportAnalytics",d="transmitEids",c="transmitUfpd",l="transmitPreciseGeo",u="transmitTid",f="loadExternalScript"},3441:(e,t,n)=>{n.d(t,{s:()=>r});var i=n(1445);const r=(0,n(2604).ZI)((e=>i.Ay.resolveAlias(e)))},5569:(e,t,n)=>{n.d(t,{Tn:()=>s,fW:()=>o,tW:()=>r,tp:()=>i});const i="prebid",r="bidder",o="userId",s="analytics"},2604:(e,t,n)=>{n.d(t,{Dk:()=>s,Ii:()=>o,TQ:()=>g,U3:()=>h,XG:()=>l,ZI:()=>p,Zw:()=>c,bt:()=>u,e3:()=>f,iK:()=>a,q7:()=>d});var i=n(5569),r=n(9214);const o="component",s=o+"Type",a=o+"Name",d="adapterCode",c="storageType",l="configName",u="syncType",f="syncUrl",g="_config";function p(e){return function(t,n,r){const c={[s]:t,[a]:n,[o]:`${t}.${n}`};return t===i.tW&&(c[d]=e(n)),h(Object.assign(c,r))}}const h=(0,r.A_)("sync",(e=>e))},6953:(e,t,n)=>{n.d(t,{Vx:()=>d,$p:()=>m});var i=n(433),r=n(3272),o=n(5139),s=n(6811);const a=["data","ext.data","yob","gender","keywords","kwarray","id","buyeruid","customdata"].map((e=>`user.${e}`)).concat("device.ext.cdep"),d=["user.eids","user.ext.eids"],c=["user.geo.lat","user.geo.lon","device.geo.lat","device.geo.lon"],l=["device.ip"],u=["device.ipv6"];function f(e){return Object.assign({get(){},run(e,t,n,i,r){const o=n&&n[i];if(function(e){return null!=e&&("object"!=typeof e||Object.keys(e).length>0)}(o)&&r()){const e=this.get(o);void 0===e?delete n[i]:n[i]=e}}},e)}function g(e){return e.forEach((e=>{e.paths=e.paths.map((e=>{const t=e.split("."),n=t.pop();return[t.length>0?t.join("."):null,n]}))})),function(t,n){const r=[];for(var o=arguments.length,s=new Array(o>2?o-2:0),a=2;a1?t-1:0),i=1;i{if(!1!==t[e.name])for(const[o,s]of e.paths){const a=null==o?n:(0,i.A)(n,o);if(r.push(e.run(n,o,a,s,d.bind(null,e))),!1===t[e.name])return}})),r.filter((e=>null!=e))}}function p(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.io;return function(n){return!t(e,n)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.DL,paths:a,applies:p(s.DL,e)},{name:s.hq,paths:d,applies:p(s.hq,e)},{name:s.hE,paths:c,applies:p(s.hE,e),get:e=>Math.round(100*(e+Number.EPSILON))/100},{name:s.hE,paths:l,applies:p(s.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(".").map(Number);if(4!=t.length)return null;let n=[];for(let e=0;e<4;e++){let t=Math.max(0,Math.min(8,24-8*e));n.push(255<<8-t&255)}return t.map(((e,t)=>e&n[t])).join(".")}(e)},{name:s.hE,paths:u,applies:p(s.hE,e),get:e=>function(e){if(!e)return null;let t=e.split(":").map((e=>parseInt(e,16)));for(t=t.map((e=>isNaN(e)?0:e));t.length<8;)t.push(0);if(8!=t.length)return null;let n=[];for(let e=0;e<8;e++){let t=Math.max(0,Math.min(16,64-16*e));n.push(65535<<16-t&65535)}return t.map(((e,t)=>e&n[t])).map((e=>e.toString(16))).join(":")}(e)},{name:s.VJ,paths:["source.tid"],applies:p(s.VJ,e)}].map(f)}const m=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;const t=g(h(e)),n=g(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.io;return[{name:s.hq,paths:["userId","userIdAsEids"],applies:p(s.hq,e)},{name:s.VJ,paths:["ortb2Imp.ext.tid"],applies:p(s.VJ,e)}].map(f)}(e));return function(e){const i={};return{ortb2:n=>(t(i,n,e),n),bidRequest:t=>(n(i,t,e),t)}}}();(0,o.qB)(s.VJ,"enableTIDs config",(()=>{if(!r.$W.getConfig("enableTIDs"))return{allow:!1,reason:"TIDs are disabled"}}))},5139:(e,t,n)=>{n.d(t,{io:()=>s,qB:()=>o});var i=n(1069),r=n(2604);const[o,s]=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,i.h0)("Activity control:");const t={};function n(e){return t[e]=t[e]||[]}function o(t,n,i,o){let s;try{s=i(o)}catch(i){e.logError(`Exception in rule ${n} for '${t}'`,i),s={allow:!1,reason:i}}return s&&Object.assign({activity:t,name:n,component:o[r.Ii]},s)}const s={};function a(t){let{activity:n,name:i,allow:r,reason:o,component:a}=t;const d=`${i} ${r?"allowed":"denied"} '${n}' for '${a}'${o?":":""}`,c=s.hasOwnProperty(d);if(c&&clearTimeout(s[d]),s[d]=setTimeout((()=>delete s[d]),1e3),!c){const t=[d];o&&t.push(o),(r?e.logInfo:e.logWarn).apply(e,t)}}return[function(e,t,i){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10;const o=n(e),s=o.findIndex((e=>{let[t]=e;return r=0&&o.splice(e,1)}},function(e,t){let i,r;for(const[s,d,c]of n(e)){if(i!==s&&r)break;i=s;const n=o(e,d,c,t);if(n){if(!n.allow)return a(n),!1;r=n}}return r&&a(r),!0}]}()},9075:(e,t,n)=>{n.d(t,{$A:()=>T,BS:()=>P,Hh:()=>q,Pk:()=>N,Uc:()=>R,XO:()=>V,bw:()=>_,n6:()=>C,qn:()=>$,vB:()=>W,vW:()=>S,vd:()=>U});var i=n(1069),r=n(5023),o=n(8969),s=n(3272),a=n(5789),d=n(1371),c=n(6881),l=n(6031),u=n(9214),f=n(2449),g=n(5555),p=n(1445),h=n(6894),m=n(7779),b=n(3005);const{AD_RENDER_FAILED:y,AD_RENDER_SUCCEEDED:v,STALE_RENDER:E,BID_WON:A,EXPIRED_RENDER:w}=o.qY,{EXCEPTION:I}=o.as,T=(0,u.A_)("sync",(function(e){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:g.U9.resolve()).then((t=>t??c.n.findBidByAdId(e))).catch((()=>{}))})),C=(0,u.A_)("sync",(function(e){((0,b.$T)(e.eventtrackers)[b.RO]?.[b.Ni]||[]).forEach((e=>(0,i.z$)(e))),r.Ic(A,e),c.n.addWinningBid(e)}));function B(e){let{reason:t,message:n,bid:o,id:s}=e;const a={reason:t,message:n};o&&(a.bid=o,a.adId=o.adId),s&&(a.adId=s),(0,i.vV)(`Error rendering ad (id: ${s}): ${n}`),r.Ic(y,a)}function O(e){let{doc:t,bid:n,id:i}=e;const o={doc:t};n&&(o.bid=n),i&&(o.adId=i),p.Ay.callAdRenderSucceededBidder(n.adapterCode||n.bidder,n),r.Ic(v,o)}function R(e,t){switch(e.event){case o.qY.AD_RENDER_FAILED:B({bid:t,id:t.adId,reason:e.info.reason,message:e.info.message});break;case o.qY.AD_RENDER_SUCCEEDED:O({doc:null,bid:t,id:t.adId});break;default:(0,i.vV)(`Received event request for unsupported event: '${e.event}' (adId: '${t.adId}')`)}}function S(e,t,n){let{resizeFn:i,fireTrackers:r=f.vO}=n;if("resizeNativeHeight"===e.action)i(e.width,e.height);else r(e,t)}const k={[o.nl.EVENT]:R};k[o.nl.NATIVE]=S;const U=(0,u.A_)("sync",(function(e,t){const{ad:n,adUrl:r,cpm:o,originalCpm:s,width:a,height:d,instl:c}=e,l={AUCTION_PRICE:s||o,CLICKTHROUGH:t?.clickUrl||""};return{ad:(0,i.gM)(n,l),adUrl:(0,i.gM)(r,l),width:a,height:d,instl:c}})),D=(0,u.A_)("sync",(function(e){let{renderFn:t,resizeFn:n,bidResponse:r,options:s,doc:a,isMainDocument:c=a===document&&!(0,i.al)()}=e;const l=r.mediaType===d.G_;if(c||l)return void B({reason:o.as.PREVENT_WRITING_ON_MAIN_DOCUMENT,message:l?"Cannot render video ad without a renderer":"renderAd was prevented from writing to the main document.",bid:r,id:r.adId});const u=U(r,s);t(Object.assign({adId:r.adId},u));const{width:f,height:g}=u;null!=(f??g)&&n(f,g)}));function _(e){let{renderFn:t,resizeFn:n,adId:a,options:d,bidResponse:c,doc:l}=e;q(c,(()=>{if(null!=c){if((c.status!==o.tl.RENDERED||((0,i.JE)(`Ad id ${a} has been rendered before`),r.Ic(E,c),!s.$W.getConfig("auctionOptions")?.suppressStaleRender))&&(m.uW.isBidNotExpired(c)||((0,i.JE)(`Ad id ${a} has been expired`),r.Ic(w,c),!s.$W.getConfig("auctionOptions")?.suppressExpiredRender)))try{D({renderFn:t,resizeFn:n,bidResponse:c,options:d,doc:l})}catch(e){B({reason:o.as.EXCEPTION,message:e.message,id:a,bid:c})}}else B({reason:o.as.CANNOT_FIND_AD,message:`Cannot find ad '${a}'`,id:a})}))}function $(e){const t=(0,h.BO)(e.metrics);t.checkpoint("bidRender"),t.timeBetween("bidWon","bidRender","render.deferred"),t.timeBetween("auctionEnd","bidRender","render.pending"),t.timeBetween("requestBids","bidRender","render.e2e"),e.status=o.tl.RENDERED}D.before((function(e,t){const{bidResponse:n,doc:i}=t;(0,a.J7)(n.renderer)?((0,a.Pg)(n.renderer,n,i),O({doc:i,bid:n,id:n.adId}),e.bail()):e(t)}),100);const j=new WeakMap,x=new WeakSet;function q(e,t){null!=e?(j.set(e,t),e.deferRendering||W(e),N(e)):t()}function N(e){x.has(e)||(x.add(e),C(e))}function W(e){const t=j.get(e);t&&(t(),$(e),j.delete(e))}function P(e,t,n){let r;function s(e,n){B(Object.assign({id:t,bid:r},{reason:e,message:n}))}function a(t,n){const i=e.defaultView?.frameElement;i&&(t&&(i.width=t,i.style.width&&(i.style.width=`${t}px`)),n&&(i.height=n,i.style.height&&(i.style.height=`${n}px`)))}const d=(c={resizeFn:a},function(e,t,n){k.hasOwnProperty(e)&&k[e](t,n,c)});var c;function u(t){t.ad?(e.write(t.ad),e.close(),O({doc:e,bid:r,id:r.adId})):(0,l.HH)(r).then((n=>n(t,{sendMessage:(e,t)=>d(e,t,r),mkFrame:i.hw},e.defaultView))).then((()=>O({doc:e,bid:r,id:r.adId})),(e=>{s(e?.reason||o.as.EXCEPTION,e?.message),e?.stack&&(0,i.vV)(e)}));const n=document.createComment(`Creative ${r.creativeId} served by ${r.bidder} Prebid.js Header Bidding`);(0,i._s)(n,e,"html")}try{t&&e?T(t).then((i=>{r=i,_({renderFn:u,resizeFn:a,adId:t,options:{clickUrl:n?.clickThrough},bidResponse:i,doc:e})})):s(o.as.MISSING_DOC_OR_ADID,"missing "+(t?"doc":"adId"))}catch(e){s(I,e.message)}}function V(){if(!window.frames[o.IY])if(document.body){const e=(0,i.CA)();e.name=o.IY,document.body.appendChild(e)}else window.requestAnimationFrame(V)}},9759:(e,t,n)=>{function i(e){var t=e;return{callBids:function(){},setBidderCode:function(e){t=e},getBidderCode:function(){return t}}}n.d(t,{A:()=>i})},1445:(e,t,n)=>{n.d(t,{Ay:()=>z,pX:()=>M,K5:()=>N});var i=n(1069),r=n(2449),o=n(7377),s=n(8044),a=n(3272),d=n(9214);let c={};function l(e,t,n){let i=function(e,t){let n=c[e]=c[e]||{bidders:{}};return t?n.bidders[t]=n.bidders[t]||{}:n}(e,n);return i[t]=(i[t]||0)+1,i[t]}function u(e){return l(e,"auctionsCounter")}function f(e){return c?.[e]?.requestsCounter||0}function g(e,t){return c?.[e]?.bidders?.[t]?.requestsCounter||0}function p(e,t){return c?.[e]?.bidders?.[t]?.winsCounter||0}function h(e){return c?.[e]?.auctionsCounter||0}var m=n(7934),b=n(6916),y=n(5023),v=n(8969),E=n(6894),A=n(6881),w=n(5569),I=n(5139),T=n(6811),C=n(2604),B=n(6953),O=n(3005);const R="pbsBidAdapter",S={CLIENT:"client",SERVER:"server"},k={isAllowed:I.io,redact:B.$p};let U={},D=U.bidderRegistry={},_=U.aliasRegistry={},$=[];a.$W.getConfig("s2sConfig",(e=>{e&&e.s2sConfig&&($=(0,i.cy)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var j={};const x=(0,C.ZI)((e=>U.resolveAlias(e)));function q(e){return e.configName??e.name}function N(e){return x(w.tp,R,{[C.XG]:q(e)})}const W=(0,d.A_)("sync",(function(e){let{bidderCode:t,auctionId:n,bidderRequestId:r,adUnits:o,src:s,metrics:a}=e;return o.reduce(((e,o)=>{const d=o.bids.filter((e=>e.bidder===t));return null==t&&0===d.length&&null!=o.s2sBid&&d.push({bidder:null}),e.push(d.reduce(((e,d)=>{const c=null==(d=Object.assign({},d,{ortb2Imp:(0,i.D9)({},o.ortb2Imp,d.ortb2Imp)},(0,i.SH)(o,["nativeParams","nativeOrtbRequest","mediaType","renderer"]))).mediaTypes?o.mediaTypes:d.mediaTypes;return(0,i.wD)(c)?d=Object.assign({},d,{mediaTypes:c}):(0,i.vV)(`mediaTypes is not correctly configured for adunit ${o.code}`),"client"===s&&function(e,t){l(e,"requestsCounter",t)}(o.code,t),e.push(Object.assign({},d,{adUnitCode:o.code,transactionId:o.transactionId,adUnitId:o.adUnitId,sizes:c?.banner?.sizes||c?.video?.playerSize||[],bidId:d.bid_id||(0,i.s0)(),bidderRequestId:r,auctionId:n,src:s,metrics:a,auctionsCount:h(o.code),bidRequestsCount:f(o.code),bidderRequestsCount:g(o.code,d.bidder),bidderWinsCount:p(o.code,d.bidder),deferBilling:!!o.deferBilling})),e}),[])),e}),[]).reduce(i.Bq,[]).filter((e=>""!==e))}),"getBids");const P=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=M}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(null==t)return e;{const i=n(t);return e.filter((e=>{if(!i.has(e.bidder))return!1;if(null==e.s2sConfigName)return!0;const n=q(t);return(Array.isArray(e.s2sConfigName)?e.s2sConfigName:[e.s2sConfigName]).includes(n)}))}}),"filterBidsForAdUnit");const V=(0,d.A_)("sync",((e,t)=>e),"setupAdUnitMediaTypes");function M(e){(0,i.cy)(e)||(e=[e]);const t=new Set([null]);return e.filter((e=>e&&e.enabled)).flatMap((e=>e.bidders)).forEach((e=>t.add(e))),t}const G=(0,d.A_)("sync",(function(e,t){let{getS2SBidders:n=M}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n(t);return(0,i.ZA)(e).reduce(((e,t)=>(e[r.has(t)?S.SERVER:S.CLIENT].push(t),e)),{[S.CLIENT]:[],[S.SERVER]:[]})}),"partitionBidders");function F(e,t){const n=D[e],i=n?.getSpec&&n.getSpec();if(i&&i[t]&&"function"==typeof i[t])return[i,i[t]]}function H(e,t,n,r){try{(0,i.fH)(`Invoking ${e}.${t}`);for(var o=arguments.length,s=new Array(o>4?o-4:0),d=4;d5&&void 0!==arguments[5]?arguments[5]:{},c=arguments.length>6?arguments[6]:void 0;c=(0,E.BO)(c),y.Ic(v.qY.BEFORE_REQUEST_BIDS,e),(0,r.nk)(e),e.map((e=>e.code)).filter(i.hj).forEach(u),e.forEach((e=>{(0,i.Qd)(e.mediaTypes)||(e.mediaTypes={}),e.bids=e.bids.filter((e=>!e.bidder||k.isAllowed(T.uc,x(w.tW,e.bidder)))),l(e.code,"requestsCounter")})),e=V(e,s);let{[S.CLIENT]:f,[S.SERVER]:g}=G(e,$);a.$W.getConfig("bidderSequence")===a.Ov&&(f=(0,i.k4)(f));const p=(0,m.EN)();let h=[];const A=d.global||{},I=d.bidder||{};function C(e,t){const r=k.redact(null!=t?t:x(w.tW,e.bidderCode)),o=(0,i.D9)({source:{tid:n}},A,I[e.bidderCode]);!function(e){const t=e.user?.eids;Array.isArray(t)&&t.length&&(e.user.ext=e.user.ext||{},e.user.ext.eids=[...e.user.ext.eids||[],...t],delete e.user.eids)}(o);const s=Object.freeze(r.ortb2(o));return e.ortb2=s,e.bids=e.bids.map((e=>(e.ortb2=s,r.bidRequest(e)))),e}$.forEach((r=>{const o=N(r);if(r&&r.enabled&&k.isAllowed(T.uc,o)){let{adUnits:s,hasModuleBids:a}=function(e,t){let n=(0,i.Go)(e),r=!1;return n.forEach((e=>{const n=e.bids.filter((e=>e.module===R&&e.params?.configName===q(t)));1===n.length?(e.s2sBid=n[0],r=!0,e.ortb2Imp=(0,i.D9)({},e.s2sBid.ortb2Imp,e.ortb2Imp)):n.length>1&&(0,i.JE)('Multiple "module" bids for the same s2s configuration; all will be ignored',n),e.bids=P(e.bids,t).map((e=>(e.bid_id=(0,i.s0)(),e)))})),n=n.filter((e=>0!==e.bids.length||null!=e.s2sBid)),{adUnits:n,hasModuleBids:r}}(e,r),d=(0,i.lk)();(0===g.length&&a?[null]:g).forEach((e=>{const a=(0,i.s0)(),l=c.fork(),u=C({bidderCode:e,auctionId:n,bidderRequestId:a,uniquePbsTid:d,bids:W({bidderCode:e,auctionId:n,bidderRequestId:a,adUnits:(0,i.Go)(s),src:v.RW.SRC,metrics:l}),auctionStart:t,timeout:r.timeout,src:v.RW.SRC,refererInfo:p,metrics:l},o);0!==u.bids.length&&h.push(u)})),s.forEach((e=>{let t=e.bids.filter((e=>h.find((t=>t.bids.find((t=>t.bidId===e.bid_id))))));e.bids=t})),h.forEach((e=>{void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=s.filter((e=>e.bids.length>0||null!=e.s2sBid)))}))}}));let B=function(e){let t=(0,i.Go)(e);return t.forEach((e=>{e.bids=P(e.bids,null)})),t=t.filter((e=>0!==e.bids.length)),t}(e);return f.forEach((e=>{const r=(0,i.s0)(),a=c.fork(),d=C({bidderCode:e,auctionId:n,bidderRequestId:r,bids:W({bidderCode:e,auctionId:n,bidderRequestId:r,adUnits:(0,i.Go)(B),labels:s,src:"client",metrics:a}),auctionStart:t,timeout:o,refererInfo:p,metrics:a}),l=D[e];l||(0,i.vV)(`Trying to make a request for bidder that does not exist: ${e}`),l&&d.bids&&0!==d.bids.length&&h.push(d)})),h.forEach((e=>{b.mW.getConsentData()&&(e.gdprConsent=b.mW.getConsentData()),b.t6.getConsentData()&&(e.uspConsent=b.t6.getConsentData()),b.ad.getConsentData()&&(e.gppConsent=b.ad.getConsentData())})),h}),"makeBidRequests"),U.callBids=function(e,t,n,r,o,d,c){let l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{};if(!t.length)return void(0,i.JE)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");let[u,f]=t.reduce(((e,t)=>(e[Number(void 0!==t.src&&t.src===v.RW.SRC)].push(t),e)),[[],[]]);var g=[];f.forEach((e=>{for(var t=-1,n=0;n{if(e&&g[p]&&M(e).has(g[p].bidderCode)){const t=(0,s.g4)(d,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0);let a=e.bidders;const u=D[e.adapter];let h=g[p].uniquePbsTid,m=g[p].adUnitsS2SCopy,b=f.filter((e=>e.uniquePbsTid===h));if(u){let o={ad_units:m,s2sConfig:e,ortb2Fragments:l,requestBidsTimeout:d};if(o.ad_units.length){let e=b.map((e=>(e.start=(0,i.vE)(),function(t){t||c(e.bidderRequestId),r.apply(e,arguments)})));const s=(0,i.ZA)(o.ad_units).filter((e=>a.includes(e)));(0,i.OG)(`CALLING S2S HEADER BIDDERS ==== ${s.length>0?s.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only'}`),b.forEach((e=>{y.Ic(v.qY.BID_REQUESTED,{...e,tid:e.auctionId})})),u.callBids(o,f,n,(t=>e.forEach((e=>e(t)))),t)}}else(0,i.vV)("missing "+e.adapter);p++}})),u.forEach((e=>{e.start=(0,i.vE)();const t=D[e.bidderCode];a.$W.runWithBidder(e.bidderCode,(()=>{(0,i.OG)("CALLING BIDDER"),y.Ic(v.qY.BID_REQUESTED,e)}));let l=(0,s.g4)(d,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0);const u=r.bind(e);try{a.$W.runWithBidder(e.bidderCode,t.callBids.bind(t,e,n,u,l,(()=>c(e.bidderRequestId)),a.$W.callbackWithBidder(e.bidderCode)))}catch(t){(0,i.vV)(`${e.bidderCode} Bid Adapter emitted an uncaught error when parsing their bidRequest`,{e:t,bidRequest:e}),u()}}))},U.videoAdapters=[],U.registerBidAdapter=function(e,t){let{supportedMediaTypes:n=[]}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};e&&t?"function"==typeof e.callBids?(D[t]=e,b.o2.register(w.tW,t,e.getSpec?.().gvlid),n.includes("video")&&U.videoAdapters.push(t),n.includes("native")&&r.mT.push(t)):(0,i.vV)("Bidder adaptor error for bidder code: "+t+"bidder must implement a callBids() function"):(0,i.vV)("bidAdapter or bidderCode not specified")},U.aliasBidAdapter=function(e,t,n){if(void 0===D[t]){let s=D[e];if(void 0===s){const n=[];$.forEach((i=>{if(i.bidders&&i.bidders.length){const r=i&&i.bidders;i&&r.includes(t)?_[t]=e:n.push(e)}})),n.forEach((e=>{(0,i.vV)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{let a,d=function(e){let t=[];return U.videoAdapters.includes(e)&&t.push("video"),r.mT.includes(e)&&t.push("native"),t}(e);if(s.constructor.prototype!=Object.prototype)a=new s.constructor,a.setBidderCode(t);else{const{useBaseGvlid:r=!1}=n||{};let d=s.getSpec();const c=r?d.gvlid:n?.gvlid;null==c&&null!=d.gvlid&&(0,i.JE)(`Alias '${t}' will NOT re-use the GVL ID of the original adapter ('${d.code}', gvlid: ${d.gvlid}). Functionality that requires TCF consent may not work as expected.`);let l=n&&n.skipPbsAliasing;a=(0,o.xb)(Object.assign({},d,{code:t,gvlid:c,skipPbsAliasing:l})),_[t]=e}U.registerBidAdapter(a,t,{supportedMediaTypes:d})}catch(t){(0,i.vV)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,i.OG)('alias name "'+t+'" has been already specified.')},U.resolveAlias=function(e){let t,n=e;for(;_[n]&&(!t||!t.has(n));)n=_[n],(t=t||new Set).add(n);return n},U.registerAnalyticsAdapter=function(e){let{adapter:t,code:n,gvlid:r}=e;t&&n?"function"==typeof t.enableAnalytics?(t.code=n,j[n]={adapter:t,gvlid:r},b.o2.register(w.Tn,n,r)):(0,i.vV)(`Prebid Error: Analytics adaptor error for analytics "${n}"\n analytics adapter must implement an enableAnalytics() function`):(0,i.vV)("Prebid Error: analyticsAdapter or analyticsCode not specified")},U.enableAnalytics=function(e){(0,i.cy)(e)||(e=[e]),e.forEach((e=>{const t=j[e.provider];t&&t.adapter?k.isAllowed(T.mo,x(w.Tn,e.provider,{[C.TQ]:e}))&&t.adapter.enableAnalytics(e):(0,i.vV)(`Prebid Error: no analytics adapter found in registry for '${e.provider}'.`)}))},U.getBidAdapter=function(e){return D[e]},U.getAnalyticsAdapter=function(e){return j[e]},U.callTimedOutBidders=function(e,t,n){t=t.map((t=>(t.params=(0,i.SB)(e,t.adUnitCode,t.bidder),t.timeout=n,t))),t=(0,i.$z)(t,"bidder"),Object.keys(t).forEach((e=>{L(e,"onTimeout",t[e])}))},U.callBidWonBidder=function(e,t,n){var r,o;t.params=(0,i.SB)(n,t.adUnitCode,t.bidder),r=t.adUnitCode,o=t.bidder,l(r,"winsCounter",o),L(e,"onBidWon",t)},U.triggerBilling=(()=>{const e=new WeakSet;return t=>{e.has(t)||(e.add(t),((0,O.$T)(t.eventtrackers)[O.OA]?.[O.Ni]||[]).forEach((e=>i.mM.triggerPixel(e))),L(t.bidder,"onBidBillable",t))}})(),U.callSetTargetingBidder=function(e,t){L(e,"onSetTargeting",t)},U.callBidViewableBidder=function(e,t){L(e,"onBidViewable",t)},U.callBidderError=function(e,t,n){L(e,"onBidderError",{error:t,bidderRequest:n})},U.callAdRenderSucceededBidder=function(e,t){L(e,"onAdRenderSucceeded",t)},U.callDataDeletionRequest=(0,d.A_)("sync",(function(){for(var e=arguments.length,t=new Array(e),n=0;n!_.hasOwnProperty(e))).forEach((e=>{const n=F(e,r);if(null!=n){const i=A.n.getBidsRequested().filter((t=>function(e){const t=new Set;for(;_.hasOwnProperty(e)&&!t.has(e);)t.add(e),e=_[e];return e}(t.bidderCode)===e));H(e,r,...n,i,...t)}})),Object.entries(j).forEach((e=>{let[n,o]=e;const s=o?.adapter?.[r];if("function"==typeof s)try{s.apply(o.adapter,t)}catch(e){(0,i.vV)(`error calling ${r} of ${n}`,e)}}))}));const z=U},7377:(e,t,n)=>{n.d(t,{JN:()=>R,fn:()=>S,xb:()=>T});var i=n(9759),r=n(1445),o=n(3272),s=n(3597),a=n(8230),d=n(2449),c=n(3895),l=n(8969),u=n(5023),f=n(1069),g=n(9214),p=n(6881),h=n(2693),m=n(6894),b=n(5139),y=n(3441),v=n(5569),E=n(6811);const A=["cpm","ttl","creativeId","netRevenue","currency"],w=["auctionId","transactionId"];const I=(0,f.Bj)((e=>{let{bidderCode:t}=e;if((0,b.io)(E.VJ,(0,y.s)(v.tW,t)))return{bidRequest:e=>e,bidderRequest:e=>e};function n(e,t,n){return w.includes(t)?null:Reflect.get(e,t,n)}function i(e,t){const n=new Proxy(e,t);return Object.entries(e).filter((e=>{let[t,n]=e;return"function"==typeof n})).forEach((t=>{let[i,r]=t;return n[i]=r.bind(e)})),n}const r=(0,f.Bj)((e=>i(e,{get:n})),(e=>e.bidId));return{bidRequest:r,bidderRequest:e=>i(e,{get:(t,i,o)=>"bids"===i?e.bids.map(r):n(t,i,o)})}}));function T(e){return Object.assign(new i.A(e.code),{getSpec:function(){return Object.freeze(Object.assign({},e))},registerSyncs:t,callBids:function(n,i,a,d,c,g){if(!Array.isArray(n.bids))return;const p=I(n),b={};const y=[];function v(){a(),o.$W.runWithBidder(e.code,(()=>{u.Ic(l.qY.BIDDER_DONE,n),t(y,n.gdprConsent,n.uspConsent,n.gppConsent)}))}const E=k(n).measureTime("validate",(()=>n.bids.filter((t=>function(t){if(!e.isBidRequestValid(t))return(0,f.JE)(`Invalid bid sent to bidder ${e.code}: ${JSON.stringify(t)}`),!1;return!0}(p.bidRequest(t))))));if(0===E.length)return void v();const A={};E.forEach((e=>{A[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),B(e,E,n,d,g,{onRequest:e=>u.Ic(l.qY.BEFORE_BIDDER_HTTP,n,e),onResponse:t=>{c(e.code),y.push(t)},onPaapi:e=>{const t=A[e.bidId];t?R(t,e):(0,f.JE)("Received fledge auction configuration for an unknown bidId",e)},onError:(t,i)=>{i.timedOut||c(e.code),r.Ay.callBidderError(e.code,i,n),u.Ic(l.qY.BIDDER_ERROR,{error:i,bidderRequest:n}),(0,f.vV)(`Server call for ${e.code} failed: ${t} ${i.status}. Continuing without bids.`,{bidRequests:E})},onBid:t=>{const n=A[t.requestId];if(n){if(t.adapterCode=n.bidder,function(e,t){let n=h.u.get(t,"allowAlternateBidderCodes")||!1,i=h.u.get(t,"allowedAlternateBidderCodes");if(e&&t&&t!==e&&(i=(0,f.cy)(i)?i.map((e=>e.trim().toLowerCase())).filter((e=>!!e)).filter(f.hj):i,!n||(0,f.cy)(i)&&"*"!==i[0]&&!i.includes(e)))return!0;return!1}(t.bidderCode,n.bidder))return(0,f.JE)(`${t.bidderCode} is not a registered partner or known bidder of ${n.bidder}, hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings.`),void i.reject(n.adUnitCode,t,l.Tf.BIDDER_DISALLOWED);t.originalCpm=t.cpm,t.originalCurrency=t.currency,t.meta=t.meta||Object.assign({},t[n.bidder]),t.deferBilling=n.deferBilling,t.deferRendering=t.deferBilling&&(t.deferRendering??"function"!=typeof e.onBidBillable);const r=Object.assign((0,s.O)(l.XQ.GOOD,n),t,(0,f.Up)(n,w));!function(e,t){const n=(0,m.BO)(t.metrics);n.checkpoint("addBidResponse"),b[e]=!0,n.measureTime("addBidResponse.validate",(()=>S(e,t)))?i(e,t):i.reject(e,t,l.Tf.INVALID)}(n.adUnitCode,r)}else(0,f.JE)(`Bidder ${e.code} made bid for unknown request ID: ${t.requestId}. Ignoring.`),i.reject(null,t,l.Tf.INVALID_REQUEST_ID)},onCompletion:v})}});function t(t,n,i,r){O(e,t,n,i,r)}}const C=["bids","paapi"],B=(0,g.A_)("async",(function(e,t,n,i,r,o){let{onRequest:s,onResponse:a,onPaapi:d,onError:c,onBid:u,onCompletion:g}=o;const p=k(n);g=p.startTiming("total").stopBefore(g);const m=I(n);let A=p.measureTime("buildRequests",(()=>e.buildRequests(t.map(m.bidRequest),m.bidderRequest(n))));if(!A||0===A.length)return void g();Array.isArray(A)||(A=[A]);const w=(0,f.U6)(g,A.length);A.forEach((t=>{const n=p.fork();function o(e){null!=e&&(e.metrics=n.fork().renameWith()),u(e)}const g=r((function(i,r){A();try{i=JSON.parse(i)}catch(e){}i={body:i,headers:{get:r.getResponseHeader.bind(r)}},a(i);try{i=n.measureTime("interpretResponse",(()=>e.interpretResponse(i,t)))}catch(t){return(0,f.vV)(`Bidder ${e.code} failed to interpret the server's response. Continuing without bids`,null,t),void w()}let s,c;i&&!Object.keys(i).some((e=>!C.includes(e)))?(s=i.bids,c=i.paapi):s=i,(0,f.cy)(c)&&c.forEach(d),s&&((0,f.cy)(s)?s.forEach(o):o(s)),w()})),m=r((function(e,t){A(),c(e,t),w()}));s(t);const A=n.startTiming("net");function I(n){const i=t.options;return Object.assign(n,i,{browsingTopics:!(i?.hasOwnProperty("browsingTopics")&&!i.browsingTopics)&&((h.u.get(e.code,"topicsHeader")??!0)&&(0,b.io)(E.DL,(0,y.s)(v.tW,e.code)))})}switch(t.method){case"GET":i(`${t.url}${function(e){if(e)return`?${"object"==typeof e?(0,f.bL)(e):e}`;return""}(t.data)}`,{success:g,error:m},void 0,I({method:"GET",withCredentials:!0}));break;case"POST":const n=t.options?.endpointCompression,r="TRUE"===(0,f.Ez)(l.M).toUpperCase()||(0,f.dp)(),o=e=>{let{url:t,payload:n}=e;i(t,{success:g,error:m},n,I({method:"POST",contentType:"text/plain",withCredentials:!0}))};n&&r&&(0,f.JE)(`Skipping GZIP compression for ${e.code} as debug mode is enabled`),n&&!r&&(0,f.nT)()?(0,f.ZK)(t.data).then((e=>{const n=new URL(t.url,window.location.origin);n.searchParams.has("gzip")||n.searchParams.set("gzip","1"),o({url:n.href,payload:e})})):o({url:t.url,payload:"string"==typeof t.data?t.data:JSON.stringify(t.data)});break;default:(0,f.JE)(`Skipping invalid request from ${e.code}. Request type ${t.type} must be GET or POST`),w()}}))}),"processBidderRequests"),O=(0,g.A_)("async",(function(e,t,n,i,s){const d=o.$W.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(d||!r.Ay.aliasRegistry[e.code])){let r=e.getUserSyncs({iframeEnabled:a.zt.canBidderRegisterSync("iframe",e.code),pixelEnabled:a.zt.canBidderRegisterSync("image",e.code)},t,n,i,s);r&&(Array.isArray(r)||(r=[r]),r.forEach((t=>{a.zt.registerSync(t.type,e.code,t.url)})),a.zt.bidderDone(e.code))}}),"registerSyncs"),R=(0,g.A_)("sync",((e,t)=>{}),"addPaapiConfig");function S(e,t){let{index:n=p.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};function i(e){return`Invalid bid from ${t.bidderCode}. Ignoring bid: ${e}`}return e?t?function(){let e=Object.keys(t);return A.every((n=>e.includes(n)&&![void 0,null].includes(t[n])))}()?"native"!==t.mediaType||(0,d.Bm)(t,{index:n})?"video"!==t.mediaType||(0,c.vk)(t,{index:n})?!("banner"===t.mediaType&&!function(e,t){let{index:n=p.n.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if((t.width||0===parseInt(t.width,10))&&(t.height||0===parseInt(t.height,10)))return t.width=parseInt(t.width,10),t.height=parseInt(t.height,10),!0;if(null!=t.wratio&&null!=t.hratio)return t.wratio=parseInt(t.wratio,10),t.hratio=parseInt(t.hratio,10),!0;const i=n.getBidRequest(t),r=n.getMediaTypes(t),o=i&&i.sizes||r&&r.banner&&r.banner.sizes,s=(0,f.kK)(o);if(1===s.length){const[e,n]=s[0].split("x");return t.width=parseInt(e,10),t.height=parseInt(n,10),!0}return!1}(e,t,{index:n}))||((0,f.vV)(i("Banner bids require a width and height")),!1):((0,f.vV)(i("Video bid does not have required vastUrl or renderer property")),!1):((0,f.vV)(i("Native bid missing some required properties.")),!1):((0,f.vV)(i(`Bidder ${t.bidderCode} is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params.`)),!1):((0,f.JE)(`Some adapter tried to add an undefined bid for ${e}.`),!1):((0,f.JE)("No adUnitCode was supplied to addBidResponse."),!1)}function k(e){return(0,m.BO)(e.metrics).renameWith((t=>[`adapter.client.${t}`,`adapters.client.${e.bidderCode}.${t}`]))}},1580:(e,t,n)=>{n.d(t,{R:()=>c});var i=n(6811),r=n(3441),o=n(5139),s=n(1069);const a=new WeakMap,d=["debugging","outstream","aaxBlockmeter","adagio","adloox","akamaidap","arcspan","airgrid","browsi","brandmetrics","clean.io","humansecurity","confiant","contxtful","hadron","mediafilter","medianet","azerionedge","a1Media","geoedge","qortex","dynamicAdBoost","51Degrees","symitridap","wurfl","nodalsAi","anonymised","optable","justtag","tncId","ftrackId","id5"];function c(e,t,n,c,l,u){if(!(0,o.io)(i.pY,(0,r.s)(t,n)))return;if(!n||!e)return void(0,s.vV)("cannot load external script without url and moduleCode");if(!d.includes(n))return void(0,s.vV)(`${n} not whitelisted for loading external JavaScript`);l||(l=document);const f=h(l,e);if(f)return c&&"function"==typeof c&&(f.loaded?c():f.callbacks.push(c)),f.tag;const g=a.get(l)||{},p={loaded:!1,tag:null,callbacks:[]};return g[e]=p,a.set(l,g),c&&"function"==typeof c&&p.callbacks.push(c),(0,s.JE)(`module ${n} is loading external JavaScript`),function(t,n,i,r){i||(i=document);var o=i.createElement("script");o.type="text/javascript",o.async=!0;const a=h(i,e);a&&(a.tag=o);o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,n())}:o.onload=function(){n()};o.src=t,r&&(0,s.Bg)(o,r);return(0,s._s)(o,i),o}(e,(function(){p.loaded=!0;try{for(let e=0;e{n.d(t,{Q:()=>i});const i=(0,n(9214).A_)("sync",(()=>{}))},8044:(e,t,n)=>{n.d(t,{RD:()=>f,g4:()=>u});var i=n(3272),r=n(1069);const o={fetch:window.fetch.bind(window),makeRequest:(e,t)=>new Request(e,t),timeout(e,t){const n=new AbortController;let i=setTimeout((()=>{n.abort(),(0,r.vV)(`Request timeout after ${e}ms`,t),i=null}),e);return{signal:n.signal,done(){i&&clearTimeout(i)}}}},s="GET",a="POST",d="Content-Type";function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t,n)=>{let r;null==e||null!=n?.signal||i.$W.getConfig("disableAjaxTimeout")||(r=o.timeout(e,t),n=Object.assign({signal:r.signal},n));let s=o.fetch(t,n);return null!=r?.done&&(s=s.finally(r.done)),s};return null==t&&null==n||(r=(e=>function(i,r){const o=new URL(null==i?.url?i:i.url,document.location).origin;let s=e(i,r);return t&&t(o),n&&(s=s.finally((()=>n(o)))),s})(r)),r}function l(e,t){let{status:n,statusText:i="",headers:o,url:s}=e,a=0;function c(e){if(0===a)try{a=(new DOMParser).parseFromString(t,o?.get(d)?.split(";")?.[0])}catch(t){a=null,e&&e(t)}return a}return{readyState:XMLHttpRequest.DONE,status:n,statusText:i,responseText:t,response:t,responseType:"",responseURL:s,get responseXML(){return c(r.vV)},getResponseHeader:e=>o?.has(e)?o.get(e):null,toJSON(){return Object.assign({responseXML:c()},this)},timedOut:!1}}function u(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,{request:t,done:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const i=c(e,{request:t,done:n});return function(e,t,n){!function(e,t){const{success:n,error:i}="object"==typeof t&&null!=t?t:{success:"function"==typeof t?t:()=>null,error:(e,t)=>(0,r.vV)("Network error",e,t)};e.then((e=>e.text().then((t=>[e,t])))).then((e=>{let[t,r]=e;const o=l(t,r);t.ok||304===t.status?n(r,o):i(t.statusText,o)}),(e=>i("",Object.assign(l({status:0},""),{reason:e,timedOut:"AbortError"===e?.name}))))}(i(function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=n.method||(t?a:s);if(i===s&&t){const i=(0,r.Dl)(e,n);Object.assign(i.search,t),e=(0,r.c$)(i)}const c=new Headers(n.customHeaders);c.set(d,n.contentType||"text/plain");const l={method:i,headers:c};return i!==s&&t&&(l.body=t),n.withCredentials&&(l.credentials="include"),isSecureContext&&["browsingTopics","adAuctionHeaders"].forEach((e=>{n[e]&&(l[e]=!0)})),n.keepalive&&(l.keepalive=!0),o.makeRequest(e,l)}(e,n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:{})),t)}}const f=u();c()},6881:(e,t,n)=>{n.d(t,{n:()=>ae});var i=n(1069),r=n(6833),o=n(2449),s=n(8044),a=n(3272);const d=15,c=new Map;function l(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=u(e),i=t.getAuction(e);let r={type:"xml",value:n,ttlseconds:Number(e.ttl)+d};return a.$W.getConfig("cache.vasttrack")&&(r.bidder=e.bidder,r.bidid=e.requestId,r.aid=e.auctionId),null!=i&&(r.timestamp=i.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(r.key=e.customCacheKey),r}function u(e){return e.vastXml?e.vastXml:(t=e.vastUrl,n=e.vastImpUrl,`\n \n \n prebid.org wrapper \n \n ${(n=n&&(Array.isArray(n)?n:[n]))?n.map((e=>` `)).join(""):""}\n \n \n \n `);var t,n}const f=e=>{const t=u(e),n=URL.createObjectURL(new Blob([t],{type:"text/xml"}));g(e,n),c.set(e.videoCacheKey,n)},g=(e,t,n)=>{e.videoCacheKey=n||(0,i.lk)(),e.vastUrl||(e.vastUrl=t)},p={store:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:s.g4;const i={puts:e.map(l)};n(a.$W.getConfig("cache.timeout"))(a.$W.getConfig("cache.url"),function(e){return{success:function(t){let n;try{n=JSON.parse(t).responses}catch(t){return void e(t,[])}n?e(null,n):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(t,n){e(new Error(`Error storing video ad in the cache: ${t}: ${JSON.stringify(n)}`),[])}}}(t),JSON.stringify(i),{contentType:"text/plain",withCredentials:!0})}};function h(e){const t=e.map((e=>e.bidResponse));p.store(t,(function(n,r){var o;n?(o=n,(0,i.vV)(`Failed to save to the video cache: ${o}. Video bids will be discarded:`,t)):e.length!==r.length?(0,i.vV)(`expected ${e.length} cache IDs, got ${r.length} instead`):r.forEach(((t,n)=>{const{auctionInstance:r,bidResponse:o,afterBidAdded:s}=e[n];var d;""===t.uuid?(0,i.JE)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."):(g(o,(d=t.uuid,`${a.$W.getConfig("cache.url")}?uuid=${d}`),t.uuid),J(r,o),s())}))}))}let m,b,y;a.$W.getConfig("cache",(e=>{let{cache:t}=e;m="number"==typeof t.batchSize&&t.batchSize>0?t.batchSize:1,b="number"==typeof t.batchTimeout&&t.batchTimeout>0?t.batchTimeout:0,t.useLocal&&!y&&(y=ae.onExpiry((e=>{e.getBidsReceived().forEach((e=>{const t=c.get(e.videoCacheKey);t&&t.startsWith("blob")&&URL.revokeObjectURL(t),c.delete(e.videoCacheKey)}))})))}));const v=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:setTimeout,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h,n=[[]],i=!1;const r=e=>e();return function(o,s,a){const d=b>0?e:r;n[n.length-1].length>=m&&n.push([]),n[n.length-1].push({auctionInstance:o,bidResponse:s,afterBidAdded:a}),i||(i=!0,d((()=>{n.forEach(t),n=[[]],i=!1}),b))}}();var E=n(5789),A=n(8230),w=n(9214),I=n(3895),T=n(1371),C=n(2693),B=n(5023),O=n(1445),R=n(8969),S=n(5555),k=n(6894);var U=n(7873),D=n(6853),_=n(7863);const{syncUsers:$}=A.zt,j="started",x="inProgress",q="completed";B.on(R.qY.BID_ADJUSTMENT,(function(e){!function(e){let t=function(e,t,n){let{index:r=ae.index,bs:o=C.u}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n=n||r.getBidRequest(t);const s=t?.adapterCode,a=t?.bidderCode||n?.bidder,d=o.get(t?.adapterCode,"adjustAlternateBids"),c=o.getOwn(a,"bidCpmAdjustment")||o.get(d?s:a,"bidCpmAdjustment");if(c&&"function"==typeof c)try{return c(e,Object.assign({},t),n)}catch(e){(0,i.vV)("Error during bid adjustment",e)}return e}(e.cpm,e);t>=0&&(e.cpm=t)}(e)}));const N=4,W={},P={},V=[],M=(0,U.m)();function G(e){let{adUnits:t,adUnitCodes:n,callback:s,cbTimeout:d,labels:c,auctionId:l,ortb2Fragments:u,metrics:g}=e;g=(0,k.BO)(g);const p=t,h=c,m=n,b=l||(0,i.lk)(),y=d,v=new Set,A=(0,S.v6)(),w=(0,S.v6)();let C,U,G,Y,X=[],Z=s,ee=[],te=(0,D.H)({startTime:e=>e.responseTimestamp,ttl:e=>null==(0,_.S9)()?null:1e3*Math.max((0,_.S9)(),e.ttl)}),ne=[],ie=[],re=[];function se(){return{auctionId:b,timestamp:C,auctionEnd:U,auctionStatus:Y,adUnits:p,adUnitCodes:m,labels:h,bidderRequests:ee,noBids:ne,bidsReceived:te.toArray(),bidsRejected:X,winningBids:ie,timeout:y,metrics:g,seatNonBids:re}}function de(e){if(e?B.Ic(R.qY.AUCTION_TIMEOUT,se()):clearTimeout(G),void 0===U){let n=[];e&&((0,i.OG)(`Auction ${b} timedOut`),n=ee.filter((e=>!v.has(e.bidderRequestId))).flatMap((e=>e.bids)),n.length&&B.Ic(R.qY.BID_TIMEOUT,n)),Y=q,U=Date.now(),g.checkpoint("auctionEnd"),g.timeBetween("requestBids","auctionEnd","requestBids.total"),g.timeBetween("callBids","auctionEnd","requestBids.callBids"),A.resolve(),B.Ic(R.qY.AUCTION_END,se()),z(p,(function(){try{if(null!=Z){const t=te.toArray().filter((e=>m.includes(e.adUnitCode))).reduce(oe,{});Z.apply(M,[t,e,b]),Z=null}}catch(e){(0,i.vV)("Error executing bidsBackHandler",null,e)}finally{n.length&&O.Ay.callTimedOutBidders(t,n,y);let e=a.$W.getConfig("userSync")||{};e.enableOverride||$(e.syncDelay)}}))}}function ce(){a.$W.resetBidder(),(0,i.fH)(`Bids Received for Auction with id: ${b}`,te.toArray()),Y=q,de(!1)}function le(e){v.add(e)}function ue(e){e.forEach((e=>{var t;t=e,ee=ee.concat(t)}));let t={},n={bidRequests:e,run:()=>{G=setTimeout((()=>de(!0)),y),Y=x,B.Ic(R.qY.AUCTION_INIT,se());let n=function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=0,d=!1,c=new Set,l={};function u(){s--,d&&0===s&&e()}function g(e,t,n){return l[t.requestId]=!0,function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=n.getBidderRequest(e),o=n.getAdUnit(e),s=r&&r.start||e.requestTimestamp;Object.assign(e,{responseTimestamp:e.responseTimestamp||(0,i.vE)(),requestTimestamp:e.requestTimestamp||s,cpm:parseFloat(e.cpm)||0,bidder:e.bidder||e.bidderCode,adUnitCode:t}),null!=o?.ttlBuffer&&(e.ttlBuffer=o.ttlBuffer);e.timeToRespond=e.responseTimestamp-e.requestTimestamp}(t,e),s++,n(u)}function p(e,s){g(e,s,(e=>{let d=function(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};B.Ic(R.qY.BID_ADJUSTMENT,e);const n=t.getAdUnit(e);e.instl=1===n?.ortb2Imp?.instl;const i=t.getBidRequest(e)?.renderer||n.renderer,o=e.mediaType,s=t.getMediaTypes(e),d=s&&s[o];var c=d&&d.renderer,l=null;!c||!c.render||!0===c.backupOnly&&e.renderer?!i||!i.render||!0===i.backupOnly&&e.renderer||(l=i):l=c;l&&(e.renderer=E.A4.install({url:l.url,config:l.options,renderNow:null==l.url}),e.renderer.setRender(l.render));const u=K(e.mediaType,s,a.$W.getConfig("mediaTypePriceGranularity")),f=(0,r.j)(e.cpm,"object"==typeof u?u:a.$W.getConfig("customPriceBucket"),a.$W.getConfig("currency.granularityMultiplier"));return e.pbLg=f.low,e.pbMg=f.med,e.pbHg=f.high,e.pbAg=f.auto,e.pbDg=f.dense,e.pbCg=f.custom,e}(s);B.Ic(R.qY.BID_ACCEPTED,d),d.mediaType===T.G_?function(e,t,n){let{index:r=ae.index}=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=!0;const s=r.getMediaTypes({requestId:t.originalRequestId||t.requestId,adUnitId:t.adUnitId})?.video,d=s&&s?.context,c=s&&s?.useCacheKey,{useLocal:l,url:u,ignoreBidderCacheKey:g}=a.$W.getConfig("cache")||{};l?f(t):u&&(c||d!==I.H6)&&(!t.videoCacheKey||g?(o=!1,Q(e,t,n,s)):t.vastUrl||((0,i.vV)("videoCacheKey specified but not required vastUrl for video bid"),o=!1));o&&(J(e,t),n())}(t,d,e):((0,o.l6)(d)&&(0,o.gs)(d,n.getAdUnit(d)),J(t,d),e())}))}function h(e,n,r){return g(e,n,(e=>{n.rejectionReason=r,(0,i.JE)(`Bid from ${n.bidder||"unknown bidder"} was rejected: ${r}`,n),B.Ic(R.qY.BID_REJECTED,n),t.addBidRejected(n),e()}))}function m(){let n=this,r=t.getBidRequests();const o=a.$W.getConfig("auctionOptions");if(c.add(n),o&&!(0,i.Im)(o)){const e=o.secondaryBidders;e&&!r.every((t=>e.includes(t.bidderCode)))&&(r=r.filter((t=>!e.includes(t.bidderCode))))}d=r.every((e=>c.has(e))),n.bids.forEach((e=>{l[e.bidId]||(t.addNoBid(e),B.Ic(R.qY.NO_BID,e))})),d&&0===s&&e()}return{addBidResponse:function(){function e(e,t){F.call({dispatch:p},e,t,(()=>{let n=!1;return i=>{n||(h(e,t,i),n=!0)}})())}return e.reject=h,e}(),adapterDone:function(){H(S.U9.resolve()).finally((()=>m.call(this)))}}}(ce,this);O.Ay.callBids(p,e,n.addBidResponse,n.adapterDone,{request(e,n){d(W,n),d(t,e),P[e]||(P[e]={SRA:!0,origin:n}),t[e]>1&&(P[e].SRA=!1)},done(e){W[e]--,V[0]&&s(V[0])&&V.shift()}},y,le,u),w.resolve()}};function s(e){let t=!0,n=a.$W.getConfig("maxRequestsPerOrigin")||N;return e.bidRequests.some((e=>{let i=1,r=void 0!==e.src&&e.src===R.RW.SRC?"s2s":e.bidderCode;return P[r]&&(!1===P[r].SRA&&(i=Math.min(e.bids.length,n)),W[P[r].origin]+i>n&&(t=!1)),!t})),t&&e.run(),t}function d(e,t){void 0===e[t]?e[t]=1:e[t]++}s(n)||((0,i.JE)("queueing auction due to limited endpoint capacity"),V.push(n))}return(0,_.lc)((()=>te.refresh())),B.on(R.qY.SEAT_NON_BID,(e=>{var t;e.auctionId===b&&(t=e.seatnonbid,re=re.concat(t))})),{addBidReceived:function(e){te.add(e)},addBidRejected:function(e){X=X.concat(e)},addNoBid:function(e){ne=ne.concat(e)},callBids:function(){Y=j,C=Date.now();let e=g.measureTime("requestBids.makeRequests",(()=>O.Ay.makeBidRequests(p,C,b,y,h,u,g)));(0,i.fH)(`Bids Requested for Auction with id: ${b}`,e),g.checkpoint("callBids"),e.length<1?((0,i.JE)("No valid bid requests returned for auction"),ce()):L.call({dispatch:ue,context:this},e)},addWinningBid:function(e){ie=ie.concat(e),O.Ay.callBidWonBidder(e.adapterCode||e.bidder,e,t),e.deferBilling||O.Ay.triggerBilling(e)},setBidTargeting:function(e){O.Ay.callSetTargetingBidder(e.adapterCode||e.bidder,e)},getWinningBids:()=>ie,getAuctionStart:()=>C,getAuctionEnd:()=>U,getTimeout:()=>y,getAuctionId:()=>b,getAuctionStatus:()=>Y,getAdUnits:()=>p,getAdUnitCodes:()=>m,getBidRequests:()=>ee,getBidsReceived:()=>te.toArray(),getNoBids:()=>ne,getNonBids:()=>re,getFPD:()=>u,getMetrics:()=>g,end:A.promise,requestsDone:w.promise,getProperties:se}}const F=(0,w.u2)((0,w.A_)("async",(function(e,t,n){!function(e){const t=a.$W.getConfig("maxBid");return!t||!e.cpm||t>=Number(e.cpm)}(t)?n(R.Tf.PRICE_TOO_HIGH):this.dispatch.call(null,e,t)}),"addBidResponse")),H=(0,w.A_)("sync",(e=>e),"responsesReady"),L=(0,w.A_)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),z=(0,w.A_)("async",(function(e,t){t&&t()}),"bidsBackCallback");function J(e,t){!function(e){let t;const n=!0===C.u.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0;e.bidderCode&&(n||e.dealId)&&(t=function(e,t){let{index:n=ae.index}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t)return{};const i=n.getBidRequest(t);var r={};const s=ie(t.mediaType,e);re(r,s,t,i),e&&C.u.getOwn(e,R.iD.ADSERVER_TARGETING)&&(re(r,C.u.ownSettingsFor(e),t,i),t.sendStandardTargeting=C.u.get(e,"sendStandardTargeting"));t.native&&(r=Object.assign({},r,(0,o.Zj)(t)));return r}(e.bidderCode,e));e.adserverTargeting=Object.assign(e.adserverTargeting||{},t)}(t),(0,k.BO)(t.metrics).timeSince("addBidResponse","addBidResponse.total"),e.addBidReceived(t),B.Ic(R.qY.BID_RESPONSE,t)}const Q=(0,w.A_)("async",(function(e,t,n,i){v(e,t,n)}),"callPrebidCache");function K(e,t,n){if(e&&n){if(e===T.G_){const e=t?.[T.G_]?.context??"instream";if(n[`${T.G_}-${e}`])return n[`${T.G_}-${e}`]}return n[e]}}const Y=e=>t=>{const n=e||function(e){let{index:t=ae.index}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=K(e.mediaType,t.getMediaTypes(e),a.$W.getConfig("mediaTypePriceGranularity"));return"string"==typeof e.mediaType&&n?"string"==typeof n?n:"custom":a.$W.getConfig("priceGranularity")}(t);return n===R.UE.AUTO?t.pbAg:n===R.UE.DENSE?t.pbDg:n===R.UE.LOW?t.pbLg:n===R.UE.MEDIUM?t.pbMg:n===R.UE.HIGH?t.pbHg:n===R.UE.CUSTOM?t.pbCg:void 0},X=()=>e=>e.creativeId?e.creativeId:"",Z=()=>e=>e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?[e.meta.advertiserDomains].flat()[0]:"",ee=()=>e=>e.meta&&(e.meta.networkId||e.meta.networkName)?e?.meta?.networkName||e?.meta?.networkId:"",te=()=>e=>{const t=e?.meta?.primaryCatId;return Array.isArray(t)?t[0]||"":t||""};function ne(e,t){return{key:e,val:"function"==typeof t?function(e,n){return t(e,n)}:function(e){return e[t]}}}function ie(e,t){const n=Object.assign({},C.u.settingsFor(null));if(n[R.iD.ADSERVER_TARGETING]||(n[R.iD.ADSERVER_TARGETING]=[ne(R.xS.BIDDER,"bidderCode"),ne(R.xS.AD_ID,"adId"),ne(R.xS.PRICE_BUCKET,Y()),ne(R.xS.SIZE,"size"),ne(R.xS.DEAL,"dealId"),ne(R.xS.SOURCE,"source"),ne(R.xS.FORMAT,"mediaType"),ne(R.xS.ADOMAIN,Z()),ne(R.xS.ACAT,te()),ne(R.xS.DSP,ee()),ne(R.xS.CRID,X())]),"video"===e){const e=n[R.iD.ADSERVER_TARGETING].slice();if(n[R.iD.ADSERVER_TARGETING]=e,[R.xS.UUID,R.xS.CACHE_ID].forEach((t=>{void 0===e.find((e=>e.key===t))&&e.push(ne(t,"videoCacheKey"))})),a.$W.getConfig("cache.url")&&(!t||!1!==C.u.get(t,"sendStandardTargeting"))){const t=(0,i.Dl)(a.$W.getConfig("cache.url"));void 0===e.find((e=>e.key===R.xS.CACHE_HOST))&&e.push(ne(R.xS.CACHE_HOST,(function(e){return e?.adserverTargeting?.[R.xS.CACHE_HOST]||t.hostname})))}}return n}function re(e,t,n,r){var o=t[R.iD.ADSERVER_TARGETING];return n.size=n.getSize(),(o||[]).forEach((function(o){var s=o.key,a=o.val;if(e[s]&&(0,i.JE)("The key: "+s+" is being overwritten"),(0,i.fp)(a))try{a=a(n,r)}catch(e){(0,i.vV)("bidmanager","ERROR",e)}(void 0===t.suppressEmptyKeys||!0!==t.suppressEmptyKeys)&&s!==R.xS.DEAL&&s!==R.xS.ACAT&&s!==R.xS.DSP&&s!==R.xS.CRID||!(0,i.xQ)(a)&&null!=a?e[s]=a:(0,i.fH)("suppressing empty key '"+s+"' from adserver targeting")})),e}function oe(e,t){return e[t.adUnitCode]||(e[t.adUnitCode]={bids:[]}),e[t.adUnitCode].bids.push(t),e}function se(e){Object.assign(this,{getAuction(t){let{auctionId:n}=t;if(null!=n)return e().find((e=>e.getAuctionId()===n))},getAdUnit(t){let{adUnitId:n}=t;if(null!=n)return e().flatMap((e=>e.getAdUnits())).find((e=>e.adUnitId===n))},getMediaTypes(e){let{adUnitId:t,requestId:n}=e;if(null!=n){const e=this.getBidRequest({requestId:n});if(null!=e&&(null==t||e.adUnitId===t))return e.mediaTypes}else if(null!=t){const e=this.getAdUnit({adUnitId:t});if(null!=e)return e.mediaTypes}},getBidderRequest(t){let{requestId:n,bidderRequestId:i}=t;if(null!=n||null!=i){let t=e().flatMap((e=>e.getBidRequests()));return null!=i&&(t=t.filter((e=>e.bidderRequestId===i))),null==n?t[0]:t.find((e=>e.bids&&null!=e.bids.find((e=>e.bidId===n))))}},getBidRequest(t){let{requestId:n}=t;if(null!=n)return e().flatMap((e=>e.getBidRequests())).flatMap((e=>e.bids)).find((e=>e&&e.bidId===n))},getOrtb2(e){return this.getBidderRequest(e)?.ortb2||this.getAuction(e)?.getFPD()?.global?.ortb2}})}const ae=function(){const e=(0,D.H)({startTime:e=>e.end.then((()=>e.getAuctionEnd())),ttl:e=>null==(0,_.S9)()?null:e.end.then((()=>1e3*Math.max((0,_.S9)(),...e.getBidsReceived().map((e=>e.ttl)))))});(0,_.lc)((()=>e.refresh()));const t={onExpiry:e.onExpiry};function n(t){for(const n of e)if(n.getAuctionId()===t)return n}function r(){return e.toArray().flatMap((e=>e.getBidsReceived()))}return t.addWinningBid=function(e){const t=(0,k.BO)(e.metrics);t.checkpoint("bidWon"),t.timeBetween("auctionEnd","bidWon","adserver.pending"),t.timeBetween("requestBids","bidWon","adserver.e2e");const r=n(e.auctionId);r?r.addWinningBid(e):(0,i.JE)("Auction not found when adding winning bid")},Object.entries({getAllWinningBids:{name:"getWinningBids"},getBidsRequested:{name:"getBidRequests"},getNoBids:{},getAdUnits:{},getBidsReceived:{pre:e=>e.getAuctionStatus()===q},getAdUnitCodes:{post:i.hj}}).forEach((n=>{let[i,{name:r=i,pre:o,post:s}]=n;const a=null==o?e=>e[r]():e=>o(e)?e[r]():[],d=null==s?e=>e:e=>e.filter(s);t[i]=()=>d(e.toArray().flatMap(a))})),t.getAllBidsForAdUnitCode=function(e){return r().filter((t=>t&&t.adUnitCode===e))},t.createAuction=function(t){const n=G(t);return function(t){e.add(t)}(n),n},t.findBidByAdId=function(e){return r().find((t=>t.adId===e))},t.getStandardBidderAdServerTargeting=function(){return ie()[R.iD.ADSERVER_TARGETING]},t.setStatusForBids=function(e,i){let r=t.findBidByAdId(e);if(r&&(r.status=i),r&&i===R.tl.BID_TARGETING_SET){const e=n(r.auctionId);e&&e.setBidTargeting(r)}},t.getLastAuctionId=function(){const t=e.toArray();return t.length&&t[t.length-1].getAuctionId()},t.clearAllAuctions=function(){e.clear()},t.index=new se((()=>e.toArray())),t}()},7863:(e,t,n)=>{n.d(t,{S9:()=>l,cT:()=>c,lc:()=>u});var i=n(3272),r=n(1069);const o="minBidCacheTTL";let s=1,a=null;const d=[];function c(e){return e.ttl-(e.hasOwnProperty("ttlBuffer")?e.ttlBuffer:s)}function l(){return a}function u(e){d.push(e)}i.$W.getConfig("ttlBuffer",(e=>{"number"==typeof e.ttlBuffer?s=e.ttlBuffer:(0,r.vV)("Invalid value for ttlBuffer",e.ttlBuffer)})),i.$W.getConfig(o,(e=>{const t=a;a=e?.[o],a="number"==typeof a?a:null,t!==a&&d.forEach((e=>e(a)))}))},2693:(e,t,n)=>{n.d(t,{u:()=>a});var i=n(433),r=n(1069),o=n(7873),s=n(8969);const a=new class{constructor(e,t){this.getSettings=e,this.defaultScope=t}get(e,t){let n=this.getOwn(e,t);return void 0===n&&(n=this.getOwn(null,t)),n}getOwn(e,t){return e=this.#e(e),(0,i.A)(this.getSettings(),`${e}.${t}`)}getScopes(){return Object.keys(this.getSettings()).filter((e=>e!==this.defaultScope))}settingsFor(e){return(0,r.D9)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}ownSettingsFor(e){return e=this.#e(e),this.getSettings()[e]||{}}#e(e){return null==e?this.defaultScope:e}}((()=>(0,o.m)().bidderSettings||{}),s.iD.BD_SETTING_STANDARD)},3597:(e,t,n)=>{n.d(t,{O:()=>o});var i=n(1069);function r(e){let{src:t="client",bidder:n="",bidId:r,transactionId:o,adUnitId:s,auctionId:a}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var d=t,c=e||0;Object.assign(this,{bidderCode:n,width:0,height:0,statusMessage:function(){switch(c){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}(),adId:(0,i.s0)(),requestId:r,transactionId:o,adUnitId:s,auctionId:a,mediaType:"banner",source:d}),this.getStatusCode=function(){return c},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,adUnitId:this.adUnitId,auctionId:this.auctionId}}}function o(e,t){return new r(e,t)}},3272:(e,t,n)=>{n.d(t,{$W:()=>p,Ov:()=>c});var i=n(6833),r=n(1069),o=n(433),s=n(8969);const a="TRUE"===(0,r.Ez)(s.M).toUpperCase(),d={},c="random",l={};l[c]=!0,l.fixed=!0;const u=c,f={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"};function g(e){const t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]?{priceGranularity:f.MEDIUM,customPriceBucket:{},mediaTypePriceGranularity:{},bidderSequence:u,auctionOptions:{}}:{};function n(e){return t[e]}function o(n,i){t.hasOwnProperty(n)||Object.defineProperty(e,n,{enumerable:!0}),t[n]=i}const s={publisherDomain:{set(e){null!=e&&(0,r.JE)("publisherDomain is deprecated and has no effect since v7 - use pageUrl instead"),o("publisherDomain",e)}},priceGranularity:{set(e){d(e)&&("string"==typeof e?o("priceGranularity",a(e)?e:f.MEDIUM):(0,r.Qd)(e)&&(o("customPriceBucket",e),o("priceGranularity",f.CUSTOM),(0,r.OG)("Using custom price granularity")))}},customPriceBucket:{},mediaTypePriceGranularity:{set(e){null!=e&&o("mediaTypePriceGranularity",Object.keys(e).reduce(((t,i)=>(d(e[i])?"string"==typeof e?t[i]=a(e[i])?e[i]:n("priceGranularity"):(0,r.Qd)(e)&&(t[i]=e[i],(0,r.OG)(`Using custom price granularity for ${i}`)):(0,r.JE)(`Invalid price granularity for media type: ${i}`),t)),{}))}},bidderSequence:{set(e){l[e]?o("bidderSequence",e):(0,r.JE)(`Invalid order: ${e}. Bidder Sequence was not set.`)}},auctionOptions:{set(e){(function(e){if(!(0,r.Qd)(e))return(0,r.JE)("Auction Options must be an object"),!1;for(let t of Object.keys(e)){if("secondaryBidders"!==t&&"suppressStaleRender"!==t&&"suppressExpiredRender"!==t)return(0,r.JE)(`Auction Options given an incorrect param: ${t}`),!1;if("secondaryBidders"===t){if(!(0,r.cy)(e[t]))return(0,r.JE)(`Auction Options ${t} must be of type Array`),!1;if(!e[t].every(r.O8))return(0,r.JE)(`Auction Options ${t} must be only string`),!1}else if(("suppressStaleRender"===t||"suppressExpiredRender"===t)&&!(0,r.Lm)(e[t]))return(0,r.JE)(`Auction Options ${t} must be of type boolean`),!1}return!0})(e)&&o("auctionOptions",e)}}};return Object.defineProperties(e,Object.fromEntries(Object.entries(s).map((e=>{let[i,r]=e;return[i,Object.assign({get:n.bind(null,i),set:o.bind(null,i),enumerable:t.hasOwnProperty(i),configurable:!t.hasOwnProperty(i)},r)]})))),e;function a(e){return Object.keys(f).find((t=>e===f[t]))}function d(e){if(!e)return(0,r.vV)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)a(e)||(0,r.JE)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,r.Qd)(e)&&!(0,i.q)(e))return(0,r.vV)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}}const p=function(){let e,t,n,i=[],s=null;function c(){e={};let i=g({debug:a,bidderTimeout:3e3,enableSendAllBids:true,useBidCache:false,deviceAccess:true,disableAjaxTimeout:false,maxNestedIframes:10,maxBid:5e3,userSync:{topics:d}});t&&y(Object.keys(t).reduce(((e,n)=>(t[n]!==i[n]&&(e[n]=i[n]||{}),e)),{})),t=i,n={}}function l(){if(s&&n&&(0,r.Qd)(n[s])){const e=n[s],i=new Set([...Object.keys(t),...Object.keys(e)]),o={};for(const n of i){const i=t[n],s=e[n];o[n]=void 0===s?i:void 0===i?s:(0,r.Qd)(s)?(0,r.D9)({},i,s):s}return o}return{...t}}const[u,f]=[l,function(){const e=l();return Object.defineProperty(e,"ortb2",{get:function(){throw new Error("invalid access to 'orbt2' config - use request parameters instead")}}),e}].map((e=>function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0];return t?(0,o.A)(e(),t):l()}return b(...arguments)})),[p,h]=[f,u].map((e=>function(){let t=e(...arguments);return t&&"object"==typeof t&&(t=(0,r.Go)(t)),t}));function m(n){if(!(0,r.Qd)(n))return void(0,r.vV)("setConfig options must be an object");let i=Object.keys(n),o={};i.forEach((i=>{let s=n[i];(0,r.Qd)(e[i])&&(0,r.Qd)(s)&&(s=Object.assign({},e[i],s));try{o[i]=t[i]=s}catch(e){(0,r.JE)(`Cannot set config for property ${i} : `,e)}})),y(o)}function b(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t;if("string"!=typeof e&&(o=e,e="*",n=t||{}),"function"!=typeof o)return void(0,r.vV)("listener must be a function");const s={topic:e,callback:o};return i.push(s),n.init&&o("*"===e?f():{[e]:f(e)}),function(){i.splice(i.indexOf(s),1)}}function y(e){const t=Object.keys(e);i.filter((e=>t.includes(e.topic))).forEach((t=>{t.callback({[t.topic]:e[t.topic]})})),i.filter((e=>"*"===e.topic)).forEach((t=>t.callback(e)))}function v(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{!function(e){if(!(0,r.Qd)(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!(0,r.Qd)(e.config))throw"setBidderConfig bidder options must contain a config object"}(e),e.bidders.forEach((i=>{n[i]||(n[i]=g({},!1)),Object.keys(e.config).forEach((o=>{let s=e.config[o];const a=n[i][o];if((0,r.Qd)(s)&&(null==a||(0,r.Qd)(a))){const e=t?r.D9:Object.assign;n[i][o]=e({},a||{},s)}else n[i][o]=s}))}))}catch(e){(0,r.vV)(e)}}function E(e,t){s=e;try{return t()}finally{A()}}function A(){s=null}return c(),{getCurrentBidder:function(){return s},resetBidder:A,getConfig:f,getAnyConfig:u,readConfig:p,readAnyConfig:h,setConfig:m,mergeConfig:function(e){if(!(0,r.Qd)(e))return void(0,r.vV)("mergeConfig input must be an object");const t=(0,r.D9)(l(),e);return m({...t}),t},setDefaults:function(n){(0,r.Qd)(e)?(Object.assign(e,n),Object.assign(t,n)):(0,r.vV)("defaults must be an object")},resetConfig:c,runWithBidder:E,callbackWithBidder:function(e){return function(t){return function(){if("function"==typeof t){for(var n=arguments.length,i=new Array(n),o=0;o{n.d(t,{B1:()=>s,SL:()=>p,ad:()=>l,mW:()=>d,o2:()=>f,t6:()=>c});var i=n(1069),r=n(5555),o=n(3272);const s=Object.freeze({});class a{#t;#n;#i;#r;#o=!0;#s;generatedTime;hashFields;constructor(){this.reset()}#a(e){this.#r=!0,this.#n=e,this.#i.resolve(e)}reset(){this.#i=(0,r.v6)(),this.#t=!1,this.#n=null,this.#r=!1,this.generatedTime=null}enable(){this.#t=!0}get enabled(){return this.#t}get ready(){return this.#r}get promise(){return this.#r?r.U9.resolve(this.#n):(this.#t||this.#a(null),this.#i.promise)}setConsentData(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,i.vE)();this.generatedTime=t,this.#o=!0,this.#a(e)}getConsentData(){return this.#n}get hash(){return this.#o&&(this.#s=(0,i.PB)(JSON.stringify(this.#n&&this.hashFields?this.hashFields.map((e=>this.#n[e])):this.#n)),this.#o=!1),this.#s}}const d=new class extends a{hashFields=["gdprApplies","consentString"];getConsentMeta(){const e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,i.O8)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}},c=new class extends a{getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},l=new class extends a{hashFields=["applicableSections","gppString"];getConsentMeta(){if(this.getConsentData()&&this.generatedTime)return{generatedAt:this.generatedTime}}},u=(()=>{function e(){return!!o.$W.getConfig("coppa")}return{getCoppa:e,getConsentData:e,getConsentMeta:e,reset(){},get promise(){return r.U9.resolve(e())},get hash(){return e()?"1":"0"}}})(),f=function(){const e={},t={},n={};return{register(i,r,o){o&&((e[r]=e[r]||{})[i]=o,t.hasOwnProperty(r)?t[r]!==o&&(t[r]=n):t[r]=o)},get(i){const r={modules:e[i]||{}};return t.hasOwnProperty(i)&&t[i]!==n&&(r.gvlid=t[i]),r}}}(),g={gdpr:d,usp:c,gpp:l,coppa:u};const p=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:g;return e=Object.entries(e),Object.assign({get promise(){return r.U9.all(e.map((e=>{let[t,n]=e;return n.promise.then((e=>[t,e]))}))).then((e=>Object.fromEntries(e)))},get hash(){return(0,i.PB)(e.map((e=>{let[t,n]=e;return n.hash})).join(":"))}},Object.fromEntries(["getConsentData","getConsentMeta","reset"].map((t=>{return[t,(n=t,function(){return Object.fromEntries(e.map((e=>{let[t,i]=e;return[t,i[n]()]})))})];var n}))))}()},8969:(e,t,n)=>{n.d(t,{IY:()=>A,M:()=>r,RW:()=>g,Tf:()=>h,UE:()=>c,XQ:()=>o,Zh:()=>u,_B:()=>v,as:()=>a,cA:()=>d,h0:()=>m,iD:()=>i,jO:()=>b,nl:()=>E,oA:()=>y,qY:()=>s,tl:()=>p,x5:()=>f,xS:()=>l});const i={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"},r="pbjs_debug",o={GOOD:1},s={AUCTION_INIT:"auctionInit",AUCTION_TIMEOUT:"auctionTimeout",AUCTION_END:"auctionEnd",BID_ADJUSTMENT:"bidAdjustment",BID_TIMEOUT:"bidTimeout",BID_REQUESTED:"bidRequested",BID_RESPONSE:"bidResponse",BID_REJECTED:"bidRejected",NO_BID:"noBid",SEAT_NON_BID:"seatNonBid",BID_WON:"bidWon",BIDDER_DONE:"bidderDone",BIDDER_ERROR:"bidderError",SET_TARGETING:"setTargeting",BEFORE_REQUEST_BIDS:"beforeRequestBids",BEFORE_BIDDER_HTTP:"beforeBidderHttp",REQUEST_BIDS:"requestBids",ADD_AD_UNITS:"addAdUnits",AD_RENDER_FAILED:"adRenderFailed",AD_RENDER_SUCCEEDED:"adRenderSucceeded",TCF2_ENFORCEMENT:"tcf2Enforcement",AUCTION_DEBUG:"auctionDebug",BID_VIEWABLE:"bidViewable",STALE_RENDER:"staleRender",EXPIRED_RENDER:"expiredRender",BILLABLE_EVENT:"billableEvent",BID_ACCEPTED:"bidAccepted",RUN_PAAPI_AUCTION:"paapiRunAuction",PBS_ANALYTICS:"pbsAnalytics",PAAPI_BID:"paapiBid",PAAPI_NO_BID:"paapiNoBid",PAAPI_ERROR:"paapiError",BEFORE_PBS_HTTP:"beforePBSHttp",BROWSI_INIT:"browsiInit",BROWSI_DATA:"browsiData"},a={PREVENT_WRITING_ON_MAIN_DOCUMENT:"preventWritingOnMainDocument",NO_AD:"noAd",EXCEPTION:"exception",CANNOT_FIND_AD:"cannotFindAd",MISSING_DOC_OR_ADID:"missingDocOrAdid"},d={bidWon:"adUnitCode"},c={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},l={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",ADOMAIN:"hb_adomain",ACAT:"hb_acat",CRID:"hb_crid",DSP:"hb_dsp"},u={BIDDER:"hb_bidder",AD_ID:"hb_adid",PRICE_BUCKET:"hb_pb",SIZE:"hb_size",DEAL:"hb_deal",FORMAT:"hb_format",UUID:"hb_uuid",CACHE_HOST:"hb_cache_host"},f={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",rendererUrl:"hb_renderer_url",adTemplate:"hb_adTemplate"},g={SRC:"s2s",DEFAULT_ENDPOINT:"https://prebid.adnxs.com/pbs/v1/openrtb2/auction",SYNCED_BIDDERS_KEY:"pbjsSyncs"},p={BID_TARGETING_SET:"targetingSet",RENDERED:"rendered",BID_REJECTED:"bidRejected"},h={INVALID:"Bid has missing or invalid properties",INVALID_REQUEST_ID:"Invalid request ID",BIDDER_DISALLOWED:"Bidder code is not allowed by allowedAlternateBidderCodes / allowUnknownBidderCodes",FLOOR_NOT_MET:"Bid does not meet price floor",CANNOT_CONVERT_CURRENCY:"Unable to convert currency",DSA_REQUIRED:"Bid does not provide required DSA transparency info",DSA_MISMATCH:"Bid indicates inappropriate DSA rendering method",PRICE_TOO_HIGH:"Bid price exceeds maximum value"},m={body:"desc",body2:"desc2",sponsoredBy:"sponsored",cta:"ctatext",rating:"rating",address:"address",downloads:"downloads",likes:"likes",phone:"phone",price:"price",salePrice:"saleprice",displayUrl:"displayurl"},b={sponsored:1,desc:2,rating:3,likes:4,downloads:5,price:6,saleprice:7,phone:8,address:9,desc2:10,displayurl:11,ctatext:12},y={ICON:1,MAIN:3},v=["privacyIcon","clickUrl","sendTargetingKeys","adTemplate","rendererUrl","type"],E={REQUEST:"Prebid Request",RESPONSE:"Prebid Response",NATIVE:"Prebid Native",EVENT:"Prebid Event"},A="__pb_locator__"},6833:(e,t,n)=>{n.d(t,{j:()=>u,q:()=>g});var i=n(1069),r=n(3272);const o=2,s={buckets:[{max:5,increment:.5}]},a={buckets:[{max:20,increment:.1}]},d={buckets:[{max:20,increment:.01}]},c={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},l={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function u(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=parseFloat(e);return isNaN(i)&&(i=""),{low:""===i?"":f(e,s,n),med:""===i?"":f(e,a,n),high:""===i?"":f(e,d,n),auto:""===i?"":f(e,l,n),dense:""===i?"":f(e,c,n),custom:""===i?"":f(e,t,n)}}function f(e,t,n){let s="";if(!g(t))return s;const a=t.buckets.reduce(((e,t)=>e.max>t.max?e:t),{max:0});let d=0,c=t.buckets.find((t=>{if(e>a.max*n){let e=t.precision;void 0===e&&(e=o),s=(t.max*n).toFixed(e)}else{if(e<=t.max*n&&e>=d*n)return t.min=d,t;d=t.max}}));return c&&(s=function(e,t,n){const s=void 0!==t.precision?t.precision:o,a=t.increment*n,d=t.min*n;let c=Math.floor,l=r.$W.getConfig("cpmRoundingFunction");"function"==typeof l&&(c=l);let u,f,g=Math.pow(10,s+2),p=(e*g-d*g)/(a*g);try{u=c(p)*a+d}catch(e){f=!0}(f||"number"!=typeof u)&&((0,i.JE)("Invalid rounding function passed in config"),u=Math.floor(p)*a+d);return u=Number(u.toFixed(10)),u.toFixed(s)}(e,c,n)),s}function g(e){if((0,i.Im)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;let t=!0;return e.buckets.forEach((e=>{e.max&&e.increment||(t=!1)})),t}},6031:(e,t,n)=>{n.d(t,{HH:()=>c,kj:()=>d,xh:()=>a});var i=n(5555),r=n(1069),o=n(4595),s=n(9214);const a=3,d=(0,s.A_)("sync",(function(e){return o.G})),c=function(){const e={};return function(t){const n=d(t);return e.hasOwnProperty(n)||(e[n]=new i.U9((e=>{const t=(0,r.CA)();t.srcdoc=`
circle-arrow
Play Button
Stop Button
chevron-right
chevron-left
chevron-up
search
warning
chevron-left-skinny
chevron-right-skinny
x
clock
calendar
play-button
cancel-circle
user
facebook
youtube
instagram
email
linkedin
Skip to Content
By Taylor Nicioli, CNN
(CNN) — In the heart of urban Los Angeles lie the La Brea Tar Pits, a group of natural asphalt seeps made famous by the millions of ice age fossils preserved within the bubbling, dark pools of goo.
Excavations of the pits have yielded bones of species that once roamed the area tens of thousands of years ago, including giant mammoths, mastodons, saber-toothed tigers and dire wolves .
But large mammals aren’t the only window into history that the asphalt has provided. Now, scientists have discovered the first extinct ice age amphibian from Los Angeles, a spadefoot toad named after the tar pits: Spea labreae. The findings are reported in a study published Wednesday in the Journal of Vertebrate Paleontology.
The newly discovered toad is only the second extinct Pleistocene (2.58 million to 11,700 years ago) amphibian from North America to ever be found, according to the study’s authors.
Researchers with the La Brea Tar Pits uncovered two distinct fossils — both fragments of the sacro-urostyle, an amphibian body part that connects the lower spine to the hips — from the spadefoot toad that were hidden in plain sight in a collection of specimens excavated in 1929. Because smaller bones typically receive less attention than those from larger animals, the fossils remained unstudied until 2023, when lead study author Dr. J. Alberto Cruz began to sift through the collection. He was not expecting to find a new species, he said.
“I’m more like a paleoecologist and paleogeographer, not a taxonomist. So, it is my first new species. For me, it’s very exciting,” said Cruz, who is a research associate at La Brea Tar Pits and a researcher for Mexico’s Quinametzin Paleontological Research Center operated by the National Institute of Anthropology and History.
Because amphibian bones are small and fragile, they are rare to come by. The tar pits are excellent for preserving fossils, as they protect bones from weathering, decay and scavengers, and exposure to water, oxygen, sunlight and microbial activity. The sticky asphalt also acts like flypaper, trapping any organism that falls in and providing scientists with evidence of a distant world.
Since amphibians remain near water sources and don’t venture far from home, these fossils provide a glimpse into the prehistoric climate of Los Angeles and could help researchers protect endangered amphibians today, Cruz said.
Rare amphibian fossils
Cruz compared the tiny fossils, both about 1 centimeter (0.4 inch) in length, to other amphibian bones within the collection, as well as 80 specimens in the Herpetology Collections at the Natural History Museum of Los Angeles County and the Museum of Vertebrate Zoology at the University of California, Berkeley.
He found distinctions in the fossil — such as the axe-shaped part of the animal’s sacro-urostyle, which was much smaller than that of other species — indicating that the toad was a previously undiscovered species.
It’s not possible to precisely date the fossil without destroying the specimen, but the researchers know the toad existed at some point within the last 60,000 years, as that is how long the tar pits have been active and trapped animals, said study coauthor Dr. Emily Lindsey, curator and excavation site director at the Samuel Oschin Center for Global Ice Age Research at La Brea Tar Pits.
“We’ve now doubled the number of known extinct ice age amphibians from North America, and so that’s a pretty big finding,” Lindsey said. “People didn’t even bother really collecting small fossils until maybe the latter part of the 20th century. So, they were ignored largely in early excavations around the world.”
But the remains of the spadefoot toad weren’t the only amphibian fossils worth looking into.
Within the understudied collection, Cruz found another oddball amphibian known as the Mexican burrowing toad, the only still living species from the family Rhinophrynidae . Today, the toad lives in the lowlands of Central America, Mexico and extreme southern Texas, so unearthing it in Los Angeles was quite unusual. Their nearest known populations are about 1,550 miles (nearly 2,500 kilometers) away in southern Mexico, according to a news release from the Natural History Museum of Los Angeles County.
Because the Mexican burrowing toad lives in rainforest conditions with lots of trees and precipitation, the Los Angeles area likely had similar conditions when the amphibian occupied it, Cruz said.
“The fossil record of frogs and toads goes back to 200 million years, and most of what we know is isolated and broken bones. These are probably much more common than usually thought and often overlooked in collections because many vertebrate paleontologists aren’t deeply familiar with many of the bones or the variation among the many lineages of frogs,” said David Blackburn, the associate director of research and collections, as well as the curator of reptiles and amphibians, at the Florida Museum of Natural History. Blackburn was not involved with the new study.
“It is surprising that relatively few frog fossils have been previously recovered from La Brea, and I’m confident more will turn up,” he said in an email.
Window into a prehistoric climate
Amphibians are sensitive to climate change because they depend heavily on bodies of water, precipitation and temperature for survival and reproduction. Their fossils can therefore help scientists predict what the climate might be like in the future through the field of conservation paleobiology, which uses evidence from prehistoric ecosystems to inform modern conservation efforts, Cruz said.
“It’s kind of like a time machine,” Lindsey said. “We can go and actually kind of rewind the clock and see what happened, and then kind of use that to make predictions about how things are going to continue changing.”
Cruz said he hopes future studies can reveal certain factors that the toads may or may not have been dependent on, such as humidity, food sources and other habitat features.
“There are many localities where amphibians and other small creatures have been preserved but have simply not been studied (or linger in unpublished student dissertations) because they were considered less ‘sexy’. Fortunately, that is beginning to change,” Susan Evans, a professor of vertebrate morphology and paleontology at University College London, said in an email. Evans was not involved with the new study.
Because amphibians give us important clues about local environmental conditions, they are worth studying, she added.
“Think of the East African savannas. The large members of the community (elephants, lions, rhinos, etc.) roam across wide areas and enter different subhabitats. They might die and leave their bones anywhere across their range, open grassland, woodland, mud pool. The smaller animals in the ecosystem don’t travel so far, and amphibians, especially, only rarely move far from a source of water. They can therefore often be a good alternative source of information,” Evans said.
“There is a caveat however. Many larger animals eat frogs (and other small animals) and may carry them far away from their normal habitat before dumping the bones (either as a regurgitate or poo). That can leave small animal remains in places you wouldn’t expect,” Evans added.
It is a possibility that the toad traveled to the tar pits in this way, but there is no evidence to support that theory at this time, Cruz said.
The-CNN-Wire ™ & © 2026 Cable News Network, Inc., a Warner Bros. Discovery Company. All rights reserved.
BE PART OF THE CONVERSATION
KION 46 is committed to providing a forum for civil and constructive conversation.
Please keep your comments respectful and relevant. You can review our Community Guidelines by clicking here
If you would like to share a story idea, please submit it here .