Govee Curtain Lights review: A smart light spectacle

“)),[e.width,e.height]=x[r.size_id].split(“x”).map((e=>Number(e)))),e.rubiconTargeting=(Array.isArray(r.targeting)?r.targeting:[]).reduce(((e,t)=>(e[t.key]=t.values[0],e)),{rpfl_elemid:a.adUnitCode}),t.push(e)}else(0,l.logError)(“Rubicon: bidRequest undefined at index position:”.concat(n),s,e);var c,p;return t}),[]).sort(((e,t)=>(t.cpm||0)-(e.cpm||0)))},getUserSyncs:function(e,t,r,i){if(!I&&e.iframeEnabled){let e={};return r&&(“boolean”==typeof r.gdprApplies&&(e.gdpr=Number(r.gdprApplies)),”string”==typeof r.consentString&&(e.gdpr_consent=r.consentString)),i&&(e.us_privacy=encodeURIComponent(i)),e=Object.keys(e).length?”?”.concat((0,l.formatQS)(e)):””,I=!0,{type:”iframe”,url:”https://”.concat(f.syncHost||”eus”,”.rubiconproject.com/usync.html”)+e}}},transformBidParams:function(e,t){return(0,l.convertTypes)({accountId:”number”,siteId:”number”,zoneId:”number”},e)}};function v(e,t){let r;return r=e.params.referrer?e.params.referrer:t.refererInfo.page,e.params.secure?r.replace(/^http:/i,”https:”):r}function h(e){const t=document.getElementById(e.adUnitCode);!function(e){const t=e.querySelector(“div[id^=’google_ads’]”);t&&t.style.setProperty(“display”,”none”)}(t),function(e){const t=e.querySelector(“script[id^=’sas_script’]”),r=t&&t.nextSibling;r&&”iframe”===r.localName&&r.style.setProperty(“display”,”none”)}(t);const r=e.renderer.getConfig();e.renderer.push((()=>{window.MagniteApex.renderAd({width:e.width,height:e.height,vastUrl:e.vastUrl,placement:{attachTo:t,align:r.align||”center”,position:r.position||”append”},closeButton:r.closeButton||!1,label:r.label||void 0,collapse:r.collapse||!0})}))}function _(e,t){let r=e.params;if(t===d.pX){let t=[];return r.video&&r.video.playerWidth&&r.video.playerHeight?t=[r.video.playerWidth,r.video.playerHeight]:Array.isArray((0,m.Z)(e,”mediaTypes.video.playerSize”))&&1===e.mediaTypes.video.playerSize.length?t=e.mediaTypes.video.playerSize[0]:Array.isArray(e.sizes)&&e.sizes.length>0&&Array.isArray(e.sizes[0])&&e.sizes[0].length>1&&(t=e.sizes[0]),t}let i=[];return Array.isArray(r.sizes)?i=r.sizes:void 0!==(0,m.Z)(e,”mediaTypes.banner.sizes”)?i=k(e.mediaTypes.banner.sizes):Array.isArray(e.sizes)&&e.sizes.length>0?i=k(e.sizes):(0,l.logWarn)(“Rubicon: no sizes are setup or found”),function(e){const t=[15,2,9];return e.sort(((e,r)=>{const i=t.indexOf(e),n=t.indexOf(r);return i>-1||n>-1?-1===i?1:-1===n?-1:i-n:e-r}))}(i)}function k(e){return(0,l.parseSizesInput)(e).reduce(((e,t)=>{let r=parseInt(x[t],10);return r&&e.push(r),e}),[])}function j(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];if(function(e){let t=void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.pX)),r=void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.Mk)),i=void 0!==(0,m.Z)(e,”params.bidonmultiformat”),n=”object”!=typeof(0,m.Z)(e,”params.video”);return!(!t||!i)||(r&&n&&(t=!1),t&&n&&(0,u.N)(e,”params.video”,{}),t)}(e)){if(-1===[“outstream”,”instream”].indexOf((0,m.Z)(e,”mediaTypes.”.concat(d.pX,”.context”))))return t&&(0,l.logError)(“Rubicon: mediaTypes.video.context must be outstream or instream”),r;if(_(e,d.pX).length<2)return t&&(0,l.logError)(“Rubicon: could not determine the playerSize of the video”),r;t&&(0,l.logMessage)(“Rubicon: making video request for adUnit”,e.adUnitCode),r.push(d.pX)}if(void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.B5))&&r.push(d.B5),void 0!==(0,m.Z)(e,”mediaTypes.”.concat(d.Mk))){if(0===_(e,d.Mk).length)return t&&(0,l.logError)(“Rubicon: could not determine the sizes for banner request”),r;t&&(0,l.logMessage)(“Rubicon: making banner request for adUnit”,e.adUnitCode),r.push(d.Mk)}return r}function A(e){let t=!1;const r=[“asi”,”sid”,”hp”];return e.nodes?(t=e.nodes.reduce(((e,t)=>e?r.every((e=>t.hasOwnProperty(e))):e),!0),t||(0,l.logError)(“Rubicon: required schain params missing”),t):t}function w(e,t){return”rp_schain”===e?”rp_schain=”.concat(t):””.concat(e,”=”).concat(encodeURIComponent(t))}var I=!1;(0,s.dX)(b),(0,i.z)(“rubiconBidAdapter”)},26372:(e,t,r)=>{r.d(t,{DZ:()=>o,Px:()=>s,TP:()=>d,YC:()=>a,Z:()=>n,f8:()=>l,fP:()=>u,gm:()=>i,md:()=>c});const i=[“request”,”imp”,”bidResponse”,”response”],[n,o,s,a]=i,[d,c]=[“default”,”pbs”],p=new Set(i);const{registerOrtbProcessor:l,getProcessors:u}=function(){const e={};return{registerOrtbProcessor(t){let{type:r,name:n,fn:o,priority:s=0,dialects:a=[d]}=t;if(!p.has(r))throw new Error(“ORTB processor type must be one of: “.concat(i.join(“, “)));a.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(r)||(e[t][r]={}),e[t][r][n]={priority:s,fn:o}}))},getProcessors:t=>e[t]||{}}}()}},e=>{e.O(0,[85279,70951],(()=>{return t=40060,e(e.s=t);var t}));e.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[92972],{54834:(o,e,t)=>{var n=t(78640),r=t(64358),d=t(92797),i=t(51039),a=t(15164),u=t(34516),c=t(9633),l=t(81694);const s=(0,a.df)({moduleType:c.y2,moduleName:”pubCommonId”}),m=”cookie”,f=”html5″,g=”_pubcid_optout”,p=”PublisherCommonId”;function I(o,e){if(e===m)return s.getCookie(o);if(e===f&&s.hasLocalStorage()){const e=s.getDataFromLocalStorage(“”.concat(o,”_exp”));if(!e)return s.getDataFromLocalStorage(o);if(new Date(e).getTime()-Date.now()>0)return s.getDataFromLocalStorage(o)}}function b(o,e){return function(t,n){e?v(e,o,(()=>{t(n()||o)}))():t(o)}}function v(o){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:””,t=arguments.length>2?arguments[2]:void 0;if(!o)return;const n=(0,r.parseUrl)(o);n.search.id=encodeURIComponent(“pubcid:”+e);const d=(0,r.buildUrl)(n);return function(){(0,r.triggerPixel)(d,t)}}function h(){return!!(s.cookiesAreEnabled()&&I(g,m)||s.hasLocalStorage()&&I(g,f))}const C={name:”sharedId”,aliasName:”pubCommonId”,gvlid:u.$P,decode(o,e){if(h())return void(0,r.logInfo)(“PubCommonId decode: Has opted-out”);(0,r.logInfo)(” Decoded value PubCommonId “+o);return{pubcid:o}},getId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return void(0,r.logInfo)(“PubCommonId: Has opted-out”);if(i.VP.getCoppa())return void(0,r.logInfo)(“PubCommonId: IDs not provided for coppa requests, exiting PubCommonId”);const{params:{create:t=!0,pixelUrl:n}={}}=o;let d=e;if(!d){try{“object”==typeof window[p]&&(d=window[p].getId())}catch(o){}d||(d=t&&(0,r.hasDeviceAccess)()?(0,r.generateUUID)():void 0)}return{id:d,callback:b(d,n)}},extendId:function(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>2?arguments[2]:void 0;if(h())return(0,r.logInfo)(“PubCommonId: Has opted-out”),{id:void 0};if(i.VP.getCoppa())return void(0,r.logInfo)(“PubCommonId: IDs not provided for coppa requests, exiting PubCommonId”);const{params:{extend:t=!1,pixelUrl:n}={}}=o;if(t){if(n){return{callback:v(n,e)}}return{id:e}}},domainOverride:(0,l.U)(s,”sharedId”)};(0,d.Bx)(“userId”,C),(0,n.z)(“sharedIdSystem”)}},o=>{o.O(0,[57748],(()=>{return e=54834,o(o.s=e);var e}));o.O()}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[88029],{76401:(e,t,n)=>{var r=n(78640),i=n(64358),a=n(20265),s=n(14699),d=n(15164);const o=”teads”,c=12,p=11,u=0,I=22,g=(0,d.df)({bidderCode:o}),l={code:o,gvlid:132,supportedMediaTypes:[“video”,”banner”],isBidRequestValid:function(e){let t=!1;if(void 0!==e.params){let n=b((0,i.getValue)(e.params,”placementId”)),r=b((0,i.getValue)(e.params,”pageId”));t=n&&r}return t||(0,i.logError)(“Teads placementId and pageId parameters are required. Bid aborted.”),t},buildRequests:function(e,t){const n=e.map(v),r={referrer:m(t),pageReferrer:document.referrer,networkBandwidth:(i=window.navigator,i&&i.connection&&i.connection.downlink>=0?i.connection.downlink.toString():””),timeToFirstByte:y(window),data:n,deviceWidth:screen.width,hb_version:”7.52.0″,…f(e),…h(e)};var i;const s=e[0];s.schain&&(r.schain=s.schain);let d=t.gdprConsent;if(t&&d){let e=”boolean”==typeof d.gdprApplies,t=”string”==typeof d.consentString,n=e?function(e,t){let n=c;e?t&&!t.isServiceSpecific&&(n=p):n=u;return n}(d.gdprApplies,d.vendorData):I;r.gdpr_iab={consent:t?d.consentString:””,status:n,apiVersion:d.apiVersion}}t&&t.uspConsent&&(r.us_privacy=t.uspConsent);const o=(0,a.Z)(s,”ortb2.device.sua”);o&&(r.userAgentClientHints=o);return{method:”POST”,url:”https://a.teads.tv/hb/bid-request”,data:JSON.stringify(r)}},interpretResponse:function(e,t){const n=[];return(e=e.body).responses&&e.responses.forEach((function(e){const t={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&&(t.dealId=e.dealId),n.push(t)})),n}};function f(e){const t={unifiedId2:”uid2.id”,liveRampId:”idl_env”,lotamePanoramaId:”lotamePanoramaId”,id5Id:”id5id.uid”,criteoId:”criteoId”,yahooConnectId:”connectId”,quantcastId:”quantcastId”,epsilonPublisherLinkId:”publinkId”,publisherFirstPartyViewerId:”pubcid”,merkleId:”merkleId.id”,kinessoId:”kpuid”};let n={};for(const r in t){const i=t[r],s=(0,a.Z)(e,”0.userId.”.concat(i));s&&(n[r]=s)}return n}function m(e){let t=””;return e&&e.refererInfo&&e.refererInfo.page&&(t=e.refererInfo.page),t}function y(e){const t=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,n=t&&”function”==typeof t.getEntriesByType&&”[object Function]”===Object.prototype.toString.call(t.getEntriesByType)&&t.getEntriesByType(“navigation”)[0]&&t.getEntriesByType(“navigation”)[0].responseStart&&t.getEntriesByType(“navigation”)[0].requestStart&&t.getEntriesByType(“navigation”)[0].responseStart>0&&t.getEntriesByType(“navigation”)[0].requestStart>0&&Math.round(t.getEntriesByType(“navigation”)[0].responseStart-t.getEntriesByType(“navigation”)[0].requestStart);if(n)return n.toString();const r=t&&t.timing.responseStart&&t.timing.requestStart&&t.timing.responseStart>0&&t.timing.requestStart>0&&t.timing.responseStart-t.timing.requestStart;return r?r.toString():””}function v(e){const t={};let n=(0,i.getValue)(e.params,”placementId”),r=(0,i.getValue)(e.params,”pageId”);const s=(0,a.Z)(e,”ortb2Imp.ext.gpid”);return t.sizes=function(e){return(0,i.parseSizesInput)(function(e){let t=(0,a.Z)(e,”mediaTypes.video.playerSize”),n=(0,a.Z)(e,”mediaTypes.video.sizes”),r=(0,a.Z)(e,”mediaTypes.banner.sizes”);if((0,i.isArray)(r)||(0,i.isArray)(t)||(0,i.isArray)(n)){return[r,n,t].reduce((function(e,t){return(0,i.isArray)(t)&&((0,i.isArray)(t[0])?t.forEach((function(t){e.push(t)})):e.push(t)),e}),[])}return e.sizes}(e))}(e),t.bidId=(0,i.getBidIdParameter)(“bidId”,e),t.bidderRequestId=(0,i.getBidIdParameter)(“bidderRequestId”,e),t.placementId=parseInt(n,10),t.pageId=parseInt(r,10),t.adUnitCode=(0,i.getBidIdParameter)(“adUnitCode”,e),t.auctionId=(0,i.getBidIdParameter)(“auctionId”,e),t.transactionId=(0,i.getBidIdParameter)(“transactionId”,e),s&&(t.gpid=s),t}function b(e){return parseInt(e)>0}function h(e){const t=(0,a.Z)(e,”0.userId.teadsId”);if(t)return{firstPartyCookieTeadsId:t};if(g.cookiesAreEnabled(null)){const e=g.getCookie(“_tfpvi”,null);if(e)return{firstPartyCookieTeadsId:e}}return{}}(0,s.dX)(l),(0,r.z)(“teadsBidAdapter”)}},e=>{var t;t=76401,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[82599],{70789:(e,t,r)=>{var n=r(78640),i=r(64358),o=r(24679),a=r(14699),d=r(3193),u=r(15164);const s=”triplelift”;let p=null,c=null;const l=(0,u.df)({bidderCode:s}),m={gvlid:28,code:s,supportedMediaTypes:[o.Mk,o.pX],isBidRequestValid:function(e){return void 0!==e.params.inventoryCode},buildRequests:function(e,t){let r=”https://tlx.3lift.com/header/auction?”,n=function(e,t){var r,n;let o={},{schain:a}=e[0];const d=function(e){const t={},r={},n={},o=e.ortb2||{},a=function(){const e=l.getDataFromLocalStorage(“opecloud_ctx”);if(!e)return null;try{return JSON.parse(e)}catch(e){return(0,i.logError)(“Triplelift: error parsing JSON: “,e),null}}(),d=Object.assign({},o.site),u=Object.assign({},o.user);if(a){u.data=u.data||[];try{u.data.push({name:”www.1plusx.com”,ext:a})}catch(e){(0,i.logError)(“Triplelift: error adding 1plusX segments: “,e)}}v(r,d),v(n,u),(0,i.isEmpty)(r)||(t.context=r);(0,i.isEmpty)(n)||(t.user=n);return t}(t);o.imp=e.map((function(e,t){let r={id:t,tagid:e.params.inventoryCode,floor:b(e)};return f(e)&&(r.video=function(e){let t={…e.params.video,…e.mediaTypes.video};try{t.w||(t.w=t.playerSize[0][0]),t.h||(t.h=t.playerSize[0][1])}catch(e){(0,i.logWarn)(“Video size not defined”,e)}”instream”===t.context&&(t.placement=1);”outstream”===t.context&&(t.placement?-1===[3,4,5].indexOf(t.placement)&&((0,i.logMessage)(“video.placement value of “.concat(t.placement,” is invalid for outstream context. Setting placement to 3″)),t.placement=3):t.placement=3);t.playbackmethod&&Number.isInteger(t.playbackmethod)&&(t.playbackmethod=Array.from(String(t.playbackmethod),Number));return delete t.playerSize,t}(e)),e.mediaTypes.banner&&!y(e)&&(r.banner={format:_(e.sizes)}),(0,i.isEmpty)(e.ortb2Imp)||(r.fpd=function(e){const t={},r={};v(r,e.ext),(0,i.isEmpty)(r)||(t.context=r);return t}(e.ortb2Imp),(0,i.isEmpty)(e.ortb2Imp.ext)||(r.ext={…e.ortb2Imp.ext})),r}));let u=[…h([e[0]]),…S([e[0]]),…x([e[0]]),…I([e[0]]),…A(e[0])];u.length>0&&(o.user={ext:{eids:u}});let s=function(e,t){let r={};(0,i.isEmpty)(e)||(r.schain={…e});(0,i.isEmpty)(t)||(r.fpd={…t});return r}(a,d);(0,i.isEmpty)(s)||(o.ext=s);null!=t&&null!==(r=t.ortb2)&&void 0!==r&&null!==(n=r.regs)&&void 0!==n&&n.gpp&&(o.regs=Object.assign({},t.ortb2.regs));return o}(e,t);if(r=(0,i.tryAppendQueryString)(r,”lib”,”prebid”),r=(0,i.tryAppendQueryString)(r,”v”,”7.52.0″),t&&t.refererInfo){let e=t.refererInfo.page;r=(0,i.tryAppendQueryString)(r,”referrer”,e)}return t&&t.timeout&&(r=(0,i.tryAppendQueryString)(r,”tmax”,t.timeout)),t&&t.gdprConsent&&(p=void 0===t.gdprConsent.gdprApplies||t.gdprConsent.gdprApplies,r=(0,i.tryAppendQueryString)(r,”gdpr”,p.toString()),void 0!==t.gdprConsent.consentString&&(c=t.gdprConsent.consentString,r=(0,i.tryAppendQueryString)(r,”cmp_cs”,c))),t&&t.uspConsent&&(r=(0,i.tryAppendQueryString)(r,”us_privacy”,t.uspConsent)),!0===d.config.getConfig(“coppa”)&&(r=(0,i.tryAppendQueryString)(r,”coppa”,!0)),r.lastIndexOf(“&”)===r.length-1&&(r=r.substring(0,r.length-1)),(0,i.logMessage)(“tlCall request built: “+r),{method:”POST”,url:r,data:n,bidderRequest:t}},interpretResponse:function(e,t){let{bidderRequest:r}=t;return(e.body.bids||[]).map((function(e){return function(e,t){let r={},n=t.width||1,i=t.height||1,o=t.deal_id||””,a=t.crid||””,d=e.bids[t.imp_id];0!=t.cpm&&t.ad&&(r={requestId:d.bidId,cpm:t.cpm,width:n,height:i,netRevenue:!0,ad:t.ad,creativeId:a,dealId:o,currency:”USD”,ttl:300,tl_source:t.tl_source,meta:{}},f(d)&&”video”===t.media_type&&(r.vastXml=t.ad,r.mediaType=”video”,r.ttl=3600),t.advertiser_name&&(r.meta.advertiserName=t.advertiser_name),t.adomain&&t.adomain.length&&(r.meta.advertiserDomains=t.adomain),t.tl_source&&”hdx”==t.tl_source&&(f(d)&&”video”===t.media_type?r.meta.mediaType=”video”:r.meta.mediaType=”banner”),t.tl_source&&”tlx”==t.tl_source&&(r.meta.mediaType=”native”),a&&(r.meta.networkId=a.slice(0,a.indexOf(“_”))));return r}(r,e)}))},getUserSyncs:function(e,t,r,n){let o=function(e){if(!e)return;if(e.iframeEnabled)return”iframe”;if(e.pixelEnabled)return”image”}(e);if(!o)return;let a=”https://eb2.3lift.com/sync?”;return”image”===o&&(a=(0,i.tryAppendQueryString)(a,”px”,1),a=(0,i.tryAppendQueryString)(a,”src”,”prebid”)),(null!==c||p)&&(a=(0,i.tryAppendQueryString)(a,”gdpr”,p),a=(0,i.tryAppendQueryString)(a,”cmp_cs”,c)),n&&(a=(0,i.tryAppendQueryString)(a,”us_privacy”,n)),[{type:o,url:a}]}};function f(e){return g(e)&&(y(e)||function(e){return g(e)&&”outstream”===e.mediaTypes.video.context.toLowerCase()}(e))}function y(e){return g(e)&&”instream”===e.mediaTypes.video.context.toLowerCase()}function g(e){return e.mediaTypes.video&&e.mediaTypes.video.context}function b(e){let t=null;if(“function”==typeof e.getFloor)try{const r=e.getFloor({currency:”USD”,mediaType:f(e)?”video”:”banner”,size:”*”});”object”!=typeof r||”USD”!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}catch(e){(0,i.logError)(“Triplelift: getFloor threw an error: “,e)}return null!==t?t:e.params.floor}function v(e,t){(0,i.isEmpty)(t)||Object.keys(t).forEach((r=>{null!=t[r]&&(e[r]=t[r])}))}function h(e){return E(e,”tdid”,”adserver.org”,”TDID”)}function S(e){return E(e,”idl_env”,”liveramp.com”,”idl”)}function x(e){return E(e,”criteoId”,”criteo.com”,”criteoId”)}function I(e){return E(e,”pubcid”,”pubcid.org”,”pubcid”)}function A(e){let t=[“adserver.org”,”liveramp.com”,”criteo.com”,”pubcid.org”],r=[];return e.userIdAsEids&&e.userIdAsEids.forEach((e=>{try{if(-1===t.indexOf(e.source)){let t=e.uids.map((t=>({id:t.id,ext:{rtiPartner:e.source}})));r.push({source:e.source,uids:t})}}catch(t){(0,i.logWarn)(“Triplelift: Error attempting to add “.concat(e,” to bid request”),t)}})),r}function E(e,t,r,n){return e.map(function(e){return t=>t&&t.userId&&t.userId[e]}(t)).filter(T(t)).map(function(e,t){return r=>({source:e,uids:[{id:r.id?r.id:r,ext:{rtiPartner:t}}]})}(r,n))}const T=e=>(t,r,n)=>{let o=!!t&&((0,i.isStr)(t)?!!t:(0,i.isPlainObject)(t)&&!(0,i.isArray)(t)&&!(0,i.isEmpty)(t)&&t.id&&(0,i.isStr)(t.id)&&!!t.id);return o||void 0===n[0]||(0,i.logWarn)(“Triplelift: invalid “.concat(e,” userId format”)),o};function _(e){return e.filter(C).map((function(e){return{w:e[0],h:e[1]}}))}function C(e){return 2===e.length&&”number”==typeof e[0]&&”number”==typeof e[1]}(0,a.dX)(m),(0,n.z)(“tripleliftBidAdapter”)}},e=>{var t;t=70789,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[34579],{98709:(r,e,t)=>{var o=t(78640),n=t(64358),s=t(48928),d=t(92797);const i=”unifiedId”,c={name:i,gvlid:21,decode:r=>r&&”string”==typeof r.TDID?{tdid:r.TDID}:void 0,getId(r){const e=r&&r.params||{};if(!e||”string”!=typeof e.partner&&”string”!=typeof e.url)return void(0,n.logError)(“User ID – unifiedId submodule requires either partner or url to be defined”);const t=e.url||”https://match.adsrvr.org/track/rid?ttd_pid=”.concat(e.partner,”&fmt=json”);return{callback:function(r){const e={success:e=>{let t;if(e)try{t=JSON.parse(e)}catch(r){(0,n.logError)(r)}r(t)},error:e=>{(0,n.logError)(“”.concat(i,”: ID fetch encountered an error”),e),r()}};(0,s.h)(t,e,void 0,{method:”GET”,withCredentials:!0})}}}};(0,d.Bx)(“userId”,c),(0,o.z)(“unifiedIdSystem”)}},r=>{var e;e=98709,r(r.s=e)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[69039],{83806:(e,r,n)=>{var t=n(78640),i=n(20265),d=n(64358),o=n(35706),s=n(14699),a=n(24679);const u=(e,r,n)=>{const{bids:t,bidderRequestId:d,auctionId:o,bidderCode:s,…a}=n,u=n.bids.length-r.length;let l={};r.forEach((e=>{const r=e.params.siteId;(e=>{Object.keys(e.mediaTypes).forEach((r=>{let n;n=”function”==typeof e.getFloor?e.getFloor({currency:”USD”,mediaType:r,size:”*”}).floor||0:e.params.floor||0,e.mediaTypes[r].floor=n}))})(e),(e=>{let r=(0,i.Z)(e,”mediaTypes.banner”);if(r){let e={},n=[];r.sizes.forEach((r=>{e[r.toString()]||(e[r.toString()]=!0,n.push(r))})),r.sizes=n}})(e),l[r]=l[r]||[],l[r].push(e)}));let p=[];return Object.keys(l).forEach((r=>{let n={bidderRequest:Object.assign({},{bids:l[r],invalidBidsCount:u,…a})};p.push(Object.assign({},{data:n,…e}))})),p},l=e=>{if(e.ad)return e;(0,d.logError)(new Error(“UnrulyBidAdapter: Missing ad config.”))},p=e=>{if(e.vastUrl||e.vastXml)return e;(0,d.logError)(new Error(“UnrulyBidAdapter: Missing vastUrl or vastXml config.”))},c=e=>{const r=!!(0,i.Z)(e,”ext.renderer.config”),n=!!(0,i.Z)(e,”ext.renderer.config.siteId”);if(!r)return void(0,d.logError)(new Error(“UnrulyBidAdapter: Missing renderer config.”));if(!n)return void(0,d.logError)(new Error(“UnrulyBidAdapter: Missing renderer siteId.”));const t=(0,i.Z)(e,”ext.renderer”);!function(e,r){if(!e.config)throw new Error(“UnrulyBidAdapter: Missing renderer config.”);if(!e.config.siteId)throw new Error(“UnrulyBidAdapter: Missing renderer siteId.”);parent.window.unruly=parent.window.unruly||{},parent.window.unruly.native=parent.window.unruly.native||{},parent.window.unruly.native.siteId=parent.window.unruly.native.siteId||e.config.siteId,parent.window.unruly.native.adSlotId=r,parent.window.unruly.native.supplyMode=”prebid”}(t,e.requestId),parent.window.unruly.native.prebid=parent.window.unruly.native.prebid||{},parent.window.unruly.native.prebid.uq=parent.window.unruly.native.prebid.uq||[];const s=o.Th.install(Object.assign({},t)),a=Object.assign({},e,{renderer:s,adUnitCode:(0,i.Z)(e,”ext.adUnitCode”)});return s.setRender((()=>{var e;e=a,parent.window.unruly.native.prebid.uq.push([“render”,e])})),e.renderer=e.renderer||s,e},y=e=>{if(!e.context)return!1;return-1!==[“outstream”,”instream”].indexOf(e.context)},f=e=>e.sizes,w={code:”unruly”,supportedMediaTypes:[a.pX,a.Mk],gvlid:36,isBidRequestValid:function(e){let r=(0,i.Z)(e,”params.siteId”)&&(e=>{const r=(0,i.Z)(e,”mediaTypes.video”),n=(0,i.Z)(e,”mediaTypes.banner”);let t=!(!r&&!n);return t&&r&&(t=y(r)),t&&n&&(t=f(n)),t})(e);return!!r},buildRequests:function(e,r){let n=”https://targeting.unrulymedia.com/unruly_prebid”;e[0]&&(n=(0,i.Z)(e[0],”params.endpoint”)||n);return u({url:n,method:”POST”,options:{contentType:”application/json”}},e,r)},interpretResponse:function(){const e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).body;return!e||!e.bids?[]:(e=>{let r=[];return e.forEach((e=>{let n,t=(0,i.Z)(e,”meta.mediaType”);if(t&&”banner”===t.toLowerCase())e.mediaType=a.Mk,n=l(e);else if(t&&”video”===t.toLowerCase()){let r=(0,i.Z)(e,”meta.videoContext”);e.mediaType=a.pX,”instream”===r?n=p(e):”outstream”===r&&(n=c(e))}n&&r.push(n)})),r})(e.bids)}};(0,s.dX)(w),(0,t.z)(“unrulyBidAdapter”)}},e=>{var r;r=83806,e(e.s=r)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[9215],{82547:(e,t,n)=>{var o=n(78640),r=n(34614),i=n(3193),c=n(52021),s=n(51039),a=n(5644),u=n(92797),d=n(64358),l=n(20265);const g={growthCodeId:{getValue:function(e){return e.gc_id},source:”growthcode.io”,atype:1,getUidExt:function(e){const t=(0,d.pick)(e,[“h1″,”h2″,”h3″]);if(Object.keys(t).length)return t}},trustpid:{source:”trustpid.com”,atype:1,getValue:function(e){return e}},intentIqId:{source:”intentiq.com”,atype:1},naveggId:{source:”navegg.com”,atype:1},pairId:{source:”google.com”,atype:571187},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){let t=””;return e&&e.ext&&e.ext.DeviceID&&(t=e.ext.DeviceID),t},getUidExt:function(e){return e&&e.ext}},parrableId:{source:”parrable.com”,atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?””:null},getUidExt:function(e){const t=(0,d.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}}},bidswitch:{source:”bidswitch.net”,atype:3,getValue:function(e){return e.id}},medianet:{source:”media.net”,atype:3,getValue:function(e){return e.id}},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:{atype:3,getSource:function(e){var t;return null!=e&&null!==(t=e.ext)&&void 0!==t&&t.ssp?””.concat(e.ext.ssp,”.merkleinc.com”):”merkleinc.com”},getValue:function(e){return e.id},getUidExt:function(e){return e.keyID?{keyID:e.keyID}:e.ext?e.ext:void 0}},netId:{source:”netid.de”,atype:1},IDP:{source:”zeotap.com”,atype:1},hadronId:{source:”audigent.com”,atype:1},quantcastId:{source:”quantcast.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 void 0===e.snowflake.id?e.snowflake:e.snowflake.id},source:”novatiq.com”},uid2:{source:”uidapi.com”,atype:3,getValue:function(e){return e.id}},deepintentId:{source:”deepintent.com”,atype:3},admixerId:{source:”admixer.net”,atype:3},adtelligentId:{source:”adtelligent.com”,atype:3},amxId:{source:”amxdt.net”,atype:1},publinkId:{source:”epsilon.com”,atype:3},kpuid:{source:”kpuid.com”,atype:3},imppid:{source:”ppid.intimatemerger.com”,atype:1},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}},tncid:{source:”thenewco.it”,atype:3},gravitompId:{source:”gravito.net”,atype:1},czechAdId:{source:”czechadid.cz”,atype:1},oneKeyData:{getValue:function(e){if(e&&Array.isArray(e.identifiers)&&e.identifiers[0])return e.identifiers[0].value},source:”paf”,atype:1,getEidExt:function(e){if(e&&e.preferences)return{preferences:e.preferences}},getUidExt:function(e){if(e&&Array.isArray(e.identifiers)&&e.identifiers[0]){const t=e.identifiers[0];return{version:t.version,type:t.type,source:t.source}}}}};function f(e,t){const n=g[t];if(n&&e){let t={};t.source=(0,d.isFn)(n.getSource)?n.getSource(e):n.source;const o=(0,d.isFn)(n.getValue)?n.getValue(e):e;if((0,d.isStr)(o)){const r={id:o,atype:n.atype};if((0,d.isFn)(n.getUidExt)){const t=n.getUidExt(e);t&&(r.ext=t)}if(t.uids=[r],(0,d.isFn)(n.getEidExt)){const o=n.getEidExt(e);o&&(t.ext=o)}return t}}return null}function p(e){let t=[];for(const n in e)if(e.hasOwnProperty(n))if(“pubProvidedId”===n)t=t.concat(e.pubProvidedId);else if(Array.isArray(e[n]))e[n].forEach(((e,o,r)=>{const i=f(e,n);i&&t.push(i)}));else{const o=f(e[n],n);o&&t.push(o)}return t}var m=n(15164),y=n(96475),b=n(7563),h=n(68792),I=n(17673),v=n(26372),E=n(99128),w=n(38196),O=n(34516),D=n(9633),k=n(50571),j=n(74947),S=n(10286);const x=”User ID”,P=m.c$,A=m.Dp,U={name:”_pbjs_userid_consent_data”,expires:30},C=”_pbjs_id_optout”,T=(0,m.eA)(“userId”),V={isAllowed:k.xD};let N,_,q,R,L,Z,F=!1,z=[],G=[],M=[];const W=(()=>{let e;return()=>(null==e&&(e=(0,E.V6)()),e)})();function B(e){return W().fork().renameWith((t=>[“userId.mod.”.concat(t),”userId.mods.”.concat(e,”.”).concat(t)]))}function J(e,t){t=t||e.storageMgr;const n=”function”==typeof e.submodule.domainOverride?e.submodule.domainOverride():null,o=e.config.storage.name;return function(e,r,i){t.setCookie(o+(e||””),r,i,”Lax”,n)}}function H(e,t){const n=e.config.storage,o=e.storageMgr;try{const r=new Date(Date.now()+864e5*n.expires).toUTCString(),i=(0,d.isPlainObject)(t)?JSON.stringify(t):t;if(n.type===P){const t=J(e);t(null,i,r),”number”==typeof n.refreshInSeconds&&t(“_last”,(new Date).toUTCString(),r)}else n.type===A&&(o.setDataInLocalStorage(“”.concat(n.name,”_exp”),r),o.setDataInLocalStorage(n.name,encodeURIComponent(i)),”number”==typeof n.refreshInSeconds&&o.setDataInLocalStorage(“”.concat(n.name,”_last”),(new Date).toUTCString()))}catch(e){(0,d.logError)(e)}}function K(e){let t=(0,d.getPrebidInternal)().setEidPermissions;”function”==typeof t&&(0,d.isArray)(e)&&t(function(e){let t=[];return e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).forEach((e=>{Object.keys(e.idObj).forEach((n=>{(0,l.Z)(e,”config.bidders”)&&Array.isArray(e.config.bidders)&&(0,l.Z)(g,n+”.source”)&&t.push({source:g[n].source,bidders:e.config.bidders})}))})),t}(e))}function Y(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0;const n=e.storageMgr,o=e.config.storage,r=t?””.concat(o.name,”_”).concat(t):o.name;let i;try{if(o.type===P)i=n.getCookie(r);else if(o.type===A){const e=n.getDataFromLocalStorage(“”.concat(o.name,”_exp”));””===e?i=n.getDataFromLocalStorage(r):e&&new Date(e).getTime()-Date.now()>0&&(i=decodeURIComponent(n.getDataFromLocalStorage(r)))}”string”==typeof i&&”{“===i.trim().charAt(0)&&(i=JSON.parse(i))}catch(e){(0,d.logError)(e)}return i}function $(e){const t={consentString:””,gdprApplies:!1,apiVersion:0};return e&&(t.consentString=e.consentString,t.gdprApplies=e.gdprApplies,t.apiVersion=e.apiVersion),(0,d.cyrb53Hash)(JSON.stringify(t))}function Q(e,t){t=W().fork().startTiming(“userId.callbacks.total”).stopBefore(t);const n=(0,d.delayExecution)((()=>{clearTimeout(_),t()}),e.length);e.forEach((function(e){const t=B(e.submodule.name).startTiming(“callback”).stopBefore(n);try{e.callback((function(n){n?(e.config.storage&&H(e,n),e.idObj=e.submodule.decode(n,e.config),pe(e.idObj)):(0,d.logInfo)(“”.concat(x,”: “).concat(e.submodule.name,” – request id responded with an empty value”)),t()}),Y.bind(null,e))}catch(n){(0,d.logError)(“Error in userID module ‘”.concat(e.submodule.name,”‘:”),n),t()}e.callback=void 0}))}function X(e,t){[e].some((e=>!Array.isArray(e)||!e.length))||e.forEach((e=>{e.bids&&(0,d.isArray)(e.bids)&&e.bids.forEach((e=>{const n=function(e,t){return Array.isArray(e)&&e.length&&t?e.filter((e=>!e.config.bidders||!(0,d.isArray)(e.config.bidders)||(0,r.q9)(e.config.bidders,t))).filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).reduce(((e,t)=>(Object.keys(t.idObj).forEach((n=>{e[n]=t.idObj[n]})),e)),{}):{}}(t,e.bidder);Object.keys(n).length&&(e.userId=n,e.userIdAsEids=p(n))}))}))}const ee={};let te;function ne(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ie()||[];const t=L&&e.find((e=>e.source===L));if(t&&”string”==typeof(0,l.Z)(t,”uids.0.id”)){const e=t.uids[0].id.replace(/[W_]/g,””);if(e.length>=32&&e.length<=150)return e;(0,d.logWarn)(“User ID – Googletag Publisher Provided ID for “.concat(L,” is not between 32 and 150 characters – “).concat(e))}}const oe=(0,E.g3)(“userId”,(function(e,t){let{delay:n=h.Z.timeout,getIds:r=le}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};h.Z.race([r().catch((()=>null)),n(R)]).then((()=>{X(t.adUnits||(0,o.R)().adUnits,N),W().join((0,E.Bf)(t.metrics),{propagate:!1,includeGroups:!0}),e.call(this,t)}))}));function re(){return function(e){return Array.isArray(e)&&e.length?e.filter((e=>(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length)).reduce(((e,t)=>(Object.keys(t.idObj).forEach((n=>{e[n]=t.idObj[n]})),e)),{}):{}}(N)}function ie(){return p(re())}function ce(e){return p(function(e,t){if(!Array.isArray(e)||!e.length)return{};const n=e.filter((e=>{var n;return(0,d.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length&&(null===(n=g[Object.keys(e.idObj)[0]])||void 0===n?void 0:n.source)===t}));return(0,d.isEmpty)(n)?[]:n[0].idObj}(N,e))[0]}function se(e,t,n){return te().then((()=>{let o={};if((0,d.isFn)(n)){(0,d.logInfo)(“”.concat(x,” – Getting encrypted signal from custom function : “).concat(n.name,” & source : “).concat(e,” “));const t=n(e);o[e]=t?ae(t):null}else{const n=ce(e);(0,d.logInfo)(“”.concat(x,” – Getting encrypted signal for eids :”).concat(JSON.stringify(n))),(0,d.isEmpty)(n)||(o[n.source]=!0===t?ae(n):n.uids[0].id)}return(0,d.logInfo)(“”.concat(x,” – Fetching encrypted eids: “).concat(o[e])),o[e]}))}function ae(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=””;if(1===t)n=”object”==typeof e?window.btoa(JSON.stringify(e)):window.btoa(e);return””.concat(t,”||”).concat(n)}function ue(){if(!(0,d.isGptPubadsDefined)())return;window.googletag.encryptedSignalProviders=window.googletag.encryptedSignalProviders||[];const e=i.config.getConfig(“userSync.encryptedSignalSources”);if(e){const t=e.registerDelay||0;setTimeout((()=>{e.sources&&e.sources.forEach((e=>{let{source:t,encrypt:n,customFunc:o}=e;t.forEach((e=>{window.googletag.encryptedSignalProviders.push({id:e,collectorFunction:()=>se(e,n,o)})}))}))}),t)}else(0,d.logWarn)(“”.concat(x,” – ESP : encryptedSignalSources config not defined under userSync Object”))}function de(){let{submoduleNames:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return te({refresh:!0,submoduleNames:e}).then((()=>(t&&(0,d.isFn)(t)&&t(),re())))}function le(){return te().then((()=>re()),(e=>e===ee?Promise.resolve().then(le):((0,d.logError)(“Error initializing userId”,e),h.Z.reject(e))))}const ge=(0,u.z3)(“sync”,(function(e,t){return{userIdModules:e,hasValidated:t&&t.hasValidated}}),”validateGdprEnforcement”);function fe(e,t,n,o){if(e.config.storage){let r,i=Y(e),c=!1;if(“number”==typeof e.config.storage.refreshInSeconds){const t=new Date(Y(e,”last”));c=t&&Date.now()-t.getTime()>1e3*e.config.storage.refreshInSeconds}!i||c||o||!function(e,t){return null!=e&&e===$(t)}(n,t)?r=e.submodule.getId(e.config,t,i):”function”==typeof e.submodule.extendId&&(r=e.submodule.extendId(e.config,t,i)),(0,d.isPlainObject)(r)&&(r.id&&(H(e,r.id),i=r.id),”function”==typeof r.callback&&(e.callback=r.callback)),i&&(e.idObj=e.submodule.decode(i,e.config))}else if(e.config.value)e.idObj=e.config.value;else{const n=e.submodule.getId(e.config,t,void 0);(0,d.isPlainObject)(n)&&(“function”==typeof n.callback&&(e.callback=n.callback),n.id&&(e.idObj=e.submodule.decode(n.id,e.config)))}pe(e.idObj)}function pe(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:re();if(e&&L){const t=ne(p(e));t&&((0,d.isGptPubadsDefined)()?window.googletag.pubads().setPublisherProvidedId(t):(window.googletag=window.googletag||{},window.googletag.cmd=window.googletag.cmd||[],window.googletag.cmd.push((function(){window.googletag.pubads().setPublisherProvidedId(t)}))))}}function me(e,t,n){let o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return W().fork().measureTime(“userId.init.modules”,(function(){if(!t.length)return[];if(!(t=t.filter((e=>(!e.config.storage||function(e){var t,n;switch(null===(t=e.config)||void 0===t||null===(n=t.storage)||void 0===n?void 0:n.type){case A:if(e.storageMgr.localStorageIsEnabled())return!T.getDataFromLocalStorage(C)||((0,d.logInfo)(“”.concat(x,” – opt-out localStorage found, storage disabled”)),!1);break;case P:if(e.storageMgr.cookiesAreEnabled())return!T.getCookie(C)||((0,d.logInfo)(“”.concat(x,” – opt-out cookie found, storage disabled”)),!1)}return!1}(e))&&V.isAllowed(j.EL,(0,S.T)(D.y2,e.config.name))))).length)return(0,d.logWarn)(“”.concat(x,” – no ID module configured”)),[];let{userIdModules:r,hasValidated:i}=ge(t,n);if(!i&&!(0,I.h)(n))return(0,d.logWarn)(“”.concat(x,” – gdpr permission not valid for local storage or cookies, exit module”)),[];const c=function(){try{return T.getCookie(U.name)}catch(e){(0,d.logError)(e)}}();!function(e){try{const t=new Date(Date.now()+864e5*U.expires).toUTCString();T.setCookie(U.name,$(e),t,”Lax”)}catch(e){(0,d.logError)(e)}}(n);const s=r.reduce(((e,t)=>B(t.submodule.name).measureTime(“init”,(()=>{try{fe(t,n,c,o),e.push(t)}catch(e){(0,d.logError)(“Error in userID module ‘”.concat(t.submodule.name,”‘:”),e)}return e}))),[]);return s.length&&K(s),s.forEach(ye.bind(null,e)),s}))}function ye(e,t){let n=!1;for(let o=0;o(!t||(0,d.isEmptyStr)(t.name)||(t.storage&&!(0,d.isEmptyStr)(t.storage.type)&&!(0,d.isEmptyStr)(t.storage.name)&&be.has(t.storage.type)||(0,d.isPlainObject)(t.value)?e.push(t):t.storage||t.value||e.push(t)),e)),[]):[]}(G);if(!e.length)return;const t=M.filter((e=>!(0,r.sE)(z,(t=>t.name===e.name))));z.splice(0,z.length),t.map((t=>{const n=(0,r.sE)(e,(e=>e.name&&(e.name.toLowerCase()===t.name.toLowerCase()||t.aliasName&&e.name.toLowerCase()===t.aliasName.toLowerCase())));return n&&t.name!==n.name&&(n.name=t.name),t.findRootDomain=w.W,n?{submodule:t,config:n,callback:void 0,idObj:void 0,storageMgr:(0,m.df)({moduleType:D.y2,moduleName:n.name})}:null})).filter((e=>null!==e)).forEach((e=>z.push(e))),!F&&z.length&&((0,o.R)().requestBids.before(oe,40),s.ZP.callDataDeletionRequest.before(Ie),b.G.after((e=>e(ne()))),(0,d.logInfo)(“”.concat(x,” – usersync config updated for “).concat(z.length,” submodules: “),z.map((e=>e.submodule.name))),F=!0)}function Ie(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{if(“function”==typeof e.submodule.onDataDeletionRequest)try{e.submodule.onDataDeletionRequest(e.config,e.idObj,…n)}catch(t){(0,d.logError)(“Error calling onDataDeletionRequest for ID submodule “.concat(e.submodule.name),t)}!function(e){var t,n;let o,r;switch(null===(t=e.config)||void 0===t||null===(n=t.storage)||void 0===n?void 0:n.type){case P:const t=J(e,T),n=new Date(Date.now()-864e5).toUTCString();o=e=>t(e,””,n),r=[“”,”_last”];break;case A:o=t=>T.removeDataFromLocalStorage(e.config.storage.name+t),r=[“”,”_last”,”_exp”]}o&&r.forEach((e=>{try{o(e)}catch(e){(0,d.logError)(e)}}))}(e)})),e.apply(this,n)}function ve(e){return function(){return Promise.resolve(e.apply(this,arguments))}}!function(e){let{delay:t=h.Z.timeout}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};L=void 0,z=[],G=[],F=!1,N=[],te=function(){let{delay:e=h.Z.timeout}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,h.P)(),n=(0,h.P)();let o,r,i=!1;function l(e){return r=W().fork(),null!=o&&o.reject(ee),o=(0,h.P)(),h.Z.race([e,o.promise]).finally(r.startTiming(“userId.total”))}let g=N,f=z;function p(e){return function(){if(g===N&&f===z)return e(…arguments)}}function m(){return s.rp.promise.finally(r.startTiming(“userId.init.gdpr”))}let y=l(h.Z.all([u.Cd,t.promise]).then(m).then(p((e=>{me(g,f,e)}))).then((()=>n.promise.finally(r.startTiming(“userId.callbacks.pending”)))).then(p((()=>{const e=g.filter((e=>(0,d.isFn)(e.callback)));if(e.length)return new h.Z((t=>Q(e,t)))}))));return function(){let{refresh:o=!1,submoduleNames:r=null,ready:s=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return s&&!i&&(i=!0,t.resolve(),R>0?n.resolve():c.on(a.EVENTS.AUCTION_END,(function t(){c.off(a.EVENTS.AUCTION_END,t),e(q).then(n.resolve)}))),o&&i&&(y=l(y.catch((()=>null)).then(m).then(p((e=>{const t=me(g,f.filter((e=>null==r||r.includes(e.submodule.name))),e,!0).filter((e=>null!=e.callback));if(t.length)return new h.Z((e=>Q(t,e)))}))))),y}}({delay:t}),null!=Z&&Z(),M=[],Z=e.getConfig(“userSync”,(e=>{const t=e.userSync;L=t.ppid,t&&t.userIds&&(G=t.userIds,q=(0,d.isNumber)(t.syncDelay)?t.syncDelay:500,R=(0,d.isNumber)(t.auctionDelay)?t.auctionDelay:0,he(),te({ready:!0}))})),(0,o.R)().getUserIds=re,(0,o.R)().getUserIdsAsEids=ie,(0,o.R)().getEncryptedEidsForSource=ve(se),(0,o.R)().registerSignalSources=ue,(0,o.R)().refreshUserIds=ve(de),(0,o.R)().getUserIdsAsync=ve(le),(0,o.R)().getUserIdsAsEidBySource=ce}(i.config),(0,u.bA)(“userId”,(function(e){(0,r.sE)(M,(t=>t.name===e.name))||(M.push(e),O.qh.register(D.y2,e.name,e.gvlid),he(),te({refresh:!0,submoduleNames:[e.name]}))})),(0,v.f8)({type:v.Z,name:”userExtEids”,fn:function(e,t,n){const o=(0,l.Z)(n,”bidRequests.0.userIdAsEids”);o&&Object.keys(o).length>0&&(0,y.N)(e,”user.ext.eids”,o)}}),(0,o.z)(“userId”)},7563:(e,t,n)=>{n.d(t,{G:()=>o});const o=(0,n(92797).z3)(“sync”,(()=>{}))},26372:(e,t,n)=>{n.d(t,{DZ:()=>i,Px:()=>c,TP:()=>a,YC:()=>s,Z:()=>r,f8:()=>l,fP:()=>g,gm:()=>o,md:()=>u});const o=[“request”,”imp”,”bidResponse”,”response”],[r,i,c,s]=o,[a,u]=[“default”,”pbs”],d=new Set(o);const{registerOrtbProcessor:l,getProcessors:g}=function(){const e={};return{registerOrtbProcessor(t){let{type:n,name:r,fn:i,priority:c=0,dialects:s=[a]}=t;if(!d.has(n))throw new Error(“ORTB processor type must be one of: “.concat(o.join(“, “)));s.forEach((t=>{e.hasOwnProperty(t)||(e[t]={}),e[t].hasOwnProperty(n)||(e[t][n]={}),e[t][n][r]={priority:c,fn:i}}))},getProcessors:t=>e[t]||{}}}()},17673:(e,t,n)=>{n.d(t,{h:()=>r});var o=n(20265);function r(e){return null==e||!e.gdprApplies||!0===(0,o.Z)(e,”vendorData.purpose.consents.1″)}}},e=>{var t;t=82547,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[66635],{63273:(e,t,n)=>{var o=n(78640),r=n(64358),i=n(20265),a=n(14699),c=n(24679),d=n(15164),s=n(55975),u=n(3193);const p=”prebid”,l=”vidazoo”,g=”1.0.0″,b=9e5,f=36e5,h=”vidSid”,m=”vdzwopt”,I=”wsid_”+parseInt(Date.now()*Math.random()),v=(0,d.df)({bidderCode:l});function C(){try{return(0,r.parseUrl)(window.top.document.URL,{decodeSearchAsString:!0}).search}catch(e){return””}}function S(){return”https://”.concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:p,”.cootlogix.com”)}function y(e){return e.cId||e.CID||e.cID||e.CId||e.cid||e.ciD||e.Cid||e.CiD}function D(e){return e.pId||e.PID||e.pID||e.PId||e.pid||e.piD||e.Pid||e.PiD}function w(e,t,n,o,a){var c,d;const{params:u,bidId:p,userId:w,adUnitCode:q,schain:x,mediaTypes:A,auctionId:k,transactionId:O,bidderRequestId:T,bidRequestsCount:_,bidderRequestsCount:z,bidderWinsCount:j}=e,{ext:F}=u;let{bidFloor:M}=u;const Z=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:”_”;const n=e.length;let o=0,r=0;if(n>0)for(;r1&&void 0!==arguments[1]?arguments[1]:b;try{const n=R(e);let o,r=0;n&&n.value&&Date.now()-n.created1&&void 0!==arguments[1]?arguments[1]:f;const n=”u_”.concat(e),o=Date.now(),r=R(n);let i;!r||!r.value||o-r.created>t?(i=””.concat(e,”_”).concat(o.toString()),U(n,i)):i=r.value;return i}(Z),E=R(h)||””,N=y(u),X=D(u),B=function(e){return e.subDomain||e.SubDomain||e.Subdomain||e.subdomain||e.SUBDOMAIN||e.subDOMAIN}(u),V=function(){let e=v.getDataFromLocalStorage(m);e||(e=String(Date.now()),v.setDataInLocalStorage(m,e));return e}(),J=s.S.get(l,”storageAllowed”),W=(0,i.Z)(e,”ortb2Imp.ext.gpid”,(0,i.Z)(e,”ortb2Imp.ext.data.pbadslot”,””)),G=(0,i.Z)(o,”ortb2.site.cat”,[]),H=(0,i.Z)(o,”ortb2.site.pagecat”,[]);if((0,r.isFn)(e.getFloor)){const t=e.getFloor({currency:”USD”,mediaType:”*”,size:”*”});”USD”===t.currency&&(M=t.floor)}let K={url:encodeURIComponent(t),uqs:C(),cb:Date.now(),bidFloor:M,bidId:p,referrer:o.refererInfo.ref,adUnitCode:q,publisherId:X,sessionId:E,sizes:n,dealId:L,uniqueDealId:P,bidderVersion:g,prebidVersion:”7.52.0″,res:””.concat(screen.width,”x”).concat(screen.height),schain:x,mediaTypes:A,ptrace:V,isStorageAllowed:J,gpid:W,cat:G,pagecat:H,auctionId:k,transactionId:O,bidderRequestId:T,bidRequestsCount:_,bidderRequestsCount:z,bidderWinsCount:j,bidderTimeout:a,webSessionId:I};!function(e,t){let n;(0,r._each)(t,((t,o)=>{switch(n=”uid.”.concat(o),o){case”digitrustid”:e[n]=(0,i.Z)(t,”data.id”);break;case”lipb”:e[n]=t.lipbid;break;case”parrableId”:e[n]=t.eid;break;case”id5id”:e[n]=t.uid;break;default:e[n]=t}}))}(K,w);const Q=(0,i.Z)(o,”ortb2.device.sua”);Q&&(K.sua=Q),o.gdprConsent&&(o.gdprConsent.consentString&&(K.gdprConsent=o.gdprConsent.consentString),void 0!==o.gdprConsent.gdprApplies&&(K.gdpr=o.gdprConsent.gdprApplies?1:0)),o.uspConsent&&(K.usPrivacy=o.uspConsent),o.gppConsent?(K.gppString=o.gppConsent.gppString,K.gppSid=o.gppConsent.applicableSections):null!==(c=o.ortb2)&&void 0!==c&&null!==(d=c.regs)&&void 0!==d&&d.gpp&&(K.gppString=o.ortb2.regs.gpp,K.gppSid=o.ortb2.regs.gpp_sid);const Y={method:”POST”,url:””.concat(S(B),”/prebid/multi/”).concat(N),data:K};return(0,r._each)(F,((e,t)=>{Y.data[“ext.”+t]=e})),Y}function R(e){try{return function(e){try{return JSON.parse(e)}catch(t){return e}}(v.getDataFromLocalStorage(e))}catch(e){}return null}function U(e,t,n){try{const o=n||Date.now(),r=JSON.stringify({value:t,created:o});v.setDataInLocalStorage(e,r)}catch(e){}}const q={code:l,version:g,gvlid:744,supportedMediaTypes:[c.Mk,c.pX],isBidRequestValid:function(e){const t=e.params||{};return!(!y(t)||!D(t))},buildRequests:function(e,t){const n=t.refererInfo.page||t.refererInfo.topmostLocation,o=u.config.getConfig(“bidderTimeout”),i=[];return e.forEach((e=>{const a=(0,r.parseSizesInput)(e.sizes),c=w(e,n,a,t,o);i.push(c)})),i},interpretResponse:function(e,t){if(!e||!e.body)return[];const{bidId:n}=t.data,{results:o}=e.body;let r=[];try{return o.forEach((e=>{const{creativeId:t,ad:o,price:i,exp:a,width:d,height:s,currency:u,advertiserDomains:p,metaData:l,mediaType:g=c.Mk}=e;if(!o||!i)return;const b={requestId:n,cpm:i,width:d,height:s,creativeId:t,currency:u||”USD”,netRevenue:!0,ttl:a||300};l?Object.assign(b,{meta:l}):Object.assign(b,{meta:{advertiserDomains:p||[]}}),g===c.Mk?Object.assign(b,{ad:o}):Object.assign(b,{vastXml:o,mediaType:c.pX}),r.push(b)})),r}catch(e){return[]}},getUserSyncs:function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:””,a=[];const{iframeEnabled:c,pixelEnabled:d}=e,{gdprApplies:s,consentString:u=””}=n,p=t.filter((e=>(0,i.Z)(e,”body.cid”))).map((e=>e.body.cid)).filter(r.uniques),l=”?cid=”.concat(encodeURIComponent(p.join(“,”)),”&gdpr=”).concat(s?1:0,”&gdpr_consent=”).concat(encodeURIComponent(u||””),”&us_privacy=”).concat(encodeURIComponent(o||””));return c&&a.push({type:”iframe”,url:”https://sync.cootlogix.com/api/sync/iframe/”.concat(l)}),d&&a.push({type:”image”,url:”https://sync.cootlogix.com/api/sync/image/”.concat(l)}),a}};(0,a.dX)(q),(0,o.z)(“vidazooBidAdapter”)}},e=>{var t;t=63273,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[50608],{39595:(e,t,s)=>{var n=s(78640),r=s(20265),i=s(64358),d=s(14699),a=s(24679),o=s(35706),c=s(34614);const u=”https://player.sync.viewdeos.com/outstream-unit/2.01/outstream.min.js”,p=”outstream”,l=”display”,m={code:”viewdeosDX”,aliases:[“viewdeos”],gvlid:924,supportedMediaTypes:[a.pX,a.Mk],isBidRequestValid:function(e){return!!(0,r.Z)(e,”params.aid”)},getUserSyncs:function(e,t){const s=[];function n(t){const n=t.cookieURLs,r=t.cookieURLSTypes||[];Array.isArray(n)&&n.forEach(((t,n)=>{const i=r[n]||”image”;!e.pixelEnabled&&”image”===i||!e.iframeEnabled&&”iframe”===i||s.push({type:i,url:t})}))}return(e.pixelEnabled||e.iframeEnabled)&&(0,i.isArray)(t)&&t.forEach((e=>{e.body&&((0,i.isArray)(e.body)?e.body.forEach((e=>{n(e)})):n(e.body))})),s},buildRequests:function(e,t){return{data:b(e,t),bidderRequest:t,method:”GET”,url:”https://ghb.sync.viewdeos.com/auction/”}},interpretResponse:function(e,t){let{bidderRequest:s}=t;e=e.body;let n=[];return(0,i.isArray)(e)?(e.forEach((e=>{n=(0,i.flatten)(n,f(e,s))})),n):f(e,s)}};function f(e,t){const s=!e||!(0,i.isArray)(e.bids),n=[];if(s){const s=e&&e.ext&&e.ext.message?”: “.concat(e.ext.message):””,r=”in response for “.concat(t.bidderCode,” adapter “).concat(s);return(0,i.logError)(r),n}return e.bids.forEach((e=>{const s=(0,c.cx)(t.bids,(t=>t.bidId===e.requestId));if(0!==e.cpm&&-1!==s){const i=t.bids[s],d=function(e,t,s){const n={requestId:e.requestId,creativeId:e.cmpId,height:e.height,currency:e.cur,width:e.width,cpm:e.cpm,netRevenue:!0,mediaType:t,ttl:3600,meta:{advertiserDomains:e.adomain||[]}};if(t===l)return Object.assign(n,{ad:e.ad});Object.assign(n,{vastUrl:e.vastUrl}),t===p&&Object.assign(n,{mediaType:”video”,adResponse:e,renderer:h(e.requestId,s)});return n}(e,function(e){const t=(0,r.Z)(e,”mediaTypes.video”),s=(0,r.Z)(e,”mediaTypes.video.context”);return t?s===p?p:a.pX:l}(i),i.params);n.push(d)}})),n}function b(e,t){const s={domain:(0,r.Z)(t,”refererInfo.page”)};(0,r.Z)(t,”gdprConsent.gdprApplies”)&&(s.gdpr=1,s.gdpr_consent=(0,r.Z)(t,”gdprConsent.consentString”)),(0,r.Z)(t,”bidderRequest.uspConsent”)&&(s.us_privacy=t.uspConsent);for(let t=0,n=e.length;t{const t=Object.assign({},e.renderer.getConfig(),{width:e.width,height:e.height,vastUrl:e.vastUrl,elId:e.adUnitCode});window.VOutstreamAPI.initOutstreams([t])}))}(0,d.dX)(m),(0,n.z)(“viewdeosDXBidAdapter”)}},e=>{var t;t=39595,e(e.s=t)}]);
(self.pbjsChunk=self.pbjsChunk||[]).push([[15337],{55511:(e,t,r)=>{var i=r(78640),n=r(64358),o=r(20265),a=r(96475),d=r(24679),s=r(14699),c=r(35706),p=r(34614);const u=”USD”,l=300,m=!0,f=”https://prebid-outstream.yieldmo.com/bundle.js”,g=[“mimes”,”startdelay”,”placement”,”startdelay”,”skipafter”,”protocols”,”api”,”playbackmethod”,”maxduration”,”minduration”,”pos”,”skip”,”skippable”],y=[“name”,”domain”,”cat”,”keywords”],v=(0,n.getWindowTop)(),h=2,b=0,I=[“description”,”title”,”pr”,”page_url”],x={code:”yieldmo”,supportedMediaTypes:[d.Mk,d.pX],gvlid:173,isBidRequestValid:function(e){return!!(e&&e.adUnitCode&&e.bidId&&(w(e)||Z(e))&&function(e){if(!Z(e))return!0;const t=(e,t,r)=>{let i='”‘.concat(e,'” is required’);throw r&&(i+=” when “+r),new Error(i)},r=(e,t,r)=>{throw r=r?”, expected: “+r:””,t=JSON.stringify(t),new Error(‘”‘.concat(e,'”=’).concat(t,” is invalid”).concat(r))},i=e=>void 0!==e,a=(t,r,i,n)=>{if(0===t.indexOf(“video”)){const a=”params.”+t,d=”mediaTypes.”+t,s=(0,o.Z)(e,a),c=(0,o.Z)(e,d),p=r(s),u=r(c);return p?s:u||(p?u||i(d,c,n):i(a,s,n),s||c)}{const a=(0,o.Z)(e,t);return r(a)||i(t,a,n),a}};try{a(“video.context”,(e=>!(0,n.isEmpty)(e)),t),a(“params.placementId”,(e=>!(0,n.isEmpty)(e)),t),a(“video.playerSize”,(e=>(0,n.isArrayOfNums)(e,2)||(0,n.isArray)(e)&&e.every((e=>(0,n.isArrayOfNums)(e,2)))),r,”array of 2 integers, ex: [640,480] or [[640,480]]”),a(“video.mimes”,(e=>i(e)),t),a(“video.mimes”,(e=>(0,n.isArray)(e)&&e.every((e=>(0,n.isStr)(e)))),r,’array of strings, ex: [“video/mp4”]’);const e=a(“video.placement”,(e=>i(e)),t);return a(“video.placement”,(e=>e>=1&&e<=5),r),1===e&&(a(“video.startdelay”,(e=>i(e)),((e,r)=>t(e,r,”placement == 1″))),a(“video.startdelay”,(e=>(0,n.isNumber)(e)),r,”number, ex: 5″)),a(“video.protocols”,(e=>i(e)),t),a(“video.protocols”,(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,”array of numbers, ex: [2,3]”),a(“video.api”,(e=>i(e)),t),a(“video.api”,(e=>(0,n.isArrayOfNums)(e)&&e.every((e=>e>=1&&e<=6))),r,”array of numbers, ex: [2,3]”),a(“video.playbackmethod”,(e=>!i(e)||(0,n.isArrayOfNums)(e)),r,”array of integers, ex: [2,6]”),a(“video.maxduration”,(e=>i(e)),t),a(“video.maxduration”,(e=>(0,n.isInteger)(e)),r),a(“video.minduration”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“video.skippable”,(e=>!i(e)||(0,n.isBoolean)(e)),r),a(“video.skipafter”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“video.pos”,(e=>!i(e)||(0,n.isNumber)(e)),r),a(“params.badv”,(e=>!i(e)||(0,n.isArray)(e)),r,’array of strings, ex: [“ford.com”,”pepsi.com”]’),a(“params.bcat”,(e=>!i(e)||(0,n.isArray)(e)),r,’array of strings, ex: [“IAB1-5″,”IAB1-6”]’),!0}catch(e){return(0,n.logError)(e.message),!1}}(e))},buildRequests:function(e,t){const r=function(e){var t,r;return!(null===(t=e.refererInfo)||void 0===t||null===(r=t.referer)||void 0===r||!r.includes(“pb_force_a”))}(t),i=_(“/exchange/prebid”,r),s=_(“/exchange/prebidvideo”,r),c=e.filter((e=>w(e))),u=e.filter((e=>Z(e)));let l=[];const m=function(e){if((0,o.Z)(e,”userIdAsEids”))return e.userIdAsEids||[]}(e[0])||[];if(c.length>0){let e={pbav:”7.52.0″,p:[],page_url:t.refererInfo.page,bust:(new Date).getTime().toString(),dnt:”1″===window.doNotTrack||”1″===window.navigator.doNotTrack||!1,description:k(),userConsent:JSON.stringify({gdprApplies:(0,o.Z)(t,”gdprConsent.gdprApplies”)||””,cmp:(0,o.Z)(t,”gdprConsent.consentString”)||””,gpp:(0,o.Z)(t,”gppConsent.gppString”)||””,gpp_sid:(0,o.Z)(t,”gppConsent.applicableSections”)||[]}),us_privacy:(0,o.Z)(t,”uspConsent”)||””};(function(){try{if((0,n.getWindowTop)().location.href)return!0}catch(e){return!1}})()&&(e.pr=v.document&&v.document.referrer||””,e.scrd=v.devicePixelRatio||0,e.title=v.document.title||””,e.w=v.innerWidth,e.h=v.innerHeight);const r=window.navigator.maxTouchPoints;r&&(e.mtp=r),c.forEach((t=>{e.p.push(function(e){const t=(0,o.Z)(e,”ortb2Imp.ext.data.pbadslot”),r={placement_id:e.adUnitCode,callback_id:e.bidId,sizes:e.mediaTypes.banner.sizes};if(e.params){e.params.placementId&&(r.ym_placement_id=e.params.placementId);const t=S(e,d.Mk);t&&(r.bidFloor=t)}t&&(r.gpid=t);const i=(0,o.Z)(e,”ortb2Imp.ext.tid”);i&&(r.tid=i);e.auctionId&&(r.auctionId=e.auctionId);return JSON.stringify(r)}(t));const r=N(t,”pubcid”);r?e.pubcid=r:t.crumbs&&t.crumbs.pubcid&&(e.pubcid=t.crumbs.pubcid);const i=N(t,”tdid”);i&&(e.tdid=i);const n=N(t,”criteoId”);n&&(e.cri_prebid=n),t.schain&&(e.schain=JSON.stringify(t.schain)),(0,o.Z)(t,”params.lr_env”)&&(e.ats_envelope=t.params.lr_env)})),e.p=”[“+e.p.toString()+”]”,m.length&&(e.eids=JSON.stringify(m));let a=””.concat(i,”?”).concat((0,n.parseQueryStringParameters)(e)).length-8e3;if(a>0)for(let t=0;t0){const e=function(e,t){const r=e[0].schain;let i={id:e[0].bidderRequestId,tmax:t.timeout||400,at:1,imp:e.map((e=>function(e){const t=(0,o.Z)(e,”ortb2Imp.ext.data.pbadslot”),r=function(e){const t=(0,o.Z)(e,”mediaTypes.video.playerSize”);if((0,n.isArrayOfNums)(t,2))return t;if((0,n.isArray)(t)&&(0,n.isArrayOfNums)(t[0],2))return t[0];return null}(e),i={id:e.bidId,tagid:e.adUnitCode,bidfloor:S(e,d.pX),ext:{placement_id:e.params.placementId,tid:(0,o.Z)(e,”ortb2Imp.ext.tid”)},video:{w:r[0],h:r[1],linearity:1}},a=(0,o.Z)(e,”mediaTypes.video”);Object.keys(a).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=a[e]));const s=(0,o.Z)(e,”params.video”);Object.keys(s).filter((e=>(0,p.q9)(g,e))).forEach((e=>i.video[e]=s[e])),i.video.skippable&&(i.video.skip=1,delete i.video.skippable);1!==i.video.placement&&(i.video.startdelay=b,i.video.playbackmethod=[h]);t&&(i.ext.gpid=t);return i}(e))),site:A(e[0],t),device:(0,o.Z)(t,”ortb2.device”),badv:e[0].params.badv||[],bcat:(0,o.Z)(t,”bcat”)||e[0].params.bcat||[],ext:{prebid:”7.52.0″},ats_envelope:e[0].params.lr_env};r&&(i.schain=r);e[0].auctionId&&(i.auctionId=e[0].auctionId);return function(e,t){const r=t.gdprConsent,i=(0,o.Z)(t,”gppConsent.gppString”),n=(0,o.Z)(t,”gppConsent.applicableSections”);i?(0,a.N)(e,”regs.ext.gpp”,i):((0,a.N)(e,”regs.ext.gdpr”,r&&r.gdprApplies?1:0),(0,a.N)(e,”user.ext.consent”,r&&r.consentString?r.consentString:””));n&&n.length>0&&(0,a.N)(e,”regs.ext.gpp_sid”,n);const d=(0,o.Z)(t,”uspConsent”);!i&&d&&(0,a.N)(e,”regs.ext.us_privacy”,d)}(i,t),i}(u,t);m.length&&(e.user={eids:m}),l.push({method:”POST”,url:s,data:e})}return l},interpretResponse:function(e,t){let r=[];const i=e.body;if(i.length>0&&i.forEach((e=>{e.cpm>0&&r.push(function(e){return{dealId:e.publisherDealId,requestId:e.callback_id,cpm:e.cpm,width:e.width,height:e.height,creativeId:e.creative_id,currency:u,netRevenue:m,ttl:300,ad:e.ad,meta:{advertiserDomains:e.adomain||[],mediaType:d.Mk}}}(e))})),i.seatbid){i.seatbid.reduce(((e,t)=>e.concat(t.bid)),[]).forEach((e=>r.push(function(e,t){const r=(0,p.sE)((0,o.Z)(t,”data.imp”)||[],(t=>t.id===e.impid));let i={dealId:e.dealid,requestId:r.id,cpm:e.price,width:r.video.w,height:r.video.h,creativeId:e.crid||e.adid,currency:u,netRevenue:m,mediaType:d.pX,ttl:l,vastXml:e.adm,meta:{advertiserDomains:e.adomain||[],mediaType:d.pX}};if(r.video.placement&&1!==r.video.placement){const e=c.Th.install({url:f,config:{width:i.width,height:i.height,vastTimeout:15e3,maxAllowedVastTagRedirects:5,allowVpaid:!0,autoPlay:!0,preload:!0,mute:!0},id:r.tagid,loaded:!1});e.setRender((function(e){e.renderer.push((()=>{const{id:t,config:r}=e.renderer;window.YMoutstreamPlayer(e,t,r)}))})),i.renderer=e}return i}(e,t))))}return r},getUserSyncs:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:””;const n=[],o=”&gdpr=”.concat(r.gdprApplies?1:0),a=”&gdpr_consent=”.concat(encodeURIComponent(r.consentString||””)),d=”us_privacy=”.concat(encodeURIComponent(i)),s=””.concat(“https://ads.yieldmo.com/pbcas”,”?”).concat(d).concat(o).concat(a);return e.iframeEnabled?n.push({type:”iframe”,url:s+”&type=iframe”}):e.pixelEnabled&&n.push({type:”image”,url:s+”&type=image”}),n}};function w(e){return!!(0,o.Z)(e,”mediaTypes.banner”)}function Z(e){return!!(0,o.Z)(e,”mediaTypes.video”)}function k(){return document.querySelector(‘meta[name=”description”]’)&&document.querySelector(‘meta[name=”description”]’).getAttribute(“content”)||””}function N(e,t){return”object”==typeof(0,o.Z)(e,”userId”)?e.userId[t]:void 0}function S(e,t){let r={};return”function”==typeof e.getFloor&&(r=e.getFloor({currency:u,mediaType:t,size:”*”})),r.floor||e.params.bidfloor||e.params.bidFloor||0}function A(e,t){var r;let i={};const a=(0,n.parseUrl)((0,o.Z)(t,”refererInfo.page”));(0,n.isEmpty)(a)||(i.page=””.concat(a.protocol,”://”).concat(a.hostname).concat(a.pathname)),null!==(r=t.refererInfo)&&void 0!==r&&r.ref&&(i.ref=t.refererInfo.ref);const d=document.getElementsByTagName(“meta”).keywords;d&&d.content&&(i.keywords=d.content);const s=(0,o.Z)(e,”params.site”);return s&&Object.keys(s).filter((e=>(0,p.q9)(y,e))).forEach((e=>i[e]=s[e])),i}function T(e,t,r){if(t[r].length>e)return t[r]=t[r].substring(0,t[r].length-e),0;const i=e-t[r].length;return t[r]=””,i}function _(e,t){return””.concat(t?”https://ads-stg.yieldmo.com”:”https://ads.yieldmo.com”).concat(e)}(0,s.dX)(x),(0,i.z)(“yieldmoBidAdapter”)}},e=>{var t;t=55511,e(e.s=t)}]);
})(),pbjs.processQueue();



Why settle for an RGB strip when you can have an RGB wall



Ever since childhood, I’ve been obsessed with colored lights. In 2023, that’s not a hard itch to scratch, but in the late 80s, it was a big deal to have a red or green LED in a toy. So while my inner child has enjoyed watching the RGB volcano explode in the last ten years, I can admit that some products go overboard. Thankfully, in a sea of light strips and RGB bulbs, the Govee Curtain Light does serve a purpose — albeit for a rather specific niche.

ANDROID POLICE VIDEO OF THE DAYSCROLL TO CONTINUE WITH CONTENT


Govee Curtain Lights

Govee Curtain Lights

Impressive light show for your home

The Govee Curtain Lights provide an entire wall or window of RGB coverage with numerous patterns and lighting options. It features 520 RGBIC LEDs capable of displaying 16 million colors. 

Brand
Govee

Hub Required
No

Music Reactive
Yes

Multicolor Capable
Yes

Color Range
16 million colors

Color Composition
RGBIC

Number of Panels
520 Lights

Type
RGBIC

Connectivity
Bluetooth/WiFi

Price
130

Length
6.56ft x 4.92ft

Outdoor
IP65

Pros

  • Easy installation with included tools
  • Impressively bright LEDs
  • Solid app functionality
Cons

  • DIY mode isn’t intuitive
  • Images don’t display well close up
  • A bit pricey


Price and availability

The Govee Curtain Lights are available from Govee and Amazon for $130. Govee offers the curtain in one size: 4.9-by-6.5 feet.

Design, hardware, what’s in the box

What's in the box of the Govee Curtain Lights

For the size of the curtain, Govee manages to ship it in a rather compact box. I was impressed with how everything was laid out, with three compartments each containing the power supply, hanging materials, and the curtain itself.

In addition to the hardware in the box, Govee includes some marketing materials, a QR code for the Govee app, and an installation guide. Govee recommends three installation methods for the Curtain Lights and provides the hardware needed for all three possibilities. First, you can use provided hooks to hang the Curtain Lights to a pre-existing curtain track.

If you aren’t removing a previously installed curtain, you can use the hooks with 3M tape strips to install the curtain on your wall. If that isn’t sturdy enough for you, there is an option to nail hooks into your wall for extra support. The power button also features a 3M tape strip for installation on the wall next to where you place the curtain.

While it may initially seem daunting, the installation process is flexible, and you can do what works best for you. As long as the curtain is hanging at the preferred height, the details don’t matter — the result will be the same.

As for the hardware itself, the Govee Curtain feels premium. The wires containing the individual LED lights aren’t too stiff, which allows them to hang naturally and in line. I was also worried about them being too thin and getting tangled, but my fears were unfounded. In addition, the Govee Curtain wires feel durable, and the product overall is IP65 rated for indoor or outdoor use. The included power adapter is IP44 rated.

Software and performance

Govee Curtain Lights Christmas Tree

Unlike traditional light strips, the Govee Curtain is effectively a 6-foot, 520-pixel display. Because the LEDs are RGBIC, the Curtain Lights can reproduce multiples of the 16 million available colors simultaneously on one strip. While that might not sound important, it allows the Curtain Lights to produce moving images and more impressive effects.

The Govee Home App handles setup, pairing, and controlling of the curtain. It’s available through both the Google Play Store and iOS App Store. I found the pairing process through the app to be quick and painless. The setup consists of plugging in the curtain, booting up the app, and searching for your product number.

The Bluetooth connection takes only seconds after the app knows which product you want to pair. Once completed, you can add your Wi-Fi network (2.4GHz only) and link your Govee Curtain to Alexa or Google Assistant.

I chose to pair my Curtain Lights with Alexa and was pleased with the results. You won’t get the same granular control you can in the Govee Home App, but it’s useful to be able to shut the lights off by yelling at my Echo Dot.

App responsiveness was good, with little lag between choosing a function and seeing my inputs reflected on the curtain. If the curtain gets too bright for your tastes, you can tone it down with a slider.

As for the performance of the Govee Curtain Lights, I was pleased. Color reproduction is great from the LEDs, and the app has a surprising amount of features and scenes to choose from. I enjoyed the clownfish scene, and the panda scene was fun to see cycling on my wall. The Curtain Light really finds its stride when you use it to set a mood. The twinkling and fire effects are particularly well done and can add a cool background to your room.

If you are having a party and playing music, you can set the Govee Home App to access your microphone and reflect the sounds onto the Curtain Lights. The function works well, and I found the sensitivity adequate, but understand this is more eye candy than anything.

Govee Curtain Lights Sample

If scrolling gifs aren’t your thing, the Govee Curtain Lights can also handle static colors. You can choose from one of the pre-selected colors or get creative with the color wheel. While I liked the option of creating my own images, even moving images on the Govee Home App, the DIY section could use an overhaul. Directions for creating your own images are hard to follow, and setting up different layers to my image was not intuitive. I like that I can add my own inputs and see them on the wall, but I found myself sticking with the pre-installed scenes.

To get the best images from the Govee Curtain Lights, I recommend using a way to diffuse the images. A sheer curtain will allow the individual LEDs and strings to blend better. Also, if you can view the images from further back, the images come together a lot better than when you are within a few feet of the LEDs. The Govee Curtain Lights are a lot of fun — just don’t expect HD-quality images to be reproduced. As long as your expectations are realistic, it is a well-equipped smart home light.

Competition

Govee Curtain Lights Clown

If you scroll through Amazon, you’ll find any number of other light curtains ranging from $25 to $75. While they are technically competitors, I would hesitate to put them in the same category as the Govee Curtain Lights. There is a significant difference between string lights, even if they are app-controlled, and what Govee offers.

While the Govee Curtain Lights offer more versatility, the Philips Hue Signe Gradient Lamp might be an option for you to provide the ambiance of an LED lamp without all the extra setup.

If you don’t need animated images or want background lighting without spending a lot of money, something like the KepStars LED Curtain Lights will get the job done for a fraction of the cost.

Should you buy it?

Govee Curtain Lights sample

It’s an incredibly tough ask to encourage someone to spend $130 on the Govee Curtain Lights. I feel like this is a binary product: either you have a use for it, and it’s worth the money, or you don’t, and it’s not.

If you are a content creator, the versatility the Curtain Lights can add to your background is hard to put a price on. As far as smart lighting goes, it’s one of the most comprehensive products I’ve seen. I love the quality of the RGBIC LEDs, and the brightness is fantastic. If you are an RGB fanatic like myself, you might want the Curtain Lights for parties or as the perfect accessory for your gaming room.

If your neighbors don’t mind your holiday lights being a little extra, Govee suggests you can use your Curtain Lights for outdoor decor. As a holiday decoration, I’d pass, but for RGB fans looking for something cool — the Govee Curtain Lights are worth a look.

Govee Curtain Lights

Govee Curtain Lights

The Govee Curtain Lights provide an entire wall or window of RGB coverage with numerous patterns and lighting options. It features 520 RGBIC LEDs capable of displaying 16 million colors. 






Next Post

Leave a Reply

Your email address will not be published. Required fields are marked *

Get more stuff like this
in your inbox

Subscribe to our mailing list and get interesting stuff and updates to your email inbox.