How to Plan a Road Trip with Multiple Destinations in Google Maps (2024)

")),[e.width,e.height]=x[r.size_id].split("x").map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:o.adUnitCode}),t.push(e)}else(0,p.logError)("Rubicon: bidRequest undefined at index position:".concat(i),a,e);var c,l;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0))),l=null===(r=e.component_auction_config)||void 0===r?void 0:r.map((e=>({config:e,bidId:e.bidId})));return l?{bids:c,fledgeAuctionConfigs:l}:c},getUserSyncs:function(e,t,r,i,n){if(!I&&e.iframeEnabled){let e={};var o;if(r&&("boolean"==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),"string"==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),null!=n&&n.gppString)e.gpp=n.gppString,e.gpp_sid=null===(o=n.applicableSections)||void 0===o?void 0:o.toString();return e=Object.keys(e).length?"?".concat((0,p.formatQS)(e)):"",I=!0,{type:"iframe",url:"https://".concat(b.syncHost||"eus",".rubiconproject.com/usync.html")+e}}}};function h(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,"https:"):r}function _(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector("div[id^='google_ads']");t&&t.style.setProperty("display","none")}(t),function(e){const t=e.querySelector("script[id^='sas_script']"),r=t&&t.nextSibling;r&&"iframe"===r.localName&&r.style.setProperty("display","none")}(t);const r={...{align:"center",position:"append",closeButton:!1,label:void 0,collapse:!0},...e.renderer.getConfig()};e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align,position:r.position},closeButton:r.closeButton,label:r.label,collapse:r.collapse})}))}function A(e,t){let r=e.params;if(t===d.G_){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.A)(e,"mediaTypes.video.playerSize"))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.A)(e,"mediaTypes.banner.sizes")?i=j(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=j(e.sizes):(0,p.logWarn)("Rubicon: no sizes are setup or found"),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function j(e){return(0,p.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function k(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.A)(e,"mediaTypes.".concat(d.G_)),r=void 0!==(0,m.A)(e,"mediaTypes.".concat(d.D4)),i=void 0!==(0,m.A)(e,"params.bidonmultiformat"),n="object"!=typeof(0,m.A)(e,"params.video");return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,u.J)(e,"params.video",{}),t)}(e)){if(-1===["outstream","instream"].indexOf((0,m.A)(e,"mediaTypes.".concat(d.G_,".context"))))return t&&(0,p.logError)("Rubicon: mediaTypes.video.context must be outstream or instream"),r;if(A(e,d.G_).length<2)return t&&(0,p.logError)("Rubicon: could not determine the playerSize of the video"),r;t&&(0,p.logMessage)("Rubicon: making video request for adUnit",e.adUnitCode),r.push(d.G_)}if(void 0!==(0,m.A)(e,"mediaTypes.".concat(d.s6))&&r.push(d.s6),void 0!==(0,m.A)(e,"mediaTypes.".concat(d.D4))){if(0===A(e,d.D4).length)return t&&(0,p.logError)("Rubicon: could not determine the sizes for banner request"),r;t&&(0,p.logMessage)("Rubicon: making banner request for adUnit",e.adUnitCode),r.push(d.D4)}return r}function S(e){let t=!1;const r=["asi","sid","hp"];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,p.logError)("Rubicon: required schain params missing"),t):t}function C(e,t){return"rp_schain"===e?"rp_schain=".concat(t):"".concat(e,"=").concat(encodeURIComponent(t))}var I=!1;(0,s.a$)(y),(0,i.E)("rubiconBidAdapter")},1e3:(e,t,r)=>{r.d(t,{Cf:()=>a,S3:()=>n,Tb:()=>o,WR:()=>s,e4:()=>c,pS:()=>p,qN:()=>d,yB:()=>u,zt:()=>i});const i=["request","imp","bidResponse","response"],[n,o,s,a]=i,[d,c]=["default","pbs"],l=new Set(i);const{registerOrtbProcessor:p,getProcessors:u}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:n,fn:o,priority:s=0,dialects:a=[d]}=t;if(!l.has(r))throw new Error("ORTB processor type must be one of: ".concat(i.join(", ")));a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(r)||(e[t][r]={}),e[t][r][n]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[58498,97247,47618,51085],(()=>{return t=99293,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[84258],{95282:(e,t,n)=>{var i=n(7873),r=n(91069),o=n(57377),a=n(71371),s=n(43272);const p=["inScreen","inImage","inArticle","inBanner"],d={[a.D4]:"display",[a.G_]:"video"},c="fixed",u="mobile",l="unknown",m=()=>{const e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};switch(e.type||e.effectiveType){case"wifi":case"ethernet":return c;case"cellular":case"wimax":return u;default:return/iPad|iPhone|iPod/.test(navigator.userAgent)||/android/i.test(navigator.userAgent)?l:c}};function g(e){return!!e.mediaTypes&&!!e.mediaTypes.video}function h(e){const t=e.params;return!!t.publisherId&&!!t.adUnitId&&p.indexOf(t.placement)>-1}function y(e){var t;const n=e.params,i=(0,r._map)(Object.keys(e.mediaTypes),(function(e){return d[e]})),o={id:e.bidId,transactionId:null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid,sizes:e.sizes,supplyTypes:i,adUnitId:n.adUnitId,adUnitCode:e.adUnitCode,geom:S(e.adUnitCode),placement:n.placement,requestCount:e.bidderRequestsCount||1};return g(e)&&(o.videoParams=f(e)),o}function f(e){const t=e.mediaTypes.video||{};return t.playerSize&&(t.w=t.playerSize[0][0],t.h=t.playerSize[0][1]),t}function b(e){const t="display"===(n=e.mediaType)?a.D4:"video"===n?a.G_:n;var n;const i={requestId:e.bidId,cpm:e.price,width:e.width,height:e.height,creativeId:e.creativeId,currency:e.currency,netRevenue:!0,mediaType:t,ttl:e.ttl,nurl:e.nurl,meta:{advertiserDomains:e&&e.adomain&&e.adomain.length>0?e.adomain:[]}};return t===a.G_?i.vastXml=e.content:i.ad=e.content,i}function v(){const e=(()=>{try{const e=performance.getEntriesByType("navigation")[0];return Math.round(e.responseStart-e.startTime)}catch(e){try{const e=performance.timing;return Math.round(e.responseStart-e.fetchStart)}catch(e){return 0}}})();return e>=0&&e<=performance.now()?e:0}function S(e){const t=document.getElementById(e);if(t){const e=window.scrollY,{top:n,left:i,width:r,height:o}=t.getBoundingClientRect();return{scrollY:e,top:n,left:i,width:r,height:o,viewport:{width:window.innerWidth,height:window.innerHeight}}}}const C={code:"seedtag",gvlid:157,aliases:["st"],supportedMediaTypes:[a.D4,a.G_],isBidRequestValid:e=>g(e)?function(e){const t=f(e);let n=!!e.params.publisherId&&!!e.params.adUnitId&&g(e)&&!!t.playerSize&&(0,r.isArray)(t.playerSize)&&t.playerSize.length>0;return"inStream"===e.params.placement?n&&"instream"===t.context:n&&"outstream"===t.context&&function(e){return!!e.mediaTypes&&!!e.mediaTypes.banner}(e)&&h(e)}(e):h(e),buildRequests(e,t){var n;const i={url:t.refererInfo.page,publisherToken:e[0].params.publisherId,cmp:!!t.gdprConsent,timeout:t.timeout,version:"8.38.0",connectionType:m(),auctionStart:t.auctionStart||Date.now(),ttfb:v(),bidRequests:(0,r._map)(e,y)};if(i.cmp){const e=t.gdprConsent.gdprApplies;void 0!==e&&(i.ga=e),i.cd=t.gdprConsent.consentString}t.uspConsent&&(i.uspConsent=t.uspConsent),e[0].schain&&(i.schain=e[0].schain);let o=s.$W.getConfig("coppa");o&&(i.coppa=o),t.gppConsent?i.gppConsent={gppString:t.gppConsent.gppString,applicableSections:t.gppConsent.applicableSections}:null!==(n=t.ortb2)&&void 0!==n&&null!==(n=n.regs)&&void 0!==n&&n.gpp&&(i.gppConsent={gppString:t.ortb2.regs.gpp,applicableSections:t.ortb2.regs.gpp_sid});return{method:"POST",url:"https://s.seedtag.com/c/hb/bid",data:JSON.stringify(i)}},interpretResponse:function(e){const t=e.body;return t&&t.bids&&(0,r.isArray)(t.bids)?(0,r._map)(t.bids,(function(e){return b(e)})):[]},getUserSyncs(e,t){const n=t[0];if(e.iframeEnabled&&n){const e=n.body.cookieSync;return e?[{type:"iframe",url:e}]:[]}return[]},onTimeout(e){const t=function(e){let t="";if((0,r.isArray)(e)&&e[0]&&(0,r.isArray)(e[0].params)&&e[0].params[0]){const n=e[0].params[0],i=e[0].timeout;t="?publisherToken="+n.publisherId+"&adUnitId="+n.adUnitId+"&timeout="+i}return"https://s.seedtag.com/se/hb/timeout"+t}(e);(0,r.triggerPixel)(t)},onBidWon:function(e){e&&e.nurl&&(0,r.triggerPixel)(e.nurl)}};(0,o.a$)(C),(0,i.E)("seedtagBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=95282,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[45496],{25862:(e,o,t)=>{var n=t(7873),r=t(91069),d=t(16833),i=t(16916),a=t(12938),u=t(45569),c=t(2339);const l=(0,a.vM)({moduleType:u.fW,moduleName:"sharedId"}),s="cookie",m="html5",f="_pubcid_optout",g="PublisherCommonId";function p(e,o){if(o===s)return l.getCookie(e);if(o===m&&l.hasLocalStorage()){const o=l.getDataFromLocalStorage("".concat(e,"_exp"));if(!o)return l.getDataFromLocalStorage(e);if(new Date(o).getTime()-Date.now()>0)return l.getDataFromLocalStorage(e)}}function I(e,o){return function(t,n){o?b(o,e,(()=>{t(n()||e)}))():t(e)}}function b(e){let o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",t=arguments.length>2?arguments[2]:void 0;if(!e)return;const n=(0,r.parseUrl)(e);n.search.id=encodeURIComponent("pubcid:"+o);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function v(){return!!(l.cookiesAreEnabled()&&p(f,s)||l.hasLocalStorage()&&p(f,m))}const h={name:"sharedId",aliasName:"pubCommonId",gvlid:i.B1,decode(e,o){if(v())return void(0,r.logInfo)("PubCommonId decode: Has opted-out");(0,r.logInfo)(" Decoded value PubCommonId "+e);return{pubcid:e}},getId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return void(0,r.logInfo)("PubCommonId: Has opted-out");if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{create:t=!0,pixelUrl:n}={}}=e;let d=o;if(!d){try{"object"==typeof window[g]&&(d=window[g].getId())}catch(e){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:I(d,n)}},extendId:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>2?arguments[2]:void 0;if(v())return(0,r.logInfo)("PubCommonId: Has opted-out"),{id:void 0};if(i.et.getCoppa())return void(0,r.logInfo)("PubCommonId: IDs not provided for coppa requests, exiting PubCommonId");const{params:{extend:t=!1,pixelUrl:n}={}}=e;if(t){if(n){return{callback:b(n,o)}}return{id:o}}},domainOverride:(0,c.w)(l,"sharedId"),eids:{pubcid:{source:"pubcid.org",atype:1}}};(0,d.bz)("userId",h),(0,n.E)("sharedIdSystem")}},e=>{e.O(0,[12764,51085],(()=>{return o=25862,e(e.s=o);var o}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[28746],{27454:(e,t,n)=>{var r=n(7873),i=n(91069),o=n(70433),a=n(57377),d=n(12938);const s="teads",c=12,u=11,p=0,l=22,m=(0,d.vM)({bidderCode:s}),g={code:s,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=w((0,i.getValue)(e.params,"placementId")),r=w((0,i.getValue)(e.params,"pageId"));t=n&&r}return t||(0,i.logError)("Teads placementId and pageId parameters are required. Bid aborted."),t},buildRequests:function(e,t){var n,r,i,a,d,s;const m=e.map(b),g=window.top,w={referrer:v(t),pageReferrer:document.referrer,pageTitle:I().slice(0,300),pageDescription:f().slice(0,300),networkBandwidth:(q=window.navigator,q&&q.connection&&q.connection.downlink>=0?q.connection.downlink.toString():""),timeToFirstByte:h(window),data:m,deviceWidth:screen.width,screenOrientation:null===(n=screen.orientation)||void 0===n?void 0:n.type,historyLength:null===(r=g.history)||void 0===r?void 0:r.length,viewportHeight:null===(i=g.visualViewport)||void 0===i?void 0:i.height,viewportWidth:null===(a=g.visualViewport)||void 0===a?void 0:a.width,hardwareConcurrency:null===(d=g.navigator)||void 0===d?void 0:d.hardwareConcurrency,deviceMemory:null===(s=g.navigator)||void 0===s?void 0:s.deviceMemory,hb_version:"8.38.0",...y(e),...S(e)};var q;const T=e[0];T.schain&&(w.schain=T.schain);let A=t.gdprConsent;if(t&&A){let e="boolean"==typeof A.gdprApplies,t="string"==typeof A.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=u):n=p;return n}(A.gdprApplies,A.vendorData):l;w.gdpr_iab={consent:t?A.consentString:"",status:n,apiVersion:A.apiVersion}}t&&t.uspConsent&&(w.us_privacy=t.uspConsent);const B=(0,o.A)(T,"ortb2.device.sua");B&&(w.userAgentClientHints=B);const k=(0,o.A)(t,"ortb2.regs.ext.dsa");k&&(w.dsa=k);return{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(w)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(e){var t;const r={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};e.dealId&&(r.dealId=e.dealId),null!=e&&null!==(t=e.ext)&&void 0!==t&&t.dsa&&(r.meta.dsa=e.ext.dsa),n.push(r)})),n}};function y(e){const t={unifiedId2:"uid2.id",liveRampId:"idl_env",lotamePanoramaId:"lotamePanoramaId",id5Id:"id5id.uid",criteoId:"criteoId",yahooConnectId:"connectId",quantcastId:"quantcastId",epsilonPublisherLinkId:"publinkId",publisherFirstPartyViewerId:"pubcid",merkleId:"merkleId.id",kinessoId:"kpuid"};let n={};for(const r in t){const i=t[r],a=(0,o.A)(e,"0.userId.".concat(i));a&&(n[r]=a)}return n}function v(e){let t="";return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function I(){try{const e=window.top.document.querySelector('meta[property="og:title"]');return window.top.document.title||e&&e.content||""}catch(e){const t=document.querySelector('meta[property="og:title"]');return document.title||t&&t.content||""}}function f(){let e;try{e=window.top.document.querySelector('meta[name="description"]')||window.top.document.querySelector('meta[property="og:description"]')}catch(t){e=document.querySelector('meta[name="description"]')||document.querySelector('meta[property="og:description"]')}return e&&e.content||""}function h(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,n=t&&"function"==typeof t.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType("navigation")[0]&&t.getEntriesByType("navigation")[0].responseStart&&t.getEntriesByType("navigation")[0].requestStart&&t.getEntriesByType("navigation")[0].responseStart>0&&t.getEntriesByType("navigation")[0].requestStart>0&&Math.round(t.getEntriesByType("navigation")[0].responseStart-t.getEntriesByType("navigation")[0].requestStart);if(n)return n.toString();const r=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return r?r.toString():""}function b(e){var t;const n={};let r=(0,i.getValue)(e.params,"placementId"),a=(0,i.getValue)(e.params,"pageId");const d=(0,o.A)(e,"ortb2Imp.ext.gpid"),s=(0,o.A)(e,"mediaTypes.video.plcmt");return n.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,o.A)(e,"mediaTypes.video.playerSize"),n=(0,o.A)(e,"mediaTypes.video.sizes"),r=(0,o.A)(e,"mediaTypes.banner.sizes");if((0,i.isArray)(r)||(0,i.isArray)(t)||(0,i.isArray)(n)){return[r,n,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),n.bidId=(0,i.getBidIdParameter)("bidId",e),n.bidderRequestId=(0,i.getBidIdParameter)("bidderRequestId",e),n.placementId=parseInt(r,10),n.pageId=parseInt(a,10),n.adUnitCode=(0,i.getBidIdParameter)("adUnitCode",e),n.transactionId=(null===(t=e.ortb2Imp)||void 0===t||null===(t=t.ext)||void 0===t?void 0:t.tid)||"",d&&(n.gpid=d),s&&(n.videoPlcmt=s),n}function w(e){return parseInt(e)>0}function S(e){const t=(0,o.A)(e,"0.userId.teadsId");if(t)return{firstPartyCookieTeadsId:t};if(m.cookiesAreEnabled(null)){const e=m.getCookie("_tfpvi",null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,a.a$)(g),(0,r.E)("teadsBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=27454,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[98282],{26504:(e,t,r)=>{var n=r(7873),i=r(91069),o=r(71371),a=r(57377),s=r(43272),d=r(12938),l=r(76568);const c="triplelift";let u=null,p=null;const m=(0,d.vM)({bidderCode:c}),f={gvlid:28,code:c,supportedMediaTypes:[o.D4,o.G_],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r="https://tlx.3lift.com/header/auction?",n=function(e,t){var r;let n={},{schain:o}=e[0];const a=function(e){const t={},r={},n={},o=e.ortb2||{},a=function(){const e=m.getDataFromLocalStorage("opecloud_ctx");if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,i.logError)("Triplelift: error parsing JSON: ",e),null}}(),s=Object.assign({},o.site),d=Object.assign({},o.user);if(a){d.data=d.data||[];try{d.data.push({name:"www.1plusx.com",ext:a})}catch(e){(0,i.logError)("Triplelift: error adding 1plusX segments: ",e)}}h(r,s),h(n,d),(0,i.isEmpty)(r)||(t.context=r);(0,i.isEmpty)(n)||(t.user=n);return t}(t);n.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:y(e)};return g(e)&&(r.video=function(e){let t={...e.params.video,...e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,i.logWarn)("Video size not defined",e)}"instream"===t.context&&(t.placement||(t.placement=1));"outstream"===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,i.logMessage)("video.placement value of ".concat(t.placement," is invalid for outstream context. Setting placement to 3")),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!b(e)&&(r.banner={format:O(e.sizes)}),(0,i.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};h(r,e.ext),(0,i.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,i.isEmpty)(e.ortb2Imp.ext)||(r.ext={...e.ortb2Imp.ext})),r}));let s=[...x([e[0]]),...E([e[0]]),...I([e[0]]),...S([e[0]]),..._(e[0])];s.length>0&&(n.user={ext:{eids:s}});let d=function(e,t){let r={};(0,i.isEmpty)(e)||(r.schain={...e});(0,i.isEmpty)(t)||(r.fpd={...t});return r}(o,a);(0,i.isEmpty)(d)||(n.ext=d);null!=t&&null!==(r=t.ortb2)&&void 0!==r&&null!==(r=r.regs)&&void 0!==r&&r.gpp&&(n.regs=Object.assign({},t.ortb2.regs));null!=t&&t.ortb2&&(n.ext.ortb2=Object.assign({},t.ortb2));return n}(e,t);if(r=(0,l.v)(r,"lib","prebid"),r=(0,l.v)(r,"v","8.38.0"),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,l.v)(r,"referrer",e)}return t&&t.timeout&&(r=(0,l.v)(r,"tmax",t.timeout)),t&&t.gdprConsent&&(u=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,l.v)(r,"gdpr",u.toString()),void 0!==t.gdprConsent.consentString&&(p=t.gdprConsent.consentString,r=(0,l.v)(r,"cmp_cs",p))),t&&t.uspConsent&&(r=(0,l.v)(r,"us_privacy",t.uspConsent)),t&&t.fledgeEnabled&&(r=(0,l.v)(r,"fledge",t.fledgeEnabled)),!0===s.$W.getConfig("coppa")&&(r=(0,l.v)(r,"coppa",!0)),r.lastIndexOf("&")===r.length-1&&(r=r.substring(0,r.length-1)),(0,i.logMessage)("tlCall request built: "+r),{method:"POST",url:r,data:n,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t,n=e.body.bids||[];const o=e.body.paapi||[];if(n=n.map((e=>function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||"",a=t.crid||"",s=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:s.bidId,cpm:t.cpm,width:n,height:i,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:"USD",ttl:300,tl_source:t.tl_source,meta:{}},g(s)&&"video"===t.media_type&&(r.vastXml=t.ad,r.mediaType="video",r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&"hdx"==t.tl_source&&(g(s)&&"video"===t.media_type?r.meta.mediaType="video":r.meta.mediaType="banner"),t.tl_source&&"tlx"==t.tl_source&&(r.meta.mediaType="native"),a&&(r.meta.networkId=a.slice(0,a.indexOf("_"))));return r}(r,e))),o.length>0){const e=o.map((e=>({bidId:r.bids[e.imp_id].bidId,config:e.auctionConfig})));return(0,i.logMessage)("Response with FLEDGE:",{bids:n,fledgeAuctionConfigs:e}),{bids:n,fledgeAuctionConfigs:e}}return n},getUserSyncs:function(e,t,r,n,i){let o=function(e){if(!e)return;if(e.iframeEnabled)return"iframe";if(e.pixelEnabled)return"image"}(e);if(!o)return;let a="https://eb2.3lift.com/sync?";return"image"===o&&(a=(0,l.v)(a,"px",1),a=(0,l.v)(a,"src","prebid")),(null!==p||u)&&(a=(0,l.v)(a,"gdpr",u),a=(0,l.v)(a,"cmp_cs",p)),n&&(a=(0,l.v)(a,"us_privacy",n)),i&&(i.gppString&&(a=(0,l.v)(a,"gpp",i.gppString)),i.applicableSections&&0!==i.applicableSections.length&&(a=(0,l.v)(a,"gpp_sid",i.applicableSections.filter((e=>Number.isInteger(e))).join(",")))),[{type:o,url:a}]}};function g(e){return v(e)&&(b(e)||function(e){return v(e)&&"outstream"===e.mediaTypes.video.context.toLowerCase()}(e))}function b(e){return v(e)&&"instream"===e.mediaTypes.video.context.toLowerCase()}function v(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function y(e){let t=null;if("function"==typeof e.getFloor)try{const r=e.getFloor({currency:"USD",mediaType:g(e)?"video":"banner",size:"*"});"object"!=typeof r||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,i.logError)("Triplelift: getFloor threw an error: ",e)}return null!==t?t:e.params.floor}function h(e,t){(0,i.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function x(e){return C(e,"tdid","adserver.org","TDID")}function E(e){return C(e,"idl_env","liveramp.com","idl")}function I(e){return C(e,"criteoId","criteo.com","criteoId")}function S(e){return C(e,"pubcid","pubcid.org","pubcid")}function _(e){let t=["adserver.org","liveramp.com","criteo.com","pubcid.org"],r=[];return e.userIdAsEids&&e.userIdAsEids.forEach((e=>{try{if(-1===t.indexOf(e.source)){let t=e.uids.map((t=>({id:t.id,ext:{rtiPartner:e.source}})));r.push({source:e.source,uids:t})}}catch(t){(0,i.logWarn)("Triplelift: Error attempting to add ".concat(e," to bid request"),t)}})),r}function C(e,t,r,n){return e.map(function(e){return t=>t&&t.userId&&t.userId[e]}(t)).filter(T(t)).map(function(e,t){return r=>({source:e,uids:[{id:r.id?r.id:r,ext:{rtiPartner:t}}]})}(r,n))}const T=e=>(t,r,n)=>{let o=!!t&&((0,i.isStr)(t)?!!t:(0,i.isPlainObject)(t)&&!(0,i.isArray)(t)&&!(0,i.isEmpty)(t)&&t.id&&(0,i.isStr)(t.id)&&!!t.id);return o||void 0===n[0]||(0,i.logWarn)("Triplelift: invalid ".concat(e," userId format")),o};function O(e){return e.filter(w).map((function(e){return{w:e[0],h:e[1]}}))}function w(e){return 2===e.length&&"number"==typeof e[0]&&"number"==typeof e[1]}(0,a.a$)(f),(0,n.E)("tripleliftBidAdapter")}},e=>{e.O(0,[14577,51085],(()=>{return t=26504,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[68907,56293],{85263:(e,t,s)=>{var i=s(7873),r=s(91069),o=s(16833),n=s(12938),a=s(45569),l=s(84259),d=s(50646);const c="uid2",u=l.kz,p="PrebidJS-".concat("8.38.0","-UID2Module-").concat(u),h="UID2: ";function g(e,t){return function(){for(var s=arguments.length,i=new Array(s),r=0;r{s.d(t,{E0:()=>g,kz:()=>a,wq:()=>h});var i=s(54705),r=s(7873),o=s(68044),n=s(91069);const a="1.1";function l(e){return!!("object"==typeof e&&null!==e&&e.advertising_token&&e.identity_expires&&e.refresh_from&&e.refresh_token&&e.refresh_expires)}class d{constructor(e,t,s,i){this._baseUrl=e.baseUrl,this._clientVersion=t,this._logInfo=s,this._logWarn=i}createArrayBuffer(e){const t=new Uint8Array(e.length);for(let s=0;s{s=e,i=t}));return this._logInfo("Sending refresh request",e),(0,o.RD)(t,{success:t=>{try{if(e.refresh_response_key){this._logInfo("Decrypting refresh API response");const r=this.createArrayBuffer(atob(t));window.crypto.subtle.importKey("raw",this.createArrayBuffer(atob(e.refresh_response_key)),{name:"AES-GCM"},!1,["decrypt"]).then((e=>{this._logInfo("Imported decryption key"),window.crypto.subtle.decrypt({name:"AES-GCM",iv:r.slice(0,12),tagLength:128},e,r.slice(12)).then((e=>{const t=String.fromCharCode(...new Uint8Array(e));this._logInfo("Decrypted to:",t);const r=JSON.parse(t),o=this.ResponseToRefreshResult(r);"string"==typeof o?i(o):s(o)}),(e=>this._logWarn("Call to UID2 API failed",e)))}),(e=>this._logWarn("Call to UID2 API failed",e)))}else{this._logInfo("No response decryption key available, assuming unencrypted JSON");const e=JSON.parse(t),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}}catch(e){i(t)}},error:(e,t)=>{try{this._logInfo("Error status, assuming unencrypted JSON");const e=JSON.parse(t.responseText),r=this.ResponseToRefreshResult(e);"string"==typeof r?i(r):s(r)}catch(t){i(e)}}},e.refresh_token,{method:"POST",customHeaders:{"X-UID2-Client-Version":this._clientVersion}}),r}}class c{constructor(e,t,s,i){this._storage=e,this._preferLocalStorage=t,this._storageName=s,this._logInfo=i}readCookie(e){return this._storage.cookiesAreEnabled()?this._storage.getCookie(e):null}readLocalStorage(e){return this._storage.localStorageIsEnabled()?this._storage.getDataFromLocalStorage(e):null}readModuleCookie(){return this.parseIfContainsBraces(this.readCookie(this._storageName))}writeModuleCookie(e){this._storage.setCookie(this._storageName,JSON.stringify(e),Date.now()+864e5)}readModuleStorage(){return this.parseIfContainsBraces(this.readLocalStorage(this._storageName))}writeModuleStorage(e){this._storage.setDataInLocalStorage(this._storageName,JSON.stringify(e))}readProvidedCookie(e){return JSON.parse(this.readCookie(e))}parseIfContainsBraces(e){return null!=e&&e.includes("{")?JSON.parse(e):e}storeValue(e){this._preferLocalStorage?this.writeModuleStorage(e):this.writeModuleCookie(e)}getStoredValueWithFallback(){const e=this._preferLocalStorage?"local storage":"cookie",t=(this._preferLocalStorage?this.readModuleStorage:this.readModuleCookie).bind(this),s=(this._preferLocalStorage?this.writeModuleStorage:this.writeModuleCookie).bind(this),i=(this._preferLocalStorage?this.readModuleCookie:this.readModuleStorage).bind(this),r=t();if(r){if("string"==typeof r){const t=i();if(t&&"object"==typeof t)return this._logInfo("".concat(e," contained a basic token, but found a refreshable token fallback. Copying the fallback value to ").concat(e,".")),s(t),t}}else{const t=i();if(t)return this._logInfo("".concat(e," was empty, but found a fallback value.")),"object"==typeof t&&(this._logInfo("Copying the fallback value to ".concat(e,".")),s(t)),t}return r}}function u(e,t,s,i,r,o){r("UID2 base url provided: ",e);return new d({baseUrl:e},s,r,o).callRefreshApi(t).then((e=>{r("Refresh endpoint responded with:",e);const s={originalToken:t,latestToken:e.identity};let o=i.getStoredValueWithFallback();return null!=o&&o.originalIdentity&&(s.originalIdentity=o.originalIdentity),i.storeValue(s),s}))}let p;{const e=9;p={isCSTGOptionsValid(e,t){if("object"!=typeof e||null===e)return t("CSTG opts must be an object"),!1;const s=e;if("string"!=typeof s.serverPublicKey)return t("CSTG opts.serverPublicKey must be a string"),!1;const i=/^UID2-X-[A-Z]-.+/;return i.test(s.serverPublicKey)?"string"!=typeof s.subscriptionId?(t("CSTG opts.subscriptionId must be a string"),!1):0!==s.subscriptionId.length||(t("CSTG opts.subscriptionId is empty"),!1):(t("CSTG opts.serverPublicKey must match the regular expression ".concat(i)),!1)},getValidIdentity(e,s){if(e.emailHash)return t.isBase64Hash(e.emailHash)?{email_hash:e.emailHash}:void s("CSTG opts.emailHash is invalid");if(e.phoneHash)return t.isBase64Hash(e.phoneHash)?{phone_hash:e.phoneHash}:void s("CSTG opts.phoneHash is invalid");if(e.email){const i=t.normalizeEmail(e.email);return void 0===i?void s("CSTG opts.email is invalid"):{email:i}}return e.phone?t.isNormalizedPhone(e.phone)?{phone:e.phone}:void s("CSTG opts.phone is invalid"):void 0},isStoredTokenInvalid(e,t,s,i){if(t){if("optout"===t.latestToken)return!0;const i=Object.values(e)[0];if(!this.isStoredTokenFromSameIdentity(t,i))return s("CSTG supplied new identity - ignoring stored value.",t.originalIdentity,e),!0}return!1},async generateTokenAndStore(e,t,i,r,o,n){o("UID2 cstg opts provided: ",JSON.stringify(t));const a=new s({baseUrl:e,cstg:t},o,n),l=await a.generateToken(i);o("CSTG endpoint responded with:",l);const d={originalIdentity:this.encodeOriginalIdentity(i),latestToken:l.identity};return r.storeValue(d),d},isStoredTokenFromSameIdentity:(e,t)=>!!e.originalIdentity&&(0,n.cyrb53Hash)(t,e.originalIdentity.salt)===e.originalIdentity.identity,encodeOriginalIdentity(e){const t=Object.values(e)[0],s=Math.floor(Math.random()*Math.pow(2,32));return{identity:(0,n.cyrb53Hash)(t,s),salt:s}}};class t{static isBase64Hash(e){if(!e||44!==e.length)return!1;try{return btoa(atob(e))===e}catch(e){return!1}}static isNormalizedPhone(e){return/^\+[0-9]{10,15}$/.test(e)}static normalizeEmail(e){if(!e||!e.length)return;const t=e.trim().toLowerCase();if(t.indexOf(" ")>0)return;const s=this.splitEmailIntoAddressAndDomain(t);if(!s)return;const{address:i,domain:r}=s,o=this.isGmail(r),n=this.normalizeAddressPart(i,o,o);return n?"".concat(n,"@").concat(r):void 0}static splitEmailIntoAddressAndDomain(e){const t=e.split("@");if(2===t.length&&!t.some((e=>""===e)))return{address:t[0],domain:t[1]}}static isGmail(e){return e===this.GMAIL_DOMAIN}static dropExtension(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.EMAIL_EXTENSION_SYMBOL;return e.split(t)[0]}static normalizeAddressPart(e,t,s){let i=e;return t&&(i=i.replaceAll(this.EMAIL_DOT,"")),s&&(i=this.dropExtension(i)),i}}(0,i.A)(t,"EMAIL_EXTENSION_SYMBOL","+"),(0,i.A)(t,"EMAIL_DOT","."),(0,i.A)(t,"GMAIL_DOMAIN","gmail.com");class s{constructor(e,t,s){this._baseUrl=e.baseUrl,this._serverPublicKey=e.cstg.serverPublicKey,this._subscriptionId=e.cstg.subscriptionId,this._optoutCheck=e.cstg.optoutCheck,this._logInfo=t,this._logWarn=s}hasStatusResponse(e){return"object"==typeof e&&e&&e.status}isCstgApiSuccessResponse(e){return this.hasStatusResponse(e)&&"success"===e.status&&l(e.body)}isCstgApiOptoutResponse(e){return this.hasStatusResponse(e)&&"optout"===e.status}isCstgApiClientErrorResponse(e){return this.hasStatusResponse(e)&&"client_error"===e.status&&"string"==typeof e.message}isCstgApiForbiddenResponse(e){return this.hasStatusResponse(e)&&"invalid_http_origin"===e.status&&"string"==typeof e.message}stripPublicKeyPrefix(t){return t.substring(e)}async generateCstgRequest(e){if("email_hash"in e||"phone_hash"in e)return e;if("email"in e){return{email_hash:await a.hash(e.email)}}if("phone"in e){return{phone_hash:await a.hash(e.phone)}}}async generateToken(e){const t=await this.generateCstgRequest(e),s={optout_check:this._optoutCheck,...t};this._logInfo("Building CSTG request for",s);const i=await r.build(this.stripPublicKeyPrefix(this._serverPublicKey)),o=new TextEncoder,n=Date.now(),{iv:l,ciphertext:d}=await i.encrypt(o.encode(JSON.stringify(s)),o.encode(JSON.stringify([n]))),c=await a.exportPublicKey(i.clientPublicKey),u={payload:a.bytesToBase64(new Uint8Array(d)),iv:a.bytesToBase64(new Uint8Array(l)),public_key:a.bytesToBase64(new Uint8Array(c)),timestamp:n,subscription_id:this._subscriptionId};return this.callCstgApi(u,i)}async callCstgApi(e,t){const s=this._baseUrl+"/v2/token/client-generate";let i,r;const n=new Promise(((e,t)=>{i=e,r=t}));return this._logInfo("Sending CSTG request",e),(0,o.RD)(s,{success:async(e,s)=>{try{const s=a.base64ToBytes(e),o=await t.decrypt(s.slice(0,12),s.slice(12)),n=(new TextDecoder).decode(o),l=JSON.parse(n);this.isCstgApiSuccessResponse(l)?i({status:"success",identity:l.body}):this.isCstgApiOptoutResponse(l)?i({status:"optout",identity:"optout"}):r("API error: Response body was invalid for HTTP status 200: ".concat(n))}catch(e){r(e)}},error:(e,t)=>{try{if(400===t.status){const e=JSON.parse(t.responseText);this.isCstgApiClientErrorResponse(e)?r("Client error: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 400: ".concat(t.responseText))}else if(403===t.status){const e=JSON.parse(t.responseText);this.isCstgApiForbiddenResponse(t)?r("Forbidden: ".concat(e.message)):r("API error: Response body was invalid for HTTP status 403: ".concat(t.responseText))}else r("API error: Unexpected HTTP status ".concat(t.status,": ").concat(e))}catch(t){r(e)}}},JSON.stringify(e),{method:"POST"}),n}}class r{constructor(e,t){this._clientPublicKey=e,this._sharedKey=t}static async build(e){const t=await a.generateKeyPair(r._namedCurve),s=await a.importPublicKey(e,this._namedCurve),i=await a.deriveKey(s,t.privateKey);return new r(t.publicKey,i)}async encrypt(e,t){const s=window.crypto.getRandomValues(new Uint8Array(12));return{iv:s,ciphertext:await window.crypto.subtle.encrypt({name:"AES-GCM",iv:s,additionalData:t},this._sharedKey,e)}}async decrypt(e,t){return window.crypto.subtle.decrypt({name:"AES-GCM",iv:e},this._sharedKey,t)}get clientPublicKey(){return this._clientPublicKey}}(0,i.A)(r,"_namedCurve","P-256");class a{static base64ToBytes(e){const t=atob(e);return Uint8Array.from(t,(e=>e.codePointAt(0)))}static bytesToBase64(e){const t=Array.from(e,(e=>String.fromCodePoint(e))).join("");return btoa(t)}static async generateKeyPair(e){const t={name:"ECDH",namedCurve:e};return window.crypto.subtle.generateKey(t,!1,["deriveKey"])}static async importPublicKey(e,t){const s={name:"ECDH",namedCurve:t};return window.crypto.subtle.importKey("spki",this.base64ToBytes(e),s,!1,[])}static exportPublicKey(e){return window.crypto.subtle.exportKey("spki",e)}static async deriveKey(e,t){return window.crypto.subtle.deriveKey({name:"ECDH",public:e},t,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}static async hash(e){const t=await window.crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e));return this.bytesToBase64(new Uint8Array(t))}}}function h(e,t,s,i){var r,o,n;let a=null;const l="cookie"!==e.storage,d=new c(t,l,e.internalStorage,s);s("Module is using ".concat(l?"local storage":"cookies"," for internal storage."));const h=p&&p.isCSTGOptionsValid(e.cstg,i);h?(s("Module is using client-side token generation."),a=null):e.paramToken?(a=e.paramToken,s("Read token from params",a)):e.serverCookieName&&(a=d.readProvidedCookie(e.serverCookieName),s("Read token from server-supplied cookie",a));let g=d.getStoredValueWithFallback();if(s("Loaded module-stored tokens:",g),g&&"string"==typeof g){if(!a&&!h)return s("Returning legacy cookie value."),{id:g};s("Discarding superseded legacy cookie."),g=null}var y,f;a&&g&&((null===(y=g.originalToken)||void 0===y?void 0:y.advertising_token)!==a.advertising_token&&(s("Server supplied new token - ignoring stored value.",null===(f=g.originalToken)||void 0===f?void 0:f.advertising_token,a.advertising_token),g=null));if(h){const t=p.getValidIdentity(e.cstg,i);if(t&&(g&&p.isStoredTokenInvalid(t,g,s,i)&&(g=null),!g||Date.now()>g.latestToken.refresh_expires)){const r=p.generateTokenAndStore(e.apiBaseUrl,e.cstg,t,d,s,i);return s("Generate token using CSTG"),{callback:e=>{r.then((t=>{s("Token generation responded, passing the new token on.",t),e(t)}))}}}}const b=!(null!==(r=g)&&void 0!==r&&r.latestToken)||a&&a.identity_expires>g.latestToken.identity_expires,m=b?a:g.latestToken;if(s("UID2 module selected latest token",b,m),!m||Date.now()>m.refresh_expires)return s("Newest available token is expired and not refreshable."),{id:null};if(Date.now()>m.identity_expires){const t=u(e.apiBaseUrl,m,e.clientId,d,s,i);return s("Token is expired but can be refreshed, attempting refresh."),{callback:e=>{t.then((t=>{s("Refresh reponded, passing the updated token on.",t),e(t)}))}}}Date.now()>m.refresh_from&&(s("Refreshing token in background with low priority."),u(e.apiBaseUrl,m,e.clientId,d,s,i));const v={originalToken:null!==(o=a)&&void 0!==o?o:null===(n=g)||void 0===n?void 0:n.originalToken,latestToken:m};var k;h&&(v.originalIdentity=null===(k=g)||void 0===k?void 0:k.originalIdentity);return d.storeValue(v),{id:v}}function g(e){const t=["emailHash","phoneHash","email","phone"];for(let s of t)if(e.hasOwnProperty(s))return{[s]:e[s]};return{}}(0,r.E)("uid2IdSystem_shared")}},e=>{e.O(0,[44950,51085],(()=>{return t=85263,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[48785],{64747:(e,t,n)=>{var a=n(7873),r=n(91069),i=n(70433),o=n(57377),s=n(71371);function p(e){if(!e)return null;let t=e.gdprApplies?"1":"0",n=e.consentString?e.consentString:"";return"gdpr=".concat(t,"&gdprstr=").concat(n)}function c(e){let t=document.getElementById(e),n=-1,a=-1;if(t){n=t.offsetLeft,a=t.offsetTop;let e=t.offsetParent;return e&&(n+=e.offsetLeft,a+=e.offsetTop),[n,a]}return null}const d={code:"undertone",gvlid:677,supportedMediaTypes:[s.D4,s.G_],isBidRequestValid:function(e){if(e&&e.params&&e.params.publisherId)return e.params.publisherId=parseInt(e.params.publisherId),!0},buildRequests:function(e,t){const n=Math.max(document.documentElement.clientWidth,window.innerWidth||0),a=Math.max(document.documentElement.clientHeight,window.innerHeight||0),o=0==n||0==a?null:[n,a],d={adapterVersion:"8.38.0",uids:e[0].userId,pageSize:o};e[0].schain&&(d.schain=e[0].schain);const l={"x-ut-hb-params":[],commons:d},u=t.refererInfo.topmostLocation,m=t.refererInfo.canonicalUrl;u&&(d.referrer=u),m&&(d.canonicalUrl=m);let h=function(e){let t=null;try{let n=/[-\w]+\.([-\w]+|[-\w]{3,}|[-\w]{1,3}\.[-\w]{2})$/i.exec(e);if(null!=n&&n.length>0){t=n[0];for(let e=1;et.length&&(t=n[e])}}catch(e){t=null}return t}((0,r.parseUrl)(u).hostname);const f=m||u,y=e[0].params.publisherId;let g="".concat("https://hb.undertone.com/hb","?pid=").concat(y,"&domain=").concat(h),b=p(t.gdprConsent);if(b&&(g+="&".concat(b)),t.uspConsent&&(g+="&ccpa=".concat(t.uspConsent)),t.gppConsent){var I,v;const e=null!==(I=t.gppConsent.gppString)&&void 0!==I?I:"",n=null!==(v=t.gppConsent.applicableSections)&&void 0!==v?v:"";g+="&gpp=".concat(e,"&gpp_sid=").concat(n)}return e.map((e=>{const t={bidRequestId:e.bidId,coordinates:c(e.adUnitCode),hbadaptor:"prebid",url:f,domain:h,placementId:null!=e.params.placementId?e.params.placementId:null,publisherId:e.params.publisherId,gpid:(0,i.A)(e,"ortb2Imp.ext.gpid",(0,i.A)(e,"ortb2Imp.ext.data.pbadslot","")),sizes:e.sizes,params:e.params},n=(0,i.A)(e,"mediaTypes.video"),a=n?s.G_:s.D4;t.mediaType=a,t.bidfloor=function(e,t){if("function"!=typeof e.getFloor)return 0;const n=e.getFloor({currency:"USD",mediaType:t,size:"*"});return n&&"USD"===n.currency&&n.floor||0}(e,a),n&&(t.video={playerSize:(0,i.A)(e,"mediaTypes.video.playerSize")||null,streamType:(0,i.A)(e,"mediaTypes.video.context")||null,playbackMethod:(0,i.A)(e,"params.video.playbackMethod")||null,maxDuration:(0,i.A)(e,"params.video.maxDuration")||null,skippable:(0,i.A)(e,"params.video.skippable")||null,placement:(0,i.A)(e,"mediaTypes.video.placement")||null,plcmt:(0,i.A)(e,"mediaTypes.video.plcmt")||null}),l["x-ut-hb-params"].push(t)})),{method:"POST",url:g,withCredentials:!0,data:JSON.stringify(l)}},interpretResponse:function(e,t){const n=[],a=e.body;return a&&Array.isArray(a)&&a.length>0&&a.forEach((e=>{if(e.ad&&e.cpm>0){const t={requestId:e.bidRequestId,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.adId,currency:e.currency,netRevenue:e.netRevenue,ttl:e.ttl||360,meta:{advertiserDomains:e.adomain?e.adomain:[]}};e.mediaType&&"video"===e.mediaType?(t.vastXml=e.ad,t.mediaType=e.mediaType):t.ad=e.ad,n.push(t)}})),n},getUserSyncs:function(e,t,n,a){const r=[];let i=p(n),o="",s="";return i&&(o+="?".concat(i),s+="&".concat(i)),a&&(o+=""!=o?"&":"?",o+="ccpa=".concat(a),s+="&ccpa=".concat(a)),e.iframeEnabled?r.push({type:"iframe",url:"https://cdn.undertone.com/js/usersync.html"+o}):e.pixelEnabled&&r.push({type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=1&of=2"+s},{type:"image",url:"https://usr.undertone.com/userPixel/syncOne?id=2&of=2"+s}),r}};(0,o.a$)(d),(0,a.E)("undertoneBidAdapter")}},e=>{e.O(0,[51085],(()=>{return t=64747,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[10891],{78413:(r,e,t)=>{var n=t(7873),o=t(91069),d=t(68044),s=t(16833);const i="unifiedId",a={name:i,gvlid:21,decode:r=>r&&"string"==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||"string"!=typeof e.partner&&"string"!=typeof e.url)return void(0,o.logError)("User ID - unifiedId submodule requires either partner or url to be defined");const t=e.url||"https://match.adsrvr.org/track/rid?ttd_pid=".concat(e.partner,"&fmt=json");return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,o.logError)(r)}r(t)},error:e=>{(0,o.logError)("".concat(i,": ID fetch encountered an error"),e),r()}};(0,d.RD)(t,e,void 0,{method:"GET",withCredentials:!0})}}},eids:{tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}}}};(0,s.bz)("userId",a),(0,n.E)("unifiedIdSystem")}},r=>{r.O(0,[51085],(()=>{return e=78413,r(r.s=e);var e}));r.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[99582],{27364:(e,r,n)=>{var t=n(7873),i=n(70433),d=n(91069),o=n(95789),s=n(57377),a=n(71371);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,bidderCode:o,...s}=n,a=n.bids.length-r.length;let u={};r.forEach((r=>{const n=r.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n="function"==typeof e.getFloor?e.getFloor({currency:"USD",mediaType:r,size:"*"}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(r),(e=>{let r=(0,i.A)(e,"mediaTypes.banner");if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(r),((e,r)=>{!r&&e.ortb2Imp&&e.ortb2Imp.ext&&delete e.ortb2Imp.ext.ae})(r,e.protectedAudienceEnabled),u[n]=u[n]||[],u[n].push(r)}));let l=[];return Object.keys(u).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:u[r],invalidBidsCount:a,prebidVersion:"8.38.0",...s})};l.push(Object.assign({},{data:n,...e}))})),l},l=e=>{if(e.ad)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing ad config."))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error("UnrulyBidAdapter: Missing vastUrl or vastXml config."))},c=e=>{const r=!!(0,i.A)(e,"ext.renderer.config"),n=!!(0,i.A)(e,"ext.renderer.config.siteId");if(!r)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer config."));if(!n)return void(0,d.logError)(new Error("UnrulyBidAdapter: Missing renderer siteId."));const t=(0,i.A)(e,"ext.renderer");!function(e,r){if(!e.config)throw new Error("UnrulyBidAdapter: Missing renderer config.");if(!e.config.siteId)throw new Error("UnrulyBidAdapter: Missing renderer siteId.");parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode="prebid"}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.A4.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.A)(e,"ext.adUnitCode")});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push(["render",e])})),e.renderer=e.renderer||s,e},f=e=>{if(!e.context)return!1;return-1!==["outstream","instream"].indexOf(e.context)},y=e=>e.sizes,b={code:"unruly",supportedMediaTypes:[a.G_,a.D4],gvlid:36,isBidRequestValid:function(e){let r=(0,i.A)(e,"params.siteId")&&(e=>{const r=(0,i.A)(e,"mediaTypes.video"),n=(0,i.A)(e,"mediaTypes.banner");let t=!(!r&&!n);return t&&r&&(t=f(r)),t&&n&&(t=y(n)),t})(e);return!!r},buildRequests:function(e,r){let n="https://targeting.unrulymedia.com/unruly_prebid";return e[0]&&(n=(0,i.A)(e[0],"params.endpoint")||n),u({url:n,method:"POST",options:{contentType:"application/json"},protectedAudienceEnabled:r.fledgeEnabled},e,r)},interpretResponse:function(e){if(!e||!e.body||!e.body.auctionConfigs&&!e.body.bids)return[];const r=e.body;let n=[],t=null;if(r.bids.length&&(n=(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.A)(e,"meta.mediaType");if(t&&"banner"===t.toLowerCase())e.mediaType=a.D4,n=l(e);else if(t&&"video"===t.toLowerCase()){let r=(0,i.A)(e,"meta.videoContext");e.mediaType=a.G_,"instream"===r?n=p(e):"outstream"===r&&(n=c(e))}n&&r.push(n)})),r})(r.bids)),r.auctionConfigs){let e=r.auctionConfigs,n=Object.keys(e);n.length&&n.forEach((r=>{t=[{bidId:r,config:e[r]}]}))}return t?{bids:n,fledgeAuctionConfigs:t}:n}};(0,s.a$)(b),(0,t.E)("unrulyBidAdapter")}},e=>{e.O(0,[51085],(()=>{return r=27364,e(e.s=r);var r}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[73469],{34836:(e,t,n)=>{var o=n(7873),r=n(15901),s=n(43272),i=n(75023),c=n(16916),a=n(9684),u=n(43018),l=n(16833),d=n(91069),g=n(70433);const f=new Map;function m(e){const t={};function n(e){var n;const o=JSON.stringify([null===(n=e.source)||void 0===n?void 0:n.toLowerCase(),e.ext]);t.hasOwnProperty(o)?t[o].uids.push(...e.uids):t[o]=e}return Object.entries(e).forEach((e=>{let[t,o]=e;o=Array.isArray(o)?o:[o];("pubProvidedId"===t?(0,d.deepClone)(o):o.map((e=>function(e,t){const n=f.get(t);if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}(e,t)))).filter((e=>null!=e)).forEach(n)})),Object.values(t)}var b=n(12938),h=n(63172),y=n(51692),p=n(25555),v=n(1e3),I=n(16894),E=n(5973),S=n(45569),w=n(95139),O=n(76811),k=n(83441);const D="User ID",j=b.X0,A=b.qk,P="_pbjs_id_optout",C=(0,b.CK)("userId"),N={isAllowed:w.io};let T,U,x,L,_,F,W=!1,q=[],R=[],M={},G=[];const B=(()=>{let e;return()=>(null==e&&(e=(0,I.K7)()),e)})();function J(e){return B().fork().renameWith((t=>["userId.mod.".concat(t),"userId.mods.".concat(e,".").concat(t)]))}function V(e,t){t=t||e.storageMgr;const n="function"==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,s){t.setCookie(o+(e||""),r,s,"Lax",n)}}function K(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),s=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===j){const t=V(e);t(null,s,r),t("_cst",ge(),r),"number"==typeof n.refreshInSeconds&&t("_last",(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage("".concat(n.name,"_exp"),r),o.setDataInLocalStorage("".concat(n.name,"_cst"),ge()),o.setDataInLocalStorage(n.name,encodeURIComponent(s)),"number"==typeof n.refreshInSeconds&&o.setDataInLocalStorage("".concat(n.name,"_last"),(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function z(e){let t=(0,d.getPrebidInternal)().setEidPermissions;"function"==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{const o=f.get(n)||{};(0,g.A)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&o.source&&t.push({source:o.source,bidders:e.config.bidders})}))})),t}(e))}function Q(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?"".concat(o.name,"_").concat(t):o.name;let s;try{if(o.type===j)s=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage("".concat(o.name,"_exp"));""===e?s=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(s=decodeURIComponent(n.getDataFromLocalStorage(r)))}"string"==typeof s&&"{"===s.trim().charAt(0)&&(s=JSON.parse(s))}catch(e){(0,d.logError)(e)}return s}function $(e,t,n){t=B().fork().startTiming("userId.callbacks.total").stopBefore(t);const o=(0,d.delayExecution)((()=>{clearTimeout(U),t()}),e.length);e.forEach((function(e){const t=J(e.submodule.name).startTiming("callback").stopBefore(o);try{e.callback((function(o){o?(e.config.storage&&K(e,o),e.idObj=e.submodule.decode(o,e.config),me(X(n))):(0,d.logInfo)("".concat(D,": ").concat(e.submodule.name," - request id responded with an empty value")),t()}),Q.bind(null,e))}catch(n){(0,d.logError)("Error in userID module '".concat(e.submodule.name,"':"),n),t()}e.callback=void 0}))}function X(e){return Array.isArray(e)&&e.length?Y(e):{}}function H(e,t,n){return Object.fromEntries(Object.entries(e.reduce(((e,o)=>{const r=t(o);return r&&Object.keys(r).forEach((t=>{var s;const i=null===(s=M[t])||void 0===s?void 0:s.indexOf(n(o)),c={priority:(0,d.isNumber)(i)?i:-1,value:r[t]};if(e[t]){const n=c.priority>e[t].priority?c:e[t];e[t]=n}else e[t]=c})),e}),{})).map((e=>{let[t,n]=e;return[t,n.value]})))}function Y(e){return H(e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)),(e=>e.idObj),(e=>e.submodule.name))}function Z(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?Y(e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.mK)(e.config.bidders,t)))):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=m(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:se()||[];const t=_&&e.find((e=>e.source===_));if(t&&"string"==typeof(0,g.A)(t,"uids.0.id")){const e=t.uids[0].id.replace(/[\W_]/g,"");if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)("User ID - Googletag Publisher Provided ID for ".concat(_," is not between 32 and 150 characters - ").concat(e))}}const oe=(0,I.Ak)("userId",(function(e,t){let{delay:n=p.k.timeout,getIds:r=de}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};p.k.race([r().catch((()=>null)),n(L)]).then((()=>{Z(t.adUnits||(0,o.m)().adUnits,T),B().join((0,I.BO)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return X(T)}function se(){return m(re())}function ie(e){return m(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=Y(e),o=Object.keys(n).find((e=>{const n=f.get(e);return(null==n?void 0:n.source)===t||(0,d.isFn)(null==n?void 0:n.getSource)&&n.getSource()===t}));return o?{[o]:n[o]}:[]}(T,e))[0]}function ce(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)("".concat(D," - Getting encrypted signal from custom function : ").concat(n.name," & source : ").concat(e," "));const t=n(e);o[e]=t?ae(t):null}else{const n=ie(e);(0,d.logInfo)("".concat(D," - Getting encrypted signal for eids :").concat(JSON.stringify(n))),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ae(n):n.uids[0].id)}return(0,d.logInfo)("".concat(D," - Fetching encrypted eids: ").concat(o[e])),o[e]}))}function ae(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n="";if(1===t)n="object"==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return"".concat(t,"||").concat(n)}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.secureSignalProviders=window.googletag.secureSignalProviders||[];const e=s.$W.getConfig("userSync.encryptedSignalSources");if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.secureSignalProviders.push({id:e,collectorFunction:()=>ce(e,n,o)})}))}))}),t)}else(0,d.logWarn)("".concat(D," - ESP : encryptedSignalSources config not defined under userSync Object"))}function le(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function de(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(de):((0,d.logError)("Error initializing userId",e),p.k.reject(e))))}function ge(){let e=Number(c.SL.hash);const t=[];for(;e>0;)t.push(String.fromCharCode(255&e)),e>>>=8;return btoa(t.join())}function fe(e,t,n){const o=c.mW.getConsentData();if(e.config.storage){let n,r=Q(e),s=!1;if("number"==typeof e.config.storage.refreshInSeconds){const t=new Date(Q(e,"last"));s=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!r||s||t||function(e){const t=Q(e,"cst");return!t||t!==ge()}(e)?n=e.submodule.getId(e.config,o,r):"function"==typeof e.submodule.extendId&&(n=e.submodule.extendId(e.config,o,r)),(0,d.isPlainObject)(n)&&(n.id&&(K(e,n.id),r=n.id),"function"==typeof n.callback&&(e.callback=n.callback)),r&&(e.idObj=e.submodule.decode(r,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const t=e.submodule.getId(e.config,o,void 0);(0,d.isPlainObject)(t)&&("function"==typeof t.callback&&(e.callback=t.callback),t.id&&(e.idObj=e.submodule.decode(t.id,e.config)))}me(X(n))}function me(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&_){const t=ne(m(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function be(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return B().fork().measureTime("userId.init.modules",(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){var t;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case A:if(e.storageMgr.localStorageIsEnabled())return!C.getDataFromLocalStorage(P)||((0,d.logInfo)("".concat(D," - opt-out localStorage found, storage disabled")),!1);break;case j:if(e.storageMgr.cookiesAreEnabled())return!C.getCookie(P)||((0,d.logInfo)("".concat(D," - opt-out cookie found, storage disabled")),!1)}return!1}(e))&&N.isAllowed(O.yl,(0,k.s)(S.fW,e.config.name))))).length)return(0,d.logWarn)("".concat(D," - no ID module configured")),[];const o=t.reduce(((e,o)=>J(o.submodule.name).measureTime("init",(()=>{try{fe(o,n,t),e.push(o)}catch(e){(0,d.logError)("Error in userID module '".concat(o.submodule.name,"':"),e)}return e}))),[]);return o.length&&z(o),o.forEach(he.bind(null,e)),o}))}function he(e,t){let n=!1;for(let o=0;oe.eids),(e=>e.name))).forEach((e=>{let[t,n]=e;return f.set(t,n)}))}function ve(){pe(G);const e=function(e){return Array.isArray(e)?e.reduce(((e,t)=>(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&ye.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(R);if(!e.length)return;const t=G.filter((e=>!(0,r.I6)(q,(t=>t.name===e.name))));q.splice(0,q.length),t.map((t=>{const n=(0,r.I6)(e,(e=>e.name&&(e.name.toLowerCase()===t.name.toLowerCase()||t.aliasName&&e.name.toLowerCase()===t.aliasName.toLowerCase())));return n&&t.name!==n.name&&(n.name=t.name),t.findRootDomain=E.S,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,b.vM)({moduleType:S.fW,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>q.push(e))),!W&&q.length&&((0,o.m)().requestBids.before(oe,40),a.Ay.callDataDeletionRequest.before(Ie),y.Q.after((e=>e(ne()))),(0,d.logInfo)("".concat(D," - usersync config updated for ").concat(q.length," submodules: "),q.map((e=>e.submodule.name))),W=!0)}function Ie(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{if("function"==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,...n)}catch(t){(0,d.logError)("Error calling onDataDeletionRequest for ID submodule ".concat(e.submodule.name),t)}!function(e){var t;let n,o;switch(null===(t=e.config)||void 0===t||null===(t=t.storage)||void 0===t?void 0:t.type){case j:const t=V(e,C),r=new Date(Date.now()-864e5).toUTCString();n=e=>t(e,"",r),o=["","_last","_cst"];break;case A:n=t=>C.removeDataFromLocalStorage(e.config.storage.name+t),o=["","_last","_exp","_cst"]}n&&o.forEach((e=>{try{n(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function Ee(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=p.k.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_=void 0,q=[],R=[],W=!1,T=[],te=function(){let{delay:e=p.k.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,p.v)(),n=(0,p.v)();let o,r,s=!1;function a(e){return r=B().fork(),null!=o&&o.reject(ee),o=(0,p.v)(),p.k.race([e,o.promise]).finally(r.startTiming("userId.total"))}let g=T,f=q;function m(e){return function(){if(g===T&&f===q)return e(...arguments)}}function b(){return c.SL.promise.finally(r.startTiming("userId.init.consent"))}let h=a(p.k.all([l.Gc,t.promise]).then(b).then(m((()=>{be(g,f)}))).then((()=>n.promise.finally(r.startTiming("userId.callbacks.pending")))).then(m((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new p.k((t=>$(e,t,g)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:c=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return c&&!s&&(s=!0,t.resolve(),L>0?n.resolve():i.on(u.EVENTS.AUCTION_END,(function t(){i.off(u.EVENTS.AUCTION_END,t),e(x).then(n.resolve)}))),o&&s&&(h=a(h.catch((()=>null)).then(b).then(m((()=>{const e=be(g,f.filter((e=>null==r||r.includes(e.submodule.name))),!0).filter((e=>null!=e.callback));if(e.length)return new p.k((t=>$(e,t,g)))}))))),h}}({delay:t}),null!=F&&F(),G=[],F=e.getConfig("userSync",(e=>{const t=e.userSync;t&&(_=t.ppid,t.userIds&&(R=t.userIds,x=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,L=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,ve(),function(e,t){if(e){const n={},o=new Map(t.map((e=>e.submodule.aliasName?[e.submodule.aliasName,e.submodule.name]:[])));Object.keys(e).forEach((t=>{const r=(0,d.isArray)(e[t])?[...e[t]].reverse():[];n[t]=r.map((e=>o.has(e)?o.get(e):e))})),M=n}else M={}}(t.idPriority,q),te({ready:!0})))})),(0,o.m)().getUserIds=re,(0,o.m)().getUserIdsAsEids=se,(0,o.m)().getEncryptedEidsForSource=Ee(ce),(0,o.m)().registerSignalSources=ue,(0,o.m)().refreshUserIds=Ee(le),(0,o.m)().getUserIdsAsync=Ee(de),(0,o.m)().getUserIdsAsEidBySource=ie}(s.$W),(0,l.xG)("userId",(function(e){(0,r.I6)(G,(t=>t.name===e.name))||(G.push(e),c.o2.register(S.fW,e.name,e.gvlid),ve(),te({refresh:!0,submoduleNames:[e.name]}))})),(0,v.pS)({type:v.S3,name:"userExtEids",fn:function(e,t,n){const o=(0,g.A)(n,"bidRequests.0.userIdAsEids");o&&Object.keys(o).length>0&&(0,h.J)(e,"user.ext.eids",o)}}),(0,o.E)("userId")},51692:(e,t,n)=>{n.d(t,{Q:()=>o});const o=(0,n(16833).A_)("sync",(()=>{}))},1e3:(e,t,n)=>{n.d(t,{Cf:()=>c,S3:()=>r,Tb:()=>s,WR:()=>i,e4:()=>u,pS:()=>d,qN:()=>a,yB:()=>g,zt:()=>o});const o=["request","imp","bidResponse","response"],[r,s,i,c]=o,[a,u]=["default","pbs"],l=new Set(o);const{registerOrtbProcessor:d,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:s,priority:i=0,dialects:c=[a]}=t;if(!l.has(n))throw new Error("ORTB processor type must be one of: ".concat(o.join(", ")));c.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:i,fn:s}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[51085],(()=>{return t=34836,e(e.s=t);var t}));e.O()}]);(self.pbjsChunk=self.pbjsChunk||[]).push([[47957],{93043:(e,t,n)=>{var i=n(7873),o=n(91069),r=n(70433),a=n(57377),d=n(71371),s=n(12938),c=n(12693),u=n(43272),p=n(29906);const l="prebid",g="vidazoo",m="1.0.0",b=9e5,f=36e5,h="vidSid",I="vdzwopt",v="wsid_"+parseInt(Date.now()*Math.random()),C=(0,s.vM)({bidderCode:g});function y(){try{return(0,o.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return""}}function S(){return"https://".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,".cootlogix.com")}function D(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function R(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function A(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}function T(e,t,n,i,a){var d,s;const{params:u,bidId:p,userId:l,adUnitCode:S,schain:D,mediaTypes:A,ortb2Imp:T,bidderRequestId:w,bidRequestsCount:q,bidderRequestsCount:x,bidderWinsCount:O}=e,{ext:_}=u;let{bidFloor:j}=u;const P=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"_";const n=e.length;let i=0,o=0;if(n>0)for(;o1&&void 0!==arguments[1]?arguments[1]:b;try{const n=U(e);let i,o=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n="u_".concat(e),i=Date.now(),o=U(n);let r;!o||!o.value||i-o.created>t?(r="".concat(e,"_").concat(i.toString()),z(n,r)):r=o.value;return r}(P),W=U(h)||"",E=R(u),L=function(){let e=C.getDataFromLocalStorage(I);e||(e=String(Date.now()),C.setDataInLocalStorage(I,e));return e}(),M=c.u.get(g,"storageAllowed"),$=(0,r.A)(e,"ortb2Imp.ext.gpid",(0,r.A)(e,"ortb2Imp.ext.data.pbadslot","")),B=(0,r.A)(i,"ortb2.site.cat",[]),N=(0,r.A)(i,"ortb2.site.pagecat",[]);if((0,o.isFn)(e.getFloor)){const t=e.getFloor({currency:"USD",mediaType:"*",size:"*"});"USD"===t.currency&&(j=t.floor)}let G={url:encodeURIComponent(t),uqs:y(),cb:Date.now(),bidFloor:j,bidId:p,referrer:i.refererInfo.ref,adUnitCode:S,publisherId:E,sessionId:W,sizes:n,dealId:k,uniqueDealId:F,bidderVersion:m,prebidVersion:"8.38.0",res:"".concat(screen.width,"x").concat(screen.height),schain:D,mediaTypes:A,ptrace:L,isStorageAllowed:M,gpid:$,cat:B,pagecat:N,transactionId:null==T||null===(d=T.ext)||void 0===d?void 0:d.tid,bidderRequestId:w,bidRequestsCount:q,bidderRequestsCount:x,bidderWinsCount:O,bidderTimeout:a,webSessionId:v};!function(e,t){let n;(0,o._each)(t,((t,i)=>{switch(n="uid.".concat(i),i){case"digitrustid":e[n]=(0,r.A)(t,"data.id");break;case"lipb":e[n]=t.lipbid;break;case"parrableId":e[n]=t.eid;break;case"id5id":e[n]=t.uid;break;default:e[n]=t}}))}(G,l);const V=(0,r.A)(i,"ortb2.device.sua");return V&&(G.sua=V),i.gdprConsent&&(i.gdprConsent.consentString&&(G.gdprConsent=i.gdprConsent.consentString),void 0!==i.gdprConsent.gdprApplies&&(G.gdpr=i.gdprConsent.gdprApplies?1:0)),i.uspConsent&&(G.usPrivacy=i.uspConsent),i.gppConsent?(G.gppString=i.gppConsent.gppString,G.gppSid=i.gppConsent.applicableSections):null!==(s=i.ortb2)&&void 0!==s&&null!==(s=s.regs)&&void 0!==s&&s.gpp&&(G.gppString=i.ortb2.regs.gpp,G.gppSid=i.ortb2.regs.gpp_sid),(0,o._each)(_,((e,t)=>{G["ext."+t]=e})),G}function w(e,t,n,i,o){const{params:r}=e,a=D(r),d=A(r),s=T(e,t,n,i,o);return{method:"POST",url:"".concat(S(d),"/prebid/multi/").concat(a),data:s}}function U(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(C.getDataFromLocalStorage(e))}catch(e){}return null}function z(e,t,n){try{const i=n||Date.now(),o=JSON.stringify({value:t,created:i});C.setDataInLocalStorage(e,o)}catch(e){}}const q={code:g,version:m,gvlid:744,supportedMediaTypes:[d.D4,d.G_],isBidRequestValid:function(e){const t=e.params||{};return!(!D(t)||!R(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,i=u.$W.getConfig("bidderTimeout"),r=u.$W.getConfig("vidazoo.singleRequest"),a=[];if(r){const r=e.filter((e=>(0,o.isArray)(e.mediaTypes)?e.mediaTypes.includes(d.D4):void 0!==e.mediaTypes[d.D4]));if(r.length>0){const e=function(e,t,n,i){const{params:r}=e[0],a=D(r),d=A(r),s=e.map((e=>{const r=(0,o.parseSizesInput)(e.sizes);return T(e,n,r,t,i)})),c=Math.min(20,u.$W.getConfig("vidazoo.chunkSize")||10);return(0,p.i)(s,c).map((e=>({method:"POST",url:"".concat(S(d),"/prebid/multi/").concat(a),data:{bids:e}})))}(r,t,n,i);a.push(...e)}e.filter((e=>void 0!==e.mediaTypes[d.G_])).forEach((e=>{const r=(0,o.parseSizesInput)(e.sizes),d=w(e,n,r,t,i);a.push(d)}))}else e.forEach((e=>{const r=(0,o.parseSizesInput)(e.sizes),d=w(e,n,r,t,i);a.push(d)}));return a},interpretResponse:function(e,t){if(!e||!e.body)return[];const n=u.$W.getConfig("vidazoo.singleRequest"),i=(0,r.A)(t,"data.bidId"),{results:o}=e.body;let a=[];try{return o.forEach(((e,t)=>{const{creativeId:o,ad:r,price:s,exp:c,width:u,height:p,currency:l,bidId:g,nurl:m,advertiserDomains:b,metaData:f,mediaType:h=d.D4}=e;if(!r||!s)return;const I={requestId:n&&g?g:i,cpm:s,width:u,height:p,creativeId:o,currency:l||"USD",netRevenue:!0,ttl:c||300};m&&(I.nurl=m),f?Object.assign(I,{meta:f}):Object.assign(I,{meta:{advertiserDomains:b||[]}}),h===d.D4?Object.assign(I,{ad:r}):Object.assign(I,{vastXml:r,mediaType:d.G_}),a.push(I)})),a}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},d=[];const{iframeEnabled:s,pixelEnabled:c}=e,{gdprApplies:u,consentString:p=""}=n,{gppString:l,applicableSections:g}=a,m=t.filter((e=>(0,r.A)(e,"body.cid"))).map((e=>e.body.cid)).filter(o.uniques);let b="?cid=".concat(encodeURIComponent(m.join(",")),"&gdpr=").concat(u?1:0,"&gdpr_consent=").concat(encodeURIComponent(p||""),"&us_privacy=").concat(encodeURIComponent(i||""));return l&&null!=g&&g.length&&(b+="&gpp="+encodeURIComponent(l),b+="&gpp_sid="+encodeURIComponent(g.join(","))),s&&d.push({type:"iframe",url:"https://sync.cootlogix.com/api/sync/iframe/".concat(b)}),c&&d.push({type:"image",url:"https://sync.cootlogix.com/api/sync/image/".concat(b)}),d},onBidWon:function(e){if(!e.nurl)return;const t={adId:e.adId,creativeId:e.creativeId,auctionId:e.auctionId,transactionId:e.transactionId,adUnitCode:e.adUnitCode,cpm:e.cpm,currency:e.currency,originalCpm:e.originalCpm,originalCurrency:e.originalCurrency,netRevenue:e.netRevenue,mediaType:e.mediaType,timeToRespond:e.timeToRespond,status:e.status},n=(0,o.formatQS)(t),i=e.nurl+(-1===e.nurl.indexOf("?")?"?":"&")+n;(0,o.triggerPixel)(i)}};(0,a.a$)(q),(0,i.E)("vidazooBidAdapter")}},e=>{e.O(0,[44982,51085],(()=>{return t=93043,e(e.s=t);var t}));e.O()}]);})(),pbjs.processQueue();

How to Plan a Road Trip with Multiple Destinations in Google Maps (2024)

FAQs

How to Plan a Road Trip with Multiple Destinations in Google Maps? ›

Google Maps is not a route optimization tool.

You can use it to plan a multi-stop route, and to find the shortest route between any two stops, but it was never designed to find the optimal order of all the stops to give you the most efficient route.

How do I plan a road trip with multiple destinations? ›

Tutorial: How to use Google Maps as a multi stop route planner
  1. 1: Go to google.com/maps. ...
  2. 2: Enter a starting address. ...
  3. 3: Click on Directions. ...
  4. 4: Add another address. ...
  5. 5: Click “Add destination” ...
  6. 6: Keep adding destinations. ...
  7. 7: Rearrange your stops. ...
  8. 8: Send your route to a phone.
Aug 31, 2023

Can Google Maps optimize a route with multiple stops? ›

Google Maps is not a route optimization tool.

You can use it to plan a multi-stop route, and to find the shortest route between any two stops, but it was never designed to find the optimal order of all the stops to give you the most efficient route.

Is there a route planner in Google Maps? ›

When to use Google Maps for route planning? Google's route planner is ideal for simple routes with no more than 2-3 stops. All you need to do is enter your destination, and you'll get turn-by-turn directions to get there as fast as possible. You can also use it to simply find the distance between two points.

How do I get multiple route options on Google Maps? ›

Customize your route
  1. On your Android phone or tablet, open the Google Maps app .
  2. Search for your destination or tap it on the map.
  3. In the bottom left, tap Directions .
  4. At the top, tap Driving .
  5. In the top right, tap More. Route options.
  6. Turn on Avoid tolls or Avoid highways.

Is there an app to plan a road trip with multiple stops? ›

Mapquest is a simple but effective route planning app that is free up to 26 stops. It's quick and easy to use for basic route optimization, although there are no extra delivery management features like dispatch to a driver app, customer notifications or tracking.

What is the best road trip planner? ›

The Best Road Trip Apps That Help You Find Cheap Gas, Avoid Traffic, and More
  • Roadtrippers. Roadtrippers is one of the most practical and popular road trip planning apps out there. ...
  • GasBuddy. ...
  • Roadside America. ...
  • iExit Interstate Exit Guide. ...
  • HotelTonight. ...
  • The Dyrt.
Mar 27, 2024

What is the route planner with multiple stops? ›

RouteXL is an online route planner to helps you find the fastest itinerary along multiple stops. The best choice when you're traveling via multiple locations. What is the most optimal route along all of your destinations? RouteXL finds the fastest journey by sorting all your stops in the most optimized way.

How to create a route with more than 10 stops on Google Maps? ›

  1. Plan your route in Google maps. Go to Google maps, click on route, and enter all the places you want to visit on the left.
  2. Then you copy the internet address that you see in the address bar, in the first field above. ...
  3. You now put together a new route in Google maps. ...
  4. Click on 'Submit' as the last step.

How do I save a route with multiple stops? ›

Save directions
  1. On your computer, sign in to My Maps.
  2. Open or create a map.
  3. Click Add directions .
  4. In the box on the left, type your start and end locations.
  5. The route appears on your map. Add another leg to your trip: Click Add destination.

Is there a better route planner than Google Maps? ›

Maptive – Best for Professionals

Maptive is the best free route optimizer for professionals of every kind. Maptive offers many advanced options that simpler route optimizers like Google Maps don't offer, such as: Up to 73 stops. Optimizes your stops to find the shortest route.

How do I create a custom route planner in Google Map? ›

To create a route on Google Maps, sign in to your Google account, navigate to “Saved” > “Maps,” and click “Create Map.” Choose your transportation mode, enter start and end points, add stops if needed, name and save your map, and then share it.

Is there a free road trip planner? ›

Download the TripIt app

The world's highest-rated travel-organizing app has plenty of free features to make road trips easier.

How do I plan a route with more than 10 destinations? ›

  1. Plan your route in Google maps. Go to Google maps, click on route, and enter all the places you want to visit on the left.
  2. Then you copy the internet address that you see in the address bar, in the first field above. ...
  3. You now put together a new route in Google maps. ...
  4. Click on 'Submit' as the last step.

How do I plan a random road trip? ›

  1. Map out all the stops you want to cover.
  2. List the things you want to do and think about timings.
  3. Research accommodation.
  4. Check out other people's itineraries!
  5. Use all the information above to craft your route.
  6. Choose your car.
  7. Prepare your own car.
  8. Don't bring the car everywhere.
Feb 9, 2024

Is there a free trip planner? ›

Planapple helps you create, organize, access and share all your vacation plans. Start Planning Your Trip! It's Free!

Top Articles
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 5405

Rating: 4.9 / 5 (59 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.