How to Watch Free Live TV on Android TV (2024)

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

How to Watch Free Live TV on Android TV (2024)

FAQs

How to Watch Free Live TV on Android TV? ›

Android TV comes with live TV channels at no charge and with no app installation, sign-up, or subscription needed. You can browse these channels in the Live tab, your recommendations, or the Android TV channel player.

Is there a way to watch live TV for free? ›

The first consideration should be whether you want to be able to watch live channels. If that's the case, you may want to use Pluto TV, Sling Free, Xumo, Peaco*ck or the Roku Channel. If you only care about finding movies and TV shows on-demand, then try Freevee, Peaco*ck, Crackle, Tubi or Vudu.

Does Google TV have free live TV? ›

Google TV free channels: What's built in

Out of the box, for devices such as Chromecast with Google TV, you'll get access to 77 total free live channels. These channels require no app installations or extra accounts. Just set up your Google TV device, go to the “Live” tab, and you'll get all of these channels.

Can you watch normal TV on Android box? ›

Your Android box can run without internet thanks to its internal storage. You can also plug in external storage devices to stream content on your TV using the android box. Most of the Android boxes also allow you to watch regular television.

How can I watch local channels on my smart TV for free? ›

Get Local Channels On A Smart TV With An OTA Antenna

Connecting an over-the-air (OTA) antenna provides free access to major networks like ABC, CBS, NBC and Fox by pulling in the same signals used by cable companies.

How to watch all channels for free on smart TV? ›

Watch channels from an app or a TV tuner
  1. On your Android TV, go to the Home screen.
  2. Scroll down to the "Apps" row.
  3. Select the Live Channels app.
  4. If you can't find it, download it from the Play Store. ...
  5. Select the source you want to load channels from.
  6. After you load all the channels you want, select Done.

How can I watch TV on my Android TV for free? ›

Live TV channels from apps like Haystack News, Plex, Pluto TV, and Tubi are available at no charge. You can browse live TV channels from other providers in the Live tab, your recommendations, and search results. To watch channels from other providers, you must install their apps.

Does Android TV have free-to-air channels? ›

Your Android TV™ with Google TV™ brings hundreds of free TV channels to one place, organizing them by topic in one easy-to-use guide. Check out this video to learn more!

Can you watch regular TV with Google TV? ›

You can watch live TV from various providers on Google TV. To watch live TV from a specific provider, you may need to download their app. If you're in the United States, the "Live" section of your home screen includes live channels from Google TV.

What is the difference between Google TV and Android TV? ›

Google TV is the latest smart TV version that was launched in 2020. It can personalize your TV's home screen based on your watching preferences and history. It has a more content-centric screen in comparison to Android TV. It automatically suggests trending content and new shows.

How much does Google TV cost per month? ›

How much does Google TV cost? Google TV is the smart TV experience that's built right into select TV or streaming devices so there is no additional cost.

Is there a free live TV app? ›

TVTap is a free live TV streaming app for Android devices that offers a vast selection of live TV channels worldwide. With TVTap, you can access live TV channels, including sports, news, and entertainment, and the app also offers on-demand content such as movies and TV shows.

Is it legal to have an Android TV Box? ›

The devices themselves are fine but the problem is if you pay someone a subscription to illegally access content... if you buy them pre-loaded with apps allowing you to stream without paying for it.

Is Roku live TV free? ›

How do I stream live TV? All Roku users get instant access to more than 350+ free live TV channels on The Roku Channel. And there's always something to watch, with live news and weather, sports, food and home, reality TV, kids' entertainment, and more, all streaming free.

Is it legal to stream TV for free? ›

While streaming doesn't violate U.S. copyright law, downloading very explicitly does. You're making a copy of the work every time you download something — a clear violation if it's done without the copyright holder's permission.

How can I cut the cable and watch TV for free? ›

You can watch cable channels with a streaming player using cable alternative services or access select channels available in your area for free with an HDTV antenna. A streaming player is a great place to start saving money over cable—all you need is a TV and high-speed internet.

Is Pluto TV really free? ›

FAST stands for free ad-supported streaming television. Yes, that's right. Pluto TV is totally free. In fact, it's one of the best free streaming services out there.

Top Articles
Latest Posts
Article information

Author: Horacio Brakus JD

Last Updated:

Views: 6793

Rating: 4 / 5 (51 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Horacio Brakus JD

Birthday: 1999-08-21

Address: Apt. 524 43384 Minnie Prairie, South Edda, MA 62804

Phone: +5931039998219

Job: Sales Strategist

Hobby: Sculling, Kitesurfing, Orienteering, Painting, Computer programming, Creative writing, Scuba diving

Introduction: My name is Horacio Brakus JD, I am a lively, splendid, jolly, vivacious, vast, cheerful, agreeable person who loves writing and wants to share my knowledge and understanding with you.