@erhan/utopyatv 0.1.9 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,6 +10,6 @@ From previous: `);return this._state!==null&&(this._stack=e),e}finally{Pi=!1}}},
|
|
|
10
10
|
`),r=n.findIndex(e=>e.indexOf(`-->`)>=0);if(r<0)continue;let[i,a]=n[r].split(`-->`),o=$f(i),s=$f(a),c=ep(n.slice(r+1).join(`
|
|
11
11
|
`));isNaN(o)||isNaN(s)||!c||t.push({start:o,end:s,text:c})}return t.sort((e,t)=>e.start-t.start)}function np(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].start<=t?n=i+1:r=i}let i=[];for(let r=n-1;r>=0&&r>=n-5;r--)e[r].end>t&&i.unshift(e[r]);return i}function rp(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch(t){return new TextDecoder(`windows-1254`).decode(e)}}var ip=I(null),ap=I(0);function op(){ip.value=null,ap.value=0}var sp=[`#fff`,`#ffeb3b`,`#00e5ff`];function cp({text:e}){let t=e.split(/(<\/?[ibu]>)/i),n=[],r=!1,i=!1,a=!1;return t.forEach((e,t)=>{let o=/^<(\/?)([ibu])>$/i.exec(e);if(o){let e=!o[1],t=o[2].toLowerCase();t===`i`?r=e:t===`b`?i=e:a=e}else e&&n.push(M(`span`,{style:{fontStyle:r?`italic`:void 0,fontWeight:i?700:void 0,textDecoration:a?`underline`:void 0},children:e},t))}),M(x,{children:n})}function lp(){let e=yt(()=>{let e=ip.value;return e?np(e.cues,ef.value-ap.value).map(e=>e.text).join(`
|
|
12
12
|
`):rf.value}).value;if(!e)return null;let t=q.value;return M(`div`,{class:`subtitle-layer${t.subtitleBackground?` boxed`:``}`,style:{fontSize:`${(4*t.subtitleScale).toFixed(2)}rem`,color:sp[t.subtitleColor]},children:e.split(`
|
|
13
|
-
`).map((e,t)=>M(`span`,{class:`subtitle-line`,children:M(cp,{text:e})},t))})}var up=72e5,dp=18e5,fp=36e5,pp=864e5,mp=e=>Math.floor(e/dp)*dp,hp=150;function gp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+up,o=F(null),[s,c]=N(Math.max(0,e.initialRow-3)),[l,u]=N({row:e.initialRow,pid:-1}),[d,f]=N(new Map),[p,m]=N(new Map),[h,g]=N(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/vd()/r)):6,v=F(new Map);P(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),P(()=>{l.row<s?c(l.row):l.row>s+_-1&&c(Math.min(Math.max(0,n-_),l.row-_+1))},[l.row,_,n]);let y=s,b=Math.min(n,s+_+1);P(()=>{let e=!0;return t.range(y,b).then(async t=>{let n=new Map;if(t.forEach((e,t)=>e&&n.set(y+t,e)),!e)return;f(n);let r=i-pp/2,a=i+up+pp,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-fp||t.to<i+72e5+fp});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await ll(e,r,a)})}));v.current.size>hp;)v.current.delete(v.current.keys().next().value);if(!e)return;let s=new Map;v.current.forEach((e,t)=>s.set(t,e.list)),m(s)}),()=>{e=!1}},[t,y,b,Math.floor(i/pp*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};P(()=>{if(l.pid!==-1)return;let e=x(l.row);if(e===null)return;let t=l.at===void 0?Date.now():l.at,n=e.find(e=>e.start<=t&&e.stop>t)||e.find(e=>e.stop>i&&e.start<a);u({row:l.row,pid:n?n.id:null})},[p,d]),P(()=>{if(!o.current)return;if(l.pid===-1){let e=o.current.querySelector(`[data-cell="${l.row}:ch"], [data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus();return}let e=o.current.querySelector(`[data-cell="${l.row}:${l.pid===null?`ch`:l.pid}"]`)||o.current.querySelector(`[data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus()},[l,d,p,i,s]),P(()=>{let e=()=>{let e=document.activeElement,t=e&&o.current&&o.current.contains(e)?e.getAttribute(`data-cell`):null;if(!t)return;let[n,r]=t.split(`:`);if(r===`wait`)return;let i={row:+n,pid:r===`ch`||r===`null`?null:+r};u(e=>e.row===i.row&&(e.pid===i.pid||e.pid===-1)?e:i)};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]);let S=(e,t)=>{let n=(x(e)||[]).filter(e=>e.stop>i&&e.start<a),r=n.find(e=>e.start<=t&&e.stop>t)||n[0];return r?r.id:null};Kt(t=>{if(!o.current||!o.current.contains(document.activeElement))return;let r=x(l.row)||[],s=l.pid===null?-1:r.findIndex(e=>e.id===l.pid),c=s>=0?r[s]:null,d=c?Math.max(c.start,i):l.at===void 0?i:l.at;switch(t){case`right`:{if(!c)return u({row:l.row,pid:S(l.row,i)}),!0;let t=r[s+1];return c.stop>a?e.setWinStart(i+fp):t?(t.start>=a&&e.setWinStart(mp(t.start-dp)),u({row:l.row,pid:t.id})):e.setWinStart(i+fp),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-fp):t&&t.stop>i-pp?(t.stop<=i&&e.setWinStart(mp(Math.max(t.start,t.stop-up+dp))),u({row:l.row,pid:t.id})):u({row:l.row,pid:null}),!0}case`up`:case`down`:case`chUp`:case`chDown`:{let e=t===`up`?-1:t===`down`?1:t===`chUp`?-8:8;if(t===`up`&&l.row===0)return;let r=Math.max(0,Math.min(n-1,l.row+e));return r!==l.row&&(l.pid===null?u({row:r,pid:null}):x(r)===null?u({row:r,pid:-1,at:d}):u({row:r,pid:S(r,d)})),!0}}});let ee=h>=i&&h<a?(h-i)/up*100:null,C=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:wait`})},t));continue}let o=x(t),c=o?o.filter(e=>e.stop>i&&e.start<a):[],u=e.numberOf(n,t);C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:[M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:ch`,"data-focus-default":l.row===t&&l.pid===null||void 0,onClick:()=>e.onChannel(n,t),children:[u!==null&&M(`span`,{class:`epg-num`,children:u}),M(Qu,{src:n.logo,size:26}),M(`span`,{class:`epg-chname`,children:n.name})]}),M(`div`,{class:`epg-programs`,children:[o&&!c.length&&M(`button`,{class:`epg-cell`,"data-focus":!0,"data-cell":`${t}:null`,style:{left:0,width:`100%`},onClick:()=>e.onChannel(n,t),children:M(`span`,{class:`epg-title`,children:R(`guide_no_data`)})}),c.map(r=>{let o=Math.max(r.start,i),s=Math.min(r.stop,a);return M(`button`,{class:`epg-cell${r.start<=h&&r.stop>h?` live`:``}`,"data-focus":!0,"data-cell":`${t}:${r.id}`,"data-focus-default":l.row===t&&l.pid===r.id||void 0,style:{left:`${(o-i)/up*100}%`,width:`${(s-o)/up*100}%`},onClick:()=>e.onProgram(r,n,t),children:[M(`span`,{class:`epg-title`,children:r.title}),M(`span`,{class:`epg-time`,children:yl(r.start)})]},r.id)})]})]},t))}return M(`div`,{class:`epg-grid${e.translucent?` translucent`:``}`,children:[M(`div`,{class:`epg-header`,children:[0,1,2,3].map(e=>M(`span`,{style:{left:`${e*25}%`},children:yl(i+e*dp)},e))}),M(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[C,ee!==null&&M(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${ee/100})`}})]})]})}var _p=5e3,vp=700,yp=[`fit`,`fill`,`zoom`],bp=[0,15,30,45,60,90,120],xp=[.5,.75,1,1.25,1.5,2],Sp=[];for(let e=-10;e<=10;e+=.5)Sp.push(e);var Cp=e=>R(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),wp=e=>`${e}x`,Tp=3e4,Ep=e=>e<10?`0${e}`:`${e}`,Dp=e=>`${Ep(e.getHours())}:${Ep(e.getMinutes())}`,Op=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function kp({onExit:e}){let t=ad.value,n=t.ids,r=ke(()=>new Gl(n),[n]),[i,a]=N(t.index),[o,s]=N(null),[c,l]=N(!0),[u,d]=N(null),[f,p]=N(0),[m,h]=N(t.archive?{program:t.archive,offset:0}:null),[g,_]=N(null),[v,y]=N(null),[b,x]=N(0),S=F(void 0),ee=F(!0),C=F(void 0),w=F(0),[,T]=N(0),E=F(null),D=F(0),O=F(void 0),k=q.value,te=o?o.providerId:null,A=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),_p)},j=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(C.current),_(null),h(null),a((e%t+t)%t))};P(()=>{let e=!0;return(async()=>{let t=await K.channels.get(n[i]);if(!e||!t)return;if(q.peek().pinHash){await Ol(t.providerId);let n=t.categoryId===null?null:await K.categories.get(t.categoryId)||null;if(!e)return;if(Al(n,t.id)){s(t),Cf(),y({channel:t,categoryId:t.categoryId});return}}s(t),A(),$d.value=`full`;let r=(Pc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(S.current),!ee.current&&!m&&(await new Promise(e=>{S.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,m){let e=m.program,n=Date.now(),i=Yf(t,e.start,n)?Jf(t,e.start+m.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){B(R(`archive_unavailable`)),h(null);return}xf({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${m.offset}`},{onEnded:()=>ne(t,e)});return}let o=!1;xf({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,ql(t.providerId,`live`,t.id),kc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!q.peek().fallbackToPrevious||e===null||Date.now()-D.current<Tp)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),B(R(`player_fallback_reason`,Zf())))}})})(),()=>{e=!1,clearTimeout(S.current)}},[i,m,b]);let ne=async(e,t)=>{let n=(await ll(e,t.stop-6e4,t.stop+216e5)).filter(e=>e.id!==t.id&&e.start>=t.stop-6e4).sort((e,t)=>e.start-t.start)[0];h(n&&n.stop<Date.now()?{program:n,offset:0}:null)},re=()=>{clearTimeout(C.current),_(null),h(null)};P(()=>()=>clearTimeout(C.current),[]);let ie=()=>m?m.offset+ef.peek():0,ae=e=>{if(!m)return;let t=Math.min(m.program.stop,Date.now()-6e4)-m.program.start,n=Math.max(0,Math.min(t,(g===null?ie():g)+e));_(n),A(),clearTimeout(C.current),C.current=window.setTimeout(()=>{_(null);let e=o&&o.catchupType===`XTREAM`;h({program:m.program,offset:e?Math.floor(n/6e4)*6e4:n})},vp)};P(()=>{te!==null&&sd(te)},[te]),P(()=>{let e=setInterval(()=>T(e=>e+1),5e3);return()=>{clearInterval(e),clearTimeout(O.current),o&&(id.value=o.id)}},[o]),P(()=>{if(!f)return;let e=setTimeout(()=>{X.peek()!==`paused`&&wf(),p(0),B(R(`sleep_triggered`))},f*6e4);return()=>clearTimeout(e)},[f]);let oe=()=>{o&&(id.value=o.id),ad.value=null,$d.value=null,e()},se=async()=>{if(!o)return;let e=await Kl(o.providerId,`live`,o.id);await sd(o.providerId),B(R(e?`player_favorite_added`:`player_favorite_removed`))},ce=()=>{let e=yp[(yp.indexOf(Qd.value)+1)%yp.length];Qd.value=e,B(R(`aspect_${e}`))},le=e=>{e===`FAVORITE`?se():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?ce():e===`CHANNELS`?d(`list`):e===`INFO`?A():e===`GUIDE`&&d(`guide`)},ue=xn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(te!==null){let r=await K.channels.where(`[providerId+number]`).equals([te,e]).first();t=r?n.indexOf(r.id):-1}t<0?B(R(`channel_not_found`)):j(t)});P(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),Kt((e,t)=>{if(e.startsWith(`digit`))return ue.push(e.slice(5)),!0;if(m&&!u&&e===`stop`)return re(),!0;if(m&&!u&&X.peek()!==`error`){if(e===`left`||e===`right`)return w.current=t&&t.repeat?w.current+1:0,ae((e===`left`?-1:1)*(w.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return ae((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return wf(),A(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):oe(),!0;if(!u&&(X.peek()!==`error`||e!==`ok`&&e!==`left`&&e!==`right`))switch(e){case`ok`:return d(`controls`),l(!0),clearTimeout(O.current),!0;case`up`:case`chUp`:return j(i+1),!0;case`down`:case`chDown`:return j(i-1),!0;case`left`:case`channelList`:return d(`list`),!0;case`right`:case`guide`:return d(`guide`),!0;case`last`:return E.current!==null&&n.indexOf(E.current)>=0&&j(n.indexOf(E.current)),!0;case`info`:return c?l(!1):A(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return wf(),A(),!0;case`red`:return le(k.colorKeys[0]),!0;case`green`:return le(k.colorKeys[1]),!0;case`yellow`:return le(k.colorKeys[2]),!0;case`blue`:return le(k.colorKeys[3]),!0}});let de=!!o&&od.value.has(o.id),fe=X.value,pe=c&&!u||u===`controls`,me=!!m&&!u&&(c||g!==null||fe===`paused`);return M(`div`,{class:`player`,children:[M(lp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),Zd.value>0&&M(`span`,{class:`retry-label`,children:R(`player_retrying`,Zd.value)})]}),fe===`paused`&&M(`div`,{class:`player-center`,children:M(z,{name:`pause`,class:`paused-icon`})}),fe===`error`&&M(Xf,{onRetry:Sf,onBack:oe}),o&&m&&me&&M(jp,{channel:o,program:m.program,target:g,offset:m.offset,paused:fe===`paused`}),o&&!m&&pe&&M(Mp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:de,hint:u!==`controls`,children:u===`controls`&&M(Np,{favorite:de,subsOn:!1,onClose:()=>{d(null),A()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:ce,favorite:se,more:()=>d({page:`main`,direct:!1}),back:oe}})}),u===`list`&&M(Pp,{pager:r,count:n.length,current:i,title:rd.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&j(e)}}),u===`guide`&&M(Fp,{pager:r,count:n.length,current:i,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e.number,onPlay:e=>{d(null),e===i?re():j(e)},onArchive:(e,t)=>{d(null),t!==i&&j(t),h({program:e,offset:0})}}),u&&typeof u==`object`&&M(Ip,{page:u.page,direct:u.direct,favorite:de,sleepMin:f,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:se,onSleep:e=>{p(e),e&&B(R(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:m?()=>{d(null),re()}:void 0}),M(Sn,{digits:ue.digits}),v&&M(Cn,{title:R(`pin_enter`),check:zl,onDone:()=>{jl(v.categoryId,v.channel.id),y(null),x(e=>e+1)},onClose:()=>{y(null);let e=E.current;e!==null&&n.indexOf(e)>=0?j(n.indexOf(e)):oe()}})]})}function Ap({text:e,live:t,archive:n}){return M(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function jp(e){let{program:t}=e,n=e.target===null?e.offset+ef.value:e.target,r=Math.max(1,t.stop-t.start);return M(`div`,{class:`info-band archive-band`,children:M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:M(Qu,{src:e.channel.logo,size:64})}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:e.channel.name}),M(Ap,{text:R(`player_archive`),archive:!0})]}),M(`p`,{class:`band-program`,children:t.title}),M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e.paused?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:yl(t.start+n)}),M(`div`,{class:`vod-bar`,children:M(`span`,{class:`vod-played`,style:{width:`${Math.min(100,n/r*100)}%`}})}),M(`span`,{class:`vod-time`,children:yl(t.stop)})]}),M(`p`,{class:`band-hint`,children:R(`tz_archive_hint`)})]}),M(`span`,{class:`band-clock`,children:Dp(new Date)})]})})}function Mp(e){let t=e.channel,[n,r]=N(null),i=xl.value;P(()=>{let e=!0;return dl(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=Ef().length,c=Df().length,l=Op(Af());return M(`div`,{class:`info-band`,children:[M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:[e.number!==null&&M(`span`,{class:`band-number`,children:e.number}),M(Qu,{src:t.logo,size:64})]}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:t.name}),e.favorite&&M(z,{name:`star`,class:`fav-star big`}),M(Ap,{text:R(`player_live`),live:!0}),l&&M(Ap,{text:l}),s>1&&M(Ap,{text:`♪ ${s}`}),c>0&&M(Ap,{text:`CC`})]}),a?M(x,{children:[M(`p`,{class:`band-program`,children:[M(`span`,{class:`band-time`,children:bl(a)}),a.title]}),M(`div`,{class:`band-progress`,children:[M($u,{value:_l(a)}),M(`span`,{children:R(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):M(`p`,{class:`band-program`,children:R(`no_program`)}),o&&M(`p`,{class:`band-next`,children:`${R(`next_label`)}: ${yl(o.start)} ${o.title}`}),e.hint&&M(`p`,{class:`band-hint`,children:R(`player_hint_live`)})]}),M(`span`,{class:`band-clock`,children:Dp(new Date)})]}),e.children]})}function Np(e){let t=F(null);P(()=>{L(t.current)},[]),Kt(t=>{if(t===`back`)return e.onClose(),!0});let n=e.actions;return M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:[[`list`,R(`pc_channels`),n.channels],[`guide`,R(`player_guide`),n.guide],[`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs,e.subsOn],[`aspect`,R(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,R(`pc_favorite`),n.favorite,e.favorite],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.back]].map(([e,t,n,r],i)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn${r?` active`:``}`,"data-focus":!0,"data-focus-default":i===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Pp(e){let[t,n]=N(e.current),r=F(null);return P(()=>{setTimeout(()=>{let t=r.current&&r.current.querySelector(`[data-idx="${e.current}"]`);t&&t.focus()},0)},[]),M(`div`,{class:`list-overlay`,"data-focus-scope":!0,children:[M(`h2`,{children:e.title}),M(gd,{listRef:r,group:`player-list`,compact:!0,current:e.current,pager:e.pager,count:e.count,index:t,setIndex:n,numberOf:e.numberOf,focused:!0,onOpen:e.onPick,onMenu:()=>{}})]})}function Fp(e){let[t,n]=N(mp(Date.now()));return M(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:M(gp,{pager:e.pager,count:e.count,initialRow:e.current,rowRem:5.2,translucent:!0,winStart:t,setWinStart:n,numberOf:e.numberOf,onChannel:(t,n)=>e.onPlay(n),onProgram:async(t,n,r)=>{let i=Date.now();t.start>i?B(R(await Ju(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&Yf(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Ip(e){let t=F(null),n=tf.value,r=nf.value,i=e=>{tf.value=e},a=e=>{nf.value=e};P(()=>{L(t.current)},[e.page]),Kt(t=>{if(t===`back`)return e.page!==`main`&&!e.direct?e.setPage(`main`):e.close(),!0});let o=()=>e.direct?e.close():e.setPage(`main`),s=Ef(),c=Df(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=R(`player_options`),d=[];if(e.page===`main`){d=[{label:R(`player_audio`),value:s.length?l(s,n,R(`player_auto`)):R(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:R(`player_subtitles`),value:ip.value?ip.value.label:l(c,r,R(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:R(`player_aspect`),value:R(`aspect_${Qd.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:R(`player_speed`),value:wp(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:R(`player_sleep`),value:e.sleepMin?R(`sleep_set`,e.sleepMin):R(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:R(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:R(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:R(`player_guide`),onSelect:t}),d.push({label:R(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:R(`player_go_live`),onSelect:e.onGoLive}),d.push({label:R(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=R(`player_audio`),d=[{label:R(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||R(`track_n`,t+1),checked:n===e.index,onSelect:()=>{Of(e.index),i(e.index),df(`audio`,e),o()}})));else if(e.page===`subs`){u=R(`player_subtitles`);let t=ip.value;d=[{label:R(`player_off`),checked:r===null&&!t,onSelect:()=>{kf(null),a(null),op(),df(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||R(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{op(),kf(e.index),a(e.index),df(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:R(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:R(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:R(`sub_offset`),value:Cp(ap.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=R(`sub_offset`),d=Sp.map(e=>({label:Cp(e*1e3),checked:ap.value===e*1e3,onSelect:()=>{ap.value=e*1e3,o()}}));else if(e.page===`aspect`)u=R(`player_aspect`),d=yp.map(e=>({label:R(`aspect_${e}`),checked:Qd.value===e,onSelect:()=>{Qd.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=R(`player_speed`),d=xp.map(e=>({label:wp(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=R(`player_sleep`),d=bp.map(t=>({label:t?R(`sleep_minutes`,t):R(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=R(`player_info`);let t=Af();d=[{label:R(`info_video`,t?`${t}p`:R(`info_none`)),onSelect:()=>{}},{label:R(`info_audio`,s.length?s.map(e=>e.label).join(`, `):R(`info_none`)),onSelect:()=>{}},{label:R(`back`),onSelect:()=>e.setPage(`main`)}]}let f=d.some(e=>e.checked);return M(`div`,{class:`options-panel`,ref:t,"data-focus-scope":!0,children:[M(`h2`,{children:u}),d.map((t,n)=>M(`button`,{class:`opt-row focus-row${t.checked?` selected`:``}`,"data-focus":!0,"data-focus-default":(f?t.checked:n===0)||void 0,onClick:t.onSelect,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:t.label}),t.value&&M(`span`,{class:`opt-value`,children:t.value})]}),t.checked?M(z,{name:`check`}):e.page===`main`&&t.value!==void 0?M(z,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function Lp(){let e=$d.value;if(e===`full`)return null;if(!e)return M(`div`,{class:`backdrop`,style:{left:0,top:0,right:0,bottom:0}});let t=window.innerWidth,n=window.innerHeight,r=(e,t,n,r)=>M(`div`,{class:`backdrop`,style:{left:`${e}px`,top:`${t}px`,width:`${n}px`,height:`${r}px`,backgroundPosition:`${-e}px ${-t}px`}});return M(x,{children:[r(0,0,t,e.y),r(0,e.y+e.h,t,n-e.y-e.h),r(0,e.y,e.x,e.h),r(e.x+e.w,e.y,t-e.x-e.w,e.h)]})}var Rp=1.8,zp=1.2,Bp={movie:{w:11.6,ratio:1.5},series:{w:20,ratio:.5625}},Vp=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function Hp(e){var t;let n=Fc.value,r=((t=(Pc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync)||0,[i,a]=N(e.sort||`added`),[o,s]=N(e.filter.genre||null),[c,l]=N(null),[u,d]=N([]),[f,p]=N(0),[m,h]=N(6),[g,_]=N(Bp[e.kind].w),[v,y]=N(null),b=Bp[e.kind],x=g*b.ratio+Rp,[S,ee]=N(null),C=F(null),w=F(null);P(()=>{Su(n,e.kind,r).then(d)},[n,e.kind]),P(()=>{let t=!0;return wu(n,e.kind,{categoryIds:e.filter.categoryIds,genre:o||void 0,favorites:e.filter.favorites},i).then(e=>{t&&(l(e),p(0))}),()=>{t=!1}},[n,i,o,e.kind,JSON.stringify(e.filter)]),P(()=>{c&&c.length&&setTimeout(()=>L(C.current),0)},[c===null]),P(()=>{let e=C.current;if(!e)return;let t=vd(),n=e.clientWidth/t-2*zp,r=Math.max(1,Math.round(n/(b.w+Rp)));h(r),_(Math.floor((n/r-Rp)*100)/100);let i=e=>{let t=e.target,n=t.closest(`[data-idx]`);n&&p(Number(n.getAttribute(`data-idx`)));let r=t.getAttribute(`data-info-title`);y(r?{title:r,meta:t.getAttribute(`data-info-meta`)||``}:null)};return e.addEventListener(`focusin`,i),()=>e.removeEventListener(`focusin`,i)},[c===null,e.kind]),Kt(e=>{if(e===`back`)return ud(),!0});let T=e.filter.platformKey?Xs.find(t=>t.key===e.filter.platformKey):$s(e.title),E=R(`genre_label`,o||R(`browse_all`));return M(`div`,{class:`browse`,ref:w,children:[M(Wp,{kind:e.kind,title:e.title,filter:e.filter,platform:T||null,genreCount:(e.filter.genre||e.filter.favorites)&&c?c.length:null,children:M(`div`,{class:`row bb-sorts`,children:[Vp.map(([e,t])=>M(`button`,{class:`chip${i===e?` selected`:``}`,"data-focus":!0,onClick:()=>a(e),children:R(t)},e)),u.length>0&&M(`button`,{class:`btn outline bb-genre`,"data-focus":!0,onClick:()=>ee({title:E,items:[null,...u].map(e=>({label:e||R(`browse_all`),checked:e===o,onSelect:()=>s(e)}))}),children:E})]})}),e.kind===`movie`&&M(`p`,{class:`shelf-info browse-info`,children:[v&&M(`b`,{children:v.title}),v&&v.meta&&M(`span`,{children:` ${v.meta}`})]}),M(`div`,{class:`browse-grid ${e.kind}`,ref:C,"data-focus-group":`browse`,style:{"--cw":`${g}rem`},children:c&&(()=>{let t=Math.ceil(c.length/m),n=Math.floor(f/m),r=Math.max(0,n-4),i=Math.min(t,n+7),a=[M(`span`,{class:`grid-spacer`,style:{height:`${r*x}rem`}},`top`)];for(let t=r*m;t<Math.min(c.length,i*m);t++){let n=mu(c[t]);a.push(M(`span`,{"data-idx":t,class:`grid-cell`,children:M(Td,{kind:e.kind,card:n,onClick:()=>Pd(e.kind,n)})},n.key))}return a.push(M(`span`,{class:`grid-spacer`,style:{height:`${(t-i)*x}rem`}},`bottom`)),a})()}),S&&M(bn,{title:S.title,items:S.items,onClose:()=>ee(null)})]})}var Up=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Wp(e){let t=Fc.value,{platform:n,filter:r}=e,[i,a]=N(null);P(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await hu(t,e)).filter(e=>!e.adult&&($s(e.name)||{key:``}).key===r.platformKey).map(e=>e.id);else r.categoryIds&&(i[e.kind]=r.categoryIds);let o=async n=>r.platformKey||r.categoryIds?i[n].length?pu(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?pu(n).where(`providerId`).equals(t).count():0,[s,c]=await Promise.all([o(`movie`),o(`series`)]);n&&a({movie:s,series:c,ids:i})})(),()=>{n=!1}},[t,e.kind,JSON.stringify(r)]);let o=!!n&&!!r.platformKey&&!!i&&i.movie>0&&i.series>0,s=t=>i?t===e.kind&&e.genreCount!==null?e.genreCount:i[t]:0,c=i&&!o?[`movie`,`series`].filter(e=>s(e)>0).map(e=>R(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Up(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&dd({name:`browse`,kind:t,title:e.title,filter:{categoryIds:i.ids[t],platformKey:r.platformKey}})};return M(`div`,{class:`browse-bar`,style:{background:`linear-gradient(90deg, rgba(${l}, 0.55), rgba(${l}, 0.12) 45%, rgba(255, 255, 255, 0.04))`},children:[M(`div`,{class:`bb-id`,children:[n?M(`span`,{class:`browse-logo`,children:M(Ed,{p:n})}):M(`h1`,{class:`bb-title`,children:e.title}),c&&M(`span`,{class:`bb-count`,children:c})]}),o&&M(`div`,{class:`bb-tabs`,"data-focus-group":`browse-tabs`,children:[`movie`,`series`].map(t=>M(`button`,{class:`bb-tab${t===e.kind?` selected`:``}`,"data-focus":!0,"data-focus-default":t===e.kind||void 0,onClick:()=>u(t),children:[R(t===`movie`?`nav_movies`:`nav_series`),M(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),M(`span`,{class:`spacer`}),e.children]})}var Gp=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${bu(r)}:${bu(t%60)}`:`${bu(r)}:${bu(t%60)}`},Kp=e=>!!e&&!e.watched&&e.position>1e4;function qp({src:e}){return M(`div`,{class:`detail-backdrop`,children:[e&&M(`img`,{src:e,alt:``,decoding:`async`}),M(`span`,{class:`db-h`}),M(`span`,{class:`db-v`})]})}function Jp({chips:e}){return M(`div`,{class:`meta-chips`,children:e.filter(Boolean).map(e=>M(`span`,{class:`meta-chip${e.startsWith(`★`)?` gold`:``}`,children:e},e))})}function Yp(e,t){let[n,r]=N([]);return P(()=>{e&&Tu(e,t).then(r)},[e&&e.id]),n}function Xp(e,t,n){return{title:R(`vod_versions`,e.length),items:e.map(e=>({label:Bs(e.name)||R(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&dd(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function Zp(){Kt(e=>{if(e===`back`)return ud(),!0})}function Qp({id:e}){let[t,n]=N(null),[r,i]=N(),[a,o]=N(!1),[s,c]=N([]),[l,u]=N(null),d=F(null),f=Yp(t,`movie`);Zp();let p=async()=>{i(await uu(e)),o(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await iu(r);if(!t||(n(i),r.categoryId===null))return;let a=(await _u(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),p();let r=()=>p();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),P(()=>{t&&setTimeout(()=>L(d.current),0)},[!!t]),!t)return null;let m=Kp(r),h=!!r&&r.watched,g=e=>ld({name:`vod`,kind:`movie`,id:t.id,startMs:e}),_=[[m?R(`vod_resume`,Gp(r.position)):R(`vod_play`),()=>g(m?r.position:0)]];return m&&_.push([R(`vod_restart`),()=>g(0)]),f.length>1&&_.push([R(`vod_versions`,f.length),()=>u(Xp(f,t,`movie`))]),_.push([R(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Kl(t.providerId,`movie`,t.id),p()}]),_.push([R(h?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await lu(`movie`,t.id,t.providerId,null,!h),p()}]),M(`div`,{class:`detail`,children:[M(qp,{src:t.backdrop||t.poster}),M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:t.poster&&M(`img`,{src:t.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:t.name}),M(Jp,{chips:[t.year,t.durationSec?R(`vod_minutes`,Math.ceil(t.durationSec/60)):null,yd(t.rating),t.genre]}),t.plot&&M(`p`,{class:`detail-plot`,children:t.plot}),t.director&&M(`p`,{class:`detail-credit`,children:R(`vod_director`,t.director)}),t.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,t.cast)}),M(`div`,{class:`detail-actions`,ref:d,children:_.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),s.length>0&&M(jd,{title:R(`shelf_similar`),info:!0,children:s.map(e=>{let t=mu(e);return M(Cd,{card:t,onClick:()=>dd({name:`movie`,id:t.id})},t.key)})})]}),l&&M(bn,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function $p(e,t){if(!e.length)return null;let n=e.filter(e=>Kp(t.get(e.id))).sort((e,n)=>t.get(n.id).updated-t.get(e.id).updated)[0];if(n)return{ep:n,pos:t.get(n.id).position};let r=-1;return e.forEach((e,n)=>{let i=t.get(e.id);i&&i.watched&&(r=n)}),{ep:e[Math.min(r+1,e.length-1)],pos:0}}function em({id:e,season:t}){let[n,r]=N(null),[i,a]=N(null),[o,s]=N(new Map),[c,l]=N(!1),[u,d]=N(t||null),[f,p]=N(null),m=F(null),h=Yp(n,`series`);Zp();let g=async(t=i)=>{t&&s(await du(t.map(e=>e.id))),l(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await au(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),g(n.episodes))});let n=()=>g();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),P(()=>{n&&setTimeout(()=>L(m.current),0)},[!!n]),!n)return null;let _=i?$p(i,o):null,v=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],y=(e,t)=>ld({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),b=e=>`S${bu(e.season)}E${bu(e.episode)}`,x=[];_&&x.push([_.pos?R(`vod_resume`,`${b(_.ep)} · ${Gp(_.pos)}`):`${R(`vod_play`)} ${b(_.ep)}`,()=>y(_.ep,_.pos)]),h.length>1&&x.push([R(`vod_versions`,h.length),()=>p(Xp(h,n,`series`))]),x.push([R(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Kl(n.providerId,`series`,n.id),g()}]);let S=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:R(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await lu(`episode`,e.id,n.providerId,n.id,!r),g()}}]})};return M(`div`,{class:`detail`,children:[M(qp,{src:n.backdrop||n.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:n.poster&&M(`img`,{src:n.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:n.name}),M(Jp,{chips:[n.year,yd(n.rating),n.genre]}),n.plot&&M(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,n.cast)}),M(`div`,{class:`detail-actions`,ref:m,children:x.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),v.length>1?M(`div`,{class:`season-chips`,children:v.map(e=>M(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:R(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),i===null&&M(`p`,{class:`muted`,children:R(`vod_episodes_loading`)}),i&&!i.length&&M(`p`,{class:`muted`,children:R(`vod_no_episodes`)}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>M(tm,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);y(e,t&&!t.watched?t.position:0)},onLongPress:()=>S(e)},e.id))})]}),f&&M(bn,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function tm(e){let{e:t,p:n}=e,r=n&&!n.watched&&n.duration?n.position/n.duration:0;return M(`button`,{onlongpress:e.onLongPress,class:`episode-row focus-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`ep-thumb`,children:[(t.poster||e.poster)&&M(pn,{src:t.poster||e.poster}),r>0&&r<.95&&M(`span`,{class:`poster-progress`,children:M(`span`,{style:{width:`${Math.round(r*100)}%`}})})]}),M(`span`,{class:`ep-text`,children:[M(`span`,{class:`ep-title`,children:R(`vod_episode_title`,t.episode,t.title)}),t.plot&&M(`span`,{class:`ep-plot`,children:t.plot})]}),t.durationSec?M(`span`,{class:`ep-min`,children:R(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&M(z,{name:`check`,class:`ep-watched`})]})}var nm=`keys`,rm=null;function im(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(nm),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function am(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function om(){return rm||(rm=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await im(),n=await am(t.transaction(nm).objectStore(nm).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await am(t.transaction(nm,`readwrite`).objectStore(nm).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),rm}var sm=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),cm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function lm(e){let t=await om();if(!t)return`p:${e}`;let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},t,new TextEncoder().encode(e));return`v1:${sm(n)}:${sm(r)}`}async function um(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await om();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:cm(t[1])},n,cm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var dm=`https://api.opensubtitles.com/api/v1`,fm=`UtopyaTV v1.0`,pm=`utopya.opensubtitles`;async function mm(){try{let e=localStorage.getItem(pm),t=e&&await um(e);return t?JSON.parse(t):null}catch(e){return null}}var hm=null;async function gm(e){hm=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(pm,await lm(JSON.stringify(e))):localStorage.removeItem(pm)}catch(e){}}var _m=class extends Error{};async function vm(e,t,n,r){let i=n?`?`+Object.keys(n).sort().map(e=>`${e.toLowerCase()}=${encodeURIComponent(String(n[e]).toLowerCase())}`).join(`&`):``,a={"Api-Key":e.key,Accept:`application/json`,"X-User-Agent":fm};hm&&(a.Authorization=`Bearer ${hm}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(pr(dm+t+i),{method:r?`POST`:`GET`,headers:a,body:r?JSON.stringify(r):void 0,credentials:`omit`});if(o.status===406||o.status===429)throw new _m;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var ym=65536;function bm(e,t,n){let r=e>>>0,i=Math.floor(e/4294967296)>>>0;for(let e of[t,n]){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;n+8<=e.byteLength;n+=8){let e=r+t.getUint32(n,!0);r=e>>>0,i=i+t.getUint32(n+4,!0)+ +(e>4294967295)>>>0}}let a=e=>(`00000000`+e.toString(16)).slice(-8);return a(i)+a(r)}async function xm(e,t,n){let r=await fetch(pr(e),{headers:{Range:`bytes=${t}-${n}`},credentials:`omit`});if(r.status!==206)return null;let i=parseInt((r.headers.get(`content-range`)||``).split(`/`)[1],10);return{bytes:new Uint8Array(await r.arrayBuffer()),total:i}}async function Sm(e){try{let t=await xm(e,0,65535);if(!t||!(t.total>=2*ym))return null;let n=await xm(e,t.total-ym,t.total-1);return n?bm(t.total,t.bytes,n.bytes):null}catch(e){return null}}function Cm(e,t,n){let r=e.filter(e=>e.attributes.files&&e.attributes.files.length),i=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===t.season&&n.episode_number===t.episode},a=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===void 0||n.season_number===t.season},o=Hs(t.title).map(Fs),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Fs((t.season===void 0?n.title:n.parent_title)||``);return!r||o.indexOf(r)<0?!1:isNaN(s)||!n.year||Math.abs(n.year-s)<=1},l=e=>e.sort((e,t)=>(t.attributes.download_count||0)-(e.attributes.download_count||0))[0]||null;return l(r.filter(e=>String(e.attributes.moviehash_match)===`true`&&a(e)))||(n?l(r.filter(i)):null)||l(r.filter(e=>i(e)&&c(e)))}async function wm(e,t){let n=await mm();if(!n||!n.key)return{kind:`no_key`};try{let r=await Sm(e.url),i={languages:t};r&&(i.moviehash=r),e.season===void 0?i.type=`movie`:(i.type=`episode`,i.season_number=e.season,i.episode_number=e.episode);let a=async e=>(await vm(n,`/subtitles`,V(V({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=Cm(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of Hs(e.title).reverse()){if(o)break;let n={query:t.toLowerCase()};e.season===void 0&&e.year&&(n.year=e.year.slice(0,4)),o=Cm(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!hm)try{hm=(await vm(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await vm(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(pr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=rp(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof _m?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var Tm=4e3,Em=650,Dm=[`fit`,`fill`,`zoom`],Om=e=>e<10?`0${e}`:`${e}`,km=()=>{let e=new Date;return`${Om(e.getHours())}:${Om(e.getMinutes())}`},Am=e=>`S${bu(e.season)}E${bu(e.episode)}`;function jm(e){let[t,n]=N(null),[r,i]=N([]),[a,o]=N(null),[s,c]=N(!0),[l,u]=N(null),[d,f]=N(null),[p,m]=N(!1),[h,g]=N(1),[_,v]=N(0),[,y]=N(0),b=F(void 0),S=F(void 0),ee=F(0),C=F(!1),w=F(!1),[T,E]=N(!1),D=r.findIndex(t=>t.id===e.id),O=D>0?r[D-1]:null,k=D>=0&&D<r.length-1?r[D+1]:null,te=F({props:e,info:t});te.current={props:e,info:t};let A=(e=!1)=>{var t;let{props:n,info:r}=te.current,i=jf();if(!r||i<=0)return;let a=C.current?i:ef.peek();n.kind!==`stream`&&(cu(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},j=()=>{c(!0),clearTimeout(b.current),b.current=window.setTimeout(()=>c(!1),Tm)};P(()=>{let t=!0;return C.current=!1,w.current=!1,clearTimeout(S.current),u(null),g(1),op(),m(!1),f(null),(async()=>{let r;if(e.kind===`stream`)r={title:e.title||``,sub:``,url:e.url,userAgent:null,providerId:-1,target:{title:e.title||``,year:null,url:e.url,tmdbId:null}};else if(e.kind===`movie`){let t=await K.movies.get(e.id);if(!t)return;r={title:t.name,sub:t.year||``,url:t.url,userAgent:null,providerId:t.providerId,target:{title:t.name,year:t.year,url:t.url,tmdbId:t.tmdbId||null}}}else{let[n,a]=await Promise.all([K.episodes.get(e.id),K.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${Am(n)} · ${n.title}`,url:n.url,userAgent:null,providerId:a.providerId,target:{title:a.name,year:a.year,season:n.season,episode:n.episode,url:n.url,tmdbId:a.tmdbId||null}},t&&i(ou(await K.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Pc.value||[]).find(e=>e.id===r.providerId);if(r.userAgent=a?a.userAgent:null,!t)return;n(r);let o=e.startMs;if(o===void 0){let t=await uu(e.id);o=t&&!t.watched?t.position:0}$d.value=`full`,xf({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{C.current=!0,A(!0),j()},onStarted:()=>ae(r.target)}),j()})(),()=>{t=!1}},[e.id]),P(()=>{let e=setInterval(()=>{X.peek()===`playing`&&A()},1e4),t=setInterval(()=>y(e=>e+1),1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),P(()=>()=>{A(!0),Cf(),op(),$d.value=null,clearTimeout(b.current)},[]);let ne=()=>q.peek().preferredSubtitle||`tr`,re=(e,t)=>{let n=tp(t);return n.length?(kf(null),ap.value=0,ip.value={label:e,cues:n},!0):!1},ie=async(e,t)=>{t||B(R(`sub_searching`));let n=te.current.props.id,r=await wm(e,ne());if(te.current.props.id===n){if(r.kind===`found`)re(r.name,r.text)?B(R(`sub_found`,r.name)):t||B(R(`sub_failed`));else if(t)return;else r.kind===`not_found`?B(R(`sub_not_found`)):r.kind===`no_key`?B(R(`sub_no_key`)):r.kind===`limit`?B(R(`sub_limit`)):B(R(`error_network`))}},ae=e=>{if(w.current||!q.peek().autoSubtitles)return;w.current=!0;let t=te.current.props.id;setTimeout(()=>{if(te.current.props.id!==t||ip.peek())return;let n=ne();Df().some(e=>e.language.toLowerCase().startsWith(n))||ie(e,!0)},4e3)},oe=async e=>{try{let t=await fetch(pr(mr(e)),{credentials:`omit`});if(t.ok&&re(`SRT`,rp(await t.arrayBuffer()))){B(R(`sub_loaded`));return}}catch(e){}B(R(`sub_failed`))},se=jf(),ce=se-ef.peek();P(()=>{if(!k||p||d!==null||!q.peek().autoNextEpisode)return;let t=Jd.peek();t&&t.key===`vod:${e.id}`&&X.peek()!==`loading`&&(C.current||se>6e4&&ce>0&&ce<=15e3)&&f(10)}),P(()=>{if(d===null)return;if(d<=0){le(k);return}let e=setTimeout(()=>f(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[d]),P(()=>{if(!_)return;let e=setTimeout(()=>{X.peek()!==`paused`&&wf(),v(0),B(R(`sleep_triggered`))},_*6e4);return()=>clearTimeout(e)},[_]);let le=t=>{A(),uu(t.id).then(n=>dd({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},ue=()=>{A(),ud()},de=e=>{let t=l===null?ef.peek():l,n=Math.max(0,Math.min(se||1/0,t+e));u(n),j(),clearTimeout(S.current),S.current=window.setTimeout(()=>{Tf(n),u(null)},Em)};if(P(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),Kt((e,t)=>{if(X.peek()===`error`)return e===`back`?(ue(),!0):`default`;if(e===`back`)return a?o(null):d===null?s&&X.peek()===`playing`?(clearTimeout(b.current),c(!1)):ue():(f(null),m(!0)),!0;if(a||d!==null)return;ee.current=t.repeat?ee.current+1:0;let n=ee.current>6?6e4:ee.current>2?3e4:1e4;switch(e){case`ok`:return wf(),j(),!0;case`left`:return de(-n),!0;case`right`:return de(n),!0;case`rew`:return de(-3e4),!0;case`ff`:return de(3e4),!0;case`playPause`:case`play`:case`pause`:return wf(),j(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(b.current),!0;case`down`:return r.length?o(`episodes`):j(),!0;case`menu`:return o({page:`main`,direct:!1}),!0;case`green`:return o({page:`audio`,direct:!0}),!0;case`yellow`:return o({page:`subs`,direct:!0}),!0;case`chUp`:return k&&le(k),!0;case`chDown`:return O&&le(O),!0}}),!t)return null;let fe=X.value,pe=s||fe===`paused`||l!==null||a===`controls`;return M(`div`,{class:`player vod-player`,children:[M(lp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),Zd.value>0&&M(`span`,{class:`retry-label`,children:R(`player_retrying`,Zd.value)})]}),fe===`error`&&M(Xf,{onRetry:Sf,onBack:ue}),pe&&M(x,{children:[M(`div`,{class:`vod-top`,children:[M(`div`,{children:[M(`h1`,{children:t.title}),t.sub&&M(`p`,{children:t.sub})]}),M(`span`,{class:`band-clock`,children:km()})]}),M(`div`,{class:`vod-bottom`,children:[M(Fm,{paused:fe===`paused`,target:l,d:se}),a===`controls`?M(Mm,{paused:fe===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),j()},on:{play:()=>wf(),back10:()=>de(-1e4),fwd10:()=>de(1e4),prev:()=>O&&le(O),next:()=>k&&le(k),episodes:()=>o(`episodes`),audio:()=>o({page:`audio`,direct:!0}),subs:()=>o({page:`subs`,direct:!0}),speed:()=>o({page:`speed`,direct:!0}),picture:()=>{let e=Dm[(Dm.indexOf(Qd.value)+1)%3];Qd.value=e,B(R(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:ue}}):M(`p`,{class:`band-hint`,children:R(`vod_hint`)})]})]}),a===`episodes`&&M(Nm,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&le(t)}}),a&&typeof a==`object`&&M(Ip,{page:a.page,direct:a.direct,favorite:!1,sleepMin:_,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{v(e),e&&B(R(`sleep_set`,e))},vod:{speed:h,setSpeed:e=>{Nf(e),g(e)},prev:O?{title:`${Am(O)} · ${O.title}`,go:()=>le(O)}:void 0,next:k?{title:`${Am(k)} · ${k.title}`,go:()=>le(k)}:void 0,findSubs:()=>ie(t.target,!1),loadSubs:()=>E(!0)}}),T&&M(wn,{title:R(`sub_url_title`),label:R(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&oe(e)},onClose:()=>E(!1)}),d!==null&&k&&M(Pm,{seconds:d,title:`${Am(k)} · ${k.title}`,onPlay:()=>le(k),onCancel:()=>{f(null),m(!0)}})]})}function Mm(e){let t=F(null);P(()=>{L(t.current)},[]),Kt(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,R(e.paused?`pc_play`:`pc_pause`),n.play],[`back`,`-10 sn`,n.back10],[`chevron`,`+10 sn`,n.fwd10]];return e.series&&e.prev&&r.push([`back`,R(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,R(`pc_next`),n.next]),e.series&&r.push([`list`,R(`vod_episodes`),n.episodes]),r.push([`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs],[`more`,R(`pc_speed`),n.speed],[`aspect`,R(`pc_picture`),n.picture],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.exit]),M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:r.map(([e,t,n],r)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Nm({eps:e,current:t,onPick:n}){let r=F(null);return P(()=>{let e=r.current&&r.current.querySelector(`[data-current]`);e&&e.focus()},[]),M(`div`,{class:`episodes-panel`,ref:r,"data-focus-scope":!0,children:[M(`h2`,{children:R(`vod_episodes`)}),e.map(e=>M(`button`,{class:`focus-row opt-row${e.id===t?` selected`:``}`,"data-focus":!0,"data-current":e.id===t||void 0,onClick:()=>n(e),children:[M(`span`,{class:`ep-code`,children:Am(e)}),M(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function Pm(e){let t=F(null);return P(()=>{L(t.current)},[]),M(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[M(`p`,{class:`next-when`,children:R(`vod_next_episode`,e.seconds)}),M(`p`,{class:`next-title`,children:e.title}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e.onPlay,children:R(`vod_play_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:R(`cancel`)})]})]})}function Fm({paused:e,target:t,d:n}){let r=t===null?ef.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:Gp(r)}),M(`div`,{class:`vod-bar`,children:[M(`span`,{class:`vod-buffer`,style:{width:i(Mf())}}),M(`span`,{class:`vod-played`,style:{width:i(r)}})]}),M(`span`,{class:`vod-time`,children:[`-`,Gp(Math.max(0,n-r))]})]})}function Im({channelId:e}){let[t,n]=N(null),[r,i]=N(null),[a,o]=N(null),[s,c]=N(``),l=F(null);if(Kt(e=>e===`back`?(ud(),!0):void 0),P(()=>{K.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await K.epgLinks.get(e.id);o(t?t.key:null),i((await K.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),P(()=>{r&&setTimeout(()=>L(l.current),0)},[!!r]),!t)return null;let u=s.trim().toLowerCase(),d=(r||[]).filter(e=>!u||e.name.toLowerCase().indexOf(u)>=0||e.xmlId.indexOf(s.trim())>=0).slice(0,300),f=(r||[]).find(e=>e.id===a),p=async e=>{e?await K.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await K.epgLinks.delete(t.id),Wc(t.providerId,void 0,`epg`),ud()};return M(`div`,{class:`epg-mapping`,children:[M(`div`,{class:`em-left`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`h1`,{children:R(`epg_mapping_title`)}),M(`p`,{class:`em-channel`,children:t.name}),a&&M(`p`,{class:`muted`,children:R(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),M(hn,{label:R(`epg_mapping_filter`),value:s,onInput:c,class:`em-filter`})]}),M(`div`,{class:`em-list`,ref:l,"data-focus-group":`epgmap`,children:r&&!r.length?M(`p`,{children:R(`epg_mapping_none`)}):M(x,{children:[M(`button`,{class:`focus-row opt-row em-auto`,"data-focus":!0,"data-focus-default":!0,onClick:()=>p(null),children:R(`epg_mapping_auto`)}),d.map(e=>M(`button`,{class:`focus-row opt-row${e.id===a?` selected`:``}`,"data-focus":!0,onClick:()=>p(e.id),children:[M(`span`,{class:`opt-label`,children:e.name}),M(`span`,{class:`muted em-id`,children:e.xmlId})]},e.id))]})})]})}function Lm(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++)if((n[e]||0)!==(r[e]||0))return(n[e]||0)>(r[e]||0);return!1}var Rm=`https://registry.npmjs.org/@erhan%2futopyatv/latest`,zm=864e5;async function Bm(){let e=await fetch(Rm,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).version}async function Vm(){try{if(Date.now()-Number(localStorage.getItem(`updateChecked`)||0)<zm)return;localStorage.setItem(`updateChecked`,String(Date.now()));let e=await Bm();Lm(e,`0.1.9`)&&B(R(`set_update_available`,e))}catch(e){}}var Hm=`utopya.settings`,Um=`utopya-yedek-`;async function Wm(){let[e,t,n,r,i,a,o]=await Promise.all([K.providers.toArray(),K.favorites.toArray(),K.groups.toArray(),K.groupItems.toArray(),K.catState.toArray(),K.chanState.toArray(),K.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Hm)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Gm=e=>e<10?`0${e}`:`${e}`;function Km(e=new Date){return`${Um}${e.getFullYear()}${Gm(e.getMonth()+1)}${Gm(e.getDate())}-${Gm(e.getHours())}${Gm(e.getMinutes())}.json`}async function qm(){let e=await Wm(),t=Km();if(!Et){let n=document.createElement(`a`);return n.href=URL.createObjectURL(new Blob([e],{type:`application/json`})),n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(n.href),5e3),t}let n=(await new Promise((e,t)=>tizen.filesystem.resolve(`downloads`,e,t,`rw`))).createFile(t);return await new Promise((t,r)=>n.openStream(`w`,n=>{n.write(e),n.close(),t()},r,`UTF-8`)),`Downloads/${t}`}async function Jm(){if(!Et)return[];let e=[],t=async t=>{try{let n=await new Promise((e,n)=>tizen.filesystem.resolve(t,e,n,`r`)),r=await new Promise(e=>n.listFiles(e,()=>e([])));for(let t of r)!t.isDirectory&&t.name.indexOf(Um)===0&&/\.json$/i.test(t.name)&&e.push({name:t.name,uri:t.toURI()})}catch(e){}};await t(`downloads`);let n=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([])));for(let e of n)e.type===`EXTERNAL`&&e.state===`MOUNTED`&&await t(e.label);return e.sort((e,t)=>e.name<t.name?1:-1)}async function Ym(e){let t=await new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`));return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}async function Xm(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.recents],r=[K.providers,K.favorites,K.groups,K.groupItems,K.catState,K.chanState,K.progress];await K.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await K.providers.bulkPut(t.providers),await K.favorites.bulkPut(t.favorites),await K.groups.bulkPut(t.groups),await K.groupItems.bulkPut(t.groupItems),await K.catState.bulkPut(t.catState),await K.chanState.bulkPut(t.chanState),await K.progress.bulkPut(t.progress)});try{localStorage.setItem(Hm,t.settings)}catch(e){}Oc(),await Rc();for(let e of await K.providers.toArray())Wc(e.id)}var Zm=[[`sources`,`set_sources`,`dns`],[`player`,`set_player`,`play`],[`look`,`set_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function Q(e){return M(`button`,{onlongpress:e.onLongPress,class:`focus-row set-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),e.subtitle&&M(`span`,{class:`set-sub`,children:e.subtitle})]}),e.value&&M(`span`,{class:`set-value`,children:e.value})]})}var Qm=({text:e})=>M(`h3`,{class:`set-header`,children:e});function $m(){let[e,t]=N(`sources`),[n,r]=N(null),i=F(null),a=q.value;P(()=>{setTimeout(()=>L(i.current),0)},[]);let o=(e,t,n,i)=>r({kind:`menu`,title:e,items:t.map(([e,t])=>({label:t,checked:e===n,onSelect:()=>i(e)}))}),s=e=>kc(e),c=e=>R(e?`set_on`:`set_off`),l=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1];return M(`div`,{class:`settings`,children:[M(`div`,{class:`set-sections`,ref:i,"data-focus-group":`set-sections`,children:Zm.map(([n,r,i])=>M(`button`,{class:`focus-row set-section${e===n?` selected`:``}`,"data-focus":!0,"data-focus-default":e===n||void 0,onFocus:()=>t(n),onClick:()=>t(n),children:[M(z,{name:i}),M(`span`,{children:R(r)})]},n))}),M(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[M(`h2`,{children:R(Zm.find(t=>t[0]===e)[1])}),e===`sources`&&M(th,{setDialog:r}),e===`player`&&(()=>{let e=[[null,R(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],t=[[null,R(`player_off`)],...e.slice(1)],n=[[`fit`,R(`aspect_fit`)],[`fill`,R(`aspect_fill`)],[`zoom`,R(`aspect_zoom`)]],i=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),u=[[0,R(`color_white`)],[1,R(`color_yellow`)],[2,R(`color_cyan`)]];return M(x,{children:[M(Q,{title:R(`set_audio_lang`),value:l(e,a.preferredAudio),onClick:()=>o(R(`set_audio_lang`),e,a.preferredAudio,e=>s({preferredAudio:e}))}),M(Q,{title:R(`set_sub_lang`),value:l(t,a.preferredSubtitle),onClick:()=>o(R(`set_sub_lang`),t,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),M(Q,{title:R(`set_sub_size`),value:l(i,a.subtitleScale),onClick:()=>o(R(`set_sub_size`),i,a.subtitleScale,e=>s({subtitleScale:e}))}),M(Q,{title:R(`set_sub_color`),value:l(u,a.subtitleColor),onClick:()=>o(R(`set_sub_color`),u,a.subtitleColor,e=>s({subtitleColor:e}))}),M(Q,{title:R(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),M(Q,{title:R(`set_auto_subs`),subtitle:R(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),M(Q,{title:R(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),M(ih,{setDialog:r}),M(Q,{title:R(`set_aspect`),value:l(n,a.aspect),onClick:()=>o(R(`set_aspect`),n,a.aspect,e=>s({aspect:e}))}),M(Q,{title:R(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),M(Q,{title:R(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),M(Q,{title:R(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})})(),e===`look`&&M(oh,{setDialog:r,choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,R(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,R(`set_epg_offset_value`,e)]);let n=Fc.value;return M(x,{children:[M(Q,{title:R(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(R(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),M(Q,{title:R(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(R(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&Wc(n,void 0,`epg`)})}),M(Q,{title:R(`set_epg_refresh`),subtitle:R(`set_epg_urls`),onClick:()=>{n&&Wc(n,void 0,`epg`)}})]})})(),e===`parental`&&M(x,{children:[Rl()?M(x,{children:[M(Q,{title:R(`set_pin_change`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:zl,done:()=>eh(r)})}),M(Q,{title:R(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:zl,done:()=>{Bl(null),r({kind:`notice`,text:R(`set_pin_removed`)})}})})]}):M(Q,{title:R(`set_pin_set`),onClick:()=>eh(r)}),M(Q,{title:R(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),M(Q,{title:R(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),M(`p`,{class:`set-hint`,children:R(`set_parental_hint`)})]}),e===`hidden`&&M(sh,{}),e===`about`&&M(`div`,{class:`set-about`,children:[M(`h3`,{children:R(`app_name`)}),M(`p`,{class:`set-version`,children:R(`set_version`,`0.1.9`)}),M(Q,{title:R(`set_update_check`),onClick:async()=>{try{let e=await Bm();r({kind:`notice`,text:Lm(e,`0.1.9`)?`${R(`set_update_available`,e)}. ${R(`tz_update_hint`)}`:R(`set_update_none`,`0.1.9`)})}catch(e){r({kind:`notice`,text:R(`set_update_failed`)})}}}),M(`p`,{children:R(`set_about_text`)}),M(Qm,{text:R(`set_keys`)}),M(`p`,{class:`muted`,children:R(`tz_keys_text`)}),M(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&M(bn,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&M(Tn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&M(gn,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&M(Cn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&M(wn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function eh(e){e({kind:`pin`,title:R(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:R(`set_pin_confirm`),check:e=>e===t,done:()=>{Bl(t),e({kind:`notice`,text:R(`set_pin_saved`)})}})}})}function th({setDialog:e}){let t=Pc.value||[],n=Fc.value,r=Ic.value,i=e=>e?new Date(e).toLocaleString(sn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):R(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:R(`set_make_active`),onSelect:()=>zc(t.id)}),r.push({label:R(`set_resync`),onSelect:()=>Wc(t.id)}),r.push({label:R(`set_edit`),onSelect:()=>o(t)}),r.push({label:R(`set_test_connection`),onSelect:async()=>{try{await Bc(t),e({kind:`notice`,text:R(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:R(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:R(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?R(`set_account_expiry`,i(t.expDate)):R(`set_account_unlimited`),t.maxConnections?R(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
13
|
+
`).map((e,t)=>M(`span`,{class:`subtitle-line`,children:M(cp,{text:e})},t))})}var up=72e5,dp=18e5,fp=36e5,pp=864e5,mp=e=>Math.floor(e/dp)*dp,hp=150;function gp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+up,o=F(null),[s,c]=N(Math.max(0,e.initialRow-3)),[l,u]=N({row:e.initialRow,pid:-1}),[d,f]=N(new Map),[p,m]=N(new Map),[h,g]=N(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/vd()/r)):6,v=F(new Map);P(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),P(()=>{l.row<s?c(l.row):l.row>s+_-1&&c(Math.min(Math.max(0,n-_),l.row-_+1))},[l.row,_,n]);let y=s,b=Math.min(n,s+_+1);P(()=>{let e=!0;return t.range(y,b).then(async t=>{let n=new Map;if(t.forEach((e,t)=>e&&n.set(y+t,e)),!e)return;f(n);let r=i-pp/2,a=i+up+pp,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-fp||t.to<i+72e5+fp});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await ll(e,r,a)})}));v.current.size>hp;)v.current.delete(v.current.keys().next().value);if(!e)return;let s=new Map;v.current.forEach((e,t)=>s.set(t,e.list)),m(s)}),()=>{e=!1}},[t,y,b,Math.floor(i/pp*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};P(()=>{if(l.pid!==-1)return;let e=x(l.row);if(e===null)return;let t=l.at===void 0?Date.now():l.at,n=e.find(e=>e.start<=t&&e.stop>t)||e.find(e=>e.stop>i&&e.start<a);u({row:l.row,pid:n?n.id:null})},[p,d]),P(()=>{if(!o.current)return;if(l.pid===-1){let e=o.current.querySelector(`[data-cell="${l.row}:ch"], [data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus();return}let e=o.current.querySelector(`[data-cell="${l.row}:${l.pid===null?`ch`:l.pid}"]`)||o.current.querySelector(`[data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus()},[l,d,p,i,s]),P(()=>{let e=()=>{let e=document.activeElement,t=e&&o.current&&o.current.contains(e)?e.getAttribute(`data-cell`):null;if(!t)return;let[n,r]=t.split(`:`);if(r===`wait`)return;let i={row:+n,pid:r===`ch`||r===`null`?null:+r};u(e=>e.row===i.row&&(e.pid===i.pid||e.pid===-1)?e:i)};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]);let S=(e,t)=>{let n=(x(e)||[]).filter(e=>e.stop>i&&e.start<a),r=n.find(e=>e.start<=t&&e.stop>t)||n[0];return r?r.id:null};Kt(t=>{if(!o.current||!o.current.contains(document.activeElement))return;let r=x(l.row)||[],s=l.pid===null?-1:r.findIndex(e=>e.id===l.pid),c=s>=0?r[s]:null,d=c?Math.max(c.start,i):l.at===void 0?i:l.at;switch(t){case`right`:{if(!c)return u({row:l.row,pid:S(l.row,i)}),!0;let t=r[s+1];return c.stop>a?e.setWinStart(i+fp):t?(t.start>=a&&e.setWinStart(mp(t.start-dp)),u({row:l.row,pid:t.id})):e.setWinStart(i+fp),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-fp):t&&t.stop>i-pp?(t.stop<=i&&e.setWinStart(mp(Math.max(t.start,t.stop-up+dp))),u({row:l.row,pid:t.id})):u({row:l.row,pid:null}),!0}case`up`:case`down`:case`chUp`:case`chDown`:{let e=t===`up`?-1:t===`down`?1:t===`chUp`?-8:8;if(t===`up`&&l.row===0)return;let r=Math.max(0,Math.min(n-1,l.row+e));return r!==l.row&&(l.pid===null?u({row:r,pid:null}):x(r)===null?u({row:r,pid:-1,at:d}):u({row:r,pid:S(r,d)})),!0}}});let ee=h>=i&&h<a?(h-i)/up*100:null,C=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:wait`})},t));continue}let o=x(t),c=o?o.filter(e=>e.stop>i&&e.start<a):[],u=e.numberOf(n,t);C.push(M(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:[M(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:ch`,"data-focus-default":l.row===t&&l.pid===null||void 0,onClick:()=>e.onChannel(n,t),children:[u!==null&&M(`span`,{class:`epg-num`,children:u}),M(Qu,{src:n.logo,size:26}),M(`span`,{class:`epg-chname`,children:n.name})]}),M(`div`,{class:`epg-programs`,children:[o&&!c.length&&M(`button`,{class:`epg-cell`,"data-focus":!0,"data-cell":`${t}:null`,style:{left:0,width:`100%`},onClick:()=>e.onChannel(n,t),children:M(`span`,{class:`epg-title`,children:R(`guide_no_data`)})}),c.map(r=>{let o=Math.max(r.start,i),s=Math.min(r.stop,a);return M(`button`,{class:`epg-cell${r.start<=h&&r.stop>h?` live`:``}`,"data-focus":!0,"data-cell":`${t}:${r.id}`,"data-focus-default":l.row===t&&l.pid===r.id||void 0,style:{left:`${(o-i)/up*100}%`,width:`${(s-o)/up*100}%`},onClick:()=>e.onProgram(r,n,t),children:[M(`span`,{class:`epg-title`,children:r.title}),M(`span`,{class:`epg-time`,children:yl(r.start)})]},r.id)})]})]},t))}return M(`div`,{class:`epg-grid${e.translucent?` translucent`:``}`,children:[M(`div`,{class:`epg-header`,children:[0,1,2,3].map(e=>M(`span`,{style:{left:`${e*25}%`},children:yl(i+e*dp)},e))}),M(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[C,ee!==null&&M(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${ee/100})`}})]})]})}var _p=5e3,vp=700,yp=[`fit`,`fill`,`zoom`],bp=[0,15,30,45,60,90,120],xp=[.5,.75,1,1.25,1.5,2],Sp=[];for(let e=-10;e<=10;e+=.5)Sp.push(e);var Cp=e=>R(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),wp=e=>`${e}x`,Tp=3e4,Ep=e=>e<10?`0${e}`:`${e}`,Dp=e=>`${Ep(e.getHours())}:${Ep(e.getMinutes())}`,Op=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function kp({onExit:e}){let t=ad.value,n=t.ids,r=ke(()=>new Gl(n),[n]),[i,a]=N(t.index),[o,s]=N(null),[c,l]=N(!0),[u,d]=N(null),[f,p]=N(0),[m,h]=N(t.archive?{program:t.archive,offset:0}:null),[g,_]=N(null),[v,y]=N(null),[b,x]=N(0),S=F(void 0),ee=F(!0),C=F(void 0),w=F(0),[,T]=N(0),E=F(null),D=F(0),O=F(void 0),k=q.value,te=o?o.providerId:null,A=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),_p)},j=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(C.current),_(null),h(null),a((e%t+t)%t))};P(()=>{let e=!0;return(async()=>{let t=await K.channels.get(n[i]);if(!e||!t)return;if(q.peek().pinHash){await Ol(t.providerId);let n=t.categoryId===null?null:await K.categories.get(t.categoryId)||null;if(!e)return;if(Al(n,t.id)){s(t),Cf(),y({channel:t,categoryId:t.categoryId});return}}s(t),A(),$d.value=`full`;let r=(Pc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(S.current),!ee.current&&!m&&(await new Promise(e=>{S.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,m){let e=m.program,n=Date.now(),i=Yf(t,e.start,n)?Jf(t,e.start+m.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){B(R(`archive_unavailable`)),h(null);return}xf({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${m.offset}`},{onEnded:()=>ne(t,e)});return}let o=!1;xf({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,ql(t.providerId,`live`,t.id),kc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!q.peek().fallbackToPrevious||e===null||Date.now()-D.current<Tp)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),B(R(`player_fallback_reason`,Zf())))}})})(),()=>{e=!1,clearTimeout(S.current)}},[i,m,b]);let ne=async(e,t)=>{let n=(await ll(e,t.stop-6e4,t.stop+216e5)).filter(e=>e.id!==t.id&&e.start>=t.stop-6e4).sort((e,t)=>e.start-t.start)[0];h(n&&n.stop<Date.now()?{program:n,offset:0}:null)},re=()=>{clearTimeout(C.current),_(null),h(null)};P(()=>()=>clearTimeout(C.current),[]);let ie=()=>m?m.offset+ef.peek():0,ae=e=>{if(!m)return;let t=Math.min(m.program.stop,Date.now()-6e4)-m.program.start,n=Math.max(0,Math.min(t,(g===null?ie():g)+e));_(n),A(),clearTimeout(C.current),C.current=window.setTimeout(()=>{_(null);let e=o&&o.catchupType===`XTREAM`;h({program:m.program,offset:e?Math.floor(n/6e4)*6e4:n})},vp)};P(()=>{te!==null&&sd(te)},[te]),P(()=>{let e=setInterval(()=>T(e=>e+1),5e3);return()=>{clearInterval(e),clearTimeout(O.current),o&&(id.value=o.id)}},[o]),P(()=>{if(!f)return;let e=setTimeout(()=>{X.peek()!==`paused`&&wf(),p(0),B(R(`sleep_triggered`))},f*6e4);return()=>clearTimeout(e)},[f]);let oe=()=>{o&&(id.value=o.id),ad.value=null,$d.value=null,e()},se=async()=>{if(!o)return;let e=await Kl(o.providerId,`live`,o.id);await sd(o.providerId),B(R(e?`player_favorite_added`:`player_favorite_removed`))},ce=()=>{let e=yp[(yp.indexOf(Qd.value)+1)%yp.length];Qd.value=e,B(R(`aspect_${e}`))},le=e=>{e===`FAVORITE`?se():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?ce():e===`CHANNELS`?d(`list`):e===`INFO`?A():e===`GUIDE`&&d(`guide`)},ue=xn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(te!==null){let r=await K.channels.where(`[providerId+number]`).equals([te,e]).first();t=r?n.indexOf(r.id):-1}t<0?B(R(`channel_not_found`)):j(t)});P(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),Kt((e,t)=>{if(e.startsWith(`digit`))return ue.push(e.slice(5)),!0;if(m&&!u&&e===`stop`)return re(),!0;if(m&&!u&&X.peek()!==`error`){if(e===`left`||e===`right`)return w.current=t&&t.repeat?w.current+1:0,ae((e===`left`?-1:1)*(w.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return ae((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return wf(),A(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):oe(),!0;if(!u&&(X.peek()!==`error`||e!==`ok`&&e!==`left`&&e!==`right`))switch(e){case`ok`:return d(`controls`),l(!0),clearTimeout(O.current),!0;case`up`:case`chUp`:return j(i+1),!0;case`down`:case`chDown`:return j(i-1),!0;case`left`:case`channelList`:return d(`list`),!0;case`right`:case`guide`:return d(`guide`),!0;case`last`:return E.current!==null&&n.indexOf(E.current)>=0&&j(n.indexOf(E.current)),!0;case`info`:return c?l(!1):A(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return wf(),A(),!0;case`red`:return le(k.colorKeys[0]),!0;case`green`:return le(k.colorKeys[1]),!0;case`yellow`:return le(k.colorKeys[2]),!0;case`blue`:return le(k.colorKeys[3]),!0}});let de=!!o&&od.value.has(o.id),fe=X.value,pe=c&&!u||u===`controls`,me=!!m&&!u&&(c||g!==null||fe===`paused`);return M(`div`,{class:`player`,children:[M(lp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),Zd.value>0&&M(`span`,{class:`retry-label`,children:R(`player_retrying`,Zd.value)})]}),fe===`paused`&&M(`div`,{class:`player-center`,children:M(z,{name:`pause`,class:`paused-icon`})}),fe===`error`&&M(Xf,{onRetry:Sf,onBack:oe}),o&&m&&me&&M(jp,{channel:o,program:m.program,target:g,offset:m.offset,paused:fe===`paused`}),o&&!m&&pe&&M(Mp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:de,hint:u!==`controls`,children:u===`controls`&&M(Np,{favorite:de,subsOn:!1,onClose:()=>{d(null),A()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:ce,favorite:se,more:()=>d({page:`main`,direct:!1}),back:oe}})}),u===`list`&&M(Pp,{pager:r,count:n.length,current:i,title:rd.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&j(e)}}),u===`guide`&&M(Fp,{pager:r,count:n.length,current:i,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e.number,onPlay:e=>{d(null),e===i?re():j(e)},onArchive:(e,t)=>{d(null),t!==i&&j(t),h({program:e,offset:0})}}),u&&typeof u==`object`&&M(Ip,{page:u.page,direct:u.direct,favorite:de,sleepMin:f,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:se,onSleep:e=>{p(e),e&&B(R(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:m?()=>{d(null),re()}:void 0}),M(Sn,{digits:ue.digits}),v&&M(Cn,{title:R(`pin_enter`),check:zl,onDone:()=>{jl(v.categoryId,v.channel.id),y(null),x(e=>e+1)},onClose:()=>{y(null);let e=E.current;e!==null&&n.indexOf(e)>=0?j(n.indexOf(e)):oe()}})]})}function Ap({text:e,live:t,archive:n}){return M(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function jp(e){let{program:t}=e,n=e.target===null?e.offset+ef.value:e.target,r=Math.max(1,t.stop-t.start);return M(`div`,{class:`info-band archive-band`,children:M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:M(Qu,{src:e.channel.logo,size:64})}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:e.channel.name}),M(Ap,{text:R(`player_archive`),archive:!0})]}),M(`p`,{class:`band-program`,children:t.title}),M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e.paused?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:yl(t.start+n)}),M(`div`,{class:`vod-bar`,children:M(`span`,{class:`vod-played`,style:{width:`${Math.min(100,n/r*100)}%`}})}),M(`span`,{class:`vod-time`,children:yl(t.stop)})]}),M(`p`,{class:`band-hint`,children:R(`tz_archive_hint`)})]}),M(`span`,{class:`band-clock`,children:Dp(new Date)})]})})}function Mp(e){let t=e.channel,[n,r]=N(null),i=xl.value;P(()=>{let e=!0;return dl(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=Ef().length,c=Df().length,l=Op(Af());return M(`div`,{class:`info-band`,children:[M(`div`,{class:`band-row`,children:[M(`div`,{class:`band-left`,children:[e.number!==null&&M(`span`,{class:`band-number`,children:e.number}),M(Qu,{src:t.logo,size:64})]}),M(`div`,{class:`band-mid`,children:[M(`div`,{class:`band-title`,children:[M(`span`,{class:`band-name`,children:t.name}),e.favorite&&M(z,{name:`star`,class:`fav-star big`}),M(Ap,{text:R(`player_live`),live:!0}),l&&M(Ap,{text:l}),s>1&&M(Ap,{text:`♪ ${s}`}),c>0&&M(Ap,{text:`CC`})]}),a?M(x,{children:[M(`p`,{class:`band-program`,children:[M(`span`,{class:`band-time`,children:bl(a)}),a.title]}),M(`div`,{class:`band-progress`,children:[M($u,{value:_l(a)}),M(`span`,{children:R(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):M(`p`,{class:`band-program`,children:R(`no_program`)}),o&&M(`p`,{class:`band-next`,children:`${R(`next_label`)}: ${yl(o.start)} ${o.title}`}),e.hint&&M(`p`,{class:`band-hint`,children:R(`player_hint_live`)})]}),M(`span`,{class:`band-clock`,children:Dp(new Date)})]}),e.children]})}function Np(e){let t=F(null);P(()=>{L(t.current)},[]),Kt(t=>{if(t===`back`)return e.onClose(),!0});let n=e.actions;return M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:[[`list`,R(`pc_channels`),n.channels],[`guide`,R(`player_guide`),n.guide],[`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs,e.subsOn],[`aspect`,R(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,R(`pc_favorite`),n.favorite,e.favorite],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.back]].map(([e,t,n,r],i)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn${r?` active`:``}`,"data-focus":!0,"data-focus-default":i===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Pp(e){let[t,n]=N(e.current),r=F(null);return P(()=>{setTimeout(()=>{let t=r.current&&r.current.querySelector(`[data-idx="${e.current}"]`);t&&t.focus()},0)},[]),M(`div`,{class:`list-overlay`,"data-focus-scope":!0,children:[M(`h2`,{children:e.title}),M(gd,{listRef:r,group:`player-list`,compact:!0,current:e.current,pager:e.pager,count:e.count,index:t,setIndex:n,numberOf:e.numberOf,focused:!0,onOpen:e.onPick,onMenu:()=>{}})]})}function Fp(e){let[t,n]=N(mp(Date.now()));return M(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:M(gp,{pager:e.pager,count:e.count,initialRow:e.current,rowRem:5.2,translucent:!0,winStart:t,setWinStart:n,numberOf:e.numberOf,onChannel:(t,n)=>e.onPlay(n),onProgram:async(t,n,r)=>{let i=Date.now();t.start>i?B(R(await Ju(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&Yf(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Ip(e){let t=F(null),n=tf.value,r=nf.value,i=e=>{tf.value=e},a=e=>{nf.value=e};P(()=>{L(t.current)},[e.page]),Kt(t=>{if(t===`back`)return e.page!==`main`&&!e.direct?e.setPage(`main`):e.close(),!0});let o=()=>e.direct?e.close():e.setPage(`main`),s=Ef(),c=Df(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=R(`player_options`),d=[];if(e.page===`main`){d=[{label:R(`player_audio`),value:s.length?l(s,n,R(`player_auto`)):R(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:R(`player_subtitles`),value:ip.value?ip.value.label:l(c,r,R(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:R(`player_aspect`),value:R(`aspect_${Qd.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:R(`player_speed`),value:wp(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:R(`player_sleep`),value:e.sleepMin?R(`sleep_set`,e.sleepMin):R(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:R(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:R(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:R(`player_guide`),onSelect:t}),d.push({label:R(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:R(`player_go_live`),onSelect:e.onGoLive}),d.push({label:R(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=R(`player_audio`),d=[{label:R(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||R(`track_n`,t+1),checked:n===e.index,onSelect:()=>{Of(e.index),i(e.index),df(`audio`,e),o()}})));else if(e.page===`subs`){u=R(`player_subtitles`);let t=ip.value;d=[{label:R(`player_off`),checked:r===null&&!t,onSelect:()=>{kf(null),a(null),op(),df(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||R(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{op(),kf(e.index),a(e.index),df(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:R(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:R(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:R(`sub_offset`),value:Cp(ap.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=R(`sub_offset`),d=Sp.map(e=>({label:Cp(e*1e3),checked:ap.value===e*1e3,onSelect:()=>{ap.value=e*1e3,o()}}));else if(e.page===`aspect`)u=R(`player_aspect`),d=yp.map(e=>({label:R(`aspect_${e}`),checked:Qd.value===e,onSelect:()=>{Qd.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=R(`player_speed`),d=xp.map(e=>({label:wp(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=R(`player_sleep`),d=bp.map(t=>({label:t?R(`sleep_minutes`,t):R(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=R(`player_info`);let t=Af();d=[{label:R(`info_video`,t?`${t}p`:R(`info_none`)),onSelect:()=>{}},{label:R(`info_audio`,s.length?s.map(e=>e.label).join(`, `):R(`info_none`)),onSelect:()=>{}},{label:R(`back`),onSelect:()=>e.setPage(`main`)}]}let f=d.some(e=>e.checked);return M(`div`,{class:`options-panel`,ref:t,"data-focus-scope":!0,children:[M(`h2`,{children:u}),d.map((t,n)=>M(`button`,{class:`opt-row focus-row${t.checked?` selected`:``}`,"data-focus":!0,"data-focus-default":(f?t.checked:n===0)||void 0,onClick:t.onSelect,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:t.label}),t.value&&M(`span`,{class:`opt-value`,children:t.value})]}),t.checked?M(z,{name:`check`}):e.page===`main`&&t.value!==void 0?M(z,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function Lp(){let e=$d.value;if(e===`full`)return null;if(!e)return M(`div`,{class:`backdrop`,style:{left:0,top:0,right:0,bottom:0}});let t=window.innerWidth,n=window.innerHeight,r=(e,t,n,r)=>M(`div`,{class:`backdrop`,style:{left:`${e}px`,top:`${t}px`,width:`${n}px`,height:`${r}px`,backgroundPosition:`${-e}px ${-t}px`}});return M(x,{children:[r(0,0,t,e.y),r(0,e.y+e.h,t,n-e.y-e.h),r(0,e.y,e.x,e.h),r(e.x+e.w,e.y,t-e.x-e.w,e.h)]})}var Rp=1.8,zp=1.2,Bp={movie:{w:11.6,ratio:1.5},series:{w:20,ratio:.5625}},Vp=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function Hp(e){var t;let n=Fc.value,r=((t=(Pc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync)||0,[i,a]=N(e.sort||`added`),[o,s]=N(e.filter.genre||null),[c,l]=N(null),[u,d]=N([]),[f,p]=N(0),[m,h]=N(6),[g,_]=N(Bp[e.kind].w),[v,y]=N(null),b=Bp[e.kind],x=g*b.ratio+Rp,[S,ee]=N(null),C=F(null),w=F(null);P(()=>{Su(n,e.kind,r).then(d)},[n,e.kind]),P(()=>{let t=!0;return wu(n,e.kind,{categoryIds:e.filter.categoryIds,genre:o||void 0,favorites:e.filter.favorites},i).then(e=>{t&&(l(e),p(0))}),()=>{t=!1}},[n,i,o,e.kind,JSON.stringify(e.filter)]),P(()=>{c&&c.length&&setTimeout(()=>L(C.current),0)},[c===null]),P(()=>{let e=C.current;if(!e)return;let t=vd(),n=e.clientWidth/t-2*zp,r=Math.max(1,Math.round(n/(b.w+Rp)));h(r),_(Math.floor((n/r-Rp)*100)/100);let i=e=>{let t=e.target,n=t.closest(`[data-idx]`);n&&p(Number(n.getAttribute(`data-idx`)));let r=t.getAttribute(`data-info-title`);y(r?{title:r,meta:t.getAttribute(`data-info-meta`)||``}:null)};return e.addEventListener(`focusin`,i),()=>e.removeEventListener(`focusin`,i)},[c===null,e.kind]),Kt(e=>{if(e===`back`)return ud(),!0});let T=e.filter.platformKey?Xs.find(t=>t.key===e.filter.platformKey):$s(e.title),E=R(`genre_label`,o||R(`browse_all`));return M(`div`,{class:`browse`,ref:w,children:[M(Wp,{kind:e.kind,title:e.title,filter:e.filter,platform:T||null,genreCount:(e.filter.genre||e.filter.favorites)&&c?c.length:null,children:M(`div`,{class:`row bb-sorts`,children:[Vp.map(([e,t])=>M(`button`,{class:`chip${i===e?` selected`:``}`,"data-focus":!0,onClick:()=>a(e),children:R(t)},e)),u.length>0&&M(`button`,{class:`btn outline bb-genre`,"data-focus":!0,onClick:()=>ee({title:E,items:[null,...u].map(e=>({label:e||R(`browse_all`),checked:e===o,onSelect:()=>s(e)}))}),children:E})]})}),e.kind===`movie`&&M(`p`,{class:`shelf-info browse-info`,children:[v&&M(`b`,{children:v.title}),v&&v.meta&&M(`span`,{children:` ${v.meta}`})]}),M(`div`,{class:`browse-grid ${e.kind}`,ref:C,"data-focus-group":`browse`,style:{"--cw":`${g}rem`},children:c&&(()=>{let t=Math.ceil(c.length/m),n=Math.floor(f/m),r=Math.max(0,n-4),i=Math.min(t,n+7),a=[M(`span`,{class:`grid-spacer`,style:{height:`${r*x}rem`}},`top`)];for(let t=r*m;t<Math.min(c.length,i*m);t++){let n=mu(c[t]);a.push(M(`span`,{"data-idx":t,class:`grid-cell`,children:M(Td,{kind:e.kind,card:n,onClick:()=>Pd(e.kind,n)})},n.key))}return a.push(M(`span`,{class:`grid-spacer`,style:{height:`${(t-i)*x}rem`}},`bottom`)),a})()}),S&&M(bn,{title:S.title,items:S.items,onClose:()=>ee(null)})]})}var Up=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Wp(e){let t=Fc.value,{platform:n,filter:r}=e,[i,a]=N(null);P(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await hu(t,e)).filter(e=>!e.adult&&($s(e.name)||{key:``}).key===r.platformKey).map(e=>e.id);else r.categoryIds&&(i[e.kind]=r.categoryIds);let o=async n=>r.platformKey||r.categoryIds?i[n].length?pu(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?pu(n).where(`providerId`).equals(t).count():0,[s,c]=await Promise.all([o(`movie`),o(`series`)]);n&&a({movie:s,series:c,ids:i})})(),()=>{n=!1}},[t,e.kind,JSON.stringify(r)]);let o=!!n&&!!r.platformKey&&!!i&&i.movie>0&&i.series>0,s=t=>i?t===e.kind&&e.genreCount!==null?e.genreCount:i[t]:0,c=i&&!o?[`movie`,`series`].filter(e=>s(e)>0).map(e=>R(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Up(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&dd({name:`browse`,kind:t,title:e.title,filter:{categoryIds:i.ids[t],platformKey:r.platformKey}})};return M(`div`,{class:`browse-bar`,style:{background:`linear-gradient(90deg, rgba(${l}, 0.55), rgba(${l}, 0.12) 45%, rgba(255, 255, 255, 0.04))`},children:[M(`div`,{class:`bb-id`,children:[n?M(`span`,{class:`browse-logo`,children:M(Ed,{p:n})}):M(`h1`,{class:`bb-title`,children:e.title}),c&&M(`span`,{class:`bb-count`,children:c})]}),o&&M(`div`,{class:`bb-tabs`,"data-focus-group":`browse-tabs`,children:[`movie`,`series`].map(t=>M(`button`,{class:`bb-tab${t===e.kind?` selected`:``}`,"data-focus":!0,"data-focus-default":t===e.kind||void 0,onClick:()=>u(t),children:[R(t===`movie`?`nav_movies`:`nav_series`),M(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),M(`span`,{class:`spacer`}),e.children]})}var Gp=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${bu(r)}:${bu(t%60)}`:`${bu(r)}:${bu(t%60)}`},Kp=e=>!!e&&!e.watched&&e.position>1e4;function qp({src:e}){return M(`div`,{class:`detail-backdrop`,children:[e&&M(`img`,{src:e,alt:``,decoding:`async`}),M(`span`,{class:`db-h`}),M(`span`,{class:`db-v`})]})}function Jp({chips:e}){return M(`div`,{class:`meta-chips`,children:e.filter(Boolean).map(e=>M(`span`,{class:`meta-chip${e.startsWith(`★`)?` gold`:``}`,children:e},e))})}function Yp(e,t){let[n,r]=N([]);return P(()=>{e&&Tu(e,t).then(r)},[e&&e.id]),n}function Xp(e,t,n){return{title:R(`vod_versions`,e.length),items:e.map(e=>({label:Bs(e.name)||R(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&dd(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function Zp(){Kt(e=>{if(e===`back`)return ud(),!0})}function Qp({id:e}){let[t,n]=N(null),[r,i]=N(),[a,o]=N(!1),[s,c]=N([]),[l,u]=N(null),d=F(null),f=Yp(t,`movie`);Zp();let p=async()=>{i(await uu(e)),o(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await iu(r);if(!t||(n(i),r.categoryId===null))return;let a=(await _u(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),p();let r=()=>p();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),P(()=>{t&&setTimeout(()=>L(d.current),0)},[!!t]),!t)return null;let m=Kp(r),h=!!r&&r.watched,g=e=>ld({name:`vod`,kind:`movie`,id:t.id,startMs:e}),_=[[m?R(`vod_resume`,Gp(r.position)):R(`vod_play`),()=>g(m?r.position:0)]];return m&&_.push([R(`vod_restart`),()=>g(0)]),f.length>1&&_.push([R(`vod_versions`,f.length),()=>u(Xp(f,t,`movie`))]),_.push([R(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Kl(t.providerId,`movie`,t.id),p()}]),_.push([R(h?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await lu(`movie`,t.id,t.providerId,null,!h),p()}]),M(`div`,{class:`detail`,children:[M(qp,{src:t.backdrop||t.poster}),M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:t.poster&&M(`img`,{src:t.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:t.name}),M(Jp,{chips:[t.year,t.durationSec?R(`vod_minutes`,Math.ceil(t.durationSec/60)):null,yd(t.rating),t.genre]}),t.plot&&M(`p`,{class:`detail-plot`,children:t.plot}),t.director&&M(`p`,{class:`detail-credit`,children:R(`vod_director`,t.director)}),t.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,t.cast)}),M(`div`,{class:`detail-actions`,ref:d,children:_.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),s.length>0&&M(jd,{title:R(`shelf_similar`),info:!0,children:s.map(e=>{let t=mu(e);return M(Cd,{card:t,onClick:()=>dd({name:`movie`,id:t.id})},t.key)})})]}),l&&M(bn,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function $p(e,t){if(!e.length)return null;let n=e.filter(e=>Kp(t.get(e.id))).sort((e,n)=>t.get(n.id).updated-t.get(e.id).updated)[0];if(n)return{ep:n,pos:t.get(n.id).position};let r=-1;return e.forEach((e,n)=>{let i=t.get(e.id);i&&i.watched&&(r=n)}),{ep:e[Math.min(r+1,e.length-1)],pos:0}}function em({id:e,season:t}){let[n,r]=N(null),[i,a]=N(null),[o,s]=N(new Map),[c,l]=N(!1),[u,d]=N(t||null),[f,p]=N(null),m=F(null),h=Yp(n,`series`);Zp();let g=async(t=i)=>{t&&s(await du(t.map(e=>e.id))),l(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await au(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),g(n.episodes))});let n=()=>g();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),P(()=>{n&&setTimeout(()=>L(m.current),0)},[!!n]),!n)return null;let _=i?$p(i,o):null,v=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],y=(e,t)=>ld({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),b=e=>`S${bu(e.season)}E${bu(e.episode)}`,x=[];_&&x.push([_.pos?R(`vod_resume`,`${b(_.ep)} · ${Gp(_.pos)}`):`${R(`vod_play`)} ${b(_.ep)}`,()=>y(_.ep,_.pos)]),h.length>1&&x.push([R(`vod_versions`,h.length),()=>p(Xp(h,n,`series`))]),x.push([R(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await Kl(n.providerId,`series`,n.id),g()}]);let S=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:R(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await lu(`episode`,e.id,n.providerId,n.id,!r),g()}}]})};return M(`div`,{class:`detail`,children:[M(qp,{src:n.backdrop||n.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:n.poster&&M(`img`,{src:n.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:n.name}),M(Jp,{chips:[n.year,yd(n.rating),n.genre]}),n.plot&&M(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&M(`p`,{class:`detail-credit`,children:R(`vod_cast`,n.cast)}),M(`div`,{class:`detail-actions`,ref:m,children:x.map(([e,t],n)=>M(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),v.length>1?M(`div`,{class:`season-chips`,children:v.map(e=>M(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:R(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),i===null&&M(`p`,{class:`muted`,children:R(`vod_episodes_loading`)}),i&&!i.length&&M(`p`,{class:`muted`,children:R(`vod_no_episodes`)}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>M(tm,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);y(e,t&&!t.watched?t.position:0)},onLongPress:()=>S(e)},e.id))})]}),f&&M(bn,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function tm(e){let{e:t,p:n}=e,r=n&&!n.watched&&n.duration?n.position/n.duration:0;return M(`button`,{onlongpress:e.onLongPress,class:`episode-row focus-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`ep-thumb`,children:[(t.poster||e.poster)&&M(pn,{src:t.poster||e.poster}),r>0&&r<.95&&M(`span`,{class:`poster-progress`,children:M(`span`,{style:{width:`${Math.round(r*100)}%`}})})]}),M(`span`,{class:`ep-text`,children:[M(`span`,{class:`ep-title`,children:R(`vod_episode_title`,t.episode,t.title)}),t.plot&&M(`span`,{class:`ep-plot`,children:t.plot})]}),t.durationSec?M(`span`,{class:`ep-min`,children:R(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&M(z,{name:`check`,class:`ep-watched`})]})}var nm=`keys`,rm=null;function im(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(nm),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function am(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function om(){return rm||(rm=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await im(),n=await am(t.transaction(nm).objectStore(nm).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await am(t.transaction(nm,`readwrite`).objectStore(nm).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),rm}var sm=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),cm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function lm(e){let t=await om();if(!t)return`p:${e}`;let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},t,new TextEncoder().encode(e));return`v1:${sm(n)}:${sm(r)}`}async function um(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await om();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:cm(t[1])},n,cm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var dm=`https://api.opensubtitles.com/api/v1`,fm=`UtopyaTV v1.0`,pm=`utopya.opensubtitles`;async function mm(){try{let e=localStorage.getItem(pm),t=e&&await um(e);return t?JSON.parse(t):null}catch(e){return null}}var hm=null;async function gm(e){hm=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(pm,await lm(JSON.stringify(e))):localStorage.removeItem(pm)}catch(e){}}var _m=class extends Error{};async function vm(e,t,n,r){let i=n?`?`+Object.keys(n).sort().map(e=>`${e.toLowerCase()}=${encodeURIComponent(String(n[e]).toLowerCase())}`).join(`&`):``,a={"Api-Key":e.key,Accept:`application/json`,"X-User-Agent":fm};hm&&(a.Authorization=`Bearer ${hm}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(pr(dm+t+i),{method:r?`POST`:`GET`,headers:a,body:r?JSON.stringify(r):void 0,credentials:`omit`});if(o.status===406||o.status===429)throw new _m;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var ym=65536;function bm(e,t,n){let r=e>>>0,i=Math.floor(e/4294967296)>>>0;for(let e of[t,n]){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;n+8<=e.byteLength;n+=8){let e=r+t.getUint32(n,!0);r=e>>>0,i=i+t.getUint32(n+4,!0)+ +(e>4294967295)>>>0}}let a=e=>(`00000000`+e.toString(16)).slice(-8);return a(i)+a(r)}async function xm(e,t,n){let r=await fetch(pr(e),{headers:{Range:`bytes=${t}-${n}`},credentials:`omit`});if(r.status!==206)return null;let i=parseInt((r.headers.get(`content-range`)||``).split(`/`)[1],10);return{bytes:new Uint8Array(await r.arrayBuffer()),total:i}}async function Sm(e){try{let t=await xm(e,0,65535);if(!t||!(t.total>=2*ym))return null;let n=await xm(e,t.total-ym,t.total-1);return n?bm(t.total,t.bytes,n.bytes):null}catch(e){return null}}function Cm(e,t,n){let r=e.filter(e=>e.attributes.files&&e.attributes.files.length),i=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===t.season&&n.episode_number===t.episode},a=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===void 0||n.season_number===t.season},o=Hs(t.title).map(Fs),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Fs((t.season===void 0?n.title:n.parent_title)||``);return!r||o.indexOf(r)<0?!1:isNaN(s)||!n.year||Math.abs(n.year-s)<=1},l=e=>e.sort((e,t)=>(t.attributes.download_count||0)-(e.attributes.download_count||0))[0]||null;return l(r.filter(e=>String(e.attributes.moviehash_match)===`true`&&a(e)))||(n?l(r.filter(i)):null)||l(r.filter(e=>i(e)&&c(e)))}async function wm(e,t){let n=await mm();if(!n||!n.key)return{kind:`no_key`};try{let r=await Sm(e.url),i={languages:t};r&&(i.moviehash=r),e.season===void 0?i.type=`movie`:(i.type=`episode`,i.season_number=e.season,i.episode_number=e.episode);let a=async e=>(await vm(n,`/subtitles`,V(V({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=Cm(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of Hs(e.title).reverse()){if(o)break;let n={query:t.toLowerCase()};e.season===void 0&&e.year&&(n.year=e.year.slice(0,4)),o=Cm(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!hm)try{hm=(await vm(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await vm(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(pr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=rp(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof _m?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var Tm=4e3,Em=650,Dm=[`fit`,`fill`,`zoom`],Om=e=>e<10?`0${e}`:`${e}`,km=()=>{let e=new Date;return`${Om(e.getHours())}:${Om(e.getMinutes())}`},Am=e=>`S${bu(e.season)}E${bu(e.episode)}`;function jm(e){let[t,n]=N(null),[r,i]=N([]),[a,o]=N(null),[s,c]=N(!0),[l,u]=N(null),[d,f]=N(null),[p,m]=N(!1),[h,g]=N(1),[_,v]=N(0),[,y]=N(0),b=F(void 0),S=F(void 0),ee=F(0),C=F(!1),w=F(!1),[T,E]=N(!1),D=r.findIndex(t=>t.id===e.id),O=D>0?r[D-1]:null,k=D>=0&&D<r.length-1?r[D+1]:null,te=F({props:e,info:t});te.current={props:e,info:t};let A=(e=!1)=>{var t;let{props:n,info:r}=te.current,i=jf();if(!r||i<=0)return;let a=C.current?i:ef.peek();n.kind!==`stream`&&(cu(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},j=()=>{c(!0),clearTimeout(b.current),b.current=window.setTimeout(()=>c(!1),Tm)};P(()=>{let t=!0;return C.current=!1,w.current=!1,clearTimeout(S.current),u(null),g(1),op(),m(!1),f(null),(async()=>{let r;if(e.kind===`stream`)r={title:e.title||``,sub:``,url:e.url,userAgent:null,providerId:-1,target:{title:e.title||``,year:null,url:e.url,tmdbId:null}};else if(e.kind===`movie`){let t=await K.movies.get(e.id);if(!t)return;r={title:t.name,sub:t.year||``,url:t.url,userAgent:null,providerId:t.providerId,target:{title:t.name,year:t.year,url:t.url,tmdbId:t.tmdbId||null}}}else{let[n,a]=await Promise.all([K.episodes.get(e.id),K.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${Am(n)} · ${n.title}`,url:n.url,userAgent:null,providerId:a.providerId,target:{title:a.name,year:a.year,season:n.season,episode:n.episode,url:n.url,tmdbId:a.tmdbId||null}},t&&i(ou(await K.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Pc.value||[]).find(e=>e.id===r.providerId);if(r.userAgent=a?a.userAgent:null,!t)return;n(r);let o=e.startMs;if(o===void 0){let t=await uu(e.id);o=t&&!t.watched?t.position:0}$d.value=`full`,xf({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{C.current=!0,A(!0),j()},onStarted:()=>ae(r.target)}),j()})(),()=>{t=!1}},[e.id]),P(()=>{let e=setInterval(()=>{X.peek()===`playing`&&A()},1e4),t=setInterval(()=>y(e=>e+1),1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),P(()=>()=>{A(!0),Cf(),op(),$d.value=null,clearTimeout(b.current)},[]);let ne=()=>q.peek().preferredSubtitle||`tr`,re=(e,t)=>{let n=tp(t);return n.length?(kf(null),ap.value=0,ip.value={label:e,cues:n},!0):!1},ie=async(e,t)=>{t||B(R(`sub_searching`));let n=te.current.props.id,r=await wm(e,ne());if(te.current.props.id===n){if(r.kind===`found`)re(r.name,r.text)?B(R(`sub_found`,r.name)):t||B(R(`sub_failed`));else if(t)return;else r.kind===`not_found`?B(R(`sub_not_found`)):r.kind===`no_key`?B(R(`sub_no_key`)):r.kind===`limit`?B(R(`sub_limit`)):B(R(`error_network`))}},ae=e=>{if(w.current||!q.peek().autoSubtitles)return;w.current=!0;let t=te.current.props.id;setTimeout(()=>{if(te.current.props.id!==t||ip.peek())return;let n=ne();Df().some(e=>e.language.toLowerCase().startsWith(n))||ie(e,!0)},4e3)},oe=async e=>{try{let t=await fetch(pr(mr(e)),{credentials:`omit`});if(t.ok&&re(`SRT`,rp(await t.arrayBuffer()))){B(R(`sub_loaded`));return}}catch(e){}B(R(`sub_failed`))},se=jf(),ce=se-ef.peek();P(()=>{if(!k||p||d!==null||!q.peek().autoNextEpisode)return;let t=Jd.peek();t&&t.key===`vod:${e.id}`&&X.peek()!==`loading`&&(C.current||se>6e4&&ce>0&&ce<=15e3)&&f(10)}),P(()=>{if(d===null)return;if(d<=0){le(k);return}let e=setTimeout(()=>f(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[d]),P(()=>{if(!_)return;let e=setTimeout(()=>{X.peek()!==`paused`&&wf(),v(0),B(R(`sleep_triggered`))},_*6e4);return()=>clearTimeout(e)},[_]);let le=t=>{A(),uu(t.id).then(n=>dd({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},ue=()=>{A(),ud()},de=e=>{let t=l===null?ef.peek():l,n=Math.max(0,Math.min(se||1/0,t+e));u(n),j(),clearTimeout(S.current),S.current=window.setTimeout(()=>{Tf(n),u(null)},Em)};if(P(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),Kt((e,t)=>{if(X.peek()===`error`)return e===`back`?(ue(),!0):`default`;if(e===`back`)return a?o(null):d===null?s&&X.peek()===`playing`?(clearTimeout(b.current),c(!1)):ue():(f(null),m(!0)),!0;if(a||d!==null)return;ee.current=t.repeat?ee.current+1:0;let n=ee.current>6?6e4:ee.current>2?3e4:1e4;switch(e){case`ok`:return wf(),j(),!0;case`left`:return de(-n),!0;case`right`:return de(n),!0;case`rew`:return de(-3e4),!0;case`ff`:return de(3e4),!0;case`playPause`:case`play`:case`pause`:return wf(),j(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(b.current),!0;case`down`:return r.length?o(`episodes`):j(),!0;case`menu`:return o({page:`main`,direct:!1}),!0;case`green`:return o({page:`audio`,direct:!0}),!0;case`yellow`:return o({page:`subs`,direct:!0}),!0;case`chUp`:return k&&le(k),!0;case`chDown`:return O&&le(O),!0}}),!t)return null;let fe=X.value,pe=s||fe===`paused`||l!==null||a===`controls`;return M(`div`,{class:`player vod-player`,children:[M(lp,{}),fe===`loading`&&M(`div`,{class:`player-center`,children:[M(`div`,{class:`spinner`}),Zd.value>0&&M(`span`,{class:`retry-label`,children:R(`player_retrying`,Zd.value)})]}),fe===`error`&&M(Xf,{onRetry:Sf,onBack:ue}),pe&&M(x,{children:[M(`div`,{class:`vod-top`,children:[M(`div`,{children:[M(`h1`,{children:t.title}),t.sub&&M(`p`,{children:t.sub})]}),M(`span`,{class:`band-clock`,children:km()})]}),M(`div`,{class:`vod-bottom`,children:[M(Fm,{paused:fe===`paused`,target:l,d:se}),a===`controls`?M(Mm,{paused:fe===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),j()},on:{play:()=>wf(),back10:()=>de(-1e4),fwd10:()=>de(1e4),prev:()=>O&&le(O),next:()=>k&&le(k),episodes:()=>o(`episodes`),audio:()=>o({page:`audio`,direct:!0}),subs:()=>o({page:`subs`,direct:!0}),speed:()=>o({page:`speed`,direct:!0}),picture:()=>{let e=Dm[(Dm.indexOf(Qd.value)+1)%3];Qd.value=e,B(R(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:ue}}):M(`p`,{class:`band-hint`,children:R(`vod_hint`)})]})]}),a===`episodes`&&M(Nm,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&le(t)}}),a&&typeof a==`object`&&M(Ip,{page:a.page,direct:a.direct,favorite:!1,sleepMin:_,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{v(e),e&&B(R(`sleep_set`,e))},vod:{speed:h,setSpeed:e=>{Nf(e),g(e)},prev:O?{title:`${Am(O)} · ${O.title}`,go:()=>le(O)}:void 0,next:k?{title:`${Am(k)} · ${k.title}`,go:()=>le(k)}:void 0,findSubs:()=>ie(t.target,!1),loadSubs:()=>E(!0)}}),T&&M(wn,{title:R(`sub_url_title`),label:R(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&oe(e)},onClose:()=>E(!1)}),d!==null&&k&&M(Pm,{seconds:d,title:`${Am(k)} · ${k.title}`,onPlay:()=>le(k),onCancel:()=>{f(null),m(!0)}})]})}function Mm(e){let t=F(null);P(()=>{L(t.current)},[]),Kt(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,R(e.paused?`pc_play`:`pc_pause`),n.play],[`back`,`-10 sn`,n.back10],[`chevron`,`+10 sn`,n.fwd10]];return e.series&&e.prev&&r.push([`back`,R(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,R(`pc_next`),n.next]),e.series&&r.push([`list`,R(`vod_episodes`),n.episodes]),r.push([`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs],[`more`,R(`pc_speed`),n.speed],[`aspect`,R(`pc_picture`),n.picture],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.exit]),M(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:r.map(([e,t,n],r)=>M(`div`,{class:`cb-item`,children:[M(`button`,{class:`cb-btn`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:n,children:M(z,{name:e})}),M(`span`,{class:`cb-label`,children:t})]},t))})}function Nm({eps:e,current:t,onPick:n}){let r=F(null);return P(()=>{let e=r.current&&r.current.querySelector(`[data-current]`);e&&e.focus()},[]),M(`div`,{class:`episodes-panel`,ref:r,"data-focus-scope":!0,children:[M(`h2`,{children:R(`vod_episodes`)}),e.map(e=>M(`button`,{class:`focus-row opt-row${e.id===t?` selected`:``}`,"data-focus":!0,"data-current":e.id===t||void 0,onClick:()=>n(e),children:[M(`span`,{class:`ep-code`,children:Am(e)}),M(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function Pm(e){let t=F(null);return P(()=>{L(t.current)},[]),M(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[M(`p`,{class:`next-when`,children:R(`vod_next_episode`,e.seconds)}),M(`p`,{class:`next-title`,children:e.title}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e.onPlay,children:R(`vod_play_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:R(`cancel`)})]})]})}function Fm({paused:e,target:t,d:n}){let r=t===null?ef.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return M(`div`,{class:`vod-bar-row`,children:[M(z,{name:e?`play`:`pause`,class:`vod-state`}),M(`span`,{class:`vod-time`,children:Gp(r)}),M(`div`,{class:`vod-bar`,children:[M(`span`,{class:`vod-buffer`,style:{width:i(Mf())}}),M(`span`,{class:`vod-played`,style:{width:i(r)}})]}),M(`span`,{class:`vod-time`,children:[`-`,Gp(Math.max(0,n-r))]})]})}function Im({channelId:e}){let[t,n]=N(null),[r,i]=N(null),[a,o]=N(null),[s,c]=N(``),l=F(null);if(Kt(e=>e===`back`?(ud(),!0):void 0),P(()=>{K.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await K.epgLinks.get(e.id);o(t?t.key:null),i((await K.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),P(()=>{r&&setTimeout(()=>L(l.current),0)},[!!r]),!t)return null;let u=s.trim().toLowerCase(),d=(r||[]).filter(e=>!u||e.name.toLowerCase().indexOf(u)>=0||e.xmlId.indexOf(s.trim())>=0).slice(0,300),f=(r||[]).find(e=>e.id===a),p=async e=>{e?await K.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await K.epgLinks.delete(t.id),Wc(t.providerId,void 0,`epg`),ud()};return M(`div`,{class:`epg-mapping`,children:[M(`div`,{class:`em-left`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`h1`,{children:R(`epg_mapping_title`)}),M(`p`,{class:`em-channel`,children:t.name}),a&&M(`p`,{class:`muted`,children:R(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),M(hn,{label:R(`epg_mapping_filter`),value:s,onInput:c,class:`em-filter`})]}),M(`div`,{class:`em-list`,ref:l,"data-focus-group":`epgmap`,children:r&&!r.length?M(`p`,{children:R(`epg_mapping_none`)}):M(x,{children:[M(`button`,{class:`focus-row opt-row em-auto`,"data-focus":!0,"data-focus-default":!0,onClick:()=>p(null),children:R(`epg_mapping_auto`)}),d.map(e=>M(`button`,{class:`focus-row opt-row${e.id===a?` selected`:``}`,"data-focus":!0,onClick:()=>p(e.id),children:[M(`span`,{class:`opt-label`,children:e.name}),M(`span`,{class:`muted em-id`,children:e.xmlId})]},e.id))]})})]})}function Lm(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++)if((n[e]||0)!==(r[e]||0))return(n[e]||0)>(r[e]||0);return!1}var Rm=`https://registry.npmjs.org/@erhan%2futopyatv/latest`,zm=864e5;async function Bm(){let e=await fetch(Rm,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).version}async function Vm(){try{if(Date.now()-Number(localStorage.getItem(`updateChecked`)||0)<zm)return;localStorage.setItem(`updateChecked`,String(Date.now()));let e=await Bm();Lm(e,`0.1.10`)&&B(R(`set_update_available`,e))}catch(e){}}var Hm=`utopya.settings`,Um=`utopya-yedek-`;async function Wm(){let[e,t,n,r,i,a,o]=await Promise.all([K.providers.toArray(),K.favorites.toArray(),K.groups.toArray(),K.groupItems.toArray(),K.catState.toArray(),K.chanState.toArray(),K.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Hm)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Gm=e=>e<10?`0${e}`:`${e}`;function Km(e=new Date){return`${Um}${e.getFullYear()}${Gm(e.getMonth()+1)}${Gm(e.getDate())}-${Gm(e.getHours())}${Gm(e.getMinutes())}.json`}async function qm(){let e=await Wm(),t=Km();if(!Et){let n=document.createElement(`a`);return n.href=URL.createObjectURL(new Blob([e],{type:`application/json`})),n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(n.href),5e3),t}let n=(await new Promise((e,t)=>tizen.filesystem.resolve(`downloads`,e,t,`rw`))).createFile(t);return await new Promise((t,r)=>n.openStream(`w`,n=>{n.write(e),n.close(),t()},r,`UTF-8`)),`Downloads/${t}`}async function Jm(){if(!Et)return[];let e=[],t=async t=>{try{let n=await new Promise((e,n)=>tizen.filesystem.resolve(t,e,n,`r`)),r=await new Promise(e=>n.listFiles(e,()=>e([])));for(let t of r)!t.isDirectory&&t.name.indexOf(Um)===0&&/\.json$/i.test(t.name)&&e.push({name:t.name,uri:t.toURI()})}catch(e){}};await t(`downloads`);let n=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([])));for(let e of n)e.type===`EXTERNAL`&&e.state===`MOUNTED`&&await t(e.label);return e.sort((e,t)=>e.name<t.name?1:-1)}async function Ym(e){let t=await new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`));return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}async function Xm(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.recents],r=[K.providers,K.favorites,K.groups,K.groupItems,K.catState,K.chanState,K.progress];await K.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await K.providers.bulkPut(t.providers),await K.favorites.bulkPut(t.favorites),await K.groups.bulkPut(t.groups),await K.groupItems.bulkPut(t.groupItems),await K.catState.bulkPut(t.catState),await K.chanState.bulkPut(t.chanState),await K.progress.bulkPut(t.progress)});try{localStorage.setItem(Hm,t.settings)}catch(e){}Oc(),await Rc();for(let e of await K.providers.toArray())Wc(e.id)}var Zm=[[`sources`,`set_sources`,`dns`],[`player`,`set_player`,`play`],[`look`,`set_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function Q(e){return M(`button`,{onlongpress:e.onLongPress,class:`focus-row set-row`,"data-focus":!0,onClick:e.onClick,children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),e.subtitle&&M(`span`,{class:`set-sub`,children:e.subtitle})]}),e.value&&M(`span`,{class:`set-value`,children:e.value})]})}var Qm=({text:e})=>M(`h3`,{class:`set-header`,children:e});function $m(){let[e,t]=N(`sources`),[n,r]=N(null),i=F(null),a=q.value;P(()=>{setTimeout(()=>L(i.current),0)},[]);let o=(e,t,n,i)=>r({kind:`menu`,title:e,items:t.map(([e,t])=>({label:t,checked:e===n,onSelect:()=>i(e)}))}),s=e=>kc(e),c=e=>R(e?`set_on`:`set_off`),l=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1];return M(`div`,{class:`settings`,children:[M(`div`,{class:`set-sections`,ref:i,"data-focus-group":`set-sections`,children:Zm.map(([n,r,i])=>M(`button`,{class:`focus-row set-section${e===n?` selected`:``}`,"data-focus":!0,"data-focus-default":e===n||void 0,onFocus:()=>t(n),onClick:()=>t(n),children:[M(z,{name:i}),M(`span`,{children:R(r)})]},n))}),M(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[M(`h2`,{children:R(Zm.find(t=>t[0]===e)[1])}),e===`sources`&&M(th,{setDialog:r}),e===`player`&&(()=>{let e=[[null,R(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],t=[[null,R(`player_off`)],...e.slice(1)],n=[[`fit`,R(`aspect_fit`)],[`fill`,R(`aspect_fill`)],[`zoom`,R(`aspect_zoom`)]],i=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),u=[[0,R(`color_white`)],[1,R(`color_yellow`)],[2,R(`color_cyan`)]];return M(x,{children:[M(Q,{title:R(`set_audio_lang`),value:l(e,a.preferredAudio),onClick:()=>o(R(`set_audio_lang`),e,a.preferredAudio,e=>s({preferredAudio:e}))}),M(Q,{title:R(`set_sub_lang`),value:l(t,a.preferredSubtitle),onClick:()=>o(R(`set_sub_lang`),t,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),M(Q,{title:R(`set_sub_size`),value:l(i,a.subtitleScale),onClick:()=>o(R(`set_sub_size`),i,a.subtitleScale,e=>s({subtitleScale:e}))}),M(Q,{title:R(`set_sub_color`),value:l(u,a.subtitleColor),onClick:()=>o(R(`set_sub_color`),u,a.subtitleColor,e=>s({subtitleColor:e}))}),M(Q,{title:R(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),M(Q,{title:R(`set_auto_subs`),subtitle:R(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),M(Q,{title:R(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),M(ih,{setDialog:r}),M(Q,{title:R(`set_aspect`),value:l(n,a.aspect),onClick:()=>o(R(`set_aspect`),n,a.aspect,e=>s({aspect:e}))}),M(Q,{title:R(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),M(Q,{title:R(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),M(Q,{title:R(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})})(),e===`look`&&M(oh,{setDialog:r,choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,R(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,R(`set_epg_offset_value`,e)]);let n=Fc.value;return M(x,{children:[M(Q,{title:R(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(R(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),M(Q,{title:R(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(R(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&Wc(n,void 0,`epg`)})}),M(Q,{title:R(`set_epg_refresh`),subtitle:R(`set_epg_urls`),onClick:()=>{n&&Wc(n,void 0,`epg`)}})]})})(),e===`parental`&&M(x,{children:[Rl()?M(x,{children:[M(Q,{title:R(`set_pin_change`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:zl,done:()=>eh(r)})}),M(Q,{title:R(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:zl,done:()=>{Bl(null),r({kind:`notice`,text:R(`set_pin_removed`)})}})})]}):M(Q,{title:R(`set_pin_set`),onClick:()=>eh(r)}),M(Q,{title:R(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),M(Q,{title:R(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),M(`p`,{class:`set-hint`,children:R(`set_parental_hint`)})]}),e===`hidden`&&M(sh,{}),e===`about`&&M(`div`,{class:`set-about`,children:[M(`h3`,{children:R(`app_name`)}),M(`p`,{class:`set-version`,children:R(`set_version`,`0.1.10`)}),M(Q,{title:R(`set_update_check`),onClick:async()=>{try{let e=await Bm();r({kind:`notice`,text:Lm(e,`0.1.10`)?`${R(`set_update_available`,e)}. ${R(`tz_update_hint`)}`:R(`set_update_none`,`0.1.10`)})}catch(e){r({kind:`notice`,text:R(`set_update_failed`)})}}}),M(`p`,{children:R(`set_about_text`)}),M(Qm,{text:R(`set_keys`)}),M(`p`,{class:`muted`,children:R(`tz_keys_text`)}),M(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&M(bn,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&M(Tn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&M(gn,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&M(Cn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&M(wn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function eh(e){e({kind:`pin`,title:R(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:R(`set_pin_confirm`),check:e=>e===t,done:()=>{Bl(t),e({kind:`notice`,text:R(`set_pin_saved`)})}})}})}function th({setDialog:e}){let t=Pc.value||[],n=Fc.value,r=Ic.value,i=e=>e?new Date(e).toLocaleString(sn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):R(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:R(`set_make_active`),onSelect:()=>zc(t.id)}),r.push({label:R(`set_resync`),onSelect:()=>Wc(t.id)}),r.push({label:R(`set_edit`),onSelect:()=>o(t)}),r.push({label:R(`set_test_connection`),onSelect:async()=>{try{await Bc(t),e({kind:`notice`,text:R(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:R(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:R(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?R(`set_account_expiry`,i(t.expDate)):R(`set_account_unlimited`),t.maxConnections?R(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
14
14
|
`)})}}),r.push({label:R(`set_delete_source`),onSelect:()=>e({kind:`confirm`,title:t.name,text:R(`set_delete_confirm`,t.name),ok:()=>rh(t.id)})}),e({kind:`menu`,title:t.name,items:r})},o=t=>{let n=(n,r,i,a,s=!1)=>({label:`${n}${r&&!s?`: ${r}`:``}`,onSelect:()=>e({kind:`text`,title:n,label:n,initial:r,password:s,save:async e=>{await K.providers.update(t.id,i(e.trim())),await Rc(),a&&Wc(t.id);let n=(Pc.peek()||[]).find(e=>e.id===t.id);n&&o(n)}})}),r=[n(R(`onb_name`),t.name,e=>({name:e||t.name}),!1)];t.type===`xtream`?r.push(n(R(`onb_server`),t.url,e=>({url:mr(e)}),!0),n(R(`onb_username`),t.username,e=>({username:e}),!0),n(R(`onb_password`),t.password,e=>({password:e}),!0,!0)):t.url.startsWith(`file:`)||r.push(n(R(`onb_url`),t.url,e=>({url:e.split(/\s+/).map(mr).filter(Boolean).join(` `)}),!0)),r.push(n(R(`onb_epg`),t.epgUrls.join(` `),e=>({epgUrls:e.split(/\s+/).map(mr).filter(Boolean)}),!0),n(R(`onb_user_agent`),t.userAgent||``,e=>({userAgent:e||null}),!1)),e({kind:`menu`,title:`${t.name} · ${R(`set_edit`)}`,items:r})};return M(x,{children:[t.map(e=>{let t=r&&r.providerId===e.id&&`stage`in r&&r.stage!==`DONE`;return M(Q,{title:`${e.name}${e.id===n?` ✓`:``}`,subtitle:`${e.type===`xtream`?`Xtream`:`M3U`} · ${t?R(`sync_title`)+`…`:R(`set_last_sync`,i(e.lastSync))}`,value:e.id===n?R(`set_active`):void 0,onClick:()=>a(e)},e.id)}),M(Q,{title:R(`set_add_source`),onClick:()=>Y.value=`onboarding`}),M(Qm,{text:R(`set_backup`)}),M(Q,{title:R(`set_backup_now`),subtitle:R(`set_backup_warning`),onClick:async()=>{try{e({kind:`notice`,text:R(`set_backup_done`,await qm())})}catch(t){e({kind:`notice`,text:`${R(`error_storage`)} (${String(t)})`})}}}),M(Q,{title:R(`set_restore`),onClick:async()=>{let t=t=>e({kind:`confirm`,title:R(`set_restore`),text:R(`set_restore_confirm`),ok:async()=>{try{await Xm(await t()),e({kind:`notice`,text:R(`set_restore_done`)})}catch(t){e({kind:`notice`,text:`${R(`error_unknown`)} (${String(t)})`})}}}),n=(await Jm()).map(e=>({label:e.name,onSelect:()=>t(()=>Ym(e.uri))}));Et||n.push({label:R(`set_restore_file`),onSelect:()=>nh(e=>t(async()=>e))}),e(n.length?{kind:`menu`,title:R(`set_restore`),items:n}:{kind:`notice`,text:R(`set_restore_none`)})}})]})}function nh(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.json,application/json`,t.onchange=()=>{let n=t.files&&t.files[0];n&&n.text().then(e)},t.click()}async function rh(e){let t=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.favorites,K.recents,K.progress,K.catState,K.chanState];for(let n of t)await n.where(`providerId`).equals(e).delete();await K.providers.delete(e),await Rc()}function ih({setDialog:e}){let[t,n]=N(null);P(()=>{mm().then(n)},[]);let r=t||{key:``,user:``,pass:``},i=(t,i)=>({label:i,onSelect:()=>e({kind:`text`,title:i,label:i,initial:r[t],password:t===`pass`,save:async e=>{await gm(V(V({},r),{},{[t]:e.trim()})),n(await mm())}})});return M(Q,{title:R(`os_account`),subtitle:R(`os_account_hint`),value:R(t&&t.key?`os_account_set`:`os_account_none`),onClick:()=>e({kind:`menu`,title:R(`os_account`),items:[i(`key`,R(`os_api_key`)),i(`user`,R(`os_username`)),i(`pass`,R(`os_password`))]})})}var ah={HERO:`home_hero`,CONTINUE:`shelf_continue`,UP_NEXT:`home_up_next`,FAVORITE_CHANNELS:`home_favorite_channels`,RECENT_CHANNELS:`home_recent_channels`,TONIGHT_SPORTS:`home_tonight`,SCHEDULE:`home_schedule`,PLATFORMS:`shelf_platforms`,NEW_MOVIES:`home_new_movies`,NEW_SERIES:`home_new_series`,TOP_RATED:`home_top_rated`,NEW_EPISODES:`home_new_episodes`,STARTING_SOON:`home_starting_soon`,FOR_YOU:`home_for_you`,GENRES:`home_genres`};function oh({setDialog:e,choose:t}){let n=q.value,r=kc,i=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],a=[[`home`,R(`nav_home`)],[`live`,R(`nav_live`)],[`guide`,R(`nav_guide`)],[`movies`,R(`nav_movies`)],[`series`,R(`nav_series`)],[`last`,R(`start_last`)],[`firstFav`,R(`start_first_fav`)]],o=[[`GLOBAL`,R(`numbering_global`)],[`CATEGORY`,R(`numbering_category`)],[`HIDDEN`,R(`numbering_hidden`)]],s=[[`blue`,R(`accent_blue`)],[`orange`,R(`accent_orange`)],[`green`,R(`accent_green`)],[`purple`,R(`accent_purple`)],[`red`,R(`accent_red`)]],c=[[`navy`,R(`theme_navy`)],[`amoled`,R(`theme_amoled`)],[`graphite`,R(`theme_graphite`)],[`forest`,R(`theme_forest`)],[`wine`,R(`theme_wine`)]],l=[[`FAVORITE`,R(`act_favorite`)],[`AUDIO`,R(`player_audio`)],[`SUBTITLES`,R(`player_subtitles`)],[`ASPECT`,R(`player_aspect`)],[`GUIDE`,R(`player_guide`)],[`CHANNELS`,R(`pc_channels`)],[`INFO`,R(`pc_info`)],[`NONE`,R(`act_none`)]],u=n.homeShelves.filter(e=>Sc.indexOf(e)>=0);return M(x,{children:[M(Q,{title:R(`set_start`),value:i(a,n.startScreen),onClick:()=>t(R(`set_start`),a,n.startScreen,e=>r({startScreen:e}))}),M(Q,{title:R(`set_numbering`),value:i(o,n.numbering),onClick:()=>t(R(`set_numbering`),o,n.numbering,e=>r({numbering:e}))}),M(Q,{title:R(`set_accent`),value:i(s,n.accent),onClick:()=>t(R(`set_accent`),s,n.accent,e=>r({accent:e}))}),M(Q,{title:R(`set_theme`),value:i(c,n.theme),onClick:()=>t(R(`set_theme`),c,n.theme,e=>r({theme:e}))}),M(Q,{title:R(`set_filter_words`),subtitle:R(`set_filter_words_hint`),value:n.filterWords.length?n.filterWords.join(`, `):R(`set_none`),onClick:()=>e({kind:`text`,title:R(`set_filter_words`),label:R(`set_filter_words`),initial:n.filterWords.join(`, `),placeholder:`[RAW], FHD, VIP`,save:e=>r({filterWords:e.split(`,`).map(e=>e.trim()).filter(Boolean)})})}),M(Q,{title:R(`home_edit`),subtitle:R(`set_home_shelves`),value:`${u.length} / ${Sc.length}`,onClick:()=>ld({name:`homeEdit`})}),M(Qm,{text:R(`set_color_keys`)}),[`key_red`,`key_green`,`key_yellow`,`key_blue`].map((e,a)=>M(Q,{title:R(e),value:i(l,n.colorKeys[a]),onClick:()=>t(R(e),l,n.colorKeys[a],e=>{let t=n.colorKeys.slice();t[a]=e,r({colorKeys:t})})},e)),M(Q,{title:R(`set_language`),value:sn.value===`tr`?`Türkçe`:`English`,onClick:()=>t(R(`set_language`),[[`tr`,`Türkçe`],[`en`,`English`]],sn.value,cn)})]})}function sh(){let e=Fc.value,[t,n]=N([]),[r,i]=N([]),a=async()=>{let[t,r]=await Promise.all([K.catState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray(),K.chanState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray()]);n((await K.categories.bulkGet(t.map(e=>e.id))).filter(e=>!!e)),i((await K.channels.bulkGet(r.map(e=>e.id))).filter(e=>!!e).sort((e,t)=>e.number-t.number))};return P(()=>{a()},[e]),!t.length&&!r.length?M(`p`,{class:`set-hint`,children:R(`set_hidden_none`)}):M(x,{children:[t.length>0&&M(Qm,{text:R(`set_hidden_categories`)}),t.map(t=>M(Q,{title:t.name,value:R(`set_unhide`),onClick:async()=>{await Fl(t.id,e,{hidden:!1}),a()}},t.id)),r.length>0&&M(Qm,{text:R(`set_hidden_channels`)}),r.map(t=>M(Q,{title:`${t.number} ${t.name}`,value:R(`set_unhide`),onClick:async()=>{await Il(t.id,e,{hidden:!1}),await Ol(e),a()}},t.id))]})}function ch(){let e=q.value.homeShelves.filter(e=>Sc.indexOf(e)>=0),t=Sc.filter(t=>e.indexOf(t)<0),[n,r]=N(null),[i,a]=N(null),o=F(null);P(()=>{L(o.current)},[]),P(()=>{if(!i||!o.current)return;let e=o.current.querySelector(`[data-he="${i}"]`);e&&e.focus(),a(null)});let s=e=>kc({homeShelves:e});Kt(t=>{if(n){if(t===`up`||t===`down`){let r=e.indexOf(n),i=r+(t===`up`?-1:1);if(i>=0&&i<e.length){let t=e.slice();t[r]=t[i],t[i]=n,s(t),a(`row-${n}`)}return!0}return(t===`ok`||t===`back`)&&r(null),!0}});let c=t=>{s(e.indexOf(t)>=0?e.filter(e=>e!==t):[...e,t]),a(`sw-${t}`)},l=(i,a)=>{let o=a!==null,s=a===1||!e.length&&i===t[0];return M(`div`,{class:`he-row${n===i?` moving`:``}`,children:[M(`button`,{class:`focus-row he-main`,"data-focus":!0,"data-focus-default":s||void 0,"data-he":`row-${i}`,onClick:()=>o&&r(n===i?null:i),children:[M(`span`,{class:`he-num`,children:o?`${a}.`:``}),M(`span`,{class:`he-label`,children:R(ah[i])}),n===i&&M(`span`,{class:`he-moving`,children:R(`home_edit_moving`)})]}),M(`button`,{class:`he-switch${o?` on`:``}`,"data-focus":!0,"data-he":`sw-${i}`,onClick:()=>c(i),children:R(o?`set_on`:`set_off`)})]},i)};return M(`div`,{class:`home-edit`,ref:o,children:[M(`div`,{class:`he-head`,children:[M(`h1`,{children:R(`home_edit`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{r(null),s(Sc)},children:R(`home_edit_reset`)})]}),M(`p`,{class:`he-hint`,children:R(`home_edit_hint`)}),M(`div`,{class:`he-list`,children:[e.map((e,t)=>l(e,t+1)),t.length>0&&M(`h3`,{class:`set-header`,children:R(`home_edit_hidden`)}),t.map(e=>l(e,null))]})]})}var $=(e,t)=>e&&typeof e[t]==`string`&&e[t].trim()||null,lh=(e,t)=>{let n=e&&e[t],r=typeof n==`number`?n:parseFloat(String(n));return isFinite(r)?r:null};function uh(e){let t=e.trim().replace(/^stremio:\/\//i,`https://`);return/manifest\.json$/i.test(t)||(t=`${t.replace(/\/+$/,``)}/manifest.json`),t}async function dh(e){let t=await fetch(pr(e),{credentials:`omit`});if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}var fh=new Map;function ph(e){let t=fh.get(e);return t||(t=dh(e).then(t=>mh(e,t)),t.catch(()=>fh.delete(e)),fh.set(e,t)),t}function mh(e,t){let n=e=>Array.isArray(t[e])?t[e]:[],r=n(`catalogs`).map(e=>e).filter(e=>{let t=Array.isArray(e.extra)?e.extra:[],n=Array.isArray(e.extraRequired)?e.extraRequired:[];return!t.some(e=>e.isRequired===!0)&&!n.length&&$(e,`type`)&&$(e,`id`)}).map(e=>({type:$(e,`type`),id:$(e,`id`),name:$(e,`name`)||$(e,`id`)})),i=n(`idPrefixes`).filter(e=>typeof e==`string`),a=e;try{a=new URL(e).host}catch(e){}return{url:e,base:e.replace(/\/manifest\.json$/i,``),id:$(t,`id`)||e,name:$(t,`name`)||a,logo:$(t,`logo`),types:n(`types`).filter(e=>typeof e==`string`),idPrefixes:i.length?i:null,resources:n(`resources`).map(e=>typeof e==`string`?e:$(e,`name`)).filter(e=>!!e),catalogs:r}}var hh=(e,t,n,r)=>e.resources.indexOf(t)>=0&&e.types.indexOf(n)>=0&&(!e.idPrefixes||e.idPrefixes.some(e=>r.startsWith(e))),gh=e=>encodeURIComponent(e).replace(/\+/g,`%20`),_h=e=>({id:$(e,`id`)||``,type:$(e,`type`)||`movie`,name:$(e,`name`)||``,poster:$(e,`poster`),rating:lh(e,`imdbRating`)});async function vh(e,t){let n=await dh(`${e.base}/catalog/${gh(t.type)}/${gh(t.id)}.json`);return(Array.isArray(n.metas)?n.metas:[]).map(_h).filter(e=>e.id&&e.name)}async function yh(e,t,n){for(let r of e)try{let e=await ph(r);if(!hh(e,`meta`,t,n))continue;let i=(await dh(`${e.base}/meta/${gh(t)}/${gh(n)}.json`)).meta;if(!i)continue;let a=Array.isArray(i.genres)?i.genres:Array.isArray(i.genre)?i.genre:[],o=(Array.isArray(i.videos)?i.videos:[]).map(e=>({id:$(e,`id`)||``,title:$(e,`title`)||$(e,`name`)||``,season:lh(e,`season`)||0,episode:lh(e,`episode`)||lh(e,`number`)||0,thumbnail:$(e,`thumbnail`)})).filter(e=>e.id);return V(V({},_h(i)),{},{type:$(i,`type`)||t,background:$(i,`background`),description:$(i,`description`),releaseInfo:$(i,`releaseInfo`)||(lh(i,`year`)?String(lh(i,`year`)):null),genres:a,videos:o})}catch(e){console.warn(`stremio meta`,r,e)}return null}async function bh(e,t,n){let r=await Promise.all(e.map(async e=>{try{let r=await ph(e);if(!hh(r,`stream`,t,n))return[];let i=await dh(`${r.base}/stream/${gh(t)}/${gh(n)}.json`);return(Array.isArray(i.streams)?i.streams:[]).filter(e=>/^https?:\/\//i.test($(e,`url`)||``)).map(e=>({url:$(e,`url`),name:($(e,`name`)||r.name).replace(/\n/g,` `),title:$(e,`title`)||$(e,`description`)}))}catch(t){return console.warn(`stremio stream`,e,t),[]}}));return[].concat(...r)}var xh=(e,t)=>({key:`${e.type}:${e.id}`,id:t,title:e.name,poster:e.poster,rating:e.rating}),Sh=e=>e===`movie`?R(`nav_movies`):e===`series`?R(`nav_series`):e;function Ch(){let e=q.value.stremioAddons,[t,n]=N([]),[r,i]=N([]),[a,o]=N(!1),[s,c]=N(!1),[l,u]=N(null);P(()=>{let t=!0;return i([]),(async()=>{let r=[];for(let t of e)try{r.push(await ph(t))}catch(e){}if(t){n(r);for(let e of r)for(let n of e.catalogs)try{let r=await vh(e,n);if(!t)return;r.length&&i(t=>[...t,{key:`${e.url}|${n.type}|${n.id}`,title:`${n.name} · ${Sh(n.type)} · ${e.name}`,items:r}])}catch(e){}}})(),()=>{t=!1}},[e.join(`
|
|
15
15
|
`)]);let d=async t=>{let n=uh(t);try{await ph(n),e.indexOf(n)<0&&kc({stremioAddons:[...e,n]}),o(!1),c(!1)}catch(e){c(!0)}};return M(`div`,{class:`extensions`,children:[M(`h2`,{class:`shelf-title`,children:R(`ext_installed`)}),M(`div`,{class:`shelf-row ext-row`,"data-focus-group":`ext-addons`,children:[M(`button`,{class:`chip ext-add`,"data-focus":!0,"data-focus-default":!e.length||void 0,onClick:()=>{c(!1),o(!0)},children:[M(z,{name:`add`}),R(`ext_add`)]}),t.map(e=>M(`button`,{class:`chip ext-chip`,"data-focus":!0,onClick:()=>u(e),children:[e.logo&&M(`img`,{src:e.logo,alt:``}),e.name]},e.url))]}),M(`p`,{class:`ext-note muted`,children:R(e.length?`ext_note`:`ext_empty`)}),r.map(e=>M(jd,{title:e.title,info:!0,children:e.items.map((e,t)=>M(Cd,{card:xh(e,t),onClick:()=>ld({name:`stremio`,type:e.type,id:e.id})},`${e.type}:${e.id}`))},e.key)),a&&M(wn,{title:R(`ext_add`),label:R(s?`ext_failed`:`ext_url`),initial:``,placeholder:`https://…/manifest.json`,onSave:e=>{e.trim()&&(o(!0),d(e))},onClose:()=>o(!1)}),l&&M(gn,{title:l.name,message:R(`ext_remove`),confirmLabel:R(`ext_remove`),onConfirm:()=>{kc({stremioAddons:e.filter(e=>e!==l.url)}),u(null)},onDismiss:()=>u(null)})]})}function wh({type:e,id:t}){let n=q.value.stremioAddons,[r,i]=N(void 0),[a,o]=N(1),[s,c]=N(null),l=F(null);Kt(e=>{if(e===`back`)return ud(),!0}),P(()=>{let r=!0;return yh(n,e,t).then(e=>{if(!r)return;i(e);let t=e?e.videos.map(e=>e.season).filter(e=>e>0):[];t.length&&o(Math.min(...t)),setTimeout(()=>L(l.current),0)}),()=>{r=!1}},[e,t]);let u=async(t,r)=>{c({title:r,list:null});let i=await bh(n,e,t);c({title:r,list:i.map(e=>({label:e.title?`${e.name} · ${e.title}`:e.name,onSelect:()=>ld({name:`stream`,url:e.url,title:r})}))})};if(r===void 0)return M(`div`,{class:`detail`,children:M(`div`,{class:`player-center`,children:M(`div`,{class:`spinner`})})});if(r===null)return M(`div`,{class:`detail`,ref:l,children:M(`div`,{class:`detail-scroll`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`p`,{class:`empty`,children:R(`empty_list`)})]})});let d=Array.from(new Set(r.videos.map(e=>e.season))).sort((e,t)=>e-t),f=r.videos.filter(e=>e.season===a).sort((e,t)=>e.episode-t.episode),p=e=>e<10?`0${e}`:`${e}`;return M(`div`,{class:`detail`,ref:l,children:[M(qp,{src:r.background||r.poster}),M(`div`,{class:`detail-scroll series`,children:[M(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:ud,children:[M(z,{name:`back`}),R(`back`)]}),M(`div`,{class:`detail-row`,children:[M(`div`,{class:`detail-poster`,children:r.poster&&M(`img`,{src:r.poster,alt:``})}),M(`div`,{class:`detail-info`,children:[M(`h1`,{children:r.name}),M(Jp,{chips:[r.releaseInfo,r.rating?`★ ${r.rating}`:null,r.genres.slice(0,3).join(`, `)]}),r.description&&M(`p`,{class:`detail-plot`,children:r.description}),!r.videos.length&&M(`div`,{class:`detail-actions`,children:M(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>u(r.id,r.name),children:R(`ext_find_sources`)})})]})]}),r.videos.length>0&&M(x,{children:[d.length>1?M(`div`,{class:`season-chips`,children:d.map(e=>M(`button`,{class:`chip${e===a?` selected`:``}`,"data-focus":!0,onClick:()=>o(e),children:e===0?R(`ext_specials`):R(`vod_season`,e)},e))}):M(`div`,{class:`season-gap`}),M(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:f.map((e,t)=>M(`button`,{class:`episode-row focus-row`,"data-focus":!0,"data-focus-default":t===0||void 0,onClick:()=>u(e.id,`${r.name} · S${p(e.season)}E${p(e.episode)}`),children:[M(`span`,{class:`ep-thumb`,children:(e.thumbnail||r.poster)&&M(pn,{src:e.thumbnail||r.poster})}),M(`span`,{class:`ep-text`,children:M(`span`,{class:`ep-title`,children:R(`vod_episode_title`,e.episode,e.title)})})]},e.id))})]})]}),s&&(s.list===null?M(`div`,{class:`scrim`,children:M(`div`,{class:`menu-dialog`,children:[M(`h2`,{children:R(`ext_sources`)}),M(`div`,{class:`spinner`})]})}):M(bn,{title:R(`ext_sources`),items:s.list.length?s.list:[{label:R(`ext_no_sources`),onSelect:()=>{}}],onClose:()=>c(null)}))]})}function Th(){let[e,t]=N(null),[n,r]=N(null),i=F(null),a=Gu.value;P(()=>{K.reminders.orderBy(`start`).toArray().then(e=>{t(e),setTimeout(()=>{document.activeElement===document.body&&L(i.current)},0)})},[a]);let o=e=>new Date(e).toLocaleDateString(sn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`short`,day:`numeric`,month:`short`}),s=async e=>{let t=await Ul(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n>=0&&md(t,n)};return M(`div`,{class:`recordings`,ref:i,children:[M(`div`,{class:`row rec-tabs`,children:M(`span`,{class:`chip selected`,children:R(`rec_tab_scheduled`)})}),M(`p`,{class:`muted rec-note`,children:R(`tz_rec_note`)}),e&&!e.length&&M(`p`,{class:`empty`,children:R(`rec_scheduled_empty`)}),M(`div`,{class:`rec-list`,children:(e||[]).map(e=>M(`button`,{class:`focus-row rec-row`,"data-focus":!0,onClick:()=>r({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>s(e)},{label:R(`guide_remind_off`),onSelect:()=>Yu(e.id)}]}),children:[M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),M(`span`,{class:`muted`,children:`${e.channelName} · ${o(e.start)} ${yl(e.start)}${e.stop?`–${yl(e.stop)}`:``}`})]}),e.repeat?M(`span`,{class:`rec-repeat`,children:R(e.repeat===1?`rec_repeat_daily`:`rec_repeat_weekly`)}):null]},e.id))}),n&&M(bn,{title:n.title,items:n.items,onClose:()=>r(null)})]})}var Eh=Es(`[^LETTER0-9]+`,`g`),Dh=e=>e.toLowerCase().split(Eh).filter(Boolean),Oh=(e,t)=>t.every(t=>e.some(e=>e.startsWith(t)));function kh(e,t){let n=e.toLowerCase();return n===t?0:n.startsWith(t)?1:n.indexOf(t)>=0?2:3}var Ah=null,jh=40,Mh=null,Nh=e=>!!(El.value.get(e.id)||{}).hidden||kl(e);async function Ph(e,t){if(Mh&&Mh.stamp===t)return Mh;let n=t=>{let n=[];return t.where(`providerId`).equals(e).each(e=>{n.push({id:e.id,name:e.name,categoryId:e.categoryId,w:Dh(e.name)})}).then(()=>n)},[r,i,a,o]=await Promise.all([n(K.channels),n(K.movies),n(K.series),K.categories.where(`providerId`).equals(e).toArray()]);return Mh={stamp:t,live:r,movie:i,series:a,blocked:new Set(o.filter(Nh).map(e=>e.id))},Mh}function Fh(e,t,n,r){let i=[];for(let n of e)n.categoryId!==null&&r.has(n.categoryId)||Oh(n.w,t)&&i.push(n);return i.sort((e,t)=>kh(e.name,n)-kh(t.name,n)||e.name.length-t.name.length).slice(0,jh)}async function Ih(e,t,n){let r=n.trim().toLowerCase(),i=Dh(r);if(r.length<2||!i.length)return null;let a=await Ph(e,t),o=await Lh(e,t),s=Date.now()-216e5,c=[];for(let e of o.list)if(e.stop>s&&Oh(e.w,i)&&c.push(e.id),c.length>=400)break;let l=(await K.programs.bulkGet(c)).filter(e=>!!e).sort((e,t)=>e.start-t.start),u=await K.epgLinks.where(`providerId`).equals(e).toArray(),d=new Map;for(let e of u)d.has(e.key)||d.set(e.key,e.id);let f=new Map(a.live.map(e=>[e.id,e])),p=[];for(let e of l){let t=f.get(d.get(e.key)||-1);if(!(!t||t.categoryId!==null&&a.blocked.has(t.categoryId))&&(p.push({program:e,channelId:t.id}),p.length>=jh))break}return{channels:Fh(a.live,i,r,a.blocked),movies:Fh(a.movie,i,r,a.blocked),series:Fh(a.series,i,r,a.blocked),programs:p}}async function Lh(e,t){if(Ah&&Ah.stamp===t&&Date.now()-Ah.at<36e5)return Ah;let n=Date.now()-216e5,r=[];return await K.programs.where(`providerId`).equals(e).each(e=>{e.stop>n&&r.push({id:e.id,start:e.start,stop:e.stop,w:Dh(e.title)})}),Ah={stamp:t,at:Date.now(),list:r},Ah}function Rh(e){let t=e.trim();t.length<2||kc({searchHistory:[t,...(q.peek().searchHistory||[]).filter(e=>e.toLowerCase()!==t.toLowerCase())].slice(0,12)})}function zh(){let e=Fc.value,t=(Pc.value||[]).find(t=>t.id===e),n=`${t&&t.lastSync||0}|${t&&t.lastEpgSync||0}`,[r,i]=N(``),[a,o]=N(null),s=F(null),c=q.value.searchHistory||[];P(()=>{setTimeout(()=>L(s.current),0)},[]),P(()=>{let t=!0,i=setTimeout(async()=>{let i=await Ih(e,n,r);if(!t)return;if(!i)return o(null);let[a,s,c,l]=await Promise.all([K.channels.bulkGet(i.channels.map(e=>e.id)),K.movies.bulkGet(i.movies.map(e=>e.id)),K.series.bulkGet(i.series.map(e=>e.id)),K.channels.bulkGet(i.programs.map(e=>e.channelId))]);t&&o({channels:a.filter(e=>!!e),movies:s.filter(e=>!!e),series:c.filter(e=>!!e),programs:i.programs.map((e,t)=>({program:e.program,channel:l[t]})).filter(e=>!!e.channel)})},300);return()=>{t=!1,clearTimeout(i)}},[r,e,n]);let l=()=>Rh(r),u=async(t,n)=>{l();let r=await Ul(e,{type:`all`}),i=r.indexOf(t);i>=0&&md(r,i,n)},d=a&&!a.channels.length&&!a.movies.length&&!a.series.length&&!a.programs.length,f=Date.now(),p=e=>`${new Date(e).toLocaleDateString(sn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`})} ${yl(e)}`;return M(`div`,{class:`search`,ref:s,children:[M(`div`,{class:`search-row`,children:M(hn,{label:R(`nav_search`),value:r,onInput:i,placeholder:R(`search_hint`),initial:!0,class:`search-field`})}),!a&&c.length>0&&M(`section`,{class:`shelf`,children:[M(`h2`,{class:`shelf-title`,children:R(`search_recent`)}),M(`div`,{class:`shelf-row history-row`,"data-focus-group":`search-history`,children:[c.map(e=>M(`button`,{class:`chip`,"data-focus":!0,onClick:()=>i(e),children:e},e)),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>kc({searchHistory:[]}),children:R(`search_clear`)})]})]}),d&&M(`p`,{class:`search-empty`,children:R(`search_no_results`,r.trim())}),a&&a.channels.length>0&&M(jd,{title:R(`search_channels`),children:a.channels.map(e=>M(Hd,{cc:{channel:e,now:null},onClick:()=>u(e.id),onLongPress:()=>{}},e.id))}),a&&a.movies.length>0&&M(jd,{title:R(`search_movies`),info:!0,children:a.movies.map(e=>{let t=mu(e);return M(Cd,{card:t,onClick:()=>{l(),ld({name:`movie`,id:e.id})}},t.key)})}),a&&a.series.length>0&&M(jd,{title:R(`search_series`),children:a.series.map(e=>{let t=mu(e);return M(wd,{card:t,onClick:()=>{l(),ld({name:`series`,id:e.id})}},t.key)})}),a&&a.programs.length>0&&M(`section`,{class:`search-programs`,children:[M(`h2`,{class:`shelf-title`,children:R(`search_programs`)}),a.programs.map(({program:e,channel:t})=>M(`button`,{class:`focus-row opt-row search-prog`,"data-focus":!0,onClick:()=>u(t.id,e.stop<f?e:void 0),children:[M(Qu,{src:t.logo,size:30}),M(`span`,{class:`opt-text`,children:[M(`span`,{class:`opt-label`,children:e.title}),M(`span`,{class:`muted`,children:t.name})]}),M(`span`,{class:`sp-time${e.start<=f&&e.stop>f?` live`:``}`,children:p(e.start)})]},e.id))]})]})}function Bh(e){let{program:t,channel:n}=e,r=F(null),i=F(document.activeElement);P(()=>(L(r.current),()=>i.current&&i.current.isConnected&&i.current.focus()),[]),Kt(t=>t===`back`?(e.onClose(),!0):`default`);let a=Date.now(),o=new Date(t.start).toLocaleDateString(sn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`long`}),s=[],c=Yf(n,t.start,a);return t.start<=a&&t.stop>a?(s.push([R(`guide_watch`),e.onWatch]),c&&s.push([R(`guide_restart`),e.onArchive])):t.stop<=a&&c&&s.push([R(`guide_watch_archive`),e.onArchive]),t.start>a&&(s.push([R(Gu.value.has(t.id)?`guide_remind_off`:`guide_remind`),async()=>{B(R(await Ju(t,n)?`guide_reminder_set`:`guide_reminder_removed`))}]),s.push([R(`tz_remind_daily`),async()=>{await Ju(t,n,1),B(R(`guide_reminder_set`))}]),s.push([R(`tz_remind_weekly`),async()=>{await Ju(t,n,2),B(R(`guide_reminder_set`))}])),s.push([R(`guide_close`),()=>{}]),M(`div`,{class:`scrim`,"data-focus-scope":!0,children:M(`div`,{class:`program-dialog`,ref:r,role:`dialog`,children:[M(`h2`,{children:t.title}),M(`p`,{class:`pd-meta`,children:`${n.name} · ${o} ${yl(t.start)} – ${yl(t.stop)}`}),t.category&&M(`p`,{class:`pd-cat`,children:t.category}),t.desc&&M(`p`,{class:`pd-desc`,children:t.desc}),M(`div`,{class:`row pd-buttons`,children:s.map(([t,n],r)=>M(`button`,{class:`btn ${r===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:()=>{e.onClose(),n()},children:t},t))})]})})}var Vh=I(null),Hh=864e5;function Uh({onOpenPlayer:e,onSearch:t}){let n=Fc.value,r=Vh.value||{filter:{type:`all`},label:R(`cat_all`)},[i,a]=N(null),[o,s]=N([]),[c,l]=N(mp(Date.now())),[u,d]=N(null),[f,p]=N(null),m=q.value;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(s)},[n]),P(()=>{let e=!0;return a(null),Ul(n,r.filter).then(t=>e&&a(t)),()=>{e=!1}},[n,JSON.stringify(r.filter)]);let h=ke(()=>i?new Gl(i):null,[i]),g=(t,n)=>{i&&e(i,t,n)};return M(`div`,{class:`guide`,children:[M(`div`,{class:`guide-head`,children:[M(`h1`,{children:new Date(c).toLocaleDateString(sn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`long`,day:`numeric`,month:`long`})}),M(`div`,{class:`row`,children:[M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>d({title:R(`guide_category`,r.label),items:[{label:R(`cat_all`),filter:{type:`all`}},{label:R(`cat_favorites`),filter:{type:`fav`}},...o.map(e=>({label:e.name,filter:{type:`cat`,id:e.id}}))].map(e=>({label:e.label,checked:JSON.stringify(e.filter)===JSON.stringify(r.filter),onSelect:()=>Vh.value={filter:e.filter,label:e.label}}))}),children:R(`guide_category`,r.label)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c-Hh),children:R(`guide_prev_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(mp(Date.now())),children:R(`guide_now`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c+Hh),children:R(`guide_next_day`)}),M(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`guide_search`)})]})]}),i&&!i.length?M(`p`,{class:`empty`,children:R(`live_empty_category`)}):h&&M(gp,{pager:h,count:i.length,initialRow:0,rowRem:6,winStart:c,setWinStart:l,numberOf:(e,t)=>m.numbering===`HIDDEN`?null:m.numbering===`CATEGORY`?t+1:e.number,onChannel:(e,t)=>g(t),onProgram:(e,t,n)=>p({p:e,c:t,row:n})},JSON.stringify(r.filter)),M(`p`,{class:`guide-hint`,children:R(`guide_hint`)}),u&&M(bn,{title:u.title,items:u.items,onClose:()=>d(null)}),f&&M(Bh,{program:f.p,channel:f.c,onClose:()=>p(null),onWatch:()=>g(f.row),onArchive:()=>g(f.row,f.p)})]})}var Wh=[{id:`home`,label:`nav_home`},{id:`live`,label:`nav_live`},{id:`guide`,label:`nav_guide`},{id:`movies`,label:`nav_movies`},{id:`series`,label:`nav_series`},{id:`recordings`,label:`nav_recordings`},{id:`extensions`,label:`nav_extensions`},{id:`search`,label:`nav_search`,icon:`search`},{id:`settings`,label:`nav_settings`,icon:`settings`}],Gh=I(!1),Kh=null,qh=e=>{if(e===`back`&&cd.value.length)return ud();e===`back`&&Kh&&Kh.isConnected&&(Kh&&!Kh.contains(document.activeElement)?L(Kh):Y.value===`home`?Gh.value=!0:Y.value=`home`)};async function Jh(){let e=Wu.value;Wu.value=null,Fc.peek()!==e.providerId&&zc(e.providerId);let t=await Ul(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n<0||md(t,n)}var Yh=!1,Xh=new Map;function Zh({active:e}){let t=F(null);return P(()=>{Kh=t.current,Yh||(Yh=!0,L(Kh))},[]),M(`header`,{class:`topbar glass`,children:[M(`span`,{class:`brand`,children:R(`app_name`)}),M(`nav`,{class:`pills`,ref:t,"data-focus-group":`menu`,children:Wh.map(t=>{let n=t.id===(e||Y.value);return M(`button`,{class:`pill${n?` selected`:``}${t.icon?` icon-only`:``}`,"data-focus":!0,"data-focus-default":n||void 0,"aria-label":R(t.label),onClick:()=>{let e=Y.value;e!==t.id&&Xh.set(e,cd.value),cd.value=n?[]:Xh.get(t.id)||[],Xh.delete(t.id),Y.value=t.id},children:t.icon?M(z,{name:t.icon}):R(t.label)},t.id)})})]})}function Qh(e){switch(e.name){case`browse`:return M(Hp,{kind:e.kind,title:e.title,filter:e.filter,sort:e.sort});case`movie`:return M(Qp,{id:e.id});case`series`:return M(em,{id:e.id,season:e.season});case`vod`:return M(jm,{kind:e.kind,id:e.id,seriesId:e.seriesId,startMs:e.startMs});case`epgmap`:return M(Im,{channelId:e.channelId});case`homeEdit`:return M(ch,{});case`stream`:return M(jm,{kind:`stream`,id:0,url:e.url,title:e.title});case`stremio`:return M(wh,{type:e.type,id:e.id})}}function $h(){let e=cd.value,t=Wh.find(e=>e.id===Y.value)||Wh[0],n=Pc.value,r=n!==null&&(Y.value===`onboarding`||!n.length),i=e.length?e[e.length-1].page:null,a=i&&i.name===`browse`?i:null;return M(`div`,{class:`app`,children:[M(Lp,{}),n===null?null:r?M(qc,{onDone:()=>Y.value=`home`,onExit:()=>n.length?Y.value=`home`:Gh.value=!0}):Y.value===`player`?M(kp,{onExit:hd},ad.value?ad.value.seq:0):M(x,{children:[(!e.length||a)&&M(Zh,{active:a?a.kind===`movie`?`movies`:`series`:void 0}),M(`main`,{style:e.length?{display:`none`}:void 0,class:`content${Y.value===`live`||Y.value===`guide`?` live-content`:``}`,"data-focus-group":`screen-${Y.value}`,children:Y.value===`home`?M(Rd,{providerId:Fc.value}):Y.value===`live`?M(Lf,{onOpenPlayer:(e,t)=>md(e,t)}):Y.value===`guide`?M(Uh,{onOpenPlayer:(e,t,n)=>md(e,t,n),onSearch:()=>Y.value=`search`}):Y.value===`search`?M(zh,{}):Y.value===`settings`?M($m,{}):Y.value===`movies`?M(Fd,{kind:`movie`}):Y.value===`series`?M(Fd,{kind:`series`}):Y.value===`extensions`?M(Ch,{}):Y.value===`recordings`?M(Th,{}):M(En,{title:R(t.label)})}),e.map((t,n)=>M(`div`,{class:t.page.name===`browse`?`page-flow`:`page`,style:n<e.length-1?{display:`none`}:void 0,children:Qh(t.page)},n))]}),M(yn,{}),Wu.value&&M(gn,{title:R(`tz_reminder_title`,Wu.value.title),message:R(`tz_reminder_text`,Wu.value.channelName),confirmLabel:R(`guide_watch`),onConfirm:()=>Jh(),onDismiss:()=>Wu.value=null}),Gh.value&&M(gn,{title:R(`exit_title`),message:R(`exit_message`),onConfirm:Ot,onDismiss:()=>Gh.value=!1})]})}Dt(),Nc(),bf(document.getElementById(`video`)),Zu(),en(qh),ue(M($h,{}),document.getElementById(`app`)),setTimeout(Vm,15e3),Rc().then(async e=>{new URLSearchParams(location.search),e.length?(Vc(),eg()):Y.value=`onboarding`});async function eg(){let e=q.peek().startScreen,t=Fc.peek();if(e===`last`||e===`firstFav`){if(!t)return;let n=await Ul(t,{type:e===`last`?`all`:`fav`}),r=e===`last`?n.indexOf(q.peek().lastChannelId||-1):0;n.length&&r>=0&&md(n,r)}else Y.value=e}})();
|
package/app/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta charset="utf-8" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7
7
|
<title>UtopyaTV</title>
|
|
8
|
-
<script defer src="./assets/index-
|
|
8
|
+
<script defer src="./assets/index-dFQERSdI.js"></script>
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="video"></div>
|