HTML Report for https://www.phillymag.com/news
This tool is an ongoing experiment in better HTML checking, and its behavior remains subject to changeShowing results for https://www.phillymag.com/news
You can view the notes...
view-source:https://www.phillymag.com/news
| # | results |
|---|---|
| 1 |
Error
On line 1, column 9 <https://www.ph |
| 2 |
Error
On line 1, column 10 <https://www.phi |
| 3 |
Error
On line 1, column 28 <https://www.phillymag.com/wp-json |
| 4 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 5 |
Info
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 6 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 7 |
Error
On line 18, column 15 /wp-json/>; rel="https://api.w.org/" last-modified: Wed, 10 Apr 2024 07:57:51 GMT x-batcache: True access-control-allow-origin: * x-cache-key: https://_desktop_www.phillymag.comGET/newsprestitial x-zephr-cache: miss set-cookie: blaize_session=3c61de11-739a-46a7-8b4d-2ef98de7ba51; Expires=Wed, 28 Aug 2024 07:57:50 GMT; Path=/; set-cookie: blaize_tracking_id=81fb1ba6-77fc-47e3-9556-6ebca64efe21; Expires=Tue, 12 Aug 3023 07:57:51 GMT; Path=/; cache-control: max-age=300, must-revalidate content-encoding: gzip vary: Accept-Encoding,Cookie x-cache: Miss from cloudfront via: 1.1 993b1e19626e26dffb3354fed271b3a2.cloudfront.net (CloudFront) x-amz-cf-pop: WAW51-P3 alt-svc: h3=":443"; ma=86400 x-amz-cf-id: Nm7IUJRBva5XjQzm-TBv2-6FWtMu5B1GN4EzHOI00cml-FCLA1kUQg== <!doctype html> <html |
| 8 |
Error
On line 19, column 19 type html> <html lang="en-US"> <hea |
| 9 |
Error
On line 20, column 7 g="en-US"> <head> <me |
| 10 |
Error
On line 215, column 8 "> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <link rel="preconnect" href="https://securepubads.g.doubleclick.net"><link rel="preconnect" href="https://www.googleadservices.com"><link rel="preconnect" href="https://s.ntv.io"><link rel="preconnect" href="https://ib.adnxs.com"><link rel="preconnect" href="https://ap.lijit.com"><link rel="preconnect" href="https://static.criteo.net"><link rel="preconnect" href="https://cdn10.bostonmagazine.com/"><link rel="preconnect" href="https://s.ntv.io/"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v21.7) - https://yoast.com/wordpress/plugins/seo/ --> <title>Philly News, Politics, People, and Opinion | phillymag.com</title> <meta name="description" content="Philly news, politics, and opinion from Philadelphia magazine. Discover who's influencing the city and what's happening today."> <link rel="canonical" href="https://www.phillymag.com/news/"> <link rel="next" href="https://www.phillymag.com/news/page/2/"> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"> <meta property="og:title" content="City Life Archives"> <meta property="og:description" content="Philly news, politics, and opinion from Philadelphia magazine. Discover who's influencing the city and what's happening today."> <meta property="og:url" content="https://www.phillymag.com/news/"> <meta property="og:site_name" content="Philadelphia Magazine"> <meta name="twitter:card" content="summary_large_image"> <!-- / Yoast SEO Premium plugin. --> <link rel="dns-prefetch" href="//securepubads.g.doubleclick.net"> <link rel="dns-prefetch" href="//static.criteo.net"> <link rel="dns-prefetch" href="//s.ntv.io"> <link rel="dns-prefetch" href="//cloud.typography.com"> <link rel="alternate" type="application/rss+xml" title="Philadelphia Magazine » City Life Vertical Feed" href="https://www.phillymag.com/news/feed/"> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn10.phillymag.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.3"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id="wp-emoji-styles-inline-css" type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id="classic-theme-styles-inline-css" type="text/css"> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id="global-styles-inline-css" type="text/css"> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel="stylesheet" id="phillymag-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/css/philly.min.css?ver=87" type="text/css" media="all"> <link rel="stylesheet" id="phillymag-countdown-css-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.css?ver=0.4.37" type="text/css" media="all"> <link rel="stylesheet" id="tablepress-default-css" href="https://cdn10.phillymag.com/wp-content/plugins/tablepress/css/build/default.css?ver=2.2.4" type="text/css" media="all"> <link rel="stylesheet" id="tablepress-responsive-tables-css" href="https://cdn10.phillymag.com/wp-content/plugins/tablepress-responsive-tables/css/tablepress-responsive.min.css?ver=1.8" type="text/css" media="all"> <script type="text/javascript" id="gpt-js-extra"> /* <![CDATA[ */ var mcAds = {"advertiserSlug":"","currentSite":"phillymag","doPrebid":"true","gptNetworkID":"\/307442\/a.site195.tmus\/","hasBannerThree":"true","isArchive":"false","isGeodir":"false","isSingle":"","postType":"post","prebidTimeout":"2000","prebidFailsafeTimeout":"3000","slots":{"banner-1":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [320, 50], [970, 90]]","id":"banner-1","mapping":"bannerOneMapping","hasSettings":true,"isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"},"isLazy":"false"},"banner-2":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [300, 250], [320, 50], [970, 90]]","id":"banner-2","mapping":"bannerMapping","hasSettings":true,"isLazy":"true","isRefresh":"true","isPrebid":"true","targeting":{"pos":"2"}},"banner-3":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [300, 250], [320, 50], [970, 90], [1,1]]","id":"banner-3","mapping":"bannerMapping","hasSettings":true,"isLazy":"true","isRefresh":"true","isPrebid":"true","targeting":{"pos":"3"}},"adslot_0":{"adUnit":"native_river","adSizes":"fluid","id":"adslot_0","targeting":{"pos":"1"}},"adslot_1":{"adUnit":"native_river","adSizes":"fluid","id":"adslot_1","targeting":{"pos":"2"}},"adslot_2":{"adUnit":"native_river","adSizes":"fluid","id":"adslot_2","targeting":{"pos":"3"}},"curated_module-1":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-1","hasSettings":true,"isLazy":"true","targeting":{"pos":"1"},"isRefresh":"false","isPrebid":"false"},"curated_module-2":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-2","hasSettings":true,"isLazy":"true","targeting":{"pos":"2"},"isRefresh":"false","isPrebid":"false"},"rail-1":{"adUnit":"rail","adSizes":"[[320, 100], [320, 50], [300, 250], [300, 600], [1,1]]","id":"rail-1","mapping":"railMapping","hasSettings":true,"isLazy":"true","isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"}},"rail-2":{"adUnit":"rail","adSizes":"[[320, 100], [320, 50], [300, 250], [300, 600], [1,1]]","id":"rail-2","mapping":"railMapping","hasSettings":true,"isLazy":"true","isPrebid":"true","isRefresh":"true","targeting":{"pos":"2"}},"rail-3":{"adUnit":"rail","adSizes":"[[320, 100], [320, 50], [300, 250], [300, 600], [1,1]]","id":"rail-3","mapping":"railMapping","hasSettings":true,"isLazy":"true","isPrebid":"true","isRefresh":"true","targeting":{"pos":"3"}},"toprailsponsor-1":{"adUnit":"toprailsponsor","adSizes":"[[300, 150], [300, 90], [1,1]]","id":"toprailsponsor-1","mapping":"toprailMapping","targeting":{"pos":"1"}},"interstitial":{"adUnit":"interstitial","id":"interstitial","outOfPage":true},"skin":{"adUnit":"skin","adSizes":"[1, 1]","id":"skin"},"ad-reveal":{"adUnit":"ad-reveal","adSizes":"[[1300, 500], [780, 300], [360, 585]]","id":"ad-reveal","hasSettings":true,"mapping":"adrevealMapping","isPrebid":"false","isRefresh":"false","isLazy":"false"},"bottom-anchor":{"adUnit":"BOTTOM_ANCHOR","id":"bottom-anchor","isMobile":true,"isRefresh":"true","outOfPage":true,"outOfPageFormat":"BOTTOM_ANCHOR","targeting":{"test":"outofpage"}}},"slotsFired":[],"slotsViewed":[],"slotsPrebid":[],"targeting":{"vertical":"news","cat":[],"environment":"production","post_type":"section","vertical-landing":"news-218858"},"debug":""}; /* ]]> */ </script> <script type="text/javascript" id="gpt-js-before"> /* <![CDATA[ */ /* prebid.js v6.23.0 Updated : 2022-05-06*/ /*! For license information please see prebid-core.js.LICENSE.txt */ !function(){var e,n={4877:function(e,n,t){"use strict";t.d(n,{Pd:function(){return s},Th:function(){return u},_U:function(){return d}});var r=t(6996),i=t(9853),o=t(265),a=t(1879),c="outstream";function u(e){var n=this,t=e.url,o=e.config,a=e.id,u=e.callback,s=e.loaded,d=e.adUnitCode;this.url=t,this.config=o,this.handlers={},this.id=a,this.loaded=s,this.cmd=[],this.push=function(e){"function"==typeof e?n.loaded?e.call():n.cmd.push(e):(0,i.logError)("Commands given to Renderer.push must be wrapped in a function")},this.callback=u||function(){n.loaded=!0,n.process()},this.render=function(){var e=this,n=arguments,o=function(){e._render?e._render.apply(e,n):(0,i.logWarn)("No render function was provided, please use .setRender on the renderer")};f(d)?((0,i.logWarn)("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(d)),o()):(this.cmd.unshift(o),(0,r.B)(t,c,this.callback,this.documentContext))}.bind(this)}function s(e){return!(!e||!e.url)}function d(e,n,t){var r=null;e.config&&e.config.documentResolver&&(r=e.config.documentResolver(n,document,t)),r||(r=document),e.documentContext=r,e.render(n,e.documentContext)}function f(e){var n=pbjs.adUnits,t=(0,a.sE)(n,(function(n){return n.code===e}));if(!t)return!1;var r=(0,o.Z)(t,"renderer"),i=!!(r&&r.url&&r.render),c=(0,o.Z)(t,"mediaTypes.video.renderer"),u=!!(c&&c.url&&c.render);return!!(i&&!0!==r.backupOnly||u&&!0!==c.backupOnly)}u.install=function(e){return new u({url:e.url,config:e.config,id:e.id,callback:e.callback,loaded:e.loaded,adUnitCode:e.adUnitCode})},u.prototype.getConfig=function(){return this.config},u.prototype.setRender=function(e){this._render=e},u.prototype.setEventHandlers=function(e){this.handlers=e},u.prototype.handleVideoEvent=function(e){var n=e.id,t=e.eventName;"function"==typeof this.handlers[t]&&this.handlers[t](),(0,i.logMessage)("Prebid Renderer event for id ".concat(n," type ").concat(t))},u.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,i.logError)("Error processing Renderer command: ",e)}}},7263:function(e,n,t){"use strict";t.d(n,{f:function(){return a}});var r=t(265),i={};function o(e,n,t){var r=function(e,n){var t=i[e]=i[e]||{bidders:{}};return n?t.bidders[n]=t.bidders[n]||{}:t}(e,t);return r[n]=(r[n]||0)+1,r[n]}var a={incrementRequestsCounter:function(e){return o(e,"requestsCounter")},incrementBidderRequestsCounter:function(e,n){return o(e,"requestsCounter",n)},incrementBidderWinsCounter:function(e,n){return o(e,"winsCounter",n)},getRequestsCounter:function(e){return(0,r.Z)(i,"".concat(e,".requestsCounter"))||0},getBidderRequestsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".requestsCounter"))||0},getBidderWinsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".winsCounter"))||0}}},2801:function(e,n,t){"use strict";function r(e){var n=e;return{callBids:function(){},setBidderCode:function(e){n=e},getBidderCode:function(){return n}}}t.d(n,{Z:function(){return r}})},7602:function(e,n,t){"use strict";t.d(n,{qJ:function(){return G},VP:function(){return X},ZP:function(){return re},JO:function(){return Y},rp:function(){return J},uV:function(){return ee},Ct:function(){return ne},nX:function(){return Q}});var r=t(9853),i=t(265),o=t(1269),a=t(9017),c=t(1609),u=t(5755),s=t(8962),d=t(3494),f=t(1879),l=t(7263),g=t(2661);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&y(e,n)}function y(e,n){return y=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e},y(e,n)}function b(e){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,r=m(e);if(n){var i=m(this).constructor;t=Reflect.construct(r,arguments,i)}else t=r.apply(this,arguments);return h(this,t)}}function h(e,n){if(n&&("object"===p(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function E(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function S(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function A(e,n,t){return n&&S(e.prototype,n),t&&S(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function T(e,n,t){!function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,n),n.set(e,t)}function I(e,n){return function(e,n){return n.get?n.get.call(e):n.value}(e,w(e,n,"get"))}function C(e,n,t){return function(e,n,t){if(n.set)n.set.call(e,t);else{if(!n.writable)throw new TypeError("attempted to set read only private field");n.value=t}}(e,w(e,n,"set"),t),t}function w(e,n,t){if(!n.has(e))throw new TypeError("attempted to "+t+" private field on non-instance");return n.get(e)}var O=new WeakMap,B=new WeakMap,_=new WeakMap,U=new WeakMap,R=new WeakMap,D=function(){function e(){var n,t;E(this,e),T(this,O,{writable:!0,value:void 0}),T(this,B,{writable:!0,value:void 0}),T(this,_,{writable:!0,value:void 0}),T(this,U,{writable:!0,value:void 0}),T(this,R,{writable:!0,value:void 0}),t=void 0,(n="generatedTime")in this?Object.defineProperty(this,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[n]=t,this.reset()}return A(e,[{key:"reset",value:function(){var e=this;C(this,_,new Promise((function(n){C(e,U,(function(t){C(e,R,!0),C(e,B,t),n(t)}))}))),C(this,O,!1),C(this,B,null),C(this,R,!1),this.generatedTime=null}},{key:"enable",value:function(){C(this,O,!0)}},{key:"enabled",get:function(){return I(this,O)}},{key:"ready",get:function(){return I(this,R)}},{key:"promise",get:function(){return I(this,R)?Promise.resolve(I(this,B)):(I(this,O)||I(this,U).call(this,null),I(this,_))}},{key:"setConsentData",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,r.timestamp)();this.generatedTime=n,I(this,U).call(this,e)}},{key:"getConsentData",value:function(){return I(this,B)}}]),e}(),k=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&this.generatedTime)return{usp:e,generatedAt:this.generatedTime}}}]),t}(D),j=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,r.isStr)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}}]),t}(D);function N(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function P(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?N(Object(t),!0).forEach((function(n){q(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):N(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function q(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function M(){return M=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},M.apply(this,arguments)}var G={CLIENT:"client",SERVER:"server"},W=t(5644),F=t(2319),z={},L=z.bidderRegistry={},K=z.aliasRegistry={},V=[];s.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(V=(0,r.isArray)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var H={},Z=(0,d.z3)("sync",(function(e){var n=e.bidderCode,t=e.auctionId,o=e.bidderRequestId,a=e.adUnits,c=e.src;return a.reduce((function(e,a){return e.push(a.bids.filter((function(e){return e.bidder===n})).reduce((function(e,n){var u=null==(n=M({},n,(0,r.getDefinedParams)(a,["nativeParams","ortb2Imp","mediaType","renderer","storedAuctionResponse"]))).mediaTypes?a.mediaTypes:n.mediaTypes;return(0,r.isValidMediaTypes)(u)?n=M({},n,{mediaTypes:u}):(0,r.logError)("mediaTypes is not correctly configured for adunit ".concat(a.code)),e.push(M({},n,{adUnitCode:a.code,transactionId:a.transactionId,sizes:(0,i.Z)(u,"banner.sizes")||(0,i.Z)(u,"video.playerSize")||[],bidId:n.bid_id||(0,r.getUniqueIdentifierStr)(),bidderRequestId:o,auctionId:t,src:c,bidRequestsCount:l.f.getRequestsCounter(a.code),bidderRequestsCount:l.f.getBidderRequestsCounter(a.code,n.bidder),bidderWinsCount:l.f.getBidderWinsCounter(a.code,n.bidder)})),e}),[])),e}),[]).reduce(r.flatten,[]).filter((function(e){return""!==e}))}),"getBids"),Y=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.getS2SBidders,i=void 0===r?ee:r;if(null==n)return e;var o=i(n);return e.filter((function(e){return o.has(e.bidder)}))}),"filterBidsForAdUnit"),J=new j,Q=new k,X={getCoppa:function(){return!!s.vc.getConfig("coppa")}},$=(0,d.z3)("sync",(function(e,n){return(0,o.UB)(e,n)}),"setupAdUnitMediaTypes");function ee(e){(0,r.isArray)(e)||(e=[e]);var n=new Set([null]);return e.filter((function(e){return e&&e.enabled})).flatMap((function(e){return e.bidders})).forEach((function(e){return n.add(e)})),n}var ne=(0,d.z3)("sync",(function(e,n){var t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.getS2SBidders,a=void 0===o?ee:o,c=a(n);return(0,r.getBidderCodes)(e).reduce((function(e,n){return e[c.has(n)?G.SERVER:G.CLIENT].push(n),e}),(q(t={},G.CLIENT,[]),q(t,G.SERVER,[]),t))}),"partitionBidders");function te(e,n,t){try{var i=L[e].getSpec();i&&i[n]&&"function"==typeof i[n]&&((0,r.logInfo)("Invoking ".concat(e,".").concat(n)),s.vc.runWithBidder(e,r.bind.call(i[n],i,t)))}catch(t){(0,r.logWarn)("Error calling ".concat(n," of ").concat(e))}}z.makeBidRequests=(0,d.z3)("sync",(function(e,n,t,i,o){F.emit(W.EVENTS.BEFORE_REQUEST_BIDS,e),(0,a.Fb)(e),e=$(e,o);var c=ne(e,V),u=c[G.CLIENT],d=c[G.SERVER];s.vc.getConfig("bidderSequence")===s.FD&&(u=(0,r.shuffle)(u));var l=(0,g.n)(),p=[];V.forEach((function(i){if(i&&i.enabled){var o=function(e,n){var t=(0,r.deepClone)(e);return t.forEach((function(e){e.bids=Y(e.bids,n).map((function(e){return e.bid_id=(0,r.getUniqueIdentifierStr)(),e}))})),t.filter((function(e){return 0!==e.bids.length}))}(e,i),a=(0,r.generateUUID)();d.forEach((function(e){var c=(0,r.getUniqueIdentifierStr)(),u={bidderCode:e,auctionId:t,bidderRequestId:c,uniquePbsTid:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:c,adUnits:(0,r.deepClone)(o),src:W.S2S.SRC}),auctionStart:n,timeout:i.timeout,src:W.S2S.SRC,refererInfo:l};0!==u.bids.length&&p.push(u)})),o.forEach((function(e){var n=e.bids.filter((function(e){return(0,f.sE)(p,(function(n){return(0,f.sE)(n.bids,(function(n){return n.bidId===e.bid_id}))}))}));e.bids=n})),p.forEach((function(e){void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((function(e){return e.bids.length>0})))}))}}));var v=function(e){var n=(0,r.deepClone)(e);return n.forEach((function(e){e.bids=Y(e.bids,null)})),n.filter((function(e){return 0!==e.bids.length}))}(e);return u.forEach((function(e){var a=(0,r.getUniqueIdentifierStr)(),c={bidderCode:e,auctionId:t,bidderRequestId:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:a,adUnits:(0,r.deepClone)(v),labels:o,src:"client"}),auctionStart:n,timeout:i,refererInfo:l},u=L[e];u||(0,r.logError)("Trying to make a request for bidder that does not exist: ".concat(e)),u&&c.bids&&0!==c.bids.length&&p.push(c)})),J.getConsentData()&&p.forEach((function(e){e.gdprConsent=J.getConsentData()})),Q.getConsentData()&&p.forEach((function(e){e.uspConsent=Q.getConsentData()})),p}),"makeBidRequests"),z.callBids=function(e,n,t,i,o,a,c){if(n.length){var d=(y=n.reduce((function(e,n){return e[Number(void 0!==n.src&&n.src===W.S2S.SRC)].push(n),e}),[[],[]]),b=2,function(e){if(Array.isArray(e))return e}(y)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(y,b)||function(e,n){if(e){if("string"==typeof e)return x(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,n):void 0}}(y,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],l=d[1],g=[];l.forEach((function(e){for(var n=-1,t=0;t<g.length;++t)if(e.uniquePbsTid===g[t].uniquePbsTid){n=t;break}n<=-1&&g.push(e)}));var p=0,v=(0,r.generateUUID)();V.forEach((function(e){if(e&&g[p]&&ee(e).has(g[p].bidderCode)){var n=(0,u.O)(a,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0),c=e.bidders,s=L[e.adapter],d=g[p].uniquePbsTid,f=g[p].adUnitsS2SCopy,y=l.filter((function(e){return e.uniquePbsTid===d}));if(s){var b={tid:v,ad_units:f,s2sConfig:e};if(b.ad_units.length){var h=y.map((function(e){return e.start=(0,r.timestamp)(),i.bind(e)})),m=(0,r.getBidderCodes)(b.ad_units).filter((function(e){return c.includes(e)}));(0,r.logMessage)("CALLING S2S HEADER BIDDERS ==== ".concat(m.length>0?m.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only')),y.forEach((function(e){F.emit(W.EVENTS.BID_REQUESTED,P(P({},e),{},{tid:v}))})),s.callBids(b,l,t,(function(){return h.forEach((function(e){return e()}))}),n)}}else(0,r.logError)("missing "+e.adapter);p++}})),f.forEach((function(e){e.start=(0,r.timestamp)();var n=L[e.bidderCode];s.vc.runWithBidder(e.bidderCode,(function(){(0,r.logMessage)("CALLING BIDDER"),F.emit(W.EVENTS.BID_REQUESTED,e)}));var d=(0,u.O)(a,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0),f=i.bind(e);try{s.vc.runWithBidder(e.bidderCode,r.bind.call(n.callBids,n,e,t,f,d,c,s.vc.callbackWithBidder(e.bidderCode)))}catch(n){(0,r.logError)("".concat(e.bidderCode," Bid Adapter emitted an uncaught error when parsing their bidRequest"),{e:n,bidRequest:e}),f()}}))}else(0,r.logWarn)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");var y,b},z.videoAdapters=[],z.registerBidAdapter=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.supportedMediaTypes,o=void 0===i?[]:i;e&&n?"function"==typeof e.callBids?(L[n]=e,(0,f.q9)(o,"video")&&z.videoAdapters.push(n),(0,f.q9)(o,"native")&&a.Sg.push(n)):(0,r.logError)("Bidder adaptor error for bidder code: "+n+"bidder must implement a callBids() function"):(0,r.logError)("bidAdapter or bidderCode not specified")},z.aliasBidAdapter=function(e,n,t){if(void 0===L[n]){var i=L[e];if(void 0===i){var o=[];V.forEach((function(t){if(t.bidders&&t.bidders.length){var r=t&&t.bidders;t&&(0,f.q9)(r,n)?K[n]=e:o.push(e)}})),o.forEach((function(e){(0,r.logError)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{var u,s=function(e){var n=[];return(0,f.q9)(z.videoAdapters,e)&&n.push("video"),(0,f.q9)(a.Sg,e)&&n.push("native"),n}(e);if(i.constructor.prototype!=Object.prototype)(u=new i.constructor).setBidderCode(n);else{var d=i.getSpec(),l=t&&t.gvlid,g=t&&t.skipPbsAliasing;u=(0,c.newBidder)(M({},d,{code:n,gvlid:l,skipPbsAliasing:g})),K[n]=e}z.registerBidAdapter(u,n,{supportedMediaTypes:s})}catch(n){(0,r.logError)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,r.logMessage)('alias name "'+n+'" has been already specified.')},z.registerAnalyticsAdapter=function(e){var n=e.adapter,t=e.code,i=e.gvlid;n&&t?"function"==typeof n.enableAnalytics?(n.code=t,H[t]={adapter:n,gvlid:i}):(0,r.logError)('Prebid Error: Analytics adaptor error for analytics "'.concat(t,'"\n analytics adapter must implement an enableAnalytics() function')):(0,r.logError)("Prebid Error: analyticsAdapter or analyticsCode not specified")},z.enableAnalytics=function(e){(0,r.isArray)(e)||(e=[e]),(0,r._each)(e,(function(e){var n=H[e.provider];n&&n.adapter?n.adapter.enableAnalytics(e):(0,r.logError)("Prebid Error: no analytics adapter found in registry for '".concat(e.provider,"'."))}))},z.getBidAdapter=function(e){return L[e]},z.getAnalyticsAdapter=function(e){return H[e]},z.callTimedOutBidders=function(e,n,t){n=n.map((function(n){return n.params=(0,r.getUserConfiguredParams)(e,n.adUnitCode,n.bidder),n.timeout=t,n})),n=(0,r.groupBy)(n,"bidder"),Object.keys(n).forEach((function(e){te(e,"onTimeout",n[e])}))},z.callBidWonBidder=function(e,n,t){n.params=(0,r.getUserConfiguredParams)(t,n.adUnitCode,n.bidder),l.f.incrementBidderWinsCounter(n.adUnitCode,n.bidder),te(e,"onBidWon",n)},z.callSetTargetingBidder=function(e,n){te(e,"onSetTargeting",n)},z.callBidViewableBidder=function(e,n){te(e,"onBidViewable",n)},z.callBidderError=function(e,n,t){te(e,"onBidderError",{error:n,bidderRequest:t})};var re=z},1609:function(e,n,t){"use strict";t.r(n),t.d(n,{getIabSubCategory:function(){return D},isValid:function(){return j},newBidder:function(){return B},preloadBidderMappingFile:function(){return R},processBidderRequests:function(){return _},registerBidder:function(){return O},registerSyncInner:function(){return U},storage:function(){return C}});var r=t(2801),i=t(7602),o=t(8962),a=t(1477),c=t(7112),u=t(9017),s=t(1929),d=t(5644),f=t(2319),l=t(1879),g=t(5755),p=t(9853),v=t(265),y=t(8265),b=t(3494),h=t(5849),m=t(4766),E=t(9624);function S(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return A(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function I(){return I=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(this,arguments)}var C=(0,h.eA)("bidderFactory"),w=["cpm","ttl","creativeId","netRevenue","currency"];function O(e){var n=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function t(e){var t=B(e);i.ZP.registerBidAdapter(t,e.code,n)}t(e),Array.isArray(e.aliases)&&e.aliases.forEach((function(n){var r,o,a=n;(0,p.isPlainObject)(n)&&(a=n.code,r=n.gvlid,o=n.skipPbsAliasing),i.ZP.aliasRegistry[a]=e.code,t(I({},e,{code:a,gvlid:r,skipPbsAliasing:o}))}))}function B(e){return I(new r.Z(e.code),{getSpec:function(){return Object.freeze(e)},registerSyncs:n,callBids:function(r,c,u,s,l,g){if(Array.isArray(r.bids)){var v={},y=[],b=r.bids.filter(t);if(0!==b.length){var h={};b.forEach((function(e){h[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),_(e,b,r,s,g,{onRequest:function(e){return f.emit(d.EVENTS.BEFORE_BIDDER_HTTP,r,e)},onResponse:function(n){l(e.code),y.push(n)},onError:function(n,t){l(e.code),i.ZP.callBidderError(e.code,t,r),f.emit(d.EVENTS.BIDDER_ERROR,{error:t,bidderRequest:r}),(0,p.logError)("Server call for ".concat(e.code," failed: ").concat(n," ").concat(t.status,". Continuing without bids."))},onBid:function(n){var t,r,i,o,u=h[n.requestId];if(u){if(n.adapterCode=u.bidder,t=n.bidderCode,r=u.bidder,i=E.S.get(r,"allowAlternateBidderCodes"),o=E.S.get(r,"allowedAlternateBidderCodes"),t&&r&&r!==t&&(void 0!==i&&!i||(0,p.isArray)(o)&&"*"!==o[0]&&!o.includes(t)))return void(0,p.logWarn)("".concat(n.bidderCode," is not a registered partner or known bidder of ").concat(u.bidder,", hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings."));n.originalCpm=n.cpm,n.originalCurrency=n.currency,n.meta=n.meta||I({},n[u.bidder]);var s=I((0,a.m)(d.STATUS.GOOD,u),n);!function(e,n){v[e]=!0,j(e,n)&&c(e,n)}(u.adUnitCode,s)}else(0,p.logWarn)("Bidder ".concat(e.code," made bid for unknown request ID: ").concat(n.requestId,". Ignoring."))},onCompletion:m})}else m()}function m(){u(),o.vc.runWithBidder(e.code,(function(){f.emit(d.EVENTS.BIDDER_DONE,r),n(y,r.gdprConsent,r.uspConsent)}))}}});function n(n,t,r){U(e,n,t,r)}function t(n){return!!e.isBidRequestValid(n)||((0,p.logWarn)("Invalid bid sent to bidder ".concat(e.code,": ").concat(JSON.stringify(n))),!1)}}var _=(0,b.z3)("sync",(function(e,n,t,r,i,o){var a=o.onRequest,c=o.onResponse,u=o.onError,s=o.onBid,d=o.onCompletion,f=e.buildRequests(n,t);if(f&&0!==f.length){Array.isArray(f)||(f=[f]);var l=(0,p.delayExecution)(d,f.length);f.forEach((function(n){var t,o=i((function(t,r){try{t=JSON.parse(t)}catch(e){}var i;t={body:t,headers:{get:r.getResponseHeader.bind(r)}},c(t);try{i=e.interpretResponse(t,n)}catch(n){return(0,p.logError)("Bidder ".concat(e.code," failed to interpret the server's response. Continuing without bids"),null,n),void l()}i&&((0,p.isArray)(i)?i.forEach(s):s(i)),l()})),d=i((function(e,n){u(e,n),l()}));switch(a(n),n.method){case"GET":r("".concat(n.url).concat((t=n.data)?"?".concat("object"===T(t)?(0,p.parseQueryStringParameters)(t):t):""),{success:o,error:d},void 0,I({method:"GET",withCredentials:!0},n.options));break;case"POST":r(n.url,{success:o,error:d},"string"==typeof n.data?n.data:JSON.stringify(n.data),I({method:"POST",contentType:"text/plain",withCredentials:!0},n.options));break;default:(0,p.logWarn)("Skipping invalid request from ".concat(e.code,". Request type ").concat(n.type," must be GET or POST")),l()}}))}else d()}),"processBidderRequests"),U=(0,b.z3)("async",(function(e,n,t,r){var a=o.vc.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(a||!i.ZP.aliasRegistry[e.code])){var u=o.vc.getConfig("userSync.filterSettings"),s=e.getUserSyncs({iframeEnabled:!(!u||!u.iframe&&!u.all),pixelEnabled:!(!u||!u.image&&!u.all)},n,t,r);s&&(Array.isArray(s)||(s=[s]),s.forEach((function(n){c.k_.registerSync(n.type,e.code,n.url)})))}}),"registerSyncs");function R(e,n){if(!o.vc.getConfig("adpod.brandCategoryExclusion"))return e.call(this,n);n.filter((function(e){return(0,v.Z)(e,"mediaTypes.video.context")===y.Oh})).map((function(e){return e.bids.map((function(e){return e.bidder}))})).reduce(p.flatten,[]).filter(p.uniques).forEach((function(e){var n=i.ZP.getBidAdapter(e);if(n.getSpec().getMappingFileInfo){var t=n.getSpec().getMappingFileInfo(),r=t.refreshInDays?t.refreshInDays:1,o=t.localStorageKey?t.localStorageKey:n.getSpec().code,a=C.getDataFromLocalStorage(o);try{(!(a=a?JSON.parse(a):void 0)||(0,p.timestamp)()>a.lastUpdated+24*r*60*60*1e3)&&(0,g.h)(t.url,{success:function(n){try{n=JSON.parse(n);var t={lastUpdated:(0,p.timestamp)(),mapping:n.mapping};C.setDataInLocalStorage(o,JSON.stringify(t))}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}},error:function(){(0,p.logError)("Failed to load ".concat(e," bidder translation file"))}})}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}}})),e.call(this,n)}function D(e,n){var t=i.ZP.getBidAdapter(e);if(t.getSpec().getMappingFileInfo){var r=t.getSpec().getMappingFileInfo(),o=r.localStorageKey?r.localStorageKey:t.getBidderCode(),a=C.getDataFromLocalStorage(o);if(a){try{a=JSON.parse(a)}catch(n){(0,p.logError)("Failed to parse ".concat(e," mapping data stored in local storage"))}return a.mapping[n]?a.mapping[n]:null}}}function k(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;if((n.width||0===parseInt(n.width,10))&&(n.height||0===parseInt(n.height,10)))return n.width=parseInt(n.width,10),n.height=parseInt(n.height,10),!0;var o=i.getBidRequest(n),a=i.getMediaTypes(n),c=o&&o.sizes||a&&a.banner&&a.banner.sizes,u=(0,p.parseSizesInput)(c);if(1===u.length){var s=u[0].split("x"),d=S(s,2),f=d[0],l=d[1];return n.width=parseInt(f,10),n.height=parseInt(l,10),!0}return!1}function j(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;function o(){var e=Object.keys(n);return w.every((function(t){return(0,l.q9)(e,t)&&!(0,l.q9)([void 0,null],n[t])}))}function a(e){return"Invalid bid from ".concat(n.bidderCode,". Ignoring bid: ").concat(e)}return e?n?o()?"native"!==n.mediaType||(0,u.r4)(n,{index:i})?"video"!==n.mediaType||(0,s.Dn)(n,{index:i})?!("banner"===n.mediaType&&!k(e,n,{index:i})&&((0,p.logError)(a("Banner bids require a width and height")),1)):((0,p.logError)(a("Video bid does not have required vastUrl or renderer property")),!1):((0,p.logError)(a("Native bid missing some required properties.")),!1):((0,p.logError)(a("Bidder ".concat(n.bidderCode," is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))),!1):((0,p.logWarn)("Some adapter tried to add an undefined bid for ".concat(e,".")),!1):((0,p.logWarn)("No adUnitCode was supplied to addBidResponse."),!1)}(0,b.v5)("checkAdUnitSetup").before(R)},6996:function(e,n,t){"use strict";t.d(n,{B:function(){return c}});var r=t(1879),i=t(9853),o=new WeakMap,a=["adloox","criteo","outstream","adagio","browsi","brandmetrics","justtag"];function c(e,n,t,c){if(n&&e){if((0,r.q9)(a,n)){c||(c=document);var u=f(c,e);if(u)return t&&"function"==typeof t&&(u.loaded?t():u.callbacks.push(t)),u.tag;var s=o.get(c)||{},d={loaded:!1,tag:null,callbacks:[]};return s[e]=d,o.set(c,s),t&&"function"==typeof t&&d.callbacks.push(t),(0,i.logWarn)("module ".concat(n," is loading external JavaScript")),function(n,t,r){r||(r=document);var o=r.createElement("script");o.type="text/javascript",o.async=!0;var a=f(r,e);return a&&(a.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,t())}:o.onload=function(){t()},o.src=n,(0,i.insertElement)(o,r),o}(e,(function(){d.loaded=!0;try{for(var e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){(0,i.logError)("Error executing callback","adloader.js:loadExternalScript",e)}}),c)}(0,i.logError)("".concat(n," not whitelisted for loading external JavaScript"))}else(0,i.logError)("cannot load external script without url and moduleCode");function f(e,n){var t=o.get(e);return t&&t[n]?t[n]:null}}},5755:function(e,n,t){"use strict";t.d(n,{O:function(){return u},h:function(){return c}});var r=t(8962),i=t(9853);function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var c=u();function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.request,c=n.done;return function(n,u,s){var d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};try{var f,l=d.method||(s?"POST":"GET"),g=document.createElement("a");g.href=n;var p="object"===a(u)&&null!==u?u:{success:function(){(0,i.logMessage)("xhr success")},error:function(e){(0,i.logError)("xhr error",null,e)}};if("function"==typeof u&&(p.success=u),(f=new window.XMLHttpRequest).onreadystatechange=function(){if(4===f.readyState){"function"==typeof c&&c(g.origin);var e=f.status;e>=200&&e<300||304===e?p.success(f.responseText,f):p.error(f.statusText,f)}},r.vc.getConfig("disableAjaxTimeout")||(f.ontimeout=function(){(0,i.logError)(" xhr timeout after ",f.timeout,"ms")}),"GET"===l&&s){var v=(0,i.parseUrl)(n,d);o(v.search,s),n=(0,i.buildUrl)(v)}f.open(l,n,!0),r.vc.getConfig("disableAjaxTimeout")||(f.timeout=e),d.withCredentials&&(f.withCredentials=!0),(0,i._each)(d.customHeaders,(function(e,n){f.setRequestHeader(n,e)})),d.preflight&&f.setRequestHeader("X-Requested-With","XMLHttpRequest"),f.setRequestHeader("Content-Type",d.contentType||"text/plain"),"function"==typeof t&&t(g.origin),"POST"===l&&s?f.send(s):f.send()}catch(e){(0,i.logError)("xhr construction",e),"object"===a(u)&&null!==u&&u.error(e)}}}},4892:function(e,n,t){"use strict";t.d(n,{D$:function(){return N},LX:function(){return W},RH:function(){return q},Yt:function(){return _},Yw:function(){return T},dg:function(){return M},e0:function(){return U},lU:function(){return k},mv:function(){return I},sq:function(){return D},vO:function(){return B}});var r=t(9853),i=t(265),o=t(5553),a=t(9017),c=t(905),u=t(4877),s=t(8962),d=t(7112),f=t(3494),l=t(1879),g=t(1929),p=t(8265),v=t(4766),y=t(9624);function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}function h(){return h=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},h.apply(this,arguments)}var m=d.k_.syncUsers,E=t(7602).ZP,S=t(2319),A=t(5644),T="inProgress",I="completed";S.on(A.EVENTS.BID_ADJUSTMENT,(function(e){!function(e){var n=e.bidderCode,t=e.cpm,i=y.S.get(n||null,"bidCpmAdjustment");if(i&&"function"==typeof i)try{t=i(e.cpm,h({},e))}catch(e){(0,r.logError)("Error during bid adjustment","bidmanager.js",e)}t>=0&&(e.cpm=t)}(e)}));var C={},w={},O=[];function B(e){var n,t,i,o,a=e.adUnits,c=e.adUnitCodes,u=e.callback,d=e.cbTimeout,f=e.labels,g=e.auctionId,p=a,y=f,b=c,h=[],B=[],D=[],N=g||(0,r.generateUUID)(),x=u,q=d,M=[],G=new Set;function W(){return{auctionId:N,timestamp:n,auctionEnd:t,auctionStatus:i,adUnits:p,adUnitCodes:b,labels:y,bidderRequests:h,noBids:D,bidsReceived:B,winningBids:M,timeout:q}}function F(e,n){if(n&&clearTimeout(o),void 0===t){var c=[];e&&((0,r.logMessage)("Auction ".concat(N," timedOut")),u=G,(c=h.map((function(e){return(e.bids||[]).filter((function(e){return!u.has(e.bidder)}))})).reduce(r.flatten,[])).length&&S.emit(A.EVENTS.BID_TIMEOUT,c)),i=I,t=Date.now(),S.emit(A.EVENTS.AUCTION_END,W()),R(p,(function(){try{if(null!=x){var n=b,t=B.filter(r.bind.call(r.adUnitsFilter,this,n)).reduce(z,{});x.apply(pbjs,[t,e,N]),x=null}}catch(e){(0,r.logError)("Error executing bidsBackHandler",null,e)}finally{c.length&&E.callTimedOutBidders(a,c,q);var i=s.vc.getConfig("userSync")||{};i.enableOverride||m(i.syncDelay)}}))}var u}function L(){s.vc.resetBidder(),(0,r.logInfo)("Bids Received for Auction with id: ".concat(N),B),i=I,F(!1,!0)}function K(e){G.add(e)}function V(e){var n=this;e.forEach((function(e){var n;n=e,h=h.concat(n)}));var t={},a={bidRequests:e,run:function(){var a,d;a=F.bind(null,!0),d=setTimeout(a,q),o=d,i=T,S.emit(A.EVENTS.AUCTION_INIT,W());var f=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,i=void 0===t?v.K.index:t,o=0,a=!1,c=new Set,u={},d={};function f(e,n){null==d[e]&&(d[e]=Promise.resolve()),d[e]=d[e].then((function(){return Promise.resolve(n).catch((function(){}))}))}function g(e,t){var r=e.timeout;(null==r||r>n.getTimeout())&&(r=n.getTimeout());var i=n.getAuctionStart()+r-Date.now(),o=d[e.bidderRequestId],a=d[""];(null!=o||null!=a)&&i>0?Promise.race([new Promise((function(e){return setTimeout(e,i)})),Promise.resolve(a).then((function(){return o}))]).then(t):t()}function p(){o--,a&&0===o&&e()}function y(e,t){u[t.requestId]=!0,o++;var r=P({adUnitCode:e,bid:t,auctionId:n.getAuctionId()});"video"===r.mediaType?j(n,r,p):(k(n,r),p())}function b(){var t=n.getBidRequests(),i=s.vc.getConfig("auctionOptions");if(c.add(this),i&&!(0,r.isEmpty)(i)){var d=i.secondaryBidders;d&&!t.every((function(e){return(0,l.q9)(d,e.bidderCode)}))&&(t=t.filter((function(e){return!(0,l.q9)(d,e.bidderCode)})))}a=t.every((function(e){return c.has(e)})),this.bids.forEach((function(e){u[e.bidId]||(n.addNoBid(e),S.emit(A.EVENTS.NO_BID,e))})),a&&0===o&&e()}return{addBidResponse:function(e,n){var t=i.getBidderRequest(n);f(t&&t.bidderRequestId||"",_.call({dispatch:y},e,n))},adapterDone:function(){g(this,b.bind(this))}}}(L,n);E.callBids(p,e,f.addBidResponse,f.adapterDone,{request:function(e,n){u(C,n),u(t,e),w[e]||(w[e]={SRA:!0,origin:n}),t[e]>1&&(w[e].SRA=!1)},done:function(e){C[e]--,O[0]&&c(O[0])&&O.shift()}},q,K)}};function c(e){var n=!0,t=s.vc.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((function(e){var r=1,i=void 0!==e.src&&e.src===A.S2S.SRC?"s2s":e.bidderCode;return w[i]&&(!1===w[i].SRA&&(r=Math.min(e.bids.length,t)),C[w[i].origin]+r>t&&(n=!1)),!n})),n&&e.run(),n}function u(e,n){void 0===e[n]?e[n]=1:e[n]++}c(a)||((0,r.logWarn)("queueing auction due to limited endpoint capacity"),O.push(a))}return{addBidReceived:function(e){B=B.concat(e)},addNoBid:function(e){D=D.concat(e)},executeCallback:F,callBids:function(){i="started",n=Date.now();var e=E.makeBidRequests(p,n,N,q,y);(0,r.logInfo)("Bids Requested for Auction with id: ".concat(N),e),e.length<1?((0,r.logWarn)("No valid bid requests returned for auction"),L()):U.call({dispatch:V,context:this},e)},addWinningBid:function(e){M=M.concat(e),E.callBidWonBidder(e.bidder,e,a)},setBidTargeting:function(e){E.callSetTargetingBidder(e.bidder,e)},getWinningBids:function(){return M},getAuctionStart:function(){return n},getTimeout:function(){return q},getAuctionId:function(){return N},getAuctionStatus:function(){return i},getAdUnits:function(){return p},getAdUnitCodes:function(){return b},getBidRequests:function(){return h},getBidsReceived:function(){return B},getNoBids:function(){return D}}}var _=(0,f.z3)("sync",(function(e,n){this.dispatch.call(null,e,n)}),"addBidResponse"),U=(0,f.z3)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),R=(0,f.z3)("async",(function(e,n){n&&n()}),"bidsBackCallback");function D(e,n){n.timeToRespond>e.getTimeout()+s.vc.getConfig("timeoutBuffer")&&e.executeCallback(!0)}function k(e,n){var t,r,i;t=n,i=!0===y.S.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,t.bidderCode&&(i||t.dealId)&&(r=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,r=void 0===t?v.K.index:t;if(!n)return{};var i=r.getBidRequest(n),o={},c=W(n.mediaType,e);return F(o,c,n,i),e&&y.S.getOwn(e,A.JSON_MAPPING.ADSERVER_TARGETING)&&(F(o,y.S.ownSettingsFor(e),n,i),n.sendStandardTargeting=y.S.get(e,"sendStandardTargeting")),n.native&&(o=h({},o,(0,a.Ur)(n))),o}(t.bidderCode,t)),t.adserverTargeting=h(t.adserverTargeting||{},r),S.emit(A.EVENTS.BID_RESPONSE,n),e.addBidReceived(n),D(e,n)}function j(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=o.index,c=void 0===a?v.K.index:a,u=!0,d=(0,i.Z)(c.getMediaTypes({requestId:n.originalRequestId||n.requestId,transactionId:n.transactionId}),"video"),f=d&&(0,i.Z)(d,"context");s.vc.getConfig("cache.url")&&f!==g.gZ&&(!n.videoCacheKey||s.vc.getConfig("cache.ignoreBidderCacheKey")?(u=!1,N(e,n,t,d)):n.vastUrl||((0,r.logError)("videoCacheKey specified but not required vastUrl for video bid"),u=!1)),u&&(k(e,n),t())}var N=(0,f.z3)("async",(function(e,n,t,i){(0,c.h)([n],(function(i,o){i?((0,r.logWarn)("Failed to save to the video cache: ".concat(i,". Video bid must be discarded.")),D(e,n)):""===o[0].uuid?((0,r.logWarn)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."),D(e,n)):(n.videoCacheKey=o[0].uuid,n.vastUrl||(n.vastUrl=(0,c.z)(n.videoCacheKey)),k(e,n),t())}))}),"callPrebidCache");function P(e){var n=e.adUnitCode,t=e.bid,i=e.auctionId,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=a.index,d=void 0===c?v.K.index:c,f=d.getBidderRequest(t),l=f&&f.start||t.requestTimestamp,g=h({},t,{auctionId:i,responseTimestamp:(0,r.timestamp)(),requestTimestamp:l,cpm:parseFloat(t.cpm)||0,bidder:t.bidderCode,adUnitCode:n});g.timeToRespond=g.responseTimestamp-g.requestTimestamp,S.emit(A.EVENTS.BID_ADJUSTMENT,g);var p=d.getAdUnit(g).renderer,y=g.mediaType,m=d.getMediaTypes(g),E=m&&m[y],T=E&&E.renderer,I=null;T&&T.url&&T.render&&(!0!==T.backupOnly||!t.renderer)?I=T:p&&p.url&&p.render&&(!0!==p.backupOnly||!t.renderer)&&(I=p),I&&(g.renderer=u.Th.install({url:I.url,config:I.options}),g.renderer.setRender(I.render));var C=x(t.mediaType,m,s.vc.getConfig("mediaTypePriceGranularity")),w=(0,o.D)(g.cpm,"object"===b(C)?C:s.vc.getConfig("customPriceBucket"),s.vc.getConfig("currency.granularityMultiplier"));return g.pbLg=w.low,g.pbMg=w.med,g.pbHg=w.high,g.pbAg=w.auto,g.pbDg=w.dense,g.pbCg=w.custom,g}function x(e,n,t){if(e&&t){if(e===p.pX){var r=(0,i.Z)(n,"".concat(p.pX,".context"),"instream");if(t["".concat(p.pX,"-").concat(r)])return t["".concat(p.pX,"-").concat(r)]}return t[e]}}var q=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?v.K.index:t,i=x(e.mediaType,r.getMediaTypes(e),s.vc.getConfig("mediaTypePriceGranularity")),o="string"==typeof e.mediaType&&i?"string"==typeof i?i:"custom":s.vc.getConfig("priceGranularity");return o},M=function(e){return function(n){var t=e||q(n);return t===A.GRANULARITY_OPTIONS.AUTO?n.pbAg:t===A.GRANULARITY_OPTIONS.DENSE?n.pbDg:t===A.GRANULARITY_OPTIONS.LOW?n.pbLg:t===A.GRANULARITY_OPTIONS.MEDIUM?n.pbMg:t===A.GRANULARITY_OPTIONS.HIGH?n.pbHg:t===A.GRANULARITY_OPTIONS.CUSTOM?n.pbCg:void 0}};function G(e,n){return{key:e,val:"function"==typeof n?function(e,t){return n(e,t)}:function(e){return(0,r.getValue)(e,n)}}}function W(e,n){var t=A.TARGETING_KEYS,o=h({},y.S.settingsFor(null));if(o[A.JSON_MAPPING.ADSERVER_TARGETING]||(o[A.JSON_MAPPING.ADSERVER_TARGETING]=function(){var e=A.TARGETING_KEYS;return[G(e.BIDDER,"bidderCode"),G(e.AD_ID,"adId"),G(e.PRICE_BUCKET,M()),G(e.SIZE,"size"),G(e.DEAL,"dealId"),G(e.SOURCE,"source"),G(e.FORMAT,"mediaType"),G(e.ADOMAIN,(function(e){return e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?e.meta.advertiserDomains[0]:""}))]}()),"video"===e){var a=o[A.JSON_MAPPING.ADSERVER_TARGETING].slice();if(o[A.JSON_MAPPING.ADSERVER_TARGETING]=a,[t.UUID,t.CACHE_ID].forEach((function(e){void 0===(0,l.sE)(a,(function(n){return n.key===e}))&&a.push(G(e,"videoCacheKey"))})),s.vc.getConfig("cache.url")&&(!n||!1!==y.S.get(n,"sendStandardTargeting"))){var c=(0,r.parseUrl)(s.vc.getConfig("cache.url"));void 0===(0,l.sE)(a,(function(e){return e.key===t.CACHE_HOST}))&&a.push(G(t.CACHE_HOST,(function(e){return(0,i.Z)(e,"adserverTargeting.".concat(t.CACHE_HOST))?e.adserverTargeting[t.CACHE_HOST]:c.hostname})))}}return o}function F(e,n,t,i){var o=n[A.JSON_MAPPING.ADSERVER_TARGETING];return t.size=t.getSize(),(0,r._each)(o,(function(o){var a=o.key,c=o.val;if(e[a]&&(0,r.logWarn)("The key: "+a+" is being overwritten"),(0,r.isFn)(c))try{c=c(t,i)}catch(e){(0,r.logError)("bidmanager","ERROR",e)}(void 0===n.suppressEmptyKeys||!0!==n.suppressEmptyKeys)&&a!==A.TARGETING_KEYS.DEAL||!(0,r.isEmptyStr)(c)&&null!=c?e[a]=c:(0,r.logInfo)("suppressing empty key '"+a+"' from adserver targeting")})),e}function z(e,n){return e[n.adUnitCode]||(e[n.adUnitCode]={bids:[]}),e[n.adUnitCode].bids.push(n),e}},4766:function(e,n,t){"use strict";t.d(n,{K:function(){return s}});var r=t(9853),i=t(4892),o=t(1879);function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function c(e){a(this,{getAuction:function(n){var t=n.auctionId;if(null!=t)return e().find((function(e){return e.getAuctionId()===t}))},getAdUnit:function(n){var t=n.transactionId;if(null!=t)return e().flatMap((function(e){return e.getAdUnits()})).find((function(e){return e.transactionId===t}))},getMediaTypes:function(e){var n=e.transactionId,t=e.requestId;if(null!=t){var r=this.getBidRequest({requestId:t});if(null!=r&&(null==n||r.transactionId===n))return r.mediaTypes}else if(null!=n){var i=this.getAdUnit({transactionId:n});if(null!=i)return i.mediaTypes}},getBidderRequest:function(n){var t=n.requestId,r=n.bidderRequestId;if(null!=t||null!=r){var i=e().flatMap((function(e){return e.getBidRequests()}));return null!=r&&(i=i.filter((function(e){return e.bidderRequestId===r}))),null==t?i[0]:i.find((function(e){return e.bids&&null!=e.bids.find((function(e){return e.bidId===t}))}))}},getBidRequest:function(n){var t=n.requestId;if(null!=t)return e().flatMap((function(e){return e.getBidRequests()})).flatMap((function(e){return e.bids})).find((function(e){return e&&e.bidId===t}))}})}var u=t(5644),s=function(){var e=[],n={addWinningBid:function(n){var t=(0,o.sE)(e,(function(e){return e.getAuctionId()===n.auctionId}));t?(n.status=u.BID_STATUS.RENDERED,t.addWinningBid(n)):(0,r.logWarn)("Auction not found when adding winning bid")},getAllWinningBids:function(){return e.map((function(e){return e.getWinningBids()})).reduce(r.flatten,[])},getBidsRequested:function(){return e.map((function(e){return e.getBidRequests()})).reduce(r.flatten,[])},getNoBids:function(){return e.map((function(e){return e.getNoBids()})).reduce(r.flatten,[])},getBidsReceived:function(){return e.map((function(e){if(e.getAuctionStatus()===i.mv)return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e}))},getAllBidsForAdUnitCode:function(n){return e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e&&e.adUnitCode===n}))},getAdUnits:function(){return e.map((function(e){return e.getAdUnits()})).reduce(r.flatten,[])},getAdUnitCodes:function(){return e.map((function(e){return e.getAdUnitCodes()})).reduce(r.flatten,[]).filter(r.uniques)},createAuction:function(n){var t=n.adUnits,r=n.adUnitCodes,o=n.callback,a=n.cbTimeout,c=n.labels,u=n.auctionId,s=(0,i.vO)({adUnits:t,adUnitCodes:r,callback:o,cbTimeout:a,labels:c,auctionId:u});return function(n){e.push(n)}(s),s},findBidByAdId:function(n){return(0,o.sE)(e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]),(function(e){return e.adId===n}))},getStandardBidderAdServerTargeting:function(){return(0,i.LX)()[u.JSON_MAPPING.ADSERVER_TARGETING]},setStatusForBids:function(t,r){var i=n.findBidByAdId(t);if(i&&(i.status=r),i&&r===u.BID_STATUS.BID_TARGETING_SET){var a=(0,o.sE)(e,(function(e){return e.getAuctionId()===i.auctionId}));a&&a.setBidTargeting(i)}},getLastAuctionId:function(){return e.length&&e[e.length-1].getAuctionId()},clearAllAuctions:function(){e.length=0}};return n.index=new c((function(){return e})),n}()},9624:function(e,n,t){"use strict";t.d(n,{S:function(){return f}});var r=t(265),i=t(9853),o=t(2528);function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,n,t){if(!n.has(e))throw new TypeError("attempted to get private field on non-instance");return t}var u=t(5644),s=new WeakSet;function d(e){return null==e?this.defaultScope:e}var f=new(function(){function e(n,t){var r,i;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(r=this,i=s),i.add(r),this.getSettings=n,this.defaultScope=t}var n,t;return n=e,(t=[{key:"get",value:function(e,n){var t=this.getOwn(e,n);return void 0===t&&(t=this.getOwn(null,n)),t}},{key:"getOwn",value:function(e,n){return e=c(this,s,d).call(this,e),(0,r.Z)(this.getSettings(),"".concat(e,".").concat(n))}},{key:"getScopes",value:function(){var e=this;return Object.keys(this.getSettings()).filter((function(n){return n!==e.defaultScope}))}},{key:"settingsFor",value:function(e){return(0,i.mergeDeep)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}},{key:"ownSettingsFor",value:function(e){return e=c(this,s,d).call(this,e),this.getSettings()[e]||{}}}])&&a(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}())((function(){return(0,o.R)().bidderSettings||{}}),u.JSON_MAPPING.BD_SETTING_STANDARD)},1477:function(e,n,t){"use strict";t.d(n,{m:function(){return o}});var r=t(9853);function i(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.src,i=void 0===t?"client":t,o=n.bidder,a=void 0===o?"":o,c=n.bidId,u=n.transactionId,s=n.auctionId,d=i,f=e||0;function l(){switch(f){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}this.bidderCode=a,this.width=0,this.height=0,this.statusMessage=l(),this.adId=(0,r.getUniqueIdentifierStr)(),this.requestId=c,this.transactionId=u,this.auctionId=s,this.mediaType="banner",this.source=d,this.getStatusCode=function(){return f},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,auctionId:this.auctionId}}}function o(e,n){return new i(e,n)}},8962:function(e,n,t){"use strict";t.d(n,{FD:function(){return v},vc:function(){return m}});var r=t(5553),i=t(1879),o=t(9853),a=t(265),c=["fpd"];function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function f(){return f=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},f.apply(this,arguments)}var l=t(5644),g="TRUE"===(0,o.getParameterByName)(l.DEBUG_MODE).toUpperCase(),p=window.location.origin,v="random",y={};y[v]=!0,y.fixed=!0;var b=v,h={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},m=function(){var e,n,t,l=[],v=null;function m(){e={};var a={_debug:g,get debug(){return this._debug},set debug(e){this._debug=e},_bidderTimeout:3e3,get bidderTimeout(){return this._bidderTimeout},set bidderTimeout(e){this._bidderTimeout=e},_publisherDomain:p,get publisherDomain(){return this._publisherDomain},set publisherDomain(e){this._publisherDomain=e},_priceGranularity:h.MEDIUM,set priceGranularity(e){u(e)&&("string"==typeof e?this._priceGranularity=c(e)?e:h.MEDIUM:(0,o.isPlainObject)(e)&&(this._customPriceBucket=e,this._priceGranularity=h.CUSTOM,(0,o.logMessage)("Using custom price granularity")))},get priceGranularity(){return this._priceGranularity},_customPriceBucket:{},get customPriceBucket(){return this._customPriceBucket},_mediaTypePriceGranularity:{},get mediaTypePriceGranularity(){return this._mediaTypePriceGranularity},set mediaTypePriceGranularity(e){var n=this;this._mediaTypePriceGranularity=Object.keys(e).reduce((function(t,r){return u(e[r])?"string"==typeof e?t[r]=c(e[r])?e[r]:n._priceGranularity:(0,o.isPlainObject)(e)&&(t[r]=e[r],(0,o.logMessage)("Using custom price granularity for ".concat(r))):(0,o.logWarn)("Invalid price granularity for media type: ".concat(r)),t}),{})},_sendAllBids:!0,get enableSendAllBids(){return this._sendAllBids},set enableSendAllBids(e){this._sendAllBids=e},_useBidCache:!1,get useBidCache(){return this._useBidCache},set useBidCache(e){this._useBidCache=e},_deviceAccess:!0,get deviceAccess(){return this._deviceAccess},set deviceAccess(e){this._deviceAccess=e},_bidderSequence:b,get bidderSequence(){return this._bidderSequence},set bidderSequence(e){y[e]?this._bidderSequence=e:(0,o.logWarn)("Invalid order: ".concat(e,". Bidder Sequence was not set."))},_timeoutBuffer:400,get timeoutBuffer(){return this._timeoutBuffer},set timeoutBuffer(e){this._timeoutBuffer=e},_disableAjaxTimeout:!1,get disableAjaxTimeout(){return this._disableAjaxTimeout},set disableAjaxTimeout(e){this._disableAjaxTimeout=e},_maxNestedIframes:10,get maxNestedIframes(){return this._maxNestedIframes},set maxNestedIframes(e){this._maxNestedIframes=e},_auctionOptions:{},get auctionOptions(){return this._auctionOptions},set auctionOptions(e){(function(e){if(!(0,o.isPlainObject)(e))return(0,o.logWarn)("Auction Options must be an object"),!1;for(var n=0,t=Object.keys(e);n<t.length;n++){var r=t[n];if("secondaryBidders"!==r&&"suppressStaleRender"!==r)return(0,o.logWarn)("Auction Options given an incorrect param: ".concat(r)),!1;if("secondaryBidders"===r){if(!(0,o.isArray)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type Array")),!1;if(!e[r].every(o.isStr))return(0,o.logWarn)("Auction Options ".concat(r," must be only string")),!1}else if("suppressStaleRender"===r&&!(0,o.isBoolean)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type boolean")),!1}return!0})(e)&&(this._auctionOptions=e)}};function c(e){return(0,i.sE)(Object.keys(h),(function(n){return e===h[n]}))}function u(e){if(!e)return(0,o.logError)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)c(e)||(0,o.logWarn)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.isPlainObject)(e)&&!(0,r.t)(e))return(0,o.logError)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}n&&C(Object.keys(n).reduce((function(e,t){return n[t]!==a[t]&&(e[t]=a[t]||{}),e}),{})),n=a,t={}}function E(){if(v&&t&&(0,o.isPlainObject)(t[v])){var e=t[v],r=new Set(Object.keys(n).concat(Object.keys(e)));return(0,i.Oc)(r).reduce((function(t,r){return void 0===e[r]?t[r]=n[r]:void 0===n[r]?t[r]=e[r]:(0,o.isPlainObject)(e[r])?t[r]=(0,o.mergeDeep)({},n[r],e[r]):t[r]=e[r],t}),{})}return f({},n)}function S(e){var n={};return Object.keys(e).forEach((function(t){var r="context"===t?"site":t;n[r]="site"===r||"user"===r?Object.keys(e[t]).reduce((function(n,r){return"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}function A(e){var n={};return Object.keys(e).filter((function(e){return"context"===e})).forEach((function(t){Object.keys(e[t]).forEach((function(r){"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):"object"!==d(e[t][r])||Array.isArray(e[t][r])?(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),e[t][r])}}):Object.keys(e[t][r]).forEach((function(i){(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),s({},i.toLowerCase(),e[t][r][i]))}})}))}))})),n}function T(t){if((0,o.isPlainObject)(t)){var r=Object.keys(t),i={};r.forEach((function(r){var a="fpd"===r?"ortb2":r,c="fpd"===r?S(t[r]):t[r];(0,o.isPlainObject)(e[a])&&(0,o.isPlainObject)(c)&&(c=f({},e[a],c)),i[a]=n[a]=c})),C(i)}else(0,o.logError)("setConfig options must be an object")}function I(e,n){var t=n;if("string"!=typeof e&&(t=e,e="*"),"function"==typeof t){var r={topic:e,callback:t};return l.push(r),function(){l.splice(l.indexOf(r),1)}}(0,o.logError)("listener must be a function")}function C(e){var n=Object.keys(e);l.filter((function(e){return(0,i.q9)(n,e.topic)})).forEach((function(n){n.callback(s({},n.topic,e[n.topic]))})),l.filter((function(e){return"*"===e.topic})).forEach((function(n){return n.callback(e)}))}function w(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{r(e),e.bidders.forEach((function(r){t[r]||(t[r]={}),Object.keys(e.config).forEach((function(i){var a="fpd"===i?"ortb2":i,c="fpd"===i?S(e.config[i]):e.config[i];if((0,o.isPlainObject)(c)){var u=n?o.mergeDeep:Object.assign;t[r][a]=u({},t[r][a]||{},c)}else t[r][a]=c}))}))}catch(e){(0,o.logError)(e)}function r(e){if(!(0,o.isPlainObject)(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,o.isPlainObject)(e.config))throw"setBidderConfig bidder options must contain a config object"}}function O(e,n){v=e;try{return n()}finally{B()}}function B(){v=null}return m(),{getCurrentBidder:function(){return v},resetBidder:B,getConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0];return e?(0,a.Z)(E(),e):E()}return I.apply(void 0,arguments)},readConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0],n=(0,o.deepClone)(E());return e?(0,a.Z)(n,e):n}return I.apply(void 0,arguments)},setConfig:T,mergeConfig:function(e){if((0,o.isPlainObject)(e)){var n=Object.keys(e).reduce((function(n,t){var r=E()[t]||{};return n[t]=(0,o.mergeDeep)(r,e[t]),n}),{});return T(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){s(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},n)),n}(0,o.logError)("mergeConfig input must be an object")},setDefaults:function(t){(0,o.isPlainObject)(e)?(f(e,t),f(n,t)):(0,o.logError)("defaults must be an object")},resetConfig:m,runWithBidder:O,callbackWithBidder:function(e){return function(n){return function(){if("function"==typeof n){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return O(e,o.bind.call.apply(o.bind,[n,this].concat(r)))}(0,o.logWarn)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:w,getBidderConfig:function(){return t},mergeBidderConfig:function(e){return w(e,!0)},convertAdUnitFpd:function(e){var n=[];return e.forEach((function(e){var t;e.fpd?(e.ortb2Imp?(0,o.mergeDeep)(e.ortb2Imp,A(e.fpd)):e.ortb2Imp=A(e.fpd),n.push(((t=e).fpd,function(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(t,c)))):n.push(e)})),n},getLegacyFpd:function(e){if("object"===d(e)){var n={};return Object.keys(e).forEach((function(t){var r="site"===t?"context":t;n[r]="context"===r||"user"===r?Object.keys(e[t]).filter((function(e){return"data"!==e})).reduce((function(n,r){return"ext"===r?(0,o.mergeDeep)(n,e[t][r]):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}},getLegacyImpFpd:function(e){if("object"===d(e)){var n={};return(0,a.Z)(e,"ext.data")&&Object.keys(e.ext.data).forEach((function(t){"pbadslot"===t?(0,o.mergeDeep)(n,{context:{pbAdSlot:e.ext.data[t]}}):"adserver"===t?(0,o.mergeDeep)(n,{context:{adServer:e.ext.data[t]}}):(0,o.mergeDeep)(n,{context:{data:s({},t,e.ext.data[t])}})})),n}}}}()},5553:function(e,n,t){"use strict";t.d(n,{D:function(){return d},t:function(){return l}});var r=t(1879),i=t(9853),o={buckets:[{max:5,increment:.5}]},a={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},u={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},s={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function d(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=parseFloat(e);return isNaN(r)&&(r=""),{low:""===r?"":f(e,o,t),med:""===r?"":f(e,a,t),high:""===r?"":f(e,c,t),auto:""===r?"":f(e,s,t),dense:""===r?"":f(e,u,t),custom:""===r?"":f(e,n,t)}}function f(e,n,t){var i="";if(!l(n))return i;var o=n.buckets.reduce((function(e,n){return e.max>n.max?e:n}),{max:0}),a=0,c=(0,r.sE)(n.buckets,(function(n){if(e>o.max*t){var r=n.precision;void 0===r&&(r=2),i=(n.max*t).toFixed(r)}else{if(e<=n.max*t&&e>=a*t)return n.min=a,n;a=n.max}}));return c&&(i=function(e,n,t){var r=void 0!==n.precision?n.precision:2,i=n.increment*t,o=n.min*t,a=Math.pow(10,r+2),c=(e*a-o*a)/(i*a),u=Math.floor(c)*i+o;return(u=Number(u.toFixed(10))).toFixed(r)}(e,c,t)),i}function l(e){if((0,i.isEmpty)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;var n=!0;return e.buckets.forEach((function(e){e.max&&e.increment||(n=!1)})),n}},3636:function(e,n,t){"use strict";t.d(n,{$8:function(){return A},JI:function(){return l},gF:function(){return g},wt:function(){return T}});var r,i,o=t(8962),a=t(4892),c=t(3494),u=(0,t(9853).prefixLog)("DEBUG:"),s=u.logWarn,d=u.logMessage,f="pbjs:debugging",l=[function(e){p(),function(e){r=E.bind(e),a.Yt.before(r,5),i=S.bind(e),a.e0.before(i,5)}(e)}],g=[p];function p(){a.Yt.getHooks({hook:r}).remove(),a.e0.getHooks({hook:i}).remove()}function v(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o.vc.setConfig({debug:!0}),l.forEach((function(n){return n(e)})),d("bidder overrides enabled".concat(n?" from session":""))}function y(){g.forEach((function(e){return e()})),d("bidder overrides disabled")}function b(e,n,t){return!(!e.bidder||e.bidder===n)||!(!e.adUnitCode||e.adUnitCode===t)}function h(e,n){return Array.isArray(e)&&-1===e.indexOf(n)}function m(e,n,t){return Object.keys(e).filter((function(e){return-1===["adUnitCode","bidder"].indexOf(e)})).reduce((function(n,r){return d("bidder overrides changed '".concat(n.adUnitCode,"/").concat(n.bidderCode,"' ").concat(t,".").concat(r," from '").concat(n[r],".js' to '").concat(e[r],"'")),n[r]=e[r],n.isDebug=!0,n}),n)}function E(e,n,t){var r=this;h(r.bidders,t.bidderCode)?s("bidder '".concat(t.bidderCode,"' excluded from auction by bidder overrides")):(Array.isArray(r.bids)&&r.bids.forEach((function(e){b(e,t.bidderCode,n)||m(e,t,"bidder")})),e(n,t))}function S(e,n){var t=this,r=n.filter((function(e){return!h(t.bidders,e.bidderCode)||(s("bidRequest '".concat(e.bidderCode,"' excluded from auction by bidder overrides")),!1)}));Array.isArray(t.bidRequests)&&r.forEach((function(e){t.bidRequests.forEach((function(n){e.bids.forEach((function(t){b(n,e.bidderCode,t.adUnitCode)||m(n,t,"bidRequest")}))}))})),e(r)}var A=(0,c.z3)("sync",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.sessionStorage,r=void 0===t?window.sessionStorage:t;if(e.enabled)try{r.setItem(f,JSON.stringify(e))}catch(e){}else try{r.removeItem(f)}catch(e){}}));function T(e){var n;try{e=e||window.sessionStorage,n=JSON.parse(e.getItem(f))}catch(e){}n&&v(n,!0)}o.vc.getConfig("debugging",(function(e){return function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).sessionStorage,t=void 0===n?window.sessionStorage:n;A(e,{sessionStorage:t}),e.enabled?v(e):y()}(e.debugging)}))},2319:function(e,n,t){"use strict";function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},r.apply(this,arguments)}t.r(n),t.d(n,{emit:function(){return y},get:function(){return p},getEvents:function(){return v},off:function(){return g},on:function(){return l}});var i=t(9853),o=t(5644),a=Array.prototype.slice,c=Array.prototype.push,u=i._map(o.EVENTS,(function(e){return e})),s=o.EVENT_ID_PATHS,d=[],f=function(){var e={},n={};function t(n,t){i.logMessage("Emitting event for: "+n);var r=t[0]||{},o=r[s[n]],a=e[n]||{que:[]},u=i._map(a,(function(e,n){return n})),f=[];d.push({eventType:n,args:r,id:o,elapsedTime:i.getPerformanceNow()}),o&&i.contains(u,o)&&c.apply(f,a[o].que),c.apply(f,a.que),i._each(f,(function(e){if(e)try{e.apply(null,t)}catch(e){i.logError("Error executing handler:","events.js",e)}}))}return n.on=function(n,t,r){if(function(e){return i.contains(u,e)}(n)){var o=e[n]||{que:[]};r?(o[r]=o[r]||{que:[]},o[r].que.push(t)):o.que.push(t),e[n]=o}else i.logError("Wrong event name : "+n+" Valid event names :"+u)},n.emit=function(e){var n=a.call(arguments,1);t(e,n)},n.off=function(n,t,r){var o=e[n];i.isEmpty(o)||i.isEmpty(o.que)&&i.isEmpty(o[r])||r&&(i.isEmpty(o[r])||i.isEmpty(o[r].que))||(r?i._each(o[r].que,(function(e){var n=o[r].que;e===t&&n.splice(n.indexOf(e),1)})):i._each(o.que,(function(e){var n=o.que;e===t&&n.splice(n.indexOf(e),1)})),e[n]=o)},n.get=function(){return e},n.getEvents=function(){var e=[];return i._each(d,(function(n){var t=r({},n);e.push(t)})),e},n}(),l=f.on,g=f.off,p=f.get,v=f.getEvents,y=f.emit},3494:function(e,n,t){"use strict";t.d(n,{Bx:function(){return l},bA:function(){return f},o0:function(){return s},v5:function(){return u},z3:function(){return c}});var r=t(1432),i=t.n(r);function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var c=i()({ready:i().SYNC|i().ASYNC|i().QUEUE}),u=c.get;function s(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15,r=e.getHooks({hook:n});0===r.length&&e.before(n,t)}var d={};function f(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.postInstallAllowed,i=void 0!==r&&r;c("async",(function(t){t.forEach((function(e){return n.apply(void 0,o(e))})),i&&(d[e]=n)}),e)([])}function l(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];var i=d[e];if(i)return i.apply(void 0,t);u(e).before((function(e,n){n.push(t),e(n)}))}},8265:function(e,n,t){"use strict";t.d(n,{B5:function(){return r},Mk:function(){return o},Oh:function(){return a},pX:function(){return i}});var r="native",i="video",o="banner",a="adpod"},9017:function(e,n,t){"use strict";t.d(n,{Fb:function(){return v},JL:function(){return E},Sg:function(){return l},Ur:function(){return h},e6:function(){return b},eK:function(){return m},r4:function(){return y},xc:function(){return g}});var r=t(265),i=t(9853),o=t(1879),a=t(4766);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var f=t(5644),l=[],g=Object.keys(f.NATIVE_KEYS).map((function(e){return f.NATIVE_KEYS[e]})),p={image:{image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}};function v(e){e.forEach((function(e){var n,t,a=e.nativeParams||(0,r.Z)(e,"mediaTypes.native");a&&(e.nativeParams=(n=a)&&n.type&&((t=n.type)&&(0,o.q9)(Object.keys(p),t)||((0,i.logError)("".concat(t," nativeParam is not supported")),0))?p[n.type]:n)}))}function y(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t;if(!(0,r.Z)(e,"native.clickUrl"))return!1;var c=i.getAdUnit(e).nativeParams;if(!c)return!0;var u=Object.keys(c).filter((function(e){return c[e].required})),s=Object.keys(e.native).filter((function(n){return e.native[n]}));return u.every((function(e){return(0,o.q9)(s,e)}))}function b(e,n){var t;return"click"===e.action?t=n.native&&n.native.clickTrackers:(t=n.native&&n.native.impressionTrackers,n.native&&n.native.javascriptTrackers&&(0,i.insertHtmlIntoIframe)(n.native.javascriptTrackers)),(t||[]).forEach(i.triggerPixel),e.action}function h(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t,o={},c=i.getAdUnit(e);(0,r.Z)(c,"nativeParams.rendererUrl")?e.native.rendererUrl=S(c.nativeParams.rendererUrl):(0,r.Z)(c,"nativeParams.adTemplate")&&(e.native.adTemplate=S(c.nativeParams.adTemplate));var u=!1!==(0,r.Z)(c,"nativeParams.sendTargetingKeys"),d=A(c),f=s(s({},e.native),e.native.ext);return delete f.ext,Object.keys(f).forEach((function(n){var t=d[n],i=S(e.native[n])||S((0,r.Z)(e,"native.ext.".concat(n)));if("adTemplate"!==n&&t&&i){var a=(0,r.Z)(c,"nativeParams.".concat(n,".sendId"));"boolean"!=typeof a&&(a=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendId"))),a&&(i="".concat(t,":").concat(e.adId));var s=(0,r.Z)(c,"nativeParams.".concat(n,".sendTargetingKeys"));"boolean"!=typeof s&&(s=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendTargetingKeys"))),("boolean"==typeof s?s:u)&&(o[t]=i)}})),o}function m(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return n.native.hasOwnProperty("adTemplate")&&(t.adTemplate=S(n.native.adTemplate)),n.native.hasOwnProperty("rendererUrl")&&(t.rendererUrl=S(n.native.rendererUrl)),e.assets.forEach((function(e){var r=(0,i.getKeyByValue)(f.NATIVE_KEYS,e),o=S(n.native[r]);t.assets.push({key:r,value:o})})),t}function E(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return Object.keys(n.native).forEach((function(e,r){if("adTemplate"===e&&n.native[e])t.adTemplate=S(n.native[e]);else if("rendererUrl"===e&&n.native[e])t.rendererUrl=S(n.native[e]);else if("ext"===e)Object.keys(n.native[e]).forEach((function(r){if(n.native[e][r]){var i=S(n.native[e][r]);t.assets.push({key:r,value:i})}}));else if(n.native[e]&&f.NATIVE_KEYS.hasOwnProperty(e)){var i=S(n.native[e]);t.assets.push({key:e,value:i})}})),t}function S(e){return"object"===c(e)&&e.url?e.url:e}function A(e){var n={};return(0,r.Z)(e,"nativeParams.ext")&&Object.keys(e.nativeParams.ext).forEach((function(e){n[e]="hb_native_".concat(e)})),s(s({},f.NATIVE_KEYS),n)}},1879:function(e,n,t){"use strict";function r(e,n,t){return e&&e.includes(n,t)||!1}function i(){return Array.from.apply(Array,arguments)}function o(e,n,t){return e&&e.find(n,t)}function a(e,n,t){return e&&e.findIndex(n,t)}t.d(n,{Oc:function(){return i},cx:function(){return a},q9:function(){return r},sE:function(){return o}})},2786:function(e,n,t){"use strict";t.d(n,{zh:function(){return oe},O5:function(){return ae}});var r=t(2528),i=t(9853),o=t(265),a=t(2319),c=t(9017),u=t(5644),s=t(4766),d=t(1879),f=t(4877),l=t(8962),g=u.EVENTS,p=g.AD_RENDER_FAILED,v=g.AD_RENDER_SUCCEEDED;function y(e){var n=e.reason,t=e.message,r=e.bid,o=e.id,c={reason:n,message:t};r&&(c.bid=r),o&&(c.adId=o),(0,i.logError)(t),a.emit(p,c)}function b(e){var n=e.doc,t=e.bid,r=e.id,i={doc:n};t&&(i.bid=t),r&&(i.adId=r),a.emit(v,i)}var h=u.EVENTS.BID_WON,m=u.EVENTS.STALE_RENDER,E={"Prebid Request":function(e,n,t){if(null!=t){if(t.status!==u.BID_STATUS.RENDERED||((0,i.logWarn)("Ad id ".concat(t.adId," has been rendered before")),a.emit(m,t),!(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender"))){try{!function(e,n){var t=e.adId,r=e.ad,o=e.adUrl,a=e.width,c=e.height,u=e.renderer,s=e.cpm,d=e.originalCpm;(0,f.Pd)(u)?(0,f._U)(u,e):t&&(A(e),n({message:"Prebid Response",ad:(0,i.replaceAuctionPrice)(r,d||s),adUrl:(0,i.replaceAuctionPrice)(o,d||s),adId:t,width:a,height:c}))}(t,e)}catch(e){return void y({reason:u.AD_RENDER_FAILED_REASON.EXCEPTION,message:e.message,id:n.adId,bid:t})}s.K.addWinningBid(t),a.emit(h,t)}}else y({reason:u.AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,message:"Cannot find ad '".concat(n.adId,"' for cross-origin render request"),id:n.adId})},"Prebid Native":function(e,n,t){if(null!=t)switch(n.action){case"assetRequest":e((0,c.eK)(n,t));break;case"allAssetRequest":e((0,c.JL)(n,t));break;case"resizeNativeHeight":t.height=n.height,t.width=n.width,A(t);break;default:if("click"===(0,c.e6)(n,t))return;s.K.addWinningBid(t),a.emit(h,t)}else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))},"Prebid Event":function(e,n,t){if(null!=t)if(t.status===u.BID_STATUS.RENDERED)switch(n.event){case u.EVENTS.AD_RENDER_FAILED:y({bid:t,id:n.adId,reason:n.info.reason,message:n.info.message});break;case u.EVENTS.AD_RENDER_SUCCEEDED:b({doc:null,bid:t,id:n.adId});break;default:(0,i.logError)("Received x-origin event request for unsupported event: '".concat(n.event,"' (adId: '").concat(n.adId,"')"))}else(0,i.logWarn)("Received x-origin event request without corresponding render request for ad '".concat(n.adId,"'"));else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))}};function S(e){var n=e.message?"message":"data",t={};try{t=JSON.parse(e[n])}catch(e){return}if(t&&t.adId&&t.message){var r=(0,d.sE)(s.K.getBidsReceived(),(function(e){return e.adId===t.adId}));E.hasOwnProperty(t.message)&&E[t.message](function(e){return null==e.origin&&0===e.ports.length?function(){var e="Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870";throw(0,i.logError)(e),new Error(e)}:e.ports.length>0?function(n){e.ports[0].postMessage(JSON.stringify(n))}:function(n){e.source.postMessage(JSON.stringify(n),e.origin)}}(e),t,r)}}function A(e){var n=e.adId,t=e.adUnitCode,r=e.width,o=e.height;["div","iframe"].forEach((function(e){var a=function(e){var r=function(e,n){return(0,i.isGptPubadsDefined)()?function(e){var n=(0,d.sE)(window.googletag.pubads().getSlots(),(function(n){return(0,d.sE)(n.getTargetingKeys(),(function(t){return(0,d.q9)(n.getTargeting(t),e)}))}));return n?n.getSlotElementId():null}(e):(0,i.isApnGetTagDefined)()?function(e){var n=window.apntag.getTag(e);return n&&n.targetId}(n):n}(n,t),o=document.getElementById(r);return o&&o.querySelector(e)}(e+':not([style*="display: none"])');if(a){var c=a.style;c.width=r+"px",c.height=o+"px"}else(0,i.logWarn)("Unable to locate matching page element for adUnitCode ".concat(t,". Can't resize it to ad's dimensions. Please review setup."))}))}var T=t(7112),I=t(9742),C=t(3494),w=t(3636),O=t(7263),B=t(1477),_=t(5849),U=t(7602);function R(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return D(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?D(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(){return k=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},k.apply(this,arguments)}var j=(0,r.R)(),N=t(5644),P=t(7602).ZP,x=t(2319),q=T.k_.triggerUserSyncs,M=N.EVENTS,G=M.ADD_AD_UNITS,W=M.BID_WON,F=M.REQUEST_BIDS,z=M.SET_TARGETING,L=M.STALE_RENDER,K=N.AD_RENDER_FAILED_REASON,V=K.PREVENT_WRITING_ON_MAIN_DOCUMENT,H=K.NO_AD,Z=K.EXCEPTION,Y=K.CANNOT_FIND_AD,J=K.MISSING_DOC_OR_ADID,Q={bidWon:function(e){var n=s.K.getBidsRequested().map((function(e){return e.bids.map((function(e){return e.adUnitCode}))})).reduce(i.flatten).filter(i.uniques);if((0,i.contains)(n,e))return!0;(0,i.logError)('The "'+e+'" placement is not defined.')}};function X(e,n,t){e.defaultView&&e.defaultView.frameElement&&(e.defaultView.frameElement.width=n,e.defaultView.frameElement.height=t)}function $(e,n){var t=[];return(0,i.isArray)(e)&&(n?e.length===n:e.length>0)&&(e.every((function(e){return(0,i.isArrayOfNums)(e,2)}))?t=e:(0,i.isArrayOfNums)(e,2)&&t.push(e)),t}function ee(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.banner,r=$(t.sizes);return r.length>0?(t.sizes=r,n.sizes=r):((0,i.logError)("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."),delete n.mediaTypes.banner),n}function ne(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.video;if(t.playerSize){var r="number"==typeof t.playerSize[0]?2:1,o=$(t.playerSize,r);o.length>0?(2===r&&(0,i.logInfo)("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."),t.playerSize=o,n.sizes=o):((0,i.logError)("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."),delete n.mediaTypes.video.playerSize)}return n}function te(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.native;return t.image&&t.image.sizes&&!Array.isArray(t.image.sizes)&&((0,i.logError)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete n.mediaTypes.native.image.sizes),t.image&&t.image.aspect_ratios&&!Array.isArray(t.image.aspect_ratios)&&((0,i.logError)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete n.mediaTypes.native.image.aspect_ratios),t.icon&&t.icon.sizes&&!Array.isArray(t.icon.sizes)&&((0,i.logError)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete n.mediaTypes.native.icon.sizes),n}function re(e,n){var t=(0,o.Z)(e,"mediaTypes.".concat(n,".pos"));if(!(0,i.isNumber)(t)||isNaN(t)||!isFinite(t)){var r="Value of property 'pos' on ad unit ".concat(e.code," should be of type: Number");(0,i.logWarn)(r),x.emit(N.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:r}),delete e.mediaTypes[n].pos}return e}function ie(e){var n=function(n){return"adUnit.code '".concat(e.code,"' ").concat(n)},t=e.mediaTypes,r=e.bids;return null==r||(0,i.isArray)(r)?null==r&&null==e.ortb2Imp?((0,i.logError)(n("has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction")),null):t&&0!==Object.keys(t).length?(null==e.ortb2Imp||null!=r&&0!==r.length||(e.bids=[{bidder:null}],(0,i.logMessage)(n("defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters"))),e):((0,i.logError)(n("does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,i.logError)(n("defines 'adUnit.bids' that is not an array. Removing adUnit from auction")),null)}(0,w.wt)(),j.bidderSettings=j.bidderSettings||{},j.libLoaded=!0,j.version="v6.23.0",(0,i.logInfo)("Prebid.js v6.23.0 loaded"),j.installedModules=j.installedModules||[],j.adUnits=j.adUnits||[],j.triggerUserSyncs=q;var oe={validateAdUnit:ie,validateBannerMediaType:ee,validateVideoMediaType:ne,validateNativeMediaType:te,validateSizes:$},ae=(0,C.z3)("sync",(function(e){var n=[];return e.forEach((function(e){if(null!=(e=ie(e))){var t,r,i,o=e.mediaTypes;o.banner&&(t=ee(e),o.banner.hasOwnProperty("pos")&&(t=re(t,"banner"))),o.video&&(r=ne(t||e),o.video.hasOwnProperty("pos")&&(r=re(r,"video"))),o.native&&(i=te(r||t||e));var a=k({},t,r,i);n.push(a)}})),n}),"checkAdUnitSetup");function ce(e){var n=s.K[e]().filter(i.bind.call(i.adUnitsFilter,this,s.K.getAdUnitCodes())),t=s.K.getLastAuctionId();return n.map((function(e){return e.adUnitCode})).filter(i.uniques).map((function(e){return n.filter((function(n){return n.auctionId===t&&n.adUnitCode===e}))})).filter((function(e){return e&&e[0]&&e[0].adUnitCode})).map((function(e){return n={},r={bids:e},(t=e[0].adUnitCode)in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n;var n,t,r})).reduce((function(e,n){return k(e,n)}),{})}function ue(e,n,t){var r=n.querySelector(t);e.parentNode&&e.parentNode===r||(0,i.insertElement)(e,n,t)}j.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,i.logInfo)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var n=j.getAdserverTargetingForAdUnitCode(e);return(0,i.transformAdServerTargetingObj)(n)}(0,i.logMessage)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},j.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){var n=s.K.getAllBidsForAdUnitCode(e).filter(I.u8.isUnusedBid).filter(I.u8.isBidNotExpired);return n.length?n.reduce(i.getHighestCpm):{}}(0,i.logMessage)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},j.getAdserverTargetingForAdUnitCode=function(e){return j.getAdserverTargeting(e)[e]},j.getAdserverTargeting=function(e){return(0,i.logInfo)("Invoking pbjs.getAdserverTargeting",arguments),I.q0.getAllTargeting(e)},j.getConsentMetadata=function(){return(0,i.logInfo)("Invoking pbjs.getConsentMetadata"),{gdpr:U.rp.getConsentMeta(),usp:U.nX.getConsentMeta(),coppa:!!l.vc.getConfig("coppa")}},j.getNoBids=function(){return(0,i.logInfo)("Invoking pbjs.getNoBids",arguments),ce("getNoBids")},j.getNoBidsForAdUnitCode=function(e){return{bids:s.K.getNoBids().filter((function(n){return n.adUnitCode===e}))}},j.getBidResponses=function(){return(0,i.logInfo)("Invoking pbjs.getBidResponses",arguments),ce("getBidsReceived")},j.getBidResponsesForAdUnitCode=function(e){return{bids:s.K.getBidsReceived().filter((function(n){return n.adUnitCode===e}))}},j.setTargetingForGPTAsync=function(e,n){if((0,i.logInfo)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,i.isGptPubadsDefined)()){var t=I.q0.getAllTargeting(e);I.q0.resetPresetTargeting(e,n),I.q0.setTargetingForGPT(t,n),Object.keys(t).forEach((function(e){Object.keys(t[e]).forEach((function(n){"hb_adid"===n&&s.K.setStatusForBids(t[e][n],N.BID_STATUS.BID_TARGETING_SET)}))})),x.emit(z,t)}else(0,i.logError)("window.googletag is not defined on the page")},j.setTargetingForAst=function(e){(0,i.logInfo)("Invoking pbjs.setTargetingForAn",arguments),I.q0.isApntagDefined()?(I.q0.setTargetingForAst(e),x.emit(z,I.q0.getAllTargeting())):(0,i.logError)("window.apntag is not defined on the page")},j.renderAd=(0,C.z3)("async",(function(e,n,t){if((0,i.logInfo)("Invoking pbjs.renderAd",arguments),(0,i.logMessage)("Calling renderAd with adId :"+n),e&&n)try{var r=s.K.findBidByAdId(n);if(r){var a=!0;if(r&&r.status===N.BID_STATUS.RENDERED&&((0,i.logWarn)("Ad id ".concat(r.adId," has been rendered before")),x.emit(L,r),(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender")&&(a=!1)),a){if(r.ad=(0,i.replaceAuctionPrice)(r.ad,r.originalCpm||r.cpm),r.adUrl=(0,i.replaceAuctionPrice)(r.adUrl,r.originalCpm||r.cpm),t&&t.clickThrough){var c=t.clickThrough;r.ad=(0,i.replaceClickThrough)(r.ad,c),r.adUrl=(0,i.replaceClickThrough)(r.adUrl,c)}s.K.addWinningBid(r),x.emit(W,r);var u=r.height,d=r.width,g=r.ad,p=r.mediaType,v=r.adUrl,h=r.renderer,m=document.createComment("Creative ".concat(r.creativeId," served by ").concat(r.bidder," Prebid.js Header Bidding"));if((0,i.insertElement)(m,e,"html"),(0,f.Pd)(h))(0,f._U)(h,r,e),ue(m,e,"html"),b({doc:e,bid:r,id:n});else if(e===document&&!(0,i.inIframe)()||"video"===p){var E="Error trying to write ad. Ad render call ad id ".concat(n," was prevented from writing to the main document.");y({reason:V,message:E,bid:r,id:n})}else if(g)e.write(g),e.close(),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n});else if(v){var S=(0,i.createInvisibleIframe)();S.height=u,S.width=d,S.style.display="inline",S.style.overflow="hidden",S.src=v,(0,i.insertElement)(S,e,"body"),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n})}else{var A="Error trying to write ad. No ad for bid response id: ".concat(n);y({reason:H,message:A,bid:r,id:n})}}}else{var T="Error trying to write ad. Cannot find ad by given id : ".concat(n);y({reason:Y,message:T,id:n})}}catch(e){var I="Error trying to write ad Id :".concat(n," to the page:").concat(e.message);y({reason:Z,message:I,id:n})}else{var C="Error trying to write ad Id :".concat(n," to the page. Missing document or adId");y({reason:J,message:C,id:n})}})),j.removeAdUnit=function(e){(0,i.logInfo)("Invoking pbjs.removeAdUnit",arguments),e?((0,i.isArray)(e)?e:[e]).forEach((function(e){for(var n=j.adUnits.length-1;n>=0;n--)j.adUnits[n].code===e&&j.adUnits.splice(n,1)})):j.adUnits=[]},j.requestBids=(0,C.z3)("async",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.bidsBackHandler,t=e.timeout,r=e.adUnits,o=e.adUnitCodes,a=e.labels,c=e.auctionId;x.emit(F);var u=t||l.vc.getConfig("bidderTimeout");r=r&&l.vc.convertAdUnitFpd((0,i.isArray)(r)?r:[r])||j.adUnits,(0,i.logInfo)("Invoking pbjs.requestBids",arguments);var f=[],g=[];if(l.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(f=Array.isArray(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])})),f.forEach((function(e){g.push.apply(g,R(e.bidders))})),r=ae(r),o&&o.length?r=r.filter((function(e){return(0,d.q9)(o,e.code)})):o=r&&r.map((function(e){return e.code})),r.forEach((function(e){var n=Object.keys(e.mediaTypes||{banner:"banner"}),t=e.bids.map((function(e){return e.bidder})),r=P.bidderRegistry,o=g?t.filter((function(e){return!(0,d.q9)(g,e)})):t;e.transactionId=(0,i.generateUUID)(),o.forEach((function(t){var o=r[t],a=o&&o.getSpec&&o.getSpec(),c=a&&a.supportedMediaTypes||["banner"];n.some((function(e){return(0,d.q9)(c,e)}))?O.f.incrementBidderRequestsCounter(e.code,t):((0,i.logWarn)((0,i.unsupportedBidderMessage)(e,t)),e.bids=e.bids.filter((function(e){return e.bidder!==t})))})),O.f.incrementRequestsCounter(e.code)})),r&&0!==r.length){var p=s.K.createAuction({adUnits:r,adUnitCodes:o,callback:n,cbTimeout:u,labels:a,auctionId:c}),v=r.length;v>15&&(0,i.logInfo)("Current auction ".concat(p.getAuctionId()," contains ").concat(v," adUnits."),r),o.forEach((function(e){return I.q0.setLatestAuctionForAdUnit(e,p.getAuctionId())})),p.callBids()}else if((0,i.logMessage)("No adUnits configured. No bids requested."),"function"==typeof n)try{n()}catch(e){(0,i.logError)("Error executing bidsBackHandler",null,e)}})),j.requestBids.before((function(e,n){function t(e){for(var n;n=e.shift();)n()}t(_.Ld),t(se),e.call(this,n)}),49),j.addAdUnits=function(e){(0,i.logInfo)("Invoking pbjs.addAdUnits",arguments),j.adUnits.push.apply(j.adUnits,l.vc.convertAdUnitFpd((0,i.isArray)(e)?e:[e])),x.emit(G)},j.onEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.onEvent",arguments),(0,i.isFn)(n)?!t||Q[e].call(null,t)?x.on(e,n,t):(0,i.logError)('The id provided is not valid for event "'+e+'" and no handler was set.'):(0,i.logError)('The event handler provided is not a function and was not set on event "'+e+'".')},j.offEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.offEvent",arguments),t&&!Q[e].call(null,t)||x.off(e,n,t)},j.getEvents=function(){return(0,i.logInfo)("Invoking pbjs.getEvents"),x.getEvents()},j.registerBidAdapter=function(e,n){(0,i.logInfo)("Invoking pbjs.registerBidAdapter",arguments);try{P.registerBidAdapter(e(),n)}catch(e){(0,i.logError)("Error registering bidder adapter : "+e.message)}},j.registerAnalyticsAdapter=function(e){(0,i.logInfo)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{P.registerAnalyticsAdapter(e)}catch(e){(0,i.logError)("Error registering analytics adapter : "+e.message)}},j.createBid=function(e){return(0,i.logInfo)("Invoking pbjs.createBid",arguments),(0,B.m)(e)};var se=[],de=(0,C.z3)("async",(function(e){e&&!(0,i.isEmpty)(e)?((0,i.logInfo)("Invoking pbjs.enableAnalytics for: ",e),P.enableAnalytics(e)):(0,i.logError)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function fe(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,i.logError)("Error processing command :","prebid.js",e)}}))}j.enableAnalytics=function(e){se.push(de.bind(this,e))},j.aliasBidder=function(e,n,t){(0,i.logInfo)("Invoking pbjs.aliasBidder",arguments),e&&n?P.aliasBidAdapter(e,n,t):(0,i.logError)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},j.getAllWinningBids=function(){return s.K.getAllWinningBids()},j.getAllPrebidWinningBids=function(){return s.K.getBidsReceived().filter((function(e){return e.status===N.BID_STATUS.BID_TARGETING_SET}))},j.getHighestCpmBids=function(e){return I.q0.getWinningBids(e)},j.markWinningBidAsUsed=function(e){var n=[];e.adUnitCode&&e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId&&n.adUnitCode===e.adUnitCode})):e.adUnitCode?n=I.q0.getWinningBids(e.adUnitCode):e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId})):(0,i.logWarn)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),n.length>0&&(n[0].status=N.BID_STATUS.RENDERED)},j.getConfig=l.vc.getConfig,j.readConfig=l.vc.readConfig,j.mergeConfig=l.vc.mergeConfig,j.mergeBidderConfig=l.vc.mergeBidderConfig,j.setConfig=l.vc.setConfig,j.setBidderConfig=l.vc.setBidderConfig,j.que.push((function(){window.addEventListener("message",S,!1)})),j.cmd.push=function(e){if("function"==typeof e)try{e.call()}catch(e){(0,i.logError)("Error processing command :",e.message,e.stack)}else(0,i.logError)("Commands written into pbjs.cmd.push must be wrapped in a function")},j.que.push=j.cmd.push,j.processQueue=function(){C.z3.ready(),fe(j.que),fe(j.cmd)}},2528:function(e,n,t){"use strict";function r(){return window.pbjs}t.d(n,{R:function(){return r}}),window.pbjs=window.pbjs||{},window.pbjs.cmd=window.pbjs.cmd||[],window.pbjs.que=window.pbjs.que||[],window._pbjsGlobals=window._pbjsGlobals||[],window._pbjsGlobals.push("pbjs")},2661:function(e,n,t){"use strict";t.d(n,{n:function(){return o}});var r=t(8962),i=t(9853),o=function(e){function n(e){var n=r.vc.getConfig("pageUrl");if(n)return n;try{var t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}return function(){var t,o,a,c=[],u=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(e),s=r.vc.getConfig("maxNestedIframes"),d=!1,f=0,l=!1,g=!1;do{var p=t,v=g,y=void 0,b=!1,h=null;g=!1,t=t?t.parent:e;try{y=t.location.href||null}catch(e){b=!0}if(b)if(v){var m=p.context;try{o=h=m.sourceUrl,l=!0,t===e.top&&(d=!0),m.canonicalUrl&&(a=m.canonicalUrl)}catch(e){}}else{(0,i.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location");try{var E=p.document.referrer;E&&(h=E,t===e.top&&(d=!0))}catch(e){}!h&&u&&u[f-1]&&(h=u[f-1]),h&&!l&&(o=h)}else{if(y&&(o=h=y,l=!1,t===e.top)){d=!0;var S=n(t.document);S&&(a=S)}t.context&&t.context.sourceUrl&&(g=!0)}c.push(h),f++}while(t!==e.top&&f<s);return c.reverse(),{referer:o||null,reachedTop:d,isAmp:l,numIframes:f-1,stack:c,canonicalUrl:a||null}}}(window)},1269:function(e,n,t){"use strict";t.d(n,{UB:function(){return g},lO:function(){return d}});var r=t(8962),i=t(9853),o=t(265),a=t(1879);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var u=[];function s(e,n){return e.labelAll?{labelAll:!0,labels:e.labelAll,activeLabels:n}:{labelAll:!1,labels:e.labelAny,activeLabels:n}}function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,t=l(n);return!t.shouldFilter||!!t.sizesSupported[e]}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.labels,t=void 0===n?[]:n,r=e.labelAll,c=void 0!==r&&r,s=e.activeLabels,d=void 0===s?[]:s,f=arguments.length>1?arguments[1]:void 0,g=arguments.length>2?arguments[2]:void 0,p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u,v=l(p);f=(0,i.isPlainObject)(f)?(0,i.deepClone)(f):g?{banner:{sizes:g}}:{};var y=(0,o.Z)(f,"banner.sizes");v.shouldFilter&&y&&(f.banner.sizes=y.filter((function(e){return v.sizesSupported[e]})));var b=Object.keys(f),h={active:b.every((function(e){return"banner"!==e}))||b.some((function(e){return"banner"===e}))&&(0,o.Z)(f,"banner.sizes.length")>0&&(0===t.length||!c&&(t.some((function(e){return v.labels[e]}))||t.some((function(e){return(0,a.q9)(d,e)})))||c&&t.reduce((function(e,n){return e?v.labels[n]||(0,a.q9)(d,n):e}),!0)),mediaTypes:f};return y&&y.length!==f.banner.sizes.length&&(h.filterResults={before:y,after:f.banner.sizes}),h}function l(e){return e.reduce((function(e,n){if("object"===c(n)&&"string"==typeof n.mediaQuery&&n.mediaQuery.length>0){var t=!1;try{t=(0,i.getWindowTop)().matchMedia(n.mediaQuery).matches}catch(e){(0,i.logWarn)("Unfriendly iFrame blocks sizeConfig from being correctly evaluated"),t=matchMedia(n.mediaQuery).matches}t&&(Array.isArray(n.sizesSupported)&&(e.shouldFilter=!0),["labels","sizesSupported"].forEach((function(t){return(n[t]||[]).forEach((function(n){return e[t][n]=!0}))})))}else(0,i.logWarn)('sizeConfig rule missing required property "mediaQuery"');return e}),{labels:{},sizesSupported:{},shouldFilter:!1})}function g(e,n){return e.reduce((function(e,t){var r=f(s(t,n),t.mediaTypes,t.sizes),o=r.active,a=r.mediaTypes,c=r.filterResults;return o?(c&&(0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" banner sizes from '),c.before,"to ",c.after),t.mediaTypes=a,t.bids=t.bids.reduce((function(e,r){var o=f(s(r,n),t.mediaTypes),a=o.active,c=o.mediaTypes,u=o.filterResults;return a?(u&&((0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'" banner sizes from '),u.before,"to ",u.after),r.mediaTypes=c),e.push(r)):(0,i.logInfo)('Size mapping deactivated adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'"')),e}),[]),e.push(t)):(0,i.logInfo)('Size mapping disabled adUnit "'.concat(t.code,'"')),e}),[])}r.vc.getConfig("sizeConfig",(function(e){return function(e){u=e}(e.sizeConfig)}))},5849:function(e,n,t){"use strict";t.d(n,{Ld:function(){return u},S6:function(){return d},df:function(){return l},eA:function(){return f}});var r=t(3494),i=t(9853),o=t(1879),a=t(9624),c=["core","prebid-module"],u=[];function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode,s=e.moduleType,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=f.bidderSettings,g=void 0===l?a.S:l;function p(){if(null==r)return!1;var e=g.get(r,"storageAllowed");return null!=e&&!e}function v(e){return(0,o.q9)(c,s)?e({valid:!0}):p()?((0,i.logInfo)("bidderSettings denied access to device storage for bidder '".concat(r,"'")),e({valid:!1})):(d(n,r||t,{hasEnforcementHook:!1},(function(n){if(n&&n.hasEnforcementHook)a=e(n);else{var t={hasEnforcementHook:!1,valid:(0,i.hasDeviceAccess)()};a=e(t)}})),a);var a}var y=function(e,n,t,r,i,o){var a=function(o){if(o&&o.valid){var a=i&&""!==i?" ;domain=".concat(encodeURIComponent(i)):"",c=t&&""!==t?" ;expires=".concat(t):"",u=null!=r&&"none"==r.toLowerCase()?"; Secure":"";document.cookie="".concat(e,"=").concat(encodeURIComponent(n)).concat(c,"; path=/").concat(a).concat(r?"; SameSite=".concat(r):"").concat(u)}};if(!o||"function"!=typeof o)return v(a);u.push((function(){var e=v(a);o(e)}))},b=function(e,n){var t=function(n){if(n&&n.valid){var t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},h=function(e){var n=function(e){if(e&&e.valid)try{return localStorage.setItem("prebid.cookieTest","1"),"1"===localStorage.getItem("prebid.cookieTest")}catch(e){}finally{try{localStorage.removeItem("prebid.cookieTest")}catch(e){}}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},m=function(e){var n=function(e){return!(!e||!e.valid||!(0,i.checkCookieSupport)()&&(window.document.cookie="prebid.cookieTest",-1===window.document.cookie.indexOf("prebid.cookieTest")))};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},E=function(e,n,t){var r=function(t){t&&t.valid&&T()&&window.localStorage.setItem(e,n)};if(!t||"function"!=typeof t)return v(r);u.push((function(){var e=v(r);t(e)}))},S=function(e,n){var t=function(n){return n&&n.valid&&T()?window.localStorage.getItem(e):null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},A=function(e,n){var t=function(n){n&&n.valid&&T()&&window.localStorage.removeItem(e)};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},T=function(e){var n=function(e){if(e&&e.valid)try{return!!window.localStorage}catch(e){(0,i.logError)("Local storage api disabled")}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},I=function(e,n){var t=function(n){if(n&&n.valid){var t=[];if((0,i.hasDeviceAccess)())for(var r=document.cookie.split(";");r.length;){var o=r.pop(),a=o.indexOf("=");a=a<0?o.length:a,decodeURIComponent(o.slice(0,a).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(o.slice(a+1)))}return t}};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))};return{setCookie:y,getCookie:b,localStorageIsEnabled:h,cookiesAreEnabled:m,setDataInLocalStorage:E,getDataFromLocalStorage:S,removeDataFromLocalStorage:A,hasLocalStorage:T,findSimilarCookies:I}}var d=(0,r.z3)("async",(function(e,n,t,r){r(t)}),"validateStorageEnforcement");function f(e){return s({moduleName:e,moduleType:"core"})}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode;if(arguments.length>1||arguments.length>0&&!(0,i.isPlainObject)(arguments[0]))throw new Error("Invalid invocation for getStorageManager");return s({gvlid:n,moduleName:t,bidderCode:r})}},9742:function(e,n,t){"use strict";t.d(n,{bP:function(){return C},ol:function(){return I},q0:function(){return w},u8:function(){return T}});var r=t(9853),i=t(265),o=t(8962),a=t(9017),c=t(4766),u=t(1269),s=t(8265),d=t(3494),f=t(9624),l=t(1879);function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return y(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?y(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var b=t(5644),h=[],m="targetingControls.allowTargetingKeys",E="targetingControls.addTargetingKeys",S='Only one of "'.concat(m,'" or "').concat(E,'" can be set'),A=Object.keys(b.TARGETING_KEYS).map((function(e){return b.TARGETING_KEYS[e]})),T={isBidNotExpired:function(e){return e.responseTimestamp+1e3*e.ttl-1e3>(0,r.timestamp)()},isUnusedBid:function(e){return e&&(e.status&&!(0,l.q9)([b.BID_STATUS.RENDERED],e.status)||!e.status)}},I=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!i){var a=[],c=o.vc.getConfig("sendBidsControl.dealPrioritization"),u=(0,r.groupBy)(e,"adUnitCode");return Object.keys(u).forEach((function(e){var i=[],o=(0,r.groupBy)(u[e],"bidderCode");Object.keys(o).forEach((function(e){return i.push(o[e].reduce(n))})),t>0?(i=c?i.sort(C(!0)):i.sort((function(e,n){return n.cpm-e.cpm})),a.push.apply(a,v(i.slice(0,t)))):a.push.apply(a,v(i))})),a}return e}));function C(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(n,t){return void 0!==n.adserverTargeting.hb_deal&&void 0===t.adserverTargeting.hb_deal?-1:void 0===n.adserverTargeting.hb_deal&&void 0!==t.adserverTargeting.hb_deal?1:e?t.cpm-n.cpm:t.adserverTargeting.hb_pb-n.adserverTargeting.hb_pb}}var w=function(e){var n={},t={};function c(e,n){return e.adserverTargeting&&n&&((0,r.isArray)(n)&&(0,l.q9)(n,e.adUnitCode)||"string"==typeof n&&e.adUnitCode===n)}function d(e,n){if(!0===o.vc.getConfig("targetingControls.alwaysIncludeDeals")){var t=A.concat(a.xc);return I(n,r.getHighestCpm).map((function(n){if(n.dealId&&c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]}))))})).filter((function(e){return e}))}return[]}function y(e,n){var t=g({},b.TARGETING_KEYS,b.NATIVE_KEYS),i=Object.keys(t),o={};(0,r.logInfo)("allowTargetingKeys - allowed keys [ ".concat(n.map((function(e){return t[e]})).join(", ")," ]")),e.map((function(e){var r=Object.keys(e)[0],a=e[r].filter((function(e){var r=Object.keys(e)[0],a=0===i.filter((function(e){return 0===r.indexOf(t[e])})).length||(0,l.sE)(n,(function(e){var n=t[e];return 0===r.indexOf(n)}));return o[r]=!a,a}));e[r]=a}));var a=Object.keys(o).filter((function(e){return o[e]}));return(0,r.logInfo)("allowTargetingKeys - removed keys [ ".concat(a.join(", ")," ]")),e.filter((function(e){return e[Object.keys(e)[0]].length>0}))}function w(e,n){var t=(0,r.deepClone)(e);return Object.keys(t).map((function(e){return{adUnitCode:e,adserverTargeting:t[e]}})).sort(C()).reduce((function(e,i,o,a){var c,u=(c=i.adserverTargeting,Object.keys(c).reduce((function(e,n){return e+"".concat(n,"%3d").concat(encodeURIComponent(c[n]),"%26")}),""));o+1===a.length&&(u=u.slice(0,-3));var s=i.adUnitCode,d=u.length;return d<=n?(n-=d,(0,r.logInfo)("AdUnit '".concat(s,"' auction keys comprised of ").concat(d," characters. Deducted from running threshold; new limit is ").concat(n),t[s]),e[s]=t[s]):(0,r.logWarn)("The following keys for adUnitCode '".concat(s,"' exceeded the current limit of the 'auctionKeyMaxChars' setting.\nThe key-set size was ").concat(d,", the current allotted amount was ").concat(n,".\n"),t[s]),o+1===a.length&&0===Object.keys(e).length&&(0,r.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}function O(e){var n=e.map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].join(","))})).reduce((function(e,n){return g(n,e)}),{}))})).reduce((function(e,n){var t=Object.keys(n)[0];return e[t]=g({},e[t],n[t]),e}),{});return n}function B(n){return"string"==typeof n?[n]:(0,r.isArray)(n)?n:e.getAdUnitCodes()||[]}function _(){var n=e.getBidsReceived();if(o.vc.getConfig("useBidCache")){var a=o.vc.getConfig("bidCacheFilterFunction");"function"==typeof a&&(n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId||!!a(e)})))}else n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId}));return n=n.filter((function(e){return(0,i.Z)(e,"video.context")!==s.Oh})).filter((function(e){return"banner"!==e.mediaType||(0,u.lO)([e.width,e.height])})).filter(T.isUnusedBid).filter(T.isBidNotExpired),I(n,r.getOldestHighestCpmBid)}function U(e,t){var r=n.getWinningBids(e,t),i=R();return r=r.map((function(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter((function(n){return void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===i.indexOf(n)})).reduce((function(n,t){var r=[e.adserverTargeting[t]],i=p({},t.substring(0,20),r);if(t===b.TARGETING_KEYS.DEAL){var o=p({},"".concat(t,"_").concat(e.bidderCode).substring(0,20),r);return[].concat(v(n),[i,o])}return[].concat(v(n),[i])}),[]))})),r}function R(){return e.getStandardBidderAdServerTargeting().map((function(e){return e.key})).concat(A).filter(r.uniques)}function D(e,n,t,i){return Object.keys(n.adserverTargeting).filter(k()).forEach((function(t){e.length&&e.filter(function(e){return function(t){return t.adUnitCode===n.adUnitCode&&t.adserverTargeting[e]}}(t)).forEach(function(e){return function(t){(0,r.isArray)(t.adserverTargeting[e])||(t.adserverTargeting[e]=[t.adserverTargeting[e]]),t.adserverTargeting[e]=t.adserverTargeting[e].concat(n.adserverTargeting[e]).filter(r.uniques),delete n.adserverTargeting[e]}}(t))})),e.push(n),e}function k(){var e=R().concat(a.xc);return function(n){return-1===e.indexOf(n)}}function j(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter(k()).map((function(n){return p({},n.substring(0,20),[e.adserverTargeting[n]])})))}function N(e,n){return n.filter((function(n){return(0,l.q9)(e,n.adUnitCode)})).map((function(e){return g({},e)})).reduce(D,[]).map(j).filter((function(e){return e}))}function P(e,n){var t=A.concat(a.xc),i=o.vc.getConfig("sendBidsControl.bidLimit"),u=I(n,r.getHighestCpm,i),s=o.vc.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),d=s?s.map((function(e){return b.TARGETING_KEYS[e]})):t;return u.map((function(n){if(c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]&&-1!==d.indexOf(e)}))))})).filter((function(e){return e}))}function x(e,n){return n.map((function(n){return p({},"".concat(n,"_").concat(e.bidderCode).substring(0,20),[e.adserverTargeting[n]])}))}function q(n){function t(e){return(0,i.Z)(e,b.JSON_MAPPING.ADSERVER_TARGETING)}return e.getAdUnits().filter((function(e){return(0,l.q9)(n,e.code)&&t(e)})).map((function(e){return p({},e.code,function(e){var n=t(e);return Object.keys(n).map((function(e){return(0,r.isStr)(n[e])&&(n[e]=n[e].split(",").map((function(e){return e.trim()}))),(0,r.isArray)(n[e])||(n[e]=[n[e]]),p({},e,n[e])}))}(e))}))}return n.setLatestAuctionForAdUnit=function(e,n){t[e]=n},n.resetPresetTargeting=function(n,t){if((0,r.isGptPubadsDefined)()){var i=B(n),o=e.getAdUnits().filter((function(e){return(0,l.q9)(i,e.code)})),a=h.reduce((function(e,n){return e[n]=null,e}),{});window.googletag.pubads().getSlots().forEach((function(e){var n=(0,r.isFn)(t)&&t(e);o.forEach((function(t){(t.code===e.getAdUnitPath()||t.code===e.getSlotElementId()||(0,r.isFn)(n)&&n(t.code))&&e.updateTargetingFromMap(a)}))}))}},n.resetPresetTargetingAST=function(e){B(e).forEach((function(e){var n=window.apntag.getTag(e);if(n&&n.keywords){var t=Object.keys(n.keywords),r={};t.forEach((function(e){(0,l.q9)(h,e.toLowerCase())||(r[e]=n.keywords[e])})),window.apntag.modifyTag(e,{keywords:r})}}))},n.getAllTargeting=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e),i=U(t,n).concat(N(t,n)).concat(o.vc.getConfig("enableSendAllBids")?P(t,n):d(t,n)).concat(q(t));i.map((function(e){Object.keys(e).map((function(n){e[n].map((function(e){-1===h.indexOf(Object.keys(e)[0])&&(h=Object.keys(e).concat(h))}))}))}));var a=Object.keys(g({},b.DEFAULT_TARGETING_KEYS,b.NATIVE_KEYS)),c=o.vc.getConfig(m),u=o.vc.getConfig(E);if(null!=u&&null!=c)throw new Error(S);c=null!=u?a.concat(u):c||a,Array.isArray(c)&&c.length>0&&(i=y(i,c)),i=O(i);var s=o.vc.getConfig("targetingControls.auctionKeyMaxChars");return s&&((0,r.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(s," characters. Running checks on auction keys...")),i=w(i,s)),t.forEach((function(e){i[e]||(i[e]={})})),i},o.vc.getConfig("targetingControls",(function(e){null!=(0,i.Z)(e,m)&&null!=(0,i.Z)(e,E)&&(0,r.logError)(S)})),n.setTargetingForGPT=function(e,n){window.googletag.pubads().getSlots().forEach((function(t){Object.keys(e).filter(n?n(t):(0,r.isAdUnitCodeMatchingSlot)(t)).forEach((function(n){Object.keys(e[n]).forEach((function(t){var r=e[n][t];"string"==typeof r&&-1!==r.indexOf(",")&&(r=r.split(",")),e[n][t]=r})),(0,r.logMessage)("Attempting to set targeting-map for slot: ".concat(t.getSlotElementId()," with targeting-map:"),e[n]),t.updateTargetingFromMap(e[n])}))}))},n.getWinningBids=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e);return n.filter((function(e){return(0,l.q9)(t,e.adUnitCode)})).filter((function(e){return!0===f.S.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0})).map((function(e){return e.adUnitCode})).filter(r.uniques).map((function(e){return n.filter((function(n){return n.adUnitCode===e?n:null})).reduce(r.getHighestCpm)}))},n.setTargetingForAst=function(e){var t=n.getAllTargeting(e);try{n.resetPresetTargetingAST(e)}catch(e){(0,r.logError)("unable to reset targeting for AST"+e)}Object.keys(t).forEach((function(e){return Object.keys(t[e]).forEach((function(n){if((0,r.logMessage)("Attempting to set targeting for targetId: ".concat(e," key: ").concat(n," value: ").concat(t[e][n])),(0,r.isStr)(t[e][n])||(0,r.isArray)(t[e][n])){var i={};n.search(/pt[0-9]/)<0?i[n.toUpperCase()]=t[e][n]:i[n]=t[e][n],window.apntag.setKeywords(e,i,{overrideKeyValue:!0})}}))}))},n.isApntagDefined=function(){if(window.apntag&&(0,r.isFn)(window.apntag.setKeywords))return!0},n}(c.K)},7112:function(e,n,t){"use strict";t.d(n,{k_:function(){return l}});var r=t(9853),i=t(8962),o=t(1879),a=t(5849);function c(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return u(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},s.apply(this,arguments)}i.vc.setDefaults({userSync:(0,r.deepClone)({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:0})});var d=(0,a.eA)("usersync"),f=!(0,r.isSafariBrowser)()&&d.cookiesAreEnabled(),l=function(e){var n={},t={image:[],iframe:[]},a=new Set,u={},d={image:!0,iframe:!1},f=e.config;function l(){if(f.syncEnabled&&e.browserSupportsCookies){try{d.iframe&&g(t.iframe,(function(e){var n=c(e,2),i=n[0],o=n[1];(0,r.logMessage)("Invoking iframe user sync for bidder: ".concat(i)),(0,r.insertUserSyncIframe)(o),function(e,n){e.image=e.image.filter((function(e){return e[0]!==n}))}(t,i)})),d.image&&g(t.image,(function(e){var n=c(e,2),t=n[0],i=n[1];(0,r.logMessage)("Invoking image pixel user sync for bidder: ".concat(t)),(0,r.triggerPixel)(i)}))}catch(e){return(0,r.logError)("Error firing user syncs",e)}t={image:[],iframe:[]}}}function g(e,n){(0,r.shuffle)(e).forEach((function(e){n(e),a.add(e[0])}))}return i.vc.getConfig("userSync",(function(e){if(e.userSync){var n=e.userSync.filterSettings;(0,r.isPlainObject)(n)&&(n.image||n.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}f=s(f,e.userSync)})),n.registerSync=function(e,i,o){return a.has(i)?(0,r.logMessage)('already fired syncs for "'.concat(i,'", ignoring registerSync call')):f.syncEnabled&&(0,r.isArray)(t[e])?i?0!==f.syncsPerBidder&&Number(u[i])>=f.syncsPerBidder?(0,r.logWarn)('Number of user syncs exceeded for "'.concat(i,'"')):n.canBidderRegisterSync(e,i)?(t[e].push([i,o]),void(u=function(e,n){return e[n]?e[n]+=1:e[n]=1,e}(u,i))):(0,r.logWarn)('Bidder "'.concat(i,'" not permitted to register their "').concat(e,'" userSync pixels.')):(0,r.logWarn)("Bidder is required for registering sync"):(0,r.logWarn)('User sync type "'.concat(e,'" not supported'))},n.syncUsers=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(l,Number(e));l()},n.triggerUserSyncs=function(){f.enableOverride&&n.syncUsers()},n.canBidderRegisterSync=function(e,n){return!f.filterSettings||!function(e,n){var t=f.filterSettings;if(function(e,n){if(e.all&&e[n])return(0,r.logWarn)('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(n,'" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.')),!1;var t=e.all?e.all:e[n],i=e.all?"all":n;if(!t)return!1;var o=t.filter,a=t.bidders;return o&&"include"!==o&&"exclude"!==o?((0,r.logWarn)('UserSync "filterSettings.'.concat(i,".filter\" setting '").concat(o,"' is not a valid option; use either 'include' or 'exclude'.")),!1):!!("*"===a||Array.isArray(a)&&a.length>0&&a.every((function(e){return(0,r.isStr)(e)&&"*"!==e})))||((0,r.logWarn)('Detected an invalid setup in userSync "filterSettings.'.concat(i,".bidders\"; use either '*' (to represent all bidders) or an array of bidders.")),!1)}(t,e)){d[e]=!0;var i=t.all?t.all:t[e],a="*"===i.bidders?[n]:i.bidders,c={include:function(e,n){return!(0,o.q9)(e,n)},exclude:function(e,n){return(0,o.q9)(e,n)}};return c[i.filter||"include"](a,n)}return!d[e]}(e,n)},n}({config:i.vc.getConfig("userSync"),browserSupportsCookies:f})},9853:function(e,n,t){"use strict";t.r(n),t.d(n,{_each:function(){return de},_map:function(){return le},adUnitsFilter:function(){return xe},bind:function(){return _},buildUrl:function(){return Sn},callBurl:function(){return be},checkCookieSupport:function(){return Ve},chunk:function(){return pn},cleanObj:function(){return un},compareOn:function(){return bn},contains:function(){return fe},convertCamelToUnderscore:function(){return cn},convertTypes:function(){return fn},createInvisibleIframe:function(){return $},createTrackPixelHtml:function(){return Ee},createTrackPixelIframeHtml:function(){return Se},cyrb53Hash:function(){return In},debugTurnedOn:function(){return X},deepAccess:function(){return c.Z},deepClone:function(){return qe},deepEqual:function(){return An},deepSetValue:function(){return u.Z},delayExecution:function(){return He},fill:function(){return gn},flatten:function(){return Ie},formatQS:function(){return mn},generateUUID:function(){return D},getAdUnitSizes:function(){return x},getBidIdParameter:function(){return k},getBidRequest:function(){return Ce},getBidderCodes:function(){return _e},getDNT:function(){return $e},getDefinedParams:function(){return Ye},getGptSlotInfoForAdUnitCode:function(){return rn},getHighestCpm:function(){return De},getKeyByValue:function(){return Be},getKeys:function(){return we},getLatestHighestCpmBid:function(){return je},getMaxValueFromArray:function(){return yn},getMinValueFromArray:function(){return vn},getOldestHighestCpmBid:function(){return ke},getOrigin:function(){return Xe},getParameterByName:function(){return ee},getPerformanceNow:function(){return Le},getPrebidInternal:function(){return w},getUniqueIdentifierStr:function(){return R},getUserConfiguredParams:function(){return Qe},getValue:function(){return Oe},getValueString:function(){return Ae},getWindowFromDocument:function(){return Cn},getWindowLocation:function(){return L},getWindowSelf:function(){return z},getWindowTop:function(){return F},groupBy:function(){return Ze},hasConsoleLogger:function(){return Q},hasDeviceAccess:function(){return Ke},hasOwn:function(){return ge},inIframe:function(){return Me},insertElement:function(){return pe},insertHtmlIntoIframe:function(){return he},insertUserSyncIframe:function(){return me},internal:function(){return I},isA:function(){return ne},isAdUnitCodeMatchingSlot:function(){return nn},isApnGetTagDefined:function(){return Re},isArray:function(){return ie},isArrayOfNums:function(){return ln},isBoolean:function(){return ce},isEmpty:function(){return ue},isEmptyStr:function(){return se},isFn:function(){return te},isGptPubadsDefined:function(){return Ue},isInteger:function(){return an},isNumber:function(){return oe},isPlainObject:function(){return ae},isSafariBrowser:function(){return Ge},isSlotMatchingAdUnitCode:function(){return tn},isStr:function(){return re},isValidMediaTypes:function(){return Je},logError:function(){return Z},logInfo:function(){return V},logMessage:function(){return K},logWarn:function(){return H},mergeDeep:function(){return Tn},parseGPTSingleSizeArray:function(){return M},parseGPTSingleSizeArrayToRtbSize:function(){return G},parseQS:function(){return hn},parseQueryStringParameters:function(){return N},parseSizesInput:function(){return q},parseUrl:function(){return En},pick:function(){return sn},prefixLog:function(){return Y},replaceAuctionPrice:function(){return We},replaceClickThrough:function(){return Fe},shuffle:function(){return Pe},timestamp:function(){return ze},transformAdServerTargetingObj:function(){return P},transformBidderParamKeywords:function(){return dn},triggerPixel:function(){return ye},tryAppendQueryString:function(){return j},uniques:function(){return Te},unsupportedBidderMessage:function(){return on},waitForElementToLoad:function(){return ve}});var r=t(8962),i=t(7079),o=t.n(i),a=t(1879),c=t(265),u=t(4806);function s(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,n){if(e){if("string"==typeof e)return f(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f(e,n):void 0}}function f(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}var v,y=t(5644),b=Object.prototype.toString,h=Boolean(window.console),m=Boolean(h&&window.console.log),E=Boolean(h&&window.console.info),S=Boolean(h&&window.console.warn),A=Boolean(h&&window.console.error),T=function(){return null==v&&(v=t(2319)),v.emit.apply(v,arguments)},I={checkCookieSupport:Ve,createTrackPixelIframeHtml:Se,getWindowSelf:z,getWindowTop:F,getWindowLocation:L,insertUserSyncIframe:me,insertElement:pe,isFn:te,triggerPixel:ye,logError:Z,logWarn:H,logMessage:K,logInfo:V,parseQS:hn,formatQS:mn,deepEqual:An},C={};function w(){return C}var O,B={},_=function(e,n){return n}.bind(null,1,B)()===B?Function.prototype.bind:function(e){var n=this,t=Array.prototype.slice.call(arguments,1);return function(){return n.apply(e,t.concat(Array.prototype.slice.call(arguments)))}},U=(O=0,function(){return++O});function R(){return U()+Math.random().toString(16).substr(2)}function D(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,D)}function k(e,n){return n&&n[e]?n[e]:""}function j(e,n,t){return t?e+n+"="+encodeURIComponent(t)+"&":e}function N(e){var n="";for(var t in e)e.hasOwnProperty(t)&&(n+=t+"="+encodeURIComponent(e[t])+"&");return n.replace(/&$/,"")}function P(e){return e&&Object.getOwnPropertyNames(e).length>0?we(e).map((function(n){return"".concat(n,"=").concat(encodeURIComponent(Oe(e,n)))})).join("&"):""}function x(e){if(e){var n=[];if(e.mediaTypes&&e.mediaTypes.banner&&Array.isArray(e.mediaTypes.banner.sizes)){var t=e.mediaTypes.banner.sizes;Array.isArray(t[0])?n=t:n.push(t)}else Array.isArray(e.sizes)&&(Array.isArray(e.sizes[0])?n=e.sizes:n.push(e.sizes));return n}}function q(e){var n=[];if("string"==typeof e){var t=e.split(","),r=/^(\d)+x(\d)+$/i;if(t)for(var i in t)ge(t,i)&&t[i].match(r)&&n.push(t[i])}else if("object"===p(e)){var o=e.length;if(o>0)if(2===o&&"number"==typeof e[0]&&"number"==typeof e[1])n.push(M(e));else for(var a=0;a<o;a++)n.push(M(e[a]))}return n}function M(e){if(W(e))return e[0]+"x"+e[1]}function G(e){if(W(e))return{w:e[0],h:e[1]}}function W(e){return ie(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function F(){return window.top}function z(){return window.self}function L(){return window.location}function K(){X()&&m&&console.log.apply(console,J(arguments,"MESSAGE:"))}function V(){X()&&E&&console.info.apply(console,J(arguments,"INFO:"))}function H(){X()&&S&&console.warn.apply(console,J(arguments,"WARNING:")),T(y.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:arguments})}function Z(){X()&&A&&console.error.apply(console,J(arguments,"ERROR:")),T(y.EVENTS.AUCTION_DEBUG,{type:"ERROR",arguments:arguments})}function Y(e){function n(n){return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];n.apply(void 0,[e].concat(r))}}return{logError:n(Z),logWarn:n(H),logMessage:n(K),logInfo:n(V)}}function J(e,n){e=[].slice.call(e);var t=r.vc.getCurrentBidder();return n&&e.unshift(n),t&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(t?"%c".concat(t):"")),e;function i(e){return"display: inline-block; color: #fff; background: ".concat(e,"; padding: 1px 4px; border-radius: 3px;")}}function Q(){return m}function X(){return!!r.vc.getConfig("debug")}function $(){var e=document.createElement("iframe");return e.id=R(),e.height=0,e.width=0,e.border="0px",e.hspace="0",e.vspace="0",e.marginWidth="0",e.marginHeight="0",e.style.border="0",e.scrolling="no",e.frameBorder="0",e.src="about:blank",e.style.display="none",e}function ee(e){return hn(L().search)[e]||""}function ne(e,n){return b.call(e)==="[object "+n+"]"}function te(e){return ne(e,"Function")}function re(e){return ne(e,"String")}function ie(e){return ne(e,"Array")}function oe(e){return ne(e,"Number")}function ae(e){return ne(e,"Object")}function ce(e){return ne(e,"Boolean")}function ue(e){if(!e)return!0;if(ie(e)||re(e))return!(e.length>0);for(var n in e)if(hasOwnProperty.call(e,n))return!1;return!0}function se(e){return re(e)&&(!e||0===e.length)}function de(e,n){if(!ue(e)){if(te(e.forEach))return e.forEach(n,this);var t=0,r=e.length;if(r>0)for(;t<r;t++)n(e[t],t,e);else for(t in e)hasOwnProperty.call(e,t)&&n.call(this,e[t],t)}}function fe(e,n){if(ue(e))return!1;if(te(e.indexOf))return-1!==e.indexOf(n);for(var t=e.length;t--;)if(e[t]===n)return!0;return!1}function le(e,n){if(ue(e))return[];if(te(e.map))return e.map(n);var t=[];return de(e,(function(r,i){t.push(n(r,i,e))})),t}function ge(e,n){return e.hasOwnProperty?e.hasOwnProperty(n):void 0!==e[n]&&e.constructor.prototype[n]!==e[n]}function pe(e,n,t,r){var i;n=n||document,i=t?n.getElementsByTagName(t):n.getElementsByTagName("head");try{if((i=i.length?i:n.getElementsByTagName("body")).length){i=i[0];var o=r?null:i.firstChild;return i.insertBefore(e,o)}}catch(e){}}function ve(e,n){var t=null;return new Promise((function(r){var i=function n(){e.removeEventListener("load",n),e.removeEventListener("error",n),null!=t&&window.clearTimeout(t),r()};e.addEventListener("load",i),e.addEventListener("error",i),null!=n&&(t=window.setTimeout(i,n))}))}function ye(e,n,t){var r=new Image;n&&I.isFn(n)&&ve(r,t).then(n),r.src=e}function be(e){var n=e.source,t=e.burl;n===y.S2S.SRC&&t&&I.triggerPixel(t)}function he(e){if(e){var n=document.createElement("iframe");n.id=R(),n.width=0,n.height=0,n.hspace="0",n.vspace="0",n.marginWidth="0",n.marginHeight="0",n.style.display="none",n.style.height="0px",n.style.width="0px",n.scrolling="no",n.frameBorder="0",n.allowtransparency="true",I.insertElement(n,document,"body"),n.contentWindow.document.open(),n.contentWindow.document.write(e),n.contentWindow.document.close()}}function me(e,n,t){var r=I.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),i=document.createElement("div");i.innerHTML=r;var o=i.firstChild;n&&I.isFn(n)&&ve(o,t).then(n),I.insertElement(o,document,"html",!0)}function Ee(e){return e?'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">'+'<img src="'+encodeURI(e)+'"></div>':""}function Se(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?(n&&(e=encodeURI(e)),t&&(t='sandbox="'.concat(t,'"')),"<iframe ".concat(t,' id="').concat(R(),'"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="').concat(e,'">\n </iframe>')):""}function Ae(e,n,t){return null==n?t:re(n)?n:oe(n)?n.toString():void I.logWarn("Unsuported type for param: "+e+" required type: String")}function Te(e,n,t){return t.indexOf(e)===n}function Ie(e,n){return e.concat(n)}function Ce(e,n){var t;if(e)return n.some((function(n){var r=(0,a.sE)(n.bids,(function(n){return["bidId","adId","bid_id"].some((function(t){return n[t]===e}))}));return r&&(t=r),r})),t}function we(e){return Object.keys(e)}function Oe(e,n){return e[n]}function Be(e,n){for(var t in e)if(e.hasOwnProperty(t)&&e[t]===n)return t}function _e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pbjs.adUnits;return e.map((function(e){return e.bids.map((function(e){return e.bidder})).reduce(Ie,[])})).reduce(Ie,[]).filter(Te)}function Ue(){if(window.googletag&&te(window.googletag.pubads)&&te(window.googletag.pubads().getSlots))return!0}function Re(){if(window.apntag&&te(window.apntag.getTag))return!0}var De=Ne("timeToRespond",(function(e,n){return e>n})),ke=Ne("responseTimestamp",(function(e,n){return e>n})),je=Ne("responseTimestamp",(function(e,n){return e<n}));function Ne(e,n){return function(t,r){return t.cpm===r.cpm?n(t[e],r[e])?r:t:t.cpm<r.cpm?r:t}}function Pe(e){for(var n=e.length;n>0;){var t=Math.floor(Math.random()*n),r=e[--n];e[n]=e[t],e[t]=r}return e}function xe(e,n){return(0,a.q9)(e,n&&n.adUnitCode)}function qe(e){return o()(e)}function Me(){try{return I.getWindowSelf()!==I.getWindowTop()}catch(e){return!0}}function Ge(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function We(e,n){if(e)return e.replace(/\$\{AUCTION_PRICE\}/g,n)}function Fe(e,n){if(e&&n&&"string"==typeof n)return e.replace(/\${CLICKTHROUGH}/g,n)}function ze(){return(new Date).getTime()}function Le(){return window.performance&&window.performance.now&&window.performance.now()||0}function Ke(){return!1!==r.vc.getConfig("deviceAccess")}function Ve(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function He(e,n){if(n<1)throw new Error("numRequiredCalls must be a positive number. Got ".concat(n));var t=0;return function(){++t===n&&e.apply(this,arguments)}}function Ze(e,n){return e.reduce((function(e,t){return(e[t[n]]=e[t[n]]||[]).push(t),e}),{})}function Ye(e,n){return n.filter((function(n){return e[n]})).reduce((function(n,t){return g(n,l({},t,e[t]))}),{})}function Je(e){var n=["banner","native","video"];return!!Object.keys(e).every((function(e){return(0,a.q9)(n,e)}))&&(!e.video||!e.video.context||(0,a.q9)(["instream","outstream","adpod"],e.video.context))}function Qe(e,n,t){return e.filter((function(e){return e.code===n})).map((function(e){return e.bids})).reduce(Ie,[]).filter((function(e){return e.bidder===t})).map((function(e){return e.params||{}}))}function Xe(){return window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")}function $e(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}var en=function(e,n){return e.getAdUnitPath()===n||e.getSlotElementId()===n};function nn(e){return function(n){return en(e,n)}}function tn(e){return function(n){return en(n,e)}}function rn(e){var n;return Ue()&&(n=(0,a.sE)(window.googletag.pubads().getSlots(),tn(e))),n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}function on(e,n){var t=Object.keys(e.mediaTypes||{banner:"banner"}).join(", ");return"\n ".concat(e.code," is a ").concat(t," ad unit\n containing bidders that don't support ").concat(t,": ").concat(n,".\n This bidder won't fetch demand.\n ")}function an(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function cn(e){return e.replace(/(?:^|\.?)([A-Z])/g,(function(e,n){return"_"+n.toLowerCase()})).replace(/^_/,"")}function un(e){return Object.keys(e).reduce((function(n,t){return void 0!==e[t]&&(n[t]=e[t]),n}),{})}function sn(e,n){return"object"!==p(e)?{}:n.reduce((function(t,r,i){if("function"==typeof r)return t;var o=r,a=r.match(/^(.+?)\sas\s(.+?)$/i);a&&(r=a[1],o=a[2]);var c=e[r];return"function"==typeof n[i+1]&&(c=n[i+1](c,t)),void 0!==c&&(t[o]=c),t}),{})}function dn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"keywords",t=[];return de(e,(function(e,r){if(ie(e)){var i=[];de(e,(function(e){((e=Ae(n+"."+r,e))||""===e)&&i.push(e)})),e=i}else{if(!re(e=Ae(n+"."+r,e)))return;e=[e]}t.push({key:r,value:e})})),t}function fn(e,n){return Object.keys(e).forEach((function(t){var r,i;n[t]&&(te(e[t])?n[t]=e[t](n[t]):n[t]=(r=e[t],i=n[t],"string"===r?i&&i.toString():"number"===r?Number(i):i),isNaN(n[t])&&delete n.key)})),n}function ln(e,n){return ie(e)&&(!n||e.length===n)&&e.every((function(e){return an(e)}))}function gn(e,n){for(var t=[],r=0;r<n;r++){var i=ae(e)?qe(e):e;t.push(i)}return t}function pn(e,n){for(var t=[],r=0;r<Math.ceil(e.length/n);r++){var i=r*n,o=i+n;t.push(e.slice(i,o))}return t}function vn(e){return Math.min.apply(Math,s(e))}function yn(e){return Math.max.apply(Math,s(e))}function bn(e){return function(n,t){return n[e]<t[e]?1:n[e]>t[e]?-1:0}}function hn(e){return e?e.replace(/^\?/,"").split("&").reduce((function(e,n){var t,r,i=(t=n.split("="),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(t,r)||d(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1];return/\[\]$/.test(o)?(e[o=o.replace("[]","")]=e[o]||[],e[o].push(a)):e[o]=a||"",e}),{}):{}}function mn(e){return Object.keys(e).map((function(n){return Array.isArray(e[n])?e[n].map((function(e){return"".concat(n,"[]=").concat(e)})).join("&"):"".concat(n,"=").concat(e[n])})).join("&")}function En(e,n){var t=document.createElement("a");n&&"noDecodeWholeURL"in n&&n.noDecodeWholeURL?t.href=e:t.href=decodeURIComponent(e);var r=n&&"decodeSearchAsString"in n&&n.decodeSearchAsString;return{href:t.href,protocol:(t.protocol||"").replace(/:$/,""),hostname:t.hostname,port:+t.port,pathname:t.pathname.replace(/^(?!\/)/,"/"),search:r?t.search:I.parseQS(t.search||""),hash:(t.hash||"").replace(/^#/,""),host:t.host||window.location.host}}function Sn(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?":".concat(e.port):""))+(e.pathname||"")+(e.search?"?".concat(I.formatQS(e.search||"")):"")+(e.hash?"#".concat(e.hash):"")}function An(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.checkTypes,i=void 0!==r&&r;if(e===n)return!0;if("object"!==p(e)||null===e||"object"!==p(n)||null===n||i&&e.constructor!==n.constructor)return!1;if(Object.keys(e).length!==Object.keys(n).length)return!1;for(var o in e){if(!n.hasOwnProperty(o))return!1;if(!An(e[o],n[o],{checkTypes:i}))return!1}return!0}function Tn(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if(!t.length)return e;var i=t.shift();if(ae(e)&&ae(i)){var o=function(n){ae(i[n])?(e[n]||g(e,l({},n,{})),Tn(e[n],i[n])):ie(i[n])?e[n]?ie(e[n])&&i[n].forEach((function(t){for(var r=1,i=0;i<e[n].length;i++)if(An(e[n][i],t)){r=0;break}r&&e[n].push(t)})):g(e,l({},n,s(i[n]))):g(e,l({},n,i[n]))};for(var a in i)o(a)}return Tn.apply(void 0,[e].concat(t))}function In(e){for(var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=function(e,n){if(te(Math.imul))return Math.imul(e,n);var t=(4194303&e)*(n|=0);return 4290772992&e&&(t+=(4290772992&e)*n|0),0|t},i=3735928559^t,o=1103547991^t,a=0;a<e.length;a++)i=r(i^(n=e.charCodeAt(a)),2654435761),o=r(o^n,1597334677);return i=r(i^i>>>16,2246822507)^r(o^o>>>13,3266489909),(4294967296*(2097151&(o=r(o^o>>>16,2246822507)^r(i^i>>>13,3266489909)))+(i>>>0)).toString()}function Cn(e){return e?e.defaultView:null}},1929:function(e,n,t){"use strict";t.d(n,{Dn:function(){return d},LD:function(){return s},gZ:function(){return u},hD:function(){return f}});var r=t(265),i=t(9853),o=t(8962),a=t(3494),c=t(4766),u="outstream",s="instream";function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?c.K.index:t,o=(0,r.Z)(i.getMediaTypes(e),"video"),a=o&&(0,r.Z)(o,"context"),u=i.getAdUnit(e);return f(e,u,o,a)}var f=(0,a.z3)("sync",(function(e,n,t,r){return t&&r!==u?o.vc.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,i.logError)('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n '),!1):r!==u||!!(e.renderer||n&&n.renderer||t.renderer)}),"checkVideoBidSetup")},905:function(e,n,t){"use strict";t.d(n,{h:function(){return u},z:function(){return s}});var r=t(5755),i=t(8962),o=t(4766);function a(e,n){var t=n?"<![CDATA[".concat(n,"]]]]><![CDATA[>"):"";return'<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA['.concat(e,"]]]]><![CDATA[></VASTAdTagURI>\n <Impression>").concat(t,"</Impression>\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>")}function c(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?o.K.index:t,c=e.vastXml?e.vastXml:a(e.vastUrl,e.vastImpUrl),u=r.getAuction(e),s={type:"xml",value:c,ttlseconds:Number(e.ttl)};return i.vc.getConfig("cache.vasttrack")&&(s.bidder=e.bidder,s.bidid=e.requestId,s.aid=e.auctionId),null!=u&&(s.timestamp=u.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(s.key=e.customCacheKey),s}function u(e,n){var t={puts:e.map(c)};(0,r.h)(i.vc.getConfig("cache.url"),function(e){return{success:function(n){var t;try{t=JSON.parse(n).responses}catch(n){return void e(n,[])}t?e(null,t):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(n,t){e(new Error("Error storing video ad in the cache: ".concat(n,": ").concat(JSON.stringify(t))),[])}}}(n),JSON.stringify(t),{contentType:"text/plain",withCredentials:!0})}function s(e){return"".concat(i.vc.getConfig("cache.url"),"?uuid=").concat(e)}},265:function(e,n,t){"use strict";function r(e,n,t,r,i){for(n=n.split?n.split("."):n,r=0;r<n.length;r++)e=e?e[n[r]]:i;return e===i?t:e}t.d(n,{Z:function(){return r}})},4806:function(e,n,t){"use strict";function r(e,n,t){n.split&&(n=n.split("."));for(var r,i=0,o=n.length,a=e;i<o;++i)r=a[n[i]],a=a[n[i]]=i===o-1?t:null!=r?r:!~n[i+1].indexOf(".")&&+n[i+1]>-1?[]:{}}t.d(n,{Z:function(){return r}})},1432:function(e){a.SYNC=1,a.ASYNC=2,a.QUEUE=4;var n=Object.freeze({useProxy:!0,ready:0}),t=new WeakMap,r="2,1,0"===[1].reduce((function(e,n,t){return[e,n,t]}),2).toString()?Array.prototype.reduce:function(e,n){var t,r=Object(this),i=r.length>>>0,o=0;if(n)t=n;else{for(;o<i&&!(o in r);)o++;t=r[o++]}for(;o<i;)o in r&&(t=e(t,r[o],o,r)),o++;return t};function i(e,n){return Array.prototype.slice.call(e,n)}var o=Object.assign||function(e){return r.call(i(arguments,1),(function(e,n){return n&&Object.keys(n).forEach((function(t){e[t]=n[t]})),e}),e)};function a(e){var c,u={},s=[];function d(e,n){return"function"==typeof e?p.call(null,"sync",e,n):"string"==typeof e&&"function"==typeof n?p.apply(null,arguments):"object"==typeof e?f.apply(null,arguments):void 0}function f(e,n,t){var r=!0;void 0===n&&(n=Object.getOwnPropertyNames(e),r=!1);var i={},o=["constructor"];do{(n=n.filter((function(n){return!("function"!=typeof e[n]||-1!==o.indexOf(n)||n.match(/^_/))}))).forEach((function(n){var r=n.split(":"),o=r[0],a=r[1]||"sync";if(!i[o]){var c=e[o];i[o]=e[o]=p(a,c,t?[t,o]:void 0)}})),e=Object.getPrototypeOf(e)}while(r&&e);return i}function l(e){var n=Array.isArray(e)?e:e.split(".");return r.call(n,(function(t,r,i){var o=t[r],a=!1;return o||(i===n.length-1?(c||s.push((function(){a||console.warn("fun-hooks: referenced '"+e+"' but it was never created")})),t[r]=g((function(e){t[r]=e,a=!0}))):t[r]={})}),u)}function g(e){var n=[],r=[],i=function(){},a={before:function(e,t){return u.call(this,n,"before",e,t)},after:function(e,n){return u.call(this,r,"after",e,n)},getHooks:function(e){var t=n.concat(r);"object"==typeof e&&(t=t.filter((function(n){return Object.keys(e).every((function(t){return n[t]===e[t]}))})));try{o(t,{remove:function(){return t.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return t},removeAll:function(){return this.getHooks().remove()}},c={install:function(t,o,a){this.type=t,i=a,a(n,r),e&&e(o)}};return t.set(a.after,c),a;function u(e,t,o,a){var c={hook:o,type:t,priority:a||10,remove:function(){var t=e.indexOf(c);-1!==t&&(e.splice(t,1),i(n,r))}};return e.push(c),e.sort((function(e,n){return n.priority-e.priority})),i(n,r),this}}function p(n,r,u){var d=r.after&&t.get(r.after);if(d){if(d.type!==n)throw"fun-hooks: recreated hookable with different type";return r}var f,p,v=u?l(u):g(),y={get:function(e,n){return v[n]||Reflect.get.apply(Reflect,arguments)}};return c||s.push(b),e.useProxy&&"function"==typeof Proxy&&Proxy.revocable?p=new Proxy(r,y):(p=function(){return y.apply?y.apply(r,this,i(arguments)):r.apply(this,arguments)},o(p,v)),t.get(p.after).install(n,p,(function(e,t){var r,o=[];function a(e){o.push(e.hook)}e.length||t.length?(e.forEach(a),r=o.push(void 0)-1,t.forEach(a),f=function(e,t,a){var c,u=0,s="async"===n&&"function"==typeof a[a.length-1]&&a.pop();function d(e){"sync"===n?c=e:s&&s.apply(null,arguments)}function f(e){if(o[u]){var r=i(arguments);return f.bail=d,r.unshift(f),o[u++].apply(t,r)}"sync"===n?c=e:s&&s.apply(null,arguments)}return o[r]=function(){var r=i(arguments,1);"async"===n&&s&&(delete f.bail,r.push(f));var o=e.apply(t,r);"sync"===n&&f(o)},f.apply(null,a),c}):f=void 0,b()})),p;function b(){!c&&("sync"!==n||e.ready&a.SYNC)&&("async"!==n||e.ready&a.ASYNC)?"sync"!==n&&e.ready&a.QUEUE?y.apply=function(){var e=arguments;s.push((function(){p.apply(e[1],e[2])}))}:y.apply=function(){throw"fun-hooks: hooked function not ready"}:y.apply=f}}return(e=o({},n,e)).ready?d.ready=function(){c=!0,function(e){for(var n;n=e.shift();)n()}(s)}:c=!0,d.get=l,d}e.exports=a},7079:function(e){e.exports=function e(n){var t=Array.isArray(n)?[]:{};for(var r in n){var i=n[r];t[r]=i&&"object"==typeof i?e(i):i}return t}},5644:function(e){"use strict";e.exports=JSON.parse('{"JSON_MAPPING":{"PL_CODE":"code","PL_SIZE":"sizes","PL_BIDS":"bids","BD_BIDDER":"bidder","BD_ID":"paramsd","BD_PL_ID":"placementId","ADSERVER_TARGETING":"adserverTargeting","BD_SETTING_STANDARD":"standard"},"DEBUG_MODE":"pbjs_debug","STATUS":{"GOOD":1,"NO_BID":2},"CB":{"TYPE":{"ALL_BIDS_BACK":"allRequestedBidsBack","AD_UNIT_BIDS_BACK":"adUnitBidsBack","BID_WON":"bidWon","REQUEST_BIDS":"requestBids"}},"EVENTS":{"AUCTION_INIT":"auctionInit","AUCTION_END":"auctionEnd","BID_ADJUSTMENT":"bidAdjustment","BID_TIMEOUT":"bidTimeout","BID_REQUESTED":"bidRequested","BID_RESPONSE":"bidResponse","NO_BID":"noBid","BID_WON":"bidWon","BIDDER_DONE":"bidderDone","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","BILLABLE_EVENT":"billableEvent"},"AD_RENDER_FAILED_REASON":{"PREVENT_WRITING_ON_MAIN_DOCUMENT":"preventWritingOnMainDocument","NO_AD":"noAd","EXCEPTION":"exception","CANNOT_FIND_AD":"cannotFindAd","MISSING_DOC_OR_ADID":"missingDocOrAdid"},"EVENT_ID_PATHS":{"bidWon":"adUnitCode"},"GRANULARITY_OPTIONS":{"LOW":"low","MEDIUM":"medium","HIGH":"high","AUTO":"auto","DENSE":"dense","CUSTOM":"custom"},"TARGETING_KEYS":{"BIDDER":"hb_bidder","AD_ID":"hb_adid","PRICE_BUCKET":"hb_pb","SIZE":"hb_size","DEAL":"hb_deal","SOURCE":"hb_source","FORMAT":"hb_format","UUID":"hb_uuid","CACHE_ID":"hb_cache_id","CACHE_HOST":"hb_cache_host","ADOMAIN":"hb_adomain"},"DEFAULT_TARGETING_KEYS":{"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"},"NATIVE_KEYS":{"title":"hb_native_title","body":"hb_native_body","body2":"hb_native_body2","privacyLink":"hb_native_privacy","privacyIcon":"hb_native_privicon","sponsoredBy":"hb_native_brand","image":"hb_native_image","icon":"hb_native_icon","clickUrl":"hb_native_linkurl","displayUrl":"hb_native_displayurl","cta":"hb_native_cta","rating":"hb_native_rating","address":"hb_native_address","downloads":"hb_native_downloads","likes":"hb_native_likes","phone":"hb_native_phone","price":"hb_native_price","salePrice":"hb_native_saleprice","rendererUrl":"hb_renderer_url","adTemplate":"hb_adTemplate"},"S2S":{"SRC":"s2s","DEFAULT_ENDPOINT":"https://prebid.adnxs.com/pbs/v1/openrtb2/auction","SYNCED_BIDDERS_KEY":"pbjsSyncs"},"BID_STATUS":{"BID_TARGETING_SET":"targetingSet","RENDERED":"rendered","BID_REJECTED":"bidRejected"}}')}},t={};function r(e){var i=t[e];if(void 0!==i)return i.exports;var o=t[e]={exports:{}};return n[e].call(o.exports,o,o.exports,r),o.exports}r.m=n,e=[],r.O=function(n,t,i,o){if(!t){var a=1/0;for(d=0;d<e.length;d++){t=e[d][0],i=e[d][1],o=e[d][2];for(var c=!0,u=0;u<t.length;u++)(!1&o||a>=o)&&Object.keys(r.O).every((function(e){return r.O[e](t[u])}))?t.splice(u--,1):(c=!1,o<a&&(a=o));if(c){e.splice(d--,1);var s=i();void 0!==s&&(n=s)}}return n}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,i,o]},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={5602:0};r.O.j=function(n){return 0===e[n]};var n=function(n,t){var i,o,a=t[0],c=t[1],u=t[2],s=0;if(a.some((function(n){return 0!==e[n]}))){for(i in c)r.o(c,i)&&(r.m[i]=c[i]);if(u)var d=u(r)}for(n&&n(t);s<a.length;s++)o=a[s],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(d)},t=self.pbjsChunk=self.pbjsChunk||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var i=r(2786);i=r.O(i)}(); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[3188],{4475:function(e,t,n){var r=n(9853),o=n(1609),s=n(5849);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var i="concert",d={code:i,isBidRequestValid:function(e){return!!e.params.partnerId||((0,r.logWarn)("Missing partnerId bid parameter"),!1)},buildRequests:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n={meta:{prebidVersion:"6.23.0",pageUrl:t.refererInfo.referer,screen:[window.screen.width,window.screen.height].join("x"),debug:(0,r.debugTurnedOn)(),uid:u(t),optedOut:p(),adapterVersion:"1.1.1",uspConsent:t.uspConsent,gdprConsent:t.gdprConsent}};return n.slots=e.map((function(e){return{name:e.adUnitCode,bidId:e.bidId,transactionId:e.transactionId,sizes:e.params.sizes||e.sizes,partnerId:e.params.partnerId,slotType:e.params.slotType,adSlot:e.params.slot||e.adUnitCode,placementId:e.params.placementId||"",site:e.params.site||t.refererInfo.referer}})),(0,r.logMessage)(n),{method:"POST",url:"".concat("https://bids.concert.io","/bids/prebid"),data:JSON.stringify(n)}},interpretResponse:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n,o=e.body;return o&&"object"===a(o)?(n=o.bids.map((function(e){return{requestId:e.bidId,cpm:e.cpm,width:e.width,height:e.height,ad:e.ad,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},creativeId:e.creativeId,netRevenue:e.netRevenue,currency:e.currency}})),(0,r.debugTurnedOn)()&&o.debug&&(0,r.logMessage)("CONCERT",o.debug),(0,r.logMessage)(n),n):[]},getUserSyncs:function(e,t,n,r){var o=[];if(e.iframeEnabled&&!p()){var s=[];n&&"boolean"==typeof n.gdprApplies&&s.push("gdpr_applies=".concat(n.gdprApplies?"1":"0")),n&&"string"==typeof n.consentString&&s.push("gdpr_consent=".concat(n.consentString)),r&&"string"==typeof r&&s.push("usp_consent=".concat(r)),o.push({type:"iframe",url:"https://cdn.concert.io/lib/bids/sync.html"+(s.length>0?"?".concat(s.join("&")):"")})}return o},onTimeout:function(e){(0,r.logMessage)("concert bidder timed out"),(0,r.logMessage)(e)},onBidWon:function(e){(0,r.logMessage)("concert bidder won bid"),(0,r.logMessage)(e)}};(0,o.registerBidder)(d);var c=(0,s.df)({bidderCode:i});function u(e){if(p()||!function(e){return!("string"===e.uspConsent&&"1YY"===e.uspConsent.toUpperCase().substring(0,2))}(e))return!1;var t="c_uid",n=c.getDataFromLocalStorage(t);return n||(n=(0,r.generateUUID)(),c.setDataInLocalStorage(t,n)),n}function p(){return"true"===c.getDataFromLocalStorage("c_nap")}window.pbjs.installedModules.push("concertBidAdapter")}},function(e){e(e.s=4475)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[1266],{1654:function(n,e,t){var o=t(9853),a=t(8962),r=t(7602),i=t(1879);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}function s(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,o)}return t}function l(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?s(Object(t),!0).forEach((function(e){d(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function d(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var u,f,p,g,v,m={value:!0,definedInConfig:!1},b=0,C=!1,y={iab:function(n){var e=n.onSuccess,t=n.onError,a=n.width,r=n.height;function c(n,a){(0,o.logInfo)("Received a response from CMP",n),a?!1!==n.gdprApplies&&"tcloaded"!==n.eventStatus&&"useractioncomplete"!==n.eventStatus||D(n,{onSuccess:e,onError:t}):t("CMP unable to register callback function. Please check CMP setup.")}var s=function(){var n={};function a(){n.getConsentData&&n.getVendorConsents&&((0,o.logInfo)("Received all requested responses from CMP",n),D(n,{onSuccess:e,onError:t}))}return{consentDataCallback:function(e){n.getConsentData=e,a()},vendorConsentsCallback:function(e){n.getVendorConsents=e,a()}}}(),l={},u=function(){for(var n,e,t=window;!n;){try{if("function"==typeof t.__tcfapi||"function"==typeof t.__cmp){"function"==typeof t.__tcfapi?(b=2,e=t.__tcfapi):(b=1,e=t.__cmp),n=t;break}}catch(n){}try{if(t.frames.__tcfapiLocator){b=2,n=t;break}}catch(n){}try{if(t.frames.__cmpLocator){b=1,n=t;break}}catch(n){}if(t===window.top)break;t=t.parent}return{cmpFrame:n,cmpFunction:e}}(),f=u.cmpFrame,p=u.cmpFunction;if(!f)return t("CMP not found.");function g(n,e){window.$sf.ext.register(a,r,(function(t,o){if("cmpReturn"===t){var a="getConsentData"===n?o.vendorConsentData:o.vendorConsents;e(a)}})),window.$sf.ext.cmp(n)}function v(n,e,t){var o=2===b?"__tcfapi":"__cmp",a="".concat(o,"Call");function r(n){var e="".concat(o,"Return"),t="string"==typeof n.data&&(0,i.q9)(n.data,e)?JSON.parse(n.data):n.data;if(t[e]&&t[e].callId){var a=t[e];void 0!==l[a.callId]&&l[a.callId](a.returnValue,a.success)}}2===b?(window[o]=function(n,t,o,r){var i=Math.random()+"",c=d({},a,{command:n,version:t,parameter:r,callId:i});l[i]=o,e.postMessage(c,"*")},window.addEventListener("message",r,!1),window[o](n,b,t)):(window[o]=function(n,t,o){var r=Math.random()+"",i=d({},a,{command:n,parameter:t,callId:r});l[r]=o,e.postMessage(i,"*")},window.addEventListener("message",r,!1),window[o](n,void 0,t))}(0,o.isFn)(p)?((0,o.logInfo)("Detected CMP API is directly accessible, calling it now..."),1===b?(p("getConsentData",null,s.consentDataCallback),p("getVendorConsents",null,s.vendorConsentsCallback)):2===b&&p("addEventListener",b,c)):1===b&&window.$sf&&window.$sf.ext&&"function"==typeof window.$sf.ext.cmp?((0,o.logInfo)("Detected Prebid.js is encased in a SafeFrame and CMP is registered, calling it now..."),g("getConsentData",s.consentDataCallback),g("getVendorConsents",s.vendorConsentsCallback)):((0,o.logInfo)("Detected CMP is outside the current iframe where Prebid.js is located, calling it now..."),1===b?(v("getConsentData",f,s.consentDataCallback),v("getVendorConsents",f,s.vendorConsentsCallback)):2===b&&v("addEventListener",f,c))},static:function(n){var e=n.onSuccess,t=n.onError;D(g,{onSuccess:e,onError:t})}};function w(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=!1,a=null;function c(e,t,i){if(null!=a&&clearTimeout(a),o=!0,r.rp.setConsentData(e),null!=n){for(var c=arguments.length,s=new Array(c>3?c-3:0),l=3;l<c;l++)s[l-3]=arguments[l];n.apply(void 0,[t,i].concat(s))}}if((0,i.q9)(Object.keys(y),u)){var s={onSuccess:function(n){return c(n,!1)},onError:function(n){var e=null,t=!0;m.value&&1===b&&(e=P(void 0),t=!1);for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];c.apply(void 0,[e,t,n].concat(a))}};y[u](l({width:e,height:t},s)),o||(0===f?D(void 0,s):a=setTimeout((function(){2===b?c(P(void 0),!1,"No response from CMP, continuing auction..."):s.onError("CMP workflow exceeded timeout threshold.")}),f))}else c(null,!1,"CMP framework (".concat(u,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function h(n,e){!function(){if(v)return(0,o.logInfo)("User consent information already known. Pulling internally stored information..."),function(n){n(!1)};var n=e.adUnits||pbjs.adUnits,t=1,a=1;if(Array.isArray(n)&&n.length>0){var r,i,c=(0,o.getAdUnitSizes)(n[0]);t=(null==c||null===(r=c[0])||void 0===r?void 0:r[0])||1,a=(null==c||null===(i=c[0])||void 0===i?void 0:i[1])||1}return function(n){w(n,t,a)}}()((function(t,a){if(a){var r=o.logWarn;1!==b||t?t&&(r=o.logError,a="".concat(a," Canceling auction as per consentManagement config.")):a="".concat(a," 'allowAuctionWithoutConsent' activated.");for(var i=arguments.length,c=new Array(i>2?i-2:0),s=2;s<i;s++)c[s-2]=arguments[s];r.apply(void 0,[a].concat(c))}t?"function"==typeof e.bidsBackHandler?e.bidsBackHandler():(0,o.logError)("Error executing bidsBackHandler"):n.call(this,e)}))}function D(n,e){var t=e.onSuccess,a=e.onError;"static"===u&&2==(b=n.getConsentData?1:n.getTCData?2:0)&&(n=n.getTCData);var r=1===b?function(n){var e=n&&n.getConsentData&&n.getConsentData.gdprApplies;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(n.getConsentData.consentData)&&(0,o.isPlainObject)(n.getVendorConsents)&&Object.keys(n.getVendorConsents).length>1))}:2===b?function(){var e=n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p,t=n&&n.tcString;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(t)))}:null;(0,o.isFn)(r)?r(n)?a("CMP returned unexpected value during lookup process.",n):t(P(n)):a("Unable to derive CMP version to process data. Consent object does not conform to TCF v1 or v2 specs.",n)}function P(n){return 1===b?v={consentString:n?n.getConsentData.consentData:void 0,vendorData:n?n.getVendorConsents:void 0,gdprApplies:n?n.getConsentData.gdprApplies:p}:(v={consentString:n?n.tcString:void 0,vendorData:n||void 0,gdprApplies:n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p},n&&n.addtlConsent&&(0,o.isStr)(n.addtlConsent)&&(v.addtlConsent=n.addtlConsent)),v.apiVersion=b,v}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&(n.gdpr||n.usp?n.gdpr:n))&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?u=n.cmpApi:(u="iab",(0,o.logInfo)("consentManagement config did not specify cmp. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?f=n.timeout:(f=1e4,(0,o.logInfo)("consentManagement config did not specify timeout. Using system default setting (".concat(1e4,")."))),"boolean"==typeof n.allowAuctionWithoutConsent&&(m.value=n.allowAuctionWithoutConsent,m.definedInConfig=!0),p=!0===n.defaultGdprScope,(0,o.logInfo)("consentManagement module has been activated..."),"static"===u&&((0,o.isPlainObject)(n.consentData)?(g=n.consentData,f=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),C||pbjs.requestBids.before(h,50),C=!0,r.rp.enable(),w(),m.definedInConfig&&2===b?(0,o.logWarn)("'allowAuctionWithoutConsent' ignored for TCF 2"):m.definedInConfig||1!==b||(0,o.logInfo)("'allowAuctionWithoutConsent' using system default: (".concat(!0,")."))):(0,o.logWarn)("consentManagement config not defined, exiting consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagement")}},function(n){n(n.s=1654)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5160],{1366:function(n,t,e){var o=e(9853),a=e(8962),i=e(7602);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}var s,r,u,l,p=!1,f={iab:function(n){var t,e=n.onSuccess,a=n.onError,i=(t={},{consentDataCallback:function(n,o){o&&n.uspString&&(t.usPrivacy=n.uspString),t.usPrivacy?m(t,{onSuccess:e,onError:a}):a("Unable to get USP consent string.")}}),c={},s=function(){for(var n,t,e=window;!n;){try{if("function"==typeof e.__uspapi){t=e.__uspapi,n=e;break}}catch(n){}try{if(e.frames.__uspapiLocator){n=e;break}}catch(n){}if(e===window.top)break;e=e.parent}return{uspapiFrame:n,uspapiFunction:t}}(),r=s.uspapiFrame,u=s.uspapiFunction;if(!r)return a("USP CMP not found.");(0,o.isFn)(u)?((0,o.logInfo)("Detected USP CMP is directly accessible, calling it now..."),u("getUSPData",1,i.consentDataCallback)):((0,o.logInfo)("Detected USP CMP is outside the current iframe where Prebid.js is located, calling it now..."),function(n,t,e){window.__uspapi=function(n,e,o){var a=Math.random()+"",i={__uspapiCall:{command:n,version:e,callId:a}};c[a]=o,t.postMessage(i,"*")},window.addEventListener("message",(function(n){var t=n&&n.data&&n.data.__uspapiReturn;t&&t.callId&&void 0!==c[t.callId]&&(c[t.callId](t.returnValue,t.success),delete c[t.callId])}),!1),window.__uspapi("getUSPData",1,e)}(0,r,i.consentDataCallback))},static:function(n){var t=n.onSuccess,e=n.onError;m(u,{onSuccess:t,onError:e})}};function d(n){var t=null,e=!1;function o(o,a){if(null!=t&&clearTimeout(t),e=!0,i.nX.setConsentData(o),null!=n){for(var c=arguments.length,s=new Array(c>2?c-2:0),r=2;r<c;r++)s[r-2]=arguments[r];n.apply(void 0,[a].concat(s))}}if(f[s]){var a={onSuccess:o,onError:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];o.apply(void 0,[null,"".concat(n," Resuming auction without consent data as per consentManagement config.")].concat(e))}};f[s](a),e||(0===r?m(void 0,a):t=setTimeout(a.onError.bind(null,"USPAPI workflow exceeded timeout threshold."),r))}else o(null,"USP framework (".concat(s,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function g(n,t){var e=this;d((function(a){if(null!=a){for(var i=arguments.length,c=new Array(i>1?i-1:0),s=1;s<i;s++)c[s-1]=arguments[s];o.logWarn.apply(void 0,[a].concat(c))}n.call(e,t)}))}function m(n,t){var e=t.onSuccess,o=t.onError;n&&n.usPrivacy?(function(n){n&&n.usPrivacy&&(l=n.usPrivacy)}(n),e(l)):o("USPAPI returned unexpected value during lookup process.",n)}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&n.usp)&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?s=n.cmpApi:(s="iab",(0,o.logInfo)("consentManagement.usp config did not specify cmpApi. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?r=n.timeout:(r=50,(0,o.logInfo)("consentManagement.usp config did not specify timeout. Using system default setting (".concat(50,")."))),(0,o.logInfo)("USPAPI consentManagement module has been activated..."),"static"===s&&((0,o.isPlainObject)(n.consentData)&&(0,o.isPlainObject)(n.consentData.getUSPData)?(n.consentData.getUSPData.uspString&&(u={usPrivacy:n.consentData.getUSPData.uspString}),r=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),p||pbjs.requestBids.before(g,50),p=!0,i.nX.enable(),d()):(0,o.logWarn)("consentManagement.usp config not defined, exiting usp consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagementUsp")}},function(n){n(n.s=1366)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8806],{2235:function(e,n,t){var i=t(9853),o=t(3494),r=t(2661),c=t(5849),d={},a=window===window.top?window:window.top,m=(0,c.eA)("enrichmentFpd");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.hostname;if(!m.cookiesAreEnabled())return e;var n,t,o=e.split(".");if(2==o.length)return e;var r=-2,c="_rdc".concat(Date.now()),d="writeable";do{n=o.slice(r).join(".");var a=new Date((0,i.timestamp)()+1e4).toUTCString();m.setCookie(c,d,a,"Lax",n,void 0);var u=m.getCookie(c,void 0);u===d?(t=!1,m.setCookie(c,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(r+=-1,t=Math.abs(r)<=o.length)}while(t);return n}var l={name:"enrichments",queue:2,init:function(e,n){return d={},e.skipEnrichments?n:(0,i.mergeDeep)(((0,r.n)().referer&&(0,i.mergeDeep)(d,{site:{ref:(0,r.n)().referer}}),(0,r.n)().canonicalUrl&&(0,i.mergeDeep)(d,{site:{page:(0,r.n)().canonicalUrl}}),(t=function(e){if(e&&"string"==typeof e&&0!==e.length){var n=e.match(/^(?:https?:\/\/)?(?:www\.)?(.*?(?=(\?|\#|\/|$)))/i);return n&&n[1]}}((0,r.n)().canonicalUrl))&&((0,i.mergeDeep)(d,{site:{domain:t}}),(0,i.mergeDeep)(d,{site:{publisher:{domain:u(t)}}})),function(){var e,n;try{e=a.innerWidth||a.document.documentElement.clientWidth||a.document.body.clientWidth,n=a.innerHeight||a.document.documentElement.clientHeight||a.document.body.clientHeight}catch(t){e=window.innerWidth||window.document.documentElement.clientWidth||window.document.body.clientWidth,n=window.innerHeight||window.document.documentElement.clientHeight||window.document.body.clientHeight}(0,i.mergeDeep)(d,{device:{w:e,h:n}})}(),function(){var e;try{e=a.document.querySelector("meta[name='keywords']")}catch(n){e=window.document.querySelector("meta[name='keywords']")}e&&e.content&&(0,i.mergeDeep)(d,{site:{keywords:e.content.replace(/\s/g,"")}})}(),d),n);var t}};(0,o.Bx)("firstPartyData",l),window.pbjs.installedModules.push("enrichmentFpdModule")}},function(e){e(e.s=2235)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7910],{8303:function(t,e,n){var o=n(8962),s=n(3494),u=n(2528),i=n(4892),f=[];function r(t,e){var n,s;n=o.vc.getConfig("firstPartyData")||{},s=o.vc.getConfig("ortb2")||{},f.sort((function(t,e){return(t.queue||1)-(e.queue||1)})).forEach((function(t){s=t.init(n,s)})),o.vc.setConfig({ortb2:s}),t.call(this,e),i.e0.getHooks({hook:r}).remove()}function c(){(0,s.v5)("addBidderRequests").before(r)}(0,s.bA)("firstPartyData",(function(t){f.push(t)})),c(),(0,u.R)().refreshFpd=c,window.pbjs.installedModules.push("fpdModule")}},function(t){t(t.s=8303)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7083],{1489:function(e,r,n){var t=n(265),o=n(9853),i=n(8962),a=n(7602),c=n(1879),s=n(1609),l=n(3494),p=n(5849),u=n(2319),f=n(5644);function d(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function v(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?d(Object(n),!0).forEach((function(r){g(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function g(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function b(){return b=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},b.apply(this,arguments)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}var h,m,O,E,P={purpose1:{id:1,name:"storage"},purpose2:{id:2,name:"basicAds"},purpose7:{id:7,name:"measurement"}},j=[{purpose:"storage",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]},{purpose:"basicAds",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]}],C=[],A=[],D=[],w=!1,S=function(e){var r=null;if(e=e||i.vc.getCurrentBidder()){var n=a.ZP.getBidAdapter(e);n&&n.getSpec&&(r=n.getSpec().gvlid)}return r},k=function(e){return"object"===y(e)?e.gvlid:null},V=function(e){return a.ZP.getAnalyticsAdapter(e)&&(a.ZP.getAnalyticsAdapter(e).gvlid||null)};function T(e){var r=null;if(e){var n=i.vc.getConfig("gvlMapping"),t="string"==typeof e?e:e.name;if(n&&n[t])return n[t];r=S(t)||k(e)||V(t)}return r}function B(e,r,n,o){var i=P[Object.keys(P).filter((function(r){return P[r].name===e.purpose}))[0]].id;if((0,c.q9)(e.vendorExceptions||[],n))return!0;var a=(0,t.Z)(r,"vendorData.purpose.consents.".concat(i)),s=(0,t.Z)(r,"vendorData.vendor.consents.".concat(o)),l=(0,t.Z)(r,"vendorData.purpose.legitimateInterests.".concat(i)),p=!1===e.enforcePurpose||!0===a,u=!1===e.enforceVendor||!0===s;return 2===i?p&&u||!0===l:p&&u}function Z(e,r,n,t){if(t=b({},{hasEnforcementHook:!0}),(0,o.hasDeviceAccess)()){var c=a.rp.getConsentData();if(c&&c.gdprApplies)if(2===c.apiVersion){var s=i.vc.getCurrentBidder();r=s&&s!=n&&a.ZP.aliasRegistry[s]===n?T(s):T(n)||r;var l=n||s;B(h,c,l,r)?(t.valid=!0,e.call(this,r,n,t)):(l&&(0,o.logWarn)("TCF2 denied device access for ".concat(l)),t.valid=!1,C.push(l),e.call(this,r,n,t))}else t.valid=!0,e.call(this,r,n,t);else t.valid=!0,e.call(this,r,n,t)}else(0,o.logWarn)("Device access is disabled by Publisher"),t.valid=!1,e.call(this,r,n,t)}function W(e){for(var r=a.rp.getConsentData(),n=arguments.length,t=new Array(n>1?n-1:0),c=1;c<n;c++)t[c-1]=arguments[c];if(r&&r.gdprApplies)if(2===r.apiVersion){var s=i.vc.getCurrentBidder(),l=T(s),p=B(h,r,s,l);p?e.call.apply(e,[this].concat(t)):((0,o.logWarn)("User sync not allowed for ".concat(s)),C.push(s))}else e.call.apply(e,[this].concat(t));else e.call.apply(e,[this].concat(t))}function F(e,r,n){if(n&&n.gdprApplies)if(2===n.apiVersion){var t=r.map((function(e){var r=T(e.submodule),t=e.submodule.name;if(B(h,n,t,r))return e;(0,o.logWarn)("User denied permission to fetch user id for ".concat(t," User id module")),C.push(t)})).filter((function(e){return e}));e.call(this,t,v(v({},n),{},{hasValidated:!0}))}else e.call(this,r,n);else e.call(this,r,n)}function N(e,r){for(var n=a.rp.getConsentData(),t=arguments.length,i=new Array(t>2?t-2:0),s=2;s<t;s++)i[s-2]=arguments[s];n&&n.gdprApplies&&2===n.apiVersion?(r.forEach((function(e){e.bids=e.bids.filter((function(e){var r=e.bidder,t=T(r);if((0,c.q9)(A,r))return!1;var i=!!B(m,n,r,t);return i||((0,o.logWarn)("TCF2 blocked auction for ".concat(r)),A.push(r)),i}))})),e.call.apply(e,[this,r].concat(i))):e.call.apply(e,[this,r].concat(i))}function M(e,r){var n=a.rp.getConsentData();n&&n.gdprApplies&&2===n.apiVersion?((0,o.isArray)(r)||(r=[r]),r=r.filter((function(e){var r=e.provider,t=T(r),i=!!B(O,n,r,t);return i||(D.push(r),(0,o.logWarn)("TCF2 blocked analytics adapter ".concat(e.provider))),i})),e.call(this,r)):e.call(this,r)}u.on(f.EVENTS.AUCTION_END,(function(){var e=function(e){return e.filter((function(r,n){return null!==r&&e.indexOf(r)===n}))},r={storageBlocked:e(C),biddersBlocked:e(A),analyticsBlocked:e(D)};u.emit(f.EVENTS.TCF2_ENFORCEMENT,r)}));var x=function(e){return e.purpose===P.purpose1.name},U=function(e){return e.purpose===P.purpose2.name},q=function(e){return e.purpose===P.purpose7.name};i.vc.getConfig("consentManagement",(function(e){return function(e){var r=(0,t.Z)(e,"gdpr.rules");r?E=r:((0,o.logWarn)("TCF2: enforcing P1 and P2 by default"),E=j),h=(0,c.sE)(E,x),m=(0,c.sE)(E,U),O=(0,c.sE)(E,q),h||(h=j[0]),m||(m=j[1]),h&&!w&&(w=!0,p.S6.before(Z,49),s.registerSyncInner.before(W,48),(0,l.v5)("validateGdprEnforcement").before(F,47)),m&&(0,l.v5)("makeBidRequests").before(N),O&&(0,l.v5)("enableAnalyticsCb").before(M)}(e.consentManagement)})),window.pbjs.installedModules.push("gdprEnforcement")}},function(e){e(e.s=1489)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5296],{7652:function(t,e,o){var n=o(9853),r=o(265),a=o(8962),d=o(3494),i=o(1879),u=void 0,c={},s=!1,f=function(t){var e=c.customGptSlotMatching;if((0,n.isGptPubadsDefined)()){var o=t.reduce((function(t,e){return t[e.code]=e,t}),{});window.googletag.pubads().getSlots().forEach((function(t){var r=(0,i.sE)(Object.keys(o),e?e(t):(0,n.isAdUnitCodeMatchingSlot)(t));if(r){var a=o[r];a.ortb2Imp=a.ortb2Imp||{},a.ortb2Imp.ext=a.ortb2Imp.ext||{},a.ortb2Imp.ext.data=a.ortb2Imp.ext.data||{};var d=a.ortb2Imp.ext.data;d.adserver=d.adserver||{},d.adserver.name="gam",d.adserver.adslot=p(t.getAdUnitPath())}}))}},p=function(t){return(a.vc.getConfig("gptPreAuction")||{}).mcmEnabled?t.replace(/(^\/\d*),\d*\//,"$1/"):t},l=function(t,e){var o=t.ortb2Imp.ext.data;if(o.pbadslot)return o.pbadslot;if((0,n.isGptPubadsDefined)()){var r=window.googletag.pubads().getSlots().filter((function(t){return t.getAdUnitPath()===e}));if(0!==r.length)return 1===r.length?e:"".concat(e,"#").concat(t.code)}},b=function(t){var e=t.ortb2Imp.ext.data,o=c.customPbAdSlot;if(!e.pbadslot)if(o)e.pbadslot=o(t.code,(0,r.Z)(e,"adserver.adslot"));else{try{var n=document.getElementById(t.code);if(n.dataset.adslotid)return void(e.pbadslot=n.dataset.adslotid)}catch(t){}if(!(0,r.Z)(e,"adserver.adslot"))return e.pbadslot=t.code,!0;e.pbadslot=e.adserver.adslot}},g=function(t,e){f(e);var o=c,n=o.useDefaultPreAuction,a=o.customPreAuction;e.forEach((function(t){t.ortb2Imp=t.ortb2Imp||{},t.ortb2Imp.ext=t.ortb2Imp.ext||{},t.ortb2Imp.ext.data=t.ortb2Imp.ext.data||{};var e=t.ortb2Imp.ext;if(a||n){var o,d=(0,r.Z)(e,"data.adserver.adslot");a?o=a(t,d):n&&(o=l(t,d)),o&&(e.gpid=e.data.pbadslot=o)}else{var i=b(t);e.gpid||i||(e.gpid=e.data.pbadslot)}}));for(var d=arguments.length,i=new Array(d>2?d-2:0),s=2;s<d;s++)i[s-2]=arguments[s];return t.call.apply(t,[u,e].concat(i))},m=function(t){(c=(0,n.pick)(t,["enabled",function(t){return!1!==t},"customGptSlotMatching",function(t){return"function"==typeof t&&t},"customPbAdSlot",function(t){return"function"==typeof t&&t},"customPreAuction",function(t){return"function"==typeof t&&t},"useDefaultPreAuction",function(t){return!0===t}])).enabled?s||((0,d.v5)("makeBidRequests").before(g),s=!0):((0,n.logInfo)("".concat("GPT Pre-Auction",": Turning off module")),c={},(0,d.v5)("makeBidRequests").getHooks({hook:g}).remove(),s=!1)};a.vc.getConfig("gptPreAuction",(function(t){return m(t.gptPreAuction)})),m({}),window.pbjs.installedModules.push("gptPreAuction")}},function(t){t(t.s=7652)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[6312],{7890:function(e,t,r){var n=r(9853),o=r(265),i=r(1609),a=r(8962),u=r(8265),c=r(2224);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f="sharethrough",m="https://btlr.sharethrough.com/universal/v1?supply_id=".concat("WYu2BXv1"),g=function(){return window.location.protocol},b={code:f,supportedMediaTypes:[u.pX,u.Mk],gvlid:80,isBidRequestValid:function(e){return!!e.params.pkey&&e.bidder===f},buildRequests:function(e,t){var r,i,u,s=a.vc.getConfig("bidderTimeout"),p=a.vc.getConfig("ortb2")||{},y=g().indexOf("http")<0||g().indexOf("https")>-1,f={id:(0,n.generateUUID)(),at:1,cur:["USD"],tmax:s,site:l({domain:window.location.hostname,page:window.location.href,ref:(0,o.Z)(t,"refererInfo.referer")},p.site),device:{ua:navigator.userAgent,language:navigator.language,js:1,dnt:"1"===navigator.doNotTrack?1:0,h:window.screen.height,w:window.screen.width},regs:{coppa:!0===a.vc.getConfig("coppa")?1:0,ext:{}},source:{ext:{version:"6.23.0",str:"4.1.0",schain:e[0].schain}},bcat:e[0].params.bcat||[],badv:e[0].params.badv||[],test:0};if(f.user=h(p.user,{}),f.user.ext||(f.user.ext={}),f.user.ext.eids=(r=e[0],i=(0,c.HQ)((0,o.Z)(r,"userId"))||[],(u=(0,o.Z)(r,"userId.flocId"))&&u.id&&u.version&&i.push({source:"chrome.com",uids:[{id:u.id,atype:1,ext:{ver:u.version}}]}),i),t.gdprConsent){var b=!0===t.gdprConsent.gdprApplies;f.regs.ext.gdpr=b?1:0,b&&(f.user.ext.consent=t.gdprConsent.consentString)}return t.uspConsent&&(f.regs.ext.us_privacy=t.uspConsent),e.map((function(e){var t={},r=(0,o.Z)(e,"ortb2Imp.ext.data.pbadslot");r&&(t.ext={gpid:r});var i,a,u,c,s,p,f=(0,o.Z)(e,"mediaTypes.video");if(f){var m=640,g=360;if(f.playerSize&&f.playerSize[0]&&f.playerSize[1]){var b=(s=f.playerSize,p=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,u=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}}(s,p)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(s,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());m=b[0],g=b[1]}t.video={pos:h(f.pos,0),topframe:(0,n.inIframe)()?0:1,skip:h(f.skip,0),linearity:h(f.linearity,1),minduration:h(f.minduration,5),maxduration:h(f.maxduration,60),playbackmethod:f.playbackmethod||[2],api:(u=f,c=u.api,c&&Array.isArray(c)&&c.length>0?c:[2]),mimes:f.mimes||["video/mp4"],protocols:(i=f,a=i.protocols,a&&Array.isArray(a)&&a.length>0?a:[2,3,5,6,7,8]),w:m,h:g,startdelay:h(f.startdelay,0),skipmin:h(f.skipmin,0),skipafter:h(f.skipafter,0),placement:"instream"===f.context?1:+(0,o.Z)(f,"placement",4)},f.delivery&&(t.video.delivery=f.delivery),f.companiontype&&(t.video.companiontype=f.companiontype),f.companionad&&(t.video.companionad=f.companionad)}else t.banner={pos:(0,o.Z)(e,"mediaTypes.banner.pos",0),topframe:(0,n.inIframe)()?0:1,format:e.sizes.map((function(e){return{w:+e[0],h:+e[1]}}))};return l({id:e.bidId,tagid:String(e.params.pkey),secure:y?1:0,bidfloor:v(e)},t)})).filter((function(e){return!!e})).map((function(e){return{method:"POST",url:m,data:l(l({},f),{},{imp:[e]})}}))},interpretResponse:function(e,t){var r=e.body;return r&&r.seatbid&&0!==r.seatbid.length&&r.seatbid[0].bid&&0!==r.seatbid[0].bid.length?r.seatbid[0].bid.map((function(e){var n={requestId:e.impid,width:+e.w,height:+e.h,cpm:+e.price,creativeId:e.crid,dealId:e.dealid||null,mediaType:t.data.imp[0].video?u.pX:u.Mk,currency:r.cur||"USD",netRevenue:!0,ttl:360,ad:e.adm,nurl:e.nurl,meta:{advertiserDomains:e.adomain||[]}};return n.mediaType===u.pX&&(n.ttl=3600,n.vastXml=e.adm),n})):[]},getUserSyncs:function(e,t,r,n){var o=n?"&us_privacy=".concat(n):"",i=[];return e.pixelEnabled&&t.length>0&&t[0].body&&t[0].body.cookieSyncUrls&&t[0].body.cookieSyncUrls.forEach((function(e){i.push({type:"image",url:e+o})})),i},onTimeout:function(e){},onBidWon:function(e){},onSetTargeting:function(e){}};function v(e){var t=null;if("function"==typeof e.getFloor){var r=e.getFloor({currency:"USD",mediaType:e.mediaTypes&&e.mediaTypes.video?"video":"banner",size:e.sizes.map((function(e){return{w:e[0],h:e[1]}}))});"object"!==s(r)||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}return null!==t?t:e.params.floor}function h(e,t){return null==e?t:e}(0,i.registerBidder)(b),window.pbjs.installedModules.push("sharethroughBidAdapter")},2224:function(e,t,r){r.d(t,{HQ:function(){return u},Pv:function(){return c},UR:function(){return i}});var n=r(9853),o=r(265),i={trustpid:{source:"trustpid.com",atype:1,getValue:function(e){return e}},intentIqId:{source:"intentiq.com",atype:1},naveggId:{source:"navegg.com",atype:1},justId:{source:"justtag.com",atype:1},pubcid:{source:"pubcid.org",atype:1},tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}},id5id:{getValue:function(e){return e.uid},source:"id5-sync.com",atype:1,getUidExt:function(e){if(e.ext)return e.ext}},ftrackId:{source:"flashtalking.com",atype:1,getValue:function(e){return e.uid},getUidExt:function(e){if(e.ext)return e.ext}},parrableId:{source:"parrable.com",atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?"":null},getUidExt:function(e){var t=(0,n.pick)(e,["ibaOptout","ccpaOptout"]);if(Object.keys(t).length)return t}},idl_env:{source:"liveramp.com",atype:3},lipb:{getValue:function(e){return e.lipbid},source:"liveintent.com",atype:3,getEidExt:function(e){if(Array.isArray(e.segments)&&e.segments.length)return{segments:e.segments}}},britepoolid:{source:"britepool.com",atype:3},dmdId:{source:"hcn.health",atype:3},lotamePanoramaId:{source:"crwdcntrl.net",atype:1},criteoId:{source:"criteo.com",atype:1},merkleId:{source:"merkleinc.com",atype:3,getValue:function(e){return e.id},getUidExt:function(e){return e&&e.keyID?{keyID:e.keyID}:void 0}},netId:{source:"netid.de",atype:1},IDP:{source:"zeotap.com",atype:1},hadronId:{source:"audigent.com",atype:1},haloId:{source:"audigent.com",atype:1},quantcastId:{source:"quantcast.com",atype:1},nextrollId:{source:"nextroll.com",atype:1},idx:{source:"idx.lat",atype:1},connectid:{source:"verizonmedia.com",atype:3},fabrickId:{source:"neustar.biz",atype:1},mwOpenLinkId:{source:"mediawallahscript.com",atype:1},tapadId:{source:"tapad.com",atype:1},novatiq:{getValue:function(e){return e.snowflake},source:"novatiq.com",atype:1},uid2:{source:"uidapi.com",atype:3,getValue:function(e){return e.id}},dapId:{source:"akamai.com",atype:1},deepintentId:{source:"deepintent.com",atype:3},admixerId:{source:"admixer.net",atype:3},adtelligentId:{source:"adtelligent.com",atype:3},amxId:{source:"amxrtb.com",atype:1},publinkId:{source:"epsilon.com",atype:3},kpuid:{source:"kpuid.com",atype:3},imuid:{source:"intimatemerger.com",atype:1},connectId:{source:"yahoo.com",atype:3},qid:{source:"adquery.io",atype:1},dacId:{source:"impact-ad.jp",atype:1},"33acrossId":{source:"33across.com",atype:1,getValue:function(e){return e.envelope}}};function a(e,t){var r=i[t];if(r&&e){var o={};o.source=r.source;var a=(0,n.isFn)(r.getValue)?r.getValue(e):e;if((0,n.isStr)(a)){var u={id:a,atype:r.atype};if((0,n.isFn)(r.getUidExt)){var c=r.getUidExt(e);c&&(u.ext=c)}if(o.uids=[u],(0,n.isFn)(r.getEidExt)){var s=r.getEidExt(e);s&&(o.ext=s)}return o}}return null}function u(e){var t=[];for(var r in e)if(e.hasOwnProperty(r))if("pubProvidedId"===r)t=t.concat(e.pubProvidedId);else{var n=a(e[r],r);n&&t.push(n)}return t}function c(e){var t=[];return e.filter((function(e){return(0,n.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length})).forEach((function(e){Object.keys(e.idObj).forEach((function(r){(0,o.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&(0,o.Z)(i,r+".source")&&t.push({source:i[r].source,bidders:e.config.bidders})}))})),t}}},function(e){e(e.s=7890)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8029],{8973:function(e,r,t){var n=t(9853),i=t(265),a=t(1609),o=t(5849);function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){p(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var c="teads",u=(0,o.df)({gvlid:132,bidderCode:c}),f={code:c,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){var r=!1;if(void 0!==e.params){var t=v((0,n.getValue)(e.params,"placementId")),i=v((0,n.getValue)(e.params,"pageId"));r=t&&i}return r||(0,n.logError)("Teads placementId and pageId parameters are required. Bid aborted."),r},buildRequests:function(e,r){var t,n,a=e.map(y),o=d(d(d({referrer:g(r),pageReferrer:document.referrer,networkBandwidth:(n=window.navigator,n&&n.connection&&n.connection.downlink>=0?n.connection.downlink.toString():""),timeToFirstByte:l(window),data:a,deviceWidth:screen.width,hb_version:"6.23.0"},function(e){if(!e)return{};var r=e.id?{cohortId:e.id}:{},t=e.version?{cohortVersion:e.version}:{};return d(d({},r),t)}((0,i.Z)(e,"0.userId.flocId"))),(t=(0,i.Z)(e,"0.userId.uid2"))?{unifiedId2:t.id}:{}),function(){if(!u.cookiesAreEnabled())return{};var e=u.getCookie("_tfpvi");return e?{firstPartyCookieTeadsId:e}:{}}());e[0].schain&&(o.schain=e[0].schain);var s=r.gdprConsent;if(r&&s){var p="boolean"==typeof s.gdprApplies,c="string"==typeof s.consentString,f=p?function(e,r,t){var n=12;return e?function(e,r){return e&&1===r?e.hasGlobalScope||e.hasGlobalConsent:!(!e||2!==r||e.isServiceSpecific)}(r,t)&&(n=11):n=0,n}(s.gdprApplies,s.vendorData,s.apiVersion):22;o.gdpr_iab={consent:c?s.consentString:"",status:f,apiVersion:s.apiVersion}}return r&&r.uspConsent&&(o.us_privacy=r.uspConsent),{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(o)}},interpretResponse:function(e,r){var t=[];return(e=e.body).responses&&e.responses.forEach((function(e){var 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),t.push(r)})),t}};function g(e){var r="";return e&&e.refererInfo&&e.refererInfo.referer&&(r=e.refererInfo.referer),r}function l(e){var r=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,t=r&&"function"==typeof r.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(r.getEntriesByType)&&r.getEntriesByType("navigation")[0]&&r.getEntriesByType("navigation")[0].responseStart&&r.getEntriesByType("navigation")[0].requestStart&&r.getEntriesByType("navigation")[0].responseStart>0&&r.getEntriesByType("navigation")[0].requestStart>0&&Math.round(r.getEntriesByType("navigation")[0].responseStart-r.getEntriesByType("navigation")[0].requestStart);if(t)return t.toString();var n=r&&r.timing.responseStart&&r.timing.requestStart&&r.timing.responseStart>0&&r.timing.requestStart>0&&r.timing.responseStart-r.timing.requestStart;return n?n.toString():""}function y(e){var r={},t=(0,n.getValue)(e.params,"placementId"),a=(0,n.getValue)(e.params,"pageId"),o=(0,i.Z)(e,"ortb2Imp.ext.gpid");return r.sizes=function(e){return(0,n.parseSizesInput)(function(e){var r=(0,i.Z)(e,"mediaTypes.video.playerSize"),t=(0,i.Z)(e,"mediaTypes.video.sizes"),a=(0,i.Z)(e,"mediaTypes.banner.sizes");return(0,n.isArray)(a)||(0,n.isArray)(r)||(0,n.isArray)(t)?[a,t,r].reduce((function(e,r){return(0,n.isArray)(r)&&((0,n.isArray)(r[0])?r.forEach((function(r){e.push(r)})):e.push(r)),e}),[]):e.sizes}(e))}(e),r.bidId=(0,n.getBidIdParameter)("bidId",e),r.bidderRequestId=(0,n.getBidIdParameter)("bidderRequestId",e),r.placementId=parseInt(t,10),r.pageId=parseInt(a,10),r.adUnitCode=(0,n.getBidIdParameter)("adUnitCode",e),r.auctionId=(0,n.getBidIdParameter)("auctionId",e),r.transactionId=(0,n.getBidIdParameter)("transactionId",e),o&&(r.gpid=o),r}function v(e){return parseInt(e)>0}(0,a.registerBidder)(f),window.pbjs.installedModules.push("teadsBidAdapter")}},function(e){e(e.s=8973)}]); pbjs.processQueue(); !function(){"use strict";var e={709:function(){var e=e||{};e.que=e.que||[]},427:function(){window.innerWidth>768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]}]),window.innerWidth>768&&"true"===window.mcAds.hasBannerThree&&window.adUnits.push({code:"banner-3",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]})},591:function(){window.innerWidth<=768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[320,50],[320,100]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:142225,pageId:129517}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[320,50],[320,100],[300,250],[325,204],[325,508],[325,204]]}},bids:[{bidder:"teads",params:{placementId:142225,pageId:129517}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"mobile_sticky",mediaTypes:{banner:{sizes:[[320,50],[325,204],[1,2]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]}])}},r={};function a(d){var i=r[d];if(void 0!==i)return i.exports;var n=r[d]={exports:{}};return e[d](n,n.exports,a),n.exports}a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,{a:r}),r},a.d=function(e,r){for(var d in r)a.o(r,d)&&!a.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:r[d]})},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a(427),a(591),a(709)}(); /* ]]> */ </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></script> <script type="text/javascript" id="gpt-js-after"> /* <![CDATA[ */ !function(){var e={909:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){mcAds.mapping={},mcAds.mapping.bannerOneMapping=googletag.sizeMapping().addSize([0,0],[[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.bannerMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.railMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[300,250],[300,600]]).addSize([1050,200],[[300,250],[300,600]]).build(),mcAds.mapping.toprailMapping=googletag.sizeMapping().addSize([0,0],[[300,150],[300,90]]).addSize([768,200],[[300,150],[300,90]]).addSize([1050,200],[[300,150],[300,90]]).build(),mcAds.mapping.inlineMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,50],[320,100]]).addSize([768,200],[[300,250],[320,50],[320,100]]).addSize([1050,200],[[300,250],[320,50],[320,100]]).build(),mcAds.mapping.searchMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90],[300,250]]).addSize([1050,200],[[728,90],[970,90],[970,250],[300,250]]).build(),mcAds.mapping.adrevealMapping=googletag.sizeMapping().addSize([0,0],[[360,585]]).addSize([650,200],[[780,300]]).addSize([1050,200],[[1300,500]]).build()}))},786:function(){const e=parseInt(mcAds.prebidTimeout,10)||1e3,t=parseInt(mcAds.prebidFailsafeTimeout,10)||3e3;window.pbjs=window.pbjs||{},pbjs.que=pbjs.que||[],pbjs.que.push((function(){if("undefined"===typeof window.adUnits)return void(mcAds.debug&&console.log("Aborting prebid, window.adUnits is undefined."));const t=[];for(let e=window.adUnits.length-1;e>=0;e--)window.mcAds.slots.hasOwnProperty(window.adUnits[e].code)&&window.mcAds.slots[window.adUnits[e].code].hasOwnProperty("isPrebid")&&"true"===window.mcAds.slots[window.adUnits[e].code].isPrebid&&t.push(window.adUnits[e]);0!==t.length?(pbjs.addAdUnits(t),pbjs.requestBids({bidsBackHandler:i,timeout:e})):mcAds.debug&&console.log("Aborting prebid, filteredAdUnits is empty.")}));var i=function(){pbjs.adserverRequestSent||(pbjs.adserverRequestSent=!0,googletag.cmd.push((function(){pbjs.que.push((function(){window.gtpMaybeMoveRailOneSlot(),pbjs.setTargetingForGPTAsync();for(const e in mcAds.slotsFired)-1!==mcAds.slotsPrebid.indexOf(e)&&(googletag.display(e),mcAds.slots[e].isLazy&&"true"===mcAds.slots[e].isLazy||(googletag.pubads().refresh([mcAds.slotsFired[e]]),mcAds.debug&&console.log("Initial refresh for prebid slot:",e)))}))})))};setTimeout((function(){i()}),t)},90:function(){gtpMaybeMoveRailOneSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcAds&&mcAds.isSingle){var e=document.querySelector(".sidebar");if(e){var t=document.getElementById("rail-1");if(t){var i=e.children.length;e.insertBefore(t,e.children[i]),window.stickyAds&&window.stickyAds.update()}}}},gptDirectoryMaybeRepositionBannerSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcgdVars&&"isSingle"in mcgdVars&&"true"===mcgdVars.isSingle){var e=document.getElementById("banner-1"),t=document.getElementById("geodir-wrapper-content").querySelector(".listing-profile");e&&t&&t.insertBefore(e,t.lastChild.nextSibling)}}},547:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){if(mcAds.slots){window.gptDirectoryMaybeRepositionBannerSlot();var e=window.innerWidth<=768;if("targeting"in mcAds&&"object"===typeof mcAds.targeting&&null!==mcAds.targeting)for(var t in mcAds.targeting)googletag.pubads().setTargeting(t,mcAds.targeting[t]);for(var i in mcAds.slots){var s;if((!("isMobile"in mcAds.slots[i])||!mcAds.slots[i].isMobile||e)&&((!("isDesktop"in mcAds.slots[i]&&mcAds.slots[i].isDesktop&&e)||document.getElementById("bestof-nav-wrapper"))&&document.getElementById(i))){if("outOfPage"in mcAds.slots[i]&&mcAds.slots[i].outOfPage){var d=mcAds.slots[i].id;"outOfPageFormat"in mcAds.slots[i]&&(d=googletag.enums.OutOfPageFormat[mcAds.slots[i].outOfPageFormat]),s=googletag.defineOutOfPageSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,d)}else{var o=mcAds.slots[i].adSizes;0===o.lastIndexOf("[",0)&&(o=JSON.parse(o)),s=googletag.defineSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,o,mcAds.slots[i].id)}if("mapping"in mcAds&&"mapping"in mcAds.slots[i]&&mcAds.slots[i].mapping in mcAds.mapping&&s.defineSizeMapping(mcAds.mapping[mcAds.slots[i].mapping]),"targeting"in mcAds.slots[i]&&"object"===typeof mcAds.slots[i].targeting&&null!==mcAds.slots[i].targeting)for(var n in mcAds.slots[i].targeting)s.setTargeting(n,mcAds.slots[i].targeting[n]);s.addService(googletag.pubads()),"doPrebid"in mcAds&&"true"===mcAds.doPrebid&&"isPrebid"in mcAds.slots[i]&&"true"===mcAds.slots[i].isPrebid&&mcAds.slotsPrebid.push(mcAds.slots[i].id),mcAds.slotsFired[mcAds.slots[i].id]=s}}for(var a in googletag.pubads().enableAsyncRendering(),googletag.pubads().collapseEmptyDivs(),googletag.pubads().disableInitialLoad(),googletag.pubads().enableSingleRequest(),googletag.enableServices(),mcAds.slotsFired)-1===mcAds.slotsPrebid.indexOf(a)&&("undefined"===typeof mcAds.slots[a].outOfPageFormat&&googletag.display(a),mcAds.slots[a].isLazy&&"true"===mcAds.slots[a].isLazy||googletag.pubads().refresh([mcAds.slotsFired[a]]));document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsFired[t]&&(googletag.pubads().refresh([mcAds.slotsFired[t]]),mcAds.debug&&console.log("Initial refreshing for lazy loaded slot:",t))})),googletag.pubads().addEventListener("slotRenderEnded",(function(t){var i=t.slot.getSlotElementId();t.isEmpty||(mcAds.debug&&console.log("Calling stickyAds.update() after slotRenderEnded:",i),window.stickyAds&&window.stickyAds.update());var s=String(t.size);if(!t.isEmpty&&"1,1"===s&&["banner-1","banner-3","adslot_0","adslot_1","adslot_2","native_related","rail-1","rail-2","rail-3","toprailsponsor-1"].indexOf(i)){var d=document.getElementById(i);if(d)if("banner-1"===i&&"true"===mcAds.isGeodir)d.style.visibility="hidden";else document.getElementById("bestof-nav-wrapper")||(d.style.height="1px",d.style.overflow="hidden",d.style.marginTop="-8px")}if(!t.isEmpty&&"ad-reveal"===i){document.body.classList.add("has-reveal");var o=document.getElementById("ad-reveal"),n=o.clientHeight,a=document.getElementsByTagName("body")[0],l=document.body,g=document.documentElement,r=Math.max(l.scrollHeight,l.offsetHeight,g.clientHeight,g.scrollHeight,g.offsetHeight),c=document.getElementById("under-reveal"),p=document.getElementById("wpadminbar");p&&(p.style.position="absolute",p.style.top=0),c.style.height=r+"px";var m=n,u=(m-0)/60,f=0,b=!1,A=setInterval((function(){if((f+=u)>=m)return clearInterval(A),a.style.marginTop=m+"px",c.style.top=m+"px",p&&(p.style.top=m+"px"),b=!0,void("undefined"!==window.stickyHeader&&window.mcStickyHeader.update());a.style.marginTop=f+"px",c.style.top=f+"px",p&&(p.style.top=f+"px")}),1e3/60);document.addEventListener("scroll",(function(t){if(b)if(window.pageYOffset>n){var i=document.getElementById("js-mobile-sticky");e&&(i.style.display="block"),p&&(p.style.position="fixed",p.style.top=0),o.style.visibility="hidden"}else p&&(p.style.position="absolute",p.style.top=m+"px"),o.style.visibility="visible"}))}}))}})),document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsPrebid.indexOf(t)&&(mcAds.slots[t].isLazy=!1,mcAds.debug&&console.log("Ad slot unveiled early:",t))}))},193:function(){window.addEventListener("message",(function(e){if("initdfp"===e.data){if(!e.source)return;var t=window.innerWidth||document.body.clientWidth,i="tiny";t>=1400?i="x-large":t>=1024?i="large":t>=970?i="fullmenu":t>=768?i="medium":t>=560?i="small-medium":t>=320&&(i="small");var s="breakpoint:"+i+"-mc";e.source.postMessage(s,"*")}}),!1)}},t={};function i(s){var d=t[s];if(void 0!==d)return d.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,i),o.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(90),i(909),i(547),i(786),i(193)}()}(); /* ]]> */ </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta name="generator" content="WordPress 6.4.3"> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regular-v11-woff-eot/Noe-Text-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regularitalic-v11-woff-eot/Noe-Text-Regular-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibold-v11-woff-eot/Noe-Text-Semibold.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibolditalic-v11-woff-eot/Noe-Text-Semibold-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/fonts/TypeTrustWebFonts17080803686/heroiccondweb-bold.ttf" as="font" type="font/ttf" crossorigin> <script type="application/ld+json">{ "@context": "http:\/\/schema.org", "@type": "WebPage", "publisher": { "@type": "Organization", "name": "Philadelphia Magazine", "logo": { "@type": "ImageObject", "url": "https:\/\/www.phillymag.com\/wp-content\/themes\/metrocorp-phillymag\/images\/logo-philadelphia.png" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https:\/\/www.phillymag.com\/news" } }</script><meta name="google-site-verification" content="jaT6k5odH6wQbrXb-WKQeHiEFFkfePsGXSELOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta name="msapplication-TileImage" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-270x270.png"> <script>dataLayer = [{"content_type":"non-post","post_id":"non-post"}];gtmLoaded=true;</script><!-- Google Tag Manager --> <noscript> &lt;iframe src="//www.googletagmanager.com/ns.html?id=GTM-PLKVN8" height="0" width="0" style="display:none;visibility:hidden"&gt;</noscript> <script> window.dataLayer = window.dataLayer || []; if ( typeof dataLayer[0].gaReferer === 'undefined' ) { var referrer = document.referrer, siteURL = window.location.origin; if ( ! referrer || referrer.indexOf( siteURL ) === 0 ) { dataLayer[0].gaReferer = null; } else { dataLayer[0].gaReferer = referrer; } } dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></script><!-- End Google Tag Manager --> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '907137196060410'); fbq('track', 'PageView'); </script> <noscript>&lt;img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=907137196060410&amp;amp;ev=PageView&amp;amp;noscript=1"&gt;</noscript> <!-- End Facebook Pixel Code --> <!-- Facebook --> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <!-- End Facebook Tag --> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></script> <!-- End of HubSpot Embed Code --> <!-- Start of Teads Embed Code --> <script async src="https://a.teads.tv/analytics/tag.js"></script> <script> window.teads_analytics = window.teads_analytics || {}; window.teads_analytics.analytics_tag_id = "PUB_14921"; window.teads_analytics.share = window.teads_analytics.share || function() { (window.teads_analytics.shared_data = window.teads_analytics.shared_data || []).push(arguments); }; </script> <!-- End of Teads Embed Code --> <script type="text/javascript"> _linkedin_partner_id = "1153130"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> &lt;img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1153130&amp;amp;fmt=gif"&gt; </noscript> </head> <bod |
| 11 |
Error
On line 216, column 88 > </head> <body class="archive tax-mc-tax-vertical term-news term-218858 current-site-phillymag"> < |
| 12 |
Error
On line 856, column 40 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news" aria-current="page">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item menu-item-3701551"><a href="https://www.phillymag.com/news" aria-current="page">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news" aria-current="page">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item menu-item-3701551"><a href="https://www.phillymag.com/news" aria-current="page">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> <div id="banner-1" class="gpt-ad advertisement container"></div> <div class="list-post" style="display:none"> <a href="https://www.phillymag.com/scrapertrap" class="post-image-link"><img width="400" height="250" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="attachment-image-list size-image-list wp-post-image" alt=""></a> <div class="list-post-card"> <a href="https://www.phillymag.com/scrapertrap" class="post-slug">I'm a scraper</a> <div class="post-title"> <a href="https://www.phillymag.com/scrapertrap">This search result is here to prevent scraping</a> </div> <div class="post-excerpt"> <p>If you're a human and see this, please ignore it. If you're a scraper, please click the link below :-) Note that clicking the link below will block access to this site for 24 hours.</p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/scrapertrap" class="byline">I'm a scraper</a></span> </div> </div> <div class="content-with-sidebar"> <div class="featured-post"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/" class="post-image-link"> <img width="300" height="200" src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-300x200.jpg" class="attachment-thumbnail size-thumbnail" alt="" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 * 2 ) - 35px ), 605px" srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600.jpg 900w" data-no-lazy="true" decoding="async" fetchpriority="high"> </a> <div class="featured-post-card"> <a href="https://www.phillymag.com/category/longform/" class="post-slug">Longform</a> <h2 class="post-title"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/"> Yes, Philadelphia Is Safer Than They Say on TV </a> </h2> <div class="post-excerpt"> <p> </p><p class="p1"><span class="s1">The city has made the national news far too often recently for incidents involving crime and public safety. A new administration has big plans to change — and correct — the narrative.</span></p> <p></p> </div> </div> </div> <div class="trending-widget"> <div id="toprailsponsor-1" class="gpt-ad toprail-bewell"></div> <h2 class="title-line">Trending</h2> <ol> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"> SEPTA’s New “High-Tech” Fare Gates Are Very, Very Easy to Beat </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"> 10 Bonkers Things That Happened at WrestleMania 40 </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Why Allan Domb Is Upbeat About Philadelphia’s Economy </a> </h3> </li> </ol> </div> </div> <div class="container"> <hr class="double"> <div class="grid-content"> <div class="grid-post"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/" class="post-image-link"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </a> <div class="grid-post-card"> <a href="https://www.phillymag.com/category/guides/" class="post-slug">Guides</a> <h2 class="post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h2> </div> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/" class="post-image-link"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </a> <div class="grid-post-card"> <a href="https://www.phillymag.com/category/opinion/" class="post-slug">Opinion</a> <h2 class="post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Allan Domb Is Upbeat About Philly’s Economy (And You Should Be, Too) </a> </h2> </div> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2024/04/06/cleaner-streets-philadelphia/" class="post-image-link"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="cleaner streets philadelphia" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </a> <div class="grid-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"> <a href="https://www.phillymag.com/news/2024/04/06/cleaner-streets-philadelphia/"> Believe It Or Not, Philadelphia Is Getting Cleaner </a> </h2> </div> </div> </div> </div> <div id="banner-2" class="gpt-ad lazyload advertisement container" data-ad="banner-2"></div> <div class="container"> <h2 class="title-line">Latest Stories</h2> <div class="content-with-sidebar"> <div class="list-content"> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/09/media-food-bank-lawsuit-delco/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="A sign for Media Food Bank at First United Methodist Church, where a lawsuit has erupted over another food bank." decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/media-food-bank-lawsuit.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/09/media-food-bank-lawsuit-delco/"><p>Philly Today: A Food Bank Fight Fumes in Delco</p></a></h2> <div class="post-excerpt"> <p> </p><p>It’s “complicated,” says an attorney representing one of the feuding food banks. You can say that again!</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"><p>Philly Today: Shootings Have Plummeted to Pre-Pandemic Levels</p></a></h2> <div class="post-excerpt"> <p> </p><p>And homicides are headed that way as well. Plus, Cecily Tynan tried her best to clear up eclipse misinformation.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-jason-kelce-wrestlemania-getty-2136585911.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"><p>10 Bonkers Things That Happened at WrestleMania 40</p></a></h2> <div class="post-excerpt"> <p> </p><p>Our favorite moments, from Jason Kelce to the return of The Rock to South Street antics that could only happen here</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/laura-swartz/" class="byline">Laura Swartz</a></span> </div> </div> <div id="adslot_0" class="gpt-ad native-river"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-OptSafetyWeb900x600.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/longform/" class="post-slug">Longform</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/"><p>Yes, Philadelphia Is Safer Than They Say on TV</p></a></h2> <div class="post-excerpt"> <p> </p><p class="p1"><span class="s1">The city has made the national news far too often recently for incidents involving crime and public safety. A new administration has big plans to change — and correct — the narrative.</span></p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/guides/" class="post-slug">Guides</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"><p>An Optimist’s Guide to Philadelphia</p></a></h2> <div class="post-excerpt"> <p> </p><p>From crime to trash to the economy, there are thousands of reasons to feel bullish about the future of our amazing city.</p> <p></p> </div> </div> </div> <div class="nativo-section-front-1"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-domb-key-web.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/opinion/" class="post-slug">Opinion</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"><p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">Why Allan Domb Is Upbeat About Philly’s Economy</span></p></a></h2> <div class="post-excerpt"> <p> </p><p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia</span></p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/domb/" class="byline">Allan Domb</a></span> </div> </div> </div> <div class="advertisement-side"> <div id="rail-1" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-1"></div> </div> </div> </div> <div class="container post-article-container"> <hr class="double"> <div class="newsletter"> <h2 class="newsletter-title"> Get a compelling long read and must-have lifestyle tips in your inbox every Sunday morning — great with coffee! </h2> <div class="newsletter-inner"> <div class="hbspt-form js-hubspot-newsletter"></div> </div> </div> </div> <div class="three-column-module container"> <h2 class="title-line"></h2> <div class="grid-content with-separator"> <div class="grid-post"><a href="https://www.phillymag.com/best-of-philly/city-life/" class="post-image-link"><img class="lazyload" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-CityLife_16.jpg" alt="Best of Philly 2023: City Life"></a><div class="grid-post-card"><h2 class="post-title"><a href="https://www.phillymag.com/best-of-philly/city-life/">Best of Philly 2023: City Life</a></h2></div><div class="guide-list">An irresistible gossipmonger, numerous near-champions, and a roadway rebuild for the ages</div></div><div class="grid-post"><a href="https://www.phillymag.com/news/2022/06/04/future-of-center-city/" class="post-image-link"><img class="lazyload" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2022/05/MO-Cities_900-01a.jpg" alt="Post-COVID, Does Center City Have a Future?"></a><div class="grid-post-card"><h2 class="post-title"><a href="https://www.phillymag.com/news/2022/06/04/future-of-center-city/">Post-COVID, Does Center City Have a Future?</a></h2></div><div class="guide-list"><p>Back in the day, Philly, like a lot of cities, banked on a revival of its downtown to spark new life. The plan worked fine — for Center City. But now that the pandemic has emptied offices, boomer residents are aging, and millennials are opting for the ’burbs, where do we go from here?</p> </div></div><div class="grid-post"><div id="curated_module-1" class="gpt-ad lazyload" data-ad="curated_module-1"></div></div> </div> </div> <div class="container"> <hr class="double"> <div class="content-with-sidebar"> <div class="list-content"> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-politics-future/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/guides/" class="post-slug">Guides</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/06/philadelphia-politics-future/"><p>10 Philly Voices That Give Us Hope for the Future of City Politics</p></a></h2> <div class="post-excerpt"> <p> </p><p>After so much politics-as-usual, the tide feels like it could be turning, thanks to a group of politicians, activists, and community advocates, some new and some simply bringing new energy.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/ernest-owens/" class="byline">Ernest Owens</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/06/cleaner-streets-philadelphia/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="cleaner streets philadelphia" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-clean-key-web.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/06/cleaner-streets-philadelphia/"><p>Believe It Or Not, Philadelphia Is Getting Cleaner</p></a></h2> <div class="post-excerpt"> <p> </p><p>Fewer plastic bags! More street sweeping! And other reasons to feel like litter is on the retreat.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/bradford-pearson/" class="byline">Bradford Pearson</a></span> </div> </div> <div id="adslot_1" class="gpt-ad native-river"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/05/earthquake-philadelphia/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="A USGS &quot;shake map&quot; of the earthquake felt in Philadelphia on Friday morning" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/earthquake-philadelphia.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/05/earthquake-philadelphia/"><p>The Great Philadelphia Earthquake of 2024</p></a></h2> <div class="post-excerpt"> <p> </p><p>Who felt it. And who didn’t.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="SEPTA's new fare gates at 69th Street Station are supposed to prevent fare evasion" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/septa-fare-evasion-train-gates.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"><p>SEPTA’s New “High-Tech” Fare Gates Are Astonishingly Easy to Beat</p></a></h2> <div class="post-excerpt"> <p> </p><p>The agency insists the devices will curb fare evasion. Others, including SEPTA employees, aren’t so sure.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="nativo-section-front-2"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/04/made-in-america-philadelphia-canceled/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="Fans of Beyonce await her arrival at the 2015 Made in America Festival in Philadelphia" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/made-in-america-philadelphia-canceled.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/04/made-in-america-philadelphia-canceled/"><p>Philly Today: Don’t Be So Happy About the Possible Death of Made In America</p></a></h2> <div class="post-excerpt"> <p> </p><p>Plus, Mayor Parker cracks down.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> </div> <div class="advertisement-side"> <div id="rail-2" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-2"></div> </div> </div> </div> <div class="three-column-module container"> <h2 class="title-line">Read More About</h2> <div class="grid-content with-separator"> <div class="grid-post"><a href="https://www.phillymag.com/news/2020/04/01/gopuff-coronavirus-essentials/" class="post-image-link"><img class="lazyload" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2021/04/fdr-park-golf-course-meadows.jpg" alt="How the Pandemic Turned a South Philly Golf Course Into the City’s Best New Park"></a><div class="grid-post-card"><h2 class="post-title"><a href="https://www.phillymag.com/news/2020/04/01/gopuff-coronavirus-essentials/">How the Pandemic Turned a South Philly Golf Course Into the City’s Best New Park</a></h2></div><div class="guide-list"><div class="post-excerpt"> The former municipal golf course at FDR Park became an indispensable natural refuge for many locked-down South Philadelphians over the past year. </div></div></div><div class="grid-post"><a href="https://www.phillymag.com/news/2021/04/10/the-sound-of-philadelphia-history/" class="post-image-link"><img class="lazyload" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2021/04/the-sound-of-philadelphia-featured.jpg" alt="An Oral History of the Sound of Philadelphia"></a><div class="grid-post-card"><h2 class="post-title"><a href="https://www.phillymag.com/news/2021/04/10/the-sound-of-philadelphia-history/">An Oral History of the Sound of Philadelphia</a></h2></div><div class="guide-list"><div class="post-excerpt"> <p>Fifty years after founding their legendary Philadelphia International Records, Kenny Gamble and Leon Huff, with friends and collaborators from Thom Bell to John Oates to Patti LaBelle, look back on the musical partnership that came to define the city.</p> </div> </div></div><div class="grid-post"><div id="curated_module-2" class="gpt-ad lazyload" data-ad="curated_module-2"></div></div> </div> </div> <div class="container"> <hr class="double"> <div class="content-with-sidebar"> <div class="list-content"> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/03/center-city-philadelphia-prema-gupta/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-2404-OTR_01.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/qa/" class="post-slug">Q&amp;A</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/03/center-city-philadelphia-prema-gupta/"><p>Can This Woman Convince People to Return to Center City in Droves?</p></a></h2> <div class="post-excerpt"> <p> </p><p><span class="s1">Prema Katari Gupta, the brand-new head of the Center City District, talks trash, public safety, and the (good!) omens for Philly’s downtown.</span></p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/03/philadelphia-hoagies/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="The opening spread of Philly Mag's 2023 feature about hoagies, which just won a national magazine award" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philadelphia-hoagie-shops.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/03/philadelphia-hoagies/"><p>Philly Today: Our Hoagies Cover Story Wins Coveted National Magazine Award</p></a></h2> <div class="post-excerpt"> <p> </p><p>So we’re officially declaring today Hoagie Day in Philadelphia. Go out and eat one.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div id="adslot_2" class="gpt-ad native-river"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/02/best-public-schools-philadelphia/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="A photo of Radnor High School in Radnor, Pennsylvania, one of the best places in America for public schools, according to a new report" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/best-public-schools-philadelphia-area.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/02/best-public-schools-philadelphia/"><p>Philly Today: Some of America’s Best Public Schools Are Right Here</p></a></h2> <div class="post-excerpt"> <p> </p><p>So says a new study. Plus, CAPA in upheaval over controversial play.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <div class="nativo-section-front-3"></div><div class="list-post"> <a href="https://www.phillymag.com/news/2024/04/01/street-sweeping-schedule-philadelphia/" class="post-image-link"><img width="115" height="77" class="attachment-post-thumbnail size-post-thumbnail lazyload" alt="One of the vehicles used for street sweeping in Philadelphia" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia-115x77.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/street-sweeping-schedule-philadelphia.jpg 900w" data-sizes="(max-width: 767px) calc( ( 100vw - 30px ) / 3 ), (max-width: 1023px) calc( ( 100vw - 30px ) / 3 ), 217px"></a> <div class="list-post-card"> <a href="https://www.phillymag.com/category/news/" class="post-slug">News</a> <h2 class="post-title"><a href="https://www.phillymag.com/news/2024/04/01/street-sweeping-schedule-philadelphia/"><p>Philly Today: City to Actually Start Sweeping its Streets this Week</p></a></h2> <div class="post-excerpt"> <p> </p><p>Not an April Fools joke. Plus, the world is descending on the city for WrestleMania.</p> <p></p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline">Victor Fiorillo</a></span> </div> </div> <span class="pagination"><span class="page-numbers current">1</span><a class="page-numbers" href="https://www.phillymag.com/news/page/2/"> 2 </a><a class="page-numbers" href="https://www.phillymag.com/news/page/3/"> 3 </a><a class="page-numbers" href="https://www.phillymag.com/news/page/4/"> 4 </a><a class="page-numbers" href="https://www.phillymag.com/news/page/5/"> 5 </a><a class="page-numbers" href="https://www.phillymag.com/news/page/6/"> 6 </a><a class="page-numbers" href="https://www.phillymag.com/news/page/7/"> 7 </a><a href="https://www.phillymag.com/news/page/2/" class="next page-numbers"> &gt; </a><a href="https://www.phillymag.com/news/page/2796/" class="last page-numbers"> &gt;&gt; </a></span><div class="post-navigation"></div> </div> <div class="advertisement-side"> <div id="rail-3" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-3"></div> </div> </div> </div> <div id="banner-3" class="gpt-ad lazyload advertisement container" data-ad="banner-3"></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div class="footer-navigation"><ul id="menu-footer" class="menu-footer-main container"><li id="menu-item-1312111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1312111"><a href="https://www.phillymag.com/about-philadelphia-magazine/">About</a></li> <li id="menu-item-1172051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1172051"><a href="https://phillymag.com/contact/">Contact</a></li> <li id="menu-item-3545622" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3545622"><a href="https://www.phillymag.com/issues/">Magazine</a></li> <li id="menu-item-1359951" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1359951"><a href="https://www.phillymag.com/subscribe-to-philadelphia/">Subscribe</a></li> <li id="menu-item-900141" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-900141"><a href="/philadelphia-magazine-media-kit/">Advertise</a></li> <li id="menu-item-3966784" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3966784"><a href="https://metrocorp.cloud.buysub.com/login">Customer Service</a></li> <li id="menu-item-3358026" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358026"><a href="https://www.phillymag.com/careers/">Careers</a></li> <li id="menu-item-3358028" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358028"><a href="https://www.phillymag.com/privacy-policy/">Privacy Policy</a></li> </ul></div> <div class="site-footer-inner container"> <a href="https://www.phillymag.com" class="footer-logo"> <span><svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg></span> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <ul id="menu-social-menu-2" class="menu-footer-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> <p class="footer-copyright">2024 © Metro Corp. All Rights Reserved.</p> </div> </footer> <div class="container" id="gutter-container"></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <![CDATA[ */ var mcZephr = {"ajaxurl":"https:\/\/www.phillymag.com\/wp-admin\/admin-ajax.php","pageslug":"","hbpageurl":"https:\/\/www.phillymag.com\/news\/","hbpagename":"","hbportalid":"510637","formId":{"register":"bcb5c500-550a-47a6-bd37-ca98e1557872","meter":"5abdf84d-a6ba-444c-bdc7-8ce82290ccae"},"nonce":{"register":"c2b9b6612d","meter":"5fd0d64bac"},"pushArray":"[]"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></script> <script type="text/javascript" id="metrocorp-js-extra"> /* <![CDATA[ */ var mcGlobal = {"isSingle":"","directoryName":"Philadelphia Magazine"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></script> <!--[if if lte IE 8]> <script type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js?ver=1.0.0" id="mc-integrations-hubspot-legacy-js"></script> <![endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <![CDATA[ */ var mcHubSpot = {"portalId":"510637","formId":"1eb0cd17-b648-4155-bc2f-9026b5cbb937","isSingle":"false","title":"","vertical":""}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></script> <!-- Start of AdCellerant Embed Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script> <script type="text/javascript"> ttd_dom_ready( function() { if (typeof TTDUniversalPixelApi === 'function') { var universalPixelApi = new TTDUniversalPixelApi(); universalPixelApi.init("1qqfa0h", ["g7kke2y"], "https://insight.adsrvr.org/track/up"); } }); </script> <!-- End of AdCellerant Embed Code --> <link rel="stylesheet" href="//cloud.typography.com/6851996/6329192/css/fonts.css" type="text/css" media="print" onload="this.media='all'"> <div id="bottom-anchor" class="gpt-ad"></div> |
| 13 |
Info
On line 431, column 108 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news" aria-current="page">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item menu-item-3701551"><a href="https://www.phillymag.com/news" aria-current="page">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item current-menu-ancestor current-menu-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news" aria-current="page">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-menu-item menu-item-3701551"><a href="https://www.phillymag.com/news" aria-current="page">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> |
| 14 |
Error
On line 982, column 7 ="gpt-ad"></div> <script type="text/javascript"> window.Zephr = window.Zephr || {}; window.Zephr.includeOutcomes = true; window.Zephr.outcomesAsEvents = true; window.Zephr.groupFields = false; (function() { var xhr = new(XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0'); xhr.open('GET', '/blaize/datalayer', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { var response; try { response = JSON.parse(xhr.response); } catch (e) { response = xhr.response; } if (xhr.status === 200) { for (var dataLayerFieldName in response) { if (!(dataLayerFieldName in window)) window[dataLayerFieldName] = []; var pageView = response[dataLayerFieldName]; var events = []; if (window.Zephr && window.Zephr.includeOutcomes && window.Zephr.outcomes) { pageView.zephrOutcomes = window.Zephr.outcomes; if (window.Zephr.outcomesAsEvents) { Object.keys(window.Zephr.outcomes || []).forEach(function(outcomeKey) { var outcomeEvent = { event: "zephr-outcome-" + outcomeKey, featureId: outcomeKey, featureLabel: window.Zephr.outcomes[outcomeKey].featureLabel, outcomeId: window.Zephr.outcomes[outcomeKey].outcomeId, outcomeLabel: window.Zephr.outcomes[outcomeKey].outcomeLabel, }; events.push(outcomeEvent); }); } } if (window.Zephr && window.Zephr.accessDetails) { Object.keys((window.Zephr.accessDetails.trials || {})).forEach(function(trialId){ var trial = window.Zephr.accessDetails.trials[trialId] if(trial.reportInDataLayer){ var usedCredits = trial.totalCredits - trial.remainingCredits if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (trial.dataLayerCreditsUsedKey) { target[trial.dataLayerCreditsUsedKey] = usedCredits; } if (trial.dataLayerCreditsRemainingKey) { target[trial.dataLayerCreditsRemainingKey] = trial.remainingCredits; } } }); (window.Zephr.accessDetails.trialTrackingDetails || []).forEach(function(details) { var type = details.entitlementType === 'credits' ? 'credits' : 'meters'; var trial = (window.Zephr.accessDetails[type] || {})[details.entitlementId]; if (!trial) return; if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; if (details.creditsRemainingKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsRemainingKey] = trial.remainingCredits; } else { pageView[details.creditsRemainingKey] = trial.remainingCredits; } } if (details.creditsUsedKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } else { pageView[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } } }); try { (Object.keys(window.Zephr.accessDetails.timeTrials || {})).forEach(function(timeTrialId) { var timeTrial = window.Zephr.accessDetails.timeTrials[timeTrialId] if(timeTrial.reportInDataLayer){ if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (timeTrial.dataLayerTrialDurationKey) { target[timeTrial.dataLayerTrialDurationKey] = timeTrial.trialDuration; } if (timeTrial.dataLayerTrialDurationUnitsKey) { target[timeTrial.dataLayerTrialDurationUnitsKey] = timeTrial.trialDurationUnits; } if (timeTrial.dataLayerTrackerEntryTimeKey) { target[timeTrial.dataLayerTrackerEntryTimeKey] = timeTrial.entryTime; } if (timeTrial.dataLayerTrackerHitsKey) { target[timeTrial.dataLayerTrackerHitsKey] = timeTrial.trackerHits; } if (timeTrial.dataLayerTrialTimeRemainingKey) { target[timeTrial.dataLayerTrialTimeRemainingKey] = timeTrial.timeRemainingInTrial; } } }); } catch (err) { console.error("Error aggregating Zephr time trials", err); } } if (Object.keys(pageView).length) { pageView.event = "zephr-pageview"; events.unshift(pageView); } if (!events.length) continue; events.forEach(function(event) { window[dataLayerFieldName].push(event); }); } var readyEvent = document.createEvent('Event'); readyEvent.initEvent('zephr.dataLayerReady', true, true); document.dispatchEvent(readyEvent); } } } xhr.send({}); })(); </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; window.Zephr.accessDetails = {"isAuthenticated":false,"accessDecisions":{},"entitlements":{},"credits":{},"meters":{"M3A9uZ":{"isUsedInDecision":false,"isDecrementedInDecision":false,"totalCredits":3,"remainingCredits":3},"yd5xCQ":{"isUsedInDecision":false,"isDecrementedInDecision":false,"totalCredits":3,"remainingCredits":3}},"trials":{},"timeTrials":{},"trialTrackingDetails":[{"creditsUsedKey":"BOSregisteredTrialUsed","creditsRemainingKey":"BOSregisteredTrialRemaining","entitlementId":"8PkFKn","entitlementType":"meter"},{"creditsUsedKey":"PHIunRegisteredTrialUsed","creditsRemainingKey":"PHIunRegisteredTrialRemaining","entitlementId":"M3A9uZ","entitlementType":"meter"},{"creditsUsedKey":"PHIregisteredTrialUsed","creditsRemainingKey":"PHIregisteredTrialRemaining","entitlementId":"X8GVUi","entitlementType":"meter"},{"creditsUsedKey":"BOSunRegisteredTrialUsed","creditsRemainingKey":"BOSunRegisteredTrialRemaining","entitlementId":"yd5xCQ","entitlementType":"meter"}],"testGroups":{"a92a3049-5eae-42b9-a584-32c777aeb20f":"B","3b01d163-59e0-4572-93b2-2ccaee467b4c":"B","a866aafc-5caa-4bfc-968d-3be9056b2733":"A","e00c1d35-cbaa-4515-bdea-241356f6f120":"A"},"activeProducts":[]}; </script> </body> </htm |
| 15 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 16 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 17 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 18 |
Error
On line 29, column 62 today."> <link rel="canonical" href="https://www.phillymag.com/news/"> <lin |
| 19 |
Error
On line 30, column 64 /news/"> <link rel="next" href="https://www.phillymag.com/news/page/2/"> <met |
| 20 |
Error
On line 45, column 149 phy.com"> <link rel="alternate" type="application/rss+xml" title="Philadelphia Magazine » City Life Vertical Feed" href="https://www.phillymag.com/news/feed/"> <scri |
| 21 |
Info
On line 46, column 31 s/feed/"> <script type="text/javascript"> /* <! |
| 22 |
Info
On line 53, column 55 </script> <style id="wp-emoji-styles-inline-css" style="background-color: #ffff80;">type="text/css"> img |
| 23 |
Info
On line 67, column 60 </style> <style id="classic-theme-styles-inline-css" style="background-color: #ffff80;">type="text/css"> /*! T |
| 24 |
Info
On line 71, column 53 </style> <style id="global-styles-inline-css" style="background-color: #ffff80;">type="text/css"> body{ |
| 25 |
Error
On line 72, column 2801 .is-layout-flex){gap: 0.5em;}: |
| 26 |
Error
On line 72, column 2837 .is-layout-grid){gap: 0.5em;}b |
| 27 |
Error
On line 72, column 2918 -inline-start: 0;margin-inline |
| 28 |
Error
On line 72, column 2941 line-end: 2em;}body |
| 29 |
Error
On line 72, column 3015 ne-start: 2em;margi |
| 30 |
Error
On line 72, column 3036 in-inline-end: 0;}body .is-lay |
| 31 |
Error
On line 72, column 3209 -inline-start: 0;margin-inline |
| 32 |
Error
On line 72, column 3232 line-end: 2em;}body |
| 33 |
Error
On line 72, column 3313 ne-start: 2em;margi |
| 34 |
Error
On line 72, column 3334 in-inline-end: 0;}body .is-lay |
| 35 |
Error
On line 72, column 3526 not(.alignfull)){max-width: va |
| 36 |
Error
On line 72, column 3968 .is-layout-flex){gap: 2em;}:wh |
| 37 |
Error
On line 72, column 4019 .is-layout-grid){gap: 2em;}:wh |
| 38 |
Error
On line 72, column 4076 .is-layout-flex){gap: 1.25em;} |
| 39 |
Error
On line 72, column 4136 .is-layout-grid){gap: 1.25em;} |
| 40 |
Error
On line 73, column 54 element-button)){color: inheri |
| 41 |
Error
On line 74, column 46 .is-layout-flex){gap: 1.25em;} |
| 42 |
Error
On line 74, column 106 .is-layout-grid){gap: 1.25em;} |
| 43 |
Error
On line 75, column 40 .is-layout-flex){gap: 2em;}:wh |
| 44 |
Error
On line 75, column 91 .is-layout-grid){gap: 2em;} .w |
| 45 |
Info
On line 82, column 49 ia="all"> <script type="text/javascript" id="gpt-js-extra"> /* <! |
| 46 |
Info
On line 87, column 50 </script> <script type="text/javascript" id="gpt-js-before"> /* <! |
| 47 |
Info
On line 107, column 108 </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></scri |
| 48 |
Info
On line 108, column 49 </script> <script type="text/javascript" id="gpt-js-after"> /* <! |
| 49 |
Info
On line 113, column 116 </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></scri |
| 50 |
Info
On line 114, column 98 </script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></scri |
| 51 |
Info
On line 115, column 180 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></scri |
| 52 |
Error
On line 116, column 73 </script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link |
| 53 |
Error
On line 116, column 180 wp-json/"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta |
| 54 |
Error
On line 138, column 239 LOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link |
| 55 |
Error
On line 139, column 141 ="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link |
| 56 |
Error
On line 140, column 137 192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta |
| 57 |
Info
On line 161, column 97 </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></scri |
| 58 |
Info
On line 189, column 101 Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></scri |
| 59 |
Info
On line 201, column 31 Code --> <script type="text/javascript"> _link |
| 60 |
Info
On line 205, column 40 tner_id); </script><script type="text/javascript"> (func |
| 61 |
Info
On line 329, column 59 div> <header class="site-header" role="banner" id="js-header"> < |
| 62 |
Info
On line 643, column 25 ainer"> <h2 class="title-line"></h2> |
| 63 |
Info
On line 795, column 62 ></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div |
| 64 |
Info
On line 818, column 169 "></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></scri |
| 65 |
Info
On line 819, column 61 </script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <! |
| 66 |
Info
On line 824, column 165 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></scri |
| 67 |
Info
On line 825, column 192 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></scri |
| 68 |
Info
On line 826, column 55 </script> <script type="text/javascript" id="metrocorp-js-extra"> /* <! |
| 69 |
Info
On line 831, column 149 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></scri |
| 70 |
Info
On line 832, column 169 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></scri |
| 71 |
Info
On line 833, column 200 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></scri |
| 72 |
Info
On line 837, column 108 endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></scri |
| 73 |
Info
On line 838, column 74 </script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <! |
| 74 |
Info
On line 843, column 204 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></scri |
| 75 |
Info
On line 845, column 78 Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></scri |
| 76 |
Info
On line 846, column 31 </script> <script type="text/javascript"> ttd_ |
| 77 |
Info
On line 857, column 31 d"></div> <script type="text/javascript"> win |
| 78 |
Info
On line 978, column 31 </script> <script type="text/javascript"> if |
β